@agent-shield/plugin-elizaos 0.1.2 → 0.3.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 (65) hide show
  1. package/README.md +215 -29
  2. package/dist/actions/index.d.ts +4 -3
  3. package/dist/actions/index.d.ts.map +1 -1
  4. package/dist/actions/index.js +9 -7
  5. package/dist/actions/index.js.map +1 -1
  6. package/dist/actions/pauseResume.d.ts +14 -0
  7. package/dist/actions/pauseResume.d.ts.map +1 -0
  8. package/dist/actions/pauseResume.js +89 -0
  9. package/dist/actions/pauseResume.js.map +1 -0
  10. package/dist/actions/status.d.ts +14 -0
  11. package/dist/actions/status.d.ts.map +1 -0
  12. package/dist/actions/status.js +74 -0
  13. package/dist/actions/status.js.map +1 -0
  14. package/dist/actions/transactionHistory.d.ts +14 -0
  15. package/dist/actions/transactionHistory.d.ts.map +1 -0
  16. package/dist/actions/transactionHistory.js +89 -0
  17. package/dist/actions/transactionHistory.js.map +1 -0
  18. package/dist/actions/{swap.d.ts → updatePolicy.d.ts} +4 -8
  19. package/dist/actions/updatePolicy.d.ts.map +1 -0
  20. package/dist/actions/updatePolicy.js +83 -0
  21. package/dist/actions/updatePolicy.js.map +1 -0
  22. package/dist/client-factory.d.ts +5 -8
  23. package/dist/client-factory.d.ts.map +1 -1
  24. package/dist/client-factory.js +53 -33
  25. package/dist/client-factory.js.map +1 -1
  26. package/dist/evaluators/policyCheck.d.ts +2 -2
  27. package/dist/evaluators/policyCheck.d.ts.map +1 -1
  28. package/dist/evaluators/policyCheck.js +25 -29
  29. package/dist/evaluators/policyCheck.js.map +1 -1
  30. package/dist/index.d.ts +3 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +7 -6
  33. package/dist/index.js.map +1 -1
  34. package/dist/plugin.d.ts +24 -68
  35. package/dist/plugin.d.ts.map +1 -1
  36. package/dist/plugin.js +14 -20
  37. package/dist/plugin.js.map +1 -1
  38. package/dist/providers/index.d.ts +1 -1
  39. package/dist/providers/index.d.ts.map +1 -1
  40. package/dist/providers/index.js +2 -2
  41. package/dist/providers/index.js.map +1 -1
  42. package/dist/providers/spendTracking.d.ts +7 -9
  43. package/dist/providers/spendTracking.d.ts.map +1 -1
  44. package/dist/providers/spendTracking.js +25 -32
  45. package/dist/providers/spendTracking.js.map +1 -1
  46. package/dist/providers/vaultStatus.d.ts +11 -15
  47. package/dist/providers/vaultStatus.d.ts.map +1 -1
  48. package/dist/providers/vaultStatus.js +22 -30
  49. package/dist/providers/vaultStatus.js.map +1 -1
  50. package/dist/types.d.ts +6 -10
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/types.js +4 -6
  53. package/dist/types.js.map +1 -1
  54. package/package.json +12 -8
  55. package/dist/actions/closePosition.d.ts +0 -27
  56. package/dist/actions/closePosition.d.ts.map +0 -1
  57. package/dist/actions/closePosition.js +0 -86
  58. package/dist/actions/closePosition.js.map +0 -1
  59. package/dist/actions/openPosition.d.ts +0 -31
  60. package/dist/actions/openPosition.d.ts.map +0 -1
  61. package/dist/actions/openPosition.js +0 -91
  62. package/dist/actions/openPosition.js.map +0 -1
  63. package/dist/actions/swap.d.ts.map +0 -1
  64. package/dist/actions/swap.js +0 -82
  65. package/dist/actions/swap.js.map +0 -1
