@agenttrust-sdk/mcp 0.2.3 → 0.2.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.
|
@@ -10,17 +10,30 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { z } from "zod";
|
|
12
12
|
import type { Tool } from "../types";
|
|
13
|
-
declare const InputSchema: z.ZodObject<{
|
|
13
|
+
declare const InputSchema: z.ZodEffects<z.ZodObject<{
|
|
14
14
|
subject_asset: z.ZodEffects<z.ZodString, string, string>;
|
|
15
|
-
|
|
15
|
+
capability_name: z.ZodOptional<z.ZodString>;
|
|
16
|
+
capability_hash: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
16
17
|
attestor: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
17
18
|
}, "strip", z.ZodTypeAny, {
|
|
18
19
|
subject_asset: string;
|
|
19
|
-
|
|
20
|
+
capability_name?: string | undefined;
|
|
21
|
+
capability_hash?: string | undefined;
|
|
20
22
|
attestor?: string | undefined;
|
|
21
23
|
}, {
|
|
22
24
|
subject_asset: string;
|
|
23
|
-
|
|
25
|
+
capability_name?: string | undefined;
|
|
26
|
+
capability_hash?: string | undefined;
|
|
27
|
+
attestor?: string | undefined;
|
|
28
|
+
}>, {
|
|
29
|
+
subject_asset: string;
|
|
30
|
+
capability_name?: string | undefined;
|
|
31
|
+
capability_hash?: string | undefined;
|
|
32
|
+
attestor?: string | undefined;
|
|
33
|
+
}, {
|
|
34
|
+
subject_asset: string;
|
|
35
|
+
capability_name?: string | undefined;
|
|
36
|
+
capability_hash?: string | undefined;
|
|
24
37
|
attestor?: string | undefined;
|
|
25
38
|
}>;
|
|
26
39
|
type Input = z.infer<typeof InputSchema>;
|
|
@@ -15,14 +15,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.getValidationAttestationTool = void 0;
|
|
17
17
|
const bs58_1 = __importDefault(require("bs58"));
|
|
18
|
+
const trustgate_1 = require("@agenttrust-sdk/trustgate");
|
|
18
19
|
const zod_1 = require("zod");
|
|
19
20
|
const config_1 = require("../../config");
|
|
20
21
|
const common_1 = require("../common");
|
|
22
|
+
// Phase N UX pass: accept either a friendly capability_name (the SDK
|
|
23
|
+
// computes SHA256(name) for you, mirroring agenttrust_request_validation)
|
|
24
|
+
// or capability_hash directly. Real users + LLMs typically have the
|
|
25
|
+
// human-readable name (e.g., "kyc.tier-1.v1"); requiring the 64-char
|
|
26
|
+
// hex was a friction point a Claude Desktop user wouldn't get past.
|
|
21
27
|
const InputSchema = zod_1.z.object({
|
|
22
28
|
subject_asset: common_1.PubkeySchema.describe("Quantu agent asset whose capability is being attested"),
|
|
23
|
-
|
|
29
|
+
capability_name: zod_1.z.string().min(3).max(32).optional()
|
|
30
|
+
.describe("Canonical capability name (3..=32 chars, no ':'); preferred over hex"),
|
|
31
|
+
capability_hash: common_1.HexHashSchema.optional()
|
|
32
|
+
.describe("32-byte capability hash (hex); use only if you already have the digest"),
|
|
24
33
|
attestor: common_1.PubkeySchema.optional()
|
|
25
34
|
.describe("Optional: filter to this attestor's attestation (returns 0 or 1)"),
|
|
35
|
+
}).refine((v) => v.capability_name || v.capability_hash, {
|
|
36
|
+
message: "Provide either capability_name (preferred) or capability_hash.",
|
|
37
|
+
path: ["capability_name"],
|
|
26
38
|
});
|
|
27
39
|
// state/validation_attestation.rs layout — pinned offsets.
|
|
28
40
|
const VA_SUBJECT_OFFSET = 8; // off 8..40
|
|
@@ -31,14 +43,18 @@ const VA_ATTESTOR_OFFSET = 72; // off 72..104
|
|
|
31
43
|
exports.getValidationAttestationTool = {
|
|
32
44
|
name: "agenttrust_get_validation_attestation",
|
|
33
45
|
description: "Query the ValidationRegistry for ValidationAttestation PDAs matching " +
|
|
34
|
-
"(
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
46
|
+
"(subject, capability). Pass either capability_name (preferred — the " +
|
|
47
|
+
"SDK computes SHA256(name) for you) or capability_hash directly. Each " +
|
|
48
|
+
"attestor produces a separate attestation; the optional `attestor` " +
|
|
49
|
+
"filter narrows to one. Returns expiresAt slot, revoked flag, claim " +
|
|
50
|
+
"payload hash — exactly the fields PolicyVault's RequireValidation " +
|
|
51
|
+
"policy reads at gate time.",
|
|
38
52
|
inputSchema: InputSchema,
|
|
39
53
|
async handler(input, ctx) {
|
|
40
54
|
const subject = (0, common_1.parsePubkey)(input.subject_asset, "subject_asset");
|
|
41
|
-
const capHash =
|
|
55
|
+
const capHash = input.capability_name
|
|
56
|
+
? (0, trustgate_1.computeCapabilityHash)(input.capability_name)
|
|
57
|
+
: (0, common_1.hexToBytes)(input.capability_hash);
|
|
42
58
|
if (capHash.length !== 32)
|
|
43
59
|
throw new Error("capability_hash must decode to 32 bytes");
|
|
44
60
|
const program = await ctx.chain.validationRegistry();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-validation-attestation.js","sourceRoot":"","sources":["../../../src/tools/read/get-validation-attestation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;AAEH,gDAAwB;AACxB,6BAAwB;AAExB,yCAA2C;AAC3C,sCAAwH;AAGxH,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,aAAa,EAAK,qBAAY,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAChG,eAAe,EAAG,sBAAa,CAAC,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"get-validation-attestation.js","sourceRoot":"","sources":["../../../src/tools/read/get-validation-attestation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;AAEH,gDAAwB;AACxB,yDAAkE;AAClE,6BAAwB;AAExB,yCAA2C;AAC3C,sCAAwH;AAGxH,qEAAqE;AACrE,0EAA0E;AAC1E,oEAAoE;AACpE,qEAAqE;AACrE,oEAAoE;AACpE,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,aAAa,EAAK,qBAAY,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAChG,eAAe,EAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;SAChC,QAAQ,CAAC,sEAAsE,CAAC;IACtG,eAAe,EAAG,sBAAa,CAAC,QAAQ,EAAE;SACpB,QAAQ,CAAC,wEAAwE,CAAC;IACxG,QAAQ,EAAU,qBAAY,CAAC,QAAQ,EAAE;SACnB,QAAQ,CAAC,kEAAkE,CAAC;CACnG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,EAAE;IACvD,OAAO,EAAE,gEAAgE;IACzE,IAAI,EAAK,CAAC,iBAAiB,CAAC;CAC7B,CAAC,CAAC;AAsBH,2DAA2D;AAC3D,MAAM,iBAAiB,GAAM,CAAC,CAAC,CAAO,aAAa;AACnD,MAAM,oBAAoB,GAAG,EAAE,CAAC,CAAM,aAAa;AACnD,MAAM,kBAAkB,GAAK,EAAE,CAAC,CAAM,cAAc;AAEvC,QAAA,4BAA4B,GAAwB;IAC/D,IAAI,EAAS,uCAAuC;IACpD,WAAW,EACT,uEAAuE;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,oEAAoE;QACpE,4BAA4B;IAC9B,WAAW,EAAE,WAAW;IAExB,KAAK,CAAC,OAAO,CAAC,KAAY,EAAE,GAAgB;QAC1C,MAAM,OAAO,GAAG,IAAA,oBAAW,EAAC,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe;YACnC,CAAC,CAAC,IAAA,iCAAqB,EAAC,KAAK,CAAC,eAAe,CAAC;YAC9C,CAAC,CAAC,IAAA,mBAAU,EAAC,KAAK,CAAC,eAAgB,CAAC,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAErD,MAAM,OAAO,GAAoD;YAC/D,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE;YACpE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;SAC1E,CAAC;QACF,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,MAAO,OAAO,CAAC,OAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEnF,MAAM,YAAY,GAAqB,QAAQ,CAAC,GAAG;QACjD,8DAA8D;QAC9D,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;YACf,GAAG,EAAkB,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC/C,WAAW,EAAU,IAAA,oBAAW,EAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACtF,QAAQ,EAAa,IAAA,qBAAY,EAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC/D,SAAS,EAAY,IAAA,oBAAW,EAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACzD,QAAQ,EAAa,IAAA,oBAAW,EAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACxD,OAAO,EAAc,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;YAC5C,SAAS,EAAY,IAAA,oBAAW,EAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACzD,mBAAmB,EAAE,IAAA,mBAAU,EAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACrE,eAAe,EAAM,IAAA,mBAAU,EAAC,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;SAClE,CAAC,CACH,CAAC;QAEF,OAAO;YACL,YAAY,EAAO,OAAO,CAAC,QAAQ,EAAE;YACrC,iBAAiB,EAAE,IAAA,mBAAU,EAAC,OAAO,CAAC;YACtC,KAAK,EAAc,YAAY,CAAC,MAAM;YACtC,YAAY;SACb,CAAC;IACJ,CAAC;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agenttrust-sdk/mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
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",
|