tenzro-sdk 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/LICENSE +4 -15
  2. package/README.md +197 -4
  3. package/dist/adaptive-burn.d.ts +40 -0
  4. package/dist/adaptive-burn.d.ts.map +1 -0
  5. package/dist/adaptive-burn.js +53 -0
  6. package/dist/adaptive-burn.js.map +1 -0
  7. package/dist/agent.d.ts +127 -12
  8. package/dist/agent.d.ts.map +1 -1
  9. package/dist/agent.js +176 -15
  10. package/dist/agent.js.map +1 -1
  11. package/dist/ap2.d.ts +96 -0
  12. package/dist/ap2.d.ts.map +1 -1
  13. package/dist/ap2.js +65 -0
  14. package/dist/ap2.js.map +1 -1
  15. package/dist/app.js +5 -5
  16. package/dist/app.js.map +1 -1
  17. package/dist/auth.d.ts +394 -0
  18. package/dist/auth.d.ts.map +1 -0
  19. package/dist/auth.js +237 -0
  20. package/dist/auth.js.map +1 -0
  21. package/dist/bond.d.ts +70 -0
  22. package/dist/bond.d.ts.map +1 -0
  23. package/dist/bond.js +172 -0
  24. package/dist/bond.js.map +1 -0
  25. package/dist/cct.d.ts +53 -0
  26. package/dist/cct.d.ts.map +1 -0
  27. package/dist/cct.js +30 -0
  28. package/dist/cct.js.map +1 -0
  29. package/dist/client.d.ts +215 -2
  30. package/dist/client.d.ts.map +1 -1
  31. package/dist/client.js +295 -12
  32. package/dist/client.js.map +1 -1
  33. package/dist/cortex.d.ts +227 -0
  34. package/dist/cortex.d.ts.map +1 -0
  35. package/dist/cortex.js +137 -0
  36. package/dist/cortex.js.map +1 -0
  37. package/dist/custody.d.ts +251 -0
  38. package/dist/custody.d.ts.map +1 -1
  39. package/dist/custody.js +216 -0
  40. package/dist/custody.js.map +1 -1
  41. package/dist/eip6963.d.ts +63 -0
  42. package/dist/eip6963.d.ts.map +1 -0
  43. package/dist/eip6963.js +67 -0
  44. package/dist/eip6963.js.map +1 -0
  45. package/dist/eip7702.d.ts +110 -0
  46. package/dist/eip7702.d.ts.map +1 -0
  47. package/dist/eip7702.js +73 -0
  48. package/dist/eip7702.js.map +1 -0
  49. package/dist/erc7683.d.ts +79 -0
  50. package/dist/erc7683.d.ts.map +1 -0
  51. package/dist/erc7683.js +82 -0
  52. package/dist/erc7683.js.map +1 -0
  53. package/dist/erc8004.d.ts +97 -0
  54. package/dist/erc8004.d.ts.map +1 -0
  55. package/dist/erc8004.js +182 -0
  56. package/dist/erc8004.js.map +1 -0
  57. package/dist/events.d.ts +45 -15
  58. package/dist/events.d.ts.map +1 -1
  59. package/dist/events.js +38 -8
  60. package/dist/events.js.map +1 -1
  61. package/dist/identity.d.ts +16 -2
  62. package/dist/identity.d.ts.map +1 -1
  63. package/dist/identity.js +19 -1
  64. package/dist/identity.js.map +1 -1
  65. package/dist/index.d.ts +52 -6
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +83 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/insurance.d.ts +38 -0
  70. package/dist/insurance.d.ts.map +1 -0
  71. package/dist/insurance.js +51 -0
  72. package/dist/insurance.js.map +1 -0
  73. package/dist/iroh.d.ts +104 -0
  74. package/dist/iroh.d.ts.map +1 -0
  75. package/dist/iroh.js +102 -0
  76. package/dist/iroh.js.map +1 -0
  77. package/dist/lifecycle.d.ts +41 -0
  78. package/dist/lifecycle.d.ts.map +1 -0
  79. package/dist/lifecycle.js +56 -0
  80. package/dist/lifecycle.js.map +1 -0
  81. package/dist/marketplace.d.ts +30 -2
  82. package/dist/marketplace.d.ts.map +1 -1
  83. package/dist/marketplace.js +36 -2
  84. package/dist/marketplace.js.map +1 -1
  85. package/dist/memory.d.ts +78 -0
  86. package/dist/memory.d.ts.map +1 -0
  87. package/dist/memory.js +60 -0
  88. package/dist/memory.js.map +1 -0
  89. package/dist/multimodal.d.ts +294 -0
  90. package/dist/multimodal.d.ts.map +1 -0
  91. package/dist/multimodal.js +160 -0
  92. package/dist/multimodal.js.map +1 -0
  93. package/dist/passkey.d.ts +193 -0
  94. package/dist/passkey.d.ts.map +1 -0
  95. package/dist/passkey.js +481 -0
  96. package/dist/passkey.js.map +1 -0
  97. package/dist/payment.d.ts +14 -1
  98. package/dist/payment.d.ts.map +1 -1
  99. package/dist/payment.js +15 -0
  100. package/dist/payment.js.map +1 -1
  101. package/dist/principal-chain.d.ts +41 -0
  102. package/dist/principal-chain.d.ts.map +1 -0
  103. package/dist/principal-chain.js +56 -0
  104. package/dist/principal-chain.js.map +1 -0
  105. package/dist/provider.d.ts +7 -6
  106. package/dist/provider.d.ts.map +1 -1
  107. package/dist/provider.js +9 -6
  108. package/dist/provider.js.map +1 -1
  109. package/dist/quota.d.ts +54 -0
  110. package/dist/quota.d.ts.map +1 -0
  111. package/dist/quota.js +71 -0
  112. package/dist/quota.js.map +1 -0
  113. package/dist/rpc.d.ts +43 -4
  114. package/dist/rpc.d.ts.map +1 -1
  115. package/dist/rpc.js +110 -3
  116. package/dist/rpc.js.map +1 -1
  117. package/dist/seed-agent.d.ts +52 -0
  118. package/dist/seed-agent.d.ts.map +1 -0
  119. package/dist/seed-agent.js +69 -0
  120. package/dist/seed-agent.js.map +1 -0
  121. package/dist/settlement.d.ts +69 -10
  122. package/dist/settlement.d.ts.map +1 -1
  123. package/dist/settlement.js +220 -16
  124. package/dist/settlement.js.map +1 -1
  125. package/dist/signer.d.ts +181 -0
  126. package/dist/signer.d.ts.map +1 -0
  127. package/dist/signer.js +69 -0
  128. package/dist/signer.js.map +1 -0
  129. package/dist/sla.d.ts +95 -0
  130. package/dist/sla.d.ts.map +1 -0
  131. package/dist/sla.js +70 -0
  132. package/dist/sla.js.map +1 -0
  133. package/dist/snapshot.d.ts +122 -0
  134. package/dist/snapshot.d.ts.map +1 -0
  135. package/dist/snapshot.js +80 -0
  136. package/dist/snapshot.js.map +1 -0
  137. package/dist/staking.d.ts +5 -5
  138. package/dist/staking.d.ts.map +1 -1
  139. package/dist/staking.js +8 -6
  140. package/dist/staking.js.map +1 -1
  141. package/dist/streaming.js.map +1 -1
  142. package/dist/svm-cross-vm.d.ts +109 -0
  143. package/dist/svm-cross-vm.d.ts.map +1 -0
  144. package/dist/svm-cross-vm.js +215 -0
  145. package/dist/svm-cross-vm.js.map +1 -0
  146. package/dist/task.d.ts +56 -22
  147. package/dist/task.d.ts.map +1 -1
  148. package/dist/task.js +65 -31
  149. package/dist/task.js.map +1 -1
  150. package/dist/token.d.ts +41 -11
  151. package/dist/token.d.ts.map +1 -1
  152. package/dist/token.js.map +1 -1
  153. package/dist/training.d.ts +108 -0
  154. package/dist/training.d.ts.map +1 -0
  155. package/dist/training.js +53 -0
  156. package/dist/training.js.map +1 -0
  157. package/dist/types.d.ts +247 -17
  158. package/dist/types.d.ts.map +1 -1
  159. package/dist/types.js.map +1 -1
  160. package/dist/validator.d.ts +76 -0
  161. package/dist/validator.d.ts.map +1 -0
  162. package/dist/validator.js +47 -0
  163. package/dist/validator.js.map +1 -0
  164. package/dist/wallet.d.ts +26 -9
  165. package/dist/wallet.d.ts.map +1 -1
  166. package/dist/wallet.js +34 -19
  167. package/dist/wallet.js.map +1 -1
  168. package/dist/wormhole.d.ts +76 -0
  169. package/dist/wormhole.d.ts.map +1 -0
  170. package/dist/wormhole.js +56 -0
  171. package/dist/wormhole.js.map +1 -0
  172. package/package.json +3 -2
