agent-passport-system 4.3.0 → 4.4.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 (323) hide show
  1. package/README.md +6 -6
  2. package/dist/src/adapters/crewai.js +2 -2
  3. package/dist/src/adapters/crewai.js.map +1 -1
  4. package/dist/src/adapters/gonka.js +5 -5
  5. package/dist/src/adapters/gonka.js.map +1 -1
  6. package/dist/src/adapters/ibac.js +2 -2
  7. package/dist/src/adapters/ibac.js.map +1 -1
  8. package/dist/src/adapters/langchain.js +2 -2
  9. package/dist/src/adapters/langchain.js.map +1 -1
  10. package/dist/src/adapters/mcp.js +2 -2
  11. package/dist/src/adapters/mcp.js.map +1 -1
  12. package/dist/src/adapters/oauth-id-jag/import-v1.js +4 -4
  13. package/dist/src/adapters/oauth-id-jag/import-v1.js.map +1 -1
  14. package/dist/src/adapters/oauth-id-jag/index.js +4 -4
  15. package/dist/src/adapters/oauth-id-jag/index.js.map +1 -1
  16. package/dist/src/cli/index.js +50 -5
  17. package/dist/src/cli/index.js.map +1 -1
  18. package/dist/src/core/a2a.js +2 -2
  19. package/dist/src/core/a2a.js.map +1 -1
  20. package/dist/src/core/action-ref.d.ts +7 -28
  21. package/dist/src/core/action-ref.d.ts.map +1 -1
  22. package/dist/src/core/action-ref.js +20 -6
  23. package/dist/src/core/action-ref.js.map +1 -1
  24. package/dist/src/core/agora.js +2 -2
  25. package/dist/src/core/agora.js.map +1 -1
  26. package/dist/src/core/aps-txt.d.ts.map +1 -1
  27. package/dist/src/core/aps-txt.js +4 -3
  28. package/dist/src/core/aps-txt.js.map +1 -1
  29. package/dist/src/core/attestation.d.ts +8 -0
  30. package/dist/src/core/attestation.d.ts.map +1 -1
  31. package/dist/src/core/attestation.js +13 -3
  32. package/dist/src/core/attestation.js.map +1 -1
  33. package/dist/src/core/behavioral-fingerprint.js +2 -2
  34. package/dist/src/core/behavioral-fingerprint.js.map +1 -1
  35. package/dist/src/core/behavioral-memory-receipt.js +2 -2
  36. package/dist/src/core/behavioral-memory-receipt.js.map +1 -1
  37. package/dist/src/core/behavioral-memory.js +3 -3
  38. package/dist/src/core/behavioral-memory.js.map +1 -1
  39. package/dist/src/core/bilateral-receipt.d.ts.map +1 -1
  40. package/dist/src/core/bilateral-receipt.js +34 -8
  41. package/dist/src/core/bilateral-receipt.js.map +1 -1
  42. package/dist/src/core/canonical-jcs.d.ts +36 -2
  43. package/dist/src/core/canonical-jcs.d.ts.map +1 -1
  44. package/dist/src/core/canonical-jcs.js +96 -7
  45. package/dist/src/core/canonical-jcs.js.map +1 -1
  46. package/dist/src/core/canonical.d.ts +26 -0
  47. package/dist/src/core/canonical.d.ts.map +1 -1
  48. package/dist/src/core/canonical.js +64 -0
  49. package/dist/src/core/canonical.js.map +1 -1
  50. package/dist/src/core/charter.d.ts.map +1 -1
  51. package/dist/src/core/charter.js +25 -17
  52. package/dist/src/core/charter.js.map +1 -1
  53. package/dist/src/core/commerce.js +2 -2
  54. package/dist/src/core/commerce.js.map +1 -1
  55. package/dist/src/core/completion.js +2 -2
  56. package/dist/src/core/completion.js.map +1 -1
  57. package/dist/src/core/coordination.js +10 -10
  58. package/dist/src/core/coordination.js.map +1 -1
  59. package/dist/src/core/credential-request.js +2 -2
  60. package/dist/src/core/credential-request.js.map +1 -1
  61. package/dist/src/core/cross-chain.d.ts +8 -0
  62. package/dist/src/core/cross-chain.d.ts.map +1 -1
  63. package/dist/src/core/cross-chain.js +23 -9
  64. package/dist/src/core/cross-chain.js.map +1 -1
  65. package/dist/src/core/data-lifecycle.js +7 -7
  66. package/dist/src/core/data-lifecycle.js.map +1 -1
  67. package/dist/src/core/data-source-attribution.js +3 -3
  68. package/dist/src/core/data-source-attribution.js.map +1 -1
  69. package/dist/src/core/data-source.js +5 -5
  70. package/dist/src/core/data-source.js.map +1 -1
  71. package/dist/src/core/decision-semantics.d.ts +9 -9
  72. package/dist/src/core/decision-semantics.d.ts.map +1 -1
  73. package/dist/src/core/decision-semantics.js +20 -6
  74. package/dist/src/core/decision-semantics.js.map +1 -1
  75. package/dist/src/core/delegation.d.ts.map +1 -1
  76. package/dist/src/core/delegation.js +3 -2
  77. package/dist/src/core/delegation.js.map +1 -1
  78. package/dist/src/core/did.js +2 -2
  79. package/dist/src/core/did.js.map +1 -1
  80. package/dist/src/core/encrypted-messaging.js +5 -5
  81. package/dist/src/core/encrypted-messaging.js.map +1 -1
  82. package/dist/src/core/escalation.js +4 -4
  83. package/dist/src/core/escalation.js.map +1 -1
  84. package/dist/src/core/evaluation-context.js +3 -3
  85. package/dist/src/core/evaluation-context.js.map +1 -1
  86. package/dist/src/core/evidence-bundle.d.ts +8 -0
  87. package/dist/src/core/evidence-bundle.d.ts.map +1 -1
  88. package/dist/src/core/evidence-bundle.js +13 -3
  89. package/dist/src/core/evidence-bundle.js.map +1 -1
  90. package/dist/src/core/execution-attestation.js +7 -7
  91. package/dist/src/core/execution-attestation.js.map +1 -1
  92. package/dist/src/core/execution-envelope.js +7 -7
  93. package/dist/src/core/execution-envelope.js.map +1 -1
  94. package/dist/src/core/federation.js +3 -3
  95. package/dist/src/core/federation.js.map +1 -1
  96. package/dist/src/core/fidelity-probe.js +2 -2
  97. package/dist/src/core/fidelity-probe.js.map +1 -1
  98. package/dist/src/core/governance-block.d.ts.map +1 -1
  99. package/dist/src/core/governance-block.js +8 -5
  100. package/dist/src/core/governance-block.js.map +1 -1
  101. package/dist/src/core/governance-consumer.d.ts.map +1 -1
  102. package/dist/src/core/governance-consumer.js +4 -1
  103. package/dist/src/core/governance-consumer.js.map +1 -1
  104. package/dist/src/core/governance.js +3 -3
  105. package/dist/src/core/governance.js.map +1 -1
  106. package/dist/src/core/identity.js +5 -5
  107. package/dist/src/core/identity.js.map +1 -1
  108. package/dist/src/core/intent.js +5 -5
  109. package/dist/src/core/intent.js.map +1 -1
  110. package/dist/src/core/key-rotation.d.ts.map +1 -1
  111. package/dist/src/core/key-rotation.js +12 -2
  112. package/dist/src/core/key-rotation.js.map +1 -1
  113. package/dist/src/core/messaging-audit.js +2 -2
  114. package/dist/src/core/messaging-audit.js.map +1 -1
  115. package/dist/src/core/obligations.js +6 -6
  116. package/dist/src/core/obligations.js.map +1 -1
  117. package/dist/src/core/oracle-witness.js +2 -2
  118. package/dist/src/core/oracle-witness.js.map +1 -1
  119. package/dist/src/core/passport.js +3 -3
  120. package/dist/src/core/passport.js.map +1 -1
  121. package/dist/src/core/policy.d.ts.map +1 -1
  122. package/dist/src/core/policy.js +12 -11
  123. package/dist/src/core/policy.js.map +1 -1
  124. package/dist/src/core/precedent.js +2 -2
  125. package/dist/src/core/precedent.js.map +1 -1
  126. package/dist/src/core/principal.js +3 -3
  127. package/dist/src/core/principal.js.map +1 -1
  128. package/dist/src/core/probe-identity.js +2 -2
  129. package/dist/src/core/probe-identity.js.map +1 -1
  130. package/dist/src/core/reserve.js +2 -2
  131. package/dist/src/core/reserve.js.map +1 -1
  132. package/dist/src/core/reversibility-fold.d.ts +8 -0
  133. package/dist/src/core/reversibility-fold.d.ts.map +1 -1
  134. package/dist/src/core/reversibility-fold.js +13 -3
  135. package/dist/src/core/reversibility-fold.js.map +1 -1
  136. package/dist/src/core/routing.js +6 -6
  137. package/dist/src/core/routing.js.map +1 -1
  138. package/dist/src/core/tool-integrity.d.ts.map +1 -1
  139. package/dist/src/core/tool-integrity.js +18 -8
  140. package/dist/src/core/tool-integrity.js.map +1 -1
  141. package/dist/src/core/transactional.js +4 -4
  142. package/dist/src/core/transactional.js.map +1 -1
  143. package/dist/src/core/values.js +3 -3
  144. package/dist/src/core/values.js.map +1 -1
  145. package/dist/src/core/vc-wrapper.js +2 -2
  146. package/dist/src/core/vc-wrapper.js.map +1 -1
  147. package/dist/src/core/vc.js +2 -2
  148. package/dist/src/core/vc.js.map +1 -1
  149. package/dist/src/core/write-policy.d.ts +37 -0
  150. package/dist/src/core/write-policy.d.ts.map +1 -0
  151. package/dist/src/core/write-policy.js +100 -0
  152. package/dist/src/core/write-policy.js.map +1 -0
  153. package/dist/src/decisionReceipt.d.ts +9 -1
  154. package/dist/src/decisionReceipt.d.ts.map +1 -1
  155. package/dist/src/decisionReceipt.js +40 -6
  156. package/dist/src/decisionReceipt.js.map +1 -1
  157. package/dist/src/interop/agent-json-bridge.js +2 -2
  158. package/dist/src/interop/agent-json-bridge.js.map +1 -1
  159. package/dist/src/profiles/a2a/identity-v1.js +2 -2
  160. package/dist/src/profiles/a2a/identity-v1.js.map +1 -1
  161. package/dist/src/storage/receipt-bundle.d.ts.map +1 -1
  162. package/dist/src/storage/receipt-bundle.js +12 -4
  163. package/dist/src/storage/receipt-bundle.js.map +1 -1
  164. package/dist/src/storage/volatile-backend.js +4 -4
  165. package/dist/src/storage/volatile-backend.js.map +1 -1
  166. package/dist/src/types/policy.d.ts +1 -1
  167. package/dist/src/types/policy.d.ts.map +1 -1
  168. package/dist/src/v2/accountability/construct/action.js +3 -3
  169. package/dist/src/v2/accountability/construct/action.js.map +1 -1
  170. package/dist/src/v2/accountability/construct/authority-boundary.js +3 -3
  171. package/dist/src/v2/accountability/construct/authority-boundary.js.map +1 -1
  172. package/dist/src/v2/accountability/construct/bundle.d.ts.map +1 -1
  173. package/dist/src/v2/accountability/construct/bundle.js +5 -3
  174. package/dist/src/v2/accountability/construct/bundle.js.map +1 -1
  175. package/dist/src/v2/accountability/construct/contestability.js +4 -4
  176. package/dist/src/v2/accountability/construct/contestability.js.map +1 -1
  177. package/dist/src/v2/accountability/construct/custody.js +3 -3
  178. package/dist/src/v2/accountability/construct/custody.js.map +1 -1
  179. package/dist/src/v2/accountability/verify/bundle.d.ts.map +1 -1
  180. package/dist/src/v2/accountability/verify/bundle.js +4 -2
  181. package/dist/src/v2/accountability/verify/bundle.js.map +1 -1
  182. package/dist/src/v2/attribution-consent/create.d.ts +12 -1
  183. package/dist/src/v2/attribution-consent/create.d.ts.map +1 -1
  184. package/dist/src/v2/attribution-consent/create.js +18 -6
  185. package/dist/src/v2/attribution-consent/create.js.map +1 -1
  186. package/dist/src/v2/attribution-consent/sign.js +2 -2
  187. package/dist/src/v2/attribution-consent/sign.js.map +1 -1
  188. package/dist/src/v2/attribution-primitive/canonical.d.ts +17 -2
  189. package/dist/src/v2/attribution-primitive/canonical.d.ts.map +1 -1
  190. package/dist/src/v2/attribution-primitive/canonical.js +27 -3
  191. package/dist/src/v2/attribution-primitive/canonical.js.map +1 -1
  192. package/dist/src/v2/attribution-primitive/construct.d.ts +0 -15
  193. package/dist/src/v2/attribution-primitive/construct.d.ts.map +1 -1
  194. package/dist/src/v2/attribution-primitive/construct.js +24 -11
  195. package/dist/src/v2/attribution-primitive/construct.js.map +1 -1
  196. package/dist/src/v2/attribution-primitive/merkle.d.ts +7 -3
  197. package/dist/src/v2/attribution-primitive/merkle.d.ts.map +1 -1
  198. package/dist/src/v2/attribution-primitive/merkle.js +18 -6
  199. package/dist/src/v2/attribution-primitive/merkle.js.map +1 -1
  200. package/dist/src/v2/attribution-primitive/residual.js +2 -2
  201. package/dist/src/v2/attribution-primitive/residual.js.map +1 -1
  202. package/dist/src/v2/attribution-settlement/aggregate.d.ts +8 -0
  203. package/dist/src/v2/attribution-settlement/aggregate.d.ts.map +1 -1
  204. package/dist/src/v2/attribution-settlement/aggregate.js +16 -6
  205. package/dist/src/v2/attribution-settlement/aggregate.js.map +1 -1
  206. package/dist/src/v2/attribution-settlement/merkle.d.ts +8 -0
  207. package/dist/src/v2/attribution-settlement/merkle.d.ts.map +1 -1
  208. package/dist/src/v2/attribution-settlement/merkle.js +11 -1
  209. package/dist/src/v2/attribution-settlement/merkle.js.map +1 -1
  210. package/dist/src/v2/attribution-settlement/sign.d.ts +9 -3
  211. package/dist/src/v2/attribution-settlement/sign.d.ts.map +1 -1
  212. package/dist/src/v2/attribution-settlement/sign.js +18 -4
  213. package/dist/src/v2/attribution-settlement/sign.js.map +1 -1
  214. package/dist/src/v2/authority-delegation/canonical.d.ts +14 -0
  215. package/dist/src/v2/authority-delegation/canonical.d.ts.map +1 -1
  216. package/dist/src/v2/authority-delegation/canonical.js +28 -2
  217. package/dist/src/v2/authority-delegation/canonical.js.map +1 -1
  218. package/dist/src/v2/authority-delegation/issue.js +2 -2
  219. package/dist/src/v2/authority-delegation/issue.js.map +1 -1
  220. package/dist/src/v2/behavioral_drift_window/envelope.d.ts +8 -0
  221. package/dist/src/v2/behavioral_drift_window/envelope.d.ts.map +1 -1
  222. package/dist/src/v2/behavioral_drift_window/envelope.js +13 -2
  223. package/dist/src/v2/behavioral_drift_window/envelope.js.map +1 -1
  224. package/dist/src/v2/bridge.d.ts +8 -0
  225. package/dist/src/v2/bridge.d.ts.map +1 -1
  226. package/dist/src/v2/bridge.js +13 -2
  227. package/dist/src/v2/bridge.js.map +1 -1
  228. package/dist/src/v2/cognitive-attestation/envelope.d.ts +9 -7
  229. package/dist/src/v2/cognitive-attestation/envelope.d.ts.map +1 -1
  230. package/dist/src/v2/cognitive-attestation/envelope.js +18 -4
  231. package/dist/src/v2/cognitive-attestation/envelope.js.map +1 -1
  232. package/dist/src/v2/cognitive_attestation/envelope.d.ts +8 -0
  233. package/dist/src/v2/cognitive_attestation/envelope.d.ts.map +1 -1
  234. package/dist/src/v2/cognitive_attestation/envelope.js +13 -2
  235. package/dist/src/v2/cognitive_attestation/envelope.js.map +1 -1
  236. package/dist/src/v2/context-provenance/cpa.d.ts +8 -0
  237. package/dist/src/v2/context-provenance/cpa.d.ts.map +1 -1
  238. package/dist/src/v2/context-provenance/cpa.js +22 -8
  239. package/dist/src/v2/context-provenance/cpa.js.map +1 -1
  240. package/dist/src/v2/context-provenance/merkle.d.ts +21 -18
  241. package/dist/src/v2/context-provenance/merkle.d.ts.map +1 -1
  242. package/dist/src/v2/context-provenance/merkle.js +38 -5
  243. package/dist/src/v2/context-provenance/merkle.js.map +1 -1
  244. package/dist/src/v2/context-provenance/types.d.ts +1 -1
  245. package/dist/src/v2/cross_issuer_attestation/envelope.d.ts +8 -0
  246. package/dist/src/v2/cross_issuer_attestation/envelope.d.ts.map +1 -1
  247. package/dist/src/v2/cross_issuer_attestation/envelope.js +13 -2
  248. package/dist/src/v2/cross_issuer_attestation/envelope.js.map +1 -1
  249. package/dist/src/v2/hash-pointer/profile.d.ts.map +1 -1
  250. package/dist/src/v2/hash-pointer/profile.js +11 -3
  251. package/dist/src/v2/hash-pointer/profile.js.map +1 -1
  252. package/dist/src/v2/human-escalation.d.ts +10 -0
  253. package/dist/src/v2/human-escalation.d.ts.map +1 -1
  254. package/dist/src/v2/human-escalation.js +15 -1
  255. package/dist/src/v2/human-escalation.js.map +1 -1
  256. package/dist/src/v2/human-oversight/index.d.ts +9 -9
  257. package/dist/src/v2/human-oversight/index.d.ts.map +1 -1
  258. package/dist/src/v2/human-oversight/index.js +18 -4
  259. package/dist/src/v2/human-oversight/index.js.map +1 -1
  260. package/dist/src/v2/instruction-provenance/canonicalize.d.ts +17 -5
  261. package/dist/src/v2/instruction-provenance/canonicalize.d.ts.map +1 -1
  262. package/dist/src/v2/instruction-provenance/canonicalize.js +28 -3
  263. package/dist/src/v2/instruction-provenance/canonicalize.js.map +1 -1
  264. package/dist/src/v2/instruction-provenance/envelope.js +3 -3
  265. package/dist/src/v2/instruction-provenance/envelope.js.map +1 -1
  266. package/dist/src/v2/memory_provenance/envelope.d.ts +8 -0
  267. package/dist/src/v2/memory_provenance/envelope.d.ts.map +1 -1
  268. package/dist/src/v2/memory_provenance/envelope.js +13 -2
  269. package/dist/src/v2/memory_provenance/envelope.js.map +1 -1
  270. package/dist/src/v2/mutual-auth/certificate.d.ts.map +1 -1
  271. package/dist/src/v2/mutual-auth/certificate.js +6 -4
  272. package/dist/src/v2/mutual-auth/certificate.js.map +1 -1
  273. package/dist/src/v2/mutual-auth/handshake.js +3 -3
  274. package/dist/src/v2/mutual-auth/handshake.js.map +1 -1
  275. package/dist/src/v2/mutual-auth/trust-bundle.d.ts.map +1 -1
  276. package/dist/src/v2/mutual-auth/trust-bundle.js +4 -3
  277. package/dist/src/v2/mutual-auth/trust-bundle.js.map +1 -1
  278. package/dist/src/v2/mutual-auth/types.d.ts +3 -3
  279. package/dist/src/v2/mutual-auth/types.d.ts.map +1 -1
  280. package/dist/src/v2/payment-rails/acp/index.d.ts.map +1 -1
  281. package/dist/src/v2/payment-rails/acp/index.js +52 -11
  282. package/dist/src/v2/payment-rails/acp/index.js.map +1 -1
  283. package/dist/src/v2/payment-rails/acp/types.d.ts +4 -4
  284. package/dist/src/v2/payment-rails/acp/types.d.ts.map +1 -1
  285. package/dist/src/v2/payment-rails/ap2/index.js +2 -2
  286. package/dist/src/v2/payment-rails/ap2/index.js.map +1 -1
  287. package/dist/src/v2/payment-rails/canonicalize.d.ts +32 -0
  288. package/dist/src/v2/payment-rails/canonicalize.d.ts.map +1 -1
  289. package/dist/src/v2/payment-rails/canonicalize.js +41 -1
  290. package/dist/src/v2/payment-rails/canonicalize.js.map +1 -1
  291. package/dist/src/v2/payment-rails/cycles/index.d.ts.map +1 -1
  292. package/dist/src/v2/payment-rails/cycles/index.js +10 -7
  293. package/dist/src/v2/payment-rails/cycles/index.js.map +1 -1
  294. package/dist/src/v2/payment-rails/cycles/types.d.ts +1 -1
  295. package/dist/src/v2/payment-rails/cycles/types.d.ts.map +1 -1
  296. package/dist/src/v2/payment-rails/hooks.d.ts.map +1 -1
  297. package/dist/src/v2/payment-rails/hooks.js +5 -5
  298. package/dist/src/v2/payment-rails/hooks.js.map +1 -1
  299. package/dist/src/v2/payment-rails/mpp/index.d.ts.map +1 -1
  300. package/dist/src/v2/payment-rails/mpp/index.js +11 -7
  301. package/dist/src/v2/payment-rails/mpp/index.js.map +1 -1
  302. package/dist/src/v2/payment-rails/mpp/types.d.ts +4 -4
  303. package/dist/src/v2/payment-rails/mpp/types.d.ts.map +1 -1
  304. package/dist/src/v2/policy-bundle/bundle.d.ts.map +1 -1
  305. package/dist/src/v2/policy-bundle/bundle.js +5 -3
  306. package/dist/src/v2/policy-bundle/bundle.js.map +1 -1
  307. package/dist/src/v2/provisional-statement/create.d.ts +13 -2
  308. package/dist/src/v2/provisional-statement/create.d.ts.map +1 -1
  309. package/dist/src/v2/provisional-statement/create.js +18 -6
  310. package/dist/src/v2/provisional-statement/create.js.map +1 -1
  311. package/dist/src/v2/read_fidelity_receipt/receipt.d.ts +8 -0
  312. package/dist/src/v2/read_fidelity_receipt/receipt.d.ts.map +1 -1
  313. package/dist/src/v2/read_fidelity_receipt/receipt.js +13 -2
  314. package/dist/src/v2/read_fidelity_receipt/receipt.js.map +1 -1
  315. package/dist/src/v2/revocation-enforcement/observation.js +2 -2
  316. package/dist/src/v2/revocation-enforcement/observation.js.map +1 -1
  317. package/dist/src/v2/trust-policy/policy.d.ts.map +1 -1
  318. package/dist/src/v2/trust-policy/policy.js +51 -3
  319. package/dist/src/v2/trust-policy/policy.js.map +1 -1
  320. package/dist/src/v2/wallet-binding/bind.d.ts.map +1 -1
  321. package/dist/src/v2/wallet-binding/bind.js +29 -9
  322. package/dist/src/v2/wallet-binding/bind.js.map +1 -1
  323. package/package.json +7 -6
