@kernlang/core 3.1.6 → 3.1.8

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 (96) hide show
  1. package/dist/codegen/data-layer.js +28 -29
  2. package/dist/codegen/data-layer.js.map +1 -1
  3. package/dist/codegen/emitters.js +1 -4
  4. package/dist/codegen/emitters.js.map +1 -1
  5. package/dist/codegen/events.js +31 -20
  6. package/dist/codegen/events.js.map +1 -1
  7. package/dist/codegen/functions.js +7 -5
  8. package/dist/codegen/functions.js.map +1 -1
  9. package/dist/codegen/ground-layer.js +9 -5
  10. package/dist/codegen/ground-layer.js.map +1 -1
  11. package/dist/codegen/helpers.d.ts +4 -0
  12. package/dist/codegen/helpers.js +43 -7
  13. package/dist/codegen/helpers.js.map +1 -1
  14. package/dist/codegen/machines.js +13 -11
  15. package/dist/codegen/machines.js.map +1 -1
  16. package/dist/codegen/modules.js +5 -2
  17. package/dist/codegen/modules.js.map +1 -1
  18. package/dist/codegen/screens.d.ts +29 -0
  19. package/dist/codegen/screens.js +202 -0
  20. package/dist/codegen/screens.js.map +1 -0
  21. package/dist/codegen/semantic-types.js.map +1 -1
  22. package/dist/codegen/test-gen.js +1 -1
  23. package/dist/codegen/test-gen.js.map +1 -1
  24. package/dist/codegen/type-system.js +36 -18
  25. package/dist/codegen/type-system.js.map +1 -1
  26. package/dist/codegen-core.d.ts +11 -10
  27. package/dist/codegen-core.js +225 -108
  28. package/dist/codegen-core.js.map +1 -1
  29. package/dist/concepts.js.map +1 -1
  30. package/dist/config.js +15 -2
  31. package/dist/config.js.map +1 -1
  32. package/dist/coverage-gap.js +5 -5
  33. package/dist/coverage-gap.js.map +1 -1
  34. package/dist/decompiler.d.ts +1 -1
  35. package/dist/decompiler.js +6 -4
  36. package/dist/decompiler.js.map +1 -1
  37. package/dist/errors.d.ts +3 -1
  38. package/dist/errors.js +4 -2
  39. package/dist/errors.js.map +1 -1
  40. package/dist/importer.d.ts +38 -0
  41. package/dist/importer.js +1135 -0
  42. package/dist/importer.js.map +1 -0
  43. package/dist/index.d.ts +37 -34
  44. package/dist/index.js +38 -38
  45. package/dist/index.js.map +1 -1
  46. package/dist/node-props.d.ts +7 -0
  47. package/dist/node-props.js.map +1 -1
  48. package/dist/parser-core.d.ts +1 -1
  49. package/dist/parser-core.js +65 -9
  50. package/dist/parser-core.js.map +1 -1
  51. package/dist/parser-diagnostics.d.ts +1 -1
  52. package/dist/parser-diagnostics.js +3 -2
  53. package/dist/parser-diagnostics.js.map +1 -1
  54. package/dist/parser-keywords.d.ts +1 -1
  55. package/dist/parser-keywords.js +119 -27
  56. package/dist/parser-keywords.js.map +1 -1
  57. package/dist/parser-token-stream.js +18 -6
  58. package/dist/parser-token-stream.js.map +1 -1
  59. package/dist/parser-tokenizer.js.map +1 -1
  60. package/dist/parser.d.ts +3 -3
  61. package/dist/parser.js +15 -4
  62. package/dist/parser.js.map +1 -1
  63. package/dist/runtime.js +1 -1
  64. package/dist/runtime.js.map +1 -1
  65. package/dist/scanner.js +85 -25
  66. package/dist/scanner.js.map +1 -1
  67. package/dist/schema.d.ts +25 -0
  68. package/dist/schema.js +442 -4
  69. package/dist/schema.js.map +1 -1
  70. package/dist/semantic-validator.d.ts +20 -0
  71. package/dist/semantic-validator.js +82 -0
  72. package/dist/semantic-validator.js.map +1 -0
  73. package/dist/source-map.js +2 -2
  74. package/dist/source-map.js.map +1 -1
  75. package/dist/spec.d.ts +1 -1
  76. package/dist/spec.js +197 -56
  77. package/dist/spec.js.map +1 -1
  78. package/dist/styles-react.js +1 -1
  79. package/dist/styles-react.js.map +1 -1
  80. package/dist/styles-tailwind.js +52 -15
  81. package/dist/styles-tailwind.js.map +1 -1
  82. package/dist/template-catalog.js +1 -1
  83. package/dist/template-catalog.js.map +1 -1
  84. package/dist/template-engine.d.ts +1 -1
  85. package/dist/template-engine.js +10 -7
  86. package/dist/template-engine.js.map +1 -1
  87. package/dist/utils.d.ts +1 -1
  88. package/dist/utils.js +9 -5
  89. package/dist/utils.js.map +1 -1
  90. package/dist/version-adapters.js +1 -2
  91. package/dist/version-adapters.js.map +1 -1
  92. package/dist/version-detect.js +3 -3
  93. package/dist/version-detect.js.map +1 -1
  94. package/dist/walk.js +6 -2
  95. package/dist/walk.js.map +1 -1
  96. package/package.json +1 -1
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { propsOf } from '../node-props.js';
7
7
  import { emitIdentifier, emitTemplateSafe, emitTypeAnnotation } from './emitters.js';
