From fa5f1a1230fd05232d23e2ec2c79adfcc425e348 Mon Sep 17 00:00:00 2001 From: walkerlj0 Date: Tue, 30 Dec 2025 16:36:31 -0600 Subject: [PATCH] fixing some typos Signed-off-by: walkerlj0 --- README.md | 1 + dist/index.d.mts | 11 ++++ dist/index.d.ts | 11 ++++ dist/index.js | 138 +++++++++++++++++++++++++++++++++++++++ dist/index.js.map | 1 + dist/index.mjs | 105 +++++++++++++++++++++++++++++ dist/index.mjs.map | 1 + src/tools/hello-world.ts | 4 +- 8 files changed, 270 insertions(+), 2 deletions(-) create mode 100644 dist/index.d.mts create mode 100644 dist/index.d.ts create mode 100644 dist/index.js create mode 100644 dist/index.js.map create mode 100644 dist/index.mjs create mode 100644 dist/index.mjs.map diff --git a/README.md b/README.md index 0409b83..15c1692 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ This repository is a learning-friendly scaffold for building Hedera Agent Kit pl ```bash git clone https://github.com/hedera-dev/tutorial-create-hedera-agent-kit-plugin.git cd tutorial-create-hedera-agent-kit-plugin +npm install npm ci ``` diff --git a/dist/index.d.mts b/dist/index.d.mts new file mode 100644 index 0000000..334acdf --- /dev/null +++ b/dist/index.d.mts @@ -0,0 +1,11 @@ +import * as hedera_agent_kit from 'hedera-agent-kit'; +import { Context } from 'hedera-agent-kit'; + +declare const _default: { + name: string; + version: string; + description: string; + tools: (context: Context) => hedera_agent_kit.Tool[]; +}; + +export { _default as default }; diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..334acdf --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,11 @@ +import * as hedera_agent_kit from 'hedera-agent-kit'; +import { Context } from 'hedera-agent-kit'; + +declare const _default: { + name: string; + version: string; + description: string; + tools: (context: Context) => hedera_agent_kit.Tool[]; +}; + +export { _default as default }; diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..b1f8d69 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,138 @@ +"use strict"; +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// src/index.ts +var index_exports = {}; +__export(index_exports, { + default: () => index_default +}); +module.exports = __toCommonJS(index_exports); + +// src/schemas/hello-world.schema.ts +var import_zod = __toESM(require("zod")); +var helloWorldParameters = (_context = {}) => import_zod.default.object({ + name: import_zod.default.string().describe("Name") +}); + +// src/tools/hello-world.ts +var helloWorldPrompt = (_context = {}) => { + return ` +This tool say hello to the inputted name. + +Parameters: + - name (string): the user's name +`; +}; +var helloWorldExecute = async (_client, _context, params) => { + return `Hello, ${params.name}`; +}; +var HELLO_WORLD_TOOL = "hello_world_tool"; +var tool = (context) => ({ + method: HELLO_WORLD_TOOL, + name: "Simple Hello World Tool", + description: helloWorldPrompt(context), + parameters: helloWorldParameters(context), + execute: helloWorldExecute +}); +var hello_world_default = tool; + +// src/tools/simple-transfer-hbar.ts +var import_hedera_agent_kit = require("hedera-agent-kit"); +var import_sdk = require("@hashgraph/sdk"); + +// src/schemas/simple-transfer-hbar.schema.ts +var import_zod2 = __toESM(require("zod")); +var simpleTransferHbarParameters = (_context = {}) => import_zod2.default.object({ + recipientId: import_zod2.default.string().describe("The recipient's account ID"), + amount: import_zod2.default.number().describe("The amount of HBAR to transfer") +}); + +// src/tools/simple-transfer-hbar.ts +var simpleHbarTransferPrompt = (context = {}) => { + return ` +This tool transfers hbar to a Hedera account, giving that account address and the amount of the transaction in HBAR. + +Parameters: + - recipientId (string): the account id of the recipient of the transaction. + - amount (number): the amount of HBAR to transfer. +`; +}; +var SIMPLE_HBAR_TRANSFER_TOOL = "simple_hbar_transfer_tool"; +var simpleHbarTransferExecute = async (client, context, params) => { + const { recipientId, amount } = params; + const senderId = context.accountId ?? client.operatorAccountId?.toString(); + if (!senderId) { + const humanMessage = "Missing sender account: set context.accountId or configure a Client operator."; + return { + raw: { status: import_sdk.Status.InvalidTransaction, error: humanMessage }, + humanMessage + }; + } + if (!Number.isFinite(amount) || amount <= 0) { + const humanMessage = "Amount must be a positive number of HBAR."; + return { + raw: { status: import_sdk.Status.InvalidTransaction, error: humanMessage }, + humanMessage + }; + } + try { + const sender = import_sdk.AccountId.fromString(senderId); + const recipient = import_sdk.AccountId.fromString(recipientId); + const tx = new import_sdk.TransferTransaction().addHbarTransfer(sender, new import_sdk.Hbar(-amount)).addHbarTransfer(recipient, new import_sdk.Hbar(amount)); + return await (0, import_hedera_agent_kit.handleTransaction)(tx, client, context, ({ transactionId, status }) => { + return `Transferred ${amount} HBAR from ${senderId} to ${recipientId}. Status: ${status}. (txId: ${transactionId})`; + }); + } catch (err) { + console.error("[transfer_hbar_tool]", err); + const humanMessage = `HBAR transfer failed: ${err instanceof Error ? err.message : String(err)}`; + return { + raw: { status: import_sdk.Status.InvalidTransaction, error: humanMessage }, + humanMessage + }; + } +}; +var tool2 = (context) => ({ + method: SIMPLE_HBAR_TRANSFER_TOOL, + name: "Simple HBAR Transfer", + description: simpleHbarTransferPrompt(context), + parameters: simpleTransferHbarParameters(context), + execute: simpleHbarTransferExecute +}); +var simple_transfer_hbar_default = tool2; + +// src/index.ts +var index_default = { + name: "example-plugin", + version: "1.0.0", + description: "An example plugin for the Hedera Agent Kit", + tools: (context) => { + return [hello_world_default(context), simple_transfer_hbar_default(context)]; + } +}; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map new file mode 100644 index 0000000..7a17a7f --- /dev/null +++ b/dist/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/index.ts","../src/schemas/hello-world.schema.ts","../src/tools/hello-world.ts","../src/tools/simple-transfer-hbar.ts","../src/schemas/simple-transfer-hbar.schema.ts"],"sourcesContent":["import { Context, Plugin } from \"hedera-agent-kit\";\nimport helloWorldTool from \"./tools/hello-world\";\nimport simpleTransferHbarTool from \"./tools/simple-transfer-hbar\";\n\nexport default {\n name: \"example-plugin\",\n version: \"1.0.0\",\n description: \"An example plugin for the Hedera Agent Kit\",\n tools: (context: Context) => {\n return [helloWorldTool(context), simpleTransferHbarTool(context)];\n },\n} satisfies Plugin;\n","import { Context } from \"hedera-agent-kit\";\nimport z from \"zod\";\n\nexport const helloWorldParameters = (_context: Context = {}) =>\n z.object({\n name: z.string().describe(\"Name\"),\n });\n","import { z } from \"zod\";\nimport type { Tool, Context } from \"hedera-agent-kit\";\nimport { Client } from \"@hashgraph/sdk\";\nimport { helloWorldParameters } from \"@/schemas/hello-world.schema\";\n\nconst helloWorldPrompt = (_context: Context = {}) => {\n return `\nThis tool say hello to the inputted name.\n\nParameters:\n - name (string): the user's name\n`;\n};\n\nconst helloWorldExecute = async (\n _client: Client,\n _context: Context,\n params: z.infer>\n) => {\n return `Hello, ${params.name}`; // Added closing quote here\n};\n\nexport const HELLO_WORLD_TOOL = \"hello_world_tool\";\n\nconst tool = (context: Context): Tool => ({\n method: HELLO_WORLD_TOOL,\n name: \"Simple Hello World Tool\",\n description: helloWorldPrompt(context),\n parameters: helloWorldParameters(context),\n execute: helloWorldExecute,\n});\n\nexport default tool;\n","import { z } from \"zod\";\nimport type { Tool, Context } from \"hedera-agent-kit\";\nimport { handleTransaction } from \"hedera-agent-kit\";\nimport { Client, AccountId, Hbar, TransferTransaction, Status } from \"@hashgraph/sdk\";\nimport { simpleTransferHbarParameters } from \"@/schemas/simple-transfer-hbar.schema\";\n\nconst simpleHbarTransferPrompt = (context: Context = {}) => {\n return `\nThis tool transfers hbar to a Hedera account, giving that account address and the amount of the transaction in HBAR.\n\nParameters:\n - recipientId (string): the account id of the recipient of the transaction.\n - amount (number): the amount of HBAR to transfer.\n`;\n};\n\nexport const SIMPLE_HBAR_TRANSFER_TOOL = \"simple_hbar_transfer_tool\"; \n\nconst simpleHbarTransferExecute = async (\n client: Client,\n context: Context,\n params: z.infer>\n) => {\n const { recipientId, amount } = params;\n const senderId = context.accountId ?? client.operatorAccountId?.toString();\n if (!senderId) {\n const humanMessage =\n \"Missing sender account: set context.accountId or configure a Client operator.\";\n return {\n raw: { status: Status.InvalidTransaction, error: humanMessage },\n humanMessage,\n };\n }\n if (!Number.isFinite(amount) || amount <= 0) {\n const humanMessage = \"Amount must be a positive number of HBAR.\";\n return {\n raw: { status: Status.InvalidTransaction, error: humanMessage },\n humanMessage,\n };\n }\n try {\n const sender = AccountId.fromString(senderId);\n const recipient = AccountId.fromString(recipientId);\n const tx = new TransferTransaction()\n .addHbarTransfer(sender, new Hbar(-amount))\n .addHbarTransfer(recipient, new Hbar(amount));\n return await handleTransaction(tx, client, context, ({ transactionId, status }) => {\n return `Transferred ${amount} HBAR from ${senderId} to ${recipientId}. Status: ${status}. (txId: ${transactionId})`;\n });\n } catch (err: unknown) {\n console.error(\"[transfer_hbar_tool]\", err);\n const humanMessage = `HBAR transfer failed: ${\n err instanceof Error ? err.message : String(err)\n }`;\n return {\n raw: { status: Status.InvalidTransaction, error: humanMessage },\n humanMessage,\n };\n }\n};\n\nconst tool = (context: Context): Tool => ({\n method: SIMPLE_HBAR_TRANSFER_TOOL,\n name: \"Simple HBAR Transfer\",\n description: simpleHbarTransferPrompt(context),\n parameters: simpleTransferHbarParameters(context),\n execute: simpleHbarTransferExecute,\n});\n\nexport default tool;","import { Context } from \"hedera-agent-kit\";\nimport z from \"zod\";\n\nexport const simpleTransferHbarParameters = (_context: Context = {}) =>\n z.object({\n recipientId: z.string().describe(\"The recipient's account ID\"),\n amount: z.number().describe(\"The amount of HBAR to transfer\"),\n });\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,iBAAc;AAEP,IAAM,uBAAuB,CAAC,WAAoB,CAAC,MACxD,WAAAA,QAAE,OAAO;AAAA,EACP,MAAM,WAAAA,QAAE,OAAO,EAAE,SAAS,MAAM;AAClC,CAAC;;;ACDH,IAAM,mBAAmB,CAAC,WAAoB,CAAC,MAAM;AACnD,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAMT;AAEA,IAAM,oBAAoB,OACxB,SACA,UACA,WACG;AACH,SAAO,UAAU,OAAO,IAAI;AAC9B;AAEO,IAAM,mBAAmB;AAEhC,IAAM,OAAO,CAAC,aAA4B;AAAA,EACxC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,aAAa,iBAAiB,OAAO;AAAA,EACrC,YAAY,qBAAqB,OAAO;AAAA,EACxC,SAAS;AACX;AAEA,IAAO,sBAAQ;;;AC9Bf,8BAAkC;AAClC,iBAAqE;;;ACFrE,IAAAC,cAAc;AAEP,IAAM,+BAA+B,CAAC,WAAoB,CAAC,MAChE,YAAAC,QAAE,OAAO;AAAA,EACP,aAAa,YAAAA,QAAE,OAAO,EAAE,SAAS,4BAA4B;AAAA,EAC7D,QAAQ,YAAAA,QAAE,OAAO,EAAE,SAAS,gCAAgC;AAC9D,CAAC;;;ADDH,IAAM,2BAA2B,CAAC,UAAmB,CAAC,MAAM;AAC1D,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOT;AAEO,IAAM,4BAA4B;AAEzC,IAAM,4BAA4B,OAChC,QACA,SACA,WACG;AACH,QAAM,EAAE,aAAa,OAAO,IAAI;AAChC,QAAM,WAAW,QAAQ,aAAa,OAAO,mBAAmB,SAAS;AACzE,MAAI,CAAC,UAAU;AACb,UAAM,eACJ;AACF,WAAO;AAAA,MACL,KAAK,EAAE,QAAQ,kBAAO,oBAAoB,OAAO,aAAa;AAAA,MAC9D;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,OAAO,SAAS,MAAM,KAAK,UAAU,GAAG;AAC3C,UAAM,eAAe;AACrB,WAAO;AAAA,MACL,KAAK,EAAE,QAAQ,kBAAO,oBAAoB,OAAO,aAAa;AAAA,MAC9D;AAAA,IACF;AAAA,EACF;AACA,MAAI;AACF,UAAM,SAAS,qBAAU,WAAW,QAAQ;AAC5C,UAAM,YAAY,qBAAU,WAAW,WAAW;AAClD,UAAM,KAAK,IAAI,+BAAoB,EAChC,gBAAgB,QAAQ,IAAI,gBAAK,CAAC,MAAM,CAAC,EACzC,gBAAgB,WAAW,IAAI,gBAAK,MAAM,CAAC;AAC9C,WAAO,UAAM,2CAAkB,IAAI,QAAQ,SAAS,CAAC,EAAE,eAAe,OAAO,MAAM;AACjF,aAAO,eAAe,MAAM,cAAc,QAAQ,OAAO,WAAW,aAAa,MAAM,YAAY,aAAa;AAAA,IAClH,CAAC;AAAA,EACH,SAAS,KAAc;AACrB,YAAQ,MAAM,wBAAwB,GAAG;AACzC,UAAM,eAAe,yBACnB,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CACjD;AACA,WAAO;AAAA,MACL,KAAK,EAAE,QAAQ,kBAAO,oBAAoB,OAAO,aAAa;AAAA,MAC9D;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAMC,QAAO,CAAC,aAA4B;AAAA,EACxC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,aAAa,yBAAyB,OAAO;AAAA,EAC7C,YAAY,6BAA6B,OAAO;AAAA,EAChD,SAAS;AACX;AAEA,IAAO,+BAAQA;;;AHjEf,IAAO,gBAAQ;AAAA,EACb,MAAM;AAAA,EACN,SAAS;AAAA,EACT,aAAa;AAAA,EACb,OAAO,CAAC,YAAqB;AAC3B,WAAO,CAAC,oBAAe,OAAO,GAAG,6BAAuB,OAAO,CAAC;AAAA,EAClE;AACF;","names":["z","import_zod","z","tool"]} \ No newline at end of file diff --git a/dist/index.mjs b/dist/index.mjs new file mode 100644 index 0000000..b188d33 --- /dev/null +++ b/dist/index.mjs @@ -0,0 +1,105 @@ +// src/schemas/hello-world.schema.ts +import z from "zod"; +var helloWorldParameters = (_context = {}) => z.object({ + name: z.string().describe("Name") +}); + +// src/tools/hello-world.ts +var helloWorldPrompt = (_context = {}) => { + return ` +This tool say hello to the inputted name. + +Parameters: + - name (string): the user's name +`; +}; +var helloWorldExecute = async (_client, _context, params) => { + return `Hello, ${params.name}`; +}; +var HELLO_WORLD_TOOL = "hello_world_tool"; +var tool = (context) => ({ + method: HELLO_WORLD_TOOL, + name: "Simple Hello World Tool", + description: helloWorldPrompt(context), + parameters: helloWorldParameters(context), + execute: helloWorldExecute +}); +var hello_world_default = tool; + +// src/tools/simple-transfer-hbar.ts +import { handleTransaction } from "hedera-agent-kit"; +import { AccountId, Hbar, TransferTransaction, Status } from "@hashgraph/sdk"; + +// src/schemas/simple-transfer-hbar.schema.ts +import z2 from "zod"; +var simpleTransferHbarParameters = (_context = {}) => z2.object({ + recipientId: z2.string().describe("The recipient's account ID"), + amount: z2.number().describe("The amount of HBAR to transfer") +}); + +// src/tools/simple-transfer-hbar.ts +var simpleHbarTransferPrompt = (context = {}) => { + return ` +This tool transfers hbar to a Hedera account, giving that account address and the amount of the transaction in HBAR. + +Parameters: + - recipientId (string): the account id of the recipient of the transaction. + - amount (number): the amount of HBAR to transfer. +`; +}; +var SIMPLE_HBAR_TRANSFER_TOOL = "simple_hbar_transfer_tool"; +var simpleHbarTransferExecute = async (client, context, params) => { + const { recipientId, amount } = params; + const senderId = context.accountId ?? client.operatorAccountId?.toString(); + if (!senderId) { + const humanMessage = "Missing sender account: set context.accountId or configure a Client operator."; + return { + raw: { status: Status.InvalidTransaction, error: humanMessage }, + humanMessage + }; + } + if (!Number.isFinite(amount) || amount <= 0) { + const humanMessage = "Amount must be a positive number of HBAR."; + return { + raw: { status: Status.InvalidTransaction, error: humanMessage }, + humanMessage + }; + } + try { + const sender = AccountId.fromString(senderId); + const recipient = AccountId.fromString(recipientId); + const tx = new TransferTransaction().addHbarTransfer(sender, new Hbar(-amount)).addHbarTransfer(recipient, new Hbar(amount)); + return await handleTransaction(tx, client, context, ({ transactionId, status }) => { + return `Transferred ${amount} HBAR from ${senderId} to ${recipientId}. Status: ${status}. (txId: ${transactionId})`; + }); + } catch (err) { + console.error("[transfer_hbar_tool]", err); + const humanMessage = `HBAR transfer failed: ${err instanceof Error ? err.message : String(err)}`; + return { + raw: { status: Status.InvalidTransaction, error: humanMessage }, + humanMessage + }; + } +}; +var tool2 = (context) => ({ + method: SIMPLE_HBAR_TRANSFER_TOOL, + name: "Simple HBAR Transfer", + description: simpleHbarTransferPrompt(context), + parameters: simpleTransferHbarParameters(context), + execute: simpleHbarTransferExecute +}); +var simple_transfer_hbar_default = tool2; + +// src/index.ts +var index_default = { + name: "example-plugin", + version: "1.0.0", + description: "An example plugin for the Hedera Agent Kit", + tools: (context) => { + return [hello_world_default(context), simple_transfer_hbar_default(context)]; + } +}; +export { + index_default as default +}; +//# sourceMappingURL=index.mjs.map \ No newline at end of file diff --git a/dist/index.mjs.map b/dist/index.mjs.map new file mode 100644 index 0000000..48aa747 --- /dev/null +++ b/dist/index.mjs.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/schemas/hello-world.schema.ts","../src/tools/hello-world.ts","../src/tools/simple-transfer-hbar.ts","../src/schemas/simple-transfer-hbar.schema.ts","../src/index.ts"],"sourcesContent":["import { Context } from \"hedera-agent-kit\";\nimport z from \"zod\";\n\nexport const helloWorldParameters = (_context: Context = {}) =>\n z.object({\n name: z.string().describe(\"Name\"),\n });\n","import { z } from \"zod\";\nimport type { Tool, Context } from \"hedera-agent-kit\";\nimport { Client } from \"@hashgraph/sdk\";\nimport { helloWorldParameters } from \"@/schemas/hello-world.schema\";\n\nconst helloWorldPrompt = (_context: Context = {}) => {\n return `\nThis tool say hello to the inputted name.\n\nParameters:\n - name (string): the user's name\n`;\n};\n\nconst helloWorldExecute = async (\n _client: Client,\n _context: Context,\n params: z.infer>\n) => {\n return `Hello, ${params.name}`; // Added closing quote here\n};\n\nexport const HELLO_WORLD_TOOL = \"hello_world_tool\";\n\nconst tool = (context: Context): Tool => ({\n method: HELLO_WORLD_TOOL,\n name: \"Simple Hello World Tool\",\n description: helloWorldPrompt(context),\n parameters: helloWorldParameters(context),\n execute: helloWorldExecute,\n});\n\nexport default tool;\n","import { z } from \"zod\";\nimport type { Tool, Context } from \"hedera-agent-kit\";\nimport { handleTransaction } from \"hedera-agent-kit\";\nimport { Client, AccountId, Hbar, TransferTransaction, Status } from \"@hashgraph/sdk\";\nimport { simpleTransferHbarParameters } from \"@/schemas/simple-transfer-hbar.schema\";\n\nconst simpleHbarTransferPrompt = (context: Context = {}) => {\n return `\nThis tool transfers hbar to a Hedera account, giving that account address and the amount of the transaction in HBAR.\n\nParameters:\n - recipientId (string): the account id of the recipient of the transaction.\n - amount (number): the amount of HBAR to transfer.\n`;\n};\n\nexport const SIMPLE_HBAR_TRANSFER_TOOL = \"simple_hbar_transfer_tool\"; \n\nconst simpleHbarTransferExecute = async (\n client: Client,\n context: Context,\n params: z.infer>\n) => {\n const { recipientId, amount } = params;\n const senderId = context.accountId ?? client.operatorAccountId?.toString();\n if (!senderId) {\n const humanMessage =\n \"Missing sender account: set context.accountId or configure a Client operator.\";\n return {\n raw: { status: Status.InvalidTransaction, error: humanMessage },\n humanMessage,\n };\n }\n if (!Number.isFinite(amount) || amount <= 0) {\n const humanMessage = \"Amount must be a positive number of HBAR.\";\n return {\n raw: { status: Status.InvalidTransaction, error: humanMessage },\n humanMessage,\n };\n }\n try {\n const sender = AccountId.fromString(senderId);\n const recipient = AccountId.fromString(recipientId);\n const tx = new TransferTransaction()\n .addHbarTransfer(sender, new Hbar(-amount))\n .addHbarTransfer(recipient, new Hbar(amount));\n return await handleTransaction(tx, client, context, ({ transactionId, status }) => {\n return `Transferred ${amount} HBAR from ${senderId} to ${recipientId}. Status: ${status}. (txId: ${transactionId})`;\n });\n } catch (err: unknown) {\n console.error(\"[transfer_hbar_tool]\", err);\n const humanMessage = `HBAR transfer failed: ${\n err instanceof Error ? err.message : String(err)\n }`;\n return {\n raw: { status: Status.InvalidTransaction, error: humanMessage },\n humanMessage,\n };\n }\n};\n\nconst tool = (context: Context): Tool => ({\n method: SIMPLE_HBAR_TRANSFER_TOOL,\n name: \"Simple HBAR Transfer\",\n description: simpleHbarTransferPrompt(context),\n parameters: simpleTransferHbarParameters(context),\n execute: simpleHbarTransferExecute,\n});\n\nexport default tool;","import { Context } from \"hedera-agent-kit\";\nimport z from \"zod\";\n\nexport const simpleTransferHbarParameters = (_context: Context = {}) =>\n z.object({\n recipientId: z.string().describe(\"The recipient's account ID\"),\n amount: z.number().describe(\"The amount of HBAR to transfer\"),\n });\n","import { Context, Plugin } from \"hedera-agent-kit\";\nimport helloWorldTool from \"./tools/hello-world\";\nimport simpleTransferHbarTool from \"./tools/simple-transfer-hbar\";\n\nexport default {\n name: \"example-plugin\",\n version: \"1.0.0\",\n description: \"An example plugin for the Hedera Agent Kit\",\n tools: (context: Context) => {\n return [helloWorldTool(context), simpleTransferHbarTool(context)];\n },\n} satisfies Plugin;\n"],"mappings":";AACA,OAAO,OAAO;AAEP,IAAM,uBAAuB,CAAC,WAAoB,CAAC,MACxD,EAAE,OAAO;AAAA,EACP,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM;AAClC,CAAC;;;ACDH,IAAM,mBAAmB,CAAC,WAAoB,CAAC,MAAM;AACnD,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAMT;AAEA,IAAM,oBAAoB,OACxB,SACA,UACA,WACG;AACH,SAAO,UAAU,OAAO,IAAI;AAC9B;AAEO,IAAM,mBAAmB;AAEhC,IAAM,OAAO,CAAC,aAA4B;AAAA,EACxC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,aAAa,iBAAiB,OAAO;AAAA,EACrC,YAAY,qBAAqB,OAAO;AAAA,EACxC,SAAS;AACX;AAEA,IAAO,sBAAQ;;;AC9Bf,SAAS,yBAAyB;AAClC,SAAiB,WAAW,MAAM,qBAAqB,cAAc;;;ACFrE,OAAOA,QAAO;AAEP,IAAM,+BAA+B,CAAC,WAAoB,CAAC,MAChEA,GAAE,OAAO;AAAA,EACP,aAAaA,GAAE,OAAO,EAAE,SAAS,4BAA4B;AAAA,EAC7D,QAAQA,GAAE,OAAO,EAAE,SAAS,gCAAgC;AAC9D,CAAC;;;ADDH,IAAM,2BAA2B,CAAC,UAAmB,CAAC,MAAM;AAC1D,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOT;AAEO,IAAM,4BAA4B;AAEzC,IAAM,4BAA4B,OAChC,QACA,SACA,WACG;AACH,QAAM,EAAE,aAAa,OAAO,IAAI;AAChC,QAAM,WAAW,QAAQ,aAAa,OAAO,mBAAmB,SAAS;AACzE,MAAI,CAAC,UAAU;AACb,UAAM,eACJ;AACF,WAAO;AAAA,MACL,KAAK,EAAE,QAAQ,OAAO,oBAAoB,OAAO,aAAa;AAAA,MAC9D;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,OAAO,SAAS,MAAM,KAAK,UAAU,GAAG;AAC3C,UAAM,eAAe;AACrB,WAAO;AAAA,MACL,KAAK,EAAE,QAAQ,OAAO,oBAAoB,OAAO,aAAa;AAAA,MAC9D;AAAA,IACF;AAAA,EACF;AACA,MAAI;AACF,UAAM,SAAS,UAAU,WAAW,QAAQ;AAC5C,UAAM,YAAY,UAAU,WAAW,WAAW;AAClD,UAAM,KAAK,IAAI,oBAAoB,EAChC,gBAAgB,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,EACzC,gBAAgB,WAAW,IAAI,KAAK,MAAM,CAAC;AAC9C,WAAO,MAAM,kBAAkB,IAAI,QAAQ,SAAS,CAAC,EAAE,eAAe,OAAO,MAAM;AACjF,aAAO,eAAe,MAAM,cAAc,QAAQ,OAAO,WAAW,aAAa,MAAM,YAAY,aAAa;AAAA,IAClH,CAAC;AAAA,EACH,SAAS,KAAc;AACrB,YAAQ,MAAM,wBAAwB,GAAG;AACzC,UAAM,eAAe,yBACnB,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG,CACjD;AACA,WAAO;AAAA,MACL,KAAK,EAAE,QAAQ,OAAO,oBAAoB,OAAO,aAAa;AAAA,MAC9D;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAMC,QAAO,CAAC,aAA4B;AAAA,EACxC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,aAAa,yBAAyB,OAAO;AAAA,EAC7C,YAAY,6BAA6B,OAAO;AAAA,EAChD,SAAS;AACX;AAEA,IAAO,+BAAQA;;;AEjEf,IAAO,gBAAQ;AAAA,EACb,MAAM;AAAA,EACN,SAAS;AAAA,EACT,aAAa;AAAA,EACb,OAAO,CAAC,YAAqB;AAC3B,WAAO,CAAC,oBAAe,OAAO,GAAG,6BAAuB,OAAO,CAAC;AAAA,EAClE;AACF;","names":["z","tool"]} \ No newline at end of file diff --git a/src/tools/hello-world.ts b/src/tools/hello-world.ts index 81ebb26..6a3dee2 100644 --- a/src/tools/hello-world.ts +++ b/src/tools/hello-world.ts @@ -12,7 +12,7 @@ Parameters: `; }; -const transferHbar = async ( +const executeHelloWorld = async ( _client: Client, _context: Context, params: z.infer> @@ -27,7 +27,7 @@ const tool = (context: Context): Tool => ({ name: "Simple Transfer HBAR", description: helloWorldPrompt(context), parameters: helloWorldParameters(context), - execute: transferHbar, + execute: executeHelloWorld, }); export default tool;