@@ -1 +1 @@
1
- {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/core/attestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/core/attestation.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,kDAAkD;AAClD,2FAA2F;AAE3F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAQ,MAAM,EAAwB,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAenE,uBAAuB;AACvB,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACzD,CAAC;AAED,gCAAgC;AAChC,wCAAwC;AACxC,4DAA4D;AAC5D,MAAM,UAAU,uBAAuB,CACrC,aAAqB,EACrB,OAGC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAElF,OAAO;QACL,WAAW,EAAE,MAAM,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC5E,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9D,qBAAqB,EAAE,aAAa;QACpC,2BAA2B,EAAE,OAAO,EAAE,gBAAgB,IAAI,CAAC,SAAS,CAAC;QACrE,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE;QAC/B,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE;KAC5B,CAAA;AACH,CAAC;AAED,iCAAiC;AACjC,iDAAiD;AACjD,kFAAkF;AAClF,MAAM,UAAU,wBAAwB,CACtC,WAA+B,EAC/B,SAA4B,EAC5B,mBAAwC,CAAC,6BAA6B;;IAEtE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IAEtB,kBAAkB;IAClB,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC;QAC1C,OAAO;YACL,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,iCAAiC;YACzC,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;SAC9B,CAAA;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1C,OAAO;YACL,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,yCAAyC;YACjD,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;SAC9B,CAAA;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,WAAW,CAAC,aAAa,KAAK,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAClE,OAAO;YACL,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,sDAAsD;YAC9D,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;SAC9B,CAAA;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACjE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;YACL,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,YAAY,WAAW,CAAC,QAAQ,6BAA6B;YACrE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;SAC9B,CAAA;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,OAAO,GAAG,YAAY,CAAC;QAC3B,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;QACxD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;QACpD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;QACpD,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,wCAAwC;YAChD,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;SAC9B,CAAA;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,qBAAqB;QAChC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,gCAAgC,WAAW,CAAC,QAAQ,EAAE;QAC9D,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;KAC9B,CAAA;AACH,CAAC;AAED,8DAA8D;AAC9D,6EAA6E;AAC7E,+EAA+E;AAC/E,kFAAkF;AAClF,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,uEAAuE;AAEvE,2DAA2D;AAC3D,MAAM,UAAU,sBAAsB,CAAC,OAAwB;IAC7D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,EAAE,OAAO,CAAC,CAAA;QACrB,KAAK,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAC/B,KAAK,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAC/B,KAAK,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,6DAA6D;AAC7D,MAAM,4BAA4B,GAAG;IACnC,WAAW,EAAE,UAAU;IACvB,sBAAsB,EAAE,qBAAqB;IAC7C,WAAW,EAAE,UAAU;IACvB,wBAAwB,EAAE,uBAAuB;IACjD,WAAW,EAAE,UAAU;IACvB,iBAAiB,EAAE,gBAAgB;IACnC,sBAAsB,EAAE,qBAAqB;CACrC,CAAA;AAEV;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAOvC;IACC,qCAAqC;IACrC,IAAI,IAAI,CAAC,mBAAmB;QAAE,OAAO,iBAAiB,CAAA;IAEtD,uFAAuF;IACvF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;QACnC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3E,OAAO,gBAAgB,CAAA;QACzB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpE,OAAO,gBAAgB,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,IAAI,CAAC,kBAAkB;QAAE,OAAO,gBAAgB,CAAA;IAEpD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,6BAA6B;AAC7B,yDAAyD;AACzD,sCAAsC;AACtC,gCAAgC;AAChC,6EAA6E;AAC7E,qCAAqC;AACrC,MAAM,UAAU,oBAAoB,CAClC,QAAgC,EAChC,OAKC;IAED,MAAM,GAAG,GAAG,OAAO,IAAI,EAAE,CAAA;IAEzB,+BAA+B;IAC/B,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,uBAAuB,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACpF,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACrD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,4DAA4D;IAC5D,iEAAiE;IACjE,IAAI,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,gCAAgC;AAChC,+CAA+C;AAC/C,MAAM,UAAU,uBAAuB,CACrC,KAAoB,EACpB,QAAgC;IAEhC,MAAM,KAAK,GAAsB,EAAE,CAAA;IAEnC,IAAI,KAAK,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1C,IAAI,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACtF,IAAI,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACxF,IAAI,KAAK,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC7C,IAAI,QAAQ,CAAC,gBAAgB;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5D,IAAI,QAAQ,CAAC,oBAAoB;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAElE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,qCAAqC;AACrC,wEAAwE;AACxE,wFAAwF;AACxF,MAAM,UAAU,4BAA4B,CAAC,QAAgC;IAC3E,OAAO,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC1C,CAAC;AACD;;;;;;iBAMiB;AACjB,MAAM,UAAU,oCAAoC,CAAC,QAAgC;IACnF,OAAO,SAAS,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,8BAA8B;AAC9B,iEAAiE;AACjE,MAAM,UAAU,qBAAqB,CACnC,QAAgC,EAChC,OAOC;IAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACrD,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACtD,MAAM,UAAU,GAAG,oCAAoC,CAAC,QAAQ,CAAC,CAAA;IAEjE,OAAO;QACL,QAAQ;QACR,UAAU,EAAE;YACV,aAAa,EAAE,KAAK;YACpB,qBAAqB,EAAE,UAAU;YACjC,KAAK;YACL,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,IAAI,EAAE;YACvD,cAAc,EAAE,OAAO,EAAE,cAAc;YACvC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC;KACF,CAAA;AACH,CAAC;AAED,wBAAwB;AACxB,yDAAyD;AACzD,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAC7B,cAA8B,EAC9B,OAAwB;IAExB,MAAM,OAAO,GAA+B;QAC1C,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa;QAC/C,qBAAqB,EAAE,OAAO,CAAC,UAAU,CAAC,qBAAqB;QAC/D,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;KAChC,CAAA;IACD,OAAO;QACL,GAAG,cAAc;QACjB,WAAW,EAAE,OAAO;KACrB,CAAA;AACH,CAAC;AAED,gCAAgC;AAChC,kDAAkD;AAClD,qEAAqE;AACrE,8BAA8B;AAC9B,MAAM,UAAU,uBAAuB,CACrC,OAAuE;IAEvE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IAEtB,8CAA8C;IAC9C,MAAM,eAAe,GAA6B,OAAO;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QAC1C,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7B,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,kBAAkB,EAAE,SAAS,CAAC,WAAW,EAAE;SAC5C,CAAA;IACH,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC1E,MAAM,YAAY,GAAG,SAAS,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAA;IAErE,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,eAAe,CAAC,MAAM;QAClC,cAAc,EAAE,SAAS;QACzB,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;QAC7B,YAAY;KACb,CAAA;AACH,CAAC;AAED,kCAAkC;AAClC,kFAAkF;AAClF,MAAM,UAAU,yBAAyB,CACvC,QAAmC;IAEnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,OAAO;QACL,SAAS,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC5F,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;QAC9B,QAAQ,EAAE;YACR,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;YAC7B,GAAG,QAAQ;SACZ;QACD,mBAAmB,EAAE,EAAE;QACvB,oBAAoB,EAAE,EAAE;QACxB,mBAAmB,EAAE,EAAE;KACxB,CAAA;AACH,CAAC;AAED,yBAAyB;AACzB,iDAAiD;AACjD,MAAM,UAAU,gBAAgB,CAAC,SAA4B;IAC3D,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,CAAA;AACnD,CAAC;AAED,uBAAuB;AACvB,yDAAyD;AACzD,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,OAAsB;IACzE,OAAO,KAAK,IAAI,OAAO,CAAA;AACzB,CAAC;AAED,kCAAkC;AAClC,4FAA4F;AAC5F,0FAA0F;AAC1F,gFAAgF;AAChF,0EAA0E;AAC1E,MAAM,UAAU,yBAAyB,CACvC,KAWC;IAED,IAAI,OAAgC,CAAA;IACpC,IAAI,SAA6B,CAAA;IAEjC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,wCAAwC;YACxC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACpE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC7B,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,mCAAmC;gBACnC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,KAAK,CAAC,WAAW,CAAA;IAC7B,CAAC;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,MAAM,CACtB,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,CAC/E,CAAA;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;IAE1C,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC;QAC5E,aAAa;QACb,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QACxD,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACrF,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,KAAK,CAAC;QAC5F,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClI,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3I,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAA;AACH,CAAC;AAED,4BAA4B;AAC5B,qFAAqF;AACrF,oFAAoF;AACpF,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CACjC,GAAM,EACN,MAAiB;IAEjB,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACpF,MAAM,SAAS,GAA4B,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAA;IAC1E,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG;YAAE,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC;IACD,OAAO;QACL,GAAG,GAAG;QACN,iBAAiB,EAAE,QAAQ;QAC3B,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KACnD,CAAA;AACH,CAAC"}
@@ -31,7 +31,7 @@
31
31
  // experiment design), gap audit §3 row 10, gap audit §5 rank 2.
32
32
  // ══════════════════════════════════════════════════════════════════
33
33
  import { sign, verify } from '../crypto/keys.js';
34
- import { canonicalize } from './canonical.js';
34
+ import { canonicalize, canonicalizeForWrite } from './canonical.js';
35
35
  import { verifyFidelityAttestation } from './fidelity-probe.js';
36
36
  // ── Create ──
37
37
  /** Compose and sign a BehavioralFingerprint envelope.
@@ -74,7 +74,7 @@ export function createBehavioralFingerprint(subject, fidelity, opts) {
74
74
  measurerPublicKey: opts.measurerPublicKey,
75
75
  signedAt,
76
76
  };
77
- const payload = canonicalize(unsigned);
77
+ const payload = canonicalizeForWrite(unsigned);
78
78
  const signature = sign(payload, opts.signingKey);
79
79
  return {
80
80
  ...unsigned,
@@ -1 +1 @@
1
- {"version":3,"file":"behavioral-fingerprint.js","sourceRoot":"","sources":["../../../src/core/behavioral-fingerprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"behavioral-fingerprint.js","sourceRoot":"","sources":["../../../src/core/behavioral-fingerprint.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  // Behavioral Memory Receipts — lifecycle audit trail for BMOs
4
4
  import { v4 as uuidv4 } from 'uuid';
5
5
  import { sign, verify } from '../crypto/keys.js';
6
- import { canonicalize } from './canonical.js';
6
+ import { canonicalize, canonicalizeForWrite } from './canonical.js';
7
7
  export function createBMOReceipt(opts) {
8
8
  if (!opts.bmo_id || typeof opts.bmo_id !== 'string')
9
9
  throw new Error('createBMOReceipt: bmo_id must be a non-empty string');
@@ -16,7 +16,7 @@ export function createBMOReceipt(opts) {
16
16
  actor_id: opts.actor_id,
17
17
  timestamp: new Date().toISOString(),
18
18
  };
19
- const canonical = canonicalize(receipt);
19
+ const canonical = canonicalizeForWrite(receipt);
20
20
  const signature = sign(canonical, opts.private_key);
21
21
  return { ...receipt, signature };
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"behavioral-memory-receipt.js","sourceRoot":"","sources":["../../../src/core/behavioral-memory-receipt.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,8DAA8D;AAE9D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,MAAM,UAAU,gBAAgB,CAAC,IAKhC;IACC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IAC3H,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACjI,MAAM,OAAO,GAAkC;QAC7C,UAAU,EAAE,YAAY,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACvC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnD,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAAgB,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAmB,EAAE,SAAiB;IACrE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAA;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACxC,OAAO,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"behavioral-memory-receipt.js","sourceRoot":"","sources":["../../../src/core/behavioral-memory-receipt.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,8DAA8D;AAE9D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAGnE,MAAM,UAAU,gBAAgB,CAAC,IAKhC;IACC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IAC3H,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACjI,MAAM,OAAO,GAAkC;QAC7C,UAAU,EAAE,YAAY,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;IACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnD,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAAgB,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAmB,EAAE,SAAiB;IACrE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAA;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACxC,OAAO,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC"}
@@ -3,7 +3,7 @@
3
3
  // Behavioral Memory Objects — create, verify, expire, export/import
4
4
  import { v4 as uuidv4 } from 'uuid';
5
5
  import { sign, verify } from '../crypto/keys.js';
6
- import { canonicalize } from './canonical.js';
6
+ import { canonicalize, canonicalizeForWrite } from './canonical.js';
7
7
  export function createBehavioralMemoryObject(opts) {
8
8
  const now = new Date();
9
9
  const bmo = {
@@ -20,7 +20,7 @@ export function createBehavioralMemoryObject(opts) {
20
20
  portable: opts.portable,
21
21
  format_version: '1.0',
22
22
  };
23
- const canonical = canonicalize(bmo);
23
+ const canonical = canonicalizeForWrite(bmo);
24
24
  const issuer_signature = sign(canonical, opts.issuer_private_key);
25
25
  return { ...bmo, issuer_signature };
26
26
  }
@@ -45,7 +45,7 @@ export function exportBehavioralMemory(bmos, exporterId, privateKey) {
45
45
  bmos,
46
46
  exporter_id: exporterId,
47
47
  };
48
- const canonical = canonicalize(bundle);
48
+ const canonical = canonicalizeForWrite(bundle);
49
49
  const signature = sign(canonical, privateKey);
50
50
  return { ...bundle, signature };
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"behavioral-memory.js","sourceRoot":"","sources":["../../../src/core/behavioral-memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"behavioral-memory.js","sourceRoot":"","sources":["../../../src/core/behavioral-memory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bilateral-receipt.d.ts","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,+BAA+B,CAAA;AAUtC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,yBAAyB,EAAE,MAAM,CAAA;IACjC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC1C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,+BAA+B,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACrE;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAInB,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,GAAG,gBAAgB,CAoCnB;AAKD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,wBAAwB,EAAE,MAAM,EAChC,qBAAqB,EAAE,MAAM,EAC7B,gBAAgB,CAAC,EAAE,MAAM,GACxB,4BAA4B,CAuD9B;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IAKd,kBAAkB,CAAC,EAAE,OAAO,oCAAoC,EAAE,kBAAkB,CAAA;CACrF,GAAG,kBAAkB,CAUrB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAET;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,qBAAqB,CAmDxB"}
1
+ {"version":3,"file":"bilateral-receipt.d.ts","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,+BAA+B,CAAA;AA4BtC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,yBAAyB,EAAE,MAAM,CAAA;IACjC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC1C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,+BAA+B,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACrE;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAInB,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,GAAG,gBAAgB,CA6CnB;AAKD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,wBAAwB,EAAE,MAAM,EAChC,qBAAqB,EAAE,MAAM,EAC7B,gBAAgB,CAAC,EAAE,MAAM,GACxB,4BAA4B,CAuD9B;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IAKd,kBAAkB,CAAC,EAAE,OAAO,oCAAoC,EAAE,kBAAkB,CAAA;CACrF,GAAG,kBAAkB,CAUrB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAET;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,qBAAqB,CAmDxB"}
@@ -16,8 +16,25 @@
16
16
  // ══════════════════════════════════════════════════════════════════
17
17
  import { createHash, randomUUID } from 'node:crypto';
18
18
  import { sign, verify } from '../crypto/keys.js';
19
- import { canonicalize } from './canonical.js';
19
+ import { canonicalize, canonicalizeForWrite } from './canonical.js';
20
20
  import { isRecord } from './is-record.js';
21
+ /**
22
+ * Signing-preimage profile for this module.
23
+ *
24
+ * Profile: core BilateralReceipt v1.0, preimage = canonicalize(body) (legacy:
25
+ * sorted keys, null and undefined members removed). Not RFC 8785. A JCS profile
26
+ * would be a new versioned type.
27
+ *
28
+ * The distinction matters because the repository also ships an RFC 8785
29
+ * canonicalizer, canonicalizeJCS(), and a fixture corpus under
30
+ * fixtures/bilateral-delegation/ that exercises it. That corpus tests the
31
+ * canonicalizer and the in-toto/DecisionReceipt envelope shapes, not this type,
32
+ * so passing it establishes nothing about these signatures. The two serializers
33
+ * differ in the way that matters here: legacy removes null and undefined
34
+ * members, JCS preserves null and rejects undefined. They also differ on NaN,
35
+ * Infinity, lone surrogates and circular references, which this type does not
36
+ * carry.
37
+ */
21
38
  function sha256(input) {
22
39
  return createHash('sha256').update(input).digest('hex');
23
40
  }
@@ -33,23 +50,32 @@ function sha256(input) {
33
50
  export function createBilateralReceipt(opts) {
34
51
  const now = new Date().toISOString();
35
52
  // Build the receipt body (everything both agents agree on)
53
+ // Optional members use a conditional spread so an omitted option leaves the
54
+ // key genuinely absent rather than present holding undefined. The signed
55
+ // bytes are unchanged either way, because the legacy canonicalize() below
56
+ // already removed undefined members; this keeps the returned object free of
57
+ // undefined-valued keys, which is what #101 asks builders to do.
36
58
  const body = {
37
59
  receiptId: randomUUID(),
38
60
  version: '1.0',
39
61
  requestingAgentId: opts.requestingAgentId,
40
62
  servingAgentId: opts.servingAgentId,
41
- delegationId: opts.delegationId,
63
+ ...(opts.delegationId !== undefined && { delegationId: opts.delegationId }),
42
64
  outcome: opts.outcome,
43
65
  requestedAt: opts.requestedAt,
44
66
  completedAt: opts.completedAt,
45
67
  agreedAt: now,
46
- evidenceCommitments: opts.evidenceCommitments,
47
- aud: opts.aud,
48
- action_ref: opts.action_ref,
49
- fieldDisclosureProfile: opts.fieldDisclosureProfile,
68
+ ...(opts.evidenceCommitments !== undefined && {
69
+ evidenceCommitments: opts.evidenceCommitments,
70
+ }),
71
+ ...(opts.aud !== undefined && { aud: opts.aud }),
72
+ ...(opts.action_ref !== undefined && { action_ref: opts.action_ref }),
73
+ ...(opts.fieldDisclosureProfile !== undefined && {
74
+ fieldDisclosureProfile: opts.fieldDisclosureProfile,
75
+ }),
50
76
  };
51
77
  // Both agents sign the SAME canonical body
52
- const canonical = canonicalize(body);
78
+ const canonical = canonicalizeForWrite(body);
53
79
  const requestingAgentSignature = sign(canonical, opts.requestingAgentPrivateKey);
54
80
  const servingAgentSignature = sign(canonical, opts.servingAgentPrivateKey);
55
81
  // Optional gateway witness
@@ -60,7 +86,7 @@ export function createBilateralReceipt(opts) {
60
86
  ...body,
61
87
  requestingAgentSignature,
62
88
  servingAgentSignature,
63
- gatewaySignature,
89
+ ...(gatewaySignature !== undefined && { gatewaySignature }),
64
90
  };
65
91
  }
66
92
  // ══════════════════════════════════════════════════════════════════
@@ -1 +1 @@
1
- {"version":3,"file":"bilateral-receipt.js","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bilateral-receipt.js","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,35 @@ export declare class JcsCanonicalizationError extends Error {
12
12
  /** RFC 8785 JSON Canonicalization Scheme.
13
13
  * Differences from legacy canonicalize():
14
14
  * - null values ARE preserved (not filtered)
15
- * - undefined object values become null
15
+ * - undefined is REJECTED at any depth with a TypeError naming its path.
16
+ * undefined is not a JSON value and RFC 8785 defines no canonical form for
17
+ * it, so coercing it would sign a value the caller never wrote (#101).
18
+ * A caller that needs the byte null on the wire passes an explicit null.
16
19
  * - Number serialization follows ES2015 spec
17
- * - All other behavior is identical (sorted keys, no whitespace) */
20
+ * - All other behavior is identical (sorted keys, no whitespace)
21
+ *
22
+ * The undefined walk runs ONCE here, over the whole value, before any byte is
23
+ * emitted. canonicalizeValue() below is the recursive emitter and does not
24
+ * re-assert: folding the walk into the recursion would rescan every subtree at
25
+ * every depth and make canonicalization O(n * depth). */
18
26
  export declare function canonicalizeJCS(value: unknown): string;
27
+ /** RFC 8785 canonicalization for a NEW WRITE, with the APS unsafe-integer rule applied.
28
+ *
29
+ * Byte-identical to canonicalizeJCS() for every value it accepts. The only difference
30
+ * is that an integer-valued number outside the interoperable IEEE 754 range is refused
31
+ * rather than emitted. See core/write-policy.ts for the rule and its rationale.
32
+ *
33
+ * Use this at signing and new-write boundaries only. A verifier rebuilding the preimage
34
+ * of an artifact signed before this rule existed must keep calling canonicalizeJCS(),
35
+ * or it would refuse bytes it accepted before.
36
+ *
37
+ * The number check runs INSIDE the emitting walk, on the same read that produces the
38
+ * byte, so a getter or Proxy that answers differently on a second read cannot slip an
39
+ * unsafe integer past it. Note the pre-existing assertNoUndefined() walk is still a
40
+ * separate traversal; that exposure predates this change and is not addressed here. */
41
+ export declare function canonicalizeJCSForWrite(value: unknown): string;
42
+ /** @deprecated canonicalizeJCS() is itself strict as of #101; this alias exists only so the name keeps resolving. */
43
+ export declare function canonicalizeJCSStrict(value: unknown): string;
19
44
  /** Detect which canonicalization variant was likely used.
20
45
  * Checks if null values are present — JCS preserves them, legacy strips them. */
21
46
  export declare function detectCanonicalVariant(obj: unknown, canonicalString: string): 'jcs' | 'legacy' | 'ambiguous';
@@ -34,6 +59,15 @@ export interface CanonicalizationTestVector {
34
59
  * cross-implementation hash whose conformance pin requires strict JCS
35
60
  * (e.g. action_ref per draft-pidlisnyi-aps-01 §4.1). */
36
61
  export declare function canonicalHashJCS(obj: Record<string, unknown>): string;
62
+ /** Write-boundary twin of canonicalHashJCS().
63
+ *
64
+ * Reaches a canonicalizer only indirectly, so a call-site census over canonicalizer
65
+ * usage cannot see it. Emits the same digest as canonicalHashJCS() for every value it
66
+ * accepts; the only difference is that an integer-valued number outside the
67
+ * interoperable IEEE 754 range is refused instead of hashed. Use at signing and
68
+ * new-write boundaries ONLY: canonicalHashJCS() stays unrestricted because verifiers
69
+ * re-derive references with it over artifacts signed before this rule. */
70
+ export declare function canonicalHashJCSForWrite(obj: Record<string, unknown>): string;
37
71
  /** Built-in test vectors for cross-language verification */
38
72
  export declare function getTestVectors(): CanonicalizationTestVector[];
39
73
  //# sourceMappingURL=canonical-jcs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-jcs.d.ts","sourceRoot":"","sources":["../../../src/core/canonical-jcs.ts"],"names":[],"mappings":"AAgBA;;6EAE6E;AAC7E,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,qBAAoB;IACrC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAmB,EAKnE;CACF;AAqBD;;;;;qEAKqE;AACrE,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAmCtD;AAED;kFACkF;AAClF,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,eAAe,EAAE,MAAM,GACtB,KAAK,GAAG,QAAQ,GAAG,WAAW,CAMhC;AAYD,mEAAmE;AACnE,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAOD;;;yDAGyD;AACzD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAErE;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,IAAI,0BAA0B,EAAE,CAoF7D"}
1
+ {"version":3,"file":"canonical-jcs.d.ts","sourceRoot":"","sources":["../../../src/core/canonical-jcs.ts"],"names":[],"mappings":"AAgBA;;6EAE6E;AAC7E,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,qBAAoB;IACrC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAmB,EAKnE;CACF;AAqBD;;;;;;;;;;;;;0DAa0D;AAC1D,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED;;;;;;;;;;;;;wFAawF;AACxF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE9D;AAkFD,qHAAqH;AACrH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D;AAED;kFACkF;AAClF,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,eAAe,EAAE,MAAM,GACtB,KAAK,GAAG,QAAQ,GAAG,WAAW,CAMhC;AAaD,mEAAmE;AACnE,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAOD;;;yDAGyD;AACzD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAErE;AAED;;;;;;;2EAO2E;AAC3E,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAE7E;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,IAAI,0BAA0B,EAAE,CAoF7D"}
@@ -53,18 +53,62 @@ function assertNoLoneSurrogate(s) {
53
53
  /** RFC 8785 JSON Canonicalization Scheme.
54
54
  * Differences from legacy canonicalize():
55
55
  * - null values ARE preserved (not filtered)
56
- * - undefined object values become null
56
+ * - undefined is REJECTED at any depth with a TypeError naming its path.
57
+ * undefined is not a JSON value and RFC 8785 defines no canonical form for
58
+ * it, so coercing it would sign a value the caller never wrote (#101).
59
+ * A caller that needs the byte null on the wire passes an explicit null.
57
60
  * - Number serialization follows ES2015 spec
58
- * - All other behavior is identical (sorted keys, no whitespace) */
61
+ * - All other behavior is identical (sorted keys, no whitespace)
62
+ *
63
+ * The undefined walk runs ONCE here, over the whole value, before any byte is
64
+ * emitted. canonicalizeValue() below is the recursive emitter and does not
65
+ * re-assert: folding the walk into the recursion would rescan every subtree at
66
+ * every depth and make canonicalization O(n * depth). */
59
67
  export function canonicalizeJCS(value) {
60
- if (value === null || value === undefined)
68
+ assertNoUndefined(value, '$');
69
+ return canonicalizeValue(value);
70
+ }
71
+ /** RFC 8785 canonicalization for a NEW WRITE, with the APS unsafe-integer rule applied.
72
+ *
73
+ * Byte-identical to canonicalizeJCS() for every value it accepts. The only difference
74
+ * is that an integer-valued number outside the interoperable IEEE 754 range is refused
75
+ * rather than emitted. See core/write-policy.ts for the rule and its rationale.
76
+ *
77
+ * Use this at signing and new-write boundaries only. A verifier rebuilding the preimage
78
+ * of an artifact signed before this rule existed must keep calling canonicalizeJCS(),
79
+ * or it would refuse bytes it accepted before.
80
+ *
81
+ * The number check runs INSIDE the emitting walk, on the same read that produces the
82
+ * byte, so a getter or Proxy that answers differently on a second read cannot slip an
83
+ * unsafe integer past it. Note the pre-existing assertNoUndefined() walk is still a
84
+ * separate traversal; that exposure predates this change and is not addressed here. */
85
+ export function canonicalizeJCSForWrite(value) {
86
+ return canonicalizeValue(value, '$');
87
+ }
88
+ /** Recursive RFC 8785 emitter. Precondition: the value already passed
89
+ * assertNoUndefined(), so undefined cannot appear here. If one appears anyway,
90
+ * for instance from a getter that answers differently on a second read, the
91
+ * default branch throws rather than silently emitting null. */
92
+ function canonicalizeValue(value, writePath) {
93
+ if (value === null)
61
94
  return 'null';
95
+ // Write path only: reject undefined here rather than in a separate pre-pass, so the
96
+ // whole traversal reads each property exactly once. Same message and path format as
97
+ // assertNoUndefined(), which still guards the ordinary read path above.
98
+ if (writePath !== undefined && value === undefined) {
99
+ throw new TypeError(`canonicalizeJCS: undefined at ${writePath}`);
100
+ }
62
101
  switch (typeof value) {
63
102
  case 'boolean':
64
103
  return value ? 'true' : 'false';
65
104
  case 'number': {
66
105
  if (!isFinite(value))
67
106
  throw new Error('JCS does not support Infinity or NaN');
107
+ // Write-policy check, threaded from canonicalizeJCSForWrite(). Undefined on the
108
+ // ordinary canonicalizeJCS() path, which stays byte-identical and unrestricted.
109
+ if (writePath !== undefined && isUnsafeWriteInteger(value)) {
110
+ throw new UnsafeIntegerError(writePath);
111
+ }
68
112
  // ES2015 number serialization — JSON.stringify handles this correctly
69
113
  return JSON.stringify(value);
70
114
  }
@@ -75,7 +119,14 @@ export function canonicalizeJCS(value) {
75
119
  if (value instanceof Date)
76
120
  return JSON.stringify(value);
77
121
  if (Array.isArray(value)) {
78
- return '[' + value.map(item => canonicalizeJCS(item)).join(',') + ']';
122
+ if (writePath !== undefined) {
123
+ const parts = [];
124
+ for (let i = 0; i < value.length; i++) {
125
+ parts.push(canonicalizeValue(value[i], `${writePath}[${i}]`));
126
+ }
127
+ return '[' + parts.join(',') + ']';
128
+ }
129
+ return '[' + value.map(item => canonicalizeValue(item)).join(',') + ']';
79
130
  }
80
131
  // Object: sort keys as UTF-16 code unit arrays per RFC 8785 3.2.3, preserve null values
81
132
  const obj = value;
@@ -84,9 +135,7 @@ export function canonicalizeJCS(value) {
84
135
  for (const key of keys) {
85
136
  assertNoLoneSurrogate(key);
86
137
  const v = obj[key];
87
- // RFC 8785: undefined becomes null, null is preserved
88
- // Only skip if the key was never set (shouldn't happen with Object.keys)
89
- pairs.push(`${JSON.stringify(key)}:${canonicalizeJCS(v)}`);
138
+ pairs.push(`${JSON.stringify(key)}:${canonicalizeValue(v, writePath === undefined ? undefined : `${writePath}.${key}`)}`);
90
139
  }
91
140
  return '{' + pairs.join(',') + '}';
92
141
  }
@@ -94,6 +143,34 @@ export function canonicalizeJCS(value) {
94
143
  throw new Error(`JCS: unsupported type ${typeof value}`);
95
144
  }
96
145
  }
146
+ /** Path-tracking walk that rejects `undefined` anywhere in the value.
147
+ * RFC 8785 canonicalizes JSON data, and `undefined` is not a JSON value, so
148
+ * there is no defined canonical form for it. Rather than coerce it, which
149
+ * would silently turn one value into a different one before the bytes are
150
+ * signed, canonicalizeJCS() names the exact location and refuses. */
151
+ function assertNoUndefined(value, path) {
152
+ if (value === undefined) {
153
+ throw new TypeError(`canonicalizeJCS: undefined at ${path}`);
154
+ }
155
+ if (value === null || typeof value !== 'object')
156
+ return;
157
+ if (value instanceof Date)
158
+ return;
159
+ if (Array.isArray(value)) {
160
+ // An array hole and an explicit undefined element both read as undefined
161
+ // here, which is the intended rejection: neither has a JSON encoding.
162
+ for (let i = 0; i < value.length; i++)
163
+ assertNoUndefined(value[i], `${path}[${i}]`);
164
+ return;
165
+ }
166
+ const obj = value;
167
+ for (const key of Object.keys(obj))
168
+ assertNoUndefined(obj[key], `${path}.${key}`);
169
+ }
170
+ /** @deprecated canonicalizeJCS() is itself strict as of #101; this alias exists only so the name keeps resolving. */
171
+ export function canonicalizeJCSStrict(value) {
172
+ return canonicalizeJCS(value);
173
+ }
97
174
  /** Detect which canonicalization variant was likely used.
98
175
  * Checks if null values are present — JCS preserves them, legacy strips them. */
99
176
  export function detectCanonicalVariant(obj, canonicalString) {
@@ -115,6 +192,7 @@ function hasNullValues(obj) {
115
192
  return Object.values(obj).some(v => v === null || v === undefined || hasNullValues(v));
116
193
  }
117
194
  import { createHash } from 'crypto';
195
+ import { isUnsafeWriteInteger, UnsafeIntegerError } from './write-policy.js';
118
196
  /** Generate SHA-256 hex digest of a string */
119
197
  function sha256hex(input) {
120
198
  return createHash('sha256').update(input, 'utf-8').digest('hex');
@@ -126,6 +204,17 @@ function sha256hex(input) {
126
204
  export function canonicalHashJCS(obj) {
127
205
  return sha256hex(canonicalizeJCS(obj));
128
206
  }
207
+ /** Write-boundary twin of canonicalHashJCS().
208
+ *
209
+ * Reaches a canonicalizer only indirectly, so a call-site census over canonicalizer
210
+ * usage cannot see it. Emits the same digest as canonicalHashJCS() for every value it
211
+ * accepts; the only difference is that an integer-valued number outside the
212
+ * interoperable IEEE 754 range is refused instead of hashed. Use at signing and
213
+ * new-write boundaries ONLY: canonicalHashJCS() stays unrestricted because verifiers
214
+ * re-derive references with it over artifacts signed before this rule. */
215
+ export function canonicalHashJCSForWrite(obj) {
216
+ return sha256hex(canonicalizeJCSForWrite(obj));
217
+ }
129
218
  /** Built-in test vectors for cross-language verification */
130
219
  export function getTestVectors() {
131
220
  const vectors = [];
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-jcs.js","sourceRoot":"","sources":["../../../src/core/canonical-jcs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical-jcs.js","sourceRoot":"","sources":["../../../src/core/canonical-jcs.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,31 @@
1
1
  export declare function canonicalize(obj: unknown, _ancestors?: WeakSet<object>): string;
2
+ /** Legacy canonicalization for a NEW WRITE, with the APS unsafe-integer rule applied.
3
+ *
4
+ * Byte-identical to canonicalize() for every value it accepts: same key sort, same
5
+ * null and undefined stripping, same Date handling, same cycle rule. The only
6
+ * difference is that an integer-valued number outside the interoperable IEEE 754 range
7
+ * is refused rather than emitted. See core/write-policy.ts for the rule.
8
+ *
9
+ * Use at signing and new-write boundaries ONLY. Verification, recompute and any path
10
+ * rebuilding the preimage of an existing artifact must keep calling canonicalize(),
11
+ * which stays unrestricted so historical bytes keep verifying.
12
+ *
13
+ * READS EACH PROPERTY EXACTLY ONCE. canonicalize() above reads obj[key] twice, once in
14
+ * its filter and once in its map, so a standalone validator in front of it would make a
15
+ * third read and a getter or Proxy could answer safe, safe, then unsafe. Here the value
16
+ * is captured once into `val`, checked, and emitted from that same capture, so the
17
+ * value checked is the value signed. Do not refactor this back into filter plus map. */
18
+ export declare function canonicalizeForWrite(obj: unknown, path?: string, _ancestors?: WeakSet<object>): string;
2
19
  export declare function canonicalJson(obj: Record<string, unknown>): string;
3
20
  export declare function canonicalHash(obj: Record<string, unknown>): string;
21
+ /** Write-boundary twin of canonicalHash().
22
+ *
23
+ * Reaches a canonicalizer indirectly through canonicalJson(), so a census over direct
24
+ * canonicalizer calls cannot see it. Same digest as canonicalHash() for every value it
25
+ * accepts; the only difference is that an integer-valued number outside the
26
+ * interoperable IEEE 754 range is refused instead of hashed. Use at signing and
27
+ * new-write boundaries ONLY: canonicalHash() stays unrestricted because verifiers
28
+ * recompute commitments with it over artifacts committed before this rule. */
29
+ export declare function canonicalHashForWrite(obj: Record<string, unknown>): string;
4
30
  export declare function normalizeTimestamp(ts: string): string;
5
31
  //# sourceMappingURL=canonical.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../src/core/canonical.ts"],"names":[],"mappings":"AAWA,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CA8B/E;AAKD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAElE;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAElE;AAMD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAOrD"}
1
+ {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../src/core/canonical.ts"],"names":[],"mappings":"AAYA,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CA8B/E;AAED;;;;;;;;;;;;;;;yFAeyF;AACzF,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,IAAI,SAAM,EACV,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAC3B,MAAM,CA8BR;AAKD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAElE;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAElE;AAED;;;;;;;+EAO+E;AAC/E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAE1E;AAMD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAOrD"}