@kernlang/core 3.3.9 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) 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/data-layer.d.ts +1 -1
  5. package/dist/codegen/data-layer.js +59 -23
  6. package/dist/codegen/data-layer.js.map +1 -1
  7. package/dist/codegen/events.js +1 -1
  8. package/dist/codegen/events.js.map +1 -1
  9. package/dist/codegen/functions.js +29 -5
  10. package/dist/codegen/functions.js.map +1 -1
  11. package/dist/codegen/ground-layer.js +10 -6
  12. package/dist/codegen/ground-layer.js.map +1 -1
  13. package/dist/codegen/helpers.d.ts +3 -1
  14. package/dist/codegen/helpers.js +5 -1
  15. package/dist/codegen/helpers.js.map +1 -1
  16. package/dist/codegen/machines.js +4 -3
  17. package/dist/codegen/machines.js.map +1 -1
  18. package/dist/codegen/modules.d.ts +1 -0
  19. package/dist/codegen/modules.js +52 -1
  20. package/dist/codegen/modules.js.map +1 -1
  21. package/dist/codegen/screens.js +31 -9
  22. package/dist/codegen/screens.js.map +1 -1
  23. package/dist/codegen/stdlib-preamble.d.ts +39 -0
  24. package/dist/codegen/stdlib-preamble.js +213 -0
  25. package/dist/codegen/stdlib-preamble.js.map +1 -0
  26. package/dist/codegen/type-system.d.ts +113 -1
  27. package/dist/codegen/type-system.js +389 -30
  28. package/dist/codegen/type-system.js.map +1 -1
  29. package/dist/codegen-core.d.ts +2 -2
  30. package/dist/codegen-core.js +58 -10
  31. package/dist/codegen-core.js.map +1 -1
  32. package/dist/codegen-expression.d.ts +3 -0
  33. package/dist/codegen-expression.js +93 -0
  34. package/dist/codegen-expression.js.map +1 -0
  35. package/dist/concepts.d.ts +3 -3
  36. package/dist/config.d.ts +16 -0
  37. package/dist/config.js +13 -0
  38. package/dist/config.js.map +1 -1
  39. package/dist/decompiler.js +356 -4
  40. package/dist/decompiler.js.map +1 -1
  41. package/dist/importer.d.ts +1 -0
  42. package/dist/importer.js +574 -34
  43. package/dist/importer.js.map +1 -1
  44. package/dist/index.d.ts +6 -3
  45. package/dist/index.js +9 -3
  46. package/dist/index.js.map +1 -1
  47. package/dist/node-props.d.ts +177 -1
  48. package/dist/node-props.js.map +1 -1
  49. package/dist/parser-core.js +30 -5
  50. package/dist/parser-core.js.map +1 -1
  51. package/dist/parser-diagnostics.js +5 -0
  52. package/dist/parser-diagnostics.js.map +1 -1
  53. package/dist/parser-expression.d.ts +17 -0
  54. package/dist/parser-expression.js +498 -0
  55. package/dist/parser-expression.js.map +1 -0
  56. package/dist/parser-tokenizer.d.ts +5 -3
  57. package/dist/parser-tokenizer.js +97 -16
  58. package/dist/parser-tokenizer.js.map +1 -1
  59. package/dist/parser-validate-effects.d.ts +21 -0
  60. package/dist/parser-validate-effects.js +188 -0
  61. package/dist/parser-validate-effects.js.map +1 -0
  62. package/dist/parser-validate-expressions.d.ts +6 -0
  63. package/dist/parser-validate-expressions.js +41 -0
  64. package/dist/parser-validate-expressions.js.map +1 -0
  65. package/dist/parser-validate-union-kind.d.ts +24 -0
  66. package/dist/parser-validate-union-kind.js +97 -0
  67. package/dist/parser-validate-union-kind.js.map +1 -0
  68. package/dist/schema.d.ts +1 -1
  69. package/dist/schema.js +373 -27
  70. package/dist/schema.js.map +1 -1
  71. package/dist/semantic-validator.js +15 -8
  72. package/dist/semantic-validator.js.map +1 -1
  73. package/dist/spec.d.ts +5 -2
  74. package/dist/spec.js +24 -2
  75. package/dist/spec.js.map +1 -1
  76. package/dist/types.d.ts +7 -1
  77. package/dist/types.js +7 -1
  78. package/dist/types.js.map +1 -1
  79. package/dist/value-ir.d.ts +69 -0
  80. package/dist/value-ir.js +20 -0
  81. package/dist/value-ir.js.map +1 -0
  82. package/package.json +1 -1
