@kernlang/core 3.3.9 → 3.4.1

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 (97) hide show
  1. package/dist/capability-matrix.d.ts +15 -0
  2. package/dist/capability-matrix.js +245 -0
  3. package/dist/capability-matrix.js.map +1 -0
  4. package/dist/codegen/body-ts.d.ts +68 -0
  5. package/dist/codegen/body-ts.js +214 -0
  6. package/dist/codegen/body-ts.js.map +1 -0
  7. package/dist/codegen/data-layer.d.ts +1 -1
  8. package/dist/codegen/data-layer.js +59 -23
  9. package/dist/codegen/data-layer.js.map +1 -1
  10. package/dist/codegen/events.js +1 -1
  11. package/dist/codegen/events.js.map +1 -1
  12. package/dist/codegen/functions.js +48 -7
  13. package/dist/codegen/functions.js.map +1 -1
  14. package/dist/codegen/ground-layer.js +10 -6
  15. package/dist/codegen/ground-layer.js.map +1 -1
  16. package/dist/codegen/helpers.d.ts +3 -1
  17. package/dist/codegen/helpers.js +5 -1
  18. package/dist/codegen/helpers.js.map +1 -1
  19. package/dist/codegen/kern-stdlib.d.ts +63 -0
  20. package/dist/codegen/kern-stdlib.js +160 -0
  21. package/dist/codegen/kern-stdlib.js.map +1 -0
  22. package/dist/codegen/machines.js +4 -3
  23. package/dist/codegen/machines.js.map +1 -1
  24. package/dist/codegen/modules.d.ts +1 -0
  25. package/dist/codegen/modules.js +52 -1
  26. package/dist/codegen/modules.js.map +1 -1
  27. package/dist/codegen/screens.js +31 -9
  28. package/dist/codegen/screens.js.map +1 -1
  29. package/dist/codegen/stdlib-preamble.d.ts +58 -0
  30. package/dist/codegen/stdlib-preamble.js +271 -0
  31. package/dist/codegen/stdlib-preamble.js.map +1 -0
  32. package/dist/codegen/type-system.d.ts +113 -1
  33. package/dist/codegen/type-system.js +404 -31
  34. package/dist/codegen/type-system.js.map +1 -1
  35. package/dist/codegen-core.d.ts +2 -2
  36. package/dist/codegen-core.js +65 -10
  37. package/dist/codegen-core.js.map +1 -1
  38. package/dist/codegen-expression.d.ts +11 -0
  39. package/dist/codegen-expression.js +199 -0
  40. package/dist/codegen-expression.js.map +1 -0
  41. package/dist/concepts.d.ts +3 -3
  42. package/dist/config.d.ts +16 -0
  43. package/dist/config.js +13 -0
  44. package/dist/config.js.map +1 -1
  45. package/dist/decompiler.js +575 -4
  46. package/dist/decompiler.js.map +1 -1
  47. package/dist/importer.d.ts +1 -0
  48. package/dist/importer.js +574 -34
  49. package/dist/importer.js.map +1 -1
  50. package/dist/index.d.ts +16 -3
  51. package/dist/index.js +19 -3
  52. package/dist/index.js.map +1 -1
  53. package/dist/node-props.d.ts +181 -1
  54. package/dist/node-props.js.map +1 -1
  55. package/dist/parser-core.d.ts +7 -1
  56. package/dist/parser-core.js +33 -7
  57. package/dist/parser-core.js.map +1 -1
  58. package/dist/parser-diagnostics.js +8 -0
  59. package/dist/parser-diagnostics.js.map +1 -1
  60. package/dist/parser-expression.d.ts +22 -0
  61. package/dist/parser-expression.js +774 -0
  62. package/dist/parser-expression.js.map +1 -0
  63. package/dist/parser-keywords.js +16 -0
  64. package/dist/parser-keywords.js.map +1 -1
  65. package/dist/parser-tokenizer.d.ts +5 -3
  66. package/dist/parser-tokenizer.js +97 -16
  67. package/dist/parser-tokenizer.js.map +1 -1
  68. package/dist/parser-validate-effects.d.ts +21 -0
  69. package/dist/parser-validate-effects.js +188 -0
  70. package/dist/parser-validate-effects.js.map +1 -0
  71. package/dist/parser-validate-expressions.d.ts +6 -0
  72. package/dist/parser-validate-expressions.js +41 -0
  73. package/dist/parser-validate-expressions.js.map +1 -0
  74. package/dist/parser-validate-propagation.d.ts +105 -0
  75. package/dist/parser-validate-propagation.js +684 -0
  76. package/dist/parser-validate-propagation.js.map +1 -0
  77. package/dist/parser-validate-union-kind.d.ts +24 -0
  78. package/dist/parser-validate-union-kind.js +97 -0
  79. package/dist/parser-validate-union-kind.js.map +1 -0
  80. package/dist/parser.d.ts +10 -3
  81. package/dist/parser.js +11 -5
  82. package/dist/parser.js.map +1 -1
  83. package/dist/schema.d.ts +1 -1
  84. package/dist/schema.js +562 -30
  85. package/dist/schema.js.map +1 -1
  86. package/dist/semantic-validator.js +24 -13
  87. package/dist/semantic-validator.js.map +1 -1
  88. package/dist/spec.d.ts +5 -2
  89. package/dist/spec.js +36 -2
  90. package/dist/spec.js.map +1 -1
  91. package/dist/types.d.ts +7 -1
  92. package/dist/types.js +7 -1
  93. package/dist/types.js.map +1 -1
  94. package/dist/value-ir.d.ts +96 -0
  95. package/dist/value-ir.js +25 -0
  96. package/dist/value-ir.js.map +1 -0
  97. package/package.json +1 -1
