@agent-shield/mcp 0.3.1 → 0.4.1

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,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fundWalletTool = exports.fundWalletSchema = void 0;
4
+ exports.fundWallet = fundWallet;
5
+ const zod_1 = require("zod");
6
+ const config_1 = require("../config");
7
+ const ACTIONS_SERVER_URL = "https://agent-middleware.vercel.app";
8
+ exports.fundWalletSchema = zod_1.z.object({
9
+ mint: zod_1.z
10
+ .string()
11
+ .optional()
12
+ .describe("Token mint address (base58). Omit for SOL. Use EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v for USDC."),
13
+ amount: zod_1.z
14
+ .string()
15
+ .optional()
16
+ .describe("Amount to fund (in human-readable units, e.g. '1.5' for 1.5 SOL)"),
17
+ });
18
+ /**
19
+ * Generate funding URLs for the configured wallet.
20
+ * Returns Blink URL (desktop), Solana Pay URL (mobile QR), and raw address.
21
+ */
22
+ async function fundWallet(_client, input) {
23
+ const config = (0, config_1.loadShieldConfig)();
24
+ if (!config) {
25
+ return ("AgentShield is not configured yet. " +
26
+ 'Ask me to set it up first with "Set up AgentShield".');
27
+ }
28
+ const destination = config.wallet.publicKey;
29
+ const tier = (0, config_1.getCurrentTier)(config);
30
+ const tierLabels = {
31
+ 1: "Shield wallet (keypair)",
32
+ 2: "TEE wallet (hardware enclave)",
33
+ 3: "Vault wallet (on-chain enforced)",
34
+ };
35
+ const lines = [
36
+ "## Fund Your AgentShield Wallet",
37
+ "",
38
+ `**Sending to:** ${destination}`,
39
+ `**Wallet Type:** ${tierLabels[tier]}`,
40
+ `**Network:** ${config.network}`,
41
+ "",
42
+ ];
43
+ // Build funding URLs
44
+ const params = new URLSearchParams();
45
+ params.set("destination", destination);
46
+ if (input.mint) {
47
+ params.set("mint", input.mint);
48
+ }
49
+ if (input.amount) {
50
+ params.set("amount", input.amount);
51
+ }
52
+ const actionUrl = `${ACTIONS_SERVER_URL}/api/actions/fund?${params.toString()}`;
53
+ const blinkUrl = `https://dial.to/?action=solana-action:${encodeURIComponent(actionUrl)}`;
54
+ // Solana Pay URL
55
+ const solPayParams = new URLSearchParams();
56
+ if (input.amount) {
57
+ solPayParams.set("amount", input.amount);
58
+ }
59
+ if (input.mint) {
60
+ solPayParams.set("spl-token", input.mint);
61
+ }
62
+ const solanaPayUrl = `solana:${destination}${solPayParams.toString() ? "?" + solPayParams.toString() : ""}`;
63
+ lines.push("### Option 1: Blink URL (Desktop)");
64
+ lines.push(`${blinkUrl}`);
65
+ lines.push("");
66
+ lines.push("### Option 2: Solana Pay (Mobile QR)");
67
+ lines.push(`${solanaPayUrl}`);
68
+ lines.push("");
69
+ lines.push("### Option 3: Send Directly");
70
+ lines.push(`Address: \`${destination}\``);
71
+ if (input.mint) {
72
+ lines.push(`Token Mint: \`${input.mint}\``);
73
+ }
74
+ if (input.amount) {
75
+ lines.push(`Amount: ${input.amount}`);
76
+ }
77
+ lines.push("");
78
+ lines.push(`Send ${input.mint ? "tokens" : "SOL"} to the address above using any Solana wallet.`);
79
+ return lines.join("\n");
80
+ }
81
+ exports.fundWalletTool = {
82
+ name: "shield_fund_wallet",
83
+ description: "Generate funding links for the configured AgentShield wallet. " +
84
+ "Returns a Blink URL (desktop), Solana Pay URL (mobile QR), and raw address. " +
85
+ "Works for any tier — sends to whatever wallet is configured.",
86
+ schema: exports.fundWalletSchema,
87
+ handler: fundWallet,
88
+ };
89
+ //# sourceMappingURL=fund-wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fund-wallet.js","sourceRoot":"","sources":["../../src/tools/fund-wallet.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,8 @@ export { applyPendingPolicyTool, applyPendingPolicy, applyPendingPolicySchema, }
16
16
  export { cancelPendingPolicyTool, cancelPendingPolicy, cancelPendingPolicySchema, } from "./cancel-pending-policy";