@@ -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,6 +319,8 @@ export const CORE_NODE_TYPES = new Set([
299
319
  'it',
300
320
  'event',
301
321
  'import',
322
+ 'use',
323
+ 'from',
302
324
  'const',
303
325
  'hook',
304
326
  'on',
@@ -430,6 +452,8 @@ export function generateCoreNode(node, target, runtime) {
430
452
  return generateInterface(node);
431
453
  case 'union':
432
454
  return generateUnion(node);
455
+ case 'enum':
456
+ return generateEnum(node);
433
457
  case 'service':
434
458
  return generateService(node);
435
459
  case 'class':
@@ -454,8 +478,26 @@ export function generateCoreNode(node, target, runtime) {
454
478
  return generateEvent(node);
455
479
  case 'import':
456
480
  return generateImport(node);
481
+ case 'use':
482
+ return generateUse(node);
483
+ case 'from':
484
+ return []; // Children of `use` — handled by generateUse, not at top level
457
485
  case 'const':
458
486
  return generateConst(node);
487
+ case 'destructure':
488
+ return generateDestructure(node);
489
+ case 'binding':
490
+ case 'element':
491
+ // Children of `destructure` — handled by generateDestructure, not at top level.
492
+ return [];
493
+ case 'mapLit':
494
+ return generateMapLit(node);
495
+ case 'setLit':
496
+ return generateSetLit(node);
497
+ case 'mapEntry':
498
+ case 'setItem':
499
+ // Children of `mapLit` / `setLit` — handled by their parent generator, not at top level.
500
+ return [];
459
501
  case 'hook':
460
502
  return []; // Handled by @kernlang/react
461
503
  case 'on':
@@ -641,6 +683,12 @@ export function generateCoreNode(node, target, runtime) {
641
683
  // Structural children consumed by parents
642
684
  case 'variant':
643
685
  return [];
686
+ case 'member':
687
+ return [];
688
+ case 'indexer':
689
+ return [];
690
+ case 'overload':
691
+ return [];
644
692
  case 'method':
645
693
  return [];
646
694
  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,3 @@
1
+ /** Serialize ValueIR to a TypeScript expression string. */
2
+ import type { ValueIR } from './value-ir.js';
3
+ export declare function emitExpression(node: ValueIR): string;
@@ -0,0 +1,93 @@
1
+ /** Serialize ValueIR to a TypeScript expression string. */
2
+ const PREC = {
3
+ '??': 1,
4
+ '||': 2,
5
+ '&&': 3,
6
+ };
7
+ export function emitExpression(node) {
8
+ switch (node.kind) {
9
+ case 'numLit':
10
+ return node.raw;
11
+ case 'strLit': {
12
+ const q = node.quote;
13
+ const escaped = node.value
14
+ .replace(/\\/g, '\\\\')
15
+ .replace(/\n/g, '\\n')
16
+ .replace(/\r/g, '\\r')
17
+ .replace(/\t/g, '\\t')
18
+ .replace(/\x08/g, '\\b')
19
+ .replace(/\f/g, '\\f')
20
+ .replace(/\v/g, '\\v')
21
+ .replace(new RegExp(q, 'g'), `\\${q}`);
22
+ return `${q}${escaped}${q}`;
23
+ }
24
+ case 'boolLit':
25
+ return node.value ? 'true' : 'false';
26
+ case 'nullLit':
27
+ return 'null';
28
+ case 'undefLit':
29
+ return 'undefined';
30
+ case 'regexLit':
31
+ return `/${node.pattern}/${node.flags}`;
32
+ case 'tmplLit': {
33
+ let out = '`';
34
+ for (let i = 0; i < node.quasis.length; i++) {
35
+ out += escapeTemplateQuasi(node.quasis[i]);
36
+ if (i < node.expressions.length)
37
+ out += `\${${emitExpression(node.expressions[i])}}`;
38
+ }
39
+ out += '`';
40
+ return out;
41
+ }
42
+ case 'ident':
43
+ return node.name;
44
+ case 'member': {
45
+ const obj = emitExpression(node.object);
46
+ const wrapped = needsReceiverParens(node.object) ? `(${obj})` : obj;
47
+ return `${wrapped}${node.optional ? '?.' : '.'}${node.property}`;
48
+ }
49
+ case 'call': {
50
+ const callee = emitExpression(node.callee);
51
+ const wrapped = needsReceiverParens(node.callee) ? `(${callee})` : callee;
52
+ const args = node.args.map(emitExpression).join(', ');
53
+ return node.optional ? `${wrapped}?.(${args})` : `${wrapped}(${args})`;
54
+ }
55
+ case 'binary': {
56
+ const left = emitExpression(node.left);
57
+ const right = emitExpression(node.right);
58
+ const lp = needsParens(node.left, node.op, 'left') ? `(${left})` : left;
59
+ const rp = needsParens(node.right, node.op, 'right') ? `(${right})` : right;
60
+ return `${lp} ${node.op} ${rp}`;
61
+ }
62
+ case 'unary':
63
+ return `${node.op}${node.op === 'typeof' || node.op === 'void' ? ' ' : ''}${emitExpression(node.argument)}`;
64
+ case 'spread':
65
+ return `...${emitExpression(node.argument)}`;
66
+ }
67
+ }
68
+ function needsParens(child, parentOp, side) {
69
+ if (child.kind !== 'binary')
70
+ return false;
71
+ // TS forbids ?? mixed with || or && without parens (either direction)
72
+ if (parentOp === '??' && (child.op === '||' || child.op === '&&'))
73
+ return true;
74
+ if ((parentOp === '||' || parentOp === '&&') && child.op === '??')
75
+ return true;
76
+ const cp = PREC[child.op];
77
+ const pp = PREC[parentOp];
78
+ if (cp === undefined || pp === undefined)
79
+ return false;
80
+ if (cp < pp)
81
+ return true;
82
+ // Same precedence, left-associative: right child needs parens to preserve grouping
83
+ if (cp === pp && side === 'right')
84
+ return true;
85
+ return false;
86
+ }
87
+ function needsReceiverParens(child) {
88
+ return child.kind === 'binary' || child.kind === 'unary' || child.kind === 'spread';
89
+ }
90
+ function escapeTemplateQuasi(s) {
91
+ return s.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
92
+ }
93
+ //# 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":"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"}