@cardanowall/poe-standard 0.2.0 → 0.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.
@@ -1,34 +1,24 @@
1
1
  'use strict';
2
2
 
3
3
  // src/error-codes.ts
4
- var STRUCTURAL_ERROR_CODES = [
5
- // CBOR decode layer. A single code covers every canonical-decode failure —
6
- // malformed/truncated bytes, indefinite-length encodings, non-canonical
7
- // (unsorted) map-key ordering, duplicate map keys, non-minimal integers, and
8
- // invalid UTF-8 — by design (no separate duplicate-key code).
4
+ var ERROR_CODES = [
9
5
  "MALFORMED_CBOR",
10
- // Generic schema-layer
11
6
  "SCHEMA_TYPE_MISMATCH",
12
7
  "SCHEMA_MISSING_REQUIRED",
13
8
  "SCHEMA_UNKNOWN_FIELD",
14
9
  "SCHEMA_INVALID_LITERAL",
15
10
  "SCHEMA_EMPTY_RECORD",
16
- // Hash-map
17
11
  "HASH_DIGEST_LENGTH_MISMATCH",
18
12
  "UNSUPPORTED_HASH_ALG",
19
- // Top-level `merkle[]`
20
13
  "UNSUPPORTED_MERKLE_COMMIT_ALG",
21
- // URI / chunking. A chunk whose bytes do not reconstruct to valid UTF-8
22
- // surfaces as MALFORMED_CBOR at decode (cbor2 rejects invalid-UTF-8 tstr)
23
- // or, in the residual reconstruct guard, as INVALID_URI — there is no
24
- // separate codepoint-split code.
14
+ "SCHEMA_MERKLE_LEAF_COUNT_INVALID",
25
15
  "INVALID_URI",
26
16
  "CHUNK_TOO_LARGE",
27
- // Encryption envelope
28
17
  "UNAUTHENTICATED_CIPHER_FORBIDDEN",
29
18
  "UNSUPPORTED_AEAD_ALG",
30
19
  "NONCE_LENGTH_MISMATCH",
31
20
  "UNSUPPORTED_ENVELOPE_SCHEME",
21
+ "ENC_UNSUPPORTED",
32
22
  "ENC_SLOTS_EMPTY",
33
23
  "ENC_SLOT_INVALID_SHAPE",
34
24
  "UNSUPPORTED_KEM_ALG",
@@ -39,6 +29,9 @@ var STRUCTURAL_ERROR_CODES = [
39
29
  "ENC_SLOTS_MAC_INVALID_LENGTH",
40
30
  "ENC_SLOTS_MAC_REQUIRED",
41
31
  "ENC_SLOTS_REQUIRED",
32
+ "ENC_SLOTS_DUPLICATE_KEM_MATERIAL",
33
+ "ENC_SLOTS_TOO_MANY",
34
+ "ENC_ENVELOPE_TOO_LARGE",
42
35
  "ENC_EXCLUSIVITY_VIOLATION",
43
36
  "ENC_NO_KEY_PATH",
44
37
  "ENC_REQUIRES_CONTENT_HASH",
@@ -47,19 +40,17 @@ var STRUCTURAL_ERROR_CODES = [
47
40
  "ENC_PASSPHRASE_SALT_TOO_LONG",
48
41
  "ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW",
49
42
  "ENC_PASSPHRASE_PARAMS_EXCEED_POLICY",
50
- // Signatures
51
43
  "MALFORMED_SIG_COSE_SIGN1",
52
44
  "SIGNATURE_UNSUPPORTED",
53
45
  "SIG_ENTRY_INVALID_SHAPE",
54
46
  "SIG_ENTRY_KID_COSE_KEY_CONFLICT",
55
47
  "SIG_PRIVATE_KEY_LEAKED",
56
- // Supersedence
57
48
  "SUPERSEDES_TX_INVALID_LENGTH",
58
- // Forward-compat critical extensions
59
49
  "EXTENSION_UNSUPPORTED_CRITICAL",
60
- "CRIT_SHAPE_INVALID"
61
- ];
62
- var VERIFIER_ERROR_CODES = [
50
+ "CRIT_SHAPE_INVALID",
51
+ "TX_NOT_FOUND",
52
+ "PROVIDER_UNAVAILABLE",
53
+ "TX_INTEGRITY_MISMATCH",
63
54
  "METADATA_NOT_FOUND",
64
55
  "INSUFFICIENT_CONFIRMATIONS",
65
56
  "SIGNATURE_INVALID",
@@ -67,28 +58,115 @@ var VERIFIER_ERROR_CODES = [
67
58
  "WALLET_ADDRESS_MISMATCH",
68
59
  "URI_TARGET_FORBIDDEN",
69
60
  "URI_INTEGRITY_MISMATCH",
61
+ "URI_PROVIDER_INTEGRITY_MISMATCH",
70
62
  "URI_FETCH_FAILED",
71
63
  "CONTENT_UNAVAILABLE",
64
+ "CONTENT_FETCH_LIMIT_EXCEEDED",
72
65
  "CIPHERTEXT_UNAVAILABLE",
73
- "PROVIDER_UNAVAILABLE",
74
66
  "SERVICE_INDEPENDENCE_VIOLATION",
75
67
  "WRONG_DECRYPTION_INPUT_SHAPE",
76
68
  "WRONG_RECIPIENT_KEY",
77
69
  "TAMPERED_HEADER",
78
70
  "TAMPERED_CIPHERTEXT",
79
71
  "KDF_DERIVATION_FAILED",
72
+ "ENC_PASSPHRASE_UNNORMALIZABLE",
73
+ "ENC_PASSPHRASE_EMPTY",
80
74
  "SCHEMA_MERKLE_LEAF_COUNT_MISMATCH",
81
75
  "SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED",
82
76
  "SCHEMA_MERKLE_LEAVES_MALFORMED",
83
77
  "MERKLE_ROOT_MISMATCH",
84
78
  "MERKLE_LEAVES_UNAVAILABLE",
85
- "MERKLE_LEAVES_INFORMATIVE_FORM",
86
79
  "MERKLE_UNSUPPORTED",
87
80
  "OUT_OF_PROFILE_SKIPPED"
88
81
  ];
89
- var ERROR_CODES = [...STRUCTURAL_ERROR_CODES, ...VERIFIER_ERROR_CODES];
82
+ var ERROR_CODE_PART = Object.freeze({
83
+ MALFORMED_CBOR: "A",
84
+ SCHEMA_TYPE_MISMATCH: "A",
85
+ SCHEMA_MISSING_REQUIRED: "A",
86
+ SCHEMA_UNKNOWN_FIELD: "A",
87
+ SCHEMA_INVALID_LITERAL: "A",
88
+ SCHEMA_EMPTY_RECORD: "A",
89
+ HASH_DIGEST_LENGTH_MISMATCH: "A",
90
+ UNSUPPORTED_HASH_ALG: "A",
91
+ UNSUPPORTED_MERKLE_COMMIT_ALG: "A",
92
+ SCHEMA_MERKLE_LEAF_COUNT_INVALID: "A",
93
+ INVALID_URI: "A",
94
+ CHUNK_TOO_LARGE: "carriage",
95
+ UNAUTHENTICATED_CIPHER_FORBIDDEN: "A",
96
+ UNSUPPORTED_AEAD_ALG: "A",
97
+ NONCE_LENGTH_MISMATCH: "A",
98
+ UNSUPPORTED_ENVELOPE_SCHEME: "A",
99
+ ENC_UNSUPPORTED: "A",
100
+ ENC_SLOTS_EMPTY: "A",
101
+ ENC_SLOT_INVALID_SHAPE: "A",
102
+ UNSUPPORTED_KEM_ALG: "A",
103
+ ENC_KEM_REQUIRED: "A",
104
+ KEM_EPK_LENGTH_MISMATCH: "A",
105
+ KEM_CT_LENGTH_MISMATCH: "A",
106
+ WRAP_LENGTH_MISMATCH: "A",
107
+ ENC_SLOTS_MAC_INVALID_LENGTH: "A",
108
+ ENC_SLOTS_MAC_REQUIRED: "A",
109
+ ENC_SLOTS_REQUIRED: "A",
110
+ ENC_SLOTS_DUPLICATE_KEM_MATERIAL: "A",
111
+ ENC_SLOTS_TOO_MANY: "A",
112
+ ENC_ENVELOPE_TOO_LARGE: "A",
113
+ ENC_EXCLUSIVITY_VIOLATION: "A",
114
+ ENC_NO_KEY_PATH: "A",
115
+ ENC_REQUIRES_CONTENT_HASH: "A",
116
+ ENC_PASSPHRASE_ALG_UNSUPPORTED: "A",
117
+ ENC_PASSPHRASE_SALT_TOO_SHORT: "A",
118
+ ENC_PASSPHRASE_SALT_TOO_LONG: "A",
119
+ ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW: "A",
120
+ ENC_PASSPHRASE_PARAMS_EXCEED_POLICY: "A",
121
+ MALFORMED_SIG_COSE_SIGN1: "A",
122
+ SIGNATURE_UNSUPPORTED: "A",
123
+ SIG_ENTRY_INVALID_SHAPE: "A",
124
+ SIG_ENTRY_KID_COSE_KEY_CONFLICT: "A",
125
+ SIG_PRIVATE_KEY_LEAKED: "A",
126
+ SUPERSEDES_TX_INVALID_LENGTH: "A",
127
+ EXTENSION_UNSUPPORTED_CRITICAL: "A",
128
+ CRIT_SHAPE_INVALID: "A",
129
+ TX_NOT_FOUND: "B",
130
+ PROVIDER_UNAVAILABLE: "B",
131
+ TX_INTEGRITY_MISMATCH: "B",
132
+ METADATA_NOT_FOUND: "B",
133
+ INSUFFICIENT_CONFIRMATIONS: "B",
134
+ SIGNATURE_INVALID: "B",
135
+ SIGNER_KEY_UNRESOLVED: "B",
136
+ WALLET_ADDRESS_MISMATCH: "B",
137
+ URI_TARGET_FORBIDDEN: "B",
138
+ URI_INTEGRITY_MISMATCH: "B",
139
+ URI_PROVIDER_INTEGRITY_MISMATCH: "B",
140
+ URI_FETCH_FAILED: "B",
141
+ CONTENT_UNAVAILABLE: "B",
142
+ CONTENT_FETCH_LIMIT_EXCEEDED: "B",
143
+ CIPHERTEXT_UNAVAILABLE: "B",
144
+ SERVICE_INDEPENDENCE_VIOLATION: "B",
145
+ WRONG_DECRYPTION_INPUT_SHAPE: "B",
146
+ WRONG_RECIPIENT_KEY: "B",
147
+ TAMPERED_HEADER: "B",
148
+ TAMPERED_CIPHERTEXT: "B",
149
+ KDF_DERIVATION_FAILED: "B",
150
+ ENC_PASSPHRASE_UNNORMALIZABLE: "B",
151
+ ENC_PASSPHRASE_EMPTY: "B",
152
+ SCHEMA_MERKLE_LEAF_COUNT_MISMATCH: "B",
153
+ SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED: "B",
154
+ SCHEMA_MERKLE_LEAVES_MALFORMED: "B",
155
+ MERKLE_ROOT_MISMATCH: "B",
156
+ MERKLE_LEAVES_UNAVAILABLE: "B",
157
+ MERKLE_UNSUPPORTED: "B",
158
+ OUT_OF_PROFILE_SKIPPED: "B"
159
+ });
160
+ var STRUCTURAL_ERROR_CODES = Object.freeze(
161
+ ERROR_CODES.filter((code) => ERROR_CODE_PART[code] === "A")
162
+ );
163
+ var CARRIAGE_ERROR_CODES = Object.freeze(
164
+ ERROR_CODES.filter((code) => ERROR_CODE_PART[code] === "carriage")
165
+ );
166
+ var VERIFIER_ERROR_CODES = Object.freeze(
167
+ ERROR_CODES.filter((code) => ERROR_CODE_PART[code] === "B")
168
+ );
90
169
  var SEVERITY = Object.freeze({
91
- // --- Part A ---
92
170
  MALFORMED_CBOR: "error",
93
171
  SCHEMA_TYPE_MISMATCH: "error",
94
172
  SCHEMA_MISSING_REQUIRED: "error",
@@ -98,12 +176,14 @@ var SEVERITY = Object.freeze({
98
176
  HASH_DIGEST_LENGTH_MISMATCH: "error",
99
177
  UNSUPPORTED_HASH_ALG: "error",
100
178
  UNSUPPORTED_MERKLE_COMMIT_ALG: "error",
179
+ SCHEMA_MERKLE_LEAF_COUNT_INVALID: "error",
101
180
  INVALID_URI: "error",
102
181
  CHUNK_TOO_LARGE: "error",
103
182
  UNAUTHENTICATED_CIPHER_FORBIDDEN: "error",
104
183
  UNSUPPORTED_AEAD_ALG: "error",
105
184
  NONCE_LENGTH_MISMATCH: "error",
106
185
  UNSUPPORTED_ENVELOPE_SCHEME: "error",
186
+ ENC_UNSUPPORTED: "info",
107
187
  ENC_SLOTS_EMPTY: "error",
108
188
  ENC_SLOT_INVALID_SHAPE: "error",
109
189
  UNSUPPORTED_KEM_ALG: "error",
@@ -114,6 +194,9 @@ var SEVERITY = Object.freeze({
114
194
  ENC_SLOTS_MAC_INVALID_LENGTH: "error",
115
195
  ENC_SLOTS_MAC_REQUIRED: "error",
116
196
  ENC_SLOTS_REQUIRED: "error",
197
+ ENC_SLOTS_DUPLICATE_KEM_MATERIAL: "error",
198
+ ENC_SLOTS_TOO_MANY: "error",
199
+ ENC_ENVELOPE_TOO_LARGE: "error",
117
200
  ENC_EXCLUSIVITY_VIOLATION: "error",
118
201
  ENC_NO_KEY_PATH: "error",
119
202
  ENC_REQUIRES_CONTENT_HASH: "error",
@@ -130,7 +213,9 @@ var SEVERITY = Object.freeze({
130
213
  SUPERSEDES_TX_INVALID_LENGTH: "error",
131
214
  EXTENSION_UNSUPPORTED_CRITICAL: "error",
132
215
  CRIT_SHAPE_INVALID: "error",
133
- // --- Part B ---
216
+ TX_NOT_FOUND: "error",
217
+ PROVIDER_UNAVAILABLE: "error",
218
+ TX_INTEGRITY_MISMATCH: "error",
134
219
  METADATA_NOT_FOUND: "error",
135
220
  INSUFFICIENT_CONFIRMATIONS: "info",
136
221
  SIGNATURE_INVALID: "error",
@@ -138,38 +223,51 @@ var SEVERITY = Object.freeze({
138
223
  WALLET_ADDRESS_MISMATCH: "error",
139
224
  URI_TARGET_FORBIDDEN: "error",
140
225
  URI_INTEGRITY_MISMATCH: "error",
226
+ URI_PROVIDER_INTEGRITY_MISMATCH: "warning",
141
227
  URI_FETCH_FAILED: "warning",
142
228
  CONTENT_UNAVAILABLE: "error",
229
+ CONTENT_FETCH_LIMIT_EXCEEDED: "error",
143
230
  CIPHERTEXT_UNAVAILABLE: "error",
144
- PROVIDER_UNAVAILABLE: "error",
145
231
  SERVICE_INDEPENDENCE_VIOLATION: "error",
146
232
  WRONG_DECRYPTION_INPUT_SHAPE: "error",
147
233
  WRONG_RECIPIENT_KEY: "error",
148
234
  TAMPERED_HEADER: "error",
149
235
  TAMPERED_CIPHERTEXT: "error",
150
236
  KDF_DERIVATION_FAILED: "error",
237
+ ENC_PASSPHRASE_UNNORMALIZABLE: "error",
238
+ ENC_PASSPHRASE_EMPTY: "error",
151
239
  SCHEMA_MERKLE_LEAF_COUNT_MISMATCH: "error",
152
240
  SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED: "error",
153
241
  SCHEMA_MERKLE_LEAVES_MALFORMED: "error",
154
242
  MERKLE_ROOT_MISMATCH: "error",
155
243
  MERKLE_LEAVES_UNAVAILABLE: "warning",
156
- MERKLE_LEAVES_INFORMATIVE_FORM: "info",
157
- // Dual-severity — default reading is `info`; the verifier promotes to
158
- // `error` for merkle-only records (no `items[]` content claim was
159
- // validated in the same record).
160
244
  MERKLE_UNSUPPORTED: "info",
161
- // Dual-severity — default reading is `info` (render mode); strict
162
- // end-to-end verifiers promote to `error`.
163
245
  OUT_OF_PROFILE_SKIPPED: "info"
164
246
  });
247
+ var DUAL_SEVERITY_CODES = /* @__PURE__ */ new Set([
248
+ "ENC_UNSUPPORTED",
249
+ "MERKLE_LEAVES_UNAVAILABLE",
250
+ "MERKLE_UNSUPPORTED",
251
+ "OUT_OF_PROFILE_SKIPPED"
252
+ ]);
165
253
  function severityOf(code) {
166
254
  return SEVERITY[code];
167
255
  }
256
+ var REGISTRY_INDEX = new Map(
257
+ ERROR_CODES.map((code, index) => [code, index])
258
+ );
259
+ function errorCodeRegistryIndex(code) {
260
+ return REGISTRY_INDEX.get(code);
261
+ }
168
262
 
263
+ exports.CARRIAGE_ERROR_CODES = CARRIAGE_ERROR_CODES;
264
+ exports.DUAL_SEVERITY_CODES = DUAL_SEVERITY_CODES;
169
265
  exports.ERROR_CODES = ERROR_CODES;
266
+ exports.ERROR_CODE_PART = ERROR_CODE_PART;
170
267
  exports.SEVERITY = SEVERITY;
171
268
  exports.STRUCTURAL_ERROR_CODES = STRUCTURAL_ERROR_CODES;
172
269
  exports.VERIFIER_ERROR_CODES = VERIFIER_ERROR_CODES;
270
+ exports.errorCodeRegistryIndex = errorCodeRegistryIndex;
173
271
  exports.severityOf = severityOf;
174
272
  //# sourceMappingURL=error-codes.cjs.map
175
273
  //# sourceMappingURL=error-codes.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/error-codes.ts"],"names":[],"mappings":"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","file":"error-codes.cjs","sourcesContent":["// Label 309 v1 error-code catalogue — single source of truth for the\n// structural-validator codes (Part A) and the verifier-layer codes (Part B)\n// that downstream verifiers re-export from this package.\n//\n// The structural validator emits ONLY Part A codes. Part B codes are\n// re-exported so consumers can `import { ErrorCode } from '@cardanowall/poe-standard'`\n// and dispatch on a single union type without round-tripping through the\n// verifier package.\n//\n// Codes are SCREAMING_SNAKE_CASE and MUST match the canonical taxonomy\n// byte-exact across the TS/PY/RS implementations — no lowercase synonyms,\n// no `schema_*`-prefixed parser-internal codes.\n\n// =============================================================================\n// Part A — structural validator codes\n// =============================================================================\nexport const STRUCTURAL_ERROR_CODES = [\n // CBOR decode layer. A single code covers every canonical-decode failure —\n // malformed/truncated bytes, indefinite-length encodings, non-canonical\n // (unsorted) map-key ordering, duplicate map keys, non-minimal integers, and\n // invalid UTF-8 — by design (no separate duplicate-key code).\n 'MALFORMED_CBOR',\n // Generic schema-layer\n 'SCHEMA_TYPE_MISMATCH',\n 'SCHEMA_MISSING_REQUIRED',\n 'SCHEMA_UNKNOWN_FIELD',\n 'SCHEMA_INVALID_LITERAL',\n 'SCHEMA_EMPTY_RECORD',\n // Hash-map\n 'HASH_DIGEST_LENGTH_MISMATCH',\n 'UNSUPPORTED_HASH_ALG',\n // Top-level `merkle[]`\n 'UNSUPPORTED_MERKLE_COMMIT_ALG',\n // URI / chunking. A chunk whose bytes do not reconstruct to valid UTF-8\n // surfaces as MALFORMED_CBOR at decode (cbor2 rejects invalid-UTF-8 tstr)\n // or, in the residual reconstruct guard, as INVALID_URI — there is no\n // separate codepoint-split code.\n 'INVALID_URI',\n 'CHUNK_TOO_LARGE',\n // Encryption envelope\n 'UNAUTHENTICATED_CIPHER_FORBIDDEN',\n 'UNSUPPORTED_AEAD_ALG',\n 'NONCE_LENGTH_MISMATCH',\n 'UNSUPPORTED_ENVELOPE_SCHEME',\n 'ENC_SLOTS_EMPTY',\n 'ENC_SLOT_INVALID_SHAPE',\n 'UNSUPPORTED_KEM_ALG',\n 'ENC_KEM_REQUIRED',\n 'KEM_EPK_LENGTH_MISMATCH',\n 'KEM_CT_LENGTH_MISMATCH',\n 'WRAP_LENGTH_MISMATCH',\n 'ENC_SLOTS_MAC_INVALID_LENGTH',\n 'ENC_SLOTS_MAC_REQUIRED',\n 'ENC_SLOTS_REQUIRED',\n 'ENC_EXCLUSIVITY_VIOLATION',\n 'ENC_NO_KEY_PATH',\n 'ENC_REQUIRES_CONTENT_HASH',\n 'ENC_PASSPHRASE_ALG_UNSUPPORTED',\n 'ENC_PASSPHRASE_SALT_TOO_SHORT',\n 'ENC_PASSPHRASE_SALT_TOO_LONG',\n 'ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW',\n 'ENC_PASSPHRASE_PARAMS_EXCEED_POLICY',\n // Signatures\n 'MALFORMED_SIG_COSE_SIGN1',\n 'SIGNATURE_UNSUPPORTED',\n 'SIG_ENTRY_INVALID_SHAPE',\n 'SIG_ENTRY_KID_COSE_KEY_CONFLICT',\n 'SIG_PRIVATE_KEY_LEAKED',\n // Supersedence\n 'SUPERSEDES_TX_INVALID_LENGTH',\n // Forward-compat critical extensions\n 'EXTENSION_UNSUPPORTED_CRITICAL',\n 'CRIT_SHAPE_INVALID',\n] as const;\n\n// =============================================================================\n// Part B — verifier-layer codes\n// Re-exported so downstream verifiers can dispatch on a single union.\n// The structural validator NEVER emits these.\n// =============================================================================\nexport const VERIFIER_ERROR_CODES = [\n 'METADATA_NOT_FOUND',\n 'INSUFFICIENT_CONFIRMATIONS',\n 'SIGNATURE_INVALID',\n 'SIGNER_KEY_UNRESOLVED',\n 'WALLET_ADDRESS_MISMATCH',\n 'URI_TARGET_FORBIDDEN',\n 'URI_INTEGRITY_MISMATCH',\n 'URI_FETCH_FAILED',\n 'CONTENT_UNAVAILABLE',\n 'CIPHERTEXT_UNAVAILABLE',\n 'PROVIDER_UNAVAILABLE',\n 'SERVICE_INDEPENDENCE_VIOLATION',\n 'WRONG_DECRYPTION_INPUT_SHAPE',\n 'WRONG_RECIPIENT_KEY',\n 'TAMPERED_HEADER',\n 'TAMPERED_CIPHERTEXT',\n 'KDF_DERIVATION_FAILED',\n 'SCHEMA_MERKLE_LEAF_COUNT_MISMATCH',\n 'SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED',\n 'SCHEMA_MERKLE_LEAVES_MALFORMED',\n 'MERKLE_ROOT_MISMATCH',\n 'MERKLE_LEAVES_UNAVAILABLE',\n 'MERKLE_LEAVES_INFORMATIVE_FORM',\n 'MERKLE_UNSUPPORTED',\n 'OUT_OF_PROFILE_SKIPPED',\n] as const;\n\nexport const ERROR_CODES = [...STRUCTURAL_ERROR_CODES, ...VERIFIER_ERROR_CODES] as const;\n\nexport type StructuralErrorCode = (typeof STRUCTURAL_ERROR_CODES)[number];\nexport type VerifierErrorCode = (typeof VERIFIER_ERROR_CODES)[number];\nexport type ErrorCode = (typeof ERROR_CODES)[number];\n\n// Severity classification. Codes not listed are `error` by default.\n//\n// `info` — a deliberate non-check (algorithm out of profile, unrecognised\n// signature algorithm at the opt-in informational tier).\n//\n// `warning` — a non-fatal anomaly that occurred at runtime but did not\n// invalidate the record (e.g. a transient gateway failure, partial leaves\n// availability).\n//\n// `MERKLE_UNSUPPORTED` / `OUT_OF_PROFILE_SKIPPED` carry dual severity\n// (`info` when another commitment was validated; `error` for the\n// merkle-only / strict-mode case). The verifier emits the resolved severity\n// per-issue; this map records the default `info` reading.\nexport type Severity = 'error' | 'warning' | 'info';\n\nexport const SEVERITY: Readonly<Record<ErrorCode, Severity>> = Object.freeze({\n // --- Part A ---\n MALFORMED_CBOR: 'error',\n SCHEMA_TYPE_MISMATCH: 'error',\n SCHEMA_MISSING_REQUIRED: 'error',\n SCHEMA_UNKNOWN_FIELD: 'error',\n SCHEMA_INVALID_LITERAL: 'error',\n SCHEMA_EMPTY_RECORD: 'error',\n HASH_DIGEST_LENGTH_MISMATCH: 'error',\n UNSUPPORTED_HASH_ALG: 'error',\n UNSUPPORTED_MERKLE_COMMIT_ALG: 'error',\n INVALID_URI: 'error',\n CHUNK_TOO_LARGE: 'error',\n UNAUTHENTICATED_CIPHER_FORBIDDEN: 'error',\n UNSUPPORTED_AEAD_ALG: 'error',\n NONCE_LENGTH_MISMATCH: 'error',\n UNSUPPORTED_ENVELOPE_SCHEME: 'error',\n ENC_SLOTS_EMPTY: 'error',\n ENC_SLOT_INVALID_SHAPE: 'error',\n UNSUPPORTED_KEM_ALG: 'error',\n ENC_KEM_REQUIRED: 'error',\n KEM_EPK_LENGTH_MISMATCH: 'error',\n KEM_CT_LENGTH_MISMATCH: 'error',\n WRAP_LENGTH_MISMATCH: 'error',\n ENC_SLOTS_MAC_INVALID_LENGTH: 'error',\n ENC_SLOTS_MAC_REQUIRED: 'error',\n ENC_SLOTS_REQUIRED: 'error',\n ENC_EXCLUSIVITY_VIOLATION: 'error',\n ENC_NO_KEY_PATH: 'error',\n ENC_REQUIRES_CONTENT_HASH: 'error',\n ENC_PASSPHRASE_ALG_UNSUPPORTED: 'error',\n ENC_PASSPHRASE_SALT_TOO_SHORT: 'error',\n ENC_PASSPHRASE_SALT_TOO_LONG: 'error',\n ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW: 'error',\n ENC_PASSPHRASE_PARAMS_EXCEED_POLICY: 'error',\n MALFORMED_SIG_COSE_SIGN1: 'error',\n SIGNATURE_UNSUPPORTED: 'info',\n SIG_ENTRY_INVALID_SHAPE: 'error',\n SIG_ENTRY_KID_COSE_KEY_CONFLICT: 'error',\n SIG_PRIVATE_KEY_LEAKED: 'error',\n SUPERSEDES_TX_INVALID_LENGTH: 'error',\n EXTENSION_UNSUPPORTED_CRITICAL: 'error',\n CRIT_SHAPE_INVALID: 'error',\n // --- Part B ---\n METADATA_NOT_FOUND: 'error',\n INSUFFICIENT_CONFIRMATIONS: 'info',\n SIGNATURE_INVALID: 'error',\n SIGNER_KEY_UNRESOLVED: 'error',\n WALLET_ADDRESS_MISMATCH: 'error',\n URI_TARGET_FORBIDDEN: 'error',\n URI_INTEGRITY_MISMATCH: 'error',\n URI_FETCH_FAILED: 'warning',\n CONTENT_UNAVAILABLE: 'error',\n CIPHERTEXT_UNAVAILABLE: 'error',\n PROVIDER_UNAVAILABLE: 'error',\n SERVICE_INDEPENDENCE_VIOLATION: 'error',\n WRONG_DECRYPTION_INPUT_SHAPE: 'error',\n WRONG_RECIPIENT_KEY: 'error',\n TAMPERED_HEADER: 'error',\n TAMPERED_CIPHERTEXT: 'error',\n KDF_DERIVATION_FAILED: 'error',\n SCHEMA_MERKLE_LEAF_COUNT_MISMATCH: 'error',\n SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED: 'error',\n SCHEMA_MERKLE_LEAVES_MALFORMED: 'error',\n MERKLE_ROOT_MISMATCH: 'error',\n MERKLE_LEAVES_UNAVAILABLE: 'warning',\n MERKLE_LEAVES_INFORMATIVE_FORM: 'info',\n // Dual-severity — default reading is `info`; the verifier promotes to\n // `error` for merkle-only records (no `items[]` content claim was\n // validated in the same record).\n MERKLE_UNSUPPORTED: 'info',\n // Dual-severity — default reading is `info` (render mode); strict\n // end-to-end verifiers promote to `error`.\n OUT_OF_PROFILE_SKIPPED: 'info',\n});\n\nexport function severityOf(code: ErrorCode): Severity {\n return SEVERITY[code];\n}\n"]}
1
+ {"version":3,"sources":["../src/error-codes.ts"],"names":[],"mappings":"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","file":"error-codes.cjs","sourcesContent":["// Label 309 v1 error-code catalogue — the TypeScript projection of the\n// machine-readable registry (`error-codes.json` in the Label 309 distribution).\n//\n// Three layers emit these codes:\n// - Part A — the structural validator (`validatePoeRecord`): a pure\n// function over the reassembled CBOR record body.\n// - carriage — the pre-validator transport step that reassembles the\n// label-309 chunk array (`reassembleLabel309Value`).\n// - Part B — the public / recipient verifier (chain resolution,\n// signature verification, content fetch, decryption).\n// Re-exported here so downstream verifiers dispatch on a\n// single `ErrorCode` union.\n//\n// Codes are SCREAMING_SNAKE_CASE and MUST match the canonical catalogue\n// byte-exact across the TS/PY/RS implementations — no lowercase synonyms,\n// no parser-internal codes, no free-form reason strings.\n//\n// `ERROR_CODES` preserves the registry's entry order. That order is\n// load-bearing: issues sharing an identical path tie-break by the order in\n// which their codes appear in the registry, so the list below doubles as the\n// cross-implementation sort key (`errorCodeRegistryIndex`).\n\nexport const ERROR_CODES = [\n 'MALFORMED_CBOR',\n 'SCHEMA_TYPE_MISMATCH',\n 'SCHEMA_MISSING_REQUIRED',\n 'SCHEMA_UNKNOWN_FIELD',\n 'SCHEMA_INVALID_LITERAL',\n 'SCHEMA_EMPTY_RECORD',\n 'HASH_DIGEST_LENGTH_MISMATCH',\n 'UNSUPPORTED_HASH_ALG',\n 'UNSUPPORTED_MERKLE_COMMIT_ALG',\n 'SCHEMA_MERKLE_LEAF_COUNT_INVALID',\n 'INVALID_URI',\n 'CHUNK_TOO_LARGE',\n 'UNAUTHENTICATED_CIPHER_FORBIDDEN',\n 'UNSUPPORTED_AEAD_ALG',\n 'NONCE_LENGTH_MISMATCH',\n 'UNSUPPORTED_ENVELOPE_SCHEME',\n 'ENC_UNSUPPORTED',\n 'ENC_SLOTS_EMPTY',\n 'ENC_SLOT_INVALID_SHAPE',\n 'UNSUPPORTED_KEM_ALG',\n 'ENC_KEM_REQUIRED',\n 'KEM_EPK_LENGTH_MISMATCH',\n 'KEM_CT_LENGTH_MISMATCH',\n 'WRAP_LENGTH_MISMATCH',\n 'ENC_SLOTS_MAC_INVALID_LENGTH',\n 'ENC_SLOTS_MAC_REQUIRED',\n 'ENC_SLOTS_REQUIRED',\n 'ENC_SLOTS_DUPLICATE_KEM_MATERIAL',\n 'ENC_SLOTS_TOO_MANY',\n 'ENC_ENVELOPE_TOO_LARGE',\n 'ENC_EXCLUSIVITY_VIOLATION',\n 'ENC_NO_KEY_PATH',\n 'ENC_REQUIRES_CONTENT_HASH',\n 'ENC_PASSPHRASE_ALG_UNSUPPORTED',\n 'ENC_PASSPHRASE_SALT_TOO_SHORT',\n 'ENC_PASSPHRASE_SALT_TOO_LONG',\n 'ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW',\n 'ENC_PASSPHRASE_PARAMS_EXCEED_POLICY',\n 'MALFORMED_SIG_COSE_SIGN1',\n 'SIGNATURE_UNSUPPORTED',\n 'SIG_ENTRY_INVALID_SHAPE',\n 'SIG_ENTRY_KID_COSE_KEY_CONFLICT',\n 'SIG_PRIVATE_KEY_LEAKED',\n 'SUPERSEDES_TX_INVALID_LENGTH',\n 'EXTENSION_UNSUPPORTED_CRITICAL',\n 'CRIT_SHAPE_INVALID',\n 'TX_NOT_FOUND',\n 'PROVIDER_UNAVAILABLE',\n 'TX_INTEGRITY_MISMATCH',\n 'METADATA_NOT_FOUND',\n 'INSUFFICIENT_CONFIRMATIONS',\n 'SIGNATURE_INVALID',\n 'SIGNER_KEY_UNRESOLVED',\n 'WALLET_ADDRESS_MISMATCH',\n 'URI_TARGET_FORBIDDEN',\n 'URI_INTEGRITY_MISMATCH',\n 'URI_PROVIDER_INTEGRITY_MISMATCH',\n 'URI_FETCH_FAILED',\n 'CONTENT_UNAVAILABLE',\n 'CONTENT_FETCH_LIMIT_EXCEEDED',\n 'CIPHERTEXT_UNAVAILABLE',\n 'SERVICE_INDEPENDENCE_VIOLATION',\n 'WRONG_DECRYPTION_INPUT_SHAPE',\n 'WRONG_RECIPIENT_KEY',\n 'TAMPERED_HEADER',\n 'TAMPERED_CIPHERTEXT',\n 'KDF_DERIVATION_FAILED',\n 'ENC_PASSPHRASE_UNNORMALIZABLE',\n 'ENC_PASSPHRASE_EMPTY',\n 'SCHEMA_MERKLE_LEAF_COUNT_MISMATCH',\n 'SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED',\n 'SCHEMA_MERKLE_LEAVES_MALFORMED',\n 'MERKLE_ROOT_MISMATCH',\n 'MERKLE_LEAVES_UNAVAILABLE',\n 'MERKLE_UNSUPPORTED',\n 'OUT_OF_PROFILE_SKIPPED',\n] as const;\n\nexport type ErrorCode = (typeof ERROR_CODES)[number];\n\n// =============================================================================\n// Emitting layer (`part` in the registry)\n// =============================================================================\n\nexport type ErrorCodePart = 'A' | 'B' | 'carriage';\n\nexport const ERROR_CODE_PART: Readonly<Record<ErrorCode, ErrorCodePart>> = Object.freeze({\n MALFORMED_CBOR: 'A',\n SCHEMA_TYPE_MISMATCH: 'A',\n SCHEMA_MISSING_REQUIRED: 'A',\n SCHEMA_UNKNOWN_FIELD: 'A',\n SCHEMA_INVALID_LITERAL: 'A',\n SCHEMA_EMPTY_RECORD: 'A',\n HASH_DIGEST_LENGTH_MISMATCH: 'A',\n UNSUPPORTED_HASH_ALG: 'A',\n UNSUPPORTED_MERKLE_COMMIT_ALG: 'A',\n SCHEMA_MERKLE_LEAF_COUNT_INVALID: 'A',\n INVALID_URI: 'A',\n CHUNK_TOO_LARGE: 'carriage',\n UNAUTHENTICATED_CIPHER_FORBIDDEN: 'A',\n UNSUPPORTED_AEAD_ALG: 'A',\n NONCE_LENGTH_MISMATCH: 'A',\n UNSUPPORTED_ENVELOPE_SCHEME: 'A',\n ENC_UNSUPPORTED: 'A',\n ENC_SLOTS_EMPTY: 'A',\n ENC_SLOT_INVALID_SHAPE: 'A',\n UNSUPPORTED_KEM_ALG: 'A',\n ENC_KEM_REQUIRED: 'A',\n KEM_EPK_LENGTH_MISMATCH: 'A',\n KEM_CT_LENGTH_MISMATCH: 'A',\n WRAP_LENGTH_MISMATCH: 'A',\n ENC_SLOTS_MAC_INVALID_LENGTH: 'A',\n ENC_SLOTS_MAC_REQUIRED: 'A',\n ENC_SLOTS_REQUIRED: 'A',\n ENC_SLOTS_DUPLICATE_KEM_MATERIAL: 'A',\n ENC_SLOTS_TOO_MANY: 'A',\n ENC_ENVELOPE_TOO_LARGE: 'A',\n ENC_EXCLUSIVITY_VIOLATION: 'A',\n ENC_NO_KEY_PATH: 'A',\n ENC_REQUIRES_CONTENT_HASH: 'A',\n ENC_PASSPHRASE_ALG_UNSUPPORTED: 'A',\n ENC_PASSPHRASE_SALT_TOO_SHORT: 'A',\n ENC_PASSPHRASE_SALT_TOO_LONG: 'A',\n ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW: 'A',\n ENC_PASSPHRASE_PARAMS_EXCEED_POLICY: 'A',\n MALFORMED_SIG_COSE_SIGN1: 'A',\n SIGNATURE_UNSUPPORTED: 'A',\n SIG_ENTRY_INVALID_SHAPE: 'A',\n SIG_ENTRY_KID_COSE_KEY_CONFLICT: 'A',\n SIG_PRIVATE_KEY_LEAKED: 'A',\n SUPERSEDES_TX_INVALID_LENGTH: 'A',\n EXTENSION_UNSUPPORTED_CRITICAL: 'A',\n CRIT_SHAPE_INVALID: 'A',\n TX_NOT_FOUND: 'B',\n PROVIDER_UNAVAILABLE: 'B',\n TX_INTEGRITY_MISMATCH: 'B',\n METADATA_NOT_FOUND: 'B',\n INSUFFICIENT_CONFIRMATIONS: 'B',\n SIGNATURE_INVALID: 'B',\n SIGNER_KEY_UNRESOLVED: 'B',\n WALLET_ADDRESS_MISMATCH: 'B',\n URI_TARGET_FORBIDDEN: 'B',\n URI_INTEGRITY_MISMATCH: 'B',\n URI_PROVIDER_INTEGRITY_MISMATCH: 'B',\n URI_FETCH_FAILED: 'B',\n CONTENT_UNAVAILABLE: 'B',\n CONTENT_FETCH_LIMIT_EXCEEDED: 'B',\n CIPHERTEXT_UNAVAILABLE: 'B',\n SERVICE_INDEPENDENCE_VIOLATION: 'B',\n WRONG_DECRYPTION_INPUT_SHAPE: 'B',\n WRONG_RECIPIENT_KEY: 'B',\n TAMPERED_HEADER: 'B',\n TAMPERED_CIPHERTEXT: 'B',\n KDF_DERIVATION_FAILED: 'B',\n ENC_PASSPHRASE_UNNORMALIZABLE: 'B',\n ENC_PASSPHRASE_EMPTY: 'B',\n SCHEMA_MERKLE_LEAF_COUNT_MISMATCH: 'B',\n SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED: 'B',\n SCHEMA_MERKLE_LEAVES_MALFORMED: 'B',\n MERKLE_ROOT_MISMATCH: 'B',\n MERKLE_LEAVES_UNAVAILABLE: 'B',\n MERKLE_UNSUPPORTED: 'B',\n OUT_OF_PROFILE_SKIPPED: 'B',\n});\n\n// Layer-filtered views, in registry order. The structural validator emits only\n// Part A codes; the carriage (transport) step emits only the carriage code;\n// the verifier layer emits Part B codes (and re-runs the first two layers).\nexport const STRUCTURAL_ERROR_CODES: ReadonlyArray<ErrorCode> = Object.freeze(\n ERROR_CODES.filter((code) => ERROR_CODE_PART[code] === 'A'),\n);\nexport const CARRIAGE_ERROR_CODES: ReadonlyArray<ErrorCode> = Object.freeze(\n ERROR_CODES.filter((code) => ERROR_CODE_PART[code] === 'carriage'),\n);\nexport const VERIFIER_ERROR_CODES: ReadonlyArray<ErrorCode> = Object.freeze(\n ERROR_CODES.filter((code) => ERROR_CODE_PART[code] === 'B'),\n);\n\nexport type StructuralErrorCode = ErrorCode;\nexport type VerifierErrorCode = ErrorCode;\n\n// =============================================================================\n// Severity\n// =============================================================================\n//\n// `error` fails the record; `warning` is a non-fatal runtime anomaly; `info`\n// is a deliberate non-failing disposition. Four codes carry DUAL severity —\n// the map records their DEFAULT reading, and a strict context promotes them\n// to `error`:\n// - ENC_UNSUPPORTED — info by default; error for the recipient\n// role / strict sealed-crypto mode.\n// - MERKLE_LEAVES_UNAVAILABLE — warning beside a verified content\n// commitment; error when its absence leaves\n// the record with no verified commitment.\n// - MERKLE_UNSUPPORTED — info beside a validated items[] claim;\n// error on a merkle-only record.\n// - OUT_OF_PROFILE_SKIPPED — info in render mode; error in strict\n// end-to-end mode.\n// No layer may soften an `error` into a `warning` to make a record pass.\n\nexport type Severity = 'error' | 'warning' | 'info';\n\nexport const SEVERITY: Readonly<Record<ErrorCode, Severity>> = Object.freeze({\n MALFORMED_CBOR: 'error',\n SCHEMA_TYPE_MISMATCH: 'error',\n SCHEMA_MISSING_REQUIRED: 'error',\n SCHEMA_UNKNOWN_FIELD: 'error',\n SCHEMA_INVALID_LITERAL: 'error',\n SCHEMA_EMPTY_RECORD: 'error',\n HASH_DIGEST_LENGTH_MISMATCH: 'error',\n UNSUPPORTED_HASH_ALG: 'error',\n UNSUPPORTED_MERKLE_COMMIT_ALG: 'error',\n SCHEMA_MERKLE_LEAF_COUNT_INVALID: 'error',\n INVALID_URI: 'error',\n CHUNK_TOO_LARGE: 'error',\n UNAUTHENTICATED_CIPHER_FORBIDDEN: 'error',\n UNSUPPORTED_AEAD_ALG: 'error',\n NONCE_LENGTH_MISMATCH: 'error',\n UNSUPPORTED_ENVELOPE_SCHEME: 'error',\n ENC_UNSUPPORTED: 'info',\n ENC_SLOTS_EMPTY: 'error',\n ENC_SLOT_INVALID_SHAPE: 'error',\n UNSUPPORTED_KEM_ALG: 'error',\n ENC_KEM_REQUIRED: 'error',\n KEM_EPK_LENGTH_MISMATCH: 'error',\n KEM_CT_LENGTH_MISMATCH: 'error',\n WRAP_LENGTH_MISMATCH: 'error',\n ENC_SLOTS_MAC_INVALID_LENGTH: 'error',\n ENC_SLOTS_MAC_REQUIRED: 'error',\n ENC_SLOTS_REQUIRED: 'error',\n ENC_SLOTS_DUPLICATE_KEM_MATERIAL: 'error',\n ENC_SLOTS_TOO_MANY: 'error',\n ENC_ENVELOPE_TOO_LARGE: 'error',\n ENC_EXCLUSIVITY_VIOLATION: 'error',\n ENC_NO_KEY_PATH: 'error',\n ENC_REQUIRES_CONTENT_HASH: 'error',\n ENC_PASSPHRASE_ALG_UNSUPPORTED: 'error',\n ENC_PASSPHRASE_SALT_TOO_SHORT: 'error',\n ENC_PASSPHRASE_SALT_TOO_LONG: 'error',\n ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW: 'error',\n ENC_PASSPHRASE_PARAMS_EXCEED_POLICY: 'error',\n MALFORMED_SIG_COSE_SIGN1: 'error',\n SIGNATURE_UNSUPPORTED: 'info',\n SIG_ENTRY_INVALID_SHAPE: 'error',\n SIG_ENTRY_KID_COSE_KEY_CONFLICT: 'error',\n SIG_PRIVATE_KEY_LEAKED: 'error',\n SUPERSEDES_TX_INVALID_LENGTH: 'error',\n EXTENSION_UNSUPPORTED_CRITICAL: 'error',\n CRIT_SHAPE_INVALID: 'error',\n TX_NOT_FOUND: 'error',\n PROVIDER_UNAVAILABLE: 'error',\n TX_INTEGRITY_MISMATCH: 'error',\n METADATA_NOT_FOUND: 'error',\n INSUFFICIENT_CONFIRMATIONS: 'info',\n SIGNATURE_INVALID: 'error',\n SIGNER_KEY_UNRESOLVED: 'error',\n WALLET_ADDRESS_MISMATCH: 'error',\n URI_TARGET_FORBIDDEN: 'error',\n URI_INTEGRITY_MISMATCH: 'error',\n URI_PROVIDER_INTEGRITY_MISMATCH: 'warning',\n URI_FETCH_FAILED: 'warning',\n CONTENT_UNAVAILABLE: 'error',\n CONTENT_FETCH_LIMIT_EXCEEDED: 'error',\n CIPHERTEXT_UNAVAILABLE: 'error',\n SERVICE_INDEPENDENCE_VIOLATION: 'error',\n WRONG_DECRYPTION_INPUT_SHAPE: 'error',\n WRONG_RECIPIENT_KEY: 'error',\n TAMPERED_HEADER: 'error',\n TAMPERED_CIPHERTEXT: 'error',\n KDF_DERIVATION_FAILED: 'error',\n ENC_PASSPHRASE_UNNORMALIZABLE: 'error',\n ENC_PASSPHRASE_EMPTY: 'error',\n SCHEMA_MERKLE_LEAF_COUNT_MISMATCH: 'error',\n SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED: 'error',\n SCHEMA_MERKLE_LEAVES_MALFORMED: 'error',\n MERKLE_ROOT_MISMATCH: 'error',\n MERKLE_LEAVES_UNAVAILABLE: 'warning',\n MERKLE_UNSUPPORTED: 'info',\n OUT_OF_PROFILE_SKIPPED: 'info',\n});\n\n// Codes whose severity is context-dependent. `SEVERITY` records the default\n// reading; the promoting context escalates to `error`.\nexport const DUAL_SEVERITY_CODES: ReadonlySet<ErrorCode> = new Set<ErrorCode>([\n 'ENC_UNSUPPORTED',\n 'MERKLE_LEAVES_UNAVAILABLE',\n 'MERKLE_UNSUPPORTED',\n 'OUT_OF_PROFILE_SKIPPED',\n]);\n\nexport function severityOf(code: ErrorCode): Severity {\n return SEVERITY[code];\n}\n\n// Position of a code in the canonical registry. Issues that carry an\n// identical path are ordered by this index, so every implementation sorts an\n// issue list identically.\nconst REGISTRY_INDEX: ReadonlyMap<ErrorCode, number> = new Map(\n ERROR_CODES.map((code, index) => [code, index]),\n);\n\nexport function errorCodeRegistryIndex(code: ErrorCode): number {\n return REGISTRY_INDEX.get(code) as number;\n}\n"]}
@@ -1,11 +1,16 @@
1
- declare const STRUCTURAL_ERROR_CODES: readonly ["MALFORMED_CBOR", "SCHEMA_TYPE_MISMATCH", "SCHEMA_MISSING_REQUIRED", "SCHEMA_UNKNOWN_FIELD", "SCHEMA_INVALID_LITERAL", "SCHEMA_EMPTY_RECORD", "HASH_DIGEST_LENGTH_MISMATCH", "UNSUPPORTED_HASH_ALG", "UNSUPPORTED_MERKLE_COMMIT_ALG", "INVALID_URI", "CHUNK_TOO_LARGE", "UNAUTHENTICATED_CIPHER_FORBIDDEN", "UNSUPPORTED_AEAD_ALG", "NONCE_LENGTH_MISMATCH", "UNSUPPORTED_ENVELOPE_SCHEME", "ENC_SLOTS_EMPTY", "ENC_SLOT_INVALID_SHAPE", "UNSUPPORTED_KEM_ALG", "ENC_KEM_REQUIRED", "KEM_EPK_LENGTH_MISMATCH", "KEM_CT_LENGTH_MISMATCH", "WRAP_LENGTH_MISMATCH", "ENC_SLOTS_MAC_INVALID_LENGTH", "ENC_SLOTS_MAC_REQUIRED", "ENC_SLOTS_REQUIRED", "ENC_EXCLUSIVITY_VIOLATION", "ENC_NO_KEY_PATH", "ENC_REQUIRES_CONTENT_HASH", "ENC_PASSPHRASE_ALG_UNSUPPORTED", "ENC_PASSPHRASE_SALT_TOO_SHORT", "ENC_PASSPHRASE_SALT_TOO_LONG", "ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW", "ENC_PASSPHRASE_PARAMS_EXCEED_POLICY", "MALFORMED_SIG_COSE_SIGN1", "SIGNATURE_UNSUPPORTED", "SIG_ENTRY_INVALID_SHAPE", "SIG_ENTRY_KID_COSE_KEY_CONFLICT", "SIG_PRIVATE_KEY_LEAKED", "SUPERSEDES_TX_INVALID_LENGTH", "EXTENSION_UNSUPPORTED_CRITICAL", "CRIT_SHAPE_INVALID"];
2
- declare const VERIFIER_ERROR_CODES: readonly ["METADATA_NOT_FOUND", "INSUFFICIENT_CONFIRMATIONS", "SIGNATURE_INVALID", "SIGNER_KEY_UNRESOLVED", "WALLET_ADDRESS_MISMATCH", "URI_TARGET_FORBIDDEN", "URI_INTEGRITY_MISMATCH", "URI_FETCH_FAILED", "CONTENT_UNAVAILABLE", "CIPHERTEXT_UNAVAILABLE", "PROVIDER_UNAVAILABLE", "SERVICE_INDEPENDENCE_VIOLATION", "WRONG_DECRYPTION_INPUT_SHAPE", "WRONG_RECIPIENT_KEY", "TAMPERED_HEADER", "TAMPERED_CIPHERTEXT", "KDF_DERIVATION_FAILED", "SCHEMA_MERKLE_LEAF_COUNT_MISMATCH", "SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED", "SCHEMA_MERKLE_LEAVES_MALFORMED", "MERKLE_ROOT_MISMATCH", "MERKLE_LEAVES_UNAVAILABLE", "MERKLE_LEAVES_INFORMATIVE_FORM", "MERKLE_UNSUPPORTED", "OUT_OF_PROFILE_SKIPPED"];
3
- declare const ERROR_CODES: readonly ["MALFORMED_CBOR", "SCHEMA_TYPE_MISMATCH", "SCHEMA_MISSING_REQUIRED", "SCHEMA_UNKNOWN_FIELD", "SCHEMA_INVALID_LITERAL", "SCHEMA_EMPTY_RECORD", "HASH_DIGEST_LENGTH_MISMATCH", "UNSUPPORTED_HASH_ALG", "UNSUPPORTED_MERKLE_COMMIT_ALG", "INVALID_URI", "CHUNK_TOO_LARGE", "UNAUTHENTICATED_CIPHER_FORBIDDEN", "UNSUPPORTED_AEAD_ALG", "NONCE_LENGTH_MISMATCH", "UNSUPPORTED_ENVELOPE_SCHEME", "ENC_SLOTS_EMPTY", "ENC_SLOT_INVALID_SHAPE", "UNSUPPORTED_KEM_ALG", "ENC_KEM_REQUIRED", "KEM_EPK_LENGTH_MISMATCH", "KEM_CT_LENGTH_MISMATCH", "WRAP_LENGTH_MISMATCH", "ENC_SLOTS_MAC_INVALID_LENGTH", "ENC_SLOTS_MAC_REQUIRED", "ENC_SLOTS_REQUIRED", "ENC_EXCLUSIVITY_VIOLATION", "ENC_NO_KEY_PATH", "ENC_REQUIRES_CONTENT_HASH", "ENC_PASSPHRASE_ALG_UNSUPPORTED", "ENC_PASSPHRASE_SALT_TOO_SHORT", "ENC_PASSPHRASE_SALT_TOO_LONG", "ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW", "ENC_PASSPHRASE_PARAMS_EXCEED_POLICY", "MALFORMED_SIG_COSE_SIGN1", "SIGNATURE_UNSUPPORTED", "SIG_ENTRY_INVALID_SHAPE", "SIG_ENTRY_KID_COSE_KEY_CONFLICT", "SIG_PRIVATE_KEY_LEAKED", "SUPERSEDES_TX_INVALID_LENGTH", "EXTENSION_UNSUPPORTED_CRITICAL", "CRIT_SHAPE_INVALID", "METADATA_NOT_FOUND", "INSUFFICIENT_CONFIRMATIONS", "SIGNATURE_INVALID", "SIGNER_KEY_UNRESOLVED", "WALLET_ADDRESS_MISMATCH", "URI_TARGET_FORBIDDEN", "URI_INTEGRITY_MISMATCH", "URI_FETCH_FAILED", "CONTENT_UNAVAILABLE", "CIPHERTEXT_UNAVAILABLE", "PROVIDER_UNAVAILABLE", "SERVICE_INDEPENDENCE_VIOLATION", "WRONG_DECRYPTION_INPUT_SHAPE", "WRONG_RECIPIENT_KEY", "TAMPERED_HEADER", "TAMPERED_CIPHERTEXT", "KDF_DERIVATION_FAILED", "SCHEMA_MERKLE_LEAF_COUNT_MISMATCH", "SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED", "SCHEMA_MERKLE_LEAVES_MALFORMED", "MERKLE_ROOT_MISMATCH", "MERKLE_LEAVES_UNAVAILABLE", "MERKLE_LEAVES_INFORMATIVE_FORM", "MERKLE_UNSUPPORTED", "OUT_OF_PROFILE_SKIPPED"];
4
- type StructuralErrorCode = (typeof STRUCTURAL_ERROR_CODES)[number];
5
- type VerifierErrorCode = (typeof VERIFIER_ERROR_CODES)[number];
1
+ declare const ERROR_CODES: readonly ["MALFORMED_CBOR", "SCHEMA_TYPE_MISMATCH", "SCHEMA_MISSING_REQUIRED", "SCHEMA_UNKNOWN_FIELD", "SCHEMA_INVALID_LITERAL", "SCHEMA_EMPTY_RECORD", "HASH_DIGEST_LENGTH_MISMATCH", "UNSUPPORTED_HASH_ALG", "UNSUPPORTED_MERKLE_COMMIT_ALG", "SCHEMA_MERKLE_LEAF_COUNT_INVALID", "INVALID_URI", "CHUNK_TOO_LARGE", "UNAUTHENTICATED_CIPHER_FORBIDDEN", "UNSUPPORTED_AEAD_ALG", "NONCE_LENGTH_MISMATCH", "UNSUPPORTED_ENVELOPE_SCHEME", "ENC_UNSUPPORTED", "ENC_SLOTS_EMPTY", "ENC_SLOT_INVALID_SHAPE", "UNSUPPORTED_KEM_ALG", "ENC_KEM_REQUIRED", "KEM_EPK_LENGTH_MISMATCH", "KEM_CT_LENGTH_MISMATCH", "WRAP_LENGTH_MISMATCH", "ENC_SLOTS_MAC_INVALID_LENGTH", "ENC_SLOTS_MAC_REQUIRED", "ENC_SLOTS_REQUIRED", "ENC_SLOTS_DUPLICATE_KEM_MATERIAL", "ENC_SLOTS_TOO_MANY", "ENC_ENVELOPE_TOO_LARGE", "ENC_EXCLUSIVITY_VIOLATION", "ENC_NO_KEY_PATH", "ENC_REQUIRES_CONTENT_HASH", "ENC_PASSPHRASE_ALG_UNSUPPORTED", "ENC_PASSPHRASE_SALT_TOO_SHORT", "ENC_PASSPHRASE_SALT_TOO_LONG", "ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW", "ENC_PASSPHRASE_PARAMS_EXCEED_POLICY", "MALFORMED_SIG_COSE_SIGN1", "SIGNATURE_UNSUPPORTED", "SIG_ENTRY_INVALID_SHAPE", "SIG_ENTRY_KID_COSE_KEY_CONFLICT", "SIG_PRIVATE_KEY_LEAKED", "SUPERSEDES_TX_INVALID_LENGTH", "EXTENSION_UNSUPPORTED_CRITICAL", "CRIT_SHAPE_INVALID", "TX_NOT_FOUND", "PROVIDER_UNAVAILABLE", "TX_INTEGRITY_MISMATCH", "METADATA_NOT_FOUND", "INSUFFICIENT_CONFIRMATIONS", "SIGNATURE_INVALID", "SIGNER_KEY_UNRESOLVED", "WALLET_ADDRESS_MISMATCH", "URI_TARGET_FORBIDDEN", "URI_INTEGRITY_MISMATCH", "URI_PROVIDER_INTEGRITY_MISMATCH", "URI_FETCH_FAILED", "CONTENT_UNAVAILABLE", "CONTENT_FETCH_LIMIT_EXCEEDED", "CIPHERTEXT_UNAVAILABLE", "SERVICE_INDEPENDENCE_VIOLATION", "WRONG_DECRYPTION_INPUT_SHAPE", "WRONG_RECIPIENT_KEY", "TAMPERED_HEADER", "TAMPERED_CIPHERTEXT", "KDF_DERIVATION_FAILED", "ENC_PASSPHRASE_UNNORMALIZABLE", "ENC_PASSPHRASE_EMPTY", "SCHEMA_MERKLE_LEAF_COUNT_MISMATCH", "SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED", "SCHEMA_MERKLE_LEAVES_MALFORMED", "MERKLE_ROOT_MISMATCH", "MERKLE_LEAVES_UNAVAILABLE", "MERKLE_UNSUPPORTED", "OUT_OF_PROFILE_SKIPPED"];
6
2
  type ErrorCode = (typeof ERROR_CODES)[number];
3
+ type ErrorCodePart = 'A' | 'B' | 'carriage';
4
+ declare const ERROR_CODE_PART: Readonly<Record<ErrorCode, ErrorCodePart>>;
5
+ declare const STRUCTURAL_ERROR_CODES: ReadonlyArray<ErrorCode>;
6
+ declare const CARRIAGE_ERROR_CODES: ReadonlyArray<ErrorCode>;
7
+ declare const VERIFIER_ERROR_CODES: ReadonlyArray<ErrorCode>;
8
+ type StructuralErrorCode = ErrorCode;
9
+ type VerifierErrorCode = ErrorCode;
7
10
  type Severity = 'error' | 'warning' | 'info';
8
11
  declare const SEVERITY: Readonly<Record<ErrorCode, Severity>>;
12
+ declare const DUAL_SEVERITY_CODES: ReadonlySet<ErrorCode>;
9
13
  declare function severityOf(code: ErrorCode): Severity;
14
+ declare function errorCodeRegistryIndex(code: ErrorCode): number;
10
15
 
11
- export { ERROR_CODES, type ErrorCode, SEVERITY, STRUCTURAL_ERROR_CODES, type Severity, type StructuralErrorCode, VERIFIER_ERROR_CODES, type VerifierErrorCode, severityOf };
16
+ export { CARRIAGE_ERROR_CODES, DUAL_SEVERITY_CODES, ERROR_CODES, ERROR_CODE_PART, type ErrorCode, type ErrorCodePart, SEVERITY, STRUCTURAL_ERROR_CODES, type Severity, type StructuralErrorCode, VERIFIER_ERROR_CODES, type VerifierErrorCode, errorCodeRegistryIndex, severityOf };
@@ -1,11 +1,16 @@
1
- declare const STRUCTURAL_ERROR_CODES: readonly ["MALFORMED_CBOR", "SCHEMA_TYPE_MISMATCH", "SCHEMA_MISSING_REQUIRED", "SCHEMA_UNKNOWN_FIELD", "SCHEMA_INVALID_LITERAL", "SCHEMA_EMPTY_RECORD", "HASH_DIGEST_LENGTH_MISMATCH", "UNSUPPORTED_HASH_ALG", "UNSUPPORTED_MERKLE_COMMIT_ALG", "INVALID_URI", "CHUNK_TOO_LARGE", "UNAUTHENTICATED_CIPHER_FORBIDDEN", "UNSUPPORTED_AEAD_ALG", "NONCE_LENGTH_MISMATCH", "UNSUPPORTED_ENVELOPE_SCHEME", "ENC_SLOTS_EMPTY", "ENC_SLOT_INVALID_SHAPE", "UNSUPPORTED_KEM_ALG", "ENC_KEM_REQUIRED", "KEM_EPK_LENGTH_MISMATCH", "KEM_CT_LENGTH_MISMATCH", "WRAP_LENGTH_MISMATCH", "ENC_SLOTS_MAC_INVALID_LENGTH", "ENC_SLOTS_MAC_REQUIRED", "ENC_SLOTS_REQUIRED", "ENC_EXCLUSIVITY_VIOLATION", "ENC_NO_KEY_PATH", "ENC_REQUIRES_CONTENT_HASH", "ENC_PASSPHRASE_ALG_UNSUPPORTED", "ENC_PASSPHRASE_SALT_TOO_SHORT", "ENC_PASSPHRASE_SALT_TOO_LONG", "ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW", "ENC_PASSPHRASE_PARAMS_EXCEED_POLICY", "MALFORMED_SIG_COSE_SIGN1", "SIGNATURE_UNSUPPORTED", "SIG_ENTRY_INVALID_SHAPE", "SIG_ENTRY_KID_COSE_KEY_CONFLICT", "SIG_PRIVATE_KEY_LEAKED", "SUPERSEDES_TX_INVALID_LENGTH", "EXTENSION_UNSUPPORTED_CRITICAL", "CRIT_SHAPE_INVALID"];
2
- declare const VERIFIER_ERROR_CODES: readonly ["METADATA_NOT_FOUND", "INSUFFICIENT_CONFIRMATIONS", "SIGNATURE_INVALID", "SIGNER_KEY_UNRESOLVED", "WALLET_ADDRESS_MISMATCH", "URI_TARGET_FORBIDDEN", "URI_INTEGRITY_MISMATCH", "URI_FETCH_FAILED", "CONTENT_UNAVAILABLE", "CIPHERTEXT_UNAVAILABLE", "PROVIDER_UNAVAILABLE", "SERVICE_INDEPENDENCE_VIOLATION", "WRONG_DECRYPTION_INPUT_SHAPE", "WRONG_RECIPIENT_KEY", "TAMPERED_HEADER", "TAMPERED_CIPHERTEXT", "KDF_DERIVATION_FAILED", "SCHEMA_MERKLE_LEAF_COUNT_MISMATCH", "SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED", "SCHEMA_MERKLE_LEAVES_MALFORMED", "MERKLE_ROOT_MISMATCH", "MERKLE_LEAVES_UNAVAILABLE", "MERKLE_LEAVES_INFORMATIVE_FORM", "MERKLE_UNSUPPORTED", "OUT_OF_PROFILE_SKIPPED"];
3
- declare const ERROR_CODES: readonly ["MALFORMED_CBOR", "SCHEMA_TYPE_MISMATCH", "SCHEMA_MISSING_REQUIRED", "SCHEMA_UNKNOWN_FIELD", "SCHEMA_INVALID_LITERAL", "SCHEMA_EMPTY_RECORD", "HASH_DIGEST_LENGTH_MISMATCH", "UNSUPPORTED_HASH_ALG", "UNSUPPORTED_MERKLE_COMMIT_ALG", "INVALID_URI", "CHUNK_TOO_LARGE", "UNAUTHENTICATED_CIPHER_FORBIDDEN", "UNSUPPORTED_AEAD_ALG", "NONCE_LENGTH_MISMATCH", "UNSUPPORTED_ENVELOPE_SCHEME", "ENC_SLOTS_EMPTY", "ENC_SLOT_INVALID_SHAPE", "UNSUPPORTED_KEM_ALG", "ENC_KEM_REQUIRED", "KEM_EPK_LENGTH_MISMATCH", "KEM_CT_LENGTH_MISMATCH", "WRAP_LENGTH_MISMATCH", "ENC_SLOTS_MAC_INVALID_LENGTH", "ENC_SLOTS_MAC_REQUIRED", "ENC_SLOTS_REQUIRED", "ENC_EXCLUSIVITY_VIOLATION", "ENC_NO_KEY_PATH", "ENC_REQUIRES_CONTENT_HASH", "ENC_PASSPHRASE_ALG_UNSUPPORTED", "ENC_PASSPHRASE_SALT_TOO_SHORT", "ENC_PASSPHRASE_SALT_TOO_LONG", "ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW", "ENC_PASSPHRASE_PARAMS_EXCEED_POLICY", "MALFORMED_SIG_COSE_SIGN1", "SIGNATURE_UNSUPPORTED", "SIG_ENTRY_INVALID_SHAPE", "SIG_ENTRY_KID_COSE_KEY_CONFLICT", "SIG_PRIVATE_KEY_LEAKED", "SUPERSEDES_TX_INVALID_LENGTH", "EXTENSION_UNSUPPORTED_CRITICAL", "CRIT_SHAPE_INVALID", "METADATA_NOT_FOUND", "INSUFFICIENT_CONFIRMATIONS", "SIGNATURE_INVALID", "SIGNER_KEY_UNRESOLVED", "WALLET_ADDRESS_MISMATCH", "URI_TARGET_FORBIDDEN", "URI_INTEGRITY_MISMATCH", "URI_FETCH_FAILED", "CONTENT_UNAVAILABLE", "CIPHERTEXT_UNAVAILABLE", "PROVIDER_UNAVAILABLE", "SERVICE_INDEPENDENCE_VIOLATION", "WRONG_DECRYPTION_INPUT_SHAPE", "WRONG_RECIPIENT_KEY", "TAMPERED_HEADER", "TAMPERED_CIPHERTEXT", "KDF_DERIVATION_FAILED", "SCHEMA_MERKLE_LEAF_COUNT_MISMATCH", "SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED", "SCHEMA_MERKLE_LEAVES_MALFORMED", "MERKLE_ROOT_MISMATCH", "MERKLE_LEAVES_UNAVAILABLE", "MERKLE_LEAVES_INFORMATIVE_FORM", "MERKLE_UNSUPPORTED", "OUT_OF_PROFILE_SKIPPED"];
4
- type StructuralErrorCode = (typeof STRUCTURAL_ERROR_CODES)[number];
5
- type VerifierErrorCode = (typeof VERIFIER_ERROR_CODES)[number];
1
+ declare const ERROR_CODES: readonly ["MALFORMED_CBOR", "SCHEMA_TYPE_MISMATCH", "SCHEMA_MISSING_REQUIRED", "SCHEMA_UNKNOWN_FIELD", "SCHEMA_INVALID_LITERAL", "SCHEMA_EMPTY_RECORD", "HASH_DIGEST_LENGTH_MISMATCH", "UNSUPPORTED_HASH_ALG", "UNSUPPORTED_MERKLE_COMMIT_ALG", "SCHEMA_MERKLE_LEAF_COUNT_INVALID", "INVALID_URI", "CHUNK_TOO_LARGE", "UNAUTHENTICATED_CIPHER_FORBIDDEN", "UNSUPPORTED_AEAD_ALG", "NONCE_LENGTH_MISMATCH", "UNSUPPORTED_ENVELOPE_SCHEME", "ENC_UNSUPPORTED", "ENC_SLOTS_EMPTY", "ENC_SLOT_INVALID_SHAPE", "UNSUPPORTED_KEM_ALG", "ENC_KEM_REQUIRED", "KEM_EPK_LENGTH_MISMATCH", "KEM_CT_LENGTH_MISMATCH", "WRAP_LENGTH_MISMATCH", "ENC_SLOTS_MAC_INVALID_LENGTH", "ENC_SLOTS_MAC_REQUIRED", "ENC_SLOTS_REQUIRED", "ENC_SLOTS_DUPLICATE_KEM_MATERIAL", "ENC_SLOTS_TOO_MANY", "ENC_ENVELOPE_TOO_LARGE", "ENC_EXCLUSIVITY_VIOLATION", "ENC_NO_KEY_PATH", "ENC_REQUIRES_CONTENT_HASH", "ENC_PASSPHRASE_ALG_UNSUPPORTED", "ENC_PASSPHRASE_SALT_TOO_SHORT", "ENC_PASSPHRASE_SALT_TOO_LONG", "ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW", "ENC_PASSPHRASE_PARAMS_EXCEED_POLICY", "MALFORMED_SIG_COSE_SIGN1", "SIGNATURE_UNSUPPORTED", "SIG_ENTRY_INVALID_SHAPE", "SIG_ENTRY_KID_COSE_KEY_CONFLICT", "SIG_PRIVATE_KEY_LEAKED", "SUPERSEDES_TX_INVALID_LENGTH", "EXTENSION_UNSUPPORTED_CRITICAL", "CRIT_SHAPE_INVALID", "TX_NOT_FOUND", "PROVIDER_UNAVAILABLE", "TX_INTEGRITY_MISMATCH", "METADATA_NOT_FOUND", "INSUFFICIENT_CONFIRMATIONS", "SIGNATURE_INVALID", "SIGNER_KEY_UNRESOLVED", "WALLET_ADDRESS_MISMATCH", "URI_TARGET_FORBIDDEN", "URI_INTEGRITY_MISMATCH", "URI_PROVIDER_INTEGRITY_MISMATCH", "URI_FETCH_FAILED", "CONTENT_UNAVAILABLE", "CONTENT_FETCH_LIMIT_EXCEEDED", "CIPHERTEXT_UNAVAILABLE", "SERVICE_INDEPENDENCE_VIOLATION", "WRONG_DECRYPTION_INPUT_SHAPE", "WRONG_RECIPIENT_KEY", "TAMPERED_HEADER", "TAMPERED_CIPHERTEXT", "KDF_DERIVATION_FAILED", "ENC_PASSPHRASE_UNNORMALIZABLE", "ENC_PASSPHRASE_EMPTY", "SCHEMA_MERKLE_LEAF_COUNT_MISMATCH", "SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED", "SCHEMA_MERKLE_LEAVES_MALFORMED", "MERKLE_ROOT_MISMATCH", "MERKLE_LEAVES_UNAVAILABLE", "MERKLE_UNSUPPORTED", "OUT_OF_PROFILE_SKIPPED"];
6
2
  type ErrorCode = (typeof ERROR_CODES)[number];
3
+ type ErrorCodePart = 'A' | 'B' | 'carriage';
4
+ declare const ERROR_CODE_PART: Readonly<Record<ErrorCode, ErrorCodePart>>;
5
+ declare const STRUCTURAL_ERROR_CODES: ReadonlyArray<ErrorCode>;
6
+ declare const CARRIAGE_ERROR_CODES: ReadonlyArray<ErrorCode>;
7
+ declare const VERIFIER_ERROR_CODES: ReadonlyArray<ErrorCode>;
8
+ type StructuralErrorCode = ErrorCode;
9
+ type VerifierErrorCode = ErrorCode;
7
10
  type Severity = 'error' | 'warning' | 'info';
8
11
  declare const SEVERITY: Readonly<Record<ErrorCode, Severity>>;
12
+ declare const DUAL_SEVERITY_CODES: ReadonlySet<ErrorCode>;
9
13
  declare function severityOf(code: ErrorCode): Severity;
14
+ declare function errorCodeRegistryIndex(code: ErrorCode): number;
10
15
 
11
- export { ERROR_CODES, type ErrorCode, SEVERITY, STRUCTURAL_ERROR_CODES, type Severity, type StructuralErrorCode, VERIFIER_ERROR_CODES, type VerifierErrorCode, severityOf };
16
+ export { CARRIAGE_ERROR_CODES, DUAL_SEVERITY_CODES, ERROR_CODES, ERROR_CODE_PART, type ErrorCode, type ErrorCodePart, SEVERITY, STRUCTURAL_ERROR_CODES, type Severity, type StructuralErrorCode, VERIFIER_ERROR_CODES, type VerifierErrorCode, errorCodeRegistryIndex, severityOf };