@@ -19,12 +19,12 @@ export { generateError, generateFunction } from './codegen/functions.js';
19
19
  export { generateAction, generateActionRegistry, generateApply, generateAssume, generateAsync, generateAt, generateAvg, generateChunk, generateCollect, generateCompact, generateConcat, generateCountBy, generateDerive, generateDrop, generateEvery, generateExpect, generateFilter, generateFind, generateFindIndex, generateFindLast, generateFindLastIndex, generateFlat, generateFlatMap, generateFmt, generateForEach, generateGroupBy, generateGuard, generateIncludes, generateIndexBy, generateIndexOf, generateIntersect, generateInvariant, generateJoin, generateLastIndexOf, generateMap, generateMax, generateMaxBy, generateMin, generateMinBy, generatePartition, generatePattern, generatePluck, generateRange, generateRecover, generateReduce, generateResolve, generateReverse, generateSlice, generateSome, generateSort, generateSum, generateSumBy, generateTake, generateTransform, generateTry, generateUnique, generateUniqueBy, generateZip, } from './codegen/ground-layer.js';
20
20
  export { capitalize, cssPropertyName, dedent, emitLowConfidenceTodo, emitReasonAnnotations, exportPrefix, getChildren, getFirstChild, getProps, getPseudoStyles, getStyles, getThemeRefs, handlerCode, parseParamList, sourceComment, } from './codegen/helpers.js';
21
21
  export { generateMachine, generateMachineReducer } from './codegen/machines.js';
22
- export { generateImport } from './codegen/modules.js';
22
+ export { generateImport, generateUse } from './codegen/modules.js';
23
23
  export { emitRender, generateScreen } from './codegen/screens.js';
24
24
  export type { SemanticTypeMapping } from './codegen/semantic-types.js';
25
25
  export { mapSemanticType, SEMANTIC_TYPE_MAP } from './codegen/semantic-types.js';
26
26
  export { generateTest } from './codegen/test-gen.js';
27
- export { generateClass, generateConst, generateInterface, generateService, generateType, generateUnion, } from './codegen/type-system.js';
27
+ export { emitConstValue, emitParamList, generateClass, generateConst, generateDestructure, generateEnum, generateInterface, generateMapLit, generateService, generateSetLit, generateType, generateUnion, parseParamListFromChildren, } from './codegen/type-system.js';
28
28
  /** Register an evolved generator (called at startup). */
29
29
  export declare function registerEvolvedGenerator(keyword: string, fn: (node: IRNode) => string[]): void;
30
30
  /** Register a target-specific evolved generator (called at startup). */
@@ -22,12 +22,12 @@ export { generateError, generateFunction } from './codegen/functions.js';
22
22
  export { generateAction, generateActionRegistry, generateApply, generateAssume, generateAsync, generateAt, generateAvg, generateChunk, generateCollect, generateCompact, generateConcat, generateCountBy, generateDerive, generateDrop, generateEvery, generateExpect, generateFilter, generateFind, generateFindIndex, generateFindLast, generateFindLastIndex, generateFlat, generateFlatMap, generateFmt, generateForEach, generateGroupBy, generateGuard, generateIncludes, generateIndexBy, generateIndexOf, generateIntersect, generateInvariant, generateJoin, generateLastIndexOf, generateMap, generateMax, generateMaxBy, generateMin, generateMinBy, generatePartition, generatePattern, generatePluck, generateRange, generateRecover, generateReduce, generateResolve, generateReverse, generateSlice, generateSome, generateSort, generateSum, generateSumBy, generateTake, generateTransform, generateTry, generateUnique, generateUniqueBy, generateZip, } from './codegen/ground-layer.js';
23
23
  export { capitalize, cssPropertyName, dedent, emitLowConfidenceTodo, emitReasonAnnotations, exportPrefix, getChildren, getFirstChild, getProps, getPseudoStyles, getStyles, getThemeRefs, handlerCode, parseParamList, sourceComment, } from './codegen/helpers.js';
