@agenttrust-sdk/mcp 0.3.2 → 0.3.4
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/dist/chain.js +25 -0
- package/dist/chain.js.map +1 -1
- package/dist/config.d.ts +20 -1
- package/dist/config.js +49 -13
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +87 -5
- package/dist/errors.js.map +1 -1
- package/dist/idl/trustgate.json +8 -0
- package/dist/index.js +0 -0
- package/dist/server.d.ts +27 -0
- package/dist/server.js +75 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/write/request-validation.js +5 -1
- package/dist/tools/write/request-validation.js.map +1 -1
- package/dist/tools/write/respond-to-validation.js +5 -1
- package/dist/tools/write/respond-to-validation.js.map +1 -1
- package/package.json +15 -16
- package/scripts/install-claude-desktop.sh +0 -0
package/dist/chain.js
CHANGED
|
@@ -78,6 +78,7 @@ Object.defineProperty(exports, "buildRegisterNamespaceIx", { enumerable: true, g
|
|
|
78
78
|
Object.defineProperty(exports, "buildRequestValidationIx", { enumerable: true, get: function () { return trustgate_1.buildRequestValidationIx; } });
|
|
79
79
|
Object.defineProperty(exports, "buildRespondToValidationIx", { enumerable: true, get: function () { return trustgate_1.buildRespondToValidationIx; } });
|
|
80
80
|
Object.defineProperty(exports, "buildRevokeValidationIx", { enumerable: true, get: function () { return trustgate_1.buildRevokeValidationIx; } });
|
|
81
|
+
const config_1 = require("./config");
|
|
81
82
|
// ---------------------------------------------------------------------------
|
|
82
83
|
// Provider construction
|
|
83
84
|
// ---------------------------------------------------------------------------
|
|
@@ -117,18 +118,21 @@ class ChainClient {
|
|
|
117
118
|
return this.cfg.signer;
|
|
118
119
|
}
|
|
119
120
|
async policyVault() {
|
|
121
|
+
guardATProgramId("policy_vault", "POLICY_VAULT_PROGRAM_ID", this.cfg.programs.policyVault);
|
|
120
122
|
if (!this._policyVault) {
|
|
121
123
|
this._policyVault = await (0, trustgate_1.loadPolicyVault)(this.provider, this.cfg.programs.policyVault, BUNDLED_IDLS.policyVault);
|
|
122
124
|
}
|
|
123
125
|
return this._policyVault;
|
|
124
126
|
}
|
|
125
127
|
async trustgate() {
|
|
128
|
+
guardATProgramId("trustgate", "TRUSTGATE_PROGRAM_ID", this.cfg.programs.trustGate);
|
|
126
129
|
if (!this._trustgate) {
|
|
127
130
|
this._trustgate = await (0, trustgate_1.loadTrustGate)(this.provider, this.cfg.programs.trustGate, BUNDLED_IDLS.trustgate);
|
|
128
131
|
}
|
|
129
132
|
return this._trustgate;
|
|
130
133
|
}
|
|
131
134
|
async validationRegistry() {
|
|
135
|
+
guardATProgramId("validation_registry", "VALIDATION_REGISTRY_PROGRAM_ID", this.cfg.programs.validationRegistry);
|
|
132
136
|
if (!this._validationRegistry) {
|
|
133
137
|
this._validationRegistry = await (0, trustgate_1.loadValidationRegistry)(this.provider, this.cfg.programs.validationRegistry, BUNDLED_IDLS.validationRegistry);
|
|
134
138
|
}
|
|
@@ -136,6 +140,27 @@ class ChainClient {
|
|
|
136
140
|
}
|
|
137
141
|
}
|
|
138
142
|
exports.ChainClient = ChainClient;
|
|
143
|
+
/**
|
|
144
|
+
* If `pubkey` is the mainnet-undeployed sentinel (System Program), throw
|
|
145
|
+
* a structured `config_error` so the MCP `tools/call` envelope surfaces
|
|
146
|
+
* a clean remediation instead of an opaque "account does not exist"
|
|
147
|
+
* Anchor failure that the classifier might miscategorise.
|
|
148
|
+
*
|
|
149
|
+
* The thrown `Error` carries `name = "ConfigError"` so
|
|
150
|
+
* `errors.ts:classifyError` can route it to `errorCode: "config_error"`
|
|
151
|
+
* without ad-hoc string matching.
|
|
152
|
+
*/
|
|
153
|
+
function guardATProgramId(programLabel, envVar, pubkey) {
|
|
154
|
+
if (!(0, config_1.isMainnetUndeployedSentinel)(pubkey))
|
|
155
|
+
return;
|
|
156
|
+
const err = new Error(`AgentTrust ${programLabel} program is not deployed on mainnet yet. ` +
|
|
157
|
+
`Set ${envVar} to an explicit base58 program ID, or use NETWORK=solana-devnet ` +
|
|
158
|
+
`where AgentTrust programs are already deployed. Quantu reads ` +
|
|
159
|
+
`(get_quantu_reputation, agent_account lookups) are unaffected and work on ` +
|
|
160
|
+
`mainnet without any AgentTrust program ID override.`);
|
|
161
|
+
err.name = "ConfigError";
|
|
162
|
+
throw err;
|
|
163
|
+
}
|
|
139
164
|
// ---------------------------------------------------------------------------
|
|
140
165
|
// Bundled IDLs — defensive fallback. All three IDLs ARE published on
|
|
141
166
|
// devnet (verified via `anchor idl fetch <programId> --provider.cluster
|
package/dist/chain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGH,oCAIC;AArGD,0DAA4C;
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* Defaults are biased toward the local-developer / Claude Desktop case:
|
|
14
14
|
* devnet RPC, devnet program IDs, no signer required.
|
|
15
15
|
*/
|
|
16
|
-
import { Keypair } from "@solana/web3.js";
|
|
16
|
+
import { Keypair, PublicKey } from "@solana/web3.js";
|
|
17
17
|
import { ProgramIds, QuantuProgramIds } from "@agenttrust-sdk/trustgate";
|
|
18
18
|
export type Network = "solana-devnet" | "solana-mainnet";
|
|
19
19
|
export interface AgentTrustConfig {
|
|
@@ -40,6 +40,25 @@ export interface AgentTrustConfig {
|
|
|
40
40
|
/** Optional default facilitator name to surface in tool replies. */
|
|
41
41
|
readonly defaultFacilitator?: string;
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Sentinel pubkey for AgentTrust programs on mainnet when the operator
|
|
45
|
+
* hasn't supplied explicit overrides via env. We use the System Program
|
|
46
|
+
* (`11111111111111111111111111111111`) because:
|
|
47
|
+
* - It's a valid PublicKey (passes `new PublicKey(...)`), so the rest
|
|
48
|
+
* of the config pipeline works unchanged.
|
|
49
|
+
* - It's never a real AgentTrust program ID, so chain.ts can detect
|
|
50
|
+
* the sentinel cheaply with `.equals(MAINNET_UNDEPLOYED_SENTINEL)`.
|
|
51
|
+
* - Booting against it would fail loudly the moment any AT-touching
|
|
52
|
+
* tool tries to `loadPolicyVault` / `loadTrustGate` etc., which is
|
|
53
|
+
* exactly the call-time error we want (`config_error` envelope).
|
|
54
|
+
*
|
|
55
|
+
* Quantu programs always have real IDs (see `MAINNET_QUANTU_IDS` in
|
|
56
|
+
* `@agenttrust-sdk/trustgate`) so `get_quantu_reputation` and the
|
|
57
|
+
* agent-account lookup path are unaffected.
|
|
58
|
+
*/
|
|
59
|
+
export declare const MAINNET_UNDEPLOYED_SENTINEL: PublicKey;
|
|
60
|
+
/** True iff `pubkey` is the mainnet-undeployed sentinel. */
|
|
61
|
+
export declare function isMainnetUndeployedSentinel(pubkey: PublicKey): boolean;
|
|
43
62
|
/**
|
|
44
63
|
* Decode a JSON-array secret-key file (Solana CLI's native format) into
|
|
45
64
|
* a Keypair. Exported for direct testing.
|
package/dist/config.js
CHANGED
|
@@ -51,6 +51,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
51
51
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
52
52
|
};
|
|
53
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.MAINNET_UNDEPLOYED_SENTINEL = void 0;
|
|
55
|
+
exports.isMainnetUndeployedSentinel = isMainnetUndeployedSentinel;
|
|
54
56
|
exports.readKeypairFile = readKeypairFile;
|
|
55
57
|
exports.loadConfig = loadConfig;
|
|
56
58
|
exports.explorerUrl = explorerUrl;
|
|
@@ -62,6 +64,27 @@ const bs58_1 = __importDefault(require("bs58"));
|
|
|
62
64
|
const trustgate_1 = require("@agenttrust-sdk/trustgate");
|
|
63
65
|
const DEVNET_RPC = "https://api.devnet.solana.com";
|
|
64
66
|
const MAINNET_RPC = "https://api.mainnet-beta.solana.com";
|
|
67
|
+
/**
|
|
68
|
+
* Sentinel pubkey for AgentTrust programs on mainnet when the operator
|
|
69
|
+
* hasn't supplied explicit overrides via env. We use the System Program
|
|
70
|
+
* (`11111111111111111111111111111111`) because:
|
|
71
|
+
* - It's a valid PublicKey (passes `new PublicKey(...)`), so the rest
|
|
72
|
+
* of the config pipeline works unchanged.
|
|
73
|
+
* - It's never a real AgentTrust program ID, so chain.ts can detect
|
|
74
|
+
* the sentinel cheaply with `.equals(MAINNET_UNDEPLOYED_SENTINEL)`.
|
|
75
|
+
* - Booting against it would fail loudly the moment any AT-touching
|
|
76
|
+
* tool tries to `loadPolicyVault` / `loadTrustGate` etc., which is
|
|
77
|
+
* exactly the call-time error we want (`config_error` envelope).
|
|
78
|
+
*
|
|
79
|
+
* Quantu programs always have real IDs (see `MAINNET_QUANTU_IDS` in
|
|
80
|
+
* `@agenttrust-sdk/trustgate`) so `get_quantu_reputation` and the
|
|
81
|
+
* agent-account lookup path are unaffected.
|
|
82
|
+
*/
|
|
83
|
+
exports.MAINNET_UNDEPLOYED_SENTINEL = new web3_js_1.PublicKey("11111111111111111111111111111111");
|
|
84
|
+
/** True iff `pubkey` is the mainnet-undeployed sentinel. */
|
|
85
|
+
function isMainnetUndeployedSentinel(pubkey) {
|
|
86
|
+
return pubkey.equals(exports.MAINNET_UNDEPLOYED_SENTINEL);
|
|
87
|
+
}
|
|
65
88
|
function readNetwork() {
|
|
66
89
|
const raw = (process.env.NETWORK ?? "solana-devnet").trim().toLowerCase();
|
|
67
90
|
if (raw === "solana-mainnet" || raw === "mainnet" || raw === "mainnet-beta") {
|
|
@@ -191,23 +214,36 @@ function loadConfig() {
|
|
|
191
214
|
}
|
|
192
215
|
const { transport, httpPort, httpHost } = readTransport();
|
|
193
216
|
// AgentTrust programs ship on devnet. Quantu ships on both devnet and
|
|
194
|
-
// mainnet. When mainnet is selected
|
|
195
|
-
//
|
|
196
|
-
//
|
|
197
|
-
//
|
|
217
|
+
// mainnet. When mainnet is selected without explicit AgentTrust program
|
|
218
|
+
// IDs we fall back to a sentinel pubkey (System Program 11..1) so the
|
|
219
|
+
// server still boots and Quantu-only reads keep working. AT-touching
|
|
220
|
+
// tools detect the sentinel at call time and throw a structured
|
|
221
|
+
// `config_error` envelope. See `chain.ts:requireProgramId` and the gate
|
|
222
|
+
// E2E report (Polish item 2 in
|
|
223
|
+
// submission/e2e-claude-code-2026-05-13/README.md).
|
|
198
224
|
const policyVaultEnv = process.env.POLICY_VAULT_PROGRAM_ID?.trim();
|
|
199
225
|
const trustGateEnv = process.env.TRUSTGATE_PROGRAM_ID?.trim();
|
|
200
226
|
const validationRegistryEnv = process.env.VALIDATION_REGISTRY_PROGRAM_ID?.trim();
|
|
201
227
|
if (network === "solana-mainnet" && !policyVaultEnv && !trustGateEnv && !validationRegistryEnv) {
|
|
202
|
-
|
|
203
|
-
"
|
|
204
|
-
"
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
228
|
+
process.stderr.write("[agenttrust] WARN mainnet selected but AgentTrust programs are not " +
|
|
229
|
+
"deployed to mainnet yet. Read tools that touch policy_vault / trustgate " +
|
|
230
|
+
"/ validation_registry will fail with errorCode: \"config_error\". Quantu " +
|
|
231
|
+
"reads (get_quantu_reputation, agent_account lookups) are unaffected. " +
|
|
232
|
+
"To override, set POLICY_VAULT_PROGRAM_ID / TRUSTGATE_PROGRAM_ID / " +
|
|
233
|
+
"VALIDATION_REGISTRY_PROGRAM_ID.\n");
|
|
234
|
+
}
|
|
235
|
+
const onMainnetWithoutOverrides = network === "solana-mainnet" && !policyVaultEnv && !trustGateEnv && !validationRegistryEnv;
|
|
236
|
+
const programs = onMainnetWithoutOverrides
|
|
237
|
+
? {
|
|
238
|
+
policyVault: exports.MAINNET_UNDEPLOYED_SENTINEL,
|
|
239
|
+
trustGate: exports.MAINNET_UNDEPLOYED_SENTINEL,
|
|
240
|
+
validationRegistry: exports.MAINNET_UNDEPLOYED_SENTINEL,
|
|
241
|
+
}
|
|
242
|
+
: {
|
|
243
|
+
policyVault: parsePubkeyEnv("POLICY_VAULT_PROGRAM_ID", trustgate_1.DEFAULT_DEVNET_PROGRAM_IDS.policyVault),
|
|
244
|
+
trustGate: parsePubkeyEnv("TRUSTGATE_PROGRAM_ID", trustgate_1.DEFAULT_DEVNET_PROGRAM_IDS.trustGate),
|
|
245
|
+
validationRegistry: parsePubkeyEnv("VALIDATION_REGISTRY_PROGRAM_ID", trustgate_1.VALIDATION_REGISTRY_DEVNET_ID),
|
|
246
|
+
};
|
|
211
247
|
const quantu = network === "solana-mainnet"
|
|
212
248
|
? trustgate_1.MAINNET_QUANTU_IDS
|
|
213
249
|
: trustgate_1.DEFAULT_DEVNET_QUANTU_IDS;
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEH,kEAEC;AAiBD,0CAuCC;AAwFD,gCAgEC;AAiBD,kCAQC;AA5SD,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAE7B,6CAAqD;AACrD,gDAAwB;AAExB,yDAOmC;AA6BnC,MAAM,UAAU,GAAI,+BAA+B,CAAC;AACpD,MAAM,WAAW,GAAG,qCAAqC,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AACU,QAAA,2BAA2B,GAAG,IAAI,mBAAS,CAAC,kCAAkC,CAAC,CAAC;AAE7F,4DAA4D;AAC5D,SAAgB,2BAA2B,CAAC,MAAiB;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,mCAA2B,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1E,IAAI,GAAG,KAAK,gBAAgB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QAC5E,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,QAAgB;IAC9C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,mBAAoB,GAAa,CAAC,OAAO,EAAE,CACvE,CAAC;IACJ,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAC3E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,sDAAsD,CAClF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAkB,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,sCAAsC,KAAK,CAAC,MAAM,QAAQ,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,iBAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mBAAmB,QAAQ,6CAA8C,GAAa,CAAC,OAAO,EAAE,CACjG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,UAAU;IACjB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,KAAiB,CAAC;QACtB,IAAI,CAAC;YACH,KAAK,GAAG,cAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,sDAAuD,GAAa,CAAC,OAAO,IAAI;gBAChF,6CAA6C,CAC9C,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,0BAA0B,KAAK,CAAC,MAAM,uCAAuC;gBAC7E,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,OAAO,iBAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,2DAA4D,GAAa,CAAC,OAAO,EAAE,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACtD,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,0BAA0B,YAAY,gCAAiC,GAAa,CAAC,OAAO,EAAE,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,iCAAiC,OAAO,gCAAiC,GAAa,CAAC,OAAO,EAAE,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5E,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,iBAAkB,GAAa,CAAC,OAAO,EAAE,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IACtE,6EAA6E;IAC7E,sEAAsE;IACtE,sDAAsD;IACtD,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/D,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK;QAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAChE,CAAC;AAED,SAAgB,UAAU;IACxB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1G,IAAI,CAAC;QACH,kCAAkC;QAClC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,+BAAgC,GAAa,CAAC,OAAO,UAAU,MAAM,EAAE,CACxE,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;IAE1D,sEAAsE;IACtE,wEAAwE;IACxE,sEAAsE;IACtE,qEAAqE;IACrE,gEAAgE;IAChE,wEAAwE;IACxE,+BAA+B;IAC/B,oDAAoD;IACpD,MAAM,cAAc,GAAU,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,CAAC;IAC1E,MAAM,YAAY,GAAY,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACvE,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,EAAE,CAAC;IACjF,IAAI,OAAO,KAAK,gBAAgB,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/F,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qEAAqE;YACrE,0EAA0E;YAC1E,2EAA2E;YAC3E,uEAAuE;YACvE,oEAAoE;YACpE,mCAAmC,CACpC,CAAC;IACJ,CAAC;IAED,MAAM,yBAAyB,GAC7B,OAAO,KAAK,gBAAgB,IAAI,CAAC,cAAc,IAAI,CAAC,YAAY,IAAI,CAAC,qBAAqB,CAAC;IAC7F,MAAM,QAAQ,GAAe,yBAAyB;QACpD,CAAC,CAAC;YACE,WAAW,EAAS,mCAA2B;YAC/C,SAAS,EAAW,mCAA2B;YAC/C,kBAAkB,EAAE,mCAA2B;SAChD;QACH,CAAC,CAAC;YACE,WAAW,EAAS,cAAc,CAAC,yBAAyB,EAAU,sCAA0B,CAAC,WAAW,CAAC;YAC7G,SAAS,EAAW,cAAc,CAAC,sBAAsB,EAAa,sCAA0B,CAAC,SAAS,CAAC;YAC3G,kBAAkB,EAAE,cAAc,CAAC,gCAAgC,EAAG,yCAA6B,CAAC;SACrG,CAAC;IACN,MAAM,MAAM,GAAqB,OAAO,KAAK,gBAAgB;QAC3D,CAAC,CAAC,8BAAkB;QACpB,CAAC,CAAC,qCAAyB,CAAC;IAE9B,OAAO;QACL,OAAO;QACP,MAAM;QACN,eAAe,EAAO,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QACzE,QAAQ;QACR,MAAM;QACN,MAAM,EAAgB,UAAU,EAAE;QAClC,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,kBAAkB,EAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,SAAS;KAC/E,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,QAAmB;IACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,mBAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,kCAAmC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CACzB,GAAqB,EACrB,IAAsB,EACtB,KAAa;IAEb,MAAM,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC;IAChE,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,OAAO,+BAA+B,IAAI,GAAG,MAAM,EAAE,CAAC;AACxD,CAAC"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
* pattern-matching in `server.ts`.
|
|
35
35
|
*/
|
|
36
36
|
/** Stable enum of error categories surfaced to MCP clients. */
|
|
37
|
-
export type ToolErrorCode = "auth_required" | "input_invalid" | "rpc_failure" | "chain_error" | "not_found" | "internal";
|
|
37
|
+
export type ToolErrorCode = "auth_required" | "config_error" | "input_invalid" | "rpc_failure" | "chain_error" | "not_found" | "internal";
|
|
38
38
|
export interface ToolError {
|
|
39
39
|
errorCode: ToolErrorCode;
|
|
40
40
|
message: string;
|
package/dist/errors.js
CHANGED
|
@@ -119,12 +119,74 @@ function isAnchorError(err, name, message) {
|
|
|
119
119
|
// AnchorError.toString() includes "AnchorError caused by account..."
|
|
120
120
|
if (message.startsWith("AnchorError"))
|
|
121
121
|
return true;
|
|
122
|
+
// AnchorError exposes structured `error.errorCode.code` even when the
|
|
123
|
+
// surface message doesn't look Anchor-y (e.g. when a tool catches and
|
|
124
|
+
// rethrows). Sniff the shape directly.
|
|
125
|
+
if (typeof err === "object" && err !== null) {
|
|
126
|
+
const e = err;
|
|
127
|
+
if (typeof e.error?.errorCode?.code === "string")
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
122
130
|
// SendTransactionError wraps AnchorError for .rpc() calls
|
|
123
131
|
if (/Error Code:\s*\w+\.\s*Error Number:\s*\d+/i.test(message))
|
|
124
132
|
return true;
|
|
125
133
|
// CPI-deep failures bubble up `custom program error: 0x...`
|
|
126
134
|
if (/custom program error:\s*0x[0-9a-f]+/i.test(message))
|
|
127
135
|
return true;
|
|
136
|
+
// Raw Solana `InstructionError` payload — surfaces when a simulation /
|
|
137
|
+
// send hits a program error before Anchor decodes it. Two shapes:
|
|
138
|
+
// - JSON string in message: 'simulation failed: {"InstructionError":[0,{"Custom":3012}]}'
|
|
139
|
+
// - Plain text: 'transaction simulation failed: ... InstructionError ... Custom: 3012'
|
|
140
|
+
if (/InstructionError/.test(message))
|
|
141
|
+
return true;
|
|
142
|
+
if (/"Custom":\s*\d+/.test(message))
|
|
143
|
+
return true;
|
|
144
|
+
if (/\bCustom:\s*\d+\b/.test(message))
|
|
145
|
+
return true;
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Extract a `Custom <n>` Anchor error number from an `InstructionError`
|
|
150
|
+
* payload. Used to build a richer hint in the `chain_error` envelope.
|
|
151
|
+
*
|
|
152
|
+
* Matches both JSON ({"Custom":3012}) and text (`Custom: 3012`) shapes.
|
|
153
|
+
* Returns undefined if no recognisable code is present.
|
|
154
|
+
*/
|
|
155
|
+
function extractCustomErrorCode(message) {
|
|
156
|
+
const jsonMatch = /"Custom":\s*(\d+)/.exec(message);
|
|
157
|
+
if (jsonMatch)
|
|
158
|
+
return Number.parseInt(jsonMatch[1], 10);
|
|
159
|
+
const textMatch = /\bCustom:\s*(\d+)\b/.exec(message);
|
|
160
|
+
if (textMatch)
|
|
161
|
+
return Number.parseInt(textMatch[1], 10);
|
|
162
|
+
return undefined;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Map known Anchor error numbers to a short human label so the
|
|
166
|
+
* `chain_error` hint reads "Custom 3012 (AccountNotInitialized)" rather
|
|
167
|
+
* than just "Custom 3012". Only the codes we see in practice — the
|
|
168
|
+
* Anchor docs list the full table; we name the ones the gate E2E hits.
|
|
169
|
+
*/
|
|
170
|
+
const ANCHOR_ERROR_CODES = {
|
|
171
|
+
3012: "AccountNotInitialized",
|
|
172
|
+
3007: "InstructionFallbackNotFound",
|
|
173
|
+
6000: "(program-defined; see the program's `error.rs`)",
|
|
174
|
+
};
|
|
175
|
+
function formatInstructionErrorHint(message) {
|
|
176
|
+
const code = extractCustomErrorCode(message);
|
|
177
|
+
if (code === undefined) {
|
|
178
|
+
return "On-chain program returned an InstructionError; inspect the cause for the failing instruction index and check the transaction logs on the explorer.";
|
|
179
|
+
}
|
|
180
|
+
const label = ANCHOR_ERROR_CODES[code];
|
|
181
|
+
const suffix = label ? ` (${label})` : "";
|
|
182
|
+
return `On-chain program returned Custom ${code}${suffix}. Inspect the transaction logs on the explorer; the failing constraint or seed mismatch is named in the program's error.rs.`;
|
|
183
|
+
}
|
|
184
|
+
function isConfigError(err, name) {
|
|
185
|
+
if (name === "ConfigError")
|
|
186
|
+
return true;
|
|
187
|
+
if (typeof err === "object" && err !== null && "name" in err) {
|
|
188
|
+
return err.name === "ConfigError";
|
|
189
|
+
}
|
|
128
190
|
return false;
|
|
129
191
|
}
|
|
130
192
|
function isRpcFailure(name, message) {
|
|
@@ -190,7 +252,19 @@ function classifyError(err, toolName) {
|
|
|
190
252
|
cause,
|
|
191
253
|
};
|
|
192
254
|
}
|
|
193
|
-
// 2.
|
|
255
|
+
// 2. Config errors — thrown from `chain.ts:guardATProgramId` when an
|
|
256
|
+
// AT-touching tool runs on mainnet without explicit program IDs.
|
|
257
|
+
// Caught before the Anchor branch so the "ConfigError" name is
|
|
258
|
+
// picked up before the message hits any Anchor heuristics.
|
|
259
|
+
if (isConfigError(err, name)) {
|
|
260
|
+
return {
|
|
261
|
+
errorCode: "config_error",
|
|
262
|
+
message: "MCP server is misconfigured for this tool.",
|
|
263
|
+
hint: message,
|
|
264
|
+
cause,
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
// 3. Zod schema validation — `instanceof ZodError` works because the
|
|
194
268
|
// server passes the parse error through directly (no wrapping).
|
|
195
269
|
if (err instanceof zod_1.ZodError) {
|
|
196
270
|
return {
|
|
@@ -200,14 +274,22 @@ function classifyError(err, toolName) {
|
|
|
200
274
|
cause: clamp(JSON.stringify(err.issues)),
|
|
201
275
|
};
|
|
202
276
|
}
|
|
203
|
-
//
|
|
277
|
+
// 4. Anchor / on-chain program errors. Includes raw Solana
|
|
278
|
+
// `InstructionError` payloads (e.g. simulation hits an
|
|
279
|
+
// `AccountNotInitialized` Custom 3012 on an unseeded PDA) so the
|
|
280
|
+
// classifier lands them in `chain_error` rather than `internal`.
|
|
281
|
+
// See the gate E2E Beat C polish item in
|
|
282
|
+
// submission/e2e-claude-code-2026-05-13/README.md.
|
|
204
283
|
if (isAnchorError(err, name, message)) {
|
|
284
|
+
const anchorHint = formatAnchorHint(err);
|
|
285
|
+
const fallbackHint = /InstructionError/.test(message) || /\bCustom\b/.test(message)
|
|
286
|
+
? formatInstructionErrorHint(message)
|
|
287
|
+
: "Inspect the transaction logs on the explorer; the failing constraint or " +
|
|
288
|
+
"custom error code is included in the cause.";
|
|
205
289
|
return {
|
|
206
290
|
errorCode: "chain_error",
|
|
207
291
|
message: "On-chain transaction failed.",
|
|
208
|
-
hint:
|
|
209
|
-
"Inspect the transaction logs on the explorer; the failing constraint or " +
|
|
210
|
-
"custom error code is included in the cause.",
|
|
292
|
+
hint: anchorHint ?? fallbackHint,
|
|
211
293
|
cause,
|
|
212
294
|
};
|
|
213
295
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/idl/trustgate.json
CHANGED
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/server.d.ts
CHANGED
|
@@ -16,4 +16,31 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
18
18
|
import type { AgentTrustConfig } from "./config";
|
|
19
|
+
/**
|
|
20
|
+
* Recursively rewrite JSON-Schema draft-04 boolean `exclusiveMinimum` /
|
|
21
|
+
* `exclusiveMaximum` to the draft 2020-12 numeric form expected by the
|
|
22
|
+
* Anthropic API.
|
|
23
|
+
*
|
|
24
|
+
* Input (draft-04, what `zod-to-json-schema`'s `openApi3` target emits
|
|
25
|
+
* for `z.number().positive()` / `.gt(N)` / `.negative()` / `.lt(N)`):
|
|
26
|
+
*
|
|
27
|
+
* { type: "integer", exclusiveMinimum: true, minimum: 0 }
|
|
28
|
+
* { type: "integer", exclusiveMaximum: true, maximum: 100 }
|
|
29
|
+
*
|
|
30
|
+
* Output (draft 2020-12, what Anthropic /v1/messages accepts):
|
|
31
|
+
*
|
|
32
|
+
* { type: "integer", exclusiveMinimum: 0 }
|
|
33
|
+
* { type: "integer", exclusiveMaximum: 100 }
|
|
34
|
+
*
|
|
35
|
+
* The `exclusiveMinimum: false` no-op form is also stripped (it means
|
|
36
|
+
* "the regular `minimum` is inclusive" in draft-04 and is meaningless in
|
|
37
|
+
* 2020-12).
|
|
38
|
+
*
|
|
39
|
+
* Walks `properties`, `items`, `oneOf` / `anyOf` / `allOf`, `definitions`,
|
|
40
|
+
* `$defs`, and nested objects so the rewrite catches every schema node
|
|
41
|
+
* regardless of how the tool author composed the Zod expression.
|
|
42
|
+
*
|
|
43
|
+
* Exported for tests in `test/json-schema-output.test.ts`.
|
|
44
|
+
*/
|
|
45
|
+
export declare function rewriteExclusiveBoundsToDraft2020(node: unknown): Record<string, unknown>;
|
|
19
46
|
export declare function createMcpServer(cfg: AgentTrustConfig): Server;
|
package/dist/server.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* Prompts surface the three guided workflows from prompts/ALL_PROMPTS.
|
|
17
17
|
*/
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.rewriteExclusiveBoundsToDraft2020 = rewriteExclusiveBoundsToDraft2020;
|
|
19
20
|
exports.createMcpServer = createMcpServer;
|
|
20
21
|
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
21
22
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
@@ -39,6 +40,66 @@ const SERVER_INSTRUCTIONS = "AgentTrust MCP server. Read tools work without auth
|
|
|
39
40
|
"README). Resources expose the AgentTrust docs corpus, deployed program " +
|
|
40
41
|
"manifest, and example demo source. Prompts ship three guided workflows: " +
|
|
41
42
|
"audit_payment, setup_agent, explain_failure.";
|
|
43
|
+
/**
|
|
44
|
+
* Recursively rewrite JSON-Schema draft-04 boolean `exclusiveMinimum` /
|
|
45
|
+
* `exclusiveMaximum` to the draft 2020-12 numeric form expected by the
|
|
46
|
+
* Anthropic API.
|
|
47
|
+
*
|
|
48
|
+
* Input (draft-04, what `zod-to-json-schema`'s `openApi3` target emits
|
|
49
|
+
* for `z.number().positive()` / `.gt(N)` / `.negative()` / `.lt(N)`):
|
|
50
|
+
*
|
|
51
|
+
* { type: "integer", exclusiveMinimum: true, minimum: 0 }
|
|
52
|
+
* { type: "integer", exclusiveMaximum: true, maximum: 100 }
|
|
53
|
+
*
|
|
54
|
+
* Output (draft 2020-12, what Anthropic /v1/messages accepts):
|
|
55
|
+
*
|
|
56
|
+
* { type: "integer", exclusiveMinimum: 0 }
|
|
57
|
+
* { type: "integer", exclusiveMaximum: 100 }
|
|
58
|
+
*
|
|
59
|
+
* The `exclusiveMinimum: false` no-op form is also stripped (it means
|
|
60
|
+
* "the regular `minimum` is inclusive" in draft-04 and is meaningless in
|
|
61
|
+
* 2020-12).
|
|
62
|
+
*
|
|
63
|
+
* Walks `properties`, `items`, `oneOf` / `anyOf` / `allOf`, `definitions`,
|
|
64
|
+
* `$defs`, and nested objects so the rewrite catches every schema node
|
|
65
|
+
* regardless of how the tool author composed the Zod expression.
|
|
66
|
+
*
|
|
67
|
+
* Exported for tests in `test/json-schema-output.test.ts`.
|
|
68
|
+
*/
|
|
69
|
+
function rewriteExclusiveBoundsToDraft2020(node) {
|
|
70
|
+
if (!isPlainObject(node))
|
|
71
|
+
return node;
|
|
72
|
+
const out = {};
|
|
73
|
+
for (const [key, value] of Object.entries(node)) {
|
|
74
|
+
out[key] = rewriteValue(value);
|
|
75
|
+
}
|
|
76
|
+
// Fold draft-04 boolean exclusiveMinimum/Maximum into numeric form.
|
|
77
|
+
if (out.exclusiveMinimum === true && typeof out.minimum === "number") {
|
|
78
|
+
out.exclusiveMinimum = out.minimum;
|
|
79
|
+
delete out.minimum;
|
|
80
|
+
}
|
|
81
|
+
else if (out.exclusiveMinimum === false) {
|
|
82
|
+
delete out.exclusiveMinimum;
|
|
83
|
+
}
|
|
84
|
+
if (out.exclusiveMaximum === true && typeof out.maximum === "number") {
|
|
85
|
+
out.exclusiveMaximum = out.maximum;
|
|
86
|
+
delete out.maximum;
|
|
87
|
+
}
|
|
88
|
+
else if (out.exclusiveMaximum === false) {
|
|
89
|
+
delete out.exclusiveMaximum;
|
|
90
|
+
}
|
|
91
|
+
return out;
|
|
92
|
+
}
|
|
93
|
+
function rewriteValue(value) {
|
|
94
|
+
if (Array.isArray(value))
|
|
95
|
+
return value.map(rewriteValue);
|
|
96
|
+
if (isPlainObject(value))
|
|
97
|
+
return rewriteExclusiveBoundsToDraft2020(value);
|
|
98
|
+
return value;
|
|
99
|
+
}
|
|
100
|
+
function isPlainObject(v) {
|
|
101
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
102
|
+
}
|
|
42
103
|
function createMcpServer(cfg) {
|
|
43
104
|
const chain = new chain_1.ChainClient(cfg);
|
|
44
105
|
const server = new index_js_1.Server({ name: SERVER_NAME, version: SERVER_VERSION }, {
|
|
@@ -46,12 +107,25 @@ function createMcpServer(cfg) {
|
|
|
46
107
|
instructions: SERVER_INSTRUCTIONS,
|
|
47
108
|
});
|
|
48
109
|
// ---- tools/list ---------------------------------------------------------
|
|
110
|
+
// `zodToJsonSchema(..., { target: "openApi3" })` emits the draft-04 boolean
|
|
111
|
+
// form of `exclusiveMinimum` / `exclusiveMaximum` (`{ exclusiveMinimum: true,
|
|
112
|
+
// minimum: 0 }`) when a Zod field uses `.positive()` / `.gt(N)` / `.negative()`.
|
|
113
|
+
// The Anthropic /v1/messages tool-input-schema validator enforces JSON Schema
|
|
114
|
+
// draft 2020-12 where these fields must be numbers, not booleans, and rejects
|
|
115
|
+
// the entire tool array with HTTP 400 otherwise (see the gate E2E report at
|
|
116
|
+
// submission/e2e-claude-code-2026-05-13/README.md, Regression 1). The
|
|
117
|
+
// canonical Zod patterns we use now (`.min(1)` for slot ints) sidestep this,
|
|
118
|
+
// but this post-processor is defence-in-depth so a future `.positive()` in
|
|
119
|
+
// any tool's input schema cannot regress the Anthropic tool-validation path
|
|
120
|
+
// unnoticed.
|
|
49
121
|
server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
50
122
|
tools: tools_1.ALL_TOOLS.map((t) => ({
|
|
51
123
|
name: t.name,
|
|
52
124
|
description: t.description,
|
|
53
125
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
54
|
-
inputSchema: (
|
|
126
|
+
inputSchema: rewriteExclusiveBoundsToDraft2020(
|
|
127
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
128
|
+
(0, zod_to_json_schema_1.zodToJsonSchema)(t.inputSchema, { target: "openApi3" })),
|
|
55
129
|
})),
|
|
56
130
|
}));
|
|
57
131
|
// ---- tools/call ---------------------------------------------------------
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,11 @@ const InputSchema = zod_1.z.object({
|
|
|
21
21
|
capability_hash_hex: common_1.HexHashSchema.optional()
|
|
22
22
|
.describe("Direct 32-byte capability hash (hex); use only if you already have the digest"),
|
|
23
23
|
claim_uri_hash_hex: common_1.HexHashSchema.describe("32-byte hash of the off-chain claim URI"),
|
|
24
|
-
|
|
24
|
+
// Use `.min(1)` rather than `.positive()` so `zodToJsonSchema(..., { target: "openApi3" })`
|
|
25
|
+
// emits `{ "minimum": 1 }` (JSON Schema draft 2020-12 compatible) rather than the
|
|
26
|
+
// draft-04 boolean form `{ "exclusiveMinimum": true, "minimum": 0 }`, which the
|
|
27
|
+
// Anthropic /v1/messages tool validator rejects with HTTP 400.
|
|
28
|
+
deadline_slot: zod_1.z.union([zod_1.z.number().int().min(1), zod_1.z.string().regex(/^\d+$/)])
|
|
25
29
|
.describe("Slot by which an attestor must respond. Must be greater than the " +
|
|
26
30
|
"current Solana slot. Devnet slots advance roughly every 400ms " +
|
|
27
31
|
"(so `current_slot + 60 * 1000 / 400 = current_slot + 150` is " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-validation.js","sourceRoot":"","sources":["../../../src/tools/write/request-validation.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,6CAA8C;AAC9C,6BAAwB;AAExB,uCAIqB;AACrB,yCAA2C;AAC3C,sCAA6F;AAG7F,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,aAAa,EAAS,qBAAY,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACpG,eAAe,EAAO,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;SACjC,QAAQ,CAAC,sEAAsE,CAAC;IACzG,mBAAmB,EAAG,sBAAa,CAAC,QAAQ,EAAE;SACrB,QAAQ,CAAC,+EAA+E,CAAC;IAClH,kBAAkB,EAAI,sBAAa,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACvF,aAAa,EAAS,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"request-validation.js","sourceRoot":"","sources":["../../../src/tools/write/request-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,11 @@ const InputSchema = zod_1.z.object({
|
|
|
25
25
|
capability_hash_hex: common_1.HexHashSchema.optional(),
|
|
26
26
|
claim_payload_hash_hex: common_1.HexHashSchema.describe("32-byte hash of the attestor's signed claim payload"),
|
|
27
27
|
claim_uri_hash_hex: common_1.HexHashSchema.describe("32-byte hash of the canonical claim URI"),
|
|
28
|
-
|
|
28
|
+
// Use `.min(1)` rather than `.positive()` so `zodToJsonSchema(..., { target: "openApi3" })`
|
|
29
|
+
// emits `{ "minimum": 1 }` (JSON Schema draft 2020-12 compatible) rather than the
|
|
30
|
+
// draft-04 boolean form `{ "exclusiveMinimum": true, "minimum": 0 }`, which the
|
|
31
|
+
// Anthropic /v1/messages tool validator rejects with HTTP 400.
|
|
32
|
+
expires_at_slot: zod_1.z.union([zod_1.z.number().int().min(1), zod_1.z.string().regex(/^\d+$/)])
|
|
29
33
|
.describe("Attestation expiry slot (0 = never)"),
|
|
30
34
|
});
|
|
31
35
|
exports.respondToValidationTool = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"respond-to-validation.js","sourceRoot":"","sources":["../../../src/tools/write/respond-to-validation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,6CAA8C;AAC9C,6BAAwB;AAExB,uCAMqB;AACrB,yCAA2C;AAC3C,sCAA6F;AAG7F,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,aAAa,EAAS,qBAAY;IAClC,eAAe,EAAO,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1D,mBAAmB,EAAG,sBAAa,CAAC,QAAQ,EAAE;IAC9C,sBAAsB,EAAE,sBAAa,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IACrG,kBAAkB,EAAI,sBAAa,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACvF,eAAe,EAAO,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"respond-to-validation.js","sourceRoot":"","sources":["../../../src/tools/write/respond-to-validation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agenttrust-sdk/mcp",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "MCP server for AgentTrust
|
|
3
|
+
"version": "0.3.4",
|
|
4
|
+
"description": "MCP server for AgentTrust — query and call deployed Solana programs from Claude Desktop / Cursor / any MCP client",
|
|
5
5
|
"author": "AgentTrust Labs (https://agenttrust.tech)",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/agenttrust-labs/agenttrust/tree/main/mcp#readme",
|
|
@@ -40,25 +40,14 @@
|
|
|
40
40
|
"publishConfig": {
|
|
41
41
|
"access": "public"
|
|
42
42
|
},
|
|
43
|
-
"scripts": {
|
|
44
|
-
"build": "tsc && node scripts/copy-embedded-assets.js",
|
|
45
|
-
"lint": "tsc --noEmit",
|
|
46
|
-
"start": "node dist/index.js",
|
|
47
|
-
"dev": "ts-node src/index.ts",
|
|
48
|
-
"test": "ts-mocha -p ./test/tsconfig.json -t 30000 \"test/**/*.test.ts\"",
|
|
49
|
-
"test:integration": "INTEGRATION=1 ts-mocha -p ./test/tsconfig.json -t 60000 test/integration.test.ts",
|
|
50
|
-
"test:conformance": "pnpm run build && ts-node test/protocol-conformance.ts",
|
|
51
|
-
"prepublishOnly": "pnpm run lint && pnpm run build && pnpm run test && pnpm run test:conformance",
|
|
52
|
-
"publish:dry": "npm publish --dry-run"
|
|
53
|
-
},
|
|
54
43
|
"dependencies": {
|
|
55
|
-
"@agenttrust-sdk/trustgate": "workspace:^",
|
|
56
44
|
"@coral-xyz/anchor": "^0.31.1",
|
|
57
45
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
58
46
|
"@solana/web3.js": "^1.98.0",
|
|
59
47
|
"bs58": "^6.0.0",
|
|
60
48
|
"zod": "^3.25.76",
|
|
61
|
-
"zod-to-json-schema": "^3.23.5"
|
|
49
|
+
"zod-to-json-schema": "^3.23.5",
|
|
50
|
+
"@agenttrust-sdk/trustgate": "^0.3.1"
|
|
62
51
|
},
|
|
63
52
|
"devDependencies": {
|
|
64
53
|
"@types/chai": "^4.3.0",
|
|
@@ -69,5 +58,15 @@
|
|
|
69
58
|
"ts-mocha": "^10.0.0",
|
|
70
59
|
"ts-node": "^10.9.2",
|
|
71
60
|
"typescript": "^5.6.0"
|
|
61
|
+
},
|
|
62
|
+
"scripts": {
|
|
63
|
+
"build": "tsc && node scripts/copy-embedded-assets.js",
|
|
64
|
+
"lint": "tsc --noEmit",
|
|
65
|
+
"start": "node dist/index.js",
|
|
66
|
+
"dev": "ts-node src/index.ts",
|
|
67
|
+
"test": "ts-mocha -p ./test/tsconfig.json -t 30000 \"test/**/*.test.ts\"",
|
|
68
|
+
"test:integration": "INTEGRATION=1 ts-mocha -p ./test/tsconfig.json -t 60000 test/integration.test.ts",
|
|
69
|
+
"test:conformance": "pnpm run build && ts-node test/protocol-conformance.ts",
|
|
70
|
+
"publish:dry": "npm publish --dry-run"
|
|
72
71
|
}
|
|
73
|
-
}
|
|
72
|
+
}
|
|
File without changes
|