@agent-shield/mcp 0.1.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.
- package/README.md +124 -0
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +75 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +22 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +244 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +206 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/activity.d.ts +3 -0
- package/dist/resources/activity.d.ts.map +1 -0
- package/dist/resources/activity.js +33 -0
- package/dist/resources/activity.js.map +1 -0
- package/dist/resources/index.d.ts +4 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +10 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/policy.d.ts +3 -0
- package/dist/resources/policy.d.ts.map +1 -0
- package/dist/resources/policy.js +36 -0
- package/dist/resources/policy.js.map +1 -0
- package/dist/resources/spending.d.ts +3 -0
- package/dist/resources/spending.d.ts.map +1 -0
- package/dist/resources/spending.js +39 -0
- package/dist/resources/spending.js.map +1 -0
- package/dist/tools/check-spending.d.ts +24 -0
- package/dist/tools/check-spending.d.ts.map +1 -0
- package/dist/tools/check-spending.js +60 -0
- package/dist/tools/check-spending.js.map +1 -0
- package/dist/tools/check-vault.d.ts +36 -0
- package/dist/tools/check-vault.d.ts.map +1 -0
- package/dist/tools/check-vault.js +110 -0
- package/dist/tools/check-vault.js.map +1 -0
- package/dist/tools/close-position.d.ts +49 -0
- package/dist/tools/close-position.d.ts.map +1 -0
- package/dist/tools/close-position.js +65 -0
- package/dist/tools/close-position.js.map +1 -0
- package/dist/tools/create-vault.d.ts +72 -0
- package/dist/tools/create-vault.d.ts.map +1 -0
- package/dist/tools/create-vault.js +75 -0
- package/dist/tools/create-vault.js.map +1 -0
- package/dist/tools/deposit.d.ts +36 -0
- package/dist/tools/deposit.d.ts.map +1 -0
- package/dist/tools/deposit.js +35 -0
- package/dist/tools/deposit.js.map +1 -0
- package/dist/tools/execute-swap.d.ts +49 -0
- package/dist/tools/execute-swap.d.ts.map +1 -0
- package/dist/tools/execute-swap.js +58 -0
- package/dist/tools/execute-swap.js.map +1 -0
- package/dist/tools/index.d.ts +13 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +52 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/open-position.d.ts +61 -0
- package/dist/tools/open-position.d.ts.map +1 -0
- package/dist/tools/open-position.js +70 -0
- package/dist/tools/open-position.js.map +1 -0
- package/dist/tools/reactivate-vault.d.ts +30 -0
- package/dist/tools/reactivate-vault.d.ts.map +1 -0
- package/dist/tools/reactivate-vault.js +41 -0
- package/dist/tools/reactivate-vault.js.map +1 -0
- package/dist/tools/register-agent.d.ts +30 -0
- package/dist/tools/register-agent.d.ts.map +1 -0
- package/dist/tools/register-agent.js +36 -0
- package/dist/tools/register-agent.js.map +1 -0
- package/dist/tools/revoke-agent.d.ts +24 -0
- package/dist/tools/revoke-agent.d.ts.map +1 -0
- package/dist/tools/revoke-agent.js +34 -0
- package/dist/tools/revoke-agent.js.map +1 -0
- package/dist/tools/update-policy.d.ts +72 -0
- package/dist/tools/update-policy.d.ts.map +1 -0
- package/dist/tools/update-policy.js +90 -0
- package/dist/tools/update-policy.js.map +1 -0
- package/dist/tools/withdraw.d.ts +36 -0
- package/dist/tools/withdraw.d.ts.map +1 -0
- package/dist/tools/withdraw.js +34 -0
- package/dist/tools/withdraw.js.map +1 -0
- package/dist/utils.d.ts +11 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +69 -0
- package/dist/utils.js.map +1 -0
- package/package.json +51 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
5
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const config_1 = require("./config");
|
|
8
|
+
// Tool handlers
|
|
9
|
+
const check_vault_1 = require("./tools/check-vault");
|
|
10
|
+
const check_spending_1 = require("./tools/check-spending");
|
|
11
|
+
const create_vault_1 = require("./tools/create-vault");
|
|
12
|
+
const deposit_1 = require("./tools/deposit");
|
|
13
|
+
const withdraw_1 = require("./tools/withdraw");
|
|
14
|
+
const register_agent_1 = require("./tools/register-agent");
|
|
15
|
+
const update_policy_1 = require("./tools/update-policy");
|
|
16
|
+
const revoke_agent_1 = require("./tools/revoke-agent");
|
|
17
|
+
const reactivate_vault_1 = require("./tools/reactivate-vault");
|
|
18
|
+
const execute_swap_1 = require("./tools/execute-swap");
|
|
19
|
+
const open_position_1 = require("./tools/open-position");
|
|
20
|
+
const close_position_1 = require("./tools/close-position");
|
|
21
|
+
// Resources
|
|
22
|
+
const policy_1 = require("./resources/policy");
|
|
23
|
+
const spending_1 = require("./resources/spending");
|
|
24
|
+
const activity_1 = require("./resources/activity");
|
|
25
|
+
/**
|
|
26
|
+
* Helper to register a tool with the MCP server.
|
|
27
|
+
* Uses `any` cast to work around zod version mismatch between
|
|
28
|
+
* @modelcontextprotocol/sdk's bundled zod types and our workspace zod.
|
|
29
|
+
* At runtime both resolve to the same zod 3.25.x — this is safe.
|
|
30
|
+
*/
|
|
31
|
+
function registerTool(server, name, description, schema, handler) {
|
|
32
|
+
server.tool(name, description, schema, handler);
|
|
33
|
+
}
|
|
34
|
+
async function main() {
|
|
35
|
+
// All logging to stderr — stdout is reserved for JSON-RPC
|
|
36
|
+
console.error("[agent-shield-mcp] Starting...");
|
|
37
|
+
let config;
|
|
38
|
+
try {
|
|
39
|
+
config = (0, config_1.loadConfig)();
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error(`[agent-shield-mcp] Configuration error: ${error}`);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
let client;
|
|
46
|
+
try {
|
|
47
|
+
client = (0, config_1.createClient)(config);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error(`[agent-shield-mcp] Client creation failed: ${error}`);
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
console.error(`[agent-shield-mcp] Connected to ${config.rpcUrl}, ` +
|
|
54
|
+
`wallet: ${client.provider.wallet.publicKey.toBase58()}`);
|
|
55
|
+
const server = new mcp_js_1.McpServer({
|
|
56
|
+
name: "agent-shield",
|
|
57
|
+
version: "0.1.0",
|
|
58
|
+
});
|
|
59
|
+
// ── Read-Only Tools ──────────────────────────────────────────
|
|
60
|
+
registerTool(server, "shield_check_vault", "Check the status and policy configuration of an AgentShield vault", {
|
|
61
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58). Provide this OR owner+vaultId."),
|
|
62
|
+
owner: zod_1.z.string().optional().describe("Owner public key (base58). Used with vaultId."),
|
|
63
|
+
vaultId: zod_1.z.string().optional().describe("Vault ID number. Used with owner."),
|
|
64
|
+
}, async (input) => ({
|
|
65
|
+
content: [{ type: "text", text: await (0, check_vault_1.checkVault)(client, input) }],
|
|
66
|
+
}));
|
|
67
|
+
registerTool(server, "shield_check_spending", "Check the rolling 24h spending and recent transactions for a vault", {
|
|
68
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
69
|
+
}, async (input) => ({
|
|
70
|
+
content: [{ type: "text", text: await (0, check_spending_1.checkSpending)(client, input) }],
|
|
71
|
+
}));
|
|
72
|
+
// ── Owner-Signed Write Tools ────────────────────────────────
|
|
73
|
+
registerTool(server, "shield_create_vault", "Create a new AgentShield vault with policy configuration", {
|
|
74
|
+
vaultId: zod_1.z.string().describe("Unique vault ID number"),
|
|
75
|
+
dailySpendingCap: zod_1.z.string().describe("Max daily spending in token base units"),
|
|
76
|
+
maxTransactionSize: zod_1.z.string().describe("Max single transaction size in token base units"),
|
|
77
|
+
allowedTokens: zod_1.z.array(zod_1.z.string()).describe("Allowed token mint addresses (base58). Max 10."),
|
|
78
|
+
allowedProtocols: zod_1.z.array(zod_1.z.string()).describe("Allowed protocol program IDs (base58). Max 10."),
|
|
79
|
+
maxLeverageBps: zod_1.z.number().describe("Max leverage in basis points (e.g. 30000 = 3x)"),
|
|
80
|
+
maxConcurrentPositions: zod_1.z.number().describe("Max concurrent open positions"),
|
|
81
|
+
feeDestination: zod_1.z.string().describe("Fee destination wallet address (base58). Immutable."),
|
|
82
|
+
developerFeeRate: zod_1.z.number().optional().default(0).describe("Developer fee rate (max 50 = 0.5 BPS)"),
|
|
83
|
+
}, async (input) => ({
|
|
84
|
+
content: [{ type: "text", text: await (0, create_vault_1.createVault)(client, input) }],
|
|
85
|
+
}));
|
|
86
|
+
registerTool(server, "shield_deposit", "Deposit tokens into an AgentShield vault", {
|
|
87
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
88
|
+
mint: zod_1.z.string().describe("Token mint address (base58)"),
|
|
89
|
+
amount: zod_1.z.string().describe("Amount in token base units"),
|
|
90
|
+
}, async (input) => ({
|
|
91
|
+
content: [{ type: "text", text: await (0, deposit_1.deposit)(client, input) }],
|
|
92
|
+
}));
|
|
93
|
+
registerTool(server, "shield_withdraw", "Withdraw tokens from an AgentShield vault (owner-only)", {
|
|
94
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
95
|
+
mint: zod_1.z.string().describe("Token mint address (base58)"),
|
|
96
|
+
amount: zod_1.z.string().describe("Amount in token base units"),
|
|
97
|
+
}, async (input) => ({
|
|
98
|
+
content: [{ type: "text", text: await (0, withdraw_1.withdraw)(client, input) }],
|
|
99
|
+
}));
|
|
100
|
+
registerTool(server, "shield_register_agent", "Register an agent signing key to a vault", {
|
|
101
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
102
|
+
agent: zod_1.z.string().describe("Agent public key to register (base58)"),
|
|
103
|
+
}, async (input) => ({
|
|
104
|
+
content: [{ type: "text", text: await (0, register_agent_1.registerAgent)(client, input) }],
|
|
105
|
+
}));
|
|
106
|
+
registerTool(server, "shield_update_policy", "Update the policy configuration for a vault (owner-only)", {
|
|
107
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
108
|
+
dailySpendingCap: zod_1.z.string().optional().describe("New daily spending cap"),
|
|
109
|
+
maxTransactionSize: zod_1.z.string().optional().describe("New max transaction size"),
|
|
110
|
+
allowedTokens: zod_1.z.array(zod_1.z.string()).optional().describe("New allowed token mints (base58)"),
|
|
111
|
+
allowedProtocols: zod_1.z.array(zod_1.z.string()).optional().describe("New allowed protocols (base58)"),
|
|
112
|
+
maxLeverageBps: zod_1.z.number().optional().describe("New max leverage in BPS"),
|
|
113
|
+
canOpenPositions: zod_1.z.boolean().optional().describe("Whether agent can open positions"),
|
|
114
|
+
maxConcurrentPositions: zod_1.z.number().optional().describe("New max concurrent positions"),
|
|
115
|
+
developerFeeRate: zod_1.z.number().optional().describe("New developer fee rate (max 50)"),
|
|
116
|
+
}, async (input) => ({
|
|
117
|
+
content: [{ type: "text", text: await (0, update_policy_1.updatePolicy)(client, input) }],
|
|
118
|
+
}));
|
|
119
|
+
registerTool(server, "shield_revoke_agent", "Emergency kill switch — revokes agent and freezes vault immediately", {
|
|
120
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
121
|
+
}, async (input) => ({
|
|
122
|
+
content: [{ type: "text", text: await (0, revoke_agent_1.revokeAgent)(client, input) }],
|
|
123
|
+
}));
|
|
124
|
+
registerTool(server, "shield_reactivate_vault", "Reactivate a frozen vault, optionally with a new agent", {
|
|
125
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
126
|
+
newAgent: zod_1.z.string().optional().describe("Optional new agent public key (base58)"),
|
|
127
|
+
}, async (input) => ({
|
|
128
|
+
content: [{ type: "text", text: await (0, reactivate_vault_1.reactivateVault)(client, input) }],
|
|
129
|
+
}));
|
|
130
|
+
// ── Agent-Signed Tools ──────────────────────────────────────
|
|
131
|
+
registerTool(server, "shield_execute_swap", "Execute a Jupiter token swap through an AgentShield vault", {
|
|
132
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
133
|
+
inputMint: zod_1.z.string().describe("Input token mint address (base58)"),
|
|
134
|
+
outputMint: zod_1.z.string().describe("Output token mint address (base58)"),
|
|
135
|
+
amount: zod_1.z.string().describe("Input amount in token base units"),
|
|
136
|
+
slippageBps: zod_1.z.number().optional().default(50).describe("Slippage tolerance in BPS (default: 50)"),
|
|
137
|
+
}, async (input) => ({
|
|
138
|
+
content: [{ type: "text", text: await (0, execute_swap_1.executeSwap)(client, config, input) }],
|
|
139
|
+
}));
|
|
140
|
+
registerTool(server, "shield_open_position", "Open a leveraged perpetual position via Flash Trade through a vault", {
|
|
141
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
142
|
+
market: zod_1.z.string().describe("Market/pool name (e.g. 'SOL', 'ETH')"),
|
|
143
|
+
collateralMint: zod_1.z.string().describe("Collateral token mint address (base58)"),
|
|
144
|
+
collateralAmount: zod_1.z.string().describe("Collateral amount in token base units"),
|
|
145
|
+
sizeUsd: zod_1.z.string().describe("Position size in USD base units"),
|
|
146
|
+
side: zod_1.z.enum(["long", "short"]).describe("Position side"),
|
|
147
|
+
leverageBps: zod_1.z.number().describe("Leverage in basis points (e.g. 20000 = 2x)"),
|
|
148
|
+
}, async (input) => ({
|
|
149
|
+
content: [{ type: "text", text: await (0, open_position_1.openPosition)(client, config, input) }],
|
|
150
|
+
}));
|
|
151
|
+
registerTool(server, "shield_close_position", "Close a leveraged perpetual position via Flash Trade through a vault", {
|
|
152
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
153
|
+
market: zod_1.z.string().describe("Market/pool name (e.g. 'SOL', 'ETH')"),
|
|
154
|
+
side: zod_1.z.enum(["long", "short"]).describe("Position side"),
|
|
155
|
+
priceWithSlippage: zod_1.z.string().describe("Exit price in base units"),
|
|
156
|
+
priceExponent: zod_1.z.number().optional().default(0).describe("Price exponent (default: 0)"),
|
|
157
|
+
}, async (input) => ({
|
|
158
|
+
content: [{ type: "text", text: await (0, close_position_1.closePosition)(client, config, input) }],
|
|
159
|
+
}));
|
|
160
|
+
// ── MCP Resources ───────────────────────────────────────────
|
|
161
|
+
server.resource("vault-policy", "shield://vault/{address}/policy", { description: "Current policy configuration for a vault" }, async (uri) => {
|
|
162
|
+
const address = uri.pathname.split("/")[2];
|
|
163
|
+
return {
|
|
164
|
+
contents: [
|
|
165
|
+
{
|
|
166
|
+
uri: uri.href,
|
|
167
|
+
mimeType: "application/json",
|
|
168
|
+
text: await (0, policy_1.getPolicyResource)(client, address),
|
|
169
|
+
},
|
|
170
|
+
],
|
|
171
|
+
};
|
|
172
|
+
});
|
|
173
|
+
server.resource("vault-spending", "shield://vault/{address}/spending", { description: "Rolling 24h spending state for a vault" }, async (uri) => {
|
|
174
|
+
const address = uri.pathname.split("/")[2];
|
|
175
|
+
return {
|
|
176
|
+
contents: [
|
|
177
|
+
{
|
|
178
|
+
uri: uri.href,
|
|
179
|
+
mimeType: "application/json",
|
|
180
|
+
text: await (0, spending_1.getSpendingResource)(client, address),
|
|
181
|
+
},
|
|
182
|
+
],
|
|
183
|
+
};
|
|
184
|
+
});
|
|
185
|
+
server.resource("vault-activity", "shield://vault/{address}/activity", { description: "Recent transaction history for a vault" }, async (uri) => {
|
|
186
|
+
const address = uri.pathname.split("/")[2];
|
|
187
|
+
return {
|
|
188
|
+
contents: [
|
|
189
|
+
{
|
|
190
|
+
uri: uri.href,
|
|
191
|
+
mimeType: "application/json",
|
|
192
|
+
text: await (0, activity_1.getActivityResource)(client, address),
|
|
193
|
+
},
|
|
194
|
+
],
|
|
195
|
+
};
|
|
196
|
+
});
|
|
197
|
+
// ── Start Server ────────────────────────────────────────────
|
|
198
|
+
const transport = new stdio_js_1.StdioServerTransport();
|
|
199
|
+
await server.connect(transport);
|
|
200
|
+
console.error("[agent-shield-mcp] Server running on stdio");
|
|
201
|
+
}
|
|
202
|
+
main().catch((error) => {
|
|
203
|
+
console.error("[agent-shield-mcp] Fatal error:", error);
|
|
204
|
+
process.exit(1);
|
|
205
|
+
});
|
|
206
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/resources/activity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAQ3D,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAoCjB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getActivityResource = getActivityResource;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
async function getActivityResource(client, vaultAddress) {
|
|
6
|
+
try {
|
|
7
|
+
const vault = (0, utils_1.toPublicKey)(vaultAddress);
|
|
8
|
+
const tracker = await client.fetchTracker(vault);
|
|
9
|
+
const transactions = tracker.recentTransactions.map((tx) => ({
|
|
10
|
+
timestamp: (0, utils_1.formatTimestamp)(tx.timestamp),
|
|
11
|
+
actionType: (0, utils_1.formatActionType)(tx.actionType),
|
|
12
|
+
tokenMint: tx.tokenMint.toBase58(),
|
|
13
|
+
amount: (0, utils_1.formatBN)(tx.amount),
|
|
14
|
+
protocol: tx.protocol.toBase58(),
|
|
15
|
+
success: tx.success,
|
|
16
|
+
slot: (0, utils_1.formatBN)(tx.slot),
|
|
17
|
+
}));
|
|
18
|
+
return JSON.stringify({
|
|
19
|
+
vault: vaultAddress,
|
|
20
|
+
totalTransactions: transactions.length,
|
|
21
|
+
transactions,
|
|
22
|
+
}, null, 2);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return JSON.stringify({
|
|
26
|
+
vault: vaultAddress,
|
|
27
|
+
error: "Activity data not found — vault may not exist",
|
|
28
|
+
totalTransactions: 0,
|
|
29
|
+
transactions: [],
|
|
30
|
+
}, null, 2);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../src/resources/activity.ts"],"names":[],"mappings":";;AAQA,kDAuCC;AA9CD,oCAKkB;AAEX,KAAK,UAAU,mBAAmB,CACvC,MAAyB,EACzB,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,SAAS,EAAE,IAAA,uBAAe,EAAC,EAAE,CAAC,SAAS,CAAC;YACxC,UAAU,EAAE,IAAA,wBAAgB,EAAC,EAAE,CAAC,UAAU,CAAC;YAC3C,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE;YAClC,MAAM,EAAE,IAAA,gBAAQ,EAAC,EAAE,CAAC,MAAM,CAAC;YAC3B,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAChC,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,IAAI,EAAE,IAAA,gBAAQ,EAAC,EAAE,CAAC,IAAI,CAAC;SACxB,CAAC,CAAC,CAAC;QAEJ,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,iBAAiB,EAAE,YAAY,CAAC,MAAM;YACtC,YAAY;SACb,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,+CAA+C;YACtD,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,EAAE;SACjB,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getActivityResource = exports.getSpendingResource = exports.getPolicyResource = void 0;
|
|
4
|
+
var policy_1 = require("./policy");
|
|
5
|
+
Object.defineProperty(exports, "getPolicyResource", { enumerable: true, get: function () { return policy_1.getPolicyResource; } });
|
|
6
|
+
var spending_1 = require("./spending");
|
|
7
|
+
Object.defineProperty(exports, "getSpendingResource", { enumerable: true, get: function () { return spending_1.getSpendingResource; } });
|
|
8
|
+
var activity_1 = require("./activity");
|
|
9
|
+
Object.defineProperty(exports, "getActivityResource", { enumerable: true, get: function () { return activity_1.getActivityResource; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAApC,2GAAA,iBAAiB,OAAA;AAC1B,uCAAiD;AAAxC,+GAAA,mBAAmB,OAAA;AAC5B,uCAAiD;AAAxC,+GAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/resources/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAsCjB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPolicyResource = getPolicyResource;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
async function getPolicyResource(client, vaultAddress) {
|
|
6
|
+
try {
|
|
7
|
+
const vault = (0, utils_1.toPublicKey)(vaultAddress);
|
|
8
|
+
const policy = await client.fetchPolicy(vault);
|
|
9
|
+
return JSON.stringify({
|
|
10
|
+
vault: vaultAddress,
|
|
11
|
+
dailySpendingCap: (0, utils_1.formatBN)(policy.dailySpendingCap),
|
|
12
|
+
maxTransactionSize: (0, utils_1.formatBN)(policy.maxTransactionSize),
|
|
13
|
+
allowedTokens: policy.allowedTokens.map((t) => t.toBase58()),
|
|
14
|
+
allowedProtocols: policy.allowedProtocols.map((p) => p.toBase58()),
|
|
15
|
+
maxLeverageBps: policy.maxLeverageBps,
|
|
16
|
+
canOpenPositions: policy.canOpenPositions,
|
|
17
|
+
maxConcurrentPositions: policy.maxConcurrentPositions,
|
|
18
|
+
developerFeeRate: policy.developerFeeRate,
|
|
19
|
+
}, null, 2);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return JSON.stringify({
|
|
23
|
+
vault: vaultAddress,
|
|
24
|
+
error: "Policy not found — vault may not exist",
|
|
25
|
+
dailySpendingCap: "0",
|
|
26
|
+
maxTransactionSize: "0",
|
|
27
|
+
allowedTokens: [],
|
|
28
|
+
allowedProtocols: [],
|
|
29
|
+
maxLeverageBps: 0,
|
|
30
|
+
canOpenPositions: false,
|
|
31
|
+
maxConcurrentPositions: 0,
|
|
32
|
+
developerFeeRate: 0,
|
|
33
|
+
}, null, 2);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/resources/policy.ts"],"names":[],"mappings":";;AAGA,8CAyCC;AA3CD,oCAAiD;AAE1C,KAAK,UAAU,iBAAiB,CACrC,MAAyB,EACzB,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,gBAAgB,EAAE,IAAA,gBAAQ,EAAC,MAAM,CAAC,gBAAgB,CAAC;YACnD,kBAAkB,EAAE,IAAA,gBAAQ,EAAC,MAAM,CAAC,kBAAkB,CAAC;YACvD,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClE,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;YACrD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,wCAAwC;YAC/C,gBAAgB,EAAE,GAAG;YACrB,kBAAkB,EAAE,GAAG;YACvB,aAAa,EAAE,EAAE;YACjB,gBAAgB,EAAE,EAAE;YACpB,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,KAAK;YACvB,sBAAsB,EAAE,CAAC;YACzB,gBAAgB,EAAE,CAAC;SACpB,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spending.d.ts","sourceRoot":"","sources":["../../src/resources/spending.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CA0CjB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSpendingResource = getSpendingResource;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
async function getSpendingResource(client, vaultAddress) {
|
|
6
|
+
try {
|
|
7
|
+
const vault = (0, utils_1.toPublicKey)(vaultAddress);
|
|
8
|
+
const tracker = await client.fetchTracker(vault);
|
|
9
|
+
const policy = await client.fetchPolicy(vault);
|
|
10
|
+
const cap = policy.dailySpendingCap;
|
|
11
|
+
const spends = tracker.rollingSpends.map((entry) => ({
|
|
12
|
+
tokenMint: entry.tokenMint.toBase58(),
|
|
13
|
+
amountSpent: (0, utils_1.formatBN)(entry.amountSpent),
|
|
14
|
+
timestamp: (0, utils_1.formatTimestamp)(entry.timestamp),
|
|
15
|
+
percentOfCap: cap.isZero()
|
|
16
|
+
? "N/A"
|
|
17
|
+
: `${entry.amountSpent.muln(100).div(cap).toNumber()}%`,
|
|
18
|
+
remaining: cap.isZero()
|
|
19
|
+
? "N/A"
|
|
20
|
+
: (0, utils_1.formatBN)(cap.sub(entry.amountSpent)),
|
|
21
|
+
}));
|
|
22
|
+
return JSON.stringify({
|
|
23
|
+
vault: vaultAddress,
|
|
24
|
+
dailySpendingCap: (0, utils_1.formatBN)(cap),
|
|
25
|
+
rollingSpends: spends,
|
|
26
|
+
totalRecentTransactions: tracker.recentTransactions.length,
|
|
27
|
+
}, null, 2);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return JSON.stringify({
|
|
31
|
+
vault: vaultAddress,
|
|
32
|
+
error: "Spending data not found — vault may not exist",
|
|
33
|
+
dailySpendingCap: "0",
|
|
34
|
+
rollingSpends: [],
|
|
35
|
+
totalRecentTransactions: 0,
|
|
36
|
+
}, null, 2);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=spending.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spending.js","sourceRoot":"","sources":["../../src/resources/spending.ts"],"names":[],"mappings":";;AAGA,kDA6CC;AA/CD,oCAAkE;AAE3D,KAAK,UAAU,mBAAmB,CACvC,MAAyB,EACzB,YAAoB;IAEpB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;YACrC,WAAW,EAAE,IAAA,gBAAQ,EAAC,KAAK,CAAC,WAAW,CAAC;YACxC,SAAS,EAAE,IAAA,uBAAe,EAAC,KAAK,CAAC,SAAS,CAAC;YAC3C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;gBACxB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG;YACzD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;gBACrB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAA,gBAAQ,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SACzC,CAAC,CAAC,CAAC;QAEJ,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,gBAAgB,EAAE,IAAA,gBAAQ,EAAC,GAAG,CAAC;YAC/B,aAAa,EAAE,MAAM;YACrB,uBAAuB,EAAE,OAAO,CAAC,kBAAkB,CAAC,MAAM;SAC3D,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,SAAS,CACnB;YACE,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,+CAA+C;YACtD,gBAAgB,EAAE,GAAG;YACrB,aAAa,EAAE,EAAE;YACjB,uBAAuB,EAAE,CAAC;SAC3B,EACD,IAAI,EACJ,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AgentShieldClient } from "@agent-shield/sdk";
|
|
3
|
+
export declare const checkSpendingSchema: z.ZodObject<{
|
|
4
|
+
vault: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
vault: string;
|
|
7
|
+
}, {
|
|
8
|
+
vault: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type CheckSpendingInput = z.infer<typeof checkSpendingSchema>;
|
|
11
|
+
export declare function checkSpending(client: AgentShieldClient, input: CheckSpendingInput): Promise<string>;
|
|
12
|
+
export declare const checkSpendingTool: {
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
schema: z.ZodObject<{
|
|
16
|
+
vault: z.ZodString;
|
|
17
|
+
}, "strip", z.ZodTypeAny, {
|
|
18
|
+
vault: string;
|
|
19
|
+
}, {
|
|
20
|
+
vault: string;
|
|
21
|
+
}>;
|
|
22
|
+
handler: typeof checkSpending;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=check-spending.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-spending.d.ts","sourceRoot":"","sources":["../../src/tools/check-spending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAS3D,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAErE,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,CAkDjB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAM7B,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkSpendingTool = exports.checkSpendingSchema = void 0;
|
|
4
|
+
exports.checkSpending = checkSpending;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
exports.checkSpendingSchema = zod_1.z.object({
|
|
9
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
10
|
+
});
|
|
11
|
+
async function checkSpending(client, input) {
|
|
12
|
+
try {
|
|
13
|
+
const vaultAddress = (0, utils_1.toPublicKey)(input.vault);
|
|
14
|
+
const tracker = await client.fetchTracker(vaultAddress);
|
|
15
|
+
const policy = await client.fetchPolicy(vaultAddress);
|
|
16
|
+
const cap = (0, utils_1.formatBN)(policy.dailySpendingCap);
|
|
17
|
+
const lines = [
|
|
18
|
+
`## Spending Report: ${vaultAddress.toBase58()}`,
|
|
19
|
+
`- **Daily Cap:** ${cap}`,
|
|
20
|
+
"",
|
|
21
|
+
"### Rolling 24h Spend by Token",
|
|
22
|
+
];
|
|
23
|
+
if (tracker.rollingSpends.length === 0) {
|
|
24
|
+
lines.push("No spending activity in the last 24 hours.");
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
for (const entry of tracker.rollingSpends) {
|
|
28
|
+
lines.push(`- **${entry.tokenMint.toBase58()}**: ${(0, utils_1.formatBN)(entry.amountSpent)} ` +
|
|
29
|
+
`(at ${(0, utils_1.formatTimestamp)(entry.timestamp)})`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
lines.push("");
|
|
33
|
+
lines.push(`### Recent Transactions (${tracker.recentTransactions.length})`);
|
|
34
|
+
if (tracker.recentTransactions.length === 0) {
|
|
35
|
+
lines.push("No recent transactions.");
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
for (const tx of tracker.recentTransactions.slice(-10)) {
|
|
39
|
+
const status = tx.success ? "OK" : "FAIL";
|
|
40
|
+
lines.push(`- [${status}] ${(0, utils_1.formatActionType)(tx.actionType)} — ` +
|
|
41
|
+
`${(0, utils_1.formatBN)(tx.amount)} at ${(0, utils_1.formatTimestamp)(tx.timestamp)} ` +
|
|
42
|
+
`(slot ${(0, utils_1.formatBN)(tx.slot)})`);
|
|
43
|
+
}
|
|
44
|
+
if (tracker.recentTransactions.length > 10) {
|
|
45
|
+
lines.push(`... and ${tracker.recentTransactions.length - 10} more`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return lines.join("\n");
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
return (0, errors_1.formatError)(error);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.checkSpendingTool = {
|
|
55
|
+
name: "shield_check_spending",
|
|
56
|
+
description: "Check the rolling 24h spending and recent transaction history for an AgentShield vault.",
|
|
57
|
+
schema: exports.checkSpendingSchema,
|
|
58
|
+
handler: checkSpending,
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=check-spending.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-spending.js","sourceRoot":"","sources":["../../src/tools/check-spending.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AgentShieldClient } from "@agent-shield/sdk";
|
|
3
|
+
export declare const checkVaultSchema: z.ZodObject<{
|
|
4
|
+
vault: z.ZodString;
|
|
5
|
+
owner: z.ZodOptional<z.ZodString>;
|
|
6
|
+
vaultId: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
vault: string;
|
|
9
|
+
owner?: string | undefined;
|
|
10
|
+
vaultId?: string | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
vault: string;
|
|
13
|
+
owner?: string | undefined;
|
|
14
|
+
vaultId?: string | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
export type CheckVaultInput = z.infer<typeof checkVaultSchema>;
|
|
17
|
+
export declare function checkVault(client: AgentShieldClient, input: CheckVaultInput): Promise<string>;
|
|
18
|
+
export declare const checkVaultTool: {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
schema: z.ZodObject<{
|
|
22
|
+
vault: z.ZodString;
|
|
23
|
+
owner: z.ZodOptional<z.ZodString>;
|
|
24
|
+
vaultId: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
vault: string;
|
|
27
|
+
owner?: string | undefined;
|
|
28
|
+
vaultId?: string | undefined;
|
|
29
|
+
}, {
|
|
30
|
+
vault: string;
|
|
31
|
+
owner?: string | undefined;
|
|
32
|
+
vaultId?: string | undefined;
|
|
33
|
+
}>;
|
|
34
|
+
handler: typeof checkVault;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=check-vault.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-vault.d.ts","sourceRoot":"","sources":["../../src/tools/check-vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAY3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,wBAAsB,UAAU,CAC9B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,CAAC,CAoDjB;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;CAO1B,CAAC"}
|