24
24
  export { generateMachine, generateMachineReducer } from './codegen/machines.js';
25
- export { generateImport } from './codegen/modules.js';
25
+ export { generateImport, generateUse } from './codegen/modules.js';
26
26
  export { emitRender, generateScreen } from './codegen/screens.js';
27
27
  export { mapSemanticType, SEMANTIC_TYPE_MAP } from './codegen/semantic-types.js';
28
28
  export { generateTest } from './codegen/test-gen.js';
29
29
  // ── Re-exports: domain generators (backward compatibility) ──────────────
30
- export { generateClass, generateConst, generateInterface, generateService, generateType, generateUnion, } from './codegen/type-system.js';
30
+ export { emitConstValue, emitParamList, generateClass, generateConst, generateDestructure, generateEnum, generateInterface, generateMapLit, generateService, generateSetLit, generateType, generateUnion, parseParamListFromChildren, } from './codegen/type-system.js';
31
31
  import { generateCache, generateConfig, generateDependency, generateModel, generateRepository, generateStore, } from './codegen/data-layer.js';
32
32
  // ── Imports for local use within this file ──────────────────────────────
33
33
  import { emitIdentifier, emitImportSpecifier, emitTemplateSafe, emitTypeAnnotation } from './codegen/emitters.js';
@@ -36,10 +36,10 @@ import { generateError, generateFunction } from './codegen/functions.js';
36
36
  import { generateAction, generateActionRegistry, generateApply, generateAssume, generateAsync, generateAt, generateAvg, generateChunk, generateCollect, generateCompact, generateConcat, generateCountBy, generateDerive, generateDrop, generateEvery, generateExpect, generateFilter, generateFind, generateFindIndex, generateFindLast, generateFindLastIndex, generateFlat, generateFlatMap, generateFmt, generateForEach, generateGroupBy, generateGuard, generateIncludes, generateIndexBy, generateIndexOf, generateIntersect, generateInvariant, generateJoin, generateLastIndexOf, generateMap, generateMax, generateMaxBy, generateMin, generateMinBy, generatePartition, generatePattern, generatePluck, generateRange, generateRecover, generateReduce, generateResolve, generateReverse, generateSlice, generateSome, generateSort, generateSum, generateSumBy, generateTake, generateTransform, generateTry, generateUnique, generateUniqueBy, generateZip, } from './codegen/ground-layer.js';
37
37
  import { emitLowConfidenceTodo, emitReasonAnnotations, getChildren, getFirstChild, getProps, } from './codegen/helpers.js';
38
38
  import { generateMachine } from './codegen/machines.js';
39
- import { generateImport } from './codegen/modules.js';
39
+ import { generateImport, generateUse } from './codegen/modules.js';
40
40
  import { generateScreen } from './codegen/screens.js';
41
41
  import { generateTest } from './codegen/test-gen.js';
42
- import { generateClass, generateConst, generateInterface, generateService, generateType, generateUnion, } from './codegen/type-system.js';
42
+ import { emitConstValue, generateClass, generateConst, generateDestructure, generateEnum, generateInterface, generateMapLit, generateService, generateSetLit, generateType, generateUnion, } from './codegen/type-system.js';
43
43
  // ── Internal aliases ────────────────────────────────────────────────────
44
44
  const p = getProps;
45
45
  const kids = getChildren;
