@altopelago/aeon-core 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.
- package/README.md +64 -0
- package/dist/index.d.ts +75 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +256 -15
- package/dist/index.js.map +1 -1
- package/dist/limits.d.ts +157 -0
- package/dist/limits.d.ts.map +1 -0
- package/dist/limits.js +294 -0
- package/dist/limits.js.map +1 -0
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -66,6 +66,54 @@ console.log(result.errors); // all known issues
|
|
|
66
66
|
|
|
67
67
|
If you need schema validation after compile, pass `result.events` to `@altopelago/aeos-core`.
|
|
68
68
|
|
|
69
|
+
### Interoperate through Telex
|
|
70
|
+
|
|
71
|
+
The native workflow remains `compile()`. Use `compileToTelex()` when events
|
|
72
|
+
must cross a process or implementation boundary, or `exportTelex()` when you
|
|
73
|
+
already have Core assignment events:
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
import { compile, compileToTelex, exportTelex, parseTelex } from '@altopelago/aeon-core';
|
|
77
|
+
|
|
78
|
+
const native = compile('answer = 42');
|
|
79
|
+
const wire = exportTelex(native.events);
|
|
80
|
+
const portable = parseTelex(wire).records;
|
|
81
|
+
|
|
82
|
+
const direct = compileToTelex('answer = 42');
|
|
83
|
+
console.log(direct.telex);
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Headers are excluded by default. Set `includeHeaders: true` to use the explicit
|
|
87
|
+
`aeon.document.v1` header plane.
|
|
88
|
+
|
|
89
|
+
`origin` and `span` remain optional. Pass the exact, unnormalized UTF-8 artifact
|
|
90
|
+
as `sourceBytes` to `compileToTelex()` or `exportTelex()` to derive a
|
|
91
|
+
`sha256:<digest>` origin and convert Core's native UTF-16 source indexes to
|
|
92
|
+
portable UTF-8 byte ranges. The supplied bytes are an assertion that they are
|
|
93
|
+
the artifact from which the native events were compiled; do not pass a
|
|
94
|
+
normalized or re-encoded substitute.
|
|
95
|
+
|
|
96
|
+
For a legacy assignment-event boundary that also needs compatibility evidence,
|
|
97
|
+
use `adaptTypeScriptAssignmentEventsToPortableAes()`. It returns strict
|
|
98
|
+
portable events and a conversion report under the named
|
|
99
|
+
`aeon.typescript.assignment-events.v0-to-aes.events.v1` adapter. Local spans
|
|
100
|
+
without an immutable origin are omitted and reported. Its optional
|
|
101
|
+
`sourceBytes` input enables the same source-backed conversion while preserving
|
|
102
|
+
the report.
|
|
103
|
+
|
|
104
|
+
Film v1 uses the same portable AES records through a binary reader boundary:
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
import { decodeFilm } from '@altopelago/aeon-core';
|
|
108
|
+
|
|
109
|
+
const stream = decodeFilm(filmBytes);
|
|
110
|
+
console.log(stream.records);
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
`decodeFilm()` returns only completely validated streams. `decodeFilmSyntax()`
|
|
114
|
+
and `IncrementalFilmDecoder` are available for provisional tooling. Film support
|
|
115
|
+
is reader-only; Core does not export a Film encoder or AEON-to-Film writer.
|
|
116
|
+
|
|
69
117
|
### Inspect the file preamble without full parsing
|
|
70
118
|
|
|
71
119
|
Use `inspectFilePreamble()` to read only the allowed file-header slot for:
|
|
@@ -108,6 +156,22 @@ Reads only the file-header preamble slot and returns:
|
|
|
108
156
|
- `format`
|
|
109
157
|
- `span`
|
|
110
158
|
|
|
159
|
+
### Telex boundary APIs
|
|
160
|
+
|
|
161
|
+
- `compileToTelex(input, options?)`
|
|
162
|
+
- `exportTelex(events, options?)`
|
|
163
|
+
- `parseTelex`, `encodeTelex`, `canonicalizeTelex`
|
|
164
|
+
- `validateTelex`, `validateTelexRecords`
|
|
165
|
+
|
|
166
|
+
### Film reader APIs
|
|
167
|
+
|
|
168
|
+
- `decodeFilm(input, options?)`
|
|
169
|
+
- `decodeFilmSyntax(input, options?)`
|
|
170
|
+
- `IncrementalFilmDecoder`
|
|
171
|
+
- `normalizeFilmLimits(options?)`
|
|
172
|
+
- `aesStreamLimits(limits)` selects the encoding-neutral structural/event
|
|
173
|
+
subset of an AltoPelago limits document without importing Telex byte limits
|
|
174
|
+
|
|
111
175
|
## Exported Types
|
|
112
176
|
|
|
113
177
|
- `CompileResult` — Return type of `compile()`
|
package/dist/index.d.ts
CHANGED
|
@@ -15,14 +15,15 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { type LexerError } from '@altopelago/aeon-lexer';
|
|
17
17
|
import { type ParserError, type Document, type Value } from '@altopelago/aeon-parser';
|
|
18
|
-
import { EventEmissionError, type AssignmentEvent, type PathResolutionError, type ReferenceValidationError, type ModeEnforcementError, type DatatypePolicy, type Mode } from '@altopelago/aeon-aes';
|
|
18
|
+
import { EventEmissionError, type AssignmentEvent, type PortableAesEvent, type TelexEncodeOptions, type TelexRecord, type PathResolutionError, type ReferenceValidationError, type ModeEnforcementError, type DatatypePolicy, type Mode } from '@altopelago/aeon-aes';
|
|
19
19
|
import { type AnnotationRecord } from '@altopelago/aeon-annotation-stream';
|
|
20
20
|
export { inspectFilePreamble, type FilePreambleInfo, type HostDirective, type HostDirectiveKind } from './preamble.js';
|
|
21
|
-
export
|
|
21
|
+
export * from './limits.js';
|
|
22
|
+
export declare const VERSION = "0.13.0";
|
|
22
23
|
/**
|
|
23
24
|
* Union of all possible AEON errors
|
|
24
25
|
*/
|
|
25
|
-
export type AEONError = LexerError | ParserError | PathResolutionError | EventEmissionError | ReferenceValidationError | ModeEnforcementError | InputSizeExceededError | EventCountExceededError;
|
|
26
|
+
export type AEONError = LexerError | ParserError | PathResolutionError | EventEmissionError | ReferenceValidationError | ModeEnforcementError | InputSizeExceededError | EventCountExceededError | ResourceLimitExceededError;
|
|
26
27
|
export interface AEONWarning {
|
|
27
28
|
readonly code: string;
|
|
28
29
|
readonly message: string;
|
|
@@ -43,6 +44,14 @@ export declare class EventCountExceededError extends Error {
|
|
|
43
44
|
readonly maxEvents: number;
|
|
44
45
|
constructor(actualEvents: number, maxEvents: number);
|
|
45
46
|
}
|
|
47
|
+
export declare class ResourceLimitExceededError extends Error {
|
|
48
|
+
readonly code: string;
|
|
49
|
+
readonly counter: string;
|
|
50
|
+
readonly observed: number;
|
|
51
|
+
readonly limit: number;
|
|
52
|
+
readonly span: Document['span'];
|
|
53
|
+
constructor(counter: string, observed: number, limit: number);
|
|
54
|
+
}
|
|
46
55
|
/**
|
|
47
56
|
* Compilation result
|
|
48
57
|
*/
|
|
@@ -76,12 +85,36 @@ export interface CompileOptions {
|
|
|
76
85
|
readonly recovery?: boolean;
|
|
77
86
|
/** Maximum number of attribute segments in a reference path (default: 1). */
|
|
78
87
|
readonly maxAttributeDepth?: number;
|
|
79
|
-
/** Maximum
|
|
88
|
+
/** Maximum clarifier values on one datatype descriptor (default: 1). */
|
|
89
|
+
readonly maxClarifierValues?: number;
|
|
90
|
+
/** @deprecated Use maxClarifierValues. */
|
|
80
91
|
readonly maxSeparatorDepth?: number;
|
|
81
92
|
/** Maximum nesting depth for nested generic type annotations (default: 1). */
|
|
82
93
|
readonly maxGenericDepth?: number;
|
|
94
|
+
/** Maximum generic arguments on one datatype descriptor (default: 32). */
|
|
95
|
+
readonly maxGenericArguments?: number;
|
|
96
|
+
/** Maximum aggregate components in one recursive datatype (default: 64). */
|
|
97
|
+
readonly maxDatatypeComponents?: number;
|
|
83
98
|
/** Maximum container nesting depth for objects, lists, tuples, and nodes (default: 256). */
|
|
99
|
+
readonly maxValueNestingDepth?: number;
|
|
100
|
+
/** @deprecated Use maxValueNestingDepth. */
|
|
84
101
|
readonly maxNestingDepth?: number;
|
|
102
|
+
/** Maximum canonical address structural-step depth (default: 1024). */
|
|
103
|
+
readonly maxPathDepth?: number;
|
|
104
|
+
/** Maximum decoded string length in Unicode code points (default: 1048576). */
|
|
105
|
+
readonly maxStringCodepoints?: number;
|
|
106
|
+
/** Maximum decoded key segment length in Unicode code points (default: 1024). */
|
|
107
|
+
readonly maxKeySegmentCodepoints?: number;
|
|
108
|
+
/** Maximum direct items in one list (default: 65536). */
|
|
109
|
+
readonly maxListItems?: number;
|
|
110
|
+
/** Maximum direct items in one tuple (default: 65536). */
|
|
111
|
+
readonly maxTupleItems?: number;
|
|
112
|
+
/** Maximum canonical/reference path length in Unicode code points (default: 8192). */
|
|
113
|
+
readonly maxPathCharacters?: number;
|
|
114
|
+
/** Maximum raw AEON numeric literal length (default: 1024). */
|
|
115
|
+
readonly maxNumericLiteralCharacters?: number;
|
|
116
|
+
/** Maximum structured-comment payload length (default: 1048576). */
|
|
117
|
+
readonly maxStructuredCommentCharacters?: number;
|
|
85
118
|
/** Emit structured annotation stream records. Default: true. */
|
|
86
119
|
readonly emitAnnotations?: boolean;
|
|
87
120
|
/** Datatype policy in strict mode. Default: reserved_only */
|
|
@@ -96,6 +129,32 @@ export interface CompileOptions {
|
|
|
96
129
|
/** Maximum number of AES events Core may emit. Fail-closed when exceeded. */
|
|
97
130
|
readonly maxEvents?: number;
|
|
98
131
|
}
|
|
132
|
+
export interface CompileToTelexOptions {
|
|
133
|
+
/** Options for the existing AEON compilation pipeline. */
|
|
134
|
+
readonly compile?: CompileOptions;
|
|
135
|
+
/** Telex encoding and resource-limit options. */
|
|
136
|
+
readonly telex?: TelexEncodeOptions;
|
|
137
|
+
/** Include AEON document headers in the explicit header plane. Default: false. */
|
|
138
|
+
readonly includeHeaders?: boolean;
|
|
139
|
+
/** Exact, unnormalized UTF-8 source bytes used for optional portable provenance. */
|
|
140
|
+
readonly sourceBytes?: Uint8Array;
|
|
141
|
+
}
|
|
142
|
+
export interface ExportTelexOptions extends TelexEncodeOptions {
|
|
143
|
+
/** Include AEON document headers in the explicit header plane. Default: false. */
|
|
144
|
+
readonly includeHeaders?: boolean;
|
|
145
|
+
/** Exact unprefixed fields from a retained AEON header model. */
|
|
146
|
+
readonly headerFieldNames?: readonly string[] | ReadonlySet<string>;
|
|
147
|
+
/** Exact source bytes asserted to correspond to the supplied native events. */
|
|
148
|
+
readonly sourceBytes?: Uint8Array;
|
|
149
|
+
}
|
|
150
|
+
export interface CompileToTelexResult {
|
|
151
|
+
/** The unchanged Core compilation result. */
|
|
152
|
+
readonly compile: CompileResult;
|
|
153
|
+
/** Portable AES records in source event order. */
|
|
154
|
+
readonly records: readonly (TelexRecord | PortableAesEvent)[];
|
|
155
|
+
/** Encoded Telex, or null when compilation failed. */
|
|
156
|
+
readonly telex: string | null;
|
|
157
|
+
}
|
|
99
158
|
/**
|
|
100
159
|
* Compile an AEON document into Assignment Events
|
|
101
160
|
*
|
|
@@ -122,8 +181,18 @@ export interface CompileOptions {
|
|
|
122
181
|
* ```
|
|
123
182
|
*/
|
|
124
183
|
export declare function compile(input: string, options?: CompileOptions): CompileResult;
|
|
125
|
-
|
|
184
|
+
/**
|
|
185
|
+
* Compile AEON source and export its portable AES event stream as Telex.
|
|
186
|
+
*
|
|
187
|
+
* This is an additive boundary API: `compile()` remains the native in-memory
|
|
188
|
+
* workflow, while this helper produces an interoperable stream for another
|
|
189
|
+
* process or implementation.
|
|
190
|
+
*/
|
|
191
|
+
export declare function compileToTelex(input: string, options?: CompileToTelexOptions): CompileToTelexResult;
|
|
192
|
+
/** Export existing Core assignment events without recompiling their source. */
|
|
193
|
+
export declare function exportTelex(events: readonly AssignmentEvent[], options?: ExportTelexOptions): string;
|
|
194
|
+
export type { AssignmentEvent, CanonicalPath, PortableAesEvent, TelexRecord, ParsedTelex, TelexEncodeOptions, TelexCompletenessResult, TelexLimitOptions, TelexValidationOptions, TelexValidationResult, FilmDecodeOptions, FilmIncrementalResult, FilmIncrementalStatus, FilmLimits, FilmStream, PortableAesCompatibilityEvent, PortableAesCompatibilityOptions, PortableAesCompatibilityResultV1, PortableAesConversionChange, PortableAesConversionReportV1, } from '@altopelago/aeon-aes';
|
|
126
195
|
export type { AnnotationRecord } from '@altopelago/aeon-annotation-stream';
|
|
127
196
|
export type { Span, Position } from '@altopelago/aeon-lexer';
|
|
128
|
-
export { formatPath } from '@altopelago/aeon-aes';
|
|
197
|
+
export { formatPath, parseTelex, encodeTelex, canonicalizeTelex, checkTelexCompleteness, validateTelex, validateTelexRecords, decodeFilmSyntax, decodeFilm, IncrementalFilmDecoder, FilmDecodeError, normalizeFilmLimits, FILM_VERSION, FILM_V1_PREAMBLE, DEFAULT_FILM_LIMITS, projectPortableEvents, createPortableEventPathMap, adaptTypeScriptAssignmentEventsToPortableAes, PortableAesSourceError, TYPESCRIPT_ASSIGNMENT_EVENTS_CONTRACT_V0, TYPESCRIPT_PORTABLE_AES_ADAPTER_V0, TYPESCRIPT_PORTABLE_AES_ADAPTER_VERSION_V1, } from '@altopelago/aeon-aes';
|
|
129
198
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,15 +13,16 @@
|
|
|
13
13
|
* }
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
import { tokenize } from '@altopelago/aeon-lexer';
|
|
16
|
+
import { tokenize, TokenType } from '@altopelago/aeon-lexer';
|
|
17
17
|
import { parse, SyntaxError as ParserSyntaxError } from '@altopelago/aeon-parser';
|
|
18
|
-
import { resolvePaths, emitEvents, validateReferences, enforceMode, EventEmissionError, } from '@altopelago/aeon-aes';
|
|
18
|
+
import { resolvePaths, emitEvents, validateReferences, enforceMode, formatPath, EventEmissionError, AEON_DOCUMENT_PROJECTION, adaptTypeScriptAssignmentEventsToPortableAes, encodeTelex, } from '@altopelago/aeon-aes';
|
|
19
19
|
import { buildAnnotationStreamFromSourceAndSpans } from '@altopelago/aeon-annotation-stream';
|
|
20
20
|
export { inspectFilePreamble } from './preamble.js';
|
|
21
|
+
export * from './limits.js';
|
|
21
22
|
// =============================================================================
|
|
22
23
|
// PUBLIC API
|
|
23
24
|
// =============================================================================
|
|
24
|
-
export const VERSION = '0.
|
|
25
|
+
export const VERSION = '0.13.0';
|
|
25
26
|
export class InputSizeExceededError extends Error {
|
|
26
27
|
code = 'INPUT_SIZE_EXCEEDED';
|
|
27
28
|
actualBytes;
|
|
@@ -44,6 +45,23 @@ export class EventCountExceededError extends Error {
|
|
|
44
45
|
this.maxEvents = maxEvents;
|
|
45
46
|
}
|
|
46
47
|
}
|
|
48
|
+
export class ResourceLimitExceededError extends Error {
|
|
49
|
+
code;
|
|
50
|
+
counter;
|
|
51
|
+
observed;
|
|
52
|
+
limit;
|
|
53
|
+
span;
|
|
54
|
+
constructor(counter, observed, limit) {
|
|
55
|
+
super(`${counter} observed value ${observed} exceeds configured limit ${limit}`);
|
|
56
|
+
this.name = 'ResourceLimitExceededError';
|
|
57
|
+
this.code = `${counter.replaceAll(/([a-z])([A-Z])/g, '$1_$2').toUpperCase()}_EXCEEDED`;
|
|
58
|
+
this.counter = counter;
|
|
59
|
+
this.observed = observed;
|
|
60
|
+
this.limit = limit;
|
|
61
|
+
const position = { line: 1, column: 1, offset: 0 };
|
|
62
|
+
this.span = { start: position, end: position };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
47
65
|
/**
|
|
48
66
|
* Compile an AEON document into Assignment Events
|
|
49
67
|
*
|
|
@@ -73,9 +91,19 @@ export function compile(input, options = {}) {
|
|
|
73
91
|
const allErrors = [];
|
|
74
92
|
const recovery = options.recovery ?? false;
|
|
75
93
|
const maxAttributeDepth = options.maxAttributeDepth ?? 1;
|
|
76
|
-
const
|
|
94
|
+
const maxClarifierValues = options.maxClarifierValues ?? options.maxSeparatorDepth ?? 1;
|
|
77
95
|
const maxGenericDepth = options.maxGenericDepth ?? 1;
|
|
78
|
-
const
|
|
96
|
+
const maxGenericArguments = options.maxGenericArguments ?? 32;
|
|
97
|
+
const maxDatatypeComponents = options.maxDatatypeComponents ?? 64;
|
|
98
|
+
const maxValueNestingDepth = options.maxValueNestingDepth ?? options.maxNestingDepth ?? 256;
|
|
99
|
+
const maxPathDepth = options.maxPathDepth ?? 1024;
|
|
100
|
+
const maxStringCodepoints = options.maxStringCodepoints ?? 1_048_576;
|
|
101
|
+
const maxKeySegmentCodepoints = options.maxKeySegmentCodepoints ?? 1024;
|
|
102
|
+
const maxListItems = options.maxListItems ?? 65_536;
|
|
103
|
+
const maxTupleItems = options.maxTupleItems ?? 65_536;
|
|
104
|
+
const maxPathCharacters = options.maxPathCharacters ?? 8192;
|
|
105
|
+
const maxNumericLiteralCharacters = options.maxNumericLiteralCharacters ?? 1024;
|
|
106
|
+
const maxStructuredCommentCharacters = options.maxStructuredCommentCharacters ?? 1_048_576;
|
|
79
107
|
const emitAnnotations = options.emitAnnotations ?? true;
|
|
80
108
|
const datatypePolicy = options.datatypePolicy;
|
|
81
109
|
const maxInputBytes = options.maxInputBytes;
|
|
@@ -88,7 +116,6 @@ export function compile(input, options = {}) {
|
|
|
88
116
|
return { events: [], errors: allErrors, warnings };
|
|
89
117
|
}
|
|
90
118
|
}
|
|
91
|
-
input = stripLeadingBom(input);
|
|
92
119
|
// Phase 1: Lexing
|
|
93
120
|
const lexResult = tokenize(input, { includeComments: false });
|
|
94
121
|
allErrors.push(...normalizeLexerErrors(input, lexResult.errors));
|
|
@@ -96,7 +123,14 @@ export function compile(input, options = {}) {
|
|
|
96
123
|
return { events: [], errors: allErrors, warnings };
|
|
97
124
|
}
|
|
98
125
|
// Phase 2: Parsing
|
|
99
|
-
const parseResult = parse(lexResult.tokens, {
|
|
126
|
+
const parseResult = parse(lexResult.tokens, {
|
|
127
|
+
maxAttributeDepth,
|
|
128
|
+
maxClarifierValues,
|
|
129
|
+
maxGenericDepth,
|
|
130
|
+
maxGenericArguments,
|
|
131
|
+
maxDatatypeComponents,
|
|
132
|
+
maxValueNestingDepth,
|
|
133
|
+
});
|
|
100
134
|
allErrors.push(...parseResult.errors);
|
|
101
135
|
if (parseResult.errors.length > 0 && !recovery) {
|
|
102
136
|
return { events: [], errors: allErrors, warnings };
|
|
@@ -104,12 +138,42 @@ export function compile(input, options = {}) {
|
|
|
104
138
|
if (!parseResult.document) {
|
|
105
139
|
return { events: [], errors: allErrors, warnings };
|
|
106
140
|
}
|
|
141
|
+
const structureError = validateSourceStructure(parseResult.document, {
|
|
142
|
+
maxStringCodepoints,
|
|
143
|
+
maxKeySegmentCodepoints,
|
|
144
|
+
maxListItems,
|
|
145
|
+
maxTupleItems,
|
|
146
|
+
maxNumericLiteralCharacters,
|
|
147
|
+
maxPathDepth,
|
|
148
|
+
maxPathCharacters,
|
|
149
|
+
});
|
|
150
|
+
if (structureError) {
|
|
151
|
+
allErrors.push(structureError);
|
|
152
|
+
return { events: [], errors: allErrors, warnings };
|
|
153
|
+
}
|
|
154
|
+
const structuredCommentError = validateStructuredComments(input, maxStructuredCommentCharacters);
|
|
155
|
+
if (structuredCommentError) {
|
|
156
|
+
allErrors.push(structuredCommentError);
|
|
157
|
+
return { events: [], errors: allErrors, warnings };
|
|
158
|
+
}
|
|
107
159
|
// Phase 3: Path Resolution
|
|
108
160
|
const resolveResult = resolvePaths(parseResult.document, { indexedPaths: true });
|
|
109
161
|
allErrors.push(...resolveResult.errors);
|
|
110
162
|
if (resolveResult.errors.length > 0 && !recovery) {
|
|
111
163
|
return { events: [], errors: allErrors, warnings };
|
|
112
164
|
}
|
|
165
|
+
for (const binding of resolveResult.bindings) {
|
|
166
|
+
const depth = Math.max(0, binding.path.segments.length - 1);
|
|
167
|
+
if (depth > maxPathDepth) {
|
|
168
|
+
allErrors.push(new ResourceLimitExceededError('max_path_depth', depth, maxPathDepth));
|
|
169
|
+
return { events: [], errors: allErrors, warnings };
|
|
170
|
+
}
|
|
171
|
+
const characters = [...formatPath(binding.path)].length;
|
|
172
|
+
if (characters > maxPathCharacters) {
|
|
173
|
+
allErrors.push(new ResourceLimitExceededError('max_path_characters', characters, maxPathCharacters));
|
|
174
|
+
return { events: [], errors: allErrors, warnings };
|
|
175
|
+
}
|
|
176
|
+
}
|
|
113
177
|
// Phase 4: Event Emission
|
|
114
178
|
const emitResult = emitEvents(resolveResult, { recovery });
|
|
115
179
|
for (const err of emitResult.errors) {
|
|
@@ -161,19 +225,59 @@ export function compile(input, options = {}) {
|
|
|
161
225
|
}
|
|
162
226
|
return result;
|
|
163
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* Compile AEON source and export its portable AES event stream as Telex.
|
|
230
|
+
*
|
|
231
|
+
* This is an additive boundary API: `compile()` remains the native in-memory
|
|
232
|
+
* workflow, while this helper produces an interoperable stream for another
|
|
233
|
+
* process or implementation.
|
|
234
|
+
*/
|
|
235
|
+
export function compileToTelex(input, options = {}) {
|
|
236
|
+
const compileResult = compile(input, options.compile);
|
|
237
|
+
if (compileResult.errors.length > 0) {
|
|
238
|
+
return { compile: compileResult, records: [], telex: null };
|
|
239
|
+
}
|
|
240
|
+
const records = projectAssignmentEventsToTelex(compileResult.events, options.includeHeaders ?? false, options.sourceBytes, compileResult.header ? [...compileResult.header.fields.keys()] : []);
|
|
241
|
+
const telexOptions = {
|
|
242
|
+
...options.telex,
|
|
243
|
+
...(options.includeHeaders === true ? { projection: AEON_DOCUMENT_PROJECTION } : {}),
|
|
244
|
+
};
|
|
245
|
+
return {
|
|
246
|
+
compile: compileResult,
|
|
247
|
+
records,
|
|
248
|
+
telex: encodeTelex(records, telexOptions),
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
/** Export existing Core assignment events without recompiling their source. */
|
|
252
|
+
export function exportTelex(events, options = {}) {
|
|
253
|
+
const includeHeaders = options.includeHeaders ?? false;
|
|
254
|
+
const { includeHeaders: _includeHeaders, headerFieldNames, sourceBytes, ...encodeOptions } = options;
|
|
255
|
+
return encodeTelex(projectAssignmentEventsToTelex(events, includeHeaders, sourceBytes, headerFieldNames), includeHeaders
|
|
256
|
+
? { ...encodeOptions, projection: AEON_DOCUMENT_PROJECTION }
|
|
257
|
+
: encodeOptions);
|
|
258
|
+
}
|
|
259
|
+
function projectAssignmentEventsToTelex(events, includeHeaders, sourceBytes, headerFieldNames) {
|
|
260
|
+
return adaptTypeScriptAssignmentEventsToPortableAes(events, {
|
|
261
|
+
includeHeaders,
|
|
262
|
+
...(headerFieldNames === undefined ? {} : { headerFieldNames }),
|
|
263
|
+
...(sourceBytes === undefined ? {} : { sourceBytes }),
|
|
264
|
+
}).events.map((event) => ({ ...event }));
|
|
265
|
+
}
|
|
164
266
|
function compilePortabilityWarnings(options) {
|
|
165
267
|
const warnings = [];
|
|
166
268
|
if (options.maxAttributeDepth !== undefined) {
|
|
167
269
|
warnIfAbove(warnings, 'AEON_NON_PORTABLE_POLICY_DEPTH', 'maxAttributeDepth', options.maxAttributeDepth, 8);
|
|
168
270
|
}
|
|
169
|
-
|
|
170
|
-
|
|
271
|
+
const maxClarifierValues = options.maxClarifierValues ?? options.maxSeparatorDepth;
|
|
272
|
+
if (maxClarifierValues !== undefined) {
|
|
273
|
+
warnIfAbove(warnings, 'AEON_NON_PORTABLE_CLARIFIER_VALUES', 'maxClarifierValues', maxClarifierValues, 8);
|
|
171
274
|
}
|
|
172
275
|
if (options.maxGenericDepth !== undefined) {
|
|
173
276
|
warnIfAbove(warnings, 'AEON_NON_PORTABLE_POLICY_DEPTH', 'maxGenericDepth', options.maxGenericDepth, 8);
|
|
174
277
|
}
|
|
175
|
-
|
|
176
|
-
|
|
278
|
+
const maxValueNestingDepth = options.maxValueNestingDepth ?? options.maxNestingDepth;
|
|
279
|
+
if (maxValueNestingDepth !== undefined) {
|
|
280
|
+
warnIfAbove(warnings, 'AEON_NON_PORTABLE_CONTAINER_NESTING_DEPTH', 'maxValueNestingDepth', maxValueNestingDepth, 64);
|
|
177
281
|
}
|
|
178
282
|
if (options.maxEvents !== undefined) {
|
|
179
283
|
warnIfAbove(warnings, 'AEON_NON_PORTABLE_EVENT_BUDGET', 'maxEvents', options.maxEvents, 100_000);
|
|
@@ -192,6 +296,143 @@ function warnIfAbove(warnings, code, policy, observed, portableFloor) {
|
|
|
192
296
|
message: `${policy} ${observed} exceeds the AEON v1 portable floor ${portableFloor}`,
|
|
193
297
|
});
|
|
194
298
|
}
|
|
299
|
+
function validateSourceStructure(document, limits) {
|
|
300
|
+
const checkKey = (key) => {
|
|
301
|
+
const observed = [...key].length;
|
|
302
|
+
return observed > limits.maxKeySegmentCodepoints
|
|
303
|
+
? new ResourceLimitExceededError('max_key_segment_codepoints', observed, limits.maxKeySegmentCodepoints)
|
|
304
|
+
: null;
|
|
305
|
+
};
|
|
306
|
+
const checkDatatype = (datatype) => {
|
|
307
|
+
if (!datatype)
|
|
308
|
+
return null;
|
|
309
|
+
for (const clarifier of datatype.clarifiers) {
|
|
310
|
+
if (typeof clarifier === 'string') {
|
|
311
|
+
const observed = [...clarifier].length;
|
|
312
|
+
if (observed > limits.maxStringCodepoints) {
|
|
313
|
+
return new ResourceLimitExceededError('max_string_codepoints', observed, limits.maxStringCodepoints);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return null;
|
|
318
|
+
};
|
|
319
|
+
const checkAttributes = (attributes) => {
|
|
320
|
+
for (const attribute of attributes) {
|
|
321
|
+
for (const [key, entry] of attribute.entries) {
|
|
322
|
+
const error = checkKey(key) ?? checkDatatype(entry.datatype) ?? checkAttributes(entry.attributes) ?? checkValue(entry.value);
|
|
323
|
+
if (error)
|
|
324
|
+
return error;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
return null;
|
|
328
|
+
};
|
|
329
|
+
const checkReference = (value) => {
|
|
330
|
+
const depth = value.path.length;
|
|
331
|
+
if (depth > limits.maxPathDepth)
|
|
332
|
+
return new ResourceLimitExceededError('max_path_depth', depth, limits.maxPathDepth);
|
|
333
|
+
let rendered = '$';
|
|
334
|
+
for (const segment of value.path) {
|
|
335
|
+
if (typeof segment === 'number')
|
|
336
|
+
rendered += `[${segment}]`;
|
|
337
|
+
else if (typeof segment === 'string')
|
|
338
|
+
rendered += /^[A-Za-z_][A-Za-z0-9_]*$/.test(segment) ? `.${segment}` : `.[${JSON.stringify(segment)}]`;
|
|
339
|
+
else
|
|
340
|
+
rendered += /^[A-Za-z_][A-Za-z0-9_]*$/.test(segment.key) ? `.@.${segment.key}` : `.@.[${JSON.stringify(segment.key)}]`;
|
|
341
|
+
}
|
|
342
|
+
const characters = [...rendered].length;
|
|
343
|
+
return characters > limits.maxPathCharacters
|
|
344
|
+
? new ResourceLimitExceededError('max_path_characters', characters, limits.maxPathCharacters)
|
|
345
|
+
: null;
|
|
346
|
+
};
|
|
347
|
+
const checkValue = (value) => {
|
|
348
|
+
switch (value.type) {
|
|
349
|
+
case 'StringLiteral': {
|
|
350
|
+
const observed = [...value.value].length;
|
|
351
|
+
return observed > limits.maxStringCodepoints
|
|
352
|
+
? new ResourceLimitExceededError('max_string_codepoints', observed, limits.maxStringCodepoints)
|
|
353
|
+
: null;
|
|
354
|
+
}
|
|
355
|
+
case 'NumberLiteral': {
|
|
356
|
+
const observed = [...value.raw].length;
|
|
357
|
+
return observed > limits.maxNumericLiteralCharacters
|
|
358
|
+
? new ResourceLimitExceededError('max_numeric_literal_characters', observed, limits.maxNumericLiteralCharacters)
|
|
359
|
+
: null;
|
|
360
|
+
}
|
|
361
|
+
case 'ListNode':
|
|
362
|
+
if (value.elements.length > limits.maxListItems)
|
|
363
|
+
return new ResourceLimitExceededError('max_list_items', value.elements.length, limits.maxListItems);
|
|
364
|
+
for (const item of value.elements) {
|
|
365
|
+
const error = checkValue(item);
|
|
366
|
+
if (error)
|
|
367
|
+
return error;
|
|
368
|
+
}
|
|
369
|
+
return checkAttributes(value.attributes);
|
|
370
|
+
case 'TupleLiteral':
|
|
371
|
+
if (value.elements.length > limits.maxTupleItems)
|
|
372
|
+
return new ResourceLimitExceededError('max_tuple_items', value.elements.length, limits.maxTupleItems);
|
|
373
|
+
for (const item of value.elements) {
|
|
374
|
+
const error = checkValue(item);
|
|
375
|
+
if (error)
|
|
376
|
+
return error;
|
|
377
|
+
}
|
|
378
|
+
return checkAttributes(value.attributes);
|
|
379
|
+
case 'ObjectNode':
|
|
380
|
+
for (const binding of value.bindings) {
|
|
381
|
+
const error = checkBinding(binding);
|
|
382
|
+
if (error)
|
|
383
|
+
return error;
|
|
384
|
+
}
|
|
385
|
+
return checkAttributes(value.attributes);
|
|
386
|
+
case 'NodeLiteral': {
|
|
387
|
+
const tagError = checkKey(value.tag);
|
|
388
|
+
if (tagError)
|
|
389
|
+
return tagError;
|
|
390
|
+
for (const child of value.children) {
|
|
391
|
+
const error = checkValue(child);
|
|
392
|
+
if (error)
|
|
393
|
+
return error;
|
|
394
|
+
}
|
|
395
|
+
return checkDatatype(value.datatype) ?? checkAttributes(value.attributes);
|
|
396
|
+
}
|
|
397
|
+
case 'TypedValue':
|
|
398
|
+
return checkDatatype(value.datatype) ?? checkAttributes(value.attributes) ?? checkValue(value.value);
|
|
399
|
+
case 'CloneReference':
|
|
400
|
+
case 'PointerReference':
|
|
401
|
+
return checkReference(value);
|
|
402
|
+
default:
|
|
403
|
+
return null;
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
const checkBinding = (binding) => checkKey(binding.key) ?? checkDatatype(binding.datatype) ?? checkAttributes(binding.attributes) ?? checkValue(binding.value);
|
|
407
|
+
if (document.header) {
|
|
408
|
+
for (const binding of document.header.bindings) {
|
|
409
|
+
const error = checkBinding(binding);
|
|
410
|
+
if (error)
|
|
411
|
+
return error;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
for (const binding of document.bindings) {
|
|
415
|
+
const error = checkBinding(binding);
|
|
416
|
+
if (error)
|
|
417
|
+
return error;
|
|
418
|
+
}
|
|
419
|
+
return null;
|
|
420
|
+
}
|
|
421
|
+
function validateStructuredComments(input, limit) {
|
|
422
|
+
const lexed = tokenize(input, { includeComments: true });
|
|
423
|
+
for (const token of lexed.tokens) {
|
|
424
|
+
if (token.type !== TokenType.LineComment && token.type !== TokenType.BlockComment)
|
|
425
|
+
continue;
|
|
426
|
+
const marker = token.type === TokenType.LineComment ? token.value[2] : token.value[1];
|
|
427
|
+
if (!marker || !'#@?!{[('.includes(marker))
|
|
428
|
+
continue;
|
|
429
|
+
const payload = token.type === TokenType.LineComment ? token.value.slice(3) : token.value.slice(2, -2);
|
|
430
|
+
const observed = [...payload].length;
|
|
431
|
+
if (observed > limit)
|
|
432
|
+
return new ResourceLimitExceededError('max_structured_comment_characters', observed, limit);
|
|
433
|
+
}
|
|
434
|
+
return null;
|
|
435
|
+
}
|
|
195
436
|
function normalizeLexerErrors(input, errors) {
|
|
196
437
|
return errors.map((error) => {
|
|
197
438
|
if (error.code === 'INVALID_NUMBER') {
|
|
@@ -204,10 +445,7 @@ function normalizeLexerErrors(input, errors) {
|
|
|
204
445
|
});
|
|
205
446
|
}
|
|
206
447
|
// Utility for formatting paths (commonly needed)
|
|
207
|
-
export { formatPath } from '@altopelago/aeon-aes';
|
|
208
|
-
function stripLeadingBom(input) {
|
|
209
|
-
return input.startsWith('\uFEFF') ? input.slice(1) : input;
|
|
210
|
-
}
|
|
448
|
+
export { formatPath, parseTelex, encodeTelex, canonicalizeTelex, checkTelexCompleteness, validateTelex, validateTelexRecords, decodeFilmSyntax, decodeFilm, IncrementalFilmDecoder, FilmDecodeError, normalizeFilmLimits, FILM_VERSION, FILM_V1_PREAMBLE, DEFAULT_FILM_LIMITS, projectPortableEvents, createPortableEventPathMap, adaptTypeScriptAssignmentEventsToPortableAes, PortableAesSourceError, TYPESCRIPT_ASSIGNMENT_EVENTS_CONTRACT_V0, TYPESCRIPT_PORTABLE_AES_ADAPTER_V0, TYPESCRIPT_PORTABLE_AES_ADAPTER_VERSION_V1, } from '@altopelago/aeon-aes';
|
|
211
449
|
function collectSpanTargets(document) {
|
|
212
450
|
const spans = [];
|
|
213
451
|
const seen = new Set();
|
|
@@ -316,6 +554,9 @@ function collectSpanTargets(document) {
|
|
|
316
554
|
}
|
|
317
555
|
break;
|
|
318
556
|
case 'NodeLiteral':
|
|
557
|
+
if (value.headSpan) {
|
|
558
|
+
addSpan(value.headSpan);
|
|
559
|
+
}
|
|
319
560
|
for (const attribute of value.attributes) {
|
|
320
561
|
addSpan(attribute.span);
|
|
321
562
|
for (const [, entry] of attribute.entries) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAmB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAA6D,MAAM,yBAAyB,CAAC;AAC7I,OAAO,EACH,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,wBAAwB,EACxB,4CAA4C,EAC5C,WAAW,GAUd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uCAAuC,EAAyB,MAAM,oCAAoC,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAqE,MAAM,eAAe,CAAC;AACvH,cAAc,aAAa,CAAC;AAE5B,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAyBhC,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACpC,IAAI,GAAG,qBAAqB,CAAC;IAC7B,WAAW,CAAS;IACpB,QAAQ,CAAS;IAE1B,YAAY,WAAmB,EAAE,QAAgB;QAC7C,KAAK,CAAC,cAAc,WAAW,sCAAsC,QAAQ,QAAQ,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACrC,IAAI,GAAG,sBAAsB,CAAC;IAC9B,YAAY,CAAS;IACrB,SAAS,CAAS;IAE3B,YAAY,YAAoB,EAAE,SAAiB;QAC/C,KAAK,CAAC,eAAe,YAAY,gCAAgC,SAAS,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAED,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACxC,IAAI,CAAS;IACb,OAAO,CAAS;IAChB,QAAQ,CAAS;IACjB,KAAK,CAAS;IACd,IAAI,CAAmB;IAEhC,YAAY,OAAe,EAAE,QAAgB,EAAE,KAAa;QACxD,KAAK,CAAC,GAAG,OAAO,mBAAmB,QAAQ,6BAA6B,KAAK,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC;QACvF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC;CACJ;AA8GD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,OAAO,GAAmB,EAAE;IAC/D,MAAM,SAAS,GAAgB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;IAC3C,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC;IACxF,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;IACrD,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;IAC9D,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;IAClE,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC;IAC5F,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;IAClD,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,SAAS,CAAC;IACrE,MAAM,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,IAAI,IAAI,CAAC;IACxE,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC;IACtD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;IAC5D,MAAM,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,IAAI,IAAI,CAAC;IAChF,MAAM,8BAA8B,GAAG,OAAO,CAAC,8BAA8B,IAAI,SAAS,CAAC;IAC3F,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;IACxD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAErD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,WAAW,GAAG,aAAa,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;YACvE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACvD,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,SAAS,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAED,mBAAmB;IACnB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE;QACxC,iBAAiB;QACjB,kBAAkB;QAClB,eAAe;QACf,mBAAmB;QACnB,qBAAqB;QACrB,oBAAoB;KACvB,CAAC,CAAC;IACH,SAAS,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,cAAc,GAAG,uBAAuB,CAAC,WAAW,CAAC,QAAQ,EAAE;QACjE,mBAAmB;QACnB,uBAAuB;QACvB,YAAY;QACZ,aAAa;QACb,2BAA2B;QAC3B,YAAY;QACZ,iBAAiB;KACpB,CAAC,CAAC;IACH,IAAI,cAAc,EAAE,CAAC;QACjB,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IACD,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;IACjG,IAAI,sBAAsB,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAED,2BAA2B;IAC3B,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,SAAS,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,gBAAgB,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;YACtF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACvD,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACxD,IAAI,UAAU,GAAG,iBAAiB,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,qBAAqB,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;YACrG,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACvD,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;YACpC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9E,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAClE,SAAS,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACjF,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAED,gCAAgC;IAChC,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzF,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAED,4BAA4B;IAC5B,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC1E,QAAQ;QACR,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC,CAAC;IACH,SAAS,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,MAAM,GAAkB;QAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,MAAM,EAAE,SAAS;QACjB,QAAQ;QACR,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM;YAC3B,CAAC,CAAC;gBACE,MAAM,EAAE;oBACJ,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM;oBAC1C,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;oBACtC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;iBACzC;aACJ;YACD,CAAC,CAAC,EAAE,CAAC;KACZ,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAuD,CAAC,WAAW;YAChE,uCAAuC,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC1B,KAAa,EACb,OAAO,GAA0B,EAAE;IAEnC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,OAAO,GAAG,8BAA8B,CAC1C,aAAa,CAAC,MAAM,EACpB,OAAO,CAAC,cAAc,IAAI,KAAK,EAC/B,OAAO,CAAC,WAAW,EACnB,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CACtE,CAAC;IACF,MAAM,YAAY,GAAuB;QACrC,GAAG,OAAO,CAAC,KAAK;QAChB,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvF,CAAC;IAEF,OAAO;QACH,OAAO,EAAE,aAAa;QACtB,OAAO;QACP,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC;KAC5C,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CACvB,MAAkC,EAClC,OAAO,GAAuB,EAAE;IAEhC,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;IACvD,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;IACrG,OAAO,WAAW,CAAC,8BAA8B,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,cAAc;QACpH,CAAC,CAAC,EAAE,GAAG,aAAa,EAAE,UAAU,EAAE,wBAAwB,EAAE;QAC5D,CAAC,CAAC,aAAa,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,8BAA8B,CACnC,MAAkC,EAClC,cAAuB,EACvB,WAAwB,EACxB,gBAA0D;IAE1D,OAAO,4CAA4C,CAAC,MAAM,EAAE;QACxD,cAAc;QACd,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC/D,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACxD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAe,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,0BAA0B,CAAC,OAUnC;IACG,MAAM,QAAQ,GAAkB,EAAE,CAAC;IACnC,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC1C,WAAW,CAAC,QAAQ,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAC/G,CAAC;IACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IACnF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACnC,WAAW,CAAC,QAAQ,EAAE,oCAAoC,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAC7G,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QACxC,WAAW,CAAC,QAAQ,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC3G,CAAC;IACD,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC;IACrF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACrC,WAAW,CAAC,QAAQ,EAAE,2CAA2C,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACzH,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,WAAW,CAAC,QAAQ,EAAE,gCAAgC,EAAE,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAChB,QAAuB,EACvB,IAAY,EACZ,MAAc,EACd,QAAgB,EAChB,aAAqB;IAErB,IAAI,QAAQ,IAAI,aAAa;QAAE,OAAO;IACtC,QAAQ,CAAC,IAAI,CAAC;QACV,IAAI;QACJ,IAAI,EAAE,GAAG;QACT,MAAM;QACN,QAAQ;QACR,aAAa;QACb,OAAO,EAAE,GAAG,MAAM,IAAI,QAAQ,uCAAuC,aAAa,EAAE;KACvF,CAAC,CAAC;AACP,CAAC;AAYD,SAAS,uBAAuB,CAAC,QAAkB,EAAE,MAA6B;IAC9E,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAqC,EAAE;QAChE,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;QACjC,OAAO,QAAQ,GAAG,MAAM,CAAC,uBAAuB;YAC5C,CAAC,CAAC,IAAI,0BAA0B,CAAC,4BAA4B,EAAE,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC;YACxG,CAAC,CAAC,IAAI,CAAC;IACf,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,QAA6B,EAAqC,EAAE;QACvF,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,MAAM,CAAC;gBACvC,IAAI,QAAQ,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;oBACxC,OAAO,IAAI,0BAA0B,CAAC,uBAAuB,EAAE,QAAQ,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACzG,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,UAAiC,EAAqC,EAAE;QAC7F,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC7H,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,KAAsE,EAAqC,EAAE;QACjI,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,KAAK,GAAG,MAAM,CAAC,YAAY;YAAE,OAAO,IAAI,0BAA0B,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QACrH,IAAI,QAAQ,GAAG,GAAG,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,QAAQ,IAAI,IAAI,OAAO,GAAG,CAAC;iBACvD,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,QAAQ,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;;gBACxI,QAAQ,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QAChI,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC;QACxC,OAAO,UAAU,GAAG,MAAM,CAAC,iBAAiB;YACxC,CAAC,CAAC,IAAI,0BAA0B,CAAC,qBAAqB,EAAE,UAAU,EAAE,MAAM,CAAC,iBAAiB,CAAC;YAC7F,CAAC,CAAC,IAAI,CAAC;IACf,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,KAAY,EAAqC,EAAE;QACnE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,eAAe,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;gBACzC,OAAO,QAAQ,GAAG,MAAM,CAAC,mBAAmB;oBACxC,CAAC,CAAC,IAAI,0BAA0B,CAAC,uBAAuB,EAAE,QAAQ,EAAE,MAAM,CAAC,mBAAmB,CAAC;oBAC/F,CAAC,CAAC,IAAI,CAAC;YACf,CAAC;YACD,KAAK,eAAe,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;gBACvC,OAAO,QAAQ,GAAG,MAAM,CAAC,2BAA2B;oBAChD,CAAC,CAAC,IAAI,0BAA0B,CAAC,gCAAgC,EAAE,QAAQ,EAAE,MAAM,CAAC,2BAA2B,CAAC;oBAChH,CAAC,CAAC,IAAI,CAAC;YACf,CAAC;YACD,KAAK,UAAU;gBACX,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY;oBAAE,OAAO,IAAI,0BAA0B,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;gBACrJ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAAC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;oBAAC,IAAI,KAAK;wBAAE,OAAO,KAAK,CAAC;gBAAC,CAAC;gBAC/F,OAAO,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7C,KAAK,cAAc;gBACf,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa;oBAAE,OAAO,IAAI,0BAA0B,CAAC,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;gBACxJ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAAC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;oBAAC,IAAI,KAAK;wBAAE,OAAO,KAAK,CAAC;gBAAC,CAAC;gBAC/F,OAAO,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7C,KAAK,YAAY;gBACb,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAAC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;oBAAC,IAAI,KAAK;wBAAE,OAAO,KAAK,CAAC;gBAAC,CAAC;gBACvG,OAAO,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7C,KAAK,aAAa,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,QAAQ;oBAAE,OAAO,QAAQ,CAAC;gBAC9B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAAC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;oBAAC,IAAI,KAAK;wBAAE,OAAO,KAAK,CAAC;gBAAC,CAAC;gBACjG,OAAO,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC9E,CAAC;YACD,KAAK,YAAY;gBACb,OAAO,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzG,KAAK,gBAAgB,CAAC;YACtB,KAAK,kBAAkB;gBACnB,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;YACjC;gBACI,OAAO,IAAI,CAAC;QACpB,CAAC;IACL,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAqC,EAAE,CACzE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEjI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAAC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAAC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAAC,CAAC;IACrH,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAAC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAAC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAAC,CAAC;IAC1G,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa,EAAE,KAAa;IAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY;YAAE,SAAS;QAC5F,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,SAAS;QACrD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC;QACrC,IAAI,QAAQ,GAAG,KAAK;YAAE,OAAO,IAAI,0BAA0B,CAAC,mCAAmC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,MAA6B;IACtE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpE,OAAO,IAAI,iBAAiB,CACxB,8BAA8B,GAAG,GAAG,EACpC,KAAK,CAAC,IAAI,EACV,IAAI,EACJ,GAAG,CACN,CAAC;YACN,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAgCD,iDAAiD;AACjD,OAAO,EACH,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,4CAA4C,EAC5C,sBAAsB,EACtB,wCAAwC,EACxC,kCAAkC,EAClC,0CAA0C,GAC7C,MAAM,sBAAsB,CAAC;AAE9B,SAAS,kBAAkB,CAAC,QAAkB;IAC1C,MAAM,KAAK,GAAsM,EAAE,CAAC;IACpN,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,MAAM,OAAO,GAAG,CAAC,IAAgM,EAAQ,EAAE;QACvN,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAY,EAAQ,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,YAAY;gBACb,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBACD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACvC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACxB,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;wBACxC,KAAK,MAAM,eAAe,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAC7C,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;4BAC9B,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gCACpD,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCAChC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;oCACvB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCACvC,CAAC;4BACL,CAAC;wBACL,CAAC;wBACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC1B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;YACV,KAAK,YAAY;gBACb,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACvC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACxB,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;wBACxC,KAAK,MAAM,eAAe,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAC7C,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;4BAC9B,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gCACpD,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCAChC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;oCACvB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCACvC,CAAC;4BACL,CAAC;wBACL,CAAC;wBACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC1B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM;YACV,KAAK,UAAU;gBACX,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACvC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACxB,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;wBACxC,KAAK,MAAM,eAAe,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAC7C,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;4BAC9B,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gCACpD,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCAChC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;oCACvB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCACvC,CAAC;4BACL,CAAC;wBACL,CAAC;wBACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC1B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;gBACD,MAAM;YACV,KAAK,cAAc;gBACf,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACvC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACxB,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;wBACxC,KAAK,MAAM,eAAe,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAC7C,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;4BAC9B,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gCACpD,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCAChC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;oCACvB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCACvC,CAAC;4BACL,CAAC;wBACL,CAAC;wBACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC1B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;gBACD,MAAM;YACV,KAAK,aAAa;gBACd,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;gBACD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACvC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACxB,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;wBACxC,KAAK,MAAM,eAAe,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BAC7C,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;4BAC9B,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gCACpD,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gCAChC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;oCACvB,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCACvC,CAAC;4BACL,CAAC;wBACL,CAAC;wBACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC1B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACjC,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBACD,MAAM;YACV;gBACI,MAAM;QACd,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAQ,EAAE;QAC5C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;QACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7C,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC/C,UAAU,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
package/dist/limits.d.ts
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
export declare const AEONIC_LIMITS_ID = "altopelago.aeonic-limits.v1";
|
|
2
|
+
export declare const AEONIC_LIMITS_VERSION = "1.0.0";
|
|
3
|
+
export declare const LIMITS_BOOTSTRAP: Readonly<{
|
|
4
|
+
maxInputBytes: 65536;
|
|
5
|
+
maxEvents: 256;
|
|
6
|
+
maxPathDepth: 8;
|
|
7
|
+
maxValueNestingDepth: 8;
|
|
8
|
+
maxAttributeDepth: 0;
|
|
9
|
+
maxGenericDepth: 0;
|
|
10
|
+
maxGenericArguments: 0;
|
|
11
|
+
maxClarifierValues: 0;
|
|
12
|
+
maxDatatypeComponents: 1;
|
|
13
|
+
}>;
|
|
14
|
+
export type LimitSetting = number | 'unBound' | 'useImplementation';
|
|
15
|
+
export interface AeonicLimitsV1 {
|
|
16
|
+
readonly limitsId: typeof AEONIC_LIMITS_ID;
|
|
17
|
+
readonly limitsVersion: typeof AEONIC_LIMITS_VERSION;
|
|
18
|
+
readonly profileClaims: readonly string[];
|
|
19
|
+
readonly structure: Readonly<{
|
|
20
|
+
maxAttributeDepth: LimitSetting;
|
|
21
|
+
maxGenericDepth: LimitSetting;
|
|
22
|
+
maxGenericArguments: LimitSetting;
|
|
23
|
+
maxClarifierValues: LimitSetting;
|
|
24
|
+
maxDatatypeComponents: LimitSetting;
|
|
25
|
+
maxValueNestingDepth: LimitSetting;
|
|
26
|
+
maxPathDepth: LimitSetting;
|
|
27
|
+
maxStringCodepoints: LimitSetting;
|
|
28
|
+
maxKeySegmentCodepoints: LimitSetting;
|
|
29
|
+
maxListItems: LimitSetting;
|
|
30
|
+
maxTupleItems: LimitSetting;
|
|
31
|
+
maxPathCharacters: LimitSetting;
|
|
32
|
+
}>;
|
|
33
|
+
readonly processing: Readonly<{
|
|
34
|
+
maxEvents: LimitSetting;
|
|
35
|
+
maxReferenceDepth: LimitSetting;
|
|
36
|
+
maxMaterializedWeight: LimitSetting;
|
|
37
|
+
}>;
|
|
38
|
+
readonly formats: Readonly<{
|
|
39
|
+
aeon: Readonly<{
|
|
40
|
+
maxInputBytes: LimitSetting;
|
|
41
|
+
maxNumericLiteralCharacters: LimitSetting;
|
|
42
|
+
maxStructuredCommentCharacters: LimitSetting;
|
|
43
|
+
}>;
|
|
44
|
+
telex: Readonly<{
|
|
45
|
+
maxInputBytes: LimitSetting;
|
|
46
|
+
maxLineBytes: LimitSetting;
|
|
47
|
+
maxFieldsPerEvent: LimitSetting;
|
|
48
|
+
maxDecodedPayloadBytes: LimitSetting;
|
|
49
|
+
}>;
|
|
50
|
+
}>;
|
|
51
|
+
readonly transport: Readonly<{
|
|
52
|
+
maxFrameBytes: LimitSetting;
|
|
53
|
+
maxBufferBytes: LimitSetting;
|
|
54
|
+
maxHeaderBytes: LimitSetting;
|
|
55
|
+
}>;
|
|
56
|
+
}
|
|
57
|
+
export interface LimitsDiagnostic {
|
|
58
|
+
readonly code: string;
|
|
59
|
+
readonly path: string;
|
|
60
|
+
readonly message: string;
|
|
61
|
+
}
|
|
62
|
+
export interface AeonCompileLimits {
|
|
63
|
+
readonly maxAttributeDepth: number;
|
|
64
|
+
readonly maxClarifierValues: number;
|
|
65
|
+
readonly maxGenericDepth: number;
|
|
66
|
+
readonly maxGenericArguments: number;
|
|
67
|
+
readonly maxDatatypeComponents: number;
|
|
68
|
+
readonly maxValueNestingDepth: number;
|
|
69
|
+
readonly maxPathDepth: number;
|
|
70
|
+
readonly maxStringCodepoints: number;
|
|
71
|
+
readonly maxKeySegmentCodepoints: number;
|
|
72
|
+
readonly maxListItems: number;
|
|
73
|
+
readonly maxTupleItems: number;
|
|
74
|
+
readonly maxPathCharacters: number;
|
|
75
|
+
readonly maxNumericLiteralCharacters: number;
|
|
76
|
+
readonly maxStructuredCommentCharacters: number;
|
|
77
|
+
readonly maxInputBytes?: number;
|
|
78
|
+
readonly maxEvents?: number;
|
|
79
|
+
}
|
|
80
|
+
export interface FinalizationLimits {
|
|
81
|
+
readonly maxReferenceDepth?: number;
|
|
82
|
+
readonly maxMaterializedWeight?: number;
|
|
83
|
+
}
|
|
84
|
+
export interface AeonAesStreamLimits {
|
|
85
|
+
readonly maxEvents: number;
|
|
86
|
+
readonly maxPathDepth: number;
|
|
87
|
+
readonly maxPathCharacters: number;
|
|
88
|
+
readonly maxAttributeDepth: number;
|
|
89
|
+
readonly maxValueNestingDepth: number;
|
|
90
|
+
readonly maxStringCodepoints: number;
|
|
91
|
+
readonly maxKeySegmentCodepoints: number;
|
|
92
|
+
readonly maxListItems: number;
|
|
93
|
+
readonly maxTupleItems: number;
|
|
94
|
+
readonly maxGenericDepth: number;
|
|
95
|
+
readonly maxGenericArguments: number;
|
|
96
|
+
readonly maxClarifierValues: number;
|
|
97
|
+
readonly maxDatatypeComponents: number;
|
|
98
|
+
}
|
|
99
|
+
export interface AeonTelexLimits extends AeonAesStreamLimits {
|
|
100
|
+
readonly maxInputBytes: number;
|
|
101
|
+
readonly maxLineBytes: number;
|
|
102
|
+
readonly maxFieldsPerEvent: number;
|
|
103
|
+
readonly maxDecodedPayloadBytes: number;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Inspectable configuration selected for a Telex portable boundary.
|
|
107
|
+
*
|
|
108
|
+
* Identity and profile claims are descriptive metadata. Codec and
|
|
109
|
+
* finalization consumers receive only the normalized option subsets below.
|
|
110
|
+
*/
|
|
111
|
+
export interface EffectiveTelexConfiguration {
|
|
112
|
+
readonly limitsId: typeof AEONIC_LIMITS_ID;
|
|
113
|
+
readonly limitsVersion: typeof AEONIC_LIMITS_VERSION;
|
|
114
|
+
readonly profileClaims: readonly string[];
|
|
115
|
+
readonly telex: AeonTelexLimits;
|
|
116
|
+
readonly finalization: FinalizationLimits;
|
|
117
|
+
/** True when a trusted caller has changed a normalized selected value. */
|
|
118
|
+
readonly overridesApplied: boolean;
|
|
119
|
+
}
|
|
120
|
+
/** Inspectable shared AES/finalization limits selected for a Film boundary. */
|
|
121
|
+
export interface EffectiveAesConfiguration {
|
|
122
|
+
readonly limitsId: typeof AEONIC_LIMITS_ID;
|
|
123
|
+
readonly limitsVersion: typeof AEONIC_LIMITS_VERSION;
|
|
124
|
+
readonly profileClaims: readonly string[];
|
|
125
|
+
readonly aes: AeonAesStreamLimits;
|
|
126
|
+
readonly finalization: FinalizationLimits;
|
|
127
|
+
/** True when a trusted caller has changed a normalized selected value. */
|
|
128
|
+
readonly overridesApplied: boolean;
|
|
129
|
+
}
|
|
130
|
+
export interface AeonTransportLimits {
|
|
131
|
+
readonly maxFrameBytes: number;
|
|
132
|
+
readonly maxBufferBytes: number;
|
|
133
|
+
readonly maxHeaderBytes: number;
|
|
134
|
+
}
|
|
135
|
+
export type AeonicLimitsLoadResult = {
|
|
136
|
+
readonly limits: AeonicLimitsV1;
|
|
137
|
+
readonly errors: readonly [];
|
|
138
|
+
} | {
|
|
139
|
+
readonly limits: null;
|
|
140
|
+
readonly errors: readonly LimitsDiagnostic[];
|
|
141
|
+
};
|
|
142
|
+
export declare function loadAeonicLimits(input: string): AeonicLimitsLoadResult;
|
|
143
|
+
/** Resolve the AEON Core subset into an inspectable, language-native view. */
|
|
144
|
+
export declare function aeonCompileLimits(limits: AeonicLimitsV1): AeonCompileLimits;
|
|
145
|
+
/** Resolve the shared reference/materialization subset for finalization. */
|
|
146
|
+
export declare function finalizationLimits(limits: AeonicLimitsV1): FinalizationLimits;
|
|
147
|
+
/** Resolve the shared structural, processing, and Telex-format subsets. */
|
|
148
|
+
export declare function telexLimits(limits: AeonicLimitsV1): AeonTelexLimits;
|
|
149
|
+
/** Resolve the encoding-neutral AES structural and event-count subset. */
|
|
150
|
+
export declare function aesStreamLimits(limits: AeonicLimitsV1): AeonAesStreamLimits;
|
|
151
|
+
/** Resolve an inspectable snapshot of all limits used at a Telex boundary. */
|
|
152
|
+
export declare function effectiveTelexConfiguration(limits: AeonicLimitsV1): EffectiveTelexConfiguration;
|
|
153
|
+
/** Resolve inspectable shared limits without importing Telex byte policy. */
|
|
154
|
+
export declare function effectiveAesConfiguration(limits: AeonicLimitsV1): EffectiveAesConfiguration;
|
|
155
|
+
/** Resolve the TypeScript framing transport subset. */
|
|
156
|
+
export declare function aeonTransportLimits(limits: AeonicLimitsV1): AeonTransportLimits;
|
|
157
|
+
//# sourceMappingURL=limits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"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"}
|
package/dist/limits.js
ADDED
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { tokenize } from '@altopelago/aeon-lexer';
|
|
2
|
+
import { parse } from '@altopelago/aeon-parser';
|
|
3
|
+
export const AEONIC_LIMITS_ID = 'altopelago.aeonic-limits.v1';
|
|
4
|
+
export const AEONIC_LIMITS_VERSION = '1.0.0';
|
|
5
|
+
export const LIMITS_BOOTSTRAP = Object.freeze({
|
|
6
|
+
maxInputBytes: 65_536,
|
|
7
|
+
maxEvents: 256,
|
|
8
|
+
maxPathDepth: 8,
|
|
9
|
+
maxValueNestingDepth: 8,
|
|
10
|
+
maxAttributeDepth: 0,
|
|
11
|
+
maxGenericDepth: 0,
|
|
12
|
+
maxGenericArguments: 0,
|
|
13
|
+
maxClarifierValues: 0,
|
|
14
|
+
maxDatatypeComponents: 1,
|
|
15
|
+
});
|
|
16
|
+
export function loadAeonicLimits(input) {
|
|
17
|
+
const errors = [];
|
|
18
|
+
const actualBytes = Buffer.byteLength(input, 'utf8');
|
|
19
|
+
if (actualBytes > LIMITS_BOOTSTRAP.maxInputBytes) {
|
|
20
|
+
return failure('LIMITS_BOOTSTRAP_EXCEEDED', '$', `Limits input size ${actualBytes} exceeds bootstrap limit ${LIMITS_BOOTSTRAP.maxInputBytes}`);
|
|
21
|
+
}
|
|
22
|
+
const lexed = tokenize(input, { includeComments: false });
|
|
23
|
+
if (lexed.errors.length > 0) {
|
|
24
|
+
return { limits: null, errors: lexed.errors.map((error) => ({ code: error.code, path: '$', message: error.message })) };
|
|
25
|
+
}
|
|
26
|
+
const parsed = parse(lexed.tokens, {
|
|
27
|
+
maxAttributeDepth: LIMITS_BOOTSTRAP.maxAttributeDepth,
|
|
28
|
+
maxClarifierValues: LIMITS_BOOTSTRAP.maxClarifierValues,
|
|
29
|
+
maxGenericDepth: LIMITS_BOOTSTRAP.maxGenericDepth,
|
|
30
|
+
maxGenericArguments: LIMITS_BOOTSTRAP.maxGenericArguments,
|
|
31
|
+
maxDatatypeComponents: LIMITS_BOOTSTRAP.maxDatatypeComponents,
|
|
32
|
+
maxValueNestingDepth: LIMITS_BOOTSTRAP.maxValueNestingDepth,
|
|
33
|
+
});
|
|
34
|
+
if (parsed.errors.length > 0 || !parsed.document) {
|
|
35
|
+
return {
|
|
36
|
+
limits: null,
|
|
37
|
+
errors: parsed.errors.map((error) => ({ code: error.code, path: '$', message: error.message })),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
if (parsed.document.header) {
|
|
41
|
+
return failure('LIMITS_HEADER_NOT_ALLOWED', '$', 'Limits files must not contain an AEON header');
|
|
42
|
+
}
|
|
43
|
+
const eventCount = parsed.document.bindings.reduce((count, binding) => count + projectedEventCount(binding.value), 0);
|
|
44
|
+
if (eventCount > LIMITS_BOOTSTRAP.maxEvents) {
|
|
45
|
+
return failure('LIMITS_BOOTSTRAP_EXCEEDED', '$', `Limits file projects ${eventCount} events; bootstrap limit is ${LIMITS_BOOTSTRAP.maxEvents}`);
|
|
46
|
+
}
|
|
47
|
+
const decoded = {};
|
|
48
|
+
for (const binding of parsed.document.bindings) {
|
|
49
|
+
const value = decodeBinding(binding, `$.${binding.key}`, errors);
|
|
50
|
+
if (value !== undefined)
|
|
51
|
+
decoded[binding.key] = value;
|
|
52
|
+
}
|
|
53
|
+
if (errors.length > 0)
|
|
54
|
+
return { limits: null, errors };
|
|
55
|
+
try {
|
|
56
|
+
const limits = validateLimits(decoded);
|
|
57
|
+
return { limits, errors: [] };
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
return failure('INVALID_LIMITS_FILE', '$', error instanceof Error ? error.message : String(error));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** Resolve the AEON Core subset into an inspectable, language-native view. */
|
|
64
|
+
export function aeonCompileLimits(limits) {
|
|
65
|
+
return {
|
|
66
|
+
maxAttributeDepth: bounded(limits.structure.maxAttributeDepth, 1, 64, 'max_attribute_depth'),
|
|
67
|
+
maxClarifierValues: bounded(limits.structure.maxClarifierValues, 1, 4_096, 'max_clarifier_values'),
|
|
68
|
+
maxGenericDepth: bounded(limits.structure.maxGenericDepth, 1, 64, 'max_generic_depth'),
|
|
69
|
+
maxGenericArguments: bounded(limits.structure.maxGenericArguments, 32, 4_096, 'max_generic_arguments'),
|
|
70
|
+
maxDatatypeComponents: bounded(limits.structure.maxDatatypeComponents, 64, 4_096, 'max_datatype_components'),
|
|
71
|
+
maxValueNestingDepth: bounded(limits.structure.maxValueNestingDepth, 256, 512, 'max_value_nesting_depth'),
|
|
72
|
+
maxPathDepth: bounded(limits.structure.maxPathDepth, 1024, 4096, 'max_path_depth'),
|
|
73
|
+
maxStringCodepoints: bounded(limits.structure.maxStringCodepoints, 1_048_576, 16_777_216, 'max_string_codepoints'),
|
|
74
|
+
maxKeySegmentCodepoints: bounded(limits.structure.maxKeySegmentCodepoints, 1024, 65_536, 'max_key_segment_codepoints'),
|
|
75
|
+
maxListItems: bounded(limits.structure.maxListItems, 65_536, 1_000_000, 'max_list_items'),
|
|
76
|
+
maxTupleItems: bounded(limits.structure.maxTupleItems, 65_536, 1_000_000, 'max_tuple_items'),
|
|
77
|
+
maxPathCharacters: bounded(limits.structure.maxPathCharacters, 8192, 65_536, 'max_path_characters'),
|
|
78
|
+
maxNumericLiteralCharacters: bounded(limits.formats.aeon.maxNumericLiteralCharacters, 1024, 65_536, 'max_numeric_literal_characters'),
|
|
79
|
+
maxStructuredCommentCharacters: bounded(limits.formats.aeon.maxStructuredCommentCharacters, 1_048_576, 16_777_216, 'max_structured_comment_characters'),
|
|
80
|
+
...optional(limits.formats.aeon.maxInputBytes, 16_777_216, 'maxInputBytes'),
|
|
81
|
+
...optional(limits.processing.maxEvents, 100_000, 'maxEvents'),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/** Resolve the shared reference/materialization subset for finalization. */
|
|
85
|
+
export function finalizationLimits(limits) {
|
|
86
|
+
return {
|
|
87
|
+
...optionalProcessing(limits.processing.maxReferenceDepth, 'maxReferenceDepth'),
|
|
88
|
+
...optionalProcessing(limits.processing.maxMaterializedWeight, 'maxMaterializedWeight'),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/** Resolve the shared structural, processing, and Telex-format subsets. */
|
|
92
|
+
export function telexLimits(limits) {
|
|
93
|
+
return {
|
|
94
|
+
maxInputBytes: bounded(limits.formats.telex.maxInputBytes, 67_108_864, 1_073_741_824, 'max_input_bytes'),
|
|
95
|
+
maxLineBytes: bounded(limits.formats.telex.maxLineBytes, 1_048_576, 67_108_864, 'max_line_bytes'),
|
|
96
|
+
maxFieldsPerEvent: bounded(limits.formats.telex.maxFieldsPerEvent, 64, 4_096, 'max_fields_per_event'),
|
|
97
|
+
maxDecodedPayloadBytes: bounded(limits.formats.telex.maxDecodedPayloadBytes, 33_554_432, 1_073_741_824, 'max_decoded_payload_bytes'),
|
|
98
|
+
...aesStreamLimits(limits),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/** Resolve the encoding-neutral AES structural and event-count subset. */
|
|
102
|
+
export function aesStreamLimits(limits) {
|
|
103
|
+
return {
|
|
104
|
+
maxEvents: bounded(limits.processing.maxEvents, 100_000, 1_000_000, 'max_events'),
|
|
105
|
+
maxPathDepth: bounded(limits.structure.maxPathDepth, 1_024, 4_096, 'max_path_depth'),
|
|
106
|
+
maxPathCharacters: bounded(limits.structure.maxPathCharacters, 8_192, 65_536, 'max_path_characters'),
|
|
107
|
+
maxAttributeDepth: bounded(limits.structure.maxAttributeDepth, 1, 64, 'max_attribute_depth'),
|
|
108
|
+
maxValueNestingDepth: bounded(limits.structure.maxValueNestingDepth, 256, 512, 'max_value_nesting_depth'),
|
|
109
|
+
maxStringCodepoints: bounded(limits.structure.maxStringCodepoints, 1_048_576, 16_777_216, 'max_string_codepoints'),
|
|
110
|
+
maxKeySegmentCodepoints: bounded(limits.structure.maxKeySegmentCodepoints, 1_024, 65_536, 'max_key_segment_codepoints'),
|
|
111
|
+
maxListItems: bounded(limits.structure.maxListItems, 65_536, 1_000_000, 'max_list_items'),
|
|
112
|
+
maxTupleItems: bounded(limits.structure.maxTupleItems, 65_536, 1_000_000, 'max_tuple_items'),
|
|
113
|
+
maxGenericDepth: bounded(limits.structure.maxGenericDepth, 1, 64, 'max_generic_depth'),
|
|
114
|
+
maxGenericArguments: bounded(limits.structure.maxGenericArguments, 32, 4_096, 'max_generic_arguments'),
|
|
115
|
+
maxClarifierValues: bounded(limits.structure.maxClarifierValues, 1, 4_096, 'max_clarifier_values'),
|
|
116
|
+
maxDatatypeComponents: bounded(limits.structure.maxDatatypeComponents, 64, 4_096, 'max_datatype_components'),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/** Resolve an inspectable snapshot of all limits used at a Telex boundary. */
|
|
120
|
+
export function effectiveTelexConfiguration(limits) {
|
|
121
|
+
return {
|
|
122
|
+
limitsId: limits.limitsId,
|
|
123
|
+
limitsVersion: limits.limitsVersion,
|
|
124
|
+
profileClaims: [...limits.profileClaims],
|
|
125
|
+
telex: telexLimits(limits),
|
|
126
|
+
finalization: finalizationLimits(limits),
|
|
127
|
+
overridesApplied: false,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/** Resolve inspectable shared limits without importing Telex byte policy. */
|
|
131
|
+
export function effectiveAesConfiguration(limits) {
|
|
132
|
+
return {
|
|
133
|
+
limitsId: limits.limitsId,
|
|
134
|
+
limitsVersion: limits.limitsVersion,
|
|
135
|
+
profileClaims: [...limits.profileClaims],
|
|
136
|
+
aes: aesStreamLimits(limits),
|
|
137
|
+
finalization: finalizationLimits(limits),
|
|
138
|
+
overridesApplied: false,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/** Resolve the TypeScript framing transport subset. */
|
|
142
|
+
export function aeonTransportLimits(limits) {
|
|
143
|
+
return {
|
|
144
|
+
maxFrameBytes: bounded(limits.transport.maxFrameBytes, 16_777_216, 4_294_967_295, 'max_frame_bytes'),
|
|
145
|
+
maxBufferBytes: bounded(limits.transport.maxBufferBytes, 33_554_432, 4_294_967_295, 'max_buffer_bytes'),
|
|
146
|
+
maxHeaderBytes: bounded(limits.transport.maxHeaderBytes, 65_536, 16_777_216, 'max_header_bytes'),
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function bounded(setting, implementationDefault, hardCeiling, name) {
|
|
150
|
+
if (setting === 'useImplementation')
|
|
151
|
+
return implementationDefault;
|
|
152
|
+
if (setting === 'unBound')
|
|
153
|
+
return hardCeiling;
|
|
154
|
+
if (setting > hardCeiling)
|
|
155
|
+
throw new Error(`${name} ${setting} exceeds implementation safety ceiling ${hardCeiling}`);
|
|
156
|
+
return setting;
|
|
157
|
+
}
|
|
158
|
+
function optional(setting, implementationDefault, key) {
|
|
159
|
+
if (setting === 'unBound')
|
|
160
|
+
return {};
|
|
161
|
+
return { [key]: setting === 'useImplementation' ? implementationDefault : setting };
|
|
162
|
+
}
|
|
163
|
+
function optionalProcessing(setting, key) {
|
|
164
|
+
if (setting === 'unBound' || setting === 'useImplementation')
|
|
165
|
+
return {};
|
|
166
|
+
return { [key]: setting };
|
|
167
|
+
}
|
|
168
|
+
function decodeBinding(binding, path, errors) {
|
|
169
|
+
if (binding.datatype || binding.attributes.length > 0 || binding.structuralId) {
|
|
170
|
+
errors.push({ code: 'LIMITS_DECORATION_NOT_ALLOWED', path, message: 'Limits bindings may not use datatypes, attributes, or structural identities' });
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
return decodeValue(binding.value, path, errors);
|
|
174
|
+
}
|
|
175
|
+
function decodeValue(value, path, errors) {
|
|
176
|
+
switch (value.type) {
|
|
177
|
+
case 'StringLiteral':
|
|
178
|
+
return value.value;
|
|
179
|
+
case 'NumberLiteral': {
|
|
180
|
+
const parsed = Number(value.value.replaceAll('_', ''));
|
|
181
|
+
if (!Number.isSafeInteger(parsed) || parsed < 0) {
|
|
182
|
+
errors.push({ code: 'INVALID_LIMIT_VALUE', path, message: 'Limit values must be non-negative safe integers' });
|
|
183
|
+
return undefined;
|
|
184
|
+
}
|
|
185
|
+
return parsed;
|
|
186
|
+
}
|
|
187
|
+
case 'NullLiteral':
|
|
188
|
+
if (value.mode === 'reason' && (value.value === 'unBound' || value.value === 'useImplementation')) {
|
|
189
|
+
return value.value;
|
|
190
|
+
}
|
|
191
|
+
errors.push({ code: 'INVALID_LIMIT_VALUE', path, message: 'Only !"unBound" and !"useImplementation" are valid limit sentinels' });
|
|
192
|
+
return undefined;
|
|
193
|
+
case 'ListNode':
|
|
194
|
+
return value.elements.map((item, index) => decodeValue(item, `${path}[${index}]`, errors));
|
|
195
|
+
case 'ObjectNode': {
|
|
196
|
+
const object = {};
|
|
197
|
+
for (const binding of value.bindings) {
|
|
198
|
+
const child = decodeBinding(binding, `${path}.${binding.key}`, errors);
|
|
199
|
+
if (child !== undefined)
|
|
200
|
+
object[binding.key] = child;
|
|
201
|
+
}
|
|
202
|
+
return object;
|
|
203
|
+
}
|
|
204
|
+
default:
|
|
205
|
+
errors.push({ code: 'INVALID_LIMIT_VALUE', path, message: `Unsupported limits value ${value.type}` });
|
|
206
|
+
return undefined;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
function projectedEventCount(value) {
|
|
210
|
+
switch (value.type) {
|
|
211
|
+
case 'ObjectNode':
|
|
212
|
+
return 1 + value.bindings.reduce((count, binding) => count + projectedEventCount(binding.value), 0);
|
|
213
|
+
case 'ListNode':
|
|
214
|
+
case 'TupleLiteral':
|
|
215
|
+
return 1 + value.elements.reduce((count, item) => count + projectedEventCount(item), 0);
|
|
216
|
+
default:
|
|
217
|
+
return 1;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
function validateLimits(root) {
|
|
221
|
+
assertKeys(root, '$', ['limits_id', 'limits_version', 'profile_claims', 'structure', 'processing', 'formats', 'transport']);
|
|
222
|
+
const limitsId = requiredString(root, 'limits_id', '$');
|
|
223
|
+
const limitsVersion = requiredString(root, 'limits_version', '$');
|
|
224
|
+
if (limitsId !== AEONIC_LIMITS_ID)
|
|
225
|
+
throw new Error(`Unsupported limits_id ${JSON.stringify(limitsId)}`);
|
|
226
|
+
if (limitsVersion !== AEONIC_LIMITS_VERSION)
|
|
227
|
+
throw new Error(`Unsupported limits_version ${JSON.stringify(limitsVersion)}`);
|
|
228
|
+
const profileClaims = requiredArray(root, 'profile_claims', '$').map((value, index) => {
|
|
229
|
+
if (typeof value !== 'string')
|
|
230
|
+
throw new Error(`$.profile_claims[${index}] must be a string`);
|
|
231
|
+
return value;
|
|
232
|
+
});
|
|
233
|
+
const structure = requiredObject(root, 'structure', '$');
|
|
234
|
+
const processing = requiredObject(root, 'processing', '$');
|
|
235
|
+
const formats = requiredObject(root, 'formats', '$');
|
|
236
|
+
const aeon = requiredObject(formats, 'aeon', '$.formats');
|
|
237
|
+
const telex = requiredObject(formats, 'telex', '$.formats');
|
|
238
|
+
const transport = requiredObject(root, 'transport', '$');
|
|
239
|
+
return {
|
|
240
|
+
limitsId: AEONIC_LIMITS_ID,
|
|
241
|
+
limitsVersion: AEONIC_LIMITS_VERSION,
|
|
242
|
+
profileClaims,
|
|
243
|
+
structure: settings(structure, '$.structure', ['max_attribute_depth', 'max_generic_depth', 'max_generic_arguments', 'max_clarifier_values', 'max_datatype_components', 'max_value_nesting_depth', 'max_path_depth', 'max_string_codepoints', 'max_key_segment_codepoints', 'max_list_items', 'max_tuple_items', 'max_path_characters'], ['maxAttributeDepth', 'maxGenericDepth', 'maxGenericArguments', 'maxClarifierValues', 'maxDatatypeComponents', 'maxValueNestingDepth', 'maxPathDepth', 'maxStringCodepoints', 'maxKeySegmentCodepoints', 'maxListItems', 'maxTupleItems', 'maxPathCharacters']),
|
|
244
|
+
processing: settings(processing, '$.processing', ['max_events', 'max_reference_depth', 'max_materialized_weight'], ['maxEvents', 'maxReferenceDepth', 'maxMaterializedWeight']),
|
|
245
|
+
formats: {
|
|
246
|
+
aeon: settings(aeon, '$.formats.aeon', ['max_input_bytes', 'max_numeric_literal_characters', 'max_structured_comment_characters'], ['maxInputBytes', 'maxNumericLiteralCharacters', 'maxStructuredCommentCharacters']),
|
|
247
|
+
telex: settings(telex, '$.formats.telex', ['max_input_bytes', 'max_line_bytes', 'max_fields_per_event', 'max_decoded_payload_bytes'], ['maxInputBytes', 'maxLineBytes', 'maxFieldsPerEvent', 'maxDecodedPayloadBytes']),
|
|
248
|
+
},
|
|
249
|
+
transport: settings(transport, '$.transport', ['max_frame_bytes', 'max_buffer_bytes', 'max_header_bytes'], ['maxFrameBytes', 'maxBufferBytes', 'maxHeaderBytes']),
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
function settings(object, path, sourceKeys, targetKeys) {
|
|
253
|
+
assertKeys(object, path, sourceKeys);
|
|
254
|
+
const result = {};
|
|
255
|
+
sourceKeys.forEach((key, index) => { result[targetKeys[index]] = requiredSetting(object, key, path); });
|
|
256
|
+
return result;
|
|
257
|
+
}
|
|
258
|
+
function assertKeys(object, path, expected) {
|
|
259
|
+
const actual = Object.keys(object);
|
|
260
|
+
for (const key of actual)
|
|
261
|
+
if (!expected.includes(key))
|
|
262
|
+
throw new Error(`Unknown field ${path}.${key}`);
|
|
263
|
+
for (const key of expected)
|
|
264
|
+
if (!(key in object))
|
|
265
|
+
throw new Error(`Missing field ${path}.${key}`);
|
|
266
|
+
}
|
|
267
|
+
function requiredString(object, key, path) {
|
|
268
|
+
const value = object[key];
|
|
269
|
+
if (typeof value !== 'string')
|
|
270
|
+
throw new Error(`${path}.${key} must be a string`);
|
|
271
|
+
return value;
|
|
272
|
+
}
|
|
273
|
+
function requiredSetting(object, key, path) {
|
|
274
|
+
const value = object[key];
|
|
275
|
+
if (typeof value === 'number' || value === 'unBound' || value === 'useImplementation')
|
|
276
|
+
return value;
|
|
277
|
+
throw new Error(`${path}.${key} must be a non-negative integer, !"unBound", or !"useImplementation"`);
|
|
278
|
+
}
|
|
279
|
+
function requiredObject(object, key, path) {
|
|
280
|
+
const value = object[key];
|
|
281
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
282
|
+
throw new Error(`${path}.${key} must be an object`);
|
|
283
|
+
return value;
|
|
284
|
+
}
|
|
285
|
+
function requiredArray(object, key, path) {
|
|
286
|
+
const value = object[key];
|
|
287
|
+
if (!Array.isArray(value))
|
|
288
|
+
throw new Error(`${path}.${key} must be a list`);
|
|
289
|
+
return value;
|
|
290
|
+
}
|
|
291
|
+
function failure(code, path, message) {
|
|
292
|
+
return { limits: null, errors: [{ code, path, message }] };
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=limits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@altopelago/aeon-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Core AEON TypeScript compiler for parsing, validation, and assignment events.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@altopelago/aeon-lexer": "0.
|
|
49
|
-
"@altopelago/aeon-
|
|
50
|
-
"@altopelago/aeon-
|
|
51
|
-
"@altopelago/aeon-
|
|
48
|
+
"@altopelago/aeon-lexer": "0.13.0",
|
|
49
|
+
"@altopelago/aeon-aes": "0.13.0",
|
|
50
|
+
"@altopelago/aeon-annotation-stream": "0.13.0",
|
|
51
|
+
"@altopelago/aeon-parser": "0.13.0"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"build": "tsc -p tsconfig.json",
|