@noeos/verification-engine 0.0.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 (184) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE +201 -0
  3. package/NOTICE +11 -0
  4. package/README.md +7 -0
  5. package/dist/cjs/api/engine.js +271 -0
  6. package/dist/cjs/api/types.js +10 -0
  7. package/dist/cjs/chains/chain-builder.js +541 -0
  8. package/dist/cjs/chains/duplicate-detector.js +208 -0
  9. package/dist/cjs/chains/verify-chain.js +656 -0
  10. package/dist/cjs/contracts/generated.js +512 -0
  11. package/dist/cjs/contracts/schema-assets.js +6 -0
  12. package/dist/cjs/contracts/vector-assets.js +6 -0
  13. package/dist/cjs/domain/algorithm-id.js +5 -0
  14. package/dist/cjs/domain/byte-view.js +7 -0
  15. package/dist/cjs/domain/chain.js +3 -0
  16. package/dist/cjs/domain/diagnostic.js +6 -0
  17. package/dist/cjs/domain/digest.js +37 -0
  18. package/dist/cjs/domain/duplicate-policy.js +3 -0
  19. package/dist/cjs/domain/evidence.js +10 -0
  20. package/dist/cjs/domain/identifiers.js +52 -0
  21. package/dist/cjs/domain/json-value.js +3 -0
  22. package/dist/cjs/domain/limits.js +24 -0
  23. package/dist/cjs/domain/operation-result.js +19 -0
  24. package/dist/cjs/domain/position.js +16 -0
  25. package/dist/cjs/domain/protocol-version.js +5 -0
  26. package/dist/cjs/domain/rule.js +3 -0
  27. package/dist/cjs/domain/stream.js +3 -0
  28. package/dist/cjs/domain/version.js +16 -0
  29. package/dist/cjs/evidence/digest-evidence.js +22 -0
  30. package/dist/cjs/evidence/evidence-parser.js +288 -0
  31. package/dist/cjs/framing/frame-builders.js +124 -0
  32. package/dist/cjs/framing/frame-encoder.js +238 -0
  33. package/dist/cjs/framing/frame-parser.js +173 -0
  34. package/dist/cjs/framing/frame-types.js +3 -0
  35. package/dist/cjs/hashing/hash-adapter.js +90 -0
  36. package/dist/cjs/hashing/hash-frame.js +16 -0
  37. package/dist/cjs/index.js +16 -0
  38. package/dist/cjs/normalization/byte-sink.js +70 -0
  39. package/dist/cjs/normalization/jcs-profile.js +154 -0
  40. package/dist/cjs/normalization/normalize.js +56 -0
  41. package/dist/cjs/normalization/profile-registry.js +66 -0
  42. package/dist/cjs/normalization/profile.js +3 -0
  43. package/dist/cjs/normalization/raw-bytes-profile.js +27 -0
  44. package/dist/cjs/package.json +3 -0
  45. package/dist/cjs/profiles.js +9 -0
  46. package/dist/cjs/records/record-service.js +278 -0
  47. package/dist/cjs/rules/rule-set.js +211 -0
  48. package/dist/cjs/schemas.js +6 -0
  49. package/dist/cjs/validation/algorithm-validation.js +12 -0
  50. package/dist/cjs/validation/diagnostic-collector.js +159 -0
  51. package/dist/cjs/validation/digest-validation.js +48 -0
  52. package/dist/cjs/validation/identifier-validation.js +33 -0
  53. package/dist/cjs/validation/json-text-parser.js +297 -0
  54. package/dist/cjs/validation/json-value-validation.js +155 -0
  55. package/dist/cjs/validation/limit-validation.js +75 -0
  56. package/dist/cjs/validation/object-inspection.js +60 -0
  57. package/dist/cjs/validation/position-validation.js +13 -0
  58. package/dist/cjs/validation/result-helpers.js +9 -0
  59. package/dist/cjs/validation/utf8-validation.js +69 -0
  60. package/dist/cjs/validation/version-validation.js +31 -0
  61. package/dist/cjs/vectors.js +6 -0
  62. package/dist/esm/api/engine.js +266 -0
  63. package/dist/esm/api/types.js +4 -0
  64. package/dist/esm/chains/chain-builder.js +536 -0
  65. package/dist/esm/chains/duplicate-detector.js +204 -0
  66. package/dist/esm/chains/verify-chain.js +652 -0
  67. package/dist/esm/contracts/generated.js +509 -0
  68. package/dist/esm/contracts/schema-assets.js +2 -0
  69. package/dist/esm/contracts/vector-assets.js +2 -0
  70. package/dist/esm/domain/algorithm-id.js +2 -0
  71. package/dist/esm/domain/byte-view.js +4 -0
  72. package/dist/esm/domain/chain.js +2 -0
  73. package/dist/esm/domain/diagnostic.js +3 -0
  74. package/dist/esm/domain/digest.js +32 -0
  75. package/dist/esm/domain/duplicate-policy.js +2 -0
  76. package/dist/esm/domain/evidence.js +7 -0
  77. package/dist/esm/domain/identifiers.js +45 -0
  78. package/dist/esm/domain/json-value.js +2 -0
  79. package/dist/esm/domain/limits.js +21 -0
  80. package/dist/esm/domain/operation-result.js +15 -0
  81. package/dist/esm/domain/position.js +12 -0
  82. package/dist/esm/domain/protocol-version.js +2 -0
  83. package/dist/esm/domain/rule.js +2 -0
  84. package/dist/esm/domain/stream.js +2 -0
  85. package/dist/esm/domain/version.js +12 -0
  86. package/dist/esm/evidence/digest-evidence.js +19 -0
  87. package/dist/esm/evidence/evidence-parser.js +281 -0
  88. package/dist/esm/framing/frame-builders.js +114 -0
  89. package/dist/esm/framing/frame-encoder.js +234 -0
  90. package/dist/esm/framing/frame-parser.js +170 -0
  91. package/dist/esm/framing/frame-types.js +2 -0
  92. package/dist/esm/hashing/hash-adapter.js +84 -0
  93. package/dist/esm/hashing/hash-frame.js +12 -0
  94. package/dist/esm/index.js +5 -0
  95. package/dist/esm/normalization/byte-sink.js +66 -0
  96. package/dist/esm/normalization/jcs-profile.js +151 -0
  97. package/dist/esm/normalization/normalize.js +52 -0
  98. package/dist/esm/normalization/profile-registry.js +62 -0
  99. package/dist/esm/normalization/profile.js +2 -0
  100. package/dist/esm/normalization/raw-bytes-profile.js +24 -0
  101. package/dist/esm/profiles.js +6 -0
  102. package/dist/esm/records/record-service.js +270 -0
  103. package/dist/esm/rules/rule-set.js +206 -0
  104. package/dist/esm/schemas.js +2 -0
  105. package/dist/esm/validation/algorithm-validation.js +9 -0
  106. package/dist/esm/validation/diagnostic-collector.js +154 -0
  107. package/dist/esm/validation/digest-validation.js +43 -0
  108. package/dist/esm/validation/identifier-validation.js +27 -0
  109. package/dist/esm/validation/json-text-parser.js +294 -0
  110. package/dist/esm/validation/json-value-validation.js +152 -0
  111. package/dist/esm/validation/limit-validation.js +71 -0
  112. package/dist/esm/validation/object-inspection.js +54 -0
  113. package/dist/esm/validation/position-validation.js +10 -0
  114. package/dist/esm/validation/result-helpers.js +6 -0
  115. package/dist/esm/validation/utf8-validation.js +63 -0
  116. package/dist/esm/validation/version-validation.js +26 -0
  117. package/dist/esm/vectors.js +2 -0
  118. package/dist/types/api/engine.d.ts +8 -0
  119. package/dist/types/api/types.d.ts +124 -0
  120. package/dist/types/chains/chain-builder.d.ts +42 -0
  121. package/dist/types/chains/duplicate-detector.d.ts +18 -0
  122. package/dist/types/chains/verify-chain.d.ts +9 -0
  123. package/dist/types/contracts/generated.d.ts +442 -0
  124. package/dist/types/contracts/schema-assets.d.ts +2 -0
  125. package/dist/types/contracts/vector-assets.d.ts +2 -0
  126. package/dist/types/domain/algorithm-id.d.ts +4 -0
  127. package/dist/types/domain/byte-view.d.ts +1 -0
  128. package/dist/types/domain/chain.d.ts +43 -0
  129. package/dist/types/domain/diagnostic.d.ts +23 -0
  130. package/dist/types/domain/digest.d.ts +12 -0
  131. package/dist/types/domain/duplicate-policy.d.ts +26 -0
  132. package/dist/types/domain/evidence.d.ts +100 -0
  133. package/dist/types/domain/identifiers.d.ts +29 -0
  134. package/dist/types/domain/json-value.d.ts +6 -0
  135. package/dist/types/domain/limits.d.ts +13 -0
  136. package/dist/types/domain/operation-result.d.ts +12 -0
  137. package/dist/types/domain/position.d.ts +8 -0
  138. package/dist/types/domain/protocol-version.d.ts +2 -0
  139. package/dist/types/domain/rule.d.ts +34 -0
  140. package/dist/types/domain/stream.d.ts +5 -0
  141. package/dist/types/domain/version.d.ts +8 -0
  142. package/dist/types/evidence/digest-evidence.d.ts +4 -0
  143. package/dist/types/evidence/evidence-parser.d.ts +8 -0
  144. package/dist/types/framing/frame-builders.d.ts +40 -0
  145. package/dist/types/framing/frame-encoder.d.ts +6 -0
  146. package/dist/types/framing/frame-parser.d.ts +4 -0
  147. package/dist/types/framing/frame-types.d.ts +27 -0
  148. package/dist/types/hashing/hash-adapter.d.ts +12 -0
  149. package/dist/types/hashing/hash-frame.d.ts +6 -0
  150. package/dist/types/index.d.ts +8 -0
  151. package/dist/types/normalization/byte-sink.d.ts +19 -0
  152. package/dist/types/normalization/jcs-profile.d.ts +3 -0
  153. package/dist/types/normalization/normalize.d.ts +11 -0
  154. package/dist/types/normalization/profile-registry.d.ts +26 -0
  155. package/dist/types/normalization/profile.d.ts +22 -0
  156. package/dist/types/normalization/raw-bytes-profile.d.ts +2 -0
  157. package/dist/types/profiles.d.ts +8 -0
  158. package/dist/types/records/record-service.d.ts +38 -0
  159. package/dist/types/rules/rule-set.d.ts +13 -0
  160. package/dist/types/schemas.d.ts +2 -0
  161. package/dist/types/validation/algorithm-validation.d.ts +3 -0
  162. package/dist/types/validation/diagnostic-collector.d.ts +24 -0
  163. package/dist/types/validation/digest-validation.d.ts +6 -0
  164. package/dist/types/validation/identifier-validation.d.ts +6 -0
  165. package/dist/types/validation/json-text-parser.d.ts +4 -0
  166. package/dist/types/validation/json-value-validation.d.ts +4 -0
  167. package/dist/types/validation/limit-validation.d.ts +4 -0
  168. package/dist/types/validation/object-inspection.d.ts +11 -0
  169. package/dist/types/validation/position-validation.d.ts +3 -0
  170. package/dist/types/validation/result-helpers.d.ts +3 -0
  171. package/dist/types/validation/utf8-validation.d.ts +5 -0
  172. package/dist/types/validation/version-validation.d.ts +9 -0
  173. package/dist/types/vectors.d.ts +2 -0
  174. package/package.json +61 -0
  175. package/schemas/chain-summary.v1.schema.json +156 -0
  176. package/schemas/diagnostic.v1.schema.json +107 -0
  177. package/schemas/link-evidence.v1.schema.json +165 -0
  178. package/schemas/record-evidence.v1.schema.json +91 -0
  179. package/schemas/vector-set.v1.schema.json +52 -0
  180. package/vectors/evidence.json +26 -0
  181. package/vectors/framing.json +136 -0
  182. package/vectors/hashing.json +58 -0
  183. package/vectors/invalid.json +56 -0
  184. package/vectors/manifest.json +46 -0
