@packet-schema/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/collect-refs.d.ts +4 -0
  2. package/dist/collect-refs.d.ts.map +1 -0
  3. package/dist/collect-refs.js +76 -0
  4. package/dist/collect-refs.js.map +1 -0
  5. package/dist/constraint.d.ts +66 -0
  6. package/dist/constraint.d.ts.map +1 -0
  7. package/dist/constraint.js +286 -0
  8. package/dist/constraint.js.map +1 -0
  9. package/dist/expr.d.ts +32 -0
  10. package/dist/expr.d.ts.map +1 -0
  11. package/dist/expr.js +190 -0
  12. package/dist/expr.js.map +1 -0
  13. package/dist/index.d.ts +17 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +19 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/layout.d.ts +7 -0
  18. package/dist/layout.d.ts.map +1 -0
  19. package/dist/layout.js +217 -0
  20. package/dist/layout.js.map +1 -0
  21. package/dist/normalize.d.ts +37 -0
  22. package/dist/normalize.d.ts.map +1 -0
  23. package/dist/normalize.js +857 -0
  24. package/dist/normalize.js.map +1 -0
  25. package/dist/types.d.ts +538 -0
  26. package/dist/types.d.ts.map +1 -0
  27. package/dist/types.js +27 -0
  28. package/dist/types.js.map +1 -0
  29. package/dist/utils.d.ts +3 -0
  30. package/dist/utils.d.ts.map +1 -0
  31. package/dist/utils.js +4 -0
  32. package/dist/utils.js.map +1 -0
  33. package/dist/validate.d.ts +8 -0
  34. package/dist/validate.d.ts.map +1 -0
  35. package/dist/validate.js +1222 -0
  36. package/dist/validate.js.map +1 -0
  37. package/dist/values.d.ts +31 -0
  38. package/dist/values.d.ts.map +1 -0
  39. package/dist/values.js +73 -0
  40. package/dist/values.js.map +1 -0
  41. package/dist/yaml.d.ts +11 -0
  42. package/dist/yaml.d.ts.map +1 -0
  43. package/dist/yaml.js +145 -0
  44. package/dist/yaml.js.map +1 -0
  45. package/package.json +35 -0
  46. package/schemas/psdl-0.5.yaml +1223 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../src/normalize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,538 @@