17
17
  export { checkPendingPolicyTool, checkPendingPolicy, checkPendingPolicySchema, } from "./check-pending-policy";
18
18
  export { agentTransferTool, agentTransfer, agentTransferSchema, } from "./agent-transfer";
19
+ export { setupStatusTool, setupStatus, setupStatusSchema, } from "./setup-status";
20
+ export { configureTool, configure, configureSchema } from "./configure";
21
+ export { fundWalletTool, fundWallet, fundWalletSchema } from "./fund-wallet";
22
+ export { upgradeTierTool, upgradeTier, upgradeTierSchema, } from "./upgrade-tier";
19
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EACL,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkPendingPolicy = exports.checkPendingPolicyTool = exports.cancelPendingPolicySchema = exports.cancelPendingPolicy = exports.cancelPendingPolicyTool = exports.applyPendingPolicySchema = exports.applyPendingPolicy = exports.applyPendingPolicyTool = exports.queuePolicyUpdateSchema = exports.queuePolicyUpdate = exports.queuePolicyUpdateTool = exports.provisionSchema = exports.provision = exports.provisionTool = exports.closePositionSchema = exports.closePosition = exports.closePositionTool = exports.openPositionSchema = exports.openPosition = exports.openPositionTool = exports.executeSwapSchema = exports.executeSwap = exports.executeSwapTool = exports.reactivateVaultSchema = exports.reactivateVault = exports.reactivateVaultTool = exports.revokeAgentSchema = exports.revokeAgent = exports.revokeAgentTool = exports.updatePolicySchema = exports.updatePolicy = exports.updatePolicyTool = exports.registerAgentSchema = exports.registerAgent = exports.registerAgentTool = exports.withdrawSchema = exports.withdraw = exports.withdrawTool = exports.depositSchema = exports.deposit = exports.depositTool = exports.createVaultSchema = exports.createVault = exports.createVaultTool = exports.checkSpendingSchema = exports.checkSpending = exports.checkSpendingTool = exports.checkVaultSchema = exports.checkVault = exports.checkVaultTool = void 0;
4
- exports.agentTransferSchema = exports.agentTransfer = exports.agentTransferTool = exports.checkPendingPolicySchema = void 0;
4
+ exports.upgradeTierSchema = exports.upgradeTier = exports.upgradeTierTool = exports.fundWalletSchema = exports.fundWallet = exports.fundWalletTool = exports.configureSchema = exports.configure = exports.configureTool = exports.setupStatusSchema = exports.setupStatus = exports.setupStatusTool = exports.agentTransferSchema = exports.agentTransfer = exports.agentTransferTool = exports.checkPendingPolicySchema = void 0;
5
5
  var check_vault_1 = require("./check-vault");
6
6
  Object.defineProperty(exports, "checkVaultTool", { enumerable: true, get: function () { return check_vault_1.checkVaultTool; } });
7
7
  Object.defineProperty(exports, "checkVault", { enumerable: true, get: function () { return check_vault_1.checkVault; } });
@@ -74,4 +74,20 @@ var agent_transfer_1 = require("./agent-transfer");
74
74
  Object.defineProperty(exports, "agentTransferTool", { enumerable: true, get: function () { return agent_transfer_1.agentTransferTool; } });
75
75
  Object.defineProperty(exports, "agentTransfer", { enumerable: true, get: function () { return agent_transfer_1.agentTransfer; } });
76
76
  Object.defineProperty(exports, "agentTransferSchema", { enumerable: true, get: function () { return agent_transfer_1.agentTransferSchema; } });