package/dist/agent.js CHANGED
@@ -19,35 +19,98 @@ class AgentClient {
19
19
  this.rpc = rpc;
20
20
  }
21
21
  /**
22
- * Register a new AI agent on the network.
23
- * @param agentId - Unique identifier for the agent
24
- * @param name - Human-readable name
25
- * @param capabilities - List of agent capabilities
26
- * @returns Registration response with agent ID and status
22
+ * Register a new AI agent on the network. The node provisions a server-
23
+ * side hybrid (FROST Ed25519 + ML-DSA-65) wallet and binds it to a
24
+ * fresh `did:tenzro:machine:` identity. Returns the agent's `agent_id`,
25
+ * `wallet_address`, `tenzro_did`, the agent's `classical_public_key`
26
+ * (32-byte Ed25519 hex) and the `pq_verifying_key_len`.
27
+ *
28
+ * For self-custodial registration (no server-held keys), see
29
+ * {@link registerWithKeys}.
30
+ *
31
+ * @param name - Human-readable agent name
32
+ * @param creator - Hex-encoded address that will own this agent
33
+ * @param capabilities - Capability short names: `nlp`, `vision`, `code`,
34
+ * `data`, `blockchain`, `smart_contract`, `api_integration`,
35
+ * `coordination`. Anything else becomes a `Custom` capability.
27
36
  */