@@ -163,18 +163,34 @@ export function generateEach(node) {
163
163
  // body. Otherwise generateCoreNode returns `[]` for `let` (the JSX path
164
164
  // consumes them in codegen/screens.ts) and the binding is silently dropped.
165
165
  if (child.type === 'let') {
166
+ // Mirror screens.ts:renderLetBinding — slice 3a adds `value=` (ValueIR
167
+ // canonicalised) alongside the legacy `expr=` (rawExpr passthrough).
168
+ // Codex hold #2: this statement-position path was previously expr-only.
169
+ // Gate mirrors slice 3b: unquoted-empty `value=` (no __quotedProps)
170
+ // must be treated as absent — routing it through emitConstValue throws
171
+ // and produces invalid TS `const x: T = ;`. Quoted empty `value=""`
172
+ // (with __quotedProps) is a legal `""` literal.
166
173
  const lp = getProps(child);
167
174
  const lname = emitIdentifier(lp.name, 'binding', child);
175
+ const rawValue = lp.value;
168
176
  const rawExpr = lp.expr;
169
- const expr = rawExpr && typeof rawExpr === 'object' && rawExpr.__expr
170
- ? rawExpr.code
171
- : rawExpr || '';
172
- if (!expr) {
173
- throw new KernCodegenError("let node requires an 'expr' prop", child);
177
+ let rhs;
178
+ const valuePresent = rawValue !== undefined && (rawValue !== '' || child.__quotedProps?.includes('value') === true);
179
+ if (valuePresent) {
180
+ rhs = emitConstValue(child, rawValue);
181
+ }
182
+ else if (rawExpr !== undefined && rawExpr !== '') {
183
+ rhs =
184
+ typeof rawExpr === 'object' && rawExpr.__expr
185
+ ? rawExpr.code
186
+ : rawExpr;
187
+ }
188
+ else {
189
+ throw new KernCodegenError("let node requires a 'value' or 'expr' prop", child);
174
190
  }
175
191
  const t = lp.type;
176
192
  const typeAnn = t ? `: ${emitTypeAnnotation(t, 'unknown', child)}` : '';
177
- lines.push(` const ${lname}${typeAnn} = ${expr};`);
193
+ lines.push(` const ${lname}${typeAnn} = ${rhs};`);
178
194
  continue;
179
195
  }
180
196
  const childLines = generateCoreNode(child);
@@ -280,6 +296,10 @@ export const CORE_NODE_TYPES = new Set([
280
296
  'fn',
281
297
  'union',
282
298
  'variant',
299
+ 'enum',
300
+ 'member',
301
+ 'indexer',
302
+ 'overload',
283
303
  'service',
284
304
  'class',
285
305
  'method',
@@ -299,7 +319,16 @@ export const CORE_NODE_TYPES = new Set([
299
319
  'it',
300
320
  'event',
301
321
  'import',
322
+ 'use',
323
+ 'from',
302
324
  'const',
325
+ 'destructure',
326
+ 'binding',
327
+ 'element',
328
+ 'mapLit',
329
+ 'mapEntry',
330
+ 'setLit',
331
+ 'setItem',
303
332
  'hook',
304
333
  'on',
305
334
  'websocket',
@@ -430,6 +459,8 @@ export function generateCoreNode(node, target, runtime) {
430
459
  return generateInterface(node);
431
460
  case 'union':
432
461
  return generateUnion(node);
462
+ case 'enum':
463
+ return generateEnum(node);
433
464
  case 'service':
434
465
  return generateService(node);
435
466
  case 'class':
@@ -454,8 +485,26 @@ export function generateCoreNode(node, target, runtime) {
454
485
  return generateEvent(node);
455
486
  case 'import':
456
487
  return generateImport(node);
488
+ case 'use':
489
+ return generateUse(node);
490
+ case 'from':
491
+ return []; // Children of `use` — handled by generateUse, not at top level
457
492
  case 'const':
458
493
  return generateConst(node);
494
+ case 'destructure':
495
+ return generateDestructure(node);
496
+ case 'binding':
497
+ case 'element':
498
+ // Children of `destructure` — handled by generateDestructure, not at top level.
499
+ return [];
500
+ case 'mapLit':
501
+ return generateMapLit(node);
502
+ case 'setLit':
503
+ return generateSetLit(node);
504
+ case 'mapEntry':
505
+ case 'setItem':
506
+ // Children of `mapLit` / `setLit` — handled by their parent generator, not at top level.
507
+ return [];
459
508
  case 'hook':
460
509
  return []; // Handled by @kernlang/react
461
510
  case 'on':
@@ -641,6 +690,12 @@ export function generateCoreNode(node, target, runtime) {
641
690
  // Structural children consumed by parents
642
691
  case 'variant':
643
692
  return [];
693
+ case 'member':
694
+ return [];
695
+ case 'indexer':
696
+ return [];
697
+ case 'overload':
698
+ return [];
644
699
  case 'method':
645
700
  return [];
646
701
  case 'singleton':
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-core.js","sourceRoot":"","sources":["../src/codegen-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen-core.js","sourceRoot":"","sources":["../src/codegen-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /** Serialize ValueIR to a TypeScript expression string. */
2
+ import type { ValueIR } from './value-ir.js';
3
+ export declare function emitExpression(node: ValueIR): string;
4
+ /** Precedence-aware paren-wrap predicate for binary children — exported so
5
+ * the Python target can share the same logic. The Python `binary` emitter
6
+ * doesn't have its own parent-op context outside this helper. */
7
+ export declare function needsBinaryParens(child: ValueIR, parentOp: string, side: 'left' | 'right'): boolean;
8
+ /** Slice 2b helper — wrap an arg in parens when it's structurally a binary,
9
+ * unary, or spread expression. Templates like `'$0.length'` would otherwise
10
+ * bind member-access tighter than the arg's own ops. */
11
+ export declare function needsArgParens(arg: ValueIR): boolean;
@@ -0,0 +1,199 @@
1
+ /** Serialize ValueIR to a TypeScript expression string. */
2
+ import { applyTemplate, KERN_STDLIB_MODULES, lookupStdlib, suggestStdlibMethod } from './codegen/kern-stdlib.js';
3
+ // Slice 2c — extended precedence table covering equality, relational,
4
+ // additive, multiplicative ops alongside the existing nullish/logical.
5
+ // Numbers follow MDN's precedence ordering (higher = binds tighter).
6
+ const PREC = {
7
+ '??': 1,
8
+ '||': 2,
9
+ '&&': 3,
10
+ '==': 10,
11
+ '!=': 10,
12
+ '===': 10,
13
+ '!==': 10,
14
+ '<': 11,
15
+ '<=': 11,
16
+ '>': 11,
17
+ '>=': 11,
18
+ '+': 13,
19
+ '-': 13,
20
+ '*': 14,
21
+ '/': 14,
22
+ '%': 14,
23
+ };
24
+ export function emitExpression(node) {
25
+ switch (node.kind) {
26
+ case 'numLit':
27
+ return node.raw;
28
+ case 'strLit': {
29
+ const q = node.quote;
30
+ const escaped = node.value
31
+ .replace(/\\/g, '\\\\')
32
+ .replace(/\n/g, '\\n')
33
+ .replace(/\r/g, '\\r')
34
+ .replace(/\t/g, '\\t')
35
+ .replace(/\x08/g, '\\b')
36
+ .replace(/\f/g, '\\f')
37
+ .replace(/\v/g, '\\v')
38
+ .replace(new RegExp(q, 'g'), `\\${q}`);
39
+ return `${q}${escaped}${q}`;
40
+ }
41
+ case 'boolLit':
42
+ return node.value ? 'true' : 'false';
43
+ case 'nullLit':
44
+ return 'null';
45
+ case 'undefLit':
46
+ return 'undefined';
47
+ case 'regexLit':
48
+ return `/${node.pattern}/${node.flags}`;
49
+ case 'tmplLit': {
50
+ let out = '`';
51
+ for (let i = 0; i < node.quasis.length; i++) {
52
+ out += escapeTemplateQuasi(node.quasis[i]);
53
+ if (i < node.expressions.length)
54
+ out += `\${${emitExpression(node.expressions[i])}}`;
55
+ }
56
+ out += '`';
57
+ return out;
58
+ }
59
+ case 'ident':
60
+ return node.name;
61
+ case 'member': {
62
+ const obj = emitExpression(node.object);
63
+ const wrapped = needsReceiverParens(node.object) ? `(${obj})` : obj;
64
+ return `${wrapped}${node.optional ? '?.' : '.'}${node.property}`;
65
+ }
66
+ case 'call': {
67
+ // Slice 2a — KERN-stdlib dispatch. When the callee is `Module.method`
68
+ // and `Module` is a known stdlib module, route through the per-target
69
+ // lowering table instead of the default emit path.
70
+ const stdlib = applyStdlibLoweringTS(node);
71
+ if (stdlib !== null)
72
+ return stdlib;
73
+ const callee = emitExpression(node.callee);
74
+ const wrapped = needsReceiverParens(node.callee) ? `(${callee})` : callee;
75
+ const args = node.args.map(emitExpression).join(', ');
76
+ return node.optional ? `${wrapped}?.(${args})` : `${wrapped}(${args})`;
77
+ }
78
+ case 'binary': {
79
+ const left = emitExpression(node.left);
80
+ const right = emitExpression(node.right);
81
+ const lp = needsParens(node.left, node.op, 'left') ? `(${left})` : left;
82
+ const rp = needsParens(node.right, node.op, 'right') ? `(${right})` : right;
83
+ return `${lp} ${node.op} ${rp}`;
84
+ }
85
+ case 'unary': {
86
+ // Slice-2 review fix: wrap binary/unary/spread args in parens to preserve
87
+ // unary's tight binding. `!(a === b)` would otherwise emit `!a === b`.
88
+ const arg = emitExpression(node.argument);
89
+ const wrapped = needsArgParens(node.argument) ? `(${arg})` : arg;
90
+ const sep = node.op === 'typeof' || node.op === 'void' ? ' ' : '';
91
+ return `${node.op}${sep}${wrapped}`;
92
+ }
93
+ case 'spread':
94
+ return `...${emitExpression(node.argument)}`;
95
+ case 'await':
96
+ return `await ${emitExpression(node.argument)}`;
97
+ case 'new':
98
+ return `new ${emitExpression(node.argument)}`;
99
+ case 'objectLit': {
100
+ // Slice 2d — TS object literal. Bare-key when valid identifier; else JSON-quote.
101
+ // Empty object emits `{}` to match JS convention.
102
+ if (node.entries.length === 0)
103
+ return '{}';
104
+ const entries = node.entries.map((e) => {
105
+ if ('kind' in e && e.kind === 'spread') {
106
+ return `...${emitExpression(e.argument)}`;
107
+ }
108
+ const prop = e;
109
+ const k = isValidJSIdent(prop.key) ? prop.key : JSON.stringify(prop.key);
110
+ return `${k}: ${emitExpression(prop.value)}`;
111
+ });
112
+ return `{ ${entries.join(', ')} }`;
113
+ }
114
+ case 'arrayLit':
115
+ return `[${node.items.map(emitExpression).join(', ')}]`;
116
+ case 'propagate':
117
+ throw new Error(`Propagation '${node.op}' is only allowed at statement level (top of \`let value=\` or \`return value=\`). ` +
118
+ `Mid-expression \`${node.op}\` (e.g., \`Text.upper(call()${node.op})\`) is rejected — bind the call to a \`let\` first, then use the bound name.`);
119
+ }
120
+ }
121
+ /** Precedence-aware paren-wrap predicate for binary children — exported so
122
+ * the Python target can share the same logic. The Python `binary` emitter
123
+ * doesn't have its own parent-op context outside this helper. */
124
+ export function needsBinaryParens(child, parentOp, side) {
125
+ if (child.kind !== 'binary')
126
+ return false;
127
+ // ?? mixed with || or && requires parens (either direction).
128
+ if (parentOp === '??' && (child.op === '||' || child.op === '&&'))
129
+ return true;
130
+ if ((parentOp === '||' || parentOp === '&&') && child.op === '??')
131
+ return true;
132
+ const cp = PREC[child.op];
133
+ const pp = PREC[parentOp];
134
+ if (cp === undefined || pp === undefined)
135
+ return false;
136
+ if (cp < pp)
137
+ return true;
138
+ // Same precedence, left-associative: right child needs parens to preserve grouping.
139
+ if (cp === pp && side === 'right')
140
+ return true;
141
+ return false;
142
+ }
143
+ function needsParens(child, parentOp, side) {
144
+ return needsBinaryParens(child, parentOp, side);
145
+ }
146
+ function needsReceiverParens(child) {
147
+ return child.kind === 'binary' || child.kind === 'unary' || child.kind === 'spread';
148
+ }
149
+ function escapeTemplateQuasi(s) {
150
+ return s.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
151
+ }
152
+ /** Slice 2d — used by objectLit emit to decide between bare-key (`{a: 1}`)
153
+ * and JSON-quoted key (`{"a-b": 1}`) in TS output. Mirrors the lexical-form
154
+ * rule for TS object-literal property names. */
155
+ function isValidJSIdent(s) {
156
+ return /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(s);
157
+ }
158
+ /** Slice 2a — KERN-stdlib dispatch for TS. Returns the lowered TS string when
159
+ * the call matches `<KnownModule>.<method>(args)`, or null when it doesn't.
160
+ * Throws on `<KnownModule>.<unknownMethod>(...)` with a did-you-mean.
161
+ *
162
+ * Args whose ValueIR is `binary`/`unary`/`spread` are wrapped in parens
163
+ * before template substitution so templates like `'$0.length'` produce
164
+ * correct precedence even when `$0` is `a + b` (→ `(a + b).length`). */
165
+ function applyStdlibLoweringTS(call) {
166
+ const callee = call.callee;
167
+ if (callee.kind !== 'member')
168
+ return null;
169
+ if (callee.object.kind !== 'ident')
170
+ return null;
171
+ const moduleName = callee.object.name;
172
+ if (!KERN_STDLIB_MODULES.has(moduleName))
173
+ return null;
174
+ const methodName = callee.property;
175
+ const entry = lookupStdlib(moduleName, methodName);
176
+ if (entry === null) {
177
+ const suggestion = suggestStdlibMethod(moduleName, methodName);
178
+ const hint = suggestion ? ` Did you mean '${moduleName}.${suggestion}'?` : '';
179
+ throw new Error(`Unknown KERN-stdlib method '${moduleName}.${methodName}'.${hint}`);
180
+ }
181
+ // Slice-2 review fix: enforce declared arity. Silently ignoring extra args
182
+ // hides bugs (`Text.upper(s, extra)` would emit `s.toUpperCase()` and drop
183
+ // `extra` without warning).
184
+ if (call.args.length !== entry.arity) {
185
+ throw new Error(`KERN-stdlib '${moduleName}.${methodName}' takes ${entry.arity} arg${entry.arity === 1 ? '' : 's'}, got ${call.args.length}.`);
186
+ }
187
+ const args = call.args.map((a) => {
188
+ const emitted = emitExpression(a);
189
+ return needsArgParens(a) ? `(${emitted})` : emitted;
190
+ });
191
+ return applyTemplate(entry.ts, args);
192
+ }
193
+ /** Slice 2b helper — wrap an arg in parens when it's structurally a binary,
194
+ * unary, or spread expression. Templates like `'$0.length'` would otherwise
195
+ * bind member-access tighter than the arg's own ops. */
196
+ export function needsArgParens(arg) {
197
+ return arg.kind === 'binary' || arg.kind === 'unary' || arg.kind === 'spread';
198
+ }
199
+ //# sourceMappingURL=codegen-expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen-expression.js","sourceRoot":"","sources":["../src/codegen-expression.ts"],"names":[],"mappings":"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"}
@@ -156,9 +156,9 @@ export interface EffectPayload {
156
156
  hasAuthHeader?: boolean;
157
157
  /**
158
158
  * For `network` subtype only — names of body fields the call sends.
159
- * Populated when the body is a literal object, directly or wrapped in
160
- * `JSON.stringify({ ... })`, with only identifier keys (no spread, no
161
- * computed `[x]` keys). Present only when `sentFieldsResolved === true`.
159
+ * Populated when the body is a literal object, or when the mapper can derive
160
+ * a complete field set from a local payload type/interface. Present only
161
+ * when `sentFieldsResolved === true`.
162
162
  */
163
163
  sentFields?: readonly string[];
164
164
  /**
package/dist/config.d.ts CHANGED
@@ -58,6 +58,8 @@ export interface KernConfig {
58
58
  showConfidence?: boolean;
59
59
  /** Cross-stack review precision mode: guard is high precision, audit is broader. */
60
60
  crossStackMode?: 'guard' | 'audit';
61
+ /** Named review posture. `ci` tightens defaults when selected by the CLI. */
62
+ policy?: 'guard' | 'ci' | 'audit';
61
63
  /** Minimum confidence for findings to count in enforcement (default: 0) */
62
64
  minConfidence?: number;
63
65
  /** Maximum cognitive complexity allowed (default: 15) */
@@ -77,6 +79,13 @@ export interface KernConfig {
77
79
  /** Per-symbol overrides in `path#name` form. */
78
80
  symbols?: string[];
79
81
  };
82
+ /** Persist machine-readable review telemetry when enabled. */
83
+ telemetry?: {
84
+ enabled?: boolean;
85
+ outputPath?: string;
86
+ append?: boolean;
87
+ includeFindings?: boolean;
88
+ };
80
89
  };
81
90
  }
82
91
  /** Fully resolved config — all fields required, no optionals */
@@ -121,6 +130,7 @@ export interface ResolvedKernConfig {
121
130
  review: {
122
131
  showConfidence: boolean;
123
132
  crossStackMode: 'guard' | 'audit';
133
+ policy?: 'guard' | 'ci' | 'audit';
124
134
  minConfidence: number;
125
135
  maxComplexity: number;
126
136
  disabledRules: string[];
@@ -129,6 +139,12 @@ export interface ResolvedKernConfig {
129
139
  files: string[];
130
140
  symbols: string[];
131
141
  };
142
+ telemetry: {
143
+ enabled: boolean;
144
+ outputPath?: string;
145
+ append: boolean;
146
+ includeFindings: boolean;
147
+ };
132
148
  };
133
149
  }
134
150
  export declare const DEFAULT_CONFIG: ResolvedKernConfig;
package/dist/config.js CHANGED
@@ -59,6 +59,7 @@ export const DEFAULT_CONFIG = {
59
59
  review: {
60
60
  showConfidence: false,
61
61
  crossStackMode: 'guard',
62
+ policy: undefined,
62
63
  minConfidence: 0,
63
64
  maxComplexity: 15,
64
65
  disabledRules: [],
@@ -67,6 +68,11 @@ export const DEFAULT_CONFIG = {
67
68
  files: [],
68
69
  symbols: [],
69
70
  },
71
+ telemetry: {
72
+ enabled: false,
73
+ append: true,
74
+ includeFindings: false,
75
+ },
70
76
  },
71
77
  };
72
78
  /**
@@ -137,6 +143,7 @@ export function resolveConfig(user) {
137
143
  review: {
138
144
  showConfidence: user.review?.showConfidence ?? DEFAULT_CONFIG.review.showConfidence,
139
145
  crossStackMode: user.review?.crossStackMode ?? DEFAULT_CONFIG.review.crossStackMode,
146
+ policy: user.review?.policy ?? DEFAULT_CONFIG.review.policy,
140
147
  minConfidence: user.review?.minConfidence ?? DEFAULT_CONFIG.review.minConfidence,
141
148
  maxComplexity: user.review?.maxComplexity ?? DEFAULT_CONFIG.review.maxComplexity,
142
149
  disabledRules: user.review?.disabledRules ?? DEFAULT_CONFIG.review.disabledRules,
@@ -145,6 +152,12 @@ export function resolveConfig(user) {
145
152
  files: user.review?.publicApi?.files ?? DEFAULT_CONFIG.review.publicApi.files,
146
153
  symbols: user.review?.publicApi?.symbols ?? DEFAULT_CONFIG.review.publicApi.symbols,
147
154
  },
155
+ telemetry: {
156
+ enabled: user.review?.telemetry?.enabled ?? DEFAULT_CONFIG.review.telemetry.enabled,
157
+ outputPath: user.review?.telemetry?.outputPath ?? DEFAULT_CONFIG.review.telemetry.outputPath,
158
+ append: user.review?.telemetry?.append ?? DEFAULT_CONFIG.review.telemetry.append,
159
+ includeFindings: user.review?.telemetry?.includeFindings ?? DEFAULT_CONFIG.review.telemetry.includeFindings,
160
+ },
148
161
  },
149
162
  };
150
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAmBtD,wDAAwD;AACxD,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,KAAK;IACL,QAAQ;IACR,UAAU;IACV,KAAK;IACL,QAAQ;IACR,SAAS;IACT,KAAK;IACL,UAAU;IACV,KAAK;IACL,KAAK;IACL,MAAM;IACN,SAAS;IACT,KAAK;CACN,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,WAAW,GAAiB,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC;AAIpE,MAAM,CAAC,MAAM,gBAAgB,GAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAsJ3F,MAAM,CAAC,MAAM,cAAc,GAAuB;IAChD,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,MAAM;IACjB,iBAAiB,EAAE,EAAE;IACrB,SAAS,EAAE,EAAE;IACb,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,gBAAgB;QAC1B,UAAU,EAAE,eAAe;KAC5B;IACD,UAAU,EAAE;QACV,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,cAAc;QAC7B,QAAQ,EAAE,EAAE;KACb;IACD,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE;IAC7B,MAAM,EAAE;QACN,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,KAAK;KAClB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE;YACN,QAAQ,EAAE,YAAY;SACvB;KACF;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;KAC5C;IACD,MAAM,EAAE;QACN,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,OAAO;QACvB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,EAAE;QACjB,aAAa,EAAE,EAAE;QACjB,4BAA4B,EAAE,KAAK;QACnC,SAAS,EAAE;YACT,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;SACZ;QACD,SAAS,EAAE;YACT,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,KAAK;SACvB;KACF;CACF,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,IAA0B;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IAE7D,kBAAkB;IAClB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,eAAe,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/F,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,eAAe,CAAC,qBAAqB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM;QAC5C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS;QACrD,iBAAiB,EAAE;YACjB,GAAG,cAAc,CAAC,iBAAiB;YACnC,GAAG,IAAI,CAAC,iBAAiB;SAC1B;QACD,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS;QACrD,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO;YAC1D,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ;YAC7D,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU;SACpE;QACD,UAAU,EAAE;YACV,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,IAAI,cAAc,CAAC,UAAU,CAAC,SAAS;YAC5E,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,IAAI,cAAc,CAAC,UAAU,CAAC,aAAa;YACxF,QAAQ,EAAE,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE;SAClF;QACD,MAAM,EAAE,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;QACpD,MAAM,EAAE;YACN,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM;YAC3D,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,cAAc,CAAC,MAAM,CAAC,UAAU;SACxE;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ;YACnE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM;YAC7D,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW;YAC5E,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ;aACnF;SACF;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ;YACnE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI;YACvD,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI;YACvD,OAAO,EAAE;gBACP,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;gBACxE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM;gBAC9E,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnG;SACF;QACD,MAAM,EAAE;YACN,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,IAAI,cAAc,CAAC,MAAM,CAAC,cAAc;YACnF,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,IAAI,cAAc,CAAC,MAAM,CAAC,cAAc;YACnF,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM;YAC3D,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,cAAc,CAAC,MAAM,CAAC,aAAa;YAChF,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,cAAc,CAAC,MAAM,CAAC,aAAa;YAChF,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,cAAc,CAAC,MAAM,CAAC,aAAa;YAChF,4BAA4B,EAC1B,IAAI,CAAC,MAAM,EAAE,4BAA4B,IAAI,cAAc,CAAC,MAAM,CAAC,4BAA4B;YACjG,SAAS,EAAE;gBACT,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK;gBAC7E,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;aACpF;YACD,SAAS,EAAE;gBACT,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;gBACnF,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,IAAI,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU;gBAC5F,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;gBAChF,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,IAAI,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe;aAC5G;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,YAAgC,CAAC;IAErC,+EAA+E;IAC/E,gEAAgE;IAChE,SAAS,IAAI,CAAC,IAAY;QACxB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC7B,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,YAAY,GAAG,CAAC,CAAC;gBAC5C,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,CAAC;YACb,KAAK,YAAY;gBACf,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,KAAK,KAAK,CAAC;YACX,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU;gBACb,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;YACR,KAAK,KAAK,CAAC;YACX,KAAK,SAAS;gBACZ,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;YACR,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,OAAO,CAAC;YACb,KAAK,UAAU;gBACb,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;QACV,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,yCAAyC;IACzC,IAAI,YAAY,IAAI,aAAa,CAAC,QAAQ,CAAC,YAA0B,CAAC,EAAE,CAAC;QACvE,OAAO,YAA0B,CAAC;IACpC,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,MAAM;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,MAAM;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,SAAS;QAAE,OAAO,QAAQ,CAAC;IAE/B,iEAAiE;IACjE,sFAAsF;IACtF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,WAAW,CAAC,IAAyB;IACnD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}