@agent-shield/plugin-elizaos 0.3.1 → 0.4.0

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.
Files changed (41) hide show
  1. package/dist/actions/index.d.ts +1 -0
  2. package/dist/actions/index.d.ts.map +1 -1
  3. package/dist/actions/index.js +3 -1
  4. package/dist/actions/index.js.map +1 -1
  5. package/dist/actions/pauseResume.js +2 -2
  6. package/dist/actions/pauseResume.js.map +1 -1
  7. package/dist/actions/provision.d.ts +21 -0
  8. package/dist/actions/provision.d.ts.map +1 -0
  9. package/dist/actions/provision.js +98 -0
  10. package/dist/actions/provision.js.map +1 -0
  11. package/dist/actions/status.d.ts.map +1 -1
  12. package/dist/actions/status.js +3 -5
  13. package/dist/actions/status.js.map +1 -1
  14. package/dist/actions/transactionHistory.d.ts.map +1 -1
  15. package/dist/actions/transactionHistory.js +3 -5
  16. package/dist/actions/transactionHistory.js.map +1 -1
  17. package/dist/actions/updatePolicy.js +2 -2
  18. package/dist/actions/updatePolicy.js.map +1 -1
  19. package/dist/client-factory.d.ts +7 -2
  20. package/dist/client-factory.d.ts.map +1 -1
  21. package/dist/client-factory.js +76 -11
  22. package/dist/client-factory.js.map +1 -1
  23. package/dist/evaluators/policyCheck.js +1 -1
  24. package/dist/evaluators/policyCheck.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +2 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/plugin.d.ts.map +1 -1
  30. package/dist/plugin.js +1 -0
  31. package/dist/plugin.js.map +1 -1
  32. package/dist/providers/spendTracking.d.ts.map +1 -1
  33. package/dist/providers/spendTracking.js +3 -7
  34. package/dist/providers/spendTracking.js.map +1 -1
  35. package/dist/providers/vaultStatus.js +1 -1
  36. package/dist/providers/vaultStatus.js.map +1 -1
  37. package/dist/types.d.ts +17 -2
  38. package/dist/types.d.ts.map +1 -1
  39. package/dist/types.js +7 -1
  40. package/dist/types.js.map +1 -1
  41. package/package.json +19 -3
@@ -2,4 +2,5 @@ export { statusAction } from "./status";
2
2
  export { updatePolicyAction } from "./updatePolicy";
3
3
  export { pauseResumeAction } from "./pauseResume";
4
4
  export { transactionHistoryAction } from "./transactionHistory";
5
+ export { provisionAction } from "./provision";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transactionHistoryAction = exports.pauseResumeAction = exports.updatePolicyAction = exports.statusAction = void 0;
3
+ exports.provisionAction = exports.transactionHistoryAction = exports.pauseResumeAction = exports.updatePolicyAction = exports.statusAction = void 0;
4
4
  var status_1 = require("./status");
5
5
  Object.defineProperty(exports, "statusAction", { enumerable: true, get: function () { return status_1.statusAction; } });
6
6
  var updatePolicy_1 = require("./updatePolicy");
@@ -9,4 +9,6 @@ var pauseResume_1 = require("./pauseResume");
9
9
  Object.defineProperty(exports, "pauseResumeAction", { enumerable: true, get: function () { return pauseResume_1.pauseResumeAction; } });
10
10
  var transactionHistory_1 = require("./transactionHistory");
11
11
  Object.defineProperty(exports, "transactionHistoryAction", { enumerable: true, get: function () { return transactionHistory_1.transactionHistoryAction; } });
12
+ var provision_1 = require("./provision");
13
+ Object.defineProperty(exports, "provisionAction", { enumerable: true, get: function () { return provision_1.provisionAction; } });
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AACrB,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAC3B,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,2DAAgE;AAAvD,8HAAA,wBAAwB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":";;;AAAA,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AACrB,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAC3B,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,2DAAgE;AAAvD,8HAAA,wBAAwB,OAAA;AACjC,yCAA8C;AAArC,4GAAA,eAAe,OAAA"}
@@ -16,7 +16,7 @@ exports.pauseResumeAction = {
16
16
  ],
