@agent-shield/mcp 0.1.0 → 0.2.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.
- package/README.md +2 -2
- package/dist/config.d.ts +18 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +57 -4
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +75 -3
- package/dist/errors.js.map +1 -1
- package/dist/index.js +224 -27
- package/dist/index.js.map +1 -1
- package/dist/resources/policy.js +5 -5
- package/dist/resources/policy.js.map +1 -1
- package/dist/resources/spending.d.ts.map +1 -1
- package/dist/resources/spending.js +7 -9
- package/dist/resources/spending.js.map +1 -1
- package/dist/tools/agent-transfer.d.ts +42 -0
- package/dist/tools/agent-transfer.d.ts.map +1 -0
- package/dist/tools/agent-transfer.js +52 -0
- package/dist/tools/agent-transfer.js.map +1 -0
- package/dist/tools/apply-pending-policy.d.ts +24 -0
- package/dist/tools/apply-pending-policy.d.ts.map +1 -0
- package/dist/tools/apply-pending-policy.js +34 -0
- package/dist/tools/apply-pending-policy.js.map +1 -0
- package/dist/tools/cancel-pending-policy.d.ts +24 -0
- package/dist/tools/cancel-pending-policy.d.ts.map +1 -0
- package/dist/tools/cancel-pending-policy.js +33 -0
- package/dist/tools/cancel-pending-policy.js.map +1 -0
- package/dist/tools/check-pending-policy.d.ts +24 -0
- package/dist/tools/check-pending-policy.d.ts.map +1 -0
- package/dist/tools/check-pending-policy.js +92 -0
- package/dist/tools/check-pending-policy.js.map +1 -0
- package/dist/tools/check-spending.js +2 -2
- package/dist/tools/check-spending.js.map +1 -1
- package/dist/tools/check-vault.d.ts.map +1 -1
- package/dist/tools/check-vault.js +30 -8
- package/dist/tools/check-vault.js.map +1 -1
- package/dist/tools/close-position.d.ts.map +1 -1
- package/dist/tools/close-position.js +4 -4
- package/dist/tools/close-position.js.map +1 -1
- package/dist/tools/create-vault.d.ts +24 -12
- package/dist/tools/create-vault.d.ts.map +1 -1
- package/dist/tools/create-vault.js +30 -7
- package/dist/tools/create-vault.js.map +1 -1
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +26 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/open-position.d.ts.map +1 -1
- package/dist/tools/open-position.js +5 -7
- package/dist/tools/open-position.js.map +1 -1
- package/dist/tools/provision.d.ts +60 -0
- package/dist/tools/provision.d.ts.map +1 -0
- package/dist/tools/provision.js +85 -0
- package/dist/tools/provision.js.map +1 -0
- package/dist/tools/queue-policy-update.d.ts +84 -0
- package/dist/tools/queue-policy-update.d.ts.map +1 -0
- package/dist/tools/queue-policy-update.js +117 -0
- package/dist/tools/queue-policy-update.js.map +1 -0
- package/dist/tools/reactivate-vault.d.ts.map +1 -1
- package/dist/tools/reactivate-vault.js +1 -3
- package/dist/tools/reactivate-vault.js.map +1 -1
- package/dist/tools/update-policy.d.ts +24 -12
- package/dist/tools/update-policy.d.ts.map +1 -1
- package/dist/tools/update-policy.js +32 -9
- package/dist/tools/update-policy.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +23 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-vault.js","sourceRoot":"","sources":["../../src/tools/check-vault.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"check-vault.js","sourceRoot":"","sources":["../../src/tools/check-vault.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-position.d.ts","sourceRoot":"","sources":["../../src/tools/close-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,mBAAmB;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"close-position.d.ts","sourceRoot":"","sources":["../../src/tools/close-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,mBAAmB;;;;;;;;;;;;;;;;;;EAY9B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAQrE,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,CAAC,CAkCjB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;CAO7B,CAAC"}
|
|
@@ -9,9 +9,7 @@ const config_1 = require("../config");
|
|
|
9
9
|
exports.closePositionSchema = zod_1.z.object({
|
|
10
10
|
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
11
11
|
market: zod_1.z.string().describe("Market/pool name (e.g. 'SOL', 'ETH')"),
|
|
12
|
-
side: zod_1.z
|
|
13
|
-
.enum(["long", "short"])
|
|
14
|
-
.describe("Position side: 'long' or 'short'"),
|
|
12
|
+
side: zod_1.z.enum(["long", "short"]).describe("Position side: 'long' or 'short'"),
|
|
15
13
|
priceWithSlippage: zod_1.z
|
|
16
14
|
.string()
|
|
17
15
|
.describe("Exit price in base units (for slippage protection)"),
|
|
@@ -42,7 +40,9 @@ async function closePosition(client, config, input) {
|
|
|
42
40
|
exponent: input.priceExponent ?? 0,
|
|
43
41
|
},
|
|
44
42
|
});
|
|
45
|
-
const sig = await client.executeFlashTrade(result, agentKeypair.publicKey, [
|
|
43
|
+
const sig = await client.executeFlashTrade(result, agentKeypair.publicKey, [
|
|
44
|
+
agentKeypair,
|
|
45
|
+
]);
|
|
46
46
|
return [
|
|
47
47
|
"## Position Closed",
|
|
48
48
|
`- **Vault:** ${input.vault}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-position.js","sourceRoot":"","sources":["../../src/tools/close-position.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"close-position.js","sourceRoot":"","sources":["../../src/tools/close-position.ts"],"names":[],"mappings":";;;AA4BA,sCAsCC;AAlED,6BAAwB;AAExB,oCAA6C;AAC7C,sCAAwC;AACxC,sCAA6D;AAEhD,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACxD,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnE,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IAC5E,iBAAiB,EAAE,OAAC;SACjB,MAAM,EAAE;SACR,QAAQ,CAAC,oDAAoD,CAAC;IACjE,aAAa,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,6BAA6B,CAAC;CAC3C,CAAC,CAAC;AAIH,SAAS,SAAS,CAChB,IAAsB;IAEtB,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACxD,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,MAAyB,EACzB,MAAiB,EACjB,KAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,yBAAgB,EAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;YAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,YAAY,CAAC,SAAS;YAC7B,YAAY,EAAE,KAAK,CAAC,MAAM;YAC1B,gBAAgB,EAAE,KAAK,CAAC,MAAM;YAC9B,gBAAgB,EAAE,IAAA,YAAI,EAAC,GAAG,CAAC;YAC3B,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3B,iBAAiB,EAAE;gBACjB,KAAK,EAAE,IAAA,YAAI,EAAC,KAAK,CAAC,iBAAiB,CAAC;gBACpC,QAAQ,EAAE,KAAK,CAAC,aAAa,IAAI,CAAC;aACnC;SACF,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE;YACzE,YAAY;SACb,CAAC,CAAC;QAEH,OAAO;YACL,oBAAoB;YACpB,gBAAgB,KAAK,CAAC,KAAK,EAAE;YAC7B,iBAAiB,KAAK,CAAC,MAAM,EAAE;YAC/B,eAAe,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACzC,sBAAsB,GAAG,EAAE;SAC5B,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,qFAAqF;QACrF,0CAA0C;IAC5C,MAAM,EAAE,2BAAmB;IAC3B,OAAO,EAAE,aAAa;CACvB,CAAC"}
|
|
@@ -2,34 +2,40 @@ import { z } from "zod";
|
|
|
2
2
|
import type { AgentShieldClient } from "@agent-shield/sdk";
|
|
3
3
|
export declare const createVaultSchema: z.ZodObject<{
|
|
4
4
|
vaultId: z.ZodString;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
dailySpendingCapUsd: z.ZodString;
|
|
6
|
+
maxTransactionSizeUsd: z.ZodString;
|
|
7
7
|
allowedTokens: z.ZodArray<z.ZodString, "many">;
|
|
8
8
|
allowedProtocols: z.ZodArray<z.ZodString, "many">;
|
|
9
9
|
maxLeverageBps: z.ZodNumber;
|
|
10
10
|
maxConcurrentPositions: z.ZodNumber;
|
|
11
11
|
feeDestination: z.ZodString;
|
|
12
12
|
developerFeeRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
13
|
+
allowedDestinations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
14
|
+
timelockDuration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
13
15
|
}, "strip", z.ZodTypeAny, {
|
|
14
16
|
vaultId: string;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
dailySpendingCapUsd: string;
|
|
18
|
+
maxTransactionSizeUsd: string;
|
|
17
19
|
allowedTokens: string[];
|
|
18
20
|
allowedProtocols: string[];
|
|
19
21
|
maxLeverageBps: number;
|
|
20
22
|
maxConcurrentPositions: number;
|
|
21
23
|
feeDestination: string;
|
|
22
24
|
developerFeeRate: number;
|
|
25
|
+
timelockDuration: number;
|
|
26
|
+
allowedDestinations?: string[] | undefined;
|
|
23
27
|
}, {
|
|
24
28
|
vaultId: string;
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
dailySpendingCapUsd: string;
|
|
30
|
+
maxTransactionSizeUsd: string;
|
|
27
31
|
allowedTokens: string[];
|
|
28
32
|
allowedProtocols: string[];
|
|
29
33
|
maxLeverageBps: number;
|
|
30
34
|
maxConcurrentPositions: number;
|
|
31
35
|
feeDestination: string;
|
|
32
36
|
developerFeeRate?: number | undefined;
|
|
37
|
+
allowedDestinations?: string[] | undefined;
|
|
38
|
+
timelockDuration?: number | undefined;
|
|
33
39
|
}>;
|
|
34
40
|
export type CreateVaultInput = z.infer<typeof createVaultSchema>;
|
|
35
41
|
export declare function createVault(client: AgentShieldClient, input: CreateVaultInput): Promise<string>;
|
|
@@ -38,34 +44,40 @@ export declare const createVaultTool: {
|
|
|
38
44
|
description: string;
|
|
39
45
|
schema: z.ZodObject<{
|
|
40
46
|
vaultId: z.ZodString;
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
dailySpendingCapUsd: z.ZodString;
|
|
48
|
+
maxTransactionSizeUsd: z.ZodString;
|
|
43
49
|
allowedTokens: z.ZodArray<z.ZodString, "many">;
|
|
44
50
|
allowedProtocols: z.ZodArray<z.ZodString, "many">;
|
|
45
51
|
maxLeverageBps: z.ZodNumber;
|
|
46
52
|
maxConcurrentPositions: z.ZodNumber;
|
|
47
53
|
feeDestination: z.ZodString;
|
|
48
54
|
developerFeeRate: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
55
|
+
allowedDestinations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
56
|
+
timelockDuration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
49
57
|
}, "strip", z.ZodTypeAny, {
|
|
50
58
|
vaultId: string;
|
|
51
|
-
|
|
52
|
-
|
|
59
|
+
dailySpendingCapUsd: string;
|
|
60
|
+
maxTransactionSizeUsd: string;
|
|
53
61
|
allowedTokens: string[];
|
|
54
62
|
allowedProtocols: string[];
|
|
55
63
|
maxLeverageBps: number;
|
|
56
64
|
maxConcurrentPositions: number;
|
|
57
65
|
feeDestination: string;
|
|
58
66
|
developerFeeRate: number;
|
|
67
|
+
timelockDuration: number;
|
|
68
|
+
allowedDestinations?: string[] | undefined;
|
|
59
69
|
}, {
|
|
60
70
|
vaultId: string;
|
|
61
|
-
|
|
62
|
-
|
|
71
|
+
dailySpendingCapUsd: string;
|
|
72
|
+
maxTransactionSizeUsd: string;
|
|
63
73
|
allowedTokens: string[];
|
|
64
74
|
allowedProtocols: string[];
|
|
65
75
|
maxLeverageBps: number;
|
|
66
76
|
maxConcurrentPositions: number;
|
|
67
77
|
feeDestination: string;
|
|
68
78
|
developerFeeRate?: number | undefined;
|
|
79
|
+
allowedDestinations?: string[] | undefined;
|
|
80
|
+
timelockDuration?: number | undefined;
|
|
69
81
|
}>;
|
|
70
82
|
handler: typeof createVault;
|
|
71
83
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-vault.d.ts","sourceRoot":"","sources":["../../src/tools/create-vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"create-vault.d.ts","sourceRoot":"","sources":["../../src/tools/create-vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2C5B,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,CA2CjB;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO3B,CAAC"}
|
|
@@ -3,16 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createVaultTool = exports.createVaultSchema = void 0;
|
|
4
4
|
exports.createVault = createVault;
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
|
+
const anchor_1 = require("@coral-xyz/anchor");
|
|
7
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
6
8
|
const utils_1 = require("../utils");
|
|
7
9
|
const errors_1 = require("../errors");
|
|
8
10
|
exports.createVaultSchema = zod_1.z.object({
|
|
9
11
|
vaultId: zod_1.z.string().describe("Unique vault ID number"),
|
|
10
|
-
|
|
12
|
+
dailySpendingCapUsd: zod_1.z
|
|
11
13
|
.string()
|
|
12
|
-
.describe("Maximum daily spending in
|
|
13
|
-
|
|
14
|
+
.describe("Maximum daily spending in USD base units"),
|
|
15
|
+
maxTransactionSizeUsd: zod_1.z
|
|
14
16
|
.string()
|
|
15
|
-
.describe("Maximum single transaction size in
|
|
17
|
+
.describe("Maximum single transaction size in USD base units"),
|
|
16
18
|
allowedTokens: zod_1.z
|
|
17
19
|
.array(zod_1.z.string())
|
|
18
20
|
.describe("Array of allowed token mint addresses (base58). Max 10."),
|
|
@@ -33,19 +35,40 @@ exports.createVaultSchema = zod_1.z.object({
|
|
|
33
35
|
.optional()
|
|
34
36
|
.default(0)
|
|
35
37
|
.describe("Developer fee rate (max 50 = 0.5 BPS)"),
|
|
38
|
+
allowedDestinations: zod_1.z
|
|
39
|
+
.array(zod_1.z.string())
|
|
40
|
+
.optional()
|
|
41
|
+
.describe("Allowed destination addresses for agent transfers (base58). Max 10."),
|
|
42
|
+
timelockDuration: zod_1.z
|
|
43
|
+
.number()
|
|
44
|
+
.optional()
|
|
45
|
+
.default(0)
|
|
46
|
+
.describe("Timelock duration in seconds. When > 0, policy updates require queue → wait → apply."),
|
|
36
47
|
});
|
|
37
48
|
async function createVault(client, input) {
|
|
38
49
|
try {
|
|
39
50
|
const params = {
|
|
40
51
|
vaultId: (0, utils_1.toBN)(input.vaultId),
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
allowedTokens: input.allowedTokens.map(
|
|
52
|
+
dailySpendingCapUsd: (0, utils_1.toBN)(input.dailySpendingCapUsd),
|
|
53
|
+
maxTransactionSizeUsd: (0, utils_1.toBN)(input.maxTransactionSizeUsd),
|
|
54
|
+
allowedTokens: input.allowedTokens.map((addr) => ({
|
|
55
|
+
mint: (0, utils_1.toPublicKey)(addr),
|
|
56
|
+
oracleFeed: web3_js_1.PublicKey.default,
|
|
57
|
+
decimals: 6,
|
|
58
|
+
dailyCapBase: new anchor_1.BN(0),
|
|
59
|
+
maxTxBase: new anchor_1.BN(0),
|
|
60
|
+
})),
|
|
44
61
|
allowedProtocols: input.allowedProtocols.map(utils_1.toPublicKey),
|
|
45
62
|
maxLeverageBps: input.maxLeverageBps,
|
|
46
63
|
maxConcurrentPositions: input.maxConcurrentPositions,
|
|
47
64
|
feeDestination: (0, utils_1.toPublicKey)(input.feeDestination),
|
|
48
65
|
developerFeeRate: input.developerFeeRate,
|
|
66
|
+
timelockDuration: input.timelockDuration
|
|
67
|
+
? new anchor_1.BN(input.timelockDuration)
|
|
68
|
+
: new anchor_1.BN(0),
|
|
69
|
+
allowedDestinations: input.allowedDestinations
|
|
70
|
+
? input.allowedDestinations.map(utils_1.toPublicKey)
|
|
71
|
+
: [],
|
|
49
72
|
};
|
|
50
73
|
const sig = await client.createVault(params);
|
|
51
74
|
const owner = client.provider.wallet.publicKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-vault.js","sourceRoot":"","sources":["../../src/tools/create-vault.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"create-vault.js","sourceRoot":"","sources":["../../src/tools/create-vault.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -10,4 +10,10 @@ export { reactivateVaultTool, reactivateVault, reactivateVaultSchema, } from "./
|
|
|
10
10
|
export { executeSwapTool, executeSwap, executeSwapSchema, } from "./execute-swap";
|
|
11
11
|
export { openPositionTool, openPosition, openPositionSchema, } from "./open-position";
|
|
12
12
|
export { closePositionTool, closePosition, closePositionSchema, } from "./close-position";
|
|
13
|
+
export { provisionTool, provision, provisionSchema } from "./provision";
|
|
14
|
+
export { queuePolicyUpdateTool, queuePolicyUpdate, queuePolicyUpdateSchema, } from "./queue-policy-update";
|
|
15
|
+
export { applyPendingPolicyTool, applyPendingPolicy, applyPendingPolicySchema, } from "./apply-pending-policy";
|
|
16
|
+
export { cancelPendingPolicyTool, cancelPendingPolicy, cancelPendingPolicySchema, } from "./cancel-pending-policy";
|
|
17
|
+
export { checkPendingPolicyTool, checkPendingPolicy, checkPendingPolicySchema, } from "./check-pending-policy";
|
|
18
|
+
export { agentTransferTool, agentTransfer, agentTransferSchema, } from "./agent-transfer";
|
|
13
19
|
//# 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"}
|
|
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"}
|
package/dist/tools/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
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;
|
|
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
5
|
var check_vault_1 = require("./check-vault");
|
|
5
6
|
Object.defineProperty(exports, "checkVaultTool", { enumerable: true, get: function () { return check_vault_1.checkVaultTool; } });
|
|
6
7
|
Object.defineProperty(exports, "checkVault", { enumerable: true, get: function () { return check_vault_1.checkVault; } });
|
|
@@ -49,4 +50,28 @@ var close_position_1 = require("./close-position");
|
|
|
49
50
|
Object.defineProperty(exports, "closePositionTool", { enumerable: true, get: function () { return close_position_1.closePositionTool; } });
|
|
50
51
|
Object.defineProperty(exports, "closePosition", { enumerable: true, get: function () { return close_position_1.closePosition; } });
|
|
51
52
|
Object.defineProperty(exports, "closePositionSchema", { enumerable: true, get: function () { return close_position_1.closePositionSchema; } });
|
|
53
|
+
var provision_1 = require("./provision");
|
|
54
|
+
Object.defineProperty(exports, "provisionTool", { enumerable: true, get: function () { return provision_1.provisionTool; } });
|
|
55
|
+
Object.defineProperty(exports, "provision", { enumerable: true, get: function () { return provision_1.provision; } });
|
|
56
|
+
Object.defineProperty(exports, "provisionSchema", { enumerable: true, get: function () { return provision_1.provisionSchema; } });
|
|
57
|
+
var queue_policy_update_1 = require("./queue-policy-update");
|
|
58
|
+
Object.defineProperty(exports, "queuePolicyUpdateTool", { enumerable: true, get: function () { return queue_policy_update_1.queuePolicyUpdateTool; } });
|
|
59
|
+
Object.defineProperty(exports, "queuePolicyUpdate", { enumerable: true, get: function () { return queue_policy_update_1.queuePolicyUpdate; } });
|
|
60
|
+
Object.defineProperty(exports, "queuePolicyUpdateSchema", { enumerable: true, get: function () { return queue_policy_update_1.queuePolicyUpdateSchema; } });
|
|
61
|
+
var apply_pending_policy_1 = require("./apply-pending-policy");
|
|
62
|
+
Object.defineProperty(exports, "applyPendingPolicyTool", { enumerable: true, get: function () { return apply_pending_policy_1.applyPendingPolicyTool; } });
|
|
63
|
+
Object.defineProperty(exports, "applyPendingPolicy", { enumerable: true, get: function () { return apply_pending_policy_1.applyPendingPolicy; } });
|
|
64
|
+
Object.defineProperty(exports, "applyPendingPolicySchema", { enumerable: true, get: function () { return apply_pending_policy_1.applyPendingPolicySchema; } });
|
|
65
|
+
var cancel_pending_policy_1 = require("./cancel-pending-policy");
|
|
66
|
+
Object.defineProperty(exports, "cancelPendingPolicyTool", { enumerable: true, get: function () { return cancel_pending_policy_1.cancelPendingPolicyTool; } });
|
|
67
|
+
Object.defineProperty(exports, "cancelPendingPolicy", { enumerable: true, get: function () { return cancel_pending_policy_1.cancelPendingPolicy; } });
|
|
68
|
+
Object.defineProperty(exports, "cancelPendingPolicySchema", { enumerable: true, get: function () { return cancel_pending_policy_1.cancelPendingPolicySchema; } });
|
|
69
|
+
var check_pending_policy_1 = require("./check-pending-policy");
|
|
70
|
+
Object.defineProperty(exports, "checkPendingPolicyTool", { enumerable: true, get: function () { return check_pending_policy_1.checkPendingPolicyTool; } });
|
|
71
|
+
Object.defineProperty(exports, "checkPendingPolicy", { enumerable: true, get: function () { return check_pending_policy_1.checkPendingPolicy; } });
|
|
72
|
+
Object.defineProperty(exports, "checkPendingPolicySchema", { enumerable: true, get: function () { return check_pending_policy_1.checkPendingPolicySchema; } });
|
|
73
|
+
var agent_transfer_1 = require("./agent-transfer");
|
|
74
|
+
Object.defineProperty(exports, "agentTransferTool", { enumerable: true, get: function () { return agent_transfer_1.agentTransferTool; } });
|
|
75
|
+
Object.defineProperty(exports, "agentTransfer", { enumerable: true, get: function () { return agent_transfer_1.agentTransfer; } });
|
|
76
|
+
Object.defineProperty(exports, "agentTransferSchema", { enumerable: true, get: function () { return agent_transfer_1.agentTransferSchema; } });
|
|
52
77
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"
|
|
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 +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;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;EAY7B,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,CAoCjB;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ5B,CAAC"}
|
|
@@ -9,16 +9,12 @@ const config_1 = require("../config");
|
|
|
9
9
|
exports.openPositionSchema = zod_1.z.object({
|
|
10
10
|
vault: zod_1.z.string().describe("Vault PDA address (base58)"),
|
|
11
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)"),
|
|
12
|
+
collateralMint: zod_1.z.string().describe("Collateral token mint address (base58)"),
|
|
15
13
|
collateralAmount: zod_1.z
|
|
16
14
|
.string()
|
|
17
15
|
.describe("Collateral amount in token base units"),
|
|
18
16
|
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'"),
|
|
17
|
+
side: zod_1.z.enum(["long", "short"]).describe("Position side: 'long' or 'short'"),
|
|
22
18
|
leverageBps: zod_1.z
|
|
23
19
|
.number()
|
|
24
20
|
.describe("Leverage in basis points (e.g. 20000 = 2x)"),
|
|
@@ -43,7 +39,9 @@ async function openPosition(client, config, input) {
|
|
|
43
39
|
priceWithSlippage: { price: (0, utils_1.toBN)("0"), exponent: 0 },
|
|
44
40
|
leverageBps: input.leverageBps,
|
|
45
41
|
});
|
|
46
|
-
const sig = await client.executeFlashTrade(result, agentKeypair.publicKey, [
|
|
42
|
+
const sig = await client.executeFlashTrade(result, agentKeypair.publicKey, [
|
|
43
|
+
agentKeypair,
|
|
44
|
+
]);
|
|
47
45
|
return [
|
|
48
46
|
"## Position Opened",
|
|
49
47
|
`- **Vault:** ${input.vault}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-position.js","sourceRoot":"","sources":["../../src/tools/open-position.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"open-position.js","sourceRoot":"","sources":["../../src/tools/open-position.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const provisionSchema: z.ZodObject<{
|
|
3
|
+
platformUrl: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
4
|
+
template: z.ZodDefault<z.ZodOptional<z.ZodEnum<["conservative", "moderate", "aggressive"]>>>;
|
|
5
|
+
dailyCap: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
agentPubkey: z.ZodOptional<z.ZodString>;
|
|
7
|
+
allowedProtocols: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
8
|
+
maxLeverageBps: z.ZodOptional<z.ZodNumber>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
platformUrl: string;
|
|
11
|
+
template: "conservative" | "moderate" | "aggressive";
|
|
12
|
+
allowedProtocols?: string[] | undefined;
|
|
13
|
+
maxLeverageBps?: number | undefined;
|
|
14
|
+
dailyCap?: number | undefined;
|
|
15
|
+
agentPubkey?: string | undefined;
|
|
16
|
+
}, {
|
|
17
|
+
allowedProtocols?: string[] | undefined;
|
|
18
|
+
maxLeverageBps?: number | undefined;
|
|
19
|
+
platformUrl?: string | undefined;
|
|
20
|
+
template?: "conservative" | "moderate" | "aggressive" | undefined;
|
|
21
|
+
dailyCap?: number | undefined;
|
|
22
|
+
agentPubkey?: string | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
export type ProvisionInput = z.infer<typeof provisionSchema>;
|
|
25
|
+
/**
|
|
26
|
+
* Generate a Solana Action URL for vault provisioning.
|
|
27
|
+
*
|
|
28
|
+
* This tool does NOT create the vault itself — it generates a URL
|
|
29
|
+
* that the user clicks to approve vault creation in their wallet.
|
|
30
|
+
* The platform handles TEE wallet creation server-side.
|
|
31
|
+
*/
|
|
32
|
+
export declare function provision(_client: any, input: ProvisionInput): Promise<string>;
|
|
33
|
+
export declare const provisionTool: {
|
|
34
|
+
name: string;
|
|
35
|
+
description: string;
|
|
36
|
+
schema: z.ZodObject<{
|
|
37
|
+
platformUrl: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
38
|
+
template: z.ZodDefault<z.ZodOptional<z.ZodEnum<["conservative", "moderate", "aggressive"]>>>;
|
|
39
|
+
dailyCap: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
agentPubkey: z.ZodOptional<z.ZodString>;
|
|
41
|
+
allowedProtocols: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
42
|
+
maxLeverageBps: z.ZodOptional<z.ZodNumber>;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
platformUrl: string;
|
|
45
|
+
template: "conservative" | "moderate" | "aggressive";
|
|
46
|
+
allowedProtocols?: string[] | undefined;
|
|
47
|
+
maxLeverageBps?: number | undefined;
|
|
48
|
+
dailyCap?: number | undefined;
|
|
49
|
+
agentPubkey?: string | undefined;
|
|
50
|
+
}, {
|
|
51
|
+
allowedProtocols?: string[] | undefined;
|
|
52
|
+
maxLeverageBps?: number | undefined;
|
|
53
|
+
platformUrl?: string | undefined;
|
|
54
|
+
template?: "conservative" | "moderate" | "aggressive" | undefined;
|
|
55
|
+
dailyCap?: number | undefined;
|
|
56
|
+
agentPubkey?: string | undefined;
|
|
57
|
+
}>;
|
|
58
|
+
handler: typeof provision;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=provision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../src/tools/provision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;EAoC1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;CAQzB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.provisionTool = exports.provisionSchema = void 0;
|
|
4
|
+
exports.provision = provision;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
exports.provisionSchema = zod_1.z.object({
|
|
7
|
+
platformUrl: zod_1.z
|
|
8
|
+
.string()
|
|
9
|
+
.optional()
|
|
10
|
+
.default("https://agent-middleware.vercel.app")
|
|
11
|
+
.describe("AgentShield Actions server URL (default: https://agent-middleware.vercel.app)"),
|
|
12
|
+
template: zod_1.z
|
|
13
|
+
.enum(["conservative", "moderate", "aggressive"])
|
|
14
|
+
.optional()
|
|
15
|
+
.default("conservative")
|
|
16
|
+
.describe("Policy template: conservative (500 USDC/day), moderate (2000), aggressive (10000)"),
|
|
17
|
+
dailyCap: zod_1.z
|
|
18
|
+
.number()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe("Custom daily spending cap in USDC (overrides template default)"),
|
|
21
|
+
agentPubkey: zod_1.z
|
|
22
|
+
.string()
|
|
23
|
+
.optional()
|
|
24
|
+
.describe("Agent public key (base58) to register in the vault. " +
|
|
25
|
+
"If not provided, uses the MCP server's agent keypair."),
|
|
26
|
+
allowedProtocols: zod_1.z
|
|
27
|
+
.array(zod_1.z.string())
|
|
28
|
+
.optional()
|
|
29
|
+
.describe("Custom allowed protocol program IDs (base58). Overrides template."),
|
|
30
|
+
maxLeverageBps: zod_1.z
|
|
31
|
+
.number()
|
|
32
|
+
.optional()
|
|
33
|
+
.describe("Custom max leverage in basis points. Overrides template."),
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Generate a Solana Action URL for vault provisioning.
|
|
37
|
+
*
|
|
38
|
+
* This tool does NOT create the vault itself — it generates a URL
|
|
39
|
+
* that the user clicks to approve vault creation in their wallet.
|
|
40
|
+
* The platform handles TEE wallet creation server-side.
|
|
41
|
+
*/
|
|
42
|
+
async function provision(_client, input) {
|
|
43
|
+
const baseUrl = input.platformUrl.replace(/\/$/, "");
|
|
44
|
+
const params = new URLSearchParams();
|
|
45
|
+
params.set("template", input.template);
|
|
46
|
+
if (input.dailyCap) {
|
|
47
|
+
params.set("dailyCap", input.dailyCap.toString());
|
|
48
|
+
}
|
|
49
|
+
if (input.agentPubkey) {
|
|
50
|
+
params.set("agentPubkey", input.agentPubkey);
|
|
51
|
+
}
|
|
52
|
+
const actionUrl = `${baseUrl}/api/actions/provision?${params.toString()}`;
|
|
53
|
+
const blinkUrl = `https://dial.to/?action=solana-action:${encodeURIComponent(actionUrl)}`;
|
|
54
|
+
const dailyCap = input.dailyCap ||
|
|
55
|
+
{
|
|
56
|
+
conservative: 500,
|
|
57
|
+
moderate: 2000,
|
|
58
|
+
aggressive: 10000,
|
|
59
|
+
}[input.template];
|
|
60
|
+
return [
|
|
61
|
+
"## Vault Provisioning Request",
|
|
62
|
+
"",
|
|
63
|
+
"I need a protected wallet to trade. Please approve the vault creation by clicking the link below.",
|
|
64
|
+
"",
|
|
65
|
+
`**Policy:** ${input.template} (${dailyCap} USDC/day cap)`,
|
|
66
|
+
"",
|
|
67
|
+
"### How to approve:",
|
|
68
|
+
`1. **Blink URL** (paste in any blink-compatible app): ${blinkUrl}`,
|
|
69
|
+
`2. **Action URL** (for Solana Actions-compatible wallets): ${actionUrl}`,
|
|
70
|
+
"",
|
|
71
|
+
"The transaction atomically creates an on-chain vault and registers the agent.",
|
|
72
|
+
"You sign ONE transaction — if anything fails, everything reverts.",
|
|
73
|
+
"",
|
|
74
|
+
"After you sign, I'll be able to trade within your policy limits.",
|
|
75
|
+
].join("\n");
|
|
76
|
+
}
|
|
77
|
+
exports.provisionTool = {
|
|
78
|
+
name: "shield_provision",
|
|
79
|
+
description: "Generate a Solana Action URL for one-click vault provisioning. " +
|
|
80
|
+
"Creates an Action URL that the user clicks to approve vault creation with a TEE-backed agent wallet. " +
|
|
81
|
+
"The user signs one transaction that atomically creates the vault, sets policies, and registers the agent.",
|
|
82
|
+
schema: exports.provisionSchema,
|
|
83
|
+
handler: provision,
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=provision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../../src/tools/provision.ts"],"names":[],"mappings":";;;AAiDA,8BA0CC;AA3FD,6BAAwB;AAEX,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,qCAAqC,CAAC;SAC9C,QAAQ,CACP,+EAA+E,CAChF;IACH,QAAQ,EAAE,OAAC;SACR,IAAI,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;SAChD,QAAQ,EAAE;SACV,OAAO,CAAC,cAAc,CAAC;SACvB,QAAQ,CACP,mFAAmF,CACpF;IACH,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,gEAAgE,CAAC;IAC7E,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sDAAsD;QACpD,uDAAuD,CAC1D;IACH,gBAAgB,EAAE,OAAC;SAChB,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,mEAAmE,CACpE;IACH,cAAc,EAAE,OAAC;SACd,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;CACxE,CAAC,CAAC;AAIH;;;;;;GAMG;AACI,KAAK,UAAU,SAAS,CAC7B,OAAY,EACZ,KAAqB;IAErB,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,OAAO,0BAA0B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC1E,MAAM,QAAQ,GAAG,yCAAyC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;IAE1F,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ;QACd;YACE,YAAY,EAAE,GAAG;YACjB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,KAAK;SAClB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEpB,OAAO;QACL,+BAA+B;QAC/B,EAAE;QACF,mGAAmG;QACnG,EAAE;QACF,eAAe,KAAK,CAAC,QAAQ,KAAK,QAAQ,gBAAgB;QAC1D,EAAE;QACF,qBAAqB;QACrB,yDAAyD,QAAQ,EAAE;QACnE,8DAA8D,SAAS,EAAE;QACzE,EAAE;QACF,+EAA+E;QAC/E,mEAAmE;QACnE,EAAE;QACF,kEAAkE;KACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAEY,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,iEAAiE;QACjE,uGAAuG;QACvG,2GAA2G;IAC7G,MAAM,EAAE,uBAAe;IACvB,OAAO,EAAE,SAAS;CACnB,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AgentShieldClient } from "@agent-shield/sdk";
|
|
3
|
+
export declare const queuePolicyUpdateSchema: z.ZodObject<{
|
|
4
|
+
vault: z.ZodString;
|
|
5
|
+
dailySpendingCapUsd: z.ZodOptional<z.ZodString>;
|
|
6
|
+
maxTransactionSizeUsd: z.ZodOptional<z.ZodString>;
|
|
7
|
+
allowedTokens: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
8
|
+
allowedProtocols: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
9
|
+
allowedDestinations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
|
+
maxLeverageBps: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
canOpenPositions: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
+
maxConcurrentPositions: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
timelockDuration: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
developerFeeRate: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
}, "strip", z.ZodTypeAny, {
|
|
16
|
+
vault: string;
|
|
17
|
+
dailySpendingCapUsd?: string | undefined;
|
|
18
|
+
maxTransactionSizeUsd?: string | undefined;
|
|
19
|
+
allowedTokens?: string[] | undefined;
|
|
20
|
+
allowedProtocols?: string[] | undefined;
|
|
21
|
+
maxLeverageBps?: number | undefined;
|
|
22
|
+
maxConcurrentPositions?: number | undefined;
|
|
23
|
+
developerFeeRate?: number | undefined;
|
|
24
|
+
allowedDestinations?: string[] | undefined;
|
|
25
|
+
timelockDuration?: number | undefined;
|
|
26
|
+
canOpenPositions?: boolean | undefined;
|
|
27
|
+
}, {
|
|
28
|
+
vault: string;
|
|
29
|
+
dailySpendingCapUsd?: string | undefined;
|
|
30
|
+
maxTransactionSizeUsd?: string | undefined;
|
|
31
|
+
allowedTokens?: string[] | undefined;
|
|
32
|
+
allowedProtocols?: string[] | undefined;
|
|
33
|
+
maxLeverageBps?: number | undefined;
|
|
34
|
+
maxConcurrentPositions?: number | undefined;
|
|
35
|
+
developerFeeRate?: number | undefined;
|
|
36
|
+
allowedDestinations?: string[] | undefined;
|
|
37
|
+
timelockDuration?: number | undefined;
|
|
38
|
+
canOpenPositions?: boolean | undefined;
|
|
39
|
+
}>;
|
|
40
|
+
export type QueuePolicyUpdateInput = z.infer<typeof queuePolicyUpdateSchema>;
|
|
41
|
+
export declare function queuePolicyUpdate(client: AgentShieldClient, input: QueuePolicyUpdateInput): Promise<string>;
|
|
42
|
+
export declare const queuePolicyUpdateTool: {
|
|
43
|
+
name: string;
|
|
44
|
+
description: string;
|
|
45
|
+
schema: z.ZodObject<{
|
|
46
|
+
vault: z.ZodString;
|
|
47
|
+
dailySpendingCapUsd: z.ZodOptional<z.ZodString>;
|
|
48
|
+
maxTransactionSizeUsd: z.ZodOptional<z.ZodString>;
|
|
49
|
+
allowedTokens: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
50
|
+
allowedProtocols: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
51
|
+
allowedDestinations: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
52
|
+
maxLeverageBps: z.ZodOptional<z.ZodNumber>;
|
|
53
|
+
canOpenPositions: z.ZodOptional<z.ZodBoolean>;
|
|
54
|
+
maxConcurrentPositions: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
timelockDuration: z.ZodOptional<z.ZodNumber>;
|
|
56
|
+
developerFeeRate: z.ZodOptional<z.ZodNumber>;
|
|
57
|
+
}, "strip", z.ZodTypeAny, {
|
|
58
|
+
vault: string;
|
|
59
|
+
dailySpendingCapUsd?: string | undefined;
|
|
60
|
+
maxTransactionSizeUsd?: string | undefined;
|
|
61
|
+
allowedTokens?: string[] | undefined;
|
|
62
|
+
allowedProtocols?: string[] | undefined;
|
|
63
|
+
maxLeverageBps?: number | undefined;
|
|
64
|
+
maxConcurrentPositions?: number | undefined;
|
|
65
|
+
developerFeeRate?: number | undefined;
|
|
66
|
+
allowedDestinations?: string[] | undefined;
|
|
67
|
+
timelockDuration?: number | undefined;
|
|
68
|
+
canOpenPositions?: boolean | undefined;
|
|
69
|
+
}, {
|
|
70
|
+
vault: string;
|
|
71
|
+
dailySpendingCapUsd?: string | undefined;
|
|
72
|
+
maxTransactionSizeUsd?: string | undefined;
|
|
73
|
+
allowedTokens?: string[] | undefined;
|
|
74
|
+
allowedProtocols?: string[] | undefined;
|
|
75
|
+
maxLeverageBps?: number | undefined;
|
|
76
|
+
maxConcurrentPositions?: number | undefined;
|
|
77
|
+
developerFeeRate?: number | undefined;
|
|
78
|
+
allowedDestinations?: string[] | undefined;
|
|
79
|
+
timelockDuration?: number | undefined;
|
|
80
|
+
canOpenPositions?: boolean | undefined;
|
|
81
|
+
}>;
|
|
82
|
+
handler: typeof queuePolicyUpdate;
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=queue-policy-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-policy-update.d.ts","sourceRoot":"","sources":["../../src/tools/queue-policy-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,mBAAmB,CAAC;AAI3B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0ClC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE7E,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,MAAM,CAAC,CA6DjB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQjC,CAAC"}
|