@cardanowall/poe-standard 0.3.0 → 0.5.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,39 +1,26 @@
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
- "ENC_SLOTS_DUPLICATE_KEM_MATERIAL",
35
- "ENC_SLOTS_TOO_MANY",
36
- "ENC_ENVELOPE_TOO_LARGE",
37
24
  "UNSUPPORTED_KEM_ALG",
38
25
  "ENC_KEM_REQUIRED",
39
26
  "KEM_EPK_LENGTH_MISMATCH",
@@ -42,6 +29,9 @@ var STRUCTURAL_ERROR_CODES = [
42
29
  "ENC_SLOTS_MAC_INVALID_LENGTH",
43
30
  "ENC_SLOTS_MAC_REQUIRED",
44
31
  "ENC_SLOTS_REQUIRED",
32
+ "ENC_SLOTS_DUPLICATE_KEM_MATERIAL",
33
+ "ENC_SLOTS_TOO_MANY",
34
+ "ENC_ENVELOPE_TOO_LARGE",
45
35
  "ENC_EXCLUSIVITY_VIOLATION",
46
36
  "ENC_NO_KEY_PATH",
47
37
  "ENC_REQUIRES_CONTENT_HASH",
@@ -50,19 +40,17 @@ var STRUCTURAL_ERROR_CODES = [
50
40
  "ENC_PASSPHRASE_SALT_TOO_LONG",
51
41
  "ENC_PASSPHRASE_ARGON2_PARAMS_TOO_LOW",
52
42
  "ENC_PASSPHRASE_PARAMS_EXCEED_POLICY",
53
- // Signatures
54
43
  "MALFORMED_SIG_COSE_SIGN1",
55
44
  "SIGNATURE_UNSUPPORTED",
56
45
  "SIG_ENTRY_INVALID_SHAPE",
57
46
  "SIG_ENTRY_KID_COSE_KEY_CONFLICT",
58
47
  "SIG_PRIVATE_KEY_LEAKED",
59
- // Supersedence
60
48
  "SUPERSEDES_TX_INVALID_LENGTH",
61
- // Forward-compat critical extensions
62
49
  "EXTENSION_UNSUPPORTED_CRITICAL",
63
- "CRIT_SHAPE_INVALID"
64
- ];
65
- var VERIFIER_ERROR_CODES = [
50
+ "CRIT_SHAPE_INVALID",
51
+ "TX_NOT_FOUND",
52
+ "PROVIDER_UNAVAILABLE",
53
+ "TX_INTEGRITY_MISMATCH",
66
54
  "METADATA_NOT_FOUND",
67
55
  "INSUFFICIENT_CONFIRMATIONS",
68
56
  "SIGNATURE_INVALID",
@@ -70,28 +58,115 @@ var VERIFIER_ERROR_CODES = [
70
58
  "WALLET_ADDRESS_MISMATCH",
71
59
  "URI_TARGET_FORBIDDEN",
72
60
  "URI_INTEGRITY_MISMATCH",
61
+ "URI_PROVIDER_INTEGRITY_MISMATCH",
73
62
  "URI_FETCH_FAILED",
74
63
  "CONTENT_UNAVAILABLE",
64
+ "CONTENT_FETCH_LIMIT_EXCEEDED",
75
65
  "CIPHERTEXT_UNAVAILABLE",
76
- "PROVIDER_UNAVAILABLE",
77
66
  "SERVICE_INDEPENDENCE_VIOLATION",
78
67
  "WRONG_DECRYPTION_INPUT_SHAPE",
79
68
  "WRONG_RECIPIENT_KEY",
80
69
  "TAMPERED_HEADER",
81
70
  "TAMPERED_CIPHERTEXT",
82
71
  "KDF_DERIVATION_FAILED",
72
+ "ENC_PASSPHRASE_UNNORMALIZABLE",
73
+ "ENC_PASSPHRASE_EMPTY",
83
74
  "SCHEMA_MERKLE_LEAF_COUNT_MISMATCH",
84
75
  "SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED",
85
76
  "SCHEMA_MERKLE_LEAVES_MALFORMED",
86
77
  "MERKLE_ROOT_MISMATCH",
87
78
  "MERKLE_LEAVES_UNAVAILABLE",
88
- "MERKLE_LEAVES_INFORMATIVE_FORM",
89
79
  "MERKLE_UNSUPPORTED",
90
80
  "OUT_OF_PROFILE_SKIPPED"
91
81
  ];
92
- 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
+ );
93
169
  var SEVERITY = Object.freeze({
94
- // --- Part A ---
95
170
  MALFORMED_CBOR: "error",
96
171
  SCHEMA_TYPE_MISMATCH: "error",
97
172
  SCHEMA_MISSING_REQUIRED: "error",
@@ -101,17 +176,16 @@ var SEVERITY = Object.freeze({
101
176
  HASH_DIGEST_LENGTH_MISMATCH: "error",
102
177
  UNSUPPORTED_HASH_ALG: "error",
103
178
  UNSUPPORTED_MERKLE_COMMIT_ALG: "error",
179
+ SCHEMA_MERKLE_LEAF_COUNT_INVALID: "error",
104
180
  INVALID_URI: "error",
105
181
  CHUNK_TOO_LARGE: "error",
106
182
  UNAUTHENTICATED_CIPHER_FORBIDDEN: "error",
107
183
  UNSUPPORTED_AEAD_ALG: "error",
108
184
  NONCE_LENGTH_MISMATCH: "error",
109
185
  UNSUPPORTED_ENVELOPE_SCHEME: "error",
186
+ ENC_UNSUPPORTED: "info",
110
187
  ENC_SLOTS_EMPTY: "error",
111
188
  ENC_SLOT_INVALID_SHAPE: "error",
112
- ENC_SLOTS_DUPLICATE_KEM_MATERIAL: "error",
113
- ENC_SLOTS_TOO_MANY: "error",
114
- ENC_ENVELOPE_TOO_LARGE: "error",
115
189
  UNSUPPORTED_KEM_ALG: "error",
116
190
  ENC_KEM_REQUIRED: "error",
117
191
  KEM_EPK_LENGTH_MISMATCH: "error",
@@ -120,6 +194,9 @@ var SEVERITY = Object.freeze({
120
194
  ENC_SLOTS_MAC_INVALID_LENGTH: "error",
121
195
  ENC_SLOTS_MAC_REQUIRED: "error",
122
196
  ENC_SLOTS_REQUIRED: "error",
197
+ ENC_SLOTS_DUPLICATE_KEM_MATERIAL: "error",
198
+ ENC_SLOTS_TOO_MANY: "error",
199
+ ENC_ENVELOPE_TOO_LARGE: "error",
123
200
  ENC_EXCLUSIVITY_VIOLATION: "error",
124
201
  ENC_NO_KEY_PATH: "error",
125
202
  ENC_REQUIRES_CONTENT_HASH: "error",
@@ -136,7 +213,9 @@ var SEVERITY = Object.freeze({
136
213
  SUPERSEDES_TX_INVALID_LENGTH: "error",
137
214
  EXTENSION_UNSUPPORTED_CRITICAL: "error",
138
215
  CRIT_SHAPE_INVALID: "error",
139
- // --- Part B ---
216
+ TX_NOT_FOUND: "error",
217
+ PROVIDER_UNAVAILABLE: "error",
218
+ TX_INTEGRITY_MISMATCH: "error",
140
219
  METADATA_NOT_FOUND: "error",
141
220
  INSUFFICIENT_CONFIRMATIONS: "info",
142
221
  SIGNATURE_INVALID: "error",
@@ -144,38 +223,51 @@ var SEVERITY = Object.freeze({
144
223
  WALLET_ADDRESS_MISMATCH: "error",
145
224
  URI_TARGET_FORBIDDEN: "error",
146
225
  URI_INTEGRITY_MISMATCH: "error",
226
+ URI_PROVIDER_INTEGRITY_MISMATCH: "warning",
147
227
  URI_FETCH_FAILED: "warning",
148
228
  CONTENT_UNAVAILABLE: "error",
229
+ CONTENT_FETCH_LIMIT_EXCEEDED: "error",
149
230
  CIPHERTEXT_UNAVAILABLE: "error",
150
- PROVIDER_UNAVAILABLE: "error",
151
231
  SERVICE_INDEPENDENCE_VIOLATION: "error",
152
232
  WRONG_DECRYPTION_INPUT_SHAPE: "error",
153
233
  WRONG_RECIPIENT_KEY: "error",
154
234
  TAMPERED_HEADER: "error",
155
235
  TAMPERED_CIPHERTEXT: "error",
156
236
  KDF_DERIVATION_FAILED: "error",
237
+ ENC_PASSPHRASE_UNNORMALIZABLE: "error",
238
+ ENC_PASSPHRASE_EMPTY: "error",
157
239
  SCHEMA_MERKLE_LEAF_COUNT_MISMATCH: "error",
158
240
  SCHEMA_MERKLE_LEAVES_FORMAT_UNSUPPORTED: "error",
159
241
  SCHEMA_MERKLE_LEAVES_MALFORMED: "error",
160
242
  MERKLE_ROOT_MISMATCH: "error",
161
243
  MERKLE_LEAVES_UNAVAILABLE: "warning",
162
- MERKLE_LEAVES_INFORMATIVE_FORM: "info",
163
- // Dual-severity — default reading is `info`; the verifier promotes to
164
- // `error` for merkle-only records (no `items[]` content claim was
165
- // validated in the same record).
166
244
  MERKLE_UNSUPPORTED: "info",
167
- // Dual-severity — default reading is `info` (render mode); strict
168
- // end-to-end verifiers promote to `error`.
169
245
  OUT_OF_PROFILE_SKIPPED: "info"
170
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
+ ]);
171
253
  function severityOf(code) {
172
254
  return SEVERITY[code];
173
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
+ }
174
262
 
263
+ exports.CARRIAGE_ERROR_CODES = CARRIAGE_ERROR_CODES;
264
+ exports.DUAL_SEVERITY_CODES = DUAL_SEVERITY_CODES;
175
265
  exports.ERROR_CODES = ERROR_CODES;
266
+ exports.ERROR_CODE_PART = ERROR_CODE_PART;
176
267
  exports.SEVERITY = SEVERITY;
177
268
  exports.STRUCTURAL_ERROR_CODES = STRUCTURAL_ERROR_CODES;
178
269
  exports.VERIFIER_ERROR_CODES = VERIFIER_ERROR_CODES;
270
+ exports.errorCodeRegistryIndex = errorCodeRegistryIndex;
179
271
  exports.severityOf = severityOf;
180
272
  //# sourceMappingURL=error-codes.cjs.map
181
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 'ENC_SLOTS_DUPLICATE_KEM_MATERIAL',\n 'ENC_SLOTS_TOO_MANY',\n 'ENC_ENVELOPE_TOO_LARGE',\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 ENC_SLOTS_DUPLICATE_KEM_MATERIAL: 'error',\n ENC_SLOTS_TOO_MANY: 'error',\n ENC_ENVELOPE_TOO_LARGE: '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", "ENC_SLOTS_DUPLICATE_KEM_MATERIAL", "ENC_SLOTS_TOO_MANY", "ENC_ENVELOPE_TOO_LARGE", "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", "ENC_SLOTS_DUPLICATE_KEM_MATERIAL", "ENC_SLOTS_TOO_MANY", "ENC_ENVELOPE_TOO_LARGE", "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", "ENC_SLOTS_DUPLICATE_KEM_MATERIAL", "ENC_SLOTS_TOO_MANY", "ENC_ENVELOPE_TOO_LARGE", "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", "ENC_SLOTS_DUPLICATE_KEM_MATERIAL", "ENC_SLOTS_TOO_MANY", "ENC_ENVELOPE_TOO_LARGE", "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 };