17
17
  validate: async (runtime, message) => {
18
18
  try {
19
- (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
19
+ await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
20
20
  }
21
21
  catch {
22
22
  return false;
@@ -34,7 +34,7 @@ exports.pauseResumeAction = {
34
34
  },
35
35
  handler: async (runtime, message, _state, _options, callback) => {
36
36
  try {
37
- const { wallet } = (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
37
+ const { wallet } = await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
38
38
  const text = (message.content?.text || "").toLowerCase();
39
39
  // Determine intent from message text
40
40
  const resumeKeywords = ["resume", "enable", "unpause", "activate"];
@@ -1 +1 @@
1
- {"version":3,"file":"pauseResume.js","sourceRoot":"","sources":["../../src/actions/pauseResume.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAEjD,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,qEAAqE;QACrE,wDAAwD;IAC1D,OAAO,EAAE;QACP,cAAc;QACd,eAAe;QACf,mBAAmB;QACnB,oBAAoB;QACpB,gBAAgB;QAChB,eAAe;KAChB;IAED,QAAQ,EAAE,KAAK,EAAE,OAAY,EAAE,OAAY,EAAoB,EAAE;QAC/D,IAAI,CAAC;YACH,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG;YACf,cAAc;YACd,eAAe;YACf,mBAAmB;YACnB,oBAAoB;YACpB,gBAAgB;YAChB,eAAe;SAChB,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,KAAK,EACZ,OAAY,EACZ,OAAY,EACZ,MAAW,EACX,QAAa,EACb,QAAiC,EACjC,EAAE;QACF,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAEzD,qCAAqC;YACrC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAEhE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,QAAQ,CAAC;oBACP,IAAI,EAAE,uDAAuD;iBAC9D,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC;oBACP,IAAI,EAAE,kFAAkF;iBACzF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,QAAQ,CAAC;gBACP,IAAI,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE;gBACvD,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,EAAE;QACR;YACE;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE;aAClD;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,kFAAkF;iBACzF;aACF;SACF;QACD;YACE;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE;aAC/C;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,uDAAuD;iBAC9D;aACF;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"pauseResume.js","sourceRoot":"","sources":["../../src/actions/pauseResume.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAEjD,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,qEAAqE;QACrE,wDAAwD;IAC1D,OAAO,EAAE;QACP,cAAc;QACd,eAAe;QACf,mBAAmB;QACnB,oBAAoB;QACpB,gBAAgB;QAChB,eAAe;KAChB;IAED,QAAQ,EAAE,KAAK,EAAE,OAAY,EAAE,OAAY,EAAoB,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG;YACf,cAAc;YACd,eAAe;YACf,mBAAmB;YACnB,oBAAoB;YACpB,gBAAgB;YAChB,eAAe;SAChB,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,KAAK,EACZ,OAAY,EACZ,OAAY,EACZ,MAAW,EACX,QAAa,EACb,QAAiC,EACjC,EAAE;QACF,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAEzD,qCAAqC;YACrC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAEhE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,QAAQ,CAAC;oBACP,IAAI,EAAE,uDAAuD;iBAC9D,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC;oBACP,IAAI,EAAE,kFAAkF;iBACzF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,QAAQ,CAAC;gBACP,IAAI,EAAE,kCAAkC,KAAK,CAAC,OAAO,EAAE;gBACvD,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,EAAE;QACR;YACE;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE;aAClD;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,kFAAkF;iBACzF;aACF;SACF;QACD;YACE;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE;aAC/C;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,uDAAuD;iBAC9D;aACF;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * SHIELD_PROVISION action for ElizaOS.
3
+ *
4
+ * Generates a Solana Action URL for one-click vault provisioning.
5
+ * The user clicks the link (blink or Action URL) to approve vault creation
6
+ * with a TEE-backed agent wallet.
7
+ */
8
+ export declare const provisionAction: {
9
+ name: string;
10
+ description: string;
11
+ similes: string[];
12
+ validate: (_runtime: any, message: any) => Promise<boolean>;
13
+ handler: (runtime: any, _message: any, _state: any, _options: any, callback: (response: any) => void) => Promise<void>;
14
+ examples: {
15
+ user: string;
16
+ content: {
17
+ text: string;
18
+ };
19
+ }[][];
20
+ };
21
+ //# sourceMappingURL=provision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../src/actions/provision.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,eAAe;;;;yBAeC,GAAG,WAAW,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC;uBAepD,GAAG,YACF,GAAG,UACL,GAAG,YACD,GAAG,YACH,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI;;;;;;;CAwEpC,CAAC"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ /**
3
+ * SHIELD_PROVISION action for ElizaOS.
4
+ *
5
+ * Generates a Solana Action URL for one-click vault provisioning.
6
+ * The user clicks the link (blink or Action URL) to approve vault creation
7
+ * with a TEE-backed agent wallet.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.provisionAction = void 0;
11
+ exports.provisionAction = {
12
+ name: "SHIELD_PROVISION",
13
+ description: "Request a protected vault with a TEE-backed agent wallet. " +
14
+ "Generates a Solana Action URL for the user to approve.",
15
+ similes: [
16
+ "provision wallet",
17
+ "create vault",
18
+ "need a wallet",
19
+ "setup trading",
20
+ "get agent wallet",
21
+ "shield provision",
22
+ "create protected wallet",
23
+ ],
24
+ validate: async (_runtime, message) => {
25
+ const text = (message.content?.text || "").toLowerCase();
26
+ const keywords = [
27
+ "provision",
28
+ "create vault",
29
+ "need a wallet",
30
+ "setup trading",
31
+ "agent wallet",
32
+ "protected wallet",
33
+ "shield provision",
34
+ ];
35
+ return keywords.some((kw) => text.includes(kw));
36
+ },
37
+ handler: async (runtime, _message, _state, _options, callback) => {
38
+ try {
39
+ const platformUrl = runtime.getSetting?.("AGENT_SHIELD_PLATFORM_URL") ||
40
+ process.env.AGENT_SHIELD_PLATFORM_URL ||
41
+ "https://app.agentshield.dev";
42
+ const template = runtime.getSetting?.("AGENT_SHIELD_DEFAULT_TEMPLATE") ||
43
+ process.env.AGENT_SHIELD_DEFAULT_TEMPLATE ||
44
+ "conservative";
45
+ const dailyCapStr = runtime.getSetting?.("AGENT_SHIELD_DAILY_CAP") ||
46
+ process.env.AGENT_SHIELD_DAILY_CAP;
47
+ const dailyCap = dailyCapStr ? parseInt(dailyCapStr, 10) : undefined;
48
+ const baseUrl = platformUrl.replace(/\/$/, "");
49
+ const params = new URLSearchParams();
50
+ params.set("template", template);
51
+ if (dailyCap) {
52
+ params.set("dailyCap", dailyCap.toString());
53
+ }
54
+ const actionUrl = `${baseUrl}/api/actions/provision?${params.toString()}`;
55
+ const blinkUrl = `https://dial.to/?action=solana-action:${encodeURIComponent(actionUrl)}`;
56
+ const capDisplay = dailyCap ||
57
+ {
58
+ conservative: 500,
59
+ moderate: 2000,
60
+ aggressive: 10000,
61
+ }[template] ||
62
+ 500;
63
+ const lines = [
64
+ "I need a protected wallet to trade. Please approve the vault creation:",
65
+ "",
66
+ `**Policy:** ${template} (${capDisplay} USDC/day cap)`,
67
+ "",
68
+ `**Blink URL:** ${blinkUrl}`,
69
+ `**Action URL:** ${actionUrl}`,
70
+ "",
71
+ "Click the link above to approve. You'll sign ONE transaction that creates",
72
+ "the vault and registers a TEE-backed agent wallet — all-or-nothing.",
73
+ ];
74
+ callback({ text: lines.join("\n") });
75
+ }
76
+ catch (error) {
77
+ callback({
78
+ text: `Failed to generate provision URL: ${error.message}`,
79
+ error: true,
80
+ });
81
+ }
82
+ },
83
+ examples: [
84
+ [
85
+ {
86
+ user: "{{user1}}",
87
+ content: { text: "I need you to set up a protected trading wallet" },
88
+ },
89
+ {
90
+ user: "{{agent}}",
91
+ content: {
92
+ text: "I need a protected wallet to trade. Please approve the vault creation:\n\n**Policy:** conservative (500 USDC/day cap)\n\n**Blink URL:** https://dial.to/?action=solana-action:...\n**Action URL:** https://app.agentshield.dev/api/actions/provision?template=conservative",
93
+ },
94
+ },
95
+ ],
96
+ ],
97
+ };
98
+ //# sourceMappingURL=provision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provision.js","sourceRoot":"","sources":["../../src/actions/provision.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/actions/status.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;wBAYG,GAAG,WAAW,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC;uBAmBnD,GAAG,YACF,GAAG,UACL,GAAG,YACD,GAAG,YACH,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI;;;;;;;CAoDpC,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/actions/status.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;wBAYG,GAAG,WAAW,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC;uBAmBnD,GAAG,YACF,GAAG,UACL,GAAG,YACD,GAAG,YACH,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI;;;;;;;CAkDpC,CAAC"}
@@ -14,7 +14,7 @@ exports.statusAction = {
14
14
  ],
15
15
  validate: async (runtime, message) => {
16
16
  try {
17
- (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
17
+ await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
18
18
  }
19
19
  catch {
20
20
  return false;
@@ -31,7 +31,7 @@ exports.statusAction = {
31
31
  },
32
32
  handler: async (runtime, _message, _state, _options, callback) => {
33
33
  try {
34
- const { wallet } = (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
34
+ const { wallet } = await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
35
35
  const summary = wallet.getSpendingSummary();
36
36
  const lines = [
37
37
  `=== AgentShield Status ===`,
@@ -40,9 +40,7 @@ exports.statusAction = {
40
40
  ];
41
41
  for (const t of summary.tokens) {
42
42
  const label = t.symbol ?? t.mint.slice(0, 8) + "...";
43
- const pct = t.limit > BigInt(0)
44
- ? Number((t.spent * BigInt(100)) / t.limit)
45
- : 0;
43
+ const pct = t.limit > BigInt(0) ? Number((t.spent * BigInt(100)) / t.limit) : 0;
46
44
  lines.push(`${label}: ${t.spent.toString()} / ${t.limit.toString()} (${pct}% used)`);
47
45
  lines.push(` Remaining: ${t.remaining.toString()}`);
48
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/actions/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/actions/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transactionHistory.d.ts","sourceRoot":"","sources":["../../src/actions/transactionHistory.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB;;;;wBAaT,GAAG,WAAW,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC;uBAmBnD,GAAG,YACF,GAAG,UACL,GAAG,YACD,GAAG,YACH,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI;;;;;;;CAgEpC,CAAC"}
1
+ {"version":3,"file":"transactionHistory.d.ts","sourceRoot":"","sources":["../../src/actions/transactionHistory.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB;;;;wBAaT,GAAG,WAAW,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC;uBAmBnD,GAAG,YACF,GAAG,UACL,GAAG,YACD,GAAG,YACH,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI;;;;;;;CA8DpC,CAAC"}
@@ -15,7 +15,7 @@ exports.transactionHistoryAction = {
15
15
  ],
16
16
  validate: async (runtime, message) => {
17
17
  try {
18
- (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
18
+ await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
19
19
  }
20
20
  catch {
21
21
  return false;
@@ -32,7 +32,7 @@ exports.transactionHistoryAction = {
32
32
  },
33
33
  handler: async (runtime, _message, _state, _options, callback) => {
34
34
  try {
35
- const { wallet } = (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
35
+ const { wallet } = await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
36
36
  const summary = wallet.getSpendingSummary();
37
37
  const lines = [
38
38
  `=== AgentShield Transaction History ===`,
@@ -46,9 +46,7 @@ exports.transactionHistoryAction = {
46
46
  else {
47
47
  for (const t of summary.tokens) {
48
48
  const label = t.symbol ?? t.mint.slice(0, 8) + "...";
49
- const pct = t.limit > BigInt(0)
50
- ? Number((t.spent * BigInt(100)) / t.limit)
51
- : 0;
49
+ const pct = t.limit > BigInt(0) ? Number((t.spent * BigInt(100)) / t.limit) : 0;
52
50
  const windowHrs = t.windowMs / 3600000;
53
51
  lines.push(` ${label}:`);
54
52
  lines.push(` Spent: ${t.spent.toString()} / ${t.limit.toString()}`);
@@ -1 +1 @@
1
- {"version":3,"file":"transactionHistory.js","sourceRoot":"","sources":["../../src/actions/transactionHistory.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAEjD,QAAA,wBAAwB,GAAG;IACtC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,iEAAiE;QACjE,oCAAoC;IACtC,OAAO,EAAE;QACP,qBAAqB;QACrB,iBAAiB;QACjB,gBAAgB;QAChB,kBAAkB;QAClB,cAAc;KACf;IAED,QAAQ,EAAE,KAAK,EAAE,OAAY,EAAE,OAAY,EAAoB,EAAE;QAC/D,IAAI,CAAC;YACH,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG;YACf,qBAAqB;YACrB,iBAAiB;YACjB,gBAAgB;YAChB,kBAAkB;YAClB,cAAc;SACf,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,KAAK,EACZ,OAAY,EACZ,QAAa,EACb,MAAW,EACX,QAAa,EACb,QAAiC,EACjC,EAAE;QACF,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAE5C,MAAM,KAAK,GAAG;gBACZ,yCAAyC;gBACzC,gBAAgB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACxD,EAAE;gBACF,yBAAyB;aAC1B,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBACrD,MAAM,GAAG,GACP,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;wBACjB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;wBAC3C,CAAC,CAAC,CAAC,CAAC;oBACR,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAS,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;oBAC1B,KAAK,CAAC,IAAI,CACR,cAAc,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAC3D,CAAC;oBACF,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;oBACjC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACvD,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,WAAW,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CACR,mBAAmB,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAC1E,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAS,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,aAAa,WAAW,GAAG,CAAC,CAAC;YAExC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,QAAQ,CAAC;gBACP,IAAI,EAAE,sCAAsC,KAAK,CAAC,OAAO,EAAE;gBAC3D,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,EAAE;QACR;YACE;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,EAAE,IAAI,EAAE,iCAAiC,EAAE;aACrD;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,uMAAuM;iBAC9M;aACF;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"transactionHistory.js","sourceRoot":"","sources":["../../src/actions/transactionHistory.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ exports.updatePolicyAction = {
14
14
  ],
15
15
  validate: async (runtime, message) => {
16
16
  try {
17
- (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
17
+ await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
18
18
  }
19
19
  catch {
20
20
  return false;
@@ -31,7 +31,7 @@ exports.updatePolicyAction = {
31
31
  },
32
32
  handler: async (runtime, message, _state, _options, callback) => {
33
33
  try {
34
- const { wallet } = (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
34
+ const { wallet } = await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
35
35
  const params = message.content;
36
36
  const newPolicies = {};
37
37
  const changes = [];
@@ -1 +1 @@
1
- {"version":3,"file":"updatePolicy.js","sourceRoot":"","sources":["../../src/actions/updatePolicy.ts"],"names":[],"mappings":";;;AACA,sDAA8D;AAEjD,QAAA,kBAAkB,GAAG;IAChC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,oEAAoE;IACtE,OAAO,EAAE;QACP,eAAe;QACf,cAAc;QACd,qBAAqB;QACrB,YAAY;QACZ,eAAe;KAChB;IAED,QAAQ,EAAE,KAAK,EAAE,OAAY,EAAE,OAAY,EAAoB,EAAE;QAC/D,IAAI,CAAC;YACH,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG;YACf,eAAe;YACf,cAAc;YACd,YAAY;YACZ,YAAY;YACZ,eAAe;SAChB,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,KAAK,EACZ,OAAY,EACZ,OAAY,EACZ,MAAW,EACX,QAAa,EACb,QAAiC,EACjC,EAAE;QACF,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAE/B,MAAM,WAAW,GAAmB,EAAE,CAAC;YACvC,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBAC9C,WAAW,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC;oBACP,IAAI,EAAE,wEAAwE;oBAC9E,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAEnC,QAAQ,CAAC;gBACP,IAAI,EAAE,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,QAAQ,CAAC;gBACP,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE;gBACnD,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,EAAE;QACR;YACE;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,6CAA6C;oBACnD,QAAQ,EAAE,eAAe;iBAC1B;aACF;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,kDAAkD;iBACzD;aACF;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"updatePolicy.js","sourceRoot":"","sources":["../../src/actions/updatePolicy.ts"],"names":[],"mappings":";;;AACA,sDAA8D;AAEjD,QAAA,kBAAkB,GAAG;IAChC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,oEAAoE;IACtE,OAAO,EAAE;QACP,eAAe;QACf,cAAc;QACd,qBAAqB;QACrB,YAAY;QACZ,eAAe;KAChB;IAED,QAAQ,EAAE,KAAK,EAAE,OAAY,EAAE,OAAY,EAAoB,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG;YACf,eAAe;YACf,cAAc;YACd,YAAY;YACZ,YAAY;YACZ,eAAe;SAChB,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,KAAK,EACZ,OAAY,EACZ,OAAY,EACZ,MAAW,EACX,QAAa,EACb,QAAiC,EACjC,EAAE;QACF,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAE/B,MAAM,WAAW,GAAmB,EAAE,CAAC;YACvC,MAAM,OAAO,GAAa,EAAE,CAAC;YAE7B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;gBAC9C,WAAW,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC;oBACP,IAAI,EAAE,wEAAwE;oBAC9E,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAEnC,QAAQ,CAAC;gBACP,IAAI,EAAE,4BAA4B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACvD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,QAAQ,CAAC;gBACP,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE;gBACnD,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,QAAQ,EAAE;QACR;YACE;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,6CAA6C;oBACnD,QAAQ,EAAE,eAAe;iBAC1B;aACF;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,kDAAkD;iBACzD;aACF;SACF;KACF;CACF,CAAC"}
@@ -3,14 +3,19 @@ import type { ShieldedWallet } from "@agent-shield/solana";
3
3
  import { AgentShieldElizaConfig } from "./types";
4
4
  /**
5
5
  * Reads AgentShield config from ElizaOS runtime settings.
6
+ * Supports both raw keypair and TEE custody provider paths.
6
7
  */
7
8
  export declare function getConfig(runtime: any): AgentShieldElizaConfig;
8
9
  /**
9
10
  * Gets or creates a ShieldedWallet for the given ElizaOS runtime.
10
11
  * Cached per runtime instance via WeakMap.
12
+ *
13
+ * Supports two paths:
14
+ * 1. TEE custody: AGENT_SHIELD_CUSTODY=crossmint → uses Crossmint TEE adapter
15
+ * 2. Raw keypair: SOLANA_WALLET_PRIVATE_KEY → wraps local keypair (legacy)
11
16
  */
12
- export declare function getOrCreateShieldedWallet(runtime: any): {
17
+ export declare function getOrCreateShieldedWallet(runtime: any): Promise<{
13
18
  wallet: ShieldedWallet;
14
19
  publicKey: PublicKey;
15
- };
20
+ }>;
16
21
  //# sourceMappingURL=client-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-factory.d.ts","sourceRoot":"","sources":["../src/client-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAGV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAY,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAyB3D;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,sBAAsB,CAgB9D;AAkBD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,GAAG,GAAG;IACvD,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;CACtB,CA4CA"}
1
+ {"version":3,"file":"client-factory.d.ts","sourceRoot":"","sources":["../src/client-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAGV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAY,sBAAsB,EAAmB,MAAM,SAAS,CAAC;AAyB5E;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,sBAAsB,CAsC9D;AAmED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC;IACrE,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC,CAuDD"}
@@ -24,20 +24,35 @@ class KeypairWallet {
24
24
  const walletCache = new WeakMap();
25
25
  /**
26
26
  * Reads AgentShield config from ElizaOS runtime settings.
27
+ * Supports both raw keypair and TEE custody provider paths.
27
28
  */
28
29
  function getConfig(runtime) {
29
- const get = (key) => {
30
- const val = runtime.getSetting(key);
31
- if (!val)
32
- throw new Error(`AgentShield: missing required setting '${key}'`);
33
- return val;
34
- };
35
30
  const blockRaw = runtime.getSetting(types_1.ENV_KEYS.BLOCK_UNKNOWN);
36
31
  const blockUnknown = blockRaw !== "false";
32
+ const custodyRaw = runtime.getSetting(types_1.ENV_KEYS.CUSTODY_PROVIDER);
33
+ const custodyProvider = custodyRaw
34
+ ? custodyRaw
35
+ : undefined;
36
+ if (custodyProvider) {
37
+ // TEE custody path — no raw private key needed
38
+ return {
39
+ maxSpend: runtime.getSetting(types_1.ENV_KEYS.MAX_SPEND) || undefined,
40
+ blockUnknown,
41
+ custodyProvider,
42
+ crossmintApiKey: runtime.getSetting(types_1.ENV_KEYS.CROSSMINT_API_KEY) || undefined,
43
+ crossmintLocator: runtime.getSetting(types_1.ENV_KEYS.CROSSMINT_LOCATOR) || undefined,
44
+ };
45
+ }
46
+ // Legacy path — raw private key
47
+ const walletPrivateKey = runtime.getSetting(types_1.ENV_KEYS.WALLET_PRIVATE_KEY);
48
+ if (!walletPrivateKey) {
49
+ throw new Error(`AgentShield: either set '${types_1.ENV_KEYS.CUSTODY_PROVIDER}' to a custody provider ` +
50
+ `(crossmint, turnkey, privy) or provide '${types_1.ENV_KEYS.WALLET_PRIVATE_KEY}'.`);
51
+ }
37
52
  return {
38
53
  maxSpend: runtime.getSetting(types_1.ENV_KEYS.MAX_SPEND) || undefined,
39
54
  blockUnknown,
40
- walletPrivateKey: get(types_1.ENV_KEYS.WALLET_PRIVATE_KEY),
55
+ walletPrivateKey,
41
56
  };
42
57
  }
43
58
  /**
@@ -56,18 +71,68 @@ function parseKeypair(raw) {
56
71
  const bs58 = require("bs58");
57
72
  return web3_js_1.Keypair.fromSecretKey(bs58.decode(raw));
58
73
  }
74
+ /**
75
+ * Create a WalletLike from a TEE custody provider.
76
+ * Dynamically imports the provider adapter to avoid hard dependencies.
77
+ */
78
+ async function createCustodyWallet(config) {
79
+ switch (config.custodyProvider) {
80
+ case "crossmint": {
81
+ if (!config.crossmintApiKey) {
82
+ throw new Error(`AgentShield: '${types_1.ENV_KEYS.CROSSMINT_API_KEY}' is required when ` +
83
+ `'${types_1.ENV_KEYS.CUSTODY_PROVIDER}' is set to 'crossmint'.`);
84
+ }
85
+ // Dynamic require to avoid hard dependency on custody adapter.
86
+ // The package is optional — only needed when AGENT_SHIELD_CUSTODY=crossmint.
87
+ let mod;
88
+ try {
89
+ mod = require("@agent-shield/custody-crossmint");
90
+ }
91
+ catch {
92
+ throw new Error("AgentShield: @agent-shield/custody-crossmint is not installed. " +
93
+ "Run: npm install @agent-shield/custody-crossmint");
94
+ }
95
+ return mod.crossmint({
96
+ apiKey: config.crossmintApiKey,
97
+ locator: config.crossmintLocator,
98
+ });
99
+ }
100
+ case "turnkey":
101
+ throw new Error("AgentShield: Turnkey custody adapter is not yet available. " +
102
+ "Install @agent-shield/custody-turnkey when released.");
103
+ case "privy":
104
+ throw new Error("AgentShield: Privy custody adapter is not yet available. " +
105
+ "Install @agent-shield/custody-privy when released.");
106
+ default:
107
+ throw new Error(`AgentShield: unknown custody provider '${config.custodyProvider}'. ` +
108
+ "Supported: crossmint, turnkey, privy.");
109
+ }
110
+ }
59
111
  /**
60
112
  * Gets or creates a ShieldedWallet for the given ElizaOS runtime.
61
113
  * Cached per runtime instance via WeakMap.
114
+ *
115
+ * Supports two paths:
116
+ * 1. TEE custody: AGENT_SHIELD_CUSTODY=crossmint → uses Crossmint TEE adapter
117
+ * 2. Raw keypair: SOLANA_WALLET_PRIVATE_KEY → wraps local keypair (legacy)
62
118
  */
63
- function getOrCreateShieldedWallet(runtime) {
119
+ async function getOrCreateShieldedWallet(runtime) {
64
120
  const cached = walletCache.get(runtime);
65
121
  if (cached)
66
122
  return cached;
67
123
  const config = getConfig(runtime);
68
- const keypair = parseKeypair(config.walletPrivateKey);
69
- const innerWallet = new KeypairWallet(keypair);
70
124
  const logger = runtime.logger ?? console;
125
+ let innerWallet;
126
+ if (config.custodyProvider) {
127
+ // Level 2: TEE custody — private key never leaves the enclave
128
+ (logger.info ?? console.info)(`[AgentShield] Using TEE custody provider: ${config.custodyProvider}`);
129
+ innerWallet = await createCustodyWallet(config);
130
+ }
131
+ else {
132
+ // Legacy: raw keypair in memory
133
+ const keypair = parseKeypair(config.walletPrivateKey);
134
+ innerWallet = new KeypairWallet(keypair);
135
+ }
71
136
  const shielded = (0, solana_1.shield)(innerWallet, {
72
137
  maxSpend: config.maxSpend,
73
138
  blockUnknownPrograms: config.blockUnknown,
@@ -88,7 +153,7 @@ function getOrCreateShieldedWallet(runtime) {
88
153
  (logger.info ?? console.info)("[AgentShield] Policies updated");
89
154
  },
90
155
  });
91
- const result = { wallet: shielded, publicKey: keypair.publicKey };
156
+ const result = { wallet: shielded, publicKey: innerWallet.publicKey };
92
157
  walletCache.set(runtime, result);
93
158
  return result;
94
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client-factory.js","sourceRoot":"","sources":["../src/client-factory.ts"],"names":[],"mappings":";;AAoCA,8BAgBC;AAsBD,8DA+CC;AAzHD,6CAKyB;AACzB,iDAA8C;AAE9C,mCAA2D;AAE3D,sEAAsE;AACtE,MAAM,aAAa;IAEjB,YAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,EAAK;QAEL,IAAI,EAAE,YAAY,qBAAW,EAAE,CAAC;YAC9B,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACL,EAA2B,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED,MAAM,WAAW,GAAG,IAAI,OAAO,EAG5B,CAAC;AAEJ;;GAEG;AACH,SAAgB,SAAS,CAAC,OAAY;IACpC,MAAM,GAAG,GAAG,CAAC,GAAW,EAAU,EAAE;QAClC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,GAAG,CAAC,CAAC;QACpE,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAQ,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,QAAQ,KAAK,OAAO,CAAC;IAE1C,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,gBAAQ,CAAC,SAAS,CAAC,IAAI,SAAS;QAC7D,YAAY;QACZ,gBAAgB,EAAE,GAAG,CAAC,gBAAQ,CAAC,kBAAkB,CAAC;KACnD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,iBAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,iBAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,OAAY;IAIpD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;IAEzC,MAAM,QAAQ,GAAG,IAAA,eAAM,EACrB,WAAW,EACX;QACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,oBAAoB,EAAE,MAAM,CAAC,YAAY;KAC1C,EACD;QACE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAC3B,mCAAmC,EACnC,KAAK,CAAC,OAAO,CACd,CAAC;QACJ,CAAC;QACD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACrB,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAC3B,oCAAoC,EACpC,MAAM,IAAI,EAAE,CACb,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,kCAAkC,CAAC,CAAC;QACpE,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACb,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,mCAAmC,CAAC,CAAC;QACrE,CAAC;QACD,cAAc,EAAE,GAAG,EAAE;YACnB,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,gCAAgC,CAAC,CAAC;QAClE,CAAC;KACF,CACF,CAAC;IAEF,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;IAClE,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"client-factory.js","sourceRoot":"","sources":["../src/client-factory.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ exports.policyCheckEvaluator = {
19
19
  },
20
20
  handler: async (runtime, _message) => {
21
21
  try {
22
- const { wallet } = (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
22
+ const { wallet } = await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
23
23
  const summary = wallet.getSpendingSummary();
24
24
  if (summary.isPaused)
25
25
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"policyCheck.js","sourceRoot":"","sources":["../../src/evaluators/policyCheck.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAE9D;;;GAGG;AACU,QAAA,oBAAoB,GAAG;IAClC,IAAI,EAAE,2BAA2B;IACjC,WAAW,EACT,0DAA0D;QAC1D,2CAA2C;IAC7C,OAAO,EAAE,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;IAEpD,QAAQ,EAAE,KAAK,EAAE,QAAa,EAAE,OAAY,EAAoB,EAAE;QAChE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,QAAa,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAE5C,IAAI,OAAO,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAElC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;oBACd,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBACrD,QAAQ,CAAC,IAAI,CACX,GAAG,KAAK,KAAK,GAAG,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAC/D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO;oBACL,IAAI,EACF,qDAAqD;wBACrD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;wBACxC,6EAA6E;oBAC/E,MAAM,EAAE,gBAAgB;iBACzB,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EACL,oEAAoE;YACtE,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAI,EAAE,mDAAmD;qBAC1D;iBACF;aACF;YACD,OAAO,EACL,qDAAqD;gBACrD,uCAAuC;SAC1C;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"policyCheck.js","sourceRoot":"","sources":["../../src/evaluators/policyCheck.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAE9D;;;GAGG;AACU,QAAA,oBAAoB,GAAG;IAClC,IAAI,EAAE,2BAA2B;IACjC,WAAW,EACT,0DAA0D;QAC1D,2CAA2C;IAC7C,OAAO,EAAE,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;IAEpD,QAAQ,EAAE,KAAK,EAAE,QAAa,EAAE,OAAY,EAAoB,EAAE;QAChE,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC9B,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,QAAa,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAE5C,IAAI,OAAO,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAElC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACpC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;oBACd,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBACrD,QAAQ,CAAC,IAAI,CACX,GAAG,KAAK,KAAK,GAAG,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAC/D,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO;oBACL,IAAI,EACF,qDAAqD;wBACrD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;wBACxC,6EAA6E;oBAC/E,MAAM,EAAE,gBAAgB;iBACzB,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,QAAQ,EAAE;QACR;YACE,OAAO,EACL,oEAAoE;YACtE,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAI,EAAE,mDAAmD;qBAC1D;iBACF;aACF;YACD,OAAO,EACL,qDAAqD;gBACrD,uCAAuC;SAC1C;KACF;CACF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { agentShieldPlugin } from "./plugin";
2
2
  export { ENV_KEYS, type AgentShieldElizaConfig } from "./types";
3
3
  export { getOrCreateShieldedWallet, getConfig } from "./client-factory";
4
- export { statusAction, updatePolicyAction, pauseResumeAction, transactionHistoryAction, } from "./actions";
4
+ export { statusAction, updatePolicyAction, pauseResumeAction, transactionHistoryAction, provisionAction, } from "./actions";
5
5
  export { shieldStatusProvider, spendTrackingProvider } from "./providers";
6
6
  export { policyCheckEvaluator } from "./evaluators";
7
7
  import { agentShieldPlugin } from "./plugin";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,KAAK,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,KAAK,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,eAAe,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.policyCheckEvaluator = exports.spendTrackingProvider = exports.shieldStatusProvider = exports.transactionHistoryAction = exports.pauseResumeAction = exports.updatePolicyAction = exports.statusAction = exports.getConfig = exports.getOrCreateShieldedWallet = exports.ENV_KEYS = exports.agentShieldPlugin = void 0;
3
+ exports.policyCheckEvaluator = exports.spendTrackingProvider = exports.shieldStatusProvider = exports.provisionAction = exports.transactionHistoryAction = exports.pauseResumeAction = exports.updatePolicyAction = exports.statusAction = exports.getConfig = exports.getOrCreateShieldedWallet = exports.ENV_KEYS = exports.agentShieldPlugin = void 0;
4
4
  var plugin_1 = require("./plugin");
5
5
  Object.defineProperty(exports, "agentShieldPlugin", { enumerable: true, get: function () { return plugin_1.agentShieldPlugin; } });
6
6
  var types_1 = require("./types");
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "statusAction", { enumerable: true, get: function
13
13
  Object.defineProperty(exports, "updatePolicyAction", { enumerable: true, get: function () { return actions_1.updatePolicyAction; } });
14
14
  Object.defineProperty(exports, "pauseResumeAction", { enumerable: true, get: function () { return actions_1.pauseResumeAction; } });
15
15
  Object.defineProperty(exports, "transactionHistoryAction", { enumerable: true, get: function () { return actions_1.transactionHistoryAction; } });
16
+ Object.defineProperty(exports, "provisionAction", { enumerable: true, get: function () { return actions_1.provisionAction; } });
16
17
  var providers_1 = require("./providers");
17
18
  Object.defineProperty(exports, "shieldStatusProvider", { enumerable: true, get: function () { return providers_1.shieldStatusProvider; } });
18
19
  Object.defineProperty(exports, "spendTrackingProvider", { enumerable: true, get: function () { return providers_1.spendTrackingProvider; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAC1B,iCAAgE;AAAvD,iGAAA,QAAQ,OAAA;AACjB,mDAAwE;AAA/D,2HAAA,yBAAyB,OAAA;AAAE,2GAAA,SAAS,OAAA;AAC7C,qCAKmB;AAJjB,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAClB,4GAAA,iBAAiB,OAAA;AACjB,mHAAA,wBAAwB,OAAA;AAE1B,yCAA0E;AAAjE,iHAAA,oBAAoB,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AACpD,2CAAoD;AAA3C,kHAAA,oBAAoB,OAAA;AAE7B,2CAA2C;AAC3C,qCAA6C;AAC7C,kBAAe,0BAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAC1B,iCAAgE;AAAvD,iGAAA,QAAQ,OAAA;AACjB,mDAAwE;AAA/D,2HAAA,yBAAyB,OAAA;AAAE,2GAAA,SAAS,OAAA;AAC7C,qCAMmB;AALjB,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAClB,4GAAA,iBAAiB,OAAA;AACjB,mHAAA,wBAAwB,OAAA;AACxB,0GAAA,eAAe,OAAA;AAEjB,yCAA0E;AAAjE,iHAAA,oBAAoB,OAAA;AAAE,kHAAA,qBAAqB,OAAA;AACpD,2CAAoD;AAA3C,kHAAA,oBAAoB,OAAA;AAE7B,2CAA2C;AAC3C,qCAA6C;AAC7C,kBAAe,0BAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiB7B,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB7B,CAAC"}
package/dist/plugin.js CHANGED
@@ -29,6 +29,7 @@ exports.agentShieldPlugin = {
29
29
  actions_1.updatePolicyAction,
30
30
  actions_1.pauseResumeAction,
31
31
  actions_1.transactionHistoryAction,
32
+ actions_1.provisionAction,
32
33
  ],
33
34
  providers: [providers_1.shieldStatusProvider, providers_1.spendTrackingProvider],
34
35
  evaluators: [evaluators_1.policyCheckEvaluator],
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";;;AAAA,uCAKmB;AACnB,2CAA0E;AAC1E,6CAAoD;AAEpD;;;;;;;;;;;;;;GAcG;AACU,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,6DAA6D;QAC7D,+DAA+D;QAC/D,kDAAkD;IAEpD,OAAO,EAAE;QACP,sBAAY;QACZ,4BAAkB;QAClB,2BAAiB;QACjB,kCAAwB;KACzB;IAED,SAAS,EAAE,CAAC,gCAAoB,EAAE,iCAAqB,CAAC;IAExD,UAAU,EAAE,CAAC,iCAAoB,CAAC;CACnC,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";;;AAAA,uCAMmB;AACnB,2CAA0E;AAC1E,6CAAoD;AAEpD;;;;;;;;;;;;;;GAcG;AACU,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,6DAA6D;QAC7D,+DAA+D;QAC/D,kDAAkD;IAEpD,OAAO,EAAE;QACP,sBAAY;QACZ,4BAAkB;QAClB,2BAAiB;QACjB,kCAAwB;QACxB,yBAAe;KAChB;IAED,SAAS,EAAE,CAAC,gCAAoB,EAAE,iCAAqB,CAAC;IAExD,UAAU,EAAE,CAAC,iCAAoB,CAAC;CACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"spendTracking.d.ts","sourceRoot":"","sources":["../../src/providers/spendTracking.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;mBAKX,GAAG,YAAY,GAAG,UAAU,GAAG;;;;;;;;;;;;;;;CAkDrD,CAAC"}
1
+ {"version":3,"file":"spendTracking.d.ts","sourceRoot":"","sources":["../../src/providers/spendTracking.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;mBAKX,GAAG,YAAY,GAAG,UAAU,GAAG;;;;;;;;;;;;;;;CA8CrD,CAAC"}
@@ -11,14 +11,12 @@ exports.spendTrackingProvider = {
11
11
  description: "Provides per-token spending data and remaining budget from the shield wrapper",
12
12
  get: async (runtime, _message, _state) => {
13
13
  try {
14
- const { wallet } = (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
14
+ const { wallet } = await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
15
15
  const summary = wallet.getSpendingSummary();
16
16
  const lines = [`AgentShield Spending:`];
17
17
  for (const t of summary.tokens) {
18
18
  const label = t.symbol ?? t.mint.slice(0, 8) + "...";
19
- const pct = t.limit > BigInt(0)
20
- ? Number((t.spent * BigInt(100)) / t.limit)
21
- : 0;
19
+ const pct = t.limit > BigInt(0) ? Number((t.spent * BigInt(100)) / t.limit) : 0;
22
20
  const windowHrs = t.windowMs / 3600000;
23
21
  lines.push(` ${label}: ${t.spent.toString()} / ${t.limit.toString()} (${pct}%, ${windowHrs}h window)`);
24
22
  lines.push(` Remaining: ${t.remaining.toString()}`);
@@ -29,9 +27,7 @@ exports.spendTrackingProvider = {
29
27
  const text = lines.join("\n");
30
28
  // Compute aggregate values for context
31
29
  const maxUsagePct = summary.tokens.reduce((max, t) => {
32
- const pct = t.limit > BigInt(0)
33
- ? Number((t.spent * BigInt(100)) / t.limit)
34
- : 0;
30
+ const pct = t.limit > BigInt(0) ? Number((t.spent * BigInt(100)) / t.limit) : 0;
35
31
  return Math.max(max, pct);
36
32
  }, 0);
37
33
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"spendTracking.js","sourceRoot":"","sources":["../../src/providers/spendTracking.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAE9D;;;GAGG;AACU,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,6BAA6B;IACnC,WAAW,EACT,+EAA+E;IAEjF,GAAG,EAAE,KAAK,EAAE,OAAY,EAAE,QAAa,EAAE,MAAW,EAAE,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAE5C,MAAM,KAAK,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAExC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;gBACrD,MAAM,GAAG,GACP,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;oBAC3C,CAAC,CAAC,CAAC,CAAC;gBACR,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAS,CAAC;gBACzC,KAAK,CAAC,IAAI,CACR,KAAK,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,SAAS,WAAW,CAC5F,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9B,uCAAuC;YACvC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACnD,MAAM,GAAG,GACP,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;oBAC3C,CAAC,CAAC,CAAC,CAAC;gBACR,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC,EAAE,CAAC,CAAC,CAAC;YAEN,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE;oBACN,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC5C,eAAe,EAAE,WAAW,CAAC,QAAQ,EAAE;oBACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;iBACtC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,6CAA6C,KAAK,CAAC,OAAO,EAAE;gBAClE,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"spendTracking.js","sourceRoot":"","sources":["../../src/providers/spendTracking.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAE9D;;;GAGG;AACU,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,6BAA6B;IACnC,WAAW,EACT,+EAA+E;IAEjF,GAAG,EAAE,KAAK,EAAE,OAAY,EAAE,QAAa,EAAE,MAAW,EAAE,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAE5C,MAAM,KAAK,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAExC,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;gBACrD,MAAM,GAAG,GACP,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,GAAG,OAAS,CAAC;gBACzC,KAAK,CAAC,IAAI,CACR,KAAK,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,SAAS,WAAW,CAC5F,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9B,uCAAuC;YACvC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACnD,MAAM,GAAG,GACP,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC,EAAE,CAAC,CAAC,CAAC;YAEN,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE;oBACN,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC5C,eAAe,EAAE,WAAW,CAAC,QAAQ,EAAE;oBACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;iBACtC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,6CAA6C,KAAK,CAAC,OAAO,EAAE;gBAClE,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -11,7 +11,7 @@ exports.shieldStatusProvider = {
11
11
  description: "Provides current AgentShield enforcement state, wallet address, and pause status",
12
12
  get: async (runtime, _message, _state) => {
13
13
  try {
14
- const { wallet, publicKey } = (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
14
+ const { wallet, publicKey } = await (0, client_factory_1.getOrCreateShieldedWallet)(runtime);
15
15
  const paused = wallet.isPaused;
16
16
  const summary = wallet.getSpendingSummary();
17
17
  const tokenLines = summary.tokens.map((t) => {
@@ -1 +1 @@
1
- {"version":3,"file":"vaultStatus.js","sourceRoot":"","sources":["../../src/providers/vaultStatus.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAE9D;;;GAGG;AACU,QAAA,oBAAoB,GAAG;IAClC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,kFAAkF;IAEpF,GAAG,EAAE,KAAK,EAAE,OAAY,EAAE,QAAa,EAAE,MAAW,EAAE,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YAEjE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAE5C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;gBACrD,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG;gBACX,gBAAgB,SAAS,CAAC,QAAQ,EAAE,EAAE;gBACtC,gBAAgB,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC9C,aAAa,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,EAAE;gBAC9D,eAAe,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;aACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE;oBACN,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE;oBACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;oBAC3B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC5C,cAAc,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;iBACxE;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,yCAAyC,KAAK,CAAC,OAAO,EAAE;gBAC9D,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"vaultStatus.js","sourceRoot":"","sources":["../../src/providers/vaultStatus.ts"],"names":[],"mappings":";;;AAAA,sDAA8D;AAE9D;;;GAGG;AACU,QAAA,oBAAoB,GAAG;IAClC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,kFAAkF;IAEpF,GAAG,EAAE,KAAK,EAAE,OAAY,EAAE,QAAa,EAAE,MAAW,EAAE,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,0CAAyB,EAAC,OAAO,CAAC,CAAC;YAEvE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAE5C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;gBACrD,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG;gBACX,gBAAgB,SAAS,CAAC,QAAQ,EAAE,EAAE;gBACtC,gBAAgB,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC9C,aAAa,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,EAAE;gBAC9D,eAAe,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;aACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE;oBACN,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE;oBACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;oBAC3B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAC5C,cAAc,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;iBACxE;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,yCAAyC,KAAK,CAAC,OAAO,EAAE;gBAC9D,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
package/dist/types.d.ts CHANGED
@@ -9,12 +9,27 @@ export declare const ENV_KEYS: {
9
9
  readonly BLOCK_UNKNOWN: "AGENT_SHIELD_BLOCK_UNKNOWN";
10
10
  /** Solana RPC URL */
11
11
  readonly RPC_URL: "SOLANA_RPC_URL";
12
- /** Solana wallet private key (base58 or JSON array) */
12
+ /** Solana wallet private key (base58 or JSON array) — not needed when using custody */
13
13
  readonly WALLET_PRIVATE_KEY: "SOLANA_WALLET_PRIVATE_KEY";
14
+ /** Custody provider: "crossmint", "turnkey", "privy" — if set, uses TEE-backed signing */
15
+ readonly CUSTODY_PROVIDER: "AGENT_SHIELD_CUSTODY";
16
+ /** Crossmint server-side API key (required when CUSTODY=crossmint) */
17
+ readonly CROSSMINT_API_KEY: "CROSSMINT_API_KEY";
18
+ /** Crossmint wallet locator (optional — creates new wallet if omitted) */
19
+ readonly CROSSMINT_LOCATOR: "CROSSMINT_WALLET_LOCATOR";
14
20
  };
21
+ /** Supported custody provider identifiers. */
22
+ export type CustodyProvider = "crossmint" | "turnkey" | "privy";
15
23
  export interface AgentShieldElizaConfig {
16
24
  maxSpend?: string;
17
25
  blockUnknown: boolean;
18
- walletPrivateKey: string;
26
+ /** Raw private key — used when no custody provider is set. */
27
+ walletPrivateKey?: string;
28
+ /** TEE custody provider — when set, walletPrivateKey is not required. */
29
+ custodyProvider?: CustodyProvider;
30
+ /** Crossmint API key (when custodyProvider = "crossmint") */
31
+ crossmintApiKey?: string;
32
+ /** Crossmint wallet locator (when custodyProvider = "crossmint") */
33
+ crossmintLocator?: string;
19
34
  }
20
35
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,QAAQ;IACnB,0CAA0C;;IAE1C,gEAAgE;;IAEhE,qBAAqB;;IAErB,uDAAuD;;CAE/C,CAAC;AAEX,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,QAAQ;IACnB,0CAA0C;;IAE1C,gEAAgE;;IAEhE,qBAAqB;;IAErB,uFAAuF;;IAEvF,0FAA0F;;IAE1F,sEAAsE;;IAEtE,0EAA0E;;CAElE,CAAC;AAEX,8CAA8C;AAC9C,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
package/dist/types.js CHANGED
@@ -12,7 +12,13 @@ exports.ENV_KEYS = {
12
12
  BLOCK_UNKNOWN: "AGENT_SHIELD_BLOCK_UNKNOWN",
13
13
  /** Solana RPC URL */
14
14
  RPC_URL: "SOLANA_RPC_URL",
15
- /** Solana wallet private key (base58 or JSON array) */
15
+ /** Solana wallet private key (base58 or JSON array) — not needed when using custody */
16
16
  WALLET_PRIVATE_KEY: "SOLANA_WALLET_PRIVATE_KEY",
17
+ /** Custody provider: "crossmint", "turnkey", "privy" — if set, uses TEE-backed signing */
18
+ CUSTODY_PROVIDER: "AGENT_SHIELD_CUSTODY",
19
+ /** Crossmint server-side API key (required when CUSTODY=crossmint) */
20
+ CROSSMINT_API_KEY: "CROSSMINT_API_KEY",
21
+ /** Crossmint wallet locator (optional — creates new wallet if omitted) */
22
+ CROSSMINT_LOCATOR: "CROSSMINT_WALLET_LOCATOR",
17
23
  };
18
24
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,QAAQ,GAAG;IACtB,0CAA0C;IAC1C,SAAS,EAAE,wBAAwB;IACnC,gEAAgE;IAChE,aAAa,EAAE,4BAA4B;IAC3C,qBAAqB;IACrB,OAAO,EAAE,gBAAgB;IACzB,uDAAuD;IACvD,kBAAkB,EAAE,2BAA2B;CACvC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,QAAQ,GAAG;IACtB,0CAA0C;IAC1C,SAAS,EAAE,wBAAwB;IACnC,gEAAgE;IAChE,aAAa,EAAE,4BAA4B;IAC3C,qBAAqB;IACrB,OAAO,EAAE,gBAAgB;IACzB,uFAAuF;IACvF,kBAAkB,EAAE,2BAA2B;IAC/C,0FAA0F;IAC1F,gBAAgB,EAAE,sBAAsB;IACxC,sEAAsE;IACtE,iBAAiB,EAAE,mBAAmB;IACtC,0EAA0E;IAC1E,iBAAiB,EAAE,0BAA0B;CACrC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-shield/plugin-elizaos",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "AgentShield plugin for ElizaOS — shield() wrapper actions, providers, and policy evaluators",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,8 +14,14 @@
14
14
  "peerDependencies": {
15
15
  "@elizaos/core": ">=0.1.0",
16
16
  "@agent-shield/solana": ">=0.1.1",
17
+ "@agent-shield/custody-crossmint": ">=0.1.0",
17
18
  "@solana/web3.js": ">=1.90.0"
18
19
  },
20
+ "peerDependenciesMeta": {
21
+ "@agent-shield/custody-crossmint": {
22
+ "optional": true
23
+ }
24
+ },
19
25
  "devDependencies": {
20
26
  "typescript": "^5.3.3",
21
27
  "@elizaos/core": "^0.1.0",
@@ -25,12 +31,22 @@
25
31
  "chai": "^4.4.1",
26
32
  "mocha": "^10.3.0",
27
33
  "ts-node": "^10.9.2",
28
- "@agent-shield/solana": "0.2.0"
34
+ "@agent-shield/solana": "0.3.0",
35
+ "@agent-shield/custody-crossmint": "0.1.1"
29
36
  },
37
+ "keywords": [
38
+ "solana",
39
+ "ai-agent",
40
+ "elizaos",
41
+ "defi",
42
+ "security",
43
+ "spending-limits",
44
+ "plugin"
45
+ ],
30
46
  "license": "MIT",
31
47
  "repository": {
32
48
  "type": "git",
33
- "url": "https://github.com/agent-shield/agent-shield",
49
+ "url": "https://github.com/Kaleb-Rupe/agentshield",
34
50
  "directory": "plugins/elizaos"
35
51
  },
36
52
  "scripts": {