praveen-goat-plugin-kaia
Version:
<div align="center"> <a href="https://github.com/goat-sdk/goat">
54 lines (48 loc) • 2.46 kB
JavaScript
;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