@veraanchor/verifier 0.0.0-stage → 0.1.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 (214) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/CONTRIBUTING.md +33 -0
  3. package/LICENSE +21 -0
  4. package/NOTICE +4 -0
  5. package/README.md +263 -2
  6. package/SECURITY.md +21 -0
  7. package/dist/cli/commandV1.d.ts +5 -0
  8. package/dist/cli/commandV1.d.ts.map +1 -0
  9. package/dist/cli/commandV1.js +440 -0
  10. package/dist/cli/commandV1.js.map +1 -0
  11. package/dist/cli.d.ts +3 -0
  12. package/dist/cli.d.ts.map +1 -0
  13. package/dist/cli.js +5 -0
  14. package/dist/cli.js.map +1 -0
  15. package/dist/contracts/verification.d.ts +77 -0
  16. package/dist/contracts/verification.d.ts.map +1 -0
  17. package/dist/contracts/verification.js +6 -0
  18. package/dist/contracts/verification.js.map +1 -0
  19. package/dist/crypto/sha3.d.ts +15 -0
  20. package/dist/crypto/sha3.d.ts.map +1 -0
  21. package/dist/crypto/sha3.js +27 -0
  22. package/dist/crypto/sha3.js.map +1 -0
  23. package/dist/crypto/streamSha3.d.ts +26 -0
  24. package/dist/crypto/streamSha3.d.ts.map +1 -0
  25. package/dist/crypto/streamSha3.js +52 -0
  26. package/dist/crypto/streamSha3.js.map +1 -0
  27. package/dist/hf/hashContractV1.d.ts +48 -0
  28. package/dist/hf/hashContractV1.d.ts.map +1 -0
  29. package/dist/hf/hashContractV1.js +185 -0
  30. package/dist/hf/hashContractV1.js.map +1 -0
  31. package/dist/index.d.ts +80 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +57 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/merkle/membership.d.ts +30 -0
  36. package/dist/merkle/membership.d.ts.map +1 -0
  37. package/dist/merkle/membership.js +105 -0
  38. package/dist/merkle/membership.js.map +1 -0
  39. package/dist/policy/contractV1.d.ts +37 -0
  40. package/dist/policy/contractV1.d.ts.map +1 -0
  41. package/dist/policy/contractV1.js +2 -0
  42. package/dist/policy/contractV1.js.map +1 -0
  43. package/dist/policy/evaluateV1.d.ts +24 -0
  44. package/dist/policy/evaluateV1.d.ts.map +1 -0
  45. package/dist/policy/evaluateV1.js +320 -0
  46. package/dist/policy/evaluateV1.js.map +1 -0
  47. package/dist/profiles/dataset/sourceV1.d.ts +22 -0
  48. package/dist/profiles/dataset/sourceV1.d.ts.map +1 -0
  49. package/dist/profiles/dataset/sourceV1.js +73 -0
  50. package/dist/profiles/dataset/sourceV1.js.map +1 -0
  51. package/dist/profiles/dataset/v1.d.ts +39 -0
  52. package/dist/profiles/dataset/v1.d.ts.map +1 -0
  53. package/dist/profiles/dataset/v1.js +362 -0
  54. package/dist/profiles/dataset/v1.js.map +1 -0
  55. package/dist/profiles/execution/contractV1.d.ts +279 -0
  56. package/dist/profiles/execution/contractV1.d.ts.map +1 -0
  57. package/dist/profiles/execution/contractV1.js +364 -0
  58. package/dist/profiles/execution/contractV1.js.map +1 -0
  59. package/dist/profiles/execution/independentStandardsV1.d.ts +44 -0
  60. package/dist/profiles/execution/independentStandardsV1.d.ts.map +1 -0
  61. package/dist/profiles/execution/independentStandardsV1.js +336 -0
  62. package/dist/profiles/execution/independentStandardsV1.js.map +1 -0
  63. package/dist/profiles/execution/reasonCodesV1.d.ts +30 -0
  64. package/dist/profiles/execution/reasonCodesV1.d.ts.map +1 -0
  65. package/dist/profiles/execution/reasonCodesV1.js +20 -0
  66. package/dist/profiles/execution/reasonCodesV1.js.map +1 -0
  67. package/dist/profiles/execution/recomputationV1.d.ts +11 -0
  68. package/dist/profiles/execution/recomputationV1.d.ts.map +1 -0
  69. package/dist/profiles/execution/recomputationV1.js +144 -0
  70. package/dist/profiles/execution/recomputationV1.js.map +1 -0
  71. package/dist/profiles/execution/rulesV1.d.ts +6 -0
  72. package/dist/profiles/execution/rulesV1.d.ts.map +1 -0
  73. package/dist/profiles/execution/rulesV1.js +855 -0
  74. package/dist/profiles/execution/rulesV1.js.map +1 -0
  75. package/dist/profiles/execution/standardsPlanV1.d.ts +18 -0
  76. package/dist/profiles/execution/standardsPlanV1.d.ts.map +1 -0
  77. package/dist/profiles/execution/standardsPlanV1.js +16 -0
  78. package/dist/profiles/execution/standardsPlanV1.js.map +1 -0
  79. package/dist/profiles/execution/verificationV1.d.ts +28 -0
  80. package/dist/profiles/execution/verificationV1.d.ts.map +1 -0
  81. package/dist/profiles/execution/verificationV1.js +188 -0
  82. package/dist/profiles/execution/verificationV1.js.map +1 -0
  83. package/dist/profiles/ingest/sourceV1.d.ts +36 -0
  84. package/dist/profiles/ingest/sourceV1.d.ts.map +1 -0
  85. package/dist/profiles/ingest/sourceV1.js +99 -0
  86. package/dist/profiles/ingest/sourceV1.js.map +1 -0
  87. package/dist/profiles/ingest/v1.d.ts +65 -0
  88. package/dist/profiles/ingest/v1.d.ts.map +1 -0
  89. package/dist/profiles/ingest/v1.js +477 -0
  90. package/dist/profiles/ingest/v1.js.map +1 -0
  91. package/dist/profiles/sourceV1Helpers.d.ts +48 -0
  92. package/dist/profiles/sourceV1Helpers.d.ts.map +1 -0
  93. package/dist/profiles/sourceV1Helpers.js +141 -0
  94. package/dist/profiles/sourceV1Helpers.js.map +1 -0
  95. package/dist/reports/coreV1.d.ts +7 -0
  96. package/dist/reports/coreV1.d.ts.map +1 -0
  97. package/dist/reports/coreV1.js +195 -0
  98. package/dist/reports/coreV1.js.map +1 -0
  99. package/dist/reports/portableV1.d.ts +48 -0
  100. package/dist/reports/portableV1.d.ts.map +1 -0
  101. package/dist/reports/portableV1.js +279 -0
  102. package/dist/reports/portableV1.js.map +1 -0
  103. package/dist/reports/validationV1.d.ts +19 -0
  104. package/dist/reports/validationV1.d.ts.map +1 -0
  105. package/dist/reports/validationV1.js +441 -0
  106. package/dist/reports/validationV1.js.map +1 -0
  107. package/dist/resolvers/executionMirrorV1.d.ts +15 -0
  108. package/dist/resolvers/executionMirrorV1.d.ts.map +1 -0
  109. package/dist/resolvers/executionMirrorV1.js +206 -0
  110. package/dist/resolvers/executionMirrorV1.js.map +1 -0
  111. package/dist/resolvers/explorerExecutionV1.d.ts +17 -0
  112. package/dist/resolvers/explorerExecutionV1.d.ts.map +1 -0
  113. package/dist/resolvers/explorerExecutionV1.js +61 -0
  114. package/dist/resolvers/explorerExecutionV1.js.map +1 -0
  115. package/dist/resolvers/explorerPublicV1.d.ts +37 -0
  116. package/dist/resolvers/explorerPublicV1.d.ts.map +1 -0
  117. package/dist/resolvers/explorerPublicV1.js +210 -0
  118. package/dist/resolvers/explorerPublicV1.js.map +1 -0
  119. package/dist/resolvers/explorerPublicationV1.d.ts +20 -0
  120. package/dist/resolvers/explorerPublicationV1.d.ts.map +1 -0
  121. package/dist/resolvers/explorerPublicationV1.js +195 -0
  122. package/dist/resolvers/explorerPublicationV1.js.map +1 -0
  123. package/dist/resolvers/explorerTransportV1.d.ts +17 -0
  124. package/dist/resolvers/explorerTransportV1.d.ts.map +1 -0
  125. package/dist/resolvers/explorerTransportV1.js +112 -0
  126. package/dist/resolvers/explorerTransportV1.js.map +1 -0
  127. package/dist/resolvers/hcs11MirrorV1.d.ts +49 -0
  128. package/dist/resolvers/hcs11MirrorV1.d.ts.map +1 -0
  129. package/dist/resolvers/hcs11MirrorV1.js +293 -0
  130. package/dist/resolvers/hcs11MirrorV1.js.map +1 -0
  131. package/dist/resolvers/hcs13MirrorV1.d.ts +35 -0
  132. package/dist/resolvers/hcs13MirrorV1.d.ts.map +1 -0
  133. package/dist/resolvers/hcs13MirrorV1.js +72 -0
  134. package/dist/resolvers/hcs13MirrorV1.js.map +1 -0
  135. package/dist/resolvers/hcs1MirrorV1.d.ts +28 -0
  136. package/dist/resolvers/hcs1MirrorV1.d.ts.map +1 -0
  137. package/dist/resolvers/hcs1MirrorV1.js +220 -0
  138. package/dist/resolvers/hcs1MirrorV1.js.map +1 -0
  139. package/dist/resolvers/hcs26MirrorV1.d.ts +67 -0
  140. package/dist/resolvers/hcs26MirrorV1.d.ts.map +1 -0
  141. package/dist/resolvers/hcs26MirrorV1.js +218 -0
  142. package/dist/resolvers/hcs26MirrorV1.js.map +1 -0
  143. package/dist/resolvers/hcs26RegistryMirrorV1.d.ts +26 -0
  144. package/dist/resolvers/hcs26RegistryMirrorV1.d.ts.map +1 -0
  145. package/dist/resolvers/hcs26RegistryMirrorV1.js +200 -0
  146. package/dist/resolvers/hcs26RegistryMirrorV1.js.map +1 -0
  147. package/dist/resolvers/hcs2MirrorV1.d.ts +26 -0
  148. package/dist/resolvers/hcs2MirrorV1.d.ts.map +1 -0
  149. package/dist/resolvers/hcs2MirrorV1.js +196 -0
  150. package/dist/resolvers/hcs2MirrorV1.js.map +1 -0
  151. package/dist/resolvers/hederaMirrorV1.d.ts +22 -0
  152. package/dist/resolvers/hederaMirrorV1.d.ts.map +1 -0
  153. package/dist/resolvers/hederaMirrorV1.js +338 -0
  154. package/dist/resolvers/hederaMirrorV1.js.map +1 -0
  155. package/dist/standards/hcs/hcs11V1.d.ts +51 -0
  156. package/dist/standards/hcs/hcs11V1.d.ts.map +1 -0
  157. package/dist/standards/hcs/hcs11V1.js +289 -0
  158. package/dist/standards/hcs/hcs11V1.js.map +1 -0
  159. package/dist/standards/hcs/hcs13V1.d.ts +39 -0
  160. package/dist/standards/hcs/hcs13V1.d.ts.map +1 -0
  161. package/dist/standards/hcs/hcs13V1.js +114 -0
  162. package/dist/standards/hcs/hcs13V1.js.map +1 -0
  163. package/dist/standards/hcs/hcs14V1.d.ts +35 -0
  164. package/dist/standards/hcs/hcs14V1.d.ts.map +1 -0
  165. package/dist/standards/hcs/hcs14V1.js +168 -0
  166. package/dist/standards/hcs/hcs14V1.js.map +1 -0
  167. package/dist/standards/hcs/hcs1V1.d.ts +30 -0
  168. package/dist/standards/hcs/hcs1V1.d.ts.map +1 -0
  169. package/dist/standards/hcs/hcs1V1.js +140 -0
  170. package/dist/standards/hcs/hcs1V1.js.map +1 -0
  171. package/dist/standards/hcs/hcs26V1.d.ts +58 -0
  172. package/dist/standards/hcs/hcs26V1.d.ts.map +1 -0
  173. package/dist/standards/hcs/hcs26V1.js +339 -0
  174. package/dist/standards/hcs/hcs26V1.js.map +1 -0
  175. package/dist/standards/hcs/hcs2V1.d.ts +36 -0
  176. package/dist/standards/hcs/hcs2V1.d.ts.map +1 -0
  177. package/dist/standards/hcs/hcs2V1.js +181 -0
  178. package/dist/standards/hcs/hcs2V1.js.map +1 -0
  179. package/dist/standards/hcs/jsonCanonicalV1.d.ts +15 -0
  180. package/dist/standards/hcs/jsonCanonicalV1.d.ts.map +1 -0
  181. package/dist/standards/hcs/jsonCanonicalV1.js +160 -0
  182. package/dist/standards/hcs/jsonCanonicalV1.js.map +1 -0
  183. package/dist/triangulation/compareV1.d.ts +50 -0
  184. package/dist/triangulation/compareV1.d.ts.map +1 -0
  185. package/dist/triangulation/compareV1.js +236 -0
  186. package/dist/triangulation/compareV1.js.map +1 -0
  187. package/dist/triangulation/executionPlanV1.d.ts +39 -0
  188. package/dist/triangulation/executionPlanV1.d.ts.map +1 -0
  189. package/dist/triangulation/executionPlanV1.js +208 -0
  190. package/dist/triangulation/executionPlanV1.js.map +1 -0
  191. package/dist/triangulation/executionPublicV1.d.ts +22 -0
  192. package/dist/triangulation/executionPublicV1.d.ts.map +1 -0
  193. package/dist/triangulation/executionPublicV1.js +39 -0
  194. package/dist/triangulation/executionPublicV1.js.map +1 -0
  195. package/dist/triangulation/messageObservationV1.d.ts +26 -0
  196. package/dist/triangulation/messageObservationV1.d.ts.map +1 -0
  197. package/dist/triangulation/messageObservationV1.js +69 -0
  198. package/dist/triangulation/messageObservationV1.js.map +1 -0
  199. package/dist/triangulation/publicV1.d.ts +29 -0
  200. package/dist/triangulation/publicV1.d.ts.map +1 -0
  201. package/dist/triangulation/publicV1.js +170 -0
  202. package/dist/triangulation/publicV1.js.map +1 -0
  203. package/dist/verification/sourceIntentV1.d.ts +15 -0
  204. package/dist/verification/sourceIntentV1.d.ts.map +1 -0
  205. package/dist/verification/sourceIntentV1.js +206 -0
  206. package/dist/verification/sourceIntentV1.js.map +1 -0
  207. package/docs/cli-v0.1.md +237 -0
  208. package/docs/conformance.md +38 -0
  209. package/docs/threat-model.md +37 -0
  210. package/docs/verification-semantics.md +65 -0
  211. package/examples/README.md +35 -0
  212. package/examples/dataset-offline.mjs +58 -0
  213. package/examples/dataset-policy.mjs +59 -0
  214. package/package.json +65 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rulesV1.js","sourceRoot":"","sources":["../../../src/profiles/execution/rulesV1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { PublicExecutionStandardsEvidence } from "./contractV1.js";