28
- async register(agentId, name, capabilities) {
37
+ async register(name, creator, capabilities) {
29
38
  return this.rpc.call("tenzro_registerAgent", [
30
39
  {
31
- agent_id: agentId,
32
40
  name,
41
+ creator,
33
42
  capabilities,
34
43
  },
35
44
  ]);
36
45
  }
37
46
  /**
38
- * Send a message to another agent.
39
- * @param agentId - Target agent identifier
40
- * @param message - Message content
41
- * @returns Message response with payload and message ID
47
+ * BYOK registration: register an agent self-custodially with a
48
+ * caller-supplied hybrid keypair. Both `publicKey` (32 bytes, Ed25519)
49
+ * and `pqPublicKey` (1952 bytes, ML-DSA-65) must be supplied as hex
50
+ * (with or without `0x` prefix). The node performs no wallet
51
+ * provisioning; the caller retains full control of the signing keys
52
+ * and is responsible for producing all `sendAgentMessage` signatures
53
+ * off-node. The returned envelope sets `byok: true` and omits the
54
+ * `classical_public_key` / `pq_verifying_key_len` fields (the caller
55
+ * already has them).
56
+ */
57
+ async registerWithKeys(name, creator, capabilities, publicKey, pqPublicKey) {
58
+ return this.rpc.call("tenzro_registerAgent", [
59
+ {
60
+ name,
61
+ creator,
62
+ capabilities,
63
+ public_key: publicKey,
64
+ pq_public_key: pqPublicKey,
65
+ },
66
+ ]);
67
+ }
68
+ /**
69
+ * Send an unsigned `AgentMessage` from one registered agent to another.
70
+ * Only valid when the local node's `MessageRouter` has
71
+ * `enable_signing == false` (test/dev configs). On the production
72
+ * router this call is rejected with a signature-required error — use
73
+ * {@link sendMessageSigned} instead.
42
74
  */
43
- async sendMessage(agentId, message) {
75
+ async sendMessage(from, to, message) {
44
76
  return this.rpc.call("tenzro_sendAgentMessage", [
45
77
  {
46
- agent_id: agentId,
78
+ from,
79
+ to,
47
80
  message,
48
81
  },
49
82
  ]);
50
83
  }
84
+ /**
85
+ * Send a hybrid-signed `AgentMessage`. Both signature legs are required
86
+ * when the router enforces signing (production default); half-signed
87
+ * messages are rejected to prevent downgrade attacks.
88
+ *
89
+ * The signing preimage is `SHA-256(AgentMessage::signing_data())`,
90
+ * which depends on `from`, `to`, the resolved sender/recipient wallet
91
+ * addresses, the message body, the message type, and the optional
92
+ * `replyTo`. Callers must construct the same preimage off-node and
93
+ * produce both an Ed25519 (64-byte) and an ML-DSA-65 (3309-byte)
94
+ * signature. Both signatures are passed as hex (with or without `0x`
95
+ * prefix).
96
+ *
97
+ * `replyTo` (if used) MUST be set on the message before signing,
98
+ * because it is part of `signing_data` — the SDK forwards it verbatim
99
+ * so the server reconstructs the same preimage the caller signed.
100
+ */
101
+ async sendMessageSigned(params) {
102
+ return this.rpc.call("tenzro_sendAgentMessage", [
103
+ {
104
+ from: params.from,
105
+ to: params.to,
106
+ message: params.message,
107
+ signature: params.signature,
108
+ pq_signature: params.pqSignature,
109
+ message_type: params.messageType,
110
+ reply_to: params.replyTo,
111
+ },
112
+ ]);
113
+ }
51
114
  /**
52
115
  * Delegate a task to an agent using the A2A protocol.
53
116
  * @param agentId - Target agent identifier
@@ -136,14 +199,26 @@ class AgentClient {
136
199
  // ─── AgentKit: Template-based agent lifecycle ─────────────────────────────
137
200
  /**
138
201
  * Spawn a new agent from a registered template.
202
+ *
203
+ * When `parentMachineDid` is supplied, the spawned agent's effective
204
+ * delegation scope is the strict intersection of the parent's scope and
205
+ * the template's spec — the child can never be broader than its parent
206
+ * on any axis (numeric ceilings, allow-lists, time bound).
207
+ *
139
208
  * @param templateId - The template to instantiate
140
209
  * @param displayName - Optional human-readable name for the spawned agent
141
210
  * @param context - Optional key-value context passed to the agent at boot
211
+ * @param parentMachineDid - Optional parent machine DID to attenuate against
142
212
  * @returns Spawned agent info with agent_id, template_id, name, and status
143
213
  */
144
- async spawnAgentTemplate(templateId, displayName, context) {
214
+ async spawnAgentTemplate(templateId, displayName, context, parentMachineDid) {
145
215
  return this.rpc.call("tenzro_spawnAgentTemplate", [
146
- { template_id: templateId, display_name: displayName, context },
216
+ {
217
+ template_id: templateId,
218
+ display_name: displayName,
219
+ context,
220
+ parent_machine_did: parentMachineDid,
221
+ },
147
222
  ]);
148
223
  }
149
224
  /**
@@ -295,6 +370,92 @@ class AgentClient {
295
370
  { agent_id: agentId },
296
371
  ]);
297
372
  }
373
+ /**
374
+ * Operational suspend (Active → Suspended). The reversible counterpart of
375
+ * `resumeAgent`. Distinct from the kill-switch `pauseAgent` /
376
+ * `quarantineAgent` axes (those require signed transactions).
377
+ * @param agentId - The agent identifier
378
+ * @param reason - Free-form audit reason
379
+ */
380
+ async suspendAgent(agentId, reason) {
381
+ return this.rpc.call("tenzro_suspendAgent", {
382
+ agent_id: agentId,
383
+ reason,
384
+ });
385
+ }
386
+ /**
387
+ * Recover a Suspended agent back to Active. Used to recover from auto-
388
+ * suspend (heartbeat monitor) or a manual `suspendAgent`.
389
+ * @param agentId - The agent identifier
390
+ */
391
+ async resumeAgent(agentId) {
392
+ return this.rpc.call("tenzro_resumeAgent", {
393
+ agent_id: agentId,
394
+ });
395
+ }
396
+ /**
397
+ * Send a liveness heartbeat for an agent. The heartbeat monitor uses
398
+ * `last_heartbeat` to decide whether to auto-suspend on the next sweep.
399
+ * @param agentId - The agent identifier
400
+ */
401
+ async agentHeartbeat(agentId) {
402
+ return this.rpc.call("tenzro_agentHeartbeat", {
403
+ agent_id: agentId,
404
+ });
405
+ }
406
+ /**
407
+ * Fetch every capability attestation registered on this node for
408
+ * `capability`. `capability` accepts the same short-form tags as
409
+ * `register` (`nlp`, `vision`, `code`, `data`, `blockchain`,
410
+ * `smart_contract`, `api_integration`, `coordination`) — anything else
411
+ * is treated as a `Custom` capability with that name.
412
+ *
413
+ * When `verifiedOnly` is `true` the node re-runs query-time signature
414
+ * + expiry checks before returning (defence in depth on top of
415
+ * submit-time verification per #52). Default is `false`.
416
+ *
417
+ * Returns `{capability, verified_only, attestations: [...], total}`.
418
+ *
419
+ * @param capability - Capability short-form or custom name
420
+ * @param verifiedOnly - Force query-time re-verification before returning
421
+ */
422
+ async getCapabilityAttestations(capability, verifiedOnly = false) {
423
+ return this.rpc.call("tenzro_getCapabilityAttestations", {
424
+ capability,
425
+ verified_only: verifiedOnly,
426
+ });
427
+ }
428
+ /**
429
+ * Fetch every capability attestation issued for a specific agent. The
430
+ * reply includes the agent's registered capability list, the full
431
+ * attestation envelopes, and the agent's registered wallet address
432
+ * (used by the self-attestation guard).
433
+ *
434
+ * Returns `{agent_id, capabilities, attestations: [...],
435
+ * total_attestations, registered_address}`.
436
+ *
437
+ * @param agentId - The agent ID to look up
438
+ */
439
+ async getAgentCapabilityAttestations(agentId) {
440
+ return this.rpc.call("tenzro_getAgentCapabilityAttestations", {
441
+ agent_id: agentId,
442
+ });
443
+ }
444
+ /**
445
+ * Pick the "best" agent on this node for `capability`. Selection prefers
446
+ * the most recent TEE-backed attestation, falling back to any agent that
447
+ * has registered the capability. `capability` is parsed with the same
448
+ * short-form/`Custom` rules as `getCapabilityAttestations`.
449
+ *
450
+ * Returns `{capability, best_agent: string | null, total_candidates}`.
451
+ *
452
+ * @param capability - Capability short-form or custom name
453
+ */
454
+ async findBestAgentForCapability(capability) {
455
+ return this.rpc.call("tenzro_findBestAgentForCapability", {
456
+ capability,
457
+ });
458
+ }
298
459
  }
299
460
  exports.AgentClient = AgentClient;
300
461
  //# sourceMappingURL=agent.js.map
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";;;AAkBA,0DAA0D;AAC1D,SAAS,YAAY;IACnB,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACnE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAa,WAAW;IACF;IAApB,YAAoB,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAEtC;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,OAAe,EACf,YAAsB;QAEtB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAwB,sBAAsB,EAAE;YAClE;gBACE,IAAI;gBACJ,OAAO;gBACP,YAAY;aACb;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,gBAAgB,CACpB,IAAY,EACZ,OAAe,EACf,YAAsB,EACtB,SAAiB,EACjB,WAAmB;QAEnB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAwB,sBAAsB,EAAE;YAClE;gBACE,IAAI;gBACJ,OAAO;gBACP,YAAY;gBACZ,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,WAAW;aAC3B;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CACf,IAAY,EACZ,EAAU,EACV,OAAe;QAEf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAuB,yBAAyB,EAAE;YACpE;gBACE,IAAI;gBACJ,EAAE;gBACF,OAAO;aACR;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAQvB;QACC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAuB,yBAAyB,EAAE;YACpE;gBACE,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,WAAW;gBAChC,YAAY,EAAE,MAAM,CAAC,WAAW;gBAChC,QAAQ,EAAE,MAAM,CAAC,OAAO;aACzB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,eAAuB;QAEvB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAuB,MAAM,EAAE;YACjD,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE;gBACN,EAAE,EAAE,YAAY,EAAE;gBAClB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;iBACjD;aACF;YACD,EAAE,EAAE,CAAC;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAkB,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,IAAY,EACZ,YAAsB;QAEtB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAqB,mBAAmB,EAAE;YAC5D,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,IAAY,EACZ,YAAqB;QAErB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAuB,qBAAqB,EAAE;YAChE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CACf,cAAsB,EACtB,OAAwD,EACxD,OAAkF;QAElF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAsB,oBAAoB,EAAE;YAC9D,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAc,uBAAuB,EAAE;YACzD,EAAE,QAAQ,EAAE,OAAO,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAyB,uBAAuB,EAAE;YACpE,EAAE,QAAQ,EAAE,OAAO,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,kBAAkB,CACtB,UAAkB,EAClB,WAAoB,EACpB,OAAgC,EAChC,gBAAyB;QAEzB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAA6B,2BAA2B,EAAE;YAC5E;gBACE,WAAW,EAAE,UAAU;gBACvB,YAAY,EAAE,WAAW;gBACzB,OAAO;gBACP,kBAAkB,EAAE,gBAAgB;aACrC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,aAAsB,EACtB,MAAgB;QAEhB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAyB,yBAAyB,EAAE;YACtE,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE;SACtE,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAgB,8BAA8B,EAAE;YAClE,EAAE,WAAW,EAAE,UAAU,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CACvB,UAAkB,EAClB,MAAiC;QAEjC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAgB,4BAA4B,EAAE;YAChE,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAE/E;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,OAIpB;QACC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC5C;gBACE,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,YAAY,EAAE,OAAO,EAAE,WAAW;gBAClC,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB,CACvB,QAAgB,EAChB,IAAY,EACZ,OAAe,EACf,YAAuB;QAEvB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACjD;gBACE,SAAS,EAAE,QAAQ;gBACnB,IAAI;gBACJ,QAAQ,EAAE,OAAO;gBACjB,YAAY;aACb;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACb,OAAe,EACf,WAAmB,EACnB,UAAkB;QAElB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACvC;gBACE,QAAQ,EAAE,OAAO;gBACjB,YAAY,EAAE,WAAW;gBACzB,WAAW,EAAE,UAAU;aACxB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CACb,OAAe,EACf,SAAiB,EACjB,OAAe,EACf,MAAc,EACd,KAAc;QAEd,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACvC;gBACE,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,OAAO;gBACjB,MAAM;gBACN,KAAK;aACN;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,oBAAoB,CACxB,OAAe,EACf,OAAe,EACf,MAAc,EACd,SAAkB;QAElB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE;YAClD;gBACE,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,OAAO;gBACjB,MAAM;gBACN,UAAU,EAAE,SAAS;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,MAAiB;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,0BAA0B,EAAE;YAC1D,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAY,0BAA0B,EAAE;YAC1D,EAAE,QAAQ,EAAE,OAAO,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,MAAc;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAU,qBAAqB,EAAE;YACnD,QAAQ,EAAE,OAAO;YACjB,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAU,oBAAoB,EAAE;YAClD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAU,uBAAuB,EAAE;YACrD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,yBAAyB,CAC7B,UAAkB,EAClB,eAAwB,KAAK;QAE7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAU,kCAAkC,EAAE;YAChE,UAAU;YACV,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,8BAA8B,CAClC,OAAe;QAEf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAU,uCAAuC,EAAE;YACrE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,0BAA0B,CAC9B,UAAkB;QAElB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAU,mCAAmC,EAAE;YACjE,UAAU;SACX,CAAC,CAAC;IACL,CAAC;CACF;AAviBD,kCAuiBC"}
package/dist/ap2.d.ts CHANGED
@@ -1,5 +1,57 @@
1
1
  import type { RpcClient } from './rpc';
2
2
  import type { Ap2Session, Ap2Authorization, PaymentReceipt, CancelResult } from './types';
3
+ /**
4
+ * Result of verifying a single AP2 mandate (Intent / Cart / Payment VDC).
5
+ */
6
+ export interface Ap2MandateVerification {
7
+ /** Whether the VDC proof is valid. */
8
+ valid: boolean;
9
+ /** Mandate type: "Intent" | "Cart" | "Payment". */
10
+ mandate_type: string;
11
+ /** Issuer DID. */
12
+ issuer: string;
13
+ /** Subject DID (agent/merchant). */
14
+ subject: string;
15
+ /** Expiration timestamp (Unix seconds). */
16
+ expires_at: number;
17
+ /** Reason for failure if `valid` is false. */
18
+ error?: string;
19
+ }
20
+ /**
21
+ * Result of validating an Intent+Cart mandate pair.
22
+ */
23
+ export interface Ap2MandatePairValidation {
24
+ /** Whether the pair is mutually consistent and both VDCs verify. */
25
+ valid: boolean;
26
+ /** Mandate id of the intent VDC (set on success). */
27
+ intent_mandate_id?: string;
28
+ /** Mandate id of the cart VDC (set on success). */
29
+ cart_mandate_id?: string;
30
+ /** Principal DID — intent signer (set on success). */
31
+ principal_did?: string;
32
+ /** Agent DID — cart signer (set on success). */
33
+ agent_did?: string;
34
+ /**
35
+ * Whether the TDIP delegation gate ran in addition to AP2 validation.
36
+ * Mirrors the `enforce_delegation` request flag.
37
+ */
38
+ delegation_enforced: boolean;
39
+ /** Reason for failure if `valid` is false. */
40
+ error?: string;
41
+ }
42
+ /**
43
+ * AP2 protocol metadata.
44
+ */
45
+ export interface Ap2ProtocolInfo {
46
+ /** AP2 protocol version. */
47
+ version: string;
48
+ /** Supported mandate types (e.g. ["Intent", "Cart", "Payment"]). */
49
+ supported_mandate_types: string[];
50
+ /** Supported VC formats (e.g. ["jwt_vc", "ldp_vc"]). */
51
+ supported_vc_formats: string[];
52
+ /** Recognized issuer DID methods (e.g. ["did:tenzro", "did:web"]). */
53
+ supported_did_methods: string[];
54
+ }
3
55
  /**
4
56
  * Client for the AP2 (Agentic Payment Protocol).
5
57
  * Enables agents to establish payment sessions with providers,
@@ -50,5 +102,49 @@ export declare class Ap2Client {
50
102
  * @returns Array of AP2 sessions
51
103
  */
52
104
  listAgentSessions(agentDid: string): Promise<Ap2Session[]>;
105
+ /**
106
+ * Sign an AP2 Intent or Cart mandate via the auth-bound wallet's Ed25519
107
+ * key. The node builds the canonical AP2 v0.2 preimage internally and
108
+ * signs with `WalletService` — the caller never sees raw key material.
109
+ * The returned Vdc self-verifies before being returned.
110
+ *
111
+ * Auth: DPoP+JWT mandatory. The wallet must be Ed25519. `signerDid` MUST
112
+ * match the controller of the auth-bound wallet (principal for intent,
113
+ * agent for cart).
114
+ *
115
+ * @param mandateKind - `"intent"` or `"cart"`.
116
+ * @param mandate - The full IntentMandate or CartMandate JSON.
117
+ * @param signerDid - Signer DID (principal for intent, agent for cart).
118
+ */
119
+ signMandate(mandateKind: 'intent' | 'cart', mandate: unknown, signerDid: string): Promise<unknown>;
120
+ /**
121
+ * Verify a single AP2 mandate (Verifiable Digital Credential).
122
+ *
123
+ * Checks the VDC proof, issuer, and schema for Intent, Cart, or Payment
124
+ * mandates per Google's AP2 specification.
125
+ *
126
+ * @param vdc - The full JSON-LD VC envelope with proof.
127
+ */
128
+ verifyMandate(vdc: unknown): Promise<Ap2MandateVerification>;
129
+ /**
130
+ * Validate an AP2 Intent+Cart mandate pair for consistency.
131
+ *
132
+ * Ensures the cart references the intent, amounts/items match the intent's
133
+ * constraints, and both VDCs verify. When `enforceDelegation` is true,
134
+ * additionally cross-checks the agent's TDIP `DelegationScope` against
135
+ * the cart total via `IdentityRegistry::enforce_operation(agent_did,
136
+ * "payment", total)`. Both layers must admit the cart.
137
+ *
138
+ * @param intentVdc - The principal-signed IntentMandate VDC.
139
+ * @param cartVdc - The agent-signed CartMandate VDC.
140
+ * @param enforceDelegation - If true, run the TDIP delegation gate after
141
+ * AP2 validation succeeds. Defaults to false (AP2-only).
142
+ */
143
+ validateMandatePair(intentVdc: unknown, cartVdc: unknown, enforceDelegation?: boolean): Promise<Ap2MandatePairValidation>;
144
+ /**
145
+ * Return AP2 protocol metadata (version, supported mandate types,
146
+ * VC formats, and recognized DID methods).
147
+ */
148
+ protocolInfo(): Promise<Ap2ProtocolInfo>;
53
149
  }