@@ -0,0 +1,512 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ // Generated from contracts/diagnostic-codes.v1.json and contracts/schemas/.
4
+ // Run: npm run contracts:generate
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.VECTOR_SET = exports.SCHEMA_ASSETS = exports.DIAGNOSTIC_CODES = void 0;
7
+ /** @public */
8
+ exports.DIAGNOSTIC_CODES = [
9
+ {
10
+ code: "INPUT_REQUIRED",
11
+ family: "input",
12
+ severity: "error",
13
+ exitCode: 3,
14
+ since: "1.0.0",
15
+ },
16
+ {
17
+ code: "INPUT_TYPE_INVALID",
18
+ family: "input",
19
+ severity: "error",
20
+ exitCode: 3,
21
+ since: "1.0.0",
22
+ },
23
+ {
24
+ code: "INPUT_LIMIT_EXCEEDED",
25
+ family: "input",
26
+ severity: "error",
27
+ exitCode: 3,
28
+ since: "1.0.0",
29
+ },
30
+ {
31
+ code: "IDENTIFIER_INVALID",
32
+ family: "input",
33
+ severity: "error",
34
+ exitCode: 3,
35
+ since: "1.0.0",
36
+ },
37
+ {
38
+ code: "VERSION_INVALID",
39
+ family: "input",
40
+ severity: "error",
41
+ exitCode: 3,
42
+ since: "1.0.0",
43
+ },
44
+ {
45
+ code: "JSON_SYNTAX_INVALID",
46
+ family: "input",
47
+ severity: "error",
48
+ exitCode: 3,
49
+ since: "1.0.0",
50
+ },
51
+ {
52
+ code: "JSON_DUPLICATE_KEY",
53
+ family: "input",
54
+ severity: "error",
55
+ exitCode: 3,
56
+ since: "1.0.0",
57
+ },
58
+ {
59
+ code: "JSON_VALUE_UNSUPPORTED",
60
+ family: "input",
61
+ severity: "error",
62
+ exitCode: 3,
63
+ since: "1.0.0",
64
+ },
65
+ {
66
+ code: "JSON_NUMBER_UNSAFE",
67
+ family: "input",
68
+ severity: "error",
69
+ exitCode: 3,
70
+ since: "1.0.0",
71
+ },
72
+ {
73
+ code: "UTF8_INVALID",
74
+ family: "input",
75
+ severity: "error",
76
+ exitCode: 3,
77
+ since: "1.0.0",
78
+ },
79
+ {
80
+ code: "NDJSON_LINE_EMPTY",
81
+ family: "input",
82
+ severity: "error",
83
+ exitCode: 3,
84
+ since: "1.0.0",
85
+ },
86
+ {
87
+ code: "NDJSON_LINE_TOO_LARGE",
88
+ family: "input",
89
+ severity: "error",
90
+ exitCode: 3,
91
+ since: "1.0.0",
92
+ },
93
+ {
94
+ code: "PROFILE_UNKNOWN",
95
+ family: "profile",
96
+ severity: "error",
97
+ exitCode: 7,
98
+ since: "1.0.0",
99
+ },
100
+ {
101
+ code: "PROFILE_VERSION_UNSUPPORTED",
102
+ family: "profile",
103
+ severity: "error",
104
+ exitCode: 7,
105
+ since: "1.0.0",
106
+ },
107
+ {
108
+ code: "PROFILE_VERSION_CONFLICT",
109
+ family: "profile",
110
+ severity: "error",
111
+ exitCode: 7,
112
+ since: "1.0.0",
113
+ },
114
+ {
115
+ code: "PROFILE_INPUT_KIND_MISMATCH",
116
+ family: "profile",
117
+ severity: "error",
118
+ exitCode: 7,
119
+ since: "1.0.0",
120
+ },
121
+ {
122
+ code: "NORMALIZATION_FAILED",
123
+ family: "profile",
124
+ severity: "error",
125
+ exitCode: 7,
126
+ since: "1.0.0",
127
+ },
128
+ {
129
+ code: "ALGORITHM_UNKNOWN",
130
+ family: "algorithm",
131
+ severity: "error",
132
+ exitCode: 7,
133
+ since: "1.0.0",
134
+ },
135
+ {
136
+ code: "ALGORITHM_FORBIDDEN",
137
+ family: "algorithm",
138
+ severity: "error",
139
+ exitCode: 7,
140
+ since: "1.0.0",
141
+ },
142
+ {
143
+ code: "ALGORITHM_VERIFY_ONLY",
144
+ family: "algorithm",
145
+ severity: "warning",
146
+ exitCode: 0,
147
+ since: "1.0.0",
148
+ },
149
+ {
150
+ code: "DIGEST_ENCODING_INVALID",
151
+ family: "algorithm",
152
+ severity: "error",
153
+ exitCode: 3,
154
+ since: "1.0.0",
155
+ },
156
+ {
157
+ code: "DIGEST_LENGTH_INVALID",
158
+ family: "algorithm",
159
+ severity: "error",
160
+ exitCode: 3,
161
+ since: "1.0.0",
162
+ },
163
+ {
164
+ code: "FRAME_MAGIC_INVALID",
165
+ family: "frame",
166
+ severity: "error",
167
+ exitCode: 3,
168
+ since: "1.0.0",
169
+ },
170
+ {
171
+ code: "FRAME_VERSION_UNSUPPORTED",
172
+ family: "frame",
173
+ severity: "error",
174
+ exitCode: 7,
175
+ since: "1.0.0",
176
+ },
177
+ {
178
+ code: "FRAME_KIND_UNKNOWN",
179
+ family: "frame",
180
+ severity: "error",
181
+ exitCode: 3,
182
+ since: "1.0.0",
183
+ },
184
+ {
185
+ code: "FRAME_FIELD_UNKNOWN",
186
+ family: "frame",
187
+ severity: "error",
188
+ exitCode: 3,
189
+ since: "1.0.0",
190
+ },
191
+ {
192
+ code: "FRAME_FIELD_MISSING",
193
+ family: "frame",
194
+ severity: "error",
195
+ exitCode: 3,
196
+ since: "1.0.0",
197
+ },
198
+ {
199
+ code: "FRAME_FIELD_DUPLICATE",
200
+ family: "frame",
201
+ severity: "error",
202
+ exitCode: 3,
203
+ since: "1.0.0",
204
+ },
205
+ {
206
+ code: "FRAME_FIELD_ORDER_INVALID",
207
+ family: "frame",
208
+ severity: "error",
209
+ exitCode: 3,
210
+ since: "1.0.0",
211
+ },
212
+ {
213
+ code: "FRAME_FIELD_TYPE_INVALID",
214
+ family: "frame",
215
+ severity: "error",
216
+ exitCode: 3,
217
+ since: "1.0.0",
218
+ },
219
+ {
220
+ code: "FRAME_LENGTH_INVALID",
221
+ family: "frame",
222
+ severity: "error",
223
+ exitCode: 3,
224
+ since: "1.0.0",
225
+ },
226
+ {
227
+ code: "FRAME_TRAILING_DATA",
228
+ family: "frame",
229
+ severity: "error",
230
+ exitCode: 3,
231
+ since: "1.0.0",
232
+ },
233
+ {
234
+ code: "EVIDENCE_SCHEMA_UNKNOWN",
235
+ family: "evidence",
236
+ severity: "error",
237
+ exitCode: 7,
238
+ since: "1.0.0",
239
+ },
240
+ {
241
+ code: "EVIDENCE_INVALID",
242
+ family: "evidence",
243
+ severity: "error",
244
+ exitCode: 3,
245
+ since: "1.0.0",
246
+ },
247
+ {
248
+ code: "CONTENT_DIGEST_MISMATCH",
249
+ family: "chain",
250
+ severity: "error",
251
+ exitCode: 1,
252
+ since: "1.0.0",
253
+ },
254
+ {
255
+ code: "RECORD_DIGEST_MISMATCH",
256
+ family: "chain",
257
+ severity: "error",
258
+ exitCode: 1,
259
+ since: "1.0.0",
260
+ },
261
+ {
262
+ code: "RECORD_ID_DUPLICATE",
263
+ family: "chain",
264
+ severity: "error",
265
+ exitCode: 1,
266
+ since: "1.0.0",
267
+ },
268
+ {
269
+ code: "CONTENT_DUPLICATE",
270
+ family: "chain",
271
+ severity: "warning",
272
+ exitCode: 0,
273
+ since: "1.0.0",
274
+ },
275
+ {
276
+ code: "LINK_DIGEST_DUPLICATE",
277
+ family: "chain",
278
+ severity: "error",
279
+ exitCode: 1,
280
+ since: "1.0.0",
281
+ },
282
+ {
283
+ code: "POSITION_MISMATCH",
284
+ family: "chain",
285
+ severity: "error",
286
+ exitCode: 1,
287
+ since: "1.0.0",
288
+ },
289
+ {
290
+ code: "PREVIOUS_LINK_MISMATCH",
291
+ family: "chain",
292
+ severity: "error",
293
+ exitCode: 1,
294
+ since: "1.0.0",
295
+ },
296
+ {
297
+ code: "LINK_DIGEST_MISMATCH",
298
+ family: "chain",
299
+ severity: "error",
300
+ exitCode: 1,
301
+ since: "1.0.0",
302
+ },
303
+ {
304
+ code: "CHAIN_CONFIGURATION_MISMATCH",
305
+ family: "chain",
306
+ severity: "error",
307
+ exitCode: 1,
308
+ since: "1.0.0",
309
+ },
310
+ {
311
+ code: "CHAIN_FORK",
312
+ family: "chain",
313
+ severity: "error",
314
+ exitCode: 1,
315
+ since: "1.0.0",
316
+ },
317
+ {
318
+ code: "EXPECTED_COUNT_MISMATCH",
319
+ family: "chain",
320
+ severity: "error",
321
+ exitCode: 1,
322
+ since: "1.0.0",
323
+ },
324
+ {
325
+ code: "FINAL_LINK_MISMATCH",
326
+ family: "chain",
327
+ severity: "error",
328
+ exitCode: 1,
329
+ since: "1.0.0",
330
+ },
331
+ {
332
+ code: "BOUNDARY_UNVERIFIED",
333
+ family: "chain",
334
+ severity: "warning",
335
+ exitCode: 4,
336
+ since: "1.0.0",
337
+ },
338
+ {
339
+ code: "EMPTY_CHAIN_FORBIDDEN",
340
+ family: "chain",
341
+ severity: "error",
342
+ exitCode: 1,
343
+ since: "1.0.0",
344
+ },
345
+ {
346
+ code: "RULE_FAILED",
347
+ family: "rule",
348
+ severity: "error",
349
+ exitCode: 1,
350
+ since: "1.0.0",
351
+ },
352
+ {
353
+ code: "RULE_EXECUTION_FAILED",
354
+ family: "rule",
355
+ severity: "error",
356
+ exitCode: 1,
357
+ since: "1.0.0",
358
+ },
359
+ {
360
+ code: "RULE_VERSION_CONFLICT",
361
+ family: "rule",
362
+ severity: "error",
363
+ exitCode: 1,
364
+ since: "1.0.0",
365
+ },
366
+ {
367
+ code: "DIAGNOSTIC_LIMIT_REACHED",
368
+ family: "operation",
369
+ severity: "warning",
370
+ exitCode: 0,
371
+ since: "1.0.0",
372
+ },
373
+ {
374
+ code: "INPUT_STREAM_FAILED",
375
+ family: "operation",
376
+ severity: "error",
377
+ exitCode: 3,
378
+ since: "1.0.0",
379
+ },
380
+ {
381
+ code: "OUTPUT_SINK_FAILED",
382
+ family: "operation",
383
+ severity: "error",
384
+ exitCode: 6,
385
+ since: "1.0.0",
386
+ },
387
+ {
388
+ code: "OPERATION_ABORTED",
389
+ family: "operation",
390
+ severity: "info",
391
+ exitCode: 130,
392
+ since: "1.0.0",
393
+ },
394
+ {
395
+ code: "RESOURCE_BUDGET_EXCEEDED",
396
+ family: "operation",
397
+ severity: "error",
398
+ exitCode: 5,
399
+ since: "1.0.0",
400
+ },
401
+ {
402
+ code: "CONCURRENT_USE_FORBIDDEN",
403
+ family: "operation",
404
+ severity: "error",
405
+ exitCode: 1,
406
+ since: "1.0.0",
407
+ },
408
+ {
409
+ code: "BUILDER_FINALIZED",
410
+ family: "operation",
411
+ severity: "error",
412
+ exitCode: 1,
413
+ since: "1.0.0",
414
+ },
415
+ {
416
+ code: "BUILDER_FAILED",
417
+ family: "operation",
418
+ severity: "error",
419
+ exitCode: 1,
420
+ since: "1.0.0",
421
+ },
422
+ {
423
+ code: "OBSERVER_FAILED",
424
+ family: "operation",
425
+ severity: "warning",
426
+ exitCode: 0,
427
+ since: "1.0.0",
428
+ },
429
+ {
430
+ code: "IO_READ_FAILED",
431
+ family: "operation",
432
+ severity: "error",
433
+ exitCode: 6,
434
+ since: "1.0.0",
435
+ },
436
+ {
437
+ code: "IO_WRITE_FAILED",
438
+ family: "operation",
439
+ severity: "error",
440
+ exitCode: 6,
441
+ since: "1.0.0",
442
+ },
443
+ {
444
+ code: "OUTPUT_EXISTS",
445
+ family: "operation",
446
+ severity: "error",
447
+ exitCode: 6,
448
+ since: "1.0.0",
449
+ },
450
+ {
451
+ code: "INTERNAL_INVARIANT_BROKEN",
452
+ family: "operation",
453
+ severity: "error",
454
+ exitCode: 70,
455
+ since: "1.0.0",
456
+ },
457
+ ];
458
+ /** @public */
459
+ exports.SCHEMA_ASSETS = [
460
+ {
461
+ name: "chain-summary",
462
+ id: "urn:noeos:verification-engine:chain-summary:1",
463
+ path: "chain-summary.v1.schema.json",
464
+ },
465
+ {
466
+ name: "diagnostic",
467
+ id: "urn:noeos:verification-engine:diagnostic:1",
468
+ path: "diagnostic.v1.schema.json",
469
+ },
470
+ {
471
+ name: "link-evidence",
472
+ id: "urn:noeos:verification-engine:link-evidence:1",
473
+ path: "link-evidence.v1.schema.json",
474
+ },
475
+ {
476
+ name: "record-evidence",
477
+ id: "urn:noeos:verification-engine:record-evidence:1",
478
+ path: "record-evidence.v1.schema.json",
479
+ },
480
+ {
481
+ name: "vector-set",
482
+ id: "urn:noeos:verification-engine:vector-set:1",
483
+ path: "vector-set.v1.schema.json",
484
+ },
485
+ ];
486
+ /** @public */
487
+ exports.VECTOR_SET = {
488
+ version: "1.0.0",
489
+ protocolVersion: 1,
490
+ files: [
491
+ {
492
+ path: "evidence.json",
493
+ category: "evidence",
494
+ sha256: "b4e3b4a38f67e7489eafb05528fd309ee931db66e1a0c230ffbd0e103db1f032",
495
+ },
496
+ {
497
+ path: "framing.json",
498
+ category: "framing",
499
+ sha256: "bacc590419dcee44ad0fa3e707d00a9bf322ac51243efc0a0418821fc6c92ea8",
500
+ },
501
+ {
502
+ path: "hashing.json",
503
+ category: "hashing",
504
+ sha256: "8722eba9ec01c80bdfa5f08fe13bc4c010b4712f61f417e5e2f748a8cbad44b3",
505
+ },
506
+ {
507
+ path: "invalid.json",
508
+ category: "invalid",
509
+ sha256: "05d098aa80412ce8d85aafea1b4ce4add53381e2fe4a4cda1cad88d9fa286fa6",
510
+ },
511
+ ],
512
+ };
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SCHEMA_ASSETS = void 0;
5
+ var generated_js_1 = require("./generated.js");
6
+ Object.defineProperty(exports, "SCHEMA_ASSETS", { enumerable: true, get: function () { return generated_js_1.SCHEMA_ASSETS; } });
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.VECTOR_SET = void 0;
5
+ var generated_js_1 = require("./generated.js");
6
+ Object.defineProperty(exports, "VECTOR_SET", { enumerable: true, get: function () { return generated_js_1.VECTOR_SET; } });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ALGORITHM_IDS = void 0;
5
+ exports.ALGORITHM_IDS = ["sha-256", "sha-384", "sha-512"];
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.copyBytes = copyBytes;
5
+ function copyBytes(value) {
6
+ return Uint8Array.from(value);
7
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DIAGNOSTIC_SCHEMA = void 0;
5
+ /** @public */
6
+ exports.DIAGNOSTIC_SCHEMA = "urn:noeos:verification-engine:diagnostic:1";
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Digest = void 0;
5
+ exports.digestBytesForTrustedFrame = digestBytesForTrustedFrame;
6
+ const byte_view_js_1 = require("./byte-view.js");
7
+ const HEX = "0123456789abcdef";
8
+ const TRUSTED_BYTES = new WeakMap();
9
+ /** @public */
10
+ class Digest {
11
+ algorithm;
12
+ bytes;
13
+ constructor(algorithm, bytes) {
14
+ this.algorithm = algorithm;
15
+ this.bytes = bytes;
16
+ }
17
+ static fromValidated(algorithm, bytes) {
18
+ const digest = new Digest(algorithm, (0, byte_view_js_1.copyBytes)(bytes));
19
+ TRUSTED_BYTES.set(digest, digest.bytes);
20
+ Object.freeze(digest);
21
+ return digest;
22
+ }
23
+ toBytes() {
24
+ return (0, byte_view_js_1.copyBytes)(this.bytes);
25
+ }
26
+ toHex() {
27
+ let output = "";
28
+ for (const byte of this.bytes)
29
+ output += HEX.charAt(byte >>> 4) + HEX.charAt(byte & 0x0f);
30
+ return output;
31
+ }
32
+ }
33
+ exports.Digest = Digest;
34
+ /** Internal framing access; the returned view never escapes the trusted frame writer. */
35
+ function digestBytesForTrustedFrame(value) {
36
+ return TRUSTED_BYTES.get(value) ?? value.toBytes();
37
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CHAIN_SUMMARY_EVIDENCE_SCHEMA = exports.LINK_EVIDENCE_SCHEMA = exports.RECORD_EVIDENCE_SCHEMA = void 0;
5
+ /** @public */
6
+ exports.RECORD_EVIDENCE_SCHEMA = "urn:noeos:verification-engine:record-evidence:1";
7
+ /** @public */
8
+ exports.LINK_EVIDENCE_SCHEMA = "urn:noeos:verification-engine:link-evidence:1";
9
+ /** @public */
10
+ exports.CHAIN_SUMMARY_EVIDENCE_SCHEMA = "urn:noeos:verification-engine:chain-summary:1";
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ProfileId = exports.ContextId = exports.SequenceId = exports.RecordId = void 0;
5
+ const recordIdBrand = Symbol("RecordId");
6
+ const sequenceIdBrand = Symbol("SequenceId");
7
+ const contextIdBrand = Symbol("ContextId");
8
+ const profileIdBrand = Symbol("ProfileId");
9
+ class RecordId {
10
+ value;
11
+ [recordIdBrand] = true;
12
+ constructor(value) {
13
+ this.value = value;
14
+ }
15
+ static fromValidated(value) {
16
+ return Object.freeze(new RecordId(value));
17
+ }
18
+ }
19
+ exports.RecordId = RecordId;
20
+ class SequenceId {
21
+ value;
22
+ [sequenceIdBrand] = true;
23
+ constructor(value) {
24
+ this.value = value;
25
+ }
26
+ static fromValidated(value) {
27
+ return Object.freeze(new SequenceId(value));
28
+ }
29
+ }
30
+ exports.SequenceId = SequenceId;
31
+ class ContextId {
32
+ value;
33
+ [contextIdBrand] = true;
34
+ constructor(value) {
35
+ this.value = value;
36
+ }
37
+ static fromValidated(value) {
38
+ return Object.freeze(new ContextId(value));
39
+ }
40
+ }
41
+ exports.ContextId = ContextId;
42
+ class ProfileId {
43
+ value;
44
+ [profileIdBrand] = true;
45
+ constructor(value) {
46
+ this.value = value;
47
+ }
48
+ static fromValidated(value) {
49
+ return Object.freeze(new ProfileId(value));
50
+ }
51
+ }
52
+ exports.ProfileId = ProfileId;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.HARD_LIMITS = exports.DEFAULT_LIMITS = void 0;
5
+ exports.DEFAULT_LIMITS = Object.freeze({
6
+ maxPayloadBytes: 1 * 1024 * 1024,
7
+ maxJsonDepth: 64,
8
+ maxObjectProperties: 10_000,
9
+ maxArrayElements: 100_000,
10
+ maxStringBytes: 1 * 1024 * 1024,
11
+ maxNdjsonLineBytes: 1 * 1024 * 1024,
12
+ maxDiagnostics: 1_000,
13
+ maxFullRecords: 1_000_000,
14
+ });
15
+ exports.HARD_LIMITS = Object.freeze({
16
+ maxPayloadBytes: 16 * 1024 * 1024,
17
+ maxJsonDepth: 128,
18
+ maxObjectProperties: 100_000,
19
+ maxArrayElements: 1_000_000,
20
+ maxStringBytes: 16 * 1024 * 1024,
21
+ maxNdjsonLineBytes: 16 * 1024 * 1024,
22
+ maxDiagnostics: 10_000,
23
+ maxFullRecords: 5_000_000,
24
+ });