{"version":3,"sources":["../src/get-tools.ts"],"sourcesContent":["import { getCoreTools } from \"./core-tools\";\nimport type { Plugin } from \"./plugins\";\nimport type { Tool } from \"./tool\";\nimport { replaceToolPlaceholder } from \"./utils\";\nimport { type WalletClient, isEVMSmartWalletClient } from \"./wallets\";\n\nexport type GetToolsParams<TWalletClient extends WalletClient> = {\n    wallet: TWalletClient;\n    plugins?: (Plugin<TWalletClient> | Plugin<WalletClient>)[];\n    options?: {\n        wordForTool?: string;\n    };\n};\n\nexport async function getTools<TWalletClient extends WalletClient>({\n    wallet,\n    plugins = [],\n    options,\n}: GetToolsParams<TWalletClient>): Promise<Tool[]> {\n    const tools: Tool[] = [];\n\n    tools.push(...getCoreTools(wallet));\n\n    const chain = wallet.getChain();\n\n    for (const plugin of plugins) {\n        if (!plugin.supportsChain(chain)) {\n            console.warn(\n                `Plugin ${plugin.name} does not support ${chain.type}${\n                    chain.id ? ` chain id ${chain.id}` : \"\"\n                }. Skipping.`,\n            );\n            continue;\n        }\n\n        if (!plugin.supportsSmartWallets() && isEVMSmartWalletClient(wallet)) {\n            console.warn(`Plugin ${plugin.name} does not support smart wallets. Skipping.`);\n            continue;\n        }\n\n        const pluginTools = await plugin.getTools(wallet);\n\n        if (pluginTools.length === 0) {\n            console.warn(`Plugin ${plugin.name} returned no tools. Skipping.`);\n            continue;\n        }\n\n        tools.push(...pluginTools);\n    }\n\n    const wordForTool = options?.wordForTool ?? \"tool\";\n\n    return tools.map((tool) => ({\n        ...tool,\n        description: replaceToolPlaceholder(tool.description, wordForTool),\n    }));\n}\n"],"mappings":";;;;;;;;;;;AAcA,eAAsB,SAA6C;AAAA,EAC/D;AAAA,EACA,UAAU,CAAC;AAAA,EACX;AACJ,GAAmD;AAC/C,QAAM,QAAgB,CAAC;AAEvB,QAAM,KAAK,GAAG,aAAa,MAAM,CAAC;AAElC,QAAM,QAAQ,OAAO,SAAS;AAE9B,aAAW,UAAU,SAAS;AAC1B,QAAI,CAAC,OAAO,cAAc,KAAK,GAAG;AAC9B,cAAQ;AAAA,QACJ,UAAU,OAAO,IAAI,qBAAqB,MAAM,IAAI,GAChD,MAAM,KAAK,aAAa,MAAM,EAAE,KAAK,EACzC;AAAA,MACJ;AACA;AAAA,IACJ;AAEA,QAAI,CAAC,OAAO,qBAAqB,KAAK,uBAAuB,MAAM,GAAG;AAClE,cAAQ,KAAK,UAAU,OAAO,IAAI,4CAA4C;AAC9E;AAAA,IACJ;AAEA,UAAM,cAAc,MAAM,OAAO,SAAS,MAAM;AAEhD,QAAI,YAAY,WAAW,GAAG;AAC1B,cAAQ,KAAK,UAAU,OAAO,IAAI,+BAA+B;AACjE;AAAA,IACJ;AAEA,UAAM,KAAK,GAAG,WAAW;AAAA,EAC7B;AAEA,QAAM,cAAc,SAAS,eAAe;AAE5C,SAAO,MAAM,IAAI,CAAC,UAAU;AAAA,IACxB,GAAG;AAAA,IACH,aAAa,uBAAuB,KAAK,aAAa,WAAW;AAAA,EACrE,EAAE;AACN;","names":[]}