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
@@ -28,9 +28,9 @@
28
28
  // their `total_pooled_weight` sums across the period (I-C6).
29
29
  // ══════════════════════════════════════════════════════════════════
30
30
  import { createHash } from 'node:crypto';
31
- import { canonicalize } from '../../core/canonical.js';
31
+ import { canonicalize, canonicalizeForWrite } from '../../core/canonical.js';
32
32
  import { assertCanonicalTimestamp, } from '../attribution-primitive/canonical.js';
33
- import { buildMerkleRoot, emptyAxisMerkleRoot, leafHash } from './merkle.js';
33
+ import { buildMerkleRoot, emptyAxisMerkleRoot, leafHashForWrite } from './merkle.js';
34
34
  function isResidual(x) {
35
35
  return (typeof x === 'object' &&
36
36
  x !== null &&
@@ -62,6 +62,16 @@ export function contributorLeafHashHex(c) {
62
62
  export function residualLeafHashHex(r) {
63
63
  return createHash('sha256').update(canonicalize(r)).digest('hex');
64
64
  }
65
+ /** Write-boundary twin of residualLeafHashHex().
66
+ *
67
+ * Emits the same bytes as residualLeafHashHex() for every value it accepts. The only difference
68
+ * is that an integer-valued number outside the interoperable IEEE 754 range is
69
+ * refused instead of serialized. Use at signing and new-write boundaries ONLY:
70
+ * residualLeafHashHex() stays unrestricted so an artifact signed before this rule keeps
71
+ * verifying. */
72
+ export function residualLeafHashHexForWrite(r) {
73
+ return createHash('sha256').update(canonicalizeForWrite(r)).digest('hex');
74
+ }
65
75
  function emptyAccum() {
66
76
  return {
67
77
  map: new Map(),
@@ -180,7 +190,7 @@ function finalizeAxis(axis, accum, period) {
180
190
  contribution_count: count,
181
191
  };
182
192
  const merkle_leaf_hash = createHash('sha256')
183
- .update(canonicalize(leafBody))
193
+ .update(canonicalizeForWrite(leafBody))
184
194
  .digest('hex');
185
195
  return {
186
196
  contributor_did: did,
@@ -196,7 +206,7 @@ function finalizeAxis(axis, accum, period) {
196
206
  }
197
207
  const sortedPerReceiptHashes = [...accum.perReceiptResidualHashes].sort();
198
208
  const pooled_contributors_hash = createHash('sha256')
199
- .update(canonicalize(sortedPerReceiptHashes))
209
+ .update(canonicalizeForWrite(sortedPerReceiptHashes))
200
210
  .digest('hex');
201
211
  const residual_id = `residual:${axis}`;
202
212
  residual_bucket = {
@@ -208,7 +218,7 @@ function finalizeAxis(axis, accum, period) {
208
218
  }
209
219
  const leafHashes = contributors.map((c) => Buffer.from(c.merkle_leaf_hash, 'hex'));
210
220
  if (residual_bucket) {
211
- leafHashes.push(Buffer.from(residualLeafHashHex(residual_bucket), 'hex'));
221
+ leafHashes.push(Buffer.from(residualLeafHashHexForWrite(residual_bucket), 'hex'));
212
222
  }
213
223
  const axis_merkle_root = leafHashes.length === 0 ? emptyAxisMerkleRoot() : buildMerkleRoot(leafHashes).toString('hex');
214
224
  return {
@@ -288,7 +298,7 @@ export function aggregateAttributionPrimitives(receipts, period, options) {
288
298
  C: finalizeAxis('C', accums.C, clonePeriod()),
289
299
  };
290
300
  const sortedActionRefs = inPeriod.map((r) => r.action_ref).sort();
291
- const actionRefLeaves = sortedActionRefs.map((ref) => leafHash(ref));
301
+ const actionRefLeaves = sortedActionRefs.map((ref) => leafHashForWrite(ref));
292
302
  const input_receipts_hash = actionRefLeaves.length === 0
293
303
  ? emptyAxisMerkleRoot()
294
304
  : buildMerkleRoot(actionRefLeaves).toString('hex');
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/aggregate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/aggregate.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
1
  /** sha256(canonicalize(obj)) as raw 32 bytes. */
2
2
  export declare function leafHash(obj: unknown): Buffer;
3
+ /** Write-boundary twin of leafHash().
4
+ *
5
+ * Emits the same bytes as leafHash() for every value it accepts. The only difference
6
+ * is that an integer-valued number outside the interoperable IEEE 754 range is
7
+ * refused instead of serialized. Use at signing and new-write boundaries ONLY:
8
+ * leafHash() stays unrestricted so an artifact signed before this rule keeps
9
+ * verifying. */
10
+ export declare function leafHashForWrite(obj: unknown): Buffer;
3
11
  /** Build a balanced binary Merkle tree over arbitrary leaf hashes and
4
12
  * return the root as raw bytes. Leaves and internal nodes are domain-
5
13
  * separated; an odd trailing node is promoted unchanged (never
@@ -1 +1 @@
1
- {"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/merkle.ts"],"names":[],"mappings":"AA6CA,iDAAiD;AACjD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE7C;AAED;;;;;0CAK0C;AAC1C,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAiBxD;AAED;;;;oDAIoD;AACpD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE,CAgCV;AAED;;+BAE+B;AAC/B,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,eAAe,EAAE,MAAM,GACtB,OAAO,CAkBT;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
1
+ {"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/merkle.ts"],"names":[],"mappings":"AA6CA,iDAAiD;AACjD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE7C;AACD;;;;;;iBAMiB;AACjB,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;;;;0CAK0C;AAC1C,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAiBxD;AAED;;;;oDAIoD;AACpD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE,CAgCV;AAED;;+BAE+B;AAC/B,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,eAAe,EAAE,MAAM,GACtB,OAAO,CAkBT;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
@@ -22,7 +22,7 @@
22
22
  // axis_merkle_root — handled by the caller.
23
23
  // ══════════════════════════════════════════════════════════════════
24
24
  import { createHash } from 'node:crypto';
25
- import { canonicalize } from '../../core/canonical.js';
25
+ import { canonicalize, canonicalizeForWrite } from '../../core/canonical.js';
26
26
  const LEAF_TAG = Buffer.from([0x00]);
27
27
  const NODE_TAG = Buffer.from([0x01]);
28
28
  /** Path token marking a level where the target was the lone odd node and
@@ -41,6 +41,16 @@ function hashInternalNode(left, right) {
41
41
  export function leafHash(obj) {
42
42
  return createHash('sha256').update(canonicalize(obj)).digest();
43
43
  }
44
+ /** Write-boundary twin of leafHash().
45
+ *
46
+ * Emits the same bytes as leafHash() for every value it accepts. The only difference
47
+ * is that an integer-valued number outside the interoperable IEEE 754 range is
48
+ * refused instead of serialized. Use at signing and new-write boundaries ONLY:
49
+ * leafHash() stays unrestricted so an artifact signed before this rule keeps
50
+ * verifying. */
51
+ export function leafHashForWrite(obj) {
52
+ return createHash('sha256').update(canonicalizeForWrite(obj)).digest();
53
+ }
44
54
  /** Build a balanced binary Merkle tree over arbitrary leaf hashes and
45
55
  * return the root as raw bytes. Leaves and internal nodes are domain-
46
56
  * separated; an odd trailing node is promoted unchanged (never
@@ -1 +1 @@
1
- {"version":3,"file":"merkle.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/merkle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merkle.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/merkle.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
1
  import type { SettlementRecord } from './types.js';
2
- /** Produce the canonical byte string a verifier signs/recomputes. The
3
- * `signature` field is omitted (the canonicalizer already drops
4
- * undefined keys, but we strip explicitly for clarity across ports). */
5
2
  export declare function settlementSigningPayload(record: Omit<SettlementRecord, 'signature'>): string;
3
+ /** Write-boundary twin of settlementSigningPayload().
4
+ *
5
+ * Shares one implementation body with settlementSigningPayload() so the two can never drift apart
6
+ * on the field list. Emits the same bytes for every value it accepts; the only
7
+ * difference is that an integer-valued number outside the interoperable IEEE 754
8
+ * range is refused instead of serialized. Use at signing and new-write boundaries
9
+ * ONLY: settlementSigningPayload() stays unrestricted so an artifact signed before this rule keeps
10
+ * verifying. */
11
+ export declare function settlementSigningPayloadForWrite(record: Omit<SettlementRecord, 'signature'>): string;
6
12
  /** Canonical settlement_record_hash — hex sha256 of the signing payload.
7
13
  * Stable across Python/TS so verifiers can short-circuit signature
8
14
  * checks to a single 32-byte commitment. */
@@ -1 +1 @@
1
- {"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/sign.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;yEAEyE;AACzE,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAC1C,MAAM,CAOR;AAED;;6CAE6C;AAC7C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAC1C,MAAM,CAER;AAED;4EAC4E;AAC5E,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAC3C,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAKR;AAED;yEACyE;AACzE,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAcT"}
1
+ {"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/sign.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAiBlD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAC1C,MAAM,CAER;AAED;;;;;;;iBAOiB;AACjB,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAC1C,MAAM,CAER;AAED;;6CAE6C;AAC7C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAC1C,MAAM,CAER;AAED;4EAC4E;AAC5E,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAC3C,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAKR;AAED;yEACyE;AACzE,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAcT"}
@@ -10,18 +10,32 @@
10
10
  // exact bytes so TS-signed records verify in Python and vice versa.
11
11
  // ══════════════════════════════════════════════════════════════════
12
12
  import { createHash } from 'node:crypto';
13
- import { canonicalize } from '../../core/canonical.js';
13
+ import { canonicalize, canonicalizeForWrite } from '../../core/canonical.js';
14
14
  import { sign as ed25519Sign, verify as ed25519Verify } from '../../crypto/keys.js';
15
15
  /** Produce the canonical byte string a verifier signs/recomputes. The
16
16
  * `signature` field is omitted (the canonicalizer already drops
17
17
  * undefined keys, but we strip explicitly for clarity across ports). */
18
- export function settlementSigningPayload(record) {
18
+ function settlementSigningPayloadImpl(record, canon) {
19
19
  const { ...body } = record;
20
20
  // Ensure no `signature` bleeds through if the caller hands us a full
21
21
  // record and asks for the body. Canonicalize is stable under key
22
22
  // removal, so the order of removal doesn't matter.
23
23
  delete body.signature;
24
- return canonicalize(body);
24
+ return canon(body);
25
+ }
26
+ export function settlementSigningPayload(record) {
27
+ return settlementSigningPayloadImpl(record, canonicalize);
28
+ }
29
+ /** Write-boundary twin of settlementSigningPayload().
30
+ *
31
+ * Shares one implementation body with settlementSigningPayload() so the two can never drift apart
32
+ * on the field list. Emits the same bytes for every value it accepts; the only
33
+ * difference is that an integer-valued number outside the interoperable IEEE 754
34
+ * range is refused instead of serialized. Use at signing and new-write boundaries
35
+ * ONLY: settlementSigningPayload() stays unrestricted so an artifact signed before this rule keeps
36
+ * verifying. */
37
+ export function settlementSigningPayloadForWrite(record) {
38
+ return settlementSigningPayloadImpl(record, canonicalizeForWrite);
25
39
  }
26
40
  /** Canonical settlement_record_hash — hex sha256 of the signing payload.
27
41
  * Stable across Python/TS so verifiers can short-circuit signature
@@ -35,7 +49,7 @@ export function signSettlementRecord(record, gatewayPrivateKeyHex) {
35
49
  if (!gatewayPrivateKeyHex || typeof gatewayPrivateKeyHex !== 'string') {
36
50
  throw new Error('attribution-settlement: gatewayPrivateKeyHex required');
37
51
  }
38
- return ed25519Sign(settlementSigningPayload(record), gatewayPrivateKeyHex);
52
+ return ed25519Sign(settlementSigningPayloadForWrite(record), gatewayPrivateKeyHex);
39
53
  }
40
54
  /** Verify just the Ed25519 signature on a settlement record. Returns a
41
55
  * boolean; for full S1–S5 verification use `verifySettlementRecord`. */
@@ -1 +1 @@
1
- {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/sign.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,6CAA6C;AAC7C,qEAAqE;AACrE,qEAAqE;AACrE,kEAAkE;AAClE,yDAAyD;AACzD,oEAAoE;AACpE,oEAAoE;AACpE,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGnF;;yEAEyE;AACzE,MAAM,UAAU,wBAAwB,CACtC,MAA2C;IAE3C,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAA;IACrD,qEAAqE;IACrE,iEAAiE;IACjE,mDAAmD;IACnD,OAAO,IAAI,CAAC,SAAS,CAAA;IACrB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED;;6CAE6C;AAC7C,MAAM,UAAU,oBAAoB,CAClC,MAA2C;IAE3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACpF,CAAC;AAED;4EAC4E;AAC5E,MAAM,UAAU,oBAAoB,CAClC,MAA2C,EAC3C,oBAA4B;IAE5B,IAAI,CAAC,oBAAoB,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,WAAW,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAA;AAC5E,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,yBAAyB,CACvC,MAAwB,EACxB,mBAA2B;IAE3B,IAAI,CAAC,mBAAmB;QAAE,OAAO,KAAK,CAAA;IACtC,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvF,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QACrC,KAAK,SAAS,CAAA;QACd,OAAO,aAAa,CAClB,wBAAwB,CAAC,IAA2C,CAAC,EACrE,MAAM,CAAC,SAAS,EAChB,mBAAmB,CACpB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/sign.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,6CAA6C;AAC7C,qEAAqE;AACrE,qEAAqE;AACrE,kEAAkE;AAClE,yDAAyD;AACzD,oEAAoE;AACpE,oEAAoE;AACpE,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGnF;;yEAEyE;AACzE,SAAS,4BAA4B,CACnC,MAA2C,EAC3C,KAA6B;IAE7B,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAA;IACrD,qEAAqE;IACrE,iEAAiE;IACjE,mDAAmD;IACnD,OAAO,IAAI,CAAC,SAAS,CAAA;IACrB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAA2C;IAE3C,OAAO,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;;iBAOiB;AACjB,MAAM,UAAU,gCAAgC,CAC9C,MAA2C;IAE3C,OAAO,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AACnE,CAAC;AAED;;6CAE6C;AAC7C,MAAM,UAAU,oBAAoB,CAClC,MAA2C;IAE3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACpF,CAAC;AAED;4EAC4E;AAC5E,MAAM,UAAU,oBAAoB,CAClC,MAA2C,EAC3C,oBAA4B;IAE5B,IAAI,CAAC,oBAAoB,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,WAAW,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAA;AACpF,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,yBAAyB,CACvC,MAAwB,EACxB,mBAA2B;IAE3B,IAAI,CAAC,mBAAmB;QAAE,OAAO,KAAK,CAAA;IACtC,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvF,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QACrC,KAAK,SAAS,CAAA;QACd,OAAO,aAAa,CAClB,wBAAwB,CAAC,IAA2C,CAAC,EACrE,MAAM,CAAC,SAAS,EAChB,mBAAmB,CACpB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -3,7 +3,21 @@ export declare const AUTHORITY_DELEGATION_ID_DOMAIN = "APS-AUTHORITY-DELEGATION-
3
3
  export declare const AUTHORITY_DELEGATION_SIGNATURE_DOMAIN = "APS-AUTHORITY-DELEGATION-SIGNATURE-V1\0";
4
4
  /** Exact RFC 8785 input used to derive delegation_id. */
5
5
  export declare function authorityDelegationIdInput(body: AuthorityDelegationBodyV1): string;
6
+ /** Write-boundary twin of authorityDelegationIdInput().
7
+ *
8
+ * Emits the same bytes as authorityDelegationIdInput() for every value it accepts. The only difference
9
+ * is that an integer-valued number outside the interoperable IEEE 754 range is
10
+ * refused instead of serialized. Use at signing and new-write boundaries ONLY:
11
+ * authorityDelegationIdInput() stays unrestricted so an artifact signed before this rule keeps
12
+ * verifying. */
13
+ export declare function authorityDelegationIdInputForWrite(body: AuthorityDelegationBodyV1): string;
6
14
  export declare function computeAuthorityDelegationId(body: AuthorityDelegationBodyV1): string;
15
+ /** Write-boundary twin of computeAuthorityDelegationId().
16
+ *
17
+ * Reaches a canonicalizer only indirectly, through authorityDelegationIdInput. Use when
18
+ * ISSUING a delegation; verify.ts and the budget ledger keep calling the unrestricted
19
+ * form so a delegation issued before this rule still re-derives its id. */
20
+ export declare function computeAuthorityDelegationIdForWrite(body: AuthorityDelegationBodyV1): string;
7
21
  /** Exact Ed25519 input: domain plus JCS(record without signature). */
8
22
  export declare function authorityDelegationSignatureInput(delegation: Omit<AuthorityDelegationV1, 'signature'>): string;
9
23
  export declare function signAuthorityDelegation(delegation: Omit<AuthorityDelegationV1, 'signature'>, privateKey: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/canonical.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAElF,eAAO,MAAM,8BAA8B,qCAAqC,CAAA;AAChF,eAAO,MAAM,qCAAqC,4CAA4C,CAAA;AAM9F,yDAAyD;AACzD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAElF;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAEpF;AAED,sEAAsE;AACtE,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GACnD,MAAM,CAER;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,EACpD,UAAU,EAAE,MAAM,GACjB,MAAM,CAER;AAED,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,qBAAqB,EACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAGT;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,qBAAqB,GAChC,yBAAyB,CAG3B"}
1
+ {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/canonical.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAElF,eAAO,MAAM,8BAA8B,qCAAqC,CAAA;AAChF,eAAO,MAAM,qCAAqC,4CAA4C,CAAA;AAM9F,yDAAyD;AACzD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAElF;AACD;;;;;;iBAMiB;AACjB,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAE1F;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAEpF;AAED;;;;4EAI4E;AAC5E,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAE5F;AAED,sEAAsE;AACtE,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GACnD,MAAM,CAER;AAaD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,EACpD,UAAU,EAAE,MAAM,GACjB,MAAM,CAER;AAED,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,qBAAqB,EACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAGT;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,qBAAqB,GAChC,yBAAyB,CAG3B"}
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) 2026 Tymofii Pidlisnyi
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { createHash } from 'node:crypto';
4
- import { canonicalizeJCS } from '../../core/canonical-jcs.js';
4
+ import { canonicalizeJCS, canonicalizeJCSForWrite } from '../../core/canonical-jcs.js';
5
5
  import { sign, verify } from '../../crypto/keys.js';
6
6
  export const AUTHORITY_DELEGATION_ID_DOMAIN = 'APS-AUTHORITY-DELEGATION-ID-V1\0';
7
7
  export const AUTHORITY_DELEGATION_SIGNATURE_DOMAIN = 'APS-AUTHORITY-DELEGATION-SIGNATURE-V1\0';
@@ -12,15 +12,41 @@ function sha256Hex(value) {
12
12
  export function authorityDelegationIdInput(body) {
13
13
  return AUTHORITY_DELEGATION_ID_DOMAIN + canonicalizeJCS(body);
14
14
  }
15
+ /** Write-boundary twin of authorityDelegationIdInput().
16
+ *
17
+ * Emits the same bytes as authorityDelegationIdInput() for every value it accepts. The only difference
18
+ * is that an integer-valued number outside the interoperable IEEE 754 range is
19
+ * refused instead of serialized. Use at signing and new-write boundaries ONLY:
20
+ * authorityDelegationIdInput() stays unrestricted so an artifact signed before this rule keeps
21
+ * verifying. */
22
+ export function authorityDelegationIdInputForWrite(body) {
23
+ return AUTHORITY_DELEGATION_ID_DOMAIN + canonicalizeJCSForWrite(body);
24
+ }
15
25
  export function computeAuthorityDelegationId(body) {
16
26
  return `sha256:${sha256Hex(authorityDelegationIdInput(body))}`;
17
27
  }
28
+ /** Write-boundary twin of computeAuthorityDelegationId().
29
+ *
30
+ * Reaches a canonicalizer only indirectly, through authorityDelegationIdInput. Use when
31
+ * ISSUING a delegation; verify.ts and the budget ledger keep calling the unrestricted
32
+ * form so a delegation issued before this rule still re-derives its id. */
33
+ export function computeAuthorityDelegationIdForWrite(body) {
34
+ return `sha256:${sha256Hex(authorityDelegationIdInputForWrite(body))}`;
35
+ }
18
36
  /** Exact Ed25519 input: domain plus JCS(record without signature). */
19
37
  export function authorityDelegationSignatureInput(delegation) {
20
38
  return AUTHORITY_DELEGATION_SIGNATURE_DOMAIN + canonicalizeJCS(delegation);
21
39
  }
40
+ /** Write-boundary twin of authorityDelegationSignatureInput().
41
+ *
42
+ * signAuthorityDelegation() mints a signature over this string while
43
+ * verifyAuthorityDelegationSignature() rebuilds the identical string to check an
44
+ * existing one, so the helper is shared and cannot be guarded in place. */
45
+ function authorityDelegationSignatureInputForWrite(delegation) {
46
+ return AUTHORITY_DELEGATION_SIGNATURE_DOMAIN + canonicalizeJCSForWrite(delegation);
47
+ }
22
48
  export function signAuthorityDelegation(delegation, privateKey) {
23
- return sign(authorityDelegationSignatureInput(delegation), privateKey);
49
+ return sign(authorityDelegationSignatureInputForWrite(delegation), privateKey);
24
50
  }
25
51
  export function verifyAuthorityDelegationSignature(delegation, publicKey) {
26
52
  const { signature, ...unsigned } = delegation;
@@ -1 +1 @@
1
- {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/canonical.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGnD,MAAM,CAAC,MAAM,8BAA8B,GAAG,kCAAkC,CAAA;AAChF,MAAM,CAAC,MAAM,qCAAqC,GAAG,yCAAyC,CAAA;AAE9F,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,0BAA0B,CAAC,IAA+B;IACxE,OAAO,8BAA8B,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAA+B;IAC1E,OAAO,UAAU,SAAS,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;AAChE,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,iCAAiC,CAC/C,UAAoD;IAEpD,OAAO,qCAAqC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAoD,EACpD,UAAkB;IAElB,OAAO,IAAI,CAAC,iCAAiC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,UAAiC,EACjC,SAAiB;IAEjB,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC7C,OAAO,MAAM,CAAC,iCAAiC,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAiC;IAEjC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IACnF,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/canonical.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGnD,MAAM,CAAC,MAAM,8BAA8B,GAAG,kCAAkC,CAAA;AAChF,MAAM,CAAC,MAAM,qCAAqC,GAAG,yCAAyC,CAAA;AAE9F,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,0BAA0B,CAAC,IAA+B;IACxE,OAAO,8BAA8B,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;AAC/D,CAAC;AACD;;;;;;iBAMiB;AACjB,MAAM,UAAU,kCAAkC,CAAC,IAA+B;IAChF,OAAO,8BAA8B,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAA+B;IAC1E,OAAO,UAAU,SAAS,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;AAChE,CAAC;AAED;;;;4EAI4E;AAC5E,MAAM,UAAU,oCAAoC,CAAC,IAA+B;IAClF,OAAO,UAAU,SAAS,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;AACxE,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,iCAAiC,CAC/C,UAAoD;IAEpD,OAAO,qCAAqC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;AAC5E,CAAC;AAED;;;;4EAI4E;AAC5E,SAAS,yCAAyC,CAChD,UAAoD;IAEpD,OAAO,qCAAqC,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAA;AACpF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAoD,EACpD,UAAkB;IAElB,OAAO,IAAI,CAAC,yCAAyC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,UAAiC,EACjC,SAAiB;IAEjB,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC7C,OAAO,MAAM,CAAC,iCAAiC,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAiC;IAEjC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IACnF,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,6 +1,6 @@
1
1
  // Copyright (c) 2026 Tymofii Pidlisnyi
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { computeAuthorityDelegationId, signAuthorityDelegation, } from './canonical.js';
3
+ import { computeAuthorityDelegationIdForWrite, signAuthorityDelegation, } from './canonical.js';
4
4
  import { compareAuthority } from './compare.js';
5
5
  import { validateAuthorityDelegationShape } from './schema.js';
6
6
  function assertBody(body) {
@@ -17,7 +17,7 @@ function assertBody(body) {
17
17
  /** Create a deterministic v1 record from explicit body fields and an Ed25519 key. */
18
18
  export function issueAuthorityDelegation(body, privateKey) {
19
19
  assertBody(body);
20
- const delegation_id = computeAuthorityDelegationId(body);
20
+ const delegation_id = computeAuthorityDelegationIdForWrite(body);
21
21
  const unsigned = { ...body, delegation_id };
22
22
  return { ...unsigned, signature: signAuthorityDelegation(unsigned, privateKey) };
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/issue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/issue.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,14 @@ import type { BehavioralDriftWindowEnvelope, UnsignedBehavioralDriftWindowEnvelo
6
6
  * envelope from a partial shape.
7
7
  */
8
8
  export declare function canonicalizeForSignature(envelope: UnsignedBehavioralDriftWindowEnvelope | BehavioralDriftWindowEnvelope): string;
9
+ /** Write-boundary twin of canonicalizeForSignature().
10
+ *
11
+ * Emits the same bytes as canonicalizeForSignature() for every value it accepts. The only difference
12
+ * is that an integer-valued number outside the interoperable IEEE 754 range is
13
+ * refused instead of serialized. Use at signing and new-write boundaries ONLY:
14
+ * canonicalizeForSignature() stays unrestricted so an artifact signed before this rule keeps
15
+ * verifying. */
16
+ export declare function canonicalizeForSignatureForWrite(envelope: UnsignedBehavioralDriftWindowEnvelope | BehavioralDriftWindowEnvelope): string;
9
17
  /**
10
18
  * Sign an unsigned envelope with the observer's Ed25519 private key
11
19
  * (hex). Derives the public key from the private key and writes it into
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../../src/v2/behavioral_drift_window/envelope.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,6BAA6B,EAC7B,qCAAqC,EACtC,MAAM,YAAY,CAAA;AAEnB;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,qCAAqC,GAAG,6BAA6B,GAC9E,MAAM,CAGR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,qCAAqC,GAC9C,6BAA6B,CAM/B"}
1
+ {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../../src/v2/behavioral_drift_window/envelope.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,6BAA6B,EAC7B,qCAAqC,EACtC,MAAM,YAAY,CAAA;AAEnB;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,qCAAqC,GAAG,6BAA6B,GAC9E,MAAM,CAGR;AAED;;;;;;iBAMiB;AACjB,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,qCAAqC,GAAG,6BAA6B,GAC9E,MAAM,CAGR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,qCAAqC,GAC9C,6BAA6B,CAM/B"}
@@ -14,7 +14,7 @@
14
14
  // from a key-verification standpoint; the verifier checks the signature
15
15
  // against observer_id. For self-attestation the two coincide.
16
16
  // ══════════════════════════════════════════════════════════════════
17
- import { canonicalizeJCS } from '../../core/canonical-jcs.js';
17
+ import { canonicalizeJCS, canonicalizeJCSForWrite } from '../../core/canonical-jcs.js';
18
18
  import { sign, publicKeyFromPrivate } from '../../crypto/keys.js';
19
19
  /**
20
20
  * Canonicalize an envelope for signing. The signature field is set to the
@@ -26,6 +26,17 @@ export function canonicalizeForSignature(envelope) {
26
26
  const draft = { ...envelope, signature: '' };
27
27
  return canonicalizeJCS(draft);
28
28
  }
29
+ /** Write-boundary twin of canonicalizeForSignature().
30
+ *
31
+ * Emits the same bytes as canonicalizeForSignature() for every value it accepts. The only difference
32
+ * is that an integer-valued number outside the interoperable IEEE 754 range is
33
+ * refused instead of serialized. Use at signing and new-write boundaries ONLY:
34
+ * canonicalizeForSignature() stays unrestricted so an artifact signed before this rule keeps
35
+ * verifying. */
36
+ export function canonicalizeForSignatureForWrite(envelope) {
37
+ const draft = { ...envelope, signature: '' };
38
+ return canonicalizeJCSForWrite(draft);
39
+ }
29
40
  /**
30
41
  * Sign an unsigned envelope with the observer's Ed25519 private key
31
42
  * (hex). Derives the public key from the private key and writes it into
@@ -43,7 +54,7 @@ export function canonicalizeForSignature(envelope) {
43
54
  export function signBehavioralDriftWindow(privateKeyHex, unsigned) {
44
55
  const observer_id = publicKeyFromPrivate(privateKeyHex);
45
56
  const withDerivedKey = { ...unsigned, observer_id };
46
- const bytes = canonicalizeForSignature(withDerivedKey);
57
+ const bytes = canonicalizeForSignatureForWrite(withDerivedKey);
47
58
  const signature = sign(bytes, privateKeyHex);
48
59
  return { ...withDerivedKey, signature };
49
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../../src/v2/behavioral_drift_window/envelope.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,+DAA+D;AAC/D,qEAAqE;AACrE,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,sEAAsE;AACtE,aAAa;AACb,EAAE;AACF,oEAAoE;AACpE,uEAAuE;AACvE,wEAAwE;AACxE,8DAA8D;AAC9D,qEAAqE;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAOjE;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA+E;IAE/E,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;IAC5C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAAqB,EACrB,QAA+C;IAE/C,MAAM,WAAW,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAA;IACvD,MAAM,cAAc,GAA0C,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAA;IAC1F,MAAM,KAAK,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAA;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC5C,OAAO,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../../src/v2/behavioral_drift_window/envelope.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,+DAA+D;AAC/D,qEAAqE;AACrE,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,sEAAsE;AACtE,aAAa;AACb,EAAE;AACF,oEAAoE;AACpE,uEAAuE;AACvE,wEAAwE;AACxE,8DAA8D;AAC9D,qEAAqE;AAErE,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACtF,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAOjE;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA+E;IAE/E,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;IAC5C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED;;;;;;iBAMiB;AACjB,MAAM,UAAU,gCAAgC,CAC9C,QAA+E;IAE/E,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;IAC5C,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAAqB,EACrB,QAA+C;IAE/C,MAAM,WAAW,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAA;IACvD,MAAM,cAAc,GAA0C,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAA;IAC1F,MAAM,KAAK,GAAG,gCAAgC,CAAC,cAAc,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC5C,OAAO,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,CAAA;AACzC,CAAC"}
@@ -7,6 +7,14 @@ import type { PolicyContext, V2Delegation, V2ScopeDefinition, ArtifactProvenance
7
7
  import type { BehavioralAttestationResult } from '../types/attestation.js';
8
8
  export declare function sha256(data: string): string;
9
9
  export declare function hashObject(obj: Record<string, unknown>): string;
10
+ /** Write-boundary twin of hashObject().
11
+ *
12
+ * Emits the same bytes as hashObject() for every value it accepts. The only difference
13
+ * is that an integer-valued number outside the interoperable IEEE 754 range is
14
+ * refused instead of serialized. Use at signing and new-write boundaries ONLY:
15
+ * hashObject() stays unrestricted so an artifact signed before this rule keeps
16
+ * verifying. */
17
+ export declare function hashObjectForWrite(obj: Record<string, unknown>): string;
10
18
  export declare function signObject(obj: Record<string, unknown>, privateKey: string): string;
11
19
  export declare function verifyObject(obj: Record<string, unknown>, signature: string, publicKey: string): boolean;
12
20
  export declare function createPolicyContext(params: {
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/v2/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/v2/bridge.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  import crypto from 'node:crypto';
8
8
  import { v4 as uuidv4 } from 'uuid';
9
9
  import { sign, verify } from '../crypto/keys.js';
10
- import { canonicalize } from '../core/canonical.js';
10
+ import { canonicalize, canonicalizeForWrite } from '../core/canonical.js';
11
11
  import { validateAttestationResult } from '../core/evaluation-context.js';
12
12
  // ═══════════════════════════════════════════════
13
13
  // CRYPTO BRIDGE — v1 sign/verify adapted for v2 object signing
@@ -19,8 +19,19 @@ export function hashObject(obj) {
19
19
  const canonical = canonicalize(obj);
20
20
  return sha256(canonical);
21
21
  }
22
+ /** Write-boundary twin of hashObject().
23
+ *
24
+ * Emits the same bytes as hashObject() for every value it accepts. The only difference
25
+ * is that an integer-valued number outside the interoperable IEEE 754 range is
26
+ * refused instead of serialized. Use at signing and new-write boundaries ONLY:
27
+ * hashObject() stays unrestricted so an artifact signed before this rule keeps
28
+ * verifying. */
29
+ export function hashObjectForWrite(obj) {
30
+ const canonical = canonicalizeForWrite(obj);
31
+ return sha256(canonical);
32
+ }
22
33
  export function signObject(obj, privateKey) {
23
- const hash = hashObject(obj);
34
+ const hash = hashObjectForWrite(obj);
24
35
  return sign(hash, privateKey);
25
36
  }
26
37
  export function verifyObject(obj, signature, publicKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/v2/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/v2/bridge.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,16 @@ export declare function sortFeatureActivations(acts: FeatureActivation[]): Featu
11
11
  * sign it via `signAttestation`.
12
12
  */
13
13
  export declare function buildAttestation(input: BuildAttestationInput): CognitiveAttestation;
14
- /**
15
- * JCS-canonicalize the attestation for signing. Signatures are elided
16
- * (`signatures: []`) so all signers over the same payload produce the
17
- * same input bytes regardless of signing order.
18
- *
19
- * Returns UTF-8 bytes. To obtain the canonical string, decode with TextDecoder.
20
- */
21
14
  export declare function canonicalizeAttestation(att: CognitiveAttestation): Uint8Array;
15
+ /** Write-boundary twin of canonicalizeAttestation().
16
+ *
17
+ * Shares one implementation body with canonicalizeAttestation() so the two can never drift apart
18
+ * on the field list. Emits the same bytes for every value it accepts; the only
19
+ * difference is that an integer-valued number outside the interoperable IEEE 754
20
+ * range is refused instead of serialized. Use at signing and new-write boundaries
21
+ * ONLY: canonicalizeAttestation() stays unrestricted so an artifact signed before this rule keeps
22
+ * verifying. */
23
+ export declare function canonicalizeAttestationForWrite(att: CognitiveAttestation): Uint8Array;
22
24
  /**
23
25
  * Sign an attestation with a 32-byte Ed25519 seed. Appends a new entry to
24
26
  * `signatures`. Returns a new object; never mutates input.
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../../src/v2/cognitive-attestation/envelope.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAA;AAcnB;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAOrF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,oBAAoB,CAuCnF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,oBAAoB,GAAG,UAAU,CAQ7E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,oBAAoB,EACzB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GACrB,oBAAoB,CAsBtB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,CAO5E;AAkCD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAsJxF"}
1
+ {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../../src/v2/cognitive-attestation/envelope.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAA;AAcnB;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAOrF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,oBAAoB,CAuCnF;AAsBD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,oBAAoB,GAAG,UAAU,CAE7E;AAED;;;;;;;iBAOiB;AACjB,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,oBAAoB,GAAG,UAAU,CAErF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,oBAAoB,EACzB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GACrB,oBAAoB,CAsBtB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,CAO5E;AAkCD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAsJxF"}