54
150
  //# sourceMappingURL=ap2.d.ts.map
package/dist/ap2.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ap2.d.ts","sourceRoot":"","sources":["../src/ap2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE3C;;;;;;;;OAQG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAe,GACrB,OAAO,CAAC,UAAU,CAAC;IAYtB;;;;;OAKG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC;IAM5B;;;;;OAKG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC;IAM1B;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAM7D;;;;OAIG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAMxD;;;;OAIG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAKjE"}
1
+ {"version":3,"file":"ap2.d.ts","sourceRoot":"","sources":["../src/ap2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,wDAAwD;IACxD,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,sEAAsE;IACtE,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE3C;;;;;;;;OAQG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAAe,GACrB,OAAO,CAAC,UAAU,CAAC;IAYtB;;;;;OAKG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC;IAM5B;;;;;OAKG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,cAAc,CAAC;IAM1B;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAM7D;;;;OAIG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAMxD;;;;OAIG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAQhE;;;;;;;;;;;;;OAaG;IACG,WAAW,CACf,WAAW,EAAE,QAAQ,GAAG,MAAM,EAC9B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC;IAUnB;;;;;;;OAOG;IACG,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAMlE;;;;;;;;;;;;;OAaG;IACG,mBAAmB,CACvB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,EAChB,iBAAiB,GAAE,OAAe,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAWpC;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;CAG/C"}
package/dist/ap2.js CHANGED
@@ -83,6 +83,71 @@ class Ap2Client {
83
83
  { agent_did: agentDid },
84
84
  ]);