77
+ var setup_status_1 = require("./setup-status");
78
+ Object.defineProperty(exports, "setupStatusTool", { enumerable: true, get: function () { return setup_status_1.setupStatusTool; } });
79
+ Object.defineProperty(exports, "setupStatus", { enumerable: true, get: function () { return setup_status_1.setupStatus; } });
80
+ Object.defineProperty(exports, "setupStatusSchema", { enumerable: true, get: function () { return setup_status_1.setupStatusSchema; } });
81
+ var configure_1 = require("./configure");
82
+ Object.defineProperty(exports, "configureTool", { enumerable: true, get: function () { return configure_1.configureTool; } });
83
+ Object.defineProperty(exports, "configure", { enumerable: true, get: function () { return configure_1.configure; } });
84
+ Object.defineProperty(exports, "configureSchema", { enumerable: true, get: function () { return configure_1.configureSchema; } });
85
+ var fund_wallet_1 = require("./fund-wallet");
86
+ Object.defineProperty(exports, "fundWalletTool", { enumerable: true, get: function () { return fund_wallet_1.fundWalletTool; } });
87
+ Object.defineProperty(exports, "fundWallet", { enumerable: true, get: function () { return fund_wallet_1.fundWallet; } });
88
+ Object.defineProperty(exports, "fundWalletSchema", { enumerable: true, get: function () { return fund_wallet_1.fundWalletSchema; } });
89
+ var upgrade_tier_1 = require("./upgrade-tier");
90
+ Object.defineProperty(exports, "upgradeTierTool", { enumerable: true, get: function () { return upgrade_tier_1.upgradeTierTool; } });
91
+ Object.defineProperty(exports, "upgradeTier", { enumerable: true, get: function () { return upgrade_tier_1.upgradeTier; } });
92
+ Object.defineProperty(exports, "upgradeTierSchema", { enumerable: true, get: function () { return upgrade_tier_1.upgradeTierSchema; } });
77
93
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;;AAAA,6CAA6E;AAApE,6GAAA,cAAc,OAAA;AAAE,yGAAA,UAAU,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AACrD,mDAI0B;AAHxB,mHAAA,iBAAiB,OAAA;AACjB,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AAErB,+CAIwB;AAHtB,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AAEnB,qCAAgE;AAAvD,sGAAA,WAAW,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,wGAAA,aAAa,OAAA;AAC5C,uCAAoE;AAA3D,wGAAA,YAAY,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,0GAAA,cAAc,OAAA;AAC/C,mDAI0B;AAHxB,mHAAA,iBAAiB,OAAA;AACjB,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AAErB,iDAIyB;AAHvB,iHAAA,gBAAgB,OAAA;AAChB,6GAAA,YAAY,OAAA;AACZ,mHAAA,kBAAkB,OAAA;AAEpB,+CAIwB;AAHtB,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AAEnB,uDAI4B;AAH1B,uHAAA,mBAAmB,OAAA;AACnB,mHAAA,eAAe,OAAA;AACf,yHAAA,qBAAqB,OAAA;AAEvB,+CAIwB;AAHtB,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AAEnB,iDAIyB;AAHvB,iHAAA,gBAAgB,OAAA;AAChB,6GAAA,YAAY,OAAA;AACZ,mHAAA,kBAAkB,OAAA;AAEpB,mDAI0B;AAHxB,mHAAA,iBAAiB,OAAA;AACjB,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AAErB,yCAAwE;AAA/D,0GAAA,aAAa,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAClD,6DAI+B;AAH7B,4HAAA,qBAAqB,OAAA;AACrB,wHAAA,iBAAiB,OAAA;AACjB,8HAAA,uBAAuB,OAAA;AAEzB,+DAIgC;AAH9B,8HAAA,sBAAsB,OAAA;AACtB,0HAAA,kBAAkB,OAAA;AAClB,gIAAA,wBAAwB,OAAA;AAE1B,iEAIiC;AAH/B,gIAAA,uBAAuB,OAAA;AACvB,4HAAA,mBAAmB,OAAA;AACnB,kIAAA,yBAAyB,OAAA;AAE3B,+DAIgC;AAH9B,8HAAA,sBAAsB,OAAA;AACtB,0HAAA,kBAAkB,OAAA;AAClB,gIAAA,wBAAwB,OAAA;AAE1B,mDAI0B;AAHxB,mHAAA,iBAAiB,OAAA;AACjB,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;;AAAA,6CAA6E;AAApE,6GAAA,cAAc,OAAA;AAAE,yGAAA,UAAU,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AACrD,mDAI0B;AAHxB,mHAAA,iBAAiB,OAAA;AACjB,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AAErB,+CAIwB;AAHtB,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AAEnB,qCAAgE;AAAvD,sGAAA,WAAW,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,wGAAA,aAAa,OAAA;AAC5C,uCAAoE;AAA3D,wGAAA,YAAY,OAAA;AAAE,oGAAA,QAAQ,OAAA;AAAE,0GAAA,cAAc,OAAA;AAC/C,mDAI0B;AAHxB,mHAAA,iBAAiB,OAAA;AACjB,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AAErB,iDAIyB;AAHvB,iHAAA,gBAAgB,OAAA;AAChB,6GAAA,YAAY,OAAA;AACZ,mHAAA,kBAAkB,OAAA;AAEpB,+CAIwB;AAHtB,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AAEnB,uDAI4B;AAH1B,uHAAA,mBAAmB,OAAA;AACnB,mHAAA,eAAe,OAAA;AACf,yHAAA,qBAAqB,OAAA;AAEvB,+CAIwB;AAHtB,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AAEnB,iDAIyB;AAHvB,iHAAA,gBAAgB,OAAA;AAChB,6GAAA,YAAY,OAAA;AACZ,mHAAA,kBAAkB,OAAA;AAEpB,mDAI0B;AAHxB,mHAAA,iBAAiB,OAAA;AACjB,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AAErB,yCAAwE;AAA/D,0GAAA,aAAa,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAClD,6DAI+B;AAH7B,4HAAA,qBAAqB,OAAA;AACrB,wHAAA,iBAAiB,OAAA;AACjB,8HAAA,uBAAuB,OAAA;AAEzB,+DAIgC;AAH9B,8HAAA,sBAAsB,OAAA;AACtB,0HAAA,kBAAkB,OAAA;AAClB,gIAAA,wBAAwB,OAAA;AAE1B,iEAIiC;AAH/B,gIAAA,uBAAuB,OAAA;AACvB,4HAAA,mBAAmB,OAAA;AACnB,kIAAA,yBAAyB,OAAA;AAE3B,+DAIgC;AAH9B,8HAAA,sBAAsB,OAAA;AACtB,0HAAA,kBAAkB,OAAA;AAClB,gIAAA,wBAAwB,OAAA;AAE1B,mDAI0B;AAHxB,mHAAA,iBAAiB,OAAA;AACjB,+GAAA,aAAa,OAAA;AACb,qHAAA,mBAAmB,OAAA;AAErB,+CAIwB;AAHtB,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA;AAEnB,yCAAwE;AAA/D,0GAAA,aAAa,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAClD,6CAA6E;AAApE,6GAAA,cAAc,OAAA;AAAE,yGAAA,UAAU,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AACrD,+CAIwB;AAHtB,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,iHAAA,iBAAiB,OAAA"}
@@ -7,17 +7,17 @@ export declare const provisionSchema: z.ZodObject<{
7
7
  allowedProtocols: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
8
8
  maxLeverageBps: z.ZodOptional<z.ZodNumber>;
9
9
  }, "strip", z.ZodTypeAny, {
10
- platformUrl: string;
11
10
  template: "conservative" | "moderate" | "aggressive";
11
+ platformUrl: string;
12
12
  allowedProtocols?: string[] | undefined;
13
13
  maxLeverageBps?: number | undefined;
14
14
  dailyCap?: number | undefined;
15
15
  agentPubkey?: string | undefined;
16
16
  }, {
17
+ template?: "conservative" | "moderate" | "aggressive" | undefined;
17
18
  allowedProtocols?: string[] | undefined;
18
19
  maxLeverageBps?: number | undefined;
19
20
  platformUrl?: string | undefined;
20
- template?: "conservative" | "moderate" | "aggressive" | undefined;
21
21
  dailyCap?: number | undefined;
22
22
  agentPubkey?: string | undefined;
23
23
  }>;
