UNPKG

praveen-goat-plugin-kaia

Version:

<div align="center"> <a href="https://github.com/goat-sdk/goat">

54 lines (52 loc) 1.6 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/kaia.plugin.ts import { PluginBase, createTool } from "@goat-sdk/core"; import "dotenv/config"; import { Packages } from "@kaiachain/kaia-agent-kit"; var KaiaPlugin = class extends PluginBase { static { __name(this, "KaiaPlugin"); } config; constructor(config = {}) { super("kaia", []); this.config = config; } // For EVM-specific plugin, we check if the chain is EVM compatible supportsChain = /* @__PURE__ */ __name((chain) => { return chain.type === "evm"; }, "supportsChain"); getTools(walletClient) { const tools = []; const config = { KAIA_KAIASCAN_API_KEY: this.config }; for (const pkg of Object.values(Packages)) { const services = pkg.Services?.default || {}; const metadata = pkg.Metadata?.default || {}; for (const [serviceName, serviceFn] of Object.entries(services)) { const meta = metadata[serviceName] || {}; const tool = { info: { name: meta.name, description: meta.description, parameters: meta.params }, handler: /* @__PURE__ */ __name((parameters) => serviceFn(parameters, config, walletClient), "handler") }; tools.push(createTool(tool.info, tool.handler)); } } return tools; } }; function kaiaInstance() { return new KaiaPlugin(); } __name(kaiaInstance, "kaiaInstance"); export { KaiaPlugin, kaiaInstance }; //# sourceMappingURL=chunk-DQHCHJTR.mjs.map