85
85
  }
86
+ // ─── AP2 Mandate Signing + Verification (Google AP2 spec) ──────────────
87
+ /**
88
+ * Sign an AP2 Intent or Cart mandate via the auth-bound wallet's Ed25519
89
+ * key. The node builds the canonical AP2 v0.2 preimage internally and
90
+ * signs with `WalletService` — the caller never sees raw key material.
91
+ * The returned Vdc self-verifies before being returned.
92
+ *
93
+ * Auth: DPoP+JWT mandatory. The wallet must be Ed25519. `signerDid` MUST
94
+ * match the controller of the auth-bound wallet (principal for intent,
95
+ * agent for cart).
96
+ *
97
+ * @param mandateKind - `"intent"` or `"cart"`.
98
+ * @param mandate - The full IntentMandate or CartMandate JSON.
99
+ * @param signerDid - Signer DID (principal for intent, agent for cart).
100
+ */
101
+ async signMandate(mandateKind, mandate, signerDid) {
102
+ return this.rpc.call('tenzro_ap2SignMandate', [
103
+ {
104
+ mandate_kind: mandateKind,
105
+ mandate,
106
+ signer_did: signerDid,
107
+ },
108
+ ]);
109
+ }
110
+ /**
111
+ * Verify a single AP2 mandate (Verifiable Digital Credential).
112
+ *
113
+ * Checks the VDC proof, issuer, and schema for Intent, Cart, or Payment
114
+ * mandates per Google's AP2 specification.
115
+ *
116
+ * @param vdc - The full JSON-LD VC envelope with proof.
117
+ */
118
+ async verifyMandate(vdc) {
119
+ return this.rpc.call('tenzro_ap2VerifyMandate', [
120
+ { vdc },
121
+ ]);
122
+ }
123
+ /**
124
+ * Validate an AP2 Intent+Cart mandate pair for consistency.
125
+ *
126
+ * Ensures the cart references the intent, amounts/items match the intent's
127
+ * constraints, and both VDCs verify. When `enforceDelegation` is true,
128
+ * additionally cross-checks the agent's TDIP `DelegationScope` against
129
+ * the cart total via `IdentityRegistry::enforce_operation(agent_did,
130
+ * "payment", total)`. Both layers must admit the cart.
131
+ *
132
+ * @param intentVdc - The principal-signed IntentMandate VDC.
133
+ * @param cartVdc - The agent-signed CartMandate VDC.
134
+ * @param enforceDelegation - If true, run the TDIP delegation gate after
135
+ * AP2 validation succeeds. Defaults to false (AP2-only).
136
+ */
137
+ async validateMandatePair(intentVdc, cartVdc, enforceDelegation = false) {
138
+ return this.rpc.call('tenzro_ap2ValidateMandatePair', [{
139
+ intent_vdc: intentVdc,
140
+ cart_vdc: cartVdc,
141
+ enforce_delegation: enforceDelegation,
142
+ }]);
143
+ }
144
+ /**
145
+ * Return AP2 protocol metadata (version, supported mandate types,
146
+ * VC formats, and recognized DID methods).
147
+ */
148
+ async protocolInfo() {
149
+ return this.rpc.call('tenzro_ap2ProtocolInfo', []);
150
+ }
86
151
  }