@@ -41,17 +41,17 @@ export declare const provisionTool: {
41
41
  allowedProtocols: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
42
42
  maxLeverageBps: z.ZodOptional<z.ZodNumber>;
43
43
  }, "strip", z.ZodTypeAny, {
44
- platformUrl: string;
45
44
  template: "conservative" | "moderate" | "aggressive";
45
+ platformUrl: string;
46
46
  allowedProtocols?: string[] | undefined;
47
47
  maxLeverageBps?: number | undefined;
48
48
  dailyCap?: number | undefined;
49
49
  agentPubkey?: string | undefined;
50
50
  }, {
51
+ template?: "conservative" | "moderate" | "aggressive" | undefined;
51
52
  allowedProtocols?: string[] | undefined;
52
53
  maxLeverageBps?: number | undefined;
53
54
  platformUrl?: string | undefined;
54
- template?: "conservative" | "moderate" | "aggressive" | undefined;
55
55
  dailyCap?: number | undefined;
56
56
  agentPubkey?: string | undefined;
57
57
  }>;
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ export declare const setupStatusSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
3
+ export type SetupStatusInput = z.infer<typeof setupStatusSchema>;
4
+ /**
5
+ * Check the current AgentShield setup status.
6
+ * Reads ~/.agentshield/config.json and reports tier, wallet, policy, network.
7
+ * If Tier 3 (vault), also includes vault address.
8
+ *
9
+ * This tool works without an SDK client — it only reads local config.
10
+ */
11
+ export declare function setupStatus(_client: any, _input: SetupStatusInput): Promise<string>;
12
+ export declare const setupStatusTool: {
13
+ name: string;
14
+ description: string;
15
+ schema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
16
+ handler: typeof setupStatus;
17
+ };
18
+ //# sourceMappingURL=setup-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-status.d.ts","sourceRoot":"","sources":["../../src/tools/setup-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,iBAAiB,gDAAe,CAAC;AAE9C,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,MAAM,CAAC,CAiGjB;AAED,eAAO,MAAM,eAAe;;;;;CAQ3B,CAAC"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupStatusTool = exports.setupStatusSchema = void 0;
4
+ exports.setupStatus = setupStatus;
5
+ const zod_1 = require("zod");
6
+ const config_1 = require("../config");
7
+ exports.setupStatusSchema = zod_1.z.object({});
8
+ /**
9
+ * Check the current AgentShield setup status.
10
+ * Reads ~/.agentshield/config.json and reports tier, wallet, policy, network.
11
+ * If Tier 3 (vault), also includes vault address.
12
+ *
13
+ * This tool works without an SDK client — it only reads local config.
14
+ */
15
+ async function setupStatus(_client, _input) {
16
+ const config = (0, config_1.loadShieldConfig)();
17
+ if (!config) {
18
+ return [
19
+ "## AgentShield Setup Status",
20
+ "",
21
+ "**Status:** Not configured",
22
+ "",
23
+ "AgentShield is not configured on this machine. Ask me to set it up!",
24
+ "",
25
+ "I can configure three layers of protection:",
26
+ "- **Shield** (Tier 1) — Software spending controls, free, instant",
27
+ "- **TEE** (Tier 2) — Hardware enclave key protection, free, ~30s",
28
+ "- **Vault** (Tier 3) — On-chain policy enforcement, ~0.003 SOL, ~2min",
29
+ "",
30
+ 'Say "Set up AgentShield" to get started.',
31
+ ].join("\n");
32
+ }
33
+ const tier = (0, config_1.getCurrentTier)(config);
34
+ const tierLabels = {
35
+ 1: "Shield (software controls)",
36
+ 2: "Shield + TEE (hardware enclave)",
37
+ 3: "Shield + TEE + Vault (on-chain enforcement)",
38
+ };
39
+ const lines = [
40
+ "## AgentShield Setup Status",
41
+ "",
42
+ `**Current Tier:** ${tier} — ${tierLabels[tier]}`,
43
+ `**Network:** ${config.network}`,
44
+ `**Template:** ${config.template}`,
45
+ `**Configured:** ${config.configuredAt}`,
46
+ "",
47
+ ];
48
+ // Wallet info
49
+ lines.push("### Wallet");
50
+ lines.push(`- **Type:** ${config.wallet.type}`);
51
+ lines.push(`- **Public Key:** ${config.wallet.publicKey}`);
52
+ if (config.wallet.path) {
53
+ lines.push(`- **Keypair Path:** ${config.wallet.path}`);
54
+ }
55
+ lines.push("");
56
+ // Shield layer
57
+ lines.push("### Shield Layer (Tier 1)");
58
+ const shield = config.layers.shield;
59
+ lines.push(`- **Enabled:** ${shield.enabled}`);
60
+ if (shield.enabled) {
61
+ lines.push(`- **Daily Cap:** $${shield.dailyCapUsd}`);
62
+ lines.push(`- **Allowed Protocols:** ${shield.allowedProtocols.length > 0 ? shield.allowedProtocols.join(", ") : "Any"}`);
63
+ lines.push(`- **Max Leverage:** ${shield.maxLeverageBps} BPS`);
64
+ lines.push(`- **Rate Limit:** ${shield.rateLimit} tx/min`);
65
+ }
66
+ lines.push("");
67
+ // TEE layer
68
+ lines.push("### TEE Layer (Tier 2)");
69
+ const tee = config.layers.tee;
70
+ lines.push(`- **Enabled:** ${tee.enabled}`);
71
+ if (tee.enabled) {
72
+ lines.push(`- **Public Key:** ${tee.publicKey}`);
73
+ lines.push(`- **Locator:** ${tee.locator}`);
74
+ }
75
+ lines.push("");
76
+ // Vault layer
77
+ lines.push("### Vault Layer (Tier 3)");
78
+ const vault = config.layers.vault;
79
+ lines.push(`- **Enabled:** ${vault.enabled}`);
80
+ if (vault.enabled) {
81
+ lines.push(`- **Vault Address:** ${vault.address}`);
82
+ lines.push(`- **Owner:** ${vault.owner}`);
83
+ lines.push(`- **Vault ID:** ${vault.vaultId}`);
84
+ }
85
+ // Upgrade suggestion
86
+ if (tier < 3) {
87
+ lines.push("");
88
+ lines.push("### Recommended Upgrade");
89
+ if (tier === 1) {
90
+ lines.push("For production use, add **TEE custody** (Tier 2) to protect your agent's private key in a hardware enclave.");
91
+ }
92
+ else {
93
+ lines.push("For maximum security (>$5k/day), add **on-chain Vault** (Tier 3) for blockchain-enforced policy limits.");
94
+ }
95
+ lines.push('Say "Upgrade my security" to add the next layer.');
96
+ }
97
+ return lines.join("\n");
98
+ }
99
+ exports.setupStatusTool = {
100
+ name: "shield_setup_status",
101
+ description: "Check the current AgentShield setup status. Shows which security tiers are active, " +
102
+ "wallet configuration, and policy settings. Works even when AgentShield is not configured — " +
103
+ "reports setup instructions in that case.",
104
+ schema: exports.setupStatusSchema,
105
+ handler: setupStatus,
106
+ };
107
+ //# sourceMappingURL=setup-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-status.js","sourceRoot":"","sources":["../../src/tools/setup-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { z } from "zod";
2
+ export declare const upgradeTierSchema: z.ZodObject<{
3
+ targetTier: z.ZodUnion<[z.ZodLiteral<2>, z.ZodLiteral<3>]>;
4
+ }, "strip", z.ZodTypeAny, {
5
+ targetTier: 2 | 3;
6
+ }, {
7
+ targetTier: 2 | 3;
8
+ }>;
9
+ export type UpgradeTierInput = z.infer<typeof upgradeTierSchema>;
10
+ /**
11
+ * Upgrade from the current tier to a higher one.
12
+ * Preserves existing policy settings.
13
+ */
14
+ export declare function upgradeTier(_client: any, input: UpgradeTierInput): Promise<string>;
15
+ export declare const upgradeTierTool: {
16
+ name: string;
17
+ description: string;
18
+ schema: z.ZodObject<{
19
+ targetTier: z.ZodUnion<[z.ZodLiteral<2>, z.ZodLiteral<3>]>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ targetTier: 2 | 3;
22
+ }, {
23
+ targetTier: 2 | 3;
24
+ }>;
25
+ handler: typeof upgradeTier;
26
+ };
27
+ //# sourceMappingURL=upgrade-tier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-tier.d.ts","sourceRoot":"","sources":["../../src/tools/upgrade-tier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,iBAAiB;;;;;;EAI5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,MAAM,CAAC,CAkIjB;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;CAS3B,CAAC"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.upgradeTierTool = exports.upgradeTierSchema = void 0;
4
+ exports.upgradeTier = upgradeTier;
5
+ const zod_1 = require("zod");
6
+ const config_1 = require("../config");
7
+ const ACTIONS_SERVER_URL = "https://agent-middleware.vercel.app";
8
+ exports.upgradeTierSchema = zod_1.z.object({
9
+ targetTier: zod_1.z
10
+ .union([zod_1.z.literal(2), zod_1.z.literal(3)])
11
+ .describe("Target tier: 2=add TEE custody, 3=add on-chain Vault"),
12
+ });
13
+ /**
14
+ * Upgrade from the current tier to a higher one.
15
+ * Preserves existing policy settings.
16
+ */
17
+ async function upgradeTier(_client, input) {
18
+ const config = (0, config_1.loadShieldConfig)();
19
+ if (!config) {
20
+ return ("AgentShield is not configured yet. " +
21
+ "Use shield_configure to set up from scratch instead of upgrading.");
22
+ }
23
+ const currentTier = (0, config_1.getCurrentTier)(config);
24
+ if (input.targetTier <= currentTier) {
25
+ return `Already at Tier ${currentTier} — cannot downgrade to Tier ${input.targetTier}. Downgrades are not supported via tools.`;
26
+ }
27
+ const lines = [];
28
+ // ── Upgrade to Tier 2 (add TEE) ──────────────────────────────
29
+ if (input.targetTier >= 2 && !config.layers.tee.enabled) {
30
+ try {
31
+ const response = await fetch(`${ACTIONS_SERVER_URL}/api/actions/provision-tee`, {
32
+ method: "POST",
33
+ headers: { "Content-Type": "application/json" },
34
+ body: JSON.stringify({ network: config.network }),
35
+ });
36
+ if (!response.ok) {
37
+ const errorBody = await response.text();
38
+ return `Error provisioning TEE wallet: ${response.status} ${errorBody}`;
39
+ }
40
+ const teeResult = (await response.json());
41
+ const oldPubkey = config.wallet.publicKey;
42
+ config.layers.tee = {
43
+ enabled: true,
44
+ locator: teeResult.locator,
45
+ publicKey: teeResult.publicKey,
46
+ };
47
+ config.wallet.type = "crossmint";
48
+ config.wallet.publicKey = teeResult.publicKey;
49
+ lines.push("## Upgraded to Tier 2 (Shield + TEE)");
50
+ lines.push("");
51
+ lines.push(`**TEE Public Key:** ${teeResult.publicKey}`);
52
+ lines.push(`**Locator:** ${teeResult.locator}`);
53
+ lines.push("");
54
+ lines.push("Your agent's private key is now protected in a hardware enclave.");
55
+ lines.push("**Disclosure:** Your TEE wallet is custodied by AgentShield's platform. You can export or migrate later.");
56
+ lines.push("");
57
+ lines.push("### Transfer Funds");
58
+ lines.push(`If you have funds in your old wallet (\`${oldPubkey}\`), transfer them to the new TEE wallet:`);
59
+ lines.push(`- **New address:** \`${teeResult.publicKey}\``);
60
+ lines.push("- Use any Solana wallet to send SOL and tokens to the new address.");
61
+ }
62
+ catch (error) {
63
+ const msg = error instanceof Error ? error.message : String(error);
64
+ return `Error connecting to AgentShield platform for TEE provisioning: ${msg}`;
65
+ }
66
+ }
67
+ // ── Upgrade to Tier 3 (add Vault) ────────────────────────────
68
+ if (input.targetTier >= 3 && !config.layers.vault.enabled) {
69
+ const params = new URLSearchParams();
70
+ params.set("template", config.template);
71
+ params.set("agentPubkey", config.wallet.publicKey);
72
+ const shield = config.layers.shield;
73
+ if (shield.dailyCapUsd) {
74
+ params.set("dailyCap", shield.dailyCapUsd.toString());
75
+ }
76
+ const actionUrl = `${ACTIONS_SERVER_URL}/api/actions/provision?${params.toString()}`;
77
+ const blinkUrl = `https://dial.to/?action=solana-action:${encodeURIComponent(actionUrl)}`;
78
+ config.layers.vault.enabled = true;
79
+ if (lines.length > 0) {
80
+ lines.push("");
81
+ lines.push("---");
82
+ lines.push("");
83
+ }
84
+ lines.push(lines.length === 0
85
+ ? "## Upgraded to Tier 3 (Shield + Vault)"
86
+ : "## Also Adding Tier 3 (On-Chain Vault)");
87
+ if (!config.layers.tee.enabled) {
88
+ lines.push("");
89
+ lines.push("**Warning:** Your agent's private key is stored locally without hardware protection. " +
90
+ "We recommend adding TEE custody for production use.");
91
+ }
92
+ lines.push("");
93
+ lines.push("Sign the vault creation transaction to complete the upgrade:");
94
+ lines.push(`1. **Blink URL:** ${blinkUrl}`);
95
+ lines.push(`2. **Action URL:** ${actionUrl}`);
96
+ lines.push("");
97
+ lines.push("After signing, your vault address will be saved and on-chain policy enforcement will be active.");
98
+ lines.push("");
99
+ lines.push("### Policy Applied");
100
+ lines.push(`Your existing policy will be enforced on-chain: $${shield.dailyCapUsd}/day cap, ${shield.allowedProtocols.length} protocols, ${shield.maxLeverageBps} BPS max leverage.`);
101
+ }
102
+ // Save updated config
103
+ (0, config_1.saveShieldConfig)(config);
104
+ return lines.join("\n");
105
+ }
106
+ exports.upgradeTierTool = {
107
+ name: "shield_upgrade_tier",
108
+ description: "Upgrade AgentShield from the current tier to a higher one. " +
109
+ "Tier 2 adds TEE custody (hardware enclave key protection). " +
110
+ "Tier 3 adds on-chain Vault (blockchain-enforced policy). " +
111
+ "Preserves existing policy settings during upgrade.",
112
+ schema: exports.upgradeTierSchema,
113
+ handler: upgradeTier,
114
+ };
115
+ //# sourceMappingURL=upgrade-tier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-tier.js","sourceRoot":"","sources":["../../src/tools/upgrade-tier.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-shield/mcp",
3
- "version": "0.3.1",
3
+ "version": "0.4.1",
4
4
  "author": "Kaleb Rupe (https://x.com/MightieMags)",
