UNPKG

praveen-goat-plugin-kaia

Version:

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

54 lines (48 loc) 2.46 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class;var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/kaia.plugin.ts var _core = require('@goat-sdk/core'); require('dotenv/config'); var _kaiaagentkit = require('@kaiachain/kaia-agent-kit'); var KaiaPlugin = (_class = class extends _core.PluginBase { static { __name(this, "KaiaPlugin"); } constructor(config = {}) { super("kaia", []);_class.prototype.__init.call(this);; this.config = config; } // For EVM-specific plugin, we check if the chain is EVM compatible __init() {this.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(_kaiaagentkit.Packages)) { const services = _optionalChain([pkg, 'access', _ => _.Services, 'optionalAccess', _2 => _2.default]) || {}; const metadata = _optionalChain([pkg, 'access', _3 => _3.Metadata, 'optionalAccess', _4 => _4.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(_core.createTool.call(void 0, tool.info, tool.handler)); } } return tools; } }, _class); function kaiaInstance() { return new KaiaPlugin(); } __name(kaiaInstance, "kaiaInstance"); exports.KaiaPlugin = KaiaPlugin; exports.kaiaInstance = kaiaInstance; //# sourceMappingURL=chunk-73V2ZCAE.js.map