@paybond/kit 0.12.4 → 0.12.5

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.
@@ -15,7 +15,7 @@ import { verifyAgentReceiptV1FromJSON } from "./agent-receipt.js";
15
15
  import { agentReceiptResourceTemplateDefinition, agentReceiptResourceUri, MCP_AGENT_RECEIPT_RESOURCE_MIME_TYPE, parseAgentReceiptResourceUri, } from "./mcp-receipt-resource.js";
16
16
  import { DEFAULT_PAYBOND_GATEWAY_BASE_URL, GatewayFraudClient, GatewaySignalClient, } from "./index.js";
17
17
  const SERVER_NAME = "Paybond MCP";
18
- const SERVER_VERSION = "0.12.4";
18
+ const SERVER_VERSION = "0.12.5";
19
19
  const MCP_PROTOCOL_VERSION = "2025-11-25";
20
20
  const DEFAULT_PRINCIPAL_PATH = "/v1/auth/principal";
21
21
  const DEFAULT_RECOGNITION_VERIFIER_ID = "paybond-gateway";
@@ -63,14 +63,31 @@ const AUTHORIZE_SPEND_OUTPUT_PROPERTIES = {
63
63
  const TOOL_SELECTION_METADATA = {
64
64
  paybond_get_principal: {
65
65
  title: "Get Paybond Principal",
66
+ description: "Use this when you need to confirm which tenant-bound service-account principal the configured PAYBOND_API_KEY authenticates as " +
67
+ "(tenant_id, subject, and roles). Call early as a prerequisite before Harbor escrow, Signal reads, or other tenant-scoped tools when " +
68
+ "tenant identity is unknown. Not required before every later call once tenant_id is already known from a prior principal response or host config. " +
69
+ "Do not use this when you need Harbor intent escrow detail; use paybond_get_intent instead when you have an intent_id. " +
70
+ "Do not use this for A2A discovery; use paybond_get_a2a_agent_card instead. " +
71
+ "Makes one read-only external GET to the gateway principal endpoint; idempotent identity lookup with no side effects " +
72
+ "(no mutations, spend reservations, escrow changes, or ledger writes); auth or gateway failures surface as tool errors.",
66
73
  annotations: readOnlyToolAnnotations("Get Paybond Principal"),
67
74
  outputSchema: outputObjectSchema({
68
75
  tenant_id: {
69
76
  type: "string",
70
77
  description: "Tenant bound to the configured Paybond API key.",
78
+ examples: ["tenant-a"],
79
+ },
80
+ subject: {
81
+ type: "string",
82
+ description: "Service-account subject identifier echoed by the gateway for the authenticated API key (example: service-account-1).",
83
+ examples: ["service-account-1"],
84
+ },
85
+ roles: {
86
+ type: "array",
87
+ items: { type: "string" },
88
+ description: "RBAC roles granted to this principal for the authenticated tenant (example: [\"operator\"]).",
89
+ examples: [["operator"]],
71
90
  },
72
- subject: { type: "string" },
73
- roles: { type: "array", items: { type: "string" } },
74
91
  }),
75
92
  },
76
93
  paybond_verify_capability: {
@@ -330,12 +347,37 @@ const TOOL_SELECTION_METADATA = {
330
347
  },
331
348
  paybond_get_signed_portfolio_artifact: {
332
349
  title: "Get Signed Portfolio Artifact",
350
+ description: "Use this when you need a portable, tenant-scoped signed Signal portfolio snapshot (operator list plus Ed25519 signing material) " +
351
+ "for offline verifier checks or partner sharing—not a public leaderboard. " +
352
+ "Requires PAYBOND_API_KEY with Signal analytics read access. Omit score_version to use the gateway default current model (1.0). " +
353
+ "Do not use this for tenant-wide aggregates without signatures—call paybond_get_portfolio_summary—or for one operator's signed receipt—call " +
354
+ "paybond_get_reputation_receipt—or for one operator's fraud review posture—call paybond_get_fraud_assessment. " +
355
+ "Idempotent read with no side effects; auth, RBAC, feature, or gateway failures surface as tool errors.",
333
356
  annotations: readOnlyToolAnnotations("Get Signed Portfolio Artifact"),
334
357
  outputSchema: outputObjectSchema({
335
- tenant_id: { type: "string" },
336
- kind: { type: "string" },
337
- signature_hex: { type: "string" },
338
- checkpoint_last_ledger_seq: { type: "integer" },
358
+ kind: {
359
+ type: "string",
360
+ description: "Artifact kind identifier (currently paybond.signal.portfolio_snapshot).",
361
+ examples: ["paybond.signal.portfolio_snapshot"],
362
+ },
363
+ tenant_id: {
364
+ type: "string",
365
+ description: "Tenant echoed by the gateway for the authenticated API key (example: tenant-a). Never invent tenant identifiers.",
366
+ examples: ["tenant-a"],
367
+ },
368
+ score_model_version: {
369
+ type: "string",
370
+ description: "Score model version used for the artifact (echoes the requested score_version or the gateway default 1.0).",
371
+ examples: ["1.0"],
372
+ },
373
+ checkpoint_last_ledger_seq: {
374
+ type: "integer",
375
+ description: "Last ledger sequence included in the tenant Signal checkpoint for this artifact.",
376
+ },
377
+ signature_hex: {
378
+ type: "string",
379
+ description: "Ed25519 signature hex over the canonical portfolio artifact payload.",
380
+ },
339
381
  }),
340
382
  },
341
383
  paybond_get_fraud_assessment: {
@@ -1508,7 +1550,13 @@ export class PaybondMCPServer {
1508
1550
  const tools = [
1509
1551
  {
1510
1552
  name: "paybond_get_principal",
1511
- description: "Resolve the tenant-bound Paybond principal behind the configured service-account API key.",
1553
+ description: "Use this when you need to confirm which tenant-bound service-account principal the configured PAYBOND_API_KEY authenticates as " +
1554
+ "(tenant_id, subject, and roles). Call early as a prerequisite before Harbor escrow, Signal reads, or other tenant-scoped tools when " +
1555
+ "tenant identity is unknown. Not required before every later call once tenant_id is already known from a prior principal response or host config. " +
1556
+ "Do not use this when you need Harbor intent escrow detail; use paybond_get_intent instead when you have an intent_id. " +
1557
+ "Do not use this for A2A discovery; use paybond_get_a2a_agent_card instead. " +
1558
+ "Makes one read-only external GET to the gateway principal endpoint; idempotent identity lookup with no side effects " +
1559
+ "(no mutations, spend reservations, escrow changes, or ledger writes); auth or gateway failures surface as tool errors.",
1512
1560
  inputSchema: emptyObjectSchema(),
1513
1561
  call: async () => this.runtime.principal(),
1514
1562
  },
@@ -1782,7 +1830,11 @@ export class PaybondMCPServer {
1782
1830
  name: "paybond_get_signed_portfolio_artifact",
1783
1831
  description: "Fetch the tenant-scoped signed Signal portfolio artifact for portable verifier and partner sharing.",
1784
1832
  inputSchema: objectSchema({
1785
- score_version: { type: "string" },
1833
+ score_version: {
1834
+ type: "string",
1835
+ description: "Optional Signal score model version to query. Omit to use the gateway default current model (1.0). Example: 1.0.",
1836
+ examples: ["1.0"],
1837
+ },
1786
1838
  }),
1787
1839
  call: async (args) => (await this.runtime.signal()).getSignedPortfolioArtifact(optionalString(args.score_version)),
1788
1840
  },
package/glama.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://glama.ai/mcp/schemas/server.json",
3
+ "maintainers": [
4
+ "nonameuserd"
5
+ ]
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paybond/kit",
3
- "version": "0.12.4",
3
+ "version": "0.12.5",
4
4
  "mcpName": "io.github.nonameuserd/paybond",
5
5
  "description": "Paybond Kit for TypeScript: agent spend governance for paid tool calls with spend authorization, evidence receipts, refunds, disputes, hosted Gateway sessions, and settlement.",
6
6
  "license": "Apache-2.0",
@@ -67,7 +67,8 @@
67
67
  "templates",
68
68
  "dev",
69
69
  "README.md",
70
- "LICENSE"
70
+ "LICENSE",
71
+ "glama.json"
71
72
  ],
72
73
  "engines": {
73
74
  "node": ">=22"
@@ -7,7 +7,7 @@
7
7
  "name": "openai-shopping-agent",
8
8
  "dependencies": {
9
9
  "@openai/agents": "^0.4.0",
10
- "@paybond/kit": "^0.12.4",
10
+ "@paybond/kit": "^0.12.5",
11
11
  "zod": "^4.2.0"
12
12
  },
13
13
  "devDependencies": {
@@ -169,9 +169,9 @@
169
169
  }
170
170
  },
171
171
  "node_modules/@paybond/kit": {
172
- "version": "0.12.4",
173
- "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.4.tgz",
174
- "integrity": "sha512-Wo2v0MBEdrvxGcSSJ/hG1TGOfw/hm0TTnpVXH70PVq0Y+xL97o4J9A1Z2dKVdfRnp5O0KM0AkJKA2MeOQ7qkFw==",
172
+ "version": "0.12.5",
173
+ "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.5.tgz",
174
+ "integrity": "sha512-Q7VXMMXw5N+DZ7Tw9Fx1rYMSf0cFzpIG/ox8JnbBggI+8xw9CnGhyfOIxLwf/XefdmN/2zCg/v5hQNLYN9OAMg==",
175
175
  "license": "Apache-2.0",
176
176
  "dependencies": {
177
177
  "@noble/ed25519": "^2.2.1",
@@ -6,7 +6,7 @@
6
6
  "": {
7
7
  "name": "paybond-aws-operator",
8
8
  "dependencies": {
9
- "@paybond/kit": "^0.12.4"
9
+ "@paybond/kit": "^0.12.5"
10
10
  },
11
11
  "devDependencies": {
12
12
  "@types/node": "^22.10.1",
@@ -47,9 +47,9 @@
47
47
  }
48
48
  },
49
49
  "node_modules/@paybond/kit": {
50
- "version": "0.12.4",
51
- "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.4.tgz",
52
- "integrity": "sha512-Wo2v0MBEdrvxGcSSJ/hG1TGOfw/hm0TTnpVXH70PVq0Y+xL97o4J9A1Z2dKVdfRnp5O0KM0AkJKA2MeOQ7qkFw==",
50
+ "version": "0.12.5",
51
+ "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.5.tgz",
52
+ "integrity": "sha512-Q7VXMMXw5N+DZ7Tw9Fx1rYMSf0cFzpIG/ox8JnbBggI+8xw9CnGhyfOIxLwf/XefdmN/2zCg/v5hQNLYN9OAMg==",
53
53
  "license": "Apache-2.0",
54
54
  "dependencies": {
55
55
  "@noble/ed25519": "^2.2.1",
@@ -7,7 +7,7 @@
7
7
  "name": "paybond-claude-agents-demo",
8
8
  "dependencies": {
9
9
  "@anthropic-ai/claude-agent-sdk": "^0.2.100",
10
- "@paybond/kit": "^0.12.4",
10
+ "@paybond/kit": "^0.12.5",
11
11
  "zod": "^4.2.0"
12
12
  },
13
13
  "devDependencies": {
@@ -260,9 +260,9 @@
260
260
  }
261
261
  },
262
262
  "node_modules/@paybond/kit": {
263
- "version": "0.12.4",
264
- "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.4.tgz",
265
- "integrity": "sha512-Wo2v0MBEdrvxGcSSJ/hG1TGOfw/hm0TTnpVXH70PVq0Y+xL97o4J9A1Z2dKVdfRnp5O0KM0AkJKA2MeOQ7qkFw==",
263
+ "version": "0.12.5",
264
+ "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.5.tgz",
265
+ "integrity": "sha512-Q7VXMMXw5N+DZ7Tw9Fx1rYMSf0cFzpIG/ox8JnbBggI+8xw9CnGhyfOIxLwf/XefdmN/2zCg/v5hQNLYN9OAMg==",
266
266
  "license": "Apache-2.0",
267
267
  "dependencies": {
268
268
  "@noble/ed25519": "^2.2.1",
@@ -7,7 +7,7 @@
7
7
  "name": "paybond-mastra-travel-agent",
8
8
  "dependencies": {
9
9
  "@mastra/core": "^1.49.0",
10
- "@paybond/kit": "^0.12.4",
10
+ "@paybond/kit": "^0.12.5",
11
11
  "zod": "^4.2.0"
12
12
  },
13
13
  "devDependencies": {
@@ -412,9 +412,9 @@
412
412
  }
413
413
  },
414
414
  "node_modules/@paybond/kit": {
415
- "version": "0.12.4",
416
- "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.4.tgz",
417
- "integrity": "sha512-Wo2v0MBEdrvxGcSSJ/hG1TGOfw/hm0TTnpVXH70PVq0Y+xL97o4J9A1Z2dKVdfRnp5O0KM0AkJKA2MeOQ7qkFw==",
415
+ "version": "0.12.5",
416
+ "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.5.tgz",
417
+ "integrity": "sha512-Q7VXMMXw5N+DZ7Tw9Fx1rYMSf0cFzpIG/ox8JnbBggI+8xw9CnGhyfOIxLwf/XefdmN/2zCg/v5hQNLYN9OAMg==",
418
418
  "license": "Apache-2.0",
419
419
  "dependencies": {
420
420
  "@noble/ed25519": "^2.2.1",
@@ -6,7 +6,7 @@
6
6
  "": {
7
7
  "name": "paybond-mcp-coding-agent",
8
8
  "dependencies": {
9
- "@paybond/kit": "^0.12.4"
9
+ "@paybond/kit": "^0.12.5"
10
10
  },
11
11
  "devDependencies": {
12
12
  "@types/node": "^22.10.1",
@@ -47,9 +47,9 @@
47
47
  }
48
48
  },
49
49
  "node_modules/@paybond/kit": {
50
- "version": "0.12.4",
51
- "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.4.tgz",
52
- "integrity": "sha512-Wo2v0MBEdrvxGcSSJ/hG1TGOfw/hm0TTnpVXH70PVq0Y+xL97o4J9A1Z2dKVdfRnp5O0KM0AkJKA2MeOQ7qkFw==",
50
+ "version": "0.12.5",
51
+ "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.5.tgz",
52
+ "integrity": "sha512-Q7VXMMXw5N+DZ7Tw9Fx1rYMSf0cFzpIG/ox8JnbBggI+8xw9CnGhyfOIxLwf/XefdmN/2zCg/v5hQNLYN9OAMg==",
53
53
  "license": "Apache-2.0",
54
54
  "dependencies": {
55
55
  "@noble/ed25519": "^2.2.1",
@@ -7,7 +7,7 @@
7
7
  "name": "paybond-openai-agents-demo",
8
8
  "dependencies": {
9
9
  "@openai/agents": "^0.4.0",
10
- "@paybond/kit": "^0.12.4",
10
+ "@paybond/kit": "^0.12.5",
11
11
  "zod": "^4.2.0"
12
12
  },
13
13
  "devDependencies": {
@@ -169,9 +169,9 @@
169
169
  }
170
170
  },
171
171
  "node_modules/@paybond/kit": {
172
- "version": "0.12.4",
173
- "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.4.tgz",
174
- "integrity": "sha512-Wo2v0MBEdrvxGcSSJ/hG1TGOfw/hm0TTnpVXH70PVq0Y+xL97o4J9A1Z2dKVdfRnp5O0KM0AkJKA2MeOQ7qkFw==",
172
+ "version": "0.12.5",
173
+ "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.5.tgz",
174
+ "integrity": "sha512-Q7VXMMXw5N+DZ7Tw9Fx1rYMSf0cFzpIG/ox8JnbBggI+8xw9CnGhyfOIxLwf/XefdmN/2zCg/v5hQNLYN9OAMg==",
175
175
  "license": "Apache-2.0",
176
176
  "dependencies": {
177
177
  "@noble/ed25519": "^2.2.1",
@@ -6,7 +6,7 @@
6
6
  "": {
7
7
  "name": "paybond-procurement-agent",
8
8
  "dependencies": {
9
- "@paybond/kit": "^0.12.4"
9
+ "@paybond/kit": "^0.12.5"
10
10
  },
11
11
  "devDependencies": {
12
12
  "@types/node": "^22.10.1",
@@ -47,9 +47,9 @@
47
47
  }
48
48
  },
49
49
  "node_modules/@paybond/kit": {
50
- "version": "0.12.4",
51
- "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.4.tgz",
52
- "integrity": "sha512-Wo2v0MBEdrvxGcSSJ/hG1TGOfw/hm0TTnpVXH70PVq0Y+xL97o4J9A1Z2dKVdfRnp5O0KM0AkJKA2MeOQ7qkFw==",
50
+ "version": "0.12.5",
51
+ "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.5.tgz",
52
+ "integrity": "sha512-Q7VXMMXw5N+DZ7Tw9Fx1rYMSf0cFzpIG/ox8JnbBggI+8xw9CnGhyfOIxLwf/XefdmN/2zCg/v5hQNLYN9OAMg==",
53
53
  "license": "Apache-2.0",
54
54
  "dependencies": {
55
55
  "@noble/ed25519": "^2.2.1",
@@ -6,7 +6,7 @@
6
6
  "": {
7
7
  "name": "paybond-shopify-shopping-agent",
8
8
  "dependencies": {
9
- "@paybond/kit": "^0.12.4"
9
+ "@paybond/kit": "^0.12.5"
10
10
  },
11
11
  "devDependencies": {
12
12
  "@types/node": "^22.10.1",
@@ -47,9 +47,9 @@
47
47
  }
48
48
  },
49
49
  "node_modules/@paybond/kit": {
50
- "version": "0.12.4",
51
- "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.4.tgz",
52
- "integrity": "sha512-Wo2v0MBEdrvxGcSSJ/hG1TGOfw/hm0TTnpVXH70PVq0Y+xL97o4J9A1Z2dKVdfRnp5O0KM0AkJKA2MeOQ7qkFw==",
50
+ "version": "0.12.5",
51
+ "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.5.tgz",
52
+ "integrity": "sha512-Q7VXMMXw5N+DZ7Tw9Fx1rYMSf0cFzpIG/ox8JnbBggI+8xw9CnGhyfOIxLwf/XefdmN/2zCg/v5hQNLYN9OAMg==",
53
53
  "license": "Apache-2.0",
54
54
  "dependencies": {
55
55
  "@noble/ed25519": "^2.2.1",
@@ -8,7 +8,7 @@
8
8
  "dependencies": {
9
9
  "@langchain/core": "^1.2.1",
10
10
  "@langchain/langgraph": "^1.4.7",
11
- "@paybond/kit": "^0.12.4",
11
+ "@paybond/kit": "^0.12.5",
12
12
  "zod": "^4.2.0"
13
13
  },
14
14
  "devDependencies": {
@@ -178,9 +178,9 @@
178
178
  }
179
179
  },
180
180
  "node_modules/@paybond/kit": {
181
- "version": "0.12.4",
182
- "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.4.tgz",
183
- "integrity": "sha512-Wo2v0MBEdrvxGcSSJ/hG1TGOfw/hm0TTnpVXH70PVq0Y+xL97o4J9A1Z2dKVdfRnp5O0KM0AkJKA2MeOQ7qkFw==",
181
+ "version": "0.12.5",
182
+ "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.5.tgz",
183
+ "integrity": "sha512-Q7VXMMXw5N+DZ7Tw9Fx1rYMSf0cFzpIG/ox8JnbBggI+8xw9CnGhyfOIxLwf/XefdmN/2zCg/v5hQNLYN9OAMg==",
184
184
  "license": "Apache-2.0",
185
185
  "dependencies": {
186
186
  "@noble/ed25519": "^2.2.1",
@@ -6,7 +6,7 @@
6
6
  "": {
7
7
  "name": "paybond-vercel-shopping-agent",
8
8
  "dependencies": {
9
- "@paybond/kit": "^0.12.4",
9
+ "@paybond/kit": "^0.12.5",
10
10
  "ai": "^5.0.0",
11
11
  "zod": "^4.2.0"
12
12
  },
@@ -104,9 +104,9 @@
104
104
  }
105
105
  },
106
106
  "node_modules/@paybond/kit": {
107
- "version": "0.12.4",
108
- "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.4.tgz",
109
- "integrity": "sha512-Wo2v0MBEdrvxGcSSJ/hG1TGOfw/hm0TTnpVXH70PVq0Y+xL97o4J9A1Z2dKVdfRnp5O0KM0AkJKA2MeOQ7qkFw==",
107
+ "version": "0.12.5",
108
+ "resolved": "https://registry.npmjs.org/@paybond/kit/-/kit-0.12.5.tgz",
109
+ "integrity": "sha512-Q7VXMMXw5N+DZ7Tw9Fx1rYMSf0cFzpIG/ox8JnbBggI+8xw9CnGhyfOIxLwf/XefdmN/2zCg/v5hQNLYN9OAMg==",
110
110
  "license": "Apache-2.0",
111
111
  "dependencies": {
112
112
  "@noble/ed25519": "^2.2.1",