8
- import { getProps, getChildren, getFirstChild, handlerCode, exportPrefix, parseParamList } from './helpers.js';
8
+ import { emitDocComment, exportPrefix, getChildren, getFirstChild, getProps, handlerCode, parseParamList, } from './helpers.js';
9
9
  const p = getProps;
10
10
  const kids = getChildren;
11
11
  const firstChild = getFirstChild;
@@ -17,14 +17,18 @@ export function generateType(node) {
17
17
  const name = emitIdentifier(props.name, 'UnknownType', node);
18
18
  const { values, alias } = props;
19
19
  const exp = exportPrefix(node);
20
+ const docs = emitDocComment(node);
20
21
  if (values) {
21
- const members = values.split('|').map(v => `'${emitTemplateSafe(v.trim())}'`).join(' | ');
22
- return [`${exp}type ${name} = ${members};`];
22
+ const members = values
23
+ .split('|')
24
+ .map((v) => `'${emitTemplateSafe(v.trim())}'`)
25
+ .join(' | ');
26
+ return [...docs, `${exp}type ${name} = ${members};`];
23
27
  }
24
28
  if (alias) {
25
- return [`${exp}type ${name} = ${emitTypeAnnotation(alias, 'unknown', node)};`];
29
+ return [...docs, `${exp}type ${name} = ${emitTypeAnnotation(alias, 'unknown', node)};`];
26
30
  }
27
- return [`${exp}type ${name} = unknown;`];
31
+ return [...docs, `${exp}type ${name} = unknown;`];
28
32
  }
29
33
  // ── Interface ────────────────────────────────────────────────────────────