@@ -1,91 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.openPositionAction = void 0;
4
- const anchor_1 = require("@coral-xyz/anchor");
5
- const client_factory_1 = require("../client-factory");
6
- exports.openPositionAction = {
7
- name: "SHIELD_OPEN_POSITION",
8
- description: "Open a leveraged perpetual position on Flash Trade through the AgentShield vault. " +
9
- "Enforces leverage limits, position count caps, and spending policy.",
10
- similes: [
11
- "open a long position",
12
- "open a short position",
13
- "go long through shield",
14
- "go short through shield",
15
- "open leveraged trade",
16
- ],
17
- validate: async (runtime, message) => {
18
- try {
19
- (0, client_factory_1.getOrCreateClient)(runtime);
20
- }
21
- catch {
22
- return false;
23
- }
24
- const text = (message.content?.text || "").toLowerCase();
25
- const keywords = ["open position", "go long", "go short", "open long", "open short", "leverage"];
26
- return keywords.some((kw) => text.includes(kw));
27
- },
28
- handler: async (runtime, message, _state, _options, callback) => {
29
- try {
30
- const { client, vaultOwner, vaultId, agentKey } = (0, client_factory_1.getOrCreateClient)(runtime);
31
- const params = message.content;
32
- if (!params.targetSymbol || !params.collateralSymbol || !params.collateralAmount || !params.sizeAmount || !params.side) {
33
- callback({
34
- text: "Missing required fields: targetSymbol, collateralSymbol, collateralAmount, sizeAmount, and side are required.",
35
- error: true,
36
- });
37
- return;
38
- }
39
- const sideObj = params.side === "long" ? { long: {} } : { short: {} };
40
- const result = await client.flashTradeOpen({
41
- owner: vaultOwner,
42
- vaultId,
43
- agent: agentKey,
44
- targetSymbol: params.targetSymbol,
45
- collateralSymbol: params.collateralSymbol,
46
- collateralAmount: new anchor_1.BN(params.collateralAmount),
47
- sizeAmount: new anchor_1.BN(params.sizeAmount),
48
- side: sideObj,
49
- priceWithSlippage: {
50
- price: new anchor_1.BN(params.price || "0"),
51
- exponent: params.priceExponent || -8,
52
- },
53
- leverageBps: params.leverageBps || 10000,
54
- });
55
- const txSig = await client.executeFlashTrade(result, agentKey);
56
- callback({
57
- text: `Position opened through AgentShield vault.\nSide: ${params.side}\nTarget: ${params.targetSymbol}\nLeverage: ${((params.leverageBps || 10000) / 10000).toFixed(1)}x\nTransaction: ${txSig}`,
58
- data: { txSig },
59
- });
60
- }
61
- catch (error) {
62
- callback({
63
- text: `Open position failed: ${error.message}`,
64
- error: true,
65
- });
66
- }
67
- },
68
- examples: [
69
- [
70
- {
71
- user: "{{user1}}",
72
- content: {
73
- text: "Open a 2x long SOL position with 100 USDC collateral",
74
- targetSymbol: "SOL",
75
- collateralSymbol: "USDC",
76
- collateralAmount: "100000000",
77
- sizeAmount: "200000000",
78
- side: "long",
79
- leverageBps: 20000,
80
- },
81
- },
82
- {
83
- user: "{{agent}}",
84
- content: {
85
- text: "Position opened through AgentShield vault.\nSide: long\nTarget: SOL\nLeverage: 2.0x\nTransaction: 4aBc...",
86
- },
87
- },
88
- ],
89
- ],
90
- };
91
- //# sourceMappingURL=openPosition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openPosition.js","sourceRoot":"","sources":["../../src/actions/openPosition.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/actions/swap.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU;;;;wBAYK,GAAG,WAAW,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC;uBAenD,GAAG,WACH,GAAG,UACJ,GAAG,YACD,GAAG,YACH,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI;;;;;;;;;;;;;;;;;;CAuDpC,CAAC"}
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.swapAction = void 0;
4
- const web3_js_1 = require("@solana/web3.js");
5
- const anchor_1 = require("@coral-xyz/anchor");
6
- const client_factory_1 = require("../client-factory");
7
- exports.swapAction = {
8
- name: "SHIELD_SWAP",
9
- description: "Execute a token swap through Jupiter, routed through the AgentShield vault " +
10
- "with permission checks and spending limits enforced on-chain.",
11
- similes: [
12
- "swap tokens through shield",
13
- "exchange tokens safely",
14
- "shielded swap",
15
- "protected token swap",
16
- ],
17
- validate: async (runtime, message) => {
18
- // Check required config exists
19
- try {
20
- (0, client_factory_1.getOrCreateClient)(runtime);
21
- }
22
- catch {
23
- return false;
24
- }
25
- // Check message matches swap intent
26
- const text = (message.content?.text || "").toLowerCase();
27
- const swapKeywords = ["swap", "exchange", "trade", "convert"];
28
- return swapKeywords.some((kw) => text.includes(kw));
29
- },
30
- handler: async (runtime, message, _state, _options, callback) => {
31
- try {
32
- const { client, vaultOwner, vaultId, agentKey } = (0, client_factory_1.getOrCreateClient)(runtime);
33
- const params = message.content;
34
- if (!params.inputMint || !params.outputMint || !params.amount) {
35
- callback({
36
- text: "Missing required fields: inputMint, outputMint, and amount are required for a swap.",
37
- error: true,
38
- });
39
- return;
40
- }
41
- const txSig = await client.executeJupiterSwap({
42
- owner: vaultOwner,
43
- vaultId,
44
- agent: agentKey,
45
- inputMint: new web3_js_1.PublicKey(params.inputMint),
46
- outputMint: new web3_js_1.PublicKey(params.outputMint),
47
- amount: new anchor_1.BN(params.amount),
48
- slippageBps: params.slippageBps || 50,
49
- });
50
- callback({
51
- text: `Swap executed successfully through AgentShield vault.\nTransaction: ${txSig}`,
52
- data: { txSig },
53
- });
54
- }
55
- catch (error) {
56
- callback({
57
- text: `Swap failed: ${error.message}`,
58
- error: true,
59
- });
60
- }
61
- },
62
- examples: [
63
- [
64
- {
65
- user: "{{user1}}",
66
- content: {
67
- text: "Swap 1 SOL for USDC through the shield vault",
68
- inputMint: "So11111111111111111111111111111111111111112",
69
- outputMint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
70
- amount: "1000000000",
71
- },
72
- },
73
- {
74
- user: "{{agent}}",
75
- content: {
76
- text: "Swap executed successfully through AgentShield vault.\nTransaction: 5xYz...",
77
- },
78
- },
79
- ],
80
- ],
81
- };
82
- //# sourceMappingURL=swap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/actions/swap.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,8CAAuC;AACvC,sDAAsD;AAEzC,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE,aAAa;IACnB,WAAW,EACT,6EAA6E;QAC7E,+DAA+D;IACjE,OAAO,EAAE;QACP,4BAA4B;QAC5B,wBAAwB;QACxB,eAAe;QACf,sBAAsB;KACvB;IAED,QAAQ,EAAE,KAAK,EAAE,OAAY,EAAE,OAAY,EAAoB,EAAE;QAC/D,+BAA+B;QAC/B,IAAI,CAAC;YACH,IAAA,kCAAiB,EAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QAED,oCAAoC;QACpC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9D,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,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,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAA,kCAAiB,EAAC,OAAO,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAE/B,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC9D,QAAQ,CAAC;oBACP,IAAI,EAAE,qFAAqF;oBAC3F,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;gBAC5C,KAAK,EAAE,UAAU;gBACjB,OAAO;gBACP,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,IAAI,mBAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBAC1C,UAAU,EAAE,IAAI,mBAAS,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC5C,MAAM,EAAE,IAAI,WAAE,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;aACtC,CAAC,CAAC;YAEH,QAAQ,CAAC;gBACP,IAAI,EAAE,uEAAuE,KAAK,EAAE;gBACpF,IAAI,EAAE,EAAE,KAAK,EAAE;aAChB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,QAAQ,CAAC;gBACP,IAAI,EAAE,gBAAgB,KAAK,CAAC,OAAO,EAAE;gBACrC,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,8CAA8C;oBACpD,SAAS,EAAE,6CAA6C;oBACxD,UAAU,EAAE,8CAA8C;oBAC1D,MAAM,EAAE,YAAY;iBACrB;aACF;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,6EAA6E;iBACpF;aACF;SACF;KACF;CACF,CAAC"}