87
152
  exports.Ap2Client = Ap2Client;
88
153
  //# sourceMappingURL=ap2.js.map
package/dist/ap2.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ap2.js","sourceRoot":"","sources":["../src/ap2.ts"],"names":[],"mappings":";;;AAQA;;;;GAIG;AACH,MAAa,SAAS;IACS;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,WAAmB,EACnB,OAAe,EACf,SAAiB,EACjB,QAAgB,MAAM;QAEtB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,yBAAyB,EAAE;YAC1D;gBACE,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,WAAW;gBACzB,OAAO;gBACP,UAAU,EAAE,SAAS;gBACrB,KAAK;aACN;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,SAAiB,EACjB,MAAc;QAEd,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAmB,4BAA4B,EAAE;YACnE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,eAAuB;QAEvB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAiB,0BAA0B,EAAE;YAC/D,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,yBAAyB,EAAE;YAC5D,EAAE,UAAU,EAAE,SAAS,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,sBAAsB,EAAE;YACvD,EAAE,UAAU,EAAE,SAAS,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,6BAA6B,EAAE;YAChE,EAAE,SAAS,EAAE,QAAQ,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;CACF;AA5FD,8BA4FC"}
1
+ {"version":3,"file":"ap2.js","sourceRoot":"","sources":["../src/ap2.ts"],"names":[],"mappings":";;;AA+DA;;;;GAIG;AACH,MAAa,SAAS;IACS;IAA7B,YAA6B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,WAAmB,EACnB,OAAe,EACf,SAAiB,EACjB,QAAgB,MAAM;QAEtB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,yBAAyB,EAAE;YAC1D;gBACE,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,WAAW;gBACzB,OAAO;gBACP,UAAU,EAAE,SAAS;gBACrB,KAAK;aACN;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,SAAiB,EACjB,MAAc;QAEd,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAmB,4BAA4B,EAAE;YACnE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,eAAuB;QAEvB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAiB,0BAA0B,EAAE;YAC/D,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,yBAAyB,EAAE;YAC5D,EAAE,UAAU,EAAE,SAAS,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAa,sBAAsB,EAAE;YACvD,EAAE,UAAU,EAAE,SAAS,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,6BAA6B,EAAE;YAChE,EAAE,SAAS,EAAE,QAAQ,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAE1E;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,WAAW,CACf,WAA8B,EAC9B,OAAgB,EAChB,SAAiB;QAEjB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAU,uBAAuB,EAAE;YACrD;gBACE,YAAY,EAAE,WAAW;gBACzB,OAAO;gBACP,UAAU,EAAE,SAAS;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,GAAY;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAyB,yBAAyB,EAAE;YACtE,EAAE,GAAG,EAAE;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,mBAAmB,CACvB,SAAkB,EAClB,OAAgB,EAChB,oBAA6B,KAAK;QAElC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,+BAA+B,EAC/B,CAAC;gBACC,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,OAAO;gBACjB,kBAAkB,EAAE,iBAAiB;aACtC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAkB,wBAAwB,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;CACF;AA7KD,8BA6KC"}
package/dist/app.js CHANGED
@@ -62,9 +62,9 @@ class AppClient {
62
62
  * controls the developer's master wallet.
63
63
  */
64
64
  static async create(rpcUrl, masterPrivateKey) {
65
- const config = { endpoint: rpcUrl, timeout: 30000 };
65
+ const config = { endpoint: rpcUrl, timeout: 30_000 };
66
66
  const tenzroClient = new client_1.TenzroClient(config);
67
- const rpc = new rpc_1.RpcClient(rpcUrl, undefined, 30000);
67
+ const rpc = new rpc_1.RpcClient(rpcUrl, undefined, 30_000);
68
68
  // Derive master wallet address from the private key
69
69
  const walletInfo = await rpc.call("tenzro_createAccount", [{ private_key: masterPrivateKey }]);
70
70
  const masterWallet = {
@@ -77,9 +77,9 @@ class AppClient {
77
77
  * Connect using an API key that resolves to a master wallet on the server.
78
78
  */
79
79
  static async fromApiKey(rpcUrl, apiKey) {
80
- const config = { endpoint: rpcUrl, timeout: 30000 };
80
+ const config = { endpoint: rpcUrl, timeout: 30_000 };
81
81
  const tenzroClient = new client_1.TenzroClient(config);
82
- const rpc = new rpc_1.RpcClient(rpcUrl, undefined, 30000);
82
+ const rpc = new rpc_1.RpcClient(rpcUrl, undefined, 30_000);
83
83
  const walletInfo = await rpc.call("tenzro_resolveApiKey", [{ api_key: apiKey }]);
84
84
  const masterWallet = {
85
85
  address: walletInfo.address ?? "0x0",
@@ -261,7 +261,7 @@ class AppClient {
261
261
  title,
262
262
  description,
263
263
  task_type: taskType,
264
- max_price: `0x${budgetWei.toString(16)}`,
264
+ max_price: budgetWei.toString(),
265
265
  poster: this.masterWalletInfo.address,
266
266
  on_behalf_of: userAddress,
267
267
  },
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}