@altopelago/aeon-aes 0.12.0 → 0.13.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 (59) hide show
  1. package/README.md +31 -2
  2. package/dist/events.d.ts +5 -0
  3. package/dist/events.d.ts.map +1 -1
  4. package/dist/events.js +3 -0
  5. package/dist/events.js.map +1 -1
  6. package/dist/film-internal.d.ts +137 -0
  7. package/dist/film-internal.d.ts.map +1 -0
  8. package/dist/film-internal.js +702 -0
  9. package/dist/film-internal.js.map +1 -0
  10. package/dist/film.d.ts +64 -0
  11. package/dist/film.d.ts.map +1 -0
  12. package/dist/film.js +22 -0
  13. package/dist/film.js.map +1 -0
  14. package/dist/index.d.ts +3 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +3 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/modes.d.ts.map +1 -1
  19. package/dist/modes.js +14 -8
  20. package/dist/modes.js.map +1 -1
  21. package/dist/paths.d.ts +1 -0
  22. package/dist/paths.d.ts.map +1 -1
  23. package/dist/paths.js +33 -29
  24. package/dist/paths.js.map +1 -1
  25. package/dist/portable.d.ts +98 -0
  26. package/dist/portable.d.ts.map +1 -0
  27. package/dist/portable.js +524 -0
  28. package/dist/portable.js.map +1 -0
  29. package/dist/references.d.ts.map +1 -1
  30. package/dist/references.js +9 -4
  31. package/dist/references.js.map +1 -1
  32. package/dist/resolve.d.ts.map +1 -1
  33. package/dist/resolve.js +52 -2
  34. package/dist/resolve.js.map +1 -1
  35. package/dist/sha256.d.ts +3 -0
  36. package/dist/sha256.d.ts.map +1 -0
  37. package/dist/sha256.js +82 -0
  38. package/dist/sha256.js.map +1 -0
  39. package/dist/telex-datatype-internal.d.ts +12 -0
  40. package/dist/telex-datatype-internal.d.ts.map +1 -0
  41. package/dist/telex-datatype-internal.js +323 -0
  42. package/dist/telex-datatype-internal.js.map +1 -0
  43. package/dist/telex-incremental-internal.d.ts +50 -0
  44. package/dist/telex-incremental-internal.d.ts.map +1 -0
  45. package/dist/telex-incremental-internal.js +422 -0
  46. package/dist/telex-incremental-internal.js.map +1 -0
  47. package/dist/telex-internal.d.ts +86 -0
  48. package/dist/telex-internal.d.ts.map +1 -0
  49. package/dist/telex-internal.js +1134 -0
  50. package/dist/telex-internal.js.map +1 -0
  51. package/dist/telex-limits-internal.d.ts +35 -0
  52. package/dist/telex-limits-internal.d.ts.map +1 -0
  53. package/dist/telex-limits-internal.js +70 -0
  54. package/dist/telex-limits-internal.js.map +1 -0
  55. package/dist/telex.d.ts +130 -0
  56. package/dist/telex.d.ts.map +1 -0
  57. package/dist/telex.js +46 -0
  58. package/dist/telex.js.map +1 -0
  59. package/package.json +3 -3
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # @altopelago/aeon-aes
2
2
 
3
- Assignment Event Stream emission and supporting AEON path utilities.
3
+ Assignment Event Stream emission, portable projection, Telex v1 codec, and
4
+ reader-only Film v1 decoding.
4
5
 
5
6
  ## Installation
6
7
 