30
34
  export function generateInterface(node) {
@@ -32,7 +36,7 @@ export function generateInterface(node) {
32
36
  const name = emitIdentifier(props.name, 'UnknownInterface', node);
33
37
  const ext = props.extends ? ` extends ${emitTypeAnnotation(props.extends, 'unknown', node)}` : '';
34
38
  const exp = exportPrefix(node);
35
- const lines = [];
39
+ const lines = [...emitDocComment(node)];
36
40
  lines.push(`${exp}interface ${name}${ext} {`);
37
41
  for (const field of kids(node, 'field')) {
38
42
  const fp = propsOf(field);
@@ -50,21 +54,28 @@ export function generateUnion(node) {
50
54
  const discriminant = emitIdentifier(props.discriminant, 'type', node);
51
55
  const exp = exportPrefix(node);
52
56
  const variants = kids(node, 'variant');
57
+ const docs = emitDocComment(node);
53
58
  if (variants.length === 0) {
54
- return [`${exp}type ${name} = never;`];
59
+ return [...docs, `${exp}type ${name} = never;`];
55
60
  }
56
- const lines = [`${exp}type ${name} =`];
61
+ const lines = [...docs, `${exp}type ${name} =`];
57
62
  for (let i = 0; i < variants.length; i++) {
58
63
  const vp = propsOf(variants[i]);
59
- const vname = emitIdentifier(vp.name, 'variant', variants[i]);
60
64
  const fields = kids(variants[i], 'field');
65
+ const semi = i === variants.length - 1 ? ';' : '';
66
+ // Type-reference variant: `variant type=TextPart` — emit as union member directly
67
+ if (vp.type && fields.length === 0) {
68
+ lines.push(` | ${emitTypeAnnotation(vp.type, 'unknown', variants[i])}${semi}`);
69
+ continue;
70
+ }
71
+ // Inline variant: `variant name=circle` with child fields — emit as discriminated object
72
+ const vname = emitTemplateSafe(vp.name ?? vp.type ?? 'variant');
61
73
  const fieldParts = [`${discriminant}: '${emitTemplateSafe(vname)}'`];
62
74
  for (const field of fields) {
63
75
  const fp = propsOf(field);
64
76
  const opt = fp.optional === 'true' || fp.optional === true ? '?' : '';
65
77
  fieldParts.push(`${emitIdentifier(fp.name, 'field', field)}${opt}: ${emitTypeAnnotation(fp.type, 'unknown', field)}`);
66
78
  }
67
- const semi = i === variants.length - 1 ? ';' : '';
68
79
  lines.push(` | { ${fieldParts.join('; ')} }${semi}`);
69
80
  }
70
81
  return lines;
@@ -75,7 +86,7 @@ export function generateService(node) {
75
86
  const name = emitIdentifier(props.name, 'UnknownService', node);
76
87
  const impl = props.implements;
77
88
  const exp = exportPrefix(node);
78
- const lines = [];
89
+ const lines = [...emitDocComment(node)];
79
90
  const implClause = impl ? ` implements ${emitTypeAnnotation(impl, 'unknown', node)}` : '';
80
91
  lines.push(`${exp}class ${name}${implClause} {`);
81
92
  // Fields
@@ -83,7 +94,9 @@ export function generateService(node) {
83
94
  const fp = propsOf(field);
84
95
  const fieldName = emitIdentifier(fp.name, 'field', field);
85
96
  const vis = fp.private === 'true' || fp.private === true ? 'private ' : '';
86
- const readonly = fp.readonly === 'true' || fp.readonly === true ? 'readonly ' : '';
97
+ const readonly = fp.readonly === 'true' || fp.readonly === true
98
+ ? 'readonly '
99
+ : '';
87
100
  const typeAnnotation = fp.type ? `: ${emitTypeAnnotation(fp.type, 'unknown', field)}` : '';
88
101
  const defaultVal = fp.default;
89
102
  // default values are by-design raw code (escape hatch) — documented, not sanitized
@@ -113,15 +126,19 @@ export function generateService(node) {
113
126
  const isAsync = mp.async === 'true' || mp.async === true;
114
127
  const isStream = mp.stream === 'true' || mp.stream === true;
115
128
  const isStatic = mp.static === 'true' || mp.static === true;
116
- const vis = mp.private === 'true' || mp.private === true ? 'private ' : '';
129
+ const vis = mp.private === 'true' || mp.private === true
130
+ ? 'private '
131
+ : '';
117
132
  const staticKw = isStatic ? 'static ' : '';
118
133
  const star = isStream ? '*' : '';
119
- const asyncKw = (isAsync || isStream) ? 'async ' : '';
134
+ const asyncKw = isAsync || isStream ? 'async ' : '';
120
135
  const mcode = handlerCode(method);
121
136
  // stream=true → AsyncGenerator return type
122
137
  const mreturns = isStream
123
138
  ? `: AsyncGenerator<${emitTypeAnnotation(mp.returns, 'unknown', method)}>`
124
- : mp.returns ? `: ${emitTypeAnnotation(mp.returns, 'unknown', method)}` : '';
139
+ : mp.returns
140
+ ? `: ${emitTypeAnnotation(mp.returns, 'unknown', method)}`
141
+ : '';
125
142
  lines.push('');
126
143
  lines.push(` ${vis}${staticKw}${asyncKw}${star}${mname}(${mparams})${mreturns} {`);
127
144
  if (mcode) {
@@ -150,13 +167,14 @@ export function generateConst(node) {
150
167
  const value = props.value;
151
168
  const exp = exportPrefix(node);
152
169
  const code = handlerCode(node);
170
+ const docs = emitDocComment(node);
153
171
  const typeAnnotation = constType ? `: ${emitTypeAnnotation(constType, 'unknown', node)}` : '';
154
172
  if (code) {
155
- return [`${exp}const ${name}${typeAnnotation} = ${code.trim()};`];
173
+ return [...docs, `${exp}const ${name}${typeAnnotation} = ${code.trim()};`];
156
174
  }
157
175
  if (value) {
158
- return [`${exp}const ${name}${typeAnnotation} = ${value};`];
176
+ return [...docs, `${exp}const ${name}${typeAnnotation} = ${value};`];
159
177
  }
160
- return [`${exp}const ${name}${typeAnnotation};`];
178
+ return [...docs, `${exp}const ${name}${typeAnnotation};`];
161
179
  }
162
180
  //# sourceMappingURL=type-system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-system.js","sourceRoot":"","sources":["../../src/codegen/type-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-system.js","sourceRoot":"","sources":["../../src/codegen/type-system.ts"],"names":[],"mappings":"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"}
@@ -10,20 +10,21 @@
10
10
  * This file is the thin dispatcher: imports, re-exports, and generateCoreNode switch.
11
11
  * Generators that call generateCoreNode recursively remain here to avoid circular imports.
12
12
  */
13
- import type { IRNode } from './types.js';
14
13
  import { type KernRuntime } from './runtime.js';
15
- export { emitIdentifier, emitStringLiteral, emitPath, emitTemplateSafe, emitTypeAnnotation, emitImportSpecifier } from './codegen/emitters.js';
16
- export { getProps, getChildren, getFirstChild, getStyles, getPseudoStyles, getThemeRefs, dedent, cssPropertyName, handlerCode, exportPrefix, capitalize, parseParamList, emitReasonAnnotations, emitLowConfidenceTodo } from './codegen/helpers.js';
17
- export { generateType, generateInterface, generateUnion, generateService, generateConst } from './codegen/type-system.js';
18
- export { generateFunction, generateError } from './codegen/functions.js';
19
- export { generateMachine, generateMachineReducer } from './codegen/machines.js';
20
- export { generateConfig, generateStore, generateRepository, generateCache, generateDependency, generateModel } from './codegen/data-layer.js';
21
- export { generateDerive, generateTransform, generateAction, generateGuard, generateAssume, generateInvariant, generateCollect, generateResolve, generateExpect, generateRecover, generatePattern, generateApply } from './codegen/ground-layer.js';
14
+ import type { IRNode } from './types.js';
15
+ export { generateCache, generateConfig, generateDependency, generateModel, generateRepository, generateStore, } from './codegen/data-layer.js';
16
+ export { emitIdentifier, emitImportSpecifier, emitPath, emitStringLiteral, emitTemplateSafe, emitTypeAnnotation, } from './codegen/emitters.js';
22
17
  export { generateEvent, generateOn, generateWebSocket } from './codegen/events.js';
18
+ export { generateError, generateFunction } from './codegen/functions.js';
19
+ export { generateAction, generateApply, generateAssume, generateCollect, generateDerive, generateExpect, generateGuard, generateInvariant, generatePattern, generateRecover, generateResolve, generateTransform, } from './codegen/ground-layer.js';
20
+ export { capitalize, cssPropertyName, dedent, emitLowConfidenceTodo, emitReasonAnnotations, exportPrefix, getChildren, getFirstChild, getProps, getPseudoStyles, getStyles, getThemeRefs, handlerCode, parseParamList, sourceComment, } from './codegen/helpers.js';
21
+ export { generateMachine, generateMachineReducer } from './codegen/machines.js';
23
22
  export { generateImport } from './codegen/modules.js';
24
- export { generateTest } from './codegen/test-gen.js';
25
- export { mapSemanticType, SEMANTIC_TYPE_MAP } from './codegen/semantic-types.js';
23
+ export { generateScreen } from './codegen/screens.js';
26
24
  export type { SemanticTypeMapping } from './codegen/semantic-types.js';
25
+ export { mapSemanticType, SEMANTIC_TYPE_MAP } from './codegen/semantic-types.js';
26
+ export { generateTest } from './codegen/test-gen.js';
27
+ export { generateConst, generateInterface, generateService, generateType, generateUnion, } from './codegen/type-system.js';
27
28
  /** Register an evolved generator (called at startup). */
28
29
  export declare function registerEvolvedGenerator(keyword: string, fn: (node: IRNode) => string[]): void;
29
30
  /** Register a target-specific evolved generator (called at startup). */
@@ -10,38 +10,40 @@
10
10
  * This file is the thin dispatcher: imports, re-exports, and generateCoreNode switch.
11
11
  * Generators that call generateCoreNode recursively remain here to avoid circular imports.
12
12
  */
13
- import { propsOf } from './node-props.js';
14
- import { isTemplateNode, expandTemplateNode } from './template-engine.js';
15
13
  import { KernCodegenError } from './errors.js';
14
+ import { propsOf } from './node-props.js';
16
15
  import { defaultRuntime } from './runtime.js';
16
+ import { expandTemplateNode, isTemplateNode } from './template-engine.js';
17
+ export { generateCache, generateConfig, generateDependency, generateModel, generateRepository, generateStore, } from './codegen/data-layer.js';
17
18
  // ── Re-exports: emitters & helpers (backward compatibility) ─────────────
18
- export { emitIdentifier, emitStringLiteral, emitPath, emitTemplateSafe, emitTypeAnnotation, emitImportSpecifier } from './codegen/emitters.js';
19
- export { getProps, getChildren, getFirstChild, getStyles, getPseudoStyles, getThemeRefs, dedent, cssPropertyName, handlerCode, exportPrefix, capitalize, parseParamList, emitReasonAnnotations, emitLowConfidenceTodo } from './codegen/helpers.js';
20
- // ── Re-exports: domain generators (backward compatibility) ──────────────
21
- export { generateType, generateInterface, generateUnion, generateService, generateConst } from './codegen/type-system.js';
22
- export { generateFunction, generateError } from './codegen/functions.js';
23
- export { generateMachine, generateMachineReducer } from './codegen/machines.js';
24
- export { generateConfig, generateStore, generateRepository, generateCache, generateDependency, generateModel } from './codegen/data-layer.js';
25
- export { generateDerive, generateTransform, generateAction, generateGuard, generateAssume, generateInvariant, generateCollect, generateResolve, generateExpect, generateRecover, generatePattern, generateApply } from './codegen/ground-layer.js';
19
+ export { emitIdentifier, emitImportSpecifier, emitPath, emitStringLiteral, emitTemplateSafe, emitTypeAnnotation, } from './codegen/emitters.js';
26
20
  export { generateEvent, generateOn, generateWebSocket } from './codegen/events.js';
21
+ export { generateError, generateFunction } from './codegen/functions.js';
22
+ export { generateAction, generateApply, generateAssume, generateCollect, generateDerive, generateExpect, generateGuard, generateInvariant, generatePattern, generateRecover, generateResolve, generateTransform, } from './codegen/ground-layer.js';
23
+ export { capitalize, cssPropertyName, dedent, emitLowConfidenceTodo, emitReasonAnnotations, exportPrefix, getChildren, getFirstChild, getProps, getPseudoStyles, getStyles, getThemeRefs, handlerCode, parseParamList, sourceComment, } from './codegen/helpers.js';
24
+ export { generateMachine, generateMachineReducer } from './codegen/machines.js';
27
25
  export { generateImport } from './codegen/modules.js';
28
- export { generateTest } from './codegen/test-gen.js';
26
+ export { generateScreen } from './codegen/screens.js';
29
27
  export { mapSemanticType, SEMANTIC_TYPE_MAP } from './codegen/semantic-types.js';
28
+ export { generateTest } from './codegen/test-gen.js';
29
+ // ── Re-exports: domain generators (backward compatibility) ──────────────
30
+ export { generateConst, generateInterface, generateService, generateType, generateUnion, } from './codegen/type-system.js';
31
+ import { generateCache, generateConfig, generateDependency, generateModel, generateRepository, generateStore, } from './codegen/data-layer.js';
30
32
  // ── Imports for local use within this file ──────────────────────────────
31
- import { emitIdentifier, emitTemplateSafe, emitImportSpecifier } from './codegen/emitters.js';
32
- import { getProps, getChildren, getFirstChild, emitReasonAnnotations, emitLowConfidenceTodo } from './codegen/helpers.js';
33
- import { generateType, generateInterface, generateUnion, generateService, generateConst } from './codegen/type-system.js';
34
- import { generateFunction, generateError } from './codegen/functions.js';
35
- import { generateMachine } from './codegen/machines.js';
36
- import { generateConfig, generateStore, generateRepository, generateCache, generateDependency, generateModel } from './codegen/data-layer.js';
37
- import { generateDerive, generateTransform, generateAction, generateGuard, generateAssume, generateInvariant, generateCollect, generateResolve, generateExpect, generateRecover, generatePattern, generateApply } from './codegen/ground-layer.js';
33
+ import { emitIdentifier, emitImportSpecifier, emitTemplateSafe } from './codegen/emitters.js';
38
34
  import { generateEvent, generateOn, generateWebSocket } from './codegen/events.js';
35
+ import { generateError, generateFunction } from './codegen/functions.js';
36
+ import { generateAction, generateApply, generateAssume, generateCollect, generateDerive, generateExpect, generateGuard, generateInvariant, generatePattern, generateRecover, generateResolve, generateTransform, } from './codegen/ground-layer.js';
37
+ import { emitLowConfidenceTodo, emitReasonAnnotations, getChildren, getFirstChild, getProps, } from './codegen/helpers.js';
38
+ import { generateMachine } from './codegen/machines.js';
39
39
  import { generateImport } from './codegen/modules.js';
40
+ import { generateScreen } from './codegen/screens.js';
40
41
  import { generateTest } from './codegen/test-gen.js';
42
+ import { generateConst, generateInterface, generateService, generateType, generateUnion, } from './codegen/type-system.js';
41
43
  // ── Internal aliases ────────────────────────────────────────────────────
42
44
  const p = getProps;
43
45
  const kids = getChildren;
44
- const firstChild = getFirstChild;
46
+ const _firstChild = getFirstChild;
45
47
  // ── Evolved Generators (v4) ─────────────────────────────────────────────
46
48
  // Populated at startup by evolved-node-loader. Checked in generateCoreNode
47
49
  // before the default case, allowing graduated nodes to produce output.
@@ -82,9 +84,19 @@ export function generateModule(node) {
82
84
  const rawFrom = ep.from;
83
85
  const safeFrom = rawFrom ? emitImportSpecifier(rawFrom, exp) : '';
84
86
  const rawNames = ep.names;
85
- const safeNames = rawNames ? rawNames.split(',').map(s => emitIdentifier(s.trim(), 'export', exp)).join(', ') : '';
87
+ const safeNames = rawNames
88
+ ? rawNames
89
+ .split(',')
90
+ .map((s) => emitIdentifier(s.trim(), 'export', exp))
91
+ .join(', ')
92
+ : '';
86
93
  const rawTypeNames = ep.types;
87
- const safeTypeNames = rawTypeNames ? rawTypeNames.split(',').map(s => emitIdentifier(s.trim(), 'export', exp)).join(', ') : '';
94
+ const safeTypeNames = rawTypeNames
95
+ ? rawTypeNames
96
+ .split(',')
97
+ .map((s) => emitIdentifier(s.trim(), 'export', exp))
98
+ .join(', ')
99
+ : '';
88
100
  const star = ep.star === 'true' || ep.star === true;
89
101
  const safeDefault = ep.default ? emitIdentifier(ep.default, 'default', exp) : '';
90
102
  // export * from './foo.js'
@@ -207,13 +219,7 @@ export function generateConditional(node) {
207
219
  if (childLines.length === 1) {
208
220
  return [`{${condition} && (${childLines[0].trim()})}`];
209
221
  }
210
- return [
211
- `{${condition} && (`,
212
- ` <>`,
213
- ...childLines.map(l => ` ${l}`),
214
- ` </>`,
215
- `)}`,
216
- ];
222
+ return [`{${condition} && (`, ` <>`, ...childLines.map((l) => ` ${l}`), ` </>`, `)}`];
217
223
  }
218
224
  // ── Select ───────────────────────────────────────────────────────────────
219
225
  // select name=status value=current placeholder="Choose"
@@ -247,37 +253,80 @@ export function generateSelect(node) {
247
253
  }
248
254
  // ── Dispatcher ───────────────────────────────────────────────────────────
249
255
  export const CORE_NODE_TYPES = new Set([
250
- 'type', 'interface', 'field', 'fn',
251
- 'union', 'variant',
252
- 'service', 'method', 'singleton', 'constructor',
253
- 'machine', 'transition',
254
- 'error', 'module', 'export',
255
- 'config', 'store',
256
- 'test', 'describe', 'it',
257
- 'event', 'import', 'const',
256
+ 'type',
257
+ 'interface',
258
+ 'field',
259
+ 'fn',
260
+ 'union',
261
+ 'variant',
262
+ 'service',
263
+ 'method',
264
+ 'singleton',
265
+ 'constructor',
266
+ 'machine',
267
+ 'transition',
268
+ 'error',
269
+ 'module',
270
+ 'export',
271
+ 'config',
272
+ 'store',
273
+ 'test',
274
+ 'describe',
275
+ 'it',
276
+ 'event',
277
+ 'import',
278
+ 'const',
258
279
  'hook',
259
- 'on', 'websocket',
260
- 'template', 'slot', 'body',
280
+ 'on',
281
+ 'websocket',
282
+ 'template',
283
+ 'slot',
284
+ 'body',
261
285
  // Async extensions
262
- 'signal', 'cleanup',
286
+ 'signal',
287
+ 'cleanup',
263
288
  // Ground layer
264
- 'derive', 'transform', 'action', 'guard', 'assume', 'invariant',
265
- 'each', 'collect', 'branch', 'path',
266
- 'resolve', 'candidate', 'discriminator',
267
- 'expect', 'recover', 'strategy',
268
- 'pattern', 'apply',
289
+ 'derive',
290
+ 'transform',
291
+ 'action',
292
+ 'guard',
293
+ 'assume',
294
+ 'invariant',
295
+ 'each',
296
+ 'collect',
297
+ 'branch',
298
+ 'path',
299
+ 'resolve',
300
+ 'candidate',
301
+ 'discriminator',
302
+ 'expect',
303
+ 'recover',
304
+ 'strategy',
305
+ 'pattern',
306
+ 'apply',
269
307
  // Reason layer
270
- 'reason', 'evidence',
308
+ 'reason',
309
+ 'evidence',
271
310
  // Confidence layer
272
311
  'needs',
273
312
  // Backend data layer (graduated nodes)
274
- 'model', 'column', 'relation',
313
+ 'model',
314
+ 'column',
315
+ 'relation',
275
316
  'repository',
276
- 'dependency', 'inject',
277
- 'cache', 'entry', 'invalidate',
317
+ 'dependency',
318
+ 'inject',
319
+ 'cache',
320
+ 'entry',
321
+ 'invalidate',
278
322
  // UI controls (graduated nodes)
279
323
  'conditional',
280
- 'select', 'option',
324
+ 'select',
325
+ 'option',
326
+ // Screen (React/Ink component)
327
+ 'screen',
328
+ // Meta
329
+ 'doc',
281
330
  ]);
282
331
  /** Check if a node type is a core language construct. */
283
332
  export function isCoreNode(type) {
@@ -298,70 +347,138 @@ export function isCoreNode(type) {
298
347
  export function generateCoreNode(node, target, runtime) {
299
348
  const rt = runtime ?? defaultRuntime;
300
349
  switch (node.type) {
301
- case 'type': return generateType(node);
302
- case 'interface': return generateInterface(node);
303
- case 'union': return generateUnion(node);
304
- case 'service': return generateService(node);
305
- case 'fn': return generateFunction(node);
306
- case 'machine': return generateMachine(node);
307
- case 'error': return generateError(node);
308
- case 'module': return generateModule(node);
309
- case 'config': return generateConfig(node);
310
- case 'store': return generateStore(node);
311
- case 'test': return generateTest(node);
312
- case 'event': return generateEvent(node);
313
- case 'import': return generateImport(node);
314
- case 'const': return generateConst(node);
315
- case 'hook': return []; // Handled by @kernlang/react
316
- case 'on': return generateOn(node);
317
- case 'websocket': return generateWebSocket(node);
350
+ case 'type':
351
+ return generateType(node);
352
+ case 'interface':
353
+ return generateInterface(node);
354
+ case 'union':
355
+ return generateUnion(node);
356
+ case 'service':
357
+ return generateService(node);
358
+ case 'fn':
359
+ return generateFunction(node);
360
+ case 'machine':
361
+ return generateMachine(node);
362
+ case 'screen':
363
+ return generateScreen(node);
364
+ case 'error':
365
+ return generateError(node);
366
+ case 'module':
367
+ return generateModule(node);
368
+ case 'config':
369
+ return generateConfig(node);
370
+ case 'store':
371
+ return generateStore(node);
372
+ case 'test':
373
+ return generateTest(node);
374
+ case 'event':
375
+ return generateEvent(node);
376
+ case 'import':
377
+ return generateImport(node);
378
+ case 'const':
379
+ return generateConst(node);
380
+ case 'hook':
381
+ return []; // Handled by @kernlang/react
382
+ case 'on':
383
+ return generateOn(node);
384
+ case 'websocket':
385
+ return generateWebSocket(node);
318
386
  // Ground layer
319
- case 'derive': return generateDerive(node);
320
- case 'transform': return generateTransform(node);
321
- case 'action': return generateAction(node);
322
- case 'guard': return generateGuard(node);
323
- case 'assume': return generateAssume(node);
324
- case 'invariant': return generateInvariant(node);
325
- case 'each': return generateEach(node);
326
- case 'collect': return generateCollect(node);
327
- case 'branch': return generateBranch(node);
328
- case 'resolve': return generateResolve(node);
329
- case 'expect': return generateExpect(node);
330
- case 'recover': return generateRecover(node);
331
- case 'pattern': return generatePattern(node);
332
- case 'apply': return generateApply(node);
387
+ case 'derive':
388
+ return generateDerive(node);
389
+ case 'transform':
390
+ return generateTransform(node);
391
+ case 'action':
392
+ return generateAction(node);
393
+ case 'guard':
394
+ return generateGuard(node);
395
+ case 'assume':
396
+ return generateAssume(node);
397
+ case 'invariant':
398
+ return generateInvariant(node);
399
+ case 'each':
400
+ return generateEach(node);
401
+ case 'collect':
402
+ return generateCollect(node);
403
+ case 'branch':
404
+ return generateBranch(node);
405
+ case 'resolve':
406
+ return generateResolve(node);
407
+ case 'expect':
408
+ return generateExpect(node);
409
+ case 'recover':
410
+ return generateRecover(node);
411
+ case 'pattern':
412
+ return generatePattern(node);
413
+ case 'apply':
414
+ return generateApply(node);
333
415
  // Template / structural definitions produce no output
334
- case 'template': return [];
335
- case 'slot': return [];
336
- case 'body': return [];
337
- case 'path': return [];
338
- case 'candidate': return [];
339
- case 'discriminator': return [];
340
- case 'strategy': return [];
341
- case 'reason': return [];
342
- case 'evidence': return [];
343
- case 'needs': return [];
416
+ case 'template':
417
+ return [];
418
+ case 'slot':
419
+ return [];
420
+ case 'body':
421
+ return [];
422
+ case 'path':
423
+ return [];
424
+ case 'candidate':
425
+ return [];
426
+ case 'discriminator':
427
+ return [];
428
+ case 'strategy':
429
+ return [];
430
+ case 'reason':
431
+ return [];
432
+ case 'evidence':
433
+ return [];
434
+ case 'needs':
435
+ return [];
344
436
  // Graduated nodes — backend data layer
345
- case 'model': return generateModel(node);
346
- case 'repository': return generateRepository(node);
347
- case 'dependency': return generateDependency(node);
348
- case 'cache': return generateCache(node);
437
+ case 'model':
438
+ return generateModel(node);
439
+ case 'repository':
440
+ return generateRepository(node);
441
+ case 'dependency':
442
+ return generateDependency(node);
443
+ case 'cache':
444
+ return generateCache(node);
349
445
  // Graduated nodes — UI controls
350
- case 'conditional': return generateConditional(node);
351
- case 'select': return generateSelect(node);
446
+ case 'conditional':
447
+ return generateConditional(node);
448
+ case 'select':
449
+ return generateSelect(node);
352
450
  // Structural children consumed by parents
353
- case 'variant': return [];
354
- case 'method': return [];
355
- case 'singleton': return [];
356
- case 'constructor': return [];
357
- case 'signal': return [];
358
- case 'cleanup': return [];
359
- case 'column': return [];
360
- case 'relation': return [];
361
- case 'inject': return [];
362
- case 'entry': return [];
363
- case 'invalidate': return [];
364
- case 'option': return [];
451
+ case 'variant':
452
+ return [];
453
+ case 'method':
454
+ return [];
455
+ case 'singleton':
456
+ return [];
457
+ case 'constructor':
458
+ return [];
459
+ case 'signal':
460
+ return [];
461
+ case 'cleanup':
462
+ return [];
463
+ case 'column':
464
+ return [];
465
+ case 'relation':
466
+ return [];
467
+ case 'inject':
468
+ return [];
469
+ case 'entry':
470
+ return [];
471
+ case 'invalidate':
472
+ return [];
473
+ case 'option':
474
+ return [];
475
+ case 'doc': {
476
+ const text = node.props?.text || node.props?.code || '';
477
+ if (text.includes('\n')) {
478
+ return ['/**', ...text.split('\n').map((l) => ` * ${l}`), ' */'];
479
+ }
480
+ return [`/** ${text} */`];
481
+ }
365
482
  default: {
366
483
  // Check evolved generators (v4) — target-specific first, then default
367
484
  const targetMap = target ? rt.evolvedTargetGenerators.get(node.type) : undefined;