From 38ddbd8283a7c9e34e20ca303a6b4b24d15ebc5f Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Fri, 15 Nov 2024 20:28:07 +0000 Subject: [PATCH] Feature/Add stripe toolkit (#3522) add stripe toolkit --- .../credentials/StripeApi.credential.ts | 27 ++ .../nodes/tools/StripeTool/StripeTool.ts | 271 ++++++++++++++++++ .../nodes/tools/StripeTool/stripe.png | Bin 0 -> 69452 bytes packages/components/package.json | 3 +- pnpm-lock.yaml | 26 ++ 5 files changed, 326 insertions(+), 1 deletion(-) create mode 100644 packages/components/credentials/StripeApi.credential.ts create mode 100644 packages/components/nodes/tools/StripeTool/StripeTool.ts create mode 100644 packages/components/nodes/tools/StripeTool/stripe.png diff --git a/packages/components/credentials/StripeApi.credential.ts b/packages/components/credentials/StripeApi.credential.ts new file mode 100644 index 00000000..9be183fe --- /dev/null +++ b/packages/components/credentials/StripeApi.credential.ts @@ -0,0 +1,27 @@ +import { INodeParams, INodeCredential } from '../src/Interface' + +class StripeApi implements INodeCredential { + label: string + name: string + version: number + description: string + inputs: INodeParams[] + + constructor() { + this.label = 'Stripe API' + this.name = 'stripeApi' + this.version = 1.0 + this.description = + 'Refer to official guide on how to get accessToken on Airtable' + this.inputs = [ + { + label: 'Stripe API Token', + name: 'stripeApiToken', + type: 'password', + placeholder: '' + } + ] + } +} + +module.exports = { credClass: StripeApi } diff --git a/packages/components/nodes/tools/StripeTool/StripeTool.ts b/packages/components/nodes/tools/StripeTool/StripeTool.ts new file mode 100644 index 00000000..df6c17a9 --- /dev/null +++ b/packages/components/nodes/tools/StripeTool/StripeTool.ts @@ -0,0 +1,271 @@ +import { StripeAgentToolkit } from '@stripe/agent-toolkit/langchain' +import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' +import { convertMultiOptionsToStringArray, getCredentialData, getCredentialParam } from '../../../src/utils' + +class StripeTool_Tools implements INode { + label: string + name: string + version: number + description: string + type: string + icon: string + category: string + baseClasses: string[] + credential: INodeParams + inputs: INodeParams[] + badge?: string + + constructor() { + this.label = 'StripeAgentTool' + this.name = 'stripeAgentTool' + this.version = 1.0 + this.type = 'stripeAgentTool' + this.icon = 'stripe.png' + this.category = 'Tools' + this.description = 'Use Stripe Agent function calling for financial transactions' + this.badge = 'BETA' + this.inputs = [ + { + label: 'Payment Links', + name: 'paymentLinks', + type: 'multiOptions', + options: [ + { + label: 'Create', + name: 'create' + }, + { + label: 'Update', + name: 'update' + }, + { + label: 'Read', + name: 'read' + } + ], + optional: true, + additionalParams: true + }, + { + label: 'Products', + name: 'products', + type: 'multiOptions', + options: [ + { + label: 'Create', + name: 'create' + }, + { + label: 'Update', + name: 'update' + }, + { + label: 'Read', + name: 'read' + } + ], + optional: true, + additionalParams: true + }, + { + label: 'Prices', + name: 'prices', + type: 'multiOptions', + options: [ + { + label: 'Create', + name: 'create' + }, + { + label: 'Update', + name: 'update' + }, + { + label: 'Read', + name: 'read' + } + ], + optional: true, + additionalParams: true + }, + { + label: 'Balance', + name: 'balance', + type: 'multiOptions', + options: [ + { + label: 'Create', + name: 'create' + }, + { + label: 'Update', + name: 'update' + }, + { + label: 'Read', + name: 'read' + } + ], + optional: true, + additionalParams: true + }, + { + label: 'Invoice Items', + name: 'invoiceItems', + type: 'multiOptions', + options: [ + { + label: 'Create', + name: 'create' + }, + { + label: 'Update', + name: 'update' + }, + { + label: 'Read', + name: 'read' + } + ], + optional: true, + additionalParams: true + }, + { + label: 'Invoices', + name: 'invoices', + type: 'multiOptions', + options: [ + { + label: 'Create', + name: 'create' + }, + { + label: 'Update', + name: 'update' + }, + { + label: 'Read', + name: 'read' + } + ], + optional: true, + additionalParams: true + }, + { + label: 'Customers', + name: 'customers', + type: 'multiOptions', + options: [ + { + label: 'Create', + name: 'create' + }, + { + label: 'Update', + name: 'update' + }, + { + label: 'Read', + name: 'read' + } + ], + optional: true, + additionalParams: true + } + ] + this.credential = { + label: 'Connect Credential', + name: 'credential', + type: 'credential', + credentialNames: ['stripeApi'] + } + this.baseClasses = [this.type, 'Tool'] + } + + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + const credentialData = await getCredentialData(nodeData.credential ?? '', options) + const stripeApiToken = getCredentialParam('stripeApiToken', credentialData, nodeData) + + const _paymentLinks = nodeData.inputs?.paymentLinks as string + let paymentLinks: string[] = convertMultiOptionsToStringArray(_paymentLinks) + + const _products = nodeData.inputs?.products as string + let products: string[] = convertMultiOptionsToStringArray(_products) + + const _prices = nodeData.inputs?.prices as string + let prices: string[] = convertMultiOptionsToStringArray(_prices) + + const _balance = nodeData.inputs?.balance as string + let balance: string[] = convertMultiOptionsToStringArray(_balance) + + const _invoiceItems = nodeData.inputs?.invoiceItems as string + let invoiceItems: string[] = convertMultiOptionsToStringArray(_invoiceItems) + + const _invoices = nodeData.inputs?.invoices as string + let invoices: string[] = convertMultiOptionsToStringArray(_invoices) + + const _customers = nodeData.inputs?.customers as string + let customers: string[] = convertMultiOptionsToStringArray(_customers) + + const actionObj: any = {} + if (paymentLinks.length > 0) { + actionObj['paymentLinks'] = {} + if (paymentLinks.includes('create')) actionObj['paymentLinks'].create = true + if (paymentLinks.includes('read')) actionObj['paymentLinks'].read = true + if (paymentLinks.includes('update')) actionObj['paymentLinks'].update = true + } + if (products.length > 0) { + actionObj['products'] = {} + if (products.includes('create')) actionObj['products'].create = true + if (products.includes('read')) actionObj['products'].read = true + if (products.includes('update')) actionObj['products'].update = true + } + if (prices.length > 0) { + actionObj['prices'] = {} + if (prices.includes('create')) actionObj['prices'].create = true + if (prices.includes('read')) actionObj['prices'].read = true + if (prices.includes('update')) actionObj['prices'].update = true + } + if (balance.length > 0) { + actionObj['balance'] = {} + if (balance.includes('create')) actionObj['balance'].create = true + if (balance.includes('read')) actionObj['balance'].read = true + if (balance.includes('update')) actionObj['balance'].update = true + } + if (invoiceItems.length > 0) { + actionObj['invoiceItems'] = {} + if (invoiceItems.includes('create')) actionObj['invoiceItems'].create = true + if (invoiceItems.includes('read')) actionObj['invoiceItems'].read = true + if (invoiceItems.includes('update')) actionObj['invoiceItems'].update = true + } + if (invoices.length > 0) { + actionObj['invoices'] = {} + if (invoices.includes('create')) actionObj['invoices'].create = true + if (invoices.includes('read')) actionObj['invoices'].read = true + if (invoices.includes('update')) actionObj['invoices'].update = true + } + if (customers.length > 0) { + actionObj['customers'] = {} + if (customers.includes('create')) actionObj['customers'].create = true + if (customers.includes('read')) actionObj['customers'].read = true + if (customers.includes('update')) actionObj['customers'].update = true + } + + const stripeAgentToolkit = new StripeAgentToolkit({ + secretKey: stripeApiToken, + configuration: { + actions: actionObj + } + }) + + const stripeTool = stripeAgentToolkit.getTools() + for (const tool of stripeTool) { + // convert tool name into small letter, and space to underscore, ex: Create Payment Link => create_payment_link + tool.name = tool.name.split(' ').join('_').toLowerCase() + } + + return stripeTool + } +} + +module.exports = { nodeClass: StripeTool_Tools } diff --git a/packages/components/nodes/tools/StripeTool/stripe.png b/packages/components/nodes/tools/StripeTool/stripe.png new file mode 100644 index 0000000000000000000000000000000000000000..b73ff0db39593c87cbe4b450f58a24c3eeda9828 GIT binary patch literal 69452 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 f=x+o3@gCmii2r%O;BMP_ct+e2i^I8x+=18' } + peerDependencies: + '@langchain/core': 0.2.18 + ai: ^3.4.7 + '@supabase/functions-js@2.1.5': resolution: { integrity: sha512-BNzC5XhCzzCaggJ8s53DP+WeHHGT/NfTsx2wUSSGKR2/ikLFQTBCDzMvGz/PxYMqRko/LwncQtKXGOYp1PkPaw== } @@ -14812,6 +14822,10 @@ packages: resolution: { integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== } engines: { node: '>=8' } + stripe@17.3.1: + resolution: { integrity: sha512-E9/u+GFBPkYnTmfFCoKX3+gP4R3SkZoGunHe4cw9J+sqkj5uxpLFf1LscuI9BuEyIQ0PFAgPTHavgQwRtOvnag== } + engines: { node: '>=12.*' } + strnum@1.0.5: resolution: { integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== } @@ -22832,6 +22846,13 @@ snapshots: '@sqltools/formatter@1.2.5': {} + '@stripe/agent-toolkit@0.1.20(@langchain/core@0.2.18(langchain@0.2.11(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@langchain/anthropic@0.2.1)(@langchain/aws@0.0.9)(@langchain/cohere@0.0.7)(@langchain/community@0.2.17)(@langchain/google-genai@0.0.22)(@langchain/google-vertexai@0.0.19)(@langchain/groq@0.0.8)(@langchain/mistralai@0.0.26)(@langchain/ollama@0.0.2)(@mendable/firecrawl-js@0.0.28)(@notionhq/client@2.2.14(encoding@0.1.13))(@pinecone-database/pinecone@2.2.2)(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(apify-client@2.9.3)(assemblyai@4.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(axios@1.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.15.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.57.3(encoding@0.1.13)(zod@3.22.4)))(couchbase@4.4.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.4.1)(html-to-text@9.0.5)(ignore@5.3.1)(ioredis@5.3.2)(jsdom@22.1.0(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(notion-to-md@3.1.1(encoding@0.1.13))(openai@4.57.3(encoding@0.1.13)(zod@3.22.4))(pdf-parse@1.1.1)(playwright@1.42.1)(puppeteer@20.9.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@6.0.4))(pyodide@0.25.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(redis@4.6.13)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@5.5.2)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(openai@4.57.3(encoding@0.1.13)(zod@3.22.4)))(ai@3.2.22(openai@4.57.3(encoding@0.1.13)(zod@3.22.4))(react@18.2.0)(solid-js@1.7.1)(svelte@4.2.18)(vue@3.4.31(typescript@5.5.2))(zod@3.22.4))': + dependencies: + '@langchain/core': 0.2.18(langchain@0.2.11(@aws-sdk/client-s3@3.529.1)(@aws-sdk/credential-provider-node@3.529.1)(@gomomento/sdk-core@1.68.1)(@gomomento/sdk@1.68.1(encoding@0.1.13))(@langchain/anthropic@0.2.1)(@langchain/aws@0.0.9)(@langchain/cohere@0.0.7)(@langchain/community@0.2.17)(@langchain/google-genai@0.0.22)(@langchain/google-vertexai@0.0.19)(@langchain/groq@0.0.8)(@langchain/mistralai@0.0.26)(@langchain/ollama@0.0.2)(@mendable/firecrawl-js@0.0.28)(@notionhq/client@2.2.14(encoding@0.1.13))(@pinecone-database/pinecone@2.2.2)(@supabase/supabase-js@2.39.8(bufferutil@4.0.8)(utf-8-validate@6.0.4))(apify-client@2.9.3)(assemblyai@4.3.2(bufferutil@4.0.8)(utf-8-validate@6.0.4))(axios@1.6.2)(cheerio@1.0.0-rc.12)(chromadb@1.8.1(@google/generative-ai@0.15.0)(cohere-ai@7.10.0(encoding@0.1.13))(encoding@0.1.13)(openai@4.57.3(encoding@0.1.13)(zod@3.22.4)))(couchbase@4.4.1)(d3-dsv@2.0.0)(encoding@0.1.13)(faiss-node@0.5.1)(fast-xml-parser@4.4.1)(html-to-text@9.0.5)(ignore@5.3.1)(ioredis@5.3.2)(jsdom@22.1.0(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@6.0.4))(mammoth@1.7.0)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(notion-to-md@3.1.1(encoding@0.1.13))(openai@4.57.3(encoding@0.1.13)(zod@3.22.4))(pdf-parse@1.1.1)(playwright@1.42.1)(puppeteer@20.9.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.5.2)(utf-8-validate@6.0.4))(pyodide@0.25.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(redis@4.6.13)(srt-parser-2@1.2.3)(typeorm@0.3.20(ioredis@5.3.2)(mongodb@6.3.0(gcp-metadata@6.1.0(encoding@0.1.13))(socks@2.8.1))(mysql2@3.11.4)(pg@8.11.3)(redis@4.6.13)(sqlite3@5.1.7)(ts-node@10.9.2(@swc/core@1.4.6)(@types/node@20.12.12)(typescript@5.5.2)))(weaviate-ts-client@1.6.0(encoding@0.1.13)(graphql@16.8.1))(ws@8.16.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)))(openai@4.57.3(encoding@0.1.13)(zod@3.22.4)) + ai: 3.2.22(openai@4.57.3(encoding@0.1.13)(zod@3.22.4))(react@18.2.0)(solid-js@1.7.1)(svelte@4.2.18)(vue@3.4.31(typescript@5.5.2))(zod@3.22.4) + stripe: 17.3.1 + zod: 3.23.8 + '@supabase/functions-js@2.1.5': dependencies: '@supabase/node-fetch': 2.6.15 @@ -34568,6 +34589,11 @@ snapshots: strip-json-comments@3.1.1: {} + stripe@17.3.1: + dependencies: + '@types/node': 20.12.12 + qs: 6.12.1 + strnum@1.0.5: {} stubs@3.0.0: {}