1
+ export type CategoryToken = "addressing" | "identifier" | "length" | "type" | "flags" | "reserved" | "checksum" | "variable" | "payload-marker";
2
+ export declare const CATEGORY_TOKENS: readonly CategoryToken[];
3
+ export type TypeInt = {
4
+ kind: "int";
5
+ bits: number;
6
+ signed?: boolean;
7
+ };
8
+ export type TypeBits = {
9
+ kind: "bits";
10
+ n: number;
11
+ };
12
+ /**
13
+ * Delimiter-terminated byte length (§3, D3). The field spans from the current
14
+ * parse position up to and including the first complete occurrence of the
15
+ * delimiter byte sequence; the delimiter is always consumed and is part of the
16
+ * field's wire footprint (and of any `display` rendering). `delimiter` is a
17
+ * non-empty list of byte integers (each 0–255). Length is decoder-determined
18
+ * and supplied by seed injection under a dedicated key (§10.7), forward-only and
19
+ * relative. This `delimiter` form is unrelated to the `repeat.count.until`
20
+ * after-iteration predicate (§5); they share no keyword.
21
+ */
22
+ export type BytesDelimited = {
23
+ delimiter: number[];
24
+ };
25
+ /** Variable-length byte array; use `n: { kind: remaining }` for "all remaining" (§3). */
26
+ export type TypeBytes = {
27
+ kind: "bytes";
28
+ n: Expr | BytesDelimited;
29
+ };
30
+ export type EnumVariantObj = {
31
+ label: string;
32
+ doc?: string;
33
+ level?: NormativeLevel;
34
+ meta?: FieldMeta;
35
+ };
36
+ export type EnumVariant = string | EnumVariantObj;
37
+ /**
38
+ * Open value-dictionary entry (§5.3). Annotates a single discrete value or an
39
+ * inclusive range with meaning, normative strength, and provenance.
40
+ * Purely annotational: it does NOT close the value space (out-of-list values
41
+ * remain valid) and carries no wire semantics.
42
+ */
43
+ export type ValueEntry = {
44
+ /** Single value. Mutually exclusive with `range` and `pattern`. */
45
+ value?: number;
46
+ /** Inclusive [min, max] range. Mutually exclusive with `value` and `pattern`. */
47
+ range?: [number, number];
48
+ /**
49
+ * Ternary bit-pattern predicate (§5.3): a string of `0`, `1`, and `x`
50
+ * (don't-care), read like a binary literal — the rightmost character is bit 0
51
+ * (LSB). Matches when every non-`x` bit equals the observed bit. Expresses
52
+ * non-contiguous pools a `range` cannot, e.g. the DSCP experimental pool
53
+ * `"xxxx11"`. Mutually exclusive with `value`/`range`. Contradictions are
54
+ * unrepresentable by construction (every character is 0, 1, or x).
55
+ */
56
+ pattern?: string;
57
+ /** Short machine-style symbol, e.g. "EF", "Not-ECT". */
58
+ name?: string;
59
+ /** Human-readable label, e.g. "Expedited Forwarding". */
60
+ label?: string;
61
+ doc?: string;
62
+ /** Normative strength of this value (RFC 2119). Absent ≡ "may". */
63
+ level?: NormativeLevel;
64
+ meta?: FieldMeta;
65
+ };
66
+ export type TypeEnum = {
67
+ kind: "enum";
68
+ bits: number;
69
+ /**
70
+ * Variant table keyed by the numeric enum value. NOTE: on the wire / after
71
+ * YAML/JSON parse these keys are *strings* (the schema keys `variants` by
72
+ * stringified non-negative decimal integers such as "6", "17"); the `number`
73
+ * index signature is a convenience — TS coerces numeric indexing to strings.
74
+ */
75
+ variants: Record<number, EnumVariant>;
76
+ };
77
+ /** Predefined varint encodings; arbitrary strings are also accepted (§3). */
78
+ export declare const VARINT_ENCODINGS: readonly ["quic", "protobuf", "cbor", "ea-terminated", "leb128"];
79
+ export type VarintEncoding = string;
80
+ export type TypeVarint = {
81
+ kind: "varint";
82
+ encoding: VarintEncoding;
83
+ };
84
+ /** BER length field; maxBytes caps the encoded width (1–5, default 5). */
85
+ export type TypeBerLength = {
86
+ kind: "berLength";
87
+ maxBytes?: number;
88
+ };
89
+ export type Type = TypeInt | TypeBits | TypeBytes | TypeEnum | TypeVarint | TypeBerLength;
90
+ export type BinOp = "+" | "-" | "*" | "/" | "%" | "<<" | ">>" | "==" | "!=" | "<" | "<=" | ">" | ">=" | "&" | "|" | "^";
91
+ export declare const BIN_OPS: readonly BinOp[];
92
+ export type ExprLit = {
93
+ kind: "lit";
94
+ value: number;
95
+ };
96
+ export type ExprRef = {
97
+ kind: "ref";
98
+ field: string;
99
+ };
100
+ export type ExprOp = {
101
+ kind: "op";
102
+ op: BinOp;
103
+ a: Expr;
104
+ b: Expr;
105
+ };
106
+ export type ExprCond = {
107
+ kind: "cond";
108
+ test: Expr;
109
+ t: Expr;
110
+ f: Expr;
111
+ };
112
+ /** Look ahead without advancing the cursor (§10.6). `bits` is 1–64. */
113
+ export type ExprPeek = {
114
+ kind: "peek";
115
+ bits: number;
116
+ offset?: Expr;
117
+ };
118
+ /**
119
+ * Discrete table lookup; missing key → 0 (§4). NOTE: as with enum variants,
120
+ * `table` keys are stringified non-negative decimal integers on the wire (the
121
+ * schema constrains `propertyNames` to `^(0|[1-9][0-9]*)$`); the `number` index
122
+ * signature is a convenience that TS coerces to string keys at runtime.
123
+ */
124
+ export type ExprLookup = {
125
+ kind: "lookup";
126
+ key: Expr;
127
+ table: Record<number, number>;
128
+ };
129
+ /** Wire byte footprint of a named container/field (§4). */
130
+ export type ExprWireSize = {
131
+ kind: "wireSize";
132
+ target: string;
133
+ };
134
+ /** Value of a field from the previous completed repeat iteration (§4, §10.4). */
135
+ export type ExprPrevIter = {
136
+ kind: "prevIter";
137
+ field: string;
138
+ };
139
+ /** Bytes remaining in the enclosing scope-providing container (§4). */
140
+ export type ExprRemaining = {
141
+ kind: "remaining";
142
+ };
143
+ /** Bit budget of the nearest scope-providing container that carries one (§4). */
144
+ export type ExprEnclosingBits = {
145
+ kind: "enclosingBits";
146
+ };
147
+ /** Cross-layer field access; constraints only (§7). */
148
+ export type ExprEnclosingField = {
149
+ kind: "enclosingField";
150
+ field: string;
151
+ };
152
+ export type Expr = ExprLit | ExprRef | ExprOp | ExprCond | ExprPeek | ExprLookup | ExprWireSize | ExprPrevIter | ExprRemaining | ExprEnclosingBits | ExprEnclosingField;
153
+ /** Well-known algorithms; arbitrary strings are accepted (§8). */
154
+ export declare const CHECKSUM_ALGORITHMS: readonly ["internet", "crc32", "crc32c", "crc16", "adler32"];
155
+ export type ChecksumAlgorithm = string;
156
+ /**
157
+ * CRC parameter overrides (§8). Only valid alongside a `checksumAlgorithm` that
158
+ * uses the CRC parameter model; pairing it with a named non-CRC algorithm
159
+ * (`internet`, `adler32`) is a validation error (§11.1).
160
+ */
161
+ export type ChecksumParams = {
162
+ /**
163
+ * Generator polynomial. A bare integer for values ≤ 2^53−1; values that need
164
+ * more than 53 bits MUST be written as a `^0x[0-9A-Fa-f]+$` hex string so the
165
+ * full 64-bit precision survives (a bare integer would lose precision, §8).
166
+ */
167
+ polynomial?: number | string;
168
+ initValue?: number | string;
169
+ finalXOR?: number | string;
170
+ inputReflect?: boolean;
171
+ outputReflect?: boolean;
172
+ /**
173
+ * CRC width in bits (1–64). Optional; when absent the CRC width equals the
174
+ * checksum value field's declared bit width (int.bits / bits.n). Required when
175
+ * the checksum field's type does not have a single declared bit width (e.g. a
176
+ * `bytes` field), §8.
177
+ */
178
+ width?: number;
179
+ };
180
+ export type PseudoHeader = "ipv4" | "ipv6";
181
+ export type DisplayHint = "dec" | "hex" | "oct" | "bin" | "ascii" | "utf8" | "addr";
182
+ /**
183
+ * RFC 2119 normative strength. The default when absent is context-dependent:
184
+ * "must" on a Constraint (legacy fixed behaviour, §9.1), but "may" on a value
185
+ * dictionary entry / enum variant (§5.3) since those are annotations, not rules.
186
+ */
187
+ export type NormativeLevel = "must" | "should" | "may";
188
+ /**
189
+ * A single updating-RFC reference (§5.4). Either a bare RFC number (≡ `{ rfc: N }`
190
+ * with no section) or an object carrying the updating RFC number plus the section
191
+ * of THAT updating RFC. The defining RFC's own section is carried separately by
192
+ * the sibling `meta.section`.
193
+ */
194
+ export type UpdateRef = number | {
195
+ rfc: number;
196
+ section?: string;
197
+ };
198
+ /**
199
+ * Multi-layer RFC provenance (§5.4). Either a bare RFC number (legacy 0.5 form)
200
+ * or an object recording the defining RFC plus the chain of RFCs that updated
201
+ * the field's layout or semantics. LSP renders "defined by N, updated by …".
202
+ * Each `updates` entry may be a bare number or `{ rfc, section? }`.
203
+ */
204
+ export type RfcRef = number | {
205
+ defined: number;
206
+ updates?: UpdateRef[];
207
+ };
208
+ /** Per-field / per-region RFC annotation (§5.4). */
209
+ export type FieldMeta = {
210
+ rfc?: RfcRef;
211
+ section?: string;
212
+ };
213
+ /**
214
+ * Author-facing bit-field annotation over a parent `int`/byte-aligned-`bits`
215
+ * field (§12, D4). A subfield decodes a slice of the parent's BYTE-ORDER-RESOLVED
216
+ * integer value: its value is `(fieldValue & mask) >> lowestSetBit(mask)`, with
217
+ * bit 0 = the least-significant bit (identical to ValueEntry.pattern's bit-0=LSB
218
+ * convention, §5.3). Because the convention is defined over the *decoded value*,
219
+ * it is byte-order-independent and works identically for LE and BE words — which
220
+ * is precisely why it succeeds where a naive MSB-first bits-group fails for
221
+ * little-endian words (802.15.4 / 802.11 / CAN). Subfields are display/annotation
222
+ * only: they consume no wire bits, add no parse semantics, do not appear in
223
+ * `env`, and do not affect `checksumCovers`, expressions, or scoping.
224
+ *
225
+ * RENDER POSITION (this version): subfields carry value-decode semantics for
226
+ * LSP/codegen. A renderer MAY derive sub-cell wire positions from the masks, but
227
+ * exact wire-render placement (especially the non-contiguous LE case) is **not
228
+ * guaranteed by 0.5** and is a candidate for a follow-up revision (§12).
229
+ *
230
+ * `mask` is a non-negative integer; a hex string is permitted for masks needing
231
+ * more than 53 bits (the D9 precedent), and tools MUST decode such masks at full
232
+ * 64-bit precision.
233
+ */
234
+ export type Subfield = {
235
+ id: string;
236
+ name: string;
237
+ mask: number | string;
238
+ doc?: string;
239
+ values?: readonly ValueEntry[];
240
+ level?: NormativeLevel;
241
+ category?: CategoryToken;
242
+ meta?: FieldMeta;
243
+ };
244
+ export type Field = {
245
+ kind?: "field";
246
+ id: string;
247
+ name: string;
248
+ type: Type;
249
+ doc?: string;
250
+ meta?: FieldMeta;
251
+ category?: CategoryToken;
252
+ defaultValue?: number;
253
+ byteOrder?: "BE" | "LE";
254
+ next?: Record<string, string>;
255
+ checksumAlgorithm?: ChecksumAlgorithm;
256
+ checksumCovers?: string[];
257
+ checksumPseudoHeader?: PseudoHeader;
258
+ checksumParams?: ChecksumParams;
259
+ const?: number;
260
+ display?: DisplayHint;
261
+ /** Open value dictionary for discrete values of this field (§5.3). */
262
+ values?: readonly ValueEntry[];
263
+ /** Serializer hint; must be a wireSize expression (§4, §6). */
264
+ computedFrom?: ExprWireSize;
265
+ /**
266
+ * Mask-addressed bit subfields over this `int` / byte-aligned `bits` field
267
+ * (§12, D4). Display/annotation only; value bit 0 = LSB of the decoded value.
268
+ */
269
+ subfields?: readonly Subfield[];
270
+ };
271
+ /** Computed auxiliary field; consumes zero wire bytes (§5). */
272
+ export type Virtual = {
273
+ kind: "virtual";
274
+ id: string;
275
+ expr: Expr;
276
+ name?: string;
277
+ doc?: string;
278
+ };
279
+ /** Nested optionals are allowed; inner `when` is short-circuited (§10.8). */
280
+ export type Optional = {
281
+ kind: "optional";
282
+ id?: string;
283
+ when: Expr;
284
+ container: Container;
285
+ doc?: string;
286
+ meta?: FieldMeta;
287
+ };
288
+ /** Anonymous struct used as Repeat.element / Switch arm / Encrypted.plaintext. */
289
+ export type Struct = {
290
+ id: string;
291
+ doc?: string;
292
+ meta?: FieldMeta;
293
+ fields: Container[];
294
+ };
295
+ /** Struct type used exclusively as a `defs` value; may be recursive (§6). */
296
+ export type NamedStruct = {
297
+ id: string;
298
+ doc?: string;
299
+ /**
300
+ * RFC provenance for the def as a whole (§5.4, §6). Documentation-grade:
301
+ * available through the source AST only — a `ref` expansion is transparent
302
+ * and emits no container field, so this meta does not appear in the
303
+ * normalized/layout output.
304
+ */
305
+ meta?: FieldMeta;
306
+ recursive?: boolean;
307
+ fields: Container[];
308
+ };
309
+ export type Group = {
310
+ kind: "group";
311
+ id: string;
312
+ name: string;
313
+ doc?: string;
314
+ meta?: FieldMeta;
315
+ category?: CategoryToken;
316
+ children: Container[];
317
+ };
318
+ export type RepeatCount = Expr | "eos" | {
319
+ until: Expr;
320
+ };
321
+ export type Repeat = {
322
+ kind: "repeat";
323
+ id: string;
324
+ name?: string;
325
+ element: Struct;
326
+ count: RepeatCount;
327
+ category?: CategoryToken;
328
+ doc?: string;
329
+ };
330
+ export type Switch = {
331
+ kind: "switch";
332
+ id: string;
333
+ name?: string;
334
+ on: Expr;
335
+ cases: Record<string, Struct>;
336
+ doc?: string;
337
+ };
338
+ export type Encrypted = {
339
+ kind: "encrypted";
340
+ id: string;
341
+ name?: string;
342
+ plaintext: Struct;
343
+ wireBits?: Expr;
344
+ contextNote?: string;
345
+ headerProtected?: string[];
346
+ category?: CategoryToken;
347
+ doc?: string;
348
+ /** RFC provenance for the encrypted region (§5.4). */
349
+ meta?: FieldMeta;
350
+ };
351
+ export type RefContainer = {
352
+ kind: "ref";
353
+ ref: string;
354
+ id: string;
355
+ name?: string;
356
+ };
357
+ /** Aligns the parse cursor to a bit boundary measured from the wire origin (§5). */
358
+ export type Align = {
359
+ kind: "align";
360
+ /** Boundary in bits; must be a positive power of 2 that is a multiple of 8. */
361
+ to: number;
362
+ /** Padding byte value, 0–255 (default 0). */
363
+ fill?: number;
364
+ id?: string;
365
+ doc?: string;
366
+ };
367
+ /** Constrains parsing of its contents to a declared byte count (§5). */
368
+ export type Bounded = {
369
+ kind: "bounded";
370
+ id: string;
371
+ bytes: Expr;
372
+ fields: Container[];
373
+ name?: string;
374
+ doc?: string;
375
+ /** RFC provenance for the bounded region (§5.4). */
376
+ meta?: FieldMeta;
377
+ };
378
+ export type Container = Field | Virtual | Group | Optional | Repeat | Switch | Align | Bounded | Encrypted | RefContainer;
379
+ export type Constraint = {
380
+ lhs: Expr;
381
+ rhs: Expr;
382
+ doc?: string;
383
+ /**
384
+ * Normative strength (§9). Absent ≡ "must". Only `must` constraints (and
385
+ * those with no level) participate in solver back-propagation; `should`/`may`
386
+ * are diagnostic-only (§9.1).
387
+ */
388
+ level?: NormativeLevel;
389
+ };
390
+ export type PacketMeta = {
391
+ rfc?: RfcRef;
392
+ section?: string;
393
+ aliases?: string[];
394
+ /**
395
+ * Free-form classification tags for catalog/registry grouping and search
396
+ * (§1.1). Multi-axis (layer, function, transport, …); the spec deliberately
397
+ * does NOT constrain the vocabulary — a controlled term list, if any, is
398
+ * governed by the catalog/tooling layer, not the language. Like `aliases`,
399
+ * these are open strings, unlike the closed field-level `category` tokens.
400
+ */
401
+ tags?: string[];
402
+ /**
403
+ * Optional single grouping key for a family of related packet types
404
+ * (e.g. `bgp` for the several BGP message documents). Free-form (§1.1).
405
+ */
406
+ family?: string;
407
+ };
408
+ export type ImportEntry = {
409
+ source: string;
410
+ as: string;
411
+ };
412
+ export type RendererSection = {
413
+ id: string;
414
+ label: string;
415
+ fields: string[];
416
+ };
417
+ export type RendererHints = {
418
+ rowBits?: number;
419
+ sections?: RendererSection[];
420
+ };
421
+ export type Packet = {
422
+ version?: string;
423
+ name: string;
424
+ /** @deprecated use rendererHints.rowBits */
425
+ rowBits?: number;
426
+ abbrev?: string;
427
+ body: Container[];
428
+ constraints?: Constraint[];
429
+ byteOrder?: "BE" | "LE";
430
+ description?: string;
431
+ rendererHints?: RendererHints;
432
+ meta?: PacketMeta;
433
+ defs?: Record<string, NamedStruct>;
434
+ imports?: ImportEntry[];
435
+ };
436
+ export type PsdlPacket = Packet;
437
+ export type PsdlField = Field;
438
+ export type PsdlExpr = Expr;
439
+ export type PsdlType = Type;
440
+ export type NormalizedField = {
441
+ id: string;
442
+ name: string;
443
+ bits: number;
444
+ absoluteBitOffset: number;
445
+ originalContainerPath: string;
446
+ category?: CategoryToken;
447
+ doc?: string;
448
+ repeatIndex?: number;
449
+ switchCase?: string;
450
+ encrypted?: boolean;
451
+ encryptedParentId?: string;
452
+ encryptedContextNote?: string;
453
+ headerProtected?: boolean;
454
+ byteOrder?: "BE" | "LE";
455
+ groupId?: string;
456
+ groupName?: string;
457
+ /** RFC provenance of the enclosing group, for per-group LSP deep-linking (§5.4). */
458
+ groupMeta?: FieldMeta;
459
+ /** Virtual (zero-width computed) field marker. */
460
+ virtual?: boolean;
461
+ /** Value dictionary copied verbatim from the source Field (§5.3). */
462
+ values?: readonly ValueEntry[];
463
+ /** RFC provenance copied verbatim from the source Field (§5.4). */
464
+ meta?: FieldMeta;
465
+ /** Mask-addressed bit subfields copied verbatim from the source Field (§12, D4). */
466
+ subfields?: readonly Subfield[];
467
+ /** Checksum algorithm copied verbatim from the source Field, for codegen (§8). */
468
+ checksumAlgorithm?: ChecksumAlgorithm;
469
+ /** Covered field ids copied verbatim from the source Field (§8). */
470
+ checksumCovers?: string[];
471
+ /** Pseudo-header copied verbatim from the source Field (§8). */
472
+ checksumPseudoHeader?: PseudoHeader;
473
+ /** CRC parameter overrides copied verbatim from the source Field (§8). */
474
+ checksumParams?: ChecksumParams;
475
+ };
476
+ export type Normalized = {
477
+ fields: NormalizedField[];
478
+ totalBits: number;
479
+ };
480
+ export type PacketEnv = Map<string, number>;
481
+ export type ViewMode = "wire" | "semantic";
482
+ export type LayoutSubField = {
483
+ id: string;
484
+ name: string;
485
+ bits: number;
486
+ description?: string;
487
+ values?: readonly ValueEntry[];
488
+ meta?: FieldMeta;
489
+ };
490
+ export type LayoutField = {
491
+ id: string;
492
+ name: string;
493
+ bits: number;
494
+ category?: CategoryToken;
495
+ description?: string;
496
+ values?: readonly ValueEntry[];
497
+ meta?: FieldMeta;
498
+ subfields?: LayoutSubField[];
499
+ };
500
+ export type SubCell = {
501
+ parentField: LayoutField;
502
+ subfield: LayoutSubField;
503
+ id: string;
504
+ startBit: number;
505
+ endBit: number;
506
+ isFirst: boolean;
507
+ isLast: boolean;
508
+ bitsTotal: number;
509
+ encrypted?: boolean;
510
+ encryptedParentId?: string;
511
+ encryptedContextNote?: string;
512
+ headerProtected?: boolean;
513
+ byteOrder?: "BE" | "LE";
514
+ };
515
+ export type Cell = {
516
+ field: LayoutField;
517
+ bitsTotal: number;
518
+ row: number;
519
+ startBit: number;
520
+ endBit: number;
521
+ segmentIndex: number;
522
+ totalSegments: number;
523
+ isFirst: boolean;
524
+ isLast: boolean;
525
+ fieldStartOffset: number;
526
+ fieldEndOffset: number;
527
+ subCells?: SubCell[];
528
+ encrypted?: boolean;
529
+ encryptedParentId?: string;
530
+ encryptedContextNote?: string;
531
+ headerProtected?: boolean;
532
+ byteOrder?: "BE" | "LE";
533
+ };
534
+ export type ResolvedLayout = {
535
+ cells: Cell[];
536
+ totalBits: number;
537
+ };
538
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,27 @@
1
+ // PSDL 0.5 — Packet Schema Definition Language
2
+ // Canonical type definitions for the PSDL wire format.
3
+ //
4
+ // Mirrors schemas/psdl-0.5.yaml and spec/psdl-0.5.md. Expressions are pure and
5
+ // serialisable (no JS closures on the wire). The core parse model is
6
+ // forward-only, relative, and single-packet (§16).
7
+ export const CATEGORY_TOKENS = [
8
+ "addressing", "identifier", "length", "type", "flags",
9
+ "reserved", "checksum", "variable", "payload-marker",
10
+ ];
11
+ /** Predefined varint encodings; arbitrary strings are also accepted (§3). */
12
+ export const VARINT_ENCODINGS = [
13
+ "quic", "protobuf", "cbor", "ea-terminated", "leb128",
14
+ ];
15
+ export const BIN_OPS = [
16
+ "+", "-", "*", "/", "%", "<<", ">>",
17
+ "==", "!=", "<", "<=", ">", ">=",
18
+ "&", "|", "^",
19
+ ];
20
+ /* ------------------------------------------------------------------ *
21
+ * Checksum
22
+ * ------------------------------------------------------------------ */
23
+ /** Well-known algorithms; arbitrary strings are accepted (§8). */
24
+ export const CHECKSUM_ALGORITHMS = [
25
+ "internet", "crc32", "crc32c", "crc16", "adler32",
26
+ ];
27
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,uDAAuD;AACvD,EAAE;AACF,+EAA+E;AAC/E,qEAAqE;AACrE,mDAAmD;AAiBnD,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO;IACrD,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB;CACrD,CAAC;AAmEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ;CAC7C,CAAC;AAyBX,MAAM,CAAC,MAAM,OAAO,GAAqB;IACvC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;IACnC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;IAChC,GAAG,EAAE,GAAG,EAAE,GAAG;CACd,CAAC;AAuCF;;wEAEwE;AAExE,kEAAkE;AAClE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS;CACzC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Container, Field } from "./types.js";
2
+ export declare function isField(c: Container): c is Field;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnD,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,IAAI,KAAK,CAEhD"}