diff --git a/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/buy_token.ts b/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/buy_token.ts index 934f587..410dacf 100644 --- a/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/buy_token.ts +++ b/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/buy_token.ts @@ -6,7 +6,22 @@ import { getBuyQuote } from "../utils"; import { z } from "zod"; const WOW_BUY_TOKEN_PROMPT = ` -This tool will buy a Zora Wow ERC20 memecoin with ETH. This tool takes the WOW token contract address, the address to receive the tokens, and the amount of ETH to spend (in wei, meaning "1" is 1 wei or 0.000000000000000001 of ETH). The amount is a string and cannot have any decimal points, since the unit of measurement is wei. Make sure to use the exact amount provided, and if there's any doubt, check by getting more information before continuing with the action. The minimum to buy is 100000000000000 wei which is 0.0000001 ether. It is only supported on Base Sepolia and Base Mainnet. +This tool can only be used to buy a Zora Wow ERC20 memecoin (also can be referred to as a bonding curve token) with ETH. +Do not use this tool for any other purpose, or trading other assets. + +Inputs: +- WOW token contract address +- Address to receive the tokens +- Amount of ETH to spend (in wei) + +Important notes: +- The amount is a string and cannot have any decimal points, since the unit of measurement is wei. +- Make sure to use the exact amount provided, and if there's any doubt, check by getting more information before continuing with the action. +- 1 wei = 0.000000000000000001 ETH +- Minimum purchase amount is 100000000000000 wei (0.0000001 ETH) +- Only supported on the following networks: + - Base Sepolia (ie, 'base-sepolia') + - Base Mainnet (ie, 'base', 'base-mainnnet') `; /** diff --git a/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/create_token.ts b/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/create_token.ts index 087824a..e41023a 100644 --- a/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/create_token.ts +++ b/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/create_token.ts @@ -4,7 +4,19 @@ import { WOW_FACTORY_ABI, GENERIC_TOKEN_METADATA_URI, getFactoryAddress } from " import { z } from "zod"; const WOW_CREATE_TOKEN_PROMPT = ` -This tool will create a Zora Wow ERC20 memecoin using the WoW factory. This tool takes the token name, token symbol, and optionally a token URI containing metadata about the token. It uses a bonding curve so there is no need to add liquidity to the pool upfront. It is only supported on Base Sepolia and Base Mainnet. +This tool can only be used to create a Zora Wow ERC20 memecoin (also can be referred to as a bonding curve token) using the WoW factory. +Do not use this tool for any other purpose, or for creating other types of tokens. + +Inputs: +- Token name (e.g. WowCoin) +- Token symbol (e.g. WOW) +- Token URI (optional) - Contains metadata about the token + +Important notes: +- Uses a bonding curve - no upfront liquidity needed +- Only supported on the following networks: + - Base Sepolia (ie, 'base-sepolia') + - Base Mainnet (ie, 'base', 'base-mainnnet') `; /** diff --git a/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/sell_token.ts b/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/sell_token.ts index d1abe2f..ad61563 100644 --- a/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/sell_token.ts +++ b/cdp-agentkit-core/src/actions/cdp/defi/wow/actions/sell_token.ts @@ -6,7 +6,21 @@ import { getSellQuote } from "../utils"; import { z } from "zod"; const WOW_SELL_TOKEN_PROMPT = ` -This tool will sell a Zora Wow ERC20 memecoin for ETH. This tool takes the WOW token contract address, and the amount of tokens to sell (in wei, meaning 1 is 1 wei or 0.000000000000000001 of the token). The minimum to sell is 100000000000000 wei which is 0.0000001 ether. The amount is a string and cannot have any decimal points, since the unit of measurement is wei. Make sure to use the exact amount provided, and if there's any doubt, check by getting more information before continuing with the action. It is only supported on Base Sepolia and Base Mainnet. +This tool can only be used to sell a Zora Wow ERC20 memecoin (also can be referred to as a bonding curve token) for ETH. +Do not use this tool for any other purpose, or trading other assets. + +Inputs: +- WOW token contract address +- Amount of tokens to sell (in wei) + +Important notes: +- The amount is a string and cannot have any decimal points, since the unit of measurement is wei. +- Make sure to use the exact amount provided, and if there's any doubt, check by getting more information before continuing with the action. +- 1 wei = 0.000000000000000001 ETH +- Minimum purchase amount is 100000000000000 wei (0.0000001 ETH) +- Only supported on the following networks: + - Base Sepolia (ie, 'base-sepolia') + - Base Mainnet (ie, 'base', 'base-mainnnet') `; /** diff --git a/cdp-agentkit-core/src/actions/cdp/deploy_nft.ts b/cdp-agentkit-core/src/actions/cdp/deploy_nft.ts index 1cd71af..4d81d66 100644 --- a/cdp-agentkit-core/src/actions/cdp/deploy_nft.ts +++ b/cdp-agentkit-core/src/actions/cdp/deploy_nft.ts @@ -3,7 +3,9 @@ import { Wallet } from "@coinbase/coinbase-sdk"; import { z } from "zod"; const DEPLOY_NFT_PROMPT = ` -This tool will deploy an NFT (ERC-721) contract onchain from the wallet. It takes the name of the NFT collection, the symbol of the NFT collection, and the base URI for the token metadata as inputs.`; +This tool will deploy an NFT (ERC-721) contract onchain from the wallet. +It takes the name of the NFT collection, the symbol of the NFT collection, and the base URI for the token metadata as inputs. +`; /** * Input schema for deploy NFT action. diff --git a/cdp-agentkit-core/src/actions/cdp/deploy_token.ts b/cdp-agentkit-core/src/actions/cdp/deploy_token.ts index 238fcd1..82ae690 100644 --- a/cdp-agentkit-core/src/actions/cdp/deploy_token.ts +++ b/cdp-agentkit-core/src/actions/cdp/deploy_token.ts @@ -3,7 +3,9 @@ import { Wallet, Amount } from "@coinbase/coinbase-sdk"; import { z } from "zod"; const DEPLOY_TOKEN_PROMPT = ` -This tool will deploy an ERC20 token smart contract. It takes the token name, symbol, and total supply as input. The token will be deployed using the wallet's default address as the owner and initial token holder.`; +This tool will deploy an ERC20 token smart contract. It takes the token name, symbol, and total supply as input. +The token will be deployed using the wallet's default address as the owner and initial token holder. +`; /** * Input schema for deploy token action. diff --git a/cdp-agentkit-core/src/actions/cdp/get_balance.ts b/cdp-agentkit-core/src/actions/cdp/get_balance.ts index 24a8e6a..9463bb0 100644 --- a/cdp-agentkit-core/src/actions/cdp/get_balance.ts +++ b/cdp-agentkit-core/src/actions/cdp/get_balance.ts @@ -4,7 +4,9 @@ import Decimal from "decimal.js"; import { z } from "zod"; const GET_BALANCE_PROMPT = ` -This tool will get the balance of all the addresses in the wallet for a given asset. It takes the asset ID as input. Always use 'eth' for the native asset ETH and 'usdc' for USDC.`; +This tool will get the balance of all the addresses in the wallet for a given asset. +It takes the asset ID as input. Always use 'eth' for the native asset ETH and 'usdc' for USDC. +`; /** * Input schema for get balance action. diff --git a/cdp-agentkit-core/src/actions/cdp/mint_nft.ts b/cdp-agentkit-core/src/actions/cdp/mint_nft.ts index 375c890..1410625 100644 --- a/cdp-agentkit-core/src/actions/cdp/mint_nft.ts +++ b/cdp-agentkit-core/src/actions/cdp/mint_nft.ts @@ -3,7 +3,10 @@ import { Wallet } from "@coinbase/coinbase-sdk"; import { z } from "zod"; const MINT_NFT_PROMPT = ` -This tool will mint an NFT (ERC-721) to a specified destination address onchain via a contract invocation. It takes the contract address of the NFT onchain and the destination address onchain that will receive the NFT as inputs. Do not use the contract address as the destination address. If you are unsure of the destination address, please ask the user before proceeding.`; +This tool will mint an NFT (ERC-721) to a specified destination address onchain via a contract invocation. +It takes the contract address of the NFT onchain and the destination address onchain that will receive the NFT as inputs. +Do not use the contract address as the destination address. If you are unsure of the destination address, please ask the user before proceeding. +`; /** * Input schema for mint NFT action. diff --git a/cdp-agentkit-core/src/actions/cdp/register_basename.ts b/cdp-agentkit-core/src/actions/cdp/register_basename.ts index 31b3b6d..46fff2f 100644 --- a/cdp-agentkit-core/src/actions/cdp/register_basename.ts +++ b/cdp-agentkit-core/src/actions/cdp/register_basename.ts @@ -6,9 +6,10 @@ import { Decimal } from "decimal.js"; const REGISTER_BASENAME_PROMPT = ` This tool will register a Basename for the agent. The agent should have a wallet associated to register a Basename. -When your network ID is 'base-mainnet', the name must end with .base.eth and when your network ID is 'base-sepolia', it must ends with .basetest.eth. +When your network ID is 'base-mainnet' (also sometimes known simply as 'base'), the name must end with .base.eth, and when your network ID is 'base-sepolia', it must ends with .basetest.eth. Do not suggest any alternatives and never try to register a Basename with another postfix. The prefix of the name must be unique so if the registration of the -Basename fails, you should prompt to try again with a more unique name.`; +Basename fails, you should prompt to try again with a more unique name. +`; // Contract addresses export const BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_MAINNET = diff --git a/cdp-agentkit-core/src/actions/cdp/request_faucet_funds.ts b/cdp-agentkit-core/src/actions/cdp/request_faucet_funds.ts index 6a19c6a..79d3dc0 100644 --- a/cdp-agentkit-core/src/actions/cdp/request_faucet_funds.ts +++ b/cdp-agentkit-core/src/actions/cdp/request_faucet_funds.ts @@ -6,7 +6,8 @@ const REQUEST_FAUCET_FUNDS_PROMPT = ` This tool will request test tokens from the faucet for the default address in the wallet. It takes the wallet and asset ID as input. If no asset ID is provided the faucet defaults to ETH. Faucet is only allowed on 'base-sepolia' and can only provide asset ID 'eth' or 'usdc'. You are not allowed to faucet with any other network or asset ID. If you are on another network, suggest that the user sends you some ETH -from another wallet and provide the user with your wallet details.`; +from another wallet and provide the user with your wallet details. +`; /** * Input schema for request faucet funds action. diff --git a/cdp-agentkit-core/src/actions/cdp/trade.ts b/cdp-agentkit-core/src/actions/cdp/trade.ts index 59cab83..6b98e4b 100644 --- a/cdp-agentkit-core/src/actions/cdp/trade.ts +++ b/cdp-agentkit-core/src/actions/cdp/trade.ts @@ -3,7 +3,18 @@ import { Wallet, Amount } from "@coinbase/coinbase-sdk"; import { z } from "zod"; const TRADE_PROMPT = ` -This tool will trade a specified amount of a from asset to a to asset for the wallet. It takes the the amount of the from asset to trade, the from asset ID to trade, and the to asset ID to receive from the trade as inputs. Trades are only supported on Mainnets (e.g. 'base-mainnet', 'ethereum-mainnet'). Never allow trades on any other network.`; +This tool will trade a specified amount of a 'from asset' to a 'to asset' for the wallet. + +It takes the following inputs: +- The amount of the 'from asset' to trade +- The from asset ID to trade +- The asset ID to receive from the trade + +Important notes: +- Trades are only supported on mainnet networks (ie, 'base-mainnet', 'base', 'ethereum-mainnet', 'ethereum', etc.) +- Never allow trades on any non-mainnet network (ie, 'base-sepolia', 'ethereum-sepolia', etc.) +- When selling a native asset (e.g. 'eth' on base-mainnet), ensure there is sufficient balance to pay for the trade AND the gas cost of this trade +`; /** * Input schema for trade action. diff --git a/cdp-agentkit-core/src/actions/cdp/transfer.ts b/cdp-agentkit-core/src/actions/cdp/transfer.ts index 993e745..72cb87d 100644 --- a/cdp-agentkit-core/src/actions/cdp/transfer.ts +++ b/cdp-agentkit-core/src/actions/cdp/transfer.ts @@ -3,7 +3,21 @@ import { Wallet, Amount } from "@coinbase/coinbase-sdk"; import { z } from "zod"; const TRANSFER_PROMPT = ` -This tool will transfer an asset from the wallet to another onchain address. It takes the amount, the asset ID to transfer, the destination to send the funds (either an onchain address, an ENS 'example.eth', or Basename 'example.base.eth'), and whether to do a gasless transfer as inputs. The gasless option is available on 'base-sepolia' and 'base-mainnet' networks for 'usdc' asset only. Always use the gasless option when it is available. Always use the asset ID 'usdc' when attempting to transfer USDC. Always ensure that you have enough balance of the input asset ID to complete the transfer.`; +This tool will transfer an asset from the wallet to another onchain address. + +It takes the following inputs: +- amount: The amount to transfer +- assetId: The asset ID to transfer +- destination: Where to send the funds (can be an onchain address, ENS 'example.eth', or Basename 'example.base.eth') +- gasless: Whether to do a gasless transfer + +Important notes: +- Gasless transfers are only available on base-sepolia and base-mainnet (base) networks for 'usdc' asset +- Always use gasless transfers when available +- Always use asset ID 'usdc' when transferring USDC +- Ensure sufficient balance of the input asset before transferring +- When sending native assets (e.g. 'eth' on base-mainnet), ensure there is sufficient balance for the transfer itself AND the gas cost of this transfer +`; /** * Input schema for transfer action. diff --git a/cdp-langchain/examples/chatbot/chatbot.ts b/cdp-langchain/examples/chatbot/chatbot.ts index 351f19f..eba3e0e 100644 --- a/cdp-langchain/examples/chatbot/chatbot.ts +++ b/cdp-langchain/examples/chatbot/chatbot.ts @@ -94,8 +94,17 @@ async function initializeAgent() { llm, tools, checkpointSaver: memory, - messageModifier: - "You are a helpful agent that can interact onchain using the Coinbase Developer Platform AgentKit. You are empowered to interact onchain using your tools. If you ever need funds, you can request them from the faucet if you are on network ID `base-sepolia`. If not, you can provide your wallet details and request funds from the user. If someone asks you to do something you can't do with your currently available tools, you must say so, and encourage them to implement it themselves using the CDP SDK + Agentkit, recommend they go to docs.cdp.coinbase.com for more informaton. Be concise and helpful with your responses. Refrain from restating your tools' descriptions unless it is explicitly requested.", + messageModifier: ` + You are a helpful agent that can interact onchain using the Coinbase Developer Platform AgentKit. You are + empowered to interact onchain using your tools. If you ever need funds, you can request them from the + faucet if you are on network ID 'base-sepolia'. If not, you can provide your wallet details and request + funds from the user. Before executing your first action, get the wallet details to see what network + you're on. If there is a 5XX (internal) HTTP error code, ask the user to try again later. If someone + asks you to do something you can't do with your currently available tools, you must say so, and + encourage them to implement it themselves using the CDP SDK + Agentkit, recommend they go to + docs.cdp.coinbase.com for more information. Be concise and helpful with your responses. Refrain from + restating your tools' descriptions unless it is explicitly requested. + `, }); // Save wallet data diff --git a/package-lock.json b/package-lock.json index c802086..33733bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,11 +8,9 @@ "license": "Apache-2.0", "workspaces": [ "cdp-agentkit-core", - "cdp-langchain" + "cdp-langchain", + "cdp-langchain/examples/chatbot" ], - "dependencies": { - "@coinbase/cdp-agentkit-core": "^0.0.5" - }, "devDependencies": { "@types/jest": "^29.5.14", "@types/node": "^20.12.11", @@ -32,7 +30,8 @@ }, "cdp-agentkit-core": { "name": "@coinbase/cdp-agentkit-core", - "version": "0.0.6", + "version": "0.0.7", + "license": "Apache-2.0", "dependencies": { "@coinbase/coinbase-sdk": "^0.11.0", "viem": "^2.21.51", @@ -64,8 +63,9 @@ "cdp-langchain": { "name": "@coinbase/cdp-langchain", "version": "0.0.7", + "license": "Apache-2.0", "dependencies": { - "@coinbase/cdp-agentkit-core": "^0.0.6", + "@coinbase/cdp-agentkit-core": "^0.0.7", "@coinbase/coinbase-sdk": "^0.11.0", "@langchain/core": "^0.3.19", "zod": "^3.22.4" @@ -74,6 +74,24 @@ "@coinbase/coinbase-sdk": "^0.11.0" } }, + "cdp-langchain/examples/chatbot": { + "name": "@coinbase/cdp-langchain-chatbot-example", + "version": "1.0.1", + "license": "Apache-2.0", + "dependencies": { + "@coinbase/cdp-agentkit-core": "^0.0.7", + "@coinbase/cdp-langchain": "^0.0.7", + "@langchain/core": "^0.3.19", + "@langchain/langgraph": "^0.2.21", + "@langchain/openai": "^0.3.14", + "dotenv": "^16.4.5", + "zod": "^3.22.4" + }, + "devDependencies": { + "nodemon": "^3.1.0", + "ts-node": "^10.9.2" + } + }, "node_modules/@adraffy/ens-normalize": { "version": "1.10.1", "license": "MIT" @@ -540,6 +558,10 @@ "resolved": "cdp-langchain", "link": true }, + "node_modules/@coinbase/cdp-langchain-chatbot-example": { + "resolved": "cdp-langchain/examples/chatbot", + "link": true + }, "node_modules/@coinbase/coinbase-sdk": { "version": "0.11.1", "license": "ISC", @@ -559,6 +581,30 @@ "viem": "^2.21.26" } }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@es-joy/jsdoccomment": { "version": "0.46.0", "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.46.0.tgz", @@ -1168,6 +1214,82 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@langchain/langgraph": { + "version": "0.2.24", + "resolved": "https://registry.npmjs.org/@langchain/langgraph/-/langgraph-0.2.24.tgz", + "integrity": "sha512-SiUQRKnFBvpswQJVMBA/Xljf94c7W26kmQ69ySRY0w7YkhEZ58ql/F2MqFaf51NkQtHZ4/FBu2N2f/hZ3+zMdA==", + "license": "MIT", + "dependencies": { + "@langchain/langgraph-checkpoint": "~0.0.12", + "@langchain/langgraph-sdk": "~0.0.21", + "uuid": "^10.0.0", + "zod": "^3.23.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@langchain/core": ">=0.2.36 <0.3.0 || >=0.3.9 < 0.4.0" + } + }, + "node_modules/@langchain/langgraph-checkpoint": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@langchain/langgraph-checkpoint/-/langgraph-checkpoint-0.0.12.tgz", + "integrity": "sha512-XySxUqpt7X3k02UyncpKupZMOHqLbkjOpkGWFdwBTueT1+kVeS2+DTwZK80QT/BaWH6jEUkMk14oU9/D63R0tg==", + "license": "MIT", + "dependencies": { + "uuid": "^10.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@langchain/core": ">=0.2.31 <0.4.0" + } + }, + "node_modules/@langchain/langgraph-sdk": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.31.tgz", + "integrity": "sha512-oYZWoC3x7vH9bAL1Y30XjtuWnic1j3knXD4BbldsY0chFLxwIT5i6/GMThNy3Oiwb4SB+c6gvaSuxBNDkp7dkw==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.15", + "p-queue": "^6.6.2", + "p-retry": "4", + "uuid": "^9.0.0" + } + }, + "node_modules/@langchain/langgraph-sdk/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@langchain/openai": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.3.14.tgz", + "integrity": "sha512-lNWjUo1tbvsss45IF7UQtMu1NJ6oUKvhgPYWXnX9f/d6OmuLu7D99HQ3Y88vLcUo9XjjOy417olYHignMduMjA==", + "license": "MIT", + "dependencies": { + "js-tiktoken": "^1.0.12", + "openai": "^4.71.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@langchain/core": ">=0.2.26 <0.4.0" + } + }, "node_modules/@noble/curves": { "version": "1.7.0", "license": "MIT", @@ -1339,6 +1461,34 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, "node_modules/@tsd/typescript": { "version": "5.4.5", "dev": true, @@ -1438,7 +1588,6 @@ }, "node_modules/@types/json-schema": { "version": "7.0.15", - "dev": true, "license": "MIT" }, "node_modules/@types/minimist": { @@ -1448,7 +1597,6 @@ }, "node_modules/@types/node": { "version": "20.17.9", - "devOptional": true, "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -1457,8 +1605,6 @@ "node_modules/@types/node-fetch": { "version": "2.6.12", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "@types/node": "*", "form-data": "^4.0.0" @@ -1722,8 +1868,6 @@ "node_modules/abort-controller": { "version": "3.0.0", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "event-target-shim": "^5.0.0" }, @@ -1752,6 +1896,19 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/aes-js": { "version": "4.0.0-beta.5", "license": "MIT" @@ -1759,8 +1916,6 @@ "node_modules/agentkeepalive": { "version": "4.5.0", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "humanize-ms": "^1.2.1" }, @@ -1852,6 +2007,13 @@ "node": ">=14" } }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -2073,6 +2235,19 @@ "node": ">= 0.8" } }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/bip32": { "version": "4.0.0", "license": "MIT", @@ -2305,6 +2480,44 @@ "node": ">=10" } }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/ci-info": { "version": "3.9.0", "dev": true, @@ -2471,6 +2684,13 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/cross-spawn": { "version": "7.0.6", "dev": true, @@ -2592,6 +2812,16 @@ "node": ">=8" } }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/diff-sequences": { "version": "29.6.3", "dev": true, @@ -3118,8 +3348,6 @@ "node_modules/event-target-shim": { "version": "5.0.1", "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">=6" } @@ -3345,15 +3573,11 @@ }, "node_modules/form-data-encoder": { "version": "1.7.2", - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/formdata-node": { "version": "4.4.1", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "node-domexception": "1.0.0", "web-streams-polyfill": "4.0.0-beta.3" @@ -3755,8 +3979,6 @@ "node_modules/humanize-ms": { "version": "1.2.1", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "ms": "^2.0.0" } @@ -3798,6 +4020,13 @@ "node": ">= 4" } }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true, + "license": "ISC" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -3874,6 +4103,19 @@ "dev": true, "license": "MIT" }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-buffer": { "version": "2.0.5", "funding": [ @@ -5113,7 +5355,6 @@ }, "node_modules/ms": { "version": "2.1.3", - "devOptional": true, "license": "MIT" }, "node_modules/mustache": { @@ -5145,8 +5386,6 @@ } ], "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">=10.5.0" } @@ -5154,8 +5393,6 @@ "node_modules/node-fetch": { "version": "2.7.0", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "whatwg-url": "^5.0.0" }, @@ -5223,6 +5460,82 @@ "dev": true, "license": "MIT" }, + "node_modules/nodemon": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.7.tgz", + "integrity": "sha512-hLj7fuMow6f0lbB0cD14Lz2xNjwsyruH251Pk4t/yIitCFJbmY1myuLlHm/q06aST4jg6EgAh74PIBBrRqpVAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/nodemon/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nodemon/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nodemon/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/normalize-package-data": { "version": "3.0.3", "dev": true, @@ -5292,8 +5605,6 @@ "node_modules/openai": { "version": "4.73.1", "license": "Apache-2.0", - "optional": true, - "peer": true, "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", @@ -5318,17 +5629,13 @@ "node_modules/openai/node_modules/@types/node": { "version": "18.19.67", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/openai/node_modules/undici-types": { "version": "5.26.5", - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/opener": { "version": "1.5.2", @@ -5757,6 +6064,13 @@ "version": "1.1.0", "license": "MIT" }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true, + "license": "MIT" + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -5966,6 +6280,19 @@ "node": ">= 6" } }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/redent": { "version": "3.0.0", "dev": true, @@ -6210,6 +6537,19 @@ "dev": true, "license": "ISC" }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "dev": true, @@ -6512,11 +6852,19 @@ "node": ">=8.0" } }, + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "dev": true, + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, "node_modules/tr46": { "version": "0.0.3", - "license": "MIT", - "optional": true, - "peer": true + "license": "MIT" }, "node_modules/trim-newlines": { "version": "3.0.1", @@ -6585,6 +6933,50 @@ } } }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, "node_modules/tsd": { "version": "0.31.2", "dev": true, @@ -6782,6 +7174,13 @@ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true, + "license": "MIT" + }, "node_modules/undici-types": { "version": "6.19.8", "license": "MIT" @@ -6854,6 +7253,13 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, "node_modules/v8-to-istanbul": { "version": "9.3.0", "dev": true, @@ -6986,8 +7392,6 @@ "node_modules/web-streams-polyfill": { "version": "4.0.0-beta.3", "license": "MIT", - "optional": true, - "peer": true, "engines": { "node": ">= 14" } @@ -7008,9 +7412,7 @@ }, "node_modules/webidl-conversions": { "version": "3.0.1", - "license": "BSD-2-Clause", - "optional": true, - "peer": true + "license": "BSD-2-Clause" }, "node_modules/whatwg-encoding": { "version": "2.0.0", @@ -7026,8 +7428,6 @@ "node_modules/whatwg-url": { "version": "5.0.0", "license": "MIT", - "optional": true, - "peer": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -7165,6 +7565,16 @@ "node": ">=12" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "dev": true, @@ -7503,12 +7913,26 @@ "@coinbase/cdp-langchain": { "version": "file:cdp-langchain", "requires": { - "@coinbase/cdp-agentkit-core": "^0.0.6", + "@coinbase/cdp-agentkit-core": "^0.0.7", "@coinbase/coinbase-sdk": "^0.11.0", "@langchain/core": "^0.3.19", "zod": "^3.22.4" } }, + "@coinbase/cdp-langchain-chatbot-example": { + "version": "file:cdp-langchain/examples/chatbot", + "requires": { + "@coinbase/cdp-agentkit-core": "^0.0.7", + "@coinbase/cdp-langchain": "^0.0.7", + "@langchain/core": "^0.3.19", + "@langchain/langgraph": "^0.2.21", + "@langchain/openai": "^0.3.14", + "dotenv": "^16.4.5", + "nodemon": "^3.1.0", + "ts-node": "^10.9.2", + "zod": "^3.22.4" + } + }, "@coinbase/coinbase-sdk": { "version": "0.11.1", "requires": { @@ -7527,6 +7951,27 @@ "viem": "^2.21.26" } }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, "@es-joy/jsdoccomment": { "version": "0.46.0", "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.46.0.tgz", @@ -7962,6 +8407,54 @@ } } }, + "@langchain/langgraph": { + "version": "0.2.24", + "resolved": "https://registry.npmjs.org/@langchain/langgraph/-/langgraph-0.2.24.tgz", + "integrity": "sha512-SiUQRKnFBvpswQJVMBA/Xljf94c7W26kmQ69ySRY0w7YkhEZ58ql/F2MqFaf51NkQtHZ4/FBu2N2f/hZ3+zMdA==", + "requires": { + "@langchain/langgraph-checkpoint": "~0.0.12", + "@langchain/langgraph-sdk": "~0.0.21", + "uuid": "^10.0.0", + "zod": "^3.23.8" + } + }, + "@langchain/langgraph-checkpoint": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@langchain/langgraph-checkpoint/-/langgraph-checkpoint-0.0.12.tgz", + "integrity": "sha512-XySxUqpt7X3k02UyncpKupZMOHqLbkjOpkGWFdwBTueT1+kVeS2+DTwZK80QT/BaWH6jEUkMk14oU9/D63R0tg==", + "requires": { + "uuid": "^10.0.0" + } + }, + "@langchain/langgraph-sdk": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.31.tgz", + "integrity": "sha512-oYZWoC3x7vH9bAL1Y30XjtuWnic1j3knXD4BbldsY0chFLxwIT5i6/GMThNy3Oiwb4SB+c6gvaSuxBNDkp7dkw==", + "requires": { + "@types/json-schema": "^7.0.15", + "p-queue": "^6.6.2", + "p-retry": "4", + "uuid": "^9.0.0" + }, + "dependencies": { + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + } + } + }, + "@langchain/openai": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.3.14.tgz", + "integrity": "sha512-lNWjUo1tbvsss45IF7UQtMu1NJ6oUKvhgPYWXnX9f/d6OmuLu7D99HQ3Y88vLcUo9XjjOy417olYHignMduMjA==", + "requires": { + "js-tiktoken": "^1.0.12", + "openai": "^4.71.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + } + }, "@noble/curves": { "version": "1.7.0", "requires": { @@ -8072,6 +8565,30 @@ "@sinonjs/commons": "^3.0.0" } }, + "@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, "@tsd/typescript": { "version": "5.4.5", "dev": true @@ -8156,8 +8673,7 @@ } }, "@types/json-schema": { - "version": "7.0.15", - "dev": true + "version": "7.0.15" }, "@types/minimist": { "version": "1.2.5", @@ -8165,15 +8681,12 @@ }, "@types/node": { "version": "20.17.9", - "devOptional": true, "requires": { "undici-types": "~6.19.2" } }, "@types/node-fetch": { "version": "2.6.12", - "optional": true, - "peer": true, "requires": { "@types/node": "*", "form-data": "^4.0.0" @@ -8325,8 +8838,6 @@ }, "abort-controller": { "version": "3.0.0", - "optional": true, - "peer": true, "requires": { "event-target-shim": "^5.0.0" } @@ -8344,13 +8855,20 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "requires": { + "acorn": "^8.11.0" + } + }, "aes-js": { "version": "4.0.0-beta.5" }, "agentkeepalive": { "version": "4.5.0", - "optional": true, - "peer": true, "requires": { "humanize-ms": "^1.2.1" } @@ -8405,6 +8923,12 @@ "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", "dev": true }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -8550,6 +9074,12 @@ "safe-buffer": "5.1.2" } }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true + }, "bip32": { "version": "4.0.0", "requires": { @@ -8678,6 +9208,33 @@ "version": "1.0.2", "dev": true }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, "ci-info": { "version": "3.9.0", "dev": true @@ -8776,6 +9333,12 @@ "prompts": "^2.0.1" } }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, "cross-spawn": { "version": "7.0.6", "dev": true, @@ -8843,6 +9406,12 @@ "version": "3.1.0", "dev": true }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, "diff-sequences": { "version": "29.6.3", "dev": true @@ -9184,9 +9753,7 @@ } }, "event-target-shim": { - "version": "5.0.1", - "optional": true, - "peer": true + "version": "5.0.1" }, "eventemitter3": { "version": "4.0.7" @@ -9345,14 +9912,10 @@ } }, "form-data-encoder": { - "version": "1.7.2", - "optional": true, - "peer": true + "version": "1.7.2" }, "formdata-node": { "version": "4.4.1", - "optional": true, - "peer": true, "requires": { "node-domexception": "1.0.0", "web-streams-polyfill": "4.0.0-beta.3" @@ -9601,8 +10164,6 @@ }, "humanize-ms": { "version": "1.2.1", - "optional": true, - "peer": true, "requires": { "ms": "^2.0.0" } @@ -9621,6 +10182,12 @@ "version": "5.3.2", "dev": true }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true + }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -9666,6 +10233,15 @@ "version": "0.2.1", "dev": true }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-buffer": { "version": "2.0.5" }, @@ -10477,8 +11053,7 @@ "dev": true }, "ms": { - "version": "2.1.3", - "devOptional": true + "version": "2.1.3" }, "mustache": { "version": "4.2.0" @@ -10491,14 +11066,10 @@ "version": "5.1.0" }, "node-domexception": { - "version": "1.0.0", - "optional": true, - "peer": true + "version": "1.0.0" }, "node-fetch": { "version": "2.7.0", - "optional": true, - "peer": true, "requires": { "whatwg-url": "^5.0.0" } @@ -10536,6 +11107,60 @@ "version": "2.0.18", "dev": true }, + "nodemon": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.7.tgz", + "integrity": "sha512-hLj7fuMow6f0lbB0cD14Lz2xNjwsyruH251Pk4t/yIitCFJbmY1myuLlHm/q06aST4jg6EgAh74PIBBrRqpVAQ==", + "dev": true, + "requires": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "normalize-package-data": { "version": "3.0.3", "dev": true, @@ -10577,8 +11202,6 @@ }, "openai": { "version": "4.73.1", - "optional": true, - "peer": true, "requires": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", @@ -10591,16 +11214,12 @@ "dependencies": { "@types/node": { "version": "18.19.67", - "optional": true, - "peer": true, "requires": { "undici-types": "~5.26.4" } }, "undici-types": { - "version": "5.26.5", - "optional": true, - "peer": true + "version": "5.26.5" } } }, @@ -10866,6 +11485,12 @@ "proxy-from-env": { "version": "1.1.0" }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, "punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -10987,6 +11612,15 @@ "util-deprecate": "^1.0.1" } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "redent": { "version": "3.0.0", "dev": true, @@ -11131,6 +11765,15 @@ "version": "3.0.7", "dev": true }, + "simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "requires": { + "semver": "^7.5.3" + } + }, "sisteransi": { "version": "1.0.5", "dev": true @@ -11336,10 +11979,14 @@ "is-number": "^7.0.0" } }, + "touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "dev": true + }, "tr46": { - "version": "0.0.3", - "optional": true, - "peer": true + "version": "0.0.3" }, "trim-newlines": { "version": "3.0.1", @@ -11367,6 +12014,27 @@ "yargs-parser": "^21.1.1" } }, + "ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } + }, "tsd": { "version": "0.31.2", "dev": true, @@ -11487,6 +12155,12 @@ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true }, + "undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, "undici-types": { "version": "6.19.8" }, @@ -11524,6 +12198,12 @@ "uuid": { "version": "10.0.0" }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "v8-to-istanbul": { "version": "9.3.0", "dev": true, @@ -11599,9 +12279,7 @@ } }, "web-streams-polyfill": { - "version": "4.0.0-beta.3", - "optional": true, - "peer": true + "version": "4.0.0-beta.3" }, "webauthn-p256": { "version": "0.0.10", @@ -11611,9 +12289,7 @@ } }, "webidl-conversions": { - "version": "3.0.1", - "optional": true, - "peer": true + "version": "3.0.1" }, "whatwg-encoding": { "version": "2.0.0", @@ -11624,8 +12300,6 @@ }, "whatwg-url": { "version": "5.0.0", - "optional": true, - "peer": true, "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -11706,6 +12380,12 @@ "version": "21.1.1", "dev": true }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, "yocto-queue": { "version": "0.1.0", "dev": true diff --git a/package.json b/package.json index eefd7cf..c6bc95d 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "name": "cdp-agentkit-monorepo", + "private": true, "workspaces": [ "cdp-agentkit-core", "cdp-langchain" @@ -48,8 +49,5 @@ "turbo": "^2.3.3", "typedoc": "^0.27.2", "typescript": "^5.4.5" - }, - "dependencies": { - "@coinbase/cdp-agentkit-core": "^0.0.5" } }