From bcb24fb4b09edd9f83f5bdad252cf2d3aecfcda7 Mon Sep 17 00:00:00 2001 From: Henry Date: Sat, 1 Feb 2025 01:00:39 +0000 Subject: [PATCH] add wolframalpha tool --- .../credentials/WolframAlphaApp.credential.ts | 25 ++++++++++ .../nodes/tools/WolframAlpha/WolframAlpha.ts | 44 ++++++++++++++++++ .../nodes/tools/WolframAlpha/wolframalpha.png | Bin 0 -> 36141 bytes 3 files changed, 69 insertions(+) create mode 100644 packages/components/credentials/WolframAlphaApp.credential.ts create mode 100644 packages/components/nodes/tools/WolframAlpha/WolframAlpha.ts create mode 100644 packages/components/nodes/tools/WolframAlpha/wolframalpha.png diff --git a/packages/components/credentials/WolframAlphaApp.credential.ts b/packages/components/credentials/WolframAlphaApp.credential.ts new file mode 100644 index 000000000..69daae4a1 --- /dev/null +++ b/packages/components/credentials/WolframAlphaApp.credential.ts @@ -0,0 +1,25 @@ +import { INodeParams, INodeCredential } from '../src/Interface' + +class WolframAlphaApp implements INodeCredential { + label: string + name: string + version: number + description: string + inputs: INodeParams[] + + constructor() { + this.label = 'WolframAlpha App ID' + this.name = 'wolframAlphaAppId' + this.version = 1.0 + this.description = 'Get an App Id from Wolfram Alpha Portal' + this.inputs = [ + { + label: 'App ID', + name: 'wolframAlphaAppId', + type: 'password' + } + ] + } +} + +module.exports = { credClass: WolframAlphaApp } diff --git a/packages/components/nodes/tools/WolframAlpha/WolframAlpha.ts b/packages/components/nodes/tools/WolframAlpha/WolframAlpha.ts new file mode 100644 index 000000000..8342c1295 --- /dev/null +++ b/packages/components/nodes/tools/WolframAlpha/WolframAlpha.ts @@ -0,0 +1,44 @@ +import { WolframAlphaTool } from '@langchain/community/tools/wolframalpha' +import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' +import { getBaseClasses, getCredentialData, getCredentialParam } from '../../../src/utils' + +class WolframAlpha_Tools implements INode { + label: string + name: string + version: number + description: string + type: string + icon: string + category: string + baseClasses: string[] + credential: INodeParams + inputs: INodeParams[] + + constructor() { + this.label = 'WolframAlpha' + this.name = 'wolframAlpha' + this.version = 1.0 + this.type = 'WolframAlpha' + this.icon = 'wolframalpha.png' + this.category = 'Tools' + this.description = 'Wrapper around WolframAlpha - a powerful computational knowledge engine' + this.inputs = [] + this.credential = { + label: 'Connect Credential', + name: 'credential', + type: 'credential', + credentialNames: ['wolframAlphaAppId'] + } + this.baseClasses = [this.type, ...getBaseClasses(WolframAlphaTool)] + } + + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + const wolframAlphaAppId = getCredentialParam('wolframAlphaAppId', credentialData, nodeData) + return new WolframAlphaTool({ + appid: wolframAlphaAppId + }) + } +} + +module.exports = { nodeClass: WolframAlpha_Tools } diff --git a/packages/components/nodes/tools/WolframAlpha/wolframalpha.png b/packages/components/nodes/tools/WolframAlpha/wolframalpha.png new file mode 100644 index 0000000000000000000000000000000000000000..77ef000be620db1c351039a2bbe282b475f1eaae GIT binary patch literal 36141 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