5
5
  "homepage": "https://github.com/Kaleb-Rupe/agentshield#readme",
6
6
  "bugs": {
@@ -13,6 +13,12 @@
13
13
  "bin": {
14
14
  "agent-shield-mcp": "dist/index.js"
15
15
  },
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "clean": "rm -rf dist",
19
+ "test": "mocha --require ts-node/register 'tests/*.test.ts' 'tests/**/*.test.ts' --timeout 30000",
20
+ "prepublishOnly": "pnpm run build"
21
+ },
16
22
  "files": [
17
23
  "dist/**/*",
18
24
  "README.md"
@@ -37,6 +43,8 @@
37
43
  }
38
44
  },
39
45
  "devDependencies": {
46
+ "@agent-shield/sdk": "workspace:*",
47
+ "@agent-shield/custody-crossmint": "workspace:*",
40
48
  "@coral-xyz/anchor": "^0.32.1",
41
49
  "@solana/spl-token": "^0.4.0",
42
50
  "@solana/web3.js": "^1.95.0",
@@ -48,9 +56,7 @@
48
56
  "mocha": "^10.3.0",
49
57
  "sinon": "^17.0.1",
50
58
  "ts-node": "^10.9.2",
51
- "typescript": "^5.3.3",
52
- "@agent-shield/sdk": "0.4.1",
53
- "@agent-shield/custody-crossmint": "0.1.3"
59
+ "typescript": "^5.3.3"
54
60
  },
55
61
  "keywords": [
56
62
  "mcp",
@@ -68,10 +74,5 @@
68
74
  "type": "git",
69
75
  "url": "https://github.com/Kaleb-Rupe/agentshield",
70
76
  "directory": "packages/mcp"
71
- },
72
- "scripts": {
73
- "build": "tsc",
74
- "clean": "rm -rf dist",
75
- "test": "mocha --require ts-node/register 'tests/*.test.ts' 'tests/**/*.test.ts' --timeout 30000"
76
77
  }
77
- }
78
+ }