@curekit/actions-token 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export { TokenProvider, tokenActions } from "./tokenActionProvider";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { TokenProvider, tokenActions } from "./tokenActionProvider.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from "zod";
2
+ import type { WalletProvider } from "@curekit/core";
3
+ import { ActionProvider } from "@curekit/core";
4
+ declare const TransferSchema: z.ZodObject<{
5
+ to: z.ZodString;
6
+ amount: z.ZodString;
7
+ memo: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ to: string;
10
+ amount: string;
11
+ memo?: string | undefined;
12
+ }, {
13
+ to: string;
14
+ amount: string;
15
+ memo?: string | undefined;
16
+ }>;
17
+ declare const GetBalanceSchema: z.ZodObject<{
18
+ asset: z.ZodOptional<z.ZodString>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ asset?: string | undefined;
21
+ }, {
22
+ asset?: string | undefined;
23
+ }>;
24
+ export declare class TokenProvider extends ActionProvider {
25
+ constructor();
26
+ transfer(_wallet: WalletProvider, _args: z.infer<typeof TransferSchema>): Promise<string>;
27
+ getBalance(_wallet: WalletProvider, args: z.infer<typeof GetBalanceSchema>): Promise<string>;
28
+ }
29
+ export declare const tokenActions: () => TokenProvider;
30
+ export {};
31
+ //# sourceMappingURL=tokenActionProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenActionProvider.d.ts","sourceRoot":"","sources":["../src/tokenActionProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAU,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvD,QAAA,MAAM,cAAc;;;;;;;;;;;;EAIlB,CAAC;AAEH,QAAA,MAAM,gBAAgB;;;;;;EAEpB,CAAC;AAEH,qBAAa,aAAc,SAAQ,cAAc;;IAazC,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAWzF,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAKnG;AAED,eAAO,MAAM,YAAY,qBAA4B,CAAC"}
@@ -0,0 +1,59 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { z } from "zod";
11
+ import { Action, ActionProvider } from "@curekit/core";
12
+ const TransferSchema = z.object({
13
+ to: z.string().describe("Recipient Stellar address (G...)"),
14
+ amount: z.string().describe("Amount to transfer (in XLM)"),
15
+ memo: z.string().optional().describe("Optional memo text"),
16
+ });
17
+ const GetBalanceSchema = z.object({
18
+ asset: z.string().optional().describe("Asset code (defaults to native XLM)"),
19
+ });
20
+ export class TokenProvider extends ActionProvider {
21
+ constructor() {
22
+ super("token", []);
23
+ }
24
+ async transfer(_wallet, _args) {
25
+ return `Transfer of ${_args.amount} XLM to ${_args.to} initiated. Transaction hash: mock_tx_hash`;
26
+ }
27
+ async getBalance(_wallet, args) {
28
+ const asset = args.asset || "XLM";
29
+ const balance = await _wallet.getBalance();
30
+ return `Balance: ${Number(balance) / 10_000_000} ${asset}`;
31
+ }
32
+ }
33
+ __decorate([
34
+ Action({
35
+ name: "transfer",
36
+ description: "Transfer native XLM to another Stellar account",
37
+ similes: ["send xlm", "pay", "send lumens", "transfer tokens"],
38
+ schema: TransferSchema,
39
+ returnDirect: true,
40
+ needsWallet: true,
41
+ }),
42
+ __metadata("design:type", Function),
43
+ __metadata("design:paramtypes", [Function, void 0]),
44
+ __metadata("design:returntype", Promise)
45
+ ], TokenProvider.prototype, "transfer", null);
46
+ __decorate([
47
+ Action({
48
+ name: "get_balance",
49
+ description: "Get the balance of native XLM or a specific asset",
50
+ similes: ["balance", "check balance", "token balance"],
51
+ schema: GetBalanceSchema,
52
+ needsWallet: true,
53
+ }),
54
+ __metadata("design:type", Function),
55
+ __metadata("design:paramtypes", [Function, void 0]),
56
+ __metadata("design:returntype", Promise)
57
+ ], TokenProvider.prototype, "getBalance", null);
58
+ export const tokenActions = () => new TokenProvider();
59
+ //# sourceMappingURL=tokenActionProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenActionProvider.js","sourceRoot":"","sources":["../src/tokenActionProvider.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC1D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CAC3D,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CAC7E,CAAC,CAAC;AAEH,MAAM,OAAO,aAAc,SAAQ,cAAc;IAC/C;QACE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACrB,CAAC;IAUK,AAAN,KAAK,CAAC,QAAQ,CAAC,OAAuB,EAAE,KAAqC;QAC3E,OAAO,eAAe,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,EAAE,4CAA4C,CAAC;IACpG,CAAC;IASK,AAAN,KAAK,CAAC,UAAU,CAAC,OAAuB,EAAE,IAAsC;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC3C,OAAO,YAAY,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC;IAC7D,CAAC;CACF;AAhBO;IARL,MAAM,CAAC;QACN,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,CAAC;QAC9D,MAAM,EAAE,cAAc;QACtB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;KAClB,CAAC;;;;6CAGD;AASK;IAPL,MAAM,CAAC;QACN,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,CAAC;QACtD,MAAM,EAAE,gBAAgB;QACxB,WAAW,EAAE,IAAI;KAClB,CAAC;;;;+CAKD;AAGH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tokenActionProvider.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenActionProvider.test.d.ts","sourceRoot":"","sources":["../src/tokenActionProvider.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { MockWalletProvider } from "@curekit/core";
3
+ import { TokenProvider } from "./tokenActionProvider";
4
+ describe("TokenProvider", () => {
5
+ const wallet = new MockWalletProvider();
6
+ const provider = new TokenProvider();
7
+ it("should provide token actions", () => {
8
+ const actions = provider.getActions(wallet);
9
+ const names = actions.map((a) => a.name);
10
+ expect(names).toContain("token_transfer");
11
+ expect(names).toContain("token_get_balance");
12
+ });
13
+ it("should describe actions for LLM", () => {
14
+ const actions = provider.getActions(wallet);
15
+ const transfer = actions.find((a) => a.name === "token_transfer");
16
+ expect(transfer.description).toContain("Transfer native XLM");
17
+ expect(transfer.similes.length).toBeGreaterThan(0);
18
+ });
19
+ it("should invoke transfer action", async () => {
20
+ const actions = provider.getActions(wallet);
21
+ const transfer = actions.find((a) => a.name === "token_transfer");
22
+ const result = await transfer.invoke({
23
+ to: "GA4B7Y6XJ5Y6XJ5Y6XJ5Y6XJ5Y6XJ5Y6XJ5Y6XJ5Y6XJ5Y6XJ5Y6XJ5",
24
+ amount: "100",
25
+ });
26
+ expect(result).toContain("100 XLM");
27
+ });
28
+ it("should invoke balance action", async () => {
29
+ const actions = provider.getActions(wallet);
30
+ const balance = actions.find((a) => a.name === "token_get_balance");
31
+ const result = await balance.invoke({});
32
+ expect(result).toContain("Balance:");
33
+ });
34
+ });
35
+ //# sourceMappingURL=tokenActionProvider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenActionProvider.test.js","sourceRoot":"","sources":["../src/tokenActionProvider.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IAErC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAE,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAE,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACnC,EAAE,EAAE,yDAAyD;YAC7D,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAE,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@curekit/actions-token",
3
+ "version": "0.2.4",
4
+ "description": "Token transfer, balance, and approval actions for Stellar (SAC + classic assets)",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "default": "./dist/index.js"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "dependencies": {
20
+ "zod": "^3.24.0",
21
+ "@curekit/core": "0.2.4"
22
+ },
23
+ "devDependencies": {
24
+ "typescript": "^5.7.0",
25
+ "vitest": "^3.0.0"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "license": "MIT",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/anomalyco/agentkit-stellar.git",
34
+ "directory": "packages/actions-token"
35
+ },
36
+ "scripts": {
37
+ "build": "tsc && node ../../scripts/fix-esm-imports.mjs dist",
38
+ "test": "vitest run",
39
+ "lint": "eslint src/",
40
+ "typecheck": "tsc --noEmit",
41
+ "clean": "rm -rf dist"
42
+ }
43
+ }