@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
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
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
|
+
var check_vault_1 = require("./check-vault");
|
|
5
|
+
Object.defineProperty(exports, "checkVaultTool", { enumerable: true, get: function () { return check_vault_1.checkVaultTool; } });
|
|
6
|
+
Object.defineProperty(exports, "checkVault", { enumerable: true, get: function () { return check_vault_1.checkVault; } });
|
|
7
|
+
Object.defineProperty(exports, "checkVaultSchema", { enumerable: true, get: function () { return check_vault_1.checkVaultSchema; } });
|
|
8
|
+
var check_spending_1 = require("./check-spending");
|
|
9
|
+
Object.defineProperty(exports, "checkSpendingTool", { enumerable: true, get: function () { return check_spending_1.checkSpendingTool; } });
|
|
10
|
+
Object.defineProperty(exports, "checkSpending", { enumerable: true, get: function () { return check_spending_1.checkSpending; } });
|
|
11
|
+
Object.defineProperty(exports, "checkSpendingSchema", { enumerable: true, get: function () { return check_spending_1.checkSpendingSchema; } });
|
|
12
|
+
var create_vault_1 = require("./create-vault");
|
|
13
|
+
Object.defineProperty(exports, "createVaultTool", { enumerable: true, get: function () { return create_vault_1.createVaultTool; } });
|
|
14
|
+
Object.defineProperty(exports, "createVault", { enumerable: true, get: function () { return create_vault_1.createVault; } });
|
|
15
|
+
Object.defineProperty(exports, "createVaultSchema", { enumerable: true, get: function () { return create_vault_1.createVaultSchema; } });
|
|
16
|
+
var deposit_1 = require("./deposit");
|
|
17
|
+
Object.defineProperty(exports, "depositTool", { enumerable: true, get: function () { return deposit_1.depositTool; } });
|
|
18
|
+
Object.defineProperty(exports, "deposit", { enumerable: true, get: function () { return deposit_1.deposit; } });
|
|
19
|
+
Object.defineProperty(exports, "depositSchema", { enumerable: true, get: function () { return deposit_1.depositSchema; } });
|
|
20
|
+
var withdraw_1 = require("./withdraw");
|
|
21
|
+
Object.defineProperty(exports, "withdrawTool", { enumerable: true, get: function () { return withdraw_1.withdrawTool; } });
|
|
22
|
+
Object.defineProperty(exports, "withdraw", { enumerable: true, get: function () { return withdraw_1.withdraw; } });
|
|
23
|
+
Object.defineProperty(exports, "withdrawSchema", { enumerable: true, get: function () { return withdraw_1.withdrawSchema; } });
|
|
24
|
+
var register_agent_1 = require("./register-agent");
|
|
25
|
+
Object.defineProperty(exports, "registerAgentTool", { enumerable: true, get: function () { return register_agent_1.registerAgentTool; } });
|
|
26
|
+
Object.defineProperty(exports, "registerAgent", { enumerable: true, get: function () { return register_agent_1.registerAgent; } });
|
|
27
|
+
Object.defineProperty(exports, "registerAgentSchema", { enumerable: true, get: function () { return register_agent_1.registerAgentSchema; } });
|
|
28
|
+
var update_policy_1 = require("./update-policy");
|
|
29
|
+
Object.defineProperty(exports, "updatePolicyTool", { enumerable: true, get: function () { return update_policy_1.updatePolicyTool; } });
|
|
30
|
+
Object.defineProperty(exports, "updatePolicy", { enumerable: true, get: function () { return update_policy_1.updatePolicy; } });
|
|
31
|
+
Object.defineProperty(exports, "updatePolicySchema", { enumerable: true, get: function () { return update_policy_1.updatePolicySchema; } });
|
|
32
|
+
var revoke_agent_1 = require("./revoke-agent");
|
|
33
|
+
Object.defineProperty(exports, "revokeAgentTool", { enumerable: true, get: function () { return revoke_agent_1.revokeAgentTool; } });
|
|
34
|
+
Object.defineProperty(exports, "revokeAgent", { enumerable: true, get: function () { return revoke_agent_1.revokeAgent; } });
|
|
35
|
+
Object.defineProperty(exports, "revokeAgentSchema", { enumerable: true, get: function () { return revoke_agent_1.revokeAgentSchema; } });
|
|
36
|
+
var reactivate_vault_1 = require("./reactivate-vault");
|
|
37
|
+
Object.defineProperty(exports, "reactivateVaultTool", { enumerable: true, get: function () { return reactivate_vault_1.reactivateVaultTool; } });
|
|
38
|
+
Object.defineProperty(exports, "reactivateVault", { enumerable: true, get: function () { return reactivate_vault_1.reactivateVault; } });
|
|
39
|
+
Object.defineProperty(exports, "reactivateVaultSchema", { enumerable: true, get: function () { return reactivate_vault_1.reactivateVaultSchema; } });
|
|
40
|
+
var execute_swap_1 = require("./execute-swap");
|
|
41
|
+
Object.defineProperty(exports, "executeSwapTool", { enumerable: true, get: function () { return execute_swap_1.executeSwapTool; } });
|
|
42
|
+
Object.defineProperty(exports, "executeSwap", { enumerable: true, get: function () { return execute_swap_1.executeSwap; } });
|
|
43
|
+
Object.defineProperty(exports, "executeSwapSchema", { enumerable: true, get: function () { return execute_swap_1.executeSwapSchema; } });
|
|
44
|
+
var open_position_1 = require("./open-position");
|
|
45
|
+
Object.defineProperty(exports, "openPositionTool", { enumerable: true, get: function () { return open_position_1.openPositionTool; } });
|
|
46
|
+
Object.defineProperty(exports, "openPosition", { enumerable: true, get: function () { return open_position_1.openPosition; } });
|
|
47
|
+
Object.defineProperty(exports, "openPositionSchema", { enumerable: true, get: function () { return open_position_1.openPositionSchema; } });
|
|
48
|
+
var close_position_1 = require("./close-position");
|
|
49
|
+
Object.defineProperty(exports, "closePositionTool", { enumerable: true, get: function () { return close_position_1.closePositionTool; } });
|
|
50
|
+
Object.defineProperty(exports, "closePosition", { enumerable: true, get: function () { return close_position_1.closePosition; } });
|
|
51
|
+
Object.defineProperty(exports, "closePositionSchema", { enumerable: true, get: function () { return close_position_1.closePositionSchema; } });
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AgentShieldClient } from "@agent-shield/sdk";
|
|
3
|
+
import { type McpConfig } from "../config";
|
|
4
|
+
export declare const openPositionSchema: z.ZodObject<{
|
|
5
|
+
vault: z.ZodString;
|
|
6
|
+
market: z.ZodString;
|
|
7
|
+
collateralMint: z.ZodString;
|
|
8
|
+
collateralAmount: z.ZodString;
|
|
9
|
+
sizeUsd: z.ZodString;
|
|
10
|
+
side: z.ZodEnum<["long", "short"]>;
|
|
11
|
+
leverageBps: z.ZodNumber;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
vault: string;
|
|
14
|
+
market: string;
|
|
15
|
+
collateralMint: string;
|
|
16
|
+
collateralAmount: string;
|
|
17
|
+
sizeUsd: string;
|
|
18
|
+
side: "long" | "short";
|
|
19
|
+
leverageBps: number;
|
|
20
|
+
}, {
|
|
21
|
+
vault: string;
|
|
22
|
+
market: string;
|
|
23
|
+
collateralMint: string;
|
|
24
|
+
collateralAmount: string;
|
|
25
|
+
sizeUsd: string;
|
|
26
|
+
side: "long" | "short";
|
|
27
|
+
leverageBps: number;
|
|
28
|
+
}>;
|
|
29
|
+
export type OpenPositionInput = z.infer<typeof openPositionSchema>;
|
|
30
|
+
export declare function openPosition(client: AgentShieldClient, config: McpConfig, input: OpenPositionInput): Promise<string>;
|
|
31
|
+
export declare const openPositionTool: {
|
|
32
|
+
name: string;
|
|
33
|
+
description: string;
|
|
34
|
+
schema: z.ZodObject<{
|
|
35
|
+
vault: z.ZodString;
|
|
36
|
+
market: z.ZodString;
|
|
37
|
+
collateralMint: z.ZodString;
|
|
38
|
+
collateralAmount: z.ZodString;
|
|
39
|
+
sizeUsd: z.ZodString;
|
|
40
|
+
side: z.ZodEnum<["long", "short"]>;
|
|
41
|
+
leverageBps: z.ZodNumber;
|
|
42
|
+
}, "strip", z.ZodTypeAny, {
|
|
43
|
+
vault: string;
|
|
44
|
+
market: string;
|
|
45
|
+
collateralMint: string;
|
|
46
|
+
collateralAmount: string;
|
|
47
|
+
sizeUsd: string;
|
|
48
|
+
side: "long" | "short";
|
|
49
|
+
leverageBps: number;
|
|
50
|
+
}, {
|
|
51
|
+
vault: string;
|
|
52
|
+
market: string;
|
|
53
|
+
collateralMint: string;
|
|
54
|
+
collateralAmount: string;
|
|
55
|
+
sizeUsd: string;
|
|
56
|
+
side: "long" | "short";
|
|
57
|
+
leverageBps: number;
|
|
58
|
+
}>;
|
|
59
|
+
handler: typeof openPosition;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=open-position.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-position.d.ts","sourceRoot":"","sources":["../../src/tools/open-position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAE7D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;EAgB7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAQnE,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ5B,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.openPositionTool = exports.openPositionSchema = void 0;
|
|
4
|
+
exports.openPosition = openPosition;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
const config_1 = require("../config");
|
|
9
|
+
exports.openPositionSchema = zod_1.z.object({
|
|
10
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
11
|
+
market: zod_1.z.string().describe("Market/pool name (e.g. 'SOL', 'ETH')"),
|
|
12
|
+
collateralMint: zod_1.z
|
|
13
|
+
.string()
|
|
14
|
+
.describe("Collateral token mint address (base58)"),
|
|
15
|
+
collateralAmount: zod_1.z
|
|
16
|
+
.string()
|
|
17
|
+
.describe("Collateral amount in token base units"),
|
|
18
|
+
sizeUsd: zod_1.z.string().describe("Position size in USD base units"),
|
|
19
|
+
side: zod_1.z
|
|
20
|
+
.enum(["long", "short"])
|
|
21
|
+
.describe("Position side: 'long' or 'short'"),
|
|
22
|
+
leverageBps: zod_1.z
|
|
23
|
+
.number()
|
|
24
|
+
.describe("Leverage in basis points (e.g. 20000 = 2x)"),
|
|
25
|
+
});
|
|
26
|
+
function parseSide(side) {
|
|
27
|
+
return side === "long" ? { long: {} } : { short: {} };
|
|
28
|
+
}
|
|
29
|
+
async function openPosition(client, config, input) {
|
|
30
|
+
try {
|
|
31
|
+
const agentKeypair = (0, config_1.loadAgentKeypair)(config);
|
|
32
|
+
const vaultAddress = (0, utils_1.toPublicKey)(input.vault);
|
|
33
|
+
const vault = await client.fetchVaultByAddress(vaultAddress);
|
|
34
|
+
const result = await client.flashTradeOpen({
|
|
35
|
+
owner: vault.owner,
|
|
36
|
+
vaultId: vault.vaultId,
|
|
37
|
+
agent: agentKeypair.publicKey,
|
|
38
|
+
targetSymbol: input.market,
|
|
39
|
+
collateralSymbol: input.market,
|
|
40
|
+
collateralAmount: (0, utils_1.toBN)(input.collateralAmount),
|
|
41
|
+
sizeAmount: (0, utils_1.toBN)(input.sizeUsd),
|
|
42
|
+
side: parseSide(input.side),
|
|
43
|
+
priceWithSlippage: { price: (0, utils_1.toBN)("0"), exponent: 0 },
|
|
44
|
+
leverageBps: input.leverageBps,
|
|
45
|
+
});
|
|
46
|
+
const sig = await client.executeFlashTrade(result, agentKeypair.publicKey, [agentKeypair]);
|
|
47
|
+
return [
|
|
48
|
+
"## Position Opened",
|
|
49
|
+
`- **Vault:** ${input.vault}`,
|
|
50
|
+
`- **Market:** ${input.market}`,
|
|
51
|
+
`- **Side:** ${input.side.toUpperCase()}`,
|
|
52
|
+
`- **Collateral:** ${input.collateralAmount} of ${input.collateralMint}`,
|
|
53
|
+
`- **Size (USD):** ${input.sizeUsd}`,
|
|
54
|
+
`- **Leverage:** ${input.leverageBps} BPS`,
|
|
55
|
+
`- **Transaction:** ${sig}`,
|
|
56
|
+
].join("\n");
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
return (0, errors_1.formatError)(error);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.openPositionTool = {
|
|
63
|
+
name: "shield_open_position",
|
|
64
|
+
description: "Open a leveraged perpetual position via Flash Trade through an AgentShield vault. " +
|
|
65
|
+
"Requires AGENTSHIELD_AGENT_KEYPAIR_PATH. " +
|
|
66
|
+
"Policy-checked: leverage limits, position count, spending caps apply.",
|
|
67
|
+
schema: exports.openPositionSchema,
|
|
68
|
+
handler: openPosition,
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=open-position.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-position.js","sourceRoot":"","sources":["../../src/tools/open-position.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AgentShieldClient } from "@agent-shield/sdk";
|
|
3
|
+
export declare const reactivateVaultSchema: z.ZodObject<{
|
|
4
|
+
vault: z.ZodString;
|
|
5
|
+
newAgent: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
vault: string;
|
|
8
|
+
newAgent?: string | undefined;
|
|
9
|
+
}, {
|
|
10
|
+
vault: string;
|
|
11
|
+
newAgent?: string | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export type ReactivateVaultInput = z.infer<typeof reactivateVaultSchema>;
|
|
14
|
+
export declare function reactivateVault(client: AgentShieldClient, input: ReactivateVaultInput): Promise<string>;
|
|
15
|
+
export declare const reactivateVaultTool: {
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
schema: z.ZodObject<{
|
|
19
|
+
vault: z.ZodString;
|
|
20
|
+
newAgent: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
vault: string;
|
|
23
|
+
newAgent?: string | undefined;
|
|
24
|
+
}, {
|
|
25
|
+
vault: string;
|
|
26
|
+
newAgent?: string | undefined;
|
|
27
|
+
}>;
|
|
28
|
+
handler: typeof reactivateVault;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=reactivate-vault.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactivate-vault.d.ts","sourceRoot":"","sources":["../../src/tools/reactivate-vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,eAAO,MAAM,qBAAqB;;;;;;;;;EAQhC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,wBAAsB,eAAe,CACnC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;CAO/B,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reactivateVaultTool = exports.reactivateVaultSchema = void 0;
|
|
4
|
+
exports.reactivateVault = reactivateVault;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
exports.reactivateVaultSchema = zod_1.z.object({
|
|
9
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
10
|
+
newAgent: zod_1.z
|
|
11
|
+
.string()
|
|
12
|
+
.optional()
|
|
13
|
+
.describe("Optional new agent public key (base58). If omitted, the previous agent is re-registered."),
|
|
14
|
+
});
|
|
15
|
+
async function reactivateVault(client, input) {
|
|
16
|
+
try {
|
|
17
|
+
const newAgent = input.newAgent
|
|
18
|
+
? (0, utils_1.toPublicKey)(input.newAgent)
|
|
19
|
+
: undefined;
|
|
20
|
+
const sig = await client.reactivateVault((0, utils_1.toPublicKey)(input.vault), newAgent);
|
|
21
|
+
return [
|
|
22
|
+
"## Vault Reactivated",
|
|
23
|
+
`- **Vault:** ${input.vault}`,
|
|
24
|
+
`- **New Agent:** ${input.newAgent ?? "(previous agent re-registered)"}`,
|
|
25
|
+
`- **Transaction:** ${sig}`,
|
|
26
|
+
"",
|
|
27
|
+
"The vault is now ACTIVE. The agent can execute trades again.",
|
|
28
|
+
].join("\n");
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
return (0, errors_1.formatError)(error);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.reactivateVaultTool = {
|
|
35
|
+
name: "shield_reactivate_vault",
|
|
36
|
+
description: "Reactivate a frozen vault. Optionally register a new agent key. " +
|
|
37
|
+
"Owner-only. The vault must be in Frozen status.",
|
|
38
|
+
schema: exports.reactivateVaultSchema,
|
|
39
|
+
handler: reactivateVault,
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=reactivate-vault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactivate-vault.js","sourceRoot":"","sources":["../../src/tools/reactivate-vault.ts"],"names":[],"mappings":";;;AAiBA,0CAyBC;AA1CD,6BAAwB;AAExB,oCAAuC;AACvC,sCAAwC;AAE3B,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACxD,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,0FAA0F,CAC3F;CACJ,CAAC,CAAC;AAII,KAAK,UAAU,eAAe,CACnC,MAAyB,EACzB,KAA2B;IAE3B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;YAC7B,CAAC,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,QAAQ,CAAC;YAC7B,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,eAAe,CACtC,IAAA,mBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,EACxB,QAAQ,CACT,CAAC;QAEF,OAAO;YACL,sBAAsB;YACtB,gBAAgB,KAAK,CAAC,KAAK,EAAE;YAC7B,oBAAoB,KAAK,CAAC,QAAQ,IAAI,gCAAgC,EAAE;YACxE,sBAAsB,GAAG,EAAE;YAC3B,EAAE;YACF,8DAA8D;SAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAEY,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,kEAAkE;QAClE,iDAAiD;IACnD,MAAM,EAAE,6BAAqB;IAC7B,OAAO,EAAE,eAAe;CACzB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AgentShieldClient } from "@agent-shield/sdk";
|
|
3
|
+
export declare const registerAgentSchema: z.ZodObject<{
|
|
4
|
+
vault: z.ZodString;
|
|
5
|
+
agent: z.ZodString;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
vault: string;
|
|
8
|
+
agent: string;
|
|
9
|
+
}, {
|
|
10
|
+
vault: string;
|
|
11
|
+
agent: string;
|
|
12
|
+
}>;
|
|
13
|
+
export type RegisterAgentInput = z.infer<typeof registerAgentSchema>;
|
|
14
|
+
export declare function registerAgent(client: AgentShieldClient, input: RegisterAgentInput): Promise<string>;
|
|
15
|
+
export declare const registerAgentTool: {
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
schema: z.ZodObject<{
|
|
19
|
+
vault: z.ZodString;
|
|
20
|
+
agent: z.ZodString;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
vault: string;
|
|
23
|
+
agent: string;
|
|
24
|
+
}, {
|
|
25
|
+
vault: string;
|
|
26
|
+
agent: string;
|
|
27
|
+
}>;
|
|
28
|
+
handler: typeof registerAgent;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=register-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-agent.d.ts","sourceRoot":"","sources":["../../src/tools/register-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,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,CAmBjB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAO7B,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerAgentTool = exports.registerAgentSchema = void 0;
|
|
4
|
+
exports.registerAgent = registerAgent;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
exports.registerAgentSchema = zod_1.z.object({
|
|
9
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
10
|
+
agent: zod_1.z.string().describe("Agent public key to register (base58)"),
|
|
11
|
+
});
|
|
12
|
+
async function registerAgent(client, input) {
|
|
13
|
+
try {
|
|
14
|
+
const sig = await client.registerAgent((0, utils_1.toPublicKey)(input.vault), (0, utils_1.toPublicKey)(input.agent));
|
|
15
|
+
return [
|
|
16
|
+
"## Agent Registered",
|
|
17
|
+
`- **Vault:** ${input.vault}`,
|
|
18
|
+
`- **Agent:** ${input.agent}`,
|
|
19
|
+
`- **Transaction:** ${sig}`,
|
|
20
|
+
"",
|
|
21
|
+
"The agent can now execute trades through this vault (swaps, positions) " +
|
|
22
|
+
"within the vault's policy limits.",
|
|
23
|
+
].join("\n");
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return (0, errors_1.formatError)(error);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.registerAgentTool = {
|
|
30
|
+
name: "shield_register_agent",
|
|
31
|
+
description: "Register an agent signing key to an AgentShield vault. " +
|
|
32
|
+
"One agent per vault. The agent can execute trades within policy limits.",
|
|
33
|
+
schema: exports.registerAgentSchema,
|
|
34
|
+
handler: registerAgent,
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=register-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-agent.js","sourceRoot":"","sources":["../../src/tools/register-agent.ts"],"names":[],"mappings":";;;AAYA,sCAsBC;AAlCD,6BAAwB;AAExB,oCAAuC;AACvC,sCAAwC;AAE3B,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACxD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;CACpE,CAAC,CAAC;AAII,KAAK,UAAU,aAAa,CACjC,MAAyB,EACzB,KAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CACpC,IAAA,mBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,EACxB,IAAA,mBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CACzB,CAAC;QAEF,OAAO;YACL,qBAAqB;YACrB,gBAAgB,KAAK,CAAC,KAAK,EAAE;YAC7B,gBAAgB,KAAK,CAAC,KAAK,EAAE;YAC7B,sBAAsB,GAAG,EAAE;YAC3B,EAAE;YACF,yEAAyE;gBACvE,mCAAmC;SACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAEY,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,yDAAyD;QACzD,yEAAyE;IAC3E,MAAM,EAAE,2BAAmB;IAC3B,OAAO,EAAE,aAAa;CACvB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AgentShieldClient } from "@agent-shield/sdk";
|
|
3
|
+
export declare const revokeAgentSchema: z.ZodObject<{
|
|
4
|
+
vault: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
vault: string;
|
|
7
|
+
}, {
|
|
8
|
+
vault: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type RevokeAgentInput = z.infer<typeof revokeAgentSchema>;
|
|
11
|
+
export declare function revokeAgent(client: AgentShieldClient, input: RevokeAgentInput): Promise<string>;
|
|
12
|
+
export declare const revokeAgentTool: {
|
|
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 revokeAgent;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=revoke-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke-agent.d.ts","sourceRoot":"","sources":["../../src/tools/revoke-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;CAO3B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.revokeAgentTool = exports.revokeAgentSchema = void 0;
|
|
4
|
+
exports.revokeAgent = revokeAgent;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
exports.revokeAgentSchema = zod_1.z.object({
|
|
9
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
10
|
+
});
|
|
11
|
+
async function revokeAgent(client, input) {
|
|
12
|
+
try {
|
|
13
|
+
const sig = await client.revokeAgent((0, utils_1.toPublicKey)(input.vault));
|
|
14
|
+
return [
|
|
15
|
+
"## Agent Revoked (Kill Switch)",
|
|
16
|
+
`- **Vault:** ${input.vault}`,
|
|
17
|
+
`- **Transaction:** ${sig}`,
|
|
18
|
+
"",
|
|
19
|
+
"The vault is now FROZEN. No trades can be executed. " +
|
|
20
|
+
"Use shield_reactivate_vault to restore access with a new or existing agent.",
|
|
21
|
+
].join("\n");
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
return (0, errors_1.formatError)(error);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.revokeAgentTool = {
|
|
28
|
+
name: "shield_revoke_agent",
|
|
29
|
+
description: "Emergency kill switch — revokes the agent and freezes the vault immediately. " +
|
|
30
|
+
"Owner-only. Use shield_reactivate_vault to restore access afterward.",
|
|
31
|
+
schema: exports.revokeAgentSchema,
|
|
32
|
+
handler: revokeAgent,
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=revoke-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke-agent.js","sourceRoot":"","sources":["../../src/tools/revoke-agent.ts"],"names":[],"mappings":";;;AAWA,kCAkBC;AA7BD,6BAAwB;AAExB,oCAAuC;AACvC,sCAAwC;AAE3B,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CACzD,CAAC,CAAC;AAII,KAAK,UAAU,WAAW,CAC/B,MAAyB,EACzB,KAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/D,OAAO;YACL,gCAAgC;YAChC,gBAAgB,KAAK,CAAC,KAAK,EAAE;YAC7B,sBAAsB,GAAG,EAAE;YAC3B,EAAE;YACF,sDAAsD;gBACpD,6EAA6E;SAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAEY,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,+EAA+E;QAC/E,sEAAsE;IACxE,MAAM,EAAE,yBAAiB;IACzB,OAAO,EAAE,WAAW;CACrB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AgentShieldClient } from "@agent-shield/sdk";
|
|
3
|
+
export declare const updatePolicySchema: z.ZodObject<{
|
|
4
|
+
vault: z.ZodString;
|
|
5
|
+
dailySpendingCap: z.ZodOptional<z.ZodString>;
|
|
6
|
+
maxTransactionSize: z.ZodOptional<z.ZodString>;
|
|
7
|
+
allowedTokens: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
8
|
+
allowedProtocols: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
|
+
maxLeverageBps: z.ZodOptional<z.ZodNumber>;
|
|
10
|
+
canOpenPositions: z.ZodOptional<z.ZodBoolean>;
|
|
11
|
+
maxConcurrentPositions: z.ZodOptional<z.ZodNumber>;
|
|
12
|
+
developerFeeRate: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
vault: string;
|
|
15
|
+
dailySpendingCap?: string | undefined;
|
|
16
|
+
maxTransactionSize?: string | undefined;
|
|
17
|
+
allowedTokens?: string[] | undefined;
|
|
18
|
+
allowedProtocols?: string[] | undefined;
|
|
19
|
+
maxLeverageBps?: number | undefined;
|
|
20
|
+
maxConcurrentPositions?: number | undefined;
|
|
21
|
+
developerFeeRate?: number | undefined;
|
|
22
|
+
canOpenPositions?: boolean | undefined;
|
|
23
|
+
}, {
|
|
24
|
+
vault: string;
|
|
25
|
+
dailySpendingCap?: string | undefined;
|
|
26
|
+
maxTransactionSize?: string | undefined;
|
|
27
|
+
allowedTokens?: string[] | undefined;
|
|
28
|
+
allowedProtocols?: string[] | undefined;
|
|
29
|
+
maxLeverageBps?: number | undefined;
|
|
30
|
+
maxConcurrentPositions?: number | undefined;
|
|
31
|
+
developerFeeRate?: number | undefined;
|
|
32
|
+
canOpenPositions?: boolean | undefined;
|
|
33
|
+
}>;
|
|
34
|
+
export type UpdatePolicyInput = z.infer<typeof updatePolicySchema>;
|
|
35
|
+
export declare function updatePolicy(client: AgentShieldClient, input: UpdatePolicyInput): Promise<string>;
|
|
36
|
+
export declare const updatePolicyTool: {
|
|
37
|
+
name: string;
|
|
38
|
+
description: string;
|
|
39
|
+
schema: z.ZodObject<{
|
|
40
|
+
vault: z.ZodString;
|
|
41
|
+
dailySpendingCap: z.ZodOptional<z.ZodString>;
|
|
42
|
+
maxTransactionSize: z.ZodOptional<z.ZodString>;
|
|
43
|
+
allowedTokens: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
44
|
+
allowedProtocols: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
45
|
+
maxLeverageBps: z.ZodOptional<z.ZodNumber>;
|
|
46
|
+
canOpenPositions: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
maxConcurrentPositions: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
developerFeeRate: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
}, "strip", z.ZodTypeAny, {
|
|
50
|
+
vault: string;
|
|
51
|
+
dailySpendingCap?: string | undefined;
|
|
52
|
+
maxTransactionSize?: string | undefined;
|
|
53
|
+
allowedTokens?: string[] | undefined;
|
|
54
|
+
allowedProtocols?: string[] | undefined;
|
|
55
|
+
maxLeverageBps?: number | undefined;
|
|
56
|
+
maxConcurrentPositions?: number | undefined;
|
|
57
|
+
developerFeeRate?: number | undefined;
|
|
58
|
+
canOpenPositions?: boolean | undefined;
|
|
59
|
+
}, {
|
|
60
|
+
vault: string;
|
|
61
|
+
dailySpendingCap?: string | undefined;
|
|
62
|
+
maxTransactionSize?: string | undefined;
|
|
63
|
+
allowedTokens?: string[] | undefined;
|
|
64
|
+
allowedProtocols?: string[] | undefined;
|
|
65
|
+
maxLeverageBps?: number | undefined;
|
|
66
|
+
maxConcurrentPositions?: number | undefined;
|
|
67
|
+
developerFeeRate?: number | undefined;
|
|
68
|
+
canOpenPositions?: boolean | undefined;
|
|
69
|
+
}>;
|
|
70
|
+
handler: typeof updatePolicy;
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=update-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-policy.d.ts","sourceRoot":"","sources":["../../src/tools/update-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAK3D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,MAAM,CAAC,CA6CjB;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO5B,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updatePolicyTool = exports.updatePolicySchema = void 0;
|
|
4
|
+
exports.updatePolicy = updatePolicy;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
exports.updatePolicySchema = zod_1.z.object({
|
|
9
|
+
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
10
|
+
dailySpendingCap: zod_1.z
|
|
11
|
+
.string()
|
|
12
|
+
.optional()
|
|
13
|
+
.describe("New daily spending cap in token base units"),
|
|
14
|
+
maxTransactionSize: zod_1.z
|
|
15
|
+
.string()
|
|
16
|
+
.optional()
|
|
17
|
+
.describe("New max transaction size in token base units"),
|
|
18
|
+
allowedTokens: zod_1.z
|
|
19
|
+
.array(zod_1.z.string())
|
|
20
|
+
.optional()
|
|
21
|
+
.describe("New allowed token mints (base58). Max 10. Replaces existing list."),
|
|
22
|
+
allowedProtocols: zod_1.z
|
|
23
|
+
.array(zod_1.z.string())
|
|
24
|
+
.optional()
|
|
25
|
+
.describe("New allowed protocol IDs (base58). Max 10. Replaces existing list."),
|
|
26
|
+
maxLeverageBps: zod_1.z
|
|
27
|
+
.number()
|
|
28
|
+
.optional()
|
|
29
|
+
.describe("New max leverage in basis points"),
|
|
30
|
+
canOpenPositions: zod_1.z
|
|
31
|
+
.boolean()
|
|
32
|
+
.optional()
|
|
33
|
+
.describe("Whether the agent can open new positions"),
|
|
34
|
+
maxConcurrentPositions: zod_1.z
|
|
35
|
+
.number()
|
|
36
|
+
.optional()
|
|
37
|
+
.describe("New max concurrent positions"),
|
|
38
|
+
developerFeeRate: zod_1.z
|
|
39
|
+
.number()
|
|
40
|
+
.optional()
|
|
41
|
+
.describe("New developer fee rate (max 50 = 0.5 BPS)"),
|
|
42
|
+
});
|
|
43
|
+
async function updatePolicy(client, input) {
|
|
44
|
+
try {
|
|
45
|
+
const params = {};
|
|
46
|
+
if (input.dailySpendingCap !== undefined) {
|
|
47
|
+
params.dailySpendingCap = (0, utils_1.toBN)(input.dailySpendingCap);
|
|
48
|
+
}
|
|
49
|
+
if (input.maxTransactionSize !== undefined) {
|
|
50
|
+
params.maxTransactionSize = (0, utils_1.toBN)(input.maxTransactionSize);
|
|
51
|
+
}
|
|
52
|
+
if (input.allowedTokens !== undefined) {
|
|
53
|
+
params.allowedTokens = input.allowedTokens.map(utils_1.toPublicKey);
|
|
54
|
+
}
|
|
55
|
+
if (input.allowedProtocols !== undefined) {
|
|
56
|
+
params.allowedProtocols = input.allowedProtocols.map(utils_1.toPublicKey);
|
|
57
|
+
}
|
|
58
|
+
if (input.maxLeverageBps !== undefined) {
|
|
59
|
+
params.maxLeverageBps = input.maxLeverageBps;
|
|
60
|
+
}
|
|
61
|
+
if (input.canOpenPositions !== undefined) {
|
|
62
|
+
params.canOpenPositions = input.canOpenPositions;
|
|
63
|
+
}
|
|
64
|
+
if (input.maxConcurrentPositions !== undefined) {
|
|
65
|
+
params.maxConcurrentPositions = input.maxConcurrentPositions;
|
|
66
|
+
}
|
|
67
|
+
if (input.developerFeeRate !== undefined) {
|
|
68
|
+
params.developerFeeRate = input.developerFeeRate;
|
|
69
|
+
}
|
|
70
|
+
const sig = await client.updatePolicy((0, utils_1.toPublicKey)(input.vault), params);
|
|
71
|
+
const updated = Object.keys(params).join(", ") || "none";
|
|
72
|
+
return [
|
|
73
|
+
"## Policy Updated",
|
|
74
|
+
`- **Vault:** ${input.vault}`,
|
|
75
|
+
`- **Fields Updated:** ${updated}`,
|
|
76
|
+
`- **Transaction:** ${sig}`,
|
|
77
|
+
].join("\n");
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
return (0, errors_1.formatError)(error);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.updatePolicyTool = {
|
|
84
|
+
name: "shield_update_policy",
|
|
85
|
+
description: "Update the policy configuration for an AgentShield vault. " +
|
|
86
|
+
"Only the fields you provide will be changed. Owner-only operation.",
|
|
87
|
+
schema: exports.updatePolicySchema,
|
|
88
|
+
handler: updatePolicy,
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=update-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-policy.js","sourceRoot":"","sources":["../../src/tools/update-policy.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 withdrawSchema: z.ZodObject<{
|
|
4
|
+
vault: z.ZodString;
|
|
5
|
+
mint: z.ZodString;
|
|
6
|
+
amount: z.ZodString;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
vault: string;
|
|
9
|
+
mint: string;
|
|
10
|
+
amount: string;
|
|
11
|
+
}, {
|
|
12
|
+
vault: string;
|
|
13
|
+
mint: string;
|
|
14
|
+
amount: string;
|
|
15
|
+
}>;
|
|
16
|
+
export type WithdrawInput = z.infer<typeof withdrawSchema>;
|
|
17
|
+
export declare function withdraw(client: AgentShieldClient, input: WithdrawInput): Promise<string>;
|
|
18
|
+
export declare const withdrawTool: {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
schema: z.ZodObject<{
|
|
22
|
+
vault: z.ZodString;
|
|
23
|
+
mint: z.ZodString;
|
|
24
|
+
amount: z.ZodString;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
vault: string;
|
|
27
|
+
mint: string;
|
|
28
|
+
amount: string;
|
|
29
|
+
}, {
|
|
30
|
+
vault: string;
|
|
31
|
+
mint: string;
|
|
32
|
+
amount: string;
|
|
33
|
+
}>;
|
|
34
|
+
handler: typeof withdraw;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=withdraw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withdraw.d.ts","sourceRoot":"","sources":["../../src/tools/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE3D,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAMxB,CAAC"}
|