@@ -25,12 +26,33 @@ if (result.errors.length === 0) {
25
26
  - emits Assignment Events from AEON source or parsed syntax
26
27
  - formats and works with canonical AEON paths
27
28
  - exposes event-level data used by AEOS validation, finalization, and tooling
29
+ - parses, validates, encodes, and canonicalizes `telex.aes` v1 streams
30
+ - decodes one-shot and incremental `film.aes` v1 streams, withholding complete
31
+ acceptance until portable AES validation succeeds
32
+ - splits compact Telex datatypes into `datatype`, `generics`, and `clarifiers`
28
33
 
29
34
  ## API
30
35
 
31
36
  - `emitAssignmentEvents(input, options?)`
37
+ - `projectPortableEvents(events)` emits the default body-only portable
38
+ projection
39
+ - `adaptTypeScriptAssignmentEventsToPortableAes(events, options?)` returns the
40
+ named `aeon.typescript.assignment-events.v0-to-aes.events.v1` compatibility
41
+ result and its conversion report; optional exact `sourceBytes` derive a
42
+ SHA-256 origin and convert native UTF-16 ranges to UTF-8 byte spans;
43
+ `includeHeaders: true` selects `aeon.document.v1`
44
+ - `parseTelex(input, options?)`
45
+ - `encodeTelex(records, options?)`
46
+ - `canonicalizeTelex(input, options?)`
47
+ - `validateTelex(input, options?)`
48
+ - `validateTelexRecords(records, options?)`
49
+ - `decodeFilmSyntax(input, options?)` for provisional inspection
50
+ - `decodeFilm(input, options?)` for complete validated reads
51
+ - `IncrementalFilmDecoder`
32
52
  - canonical path helpers
33
53
  - Assignment Event Stream types
54
+ - emitted native events carry `sourcePlane: 'header' | 'body'`; consumers
55
+ must not infer control-plane identity from an `aeon:` key prefix
34
56
  - reconstructed candidate AES types:
35
57
  - `CandidateAES`
36
58
  - `CandidateAssignmentEvent`
@@ -39,7 +61,8 @@ if (result.errors.length === 0) {
39
61
 
40
62
  ## When To Use It
41
63
 
42
- Use this package when you need direct access to emitted AEON assignment events.
64
+ Use this package when you need direct access to assignment events or the
65
+ encoding-neutral portable AES/Telex boundary.
43
66
  If you want the stable application-facing entry point, prefer `@altopelago/aeon-core`.
44
67
 
45
68
  ## Notes
@@ -48,5 +71,11 @@ If you want the stable application-facing entry point, prefer `@altopelago/aeon-
48
71
  - Candidate AES types describe reconstructed validation input for speculative
49
72
  post-commit state. They do not define substrate materialization policy.
50
73
  - This package does not materialize application objects.
74
+ - Film support is reader-only. No Film encoder or durable-writer surface is
75
+ exported.
76
+ - Film byte limits (`maxInputBytes`, `maxRecordBytes`, `maxFieldBytes`, and
77
+ `maxBufferedBytes`) are format-local. Shared event and structural limits may
78
+ be supplied flat or through `aesLimits`; Telex framing limits are never
79
+ imported as Film byte policy.
51
80
  - Schema validation belongs in `@altopelago/aeos-core`.
52
81
  - JSON or map materialization belongs in `@altopelago/aeon-finalize`.
package/dist/events.d.ts CHANGED
@@ -15,6 +15,8 @@ export interface AssignmentEvent {
15
15
  readonly normalizedPath?: string;
16
16
  /** Local key name (e.g., "host") */
17
17
  readonly key: string;
18
+ /** Source document plane; independent of the textual key prefix. */
19
+ readonly sourcePlane?: 'header' | 'body';
18
20
  /** Optional structural occurrence identity from the source binding. */
19
21
  readonly structuralId?: string | null;
20
22
  /** Original AST value node - NOT evaluated or transformed */
@@ -30,9 +32,12 @@ export interface AssignmentEvent {
30
32
  * Attribute entry
31
33
  */
32
34
  export interface AttributeEntry {
35
+ readonly structuralId?: string | null;
33
36
  readonly value: Value;
34
37
  readonly datatype?: string;
35
38
  readonly annotations?: ReadonlyMap<string, AttributeEntry>;
39
+ /** Native UTF-16 source range retained for explicit portable conversion. */
40
+ readonly span?: Span;
36
41
  }
37
42
  /**
38
43
  * Event emission result
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAa,MAAM,yBAAyB,CAAC;AAChF,OAAO,EACH,KAAK,aAAa,EAElB,KAAK,oBAAoB,EACzB,mBAAmB,EAEtB,MAAM,YAAY,CAAC;AAGpB;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC9D;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,EAAE,CAAC;CAC1E;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAsB,EAKpE;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACtB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,oBAAyB,GACnC,mBAAmB,CAyBrB;AA0DD,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAa,MAAM,yBAAyB,CAAC;AAChF,OAAO,EACH,KAAK,aAAa,EAElB,KAAK,oBAAoB,EACzB,mBAAmB,EAEtB,MAAM,YAAY,CAAC;AAGpB;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC5B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,oCAAoC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzC,uEAAuE;IACvE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3D,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,EAAE,CAAC;CAC1E;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,MAAsB,EAKpE;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACtB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,oBAAyB,GACnC,mBAAmB,CAyBrB;AA6DD,OAAO,EAAE,cAAc,EAAE,CAAC"}
package/dist/events.js CHANGED
@@ -58,6 +58,7 @@ function createEvent(cb) {
58
58
  path: cb.path,
59
59
  normalizedPath: formatNormalizedPath(cb.path),
60
60
  key: binding.key,
61
+ sourcePlane: cb.sourcePlane,
61
62
  ...(binding.structuralId !== null ? { structuralId: binding.structuralId } : {}),
62
63
  value: binding.value,
63
64
  span: cb.span,
@@ -81,7 +82,9 @@ function buildAnnotations(attributes) {
81
82
  for (const attr of attributes) {
82
83
  for (const [key, entry] of attr.entries) {
83
84
  const attrEntry = {
85
+ ...(entry.structuralId !== null ? { structuralId: entry.structuralId } : {}),
84
86
  value: entry.value,
87
+ ...(entry.span !== undefined ? { span: entry.span } : {}),
85
88
  };
86
89
  if (entry.datatype) {
87
90
  attrEntry.datatype = formatDatatypeAnnotation(entry.datatype);
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ export declare const FILM_VERSION = "1";
2
+ export declare const FILM_V1_PREAMBLE: readonly number[];
3
+ export declare const DEFAULT_FILM_LIMITS: Readonly<{
4
+ maxInputBytes: 67108864;
5
+ maxRecordBytes: 16777216;
6
+ maxFieldBytes: 4194304;
7
+ maxBufferedBytes: 16777216;
8
+ }>;
9
+ export declare class FilmDecodeError extends Error {
10
+ constructor(code: any, message: any, details?: {});
11
+ }
12
+ /** Normalize the Film-local limits selected by the consumer. */
13
+ export declare function normalizeFilmLimits(options?: {}): Readonly<{
14
+ maxInputBytes: any;
15
+ maxRecordBytes: any;
16
+ maxFieldBytes: any;
17
+ maxBufferedBytes: any;
18
+ }>;
19
+ /**
20
+ * Decode canonical Film framing and records into owned JavaScript values.
21
+ * The result is provisional: portable AES semantics have not yet been
22
+ * accepted. Use decodeFilm for replay, ingestion, or mutation inputs.
23
+ */
24
+ export declare function decodeFilmSyntax(input: any, options?: {}): {
25
+ profile: string;
26
+ profileExplicit: boolean;
27
+ projection: string | null;
28
+ projectionExplicit: boolean;
29
+ records: {
30
+ [x: string]: string;
31
+ kind: string;
32
+ }[];
33
+ };
34
+ /** Decode Film and return an owned stream only after complete AES validation. */
35
+ export declare function decodeFilm(input: any, options?: {}): {
36
+ profile: string;
37
+ profileExplicit: boolean;
38
+ projection: string | null;
39
+ projectionExplicit: boolean;
40
+ records: {
41
+ [x: string]: string;
42
+ kind: string;
43
+ }[];
44
+ };
45
+ /**
46
+ * Incremental Film decoder. Complete records may be inspected provisionally,
47
+ * but only a successful push with `{ final: true }` returns `status=complete`.
48
+ */
49
+ export declare class IncrementalFilmDecoder {
50
+ constructor(options?: {});
51
+ push(input: any, options?: {}): {
52
+ records: any[];
53
+ status?: any;
54
+ stream?: {
55
+ profile: any;
56
+ profileExplicit: any;
57
+ projection: any;
58
+ projectionExplicit: any;
59
+ records: any;
60
+ } | null;
61
+ bufferedBytes?: any;
62
+ inputBytes?: any;
63
+ } | {
64
+ status: any;
65
+ records: any;
66
+ stream: {
67
+ profile: any;
68
+ profileExplicit: any;
69
+ projection: any;
70
+ projectionExplicit: any;
71
+ records: any;
72
+ } | null;
73
+ bufferedBytes: any;
74
+ inputBytes: any;
75
+ };
76
+ pushBounded(input: any, final: any): {
77
+ status: any;
78
+ records: any;
79
+ stream: {
80
+ profile: any;
81
+ profileExplicit: any;
82
+ projection: any;
83
+ projectionExplicit: any;
84
+ records: any;
85
+ } | null;
86
+ bufferedBytes: any;
87
+ inputBytes: any;
88
+ };
89
+ finish(): {
90
+ records: any[];
91
+ status?: any;
92
+ stream?: {
93
+ profile: any;
94
+ profileExplicit: any;
95
+ projection: any;
96
+ projectionExplicit: any;
97
+ records: any;
98
+ } | null;
99
+ bufferedBytes?: any;
100
+ inputBytes?: any;
101
+ } | {
102
+ status: any;
103
+ records: any;
104
+ stream: {
105
+ profile: any;
106
+ profileExplicit: any;
107
+ projection: any;
108
+ projectionExplicit: any;
109
+ records: any;
110
+ } | null;
111
+ bufferedBytes: any;
112
+ inputBytes: any;
113
+ };
114
+ consume(length: any): void;
115
+ retainIncompleteBuffer(): void;
116
+ bufferLimitDetails(): {
117
+ offset: any;
118
+ record: any;
119
+ component: string;
120
+ };
121
+ currentStream(): any;
122
+ result(status: any, records: any): {
123
+ status: any;
124
+ records: any;
125
+ stream: {
126
+ profile: any;
127
+ profileExplicit: any;
128
+ projection: any;
129
+ projectionExplicit: any;
130
+ records: any;
131
+ } | null;
132
+ bufferedBytes: any;
133
+ inputBytes: any;
134
+ };
135
+ }
136
+ export declare function filmV1IsDraft(): boolean;
137
+ //# sourceMappingURL=film-internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"film-internal.d.ts","sourceRoot":"","sources":["../src/film-internal.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,gBAAgB,mBAAgD,CAAC;AAE9E,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AA8CH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,IAAI,KAAA,EAAE,OAAO,KAAA,EAAE,OAAO,KAAK,EAStC;CACF;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,OAAO,KAAK;;;;;GAQ/C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK;;;;;;;;;EAqEnD;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK;;;;;;;;;EAI7C;AAED;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,YAAY,OAAO,KAAK,EAYvB;IAED,IAAI,CAAC,KAAK,KAAA,EAAE,OAAO,KAAK;;;;;;;;;;;;;;;;;;;;;;;;MAwCvB;IAED,WAAW,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA;;;;;;;;;;;;MAiIvB;IAED,MAAM;;;;;;;;;;;;;;;;;;;;;;;;MAEL;IAED,OAAO,CAAC,MAAM,KAAA,QAKb;IAED,sBAAsB,SAQrB;IAED,kBAAkB;;;;MAMjB;IAED,aAAa,QAKZ;IAED,MAAM,CAAC,MAAM,KAAA,EAAE,OAAO,KAAA;;;;;;;;;;;;MAQrB;CACF;AAyHD,wBAAgB,aAAa,YAE5B"}