2
+ export type StandardsResolutionPlanTarget = Readonly<{
3
+ kind: "agent";
4
+ role: "requester" | "executor";
5
+ }> | Readonly<{
6
+ kind: "capability";
7
+ }> | Readonly<{
8
+ kind: "schema";
9
+ index: number;
10
+ }>;
11
+ export type StandardsResolutionPlanItem = Readonly<{
12
+ key: string;
13
+ standard: string;
14
+ reference: string;
15
+ target: StandardsResolutionPlanTarget;
16
+ }>;
17
+ export declare function buildStandardsResolutionPlan(evidence: PublicExecutionStandardsEvidence): readonly StandardsResolutionPlanItem[];
18
+ //# sourceMappingURL=standardsPlanV1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standardsPlanV1.d.ts","sourceRoot":"","sources":["../../../src/profiles/execution/standardsPlanV1.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACxE,MAAM,MAAM,6BAA6B,GACrC,QAAQ,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAAA;CAAE,CAAC,GAC3D,QAAQ,CAAC;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,GAChC,QAAQ,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAChD,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,6BAA6B,CAAC;CACzF,CAAC,CAAC;AAIH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,gCAAgC,GAAG,SAAS,2BAA2B,EAAE,CAW/H"}
@@ -0,0 +1,16 @@
1
+ function text(value) {
2
+ return typeof value === "string" ? value.trim() : String(value ?? "").trim();
3
+ }
4
+ export function buildStandardsResolutionPlan(evidence) {
5
+ const items = [
6
+ Object.freeze({ key: "agent:requester", standard: "HCS-11/HCS-14", reference: text(evidence.agents?.requester?.hcs11?.profile_hcs1_ref), target: Object.freeze({ kind: "agent", role: "requester" }) }),
7
+ Object.freeze({ key: "agent:executor", standard: "HCS-11/HCS-14", reference: text(evidence.agents?.executor?.hcs11?.profile_hcs1_ref), target: Object.freeze({ kind: "agent", role: "executor" }) }),
8
+ Object.freeze({ key: "capability:hcs26", standard: "HCS-26", reference: text(evidence.capability?.manifest_hcs1_ref), target: Object.freeze({ kind: "capability" }) }),
9
+ ];
10
+ const schemas = Array.isArray(evidence.standards?.schemas) ? evidence.standards.schemas : [];
11
+ schemas.forEach((schema, index) => {
12
+ items.push(Object.freeze({ key: `schema:${text(schema?.role).toLowerCase()}:${Number(schema?.ordinal ?? index)}`, standard: "HCS-13", reference: text(schema?.hcs13_ref), target: Object.freeze({ kind: "schema", index }) }));
13
+ });
14
+ return Object.freeze(items);
15
+ }
16
+ //# sourceMappingURL=standardsPlanV1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standardsPlanV1.js","sourceRoot":"","sources":["../../../src/profiles/execution/standardsPlanV1.ts"],"names":[],"mappings":"AASA,SAAS,IAAI,CAAC,KAAc;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/E,CAAC;AACD,MAAM,UAAU,4BAA4B,CAAC,QAA0C;IACrF,MAAM,KAAK,GAAkC;QAC3C,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAoB,EAAE,CAAC,EAAE,CAAC;QAChN,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAmB,EAAE,CAAC,EAAE,CAAC;QAC7M,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAqB,EAAE,CAAC,EAAE,CAAC;KAChL,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1O,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { VerificationIntent, VerificationReport } from "../../contracts/verification.js";
2
+ import { type PublicExecutionVerificationMaterial } from "./contractV1.js";
3
+ /** Explicitly supported verification profiles; not arbitrary compute contract versions. */
4
+ export type ExecutionV1Profile = "execution-v1" | "sage-standards-v1";
5
+ export type ExecutionV1Report = VerificationReport & Readonly<{
6
+ /** Independent caller constraints retained for audit and portable reporting. */
7
+ verification_scope: Readonly<{
8
+ profile: ExecutionV1Profile;
9
+ expected_program: string | null;
10
+ requested_result_id: string | null;
11
+ }>;
12
+ }>;
13
+ export type ExecutionV1Input = Readonly<{
14
+ /** Defaults to SAGE for compatibility with the initial unreleased offline API. */
15
+ profile?: ExecutionV1Profile;
16
+ evidence: unknown;
17
+ intent: VerificationIntent;
18
+ result_id?: string | null;
19
+ verification_material?: PublicExecutionVerificationMaterial | null;
20
+ /** Independently supplied expected program, when required by the caller. */
21
+ expected_program?: string;
22
+ }>;
23
+ /**
24
+ * SDK-native findings. The supplied evidence is not authenticated or independently
25
+ * resolved, even when structural checks or recomputations pass.
26
+ */
27
+ export declare function verifyExecutionV1WithIntent(input: ExecutionV1Input): ExecutionV1Report;
28
+ //# sourceMappingURL=verificationV1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verificationV1.d.ts","sourceRoot":"","sources":["../../../src/profiles/execution/verificationV1.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAC6B,kBAAkB,EACX,kBAAkB,EACjE,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAMkC,KAAK,mCAAmC,EAEhF,MAAM,iBAAiB,CAAC;AAOzB,2FAA2F;AAC3F,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,mBAAmB,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,QAAQ,CAAC;IAC5D,gFAAgF;IAChF,kBAAkB,EAAE,QAAQ,CAAC;QAC3B,OAAO,EAAE,kBAAkB,CAAC;QAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;KACpC,CAAC,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,kFAAkF;IAClF,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,qBAAqB,CAAC,EAAE,mCAAmC,GAAG,IAAI,CAAC;IACnE,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC,CAAC;AAkIH;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CA2EtF"}
@@ -0,0 +1,188 @@
1
+ import { EXECUTION_VERIFICATION_SCHEMA_VERSION, EXECUTION_VERIFIER_VERSION, SUPPORTED_PUBLIC_STANDARDS_CONTRACT_VERSIONS, freezeVerificationReport, makeVerificationCheck, outcomeStatus, validateExecutionVerificationInputBounds, verificationSummary, } from "./contractV1.js";
2
+ import { EXECUTION_VERIFICATION_REASON_CODES as REASONS } from "./reasonCodesV1.js";
3
+ import { COMMON_EXECUTION_VERIFICATION_RULES, EXECUTION_VERIFICATION_RULES } from "./rulesV1.js";
4
+ const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
5
+ const MAX_PROGRAM = 128;
6
+ function finding(check_id, outcome, reason_code, observation_ids) {
7
+ return Object.freeze({ check_id, outcome, reason_code, observation_ids: Object.freeze([...observation_ids]) });
8
+ }
9
+ function fact(key, value) {
10
+ return Object.freeze({ key, state: "available", value });
11
+ }
12
+ function mapStatus(check) {
13
+ switch (check.status) {
14
+ case "pass": return "pass";
15
+ case "fail": return "fail";
16
+ case "unavailable": return "indeterminate";
17
+ case "not_applicable": return "skipped";
18
+ }
19
+ }
20
+ function checkedInput(input) {
21
+ if (!input || typeof input !== "object" || !input.intent || typeof input.intent !== "object") {
22
+ throw new TypeError("Execution verification requires caller intent");
23
+ }
24
+ const profile = input.profile ?? "sage-standards-v1";
25
+ if (profile !== "execution-v1" && profile !== "sage-standards-v1") {
26
+ throw new TypeError("Unsupported execution verification profile");
27
+ }
28
+ const intent = input.intent;
29
+ if (intent.subject?.kind !== "execution" || !UUID.test(intent.subject.id) ||
30
+ (intent.subject.hedera_network !== "mainnet" && intent.subject.hedera_network !== "testnet")) {
31
+ throw new TypeError("Execution intent requires an exact job UUID and Hedera network");
32
+ }
33
+ if (!Array.isArray(intent.expected) || intent.expected.length) {
34
+ // No execution-specific expected commitment vocabulary is defined yet.
35
+ // Never silently ignore caller requirements or claim an HF digest domain.
36
+ throw new TypeError("Execution v1 does not support generic expected commitments; supply explicit supported inputs");
37
+ }
38
+ const resultId = input.result_id == null ? "" : input.result_id.trim().toLowerCase();
39
+ if (resultId && !UUID.test(resultId))
40
+ throw new TypeError("Requested result_id must be a UUID");
41
+ const expectedProgram = input.expected_program ?? "";
42
+ if (typeof expectedProgram !== "string" || expectedProgram.length > MAX_PROGRAM ||
43
+ (expectedProgram && expectedProgram.trim() !== expectedProgram)) {
44
+ throw new TypeError("Expected program must be a bounded canonical string");
45
+ }
46
+ // Generic profile cannot infer the expected program from untrusted evidence.
47
+ // A caller explicitly asking for SAGE must use the standards-backed profile.
48
+ if (profile === "execution-v1" && !expectedProgram) {
49
+ throw new TypeError("execution-v1 requires an independently supplied expected_program");
50
+ }
51
+ if (profile === "execution-v1" && expectedProgram.toLowerCase() === "sage") {
52
+ throw new TypeError("SAGE requires sage-standards-v1 verification profile");
53
+ }
54
+ return {
55
+ network: intent.subject.hedera_network,
56
+ jobId: intent.subject.id.toLowerCase(),
57
+ resultId,
58
+ expectedProgram: expectedProgram.toLowerCase(),
59
+ profile,
60
+ };
61
+ }
62
+ /** Explorer-compatible rule evaluation: pure, ordered and no network reads. */
63
+ function checkExecutionStandardsV1(evidenceInput, options) {
64
+ const bounds = validateExecutionVerificationInputBounds(evidenceInput);
65
+ const material = options.verification_material ?? null;
66
+ const materialBounds = material == null ? null : validateExecutionVerificationInputBounds(material);
67
+ const inputError = !bounds.ok ? bounds.reasonCode : materialBounds && !materialBounds.ok ? materialBounds.reasonCode : null;
68
+ if (inputError) {
69
+ const check = makeVerificationCheck({
70
+ id: "input.bounds", group: "contract", label: "Verification input is safely bounded and structurally supported",
71
+ requirement: "required", status: "fail", reasonCode: inputError, evidenceRefs: [],
72
+ });
73
+ return freezeVerificationReport({
74
+ schema_version: EXECUTION_VERIFICATION_SCHEMA_VERSION, verifier_version: EXECUTION_VERIFIER_VERSION,
75
+ subject: { hedera_network: options.network, program: null, job_id: null, result_id: options.result_id ?? null },
76
+ status: "failed", summary: verificationSummary([check]), checks: Object.freeze([check]),
77
+ });
78
+ }
79
+ const evidence = evidenceInput;
80
+ const requestedResultId = (options.result_id ?? "").trim().toLowerCase();
81
+ const ctx = Object.freeze({
82
+ evidence, verificationMaterial: material, expectedNetwork: options.network,
83
+ requestedResultId, supportedContractVersions: SUPPORTED_PUBLIC_STANDARDS_CONTRACT_VERSIONS,
84
+ });
85
+ const checks = [makeVerificationCheck({
86
+ id: "input.bounds", group: "contract", label: "Verification input is safely bounded and structurally supported",
87
+ requirement: "required", status: "pass", reasonCode: REASONS.CHECK_PASSED, evidenceRefs: [],
88
+ })];
89
+ const applicable = options.profile === "sage-standards-v1"
90
+ ? EXECUTION_VERIFICATION_RULES
91
+ : COMMON_EXECUTION_VERIFICATION_RULES;
92
+ const rules = evidence.available === true ? applicable :
93
+ applicable.filter((rule) => rule.id === "public_evidence.available" || rule.id === "public_evidence.contract_version");
94
+ for (const rule of rules) {
95
+ const result = rule.evaluate(ctx);
96
+ checks.push(makeVerificationCheck({
97
+ id: rule.id, group: rule.group, label: rule.label, requirement: rule.requirement,
98
+ status: result.status, reasonCode: result.reasonCode, evidenceRefs: rule.evidenceRefs,
99
+ }));
100
+ }
101
+ const network = evidence.execution?.hedera_network;
102
+ const subjectNetwork = network === "testnet" || network === "mainnet" ? network : null;
103
+ return freezeVerificationReport({
104
+ schema_version: EXECUTION_VERIFICATION_SCHEMA_VERSION,
105
+ verifier_version: EXECUTION_VERIFIER_VERSION,
106
+ subject: {
107
+ hedera_network: subjectNetwork,
108
+ program: typeof evidence.execution?.program === "string" ? evidence.execution.program.trim().toLowerCase() || null : null,
109
+ job_id: typeof evidence.execution?.job_id === "string" ? evidence.execution.job_id.trim().toLowerCase() || null : null,
110
+ result_id: requestedResultId || null,
111
+ },
112
+ status: outcomeStatus(checks), summary: verificationSummary(checks), checks: Object.freeze(checks),
113
+ });
114
+ }
115
+ /**
116
+ * SDK-native findings. The supplied evidence is not authenticated or independently
117
+ * resolved, even when structural checks or recomputations pass.
118
+ */
119
+ export function verifyExecutionV1WithIntent(input) {
120
+ const opts = checkedInput(input);
121
+ const raw = checkExecutionStandardsV1(input.evidence, {
122
+ network: opts.network, profile: opts.profile, result_id: opts.resultId,
123
+ // Exact optional properties: never pass explicit undefined.
124
+ verification_material: input.verification_material ?? null,
125
+ });
126
+ const safe = raw.checks[0]?.status === "pass";
127
+ const evidence = safe ? input.evidence : null;
128
+ const execution = evidence?.execution;
129
+ const sourceId = "execution.provided";
130
+ const computedId = "execution.recomputed";
131
+ const subject = Object.freeze({ kind: "execution", id: opts.jobId, hedera_network: opts.network });
132
+ const sourceFacts = [];
133
+ if (raw.subject.job_id)
134
+ sourceFacts.push(fact("job_id", raw.subject.job_id));
135
+ if (raw.subject.hedera_network)
136
+ sourceFacts.push(fact("hedera_network", raw.subject.hedera_network));
137
+ if (raw.subject.program)
138
+ sourceFacts.push(fact("program", raw.subject.program));
139
+ const observations = [Object.freeze({
140
+ id: sourceId, subject, source: "provided_evidence", facts: Object.freeze(sourceFacts),
141
+ })];
142
+ const recomputed = raw.checks.filter((check) => check.status === "pass" && (check.id.endsWith(".digest_recomputed") || check.id === "acceptance.digest_recomputed" || check.id === "parameters.commitment_matches"));
143
+ if (recomputed.length)
144
+ observations.push(Object.freeze({
145
+ id: computedId, subject, source: "local_computation",
146
+ facts: Object.freeze(recomputed.map((check) => fact(`check.${check.id}`, true))),
147
+ }));
148
+ const findings = raw.checks.map((check) => {
149
+ // Explorer may receive standards_resolution from its trusted resolver.
150
+ // Offline SDK callers supply this material directly: neither a "verified"
151
+ // nor a "failed" resolver assertion establishes the independent outcome.
152
+ // Structural claims are still checked separately by the other standards rules.
153
+ const untrustedResolution = check.id === "standards.references_resolved";
154
+ return finding(check.id, untrustedResolution ? "indeterminate" : mapStatus(check), untrustedResolution ? "STANDARDS_RESOLUTION_NOT_INDEPENDENTLY_VERIFIED" :
155
+ check.reason_code === REASONS.CHECK_PASSED || check.reason_code === REASONS.NOT_APPLICABLE ? null : check.reason_code, check.id === "input.bounds" ? [] : recomputed.some((item) => item.id === check.id) ? [sourceId, computedId] : [sourceId]);
156
+ });
157
+ // Restrict SAGE to the standards-backed profile. Checking a declared program
158
+ // is a scope guard, not independent authentication of the program identity.
159
+ const declaredProgram = raw.subject.program;
160
+ const profileMatches = opts.profile === "sage-standards-v1"
161
+ ? declaredProgram === "sage"
162
+ : declaredProgram !== "sage";
163
+ findings.push(finding("profile.program_scope", !safe || !declaredProgram ? "indeterminate" : profileMatches ? "pass" : "fail", !safe || !declaredProgram ? "EXECUTION_PROGRAM_UNAVAILABLE" :
164
+ profileMatches ? null : "EXECUTION_PROFILE_PROGRAM_MISMATCH", safe ? [sourceId] : []));
165
+ if (opts.profile === "execution-v1") {
166
+ findings.push(finding("profile.standards_scope", "skipped", "STANDARDS_PROFILE_NOT_SELECTED", []));
167
+ }
168
+ const actualJob = raw.subject.job_id;
169
+ findings.push(finding("intent.subject", !safe || !actualJob ? "indeterminate" : actualJob === opts.jobId ? "pass" : "fail", !safe || !actualJob ? "EXECUTION_SUBJECT_UNAVAILABLE" : actualJob === opts.jobId ? null : "SUBJECT_MISMATCH", safe ? [sourceId] : []));
170
+ if (opts.resultId) {
171
+ const actualResult = typeof evidence?.result_evidence?.result_id === "string" ? evidence.result_evidence.result_id.trim().toLowerCase() : "";
172
+ findings.push(finding("intent.result", !safe || !actualResult ? "indeterminate" : actualResult === opts.resultId ? "pass" : "fail", !safe || !actualResult ? "RESULT_EVIDENCE_UNAVAILABLE" : actualResult === opts.resultId ? null : "RESULT_SCOPE_MISMATCH", safe ? [sourceId] : []));
173
+ }
174
+ if (opts.expectedProgram) {
175
+ const program = typeof execution?.program === "string" ? execution.program.trim().toLowerCase() : "";
176
+ findings.push(finding("intent.program", !safe || !program ? "indeterminate" : program === opts.expectedProgram ? "pass" : "fail", !safe || !program ? "EXECUTION_PROGRAM_UNAVAILABLE" : program === opts.expectedProgram ? null : "PROGRAM_MISMATCH", safe ? [sourceId] : []));
177
+ }
178
+ return Object.freeze({
179
+ intent: Object.freeze({ subject, expected: Object.freeze([]) }),
180
+ verification_scope: Object.freeze({
181
+ profile: opts.profile,
182
+ expected_program: opts.expectedProgram || null,
183
+ requested_result_id: opts.resultId || null,
184
+ }),
185
+ observations: Object.freeze(observations), findings: Object.freeze(findings),
186
+ });
187
+ }
188
+ //# sourceMappingURL=verificationV1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verificationV1.js","sourceRoot":"","sources":["../../../src/profiles/execution/verificationV1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { SourceV1File, SourceV1Limits, SourceV1Mismatch } from "../sourceV1Helpers.js";
2
+ import { type IngestV1BundleComputed, type IngestV1ReceiptComputed } from "./v1.js";
3
+ export type IngestV1SourceMaterial = Readonly<{
4
+ kind: "json";
5
+ value: unknown;
6
+ }> | Readonly<{
7
+ kind: "text";
8
+ text: string;
9
+ media_type?: string | null;
10
+ }> | Readonly<{
11
+ kind: "file";
12
+ file: SourceV1File;
13
+ }> | Readonly<{
14
+ kind: "file_set";
15
+ files: readonly SourceV1File[];
16
+ }>;
17
+ export type IngestV1SourceInput = Readonly<{
18
+ bundle: unknown;
19
+ material: IngestV1SourceMaterial;
20
+ receipt?: unknown;
21
+ limits?: SourceV1Limits;
22
+ }>;
23
+ export type IngestV1SourceResult = Readonly<{
24
+ ok: boolean;
25
+ mismatches: readonly SourceV1Mismatch[];
26
+ computed: Readonly<{
27
+ bundle: IngestV1BundleComputed;
28
+ receipt?: IngestV1ReceiptComputed;
29
+ source_merkle_root: string;
30
+ source_item_count: number;
31
+ source_total_bytes: number;
32
+ }>;
33
+ }>;
34
+ /** Bind actual Ingest v1 material to its item hashes, leaf commitments, Merkle root and optional receipt. */
35
+ export declare function verifyIngestV1Sources(input: IngestV1SourceInput): Promise<IngestV1SourceResult>;
36
+ //# sourceMappingURL=sourceV1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceV1.d.ts","sourceRoot":"","sources":["../../../src/profiles/ingest/sourceV1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAe5F,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,sBAAsB,GAC9B,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,GAC1C,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GACpE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,GAC9C,QAAQ,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;CAAE,CAAC,CAAC;AACnE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAAC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACxC,QAAQ,EAAE,QAAQ,CAAC;QACjB,MAAM,EAAE,sBAAsB,CAAC;QAC/B,OAAO,CAAC,EAAE,uBAAuB,CAAC;QAClC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC,CAAC;CACJ,CAAC,CAAC;AAoBH,6GAA6G;AAC7G,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAwFrG"}
@@ -0,0 +1,99 @@
1
+ import { sourceV1Compare, sourceV1HashFile, sourceV1JsonMaterial, sourceV1Leaf, sourceV1Limits, sourceV1MediaType, sourceV1Mismatch, sourceV1Path, sourceV1PathDigest, sourceV1Root, sourceV1TextFile, sourceV1TextMaterial, } from "../sourceV1Helpers.js";
2
+ import { verifyIngestV1Bundle, verifyIngestV1Pair, } from "./v1.js";
3
+ /** Bind actual Ingest v1 material to its item hashes, leaf commitments, Merkle root and optional receipt. */
4
+ export async function verifyIngestV1Sources(input) {
5
+ const checked = input.receipt === undefined
6
+ ? verifyIngestV1Bundle(input.bundle)
7
+ : verifyIngestV1Pair({ bundle: input.bundle, receipt: input.receipt });
8
+ const checkedBundle = input.receipt === undefined ? checked.computed
9
+ : checked.computed.bundle;
10
+ const checkedReceipt = input.receipt === undefined ? undefined
11
+ : checked.computed.receipt;
12
+ const bundle = input.bundle;
13
+ const mismatches = checked.mismatches.map((entry) => sourceV1Mismatch(entry.field, entry.expected, entry.actual));
14
+ if (!input.material || input.material.kind !== bundle.identity.object_kind) {
15
+ throw new TypeError("Ingest material kind does not match bundle identity");
16
+ }
17
+ const { total: maxTotal, file: maxFile } = sourceV1Limits(input.limits);
18
+ const computedItems = [];
19
+ let totalBytes = 0;
20
+ if (input.material.kind === "json") {
21
+ const material = sourceV1JsonMaterial(input.material.value);
22
+ if (material.bytes > maxFile || material.bytes > maxTotal)
23
+ throw new RangeError("Ingest source material exceeds byte limit");
24
+ totalBytes = material.bytes;
25
+ const base = { item_kind: "json", media_type: "application/json", ...material };
26
+ computedItems.push({ ...base, leaf_hash: sourceV1Leaf("ingest", base) });
27
+ }
28
+ else if (input.material.kind === "text") {
29
+ const material = sourceV1TextMaterial(input.material.text);
30
+ if (material.bytes > maxFile || material.bytes > maxTotal)
31
+ throw new RangeError("Ingest source material exceeds byte limit");
32
+ totalBytes = material.bytes;
33
+ const rawMediaType = input.material.media_type ?? undefined;
34
+ if (rawMediaType !== undefined && typeof rawMediaType !== "string")
35
+ throw new TypeError("Invalid Ingest text media type");
36
+ const media_type = rawMediaType?.trim() || undefined;
37
+ const base = { item_kind: "text", ...(media_type ? { media_type } : {}), ...material };
38
+ computedItems.push({ ...base, leaf_hash: sourceV1Leaf("ingest", base) });
39
+ }
40
+ else {
41
+ const providedFiles = input.material.kind === "file" ? [input.material.file] : input.material.files;
42
+ if (!Array.isArray(providedFiles) || providedFiles.length === 0 || providedFiles.length > 5_000) {
43
+ throw new TypeError("Ingest source files must be a nonempty bounded array");
44
+ }
45
+ const seen = new Set();
46
+ for (const entry of providedFiles) {
47
+ const path = sourceV1Path(entry.path_rel, 1024);
48
+ if (seen.has(path))
49
+ throw new TypeError("Duplicate Ingest source path");
50
+ if (input.material.kind === "file" && path.includes("/")) {
51
+ throw new TypeError("Single-file Ingest source must use a basename");
52
+ }
53
+ seen.add(path);
54
+ const normalizeText = input.material.kind === "file_set" && bundle.rules.normalize_line_endings && sourceV1TextFile(path);
55
+ const hashed = await sourceV1HashFile(entry.source, Math.min(maxFile, maxTotal - totalBytes), normalizeText);
56
+ totalBytes += hashed.bytes;
57
+ const pathFields = input.material.kind === "file_set" && bundle.rules.redact_paths
58
+ ? { path_hash: sourceV1PathDigest(path, "ingest") }
59
+ : { path_rel: path };
60
+ const media_type = sourceV1MediaType(path);
61
+ const base = { item_kind: "file", ...pathFields, ...(media_type ? { media_type } : {}), ...hashed };
62
+ computedItems.push({ ...base, leaf_hash: sourceV1Leaf("ingest", base) });
63
+ }
64
+ }
65
+ computedItems.sort((a, b) => {
66
+ const aKey = a.path_rel ?? a.path_hash ?? "";
67
+ const bKey = b.path_rel ?? b.path_hash ?? "";
68
+ if (aKey !== bKey)
69
+ return aKey < bKey ? -1 : 1;
70
+ if (a.item_kind !== b.item_kind)
71
+ return a.item_kind < b.item_kind ? -1 : 1;
72
+ return a.sha3_512 < b.sha3_512 ? -1 : a.sha3_512 > b.sha3_512 ? 1 : 0;
73
+ });
74
+ sourceV1Compare(mismatches, "sources.item_count", bundle.items.length, computedItems.length);
75
+ sourceV1Compare(mismatches, "sources.total_bytes", checkedBundle.total_bytes, totalBytes);
76
+ for (const [index, computed] of computedItems.entries()) {
77
+ const declared = bundle.items[index];
78
+ for (const field of ["item_kind", "path_rel", "path_hash", "media_type", "bytes", "sha3_512", "leaf_hash"]) {
79
+ sourceV1Compare(mismatches, `items[${index}].${field}`, computed[field] ?? null, declared?.[field] ?? null);
80
+ }
81
+ }
82
+ const sourceRoot = sourceV1Root("ingest", computedItems.map((item) => item.leaf_hash));
83
+ if (bundle.merkle)
84
+ sourceV1Compare(mismatches, "sources.merkle_root", bundle.merkle.root, sourceRoot);
85
+ if (checkedReceipt)
86
+ sourceV1Compare(mismatches, "sources.receipt_merkle_root", checkedReceipt.merkle_root, sourceRoot);
87
+ return Object.freeze({
88
+ ok: mismatches.length === 0,
89
+ mismatches: Object.freeze(mismatches),
90
+ computed: Object.freeze({
91
+ bundle: checkedBundle,
92
+ ...(checkedReceipt ? { receipt: checkedReceipt } : {}),
93
+ source_merkle_root: sourceRoot,
94
+ source_item_count: computedItems.length,
95
+ source_total_bytes: totalBytes,
96
+ }),
97
+ });
98
+ }
99
+ //# sourceMappingURL=sourceV1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceV1.js","sourceRoot":"","sources":["../../../src/profiles/ingest/sourceV1.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ type Network = "testnet" | "mainnet";
2
+ type ObjectKind = "json" | "text" | "file" | "file_set";
3
+ export type IngestV1Mismatch = Readonly<{
4
+ field: string;
5
+ expected: unknown;
6
+ actual: unknown;
7
+ }>;
8
+ export type IngestV1Result<T> = Readonly<{
9
+ ok: boolean;
10
+ mismatches: readonly IngestV1Mismatch[];
11
+ computed: T;
12
+ }>;
13
+ export type IngestV1BundleComputed = Readonly<{
14
+ object_key: string;
15
+ object_kind: ObjectKind;
16
+ program: string | null;
17
+ version_label: string | null;
18
+ bundle_digest: string;
19
+ fingerprint: string;
20
+ idempotency_key: string;
21
+ merkle_root?: string;
22
+ item_count: number;
23
+ total_bytes: number;
24
+ }>;
25
+ export type IngestV1ReceiptComputed = Readonly<{
26
+ hedera_network: Network | null;
27
+ object_key: string;
28
+ object_kind: ObjectKind;
29
+ program: string | null;
30
+ version_label: string | null;
31
+ receipt_id: string;
32
+ idempotency_key: string;
33
+ fingerprint: string;
34
+ bundle_digest: string;
35
+ merkle_root: string | null;
36
+ item_count: number;
37
+ total_bytes: number;
38
+ receipt_anchor_id: unknown;
39
+ receipt_anchor_hash: unknown;
40
+ receipt_leaf_id: unknown;
41
+ receipt_leaf_hash: unknown;
42
+ receipt_payload_hash: unknown;
43
+ receipt_hcs_transaction_id: unknown;
44
+ receipt_hcs_message_id: unknown;
45
+ root_anchor_id: unknown;
46
+ root_anchor_hash: unknown;
47
+ root_id: unknown;
48
+ anchored_root_hash: unknown;
49
+ root_hcs_transaction_id: unknown;
50
+ root_hcs_message_id: unknown;
51
+ }>;
52
+ /** Recompute each Ingest leaf from its declared metadata before checking bundle Merkle commitments. */
53
+ export declare function verifyIngestV1Bundle(input: unknown): IngestV1Result<IngestV1BundleComputed>;
54
+ /** Check Ingest receipt cryptographic self-consistency; not Hedera corroboration. */
55
+ export declare function verifyIngestV1Receipt(input: unknown): IngestV1Result<IngestV1ReceiptComputed>;
56
+ /** Cross-check separately supplied bundle and receipt; neither is an external authenticity witness. */
57
+ export declare function verifyIngestV1Pair(input: Readonly<{
58
+ bundle: unknown;
59
+ receipt: unknown;
60
+ }>): IngestV1Result<Readonly<{
61
+ bundle: IngestV1BundleComputed;
62
+ receipt: IngestV1ReceiptComputed;
63
+ }>>;
64
+ export {};
65
+ //# sourceMappingURL=v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1.d.ts","sourceRoot":"","sources":["../../../src/profiles/ingest/v1.ts"],"names":[],"mappings":"AAWA,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AACrC,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAGxD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAC/F,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,QAAQ,CAAC;IACvC,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,0BAA0B,EAAE,OAAO,CAAC;IACpC,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC,CAAC;AAyUH,uGAAuG;AACvG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAAC,sBAAsB,CAAC,CA4C3F;AAkBD,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAAC,uBAAuB,CAAC,CA0C7F;AAED,uGAAuG;AACvG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC;IAClH,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAAC,CAAC,CAoBF"}