From 8327d2dbf006203ad2f82a94868ba01afbc23b2d Mon Sep 17 00:00:00 2001 From: Derek Brown Date: Fri, 17 Jan 2025 13:23:35 -0600 Subject: [PATCH 1/3] [AgentKit] Farcaster Tooling --- README.md | 9 + .../cdp/social/farcaster/farcaster_action.ts | 29 + .../src/actions/cdp/social/farcaster/index.ts | 25 + .../cdp/social/farcaster/publish_cast.ts | 76 + .../typescript/src/farcaster_agentkit.ts | 101 + cdp-agentkit-core/typescript/src/index.ts | 6 + .../social_farcaster_publish_cast_test.ts | 66 + .../examples/chatbot-typescript/.env-local | 3 + .../chatbot-typescript/.eslintrc.json | 4 + .../chatbot-typescript/.prettierignore | 7 + .../examples/chatbot-typescript/.prettierrc | 11 + .../examples/chatbot-typescript/README.md | 49 + .../examples/chatbot-typescript/chatbot.ts | 207 + .../chatbot-typescript/package-lock.json | 1127 ++++ .../examples/chatbot-typescript/package.json | 27 + .../examples/chatbot-typescript/tsconfig.json | 9 + farcaster-langchain/typescript/.eslintrc.json | 4 + .../typescript/.prettierignore | 7 + farcaster-langchain/typescript/.prettierrc | 11 + farcaster-langchain/typescript/CHANGELOG.md | 5 + .../typescript/jest.config.cjs | 14 + farcaster-langchain/typescript/package.json | 47 + .../typescript/src/farcaster_tool.ts | 94 + .../typescript/src/farcaster_toolkit.ts | 53 + farcaster-langchain/typescript/src/index.ts | 5 + .../src/tests/farcaster_tool_test.ts | 58 + .../src/tests/farcaster_toolkit_test.ts | 64 + farcaster-langchain/typescript/tsconfig.json | 9 + package-lock.json | 5579 +---------------- package.json | 3 +- 30 files changed, 2186 insertions(+), 5523 deletions(-) create mode 100644 cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/farcaster_action.ts create mode 100644 cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/index.ts create mode 100644 cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/publish_cast.ts create mode 100644 cdp-agentkit-core/typescript/src/farcaster_agentkit.ts create mode 100644 cdp-agentkit-core/typescript/src/tests/social_farcaster_publish_cast_test.ts create mode 100644 farcaster-langchain/examples/chatbot-typescript/.env-local create mode 100644 farcaster-langchain/examples/chatbot-typescript/.eslintrc.json create mode 100644 farcaster-langchain/examples/chatbot-typescript/.prettierignore create mode 100644 farcaster-langchain/examples/chatbot-typescript/.prettierrc create mode 100644 farcaster-langchain/examples/chatbot-typescript/README.md create mode 100644 farcaster-langchain/examples/chatbot-typescript/chatbot.ts create mode 100644 farcaster-langchain/examples/chatbot-typescript/package-lock.json create mode 100644 farcaster-langchain/examples/chatbot-typescript/package.json create mode 100644 farcaster-langchain/examples/chatbot-typescript/tsconfig.json create mode 100644 farcaster-langchain/typescript/.eslintrc.json create mode 100644 farcaster-langchain/typescript/.prettierignore create mode 100644 farcaster-langchain/typescript/.prettierrc create mode 100644 farcaster-langchain/typescript/CHANGELOG.md create mode 100644 farcaster-langchain/typescript/jest.config.cjs create mode 100644 farcaster-langchain/typescript/package.json create mode 100644 farcaster-langchain/typescript/src/farcaster_tool.ts create mode 100644 farcaster-langchain/typescript/src/farcaster_toolkit.ts create mode 100644 farcaster-langchain/typescript/src/index.ts create mode 100644 farcaster-langchain/typescript/src/tests/farcaster_tool_test.ts create mode 100644 farcaster-langchain/typescript/src/tests/farcaster_toolkit_test.ts create mode 100644 farcaster-langchain/typescript/tsconfig.json diff --git a/README.md b/README.md index 810099896..f19c24b38 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ - **Framework-agnostic**: Common AI Agent primitives that can be used with any AI framework. - **Python and Node.js Support** - **LangChain integration**: Seamless integration with [LangChain](https://python.langchain.com/docs/introduction/) for easy agentic workflows. More frameworks coming soon! +- **Farcaster integration**: Seamless integration of Langchain with [Farcaster](https://docs.farcaster.xyz/) via [Neynar](https://docs.neynar.com) for easy agentic workflows. - **Twitter integration**: Seamless integration of Langchain with [Twitter](https://developer.twitter.com/en/docs/twitter-api) for easy agentic workflows. - **Support for various onchain actions**: @@ -58,6 +59,9 @@ AgentKit is organized as a [monorepo](https://en.wikipedia.org/wiki/Monorepo) th │ ├── python/ │ ├── typescript/ │ └── examples/ +└── farcaster-langchain/ + ├── typescript/ + └── examples/ └── twitter-langchain/ ├── python/ ├── typescript/ @@ -74,6 +78,11 @@ See [CDP Agentkit Core](./cdp-agentkit-core/README.md) to get started! Langchain Toolkit extension of AgentKit. Enables agentic workflows to interact with onchain actions. See [CDP Langchain](./cdp-langchain/README.md) to get started! +### farcaster-langchain + +Langchain Toolkit extension for Farcaster. Enables agentic workflows to interact with Farcaster, such as to post a tweet. +See [Farcaster Langchain](./farcaster-langchain/README.md) to get started! + ### twitter-langchain Langchain Toolkit extension for Twitter. Enables agentic workflows to interact with Twitter, such as to post a tweet. diff --git a/cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/farcaster_action.ts b/cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/farcaster_action.ts new file mode 100644 index 000000000..b776073c3 --- /dev/null +++ b/cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/farcaster_action.ts @@ -0,0 +1,29 @@ +import { z } from "zod"; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type FarcasterActionSchemaAny = z.ZodObject; + +/** + * Represents the base structure for Farcaster Actions. + */ +export interface FarcasterAction { + /** + * The name of the action. + */ + name: string; + + /** + * A description of what the action does + */ + description: string; + + /** + * Schema for validating action arguments + */ + argsSchema: TActionSchema; + + /** + * The function to execute for this action + */ + func: (args: z.infer) => Promise; +} diff --git a/cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/index.ts b/cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/index.ts new file mode 100644 index 000000000..0916644c6 --- /dev/null +++ b/cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/index.ts @@ -0,0 +1,25 @@ +/** + * This module exports various Farcaster action instances and their associated types. + */ + +import { FarcasterAction, FarcasterActionSchemaAny } from "./farcaster_action"; +import { PublishCastAction } from "./publish_cast"; + +/** + * Retrieve an array of Farcaster action instances. + * + * @returns {FarcasterAction[]} An array of Farcaster action instances. + */ +export function getAllFarcasterActions(): FarcasterAction[] { + return [new PublishCastAction()]; +} + +/** + * All available Farcaster actions. + */ +export const FARCASTER_ACTIONS = getAllFarcasterActions(); + +/** + * All Farcaster action types. + */ +export { FarcasterAction, FarcasterActionSchemaAny, PublishCastAction }; diff --git a/cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/publish_cast.ts b/cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/publish_cast.ts new file mode 100644 index 000000000..ace68390b --- /dev/null +++ b/cdp-agentkit-core/typescript/src/actions/cdp/social/farcaster/publish_cast.ts @@ -0,0 +1,76 @@ +/** + * This module provides functionality to publish a cast on Farcaster. + */ + +import { z } from "zod"; +import { FarcasterAction } from "./farcaster_action"; + +/** + * Prompt message describing the publish cast tool. + * A successful response will return a message with the API response in JSON format, + * while a failure response will indicate an error from the Farcaster API. + */ +const PUBLISH_CAST_PROMPT = ` +This tool will publish a cast to Farcaster. The tool takes the text of the cast as input. Casts can be maximum 280 characters. + +A successful response will return a message with the API response as a JSON payload: + {} + +A failure response will return a message with the Farcaster API request error: + You are not allowed to publish a cast with duplicate content. +`; + +/** + * Input argument schema for the publish cast action. + */ +export const PublishCastInput = z + .object({ + castText: z.string().max(280, "Cast text must be a maximum of 280 characters."), + }) + .strip() + .describe("Input schema for publishing a text-based cast"); + +/** + * Publishes a cast on Farcaster. + * + * @param args - The input arguments for the action. + * @returns A message indicating the success or failure of the cast publishing. + */ +export async function publishCast(args: z.infer): Promise { + try { + const NEYNAR_API_KEY = process.env.NEYNAR_API_KEY; + const SIGNER_UUID = process.env.NEYNAR_MANAGED_SIGNER; + + const headers: HeadersInit = { + api_key: NEYNAR_API_KEY!, // Note the changed key format + "Content-Type": "application/json", + }; + + const response = await fetch("https://api.neynar.com/v2/farcaster/cast", { + method: "POST", + headers, + body: JSON.stringify({ + signer_uuid: SIGNER_UUID, + text: args.castText, + }), + }); + console.log(NEYNAR_API_KEY); + console.log(args); + console.log(response); + const data = await response.json(); + console.log(data); + return `Successfully published cast to Farcaster:\n${JSON.stringify(data)}`; + } catch (error) { + return `Error publishing to Farcaster:\n${error}`; + } +} + +/** + * Publish Cast Action + */ +export class PublishCastAction implements FarcasterAction { + public name = "publish_cast"; + public description = PUBLISH_CAST_PROMPT; + public argsSchema = PublishCastInput; + public func = publishCast; +} diff --git a/cdp-agentkit-core/typescript/src/farcaster_agentkit.ts b/cdp-agentkit-core/typescript/src/farcaster_agentkit.ts new file mode 100644 index 000000000..ca4ff13dc --- /dev/null +++ b/cdp-agentkit-core/typescript/src/farcaster_agentkit.ts @@ -0,0 +1,101 @@ +import { z } from "zod"; +import { FarcasterAction, FarcasterActionSchemaAny } from "./actions/cdp/social/farcaster"; + +/** + * Schema for the options required to initialize the FarcasterAgentkit. + */ +export const FarcasterAgentkitOptions = z + .object({ + apiKey: z + .string() + .min(1, "The Neynar API key for Farcaster is required") + .describe("The Neynar API key for Farcaster"), + managedSigner: z + .string() + .min(1, "The Neynar Managed Signer UUID for Farcaster is required") + .describe("The Neynar Managed Signer UUID for Farcaster"), + }) + .strip() + .describe("Options for initializing FarcasterAgentkit"); + +/** + * Schema for the environment variables required for FarcasterAgentkit. + */ +const EnvSchema = z.object({ + NEYNAR_API_KEY: z + .string() + .min(1, "NEYNAR_API_KEY is required") + .describe("The Neynar API key for Farcaster"), + NEYNAR_MANAGED_SIGNER: z + .string() + .min(1, "NEYNAR_MANAGED_SIGNER is required") + .describe("The Neynar Managed Signer UUID for Farcaster"), +}); + +/** + * Farcaster Agentkit + */ +export class FarcasterAgentkit { + /** + * Initializes a new instance of FarcasterAgentkit with the provided options. + * If no options are provided, it attempts to load the required environment variables. + * + * @param options - Optional. The configuration options for the FarcasterAgentkit. + * @throws An error if the provided options are invalid or if the environment variables cannot be loaded. + */ + public constructor(options?: z.infer) { + if (!options) { + try { + const env = EnvSchema.parse(process.env); + + options = { + apiKey: env.NEYNAR_API_KEY!, + managedSigner: env.NEYNAR_MANAGED_SIGNER!, + }; + } catch (error) { + if (error instanceof z.ZodError) { + error.errors.forEach(err => console.log(`Error: ${err.path[0]} is required`)); + } + throw new Error("Farcaster ENV could not be loaded."); + } + } + + if (!this.validateOptions(options)) { + throw new Error("Farcaster Agentkit options could not be validated."); + } + } + + /** + * Validates the provided options for the FarcasterAgentkit. + * + * @param options - The options to validate. + * @returns True if the options are valid, otherwise false. + */ + validateOptions(options: z.infer): boolean { + try { + FarcasterAgentkitOptions.parse(options); + } catch (error) { + if (error instanceof z.ZodError) { + error.errors.forEach(err => console.log("Error:", err.message)); + } + + return false; + } + + return true; + } + + /** + * Executes a Farcaster action. + * + * @param action - The Farcaster action to execute. + * @param args - The arguments for the action. + * @returns The result of the execution. + */ + async run( + action: FarcasterAction, + args: TActionSchema, + ): Promise { + return await action.func(args); + } +} diff --git a/cdp-agentkit-core/typescript/src/index.ts b/cdp-agentkit-core/typescript/src/index.ts index 99708a2d5..fd6965370 100644 --- a/cdp-agentkit-core/typescript/src/index.ts +++ b/cdp-agentkit-core/typescript/src/index.ts @@ -4,6 +4,9 @@ export * from "./actions/cdp"; // Export CDP DeFi actions export * from "./actions/cdp/defi/wow"; +// Export Farcaster actions +export * from "./actions/cdp/social/farcaster"; + // Export Twitter actions export * from "./actions/cdp/social/twitter"; @@ -13,5 +16,8 @@ export { CdpAction } from "./actions/cdp/cdp_action"; // Export CDP AgentKit export { CdpAgentkit } from "./cdp_agentkit"; +// Export Farcaster AgentKit +export { FarcasterAgentkit } from "./farcaster_agentkit"; + // Export Twitter AgentKit export { TwitterAgentkit } from "./twitter_agentkit"; diff --git a/cdp-agentkit-core/typescript/src/tests/social_farcaster_publish_cast_test.ts b/cdp-agentkit-core/typescript/src/tests/social_farcaster_publish_cast_test.ts new file mode 100644 index 000000000..8583f28e5 --- /dev/null +++ b/cdp-agentkit-core/typescript/src/tests/social_farcaster_publish_cast_test.ts @@ -0,0 +1,66 @@ +import { publishCast, PublishCastInput } from "../actions/cdp/social/farcaster/publish_cast"; + +const MOCK_CAST = "Hello from AgentKit, @CoinbaseDev!"; + +describe("Publish Cast Input", () => { + it("should successfully parse valid input", () => { + const validInput = { castText: MOCK_CAST }; + const result = PublishCastInput.safeParse(validInput); + + expect(result.success).toBe(true); + expect(result.data).toEqual(validInput); + }); + + it("should fail to parse empty input", () => { + const emptyInput = {}; + const result = PublishCastInput.safeParse(emptyInput); + + expect(result.success).toBe(false); + expect(result.error!.issues[0].message).toBe("Required"); + }); + + it("should fail to parse invalid input: cast is too long", () => { + const invalidInput = { castText: "A".repeat(281) }; + const result = PublishCastInput.safeParse(invalidInput); + + expect(result.success).toBe(false); + expect(result.error!.issues[0].message).toBe("Cast text must be a maximum of 280 characters."); + }); +}); + +describe("Publish Cast Action", () => { + beforeEach(async () => { + process.env.NEYNAR_API_KEY = "test-key"; + process.env.NEYNAR_MANAGED_SIGNER = "test-managed-signer"; + }); + + afterEach(() => { + jest.resetAllMocks(); + process.env.NEYNAR_API_KEY = ""; + process.env.NEYNAR_MANAGED_SIGNER = ""; + }); + + it("should successfully publish a cast", async () => { + global.fetch = jest.fn(() => + Promise.resolve({ json: () => Promise.resolve({ hash: "0x123" }) }), + ) as jest.Mock; + + const args = { + castText: "Hello, world!", + }; + const response = await publishCast(args); + expect(response).toContain("Successfully published cast to Farcaster:"); + }); + + it("should handle errors when publishing a cast", async () => { + global.fetch = jest.fn(() => Promise.reject(new Error("An error has occurred"))) as jest.Mock; + + const args = { + castText: "Hello, world!", + }; + const error = new Error("An error has occured"); + const response = await publishCast(args); + + expect(response).toContain("Error publishing to Farcaster:"); + }); +}); diff --git a/farcaster-langchain/examples/chatbot-typescript/.env-local b/farcaster-langchain/examples/chatbot-typescript/.env-local new file mode 100644 index 000000000..ee9e1e7e7 --- /dev/null +++ b/farcaster-langchain/examples/chatbot-typescript/.env-local @@ -0,0 +1,3 @@ +OPENAI_API_KEY= +NEYNAR_API_KEY= +NEYNAR_MANAGED_SIGNER= diff --git a/farcaster-langchain/examples/chatbot-typescript/.eslintrc.json b/farcaster-langchain/examples/chatbot-typescript/.eslintrc.json new file mode 100644 index 000000000..fc9385e78 --- /dev/null +++ b/farcaster-langchain/examples/chatbot-typescript/.eslintrc.json @@ -0,0 +1,4 @@ +{ + "parser": "@typescript-eslint/parser", + "extends": ["../../../.eslintrc.base.json"] +} diff --git a/farcaster-langchain/examples/chatbot-typescript/.prettierignore b/farcaster-langchain/examples/chatbot-typescript/.prettierignore new file mode 100644 index 000000000..a6949181a --- /dev/null +++ b/farcaster-langchain/examples/chatbot-typescript/.prettierignore @@ -0,0 +1,7 @@ +docs/ +dist/ +coverage/ +.github/ +src/client +**/**/*.json +*.md \ No newline at end of file diff --git a/farcaster-langchain/examples/chatbot-typescript/.prettierrc b/farcaster-langchain/examples/chatbot-typescript/.prettierrc new file mode 100644 index 000000000..ffb416b74 --- /dev/null +++ b/farcaster-langchain/examples/chatbot-typescript/.prettierrc @@ -0,0 +1,11 @@ +{ + "tabWidth": 2, + "useTabs": false, + "semi": true, + "singleQuote": false, + "trailingComma": "all", + "bracketSpacing": true, + "arrowParens": "avoid", + "printWidth": 100, + "proseWrap": "never" +} diff --git a/farcaster-langchain/examples/chatbot-typescript/README.md b/farcaster-langchain/examples/chatbot-typescript/README.md new file mode 100644 index 000000000..56e87f88b --- /dev/null +++ b/farcaster-langchain/examples/chatbot-typescript/README.md @@ -0,0 +1,49 @@ +# CDP Agentkit Farcaster Langchain Extension Examples - Chatbot Typescript + +This example demonstrates an agent setup as a terminal style chatbot with access to Farcaster API actions. + +## Ask the chatbot to engage in the Web3 ecosystem! +- "Please send a cast for me to Farcaster" + +## Requirements + +- Node.js 18+ +- [OpenAI API Key](https://platform.openai.com/docs/quickstart#create-and-export-an-api-key) +- [Farcaster API Keys via Neynar](https://dev.neynar.com/) + +### Farcaster Application Setup +1. Visit the Neynar [Developer Portal](https://dev.neynar.com/) +2. Navigate to your application +3. Copy the API key. +4. Set the copied value in .env as your `NEYNAR_API_KEY` +5. Return to the Neynar [Developer Portal](https://dev.neynar.com/) +6. Navigate to your application +7. Follow the instructions to get a signer UUID by either creating an agent or logging into Farcaster with an existing account. +8. Copy the signer UUID. +9. Set the copied UUID value in .env as your `NEYNAR_MANAGED_SIGNER`. + +### Checking Node Version + +Before using the example, ensure that you have the correct version of Node.js installed. The example requires Node.js 18 or higher. You can check your Node version by running: + +```bash +node --version +npm --version +``` + +## Installation + +```bash +npm install +``` + +## Run the Chatbot + +Ensure the following vars are set in .env: +- "OPENAI_API_KEY" +- "NEYNAR_API_KEY" +- "NEYNAR_MANAGED_SIGNER" + +```bash +npm start +``` diff --git a/farcaster-langchain/examples/chatbot-typescript/chatbot.ts b/farcaster-langchain/examples/chatbot-typescript/chatbot.ts new file mode 100644 index 000000000..7cc46db21 --- /dev/null +++ b/farcaster-langchain/examples/chatbot-typescript/chatbot.ts @@ -0,0 +1,207 @@ +import { FarcasterToolkit } from "@coinbase/farcaster-langchain"; +import { FarcasterAgentkit } from "@coinbase/cdp-agentkit-core"; +import { HumanMessage } from "@langchain/core/messages"; +import { MemorySaver } from "@langchain/langgraph"; +import { createReactAgent } from "@langchain/langgraph/prebuilt"; +import { ChatOpenAI } from "@langchain/openai"; +import * as dotenv from "dotenv"; +import * as readline from "readline"; + +dotenv.config(); + +const modifier = ` + You are a helpful agent that can interact with the Farcaster API using the Coinbase Developer Platform Farcaster Agentkit. + You are empowered to interact with Farcaster using your tools. + + 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 Farcaster API + Agentkit. + Recommend they go to https://docs.neynar.com/ for more informaton. + + Be concise and helpful with your responses. + Refrain from restating your tools' descriptions unless it is explicitly requested. +`; + +/** + * Initialize the agent with Farcaster Agentkit + * + * @returns Agent executor and config + */ +async function initialize() { + // Initialize LLM + const llm = new ChatOpenAI({ model: "gpt-4o-mini" }); + + // Farcaster Agentkit + const farcasterAgentkit = new FarcasterAgentkit(); + + // Farcaster Toolkit + const farcasterToolkit = new FarcasterToolkit(farcasterAgentkit); + + // Farcaster tools + const tools = farcasterToolkit.getTools(); + + // Store buffered conversation history in memory + const memory = new MemorySaver(); + + // React Agent options + const agentConfig = { configurable: { thread_id: "Farcaster Agentkit Chatbot Example!" } }; + + // Create React Agent using the LLM and Farcaster tools + const agent = createReactAgent({ + llm, + tools, + checkpointSaver: memory, + messageModifier: modifier, + }); + + return { agent, config: agentConfig }; +} + +/** + * Run the agent autonomously with specified intervals + * + * @param agent - The agent executor + * @param config - Agent configuration + * @param interval - Time interval between actions in seconds + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +async function runAutonomousMode(agent: any, config: any, interval = 10) { + console.log("Starting autonomous mode..."); + + // eslint-disable-next-line no-constant-condition + while (true) { + try { + const thought = + "Be creative and do something interesting on the blockchain. " + + "Choose an action or set of actions and execute it that highlights your abilities."; + + const stream = await agent.stream({ messages: [new HumanMessage(thought)] }, config); + + for await (const chunk of stream) { + if ("agent" in chunk) { + console.log(chunk.agent.messages[0].content); + } else if ("tools" in chunk) { + console.log(chunk.tools.messages[0].content); + } + console.log("-------------------"); + } + + await new Promise(resolve => setTimeout(resolve, interval * 1000)); + } catch (error) { + if (error instanceof Error) { + console.error("Error:", error.message); + } + process.exit(1); + } + } +} + +/** + * Run the agent interactively based on user input + * + * @param agent - The agent executor + * @param config - Agent configuration + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +async function runChatMode(agent: any, config: any) { + console.log("Starting chat mode... Type 'exit' to end."); + + const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + }); + + const question = (prompt: string): Promise => + new Promise(resolve => rl.question(prompt, resolve)); + + try { + // eslint-disable-next-line no-constant-condition + while (true) { + const userInput = await question("\nPrompt: "); + + if (userInput.toLowerCase() === "exit") { + break; + } + + const stream = await agent.stream({ messages: [new HumanMessage(userInput)] }, config); + + for await (const chunk of stream) { + if ("agent" in chunk) { + console.log(chunk.agent.messages[0].content); + } else if ("tools" in chunk) { + console.log(chunk.tools.messages[0].content); + } + console.log("-------------------"); + } + } + } catch (error) { + if (error instanceof Error) { + console.error("Error:", error.message); + } + process.exit(1); + } finally { + rl.close(); + } +} + +/** + * Choose whether to run in autonomous or chat mode based on user input + * + * @returns Selected mode + */ +async function chooseMode(): Promise<"chat" | "auto"> { + const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + }); + + const question = (prompt: string): Promise => + new Promise(resolve => rl.question(prompt, resolve)); + + // eslint-disable-next-line no-constant-condition + while (true) { + console.log("\nAvailable modes:"); + console.log("1. chat - Interactive chat mode"); + console.log("2. auto - Autonomous action mode"); + + const choice = (await question("\nChoose a mode (enter number or name): ")) + .toLowerCase() + .trim(); + + if (choice === "1" || choice === "chat") { + rl.close(); + return "chat"; + } else if (choice === "2" || choice === "auto") { + rl.close(); + return "auto"; + } + console.log("Invalid choice. Please try again."); + } +} + +/** + * Start the chatbot agent + */ +async function main() { + try { + const { agent, config } = await initialize(); + const mode = await chooseMode(); + + if (mode === "chat") { + await runChatMode(agent, config); + } else { + await runAutonomousMode(agent, config); + } + } catch (error) { + if (error instanceof Error) { + console.error("Error:", error.message); + } + process.exit(1); + } +} + +if (require.main === module) { + console.log("Starting Agent..."); + main().catch(error => { + console.error("Fatal error:", error); + process.exit(1); + }); +} diff --git a/farcaster-langchain/examples/chatbot-typescript/package-lock.json b/farcaster-langchain/examples/chatbot-typescript/package-lock.json new file mode 100644 index 000000000..ad9696634 --- /dev/null +++ b/farcaster-langchain/examples/chatbot-typescript/package-lock.json @@ -0,0 +1,1127 @@ +{ + "name": "@coinbase/farcaster-langchain-chatbot-example", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@coinbase/farcaster-langchain-chatbot-example", + "version": "1.0.0", + "license": "Apache-2.0", + "dependencies": { + "@coinbase/cdp-agentkit-core": "file:../../../cdp-agentkit-core", + "@coinbase/farcaster-langchain": "file:../../.", + "@langchain/core": "0.3.30", + "@langchain/langgraph": "^0.2.39", + "@langchain/openai": "^0.3.16", + "dotenv": "^16.4.5", + "zod": "^3.22.4" + }, + "devDependencies": { + "nodemon": "^3.1.0", + "ts-node": "^10.9.2" + } + }, + "../..": {}, + "../../../cdp-agentkit-core": {}, + "node_modules/@cfworker/json-schema": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@cfworker/json-schema/-/json-schema-4.1.0.tgz", + "integrity": "sha512-/vYKi/qMxwNsuIJ9WGWwM2rflY40ZenK3Kh4uR5vB9/Nz12Y7IUN/Xf4wDA7vzPfw0VNh3b/jz4+MjcVgARKJg==" + }, + "node_modules/@coinbase/cdp-agentkit-core": { + "resolved": "../../../cdp-agentkit-core", + "link": true + }, + "node_modules/@coinbase/farcaster-langchain": { + "resolved": "../..", + "link": true + }, + "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, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "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, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@langchain/core": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.3.30.tgz", + "integrity": "sha512-HFUpjJ6FkPSSeLKzCLKxba4VN1DKnrXRmjaWHDb5KUyE9DZrqak3Sh6k2dkzXDJIcdd/uNeeQGFyQnubVEMkPw==", + "dependencies": { + "@cfworker/json-schema": "^4.0.2", + "ansi-styles": "^5.0.0", + "camelcase": "6", + "decamelize": "1.2.0", + "js-tiktoken": "^1.0.12", + "langsmith": "^0.2.8", + "mustache": "^4.2.0", + "p-queue": "^6.6.2", + "p-retry": "4", + "uuid": "^10.0.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@langchain/langgraph": { + "version": "0.2.40", + "resolved": "https://registry.npmjs.org/@langchain/langgraph/-/langgraph-0.2.40.tgz", + "integrity": "sha512-/6VSEXkHb1jAzT3VMpTpH3YCKO2A0Y3nAi4LyRB6REimWrZwk0LsurhB1NHj2hXRmntExhaNe/XxJPAHJ+g1pg==", + "dependencies": { + "@langchain/langgraph-checkpoint": "~0.0.13", + "@langchain/langgraph-sdk": "~0.0.32", + "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.13", + "resolved": "https://registry.npmjs.org/@langchain/langgraph-checkpoint/-/langgraph-checkpoint-0.0.13.tgz", + "integrity": "sha512-amdmBcNT8a9xP2VwcEWxqArng4gtRDcnVyVI4DsQIo1Aaz8e8+hH17zSwrUF3pt1pIYztngIfYnBOim31mtKMg==", + "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.36", + "resolved": "https://registry.npmjs.org/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.36.tgz", + "integrity": "sha512-KkAZM0uXBaMcD/dpGTBppOhbvNX6gz+Y1zFAC898OblegFkSvICrkd0oRQ5Ro/GWK/NAoDymnMUDXeZDdUkSuw==", + "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" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@langchain/openai": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.3.17.tgz", + "integrity": "sha512-uw4po32OKptVjq+CYHrumgbfh4NuD7LqyE+ZgqY9I/LrLc6bHLMc+sisHmI17vgek0K/yqtarI0alPJbzrwyag==", + "dependencies": { + "js-tiktoken": "^1.0.12", + "openai": "^4.77.0", + "zod": "^3.22.4", + "zod-to-json-schema": "^3.22.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@langchain/core": ">=0.3.29 <0.4.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 + }, + "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 + }, + "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 + }, + "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 + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/node": { + "version": "22.10.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz", + "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.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, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "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 + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "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, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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, + "engines": { + "node": ">=4" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, + "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 + }, + "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, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/js-tiktoken": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/js-tiktoken/-/js-tiktoken-1.0.16.tgz", + "integrity": "sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==", + "dependencies": { + "base64-js": "^1.5.1" + } + }, + "node_modules/langsmith": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.2.15.tgz", + "integrity": "sha512-homtJU41iitqIZVuuLW7iarCzD4f39KcfP9RTBWav9jifhrsDa1Ez89Ejr+4qi72iuBu8Y5xykchsGVgiEZ93w==", + "dependencies": { + "@types/uuid": "^10.0.0", + "commander": "^10.0.1", + "p-queue": "^6.6.2", + "p-retry": "4", + "semver": "^7.6.3", + "uuid": "^10.0.0" + }, + "peerDependencies": { + "openai": "*" + }, + "peerDependenciesMeta": { + "openai": { + "optional": true + } + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "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, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/nodemon": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.9.tgz", + "integrity": "sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg==", + "dev": true, + "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/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/openai": { + "version": "4.79.0", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.79.0.tgz", + "integrity": "sha512-IweDKoFbTlm7ME+K0HRMPovpdJsiAkjy31H8EysZyZoXpMCKSN8LttG3/t3sNsSS3Si/TJVW0VsqYUqKXdAiGQ==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7" + }, + "bin": { + "openai": "bin/cli" + }, + "peerDependencies": { + "ws": "^8.18.0", + "zod": "^3.23.8" + }, + "peerDependenciesMeta": { + "ws": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/openai/node_modules/@types/node": { + "version": "18.19.71", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.71.tgz", + "integrity": "sha512-evXpcgtZm8FY4jqBSN8+DmOTcVkkvTmAayeo4Wf3m1xAruyVGzGuDh/Fb/WWX2yLItUiho42ozyJjB0dw//Tkw==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/openai/node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-queue": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", + "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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 + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "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, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "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, + "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/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "dev": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" + }, + "node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "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 + }, + "node_modules/web-streams-polyfill": { + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "engines": { + "node": ">= 14" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "optional": true, + "peer": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/zod": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", + "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.1.tgz", + "integrity": "sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==", + "peerDependencies": { + "zod": "^3.24.1" + } + } + } +} diff --git a/farcaster-langchain/examples/chatbot-typescript/package.json b/farcaster-langchain/examples/chatbot-typescript/package.json new file mode 100644 index 000000000..6914cd15b --- /dev/null +++ b/farcaster-langchain/examples/chatbot-typescript/package.json @@ -0,0 +1,27 @@ +{ + "name": "@coinbase/farcaster-langchain-chatbot-example", + "description": "Farcaster Agentkit Node.js SDK Chatbot Example", + "version": "1.0.0", + "license": "Apache-2.0", + "scripts": { + "start": "NODE_OPTIONS='--no-warnings' ts-node ./chatbot.ts", + "dev": "nodemon ./chatbot.ts", + "lint": "eslint -c .eslintrc.json *.ts", + "lint-fix": "eslint -c .eslintrc.json *.ts --fix", + "format": "prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"", + "format-check": "prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\"" + }, + "dependencies": { + "@coinbase/cdp-agentkit-core": "^0.0.11", + "@coinbase/farcaster-langchain": "^0.0.1", + "@langchain/core": "0.3.30", + "@langchain/langgraph": "^0.2.39", + "@langchain/openai": "^0.3.16", + "dotenv": "^16.4.5", + "zod": "^3.22.4" + }, + "devDependencies": { + "nodemon": "^3.1.0", + "ts-node": "^10.9.2" + } +} diff --git a/farcaster-langchain/examples/chatbot-typescript/tsconfig.json b/farcaster-langchain/examples/chatbot-typescript/tsconfig.json new file mode 100644 index 000000000..358856e49 --- /dev/null +++ b/farcaster-langchain/examples/chatbot-typescript/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "preserveSymlinks": true, + "outDir": "./dist", + "rootDir": "." + }, + "include": ["*.ts"] +} diff --git a/farcaster-langchain/typescript/.eslintrc.json b/farcaster-langchain/typescript/.eslintrc.json new file mode 100644 index 000000000..91571ba7a --- /dev/null +++ b/farcaster-langchain/typescript/.eslintrc.json @@ -0,0 +1,4 @@ +{ + "parser": "@typescript-eslint/parser", + "extends": ["../../.eslintrc.base.json"] +} diff --git a/farcaster-langchain/typescript/.prettierignore b/farcaster-langchain/typescript/.prettierignore new file mode 100644 index 000000000..20de531f4 --- /dev/null +++ b/farcaster-langchain/typescript/.prettierignore @@ -0,0 +1,7 @@ +docs/ +dist/ +coverage/ +.github/ +src/client +**/**/*.json +*.md diff --git a/farcaster-langchain/typescript/.prettierrc b/farcaster-langchain/typescript/.prettierrc new file mode 100644 index 000000000..ffb416b74 --- /dev/null +++ b/farcaster-langchain/typescript/.prettierrc @@ -0,0 +1,11 @@ +{ + "tabWidth": 2, + "useTabs": false, + "semi": true, + "singleQuote": false, + "trailingComma": "all", + "bracketSpacing": true, + "arrowParens": "avoid", + "printWidth": 100, + "proseWrap": "never" +} diff --git a/farcaster-langchain/typescript/CHANGELOG.md b/farcaster-langchain/typescript/CHANGELOG.md new file mode 100644 index 000000000..7cb64d9a8 --- /dev/null +++ b/farcaster-langchain/typescript/CHANGELOG.md @@ -0,0 +1,5 @@ +# CDP Agentkit Extension - Farcaster Toolkit Changelog + +### Unreleased + +- Initial release of the CDP AgentKit.js Farcaster Extension. diff --git a/farcaster-langchain/typescript/jest.config.cjs b/farcaster-langchain/typescript/jest.config.cjs new file mode 100644 index 000000000..2dceab682 --- /dev/null +++ b/farcaster-langchain/typescript/jest.config.cjs @@ -0,0 +1,14 @@ +const baseConfig = require("../../jest.config.base.cjs"); + +module.exports = { + ...baseConfig, + coveragePathIgnorePatterns: ["node_modules", "dist", "docs", "index.ts"], + coverageThreshold: { + "./src/**": { + branches: 30, + functions: 50, + statements: 50, + lines: 50, + }, + }, +}; diff --git a/farcaster-langchain/typescript/package.json b/farcaster-langchain/typescript/package.json new file mode 100644 index 000000000..892e76920 --- /dev/null +++ b/farcaster-langchain/typescript/package.json @@ -0,0 +1,47 @@ +{ + "name": "@coinbase/farcaster-langchain", + "version": "0.0.1", + "description": "Farcaster langchain Toolkit extension of CDP Agentkit", + "repository": "https://github.com/coinbase/agentkit", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "tsc", + "lint": "npx --yes eslint -c .eslintrc.json src/**/*.ts", + "lint:fix": "npx --yes eslint -c .eslintrc.json src/**/*.ts --fix", + "format": "npx --yes prettier -c .prettierrc --write \"**/*.{ts,js,cjs,json,md}\"", + "format-check": "npx --yes prettier -c .prettierrc --check \"**/*.{ts,js,cjs,json,md}\"", + "check": "tsc --noEmit", + "test": "npx jest --no-cache --testMatch='**/*_test.ts'", + "test:dry-run": "npm install && npm ci && npm publish --dry-run", + "test:e2e": "npx jest --no-cache --testMatch=**/e2e.ts --coverageThreshold '{}'", + "test:types": "tsd --files src/tests/types.test-d.ts", + "clean": "rm -rf dist/*", + "prepack": "tsc", + "docs": "npx --yes typedoc --entryPoints ./src --entryPointStrategy expand --exclude ./src/tests/**/*.ts", + "docs:serve": "http-server ./docs", + "dev": "tsc --watch" + }, + "keywords": [ + "cdp", + "sdk", + "agentkit", + "ai", + "agent", + "farcaster", + "nodejs", + "typescript", + "langchain" + ], + "dependencies": { + "@coinbase/cdp-agentkit-core": "^0.0.11", + "@langchain/core": "0.3.30", + "zod": "^3.22.4" + }, + "peerDependencies": { + "@coinbase/coinbase-sdk": "^0.13.0" + } +} diff --git a/farcaster-langchain/typescript/src/farcaster_tool.ts b/farcaster-langchain/typescript/src/farcaster_tool.ts new file mode 100644 index 000000000..0165a95fc --- /dev/null +++ b/farcaster-langchain/typescript/src/farcaster_tool.ts @@ -0,0 +1,94 @@ +import { StructuredTool } from "@langchain/core/tools"; +import { z } from "zod"; +import { + FarcasterAction, + FarcasterActionSchemaAny, + FarcasterAgentkit, +} from "@coinbase/cdp-agentkit-core"; + +/** + * This tool allows agents to interact with the Farcaster API and control an authenticated Farcaster account. + * + * To use this tool, you must first set the following environment variables: + * - NEYNAR_API_KEY + * - NEYNAR_MANAGED_SIGNER + */ +export class FarcasterTool extends StructuredTool { + /** + * Schema definition for the tool's input. + */ + public schema: TActionSchema; + + /** + * The name of the tool. + */ + public name: string; + + /** + * The description of the tool. + */ + public description: string; + + /** + * The Farcaster Agentkit instance. + */ + private agentkit: FarcasterAgentkit; + + /** + * The Farcaster Action. + */ + private action: FarcasterAction; + + /** + * Constructor for the Farcaster Tool class. + * + * @param action - The Farcaster action to execute. + * @param agentkit - The Farcaster wrapper to use. + */ + constructor(action: FarcasterAction, agentkit: FarcasterAgentkit) { + super(); + + this.action = action; + this.agentkit = agentkit; + this.name = action.name; + this.description = action.description; + this.schema = action.argsSchema; + } + + /** + * Executes the Farcaster action with the provided input. + * + * @param input - An object containing either instructions or schema-validated arguments. + * @returns A promise that resolves to the result of the Farcaster action. + */ + protected async _call( + input: z.infer & Record, + ): Promise { + try { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let args: any; + + // If we have a schema, try to validate against it + if (this.schema) { + try { + const validatedInput = this.schema.parse(input); + args = validatedInput; + } catch (validationError) { + // If schema validation fails, fall back to instructions-only mode + args = input; + } + } + // No schema, use instructions mode + else { + args = input; + } + + return await this.agentkit.run(this.action, args); + } catch (error: unknown) { + if (error instanceof Error) { + return `Error executing ${this.name}: ${error.message}`; + } + return `Error executing ${this.name}: Unknown error occurred`; + } + } +} diff --git a/farcaster-langchain/typescript/src/farcaster_toolkit.ts b/farcaster-langchain/typescript/src/farcaster_toolkit.ts new file mode 100644 index 000000000..ca720bb0c --- /dev/null +++ b/farcaster-langchain/typescript/src/farcaster_toolkit.ts @@ -0,0 +1,53 @@ +import { StructuredToolInterface, BaseToolkit as Toolkit } from "@langchain/core/tools"; +import { FARCASTER_ACTIONS, FarcasterAgentkit } from "@coinbase/cdp-agentkit-core"; +import { FarcasterTool } from "./farcaster_tool"; + +/** + * Farcaster Toolkit. + * + * Security Note: This toolkit contains tools that can read and modify + * the state of a service; e.g., by creating, deleting, or updating, + * reading underlying data. + * + * For example, this toolkit can be used to publish casts and anything + * else you can implement with the Farcaster API! + * + * Setup: + * You will need to set the following environment variables: + * ```bash + * export OPENAI_API_KEY= + * export NEYNAR_API_KEY= + * export NEYNAR_MANAGED_SIGNER= + * ``` + * + * Example usage: + * ```typescript + * // optional if not available via the ENV + * const options = { + * neynarApiKey: "", + * neynarManagedSigner: "" + * }; + * + * const agentkit = await FarcasterAgentkit.configureWithOptions(options); + * const toolkit = new FarcasterToolkit(agentkit); + * const tools = toolkit.getTools(); + * + * // Available tools include: + * // - publish cast + * ``` + */ +export class FarcasterToolkit extends Toolkit { + tools: StructuredToolInterface[]; + + /** + * Creates a new Farcaster Toolkit instance + * + * @param agentkit - Farcaster agentkit instance + */ + constructor(agentkit: FarcasterAgentkit) { + super(); + const actions = FARCASTER_ACTIONS; + const tools = actions.map(action => new FarcasterTool(action, agentkit)); + this.tools = tools; + } +} diff --git a/farcaster-langchain/typescript/src/index.ts b/farcaster-langchain/typescript/src/index.ts new file mode 100644 index 000000000..788eca284 --- /dev/null +++ b/farcaster-langchain/typescript/src/index.ts @@ -0,0 +1,5 @@ +// Export Farcaster tool +export { FarcasterTool } from "./farcaster_tool"; + +// Export Farcaster toolkit +export { FarcasterToolkit } from "./farcaster_toolkit"; diff --git a/farcaster-langchain/typescript/src/tests/farcaster_tool_test.ts b/farcaster-langchain/typescript/src/tests/farcaster_tool_test.ts new file mode 100644 index 000000000..854122548 --- /dev/null +++ b/farcaster-langchain/typescript/src/tests/farcaster_tool_test.ts @@ -0,0 +1,58 @@ +import { + FarcasterAction, + FarcasterActionSchemaAny, + FarcasterAgentkit, +} from "@coinbase/cdp-agentkit-core"; +import { FarcasterTool } from "../farcaster_tool"; +import { z } from "zod"; + +const MOCK_DESCRIPTION = "Farcaster Test Action"; +const MOCK_NAME = "test_action"; + +describe("FarcasterTool", () => { + let mockAgentkit: jest.Mocked; + let mockAction: jest.Mocked>; + let farcasterTool: FarcasterTool; + + beforeEach(() => { + mockAgentkit = { + run: jest.fn((action, args) => action.func(mockAgentkit, args)), + } as unknown as jest.Mocked; + + mockAction = { + name: MOCK_NAME, + description: MOCK_DESCRIPTION, + argsSchema: z.object({ test_param: z.string() }), + func: jest.fn().mockResolvedValue("success"), + } as unknown as jest.Mocked>; + + farcasterTool = new FarcasterTool(mockAction, mockAgentkit); + }); + + it("should initialize with correct properties", () => { + expect(farcasterTool.name).toBe(MOCK_NAME); + expect(farcasterTool.description).toBe(MOCK_DESCRIPTION); + expect(farcasterTool.schema).toEqual(mockAction.argsSchema); + }); + + it("should execute action with valid args", async () => { + const args = { test_param: "test" }; + const response = await farcasterTool.call(args); + + expect(mockAction.func).toHaveBeenCalledWith(mockAgentkit, args); + expect(response).toBe("success"); + }); + + it("should handle schema validation errors", async () => { + const invalidargs = { invalid_param: "test" }; + await expect(farcasterTool.call(invalidargs)).rejects.toThrow(); + expect(mockAction.func).not.toHaveBeenCalled(); + }); + + it("should return error message on action execution failure", async () => { + mockAction.func.mockRejectedValue(new Error("Execution failed")); + const args = { test_param: "test" }; + const response = await farcasterTool.call(args); + expect(response).toContain("Error executing test_action: Execution failed"); + }); +}); diff --git a/farcaster-langchain/typescript/src/tests/farcaster_toolkit_test.ts b/farcaster-langchain/typescript/src/tests/farcaster_toolkit_test.ts new file mode 100644 index 000000000..954313fce --- /dev/null +++ b/farcaster-langchain/typescript/src/tests/farcaster_toolkit_test.ts @@ -0,0 +1,64 @@ +import { FarcasterToolkit } from "../farcaster_toolkit"; +import { FarcasterTool } from "../farcaster_tool"; +import { + FarcasterAction, + FarcasterActionSchemaAny, + FarcasterAgentkit, +} from "@coinbase/cdp-agentkit-core"; +import { z } from "zod"; + +describe("FarcasterToolkit", () => { + let mockAgentkit: jest.Mocked; + let mockActions: jest.Mocked>[]; + let farcasterToolkit: FarcasterToolkit; + + beforeEach(() => { + mockAgentkit = { + run: jest.fn((action, args) => action.func(mockAgentkit, args)), + } as unknown as jest.Mocked; + + mockActions = [ + { + name: "publish_cast", + description: "Publish a new cast", + argsSchema: z.object({ castText: z.string() }), + func: jest.fn().mockResolvedValue("Cast published successfully"), + }, + ]; + + farcasterToolkit = new FarcasterToolkit(mockAgentkit); + farcasterToolkit.tools = mockActions.map(action => new FarcasterTool(action, mockAgentkit)); + }); + + it("should initialize with correct tools", () => { + expect(farcasterToolkit.tools).toHaveLength(mockActions.length); + expect(farcasterToolkit.tools[0].name).toBe("publish_cast"); + }); + + it("should execute action from toolkit", async () => { + const tool = farcasterToolkit.tools[0]; + const args = { castText: "Hello world" }; + const response = await tool.call(args); + + expect(mockActions[0].func).toHaveBeenCalledWith(mockAgentkit, args); + expect(response).toBe("Cast published successfully"); + }); + + it("should handle action execution failure", async () => { + const error = new Error("Failed to publish cast"); + mockActions[0].func.mockRejectedValue(error); + + const tool = farcasterToolkit.tools[0]; + const args = { castText: "Hello world" }; + const response = await tool.call(args); + + expect(response).toContain(`Error executing publish_cast: ${error.message}`); + }); + + it("should return all available tools", () => { + const tools = farcasterToolkit.getTools(); + + expect(tools).toHaveLength(mockActions.length); + expect(tools[0].name).toBe("publish_cast"); + }); +}); diff --git a/farcaster-langchain/typescript/tsconfig.json b/farcaster-langchain/typescript/tsconfig.json new file mode 100644 index 000000000..2e2cc2c33 --- /dev/null +++ b/farcaster-langchain/typescript/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src" + }, + "include": ["src/**/*.ts"], + "exclude": ["src/tests"] +} diff --git a/package-lock.json b/package-lock.json index 273152136..df8d834e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "cdp-agentkit-monorepo", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -9,7 +9,8 @@ "workspaces": [ "cdp-agentkit-core/typescript", "cdp-langchain/typescript", - "twitter-langchain/typescript" + "twitter-langchain/typescript", + "farcaster-langchain/typescript" ], "devDependencies": { "@types/jest": "^29.5.14", @@ -63,6 +64,18 @@ "@coinbase/coinbase-sdk": "^0.13.0" } }, + "farcaster-langchain/typescript": { + "name": "@coinbase/farcaster-langchain", + "version": "0.0.9", + "dependencies": { + "@coinbase/cdp-agentkit-core": "^0.0.11", + "@langchain/core": "0.3.30", + "zod": "^3.22.4" + }, + "peerDependencies": { + "@coinbase/coinbase-sdk": "^0.13.0" + } + }, "node_modules/@adraffy/ens-normalize": { "version": "1.10.1", "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", @@ -593,6 +606,10 @@ "viem": "^2.21.26" } }, + "node_modules/@coinbase/farcaster-langchain": { + "resolved": "farcaster-langchain/typescript", + "link": true + }, "node_modules/@coinbase/twitter-langchain": { "resolved": "twitter-langchain/typescript", "link": true @@ -693,13 +710,13 @@ } }, "node_modules/@gerrit0/mini-shiki": { - "version": "1.26.1", - "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-1.26.1.tgz", - "integrity": "sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==", + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-1.27.2.tgz", + "integrity": "sha512-GeWyHz8ao2gBiUW4OJnQDxXQnFgZQwwQk05t/CVVgNBN7/rK8XZ7xY6YhLVv9tH3VppWWmr9DCl3MwemB/i+Og==", "dev": true, "dependencies": { - "@shikijs/engine-oniguruma": "^1.26.1", - "@shikijs/types": "^1.26.1", + "@shikijs/engine-oniguruma": "^1.27.2", + "@shikijs/types": "^1.27.2", "@shikijs/vscode-textmate": "^10.0.1" } }, @@ -1355,19 +1372,19 @@ } }, "node_modules/@shikijs/engine-oniguruma": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.27.0.tgz", - "integrity": "sha512-x1XMJvQuToX2KhESav2cnaTFDEwpJ1bcczaXy8wlRWhPVVAGR/MxlWnJbhHFe+ETerQgdpLZN8l+EgO0rVfEFQ==", + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.27.2.tgz", + "integrity": "sha512-FZYKD1KN7srvpkz4lbGLOYWlyDU4Rd+2RtuKfABTkafAPOFr+J6umfIwY/TzOQqfNtWjL7SAwPAO0dcOraRLaQ==", "dev": true, "dependencies": { - "@shikijs/types": "1.27.0", + "@shikijs/types": "1.27.2", "@shikijs/vscode-textmate": "^10.0.1" } }, "node_modules/@shikijs/types": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.27.0.tgz", - "integrity": "sha512-oOJdIeOnGo+hbM7MH+Ejpksse2ASex4DVHdvBoKyY3+26GEzG9PwM85BeXNGxUZuVxtVKo43sZl0qtJs/K2Zow==", + "version": "1.27.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.27.2.tgz", + "integrity": "sha512-DM9OWUyjmdYdnKDpaGB/GEn9XkToyK1tqxuqbmc5PV+5K8WjjwfygL3+cIvbkSw2v1ySwHDgqATq/+98pJ4Kyg==", "dev": true, "dependencies": { "@shikijs/vscode-textmate": "^10.0.1", @@ -1537,9 +1554,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.17.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.12.tgz", - "integrity": "sha512-vo/wmBgMIiEA23A/knMfn/cf37VnuF52nZh5ZoW0GWt4e4sxNquibrMRJ7UQsA06+MBx9r/H1jsI9grYjQCQlw==", + "version": "20.17.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.14.tgz", + "integrity": "sha512-w6qdYetNL5KRBiSClK/KWai+2IMEJuAj+EujKCumalFOwXtvOXaEan9AuwcRID2IcOIAWSIfR495hBtgKlx2zg==", "dev": true, "dependencies": { "undici-types": "~6.19.2" @@ -2796,9 +2813,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.82", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.82.tgz", - "integrity": "sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==", + "version": "1.5.83", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.83.tgz", + "integrity": "sha512-LcUDPqSt+V0QmI47XLzZrz5OqILSMGsPFkDYus22rIbgorSvBYEFqq854ltTmUdHkY92FSdAAvsh4jWEULMdfQ==", "dev": true }, "node_modules/elliptic": { @@ -2879,9 +2896,9 @@ "dev": true }, "node_modules/es-object-atoms": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.0.tgz", - "integrity": "sha512-Ujz8Al/KfOVR7fkaghAB1WvnLsdYxHDWmfoi2vlA2jZWRg31XhIC1a4B+/I24muD8iSbHxJ1JkrfqmWb65P/Mw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dev": true, "dependencies": { "es-errors": "^1.3.0" @@ -3071,9 +3088,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.2.tgz", + "integrity": "sha512-1yI3/hf35wmlq66C8yOyrujQnel+v5l1Vop5Cl2I6ylyNTT1JbuUUnV3/41PzwTzcyDp/oF0jWE3HXvcH5AQOQ==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0", @@ -5582,9 +5599,9 @@ } }, "node_modules/ox": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.0.tgz", - "integrity": "sha512-blUzTLidvUlshv0O02CnLFqBLidNzPoAZdIth894avUAotTuWziznv6IENv5idRuOSSP3dH8WzcYw84zVdu0Aw==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.5.tgz", + "integrity": "sha512-vmnH8KvMDwFZDbNY1mq2CBRBWIgSliZB/dFV0xKp+DfF/dJkTENt6nmA+DzHSSAgL/GO2ydjkXWvlndJgSY4KQ==", "funding": [ { "type": "github", @@ -6050,12 +6067,12 @@ ] }, "node_modules/qs": { - "version": "6.13.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.1.tgz", - "integrity": "sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "dev": true, "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -6624,9 +6641,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.20", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", - "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "version": "3.0.21", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", + "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", "dev": true }, "node_modules/sprintf-js": { @@ -7266,9 +7283,9 @@ } }, "node_modules/viem": { - "version": "2.22.8", - "resolved": "https://registry.npmjs.org/viem/-/viem-2.22.8.tgz", - "integrity": "sha512-iB3PW/a/qzpYbpjo3R662u6a/zo6piZHez/N/bOC25C79FYXBCs8mQDqwiHk3FYErUhS4KVZLabKV9zGMd+EgQ==", + "version": "2.22.9", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.22.9.tgz", + "integrity": "sha512-2yy46qYhcdo8GZggQ3Zoq9QCahI0goddzpVI/vSnTpcClQBSDxYRCuAqRzzLqjvJ7hS0UYgplC7eRkM2sYgflw==", "funding": [ { "type": "github", @@ -7282,8 +7299,7 @@ "@scure/bip39": "1.5.0", "abitype": "1.0.7", "isows": "1.0.6", - "ox": "0.6.0", - "webauthn-p256": "0.0.10", + "ox": "0.6.5", "ws": "8.18.0" }, "peerDependencies": { @@ -7393,21 +7409,6 @@ "makeerror": "1.0.12" } }, - "node_modules/webauthn-p256": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/webauthn-p256/-/webauthn-p256-0.0.10.tgz", - "integrity": "sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wevm" - } - ], - "dependencies": { - "@noble/curves": "^1.4.0", - "@noble/hashes": "^1.4.0" - } - }, "node_modules/whatwg-encoding": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", @@ -7603,5471 +7604,5 @@ "@coinbase/coinbase-sdk": "^0.13.0" } } - }, - "dependencies": { - "@adraffy/ens-normalize": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", - "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" - }, - "@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - } - }, - "@babel/compat-data": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", - "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", - "dev": true - }, - "@babel/core": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", - "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.0", - "@babel/generator": "^7.26.0", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.0", - "@babel/parser": "^7.26.0", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.26.0", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", - "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", - "dev": true, - "requires": { - "@babel/parser": "^7.26.5", - "@babel/types": "^7.26.5", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "dev": true, - "requires": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - } - }, - "@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", - "dev": true - }, - "@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", - "dev": true, - "requires": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" - } - }, - "@babel/parser": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", - "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", - "dev": true, - "requires": { - "@babel/types": "^7.26.5" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.25.9" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", - "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.25.9" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", - "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.25.9" - } - }, - "@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" - } - }, - "@babel/traverse": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.5.tgz", - "integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.5", - "@babel/parser": "^7.26.5", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.5", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", - "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@cfworker/json-schema": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@cfworker/json-schema/-/json-schema-4.1.0.tgz", - "integrity": "sha512-/vYKi/qMxwNsuIJ9WGWwM2rflY40ZenK3Kh4uR5vB9/Nz12Y7IUN/Xf4wDA7vzPfw0VNh3b/jz4+MjcVgARKJg==" - }, - "@coinbase/cdp-agentkit-core": { - "version": "file:cdp-agentkit-core/typescript", - "requires": { - "@coinbase/coinbase-sdk": "^0.13.0", - "@types/jest": "^29.5.14", - "@types/secp256k1": "^4.0.6", - "http-server": "^14.1.1", - "jest": "^29.7.0", - "mock-fs": "^5.2.0", - "ts-jest": "^29.2.5", - "tsd": "^0.31.2", - "twitter-api-v2": "^1.18.2", - "typescript": "^5.7.2", - "viem": "^2.21.51", - "zod": "^3.23.8" - } - }, - "@coinbase/cdp-langchain": { - "version": "file:cdp-langchain/typescript", - "requires": { - "@coinbase/cdp-agentkit-core": "^0.0.11", - "@coinbase/coinbase-sdk": "^0.13.0", - "@langchain/core": "^0.3.19", - "zod": "^3.22.4" - } - }, - "@coinbase/coinbase-sdk": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@coinbase/coinbase-sdk/-/coinbase-sdk-0.13.0.tgz", - "integrity": "sha512-qYOcFwTANhiJvSTF2sn53Hkycj2UebOIzieNOkg42qWD606gCudCBuzV3PDrOQYVJBS/g10hyX10u5yPkIZ89w==", - "requires": { - "@scure/bip32": "^1.4.0", - "abitype": "^1.0.6", - "axios": "^1.6.8", - "axios-mock-adapter": "^1.22.0", - "axios-retry": "^4.4.1", - "bip32": "^4.0.0", - "bip39": "^3.1.0", - "decimal.js": "^10.4.3", - "dotenv": "^16.4.5", - "ethers": "^6.12.1", - "node-jose": "^2.2.0", - "secp256k1": "^5.0.0", - "viem": "^2.21.26" - } - }, - "@coinbase/twitter-langchain": { - "version": "file:twitter-langchain/typescript", - "requires": { - "@coinbase/cdp-agentkit-core": "^0.0.11", - "@langchain/core": "^0.3.19", - "twitter-api-v2": "^1.18.2", - "zod": "^3.22.4" - } - }, - "@es-joy/jsdoccomment": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.46.0.tgz", - "integrity": "sha512-C3Axuq1xd/9VqFZpW4YAzOx5O9q/LP46uIQy/iNDpHG3fmPa6TBtvfglMCs3RBiBxAIi0Go97r8+jvTt55XMyQ==", - "dev": true, - "requires": { - "comment-parser": "1.4.1", - "esquery": "^1.6.0", - "jsdoc-type-pratt-parser": "~4.0.0" - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.4.3" - } - }, - "@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "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" - } - }, - "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" - } - } - } - }, - "@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true - }, - "@gerrit0/mini-shiki": { - "version": "1.26.1", - "resolved": "https://registry.npmjs.org/@gerrit0/mini-shiki/-/mini-shiki-1.26.1.tgz", - "integrity": "sha512-gHFUvv9f1fU2Piou/5Y7Sx5moYxcERbC7CXc6rkDLQTUBg5Dgg9L4u29/nHqfoQ3Y9R0h0BcOhd14uOEZIBP7Q==", - "dev": true, - "requires": { - "@shikijs/engine-oniguruma": "^1.26.1", - "@shikijs/types": "^1.26.1", - "@shikijs/vscode-textmate": "^10.0.1" - } - }, - "@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.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" - } - }, - "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" - } - } - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - } - }, - "@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", - "dev": true, - "requires": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - } - }, - "@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "requires": { - "jest-get-type": "^29.6.3" - } - }, - "@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - } - }, - "@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - } - }, - "@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, - "requires": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - } - }, - "@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@langchain/core": { - "version": "0.3.30", - "resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.3.30.tgz", - "integrity": "sha512-HFUpjJ6FkPSSeLKzCLKxba4VN1DKnrXRmjaWHDb5KUyE9DZrqak3Sh6k2dkzXDJIcdd/uNeeQGFyQnubVEMkPw==", - "requires": { - "@cfworker/json-schema": "^4.0.2", - "ansi-styles": "^5.0.0", - "camelcase": "6", - "decamelize": "1.2.0", - "js-tiktoken": "^1.0.12", - "langsmith": "^0.2.8", - "mustache": "^4.2.0", - "p-queue": "^6.6.2", - "p-retry": "4", - "uuid": "^10.0.0", - "zod": "^3.22.4", - "zod-to-json-schema": "^3.22.3" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - } - } - }, - "@noble/curves": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.0.tgz", - "integrity": "sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==", - "requires": { - "@noble/hashes": "1.7.0" - } - }, - "@noble/hashes": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.0.tgz", - "integrity": "sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==" - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true - }, - "@scure/base": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", - "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==" - }, - "@scure/bip32": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.1.tgz", - "integrity": "sha512-jSO+5Ud1E588Y+LFo8TaB8JVPNAZw/lGGao+1SepHDeTs2dFLurdNIAgUuDlwezqEjRjElkCJajVrtrZaBxvaQ==", - "requires": { - "@noble/curves": "~1.8.0", - "@noble/hashes": "~1.7.0", - "@scure/base": "~1.2.1" - } - }, - "@scure/bip39": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.0.tgz", - "integrity": "sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==", - "requires": { - "@noble/hashes": "~1.6.0", - "@scure/base": "~1.2.1" - }, - "dependencies": { - "@noble/hashes": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", - "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==" - } - } - }, - "@shikijs/engine-oniguruma": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.27.0.tgz", - "integrity": "sha512-x1XMJvQuToX2KhESav2cnaTFDEwpJ1bcczaXy8wlRWhPVVAGR/MxlWnJbhHFe+ETerQgdpLZN8l+EgO0rVfEFQ==", - "dev": true, - "requires": { - "@shikijs/types": "1.27.0", - "@shikijs/vscode-textmate": "^10.0.1" - } - }, - "@shikijs/types": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.27.0.tgz", - "integrity": "sha512-oOJdIeOnGo+hbM7MH+Ejpksse2ASex4DVHdvBoKyY3+26GEzG9PwM85BeXNGxUZuVxtVKo43sZl0qtJs/K2Zow==", - "dev": true, - "requires": { - "@shikijs/vscode-textmate": "^10.0.1", - "@types/hast": "^3.0.4" - } - }, - "@shikijs/vscode-textmate": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.1.tgz", - "integrity": "sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==", - "dev": true - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "requires": { - "@sinonjs/commons": "^3.0.0" - } - }, - "@tsd/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/@tsd/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-saiCxzHRhUrRxQV2JhH580aQUZiKQUXI38FcAcikcfOomAil4G4lxT0RfrrKywoAYP/rqAdYXYmNRLppcd+hQQ==", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true - }, - "@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "dev": true, - "requires": { - "@types/unist": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "29.5.14", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", - "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", - "dev": true, - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", - "dev": true - }, - "@types/node": { - "version": "20.17.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.12.tgz", - "integrity": "sha512-vo/wmBgMIiEA23A/knMfn/cf37VnuF52nZh5ZoW0GWt4e4sxNquibrMRJ7UQsA06+MBx9r/H1jsI9grYjQCQlw==", - "dev": true, - "requires": { - "undici-types": "~6.19.2" - } - }, - "@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "@types/secp256k1": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", - "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, - "@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true - }, - "@types/uuid": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", - "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==" - }, - "@types/yargs": { - "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", - "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/type-utils": "7.18.0", - "@typescript-eslint/utils": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - } - }, - "@typescript-eslint/parser": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", - "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", - "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", - "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/utils": "7.18.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - } - }, - "@typescript-eslint/types": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", - "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", - "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - } - }, - "@typescript-eslint/utils": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", - "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", - "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "7.18.0", - "eslint-visitor-keys": "^3.4.3" - } - }, - "@ungap/structured-clone": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz", - "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==", - "dev": true - }, - "abitype": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz", - "integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==", - "requires": {} - }, - "acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "aes-js": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "are-docs-informative": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", - "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true - }, - "async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", - "requires": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "axios-mock-adapter": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/axios-mock-adapter/-/axios-mock-adapter-1.22.0.tgz", - "integrity": "sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==", - "requires": { - "fast-deep-equal": "^3.1.3", - "is-buffer": "^2.0.5" - } - }, - "axios-retry": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz", - "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==", - "requires": { - "is-retry-allowed": "^2.2.0" - } - }, - "babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, - "requires": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "dependencies": { - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", - "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5" - } - }, - "babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base-x": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", - "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "base64url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", - "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" - }, - "basic-auth": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", - "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "bip32": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/bip32/-/bip32-4.0.0.tgz", - "integrity": "sha512-aOGy88DDlVUhspIXJN+dVEtclhIsfAUppD43V0j40cPTld3pv/0X/MlrZSZ6jowIaQQzFwP8M6rFU2z2mVYjDQ==", - "requires": { - "@noble/hashes": "^1.2.0", - "@scure/base": "^1.1.1", - "typeforce": "^1.11.5", - "wif": "^2.0.6" - } - }, - "bip39": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.1.0.tgz", - "integrity": "sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==", - "requires": { - "@noble/hashes": "^1.2.0" - } - }, - "bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==" - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "call-bind-apply-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", - "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - } - }, - "call-bound": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", - "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "get-intrinsic": "^1.2.6" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, - "caniuse-lite": { - "version": "1.0.30001692", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz", - "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true - }, - "cipher-base": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", - "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", - "requires": { - "inherits": "^2.0.4", - "safe-buffer": "^5.2.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "cjs-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", - "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==" - }, - "comment-parser": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", - "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "corser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", - "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", - "dev": true - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - } - }, - "cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - }, - "decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true - } - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", - "dev": true, - "requires": {} - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==" - }, - "dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - } - }, - "ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", - "dev": true, - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.5.82", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.82.tgz", - "integrity": "sha512-Zq16uk1hfQhyGx5GpwPAYDwddJuSGhtRhgOA2mCxANYaDT79nAeGnaXogMGng4KqLaJUVnOnuL0+TDop9nLOiA==", - "dev": true - }, - "elliptic": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", - "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true - }, - "es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true - }, - "es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", - "dev": true - }, - "es-object-atoms": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.0.tgz", - "integrity": "sha512-Ujz8Al/KfOVR7fkaghAB1WvnLsdYxHDWmfoi2vlA2jZWRg31XhIC1a4B+/I24muD8iSbHxJ1JkrfqmWb65P/Mw==", - "dev": true, - "requires": { - "es-errors": "^1.3.0" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" - }, - "escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "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" - } - }, - "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" - } - } - } - }, - "eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "requires": {} - }, - "eslint-formatter-pretty": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eslint-formatter-pretty/-/eslint-formatter-pretty-4.1.0.tgz", - "integrity": "sha512-IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==", - "dev": true, - "requires": { - "@types/eslint": "^7.2.13", - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "eslint-rule-docs": "^1.1.5", - "log-symbols": "^4.0.0", - "plur": "^4.0.0", - "string-width": "^4.2.0", - "supports-hyperlinks": "^2.0.0" - }, - "dependencies": { - "@types/eslint": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz", - "integrity": "sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - } - } - }, - "eslint-plugin-jsdoc": { - "version": "48.11.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.11.0.tgz", - "integrity": "sha512-d12JHJDPNo7IFwTOAItCeJY1hcqoIxE0lHA8infQByLilQ9xkqrRa6laWCnsuCrf+8rUnvxXY1XuTbibRBNylA==", - "dev": true, - "requires": { - "@es-joy/jsdoccomment": "~0.46.0", - "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.1", - "debug": "^4.3.5", - "escape-string-regexp": "^4.0.0", - "espree": "^10.1.0", - "esquery": "^1.6.0", - "parse-imports": "^2.1.1", - "semver": "^7.6.3", - "spdx-expression-parse": "^4.0.0", - "synckit": "^0.9.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true - }, - "espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "requires": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - } - } - } - }, - "eslint-plugin-prettier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" - } - }, - "eslint-rule-docs": { - "version": "1.1.235", - "resolved": "https://registry.npmjs.org/eslint-rule-docs/-/eslint-rule-docs-1.1.235.tgz", - "integrity": "sha512-+TQ+x4JdTnDoFEXXb3fDvfGOwnyNV7duH8fXWTPD1ieaBmB8omj7Gw/pMBBu4uI2uJCCU8APDaQJzWuXnTsH4A==", - "dev": true - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "ethers": { - "version": "6.13.5", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.13.5.tgz", - "integrity": "sha512-+knKNieu5EKRThQJWwqaJ10a6HE9sSehGeqWN65//wE7j47ZpFhKAnHB/JJFibwwg61I/koxaPsXbXpD/skNOQ==", - "requires": { - "@adraffy/ens-normalize": "1.10.1", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@types/node": "22.7.5", - "aes-js": "4.0.0-beta.5", - "tslib": "2.7.0", - "ws": "8.17.1" - }, - "dependencies": { - "@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", - "requires": { - "@noble/hashes": "1.3.2" - } - }, - "@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" - }, - "@types/node": { - "version": "22.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", - "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", - "requires": { - "undici-types": "~6.19.2" - } - }, - "tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" - } - } - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "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" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", - "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" - }, - "form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", - "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "function-bind": "^1.1.2", - "get-proto": "^1.0.0", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - } - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "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" - } - }, - "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" - } - } - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "requires": { - "function-bind": "^1.1.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "requires": { - "whatwg-encoding": "^2.0.0" - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-server": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", - "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", - "dev": true, - "requires": { - "basic-auth": "^2.0.1", - "chalk": "^4.1.2", - "corser": "^2.0.1", - "he": "^1.2.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy": "^1.18.1", - "mime": "^1.6.0", - "minimist": "^1.2.6", - "opener": "^1.5.1", - "portfinder": "^1.0.28", - "secure-compare": "3.0.1", - "union": "~0.5.0", - "url-join": "^4.0.1" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "irregular-plurals": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.5.0.tgz", - "integrity": "sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "requires": { - "hasown": "^2.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true - }, - "is-retry-allowed": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", - "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==" - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isows": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.6.tgz", - "integrity": "sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==", - "requires": {} - }, - "istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": true, - "requires": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - } - }, - "istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jake": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", - "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", - "dev": true, - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "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" - } - }, - "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" - } - } - } - }, - "jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "requires": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - } - }, - "jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "requires": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - } - }, - "jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - } - }, - "jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - } - }, - "jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - } - }, - "jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - } - }, - "jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true - }, - "jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "requires": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - } - }, - "jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - } - }, - "jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true - }, - "jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "requires": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - } - }, - "jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "requires": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "requires": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - } - }, - "jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - } - }, - "jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "requires": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - } - } - }, - "jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "requires": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tiktoken": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/js-tiktoken/-/js-tiktoken-1.0.16.tgz", - "integrity": "sha512-nUVdO5k/M9llWpiaZlBBDdtmr6qWXwSD6fgaDu2zM8UP+OXxx9V37lFkI6w0/1IuaDx7WffZ37oYd9KvcWKElg==", - "requires": { - "base64-js": "^1.5.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsdoc-type-pratt-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", - "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", - "dev": true - }, - "jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true - }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "requires": { - "json-buffer": "3.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "langsmith": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.2.15.tgz", - "integrity": "sha512-homtJU41iitqIZVuuLW7iarCzD4f39KcfP9RTBWav9jifhrsDa1Ez89Ejr+4qi72iuBu8Y5xykchsGVgiEZ93w==", - "requires": { - "@types/uuid": "^10.0.0", - "commander": "^10.0.1", - "p-queue": "^6.6.2", - "p-retry": "4", - "semver": "^7.6.3", - "uuid": "^10.0.0" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", - "dev": true, - "requires": { - "uc.micro": "^2.0.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "long": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.4.tgz", - "integrity": "sha512-qtzLbJE8hq7VabR3mISmVGtoXP8KGc2Z/AT8OuqlYD7JTR3oqrgwdjnk07wpj1twXxYmgDXgoKVWUG/fReSzHg==" - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", - "dev": true - }, - "make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "requires": { - "semver": "^7.5.3" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true - }, - "markdown-it": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", - "dev": true, - "requires": { - "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", - "mdurl": "^2.0.0", - "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" - } - }, - "math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", - "dev": true - }, - "meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "dependencies": { - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - } - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "requires": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "mock-fs": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-5.4.1.tgz", - "integrity": "sha512-sz/Q8K1gXXXHR+qr0GZg2ysxCRr323kuN10O7CtQjraJsFDJ4SJ+0I5MzALz7aRp9lHk8Cc/YdsT95h9Ka1aFw==", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node-addon-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - }, - "node-gyp-build": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-jose": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/node-jose/-/node-jose-2.2.0.tgz", - "integrity": "sha512-XPCvJRr94SjLrSIm4pbYHKLEaOsDvJCpyFw/6V/KK/IXmyZ6SFBzAUDO9HQf4DB/nTEFcRGH87mNciOP23kFjw==", - "requires": { - "base64url": "^3.0.1", - "buffer": "^6.0.3", - "es6-promise": "^4.2.8", - "lodash": "^4.17.21", - "long": "^5.2.0", - "node-forge": "^1.2.1", - "pako": "^2.0.4", - "process": "^0.11.10", - "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==" - } - } - }, - "node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true - }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "object-inspect": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", - "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - } - }, - "ox": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.0.tgz", - "integrity": "sha512-blUzTLidvUlshv0O02CnLFqBLidNzPoAZdIth894avUAotTuWziznv6IENv5idRuOSSP3dH8WzcYw84zVdu0Aw==", - "requires": { - "@adraffy/ens-normalize": "^1.10.1", - "@noble/curves": "^1.6.0", - "@noble/hashes": "^1.5.0", - "@scure/bip32": "^1.5.0", - "@scure/bip39": "^1.4.0", - "abitype": "^1.0.6", - "eventemitter3": "5.0.1" - }, - "dependencies": { - "eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" - } - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", - "requires": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" - } - }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - } - }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-imports": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.2.1.tgz", - "integrity": "sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==", - "dev": true, - "requires": { - "es-module-lexer": "^1.5.3", - "slashes": "^3.0.12" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "plur": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz", - "integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==", - "dev": true, - "requires": { - "irregular-plurals": "^3.2.0" - } - }, - "portfinder": { - "version": "1.0.32", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", - "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "dev": true, - "requires": { - "async": "^2.6.4", - "debug": "^3.2.7", - "mkdirp": "^0.5.6" - }, - "dependencies": { - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", - "dev": true - }, - "prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "requires": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true - }, - "punycode.js": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", - "dev": true - }, - "pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true - }, - "qs": { - "version": "6.13.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.1.tgz", - "integrity": "sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==", - "dev": true, - "requires": { - "side-channel": "^1.0.6" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true - }, - "react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "requires": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve.exports": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", - "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", - "dev": true - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "secp256k1": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.1.tgz", - "integrity": "sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==", - "requires": { - "elliptic": "^6.5.7", - "node-addon-api": "^5.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "secure-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", - "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", - "dev": true - }, - "semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - } - }, - "side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - } - }, - "side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - } - }, - "side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slashes": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/slashes/-/slashes-3.0.12.tgz", - "integrity": "sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - }, - "dependencies": { - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - } - } - }, - "spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true - }, - "spdx-expression-parse": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", - "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.20", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", - "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "synckit": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz", - "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==", - "dev": true, - "requires": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "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" - } - }, - "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" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true - }, - "ts-api-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", - "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", - "dev": true, - "requires": {} - }, - "ts-jest": { - "version": "29.2.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.5.tgz", - "integrity": "sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==", - "dev": true, - "requires": { - "bs-logger": "^0.2.6", - "ejs": "^3.1.10", - "fast-json-stable-stringify": "^2.1.0", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "^4.1.2", - "make-error": "^1.3.6", - "semver": "^7.6.3", - "yargs-parser": "^21.1.1" - } - }, - "tsd": { - "version": "0.31.2", - "resolved": "https://registry.npmjs.org/tsd/-/tsd-0.31.2.tgz", - "integrity": "sha512-VplBAQwvYrHzVihtzXiUVXu5bGcr7uH1juQZ1lmKgkuGNGT+FechUCqmx9/zk7wibcqR2xaNEwCkDyKh+VVZnQ==", - "dev": true, - "requires": { - "@tsd/typescript": "~5.4.3", - "eslint-formatter-pretty": "^4.1.0", - "globby": "^11.0.1", - "jest-diff": "^29.0.3", - "meow": "^9.0.0", - "path-exists": "^4.0.0", - "read-pkg-up": "^7.0.0" - } - }, - "tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true - }, - "turbo": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/turbo/-/turbo-2.3.3.tgz", - "integrity": "sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==", - "dev": true, - "requires": { - "turbo-darwin-64": "2.3.3", - "turbo-darwin-arm64": "2.3.3", - "turbo-linux-64": "2.3.3", - "turbo-linux-arm64": "2.3.3", - "turbo-windows-64": "2.3.3", - "turbo-windows-arm64": "2.3.3" - } - }, - "turbo-darwin-64": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-2.3.3.tgz", - "integrity": "sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==", - "dev": true, - "optional": true - }, - "turbo-darwin-arm64": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-2.3.3.tgz", - "integrity": "sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==", - "dev": true, - "optional": true - }, - "turbo-linux-64": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-2.3.3.tgz", - "integrity": "sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==", - "dev": true, - "optional": true - }, - "turbo-linux-arm64": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-2.3.3.tgz", - "integrity": "sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==", - "dev": true, - "optional": true - }, - "turbo-windows-64": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-2.3.3.tgz", - "integrity": "sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==", - "dev": true, - "optional": true - }, - "turbo-windows-arm64": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-2.3.3.tgz", - "integrity": "sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==", - "dev": true, - "optional": true - }, - "twitter-api-v2": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/twitter-api-v2/-/twitter-api-v2-1.19.0.tgz", - "integrity": "sha512-jfG4aapNPM9+4VxNxn0TXvD8Qj8NmVx6cY0hp5K626uZ41qXPaJz33Djd3y6gfHF/+W29+iZz0Y5qB869d/akA==" - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "typedoc": { - "version": "0.27.6", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.27.6.tgz", - "integrity": "sha512-oBFRoh2Px6jFx366db0lLlihcalq/JzyCVp7Vaq1yphL/tbgx2e+bkpkCgJPunaPvPwoTOXSwasfklWHm7GfAw==", - "dev": true, - "requires": { - "@gerrit0/mini-shiki": "^1.24.0", - "lunr": "^2.3.9", - "markdown-it": "^14.1.0", - "minimatch": "^9.0.5", - "yaml": "^2.6.1" - } - }, - "typeforce": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.18.0.tgz", - "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==" - }, - "typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", - "devOptional": true - }, - "uc.micro": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", - "dev": true - }, - "undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" - }, - "union": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", - "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", - "dev": true, - "requires": { - "qs": "^6.4.0" - } - }, - "update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", - "dev": true, - "requires": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "url-join": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", - "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", - "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==" - }, - "v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - } - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - }, - "dependencies": { - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - } - } - }, - "viem": { - "version": "2.22.8", - "resolved": "https://registry.npmjs.org/viem/-/viem-2.22.8.tgz", - "integrity": "sha512-iB3PW/a/qzpYbpjo3R662u6a/zo6piZHez/N/bOC25C79FYXBCs8mQDqwiHk3FYErUhS4KVZLabKV9zGMd+EgQ==", - "requires": { - "@noble/curves": "1.7.0", - "@noble/hashes": "1.6.1", - "@scure/bip32": "1.6.0", - "@scure/bip39": "1.5.0", - "abitype": "1.0.7", - "isows": "1.0.6", - "ox": "0.6.0", - "webauthn-p256": "0.0.10", - "ws": "8.18.0" - }, - "dependencies": { - "@noble/curves": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz", - "integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==", - "requires": { - "@noble/hashes": "1.6.0" - }, - "dependencies": { - "@noble/hashes": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz", - "integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==" - } - } - }, - "@noble/hashes": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", - "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==" - }, - "@scure/bip32": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.0.tgz", - "integrity": "sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==", - "requires": { - "@noble/curves": "~1.7.0", - "@noble/hashes": "~1.6.0", - "@scure/base": "~1.2.1" - } - }, - "abitype": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.7.tgz", - "integrity": "sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==", - "requires": {} - }, - "ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "requires": {} - } - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "webauthn-p256": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/webauthn-p256/-/webauthn-p256-0.0.10.tgz", - "integrity": "sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA==", - "requires": { - "@noble/curves": "^1.4.0", - "@noble/hashes": "^1.4.0" - } - }, - "whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "requires": { - "iconv-lite": "0.6.3" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wif": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz", - "integrity": "sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ==", - "requires": { - "bs58check": "<3.0.0" - } - }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "requires": {} - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "dev": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - }, - "zod": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", - "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==" - }, - "zod-to-json-schema": { - "version": "3.24.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.1.tgz", - "integrity": "sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==", - "requires": {} - } } } diff --git a/package.json b/package.json index 5d9757022..358fc4b4d 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,8 @@ "workspaces": [ "cdp-agentkit-core/typescript", "cdp-langchain/typescript", - "twitter-langchain/typescript" + "twitter-langchain/typescript", + "farcaster-langchain/typescript" ], "packageManager": "npm@8.9.0", "scripts": { From f7283c67dee10348c2fa6cf0548514bec36380e2 Mon Sep 17 00:00:00 2001 From: Derek Brown Date: Fri, 17 Jan 2025 13:28:23 -0600 Subject: [PATCH 2/3] Post Lint --- .../typescript/docs/assets/hierarchy.js | 2 +- .../typescript/docs/assets/main.js | 8 +- .../typescript/docs/assets/navigation.js | 2 +- .../typescript/docs/assets/search.js | 2 +- .../typescript/docs/assets/style.css | 12 +- ...w_actions_buy_token.WowBuyTokenAction.html | 14 +- ...ons_create_token.WowCreateTokenAction.html | 14 +- ...actions_sell_token.WowSellTokenAction.html | 14 +- ...ctions_cdp_deploy_nft.DeployNftAction.html | 14 +- ...ns_cdp_deploy_token.DeployTokenAction.html | 14 +- ...ions_cdp_get_balance.GetBalanceAction.html | 14 +- ...wallet_details.GetWalletDetailsAction.html | 14 +- .../actions_cdp_mint_nft.MintNftAction.html | 14 +- ...ister_basename.RegisterBasenameAction.html | 14 +- ...faucet_funds.RequestFaucetFundsAction.html | 14 +- .../actions_cdp_trade.TradeAction.html | 14 +- .../actions_cdp_transfer.TransferAction.html | 14 +- .../classes/cdp_agentkit.CdpAgentkit.html | 10 +- .../actions_cdp.getAllCdpActions.html | 2 +- ...actions_cdp_defi_wow.getAllWowActions.html | 2 +- ...efi_wow_actions_buy_token.wowBuyToken.html | 2 +- ...w_actions_create_token.wowCreateToken.html | 2 +- ...i_wow_actions_sell_token.wowSellToken.html | 2 +- ..._defi_wow_constants.getFactoryAddress.html | 2 +- ...efi_wow_uniswap_utils.createPriceInfo.html | 2 +- ...fi_wow_uniswap_utils.exactInputSingle.html | 2 +- ...efi_wow_uniswap_utils.getHasGraduated.html | 2 +- ...defi_wow_uniswap_utils.getPoolAddress.html | 2 +- ...dp_defi_wow_uniswap_utils.getPoolInfo.html | 2 +- ...efi_wow_uniswap_utils.getUniswapQuote.html | 2 +- ...ctions_cdp_defi_wow_utils.getBuyQuote.html | 2 +- ...s_cdp_defi_wow_utils.getCurrentSupply.html | 2 +- ...tions_cdp_defi_wow_utils.getSellQuote.html | 2 +- .../actions_cdp_deploy_nft.deployNft.html | 2 +- .../actions_cdp_deploy_token.deployToken.html | 2 +- .../actions_cdp_get_balance.getBalance.html | 2 +- ...p_get_wallet_details.getWalletDetails.html | 2 +- .../actions_cdp_mint_nft.mintNft.html | 2 +- ...dp_register_basename.registerBasename.html | 2 +- ...quest_faucet_funds.requestFaucetFunds.html | 2 +- .../functions/actions_cdp_trade.trade.html | 2 +- .../actions_cdp_transfer.transfer.html | 2 +- .../typescript/docs/hierarchy.html | 2 +- cdp-agentkit-core/typescript/docs/index.html | 6 +- .../actions_cdp_cdp_action.CdpAction.html | 10 +- ...ns_cdp_defi_wow_uniswap_utils.Balance.html | 4 +- ...s_cdp_defi_wow_uniswap_utils.PoolInfo.html | 4 +- ...ions_cdp_defi_wow_uniswap_utils.Price.html | 4 +- ..._cdp_defi_wow_uniswap_utils.PriceInfo.html | 4 +- ...ions_cdp_defi_wow_uniswap_utils.Quote.html | 4 +- .../typescript/docs/media/CONTRIBUTING.md | 208 +- .../typescript/docs/modules.html | 2 +- .../typescript/docs/modules/actions_cdp.html | 2 +- .../typescript/docs/modules/index.html | 2 +- ...ons_cdp_cdp_action.CdpActionSchemaAny.html | 2 +- .../variables/actions_cdp.CDP_ACTIONS.html | 2 +- .../actions_cdp_defi_wow.WOW_ACTIONS.html | 2 +- ...ow_actions_buy_token.WowBuyTokenInput.html | 4 +- ...ions_create_token.WowCreateTokenInput.html | 4 +- ..._actions_sell_token.WowSellTokenInput.html | 4 +- ...ions_cdp_defi_wow_constants.ADDRESSES.html | 2 +- ..._constants.GENERIC_TOKEN_METADATA_URI.html | 2 +- ...ctions_cdp_defi_wow_constants.WOW_ABI.html | 2 +- ...dp_defi_wow_constants.WOW_FACTORY_ABI.html | 2 +- ...stants.WOW_FACTORY_CONTRACT_ADDRESSES.html | 2 +- ..._uniswap_constants.UNISWAP_QUOTER_ABI.html | 2 +- ..._wow_uniswap_constants.UNISWAP_V3_ABI.html | 2 +- ...actions_cdp_deploy_nft.DeployNftInput.html | 4 +- ...ons_cdp_deploy_token.DeployTokenInput.html | 4 +- ...tions_cdp_get_balance.GetBalanceInput.html | 4 +- ..._wallet_details.GetWalletDetailsInput.html | 4 +- .../actions_cdp_mint_nft.MintNftInput.html | 4 +- ..._REGISTRAR_CONTROLLER_ADDRESS_MAINNET.html | 2 +- ..._REGISTRAR_CONTROLLER_ADDRESS_TESTNET.html | 2 +- ...cdp_register_basename.L2_RESOLVER_ABI.html | 2 +- ..._basename.L2_RESOLVER_ADDRESS_MAINNET.html | 2 +- ..._basename.L2_RESOLVER_ADDRESS_TESTNET.html | 2 +- ...s_cdp_register_basename.REGISTRAR_ABI.html | 2 +- ...gister_basename.REGISTRATION_DURATION.html | 2 +- ...gister_basename.RegisterBasenameInput.html | 4 +- ..._faucet_funds.RequestFaucetFundsInput.html | 4 +- .../actions_cdp_trade.TradeInput.html | 4 +- .../actions_cdp_transfer.TransferInput.html | 4 +- .../social_farcaster_publish_cast_test.ts | 1 - .../typescript/docs/assets/hierarchy.js | 3 +- .../typescript/docs/assets/highlight.css | 23 +- cdp-langchain/typescript/docs/assets/icons.js | 37 +- cdp-langchain/typescript/docs/assets/main.js | 2346 +---------------- .../typescript/docs/assets/navigation.js | 3 +- .../typescript/docs/assets/search.js | 3 +- .../typescript/docs/assets/style.css | 12 +- .../typescript/docs/classes/index.Tool.html | 114 +- .../toolkits_cdp_toolkit.CdpToolkit.html | 6 +- .../docs/classes/tools_cdp_tool.CdpTool.html | 122 +- cdp-langchain/typescript/docs/index.html | 103 +- .../typescript/docs/media/CONTRIBUTING.md | 225 -- cdp-langchain/typescript/docs/media/README.md | 45 - 97 files changed, 594 insertions(+), 3035 deletions(-) delete mode 100644 cdp-langchain/typescript/docs/media/CONTRIBUTING.md delete mode 100644 cdp-langchain/typescript/docs/media/README.md diff --git a/cdp-agentkit-core/typescript/docs/assets/hierarchy.js b/cdp-agentkit-core/typescript/docs/assets/hierarchy.js index ccbae51a4..af0f18b30 100644 --- a/cdp-agentkit-core/typescript/docs/assets/hierarchy.js +++ b/cdp-agentkit-core/typescript/docs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "data:application/octet-stream;base64,H4sIAAAAAAAAE62VQU+DMBTHv0vPtcIAYbs5jZ70oEs8mIV08FBiV2ZbsizLvruP4jZgGobxMJa95v97P16bbktUURhNJq/enBIFmYDE5IXEypZ41UPyJZAJuUlX13aFUPKRy5RMRsEVJaUSuJhLAyrjCehLXsfjJF3ZT/2bHeLs3SwFMhLBNTYhRqcXFe/iwKgW33ORKpCoNQpc6jkO9Xz8Dh3qOyH1I4cGbkiDIKJXLtZ9Go6pO/LnO0o8v2H9Uqyn5WZWfIDs2LujaG9vVTrqKWR5vC7W8b64KDexqTjshPnrK9UFdArHbacbBdzAf2gllnQ0OyH3y+Hc2nbPIMR/uGnkHM061H4v3PmG1y2sRLF5zMxQqSoWy8ywDqFfAI/dicCf5mIV6kGcUM7Q8JtzuAcz5YLLBIZZvIGJF3WQdRlnOIRO2+GFCwHmFgzPhR5usrZxHI3Ns5+B/Vp4GTS0HvAKGXxAlhiyx6OVPqN11JzIE7zlGu+vKddQlYY5qO80blAdZz/z+q3wVmxZfZagzR0vEzB3pUwH7pSq83FmAXFWEdhv0DPkgqghN1M8HTgnU0VYI9jfE/8e2j2lzkANbmtTrB3va77bfQG/8x2uXQcAAA==" \ No newline at end of file +window.hierarchyData = "eJytlktvozAQgP8LZ9cbwiPQWx/bPXVVdSP1sKqQC0OD6kAWG6Go6n/fwSSteVTgKIeEAJlvPo+f71ZZFFJYl38d4q1CsvLtZ2KVkHKIZVbk+ObdcpqvnG3BurRukt2VemMR6y3LE+ty6fnEqkqOL7NcQpmyGMQP1oZHcbJTn/aefobTjdxyZMScCUxiSZFcNLyLT0bzcpPxpIQc9ZaeTZzFgjguXlcBcW2buG5AvKVNPC8gq9AngRuScOHjf/CW2EuXhL77/EEsx9Va8FTU19V+XbxB3muJvQyOLVFavWYkkGZRXdTR8eFLtY9kw6ED5rfNax+g0yrsOt2UwCScQytWpC+zAXlaDmvXtfsDnJ/DTSDny6xHnfbCUaB53cKOF/vfqTSVasKiPJW0R5gWwCE4EDipLkqhLcSAMkPD1evwC+Q14yyPwcziFWT00gbSPmOGwyoYdTDuD01DdcoIatoG14OuzRPjHOQtSJZxYS5Uq3DsKBVPx4EztFy9SPe4uBmXZ4tBqi6d6OnUuDJqqR/hNRO4sl4zAc0jM4fyEI391IbTcd4MKy/oWP2rQMg7VsUg76o8Meypso2PUgWI0oZAv4POkOssynesjFnTRuMNTxRxxjhaHQDar8M+2GOb7ob+wmv2Nbxovg/VC8/E5ga5ZlUc6O5aUtTc0gF2uo6+ox8ZruK4qPLTpuJBTdaZbKunUJ/Tcgw9Q89fDvXuIVdpz+K3PcDoKHyGYagPxIdCyHUNcFq3Ht12SMEbxNAecMZhxfHHfB5x59qfSQrnMsLoGHuGn6+vdesWfuq0Pbp9daqS6FCNJ6zjEBx2BDuWYDGf1QFQr+m6ZInhoiybEKoFTtcJT8jdnLlIB4WaTquiaDd8OjkezUeSG++Hx/xqTxxQZmj4nbNtyXY/5cZMocagCOSGdqKnUn98/AdYFKiO" \ No newline at end of file diff --git a/cdp-agentkit-core/typescript/docs/assets/main.js b/cdp-agentkit-core/typescript/docs/assets/main.js index e0af26599..4f59cd955 100644 --- a/cdp-agentkit-core/typescript/docs/assets/main.js +++ b/cdp-agentkit-core/typescript/docs/assets/main.js @@ -1,9 +1,9 @@ "use strict"; window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings.","hierarchy_expand":"Expand","hierarchy_collapse":"Collapse"}; -"use strict";(()=>{var De=Object.create;var ae=Object.defineProperty;var Ae=Object.getOwnPropertyDescriptor;var Fe=Object.getOwnPropertyNames;var Ne=Object.getPrototypeOf,Be=Object.prototype.hasOwnProperty;var Ve=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var je=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Fe(e))!Be.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Ae(e,i))||r.enumerable});return t};var qe=(t,e,n)=>(n=t!=null?De(Ne(t)):{},je(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var he=Ve((ue,de)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,c],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[c+1]*i[d+1],c+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),f;m in s.node.edges?f=s.node.edges[m]:(f=new t.TokenSet,s.node.edges[m]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ue=="object"?de.exports=n():e.lunr=n()}(this,function(){return t})})()});window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse"};var le=[];function J(t,e){le.push({selector:e,constructor:t})}var U=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){le.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!$e(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function $e(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var ce=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var ye=qe(he(),1);async function fe(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=ye.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function ge(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:document.documentElement.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{fe(e,t)}),fe(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{ne(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),ze(t,i,r,e)}function ze(t,e,n,r){n.addEventListener("input",ce(()=>{We(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Ue(e,t):i.key=="ArrowUp"?(pe(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(pe(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),ne(t))})}function ne(t){t.classList.remove("has-focus")}function We(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=me(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` - ${me(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=c+d,m.append(f),f.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function pe(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Ue(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),ne(e)}}function me(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(te(t.substring(s,o)),`${te(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(te(t.substring(s))),i.join("")}var Je={"&":"&","<":"<",">":">","'":"'",'"':"""};function te(t){return t.replace(/[&<>"'"]/g,e=>Je[e])}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var H="mousedown",xe="mousemove",B="mouseup",G={x:0,y:0},ve=!1,re=!1,Ge=!1,D=!1,Ee=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Ee?"is-mobile":"not-mobile");Ee&&"ontouchstart"in document.documentElement&&(Ge=!0,H="touchstart",xe="touchmove",B="touchend");document.addEventListener(H,t=>{re=!0,D=!1;let e=H=="touchstart"?t.targetTouches[0]:t;G.y=e.pageY||0,G.x=e.pageX||0});document.addEventListener(xe,t=>{if(re&&!D){let e=H=="touchstart"?t.targetTouches[0]:t,n=G.x-(e.pageX||0),r=G.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{re=!1});document.addEventListener("click",t=>{ve&&(t.preventDefault(),t.stopImmediatePropagation(),ve=!1)});var X=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(H,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var ie;try{ie=localStorage}catch{ie={getItem(){return null},setItem(){}}}var C=ie;var we=document.head.appendChild(document.createElement("style"));we.dataset.for="filters";var Y=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),we.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=C.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){C.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var se=new Map,oe=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;C.setItem(this.key,e.toString())}},Z=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(se.has(i))s=se.get(i);else{let o=C.getItem(i),a=o?o==="true":this.el.open;s=new oe(i,a),se.set(i,s)}s.add(this.el)}};function be(t){let e=C.getItem("tsd-theme")||"os";t.value=e,Le(e),t.addEventListener("change",()=>{C.setItem("tsd-theme",t.value),Le(t.value)})}function Le(t){document.documentElement.dataset.theme=t}var K;function ke(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Se),Se())}async function Se(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=document.documentElement.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Ce(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Ce(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',Te(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let c of t.children)Ce(c,l,i)}else Te(t,r,t.class)}function Te(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span"));r.innerHTML='',r.appendChild(document.createElement("span")).textContent=t.text}}var ee=document.documentElement.dataset.base;ee.endsWith("/")||(ee+="/");function Qe(){document.querySelector(".tsd-full-hierarchy")?Xe():document.querySelector(".tsd-hierarchy")&&Ye()}function Xe(){document.addEventListener("click",r=>{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=et(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function Ye(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Ie),Ie())}async function Ie(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let n=await(await fetch(window.hierarchyData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=+t.dataset.refl,s=await new Response(r).json(),o=t.querySelector("ul"),a=document.createElement("ul");if(a.classList.add("tsd-hierarchy"),Ze(a,s,i),o.querySelectorAll("li").length==a.querySelectorAll("li").length)return;let l=document.createElement("span");l.classList.add("tsd-hierarchy-toggle"),l.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",l),l.insertAdjacentText("beforebegin",", "),l.addEventListener("click",()=>{l.textContent===window.translations.hierarchy_expand?(o.insertAdjacentElement("afterend",a),o.remove(),l.textContent=window.translations.hierarchy_collapse):(a.insertAdjacentElement("afterend",o),a.remove(),l.textContent=window.translations.hierarchy_expand)})}function Ze(t,e,n){let r=e.roots.filter(i=>Ke(e,i,n));for(let i of r)t.appendChild(Pe(e,i,n))}function Pe(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let l=t.reflections[a],c=s.appendChild(document.createElement("a"));c.textContent=l.name,c.href=ee+l.url,c.className=l.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=ee+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let l=Pe(t,a,n,r);l&&o.appendChild(l)}}return r.delete(e),s}function Ke(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function et(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.innerHTML='',t}J(X,"a[data-toggle]");J(Z,".tsd-accordion");J(Y,".tsd-filter-item input[type=checkbox]");var Oe=document.getElementById("tsd-theme");Oe&&be(Oe);var tt=new U;Object.defineProperty(window,"app",{value:tt});ge();ke();Qe();})(); +"use strict";(()=>{var De=Object.create;var le=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,Be=Object.prototype.hasOwnProperty;var qe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var je=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ne(e))!Be.call(t,i)&&i!==n&&le(t,i,{get:()=>e[i],enumerable:!(r=Fe(e,i))||r.enumerable});return t};var $e=(t,e,n)=>(n=t!=null?De(Ve(t)):{},je(e||!t||!t.__esModule?le(n,"default",{value:t,enumerable:!0}):n,t));var pe=qe((de,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,c],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[c+1]*i[d+1],c+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof de=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse"};var ce=[];function G(t,e){ce.push({selector:e,constructor:t})}var J=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){ce.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!ze(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function ze(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var ge=$e(pe(),1);async function H(t){let e=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate")),i=await new Response(r).text();return JSON.parse(i)}async function fe(t,e){if(!window.searchData)return;let n=await H(window.searchData);t.data=n,t.index=ge.Index.load(n.index),e.classList.remove("loading"),e.classList.add("ready")}function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:document.documentElement.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{fe(e,t)}),fe(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{re(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),We(t,i,r,e)}function We(t,e,n,r){n.addEventListener("input",ue(()=>{Ue(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Je(e,t):i.key=="ArrowUp"?(me(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(me(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),re(t))})}function re(t){t.classList.remove("has-focus")}function Ue(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ye(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ye(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=c+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function me(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Je(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),re(e)}}function ye(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ne(t.substring(s,o)),`${ne(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ne(t.substring(s))),i.join("")}var Ge={"&":"&","<":"<",">":">","'":"'",'"':"""};function ne(t){return t.replace(/[&<>"'"]/g,e=>Ge[e])}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var A="mousedown",Ee="mousemove",B="mouseup",X={x:0,y:0},xe=!1,ie=!1,Xe=!1,D=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Xe=!0,A="touchstart",Ee="touchmove",B="touchend");document.addEventListener(A,t=>{ie=!0,D=!1;let e=A=="touchstart"?t.targetTouches[0]:t;X.y=e.pageY||0,X.x=e.pageX||0});document.addEventListener(Ee,t=>{if(ie&&!D){let e=A=="touchstart"?t.targetTouches[0]:t,n=X.x-(e.pageX||0),r=X.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var Y=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(A,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var se;try{se=localStorage}catch{se={getItem(){return null},setItem(){}}}var C=se;var be=document.head.appendChild(document.createElement("style"));be.dataset.for="filters";var Z=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),be.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=C.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){C.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var oe=new Map,ae=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;C.setItem(this.key,e.toString())}},K=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(oe.has(i))s=oe.get(i);else{let o=C.getItem(i),a=o?o==="true":this.el.open;s=new ae(i,a),oe.set(i,s)}s.add(this.el)}};function Se(t){let e=C.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{C.setItem("tsd-theme",t.value),we(t.value)})}function we(t){document.documentElement.dataset.theme=t}var ee;function Ce(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Te),Te())}async function Te(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let e=await H(window.navigationData);ee=document.documentElement.dataset.base,ee.endsWith("/")||(ee+="/"),t.innerHTML="";for(let n of e)Ie(n,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Ie(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',ke(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let c of t.children)Ie(c,l,i)}else ke(t,r,t.class)}function ke(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=ee+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span"));r.innerHTML='',r.appendChild(document.createElement("span")).textContent=t.text}}var te=document.documentElement.dataset.base;te.endsWith("/")||(te+="/");function Pe(){document.querySelector(".tsd-full-hierarchy")?Ye():document.querySelector(".tsd-hierarchy")&&Ze()}function Ye(){document.addEventListener("click",r=>{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=tt(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function Ze(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Qe),Qe())}async function Qe(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let e=+t.dataset.refl,n=await H(window.hierarchyData),r=t.querySelector("ul"),i=document.createElement("ul");if(i.classList.add("tsd-hierarchy"),Ke(i,n,e),r.querySelectorAll("li").length==i.querySelectorAll("li").length)return;let s=document.createElement("span");s.classList.add("tsd-hierarchy-toggle"),s.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",s),s.insertAdjacentText("beforebegin",", "),s.addEventListener("click",()=>{s.textContent===window.translations.hierarchy_expand?(r.insertAdjacentElement("afterend",i),r.remove(),s.textContent=window.translations.hierarchy_collapse):(i.insertAdjacentElement("afterend",r),i.remove(),s.textContent=window.translations.hierarchy_expand)})}function Ke(t,e,n){let r=e.roots.filter(i=>et(e,i,n));for(let i of r)t.appendChild(Oe(e,i,n))}function Oe(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let l=t.reflections[a],c=s.appendChild(document.createElement("a"));c.textContent=l.name,c.href=te+l.url,c.className=l.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=te+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let l=Oe(t,a,n,r);l&&o.appendChild(l)}}return r.delete(e),s}function et(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function tt(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.innerHTML='',t}G(Y,"a[data-toggle]");G(K,".tsd-accordion");G(Z,".tsd-filter-item input[type=checkbox]");var _e=document.getElementById("tsd-theme");_e&&Se(_e);var nt=new J;Object.defineProperty(window,"app",{value:nt});ve();Ce();Pe();})(); /*! Bundled license information: lunr/lunr.js: diff --git a/cdp-agentkit-core/typescript/docs/assets/navigation.js b/cdp-agentkit-core/typescript/docs/assets/navigation.js index 4dad39ce0..33112b0a7 100644 --- a/cdp-agentkit-core/typescript/docs/assets/navigation.js +++ b/cdp-agentkit-core/typescript/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file +window.navigationData = "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" \ No newline at end of file diff --git a/cdp-agentkit-core/typescript/docs/assets/search.js b/cdp-agentkit-core/typescript/docs/assets/search.js index ab6117e16..ba9fbcc3d 100644 --- a/cdp-agentkit-core/typescript/docs/assets/search.js +++ b/cdp-agentkit-core/typescript/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "eJzFfdGS27ay7b/Yry5baJCUmDfHcfZx3Z04x3a2761USqXMaGzVHs9MNFImPqn8+xEBggIaC2SD5Oz7kIrGEhoL4EJ3oxdI/vVkf/tw/+SbX/568u/dzeWTb+jZk5vNl+2Tb55sLg6725v7FxeXd81/a/v3k2dPjvvr09dfbi+P19v7F+3P1s1Pzj97/vnw5fr024vrzf399tTBkyd/P+v6WNRLVZ57enV599K0en/xeftl8/Lma9fL4etduo+4Hej22ZO7zX57c0iPyANWVjGoDsvu5rDdX20uBIAm4lALKjog5n9jMTxtW+cAOZtIQbrc3l/sd3eTZudpaGRegJv9p3tLivH4Ghv3zsa88K6ONxfjgbWtJ0PCS/1ye7V78XD74MC8+O34dX24/fe2f+k3zdanZmv3j12zXldQnSfl1Pjb49cPQU/NUC0KYV+eEfka7BnyGak+T9fHcydvbu6Ohw7uH5v9bvNbxtRwSzNjVrRCoJlfazsbgTnX2YlAl+o80xenHx32x4vD7X5euE9Dy1Ogxz2IPPk8wxC79znwI7c/zzByY8EcowExYp7BZAaOOcYSBJR5RiGOMiPxC6PPxX67OWzHBCC/ZUYMemWajQpDQY+hqQk+MpiBVDzyuhoVkgLowN78+Fls8jocE5568E8OUokBzBKnZLinR6vBfuaLWcIhjY9co8cyOn4JhzQ5io0e2dhYJhzY1Ig2elz5cU04ovHRLWcswhh3v72+HhPhzu0y4tv7U6NR0c3rzTczwbF6407Fta6bUVHNgxzZmhs3i2ddZ2OiWQL35EgGgc8Sx4YRT49hvX3MF78EQxkfu0aNYXTcEgxlcswaNaKx8UowoKmxatR48uOUYCTjY5R0DAPxyazYzc3hXhaWup9Lo9Gn7eH7TeMPvr68vNxv7++lIencU2RihHc8DxNHobcf19+/fPXh7bv/t3757RtpDDpjZAYeB+FoZI+GyA351dsfP7w7fV6//O67d6/fv3/9ftoUxvbmxz8B6iOi+sfrH1+/e/Nq/eHt/3n94/qH1x9efvfyw8v1z+9GXPq0rZlw9/sWkUfJ8CMvr69Pns46OKkbec7b5Y+8Zz2++vDm7Y9S/jz3mkxCMeDRjze7+4fNXa5nb5sJPbw3Ez//+Ob9x5c/rf/757cfXr/LcVJxl7GtEUyNJ6AX97/0PJitnZnxCq/18bC7zrzOpol09dkN8U/73cX2zc3VrTSGh30xIxNmyg435Sd+ur29Ho/SM/A4CLd/nlqa7en73c2n6+04mNzKo83mz/ZX/328PYyEyow8GtL/2tz/Y7+5PJ5IdjkaqW/kURmamQ5Dko7Ph1M4/dMx8XJPHGNIgHyMlR7syLaHz7NAe2oNjYV3tpYCery/nAeoNTQrUP+Kf7u53txcDJ5ESmBtWz/a1d5f0OJ/ZsD2tLM0eiLdRCWgPoxnZgD0YSIxY5jR+p7Cy8e60nfbfVi9Hovt6cmSq7lPWzQpqIfbw+Z6Ok5nZjaQ/nUOQ3cexrkjdlgh/HJ7vDklMZOxPbWWdpOus52mXqhvPXliItZbY+pxwP42yY17UM+GHgfo1XYGkNbI4wDc7veeSjIaojMzG8jAjfPtTqYXmn+zwzzkyf8u5gD3tDM13k26uepfOfPA9Yw9GmAzJWq+2VX/gdmdB65n7NEAj/dPIdaJLmoI5vXu9+Pucnf4OgtY39qjQb7/fX8wOcv/ratZUDcG7xqDfxqDcwIfqsFl1N5yam6nPf6r475B/v54d3d9vrhDlQJXIQhaj3HvvTWMb49f82pCDpZrODuiRgMdB6lrOQOmFFvurm+/rm+uDgNMcT+TssS2+NGzmxp0Z7lrkjPaDj6spX/nTMqO8HRQwnYT8finczrDoqM5MZ78YzgA0LhTN71gRpywSdmbcJqmH2LGyZlcbPJTMv0Q80/E5CIVn37pB5p90iUXp+BUSz/CjBMsAmy93lNyfPL8wzwPKjsu6Vn3mmW7iZ7zkN+dzWb4UguJt52MK/ao8uOOGNdIvzrPecZBSGO9a8LmVA/bCzXXy2ZizPS0vVBHettMxHketxfwOK+biVfqeXuR5nrfYYzYA5+S5DUvKyIH7P0uY5/DdSfsfn3b50ZyX+KPAZ+96oxKXK8Ph7Wcisn3u2fTAreLMeU6XQxqjM8dxJPtcfssjva3wzDF3nYMPqmvHYaZ62nHoBX62WGwmV52DNZBHzuMUuxhhfgG/etgkYD9Nt/PDlcLeBdB21GOJF07+IdvO9PxGnCxgTkQYh8sqyj0IpzgjWeoL0ihTXHMKcNz+Od+0GPcdC7aEd66H/QEp52LPd9390Mf78Jzked48n7MYxy6AG3arz9srq9P/7vcHjZDSkH88wzv/tE0/I51k3bwrCNuIc9DsUGmPH3Qg9TZM6DQzExomdcP+hE6/gG0Y9x/Eu7YCCDHOCoOiMxPigYZA8iKCZOQ50SGjAGMiQ+TxpERJTKGMSJWTBqFKGJk4M+KG7nIYfToCxV59011j4YbiAvP+c/Ffgp7/Fff/SS7S+q598sxfeLo+2V3cxjcTrkfSWe0+f3wDqqz2v5c7vA70HBGf7DmJKGzg+C3mYTDj46tUUFQ5DhyIyAAMibu9cDIDnLY1uiI1gdNHL7yMEljVR+03MCUh1AYhfoAZoacPHyD8aUPmTiYDGLCnm+//bS7P2z3pw3M/TbgH3KB0a+lvtA1/Jb3gp1i3A83IPcK8Qihv/z25fvXP7784fX79bvX/3jz/sO7l+/s3eVv//nP5g5Teyf3+oeXb3788fWHAY8a488z//9rdB9ev//wiKNrzc8+un/Sqd/3b//5rxkuVI+t/wjusZegx9bsuN1FbrKw9Xc/2w/ZiKGVx53jwdu3B+Y157btzLkchy5oPT825nQlySTAiKzMg9XPM3k3goRzGGtuCtoHdkwumoUwOzuVWh+dr+bBF2ewU3FLc9o8+LlZ7tRRCPPevEFkZsJTxzCYG+ehF2fLI3Cn8uffj9v7w/pqc7zYnv53vLnsr9yjBvIs2rT93jT9PugqlUeDzmIrOf4NDDcRO3gvsugBACdMzYY6jCK8L1EcEaHODya9sMfFk1ykI4JKRhcTIkv2QDLCywwjkMeY7IHkB5oZxiOONtnDyQ45M4xGEHeyx5ERfMaNAEeg+9uL3eb6xdVmf7FpAtj5k+QtTbb1+tyGt+6NTfzlTd+7xha75BVOwwBSRuWOdHiK8B3TrOduFIn7D7OH8jgjyH5h1Djccn86CJ7bz/Gp844p17XONjT5S6pGjizTy842MMnrrUYOSexwpwxG5nSzfGyeJMugDaX8UWfYynjXg9P971++e/XyvXkWo+hhlxHMyMAsCIUh8+742/Xu/vO6+TMvXPotpde1bfPK70x2McPuPDsTIkkwdnhtfzr3I9nD9YPmxuZH7m/nvN4E+zgx8snhOwF9zJZuDOjsTV3vAOJORm/rRg1mfCIybhTSrd2owUzOQMaNSbi9GzWkqanHuBENbvFGjWV8ziEeRW/MOjzsDo21zcVF83Qw0WHhdqBt0zVrKo1abTPZseGBLkNb2X40NQkwer0M+soIYCnwwOAjjMCPYmGP8kAmG8HIYDY8hAnRLBv52IiWGAXsaGpUyx9UbmSbYzSZ0S1/UCMj3Bxjy4ty+UMbF+nmGJk02uWPKTfijRxNVtT7cuo92AtnhD3XNjPu/cC7zAp8XafM2mSv281EX+xzvU0Ift0AkMnHGAWIf67P8QEwNYqZQiAYxowxUAB+rijY39XccVAysKmRcNyIJsZCycBmiobjxjctHkqGN09EHDe6sTFRMq6pUVE8IklczAiDebXnD7ZRVuXZdYQsjPWwOLp9+PjmQ3bF2cFjjWdAJspg7m7vDycM262ozuyYeW4lrjGfWnwIuhHlK15HnYXRYdEbK64rux5G5CUe0NDMvGiDWrLrJz//QGgn5hwQ7gzZxgDUqRlG2vxcWcXQAMZmEvnIR2YPQwOYmDHkj2NcljA0jGmZQf4ocrOBIfxjMwAR8sxYst5v/Qc/Z0UU2/Y/Flfa7uaMLu3o+2PMu+Y3kwJNixxYfIwxwMhjupwSfuAYZotE0SBmjUdD2OcLTT09zR+lBoc1PWCNGM/k2DU4rNnC2IjRTY1og4ObK7iNGNv4ODc4qukhTzYeUfQ779oDkgpiX9gy64BrsJ3NON6a6BqbG+2J2ZTgQ61Bnx3y/pN5Evjzox57kFWMdrRr7bM83+FV+Tgm+tIxw8k+sCofzTTnOWYwGYdU5cMY6y2FA8BO8rDfXPY/w8H8Qpruh+Zwqm8NpswmxmwN47Je85UkU7ddnn8+vnc/2Tb2BDm213uuA+Tdj0mTcffZOXBkZnSCmwAkdrFiJNLUNAEo11eKcQmTygSsTKcnRjWYDibwiL1XH5Kkj7q5vxqQLdyPMjxVaDTprKzZHvvpgdoeUl7LfCt0XLbvoNEkJMyDma9lTixEMsKVcSgjvVkSxxifhoxN8WxpcDn+LQdVhpdLgxvh63Iwyj1eGmK+38tBKPF+aWw5PnAAVb8nHHz2oP/DXI84/AzCwLrXLN8NpJ9H+OFsNsdFGki87WRcyFvKnlGYwjXWb87wvEIBpNEuFNuc7En7oGY71DyMuX61D+pY95qHONPL9gEe6Wzz8Ip9bh/SbNc7iBF74If95m69PXzu9b7uR1LP2/z+tWcTe93OavtzufPoQENP+/H1h/9yj4Ab8LIdBL/NvDgGH2rGMOQ8xmygfzutkmhzxuC1mYTDjzCtUUF04ThyowoAMiai9MDIjiTY1ugI0gdNHDnyMEkjRh+03EiRh1AYIfoAZkaGPHyDEaEPmTgSDGLyFsKpz82nk4l/7+K82/+y1+P7a7x5Ejo36EYaGPR+2L+uA4y+IlWs/AV9tft03G8/7g6f7YPj83p/2ll4OFl4cBaGEfmWRnibQVCDPkYAJpiq/TFevf0obIt5et/+eXe7P4y6Qrbp9EtzvjDe0y9SayD+Se9K8B8E0T1oom341ni98+HhcwQGnaRa9y8VMCC8SiPz0bWQYJoARro+xDBEa0ViLcXcPzbXu8vNYcsvYz5SZ+m2szQ/WrTK5Qj7Vnwuqg7S6c/tn9ECM//af/TgXMhxgmBqtfIfSNeqkxYHV2rUAW7ZvzCiYSTqMaHp6HIOYRkNQro2RQBE63LI0tg1KUMoXY9jUaK1KEPWtw4z0BSqLvTinIZ+vH349gjfTI5fEX+1Wz/cPlhIpw+/Hb+atyJ3B46GU9LGxotT035Q77fX16NR3Z8aPw6sV/vtiR2jgV2Y5o8ArXvpUB+edhFe3sn7lnQZH/ka7ttuqzamzRQQA6+ZSwL5tG2zx/ZO7FlmxL4ZPK6ZJ1HY94rfXB1m7F7ITR9AJh/7Lwd+33bfhWhfEzkzgIzLcMYw16XA73dKAmjeUzNX1wOP/E9icE//dg//ngnMwJOje+CYlvZxsOZpsLMAQgeZkhjMKY65ukWnD/p6Nr+ftfMMQrr+5yIlrvYmu2+qVtvD51m6Tj2vVvxQyqfdnxkhu+fxiwMARdFUhjQryOZATj9BUI61ffRX80+PM6/4TLfwbvCn7R/50OJ7oHuBZV3uNMJRl3oYau9DtqRA29v7szOtbJiJZ6Fk4nRPIXgMoKnbpaUQm5tGzD0jjwoO3VGXjdDc1PIYMNNbnXP9SLDJsSWo/m5StSXW0fln47pKV2BBh2cfP7XbVFEJdOp8zdQuky/UBX2efnvaoZ13jOOvJHiPLr6S68ldDe+JEUmHvfdQx8J9cDi9OTvgIQBDe1+vZ+muV9Zl33436lSy0xVMdf8eN5xk2e5W3qloinN2tENd9+9lvU5lu9ih7oT7V6/fzJ3rMADhnjWAkLlbHfTNPftU3y8LdqiCrvr2pmFvkl2ptEMRqeQ70aFu+/egXpey3acs1H28fRCHuofbh6nx5+Pbj5JQd+ppcqgbFg7CDoVKgaDbIWkg7FeqBQg6Hi7+h13Lq/0yMiXfepGkFC8IjE9Rk6+y6EtRJ5NsqHgD8+JpUy0ux6T7np7ODRdYvN7llRQZzRIPuEuSLCxEjA8LiSfXpbcjk+nVXyIC+5+JgU9W+En1O51WonKO131W5UbY+UCRJu5dWI8ZXFIDpRd/QQmrLOIu+woqqF9J7aTt/Ndn7adv/nryx3Z/3zT55gk918/r06+vdtvry1PLX9wh4ovbL818nj5d3l4czcdf25/9a9ucy2h+bH/9YvHk2S+LZ2XxvKirX3999otrbL4w/+BsnP/FNFSnv9Szonq+IB00VFFDFTSk01+EGlLUkIKG+vSXfkbV83qlgoY6aqiDhsXprwI1LKKGRdCwPP1VooZl1LAMGlanvyrUsIoaVkHD5emvJbocy6jhMmi4Ov21Qg1XUcNV0PDEoF9q1LCOGtYhARo+qAWkQEwexdhj6KPQFClAoJBBilJMUDGHVEgipVNkUDGNVMgjVaT4oGImqZBKqkxRQsVkUiGbVMMRRegiqZhQKmSUaniiNGwck0qFrFINV1QBG8fEUiGzVMMXVUKCxORSIbtokSQIxeyikF2kUgShmFzE3BOlCELAQYXkIp0iCMXkopBcVKQIQjG5KCQXNXxRFbpMFLOLQnaRYRd0OhSzi0J2kWEXdDwUs4tCdpFhVw1jQcwuCtlFdZogMbsoZJdeJGNJTC4dkkurFEF0TC4dkktTiiA6Jpdm4U+nCKJBAAzJpRu+EIzzOmaXDtmlG76Qgo1jdumQXbrhC0HfpWN26ZBduuELQd+lY3bpkF264QtB36VjdumQXbrhC5WwccwuHbKraAhDcDkWMb2KkF5FwxiCy7GI+VWE/CpMcrV6VtTP9WoVNo4JVoQEKxrOUA0bxwwrWI7VcEZDhhUgzQoZVjSc0ZBhRcywImRY0XBGQ4YVMcOKkGFFwxkNGVbEDCtChhUNZzRkWBEzrAgZVjSc0ZBhRcywImRYafwXZFgZM6wMGVaa6AgZVsYMK0OGlSb3gg6/jBlWhgwrTQoPs80yZlgZMqw0aTxkWBkzrGSZfMOZAjKsBMl8yLCy4UwBGVbGDCtDhpUNZwqNVlUZM6wMGVY2nCkgw8qYYWXIsLLhTAEZVsYMK0OGVQ1nCsiwKmZYFTKsMiESMqyKGVaFDKtMAgYZVsUMq0KGVSa9hwyrYoZVIcMqk99DhlUxw6qQYZXZLEKGVTHDKrZfrJIkqcCWMWRY1XCmJNg4ZlgVMqxqOFNCB1jFDKtChlUNZ0pIzypmWBUybNlwpoT0XMYMW4YMWzacKSE9lzHDliHDliYLw9vsmGHLkGFLk+NDei5jhi1Dhi2L5KVaxgxbhgxbGoZBbi9jhi1Dhi1NSQJyexkzbMmqEg1nKsjtJShMhAxbNpypoPdcxgxbhgxbNpypID2XMcOWIcNWDWcqSM9VzLBVyLBVw5kK0nMVM2wVMmzVcKaC9FzFDFuFDFuZRB/ScxUzbBUybGW2kSu0p1rFDFuFDFuZfSTcU61ihq1Chq1MHgbbxgRbhQRbmSAJ28b8WrHKl/FgsC2ofYX0Whl6wbYxu1Yhu2rDLlw6i9lVh+yqG74s4XKsY3bVIbvqhi9LuBzrmF11yK664csSFmDrmF11yK66SBKkjtlVh+yqyxRB6phcdUiuukoRpI7JVYfkqpcpgtQxueqQXPUqRZA6JlfNKqsNX5bQd9WguMqrqw1hlrj0tkD1VVZgXRiGQf9lv+PtWY11YUhW4fIuKLMuWJ11oZNUsd/x9qzWuihSbLFf8eas3LooU4SxX/HmrOK6qFKcsV/x5qzmulimaGO/4s1Z1XXREGkJI4D9jrdnhdeFYR7MUex3vD3jninWL6FrU6i2HxX3Gy6tsDQAy/uMe6Zmn1IHAPd4jV8lpSKFqvy8zK+SgpFChX5e6VdJ2UihWj8v9qukeKRQtZ+X+00FfwWDg0IFf17xN0X8FRYbUM2fF/1NHX+F9QZU9md1f2VK+asCcgdU/hUr/SvqUZZA9V+x8r+iHnEJqUuMepTWl4AGoJgIoCgtMQEZQDEdQFFaZQJCgGJKgDLF/RWOGUALUEwMUKa+v6rQ9kYBOUAxPUCZEv9qidsD7jFJQJkq/wr7PSAKKKYKKFPpX2G/B4QBxZQBZar9NczqFBAHFFMHlKn411hVBwKBYgqB0j0xF4gEiqkESqdjLpAJFNMJlE7HXCAUKKYUKJ2OuUAqUEwrUDodc4FYoJhaoIwAUGO/B/QCxQQDZTSAGvs9IBkophkoIwPUON8DqoFisoEySkCN1y4QDhRTDpQRA2q4ZVVAO1BMPFBGD6hxzgLkA8X0A2UkgRqvXaAgKCYhKKMK1HjtAhFBMRVBGWHglEVjA4B/TElQRhw4pdHYAGAgUxOUEQhOeTRc/kBQUExRUEVaElVAU1BMVFBlUhVVQFVQTFZQZVIYVUBXUExYUGVSG1VAWVBMWlBlUh5VQFtQTFxQRi84bULg1QP6gmICgzKawWkbgg2gMx6MgKUlIF7BQGdQTGhQpSUg3rIBrUExsUEZ/SDBHyA3KKY3KCMhJPgD6McUB2UlB9gcSA6KaQ7KyAiYP0B0UEx1UEZIwPwBsoNiuoMyUsJpI4cP6QACMu1BVZaAsHKngPygmP6gKktAeJxCAQlCMQ1CVckCngIihGIqhKqSNTwFZAjFdAhVJct4CggRiikRqkpW8hSQIhTTItTSHjfC3h/IEYrpEWpptx0K5q5AklBMk1BLu+eF2oACsoRiuoRa2uQvcdILMJBpE2ppi3vYgwF5QjF9Qi1t+Rh7MCBRKKZRKCM7nHa0kMJAplBMp1BGekh4MKBUKCZVKKM+4CUAtArFxApl9Ae8BIBaoZhcoYwCgZcA0CsUEyyUVSxwc0BAJlmolSUg9mBAtVBMtlArS0CcwgHlQjHpQq0sAXEOB9QLxeQLZfULwoUnoGAoJmGoVZXmD1AxFJMxlJEmMH+AkKGYkqGMOoH5A7QMxcQMZQSKBH8A/ZieoaygAZsDQUMxRUMZkULhc2IKiBqKqRrKCBUKnxVTQNhQTNlQRqxQ+LyYAuKGYuqGsvIG4eITEDgUUzhUnRbQFBA5FFM5VJ0OwUDnUEzoUHU6BAOpQzGtQ9XpEAzUDsXkDlWnQzDQOxQTPMgIGAqfuSOgeBBTPGhhCQjLTwQkD2KSBy0sAWH9iYDmQUzzIKt5ED4OC0QPYqIHLSwB4Rk8ArIHMdmDjI6h8Dk8AsIHMeGDjJKhNKxBEZA+iEkftEiHYALaBzHtgxbJEExA+iAmfdAiGYIJKB/ElA9SyRBMQPggJnyQSoZgAroHMd2DrO6BzzISED6ICR+kdA9/gPRBTPogo2UofCCSgPhBTPwgZQkIXSgB+YOY/EEqHYIJ6B/E9A9SyRBMQP4gJn+QSoZgAuoHMfWDVDIEExA/iN/0QMkQTOiuB37bg9U+8KFSQrc+RPc+WALCBJzg/Q+MgEbPUHqJDQAC8rsgKFmCJnQfBL8RgpIlaEJ3QvBbIShZgiZ0LwS/GYKSJWhCd0Pw2yHs/RD4cC2hOyL4LRH2ngh8wJbQXRFMACEjaCh8yJaAAkJMASGjaKgChw8ggRCTQEinpV8CEggxCYR0UvoloIAQU0BIJ6VfAgoIMQWEdFL6JaCAEFNASCelXwIKCDEFhIykofBBZQIaCDENhLS93Qt7fyCCEBNByIgaCh9YJqCCEFNBqLAEhDeNEZBBiMkgVKTlXwIyCDEZhIqk/EtABSGmglCRlH8JiCDERBAqkvIvAQ2EmAZCRVL+JSCBEJNAyEog+NA3AQmEmARCVgLBB78JSCDEJBCyEgg+/E1AAiEmgZCVQAp8TxnQQIhpIFT23HcIRBBiIgiV6VsPgQhCTAShMn33IRBBiIkgVKZvQAQiCDERhMr0PYhAAiEmgZCVQPABegISCDEJhKwEgg/RE5BAiEkgZCWQEntAIIEQk0DISiD4PDwBDYSYBkKlvekVe0CgghBTQcjIGqrEHhDoIMR0EKp6PCAQQogJIVSlPSAQQogJIVSlPSCQQYjJIFSlPSAQQYiJIFSlPSCQQIhJIFRZAmIPCEQQYiIIVZaAuIQAZBBiMghVloDYAwIhhJgQQlXPfbFACSGmhJBVQkrsQYESQkwJIauE4FsNCCghxJQQskoIvt2AgBJCTAkhq4TgWw4IKCHElBCySkgF78choIQQU0Joma4DEhBCiAkhZIWQqsAAAA+ZEEJWCEldRXRnNuOhkTYUvv+BgBZCTAshI24ofA8EATWEmBpCRt5Q+D4IAnoIMT2EVpaI8G5YAooIMUWEVj17ESCIEBNEyAoiiasIBBFigghZQSRxFYEgQkwQISuIQD2EgB5CTA8hq4ck+gc0ZHoIrSwNcXvAQiaIkFE48MNigCBCTBAho3DgvSgQRIgJIlSnj6ISUESIKSJkBA58Lw4BQYSYIEL2Pg88fKCHENNDyN7qgYs5QA4hJoeQUTfwMW4CaggxNYSMuoGPMxJQQ4ipIVTbEzGJCQD0Y3oI1T0nYggoIsQUEartfiQxBMBApolQbfcjeAUAVYSYKqKtKoI3NBqoIpqpItqqIjif1EAV0UwV0VYVwedKNFBFNFNFtFVF8MkWDVQRzVQRbVURfCxAA1VEM1VEt6oIrEpqoIpoporoVhVJIADPsWCqiLaqCFamNZBFNJNFtNE5EtKkBsKIZsKIXtjaIKSyBtKIZtKIts97wpV9DcQRzcQRbdQOuJg1EEc0E0e0FUdwaq2BOKKZOKKtOIKzOg3EEc3EEW3FEZxQaCCOaCaOaKN14PPxGmgjmmkj2mgd+Hy8BtqIZtqIts+CwlcAcJBpI9reGpIgAKAgE0e0UTtwPNRAHdFMHdFG7sDxUAN5RDN5RBu1A8dDDdQRzdQRbcQOHA81EEc0E0e00TpwPNRAG9FMG9FUpOOhBuqIZuqIts+JwvFQA31EM31E22dF4XiogUKimUKi7fOicDzUQCPRTCPRViNJxEOgkWimkWirkSTiIdBINH90lJE88DN2NHp6FH98lFE8sESr0ROk+COkrEKCWYieIhU9Rsq4QTyB8ElSjIXabkpwe0BC/jQpbffG8KSkRg+U4k+U0lYhhiclNXqoFH+qlNVJEhkNerAUf7KU1UkSGQ16uBR/upTVSRIZDXrAFNNJtNVJ8FkXDXQSzXQSbXUSfNZFA6FEM6FEF9STUwGpRDOpRBe6J6cCYolmYokuip6cCsglmskluih7ciogmGgmmOii57CMBoKJZoKJtoJJIqcCgon7N/NA2D+2+8P28o19MOwvvzwJH+T75NlfT9btU2ObQ5mmx+YBss2xy2/++vvv83NiT395j4ptvms6xc8F9oyeZt4zWlozTeJqP5xmO7+b3c3d8RBCr/1esmw2/2YfHe2jJs/eacc8wh6ai8K3Wri5WLm5KMf0E08Gab8b6XU8v0HPs7UqPVOnMJ1p6sX5TTq+VY8Si2yT3StwPYMnD9VZPLmgsSbdK61e/Hb8ujYP6/c78fpYTu/CvhEg7kX5zMuf8Kif5qUHoJfq3AtJaQd6Ma/x3twcgtXjL3ktXYvA+PFmd/+wucOdaK8TsRPp6eR4YO5Qe6uomHDBI8OV8og0xnDz+qL1zVWw6Ctvoa7GrABjNOJJ5fnVOn+tftoe1u3bh4KV5E1tXU+xyqdh6S1SZR1rtmn7Lqw1iJAr78o1j0TItd68FokjXvlBl/Inw73yaO3eeeQbr31novOno32Z0dq+zWhtXmcUuJGFH2rK/GUYvcQzCOp+6rDMZx83/oK/jSQcik+dKjtqxr21L+NYN3+G4/InbTm6J/d+xCB4eG6gOfo+zfSLNtVAa6G5B8hLuaQp0mBXOB3zF16d795YX83bFdbm9QphLyt/8qZeF6+XtXmLQ9CX9lZmc0B7Yl/ha1DCnnxKUP7cmReLhRb9eaJ8r+Je5BUYLfwJ0fm+1Rnl/rU5qXY2XORnVM07wNbbw+fAaLnw8ydhAnV5ud+a13f4uZJ3dbTQ+39pFsouuMo+nkroho2Z23DvUHoLrRIOa//p3r6PJjB0ttPu+VS73yFt/6/J/n/Vbn/qdkvYPCbLflCuJbVNm6d52A9l27i5Qbv90JppbnhsP9Tth7r9qrkRo/3QfkVUOVBtX1Q4mGWLk4TzCfKcwnP0ZTu8SsbA1toimFOPyUvZQm7NqMCMt3yF0cflFvdrm27sN/v1KSs/7G9PqdLJ61hmr79sdjc3oVOt/S1vIQtIwt4Op8yE9+ZvV4UbweBlr15e5oc3clt04Y7M2OzekOv7Dd8ZCangvcDY8xuenZanqw6keODR26Q8qN7wXQe160DmnoMXIvuTsPQnwVWChEHwRISr3afjfnuKeJ9tqh4a94NTJQtOZoO5PzYvPQpTHD/dbyfBuZB2LlxFy1Vz1EI77+VcFDkXpd1XhfNMpXNaS+f8Vs7D1c4huVIZqc5XuSteOFClQ+XcYXNgz35YOjvCFM3WJe72u4vt7ubqNtgRe2u5kM1s94LfYFPpLQIhquhFwZ4174KvnPOulWOVLKZ29qNqWuWRVVgT9V4wHOxNvRgtzGHBq4o9e54PqF2wqslFV5mv9XqIhr70+C+sgV5u7y/2uzsO1SeOWwwuArsL1a6nlu21WwcLlwS4/EG5BEK5mN08JKhNAlzsd16leXpCu7DcUnN5RnNXZ7uwXH5Abq1ox6PCwXQJBwl3htv9BS3+J5gDbxJK2erZ7vehRyq9hELo21jmWnjXVJi3bv9suNeQ43538+k6yHC0t5RLGeO2f97d7g/Ac1d+Ti3Mb8D7RX3/7Zc/lo5pWhZ2PdMoiPlVPFrKVkf0YlK//OArGFWnk3SgZSE3/fpRvyu/5FR1MoTLy4V1onNXcHq0Pz2uDyVbPJHp27v44lZ+CiTMY6+2AXtLz4TzGEtZtn91vLkIwoRnyXkl50PcvLYernU7bleiXIBXLsAr54eUdl+5zUjzRKn2Q+fYnPOrnfOrO8fmsoEuayHn/NxOigoHs3Q+T7jvO12a7SlLsDXj9ZftYXO5OWzWx/0uyFO9iRGm//ZVsufsNMjKKz8r71JHKWL8ImTfY/gp39IlETrHPn8Hrl9g8rP/hbOeNS3+m8G9WfZWdNG5DLFdVKL3923CQuLZEkhW/AvnvBrVXS1A5u7PPcTJir/1W+Sa4zKC7yEXshQyMBZPwMovZncLsxOBSRZBgk7iOfBjiJJftOPX34+3h+D6+/57KZ6Ai+O+eSft/fGO1Tt9Z72UxZeTuatNsyX72m74A8J761S+Oj9v7j/tN5fH0wbnMshivMtdii/E3e3tNYCmvYtQysJSayzab3mULsTXoBF848vpLeeVmBitNhpZ096eqBQvNZvyIVnNT9OUmB2BPbDgfA923rYvXMwY10+05la+mCPcbdqmQTLjF+mFC+Sa1ifu3V7/0aSovwVRt/YdgfBYSWCup6DnO/JCtliQaVS980tuhWzpXO9+P+4ud4fA25Te8Jey0TfSLFdm/UkUBtPWTMzG2k8sugKOK/Joko22NR+RsPaDi5atSK4Vezx2yaaD6TKVdu24GpVD37xWo81gu5YuTXU7aeVKVM0DXdsM1qW7y65079Jdt/unRVe6d4krdTKC25q7hIfKrvglo+Xddh8VaQqPg5VsIpHrLj3nU8mcQvfK9zBlrP2U0Y1duI+K3l7vi3j+/tVJLtrVRLRQKOt6iE+h+Qd0aCFbhfi1975Rb17J7bC003W08JxO2A2A7m9elWxDaCqmAZP8LaHMe8Cqa+HNo/CERXvyID544IdE4UbXswWuh3+OrHnOasuibssrpP65D3C000/shd48ylgKbxkJK3juYA08V+MHfeEguT1UA/ITocK5PucMNcmuGO8ontKFH4yEa+YsxbFco3kavmdN5jectWYK1pdH+yGYYX8HJjzf155WsoeVwFkln/3C2mdsEl02fxE4nZdcnVkLz1fGXYEL56+FUjjVxxCtnxzR0uXFToAi4eHp+9/3B+Ou/mxup/U2Gh4ZljKAJgaHQrc3TOG5L2MklLn987qyhOBwe9hcB27DY6EwqQDHZfwJF57wM1YA1fzyPemuiuCUX+EJbWM9ZpcfaUiY8OKzPH78FJaTnSE0aH9zVHQ7OZeqkMyBuQ7AuP2kQujNnbXotJGvbQtdq2cLjd6nj1OO9cKlPMLzV14fYAJ8zVyo7IYnzlid05+ETsIQnsfoDENZwa+gCutSQUE2XJk+zu5cklMctXB3GxZ8oeLiy2TUSZ5d1i3c67qO4MT4l3DVqd8yZ84MQ7XFnyphBaktH61NNhblDf4GRFiicAb/0JExL3MSpiDH+6AG6J8/FEbWPzbXu8vNYQvny/cpLjEm4QGCBy7a+qfpZKRvTESZmi8fk1CDtobiMqfyxTMqZZ7u4faBg/JvVhKKnMYKEEE8R1l0YqbM6TQm22pzBNAbp1A69q2Zg2unz2t8/NOjiTBQnoz/doxPl/inYHLtoJzWF0Ace51j1DLH6PUQV6y8oyVSY/ZoUnwvU3CcfoQxMHw/z3ZqqqtOaeE9TWEnIOp6fYgvWVPdj2cgOFCXbQqM38853D7Ulf20Fnoxr4t49H68El60/eYuOoft58NCt93aQVfdTzTdWSLdCbXC3L21Hw/ZLwqSxI//+uzJ3e5ue727ObX55de///5fd0RaBA=="; \ No newline at end of file diff --git a/cdp-agentkit-core/typescript/docs/assets/style.css b/cdp-agentkit-core/typescript/docs/assets/style.css index 499bc2840..7f80f3dc2 100644 --- a/cdp-agentkit-core/typescript/docs/assets/style.css +++ b/cdp-agentkit-core/typescript/docs/assets/style.css @@ -29,9 +29,9 @@ --light-color-ts-function: #572be7; --light-color-ts-class: #1f70c2; --light-color-ts-interface: #108024; - --light-color-ts-constructor: #4d7fff; - --light-color-ts-property: #ff984d; - --light-color-ts-method: #ff4db8; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: #9f5f30; + --light-color-ts-method: #be3989; --light-color-ts-reference: #ff4d82; --light-color-ts-call-signature: var(--light-color-ts-method); --light-color-ts-index-signature: var(--light-color-ts-property); @@ -41,7 +41,7 @@ --light-color-ts-parameter: var(--light-color-ts-variable); /* type literal not included as links will never be generated to it */ --light-color-ts-type-parameter: #a55c0e; - --light-color-ts-accessor: #ff4d4d; + --light-color-ts-accessor: #c73c3c; --light-color-ts-get-signature: var(--light-color-ts-accessor); --light-color-ts-set-signature: var(--light-color-ts-accessor); --light-color-ts-type-alias: #d51270; @@ -86,7 +86,7 @@ --dark-color-ts-function: #a280ff; --dark-color-ts-class: #8ac4ff; --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: #4d7fff; + --dark-color-ts-constructor: var(--dark-color-ts-class); --dark-color-ts-property: #ff984d; --dark-color-ts-method: #ff4db8; --dark-color-ts-reference: #ff4d82; @@ -96,7 +96,7 @@ --dark-color-ts-parameter: var(--dark-color-ts-variable); /* type literal not included as links will never be generated to it */ --dark-color-ts-type-parameter: #e07d13; - --dark-color-ts-accessor: #ff4d4d; + --dark-color-ts-accessor: #ff6060; --dark-color-ts-get-signature: var(--dark-color-ts-accessor); --dark-color-ts-set-signature: var(--dark-color-ts-accessor); --dark-color-ts-type-alias: #ff6492; diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_buy_token.WowBuyTokenAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_buy_token.WowBuyTokenAction.html index b5ac84186..c49ffd53c 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_buy_token.WowBuyTokenAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_buy_token.WowBuyTokenAction.html @@ -1,15 +1,15 @@ WowBuyTokenAction | @coinbase/cdp-agentkit-core

Zora Wow buy token action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    { amountEthInWei: ZodString; contractAddress: ZodString },
    "strip",
    ZodTypeAny,
    { amountEthInWei: string; contractAddress: string },
    { amountEthInWei: string; contractAddress: string },
> = WowBuyTokenInput

Schema for validating action arguments

-
description: string = WOW_BUY_TOKEN_PROMPT

A description of what the action does

-
func: (
    wallet: Wallet,
    args: { amountEthInWei: string; contractAddress: string },
) => Promise<string> = wowBuyToken

The function to execute for this action

-

Type declaration

    • (
          wallet: Wallet,
          args: { amountEthInWei: string; contractAddress: string },
      ): Promise<string>
    • Buys a Zora Wow ERC20 memecoin with ETH.

      +

Constructors

Properties

argsSchema: ZodObject<
    { amountEthInWei: ZodString; contractAddress: ZodString },
    "strip",
    { amountEthInWei: string; contractAddress: string },
    { amountEthInWei: string; contractAddress: string },
> = WowBuyTokenInput

Schema for validating action arguments

+
description: string = WOW_BUY_TOKEN_PROMPT

A description of what the action does

+
func: (
    wallet: Wallet,
    args: { amountEthInWei: string; contractAddress: string },
) => Promise<string> = wowBuyToken

The function to execute for this action

+

Type declaration

    • (
          wallet: Wallet,
          args: { amountEthInWei: string; contractAddress: string },
      ): Promise<string>
    • Buys a Zora Wow ERC20 memecoin with ETH.

      Parameters

      • wallet: Wallet

        The wallet to create the token from.

      • args: { amountEthInWei: string; contractAddress: string }

        The input arguments for the action.

      Returns Promise<string>

      A message containing the token purchase details.

      -
name: string = "wow_buy_token"

The name of the action

-
+
name: string = "wow_buy_token"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_create_token.WowCreateTokenAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_create_token.WowCreateTokenAction.html index 7eeb41d1d..644bdae30 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_create_token.WowCreateTokenAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_create_token.WowCreateTokenAction.html @@ -1,15 +1,15 @@ WowCreateTokenAction | @coinbase/cdp-agentkit-core

Zora Wow create token action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    { name: ZodString; symbol: ZodString; tokenUri: ZodOptional<ZodString> },
    "strip",
    ZodTypeAny,
    { name: string; symbol: string; tokenUri?: string },
    { name: string; symbol: string; tokenUri?: string },
> = WowCreateTokenInput

Schema for validating action arguments

-
description: string = WOW_CREATE_TOKEN_PROMPT

A description of what the action does

-
func: (
    wallet: Wallet,
    args: { name: string; symbol: string; tokenUri?: string },
) => Promise<string> = wowCreateToken

The function to execute for this action

-

Type declaration

    • (
          wallet: Wallet,
          args: { name: string; symbol: string; tokenUri?: string },
      ): Promise<string>
    • Creates a Zora Wow ERC20 memecoin.

      +

Constructors

Properties

argsSchema: ZodObject<
    { name: ZodString; symbol: ZodString; tokenUri: ZodOptional<ZodString> },
    "strip",
    { name: string; symbol: string; tokenUri?: string },
    { name: string; symbol: string; tokenUri?: string },
> = WowCreateTokenInput

Schema for validating action arguments

+
description: string = WOW_CREATE_TOKEN_PROMPT

A description of what the action does

+
func: (
    wallet: Wallet,
    args: { name: string; symbol: string; tokenUri?: string },
) => Promise<string> = wowCreateToken

The function to execute for this action

+

Type declaration

    • (
          wallet: Wallet,
          args: { name: string; symbol: string; tokenUri?: string },
      ): Promise<string>
    • Creates a Zora Wow ERC20 memecoin.

      Parameters

      • wallet: Wallet

        The wallet to create the token from.

      • args: { name: string; symbol: string; tokenUri?: string }

        The input arguments for the action.

      Returns Promise<string>

      A message containing the token creation details.

      -
name: string = "wow_create_token"

The name of the action

-
+
name: string = "wow_create_token"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_sell_token.WowSellTokenAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_sell_token.WowSellTokenAction.html index f0b866347..22ffa4772 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_sell_token.WowSellTokenAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_defi_wow_actions_sell_token.WowSellTokenAction.html @@ -1,15 +1,15 @@ WowSellTokenAction | @coinbase/cdp-agentkit-core

Zora Wow sell token action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    { amountTokensInWei: ZodString; contractAddress: ZodString },
    "strip",
    ZodTypeAny,
    { amountTokensInWei: string; contractAddress: string },
    { amountTokensInWei: string; contractAddress: string },
> = WowSellTokenInput

Schema for validating action arguments

-
description: string = WOW_SELL_TOKEN_PROMPT

A description of what the action does

-
func: (
    wallet: Wallet,
    args: { amountTokensInWei: string; contractAddress: string },
) => Promise<string> = wowSellToken

The function to execute for this action

-

Type declaration

    • (
          wallet: Wallet,
          args: { amountTokensInWei: string; contractAddress: string },
      ): Promise<string>
    • Sells WOW tokens for ETH.

      +

Constructors

Properties

argsSchema: ZodObject<
    { amountTokensInWei: ZodString; contractAddress: ZodString },
    "strip",
    { amountTokensInWei: string; contractAddress: string },
    { amountTokensInWei: string; contractAddress: string },
> = WowSellTokenInput

Schema for validating action arguments

+
description: string = WOW_SELL_TOKEN_PROMPT

A description of what the action does

+
func: (
    wallet: Wallet,
    args: { amountTokensInWei: string; contractAddress: string },
) => Promise<string> = wowSellToken

The function to execute for this action

+

Type declaration

    • (
          wallet: Wallet,
          args: { amountTokensInWei: string; contractAddress: string },
      ): Promise<string>
    • Sells WOW tokens for ETH.

      Parameters

      • wallet: Wallet

        The wallet to sell the tokens from.

      • args: { amountTokensInWei: string; contractAddress: string }

        The input arguments for the action.

      Returns Promise<string>

      A message confirming the sale with the transaction hash.

      -
name: string = "wow_sell_token"

The name of the action

-
+
name: string = "wow_sell_token"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_deploy_nft.DeployNftAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_deploy_nft.DeployNftAction.html index 9632f32bf..32910ec56 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_deploy_nft.DeployNftAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_deploy_nft.DeployNftAction.html @@ -1,15 +1,15 @@ DeployNftAction | @coinbase/cdp-agentkit-core

Deploy NFT action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    { baseURI: ZodString; name: ZodString; symbol: ZodString },
    "strip",
    ZodTypeAny,
    { baseURI: string; name: string; symbol: string },
    { baseURI: string; name: string; symbol: string },
> = DeployNftInput

Schema for validating action arguments

-
description: string = DEPLOY_NFT_PROMPT

A description of what the action does

-
func: (
    wallet: Wallet,
    args: { baseURI: string; name: string; symbol: string },
) => Promise<string> = deployNft

The function to execute for this action

-

Type declaration

    • (
          wallet: Wallet,
          args: { baseURI: string; name: string; symbol: string },
      ): Promise<string>
    • Deploys an NFT (ERC-721) token collection onchain from the wallet.

      +

Constructors

Properties

argsSchema: ZodObject<
    { baseURI: ZodString; name: ZodString; symbol: ZodString },
    "strip",
    { baseURI: string; name: string; symbol: string },
    { baseURI: string; name: string; symbol: string },
> = DeployNftInput

Schema for validating action arguments

+
description: string = DEPLOY_NFT_PROMPT

A description of what the action does

+
func: (
    wallet: Wallet,
    args: { baseURI: string; name: string; symbol: string },
) => Promise<string> = deployNft

The function to execute for this action

+

Type declaration

    • (
          wallet: Wallet,
          args: { baseURI: string; name: string; symbol: string },
      ): Promise<string>
    • Deploys an NFT (ERC-721) token collection onchain from the wallet.

      Parameters

      • wallet: Wallet

        The wallet to deploy the NFT from.

      • args: { baseURI: string; name: string; symbol: string }

        The input arguments for the action.

      Returns Promise<string>

      A message containing the NFT token deployment details.

      -
name: string = "deploy_nft"

The name of the action

-
+
name: string = "deploy_nft"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_deploy_token.DeployTokenAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_deploy_token.DeployTokenAction.html index 925ba365f..1f3c1cc3f 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_deploy_token.DeployTokenAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_deploy_token.DeployTokenAction.html @@ -1,15 +1,15 @@ DeployTokenAction | @coinbase/cdp-agentkit-core

Deploy token action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    {
        name: ZodString;
        symbol: ZodString;
        totalSupply: ZodType<Amount, ZodTypeDef, Amount>;
    },
    "strip",
    ZodTypeAny,
    { name: string; symbol: string; totalSupply: Amount },
    { name: string; symbol: string; totalSupply: Amount },
> = DeployTokenInput

Schema for validating action arguments

-
description: string = DEPLOY_TOKEN_PROMPT

A description of what the action does

-
func: (
    wallet: Wallet,
    args: { name: string; symbol: string; totalSupply: Amount },
) => Promise<string> = deployToken

The function to execute for this action

-

Type declaration

    • (
          wallet: Wallet,
          args: { name: string; symbol: string; totalSupply: Amount },
      ): Promise<string>
    • Deploys an ERC20 token smart contract.

      +

Constructors

Properties

argsSchema: ZodObject<
    {
        name: ZodString;
        symbol: ZodString;
        totalSupply: ZodType<Amount, Amount>;
    },
    "strip",
    { name: string; symbol: string; totalSupply: Amount },
    { name: string; symbol: string; totalSupply: Amount },
> = DeployTokenInput

Schema for validating action arguments

+
description: string = DEPLOY_TOKEN_PROMPT

A description of what the action does

+
func: (
    wallet: Wallet,
    args: { name: string; symbol: string; totalSupply: Amount },
) => Promise<string> = deployToken

The function to execute for this action

+

Type declaration

    • (
          wallet: Wallet,
          args: { name: string; symbol: string; totalSupply: Amount },
      ): Promise<string>
    • Deploys an ERC20 token smart contract.

      Parameters

      • wallet: Wallet

        The wallet to deploy the Token from.

      • args: { name: string; symbol: string; totalSupply: Amount }

        The input arguments for the action.

      Returns Promise<string>

      A message containing the deployed token contract address and details.

      -
name: string = "deploy_token"

The name of the action

-
+
name: string = "deploy_token"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_get_balance.GetBalanceAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_get_balance.GetBalanceAction.html index e42f6c44c..104cd939c 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_get_balance.GetBalanceAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_get_balance.GetBalanceAction.html @@ -1,15 +1,15 @@ GetBalanceAction | @coinbase/cdp-agentkit-core

Get wallet balance action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    { assetId: ZodString },
    "strip",
    ZodTypeAny,
    { assetId: string },
    { assetId: string },
> = GetBalanceInput

Schema for validating action arguments

-
description: string = GET_BALANCE_PROMPT

A description of what the action does

-
func: (wallet: Wallet, args: { assetId: string }) => Promise<string> = getBalance

The function to execute for this action

-

Type declaration

    • (wallet: Wallet, args: { assetId: string }): Promise<string>
    • Gets balance for all addresses in the wallet for a given asset.

      +

Constructors

Properties

argsSchema: ZodObject<
    { assetId: ZodString },
    "strip",
    { assetId: string },
    { assetId: string },
> = GetBalanceInput

Schema for validating action arguments

+
description: string = GET_BALANCE_PROMPT

A description of what the action does

+
func: (wallet: Wallet, args: { assetId: string }) => Promise<string> = getBalance

The function to execute for this action

+

Type declaration

    • (wallet: Wallet, args: { assetId: string }): Promise<string>
    • Gets balance for all addresses in the wallet for a given asset.

      Parameters

      • wallet: Wallet

        The wallet to get the balance for.

      • args: { assetId: string }

        The input arguments for the action.

      Returns Promise<string>

      A message containing the balance information.

      -
name: string = "get_balance"

The name of the action

-
+
name: string = "get_balance"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_get_wallet_details.GetWalletDetailsAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_get_wallet_details.GetWalletDetailsAction.html index ab782316d..0edd1492e 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_get_wallet_details.GetWalletDetailsAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_get_wallet_details.GetWalletDetailsAction.html @@ -1,15 +1,15 @@ GetWalletDetailsAction | @coinbase/cdp-agentkit-core

Get wallet details action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<{}, "strip", ZodTypeAny, {}, {}> = GetWalletDetailsInput

Schema for validating action arguments

-
description: string = "This tool will get details about the MPC Wallet."

A description of what the action does

-
func: (wallet: Wallet, _: {}) => Promise<string> = getWalletDetails

The function to execute for this action

-

Type declaration

    • (wallet: Wallet, _: {}): Promise<string>
    • Gets a wallet's details.

      +

Constructors

Properties

argsSchema: ZodObject<{}, "strip", {}, {}> = GetWalletDetailsInput

Schema for validating action arguments

+
description: string = "This tool will get details about the MPC Wallet."

A description of what the action does

+
func: (wallet: Wallet, _: {}) => Promise<string> = getWalletDetails

The function to execute for this action

+

Type declaration

    • (wallet: Wallet, _: {}): Promise<string>
    • Gets a wallet's details.

      Parameters

      • wallet: Wallet

        The wallet to get details from.

      • _: {}

        The input arguments for the action.

      Returns Promise<string>

      A message containing the wallet details.

      -
name: string = "get_wallet_details"

The name of the action

-
+
name: string = "get_wallet_details"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_mint_nft.MintNftAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_mint_nft.MintNftAction.html index ca01b0adc..50d03cab6 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_mint_nft.MintNftAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_mint_nft.MintNftAction.html @@ -1,15 +1,15 @@ MintNftAction | @coinbase/cdp-agentkit-core

Mint NFT action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    { contractAddress: ZodString; destination: ZodString },
    "strip",
    ZodTypeAny,
    { contractAddress: string; destination: string },
    { contractAddress: string; destination: string },
> = MintNftInput

Schema for validating action arguments

-
description: string = MINT_NFT_PROMPT

A description of what the action does

-
func: (
    wallet: Wallet,
    args: { contractAddress: string; destination: string },
) => Promise<string> = mintNft

The function to execute for this action

-

Type declaration

    • (
          wallet: Wallet,
          args: { contractAddress: string; destination: string },
      ): Promise<string>
    • Mints an NFT (ERC-721) to a specified destination address onchain.

      +

Constructors

Properties

argsSchema: ZodObject<
    { contractAddress: ZodString; destination: ZodString },
    "strip",
    { contractAddress: string; destination: string },
    { contractAddress: string; destination: string },
> = MintNftInput

Schema for validating action arguments

+
description: string = MINT_NFT_PROMPT

A description of what the action does

+
func: (
    wallet: Wallet,
    args: { contractAddress: string; destination: string },
) => Promise<string> = mintNft

The function to execute for this action

+

Type declaration

    • (
          wallet: Wallet,
          args: { contractAddress: string; destination: string },
      ): Promise<string>
    • Mints an NFT (ERC-721) to a specified destination address onchain.

      Parameters

      • wallet: Wallet

        The wallet to mint the NFT from.

      • args: { contractAddress: string; destination: string }

        The input arguments for the action.

      Returns Promise<string>

      A message containing the NFT mint details.

      -
name: string = "mint_nft"

The name of the action

-
+
name: string = "mint_nft"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_register_basename.RegisterBasenameAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_register_basename.RegisterBasenameAction.html index f1210495d..6d5d2e2b6 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_register_basename.RegisterBasenameAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_register_basename.RegisterBasenameAction.html @@ -1,15 +1,15 @@ RegisterBasenameAction | @coinbase/cdp-agentkit-core

Register Basename action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    { amount: ZodDefault<ZodString>; basename: ZodString },
    "strip",
    ZodTypeAny,
    { amount: string; basename: string },
    { amount?: string; basename: string },
> = RegisterBasenameInput

Schema for validating action arguments

-
description: string = REGISTER_BASENAME_PROMPT

A description of what the action does

-
func: (
    wallet: Wallet,
    args: { amount: string; basename: string },
) => Promise<string> = registerBasename

The function to execute for this action

-

Type declaration

    • (wallet: Wallet, args: { amount: string; basename: string }): Promise<string>
    • Registers a Basename for the agent.

      +

Constructors

Properties

argsSchema: ZodObject<
    { amount: ZodDefault<ZodString>; basename: ZodString },
    "strip",
    { amount: string; basename: string },
    { amount?: string; basename: string },
> = RegisterBasenameInput

Schema for validating action arguments

+
description: string = REGISTER_BASENAME_PROMPT

A description of what the action does

+
func: (
    wallet: Wallet,
    args: { amount: string; basename: string },
) => Promise<string> = registerBasename

The function to execute for this action

+

Type declaration

    • (wallet: Wallet, args: { amount: string; basename: string }): Promise<string>
    • Registers a Basename for the agent.

      Parameters

      • wallet: Wallet

        The wallet to register the Basename with.

      • args: { amount: string; basename: string }

        The input arguments for the action.

      Returns Promise<string>

      Confirmation message with the basename.

      -
name: string = "register_basename"

The name of the action

-
+
name: string = "register_basename"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_request_faucet_funds.RequestFaucetFundsAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_request_faucet_funds.RequestFaucetFundsAction.html index b78328a3c..f32e3049f 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_request_faucet_funds.RequestFaucetFundsAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_request_faucet_funds.RequestFaucetFundsAction.html @@ -1,15 +1,15 @@ RequestFaucetFundsAction | @coinbase/cdp-agentkit-core

Request faucet funds action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    { assetId: ZodOptional<ZodString> },
    "strip",
    ZodTypeAny,
    { assetId?: string },
    { assetId?: string },
> = RequestFaucetFundsInput

Schema for validating action arguments

-
description: string = REQUEST_FAUCET_FUNDS_PROMPT

A description of what the action does

-
func: (wallet: Wallet, args: { assetId?: string }) => Promise<string> = requestFaucetFunds

The function to execute for this action

-

Type declaration

    • (wallet: Wallet, args: { assetId?: string }): Promise<string>
    • Requests test tokens from the faucet for the default address in the wallet.

      +

Constructors

Properties

argsSchema: ZodObject<
    { assetId: ZodOptional<ZodString> },
    "strip",
    { assetId?: string },
    { assetId?: string },
> = RequestFaucetFundsInput

Schema for validating action arguments

+
description: string = REQUEST_FAUCET_FUNDS_PROMPT

A description of what the action does

+
func: (wallet: Wallet, args: { assetId?: string }) => Promise<string> = requestFaucetFunds

The function to execute for this action

+

Type declaration

    • (wallet: Wallet, args: { assetId?: string }): Promise<string>
    • Requests test tokens from the faucet for the default address in the wallet.

      Parameters

      • wallet: Wallet

        The wallet to receive tokens.

      • args: { assetId?: string }

        The input arguments for the action.

      Returns Promise<string>

      A confirmation message with transaction details.

      -
name: string = "request_faucet_funds"

The name of the action

-
+
name: string = "request_faucet_funds"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_trade.TradeAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_trade.TradeAction.html index 3263649b3..168b115d1 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_trade.TradeAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_trade.TradeAction.html @@ -1,15 +1,15 @@ TradeAction | @coinbase/cdp-agentkit-core

Trade action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    {
        amount: ZodType<Amount, ZodTypeDef, Amount>;
        fromAssetId: ZodString;
        toAssetId: ZodString;
    },
    "strip",
    ZodTypeAny,
    { amount: Amount; fromAssetId: string; toAssetId: string },
    { amount: Amount; fromAssetId: string; toAssetId: string },
> = TradeInput

Schema for validating action arguments

-
description: string = TRADE_PROMPT

A description of what the action does

-
func: (
    wallet: Wallet,
    args: { amount: Amount; fromAssetId: string; toAssetId: string },
) => Promise<string> = trade

The function to execute for this action

-

Type declaration

    • (
          wallet: Wallet,
          args: { amount: Amount; fromAssetId: string; toAssetId: string },
      ): Promise<string>
    • Trades a specified amount of a from asset to a to asset for the wallet.

      +

Constructors

Properties

argsSchema: ZodObject<
    {
        amount: ZodType<Amount, Amount>;
        fromAssetId: ZodString;
        toAssetId: ZodString;
    },
    "strip",
    { amount: Amount; fromAssetId: string; toAssetId: string },
    { amount: Amount; fromAssetId: string; toAssetId: string },
> = TradeInput

Schema for validating action arguments

+
description: string = TRADE_PROMPT

A description of what the action does

+
func: (
    wallet: Wallet,
    args: { amount: Amount; fromAssetId: string; toAssetId: string },
) => Promise<string> = trade

The function to execute for this action

+

Type declaration

    • (
          wallet: Wallet,
          args: { amount: Amount; fromAssetId: string; toAssetId: string },
      ): Promise<string>
    • Trades a specified amount of a from asset to a to asset for the wallet.

      Parameters

      • wallet: Wallet

        The wallet to trade the asset from.

      • args: { amount: Amount; fromAssetId: string; toAssetId: string }

        The input arguments for the action.

      Returns Promise<string>

      A message containing the trade details.

      -
name: string = "trade"

The name of the action

-
+
name: string = "trade"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_transfer.TransferAction.html b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_transfer.TransferAction.html index 4cef31326..0e26deb02 100644 --- a/cdp-agentkit-core/typescript/docs/classes/actions_cdp_transfer.TransferAction.html +++ b/cdp-agentkit-core/typescript/docs/classes/actions_cdp_transfer.TransferAction.html @@ -1,15 +1,15 @@ TransferAction | @coinbase/cdp-agentkit-core

Transfer action.

-

Implements

Constructors

Implements

Constructors

Properties

Constructors

Properties

argsSchema: ZodObject<
    {
        amount: ZodType<Amount, ZodTypeDef, Amount>;
        assetId: ZodString;
        destination: ZodString;
        gasless: ZodDefault<ZodBoolean>;
    },
    "strip",
    ZodTypeAny,
    { amount: Amount; assetId: string; destination: string; gasless: boolean },
    { amount: Amount; assetId: string; destination: string; gasless?: boolean },
> = TransferInput

Schema for validating action arguments

-
description: string = TRANSFER_PROMPT

A description of what the action does

-
func: (
    wallet: Wallet,
    args: {
        amount: Amount;
        assetId: string;
        destination: string;
        gasless: boolean;
    },
) => Promise<string> = transfer

The function to execute for this action

-

Type declaration

    • (
          wallet: Wallet,
          args: {
              amount: Amount;
              assetId: string;
              destination: string;
              gasless: boolean;
          },
      ): Promise<string>
    • Transfers a specified amount of an asset to a destination onchain.

      +

Constructors

Properties

argsSchema: ZodObject<
    {
        amount: ZodType<Amount, Amount>;
        assetId: ZodString;
        destination: ZodString;
        gasless: ZodDefault<ZodBoolean>;
    },
    "strip",
    { amount: Amount; assetId: string; destination: string; gasless: boolean },
    { amount: Amount; assetId: string; destination: string; gasless?: boolean },
> = TransferInput

Schema for validating action arguments

+
description: string = TRANSFER_PROMPT

A description of what the action does

+
func: (
    wallet: Wallet,
    args: {
        amount: Amount;
        assetId: string;
        destination: string;
        gasless: boolean;
    },
) => Promise<string> = transfer

The function to execute for this action

+

Type declaration

    • (
          wallet: Wallet,
          args: {
              amount: Amount;
              assetId: string;
              destination: string;
              gasless: boolean;
          },
      ): Promise<string>
    • Transfers a specified amount of an asset to a destination onchain.

      Parameters

      • wallet: Wallet

        The wallet to transfer the asset from.

      • args: { amount: Amount; assetId: string; destination: string; gasless: boolean }

        The input arguments for the action.

      Returns Promise<string>

      A message containing the transfer details.

      -
name: string = "transfer"

The name of the action

-
+
name: string = "transfer"

The name of the action

+
diff --git a/cdp-agentkit-core/typescript/docs/classes/cdp_agentkit.CdpAgentkit.html b/cdp-agentkit-core/typescript/docs/classes/cdp_agentkit.CdpAgentkit.html index bb05f5c2a..006574ce7 100644 --- a/cdp-agentkit-core/typescript/docs/classes/cdp_agentkit.CdpAgentkit.html +++ b/cdp-agentkit-core/typescript/docs/classes/cdp_agentkit.CdpAgentkit.html @@ -1,19 +1,19 @@ CdpAgentkit | @coinbase/cdp-agentkit-core

CDP Agentkit

-

Constructors

Constructors

Methods

  • Exports wallet data required to re-instantiate the wallet

    +

Returns CdpAgentkit

Methods

  • Exports wallet data required to re-instantiate the wallet

    Returns Promise<string>

    JSON string of wallet data including wallet_id and seed

    -
  • Configures CDP Agentkit with a Wallet.

    +
  • Configures CDP Agentkit with a Wallet.

    Parameters

    • config: ConfigureCdpAgentkitWithWalletOptions = {}

      Optional configuration parameters

    Returns Promise<CdpAgentkit>

    A Promise that resolves to a new CdpAgentkit instance

    Error if required environment variables are missing or wallet initialization fails

    -
+
diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp.getAllCdpActions.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp.getAllCdpActions.html index 0b4d11cae..d6fed84c1 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp.getAllCdpActions.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp.getAllCdpActions.html @@ -3,4 +3,4 @@

Returns CdpAction<CdpActionSchemaAny>[]

  • Array of CDP action instances
-
+
diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow.getAllWowActions.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow.getAllWowActions.html index 19277a89f..bfa0ea61c 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow.getAllWowActions.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow.getAllWowActions.html @@ -1,4 +1,4 @@ getAllWowActions | @coinbase/cdp-agentkit-core
+
diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_buy_token.wowBuyToken.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_buy_token.wowBuyToken.html index 682979c32..8e7be0888 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_buy_token.wowBuyToken.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_buy_token.wowBuyToken.html @@ -2,4 +2,4 @@

Parameters

  • wallet: Wallet

    The wallet to create the token from.

  • args: { amountEthInWei: string; contractAddress: string }

    The input arguments for the action.

Returns Promise<string>

A message containing the token purchase details.

-
+
diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_create_token.wowCreateToken.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_create_token.wowCreateToken.html index 2a49dbf9a..ee58783de 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_create_token.wowCreateToken.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_create_token.wowCreateToken.html @@ -2,4 +2,4 @@

Parameters

  • wallet: Wallet

    The wallet to create the token from.

  • args: { name: string; symbol: string; tokenUri?: string }

    The input arguments for the action.

Returns Promise<string>

A message containing the token creation details.

-
+
diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_sell_token.wowSellToken.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_sell_token.wowSellToken.html index 8c91ddf2f..387f7fa4c 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_sell_token.wowSellToken.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_actions_sell_token.wowSellToken.html @@ -2,4 +2,4 @@

Parameters

  • wallet: Wallet

    The wallet to sell the tokens from.

  • args: { amountTokensInWei: string; contractAddress: string }

    The input arguments for the action.

Returns Promise<string>

A message confirming the sale with the transaction hash.

-
+
diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_constants.getFactoryAddress.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_constants.getFactoryAddress.html index ca0d91695..8824c55af 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_constants.getFactoryAddress.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_constants.getFactoryAddress.html @@ -2,4 +2,4 @@

Parameters

  • network: string

    The network ID to get the contract address for

Returns string

The contract address for the specified network

Error if the specified network is not supported

-
+
diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.createPriceInfo.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.createPriceInfo.html index d6c1e853c..c48bad5e6 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.createPriceInfo.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.createPriceInfo.html @@ -2,4 +2,4 @@

Parameters

  • weiAmount: string

    Amount in wei

  • ethPriceInUsd: number

    Current ETH price in USD

Returns PriceInfo

A PriceInfo object containing the amount in ETH and USD

-
+
diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.exactInputSingle.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.exactInputSingle.html index a914a0b4f..062edc974 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.exactInputSingle.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.exactInputSingle.html @@ -5,4 +5,4 @@
  • amountIn: string

    Amount of tokens to swap (in Wei)

  • fee: string

    Fee for the swap

  • Returns Promise<number>

    Amount of tokens to receive (in Wei)

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getHasGraduated.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getHasGraduated.html index e623f1975..5fae83c25 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getHasGraduated.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getHasGraduated.html @@ -2,4 +2,4 @@

    Parameters

    • networkId: string

      Network ID, either base-sepolia or base-mainnet

    • tokenAddress: string

      Token address

    Returns Promise<boolean>

    True if the token has graduated, false otherwise

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getPoolAddress.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getPoolAddress.html index 2279e0522..e39df0bd5 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getPoolAddress.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getPoolAddress.html @@ -1,4 +1,4 @@ getPoolAddress | @coinbase/cdp-agentkit-core
    • Fetches the uniswap v3 pool address for a given token.

      Parameters

      • tokenAddress: string

        The address of the token contract

      Returns Promise<string>

      The uniswap v3 pool address associated with the token

      -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getPoolInfo.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getPoolInfo.html index 9722acb5b..934b941df 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getPoolInfo.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getPoolInfo.html @@ -2,4 +2,4 @@

    Parameters

    • networkId: string

      Network ID, either base-sepolia or base-mainnet

    • poolAddress: string

      Uniswap v3 pool address

    Returns Promise<PoolInfo>

    A PoolInfo object containing pool details

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getUniswapQuote.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getUniswapQuote.html index 4bcaa94d1..c1bc47eb2 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getUniswapQuote.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_uniswap_utils.getUniswapQuote.html @@ -4,4 +4,4 @@
  • amount: number

    Amount of tokens (in Wei)

  • quoteType: "buy" | "sell"

    'buy' or 'sell'

  • Returns Promise<Quote>

    A Quote object containing quote details

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getBuyQuote.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getBuyQuote.html index 046ca4bae..6bf420c1d 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getBuyQuote.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getBuyQuote.html @@ -3,4 +3,4 @@
  • tokenAddress: string

    Address of the token contract

  • amountEthInWei: string

    Amount of ETH to buy (in wei)

  • Returns Promise<string>

    The buy quote amount

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getCurrentSupply.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getCurrentSupply.html index 72c3599fc..8e9b36ad5 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getCurrentSupply.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getCurrentSupply.html @@ -1,4 +1,4 @@ getCurrentSupply | @coinbase/cdp-agentkit-core
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getSellQuote.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getSellQuote.html index cad9d2d42..d7c6b628b 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getSellQuote.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_defi_wow_utils.getSellQuote.html @@ -3,4 +3,4 @@
  • tokenAddress: string

    Address of the token contract

  • amountTokensInWei: string

    Amount of tokens to sell (in wei)

  • Returns Promise<string>

    The sell quote amount

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_deploy_nft.deployNft.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_deploy_nft.deployNft.html index 214c7bc4b..994087cdb 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_deploy_nft.deployNft.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_deploy_nft.deployNft.html @@ -2,4 +2,4 @@

    Parameters

    • wallet: Wallet

      The wallet to deploy the NFT from.

    • args: { baseURI: string; name: string; symbol: string }

      The input arguments for the action.

    Returns Promise<string>

    A message containing the NFT token deployment details.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_deploy_token.deployToken.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_deploy_token.deployToken.html index 1c984e443..7562bbade 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_deploy_token.deployToken.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_deploy_token.deployToken.html @@ -2,4 +2,4 @@

    Parameters

    • wallet: Wallet

      The wallet to deploy the Token from.

    • args: { name: string; symbol: string; totalSupply: Amount }

      The input arguments for the action.

    Returns Promise<string>

    A message containing the deployed token contract address and details.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_get_balance.getBalance.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_get_balance.getBalance.html index dc54ff8ee..54895b4b8 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_get_balance.getBalance.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_get_balance.getBalance.html @@ -2,4 +2,4 @@

    Parameters

    • wallet: Wallet

      The wallet to get the balance for.

    • args: { assetId: string }

      The input arguments for the action.

    Returns Promise<string>

    A message containing the balance information.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_get_wallet_details.getWalletDetails.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_get_wallet_details.getWalletDetails.html index efc00e262..d973edf8e 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_get_wallet_details.getWalletDetails.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_get_wallet_details.getWalletDetails.html @@ -2,4 +2,4 @@

    Parameters

    • wallet: Wallet

      The wallet to get details from.

    • _: {}

      The input arguments for the action.

    Returns Promise<string>

    A message containing the wallet details.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_mint_nft.mintNft.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_mint_nft.mintNft.html index 3a111e155..22c9a0388 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_mint_nft.mintNft.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_mint_nft.mintNft.html @@ -2,4 +2,4 @@

    Parameters

    • wallet: Wallet

      The wallet to mint the NFT from.

    • args: { contractAddress: string; destination: string }

      The input arguments for the action.

    Returns Promise<string>

    A message containing the NFT mint details.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_register_basename.registerBasename.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_register_basename.registerBasename.html index 875278f1c..9a1c22df3 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_register_basename.registerBasename.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_register_basename.registerBasename.html @@ -2,4 +2,4 @@

    Parameters

    • wallet: Wallet

      The wallet to register the Basename with.

    • args: { amount: string; basename: string }

      The input arguments for the action.

    Returns Promise<string>

    Confirmation message with the basename.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_request_faucet_funds.requestFaucetFunds.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_request_faucet_funds.requestFaucetFunds.html index 853e4f876..ce1d45e13 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_request_faucet_funds.requestFaucetFunds.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_request_faucet_funds.requestFaucetFunds.html @@ -2,4 +2,4 @@

    Parameters

    • wallet: Wallet

      The wallet to receive tokens.

    • args: { assetId?: string }

      The input arguments for the action.

    Returns Promise<string>

    A confirmation message with transaction details.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_trade.trade.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_trade.trade.html index 7639ea556..151dec456 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_trade.trade.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_trade.trade.html @@ -2,4 +2,4 @@

    Parameters

    • wallet: Wallet

      The wallet to trade the asset from.

    • args: { amount: Amount; fromAssetId: string; toAssetId: string }

      The input arguments for the action.

    Returns Promise<string>

    A message containing the trade details.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_transfer.transfer.html b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_transfer.transfer.html index 1245eebeb..20a4b6fbc 100644 --- a/cdp-agentkit-core/typescript/docs/functions/actions_cdp_transfer.transfer.html +++ b/cdp-agentkit-core/typescript/docs/functions/actions_cdp_transfer.transfer.html @@ -2,4 +2,4 @@

    Parameters

    • wallet: Wallet

      The wallet to transfer the asset from.

    • args: { amount: Amount; assetId: string; destination: string; gasless: boolean }

      The input arguments for the action.

    Returns Promise<string>

    A message containing the transfer details.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/hierarchy.html b/cdp-agentkit-core/typescript/docs/hierarchy.html index 4f243cda2..a167f0237 100644 --- a/cdp-agentkit-core/typescript/docs/hierarchy.html +++ b/cdp-agentkit-core/typescript/docs/hierarchy.html @@ -1 +1 @@ -@coinbase/cdp-agentkit-core
    +@coinbase/cdp-agentkit-core
    diff --git a/cdp-agentkit-core/typescript/docs/index.html b/cdp-agentkit-core/typescript/docs/index.html index 79afee9fd..3ac407a5c 100644 --- a/cdp-agentkit-core/typescript/docs/index.html +++ b/cdp-agentkit-core/typescript/docs/index.html @@ -1,4 +1,6 @@ @coinbase/cdp-agentkit-core

    @coinbase/cdp-agentkit-core

    Agentkit Core

    Framework agnostic primitives that are meant to be composable and used via Agentkit framework extensions.

    -

    You can find all of the supported actions under ./cdp_agentkit_core/actions

    +

    You can find all of the supported actions under

    +

    Actions - ./python/cdp_agentkit_core/actions

    +

    Actions - ./typescript/src/actions

    See CONTRIBUTING.md for more information.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_cdp_action.CdpAction.html b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_cdp_action.CdpAction.html index 758a43e58..51744cacc 100644 --- a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_cdp_action.CdpAction.html +++ b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_cdp_action.CdpAction.html @@ -1,10 +1,10 @@ CdpAction | @coinbase/cdp-agentkit-core

    Represents the base structure for CDP Actions.

    -
    interface CdpAction<TActionSchema extends CdpActionSchemaAny> {
        argsSchema: TActionSchema;
        description: string;
        func:
            | (wallet: Wallet, args: TypeOf<TActionSchema>) => Promise<string>
            | (args: TypeOf<TActionSchema>) => Promise<string>;
        name: string;
    }

    Type Parameters

    Implemented by

    Properties

    interface CdpAction<TActionSchema extends CdpActionSchemaAny> {
        argsSchema: TActionSchema;
        description: string;
        func:
            | (wallet: Wallet, args: TypeOf<TActionSchema>) => Promise<string>
            | (args: TypeOf<TActionSchema>) => Promise<string>;
        name: string;
    }

    Type Parameters

    Implemented by

    Properties

    argsSchema: TActionSchema

    Schema for validating action arguments

    -
    description: string

    A description of what the action does

    -
    func:
        | (wallet: Wallet, args: TypeOf<TActionSchema>) => Promise<string>
        | (args: TypeOf<TActionSchema>) => Promise<string>

    The function to execute for this action

    -
    name: string

    The name of the action

    -
    +
    description: string

    A description of what the action does

    +
    func:
        | (wallet: Wallet, args: TypeOf<TActionSchema>) => Promise<string>
        | (args: TypeOf<TActionSchema>) => Promise<string>

    The function to execute for this action

    +
    name: string

    The name of the action

    +
    diff --git a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Balance.html b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Balance.html index 250a31f67..7026de1e0 100644 --- a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Balance.html +++ b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Balance.html @@ -1,3 +1,3 @@ -Balance | @coinbase/cdp-agentkit-core
    interface Balance {
        erc20z: string;
        weth: string;
    }

    Properties

    erc20z +Balance | @coinbase/cdp-agentkit-core
    +

    Properties

    erc20z: string
    weth: string
    diff --git a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.PoolInfo.html b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.PoolInfo.html index edf52699d..53d894110 100644 --- a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.PoolInfo.html +++ b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.PoolInfo.html @@ -1,8 +1,8 @@ -PoolInfo | @coinbase/cdp-agentkit-core
    interface PoolInfo {
        balance0: number;
        balance1: number;
        fee: number;
        liquidity: number;
        sqrtPriceX96: number;
        token0: string;
        token1: string;
    }

    Properties

    balance0 +PoolInfo | @coinbase/cdp-agentkit-core
    +

    Properties

    balance0: number
    balance1: number
    fee: number
    liquidity: number
    sqrtPriceX96: number
    token0: string
    token1: string
    diff --git a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Price.html b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Price.html index 92d0b418c..2ad846935 100644 --- a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Price.html +++ b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Price.html @@ -1,3 +1,3 @@ -Price | @coinbase/cdp-agentkit-core
    interface Price {
        perToken: PriceInfo;
        total: PriceInfo;
    }

    Properties

    perToken +Price | @coinbase/cdp-agentkit-core
    +

    Properties

    perToken: PriceInfo
    total: PriceInfo
    diff --git a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.PriceInfo.html b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.PriceInfo.html index e015a8d36..b8bb6452a 100644 --- a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.PriceInfo.html +++ b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.PriceInfo.html @@ -1,3 +1,3 @@ -PriceInfo | @coinbase/cdp-agentkit-core
    interface PriceInfo {
        eth: string;
        usd: number;
    }

    Properties

    eth +PriceInfo | @coinbase/cdp-agentkit-core
    +

    Properties

    eth: string
    usd: number
    diff --git a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Quote.html b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Quote.html index 8831fad0d..37b103392 100644 --- a/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Quote.html +++ b/cdp-agentkit-core/typescript/docs/interfaces/actions_cdp_defi_wow_uniswap_utils.Quote.html @@ -1,6 +1,6 @@ -Quote | @coinbase/cdp-agentkit-core
    interface Quote {
        amountIn: number;
        amountOut: number;
        balance: null | Balance;
        error: null | string;
        fee: null | number;
    }

    Properties

    amountIn +Quote | @coinbase/cdp-agentkit-core
    +

    Properties

    amountIn: number
    amountOut: number
    balance: null | Balance
    error: null | string
    fee: null | number
    diff --git a/cdp-agentkit-core/typescript/docs/media/CONTRIBUTING.md b/cdp-agentkit-core/typescript/docs/media/CONTRIBUTING.md index 3b92ba180..6fcca0428 100644 --- a/cdp-agentkit-core/typescript/docs/media/CONTRIBUTING.md +++ b/cdp-agentkit-core/typescript/docs/media/CONTRIBUTING.md @@ -1,32 +1,55 @@ # CDP Agentkit Contributing Guide - Thank you for your interest in contributing to CDP Agentkit! We welcome all contributions, no matter how big or small. Some of the ways you can contribute include: - Adding new actions to the core package -- Creating new AI framework extensions +- Updating existing Langchain Toolkits or adding new Langchain Toolkits to support new tools +- Creating new AI frameworks extensions - Adding tests and improving documentation -## Development - -### Prerequisites -- Node.js 18 or higher -- npm for package management - ### Set-up Clone the repo by running: ```bash -git clone git@github.com:coinbase/cdp-agentkit-nodejs.git -cd cdp-agentkit-nodejs +git clone git@github.com:coinbase/cdp-agentkit.git ``` +## Python Development +### Prerequisites +- Python 3.10 or higher +- Rust/Cargo installed ([Rust Installation Instructions](https://doc.rust-lang.org/cargo/getting-started/installation.html)) +- Poetry for package management and tooling + - [Poetry Installation Instructions](https://python-poetry.org/docs/#installation) + +`cdp-langchain` also requires a [CDP API Key](https://portal.cdp.coinbase.com/access/api). + +### Development Tools +#### Formatting +`make format` + +#### Linting +- Check linter +`make lint` + +- Fix linter errors +`make lint-fix` + +#### Unit Testing +- Run unit tests +`make test` + +## Typescript Development +### Prerequisites +- Node.js 18 or higher +- npm for package management + Install dependencies: ```bash npm install ``` -### Building +### Development Tools +#### Building To build all packages: @@ -34,7 +57,7 @@ To build all packages: npm run build ``` -### Linting & Formatting +#### Linting & Formatting To check for lint errors: @@ -54,7 +77,7 @@ To format code: npm run format ``` -### Testing +#### Testing To run all tests: @@ -62,7 +85,7 @@ To run all tests: npm test ``` -### Documentation +#### Documentation To generate documentation: @@ -70,9 +93,81 @@ To generate documentation: npm run docs ``` +#### Typescript Code Style + +All code must follow the project's ESLint and Prettier configurations. The key rules are: +- Use TypeScript +- Follow JSDoc documentation standards +- Use 2 spaces for indentation +- Maximum line length of 100 characters +- Double quotes for strings +- Semicolons required + + ## Adding an Action to Agentkit Core +### Python +- Actions are defined in `./cdp-agentkit-core/python/cdp_agentkit_core/actions` module. See `./cdp-agentkit-core/python/cdp_agentkit_core/actions/mint_nft.py` for an example. +- Actions are created by subclassing `CdpAction` + E.g. +```python +class DeployNftAction(CdpAction): + """Deploy NFT action.""" + + name: str = "mint_nft" + description: str = MINT_NFT_PROMPT + args_schema: type[BaseModel] | None = MintNftInput + func: Callable[..., str] = mint_nft +``` + +#### Components of an Agentic Action +- `name` - Name of the action. +- `description` - A string that will provide the AI Agent with context on what the function does and a natural language description of the input. + - E.g. +```python +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.""" +``` +- `arg_schema` - A Pydantic Model that defines the input argument schema for the action. + - E.g. +```python +class MintNftInput(BaseModel): + """Input argument schema for mint NFT action.""" + + contract_address: str = Field( + ..., + description="The contract address of the NFT (ERC-721) to mint, e.g. `0x036CbD53842c5426634e7929541eC2318f3dCF7e`", + ) + destination: str = Field( + ..., + description="The destination address that will receive the NFT onchain, e.g. `0x036CbD53842c5426634e7929541eC2318f3dCF7e`", + ) +``` +- `func` - A function (or Callable class) that executes the action. + - E.g. +```python +def mint_nft(wallet: Wallet, contract_address: str, destination: str) -> str: + """Mint an NFT (ERC-721) to a specified destination address onchain via a contract invocation. + + Args: + wallet (Wallet): The wallet to trade the asset from. + contract_address (str): The contract address of the NFT (ERC-721) to mint, e.g. `0x036CbD53842c5426634e7929541eC2318f3dCF7e`. + destination (str): The destination address that will receive the NFT onchain, e.g. `0x036CbD53842c5426634e7929541eC2318f3dCF7e`. -Actions are defined in `cdp-agentkit-core/src/actions` module. See `cdp-agentkit-core/src/actions/mint_nft.ts` for an example. + Returns: + str: A message containing the NFT mint details. + + """ + mint_args = {"to": destination, "quantity": "1"} + + mint_invocation = wallet.invoke_contract( + contract_address=contract_address, method="mint", args=mint_args + ).wait() + + return f"Minted NFT from contract {contract_address} to address {destination} on network {wallet.network_id}.\nTransaction hash for the mint: {mint_invocation.transaction.transaction_hash}\nTransaction link for the mint: {mint_invocation.transaction.transaction_link}" +``` + +### Typescript +Actions are defined in `cdp-agentkit-core/typescript/src/actions` module. See `cdp-agentkit-core/typescript/src/actions/cdp/mint_nft.ts` for an example. Actions are created by implementing the `CdpAction` interface: @@ -134,7 +229,7 @@ export class MintNftAction implements CdpAction { } ``` -### Components of an Agentic Action +#### Components of an Agentic Action 1. **Input Schema**: Define the input parameters using Zod schemas 2. **Prompt**: A description that helps the AI understand when and how to use the action @@ -145,41 +240,59 @@ export class MintNftAction implements CdpAction { - `func`: The implementation function 4. **Implementation Function**: The actual logic that executes the action -## Adding an Agentic Action to the Langchain Toolkit +## Adding an Agentic Action to Langchain Toolkit +For both Python and Typescript, follow these steps: +1. Ensure the action is implemented in `cdp-agentkit-core` and in a released version. +2. Update the `cdp-agentkit-core` dependency to the latest version. +3. Add the action to the list of tools in the `CdpToolkit` class documentation. -1. Ensure the action is implemented in `cdp-agentkit-core` and in a released version -2. Update the `cdp-agentkit-core` dependency to the latest version -3. Add the action to the list of tools in `CdpToolkit` +## Adding an Agentic Action to the Twitter Toolkit +### Python +1. Ensure the action is implemented in `cdp-agentkit-core/actions/social/twitter`. +2. Add a wrapper method to `TwitterApiWrapper` in `./twitter_langchain/twitter_api_wrapper.py` + - E.g. +```python + def post_tweet_wrapper(self, tweet: str) -> str: + """Post tweet to Twitter. -## Development Tools + Args: + client (tweepy.Client): The tweepy client to use. + tweet (str): The text of the tweet to post to twitter. Tweets can be maximum 280 characters. -### Formatting -```bash -npm run format -``` + Returns: + str: A message containing the result of the post action and the tweet. -### Linting -```bash -# Check for lint errors -npm run lint + """ -# Fix lint errors -npm run lint-fix + return post_tweet(client=self.client, tweet=tweet) ``` +3. Add call to the wrapper in `TwitterApiWrapper.run` in `./twitter_langchain/twitter_api_wrapper.py` + - E.g. +```python + if mode == "post_tweet": + return self.post_tweet_wrapper(**kwargs) -### Testing -```bash -npm test ``` - -### Documentation -```bash -npm run docs +4. Add the action to the list of available tools in the `TwitterToolkit` in `./twitter_langchain/twitter_toolkit.py` + - E.g. +```python + actions: List[Dict] = [ + { + "mode": "post_tweet", + "name": "post_tweet", + "description": POST_TWEET_PROMPT, + "args_schema": PostTweetInput, + }, + ] ``` +5. Update `TwitterToolkit` documentation + - Add the action to the list of tools + - Add any additional ENV requirements + -## Changelog -For new features and bug fixes, please add a new changelog entry to the `CHANGELOG.md` file in the appropriate packages and include that in your Pull Request. +## Changelog +- For new features and bug fixes, please add a new changelog entry to the `CHANGELOG.md` file in the appropriate packages and include that in your Pull Request. ## Pull Request Process @@ -190,16 +303,6 @@ For new features and bug fixes, please add a new changelog entry to the `CHANGEL 5. Update the CHANGELOG.md 6. Submit a pull request -## Code Style - -All code must follow the project's ESLint and Prettier configurations. The key rules are: -- Use TypeScript -- Follow JSDoc documentation standards -- Use 2 spaces for indentation -- Maximum line length of 100 characters -- Double quotes for strings -- Semicolons required - ## Getting Help If you have questions or need help, please: @@ -207,4 +310,7 @@ If you have questions or need help, please: 2. Search through existing issues 3. Create a new issue with your question -Thank you for contributing to CDP Agentkit! +Thank you for contributing to CDP AgentKit! + + + diff --git a/cdp-agentkit-core/typescript/docs/modules.html b/cdp-agentkit-core/typescript/docs/modules.html index 150adfa92..c8ea2e1bd 100644 --- a/cdp-agentkit-core/typescript/docs/modules.html +++ b/cdp-agentkit-core/typescript/docs/modules.html @@ -1 +1 @@ -@coinbase/cdp-agentkit-core
    +@coinbase/cdp-agentkit-core
    diff --git a/cdp-agentkit-core/typescript/docs/modules/actions_cdp.html b/cdp-agentkit-core/typescript/docs/modules/actions_cdp.html index 35876ead3..57176751b 100644 --- a/cdp-agentkit-core/typescript/docs/modules/actions_cdp.html +++ b/cdp-agentkit-core/typescript/docs/modules/actions_cdp.html @@ -1 +1 @@ -actions/cdp | @coinbase/cdp-agentkit-core

    Variables

    CDP_ACTIONS

    Functions

    getAllCdpActions

    References

    CdpAction → CdpAction
    CdpActionSchemaAny → CdpActionSchemaAny
    DeployNftAction → DeployNftAction
    DeployTokenAction → DeployTokenAction
    GetBalanceAction → GetBalanceAction
    GetWalletDetailsAction → GetWalletDetailsAction
    MintNftAction → MintNftAction
    RegisterBasenameAction → RegisterBasenameAction
    RequestFaucetFundsAction → RequestFaucetFundsAction
    TradeAction → TradeAction
    TransferAction → TransferAction
    +actions/cdp | @coinbase/cdp-agentkit-core

    Variables

    CDP_ACTIONS

    Functions

    getAllCdpActions

    References

    CdpAction → CdpAction
    CdpActionSchemaAny → CdpActionSchemaAny
    DeployNftAction → DeployNftAction
    DeployTokenAction → DeployTokenAction
    GetBalanceAction → GetBalanceAction
    GetBalanceNftAction → GetBalanceNftAction
    GetWalletDetailsAction → GetWalletDetailsAction
    MintNftAction → MintNftAction
    RegisterBasenameAction → RegisterBasenameAction
    RequestFaucetFundsAction → RequestFaucetFundsAction
    TradeAction → TradeAction
    TransferAction → TransferAction
    TransferNftAction → TransferNftAction
    WrapEthAction → WrapEthAction
    diff --git a/cdp-agentkit-core/typescript/docs/modules/index.html b/cdp-agentkit-core/typescript/docs/modules/index.html index d4e1cc769..8fa166056 100644 --- a/cdp-agentkit-core/typescript/docs/modules/index.html +++ b/cdp-agentkit-core/typescript/docs/modules/index.html @@ -1 +1 @@ -index | @coinbase/cdp-agentkit-core

    References

    CDP_ACTIONS → CDP_ACTIONS
    CdpAction → CdpAction
    CdpActionSchemaAny → CdpActionSchemaAny
    CdpAgentkit → CdpAgentkit
    DeployNftAction → DeployNftAction
    DeployTokenAction → DeployTokenAction
    getAllCdpActions → getAllCdpActions
    getAllWowActions → getAllWowActions
    GetBalanceAction → GetBalanceAction
    GetWalletDetailsAction → GetWalletDetailsAction
    MintNftAction → MintNftAction
    RegisterBasenameAction → RegisterBasenameAction
    RequestFaucetFundsAction → RequestFaucetFundsAction
    TradeAction → TradeAction
    TransferAction → TransferAction
    WOW_ACTIONS → WOW_ACTIONS
    WowBuyTokenAction → WowBuyTokenAction
    WowCreateTokenAction → WowCreateTokenAction
    WowSellTokenAction → WowSellTokenAction
    +index | @coinbase/cdp-agentkit-core

    References

    AccountDetailsAction → AccountDetailsAction
    AccountMentionsAction → AccountMentionsAction
    CDP_ACTIONS → CDP_ACTIONS
    CdpAction → CdpAction
    CdpActionSchemaAny → CdpActionSchemaAny
    CdpAgentkit → CdpAgentkit
    DeployNftAction → DeployNftAction
    DeployTokenAction → DeployTokenAction
    FARCASTER_ACTIONS → FARCASTER_ACTIONS
    FarcasterAction → FarcasterAction
    FarcasterActionSchemaAny → FarcasterActionSchemaAny
    FarcasterAgentkit → FarcasterAgentkit
    getAllCdpActions → getAllCdpActions
    getAllFarcasterActions → getAllFarcasterActions
    getAllTwitterActions → getAllTwitterActions
    getAllWowActions → getAllWowActions
    GetBalanceAction → GetBalanceAction
    GetBalanceNftAction → GetBalanceNftAction
    GetWalletDetailsAction → GetWalletDetailsAction
    MintNftAction → MintNftAction
    PostTweetAction → PostTweetAction
    PostTweetReplyAction → PostTweetReplyAction
    PublishCastAction → PublishCastAction
    RegisterBasenameAction → RegisterBasenameAction
    RequestFaucetFundsAction → RequestFaucetFundsAction
    TradeAction → TradeAction
    TransferAction → TransferAction
    TransferNftAction → TransferNftAction
    TWITTER_ACTIONS → TWITTER_ACTIONS
    TwitterAction → TwitterAction
    TwitterActionSchemaAny → TwitterActionSchemaAny
    TwitterAgentkit → TwitterAgentkit
    WOW_ACTIONS → WOW_ACTIONS
    WowBuyTokenAction → WowBuyTokenAction
    WowCreateTokenAction → WowCreateTokenAction
    WowSellTokenAction → WowSellTokenAction
    WrapEthAction → WrapEthAction
    diff --git a/cdp-agentkit-core/typescript/docs/types/actions_cdp_cdp_action.CdpActionSchemaAny.html b/cdp-agentkit-core/typescript/docs/types/actions_cdp_cdp_action.CdpActionSchemaAny.html index 580d1a387..1817d2970 100644 --- a/cdp-agentkit-core/typescript/docs/types/actions_cdp_cdp_action.CdpActionSchemaAny.html +++ b/cdp-agentkit-core/typescript/docs/types/actions_cdp_cdp_action.CdpActionSchemaAny.html @@ -1 +1 @@ -CdpActionSchemaAny | @coinbase/cdp-agentkit-core
    CdpActionSchemaAny: z.ZodObject<any, any, any, any>
    +CdpActionSchemaAny | @coinbase/cdp-agentkit-core
    CdpActionSchemaAny: z.ZodObject<any, any, any, any>
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp.CDP_ACTIONS.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp.CDP_ACTIONS.html index 7da98040d..262b70302 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp.CDP_ACTIONS.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp.CDP_ACTIONS.html @@ -1 +1 @@ -CDP_ACTIONS | @coinbase/cdp-agentkit-core
    +CDP_ACTIONS | @coinbase/cdp-agentkit-core
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow.WOW_ACTIONS.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow.WOW_ACTIONS.html index 5397e0bf4..ff1f6eb2d 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow.WOW_ACTIONS.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow.WOW_ACTIONS.html @@ -1 +1 @@ -WOW_ACTIONS | @coinbase/cdp-agentkit-core
    +WOW_ACTIONS | @coinbase/cdp-agentkit-core
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_buy_token.WowBuyTokenInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_buy_token.WowBuyTokenInput.html index a462f5621..8a868e2f0 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_buy_token.WowBuyTokenInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_buy_token.WowBuyTokenInput.html @@ -1,2 +1,2 @@ -WowBuyTokenInput | @coinbase/cdp-agentkit-core
    WowBuyTokenInput: ZodObject<
        { amountEthInWei: ZodString; contractAddress: ZodString },
        "strip",
        ZodTypeAny,
        { amountEthInWei: string; contractAddress: string },
        { amountEthInWei: string; contractAddress: string },
    > = ...

    Input schema for buy token action.

    -
    +WowBuyTokenInput | @coinbase/cdp-agentkit-core
    WowBuyTokenInput: ZodObject<
        { amountEthInWei: ZodString; contractAddress: ZodString },
        "strip",
        { amountEthInWei: string; contractAddress: string },
        { amountEthInWei: string; contractAddress: string },
    > = ...

    Input schema for buy token action.

    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_create_token.WowCreateTokenInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_create_token.WowCreateTokenInput.html index 7b6c34118..9ccd89008 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_create_token.WowCreateTokenInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_create_token.WowCreateTokenInput.html @@ -1,2 +1,2 @@ -WowCreateTokenInput | @coinbase/cdp-agentkit-core
    WowCreateTokenInput: ZodObject<
        { name: ZodString; symbol: ZodString; tokenUri: ZodOptional<ZodString> },
        "strip",
        ZodTypeAny,
        { name: string; symbol: string; tokenUri?: string },
        { name: string; symbol: string; tokenUri?: string },
    > = ...

    Input schema for create token action.

    -
    +WowCreateTokenInput | @coinbase/cdp-agentkit-core
    WowCreateTokenInput: ZodObject<
        { name: ZodString; symbol: ZodString; tokenUri: ZodOptional<ZodString> },
        "strip",
        { name: string; symbol: string; tokenUri?: string },
        { name: string; symbol: string; tokenUri?: string },
    > = ...

    Input schema for create token action.

    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_sell_token.WowSellTokenInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_sell_token.WowSellTokenInput.html index ad0a2e953..ab151e4e2 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_sell_token.WowSellTokenInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_actions_sell_token.WowSellTokenInput.html @@ -1,2 +1,2 @@ -WowSellTokenInput | @coinbase/cdp-agentkit-core
    WowSellTokenInput: ZodObject<
        { amountTokensInWei: ZodString; contractAddress: ZodString },
        "strip",
        ZodTypeAny,
        { amountTokensInWei: string; contractAddress: string },
        { amountTokensInWei: string; contractAddress: string },
    > = ...

    Input schema for sell token action.

    -
    +WowSellTokenInput | @coinbase/cdp-agentkit-core
    WowSellTokenInput: ZodObject<
        { amountTokensInWei: ZodString; contractAddress: ZodString },
        "strip",
        { amountTokensInWei: string; contractAddress: string },
        { amountTokensInWei: string; contractAddress: string },
    > = ...

    Input schema for sell token action.

    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.ADDRESSES.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.ADDRESSES.html index 3856e3229..20ba8c2ac 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.ADDRESSES.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.ADDRESSES.html @@ -1 +1 @@ -ADDRESSES | @coinbase/cdp-agentkit-core
    ADDRESSES: Record<string, Record<string, string>> = ...
    +ADDRESSES | @coinbase/cdp-agentkit-core
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.GENERIC_TOKEN_METADATA_URI.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.GENERIC_TOKEN_METADATA_URI.html index e77fde896..d087a4ab4 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.GENERIC_TOKEN_METADATA_URI.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.GENERIC_TOKEN_METADATA_URI.html @@ -1 +1 @@ -GENERIC_TOKEN_METADATA_URI | @coinbase/cdp-agentkit-core
    GENERIC_TOKEN_METADATA_URI: "ipfs://QmY1GqprFYvojCcUEKgqHeDj9uhZD9jmYGrQTfA9vAE78J"
    +GENERIC_TOKEN_METADATA_URI | @coinbase/cdp-agentkit-core
    GENERIC_TOKEN_METADATA_URI: "ipfs://QmY1GqprFYvojCcUEKgqHeDj9uhZD9jmYGrQTfA9vAE78J"
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_ABI.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_ABI.html index ca16cd02d..cb074f1bf 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_ABI.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_ABI.html @@ -1 +1 @@ -WOW_ABI | @coinbase/cdp-agentkit-core
    +WOW_ABI | @coinbase/cdp-agentkit-core
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_FACTORY_ABI.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_FACTORY_ABI.html index be85366ab..d87d0174a 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_FACTORY_ABI.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_FACTORY_ABI.html @@ -1 +1 @@ -WOW_FACTORY_ABI | @coinbase/cdp-agentkit-core
    +WOW_FACTORY_ABI | @coinbase/cdp-agentkit-core
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_FACTORY_CONTRACT_ADDRESSES.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_FACTORY_CONTRACT_ADDRESSES.html index ead08fff5..0902004e1 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_FACTORY_CONTRACT_ADDRESSES.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_constants.WOW_FACTORY_CONTRACT_ADDRESSES.html @@ -1 +1 @@ -WOW_FACTORY_CONTRACT_ADDRESSES | @coinbase/cdp-agentkit-core
    WOW_FACTORY_CONTRACT_ADDRESSES: Record<string, string> = ...
    +WOW_FACTORY_CONTRACT_ADDRESSES | @coinbase/cdp-agentkit-core
    WOW_FACTORY_CONTRACT_ADDRESSES: Record<string, string> = ...
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_uniswap_constants.UNISWAP_QUOTER_ABI.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_uniswap_constants.UNISWAP_QUOTER_ABI.html index abaa9a090..f0c7eead9 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_uniswap_constants.UNISWAP_QUOTER_ABI.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_uniswap_constants.UNISWAP_QUOTER_ABI.html @@ -1 +1 @@ -UNISWAP_QUOTER_ABI | @coinbase/cdp-agentkit-core
    +UNISWAP_QUOTER_ABI | @coinbase/cdp-agentkit-core
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_uniswap_constants.UNISWAP_V3_ABI.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_uniswap_constants.UNISWAP_V3_ABI.html index c86d880b1..0bd02cf8a 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_uniswap_constants.UNISWAP_V3_ABI.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_defi_wow_uniswap_constants.UNISWAP_V3_ABI.html @@ -1 +1 @@ -UNISWAP_V3_ABI | @coinbase/cdp-agentkit-core
    +UNISWAP_V3_ABI | @coinbase/cdp-agentkit-core
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_deploy_nft.DeployNftInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_deploy_nft.DeployNftInput.html index c9cb921ac..97b5f6bad 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_deploy_nft.DeployNftInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_deploy_nft.DeployNftInput.html @@ -1,2 +1,2 @@ -DeployNftInput | @coinbase/cdp-agentkit-core
    DeployNftInput: ZodObject<
        { baseURI: ZodString; name: ZodString; symbol: ZodString },
        "strip",
        ZodTypeAny,
        { baseURI: string; name: string; symbol: string },
        { baseURI: string; name: string; symbol: string },
    > = ...

    Input schema for deploy NFT action.

    -
    +DeployNftInput | @coinbase/cdp-agentkit-core
    DeployNftInput: ZodObject<
        { baseURI: ZodString; name: ZodString; symbol: ZodString },
        "strip",
        { baseURI: string; name: string; symbol: string },
        { baseURI: string; name: string; symbol: string },
    > = ...

    Input schema for deploy NFT action.

    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_deploy_token.DeployTokenInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_deploy_token.DeployTokenInput.html index e604aa547..a057e715b 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_deploy_token.DeployTokenInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_deploy_token.DeployTokenInput.html @@ -1,2 +1,2 @@ -DeployTokenInput | @coinbase/cdp-agentkit-core
    DeployTokenInput: ZodObject<
        {
            name: ZodString;
            symbol: ZodString;
            totalSupply: ZodType<Amount, ZodTypeDef, Amount>;
        },
        "strip",
        ZodTypeAny,
        { name: string; symbol: string; totalSupply: Amount },
        { name: string; symbol: string; totalSupply: Amount },
    > = ...

    Input schema for deploy token action.

    -
    +DeployTokenInput | @coinbase/cdp-agentkit-core
    DeployTokenInput: ZodObject<
        {
            name: ZodString;
            symbol: ZodString;
            totalSupply: ZodType<Amount, Amount>;
        },
        "strip",
        { name: string; symbol: string; totalSupply: Amount },
        { name: string; symbol: string; totalSupply: Amount },
    > = ...

    Input schema for deploy token action.

    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_get_balance.GetBalanceInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_get_balance.GetBalanceInput.html index b6d5ed618..583c2af3c 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_get_balance.GetBalanceInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_get_balance.GetBalanceInput.html @@ -1,2 +1,2 @@ -GetBalanceInput | @coinbase/cdp-agentkit-core
    GetBalanceInput: ZodObject<
        { assetId: ZodString },
        "strip",
        ZodTypeAny,
        { assetId: string },
        { assetId: string },
    > = ...

    Input schema for get balance action.

    -
    +GetBalanceInput | @coinbase/cdp-agentkit-core
    GetBalanceInput: ZodObject<
        { assetId: ZodString },
        "strip",
        { assetId: string },
        { assetId: string },
    > = ...

    Input schema for get balance action.

    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_get_wallet_details.GetWalletDetailsInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_get_wallet_details.GetWalletDetailsInput.html index 4a35ee7fa..d6cc64c50 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_get_wallet_details.GetWalletDetailsInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_get_wallet_details.GetWalletDetailsInput.html @@ -1,3 +1,3 @@ -GetWalletDetailsInput | @coinbase/cdp-agentkit-core
    GetWalletDetailsInput: ZodObject<{}, "strip", ZodTypeAny, {}, {}> = ...

    Input schema for get wallet details action. +GetWalletDetailsInput | @coinbase/cdp-agentkit-core

    GetWalletDetailsInput: ZodObject<{}, "strip", {}, {}> = ...

    Input schema for get wallet details action. This schema intentionally accepts no parameters as the wallet is injected separately.

    -
    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_mint_nft.MintNftInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_mint_nft.MintNftInput.html index a405f74bb..7665ca93d 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_mint_nft.MintNftInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_mint_nft.MintNftInput.html @@ -1,2 +1,2 @@ -MintNftInput | @coinbase/cdp-agentkit-core
    MintNftInput: ZodObject<
        { contractAddress: ZodString; destination: ZodString },
        "strip",
        ZodTypeAny,
        { contractAddress: string; destination: string },
        { contractAddress: string; destination: string },
    > = ...

    Input schema for mint NFT action.

    -
    +MintNftInput | @coinbase/cdp-agentkit-core
    MintNftInput: ZodObject<
        { contractAddress: ZodString; destination: ZodString },
        "strip",
        { contractAddress: string; destination: string },
        { contractAddress: string; destination: string },
    > = ...

    Input schema for mint NFT action.

    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_MAINNET.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_MAINNET.html index a648ac46b..1ee5b921e 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_MAINNET.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_MAINNET.html @@ -1 +1 @@ -BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_MAINNET | @coinbase/cdp-agentkit-core
    BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_MAINNET: "0x4cCb0BB02FCABA27e82a56646E81d8c5bC4119a5"
    +BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_MAINNET | @coinbase/cdp-agentkit-core
    BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_MAINNET: "0x4cCb0BB02FCABA27e82a56646E81d8c5bC4119a5"
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_TESTNET.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_TESTNET.html index c1f5a51d3..580a19c9b 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_TESTNET.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_TESTNET.html @@ -1 +1 @@ -BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_TESTNET | @coinbase/cdp-agentkit-core
    BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_TESTNET: "0x49aE3cC2e3AA768B1e5654f5D3C6002144A59581"
    +BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_TESTNET | @coinbase/cdp-agentkit-core
    BASENAMES_REGISTRAR_CONTROLLER_ADDRESS_TESTNET: "0x49aE3cC2e3AA768B1e5654f5D3C6002144A59581"
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ABI.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ABI.html index 543419c21..0eefdd437 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ABI.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ABI.html @@ -1 +1 @@ -L2_RESOLVER_ABI | @coinbase/cdp-agentkit-core
    L2_RESOLVER_ABI: {
        inputs: { internalType: string; name: string; type: string }[];
        name: string;
        outputs: never[];
        stateMutability: string;
        type: string;
    }[] = ...
    +L2_RESOLVER_ABI | @coinbase/cdp-agentkit-core
    L2_RESOLVER_ABI: {
        inputs: { internalType: string; name: string; type: string }[];
        name: string;
        outputs: never[];
        stateMutability: string;
        type: string;
    }[] = ...
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ADDRESS_MAINNET.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ADDRESS_MAINNET.html index 71570be8b..243ad398a 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ADDRESS_MAINNET.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ADDRESS_MAINNET.html @@ -1 +1 @@ -L2_RESOLVER_ADDRESS_MAINNET | @coinbase/cdp-agentkit-core
    L2_RESOLVER_ADDRESS_MAINNET: "0xC6d566A56A1aFf6508b41f6c90ff131615583BCD"
    +L2_RESOLVER_ADDRESS_MAINNET | @coinbase/cdp-agentkit-core
    L2_RESOLVER_ADDRESS_MAINNET: "0xC6d566A56A1aFf6508b41f6c90ff131615583BCD"
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ADDRESS_TESTNET.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ADDRESS_TESTNET.html index 933985ed6..dd4da3042 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ADDRESS_TESTNET.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.L2_RESOLVER_ADDRESS_TESTNET.html @@ -1 +1 @@ -L2_RESOLVER_ADDRESS_TESTNET | @coinbase/cdp-agentkit-core
    L2_RESOLVER_ADDRESS_TESTNET: "0x6533C94869D28fAA8dF77cc63f9e2b2D6Cf77eBA"
    +L2_RESOLVER_ADDRESS_TESTNET | @coinbase/cdp-agentkit-core
    L2_RESOLVER_ADDRESS_TESTNET: "0x6533C94869D28fAA8dF77cc63f9e2b2D6Cf77eBA"
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.REGISTRAR_ABI.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.REGISTRAR_ABI.html index 240a09590..a3f3cc610 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.REGISTRAR_ABI.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.REGISTRAR_ABI.html @@ -1 +1 @@ -REGISTRAR_ABI | @coinbase/cdp-agentkit-core
    REGISTRAR_ABI: {
        inputs: {
            components: { internalType: string; name: string; type: string }[];
            internalType: string;
            name: string;
            type: string;
        }[];
        name: string;
        outputs: never[];
        stateMutability: string;
        type: string;
    }[] = ...
    +REGISTRAR_ABI | @coinbase/cdp-agentkit-core
    REGISTRAR_ABI: {
        inputs: {
            components: { internalType: string; name: string; type: string }[];
            internalType: string;
            name: string;
            type: string;
        }[];
        name: string;
        outputs: never[];
        stateMutability: string;
        type: string;
    }[] = ...
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.REGISTRATION_DURATION.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.REGISTRATION_DURATION.html index b56793b7e..874058350 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.REGISTRATION_DURATION.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.REGISTRATION_DURATION.html @@ -1 +1 @@ -REGISTRATION_DURATION | @coinbase/cdp-agentkit-core
    +REGISTRATION_DURATION | @coinbase/cdp-agentkit-core
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.RegisterBasenameInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.RegisterBasenameInput.html index 662c1f0a0..560a8ee8a 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.RegisterBasenameInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_register_basename.RegisterBasenameInput.html @@ -1,2 +1,2 @@ -RegisterBasenameInput | @coinbase/cdp-agentkit-core
    RegisterBasenameInput: ZodObject<
        { amount: ZodDefault<ZodString>; basename: ZodString },
        "strip",
        ZodTypeAny,
        { amount: string; basename: string },
        { amount?: string; basename: string },
    > = ...

    Input schema for registering a Basename.

    -
    +RegisterBasenameInput | @coinbase/cdp-agentkit-core
    RegisterBasenameInput: ZodObject<
        { amount: ZodDefault<ZodString>; basename: ZodString },
        "strip",
        { amount: string; basename: string },
        { amount?: string; basename: string },
    > = ...

    Input schema for registering a Basename.

    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_request_faucet_funds.RequestFaucetFundsInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_request_faucet_funds.RequestFaucetFundsInput.html index c1877894f..f70da1be3 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_request_faucet_funds.RequestFaucetFundsInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_request_faucet_funds.RequestFaucetFundsInput.html @@ -1,2 +1,2 @@ -RequestFaucetFundsInput | @coinbase/cdp-agentkit-core
    RequestFaucetFundsInput: ZodObject<
        { assetId: ZodOptional<ZodString> },
        "strip",
        ZodTypeAny,
        { assetId?: string },
        { assetId?: string },
    > = ...

    Input schema for request faucet funds action.

    -
    +RequestFaucetFundsInput | @coinbase/cdp-agentkit-core
    RequestFaucetFundsInput: ZodObject<
        { assetId: ZodOptional<ZodString> },
        "strip",
        { assetId?: string },
        { assetId?: string },
    > = ...

    Input schema for request faucet funds action.

    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_trade.TradeInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_trade.TradeInput.html index b2aefbe04..f7e43fdd7 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_trade.TradeInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_trade.TradeInput.html @@ -1,2 +1,2 @@ -TradeInput | @coinbase/cdp-agentkit-core
    TradeInput: ZodObject<
        {
            amount: ZodType<Amount, ZodTypeDef, Amount>;
            fromAssetId: ZodString;
            toAssetId: ZodString;
        },
        "strip",
        ZodTypeAny,
        { amount: Amount; fromAssetId: string; toAssetId: string },
        { amount: Amount; fromAssetId: string; toAssetId: string },
    > = ...

    Input schema for trade action.

    -
    +TradeInput | @coinbase/cdp-agentkit-core
    TradeInput: ZodObject<
        {
            amount: ZodType<Amount, Amount>;
            fromAssetId: ZodString;
            toAssetId: ZodString;
        },
        "strip",
        { amount: Amount; fromAssetId: string; toAssetId: string },
        { amount: Amount; fromAssetId: string; toAssetId: string },
    > = ...

    Input schema for trade action.

    +
    diff --git a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_transfer.TransferInput.html b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_transfer.TransferInput.html index f855f0691..b34545d3a 100644 --- a/cdp-agentkit-core/typescript/docs/variables/actions_cdp_transfer.TransferInput.html +++ b/cdp-agentkit-core/typescript/docs/variables/actions_cdp_transfer.TransferInput.html @@ -1,2 +1,2 @@ -TransferInput | @coinbase/cdp-agentkit-core
    TransferInput: ZodObject<
        {
            amount: ZodType<Amount, ZodTypeDef, Amount>;
            assetId: ZodString;
            destination: ZodString;
            gasless: ZodDefault<ZodBoolean>;
        },
        "strip",
        ZodTypeAny,
        { amount: Amount; assetId: string; destination: string; gasless: boolean },
        { amount: Amount; assetId: string; destination: string; gasless?: boolean },
    > = ...

    Input schema for transfer action.

    -
    +TransferInput | @coinbase/cdp-agentkit-core
    TransferInput: ZodObject<
        {
            amount: ZodType<Amount, Amount>;
            assetId: ZodString;
            destination: ZodString;
            gasless: ZodDefault<ZodBoolean>;
        },
        "strip",
        { amount: Amount; assetId: string; destination: string; gasless: boolean },
        { amount: Amount; assetId: string; destination: string; gasless?: boolean },
    > = ...

    Input schema for transfer action.

    +
    diff --git a/cdp-agentkit-core/typescript/src/tests/social_farcaster_publish_cast_test.ts b/cdp-agentkit-core/typescript/src/tests/social_farcaster_publish_cast_test.ts index 8583f28e5..e55d5b2cb 100644 --- a/cdp-agentkit-core/typescript/src/tests/social_farcaster_publish_cast_test.ts +++ b/cdp-agentkit-core/typescript/src/tests/social_farcaster_publish_cast_test.ts @@ -58,7 +58,6 @@ describe("Publish Cast Action", () => { const args = { castText: "Hello, world!", }; - const error = new Error("An error has occured"); const response = await publishCast(args); expect(response).toContain("Error publishing to Farcaster:"); diff --git a/cdp-langchain/typescript/docs/assets/hierarchy.js b/cdp-langchain/typescript/docs/assets/hierarchy.js index c44c6f648..88636f05d 100644 --- a/cdp-langchain/typescript/docs/assets/hierarchy.js +++ b/cdp-langchain/typescript/docs/assets/hierarchy.js @@ -1,2 +1 @@ -window.hierarchyData = - "data:application/octet-stream;base64,H4sIAAAAAAAAE6tWKsrPLylWsoqO1VEqSk3LSU0uyczPAwpU19YCABZ5P7kdAAAA"; +window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzwMKVNfWAgCbHgqm" \ No newline at end of file diff --git a/cdp-langchain/typescript/docs/assets/highlight.css b/cdp-langchain/typescript/docs/assets/highlight.css index 01460a147..d97763dca 100644 --- a/cdp-langchain/typescript/docs/assets/highlight.css +++ b/cdp-langchain/typescript/docs/assets/highlight.css @@ -11,14 +11,16 @@ --dark-hl-4: #9CDCFE; --light-hl-5: #008000; --dark-hl-5: #6A9955; - --light-hl-6: #AF00DB; - --dark-hl-6: #C586C0; - --light-hl-7: #0070C1; - --dark-hl-7: #4FC1FF; - --light-hl-8: #267F99; - --dark-hl-8: #4EC9B0; - --light-hl-9: #098658; - --dark-hl-9: #B5CEA8; + --light-hl-6: #098658; + --dark-hl-6: #B5CEA8; + --light-hl-7: #000000; + --dark-hl-7: #C8C8C8; + --light-hl-8: #AF00DB; + --dark-hl-8: #C586C0; + --light-hl-9: #0070C1; + --dark-hl-9: #4FC1FF; + --light-hl-10: #267F99; + --dark-hl-10: #4EC9B0; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -34,6 +36,7 @@ --hl-7: var(--light-hl-7); --hl-8: var(--light-hl-8); --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); --code-background: var(--light-code-background); } } @@ -48,6 +51,7 @@ --hl-7: var(--dark-hl-7); --hl-8: var(--dark-hl-8); --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); --code-background: var(--dark-code-background); } } @@ -62,6 +66,7 @@ --hl-7: var(--light-hl-7); --hl-8: var(--light-hl-8); --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); --code-background: var(--light-code-background); } @@ -76,6 +81,7 @@ --hl-7: var(--dark-hl-7); --hl-8: var(--dark-hl-8); --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); --code-background: var(--dark-code-background); } @@ -89,4 +95,5 @@ .hl-7 { color: var(--hl-7); } .hl-8 { color: var(--hl-8); } .hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } pre, code { background: var(--code-background); } diff --git a/cdp-langchain/typescript/docs/assets/icons.js b/cdp-langchain/typescript/docs/assets/icons.js index 4d97ec0c0..58882d76d 100644 --- a/cdp-langchain/typescript/docs/assets/icons.js +++ b/cdp-langchain/typescript/docs/assets/icons.js @@ -1,21 +1,18 @@ -(function () { - addIcons(); - function addIcons() { - if (document.readyState === "loading") - return document.addEventListener("DOMContentLoaded", addIcons); - const svg = document.body.appendChild( - document.createElementNS("http://www.w3.org/2000/svg", "svg"), - ); - svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; - svg.style.display = "none"; - if (location.protocol === "file:") updateUseElements(); - } +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `MMNEPVFCICPMFPCPTTAAATR`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } - function updateUseElements() { - document.querySelectorAll("use").forEach((el) => { - if (el.getAttribute("href").includes("#icon-")) { - el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); - } - }); - } -})(); + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/cdp-langchain/typescript/docs/assets/main.js b/cdp-langchain/typescript/docs/assets/main.js index cb262a89a..4f59cd955 100644 --- a/cdp-langchain/typescript/docs/assets/main.js +++ b/cdp-langchain/typescript/docs/assets/main.js @@ -1,2345 +1,9 @@ "use strict"; -window.translations = { - copy: "Copy", - copied: "Copied!", - normally_hidden: - "This member is normally hidden due to your filter settings.", - hierarchy_expand: "Expand", - hierarchy_collapse: "Collapse", -}; -("use strict"); -(() => { - var De = Object.create; - var ae = Object.defineProperty; - var Ae = Object.getOwnPropertyDescriptor; - var Fe = Object.getOwnPropertyNames; - var Ne = Object.getPrototypeOf, - Be = Object.prototype.hasOwnProperty; - var Ve = (t, e) => () => ( - e || t((e = { exports: {} }).exports, e), e.exports - ); - var je = (t, e, n, r) => { - if ((e && typeof e == "object") || typeof e == "function") - for (let i of Fe(e)) - !Be.call(t, i) && - i !== n && - ae(t, i, { - get: () => e[i], - enumerable: !(r = Ae(e, i)) || r.enumerable, - }); - return t; - }; - var qe = (t, e, n) => ( - (n = t != null ? De(Ne(t)) : {}), - je( - e || !t || !t.__esModule - ? ae(n, "default", { value: t, enumerable: !0 }) - : n, - t, - ) - ); - var he = Ve((ue, de) => { - (function () { - var t = function (e) { - var n = new t.Builder(); - return ( - n.pipeline.add(t.trimmer, t.stopWordFilter, t.stemmer), - n.searchPipeline.add(t.stemmer), - e.call(n, n), - n.build() - ); - }; - t.version = "2.3.9"; - (t.utils = {}), - (t.utils.warn = (function (e) { - return function (n) { - e.console && console.warn && console.warn(n); - }; - })(this)), - (t.utils.asString = function (e) { - return e == null ? "" : e.toString(); - }), - (t.utils.clone = function (e) { - if (e == null) return e; - for ( - var n = Object.create(null), r = Object.keys(e), i = 0; - i < r.length; - i++ - ) { - var s = r[i], - o = e[s]; - if (Array.isArray(o)) { - n[s] = o.slice(); - continue; - } - if ( - typeof o == "string" || - typeof o == "number" || - typeof o == "boolean" - ) { - n[s] = o; - continue; - } - throw new TypeError( - "clone is not deep and does not support nested objects", - ); - } - return n; - }), - (t.FieldRef = function (e, n, r) { - (this.docRef = e), (this.fieldName = n), (this._stringValue = r); - }), - (t.FieldRef.joiner = "/"), - (t.FieldRef.fromString = function (e) { - var n = e.indexOf(t.FieldRef.joiner); - if (n === -1) throw "malformed field ref string"; - var r = e.slice(0, n), - i = e.slice(n + 1); - return new t.FieldRef(i, r, e); - }), - (t.FieldRef.prototype.toString = function () { - return ( - this._stringValue == null && - (this._stringValue = - this.fieldName + t.FieldRef.joiner + this.docRef), - this._stringValue - ); - }); - (t.Set = function (e) { - if (((this.elements = Object.create(null)), e)) { - this.length = e.length; - for (var n = 0; n < this.length; n++) this.elements[e[n]] = !0; - } else this.length = 0; - }), - (t.Set.complete = { - intersect: function (e) { - return e; - }, - union: function () { - return this; - }, - contains: function () { - return !0; - }, - }), - (t.Set.empty = { - intersect: function () { - return this; - }, - union: function (e) { - return e; - }, - contains: function () { - return !1; - }, - }), - (t.Set.prototype.contains = function (e) { - return !!this.elements[e]; - }), - (t.Set.prototype.intersect = function (e) { - var n, - r, - i, - s = []; - if (e === t.Set.complete) return this; - if (e === t.Set.empty) return e; - this.length < e.length - ? ((n = this), (r = e)) - : ((n = e), (r = this)), - (i = Object.keys(n.elements)); - for (var o = 0; o < i.length; o++) { - var a = i[o]; - a in r.elements && s.push(a); - } - return new t.Set(s); - }), - (t.Set.prototype.union = function (e) { - return e === t.Set.complete - ? t.Set.complete - : e === t.Set.empty - ? this - : new t.Set( - Object.keys(this.elements).concat(Object.keys(e.elements)), - ); - }), - (t.idf = function (e, n) { - var r = 0; - for (var i in e) i != "_index" && (r += Object.keys(e[i]).length); - var s = (n - r + 0.5) / (r + 0.5); - return Math.log(1 + Math.abs(s)); - }), - (t.Token = function (e, n) { - (this.str = e || ""), (this.metadata = n || {}); - }), - (t.Token.prototype.toString = function () { - return this.str; - }), - (t.Token.prototype.update = function (e) { - return (this.str = e(this.str, this.metadata)), this; - }), - (t.Token.prototype.clone = function (e) { - return ( - (e = - e || - function (n) { - return n; - }), - new t.Token(e(this.str, this.metadata), this.metadata) - ); - }); - (t.tokenizer = function (e, n) { - if (e == null || e == null) return []; - if (Array.isArray(e)) - return e.map(function (m) { - return new t.Token( - t.utils.asString(m).toLowerCase(), - t.utils.clone(n), - ); - }); - for ( - var r = e.toString().toLowerCase(), - i = r.length, - s = [], - o = 0, - a = 0; - o <= i; - o++ - ) { - var l = r.charAt(o), - c = o - a; - if (l.match(t.tokenizer.separator) || o == i) { - if (c > 0) { - var d = t.utils.clone(n) || {}; - (d.position = [a, c]), - (d.index = s.length), - s.push(new t.Token(r.slice(a, o), d)); - } - a = o + 1; - } - } - return s; - }), - (t.tokenizer.separator = /[\s\-]+/); - (t.Pipeline = function () { - this._stack = []; - }), - (t.Pipeline.registeredFunctions = Object.create(null)), - (t.Pipeline.registerFunction = function (e, n) { - n in this.registeredFunctions && - t.utils.warn("Overwriting existing registered function: " + n), - (e.label = n), - (t.Pipeline.registeredFunctions[e.label] = e); - }), - (t.Pipeline.warnIfFunctionNotRegistered = function (e) { - var n = e.label && e.label in this.registeredFunctions; - n || - t.utils.warn( - `Function is not registered with pipeline. This may cause problems when serialising the index. -`, - e, - ); - }), - (t.Pipeline.load = function (e) { - var n = new t.Pipeline(); - return ( - e.forEach(function (r) { - var i = t.Pipeline.registeredFunctions[r]; - if (i) n.add(i); - else throw new Error("Cannot load unregistered function: " + r); - }), - n - ); - }), - (t.Pipeline.prototype.add = function () { - var e = Array.prototype.slice.call(arguments); - e.forEach(function (n) { - t.Pipeline.warnIfFunctionNotRegistered(n), this._stack.push(n); - }, this); - }), - (t.Pipeline.prototype.after = function (e, n) { - t.Pipeline.warnIfFunctionNotRegistered(n); - var r = this._stack.indexOf(e); - if (r == -1) throw new Error("Cannot find existingFn"); - (r = r + 1), this._stack.splice(r, 0, n); - }), - (t.Pipeline.prototype.before = function (e, n) { - t.Pipeline.warnIfFunctionNotRegistered(n); - var r = this._stack.indexOf(e); - if (r == -1) throw new Error("Cannot find existingFn"); - this._stack.splice(r, 0, n); - }), - (t.Pipeline.prototype.remove = function (e) { - var n = this._stack.indexOf(e); - n != -1 && this._stack.splice(n, 1); - }), - (t.Pipeline.prototype.run = function (e) { - for (var n = this._stack.length, r = 0; r < n; r++) { - for (var i = this._stack[r], s = [], o = 0; o < e.length; o++) { - var a = i(e[o], o, e); - if (!(a == null || a === "")) - if (Array.isArray(a)) - for (var l = 0; l < a.length; l++) s.push(a[l]); - else s.push(a); - } - e = s; - } - return e; - }), - (t.Pipeline.prototype.runString = function (e, n) { - var r = new t.Token(e, n); - return this.run([r]).map(function (i) { - return i.toString(); - }); - }), - (t.Pipeline.prototype.reset = function () { - this._stack = []; - }), - (t.Pipeline.prototype.toJSON = function () { - return this._stack.map(function (e) { - return t.Pipeline.warnIfFunctionNotRegistered(e), e.label; - }); - }); - (t.Vector = function (e) { - (this._magnitude = 0), (this.elements = e || []); - }), - (t.Vector.prototype.positionForIndex = function (e) { - if (this.elements.length == 0) return 0; - for ( - var n = 0, - r = this.elements.length / 2, - i = r - n, - s = Math.floor(i / 2), - o = this.elements[s * 2]; - i > 1 && (o < e && (n = s), o > e && (r = s), o != e); - - ) - (i = r - n), - (s = n + Math.floor(i / 2)), - (o = this.elements[s * 2]); - if (o == e || o > e) return s * 2; - if (o < e) return (s + 1) * 2; - }), - (t.Vector.prototype.insert = function (e, n) { - this.upsert(e, n, function () { - throw "duplicate index"; - }); - }), - (t.Vector.prototype.upsert = function (e, n, r) { - this._magnitude = 0; - var i = this.positionForIndex(e); - this.elements[i] == e - ? (this.elements[i + 1] = r(this.elements[i + 1], n)) - : this.elements.splice(i, 0, e, n); - }), - (t.Vector.prototype.magnitude = function () { - if (this._magnitude) return this._magnitude; - for (var e = 0, n = this.elements.length, r = 1; r < n; r += 2) { - var i = this.elements[r]; - e += i * i; - } - return (this._magnitude = Math.sqrt(e)); - }), - (t.Vector.prototype.dot = function (e) { - for ( - var n = 0, - r = this.elements, - i = e.elements, - s = r.length, - o = i.length, - a = 0, - l = 0, - c = 0, - d = 0; - c < s && d < o; - - ) - (a = r[c]), - (l = i[d]), - a < l - ? (c += 2) - : a > l - ? (d += 2) - : a == l && ((n += r[c + 1] * i[d + 1]), (c += 2), (d += 2)); - return n; - }), - (t.Vector.prototype.similarity = function (e) { - return this.dot(e) / this.magnitude() || 0; - }), - (t.Vector.prototype.toArray = function () { - for ( - var e = new Array(this.elements.length / 2), n = 1, r = 0; - n < this.elements.length; - n += 2, r++ - ) - e[r] = this.elements[n]; - return e; - }), - (t.Vector.prototype.toJSON = function () { - return this.elements; - }); - (t.stemmer = (function () { - var e = { - ational: "ate", - tional: "tion", - enci: "ence", - anci: "ance", - izer: "ize", - bli: "ble", - alli: "al", - entli: "ent", - eli: "e", - ousli: "ous", - ization: "ize", - ation: "ate", - ator: "ate", - alism: "al", - iveness: "ive", - fulness: "ful", - ousness: "ous", - aliti: "al", - iviti: "ive", - biliti: "ble", - logi: "log", - }, - n = { - icate: "ic", - ative: "", - alize: "al", - iciti: "ic", - ical: "ic", - ful: "", - ness: "", - }, - r = "[^aeiou]", - i = "[aeiouy]", - s = r + "[^aeiouy]*", - o = i + "[aeiou]*", - a = "^(" + s + ")?" + o + s, - l = "^(" + s + ")?" + o + s + "(" + o + ")?$", - c = "^(" + s + ")?" + o + s + o + s, - d = "^(" + s + ")?" + i, - m = new RegExp(a), - f = new RegExp(c), - L = new RegExp(l), - v = new RegExp(d), - w = /^(.+?)(ss|i)es$/, - p = /^(.+?)([^s])s$/, - y = /^(.+?)eed$/, - S = /^(.+?)(ed|ing)$/, - b = /.$/, - k = /(at|bl|iz)$/, - _ = new RegExp("([^aeiouylsz])\\1$"), - V = new RegExp("^" + s + i + "[^aeiouwxy]$"), - A = /^(.+?[^aeiou])y$/, - j = - /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/, - q = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/, - F = - /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/, - $ = /^(.+?)(s|t)(ion)$/, - Q = /^(.+?)e$/, - z = /ll$/, - W = new RegExp("^" + s + i + "[^aeiouwxy]$"), - N = function (u) { - var g, P, T, h, x, O, R; - if (u.length < 3) return u; - if ( - ((T = u.substr(0, 1)), - T == "y" && (u = T.toUpperCase() + u.substr(1)), - (h = w), - (x = p), - h.test(u) - ? (u = u.replace(h, "$1$2")) - : x.test(u) && (u = u.replace(x, "$1$2")), - (h = y), - (x = S), - h.test(u)) - ) { - var E = h.exec(u); - (h = m), h.test(E[1]) && ((h = b), (u = u.replace(h, ""))); - } else if (x.test(u)) { - var E = x.exec(u); - (g = E[1]), - (x = v), - x.test(g) && - ((u = g), - (x = k), - (O = _), - (R = V), - x.test(u) - ? (u = u + "e") - : O.test(u) - ? ((h = b), (u = u.replace(h, ""))) - : R.test(u) && (u = u + "e")); - } - if (((h = A), h.test(u))) { - var E = h.exec(u); - (g = E[1]), (u = g + "i"); - } - if (((h = j), h.test(u))) { - var E = h.exec(u); - (g = E[1]), (P = E[2]), (h = m), h.test(g) && (u = g + e[P]); - } - if (((h = q), h.test(u))) { - var E = h.exec(u); - (g = E[1]), (P = E[2]), (h = m), h.test(g) && (u = g + n[P]); - } - if (((h = F), (x = $), h.test(u))) { - var E = h.exec(u); - (g = E[1]), (h = f), h.test(g) && (u = g); - } else if (x.test(u)) { - var E = x.exec(u); - (g = E[1] + E[2]), (x = f), x.test(g) && (u = g); - } - if (((h = Q), h.test(u))) { - var E = h.exec(u); - (g = E[1]), - (h = f), - (x = L), - (O = W), - (h.test(g) || (x.test(g) && !O.test(g))) && (u = g); - } - return ( - (h = z), - (x = f), - h.test(u) && x.test(u) && ((h = b), (u = u.replace(h, ""))), - T == "y" && (u = T.toLowerCase() + u.substr(1)), - u - ); - }; - return function (M) { - return M.update(N); - }; - })()), - t.Pipeline.registerFunction(t.stemmer, "stemmer"); - (t.generateStopWordFilter = function (e) { - var n = e.reduce(function (r, i) { - return (r[i] = i), r; - }, {}); - return function (r) { - if (r && n[r.toString()] !== r.toString()) return r; - }; - }), - (t.stopWordFilter = t.generateStopWordFilter([ - "a", - "able", - "about", - "across", - "after", - "all", - "almost", - "also", - "am", - "among", - "an", - "and", - "any", - "are", - "as", - "at", - "be", - "because", - "been", - "but", - "by", - "can", - "cannot", - "could", - "dear", - "did", - "do", - "does", - "either", - "else", - "ever", - "every", - "for", - "from", - "get", - "got", - "had", - "has", - "have", - "he", - "her", - "hers", - "him", - "his", - "how", - "however", - "i", - "if", - "in", - "into", - "is", - "it", - "its", - "just", - "least", - "let", - "like", - "likely", - "may", - "me", - "might", - "most", - "must", - "my", - "neither", - "no", - "nor", - "not", - "of", - "off", - "often", - "on", - "only", - "or", - "other", - "our", - "own", - "rather", - "said", - "say", - "says", - "she", - "should", - "since", - "so", - "some", - "than", - "that", - "the", - "their", - "them", - "then", - "there", - "these", - "they", - "this", - "tis", - "to", - "too", - "twas", - "us", - "wants", - "was", - "we", - "were", - "what", - "when", - "where", - "which", - "while", - "who", - "whom", - "why", - "will", - "with", - "would", - "yet", - "you", - "your", - ])), - t.Pipeline.registerFunction(t.stopWordFilter, "stopWordFilter"); - (t.trimmer = function (e) { - return e.update(function (n) { - return n.replace(/^\W+/, "").replace(/\W+$/, ""); - }); - }), - t.Pipeline.registerFunction(t.trimmer, "trimmer"); - (t.TokenSet = function () { - (this.final = !1), - (this.edges = {}), - (this.id = t.TokenSet._nextId), - (t.TokenSet._nextId += 1); - }), - (t.TokenSet._nextId = 1), - (t.TokenSet.fromArray = function (e) { - for ( - var n = new t.TokenSet.Builder(), r = 0, i = e.length; - r < i; - r++ - ) - n.insert(e[r]); - return n.finish(), n.root; - }), - (t.TokenSet.fromClause = function (e) { - return "editDistance" in e - ? t.TokenSet.fromFuzzyString(e.term, e.editDistance) - : t.TokenSet.fromString(e.term); - }), - (t.TokenSet.fromFuzzyString = function (e, n) { - for ( - var r = new t.TokenSet(), - i = [{ node: r, editsRemaining: n, str: e }]; - i.length; - - ) { - var s = i.pop(); - if (s.str.length > 0) { - var o = s.str.charAt(0), - a; - o in s.node.edges - ? (a = s.node.edges[o]) - : ((a = new t.TokenSet()), (s.node.edges[o] = a)), - s.str.length == 1 && (a.final = !0), - i.push({ - node: a, - editsRemaining: s.editsRemaining, - str: s.str.slice(1), - }); - } - if (s.editsRemaining != 0) { - if ("*" in s.node.edges) var l = s.node.edges["*"]; - else { - var l = new t.TokenSet(); - s.node.edges["*"] = l; - } - if ( - (s.str.length == 0 && (l.final = !0), - i.push({ - node: l, - editsRemaining: s.editsRemaining - 1, - str: s.str, - }), - s.str.length > 1 && - i.push({ - node: s.node, - editsRemaining: s.editsRemaining - 1, - str: s.str.slice(1), - }), - s.str.length == 1 && (s.node.final = !0), - s.str.length >= 1) - ) { - if ("*" in s.node.edges) var c = s.node.edges["*"]; - else { - var c = new t.TokenSet(); - s.node.edges["*"] = c; - } - s.str.length == 1 && (c.final = !0), - i.push({ - node: c, - editsRemaining: s.editsRemaining - 1, - str: s.str.slice(1), - }); - } - if (s.str.length > 1) { - var d = s.str.charAt(0), - m = s.str.charAt(1), - f; - m in s.node.edges - ? (f = s.node.edges[m]) - : ((f = new t.TokenSet()), (s.node.edges[m] = f)), - s.str.length == 1 && (f.final = !0), - i.push({ - node: f, - editsRemaining: s.editsRemaining - 1, - str: d + s.str.slice(2), - }); - } - } - } - return r; - }), - (t.TokenSet.fromString = function (e) { - for ( - var n = new t.TokenSet(), r = n, i = 0, s = e.length; - i < s; - i++ - ) { - var o = e[i], - a = i == s - 1; - if (o == "*") (n.edges[o] = n), (n.final = a); - else { - var l = new t.TokenSet(); - (l.final = a), (n.edges[o] = l), (n = l); - } - } - return r; - }), - (t.TokenSet.prototype.toArray = function () { - for (var e = [], n = [{ prefix: "", node: this }]; n.length; ) { - var r = n.pop(), - i = Object.keys(r.node.edges), - s = i.length; - r.node.final && (r.prefix.charAt(0), e.push(r.prefix)); - for (var o = 0; o < s; o++) { - var a = i[o]; - n.push({ prefix: r.prefix.concat(a), node: r.node.edges[a] }); - } - } - return e; - }), - (t.TokenSet.prototype.toString = function () { - if (this._str) return this._str; - for ( - var e = this.final ? "1" : "0", - n = Object.keys(this.edges).sort(), - r = n.length, - i = 0; - i < r; - i++ - ) { - var s = n[i], - o = this.edges[s]; - e = e + s + o.id; - } - return e; - }), - (t.TokenSet.prototype.intersect = function (e) { - for ( - var n = new t.TokenSet(), - r = void 0, - i = [{ qNode: e, output: n, node: this }]; - i.length; - - ) { - r = i.pop(); - for ( - var s = Object.keys(r.qNode.edges), - o = s.length, - a = Object.keys(r.node.edges), - l = a.length, - c = 0; - c < o; - c++ - ) - for (var d = s[c], m = 0; m < l; m++) { - var f = a[m]; - if (f == d || d == "*") { - var L = r.node.edges[f], - v = r.qNode.edges[d], - w = L.final && v.final, - p = void 0; - f in r.output.edges - ? ((p = r.output.edges[f]), (p.final = p.final || w)) - : ((p = new t.TokenSet()), - (p.final = w), - (r.output.edges[f] = p)), - i.push({ qNode: v, output: p, node: L }); - } - } - } - return n; - }), - (t.TokenSet.Builder = function () { - (this.previousWord = ""), - (this.root = new t.TokenSet()), - (this.uncheckedNodes = []), - (this.minimizedNodes = {}); - }), - (t.TokenSet.Builder.prototype.insert = function (e) { - var n, - r = 0; - if (e < this.previousWord) - throw new Error("Out of order word insertion"); - for ( - var i = 0; - i < e.length && - i < this.previousWord.length && - e[i] == this.previousWord[i]; - i++ - ) - r++; - this.minimize(r), - this.uncheckedNodes.length == 0 - ? (n = this.root) - : (n = this.uncheckedNodes[this.uncheckedNodes.length - 1].child); - for (var i = r; i < e.length; i++) { - var s = new t.TokenSet(), - o = e[i]; - (n.edges[o] = s), - this.uncheckedNodes.push({ parent: n, char: o, child: s }), - (n = s); - } - (n.final = !0), (this.previousWord = e); - }), - (t.TokenSet.Builder.prototype.finish = function () { - this.minimize(0); - }), - (t.TokenSet.Builder.prototype.minimize = function (e) { - for (var n = this.uncheckedNodes.length - 1; n >= e; n--) { - var r = this.uncheckedNodes[n], - i = r.child.toString(); - i in this.minimizedNodes - ? (r.parent.edges[r.char] = this.minimizedNodes[i]) - : ((r.child._str = i), (this.minimizedNodes[i] = r.child)), - this.uncheckedNodes.pop(); - } - }); - (t.Index = function (e) { - (this.invertedIndex = e.invertedIndex), - (this.fieldVectors = e.fieldVectors), - (this.tokenSet = e.tokenSet), - (this.fields = e.fields), - (this.pipeline = e.pipeline); - }), - (t.Index.prototype.search = function (e) { - return this.query(function (n) { - var r = new t.QueryParser(e, n); - r.parse(); - }); - }), - (t.Index.prototype.query = function (e) { - for ( - var n = new t.Query(this.fields), - r = Object.create(null), - i = Object.create(null), - s = Object.create(null), - o = Object.create(null), - a = Object.create(null), - l = 0; - l < this.fields.length; - l++ - ) - i[this.fields[l]] = new t.Vector(); - e.call(n, n); - for (var l = 0; l < n.clauses.length; l++) { - var c = n.clauses[l], - d = null, - m = t.Set.empty; - c.usePipeline - ? (d = this.pipeline.runString(c.term, { fields: c.fields })) - : (d = [c.term]); - for (var f = 0; f < d.length; f++) { - var L = d[f]; - c.term = L; - var v = t.TokenSet.fromClause(c), - w = this.tokenSet.intersect(v).toArray(); - if (w.length === 0 && c.presence === t.Query.presence.REQUIRED) { - for (var p = 0; p < c.fields.length; p++) { - var y = c.fields[p]; - o[y] = t.Set.empty; - } - break; - } - for (var S = 0; S < w.length; S++) - for ( - var b = w[S], k = this.invertedIndex[b], _ = k._index, p = 0; - p < c.fields.length; - p++ - ) { - var y = c.fields[p], - V = k[y], - A = Object.keys(V), - j = b + "/" + y, - q = new t.Set(A); - if ( - (c.presence == t.Query.presence.REQUIRED && - ((m = m.union(q)), - o[y] === void 0 && (o[y] = t.Set.complete)), - c.presence == t.Query.presence.PROHIBITED) - ) { - a[y] === void 0 && (a[y] = t.Set.empty), - (a[y] = a[y].union(q)); - continue; - } - if ( - (i[y].upsert(_, c.boost, function (Re, He) { - return Re + He; - }), - !s[j]) - ) { - for (var F = 0; F < A.length; F++) { - var $ = A[F], - Q = new t.FieldRef($, y), - z = V[$], - W; - (W = r[Q]) === void 0 - ? (r[Q] = new t.MatchData(b, y, z)) - : W.add(b, y, z); - } - s[j] = !0; - } - } - } - if (c.presence === t.Query.presence.REQUIRED) - for (var p = 0; p < c.fields.length; p++) { - var y = c.fields[p]; - o[y] = o[y].intersect(m); - } - } - for ( - var N = t.Set.complete, M = t.Set.empty, l = 0; - l < this.fields.length; - l++ - ) { - var y = this.fields[l]; - o[y] && (N = N.intersect(o[y])), a[y] && (M = M.union(a[y])); - } - var u = Object.keys(r), - g = [], - P = Object.create(null); - if (n.isNegated()) { - u = Object.keys(this.fieldVectors); - for (var l = 0; l < u.length; l++) { - var Q = u[l], - T = t.FieldRef.fromString(Q); - r[Q] = new t.MatchData(); - } - } - for (var l = 0; l < u.length; l++) { - var T = t.FieldRef.fromString(u[l]), - h = T.docRef; - if (N.contains(h) && !M.contains(h)) { - var x = this.fieldVectors[T], - O = i[T.fieldName].similarity(x), - R; - if ((R = P[h]) !== void 0) - (R.score += O), R.matchData.combine(r[T]); - else { - var E = { ref: h, score: O, matchData: r[T] }; - (P[h] = E), g.push(E); - } - } - } - return g.sort(function (_e, Me) { - return Me.score - _e.score; - }); - }), - (t.Index.prototype.toJSON = function () { - var e = Object.keys(this.invertedIndex) - .sort() - .map(function (r) { - return [r, this.invertedIndex[r]]; - }, this), - n = Object.keys(this.fieldVectors).map(function (r) { - return [r, this.fieldVectors[r].toJSON()]; - }, this); - return { - version: t.version, - fields: this.fields, - fieldVectors: n, - invertedIndex: e, - pipeline: this.pipeline.toJSON(), - }; - }), - (t.Index.load = function (e) { - var n = {}, - r = {}, - i = e.fieldVectors, - s = Object.create(null), - o = e.invertedIndex, - a = new t.TokenSet.Builder(), - l = t.Pipeline.load(e.pipeline); - e.version != t.version && - t.utils.warn( - "Version mismatch when loading serialised index. Current version of lunr '" + - t.version + - "' does not match serialized index '" + - e.version + - "'", - ); - for (var c = 0; c < i.length; c++) { - var d = i[c], - m = d[0], - f = d[1]; - r[m] = new t.Vector(f); - } - for (var c = 0; c < o.length; c++) { - var d = o[c], - L = d[0], - v = d[1]; - a.insert(L), (s[L] = v); - } - return ( - a.finish(), - (n.fields = e.fields), - (n.fieldVectors = r), - (n.invertedIndex = s), - (n.tokenSet = a.root), - (n.pipeline = l), - new t.Index(n) - ); - }); - (t.Builder = function () { - (this._ref = "id"), - (this._fields = Object.create(null)), - (this._documents = Object.create(null)), - (this.invertedIndex = Object.create(null)), - (this.fieldTermFrequencies = {}), - (this.fieldLengths = {}), - (this.tokenizer = t.tokenizer), - (this.pipeline = new t.Pipeline()), - (this.searchPipeline = new t.Pipeline()), - (this.documentCount = 0), - (this._b = 0.75), - (this._k1 = 1.2), - (this.termIndex = 0), - (this.metadataWhitelist = []); - }), - (t.Builder.prototype.ref = function (e) { - this._ref = e; - }), - (t.Builder.prototype.field = function (e, n) { - if (/\//.test(e)) - throw new RangeError( - "Field '" + e + "' contains illegal character '/'", - ); - this._fields[e] = n || {}; - }), - (t.Builder.prototype.b = function (e) { - e < 0 ? (this._b = 0) : e > 1 ? (this._b = 1) : (this._b = e); - }), - (t.Builder.prototype.k1 = function (e) { - this._k1 = e; - }), - (t.Builder.prototype.add = function (e, n) { - var r = e[this._ref], - i = Object.keys(this._fields); - (this._documents[r] = n || {}), (this.documentCount += 1); - for (var s = 0; s < i.length; s++) { - var o = i[s], - a = this._fields[o].extractor, - l = a ? a(e) : e[o], - c = this.tokenizer(l, { fields: [o] }), - d = this.pipeline.run(c), - m = new t.FieldRef(r, o), - f = Object.create(null); - (this.fieldTermFrequencies[m] = f), - (this.fieldLengths[m] = 0), - (this.fieldLengths[m] += d.length); - for (var L = 0; L < d.length; L++) { - var v = d[L]; - if ( - (f[v] == null && (f[v] = 0), - (f[v] += 1), - this.invertedIndex[v] == null) - ) { - var w = Object.create(null); - (w._index = this.termIndex), (this.termIndex += 1); - for (var p = 0; p < i.length; p++) - w[i[p]] = Object.create(null); - this.invertedIndex[v] = w; - } - this.invertedIndex[v][o][r] == null && - (this.invertedIndex[v][o][r] = Object.create(null)); - for (var y = 0; y < this.metadataWhitelist.length; y++) { - var S = this.metadataWhitelist[y], - b = v.metadata[S]; - this.invertedIndex[v][o][r][S] == null && - (this.invertedIndex[v][o][r][S] = []), - this.invertedIndex[v][o][r][S].push(b); - } - } - } - }), - (t.Builder.prototype.calculateAverageFieldLengths = function () { - for ( - var e = Object.keys(this.fieldLengths), - n = e.length, - r = {}, - i = {}, - s = 0; - s < n; - s++ - ) { - var o = t.FieldRef.fromString(e[s]), - a = o.fieldName; - i[a] || (i[a] = 0), - (i[a] += 1), - r[a] || (r[a] = 0), - (r[a] += this.fieldLengths[o]); - } - for (var l = Object.keys(this._fields), s = 0; s < l.length; s++) { - var c = l[s]; - r[c] = r[c] / i[c]; - } - this.averageFieldLength = r; - }), - (t.Builder.prototype.createFieldVectors = function () { - for ( - var e = {}, - n = Object.keys(this.fieldTermFrequencies), - r = n.length, - i = Object.create(null), - s = 0; - s < r; - s++ - ) { - for ( - var o = t.FieldRef.fromString(n[s]), - a = o.fieldName, - l = this.fieldLengths[o], - c = new t.Vector(), - d = this.fieldTermFrequencies[o], - m = Object.keys(d), - f = m.length, - L = this._fields[a].boost || 1, - v = this._documents[o.docRef].boost || 1, - w = 0; - w < f; - w++ - ) { - var p = m[w], - y = d[p], - S = this.invertedIndex[p]._index, - b, - k, - _; - i[p] === void 0 - ? ((b = t.idf(this.invertedIndex[p], this.documentCount)), - (i[p] = b)) - : (b = i[p]), - (k = - (b * ((this._k1 + 1) * y)) / - (this._k1 * - (1 - this._b + this._b * (l / this.averageFieldLength[a])) + - y)), - (k *= L), - (k *= v), - (_ = Math.round(k * 1e3) / 1e3), - c.insert(S, _); - } - e[o] = c; - } - this.fieldVectors = e; - }), - (t.Builder.prototype.createTokenSet = function () { - this.tokenSet = t.TokenSet.fromArray( - Object.keys(this.invertedIndex).sort(), - ); - }), - (t.Builder.prototype.build = function () { - return ( - this.calculateAverageFieldLengths(), - this.createFieldVectors(), - this.createTokenSet(), - new t.Index({ - invertedIndex: this.invertedIndex, - fieldVectors: this.fieldVectors, - tokenSet: this.tokenSet, - fields: Object.keys(this._fields), - pipeline: this.searchPipeline, - }) - ); - }), - (t.Builder.prototype.use = function (e) { - var n = Array.prototype.slice.call(arguments, 1); - n.unshift(this), e.apply(this, n); - }), - (t.MatchData = function (e, n, r) { - for ( - var i = Object.create(null), s = Object.keys(r || {}), o = 0; - o < s.length; - o++ - ) { - var a = s[o]; - i[a] = r[a].slice(); - } - (this.metadata = Object.create(null)), - e !== void 0 && - ((this.metadata[e] = Object.create(null)), - (this.metadata[e][n] = i)); - }), - (t.MatchData.prototype.combine = function (e) { - for (var n = Object.keys(e.metadata), r = 0; r < n.length; r++) { - var i = n[r], - s = Object.keys(e.metadata[i]); - this.metadata[i] == null && - (this.metadata[i] = Object.create(null)); - for (var o = 0; o < s.length; o++) { - var a = s[o], - l = Object.keys(e.metadata[i][a]); - this.metadata[i][a] == null && - (this.metadata[i][a] = Object.create(null)); - for (var c = 0; c < l.length; c++) { - var d = l[c]; - this.metadata[i][a][d] == null - ? (this.metadata[i][a][d] = e.metadata[i][a][d]) - : (this.metadata[i][a][d] = this.metadata[i][a][d].concat( - e.metadata[i][a][d], - )); - } - } - } - }), - (t.MatchData.prototype.add = function (e, n, r) { - if (!(e in this.metadata)) { - (this.metadata[e] = Object.create(null)), (this.metadata[e][n] = r); - return; - } - if (!(n in this.metadata[e])) { - this.metadata[e][n] = r; - return; - } - for (var i = Object.keys(r), s = 0; s < i.length; s++) { - var o = i[s]; - o in this.metadata[e][n] - ? (this.metadata[e][n][o] = this.metadata[e][n][o].concat(r[o])) - : (this.metadata[e][n][o] = r[o]); - } - }), - (t.Query = function (e) { - (this.clauses = []), (this.allFields = e); - }), - (t.Query.wildcard = new String("*")), - (t.Query.wildcard.NONE = 0), - (t.Query.wildcard.LEADING = 1), - (t.Query.wildcard.TRAILING = 2), - (t.Query.presence = { OPTIONAL: 1, REQUIRED: 2, PROHIBITED: 3 }), - (t.Query.prototype.clause = function (e) { - return ( - "fields" in e || (e.fields = this.allFields), - "boost" in e || (e.boost = 1), - "usePipeline" in e || (e.usePipeline = !0), - "wildcard" in e || (e.wildcard = t.Query.wildcard.NONE), - e.wildcard & t.Query.wildcard.LEADING && - e.term.charAt(0) != t.Query.wildcard && - (e.term = "*" + e.term), - e.wildcard & t.Query.wildcard.TRAILING && - e.term.slice(-1) != t.Query.wildcard && - (e.term = "" + e.term + "*"), - "presence" in e || (e.presence = t.Query.presence.OPTIONAL), - this.clauses.push(e), - this - ); - }), - (t.Query.prototype.isNegated = function () { - for (var e = 0; e < this.clauses.length; e++) - if (this.clauses[e].presence != t.Query.presence.PROHIBITED) - return !1; - return !0; - }), - (t.Query.prototype.term = function (e, n) { - if (Array.isArray(e)) - return ( - e.forEach(function (i) { - this.term(i, t.utils.clone(n)); - }, this), - this - ); - var r = n || {}; - return (r.term = e.toString()), this.clause(r), this; - }), - (t.QueryParseError = function (e, n, r) { - (this.name = "QueryParseError"), - (this.message = e), - (this.start = n), - (this.end = r); - }), - (t.QueryParseError.prototype = new Error()), - (t.QueryLexer = function (e) { - (this.lexemes = []), - (this.str = e), - (this.length = e.length), - (this.pos = 0), - (this.start = 0), - (this.escapeCharPositions = []); - }), - (t.QueryLexer.prototype.run = function () { - for (var e = t.QueryLexer.lexText; e; ) e = e(this); - }), - (t.QueryLexer.prototype.sliceString = function () { - for ( - var e = [], n = this.start, r = this.pos, i = 0; - i < this.escapeCharPositions.length; - i++ - ) - (r = this.escapeCharPositions[i]), - e.push(this.str.slice(n, r)), - (n = r + 1); - return ( - e.push(this.str.slice(n, this.pos)), - (this.escapeCharPositions.length = 0), - e.join("") - ); - }), - (t.QueryLexer.prototype.emit = function (e) { - this.lexemes.push({ - type: e, - str: this.sliceString(), - start: this.start, - end: this.pos, - }), - (this.start = this.pos); - }), - (t.QueryLexer.prototype.escapeCharacter = function () { - this.escapeCharPositions.push(this.pos - 1), (this.pos += 1); - }), - (t.QueryLexer.prototype.next = function () { - if (this.pos >= this.length) return t.QueryLexer.EOS; - var e = this.str.charAt(this.pos); - return (this.pos += 1), e; - }), - (t.QueryLexer.prototype.width = function () { - return this.pos - this.start; - }), - (t.QueryLexer.prototype.ignore = function () { - this.start == this.pos && (this.pos += 1), (this.start = this.pos); - }), - (t.QueryLexer.prototype.backup = function () { - this.pos -= 1; - }), - (t.QueryLexer.prototype.acceptDigitRun = function () { - var e, n; - do (e = this.next()), (n = e.charCodeAt(0)); - while (n > 47 && n < 58); - e != t.QueryLexer.EOS && this.backup(); - }), - (t.QueryLexer.prototype.more = function () { - return this.pos < this.length; - }), - (t.QueryLexer.EOS = "EOS"), - (t.QueryLexer.FIELD = "FIELD"), - (t.QueryLexer.TERM = "TERM"), - (t.QueryLexer.EDIT_DISTANCE = "EDIT_DISTANCE"), - (t.QueryLexer.BOOST = "BOOST"), - (t.QueryLexer.PRESENCE = "PRESENCE"), - (t.QueryLexer.lexField = function (e) { - return ( - e.backup(), - e.emit(t.QueryLexer.FIELD), - e.ignore(), - t.QueryLexer.lexText - ); - }), - (t.QueryLexer.lexTerm = function (e) { - if ( - (e.width() > 1 && (e.backup(), e.emit(t.QueryLexer.TERM)), - e.ignore(), - e.more()) - ) - return t.QueryLexer.lexText; - }), - (t.QueryLexer.lexEditDistance = function (e) { - return ( - e.ignore(), - e.acceptDigitRun(), - e.emit(t.QueryLexer.EDIT_DISTANCE), - t.QueryLexer.lexText - ); - }), - (t.QueryLexer.lexBoost = function (e) { - return ( - e.ignore(), - e.acceptDigitRun(), - e.emit(t.QueryLexer.BOOST), - t.QueryLexer.lexText - ); - }), - (t.QueryLexer.lexEOS = function (e) { - e.width() > 0 && e.emit(t.QueryLexer.TERM); - }), - (t.QueryLexer.termSeparator = t.tokenizer.separator), - (t.QueryLexer.lexText = function (e) { - for (;;) { - var n = e.next(); - if (n == t.QueryLexer.EOS) return t.QueryLexer.lexEOS; - if (n.charCodeAt(0) == 92) { - e.escapeCharacter(); - continue; - } - if (n == ":") return t.QueryLexer.lexField; - if (n == "~") - return ( - e.backup(), - e.width() > 0 && e.emit(t.QueryLexer.TERM), - t.QueryLexer.lexEditDistance - ); - if (n == "^") - return ( - e.backup(), - e.width() > 0 && e.emit(t.QueryLexer.TERM), - t.QueryLexer.lexBoost - ); - if ((n == "+" && e.width() === 1) || (n == "-" && e.width() === 1)) - return e.emit(t.QueryLexer.PRESENCE), t.QueryLexer.lexText; - if (n.match(t.QueryLexer.termSeparator)) - return t.QueryLexer.lexTerm; - } - }), - (t.QueryParser = function (e, n) { - (this.lexer = new t.QueryLexer(e)), - (this.query = n), - (this.currentClause = {}), - (this.lexemeIdx = 0); - }), - (t.QueryParser.prototype.parse = function () { - this.lexer.run(), (this.lexemes = this.lexer.lexemes); - for (var e = t.QueryParser.parseClause; e; ) e = e(this); - return this.query; - }), - (t.QueryParser.prototype.peekLexeme = function () { - return this.lexemes[this.lexemeIdx]; - }), - (t.QueryParser.prototype.consumeLexeme = function () { - var e = this.peekLexeme(); - return (this.lexemeIdx += 1), e; - }), - (t.QueryParser.prototype.nextClause = function () { - var e = this.currentClause; - this.query.clause(e), (this.currentClause = {}); - }), - (t.QueryParser.parseClause = function (e) { - var n = e.peekLexeme(); - if (n != null) - switch (n.type) { - case t.QueryLexer.PRESENCE: - return t.QueryParser.parsePresence; - case t.QueryLexer.FIELD: - return t.QueryParser.parseField; - case t.QueryLexer.TERM: - return t.QueryParser.parseTerm; - default: - var r = "expected either a field or a term, found " + n.type; - throw ( - (n.str.length >= 1 && (r += " with value '" + n.str + "'"), - new t.QueryParseError(r, n.start, n.end)) - ); - } - }), - (t.QueryParser.parsePresence = function (e) { - var n = e.consumeLexeme(); - if (n != null) { - switch (n.str) { - case "-": - e.currentClause.presence = t.Query.presence.PROHIBITED; - break; - case "+": - e.currentClause.presence = t.Query.presence.REQUIRED; - break; - default: - var r = "unrecognised presence operator'" + n.str + "'"; - throw new t.QueryParseError(r, n.start, n.end); - } - var i = e.peekLexeme(); - if (i == null) { - var r = "expecting term or field, found nothing"; - throw new t.QueryParseError(r, n.start, n.end); - } - switch (i.type) { - case t.QueryLexer.FIELD: - return t.QueryParser.parseField; - case t.QueryLexer.TERM: - return t.QueryParser.parseTerm; - default: - var r = "expecting term or field, found '" + i.type + "'"; - throw new t.QueryParseError(r, i.start, i.end); - } - } - }), - (t.QueryParser.parseField = function (e) { - var n = e.consumeLexeme(); - if (n != null) { - if (e.query.allFields.indexOf(n.str) == -1) { - var r = e.query.allFields - .map(function (o) { - return "'" + o + "'"; - }) - .join(", "), - i = "unrecognised field '" + n.str + "', possible fields: " + r; - throw new t.QueryParseError(i, n.start, n.end); - } - e.currentClause.fields = [n.str]; - var s = e.peekLexeme(); - if (s == null) { - var i = "expecting term, found nothing"; - throw new t.QueryParseError(i, n.start, n.end); - } - switch (s.type) { - case t.QueryLexer.TERM: - return t.QueryParser.parseTerm; - default: - var i = "expecting term, found '" + s.type + "'"; - throw new t.QueryParseError(i, s.start, s.end); - } - } - }), - (t.QueryParser.parseTerm = function (e) { - var n = e.consumeLexeme(); - if (n != null) { - (e.currentClause.term = n.str.toLowerCase()), - n.str.indexOf("*") != -1 && (e.currentClause.usePipeline = !1); - var r = e.peekLexeme(); - if (r == null) { - e.nextClause(); - return; - } - switch (r.type) { - case t.QueryLexer.TERM: - return e.nextClause(), t.QueryParser.parseTerm; - case t.QueryLexer.FIELD: - return e.nextClause(), t.QueryParser.parseField; - case t.QueryLexer.EDIT_DISTANCE: - return t.QueryParser.parseEditDistance; - case t.QueryLexer.BOOST: - return t.QueryParser.parseBoost; - case t.QueryLexer.PRESENCE: - return e.nextClause(), t.QueryParser.parsePresence; - default: - var i = "Unexpected lexeme type '" + r.type + "'"; - throw new t.QueryParseError(i, r.start, r.end); - } - } - }), - (t.QueryParser.parseEditDistance = function (e) { - var n = e.consumeLexeme(); - if (n != null) { - var r = parseInt(n.str, 10); - if (isNaN(r)) { - var i = "edit distance must be numeric"; - throw new t.QueryParseError(i, n.start, n.end); - } - e.currentClause.editDistance = r; - var s = e.peekLexeme(); - if (s == null) { - e.nextClause(); - return; - } - switch (s.type) { - case t.QueryLexer.TERM: - return e.nextClause(), t.QueryParser.parseTerm; - case t.QueryLexer.FIELD: - return e.nextClause(), t.QueryParser.parseField; - case t.QueryLexer.EDIT_DISTANCE: - return t.QueryParser.parseEditDistance; - case t.QueryLexer.BOOST: - return t.QueryParser.parseBoost; - case t.QueryLexer.PRESENCE: - return e.nextClause(), t.QueryParser.parsePresence; - default: - var i = "Unexpected lexeme type '" + s.type + "'"; - throw new t.QueryParseError(i, s.start, s.end); - } - } - }), - (t.QueryParser.parseBoost = function (e) { - var n = e.consumeLexeme(); - if (n != null) { - var r = parseInt(n.str, 10); - if (isNaN(r)) { - var i = "boost must be numeric"; - throw new t.QueryParseError(i, n.start, n.end); - } - e.currentClause.boost = r; - var s = e.peekLexeme(); - if (s == null) { - e.nextClause(); - return; - } - switch (s.type) { - case t.QueryLexer.TERM: - return e.nextClause(), t.QueryParser.parseTerm; - case t.QueryLexer.FIELD: - return e.nextClause(), t.QueryParser.parseField; - case t.QueryLexer.EDIT_DISTANCE: - return t.QueryParser.parseEditDistance; - case t.QueryLexer.BOOST: - return t.QueryParser.parseBoost; - case t.QueryLexer.PRESENCE: - return e.nextClause(), t.QueryParser.parsePresence; - default: - var i = "Unexpected lexeme type '" + s.type + "'"; - throw new t.QueryParseError(i, s.start, s.end); - } - } - }), - (function (e, n) { - typeof define == "function" && define.amd - ? define(n) - : typeof ue == "object" - ? (de.exports = n()) - : (e.lunr = n()); - })(this, function () { - return t; - }); - })(); - }); - window.translations ||= { - copy: "Copy", - copied: "Copied!", - normally_hidden: - "This member is normally hidden due to your filter settings.", - hierarchy_expand: "Expand", - hierarchy_collapse: "Collapse", - }; - var le = []; - function J(t, e) { - le.push({ selector: e, constructor: t }); - } - var U = class { - alwaysVisibleMember = null; - constructor() { - this.createComponents(document.body), - this.ensureFocusedElementVisible(), - this.listenForCodeCopies(), - window.addEventListener("hashchange", () => - this.ensureFocusedElementVisible(), - ), - document.body.style.display || - (this.ensureFocusedElementVisible(), - this.updateIndexVisibility(), - this.scrollToHash()); - } - createComponents(e) { - le.forEach((n) => { - e.querySelectorAll(n.selector).forEach((r) => { - r.dataset.hasInstance || - (new n.constructor({ el: r, app: this }), - (r.dataset.hasInstance = String(!0))); - }); - }); - } - filterChanged() { - this.ensureFocusedElementVisible(); - } - showPage() { - document.body.style.display && - (document.body.style.removeProperty("display"), - this.ensureFocusedElementVisible(), - this.updateIndexVisibility(), - this.scrollToHash()); - } - scrollToHash() { - if (location.hash) { - let e = document.getElementById(location.hash.substring(1)); - if (!e) return; - e.scrollIntoView({ behavior: "instant", block: "start" }); - } - } - ensureActivePageVisible() { - let e = document.querySelector(".tsd-navigation .current"), - n = e?.parentElement; - for (; n && !n.classList.contains(".tsd-navigation"); ) - n instanceof HTMLDetailsElement && (n.open = !0), (n = n.parentElement); - if (e && !$e(e)) { - let r = - e.getBoundingClientRect().top - - document.documentElement.clientHeight / 4; - (document.querySelector(".site-menu").scrollTop = r), - (document.querySelector(".col-sidebar").scrollTop = r); - } - } - updateIndexVisibility() { - let e = document.querySelector(".tsd-index-content"), - n = e?.open; - e && (e.open = !0), - document.querySelectorAll(".tsd-index-section").forEach((r) => { - r.style.display = "block"; - let i = Array.from(r.querySelectorAll(".tsd-index-link")).every( - (s) => s.offsetParent == null, - ); - r.style.display = i ? "none" : "block"; - }), - e && (e.open = n); - } - ensureFocusedElementVisible() { - if ( - (this.alwaysVisibleMember && - (this.alwaysVisibleMember.classList.remove("always-visible"), - this.alwaysVisibleMember.firstElementChild.remove(), - (this.alwaysVisibleMember = null)), - !location.hash) - ) - return; - let e = document.getElementById(location.hash.substring(1)); - if (!e) return; - let n = e.parentElement; - for (; n && n.tagName !== "SECTION"; ) n = n.parentElement; - if (!n) return; - let r = n.offsetParent == null, - i = n; - for (; i !== document.body; ) - i instanceof HTMLDetailsElement && (i.open = !0), (i = i.parentElement); - if (n.offsetParent == null) { - (this.alwaysVisibleMember = n), n.classList.add("always-visible"); - let s = document.createElement("p"); - s.classList.add("warning"), - (s.textContent = window.translations.normally_hidden), - n.prepend(s); - } - r && e.scrollIntoView(); - } - listenForCodeCopies() { - document.querySelectorAll("pre > button").forEach((e) => { - let n; - e.addEventListener("click", () => { - e.previousElementSibling instanceof HTMLElement && - navigator.clipboard.writeText( - e.previousElementSibling.innerText.trim(), - ), - (e.textContent = window.translations.copied), - e.classList.add("visible"), - clearTimeout(n), - (n = setTimeout(() => { - e.classList.remove("visible"), - (n = setTimeout(() => { - e.textContent = window.translations.copy; - }, 100)); - }, 1e3)); - }); - }); - } - }; - function $e(t) { - let e = t.getBoundingClientRect(), - n = Math.max(document.documentElement.clientHeight, window.innerHeight); - return !(e.bottom < 0 || e.top - n >= 0); - } - var ce = (t, e = 100) => { - let n; - return () => { - clearTimeout(n), (n = setTimeout(() => t(), e)); - }; - }; - var ye = qe(he(), 1); - async function fe(t, e) { - if (!window.searchData) return; - let n = await fetch(window.searchData), - r = new Blob([await n.arrayBuffer()]) - .stream() - .pipeThrough(new DecompressionStream("gzip")), - i = await new Response(r).json(); - (t.data = i), - (t.index = ye.Index.load(i.index)), - e.classList.remove("loading"), - e.classList.add("ready"); - } - function ge() { - let t = document.getElementById("tsd-search"); - if (!t) return; - let e = { base: document.documentElement.dataset.base + "/" }, - n = document.getElementById("tsd-search-script"); - t.classList.add("loading"), - n && - (n.addEventListener("error", () => { - t.classList.remove("loading"), t.classList.add("failure"); - }), - n.addEventListener("load", () => { - fe(e, t); - }), - fe(e, t)); - let r = document.querySelector("#tsd-search input"), - i = document.querySelector("#tsd-search .results"); - if (!r || !i) - throw new Error( - "The input field or the result list wrapper was not found", - ); - i.addEventListener("mouseup", () => { - ne(t); - }), - r.addEventListener("focus", () => t.classList.add("has-focus")), - ze(t, i, r, e); - } - function ze(t, e, n, r) { - n.addEventListener( - "input", - ce(() => { - We(t, e, n, r); - }, 200), - ), - n.addEventListener("keydown", (i) => { - i.key == "Enter" - ? Ue(e, t) - : i.key == "ArrowUp" - ? (pe(e, n, -1), i.preventDefault()) - : i.key === "ArrowDown" && (pe(e, n, 1), i.preventDefault()); - }), - document.body.addEventListener("keypress", (i) => { - i.altKey || - i.ctrlKey || - i.metaKey || - (!n.matches(":focus") && - i.key === "/" && - (i.preventDefault(), n.focus())); - }), - document.body.addEventListener("keyup", (i) => { - t.classList.contains("has-focus") && - (i.key === "Escape" || - (!e.matches(":focus-within") && !n.matches(":focus"))) && - (n.blur(), ne(t)); - }); - } - function ne(t) { - t.classList.remove("has-focus"); - } - function We(t, e, n, r) { - if (!r.index || !r.data) return; - e.textContent = ""; - let i = n.value.trim(), - s; - if (i) { - let o = i - .split(" ") - .map((a) => (a.length ? `*${a}*` : "")) - .join(" "); - s = r.index.search(o); - } else s = []; - for (let o = 0; o < s.length; o++) { - let a = s[o], - l = r.data.rows[Number(a.ref)], - c = 1; - l.name.toLowerCase().startsWith(i.toLowerCase()) && - (c *= 1 + 1 / (1 + Math.abs(l.name.length - i.length))), - (a.score *= c); - } - if (s.length === 0) { - let o = document.createElement("li"); - o.classList.add("no-results"); - let a = document.createElement("span"); - (a.textContent = "No results found"), o.appendChild(a), e.appendChild(o); - } - s.sort((o, a) => a.score - o.score); - for (let o = 0, a = Math.min(10, s.length); o < a; o++) { - let l = r.data.rows[Number(s[o].ref)], - c = ``, - d = me(l.name, i); - globalThis.DEBUG_SEARCH_WEIGHTS && - (d += ` (score: ${s[o].score.toFixed(2)})`), - l.parent && - (d = ` - ${me(l.parent, i)}.${d}`); - let m = document.createElement("li"); - m.classList.value = l.classes ?? ""; - let f = document.createElement("a"); - (f.href = r.base + l.url), - (f.innerHTML = c + d), - m.append(f), - f.addEventListener("focus", () => { - e.querySelector(".current")?.classList.remove("current"), - m.classList.add("current"); - }), - e.appendChild(m); - } - } - function pe(t, e, n) { - let r = t.querySelector(".current"); - if (!r) - (r = t.querySelector(n == 1 ? "li:first-child" : "li:last-child")), - r && r.classList.add("current"); - else { - let i = r; - if (n === 1) - do i = i.nextElementSibling ?? void 0; - while (i instanceof HTMLElement && i.offsetParent == null); - else - do i = i.previousElementSibling ?? void 0; - while (i instanceof HTMLElement && i.offsetParent == null); - i - ? (r.classList.remove("current"), i.classList.add("current")) - : n === -1 && (r.classList.remove("current"), e.focus()); - } - } - function Ue(t, e) { - let n = t.querySelector(".current"); - if ((n || (n = t.querySelector("li:first-child")), n)) { - let r = n.querySelector("a"); - r && (window.location.href = r.href), ne(e); - } - } - function me(t, e) { - if (e === "") return t; - let n = t.toLocaleLowerCase(), - r = e.toLocaleLowerCase(), - i = [], - s = 0, - o = n.indexOf(r); - for (; o != -1; ) - i.push( - te(t.substring(s, o)), - `${te(t.substring(o, o + r.length))}`, - ), - (s = o + r.length), - (o = n.indexOf(r, s)); - return i.push(te(t.substring(s))), i.join(""); - } - var Je = { - "&": "&", - "<": "<", - ">": ">", - "'": "'", - '"': """, - }; - function te(t) { - return t.replace(/[&<>"'"]/g, (e) => Je[e]); - } - var I = class { - el; - app; - constructor(e) { - (this.el = e.el), (this.app = e.app); - } - }; - var H = "mousedown", - xe = "mousemove", - B = "mouseup", - G = { x: 0, y: 0 }, - ve = !1, - re = !1, - Ge = !1, - D = !1, - Ee = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( - navigator.userAgent, - ); - document.documentElement.classList.add(Ee ? "is-mobile" : "not-mobile"); - Ee && - "ontouchstart" in document.documentElement && - ((Ge = !0), (H = "touchstart"), (xe = "touchmove"), (B = "touchend")); - document.addEventListener(H, (t) => { - (re = !0), (D = !1); - let e = H == "touchstart" ? t.targetTouches[0] : t; - (G.y = e.pageY || 0), (G.x = e.pageX || 0); - }); - document.addEventListener(xe, (t) => { - if (re && !D) { - let e = H == "touchstart" ? t.targetTouches[0] : t, - n = G.x - (e.pageX || 0), - r = G.y - (e.pageY || 0); - D = Math.sqrt(n * n + r * r) > 10; - } - }); - document.addEventListener(B, () => { - re = !1; - }); - document.addEventListener("click", (t) => { - ve && (t.preventDefault(), t.stopImmediatePropagation(), (ve = !1)); - }); - var X = class extends I { - active; - className; - constructor(e) { - super(e), - (this.className = this.el.dataset.toggle || ""), - this.el.addEventListener(B, (n) => this.onPointerUp(n)), - this.el.addEventListener("click", (n) => n.preventDefault()), - document.addEventListener(H, (n) => this.onDocumentPointerDown(n)), - document.addEventListener(B, (n) => this.onDocumentPointerUp(n)); - } - setActive(e) { - if (this.active == e) return; - (this.active = e), - document.documentElement.classList.toggle("has-" + this.className, e), - this.el.classList.toggle("active", e); - let n = (this.active ? "to-has-" : "from-has-") + this.className; - document.documentElement.classList.add(n), - setTimeout(() => document.documentElement.classList.remove(n), 500); - } - onPointerUp(e) { - D || (this.setActive(!0), e.preventDefault()); - } - onDocumentPointerDown(e) { - if (this.active) { - if (e.target.closest(".col-sidebar, .tsd-filter-group")) return; - this.setActive(!1); - } - } - onDocumentPointerUp(e) { - if (!D && this.active && e.target.closest(".col-sidebar")) { - let n = e.target.closest("a"); - if (n) { - let r = window.location.href; - r.indexOf("#") != -1 && (r = r.substring(0, r.indexOf("#"))), - n.href.substring(0, r.length) == r && - setTimeout(() => this.setActive(!1), 250); - } - } - } - }; - var ie; - try { - ie = localStorage; - } catch { - ie = { - getItem() { - return null; - }, - setItem() {}, - }; - } - var C = ie; - var we = document.head.appendChild(document.createElement("style")); - we.dataset.for = "filters"; - var Y = class extends I { - key; - value; - constructor(e) { - super(e), - (this.key = `filter-${this.el.name}`), - (this.value = this.el.checked), - this.el.addEventListener("change", () => { - this.setLocalStorage(this.el.checked); - }), - this.setLocalStorage(this.fromLocalStorage()), - (we.innerHTML += `html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`), - this.app.updateIndexVisibility(); - } - fromLocalStorage() { - let e = C.getItem(this.key); - return e ? e === "true" : this.el.checked; - } - setLocalStorage(e) { - C.setItem(this.key, e.toString()), - (this.value = e), - this.handleValueChange(); - } - handleValueChange() { - (this.el.checked = this.value), - document.documentElement.classList.toggle(this.key, this.value), - this.app.filterChanged(), - this.app.updateIndexVisibility(); - } - }; - var se = new Map(), - oe = class { - open; - accordions = []; - key; - constructor(e, n) { - (this.key = e), (this.open = n); - } - add(e) { - this.accordions.push(e), - (e.open = this.open), - e.addEventListener("toggle", () => { - this.toggle(e.open); - }); - } - toggle(e) { - for (let n of this.accordions) n.open = e; - C.setItem(this.key, e.toString()); - } - }, - Z = class extends I { - constructor(e) { - super(e); - let n = this.el.querySelector("summary"), - r = n.querySelector("a"); - r && - r.addEventListener("click", () => { - location.assign(r.href); - }); - let i = `tsd-accordion-${n.dataset.key ?? n.textContent.trim().replace(/\s+/g, "-").toLowerCase()}`, - s; - if (se.has(i)) s = se.get(i); - else { - let o = C.getItem(i), - a = o ? o === "true" : this.el.open; - (s = new oe(i, a)), se.set(i, s); - } - s.add(this.el); - } - }; - function be(t) { - let e = C.getItem("tsd-theme") || "os"; - (t.value = e), - Le(e), - t.addEventListener("change", () => { - C.setItem("tsd-theme", t.value), Le(t.value); - }); - } - function Le(t) { - document.documentElement.dataset.theme = t; - } - var K; - function ke() { - let t = document.getElementById("tsd-nav-script"); - t && (t.addEventListener("load", Se), Se()); - } - async function Se() { - let t = document.getElementById("tsd-nav-container"); - if (!t || !window.navigationData) return; - let n = await (await fetch(window.navigationData)).arrayBuffer(), - r = new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")), - i = await new Response(r).json(); - (K = document.documentElement.dataset.base), - K.endsWith("/") || (K += "/"), - (t.innerHTML = ""); - for (let s of i) Ce(s, t, []); - window.app.createComponents(t), - window.app.showPage(), - window.app.ensureActivePageVisible(); - } - function Ce(t, e, n) { - let r = e.appendChild(document.createElement("li")); - if (t.children) { - let i = [...n, t.text], - s = r.appendChild(document.createElement("details")); - s.className = t.class ? `${t.class} tsd-accordion` : "tsd-accordion"; - let o = s.appendChild(document.createElement("summary")); - (o.className = "tsd-accordion-summary"), - (o.dataset.key = i.join("$")), - (o.innerHTML = - ''), - Te(t, o); - let a = s.appendChild(document.createElement("div")); - a.className = "tsd-accordion-details"; - let l = a.appendChild(document.createElement("ul")); - l.className = "tsd-nested-navigation"; - for (let c of t.children) Ce(c, l, i); - } else Te(t, r, t.class); - } - function Te(t, e, n) { - if (t.path) { - let r = e.appendChild(document.createElement("a")); - (r.href = K + t.path), - n && (r.className = n), - location.pathname === r.pathname && - !r.href.includes("#") && - r.classList.add("current"), - t.kind && - (r.innerHTML = ``), - (r.appendChild(document.createElement("span")).textContent = t.text); - } else { - let r = e.appendChild(document.createElement("span")); - (r.innerHTML = - ''), - (r.appendChild(document.createElement("span")).textContent = t.text); - } - } - var ee = document.documentElement.dataset.base; - ee.endsWith("/") || (ee += "/"); - function Qe() { - document.querySelector(".tsd-full-hierarchy") - ? Xe() - : document.querySelector(".tsd-hierarchy") && Ye(); - } - function Xe() { - document.addEventListener("click", (r) => { - let i = r.target; - for (; i.parentElement && i.parentElement.tagName != "LI"; ) - i = i.parentElement; - i.dataset.dropdown && - (i.dataset.dropdown = String(i.dataset.dropdown !== "true")); - }); - let t = new Map(), - e = new Set(); - for (let r of document.querySelectorAll( - ".tsd-full-hierarchy [data-refl]", - )) { - let i = r.querySelector("ul"); - t.has(r.dataset.refl) - ? e.add(r.dataset.refl) - : i && t.set(r.dataset.refl, i); - } - for (let r of e) n(r); - function n(r) { - let i = t.get(r).cloneNode(!0); - i.querySelectorAll("[id]").forEach((s) => { - s.removeAttribute("id"); - }), - i.querySelectorAll("[data-dropdown]").forEach((s) => { - s.dataset.dropdown = "false"; - }); - for (let s of document.querySelectorAll(`[data-refl="${r}"]`)) { - let o = et(), - a = s.querySelector("ul"); - s.insertBefore(o, a), - (o.dataset.dropdown = String(!!a)), - a || s.appendChild(i.cloneNode(!0)); - } - } - } - function Ye() { - let t = document.getElementById("tsd-hierarchy-script"); - t && (t.addEventListener("load", Ie), Ie()); - } - async function Ie() { - let t = document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)"); - if (!t || !window.hierarchyData) return; - let n = await (await fetch(window.hierarchyData)).arrayBuffer(), - r = new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")), - i = +t.dataset.refl, - s = await new Response(r).json(), - o = t.querySelector("ul"), - a = document.createElement("ul"); - if ( - (a.classList.add("tsd-hierarchy"), - Ze(a, s, i), - o.querySelectorAll("li").length == a.querySelectorAll("li").length) - ) - return; - let l = document.createElement("span"); - l.classList.add("tsd-hierarchy-toggle"), - (l.textContent = window.translations.hierarchy_expand), - t.querySelector("h4 a")?.insertAdjacentElement("afterend", l), - l.insertAdjacentText("beforebegin", ", "), - l.addEventListener("click", () => { - l.textContent === window.translations.hierarchy_expand - ? (o.insertAdjacentElement("afterend", a), - o.remove(), - (l.textContent = window.translations.hierarchy_collapse)) - : (a.insertAdjacentElement("afterend", o), - a.remove(), - (l.textContent = window.translations.hierarchy_expand)); - }); - } - function Ze(t, e, n) { - let r = e.roots.filter((i) => Ke(e, i, n)); - for (let i of r) t.appendChild(Pe(e, i, n)); - } - function Pe(t, e, n, r = new Set()) { - if (r.has(e)) return; - r.add(e); - let i = t.reflections[e], - s = document.createElement("li"); - if ((s.classList.add("tsd-hierarchy-item"), e === n)) { - let o = s.appendChild(document.createElement("span")); - (o.textContent = i.name), o.classList.add("tsd-hierarchy-target"); - } else { - for (let a of i.uniqueNameParents || []) { - let l = t.reflections[a], - c = s.appendChild(document.createElement("a")); - (c.textContent = l.name), - (c.href = ee + l.url), - (c.className = l.class + " tsd-signature-type"), - s.append(document.createTextNode(".")); - } - let o = s.appendChild(document.createElement("a")); - (o.textContent = t.reflections[e].name), - (o.href = ee + i.url), - (o.className = i.class + " tsd-signature-type"); - } - if (i.children) { - let o = s.appendChild(document.createElement("ul")); - o.classList.add("tsd-hierarchy"); - for (let a of i.children) { - let l = Pe(t, a, n, r); - l && o.appendChild(l); - } - } - return r.delete(e), s; - } - function Ke(t, e, n) { - if (e === n) return !0; - let r = new Set(), - i = [t.reflections[e]]; - for (; i.length; ) { - let s = i.pop(); - if (!r.has(s)) { - r.add(s); - for (let o of s.children || []) { - if (o === n) return !0; - i.push(t.reflections[o]); - } - } - } - return !1; - } - function et() { - let t = document.createElementNS("http://www.w3.org/2000/svg", "svg"); - return ( - t.setAttribute("width", "20"), - t.setAttribute("height", "20"), - t.setAttribute("viewBox", "0 0 24 24"), - t.setAttribute("fill", "none"), - (t.innerHTML = ''), - t - ); - } - J(X, "a[data-toggle]"); - J(Z, ".tsd-accordion"); - J(Y, ".tsd-filter-item input[type=checkbox]"); - var Oe = document.getElementById("tsd-theme"); - Oe && be(Oe); - var tt = new U(); - Object.defineProperty(window, "app", { value: tt }); - ge(); - ke(); - Qe(); -})(); +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings.","hierarchy_expand":"Expand","hierarchy_collapse":"Collapse"}; +"use strict";(()=>{var De=Object.create;var le=Object.defineProperty;var Fe=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,Be=Object.prototype.hasOwnProperty;var qe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var je=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ne(e))!Be.call(t,i)&&i!==n&&le(t,i,{get:()=>e[i],enumerable:!(r=Fe(e,i))||r.enumerable});return t};var $e=(t,e,n)=>(n=t!=null?De(Ve(t)):{},je(e||!t||!t.__esModule?le(n,"default",{value:t,enumerable:!0}):n,t));var pe=qe((de,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,c],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[c+1]*i[d+1],c+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof de=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});window.translations||={copy:"Copy",copied:"Copied!",normally_hidden:"This member is normally hidden due to your filter settings.",hierarchy_expand:"Expand",hierarchy_collapse:"Collapse"};var ce=[];function G(t,e){ce.push({selector:e,constructor:t})}var J=class{alwaysVisibleMember=null;constructor(){this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){ce.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!ze(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function ze(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var ue=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var ge=$e(pe(),1);async function H(t){let e=Uint8Array.from(atob(t),s=>s.charCodeAt(0)),r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate")),i=await new Response(r).text();return JSON.parse(i)}async function fe(t,e){if(!window.searchData)return;let n=await H(window.searchData);t.data=n,t.index=ge.Index.load(n.index),e.classList.remove("loading"),e.classList.add("ready")}function ve(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:document.documentElement.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{fe(e,t)}),fe(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{re(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),We(t,i,r,e)}function We(t,e,n,r){n.addEventListener("input",ue(()=>{Ue(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Je(e,t):i.key=="ArrowUp"?(me(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(me(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),re(t))})}function re(t){t.classList.remove("has-focus")}function Ue(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ye(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${ye(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=c+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function me(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Je(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),re(e)}}function ye(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ne(t.substring(s,o)),`${ne(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ne(t.substring(s))),i.join("")}var Ge={"&":"&","<":"<",">":">","'":"'",'"':"""};function ne(t){return t.replace(/[&<>"'"]/g,e=>Ge[e])}var I=class{el;app;constructor(e){this.el=e.el,this.app=e.app}};var A="mousedown",Ee="mousemove",B="mouseup",X={x:0,y:0},xe=!1,ie=!1,Xe=!1,D=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Xe=!0,A="touchstart",Ee="touchmove",B="touchend");document.addEventListener(A,t=>{ie=!0,D=!1;let e=A=="touchstart"?t.targetTouches[0]:t;X.y=e.pageY||0,X.x=e.pageX||0});document.addEventListener(Ee,t=>{if(ie&&!D){let e=A=="touchstart"?t.targetTouches[0]:t,n=X.x-(e.pageX||0),r=X.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var Y=class extends I{active;className;constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(A,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var se;try{se=localStorage}catch{se={getItem(){return null},setItem(){}}}var C=se;var be=document.head.appendChild(document.createElement("style"));be.dataset.for="filters";var Z=class extends I{key;value;constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),be.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=C.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){C.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var oe=new Map,ae=class{open;accordions=[];key;constructor(e,n){this.key=e,this.open=n}add(e){this.accordions.push(e),e.open=this.open,e.addEventListener("toggle",()=>{this.toggle(e.open)})}toggle(e){for(let n of this.accordions)n.open=e;C.setItem(this.key,e.toString())}},K=class extends I{constructor(e){super(e);let n=this.el.querySelector("summary"),r=n.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)});let i=`tsd-accordion-${n.dataset.key??n.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`,s;if(oe.has(i))s=oe.get(i);else{let o=C.getItem(i),a=o?o==="true":this.el.open;s=new ae(i,a),oe.set(i,s)}s.add(this.el)}};function Se(t){let e=C.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{C.setItem("tsd-theme",t.value),we(t.value)})}function we(t){document.documentElement.dataset.theme=t}var ee;function Ce(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Te),Te())}async function Te(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let e=await H(window.navigationData);ee=document.documentElement.dataset.base,ee.endsWith("/")||(ee+="/"),t.innerHTML="";for(let n of e)Ie(n,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Ie(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',ke(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let c of t.children)Ie(c,l,i)}else ke(t,r,t.class)}function ke(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=ee+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else{let r=e.appendChild(document.createElement("span"));r.innerHTML='',r.appendChild(document.createElement("span")).textContent=t.text}}var te=document.documentElement.dataset.base;te.endsWith("/")||(te+="/");function Pe(){document.querySelector(".tsd-full-hierarchy")?Ye():document.querySelector(".tsd-hierarchy")&&Ze()}function Ye(){document.addEventListener("click",r=>{let i=r.target;for(;i.parentElement&&i.parentElement.tagName!="LI";)i=i.parentElement;i.dataset.dropdown&&(i.dataset.dropdown=String(i.dataset.dropdown!=="true"))});let t=new Map,e=new Set;for(let r of document.querySelectorAll(".tsd-full-hierarchy [data-refl]")){let i=r.querySelector("ul");t.has(r.dataset.refl)?e.add(r.dataset.refl):i&&t.set(r.dataset.refl,i)}for(let r of e)n(r);function n(r){let i=t.get(r).cloneNode(!0);i.querySelectorAll("[id]").forEach(s=>{s.removeAttribute("id")}),i.querySelectorAll("[data-dropdown]").forEach(s=>{s.dataset.dropdown="false"});for(let s of document.querySelectorAll(`[data-refl="${r}"]`)){let o=tt(),a=s.querySelector("ul");s.insertBefore(o,a),o.dataset.dropdown=String(!!a),a||s.appendChild(i.cloneNode(!0))}}}function Ze(){let t=document.getElementById("tsd-hierarchy-script");t&&(t.addEventListener("load",Qe),Qe())}async function Qe(){let t=document.querySelector(".tsd-panel.tsd-hierarchy:has(h4 a)");if(!t||!window.hierarchyData)return;let e=+t.dataset.refl,n=await H(window.hierarchyData),r=t.querySelector("ul"),i=document.createElement("ul");if(i.classList.add("tsd-hierarchy"),Ke(i,n,e),r.querySelectorAll("li").length==i.querySelectorAll("li").length)return;let s=document.createElement("span");s.classList.add("tsd-hierarchy-toggle"),s.textContent=window.translations.hierarchy_expand,t.querySelector("h4 a")?.insertAdjacentElement("afterend",s),s.insertAdjacentText("beforebegin",", "),s.addEventListener("click",()=>{s.textContent===window.translations.hierarchy_expand?(r.insertAdjacentElement("afterend",i),r.remove(),s.textContent=window.translations.hierarchy_collapse):(i.insertAdjacentElement("afterend",r),i.remove(),s.textContent=window.translations.hierarchy_expand)})}function Ke(t,e,n){let r=e.roots.filter(i=>et(e,i,n));for(let i of r)t.appendChild(Oe(e,i,n))}function Oe(t,e,n,r=new Set){if(r.has(e))return;r.add(e);let i=t.reflections[e],s=document.createElement("li");if(s.classList.add("tsd-hierarchy-item"),e===n){let o=s.appendChild(document.createElement("span"));o.textContent=i.name,o.classList.add("tsd-hierarchy-target")}else{for(let a of i.uniqueNameParents||[]){let l=t.reflections[a],c=s.appendChild(document.createElement("a"));c.textContent=l.name,c.href=te+l.url,c.className=l.class+" tsd-signature-type",s.append(document.createTextNode("."))}let o=s.appendChild(document.createElement("a"));o.textContent=t.reflections[e].name,o.href=te+i.url,o.className=i.class+" tsd-signature-type"}if(i.children){let o=s.appendChild(document.createElement("ul"));o.classList.add("tsd-hierarchy");for(let a of i.children){let l=Oe(t,a,n,r);l&&o.appendChild(l)}}return r.delete(e),s}function et(t,e,n){if(e===n)return!0;let r=new Set,i=[t.reflections[e]];for(;i.length;){let s=i.pop();if(!r.has(s)){r.add(s);for(let o of s.children||[]){if(o===n)return!0;i.push(t.reflections[o])}}}return!1}function tt(){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("width","20"),t.setAttribute("height","20"),t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("fill","none"),t.innerHTML='',t}G(Y,"a[data-toggle]");G(K,".tsd-accordion");G(Z,".tsd-filter-item input[type=checkbox]");var _e=document.getElementById("tsd-theme");_e&&Se(_e);var nt=new J;Object.defineProperty(window,"app",{value:nt});ve();Ce();Pe();})(); /*! Bundled license information: lunr/lunr.js: diff --git a/cdp-langchain/typescript/docs/assets/navigation.js b/cdp-langchain/typescript/docs/assets/navigation.js index 5d9c15667..5baf28277 100644 --- a/cdp-langchain/typescript/docs/assets/navigation.js +++ b/cdp-langchain/typescript/docs/assets/navigation.js @@ -1,2 +1 @@ -window.navigationData = - "data:application/octet-stream;base64,H4sIAAAAAAAAE5WQSwqDMBBA7zLdxlqti9Ztr9CdiIgJGIwfzBSE0rs3bdREkoJdTvLm8ZjsCcgmhBR4R9kEBIYSazW2PX0IJsPv87HGVqi/Rk2QxgSqmgs6sg7SbBXc+16Y/UqUUq77n7+tJIovREMKRkkDLgPlYWNXCniR1Xqjw1bshh0qOqBmtDuJrsn5lLiWhuMekca2rtyyzYwMFV/gL+9CFRa165C+2OWcXqlZcG7sdJtof7Ex/9PqD7VcM+fry9+5se0MhAIAAA=="; +window.navigationData = "eJyVkEsKgzAQQO8y3cZarYvWba/QnYiICRiMH8wUhNK7N23URJKCXU7y5vGY7AnIJoQUeEfZBASGEms1tj19CCbD7/Oxxlaov0ZNkMYEqpoLOrIO0mwV3PtemP1KlFKu+5+/rSSKL0RDCkZJAy4D5WFjVwp4kdV6o8NW7IYdKjqgZrQ7ia7J+ZS4lobjHpHGtq7css2MDBVf4C/vQhUWteuQvtjlnF6pWXBu7HSbaH+xMf/T6g+1XDPn68vfAw7dhg==" \ No newline at end of file diff --git a/cdp-langchain/typescript/docs/assets/search.js b/cdp-langchain/typescript/docs/assets/search.js index e4dcc31f9..3393c1d54 100644 --- a/cdp-langchain/typescript/docs/assets/search.js +++ b/cdp-langchain/typescript/docs/assets/search.js @@ -1,2 +1 @@ -window.searchData = - "data:application/octet-stream;base64,H4sIAAAAAAAAE62WTY+bMBCG/4tzZRNsvrn21HvVSxRFEbhatHwJk7YSyn/vAGbHXjsbSPeUjPHzzth+xzCQrvkjSHocyFtR5yRlDqkvFScpgZD/JQ65diVEVZNfSy4O0+j+ta9KeJSVFyE44ITcHFOhb5ryrejFIcvbswwMwWXSWZn0qT5l8XuGb3n744OuZOy6ON+SwiHtpeN1f69yLCGguMisqUXfXbO+6Z6qYacLrK9HEVJ3x2W+dgDiuaoW9H/r0d2AgNUHWNJWB1gXqcjJaY9PXanwufO+k3T1MWMBC3/vdEX2yqvLpiLeka/IP/1syS6Br8idc5F1RdsXTb2pBJ17shLm+mjAc3YpN9lvtxCYvRf5SyFe2q7pedbzfFM1Pk18z/U/uxPNy3sHgngj2/dhfgE8TLQiy6MUJ0f+Swfym3diPJ2UsL23T2D2r4KX+fiOWhyXNVU18g7Jm+w6/T3JaT/52GDj5Hn2wSXO0XWYt3dZeDo5xwWeHkwDiwaOTCCFiNpAaoBUAxlEzKHRPqGxBjIDZBroQeTZQM8APQ30IfJtpfoG6GtgAFFgAwMDDDQwhCi0lRoaYKiB0b01RgYYaWAMUWQrNTbAWAPBQcfYBiYGmOgGGP2QWB1geod+MM/kHqvvqMU/uoHoXQdR00JU9xD17p0MNV0kh6bug7aDi+f73IXQPPKSGshZdiasRjb+QKDgdLjdsBMhUppxfDalXrofVUIUCWcKitigNd1XKMdQjkk5tk5OfRujnod63kxGq+S01wrKJcqWuauE5Ec3Sii7vk5hviNRIEaBZJXA8o2AEhFKxKsk7B/+ipeUfVktKFQFHxX89QrK1ydKBSgVPJaCZmmLlpdFDcTxdLv9AwCGIGpCDQAA"; +window.searchData = "eJytlk2PmzAQhv+Lc2UTbL659tR71UsURRG4WrR8CZO2Esp/7wBmx147G0j3lIzx887YfscwkK75I0h6HMhbUeckZQ6pLxUnKYGQ/yUOuXYlRFWTX0suDtPo/rWvSniUlRchOOCE3BxToW+a8q3oxSHL27MMDMFl0lmZ9Kk+ZfF7hm95++ODrmTsujjfksIh7aXjdX+vciwhoLjIrKlF312zvumeqmGnC6yvRxFSd8dlvnYA4rmqFvR/69HdgIDVB1jSVgdYF6nIyWmPT12p8LnzvpN09TFjAQt/73RF9sqry6Yi3pGvyD/9bMkuga/InXORdUXbF029qQSde7IS5vpowHN2KTfZb7cQmL0X+UshXtqu6XnW83xTNT5NfM/1P7sTzct7B4J4I9v3YX4BPEy0IsujFCdH/ksH8pt3YjydlLC9t09g9q+Cl/n4jloclzVVNfIOyZvsOv09yWk/+dhg4+R59sElztF1mLd3WXg6OccFnh5MA4sGjkwghYjaQGqAVAMZRMyh0T6hsQYyA2Qa6EHk2UDPAD0N9CHybaX6BuhrYABRYAMDAww0MIQotJUaGmCogdG9NUYGGGlgDFFkKzU2wFgDwUHH2AYmBpjoBhj9kFgdYHqHfjDP5B6r76jFP7qB6F0HUdNCVPcQ9e6dDDVdJIem7oO2g4vn+9yF0DzykhrIWXYmrEY2/kCg4HS43bATIVKacXw2pV66H1VCFAlnCorYoDXdVyjHUI5JObZOTn0bo56Het5MRqvktNcKyiXKlrmrhORHN0oou75OYb4jUSBGgWSVwPKNgBIRSsSrJOwf/oqXlH1ZLShUBR8V/PUKytcnSgUoFTyWgmZpi5aXRQ3E8XS7/QO4OV9P"; \ No newline at end of file diff --git a/cdp-langchain/typescript/docs/assets/style.css b/cdp-langchain/typescript/docs/assets/style.css index 499bc2840..7f80f3dc2 100644 --- a/cdp-langchain/typescript/docs/assets/style.css +++ b/cdp-langchain/typescript/docs/assets/style.css @@ -29,9 +29,9 @@ --light-color-ts-function: #572be7; --light-color-ts-class: #1f70c2; --light-color-ts-interface: #108024; - --light-color-ts-constructor: #4d7fff; - --light-color-ts-property: #ff984d; - --light-color-ts-method: #ff4db8; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: #9f5f30; + --light-color-ts-method: #be3989; --light-color-ts-reference: #ff4d82; --light-color-ts-call-signature: var(--light-color-ts-method); --light-color-ts-index-signature: var(--light-color-ts-property); @@ -41,7 +41,7 @@ --light-color-ts-parameter: var(--light-color-ts-variable); /* type literal not included as links will never be generated to it */ --light-color-ts-type-parameter: #a55c0e; - --light-color-ts-accessor: #ff4d4d; + --light-color-ts-accessor: #c73c3c; --light-color-ts-get-signature: var(--light-color-ts-accessor); --light-color-ts-set-signature: var(--light-color-ts-accessor); --light-color-ts-type-alias: #d51270; @@ -86,7 +86,7 @@ --dark-color-ts-function: #a280ff; --dark-color-ts-class: #8ac4ff; --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: #4d7fff; + --dark-color-ts-constructor: var(--dark-color-ts-class); --dark-color-ts-property: #ff984d; --dark-color-ts-method: #ff4db8; --dark-color-ts-reference: #ff4d82; @@ -96,7 +96,7 @@ --dark-color-ts-parameter: var(--dark-color-ts-variable); /* type literal not included as links will never be generated to it */ --dark-color-ts-type-parameter: #e07d13; - --dark-color-ts-accessor: #ff4d4d; + --dark-color-ts-accessor: #ff6060; --dark-color-ts-get-signature: var(--dark-color-ts-accessor); --dark-color-ts-set-signature: var(--dark-color-ts-accessor); --dark-color-ts-type-alias: #ff6492; diff --git a/cdp-langchain/typescript/docs/classes/index.Tool.html b/cdp-langchain/typescript/docs/classes/index.Tool.html index 77326a680..e1dc417eb 100644 --- a/cdp-langchain/typescript/docs/classes/index.Tool.html +++ b/cdp-langchain/typescript/docs/classes/index.Tool.html @@ -1,5 +1,5 @@ Tool | @coinbase/cdp-langchain

    Base class for Tools that accept input as a string.

    -

    Hierarchy

    • StructuredTool<ZodObjectAny>
      • Tool

    Constructors

    Hierarchy

    • StructuredTool<ZodObjectAny>
      • Tool

    Constructors

    Properties

    Constructors

    • Parameters

      • Optionalfields: ToolParams

      Returns Tool

    Properties

    callbacks?: Callbacks
    description: string
    lc_kwargs: SerializedFields
    lc_runnable: boolean
    lc_serializable: boolean
    metadata?: Record<string, unknown>
    name: string
    responseFormat?: string

    The tool response format.

    +

    Constructors

    • Parameters

      • Optionalfields: ToolParams

      Returns Tool

    Properties

    callbacks?: Callbacks
    description: string
    lc_kwargs: SerializedFields
    lc_runnable: boolean
    lc_serializable: boolean
    metadata?: Record<string, unknown>
    name: string
    responseFormat?: string

    The tool response format.

    If "content" then the output of the tool is interpreted as the contents of a ToolMessage. If "content_and_artifact" then the output is expected to be a two-tuple corresponding to the (content, artifact) of a ToolMessage.

    "content"
     
    -
    returnDirect: boolean
    schema: ZodEffects<
        ZodObject<
            { input: ZodOptional<ZodString> },
            "strip",
            ZodTypeAny,
            { input?: string },
            { input?: string },
        >,
        undefined | string,
        { input?: string },
    >
    tags?: string[]
    verbose: boolean

    Whether to print out response text.

    -
    verboseParsingErrors: boolean

    Accessors

    • get lc_aliases(): undefined | { [key: string]: string }
    • A map of aliases for constructor args. +

    returnDirect: boolean
    schema: ZodEffects<
        ZodObject<
            { input: ZodOptional<ZodString> },
            "strip",
            { input?: string },
            { input?: string },
        >,
        undefined | string,
        { input?: string },
    >
    tags?: string[]
    verbose: boolean

    Whether to print out response text.

    +
    verboseParsingErrors: boolean

    Accessors

    • get lc_aliases(): undefined | { [key: string]: string }
    • A map of aliases for constructor args. Keys are the attribute names, e.g. "foo". Values are the alias that will replace the key in serialization. This is used to eg. make argument names match Python.

      @@ -68,68 +68,68 @@

      Returns undefined | { [key: string]: undefined }

    • get lc_id(): string[]
    • The final serialized identifier for the module.

      Returns string[]

    • get lc_namespace(): string[]
    • A path to the module that contains the class, eg. ["langchain", "llms"] Usually should be the same as the entrypoint the class is exported from.

      -

      Returns string[]

    • get lc_secrets(): undefined | { [key: string]: string }
    • A map of secrets, which will be omitted from serialization. +

      Returns string[]

    • get lc_secrets(): undefined | { [key: string]: string }
    • A map of secrets, which will be omitted from serialization. Keys are paths to the secret in constructor args, e.g. "foo.bar.baz". Values are the secret ids, which will be used when deserializing.

      -

      Returns undefined | { [key: string]: string }

    Methods

    • Internal method that handles batching and configuration for a runnable +

      Returns undefined | { [key: string]: string }

    Methods

    • Internal method that handles batching and configuration for a runnable It takes a function, input values, and optional configuration, and returns a promise that resolves to the output values.

      -

      Type Parameters

      • T extends string | ToolCall | { [key: string]: any }

      Parameters

      • func: (
            inputs: T[],
            options?: Partial<RunnableConfig<Record<string, any>>>[],
            runManagers?: (undefined | CallbackManagerForChainRun)[],
            batchOptions?: RunnableBatchOptions,
        ) => Promise<any[]>

        The function to be executed for each input value.

        -
      • inputs: T[]
      • Optionaloptions:
            | Partial<RunnableConfig<Record<string, any>> & { runType?: string }>
            | Partial<RunnableConfig<Record<string, any>> & { runType?: string }>[]
      • OptionalbatchOptions: RunnableBatchOptions

      Returns Promise<any[]>

      A promise that resolves to the output values.

      -
    • Parameters

      • arg: any
      • OptionalrunManager: CallbackManagerForToolRun
      • OptionalparentConfig: RunnableConfig<Record<string, any>>

      Returns Promise<any>

    • Type Parameters

      • T extends string | ToolCall | { [key: string]: any }

      Parameters

      • func:
            | (input: T) => Promise<any>
            | (
                input: T,
                config?: Partial<RunnableConfig<Record<string, any>>>,
                runManager?: CallbackManagerForChainRun,
            ) => Promise<any>
      • input: T
      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>> & { runType?: string }

      Returns Promise<any>

    • Type Parameters

      • O extends RunnableConfig<Record<string, any>> & { runType?: string }

      Parameters

      • options: Partial<O> | Partial<O>[]
      • Optionallength: number

      Returns Partial<O>[]

    • Parameters

      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>>

      Returns [
          RunnableConfig<Record<string, any>>,
          Omit<
              Partial<RunnableConfig<Record<string, any>>>,
              keyof RunnableConfig<Record<string, any>>,
          >,
      ]

    • Default streaming implementation. +

      Type Parameters

      • T extends string | ToolCall | { [key: string]: any }

      Parameters

      • func: (
            inputs: T[],
            options?: Partial<RunnableConfig>[],
            runManagers?: (undefined | CallbackManagerForChainRun)[],
            batchOptions?: RunnableBatchOptions,
        ) => Promise<any[]>

        The function to be executed for each input value.

        +
      • inputs: T[]
      • Optionaloptions:
            | Partial<RunnableConfig & { runType?: string }>
            | Partial<RunnableConfig & { runType?: string }>[]
      • OptionalbatchOptions: RunnableBatchOptions

      Returns Promise<any[]>

      A promise that resolves to the output values.

      +
    • Parameters

      • arg: any
      • OptionalrunManager: CallbackManagerForToolRun
      • OptionalparentConfig: ToolRunnableConfig<Record<string, any>>

      Returns Promise<any>

    • Type Parameters

      • T extends string | ToolCall | { [key: string]: any }

      Parameters

      • func:
            | (input: T) => Promise<any>
            | (
                input: T,
                config?: Partial<RunnableConfig>,
                runManager?: CallbackManagerForChainRun,
            ) => Promise<any>
      • input: T
      • Optionaloptions: Partial<RunnableConfig> & { runType?: string }

      Returns Promise<any>

    • Type Parameters

      • O extends RunnableConfig & { runType?: string }

      Parameters

      • options: Partial<O> | Partial<O>[]
      • Optionallength: number

      Returns Partial<O>[]

    • Parameters

      • Optionaloptions: Partial<RunnableConfig>

      Returns [RunnableConfig, Omit<Partial<RunnableConfig>, keyof RunnableConfig>]

    • Default streaming implementation. Subclasses should override this method if they support streaming output.

      -

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>>

      Returns AsyncGenerator<any, any, unknown>

    • Parameters

      • input: string | ToolCall | { [key: string]: any }
      • logStreamCallbackHandler: LogStreamCallbackHandler
      • config: Partial<RunnableConfig<Record<string, any>>>

      Returns AsyncGenerator<RunLogPatch, any, unknown>

    • Helper method to transform an Iterator of Input values into an Iterator of +

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig>

      Returns AsyncGenerator

    • Parameters

      • input: string | ToolCall | { [key: string]: any }
      • logStreamCallbackHandler: LogStreamCallbackHandler
      • config: Partial<RunnableConfig>

      Returns AsyncGenerator<RunLogPatch>

    • Helper method to transform an Iterator of Input values into an Iterator of Output values, with callbacks. Use this to implement stream() or transform() in Runnable subclasses.

      -

      Type Parameters

      • I extends string | ToolCall | { [key: string]: any }
      • O extends any

      Parameters

      • inputGenerator: AsyncGenerator<I, any, unknown>
      • transformer: (
            generator: AsyncGenerator<I, any, unknown>,
            runManager?: CallbackManagerForChainRun,
            options?: Partial<RunnableConfig<Record<string, any>>>,
        ) => AsyncGenerator<O, any, unknown>
      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>> & { runType?: string }

      Returns AsyncGenerator<O, any, unknown>

    • Assigns new fields to the dict output of this runnable. Returns a new runnable.

      -

      Parameters

      • mapping: RunnableMapLike<Record<string, unknown>, Record<string, unknown>>

      Returns Runnable<any, any, RunnableConfig<Record<string, any>>>

    • Convert a runnable to a tool. Return a new instance of RunnableToolLike +

      Type Parameters

      • I extends string | ToolCall | { [key: string]: any }
      • O extends any

      Parameters

      • inputGenerator: AsyncGenerator<I>
      • transformer: (
            generator: AsyncGenerator<I>,
            runManager?: CallbackManagerForChainRun,
            options?: Partial<RunnableConfig>,
        ) => AsyncGenerator<O>
      • Optionaloptions: Partial<RunnableConfig> & { runType?: string }

      Returns AsyncGenerator<O>

    • Assigns new fields to the dict output of this runnable. Returns a new runnable.

      +

      Parameters

      • mapping: RunnableMapLike<Record<string, unknown>, Record<string, unknown>>

      Returns Runnable

    • Convert a runnable to a tool. Return a new instance of RunnableToolLike which contains the runnable, name, description and schema.

      -

      Type Parameters

      • T extends string | ToolCall | { [key: string]: any } = string | ToolCall | { [key: string]: any }

      Parameters

      • fields: { description?: string; name?: string; schema: ZodType<T, ZodTypeDef, T> }
        • Optionaldescription?: string

          The description of the tool. Falls back to the description on the Zod schema if not provided, or undefined if neither are provided.

          -
        • Optionalname?: string

          The name of the tool. If not provided, it will default to the name of the runnable.

          -
        • schema: ZodType<T, ZodTypeDef, T>

          The Zod schema for the input of the tool. Infers the Zod type from the input type of the runnable.

          -

      Returns RunnableToolLike<ZodType<ToolCall | T, ZodTypeDef, ToolCall | T>, any>

      An instance of RunnableToolLike which is a runnable that can be used as a tool.

      -
    • Default implementation of batch, which calls invoke N times. +

      Type Parameters

      • T extends string | ToolCall | { [key: string]: any } = string | ToolCall | { [key: string]: any }

      Parameters

      • fields: { description?: string; name?: string; schema: ZodType<T, T> }
        • Optionaldescription?: string

          The description of the tool. Falls back to the description on the Zod schema if not provided, or undefined if neither are provided.

          +
        • Optionalname?: string

          The name of the tool. If not provided, it will default to the name of the runnable.

          +
        • schema: ZodType<T, T>

          The Zod schema for the input of the tool. Infers the Zod type from the input type of the runnable.

          +

      Returns RunnableToolLike<ZodType<ToolCall | T, ToolCall | T>, any>

      An instance of RunnableToolLike which is a runnable that can be used as a tool.

      +
    • Default implementation of batch, which calls invoke N times. Subclasses should override this method if they can batch more efficiently.

      Parameters

      • inputs: (string | ToolCall | { [key: string]: any })[]

        Array of inputs to each batch call.

        -
      • Optionaloptions:
            | Partial<RunnableConfig<Record<string, any>>>
            | Partial<RunnableConfig<Record<string, any>>>[]

        Either a single call options object to apply to each batch call or an array for each call.

        +
      • Optionaloptions: Partial<RunnableConfig> | Partial<RunnableConfig>[]

        Either a single call options object to apply to each batch call or an array for each call.

      • OptionalbatchOptions: RunnableBatchOptions & { returnExceptions?: false }
        • returnExceptions

          Whether to return errors rather than throwing on the first one

          -
        • OptionalreturnExceptions?: false

          Whether to return errors rather than throwing on the first one

          +
        • OptionalreturnExceptions?: false

          Whether to return errors rather than throwing on the first one

      Returns Promise<any[]>

      An array of RunOutputs, or mixed RunOutputs and errors if batchOptions.returnExceptions is set

      -
    • Default implementation of batch, which calls invoke N times. +

    • Default implementation of batch, which calls invoke N times. Subclasses should override this method if they can batch more efficiently.

      Parameters

      • inputs: (string | ToolCall | { [key: string]: any })[]

        Array of inputs to each batch call.

        -
      • Optionaloptions:
            | Partial<RunnableConfig<Record<string, any>>>
            | Partial<RunnableConfig<Record<string, any>>>[]

        Either a single call options object to apply to each batch call or an array for each call.

        +
      • Optionaloptions: Partial<RunnableConfig> | Partial<RunnableConfig>[]

        Either a single call options object to apply to each batch call or an array for each call.

      • OptionalbatchOptions: RunnableBatchOptions & { returnExceptions: true }
        • returnExceptions

          Whether to return errors rather than throwing on the first one

          -
        • returnExceptions: true

          Whether to return errors rather than throwing on the first one

          +
        • returnExceptions: true

          Whether to return errors rather than throwing on the first one

      Returns Promise<any[]>

      An array of RunOutputs, or mixed RunOutputs and errors if batchOptions.returnExceptions is set

      -
    • Default implementation of batch, which calls invoke N times. +

    • Default implementation of batch, which calls invoke N times. Subclasses should override this method if they can batch more efficiently.

      Parameters

      • inputs: (string | ToolCall | { [key: string]: any })[]

        Array of inputs to each batch call.

        -
      • Optionaloptions:
            | Partial<RunnableConfig<Record<string, any>>>
            | Partial<RunnableConfig<Record<string, any>>>[]

        Either a single call options object to apply to each batch call or an array for each call.

        +
      • Optionaloptions: Partial<RunnableConfig> | Partial<RunnableConfig>[]

        Either a single call options object to apply to each batch call or an array for each call.

      • OptionalbatchOptions: RunnableBatchOptions
        • returnExceptions

          Whether to return errors rather than throwing on the first one

      Returns Promise<any[]>

      An array of RunOutputs, or mixed RunOutputs and errors if batchOptions.returnExceptions is set

      -
    • Bind arguments to a Runnable, returning a new Runnable.

      -

      Parameters

      • kwargs: Partial<RunnableConfig<Record<string, any>>>

      Returns Runnable<
          string
          | ToolCall
          | { [key: string]: any },
          any,
          RunnableConfig<Record<string, any>>,
      >

      A new RunnableBinding that, when invoked, will apply the bound args.

      -
    • Parameters

      • arg: undefined | string | ToolCall | { input?: string }

        The input argument for the tool, which can be a string, undefined, or an input of the tool's schema.

        -
      • Optionalcallbacks: RunnableConfig<Record<string, any>> | Callbacks

        Optional callbacks for the tool.

        +
    • Bind arguments to a Runnable, returning a new Runnable.

      +

      Parameters

      • kwargs: Partial<RunnableConfig>

      Returns Runnable<string | ToolCall | { [key: string]: any }>

      A new RunnableBinding that, when invoked, will apply the bound args.

      +
    • Parameters

      • arg: undefined | string | ToolCall | { input?: string }

        The input argument for the tool, which can be a string, undefined, or an input of the tool's schema.

        +
      • Optionalcallbacks: RunnableConfig | Callbacks

        Optional callbacks for the tool.

      Returns Promise<any>

      A Promise that resolves with a string.

      Use .invoke() instead. Will be removed in 0.3.0.

      Calls the tool with the provided argument and callbacks. It handles string inputs specifically.

      -
    • Parameters

      • Optional_: RunnableConfig<Record<string, any>>

      Returns Graph

    • Parameters

      • Optionalsuffix: string

      Returns string

    • Invokes the tool with the provided input and configuration.

      +
    • Parameters

      • Optional_: RunnableConfig

      Returns Graph

    • Parameters

      • Optionalsuffix: string

      Returns string

    • Invokes the tool with the provided input and configuration.

      Parameters

      • input: string | ToolCall | { [key: string]: any }

        The input for the tool.

        -
      • Optionalconfig: RunnableConfig<Record<string, any>>

        Optional configuration for the tool.

        +
      • Optionalconfig: RunnableConfig

        Optional configuration for the tool.

      Returns Promise<any>

      A Promise that resolves with a string.

      -
    • Return a new Runnable that maps a list of inputs to a list of outputs, +

    • Return a new Runnable that maps a list of inputs to a list of outputs, by calling invoke() with each input.

      -

      Returns Runnable<
          (string | ToolCall | { [key: string]: any })[],
          any[],
          RunnableConfig<Record<string, any>>,
      >

    • Pick keys from the dict output of this runnable. Returns a new runnable.

      -

      Parameters

      • keys: string | string[]

      Returns Runnable<any, any, RunnableConfig<Record<string, any>>>

    • Create a new runnable sequence that runs each individual runnable in series, +

      Returns Runnable<(string | ToolCall | { [key: string]: any })[], any[]>

    • Pick keys from the dict output of this runnable. Returns a new runnable.

      +

      Parameters

      • keys: string | string[]

      Returns Runnable

    • Create a new runnable sequence that runs each individual runnable in series, piping the output of one runnable into another runnable or runnable-like.

      -

      Type Parameters

      • NewRunOutput

      Parameters

      • coerceable: RunnableLike<any, NewRunOutput, RunnableConfig<Record<string, any>>>

        A runnable, function, or object whose values are functions or runnables.

        -

      Returns Runnable<
          string
          | ToolCall
          | { [key: string]: any },
          Exclude<NewRunOutput, Error>,
          RunnableConfig<Record<string, any>>,
      >

      A new runnable sequence.

      -
    • Stream output in chunks.

      -

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>>

      Returns Promise<IterableReadableStream<any>>

      A readable stream that is also an iterable.

      -
    • Generate a stream of events emitted by the internal steps of the runnable.

      +

      Type Parameters

      • NewRunOutput

      Parameters

      • coerceable: RunnableLike<any, NewRunOutput, RunnableConfig>

        A runnable, function, or object whose values are functions or runnables.

        +

      Returns Runnable<
          string
          | ToolCall
          | { [key: string]: any },
          Exclude<NewRunOutput, Error>,
      >

      A new runnable sequence.

      +
    • Stream output in chunks.

      +

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig>

      Returns Promise<IterableReadableStream<any>>

      A readable stream that is also an iterable.

      +
    • Generate a stream of events emitted by the internal steps of the runnable.

      Use to create an iterator over StreamEvents that provide real-time information about the progress of the runnable, including StreamEvents from intermediate results.

      @@ -197,10 +197,10 @@

      Here's an example:

      -
      import { RunnableLambda } from "@langchain/core/runnables";
      import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch";
      // Use this import for web environments that don't support "async_hooks"
      // and manually pass config to child runs.
      // import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch/web";

      const slowThing = RunnableLambda.from(async (someInput: string) => {
      // Placeholder for some slow operation
      await new Promise((resolve) => setTimeout(resolve, 100));
      await dispatchCustomEvent("progress_event", {
      message: "Finished step 1 of 2",
      });
      await new Promise((resolve) => setTimeout(resolve, 100));
      return "Done";
      });

      const eventStream = await slowThing.streamEvents("hello world", {
      version: "v2",
      });

      for await (const event of eventStream) {
      if (event.event === "on_custom_event") {
      console.log(event);
      }
      } +
      import { RunnableLambda } from "@langchain/core/runnables";
      import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch";
      // Use this import for web environments that don't support "async_hooks"
      // and manually pass config to child runs.
      // import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch/web";

      const slowThing = RunnableLambda.from(async (someInput: string) => {
      // Placeholder for some slow operation
      await new Promise((resolve) => setTimeout(resolve, 100));
      await dispatchCustomEvent("progress_event", {
      message: "Finished step 1 of 2",
      });
      await new Promise((resolve) => setTimeout(resolve, 100));
      return "Done";
      });

      const eventStream = await slowThing.streamEvents("hello world", {
      version: "v2",
      });

      for await (const event of eventStream) {
      if (event.event === "on_custom_event") {
      console.log(event);
      }
      }
      -

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • options: Partial<RunnableConfig<Record<string, any>>> & { version: "v1" | "v2" }
      • OptionalstreamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">

      Returns IterableReadableStream<StreamEvent>

    • Generate a stream of events emitted by the internal steps of the runnable.

      +

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • options: Partial<RunnableConfig> & { version: "v1" | "v2" }
      • OptionalstreamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">

      Returns IterableReadableStream<StreamEvent>

    • Generate a stream of events emitted by the internal steps of the runnable.

      Use to create an iterator over StreamEvents that provide real-time information about the progress of the runnable, including StreamEvents from intermediate results.

      @@ -268,36 +268,36 @@

      Here's an example:

      -
      import { RunnableLambda } from "@langchain/core/runnables";
      import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch";
      // Use this import for web environments that don't support "async_hooks"
      // and manually pass config to child runs.
      // import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch/web";

      const slowThing = RunnableLambda.from(async (someInput: string) => {
      // Placeholder for some slow operation
      await new Promise((resolve) => setTimeout(resolve, 100));
      await dispatchCustomEvent("progress_event", {
      message: "Finished step 1 of 2",
      });
      await new Promise((resolve) => setTimeout(resolve, 100));
      return "Done";
      });

      const eventStream = await slowThing.streamEvents("hello world", {
      version: "v2",
      });

      for await (const event of eventStream) {
      if (event.event === "on_custom_event") {
      console.log(event);
      }
      } +
      import { RunnableLambda } from "@langchain/core/runnables";
      import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch";
      // Use this import for web environments that don't support "async_hooks"
      // and manually pass config to child runs.
      // import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch/web";

      const slowThing = RunnableLambda.from(async (someInput: string) => {
      // Placeholder for some slow operation
      await new Promise((resolve) => setTimeout(resolve, 100));
      await dispatchCustomEvent("progress_event", {
      message: "Finished step 1 of 2",
      });
      await new Promise((resolve) => setTimeout(resolve, 100));
      return "Done";
      });

      const eventStream = await slowThing.streamEvents("hello world", {
      version: "v2",
      });

      for await (const event of eventStream) {
      if (event.event === "on_custom_event") {
      console.log(event);
      }
      }
      -

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • options: Partial<RunnableConfig<Record<string, any>>> & {
            encoding: "text/event-stream";
            version: "v1" | "v2";
        }
      • OptionalstreamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">

      Returns IterableReadableStream<Uint8Array>

    • Stream all output from a runnable, as reported to the callback system. +

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • options: Partial<RunnableConfig> & {
            encoding: "text/event-stream";
            version: "v1" | "v2";
        }
      • OptionalstreamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">

      Returns IterableReadableStream<Uint8Array>

    • Stream all output from a runnable, as reported to the callback system. This includes all inner runs of LLMs, Retrievers, Tools, etc. Output is streamed as Log objects, which include a list of jsonpatch ops that describe how the state of the run has changed in each step, and the final state of the run. The jsonpatch ops can be applied in order to construct state.

      -

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>>
      • OptionalstreamOptions: Omit<LogStreamCallbackHandlerInput, "autoClose">

      Returns AsyncGenerator<RunLogPatch, any, unknown>

    • Returns Serialized

    • Returns SerializedNotImplemented

    • Default implementation of transform, which buffers input and then calls stream. +

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig>
      • OptionalstreamOptions: Omit<LogStreamCallbackHandlerInput, "autoClose">

      Returns AsyncGenerator<RunLogPatch>

    • Returns Serialized

    • Returns SerializedNotImplemented

    • Default implementation of transform, which buffers input and then calls stream. Subclasses should override this method if they can start producing output while input is still being generated.

      -

      Parameters

      • generator: AsyncGenerator<string | ToolCall | { [key: string]: any }, any, unknown>
      • options: Partial<RunnableConfig<Record<string, any>>>

      Returns AsyncGenerator<any, any, unknown>

    • Bind config to a Runnable, returning a new Runnable.

      -

      Parameters

      • config: RunnableConfig<Record<string, any>>

        New configuration parameters to attach to the new runnable.

        -

      Returns Runnable<
          string
          | ToolCall
          | { [key: string]: any },
          any,
          RunnableConfig<Record<string, any>>,
      >

      A new RunnableBinding with a config matching what's passed.

      -
    • Create a new runnable from the current one that will try invoking +

      Parameters

      • generator: AsyncGenerator<string | ToolCall | { [key: string]: any }>
      • options: Partial<RunnableConfig>

      Returns AsyncGenerator

    • Bind config to a Runnable, returning a new Runnable.

      +

      Parameters

      • config: RunnableConfig

        New configuration parameters to attach to the new runnable.

        +

      Returns Runnable<string | ToolCall | { [key: string]: any }>

      A new RunnableBinding with a config matching what's passed.

      +
    • Create a new runnable from the current one that will try invoking other passed fallback runnables if the initial invocation fails.

      -

      Parameters

      • fields:
            | {
                fallbacks: Runnable<
                    string
                    | ToolCall
                    | { [key: string]: any },
                    any,
                    RunnableConfig<Record<string, any>>,
                >[];
            }
            | Runnable<
                string
                | ToolCall
                | { [key: string]: any },
                any,
                RunnableConfig<Record<string, any>>,
            >[]
        • {
              fallbacks: Runnable<
                  string
                  | ToolCall
                  | { [key: string]: any },
                  any,
                  RunnableConfig<Record<string, any>>,
              >[];
          }
          • fallbacks: Runnable<
                string
                | ToolCall
                | { [key: string]: any },
                any,
                RunnableConfig<Record<string, any>>,
            >[]

            Other runnables to call if the runnable errors.

            -
        • Runnable<
              string
              | ToolCall
              | { [key: string]: any },
              any,
              RunnableConfig<Record<string, any>>,
          >[]

      Returns RunnableWithFallbacks<string | ToolCall | { [key: string]: any }, any>

      A new RunnableWithFallbacks.

      -
    • Bind lifecycle listeners to a Runnable, returning a new Runnable. +

      Parameters

      • fields:
            | { fallbacks: Runnable<string | ToolCall | { [key: string]: any }>[] }
            | Runnable<string | ToolCall | { [key: string]: any }>[]
        • { fallbacks: Runnable<string | ToolCall | { [key: string]: any }>[] }
          • fallbacks: Runnable<string | ToolCall | { [key: string]: any }>[]

            Other runnables to call if the runnable errors.

            +
        • Runnable<string | ToolCall | { [key: string]: any }>[]

      Returns RunnableWithFallbacks<string | ToolCall | { [key: string]: any }, any>

      A new RunnableWithFallbacks.

      +
    • Bind lifecycle listeners to a Runnable, returning a new Runnable. The Run object contains information about the run, including its id, type, input, output, error, startTime, endTime, and any tags or metadata added to the run.

      -

      Parameters

      • params: {
            onEnd?: (
                run: Run,
                config?: RunnableConfig<Record<string, any>>,
            ) => void | Promise<void>;
            onError?: (
                run: Run,
                config?: RunnableConfig<Record<string, any>>,
            ) => void | Promise<void>;
            onStart?: (
                run: Run,
                config?: RunnableConfig<Record<string, any>>,
            ) => void | Promise<void>;
        }

        The object containing the callback functions.

        -
        • OptionalonEnd?: (run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>

          Called after the runnable finishes running, with the Run object.

          -
        • OptionalonError?: (run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>

          Called if the runnable throws an error, with the Run object.

          -
        • OptionalonStart?: (run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>

          Called before the runnable starts running, with the Run object.

          -

      Returns Runnable<
          string
          | ToolCall
          | { [key: string]: any },
          any,
          RunnableConfig<Record<string, any>>,
      >

    • Add retry logic to an existing runnable.

      -

      Parameters

      • Optionalfields: {
            onFailedAttempt?: RunnableRetryFailedAttemptHandler;
            stopAfterAttempt?: number;
        }

      Returns RunnableRetry<
          string
          | ToolCall
          | { [key: string]: any },
          any,
          RunnableConfig<Record<string, any>>,
      >

      A new RunnableRetry that, when invoked, will retry according to the parameters.

      -
    • Parameters

      • thing: any

      Returns thing is Runnable<any, any, RunnableConfig<Record<string, any>>>

    • The name of the serializable. Override to provide an alias or +

      Parameters

      • params: {
            onEnd?: (run: Run, config?: RunnableConfig) => void | Promise<void>;
            onError?: (run: Run, config?: RunnableConfig) => void | Promise<void>;
            onStart?: (run: Run, config?: RunnableConfig) => void | Promise<void>;
        }

        The object containing the callback functions.

        +
        • OptionalonEnd?: (run: Run, config?: RunnableConfig) => void | Promise<void>

          Called after the runnable finishes running, with the Run object.

          +
        • OptionalonError?: (run: Run, config?: RunnableConfig) => void | Promise<void>

          Called if the runnable throws an error, with the Run object.

          +
        • OptionalonStart?: (run: Run, config?: RunnableConfig) => void | Promise<void>

          Called before the runnable starts running, with the Run object.

          +

      Returns Runnable<string | ToolCall | { [key: string]: any }>

    • Add retry logic to an existing runnable.

      +

      Parameters

      • Optionalfields: {
            onFailedAttempt?: RunnableRetryFailedAttemptHandler;
            stopAfterAttempt?: number;
        }

      Returns RunnableRetry<string | ToolCall | { [key: string]: any }>

      A new RunnableRetry that, when invoked, will retry according to the parameters.

      +
    • Parameters

      • thing: any

      Returns thing is Runnable

    • The name of the serializable. Override to provide an alias or to preserve the serialized module name in minified environments.

      Implemented as a static method to support loading logic.

      Returns string

    diff --git a/cdp-langchain/typescript/docs/classes/toolkits_cdp_toolkit.CdpToolkit.html b/cdp-langchain/typescript/docs/classes/toolkits_cdp_toolkit.CdpToolkit.html index 9ae1d47b8..33b5794a6 100644 --- a/cdp-langchain/typescript/docs/classes/toolkits_cdp_toolkit.CdpToolkit.html +++ b/cdp-langchain/typescript/docs/classes/toolkits_cdp_toolkit.CdpToolkit.html @@ -10,12 +10,12 @@

    Example usage:

    -
    const agentkit = await CdpAgentkit.configureWithWallet();
    const toolkit = new CdpToolkit(agentkit);
    const tools = toolkit.getTools();

    // Available tools include:
    // - get_wallet_details
    // - get_balance
    // - request_faucet_funds
    // - transfer
    // - trade
    // - deploy_token
    // - mint_nft
    // - deploy_nft
    // - register_basename
    // - wow_create_token
    // - wow_buy_token
    // - wow_sell_token +
    const agentkit = await CdpAgentkit.configureWithWallet();
    const toolkit = new CdpToolkit(agentkit);
    const tools = toolkit.getTools();

    // Available tools include:
    // - get_wallet_details
    // - get_balance
    // - get_balance_nft
    // - request_faucet_funds
    // - transfer
    // - transfer_nft
    // - trade
    // - deploy_token
    // - mint_nft
    // - deploy_nft
    // - register_basename
    // - wow_create_token
    // - wow_buy_token
    // - wow_sell_token
    // - wrap_eth
    -

    Hierarchy

    • BaseToolkit
      • CdpToolkit

    Constructors

    Hierarchy

    • BaseToolkit
      • CdpToolkit

    Constructors

    Properties

    Methods

    Constructors

    Properties

    tools: StructuredToolInterface<ZodObjectAny>[]

    Methods

    • Returns StructuredToolInterface<ZodObjectAny>[]

    +

    Returns CdpToolkit

    Properties

    tools: StructuredToolInterface[]

    Methods

    • Returns StructuredToolInterface[]

    diff --git a/cdp-langchain/typescript/docs/classes/tools_cdp_tool.CdpTool.html b/cdp-langchain/typescript/docs/classes/tools_cdp_tool.CdpTool.html index 64e57565c..7e1a816ff 100644 --- a/cdp-langchain/typescript/docs/classes/tools_cdp_tool.CdpTool.html +++ b/cdp-langchain/typescript/docs/classes/tools_cdp_tool.CdpTool.html @@ -3,7 +3,7 @@ CDP_API_KEY_NAME CDP_API_KEY_PRIVATE_KEY NETWORK_ID

    -

    Type Parameters

    • TActionSchema extends CdpActionSchemaAny

    Hierarchy

    • StructuredTool
      • CdpTool

    Constructors

    Type Parameters

    • TActionSchema extends CdpActionSchemaAny

    Hierarchy

    • StructuredTool
      • CdpTool

    Constructors

    Properties

    callbacks? description lc_kwargs @@ -56,18 +56,18 @@

    Constructors

    Properties

    callbacks?: Callbacks
    description: string

    The description of the tool

    -
    lc_kwargs: SerializedFields
    lc_runnable: boolean
    lc_serializable: boolean
    metadata?: Record<string, unknown>
    name: string

    The name of the tool

    -
    responseFormat?: string

    The tool response format.

    +

    Returns CdpTool<TActionSchema>

    Properties

    callbacks?: Callbacks
    description: string

    The description of the tool

    +
    lc_kwargs: SerializedFields
    lc_runnable: boolean
    lc_serializable: boolean
    metadata?: Record<string, unknown>
    name: string

    The name of the tool

    +
    responseFormat?: string

    The tool response format.

    If "content" then the output of the tool is interpreted as the contents of a ToolMessage. If "content_and_artifact" then the output is expected to be a two-tuple corresponding to the (content, artifact) of a ToolMessage.

    "content"
     
    -
    returnDirect: boolean

    Schema definition for the tool's input

    -
    tags?: string[]
    verbose: boolean

    Whether to print out response text.

    -
    verboseParsingErrors: boolean

    Accessors

    • get lc_aliases(): undefined | { [key: string]: string }
    • A map of aliases for constructor args. +

    returnDirect: boolean

    Schema definition for the tool's input

    +
    tags?: string[]
    verbose: boolean

    Whether to print out response text.

    +
    verboseParsingErrors: boolean

    Accessors

    • get lc_aliases(): undefined | { [key: string]: string }
    • A map of aliases for constructor args. Keys are the attribute names, e.g. "foo". Values are the alias that will replace the key in serialization. This is used to eg. make argument names match Python.

      @@ -78,74 +78,74 @@

      Returns undefined | { [key: string]: undefined }

    • get lc_id(): string[]
    • The final serialized identifier for the module.

      Returns string[]

    • get lc_namespace(): string[]
    • A path to the module that contains the class, eg. ["langchain", "llms"] Usually should be the same as the entrypoint the class is exported from.

      -

      Returns string[]

    • get lc_secrets(): undefined | { [key: string]: string }
    • A map of secrets, which will be omitted from serialization. +

      Returns string[]

    • get lc_secrets(): undefined | { [key: string]: string }
    • A map of secrets, which will be omitted from serialization. Keys are paths to the secret in constructor args, e.g. "foo.bar.baz". Values are the secret ids, which will be used when deserializing.

      -

      Returns undefined | { [key: string]: string }

    Methods

    • Internal method that handles batching and configuration for a runnable +

      Returns undefined | { [key: string]: string }

    Methods

    • Internal method that handles batching and configuration for a runnable It takes a function, input values, and optional configuration, and returns a promise that resolves to the output values.

      -

      Type Parameters

      • T extends string | ToolCall | { [key: string]: any }

      Parameters

      • func: (
            inputs: T[],
            options?: Partial<RunnableConfig<Record<string, any>>>[],
            runManagers?: (undefined | CallbackManagerForChainRun)[],
            batchOptions?: RunnableBatchOptions,
        ) => Promise<any[]>

        The function to be executed for each input value.

        -
      • inputs: T[]
      • Optionaloptions:
            | Partial<RunnableConfig<Record<string, any>> & { runType?: string }>
            | Partial<RunnableConfig<Record<string, any>> & { runType?: string }>[]
      • OptionalbatchOptions: RunnableBatchOptions

      Returns Promise<any[]>

      A promise that resolves to the output values.

      -
    • Executes the CDP action with the provided input

      +

      Type Parameters

      • T extends string | ToolCall | { [key: string]: any }

      Parameters

      • func: (
            inputs: T[],
            options?: Partial<RunnableConfig>[],
            runManagers?: (undefined | CallbackManagerForChainRun)[],
            batchOptions?: RunnableBatchOptions,
        ) => Promise<any[]>

        The function to be executed for each input value.

        +
      • inputs: T[]
      • Optionaloptions:
            | Partial<RunnableConfig & { runType?: string }>
            | Partial<RunnableConfig & { runType?: string }>[]
      • OptionalbatchOptions: RunnableBatchOptions

      Returns Promise<any[]>

      A promise that resolves to the output values.

      +
    • Executes the CDP action with the provided input

      Parameters

      • input: TypeOf<TActionSchema> & Record<string, unknown>

        An object containing either instructions or schema-validated arguments

      Returns Promise<string>

      A promise that resolves to the result of the CDP action

      If the CDP action fails

      -
    • Type Parameters

      • T extends string | ToolCall | { [key: string]: any }

      Parameters

      • func:
            | (input: T) => Promise<any>
            | (
                input: T,
                config?: Partial<RunnableConfig<Record<string, any>>>,
                runManager?: CallbackManagerForChainRun,
            ) => Promise<any>
      • input: T
      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>> & { runType?: string }

      Returns Promise<any>

    • Type Parameters

      • O extends RunnableConfig<Record<string, any>> & { runType?: string }

      Parameters

      • options: Partial<O> | Partial<O>[]
      • Optionallength: number

      Returns Partial<O>[]

    • Parameters

      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>>

      Returns [
          RunnableConfig<Record<string, any>>,
          Omit<
              Partial<RunnableConfig<Record<string, any>>>,
              keyof RunnableConfig<Record<string, any>>,
          >,
      ]

    • Default streaming implementation. +

    • Type Parameters

      • T extends string | ToolCall | { [key: string]: any }

      Parameters

      • func:
            | (input: T) => Promise<any>
            | (
                input: T,
                config?: Partial<RunnableConfig>,
                runManager?: CallbackManagerForChainRun,
            ) => Promise<any>
      • input: T
      • Optionaloptions: Partial<RunnableConfig> & { runType?: string }

      Returns Promise<any>

    • Type Parameters

      • O extends RunnableConfig & { runType?: string }

      Parameters

      • options: Partial<O> | Partial<O>[]
      • Optionallength: number

      Returns Partial<O>[]

    • Parameters

      • Optionaloptions: Partial<RunnableConfig>

      Returns [RunnableConfig, Omit<Partial<RunnableConfig>, keyof RunnableConfig>]

    • Default streaming implementation. Subclasses should override this method if they support streaming output.

      -

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>>

      Returns AsyncGenerator<any, any, unknown>

    • Parameters

      • input: string | ToolCall | { [key: string]: any }
      • logStreamCallbackHandler: LogStreamCallbackHandler
      • config: Partial<RunnableConfig<Record<string, any>>>

      Returns AsyncGenerator<RunLogPatch, any, unknown>

    • Helper method to transform an Iterator of Input values into an Iterator of +

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig>

      Returns AsyncGenerator

    • Parameters

      • input: string | ToolCall | { [key: string]: any }
      • logStreamCallbackHandler: LogStreamCallbackHandler
      • config: Partial<RunnableConfig>

      Returns AsyncGenerator<RunLogPatch>

    • Helper method to transform an Iterator of Input values into an Iterator of Output values, with callbacks. Use this to implement stream() or transform() in Runnable subclasses.

      -

      Type Parameters

      • I extends string | ToolCall | { [key: string]: any }
      • O extends any

      Parameters

      • inputGenerator: AsyncGenerator<I, any, unknown>
      • transformer: (
            generator: AsyncGenerator<I, any, unknown>,
            runManager?: CallbackManagerForChainRun,
            options?: Partial<RunnableConfig<Record<string, any>>>,
        ) => AsyncGenerator<O, any, unknown>
      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>> & { runType?: string }

      Returns AsyncGenerator<O, any, unknown>

    • Assigns new fields to the dict output of this runnable. Returns a new runnable.

      -

      Parameters

      • mapping: RunnableMapLike<Record<string, unknown>, Record<string, unknown>>

      Returns Runnable<any, any, RunnableConfig<Record<string, any>>>

    • Convert a runnable to a tool. Return a new instance of RunnableToolLike +

      Type Parameters

      • I extends string | ToolCall | { [key: string]: any }
      • O extends any

      Parameters

      • inputGenerator: AsyncGenerator<I>
      • transformer: (
            generator: AsyncGenerator<I>,
            runManager?: CallbackManagerForChainRun,
            options?: Partial<RunnableConfig>,
        ) => AsyncGenerator<O>
      • Optionaloptions: Partial<RunnableConfig> & { runType?: string }

      Returns AsyncGenerator<O>

    • Assigns new fields to the dict output of this runnable. Returns a new runnable.

      +

      Parameters

      • mapping: RunnableMapLike<Record<string, unknown>, Record<string, unknown>>

      Returns Runnable

    • Convert a runnable to a tool. Return a new instance of RunnableToolLike which contains the runnable, name, description and schema.

      -

      Type Parameters

      • T extends string | ToolCall | { [key: string]: any } = string | ToolCall | { [key: string]: any }

      Parameters

      • fields: { description?: string; name?: string; schema: ZodType<T, ZodTypeDef, T> }
        • Optionaldescription?: string

          The description of the tool. Falls back to the description on the Zod schema if not provided, or undefined if neither are provided.

          -
        • Optionalname?: string

          The name of the tool. If not provided, it will default to the name of the runnable.

          -
        • schema: ZodType<T, ZodTypeDef, T>

          The Zod schema for the input of the tool. Infers the Zod type from the input type of the runnable.

          -

      Returns RunnableToolLike<ZodType<ToolCall | T, ZodTypeDef, ToolCall | T>, any>

      An instance of RunnableToolLike which is a runnable that can be used as a tool.

      -
    • Default implementation of batch, which calls invoke N times. +

      Type Parameters

      • T extends string | ToolCall | { [key: string]: any } = string | ToolCall | { [key: string]: any }

      Parameters

      • fields: { description?: string; name?: string; schema: ZodType<T, T> }
        • Optionaldescription?: string

          The description of the tool. Falls back to the description on the Zod schema if not provided, or undefined if neither are provided.

          +
        • Optionalname?: string

          The name of the tool. If not provided, it will default to the name of the runnable.

          +
        • schema: ZodType<T, T>

          The Zod schema for the input of the tool. Infers the Zod type from the input type of the runnable.

          +

      Returns RunnableToolLike<ZodType<ToolCall | T, ToolCall | T>, any>

      An instance of RunnableToolLike which is a runnable that can be used as a tool.

      +
    • Default implementation of batch, which calls invoke N times. Subclasses should override this method if they can batch more efficiently.

      Parameters

      • inputs: (string | ToolCall | { [key: string]: any })[]

        Array of inputs to each batch call.

        -
      • Optionaloptions:
            | Partial<RunnableConfig<Record<string, any>>>
            | Partial<RunnableConfig<Record<string, any>>>[]

        Either a single call options object to apply to each batch call or an array for each call.

        +
      • Optionaloptions: Partial<RunnableConfig> | Partial<RunnableConfig>[]

        Either a single call options object to apply to each batch call or an array for each call.

      • OptionalbatchOptions: RunnableBatchOptions & { returnExceptions?: false }
        • returnExceptions

          Whether to return errors rather than throwing on the first one

          -
        • OptionalreturnExceptions?: false

          Whether to return errors rather than throwing on the first one

          +
        • OptionalreturnExceptions?: false

          Whether to return errors rather than throwing on the first one

      Returns Promise<any[]>

      An array of RunOutputs, or mixed RunOutputs and errors if batchOptions.returnExceptions is set

      -
    • Default implementation of batch, which calls invoke N times. +

    • Default implementation of batch, which calls invoke N times. Subclasses should override this method if they can batch more efficiently.

      Parameters

      • inputs: (string | ToolCall | { [key: string]: any })[]

        Array of inputs to each batch call.

        -
      • Optionaloptions:
            | Partial<RunnableConfig<Record<string, any>>>
            | Partial<RunnableConfig<Record<string, any>>>[]

        Either a single call options object to apply to each batch call or an array for each call.

        +
      • Optionaloptions: Partial<RunnableConfig> | Partial<RunnableConfig>[]

        Either a single call options object to apply to each batch call or an array for each call.

      • OptionalbatchOptions: RunnableBatchOptions & { returnExceptions: true }
        • returnExceptions

          Whether to return errors rather than throwing on the first one

          -
        • returnExceptions: true

          Whether to return errors rather than throwing on the first one

          +
        • returnExceptions: true

          Whether to return errors rather than throwing on the first one

      Returns Promise<any[]>

      An array of RunOutputs, or mixed RunOutputs and errors if batchOptions.returnExceptions is set

      -
    • Default implementation of batch, which calls invoke N times. +

    • Default implementation of batch, which calls invoke N times. Subclasses should override this method if they can batch more efficiently.

      Parameters

      • inputs: (string | ToolCall | { [key: string]: any })[]

        Array of inputs to each batch call.

        -
      • Optionaloptions:
            | Partial<RunnableConfig<Record<string, any>>>
            | Partial<RunnableConfig<Record<string, any>>>[]

        Either a single call options object to apply to each batch call or an array for each call.

        +
      • Optionaloptions: Partial<RunnableConfig> | Partial<RunnableConfig>[]

        Either a single call options object to apply to each batch call or an array for each call.

      • OptionalbatchOptions: RunnableBatchOptions
        • returnExceptions

          Whether to return errors rather than throwing on the first one

      Returns Promise<any[]>

      An array of RunOutputs, or mixed RunOutputs and errors if batchOptions.returnExceptions is set

      -
    • Bind arguments to a Runnable, returning a new Runnable.

      -

      Parameters

      • kwargs: Partial<RunnableConfig<Record<string, any>>>

      Returns Runnable<
          string
          | ToolCall
          | { [key: string]: any },
          any,
          RunnableConfig<Record<string, any>>,
      >

      A new RunnableBinding that, when invoked, will apply the bound args.

      -
    • Parameters

      • arg: string | ToolCall | { [key: string]: any }

        The input argument for the tool.

        -
      • OptionalconfigArg: RunnableConfig<Record<string, any>> | Callbacks

        Optional configuration or callbacks for the tool.

        +
    • Bind arguments to a Runnable, returning a new Runnable.

      +

      Parameters

      • kwargs: Partial<RunnableConfig>

      Returns Runnable<string | ToolCall | { [key: string]: any }>

      A new RunnableBinding that, when invoked, will apply the bound args.

      +
    • Parameters

      • arg: string | { [key: string]: any }

        The input argument for the tool.

        +
      • OptionalconfigArg: ToolRunnableConfig<Record<string, any>> | Callbacks

        Optional configuration or callbacks for the tool.

      • Optionaltags: string[]

        Optional tags for the tool.

      Returns Promise<any>

      A Promise that resolves with a string.

      Use .invoke() instead. Will be removed in 0.3.0.

      Calls the tool with the provided argument, configuration, and tags. It parses the input according to the schema, handles any errors, and manages callbacks.

      -
    • Parameters

      • Optional_: RunnableConfig<Record<string, any>>

      Returns Graph

    • Parameters

      • Optionalsuffix: string

      Returns string

    • Invokes the tool with the provided input and configuration.

      +
    • Parameters

      • Optional_: RunnableConfig

      Returns Graph

    • Parameters

      • Optionalsuffix: string

      Returns string

    • Invokes the tool with the provided input and configuration.

      Parameters

      • input: string | ToolCall | { [key: string]: any }

        The input for the tool.

        -
      • Optionalconfig: RunnableConfig<Record<string, any>>

        Optional configuration for the tool.

        +
      • Optionalconfig: RunnableConfig

        Optional configuration for the tool.

      Returns Promise<any>

      A Promise that resolves with a string.

      -
    • Return a new Runnable that maps a list of inputs to a list of outputs, +

    • Return a new Runnable that maps a list of inputs to a list of outputs, by calling invoke() with each input.

      -

      Returns Runnable<
          (string | ToolCall | { [key: string]: any })[],
          any[],
          RunnableConfig<Record<string, any>>,
      >

    • Pick keys from the dict output of this runnable. Returns a new runnable.

      -

      Parameters

      • keys: string | string[]

      Returns Runnable<any, any, RunnableConfig<Record<string, any>>>

    • Create a new runnable sequence that runs each individual runnable in series, +

      Returns Runnable<(string | ToolCall | { [key: string]: any })[], any[]>

    • Pick keys from the dict output of this runnable. Returns a new runnable.

      +

      Parameters

      • keys: string | string[]

      Returns Runnable

    • Create a new runnable sequence that runs each individual runnable in series, piping the output of one runnable into another runnable or runnable-like.

      -

      Type Parameters

      • NewRunOutput

      Parameters

      • coerceable: RunnableLike<any, NewRunOutput, RunnableConfig<Record<string, any>>>

        A runnable, function, or object whose values are functions or runnables.

        -

      Returns Runnable<
          string
          | ToolCall
          | { [key: string]: any },
          Exclude<NewRunOutput, Error>,
          RunnableConfig<Record<string, any>>,
      >

      A new runnable sequence.

      -
    • Stream output in chunks.

      -

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>>

      Returns Promise<IterableReadableStream<any>>

      A readable stream that is also an iterable.

      -
    • Generate a stream of events emitted by the internal steps of the runnable.

      +

      Type Parameters

      • NewRunOutput

      Parameters

      • coerceable: RunnableLike<any, NewRunOutput, RunnableConfig>

        A runnable, function, or object whose values are functions or runnables.

        +

      Returns Runnable<
          string
          | ToolCall
          | { [key: string]: any },
          Exclude<NewRunOutput, Error>,
      >

      A new runnable sequence.

      +
    • Stream output in chunks.

      +

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig>

      Returns Promise<IterableReadableStream<any>>

      A readable stream that is also an iterable.

      +
    • Generate a stream of events emitted by the internal steps of the runnable.

      Use to create an iterator over StreamEvents that provide real-time information about the progress of the runnable, including StreamEvents from intermediate results.

      @@ -213,10 +213,10 @@

    Here's an example:

    -
    import { RunnableLambda } from "@langchain/core/runnables";
    import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch";
    // Use this import for web environments that don't support "async_hooks"
    // and manually pass config to child runs.
    // import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch/web";

    const slowThing = RunnableLambda.from(async (someInput: string) => {
    // Placeholder for some slow operation
    await new Promise((resolve) => setTimeout(resolve, 100));
    await dispatchCustomEvent("progress_event", {
    message: "Finished step 1 of 2",
    });
    await new Promise((resolve) => setTimeout(resolve, 100));
    return "Done";
    });

    const eventStream = await slowThing.streamEvents("hello world", {
    version: "v2",
    });

    for await (const event of eventStream) {
    if (event.event === "on_custom_event") {
    console.log(event);
    }
    } +
    import { RunnableLambda } from "@langchain/core/runnables";
    import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch";
    // Use this import for web environments that don't support "async_hooks"
    // and manually pass config to child runs.
    // import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch/web";

    const slowThing = RunnableLambda.from(async (someInput: string) => {
    // Placeholder for some slow operation
    await new Promise((resolve) => setTimeout(resolve, 100));
    await dispatchCustomEvent("progress_event", {
    message: "Finished step 1 of 2",
    });
    await new Promise((resolve) => setTimeout(resolve, 100));
    return "Done";
    });

    const eventStream = await slowThing.streamEvents("hello world", {
    version: "v2",
    });

    for await (const event of eventStream) {
    if (event.event === "on_custom_event") {
    console.log(event);
    }
    }
    -

    Parameters

    • input: string | ToolCall | { [key: string]: any }
    • options: Partial<RunnableConfig<Record<string, any>>> & { version: "v1" | "v2" }
    • OptionalstreamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">

    Returns IterableReadableStream<StreamEvent>

  • Generate a stream of events emitted by the internal steps of the runnable.

    +

    Parameters

    • input: string | ToolCall | { [key: string]: any }
    • options: Partial<RunnableConfig> & { version: "v1" | "v2" }
    • OptionalstreamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">

    Returns IterableReadableStream<StreamEvent>

  • Generate a stream of events emitted by the internal steps of the runnable.

    Use to create an iterator over StreamEvents that provide real-time information about the progress of the runnable, including StreamEvents from intermediate results.

    @@ -284,36 +284,36 @@
  • Here's an example:

    -
    import { RunnableLambda } from "@langchain/core/runnables";
    import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch";
    // Use this import for web environments that don't support "async_hooks"
    // and manually pass config to child runs.
    // import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch/web";

    const slowThing = RunnableLambda.from(async (someInput: string) => {
    // Placeholder for some slow operation
    await new Promise((resolve) => setTimeout(resolve, 100));
    await dispatchCustomEvent("progress_event", {
    message: "Finished step 1 of 2",
    });
    await new Promise((resolve) => setTimeout(resolve, 100));
    return "Done";
    });

    const eventStream = await slowThing.streamEvents("hello world", {
    version: "v2",
    });

    for await (const event of eventStream) {
    if (event.event === "on_custom_event") {
    console.log(event);
    }
    } +
    import { RunnableLambda } from "@langchain/core/runnables";
    import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch";
    // Use this import for web environments that don't support "async_hooks"
    // and manually pass config to child runs.
    // import { dispatchCustomEvent } from "@langchain/core/callbacks/dispatch/web";

    const slowThing = RunnableLambda.from(async (someInput: string) => {
    // Placeholder for some slow operation
    await new Promise((resolve) => setTimeout(resolve, 100));
    await dispatchCustomEvent("progress_event", {
    message: "Finished step 1 of 2",
    });
    await new Promise((resolve) => setTimeout(resolve, 100));
    return "Done";
    });

    const eventStream = await slowThing.streamEvents("hello world", {
    version: "v2",
    });

    for await (const event of eventStream) {
    if (event.event === "on_custom_event") {
    console.log(event);
    }
    }
    -

    Parameters

    • input: string | ToolCall | { [key: string]: any }
    • options: Partial<RunnableConfig<Record<string, any>>> & {
          encoding: "text/event-stream";
          version: "v1" | "v2";
      }
    • OptionalstreamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">

    Returns IterableReadableStream<Uint8Array>

    • Stream all output from a runnable, as reported to the callback system. +

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • options: Partial<RunnableConfig> & {
            encoding: "text/event-stream";
            version: "v1" | "v2";
        }
      • OptionalstreamOptions: Omit<EventStreamCallbackHandlerInput, "autoClose">

      Returns IterableReadableStream<Uint8Array>

    • Stream all output from a runnable, as reported to the callback system. This includes all inner runs of LLMs, Retrievers, Tools, etc. Output is streamed as Log objects, which include a list of jsonpatch ops that describe how the state of the run has changed in each step, and the final state of the run. The jsonpatch ops can be applied in order to construct state.

      -

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig<Record<string, any>>>
      • OptionalstreamOptions: Omit<LogStreamCallbackHandlerInput, "autoClose">

      Returns AsyncGenerator<RunLogPatch, any, unknown>

    • Returns Serialized

    • Returns SerializedNotImplemented

    • Default implementation of transform, which buffers input and then calls stream. +

      Parameters

      • input: string | ToolCall | { [key: string]: any }
      • Optionaloptions: Partial<RunnableConfig>
      • OptionalstreamOptions: Omit<LogStreamCallbackHandlerInput, "autoClose">

      Returns AsyncGenerator<RunLogPatch>

    • Returns Serialized

    • Returns SerializedNotImplemented

    • Default implementation of transform, which buffers input and then calls stream. Subclasses should override this method if they can start producing output while input is still being generated.

      -

      Parameters

      • generator: AsyncGenerator<string | ToolCall | { [key: string]: any }, any, unknown>
      • options: Partial<RunnableConfig<Record<string, any>>>

      Returns AsyncGenerator<any, any, unknown>

    • Bind config to a Runnable, returning a new Runnable.

      -

      Parameters

      • config: RunnableConfig<Record<string, any>>

        New configuration parameters to attach to the new runnable.

        -

      Returns Runnable<
          string
          | ToolCall
          | { [key: string]: any },
          any,
          RunnableConfig<Record<string, any>>,
      >

      A new RunnableBinding with a config matching what's passed.

      -
    • Create a new runnable from the current one that will try invoking +

      Parameters

      • generator: AsyncGenerator<string | ToolCall | { [key: string]: any }>
      • options: Partial<RunnableConfig>

      Returns AsyncGenerator

    • Bind config to a Runnable, returning a new Runnable.

      +

      Parameters

      • config: RunnableConfig

        New configuration parameters to attach to the new runnable.

        +

      Returns Runnable<string | ToolCall | { [key: string]: any }>

      A new RunnableBinding with a config matching what's passed.

      +
    • Create a new runnable from the current one that will try invoking other passed fallback runnables if the initial invocation fails.

      -

      Parameters

      • fields:
            | {
                fallbacks: Runnable<
                    string
                    | ToolCall
                    | { [key: string]: any },
                    any,
                    RunnableConfig<Record<string, any>>,
                >[];
            }
            | Runnable<
                string
                | ToolCall
                | { [key: string]: any },
                any,
                RunnableConfig<Record<string, any>>,
            >[]
        • {
              fallbacks: Runnable<
                  string
                  | ToolCall
                  | { [key: string]: any },
                  any,
                  RunnableConfig<Record<string, any>>,
              >[];
          }
          • fallbacks: Runnable<
                string
                | ToolCall
                | { [key: string]: any },
                any,
                RunnableConfig<Record<string, any>>,
            >[]

            Other runnables to call if the runnable errors.

            -
        • Runnable<
              string
              | ToolCall
              | { [key: string]: any },
              any,
              RunnableConfig<Record<string, any>>,
          >[]

      Returns RunnableWithFallbacks<string | ToolCall | { [key: string]: any }, any>

      A new RunnableWithFallbacks.

      -
    • Bind lifecycle listeners to a Runnable, returning a new Runnable. +

      Parameters

      • fields:
            | { fallbacks: Runnable<string | ToolCall | { [key: string]: any }>[] }
            | Runnable<string | ToolCall | { [key: string]: any }>[]
        • { fallbacks: Runnable<string | ToolCall | { [key: string]: any }>[] }
          • fallbacks: Runnable<string | ToolCall | { [key: string]: any }>[]

            Other runnables to call if the runnable errors.

            +
        • Runnable<string | ToolCall | { [key: string]: any }>[]

      Returns RunnableWithFallbacks<string | ToolCall | { [key: string]: any }, any>

      A new RunnableWithFallbacks.

      +
    • Bind lifecycle listeners to a Runnable, returning a new Runnable. The Run object contains information about the run, including its id, type, input, output, error, startTime, endTime, and any tags or metadata added to the run.

      -

      Parameters

      • params: {
            onEnd?: (
                run: Run,
                config?: RunnableConfig<Record<string, any>>,
            ) => void | Promise<void>;
            onError?: (
                run: Run,
                config?: RunnableConfig<Record<string, any>>,
            ) => void | Promise<void>;
            onStart?: (
                run: Run,
                config?: RunnableConfig<Record<string, any>>,
            ) => void | Promise<void>;
        }

        The object containing the callback functions.

        -
        • OptionalonEnd?: (run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>

          Called after the runnable finishes running, with the Run object.

          -
        • OptionalonError?: (run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>

          Called if the runnable throws an error, with the Run object.

          -
        • OptionalonStart?: (run: Run, config?: RunnableConfig<Record<string, any>>) => void | Promise<void>

          Called before the runnable starts running, with the Run object.

          -

      Returns Runnable<
          string
          | ToolCall
          | { [key: string]: any },
          any,
          RunnableConfig<Record<string, any>>,
      >

    • Add retry logic to an existing runnable.

      -

      Parameters

      • Optionalfields: {
            onFailedAttempt?: RunnableRetryFailedAttemptHandler;
            stopAfterAttempt?: number;
        }

      Returns RunnableRetry<
          string
          | ToolCall
          | { [key: string]: any },
          any,
          RunnableConfig<Record<string, any>>,
      >

      A new RunnableRetry that, when invoked, will retry according to the parameters.

      -
    • Parameters

      • thing: any

      Returns thing is Runnable<any, any, RunnableConfig<Record<string, any>>>

    • The name of the serializable. Override to provide an alias or +

      Parameters

      • params: {
            onEnd?: (run: Run, config?: RunnableConfig) => void | Promise<void>;
            onError?: (run: Run, config?: RunnableConfig) => void | Promise<void>;
            onStart?: (run: Run, config?: RunnableConfig) => void | Promise<void>;
        }

        The object containing the callback functions.

        +
        • OptionalonEnd?: (run: Run, config?: RunnableConfig) => void | Promise<void>

          Called after the runnable finishes running, with the Run object.

          +
        • OptionalonError?: (run: Run, config?: RunnableConfig) => void | Promise<void>

          Called if the runnable throws an error, with the Run object.

          +
        • OptionalonStart?: (run: Run, config?: RunnableConfig) => void | Promise<void>

          Called before the runnable starts running, with the Run object.

          +

      Returns Runnable<string | ToolCall | { [key: string]: any }>

    • Add retry logic to an existing runnable.

      +

      Parameters

      • Optionalfields: {
            onFailedAttempt?: RunnableRetryFailedAttemptHandler;
            stopAfterAttempt?: number;
        }

      Returns RunnableRetry<string | ToolCall | { [key: string]: any }>

      A new RunnableRetry that, when invoked, will retry according to the parameters.

      +
    • Parameters

      • thing: any

      Returns thing is Runnable

    • The name of the serializable. Override to provide an alias or to preserve the serialized module name in minified environments.

      Implemented as a static method to support loading logic.

      Returns string

    diff --git a/cdp-langchain/typescript/docs/index.html b/cdp-langchain/typescript/docs/index.html index c46b24caf..c4994c37a 100644 --- a/cdp-langchain/typescript/docs/index.html +++ b/cdp-langchain/typescript/docs/index.html @@ -1,21 +1,46 @@ -@coinbase/cdp-langchain

    @coinbase/cdp-langchain

    CDP Agentkit Extension - Langchain Toolkit

    npm version GitHub star chart Open Issues

    -

    CDP integration with Langchain to enable agentic workflows using the core primitives defined in cdp-agentkit-core. This toolkit contains tools that enable an LLM agent to interact with the Coinbase Developer Platform. The toolkit provides a wrapper around the CDP SDK, allowing agents to perform onchain operations like transfers, trades, and smart contract interactions.

    -
      +@coinbase/cdp-langchain

      @coinbase/cdp-langchain

      CDP Agentkit Extension - Langchain Toolkit

      CDP integration with Langchain to enable agentic workflows using the core primitives defined in cdp-agentkit-core.

      +

      This toolkit contains tools that enable an LLM agent to interact with the Coinbase Developer Platform. The toolkit provides a wrapper around the CDP SDK, allowing agents to perform onchain operations like transfers, trades, and smart contract interactions.

      + + +
        +
      • Python 3.10 or higher
      • +
      + -
      npm install @coinbase/cdp-langchain
      +
      pip install cdp-langchain
      +
      + +
      npm install @coinbase/cdp-langchain
      +
      + +

      Set the following environment variables:

      +
      export CDP_API_KEY_NAME=<your-api-key-name>
      export CDP_API_KEY_PRIVATE_KEY=$'<your-private-key>'
      export OPENAI_API_KEY=<your-openai-api-key>
      export NETWORK_ID=base-sepolia # Optional: Defaults to base-sepolia
      -

      Set the following environment variables:

      -
      export CDP_API_KEY_NAME=<your-api-key-name>
      export CDP_API_KEY_PRIVATE_KEY=<your-private-key>
      export OPENAI_API_KEY=<your-openai-api-key>
      export NETWORK_ID=base-sepolia # Optional: Defaults to base-sepolia +
      from cdp_langchain.agent_toolkits import CdpToolkit
      +from cdp_langchain.utils import CdpAgentkitWrapper
      +
      +# Initialize CDP wrapper
      +cdp = CdpAgentkitWrapper()
      +
      +# Create toolkit from wrapper
      +toolkit = CdpToolkit.from_cdp_agentkit_wrapper(cdp)
      +
      +# Get available tools
      +tools = toolkit.get_tools()
      +for tool in tools:
      +    print(tool.name)
       
      -
      import { CdpToolkit } from "@coinbase/cdp-langchain";
      import { CdpAgentkit } from "@coinbase/cdp-agentkit-core";

      // Initialize CDP Agentkit
      const agentkit = CdpAgentkit.configureWithWallet();

      // Create toolkit
      const toolkit = new CdpToolkit(agentkit);

      // Get available tools
      const tools = toolkit.getTools(); +
      ```typescript
      import { CdpToolkit } from "@coinbase/cdp-langchain";
      import { CdpAgentkit } from "@coinbase/cdp-agentkit-core";

      // Initialize CDP AgentKit
      const agentkit = await CdpAgentkit.configureWithWallet();

      // Create toolkit
      const toolkit = new CdpToolkit(agentkit);

      // Get available tools
      const tools = toolkit.getTools();
      -

      The toolkit provides the following tools:

      +

      The toolkit provides the following tools:

      1. get_wallet_details - Get details about the MPC Wallet
      2. get_balance - Get balance for specific assets
      3. @@ -29,29 +54,61 @@
      4. wow_create_token - Deploy a token using Zora's Wow Launcher (Bonding Curve)
      5. wow_buy_token - Buy Zora Wow ERC20 memecoin with ETH
      6. wow_sell_token - Sell Zora Wow ERC20 memecoin for ETH
      7. +
      8. wrap_eth - Wrap ETH to WETH
      -
      import { ChatOpenAI } from "@langchain/openai";
      import { initializeAgentExecutorWithOptions } from "langchain/agents";

      // Initialize LLM
      const model = new ChatOpenAI({
      model: "gpt-4o-mini",
      });

      // Create agent executor
      const executor = await initializeAgentExecutorWithOptions(toolkit.getTools(), model, {
      agentType: "chat-conversational-react-description",
      verbose: true,
      });

      // Example usage
      const result = await executor.invoke({
      input: "Send 0.005 ETH to john2879.base.eth",
      });

      console.log(result.output); +
      from langchain_openai import ChatOpenAI
      +from langgraph.prebuilt import create_react_agent
      +
      +# Initialize LLM
      +llm = ChatOpenAI(model="gpt-4o-mini")
      +
      +# Get tools and create agent
      +tools = toolkit.get_tools()
      +agent_executor = create_react_agent(llm, tools)
      +
      +# Example usage
      +events = agent_executor.stream(
      +    {"messages": [("user", "Send 0.005 ETH to john2879.base.eth")]},
      +    stream_mode="values"
      +)
      +
      +for event in events:
      +    event["messages"][-1].pretty_print()
      +
      + +

      Expected output:

      +
      Transferred 0.005 of eth to john2879.base.eth.
      Transaction hash for the transfer: 0x78c7c2878659a0de216d0764fc87eff0d38b47f3315fa02ba493a83d8e782d1e
      Transaction link for the transfer: https://sepolia.basescan.org/tx/0x78c7c2878659a0de216d0764fc87eff0d38b47f3315fa02ba493a83d8e782d1 +
      + +
      npm install @langchain/langgraph @langchain/openai
       
      -

      The toolkit maintains an MPC wallet that persists between sessions:

      -
      // Export wallet data
      const walletData = await agentkit.exportWallet();

      // Import wallet data
      const importedAgentkit = CdpAgentkit.configureWithWallet({ cdpWalletData: walletData }); +
      import { ChatOpenAI } from "@langchain/openai";
      import { HumanMessage } from "@langchain/core/messages";
      import { createReactAgent } from "@langchain/langgraph/prebuilt";

      // Initialize LLM
      const model = new ChatOpenAI({
      model: "gpt-4o-mini",
      });

      // Create agent executor
      const agent = createReactAgent({
      llm: model,
      tools,
      });

      // Example usage
      const result = await agent.invoke({
      messages: [new HumanMessage("Send 0.005 ETH to john2879.base.eth")],
      });

      console.log(result.messages[result.messages.length - 1].content);
      -

      The toolkit supports multiple networks.

      +

      The toolkit maintains an MPC wallet that persists between sessions:

      +
      # Export wallet data
      +wallet_data = cdp.export_wallet()
      +
      +# Import wallet data
      +values = {"cdp_wallet_data": wallet_data}
      +cdp = CdpAgentkitWrapper(**values)
      +
      + +
      // Export wallet data
      const walletData = await agentkit.exportWallet();

      // Import wallet data
      const importedAgentkit = await CdpAgentkit.configureWithWallet({ cdpWalletData: walletData }); +
      + +

      The toolkit supports multiple networks.

      The following operations support gasless transactions on Base Mainnet:

      • USDC transfers
      • EURC transfers
      • cbBTC transfers
      -

      Check out examples/ for inspiration and help getting started:

      +

      Check out cdp-langchain/examples for inspiration and help getting started!

        -
      • Chatbot: Interactive chatbot with onchain capabilities
      • -
      -

      See CONTRIBUTING.md for detailed setup instructions and contribution guidelines.

      - -

      Apache-2.0

      -
      +

      See CONTRIBUTING.md for detailed setup instructions and contribution guidelines.

      +
    diff --git a/cdp-langchain/typescript/docs/media/CONTRIBUTING.md b/cdp-langchain/typescript/docs/media/CONTRIBUTING.md deleted file mode 100644 index 2703239c5..000000000 --- a/cdp-langchain/typescript/docs/media/CONTRIBUTING.md +++ /dev/null @@ -1,225 +0,0 @@ -# CDP Agentkit Contributing Guide - -Thank you for your interest in contributing to CDP Agentkit! We welcome all contributions, no matter how big or small. Some of the ways you can contribute include: - -- Adding new actions to the core package -- Creating new AI framework extensions -- Adding tests and improving documentation - -## Development - -### Prerequisites - -- Node.js 18 or higher -- npm for package management - -### Set-up - -Clone the repo by running: - -```bash -git clone git@github.com:coinbase/cdp-agentkit-nodejs.git -cd cdp-agentkit-nodejs -``` - -Install dependencies: - -```bash -npm install -``` - -### Building - -To build all packages: - -```bash -npm run build -``` - -### Linting & Formatting - -To check for lint errors: - -```bash -npm run lint -``` - -To automatically fix lint errors: - -```bash -npm run lint-fix -``` - -To format code: - -```bash -npm run format -``` - -### Testing - -To run all tests: - -```bash -npm test -``` - -### Documentation - -To generate documentation: - -```bash -npm run docs -``` - -## Adding an Action to Agentkit Core - -Actions are defined in `cdp-agentkit-core/src/actions` module. See `cdp-agentkit-core/src/actions/mint_nft.ts` for an example. - -Actions are created by implementing the `CdpAction` interface: - -```typescript -import { CdpAction } from "./cdp_action"; -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.`; - -/** - * Input schema for mint NFT action. - */ -const MintNftInput = z - .object({ - contractAddress: z - .string() - .describe("The contract address of the NFT to mint"), - destination: z - .string() - .describe("The destination address that will receive the NFT"), - }) - .strip() - .describe("Instructions for minting an NFT"); - -/** - * Mints an NFT (ERC-721) to a specified destination address onchain. - * - * @param wallet - The wallet to mint the NFT from. - * @param args - The input arguments for the action. - * @returns A message containing the NFT mint details. - */ -async function mintNft( - wallet: Wallet, - args: z.infer, -): Promise { - const mintArgs = { - to: args.destination, - quantity: "1", - }; - - try { - const mintInvocation = await wallet.invokeContract({ - contractAddress: args.contractAddress, - method: "mint", - args: mintArgs, - }); - - const result = await mintInvocation.wait(); - - return `Minted NFT from contract ${args.contractAddress} to address ${args.destination} on network ${wallet.getNetworkId()}.\nTransaction hash for the mint: ${result.getTransaction().getTransactionHash()}\nTransaction link for the mint: ${result.getTransaction().getTransactionLink()}`; - } catch (error) { - return `Error minting NFT: ${error}`; - } -} - -/** - * Mint NFT action. - */ -export class MintNftAction implements CdpAction { - public name = "mint_nft"; - public description = MINT_NFT_PROMPT; - public argsSchema = MintNftInput; - public func = mintNft; -} -``` - -### Components of an Agentic Action - -1. **Input Schema**: Define the input parameters using Zod schemas -2. **Prompt**: A description that helps the AI understand when and how to use the action -3. **Action Class**: Implements the `CdpAction` interface with: - - `name`: Unique identifier for the action - - `description`: The prompt text - - `argsSchema`: The Zod schema for validating inputs - - `func`: The implementation function -4. **Implementation Function**: The actual logic that executes the action - -## Adding an Agentic Action to the Langchain Toolkit - -1. Ensure the action is implemented in `cdp-agentkit-core` and in a released version -2. Update the `cdp-agentkit-core` dependency to the latest version -3. Add the action to the list of tools in `CdpToolkit` - -## Development Tools - -### Formatting - -```bash -npm run format -``` - -### Linting - -```bash -# Check for lint errors -npm run lint - -# Fix lint errors -npm run lint-fix -``` - -### Testing - -```bash -npm test -``` - -### Documentation - -```bash -npm run docs -``` - -## Changelog - -For new features and bug fixes, please add a new changelog entry to the `CHANGELOG.md` file in the appropriate packages and include that in your Pull Request. - -## Pull Request Process - -1. Create a new branch for your changes -2. Make your changes following the coding standards -3. Add tests for any new functionality -4. Update documentation as needed -5. Update the CHANGELOG.md -6. Submit a pull request - -## Code Style - -All code must follow the project's ESLint and Prettier configurations. The key rules are: - -- Use TypeScript -- Follow JSDoc documentation standards -- Use 2 spaces for indentation -- Maximum line length of 100 characters -- Double quotes for strings -- Semicolons required - -## Getting Help - -If you have questions or need help, please: - -1. Check the existing documentation -2. Search through existing issues -3. Create a new issue with your question - -Thank you for contributing to CDP Agentkit! diff --git a/cdp-langchain/typescript/docs/media/README.md b/cdp-langchain/typescript/docs/media/README.md deleted file mode 100644 index bd817dd11..000000000 --- a/cdp-langchain/typescript/docs/media/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# CDP Agentkit Langchain Extension Examples - Chatbot - -This example demonstrates an agent setup as a terminal style chatbot with access to the full set of CDP Agentkit actions. - -## Ask the chatbot to engage in the Web3 ecosystem! - -- "Transfer a portion of your ETH to john2879.base.eth" -- "Deploy an NFT that will go super viral!" -- "Choose a name for yourself and register a Basename for your wallet" -- "Deploy an ERC-20 token with total supply 1 billion" - -## Requirements - -- Node.js 18+ -- [CDP API Key](https://portal.cdp.coinbase.com/access/api) -- [OpenAI API Key](https://platform.openai.com/docs/quickstart#create-and-export-an-api-key) - -### Checking Node Version - -Before using the example, ensure that you have the correct version of Node.js installed. The example requires Node.js 18 or higher. You can check your Node version by running: - -```bash -node --version -npm --version -``` - -## Installation - -```bash -npm install -``` - -## Run the Chatbot - -### Set ENV Vars - -- Ensure the following ENV Vars are set: - - "CDP_API_KEY_NAME" - - "CDP_API_KEY_PRIVATE_KEY" - - "OPENAI_API_KEY" - - "NETWORK_ID" (Defaults to `base-sepolia`) - -```bash -npm start -``` From fc7af1b7cd8c4229d0589b3cbda19b97a5e3c4cf Mon Sep 17 00:00:00 2001 From: Derek Brown Date: Fri, 17 Jan 2025 13:48:46 -0600 Subject: [PATCH 3/3] Verified Commit