@kernlang/core 3.3.8 → 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 (89) 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/emitters.d.ts +8 -0
  8. package/dist/codegen/emitters.js +10 -0
  9. package/dist/codegen/emitters.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 +29 -5
  13. package/dist/codegen/functions.js.map +1 -1
  14. package/dist/codegen/ground-layer.d.ts +1 -0
  15. package/dist/codegen/ground-layer.js +88 -10
  16. package/dist/codegen/ground-layer.js.map +1 -1
  17. package/dist/codegen/helpers.d.ts +3 -1
  18. package/dist/codegen/helpers.js +5 -1
  19. package/dist/codegen/helpers.js.map +1 -1
  20. package/dist/codegen/machines.js +4 -3
  21. package/dist/codegen/machines.js.map +1 -1
  22. package/dist/codegen/modules.d.ts +1 -0
  23. package/dist/codegen/modules.js +52 -1
  24. package/dist/codegen/modules.js.map +1 -1
  25. package/dist/codegen/screens.js +77 -13
  26. package/dist/codegen/screens.js.map +1 -1
  27. package/dist/codegen/stdlib-preamble.d.ts +39 -0
  28. package/dist/codegen/stdlib-preamble.js +213 -0
  29. package/dist/codegen/stdlib-preamble.js.map +1 -0
  30. package/dist/codegen/type-system.d.ts +113 -1
  31. package/dist/codegen/type-system.js +389 -30
  32. package/dist/codegen/type-system.js.map +1 -1
  33. package/dist/codegen-core.d.ts +3 -3
  34. package/dist/codegen-core.js +79 -16
  35. package/dist/codegen-core.js.map +1 -1
  36. package/dist/codegen-expression.d.ts +3 -0
  37. package/dist/codegen-expression.js +93 -0
  38. package/dist/codegen-expression.js.map +1 -0
  39. package/dist/concepts.d.ts +96 -0
  40. package/dist/concepts.js.map +1 -1
  41. package/dist/config.d.ts +19 -0
  42. package/dist/config.js +15 -0
  43. package/dist/config.js.map +1 -1
  44. package/dist/decompiler.js +356 -4
  45. package/dist/decompiler.js.map +1 -1
  46. package/dist/importer.d.ts +1 -0
  47. package/dist/importer.js +574 -34
  48. package/dist/importer.js.map +1 -1
  49. package/dist/index.d.ts +6 -3
  50. package/dist/index.js +9 -3
  51. package/dist/index.js.map +1 -1
  52. package/dist/node-props.d.ts +188 -1
  53. package/dist/node-props.js.map +1 -1
  54. package/dist/parser-core.js +30 -5
  55. package/dist/parser-core.js.map +1 -1
  56. package/dist/parser-diagnostics.js +5 -0
  57. package/dist/parser-diagnostics.js.map +1 -1
  58. package/dist/parser-expression.d.ts +17 -0
  59. package/dist/parser-expression.js +498 -0
  60. package/dist/parser-expression.js.map +1 -0
  61. package/dist/parser-tokenizer.d.ts +5 -3
  62. package/dist/parser-tokenizer.js +97 -16
  63. package/dist/parser-tokenizer.js.map +1 -1
  64. package/dist/parser-validate-effects.d.ts +21 -0
  65. package/dist/parser-validate-effects.js +188 -0
  66. package/dist/parser-validate-effects.js.map +1 -0
  67. package/dist/parser-validate-expressions.d.ts +6 -0
  68. package/dist/parser-validate-expressions.js +41 -0
  69. package/dist/parser-validate-expressions.js.map +1 -0
  70. package/dist/parser-validate-union-kind.d.ts +24 -0
  71. package/dist/parser-validate-union-kind.js +97 -0
  72. package/dist/parser-validate-union-kind.js.map +1 -0
  73. package/dist/scanner.js +12 -9
  74. package/dist/scanner.js.map +1 -1
  75. package/dist/schema.d.ts +1 -1
  76. package/dist/schema.js +403 -37
  77. package/dist/schema.js.map +1 -1
  78. package/dist/semantic-validator.js +73 -8
  79. package/dist/semantic-validator.js.map +1 -1
  80. package/dist/spec.d.ts +5 -2
  81. package/dist/spec.js +27 -2
  82. package/dist/spec.js.map +1 -1
  83. package/dist/types.d.ts +7 -1
  84. package/dist/types.js +7 -1
  85. package/dist/types.js.map +1 -1
  86. package/dist/value-ir.d.ts +69 -0
  87. package/dist/value-ir.js +20 -0
  88. package/dist/value-ir.js.map +1 -0
  89. package/package.json +13 -1
@@ -0,0 +1,15 @@
1
+ /** (target × feature × position) capability matrix.
2
+ * Per-slice codegen declares which features compile in which contexts on which targets.
3
+ * Populated incrementally as language evolution slices ship. */
4
+ import type { KernTarget } from './config.js';
5
+ export type FeaturePosition = 'top-level' | 'fn-body' | 'render' | 'template' | 'expression';
6
+ export type Support = 'native' | 'lowered' | 'unsupported';
7
+ export interface CapabilityEntry {
8
+ feature: string;
9
+ position: FeaturePosition;
10
+ support: Support;
11
+ note?: string;
12
+ }
13
+ export type CapabilityMatrix = Record<KernTarget, CapabilityEntry[]>;
14
+ export declare const CAPABILITY_MATRIX: CapabilityMatrix;
15
+ export declare function capabilitySupport(target: KernTarget, feature: string, position: FeaturePosition): Support;
@@ -0,0 +1,245 @@
1
+ /** (target × feature × position) capability matrix.
2
+ * Per-slice codegen declares which features compile in which contexts on which targets.
3
+ * Populated incrementally as language evolution slices ship. */
4
+ const TS_CORE_CAPABILITIES = [
5
+ { feature: 'literal-float', position: 'expression', support: 'native' },
6
+ { feature: 'literal-numeric-separator', position: 'expression', support: 'native' },
7
+ { feature: 'literal-bigint', position: 'expression', support: 'native' },
8
+ { feature: 'literal-hex', position: 'expression', support: 'native' },
9
+ { feature: 'literal-binary', position: 'expression', support: 'native' },
10
+ { feature: 'literal-octal', position: 'expression', support: 'native' },
11
+ {
12
+ feature: 'literal-string-single-quote',
13
+ position: 'expression',
14
+ support: 'lowered',
15
+ note: 'normalized to double-quote on output',
16
+ },
17
+ { feature: 'optional-chain', position: 'expression', support: 'native' },
18
+ { feature: 'nullish-coalesce', position: 'expression', support: 'native' },
19
+ { feature: 'spread', position: 'expression', support: 'native' },
20
+ { feature: 'template-literal', position: 'expression', support: 'native' },
21
+ // Slice 1j — const.value is emitted via ValueIR expression codegen on TS targets.
22
+ // Quoted strings round-trip through JSON.stringify; bare expressions canonicalize via emitExpression.
23
+ { feature: 'const-value-as-expression', position: 'top-level', support: 'native' },
24
+ // Slice 2a — tuple types via type.alias / field.type / fn.returns / fn.params,
25
+ // including optional, rest, labeled, nested, and empty forms. Routed through
26
+ // emitTypeAnnotation's bracket-balance pass; no new node type required.
27
+ { feature: 'tuple-type', position: 'top-level', support: 'native' },
28
+ // Slice 2b — `enum` node for numeric (values=A|B|C) and string-valued
29
+ // (member name=X value="..." children) enums; `const enum` form supported.
30
+ { feature: 'enum-type', position: 'top-level', support: 'native' },
31
+ // Slice 2c — `indexer` child node on interface, emits `[key: K]: V` index
32
+ // signature with optional `readonly` modifier.
33
+ { feature: 'index-signature', position: 'top-level', support: 'native' },
34
+ // Slice 2d — type guards (predicate return types: `value is T`, `asserts x is T`,
35
+ // `this is T`). Already supported today via fn.returns + emitTypeAnnotation
36
+ // passthrough; formalised with regression tests in slice 2d.
37
+ { feature: 'type-guard', position: 'top-level', support: 'native' },
38
+ // Slice 2e — function overloads via `overload` child node. Each overload
39
+ // emits a `function name(params): R;` line before the implementation.
40
+ { feature: 'function-overloads', position: 'top-level', support: 'native' },
41
+ // Slice 2f — generics: `generics="<T>"` / `<T extends Base>` / `<T = Default>` /
42
+ // `<K, V>` on type, interface, fn, class. Routed through emitTypeAnnotation
43
+ // (whitespace + bracket-balance).
44
+ { feature: 'generics', position: 'top-level', support: 'native' },
45
+ // Slice 2g — cross-`.kern` symbol resolution via `use path="..."` parent
46
+ // with `from name=X as=Y export=true` children. `.kern` paths translate to
47
+ // `.js` in the emitted TS import; `export=true` produces an additional
48
+ // `export { ... } from '...'` re-export line.
49
+ { feature: 'cross-kern-import', position: 'top-level', support: 'native' },
50
+ // Slice 3a — `let.value` extends iteration-scoped bindings to use the
51
+ // ValueIR-canonicalised native expression form (mirrors `const.value`
52
+ // from slice 1j). `expr=` remains as the rawExpr passthrough fallback.
53
+ { feature: 'let-native-value', position: 'top-level', support: 'native' },
54
+ // Slice 3b — `field.value` extends class/service/config field initializers
55
+ // to the ValueIR-canonicalised native form (mirrors slice 1j/3a). `default=`
56
+ // remains as the rawExpr passthrough fallback for back-compat with seeds
57
+ // that author bare-string defaults like `default=plan` for string-typed
58
+ // fields, where the legacy type-aware coercion still applies.
59
+ { feature: 'field-native-value', position: 'top-level', support: 'native' },
60
+ // Slice 3c — `param.value` extends fn/method/constructor parameter defaults
61
+ // to the ValueIR-canonicalised native form via structured `param` child
62
+ // nodes. Mirrors slice 1j/3a/3b. Legacy `params="..."` string with embedded
63
+ // defaults remains supported for back-compat. Importer + migrate-class-body
64
+ // emit `param` children all-or-nothing per signature, gated to skip
65
+ // signatures with optional/variadic/destructured params (those stay legacy).
66
+ { feature: 'param-native-value', position: 'top-level', support: 'native' },
67
+ // Slice 3d — `destructure` adds a native node for TS-style destructured
68
+ // const/let bindings: `const {a, b: rename} = obj` (object pattern with
69
+ // `binding` children) and `const [x, y] = arr` (array pattern with
70
+ // `element` children). For complex patterns (rest `...`, defaults `=v`,
71
+ // nested `{a:{b}}`), the importer falls back to `expr={{...}}` carrying
72
+ // the raw TS statement verbatim. Codegen, importer, and decompiler all
73
+ // round-trip simple patterns; complex patterns survive but stay opaque.
74
+ { feature: 'destructure-native', position: 'top-level', support: 'native' },
75
+ // Slice 3e — `mapLit`/`setLit` add native top-level nodes for Map/Set
76
+ // declarations: `mapLit name=cache type="Map<string,number>"` with
77
+ // `mapEntry key=k value=v` children emits `new Map([[k, v]])`; same for
78
+ // `setLit`/`setItem`. Complex shapes (computed keys, spread, conditional
79
+ // entries) fall through to legacy `const` with handler block. Inline
80
+ // Map/Set literals inside expression-typed props still use the
81
+ // `value={{ new Map([...]) }}` escape hatch — slice 3e is statement-level
82
+ // sugar only, not a parser-grammar extension.
83
+ { feature: 'maplit-setlit-native', position: 'top-level', support: 'native' },
84
+ ];
85
+ const PY_CORE_CAPABILITIES = [
86
+ { feature: 'literal-float', position: 'expression', support: 'native' },
87
+ { feature: 'literal-numeric-separator', position: 'expression', support: 'native' },
88
+ {
89
+ feature: 'literal-bigint',
90
+ position: 'expression',
91
+ support: 'lowered',
92
+ note: 'Python int is arbitrary precision; n suffix dropped',
93
+ },
94
+ { feature: 'literal-hex', position: 'expression', support: 'native' },
95
+ { feature: 'literal-binary', position: 'expression', support: 'native' },
96
+ { feature: 'literal-octal', position: 'expression', support: 'native' },
97
+ { feature: 'literal-string-single-quote', position: 'expression', support: 'native' },
98
+ {
99
+ feature: 'optional-chain',
100
+ position: 'expression',
101
+ support: 'lowered',
102
+ note: 'lowered to (x if x is not None else None).y pattern',
103
+ },
104
+ {
105
+ feature: 'nullish-coalesce',
106
+ position: 'expression',
107
+ support: 'lowered',
108
+ note: 'lowered to x if x is not None else y',
109
+ },
110
+ { feature: 'spread', position: 'expression', support: 'lowered', note: 'lowered to *iter / **mapping' },
111
+ { feature: 'template-literal', position: 'expression', support: 'lowered', note: 'lowered to f-string' },
112
+ // Slice 1j — Python codegen has its own const path (FastAPI generator); ValueIR consumption is deferred.
113
+ {
114
+ feature: 'const-value-as-expression',
115
+ position: 'top-level',
116
+ support: 'unsupported',
117
+ note: 'Python const codegen has not yet been wired to ValueIR; bare values emit raw',
118
+ },
119
+ // Slice 2a — mapTsTypeToPython has no tuple branch yet, so a TS alias like
120
+ // `[string, number]` falls through unchanged and would emit invalid Python.
121
+ // Until lowering lands (`[T, U]` → `tuple[T, U]`), report unsupported so feature
122
+ // gates don't permit broken output.
123
+ {
124
+ feature: 'tuple-type',
125
+ position: 'top-level',
126
+ support: 'unsupported',
127
+ note: 'mapTsTypeToPython has no tuple branch; alias passthrough emits raw TS form',
128
+ },
129
+ // Slice 2b — Python has Enum class via `from enum import Enum`, but the
130
+ // FastAPI generator does not yet emit class-based enums for the `enum` node.
131
+ // Mark unsupported until that path lands; flipping to `lowered` requires a
132
+ // dedicated Python generator (would emit `class Status(str, Enum): ...`).
133
+ {
134
+ feature: 'enum-type',
135
+ position: 'top-level',
136
+ support: 'unsupported',
137
+ note: 'FastAPI codegen does not yet handle the enum node; would produce no output',
138
+ },
139
+ // Slice 2c — Python has dict[K, V] / TypedDict but the FastAPI generator
140
+ // does not yet emit either form from an `indexer` child. Mark unsupported.
141
+ {
142
+ feature: 'index-signature',
143
+ position: 'top-level',
144
+ support: 'unsupported',
145
+ note: 'FastAPI codegen does not yet handle indexer; would produce no output',
146
+ },
147
+ // Slice 2d — Python has `TypeGuard[T]` and `TypeIs[T]` (3.13+) from typing,
148
+ // but mapTsTypeToPython has no `value is T` / `asserts x is T` translation.
149
+ // Passthrough would emit invalid Python.
150
+ {
151
+ feature: 'type-guard',
152
+ position: 'top-level',
153
+ support: 'unsupported',
154
+ note: 'mapTsTypeToPython has no predicate-return-type branch (TypeGuard/TypeIs)',
155
+ },
156
+ // Slice 2e — Python has `@typing.overload` decorators, but the FastAPI
157
+ // generator does not yet emit @overload-decorated stubs from `overload`
158
+ // children.
159
+ {
160
+ feature: 'function-overloads',
161
+ position: 'top-level',
162
+ support: 'unsupported',
163
+ note: 'FastAPI codegen does not yet emit @typing.overload stubs',
164
+ },
165
+ // Slice 2f — Python has TypeVar / Generic[T] for parameterised types but
166
+ // the FastAPI generator does not yet emit `T = TypeVar("T")` / `class X(Generic[T])`.
167
+ {
168
+ feature: 'generics',
169
+ position: 'top-level',
170
+ support: 'unsupported',
171
+ note: 'FastAPI codegen does not yet emit TypeVar / Generic[T] declarations',
172
+ },
173
+ // Slice 2g — Python could in principle map `.kern → .py` via `from <module>
174
+ // import <name> as <alias>`, but the FastAPI generator has no such branch
175
+ // yet. Default to unsupported until the path is wired explicitly.
176
+ {
177
+ feature: 'cross-kern-import',
178
+ position: 'top-level',
179
+ support: 'unsupported',
180
+ note: 'FastAPI codegen does not yet translate `.kern` paths to Python `from x import y` syntax',
181
+ },
182
+ // Slice 3b — Python (FastAPI) field codegen reads `fp.default` directly
183
+ // and has no ValueIR pipeline yet, so `field.value` is unsupported until a
184
+ // dedicated Python emitter for canonicalised field initializers lands.
185
+ {
186
+ feature: 'field-native-value',
187
+ position: 'top-level',
188
+ support: 'unsupported',
189
+ note: 'FastAPI codegen has not been wired to ValueIR for field initializers; `value=` would emit raw',
190
+ },
191
+ // Slice 3c P2 follow-up (shipped) — FastAPI's 4 ad-hoc param parsers were
192
+ // consolidated behind `buildPythonParamList` in packages/fastapi/src/codegen-helpers.ts,
193
+ // which reads structured `param` children first (slice 3c+ canonical form)
194
+ // and falls back to legacy `params="..."` for back-compat. Optional `?`
195
+ // emits `Optional[T] = None`, variadic `...` emits `*args: T`, destructured
196
+ // `{a,b}` patterns are skipped (Python has no equivalent — caller unpacks
197
+ // in body).
198
+ {
199
+ feature: 'param-native-value',
200
+ position: 'top-level',
201
+ support: 'native',
202
+ note: 'FastAPI codegen wired through `buildPythonParamList` (slice 3c P2 follow-up); reads structured param children with value=/default=/optional=/variadic=',
203
+ },
204
+ // Slice 3d — Python has no native syntactic equivalent of TS object/array
205
+ // destructuring on `const`/`let`. FastAPI codegen would have to lower
206
+ // `destructure` to a sequence of bindings (`a = obj.a; b = obj.b`) which
207
+ // is a separate work item. Marked unsupported per slice 3b/3c precedent.
208
+ {
209
+ feature: 'destructure-native',
210
+ position: 'top-level',
211
+ support: 'unsupported',
212
+ note: 'FastAPI codegen has not been wired to lower `destructure` nodes; would need per-binding assignment lowering',
213
+ },
214
+ // Slice 3e — Python's `dict`/`set` literals are syntactically different
215
+ // from TS `Map`/`Set` and FastAPI codegen has not been wired to lower
216
+ // `mapLit`/`setLit` to either form. Marked unsupported per slice 3b/3c/3d
217
+ // precedent until a dedicated Python emitter exists.
218
+ {
219
+ feature: 'maplit-setlit-native',
220
+ position: 'top-level',
221
+ support: 'unsupported',
222
+ note: 'FastAPI codegen has not been wired to lower `mapLit`/`setLit` to Python `dict`/`set` literals',
223
+ },
224
+ ];
225
+ export const CAPABILITY_MATRIX = {
226
+ auto: TS_CORE_CAPABILITIES,
227
+ lib: TS_CORE_CAPABILITIES,
228
+ nextjs: TS_CORE_CAPABILITIES,
229
+ tailwind: TS_CORE_CAPABILITIES,
230
+ web: TS_CORE_CAPABILITIES,
231
+ native: TS_CORE_CAPABILITIES,
232
+ express: TS_CORE_CAPABILITIES,
233
+ cli: TS_CORE_CAPABILITIES,
234
+ terminal: TS_CORE_CAPABILITIES,
235
+ ink: TS_CORE_CAPABILITIES,
236
+ vue: TS_CORE_CAPABILITIES,
237
+ nuxt: TS_CORE_CAPABILITIES,
238
+ fastapi: PY_CORE_CAPABILITIES,
239
+ mcp: TS_CORE_CAPABILITIES,
240
+ };
241
+ export function capabilitySupport(target, feature, position) {
242
+ const entries = CAPABILITY_MATRIX[target] ?? [];
243
+ return entries.find((e) => e.feature === feature && e.position === position)?.support ?? 'unsupported';
244
+ }
245
+ //# sourceMappingURL=capability-matrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-matrix.js","sourceRoot":"","sources":["../src/capability-matrix.ts"],"names":[],"mappings":"AAAA;;iEAEiE;AAiBjE,MAAM,oBAAoB,GAAsB;IAC9C,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACvE,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACnF,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxE,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrE,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxE,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACvE;QACE,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,sCAAsC;KAC7C;IACD,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxE,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC1E,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IAChE,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC1E,kFAAkF;IAClF,sGAAsG;IACtG,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IAClF,+EAA+E;IAC/E,6EAA6E;IAC7E,wEAAwE;IACxE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IACnE,sEAAsE;IACtE,2EAA2E;IAC3E,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IAClE,0EAA0E;IAC1E,+CAA+C;IAC/C,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxE,kFAAkF;IAClF,4EAA4E;IAC5E,6DAA6D;IAC7D,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IACnE,yEAAyE;IACzE,sEAAsE;IACtE,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC3E,iFAAiF;IACjF,4EAA4E;IAC5E,kCAAkC;IAClC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IACjE,yEAAyE;IACzE,2EAA2E;IAC3E,uEAAuE;IACvE,8CAA8C;IAC9C,EAAE,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC1E,sEAAsE;IACtE,sEAAsE;IACtE,uEAAuE;IACvE,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IACzE,2EAA2E;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,wEAAwE;IACxE,8DAA8D;IAC9D,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC3E,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,4EAA4E;IAC5E,oEAAoE;IACpE,6EAA6E;IAC7E,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,mEAAmE;IACnE,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;IAC3E,sEAAsE;IACtE,mEAAmE;IACnE,wEAAwE;IACxE,yEAAyE;IACzE,qEAAqE;IACrE,+DAA+D;IAC/D,0EAA0E;IAC1E,8CAA8C;IAC9C,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;CAC9E,CAAC;AAEF,MAAM,oBAAoB,GAAsB;IAC9C,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACvE,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACnF;QACE,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,qDAAqD;KAC5D;IACD,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrE,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACxE,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACvE,EAAE,OAAO,EAAE,6BAA6B,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;IACrF;QACE,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,qDAAqD;KAC5D;IACD;QACE,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,sCAAsC;KAC7C;IACD,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,8BAA8B,EAAE;IACvG,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACxG,yGAAyG;IACzG;QACE,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,8EAA8E;KACrF;IACD,2EAA2E;IAC3E,4EAA4E;IAC5E,iFAAiF;IACjF,oCAAoC;IACpC;QACE,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,4EAA4E;KACnF;IACD,wEAAwE;IACxE,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E;QACE,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,4EAA4E;KACnF;IACD,yEAAyE;IACzE,2EAA2E;IAC3E;QACE,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,sEAAsE;KAC7E;IACD,4EAA4E;IAC5E,4EAA4E;IAC5E,yCAAyC;IACzC;QACE,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,0EAA0E;KACjF;IACD,uEAAuE;IACvE,wEAAwE;IACxE,YAAY;IACZ;QACE,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,0DAA0D;KACjE;IACD,yEAAyE;IACzE,sFAAsF;IACtF;QACE,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,qEAAqE;KAC5E;IACD,4EAA4E;IAC5E,0EAA0E;IAC1E,kEAAkE;IAClE;QACE,OAAO,EAAE,mBAAmB;QAC5B,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,yFAAyF;KAChG;IACD,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE;QACE,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,+FAA+F;KACtG;IACD,0EAA0E;IAC1E,yFAAyF;IACzF,2EAA2E;IAC3E,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,YAAY;IACZ;QACE,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,wJAAwJ;KAC/J;IACD,0EAA0E;IAC1E,sEAAsE;IACtE,yEAAyE;IACzE,yEAAyE;IACzE;QACE,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,6GAA6G;KACpH;IACD,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,qDAAqD;IACrD;QACE,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,+FAA+F;KACtG;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAqB;IACjD,IAAI,EAAE,oBAAoB;IAC1B,GAAG,EAAE,oBAAoB;IACzB,MAAM,EAAE,oBAAoB;IAC5B,QAAQ,EAAE,oBAAoB;IAC9B,GAAG,EAAE,oBAAoB;IACzB,MAAM,EAAE,oBAAoB;IAC5B,OAAO,EAAE,oBAAoB;IAC7B,GAAG,EAAE,oBAAoB;IACzB,QAAQ,EAAE,oBAAoB;IAC9B,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,oBAAoB;IACzB,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,oBAAoB;IAC7B,GAAG,EAAE,oBAAoB;CAC1B,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,MAAkB,EAAE,OAAe,EAAE,QAAyB;IAC9F,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAChD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,OAAO,IAAI,aAAa,CAAC;AACzG,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Extracted from codegen-core.ts for modular codegen architecture.
5
5
  */
6
- import type { IRNode } from '../types.js';
6
+ import { type IRNode } from '../types.js';
7
7
  export declare function generateConfig(node: IRNode): string[];
8
8
  export declare function generateStore(node: IRNode): string[];
9
9
  export declare function generateRepository(node: IRNode): string[];
@@ -4,9 +4,11 @@
4
4
  * Extracted from codegen-core.ts for modular codegen architecture.
5
5
  */
6
6
  import { propsOf } from '../node-props.js';
7
+ import { isExprObject } from '../types.js';
7
8
  import { emitIdentifier, emitPath, emitStringLiteral, emitTypeAnnotation } from './emitters.js';
8
- import { emitDocComment, exportPrefix, getChildren, getFirstChild, getProps, handlerCode, parseParamList, } from './helpers.js';
9
+ import { emitDocComment, exportPrefix, getChildren, getFirstChild, getProps, handlerCode } from './helpers.js';
9
10
  import { mapSemanticType } from './semantic-types.js';
11
+ import { emitConstValue, emitParamList } from './type-system.js';
10
12
  const p = getProps;
11
13
  const kids = getChildren;
12
14
  const firstChild = getFirstChild;
@@ -22,7 +24,15 @@ export function generateConfig(node) {
22
24
  for (const field of fields) {
23
25
  const fp = propsOf(field);
24
26
  const fieldName = emitIdentifier(fp.name, 'field', field);
25
- const opt = fp.default !== undefined ? '?' : '';
27
+ // Slice 3b: either `value` or `default` marks the field as having an
28
+ // initializer, which makes it optional in the interface (the runtime
29
+ // DEFAULT_FOO object provides the fallback). Codex-hold guard from #1:
30
+ // an unquoted-empty `value=` is treated as absent (the same check used
31
+ // below to drive the DEFAULT_FOO branch), so the optional marker stays
32
+ // in lock-step with the runtime fallback path.
33
+ const valueExplicit = fp.value !== undefined && (fp.value !== '' || field.__quotedProps?.includes('value') === true);
34
+ const hasInit = valueExplicit || fp.default !== undefined;
35
+ const opt = hasInit ? '?' : '';
26
36
  lines.push(` ${fieldName}${opt}: ${emitTypeAnnotation(fp.type, 'unknown', field)};`);
27
37
  }
28
38
  lines.push('}');
@@ -33,27 +43,53 @@ export function generateConfig(node) {
33
43
  const fp = propsOf(field);
34
44
  const fieldName = emitIdentifier(fp.name, 'field', field);
35
45
  const ftype = emitTypeAnnotation(fp.type, 'unknown', field);
36
- let def = fp.default;
37
- if (def === undefined) {
38
- if (ftype === 'number')
39
- def = '0';
40
- else if (ftype === 'boolean')
41
- def = 'false';
42
- else if (ftype.endsWith('[]'))
43
- def = '[]';
44
- else if (ftype.startsWith('Record<') || ftype.startsWith('{'))
45
- def = '{} as any';
46
- else
47
- def = "''";
46
+ // Slice 3b: prefer `value` (canonical) over `default` (rawExpr passthrough).
47
+ // `value` routes through emitConstValue, which honours __quotedProps for
48
+ // string literals and uses ValueIR for bare expressions. `default` keeps
49
+ // the legacy type-aware string-coercion heuristic so seeds with bare
50
+ // unquoted strings (`default=plan` for a string-typed field) still emit
51
+ // valid TS.
52
+ //
53
+ // Codex-hold guard: `value` presence is `=== undefined` only — quoted
54
+ // empty `value=""` is a legal explicit string literal that JSON.stringify
55
+ // emits as `""`. Slice 3b Codex hold #1: unquoted empty `value=` is
56
+ // treated as absent (parseExpression('') would throw and produce
57
+ // `mode: ,` — invalid TS).
58
+ const rawValue = fp.value;
59
+ const valuePresent = rawValue !== undefined && (rawValue !== '' || field.__quotedProps?.includes('value') === true);
60
+ let def;
61
+ if (valuePresent) {
62
+ def = emitConstValue(field, rawValue);
48
63
  }
49
- else if (ftype === 'string' ||
50
- (!['number', 'boolean'].includes(ftype) &&
51
- !ftype.endsWith('[]') &&
52
- !def.startsWith("'") &&
53
- !def.startsWith('"') &&
54
- !def.startsWith('{') &&
55
- !def.startsWith('['))) {
56
- def = emitStringLiteral(def);
64
+ else {
65
+ let rawDef = fp.default;
66
+ if (rawDef === undefined || rawDef === '') {
67
+ if (ftype === 'number')
68
+ rawDef = '0';
69
+ else if (ftype === 'boolean')
70
+ rawDef = 'false';
71
+ else if (ftype.endsWith('[]'))
72
+ rawDef = '[]';
73
+ else if (ftype.startsWith('Record<') || ftype.startsWith('{'))
74
+ rawDef = '{} as any';
75
+ else
76
+ rawDef = "''";
77
+ }
78
+ else if (isExprObject(rawDef)) {
79
+ // `default={{ expr }}` — emit raw code as-is.
80
+ rawDef = rawDef.code;
81
+ }
82
+ else if (typeof rawDef === 'string' &&
83
+ (ftype === 'string' ||
84
+ (!['number', 'boolean'].includes(ftype) &&
85
+ !ftype.endsWith('[]') &&
86
+ !rawDef.startsWith("'") &&
87
+ !rawDef.startsWith('"') &&
88
+ !rawDef.startsWith('{') &&
89
+ !rawDef.startsWith('[')))) {
90
+ rawDef = emitStringLiteral(rawDef);
91
+ }
92
+ def = rawDef;
57
93
  }
58
94
  lines.push(` ${fieldName}: ${def},`);
59
95
  }
@@ -134,7 +170,7 @@ export function generateRepository(node) {
134
170
  for (const method of kids(node, 'method')) {
135
171
  const mp = propsOf(method);
136
172
  const mname = emitIdentifier(mp.name, 'method', method);
137
- const mparams = mp.params ? parseParamList(mp.params) : '';
173
+ const mparams = emitParamList(method);
138
174
  const isAsync = mp.async === 'true' || mp.async === true;
139
175
  const asyncKw = isAsync ? 'async ' : '';
140
176
  const mreturns = mp.returns ? `: ${emitTypeAnnotation(mp.returns, 'unknown', method)}` : '';
@@ -1 +1 @@
1
- {"version":3,"file":"data-layer.js","sourceRoot":"","sources":["../../src/codegen/data-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-layer.js","sourceRoot":"","sources":["../../src/codegen/data-layer.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,14 @@ export declare function emitStringLiteral(value: string): string;
15
15
  export declare function emitPath(value: string, node?: IRNode): string;
16
16
  /** Escape a value for interpolation into a template literal in generated code. */
17
17
  export declare function emitTemplateSafe(value: string): string;
18
+ /**
19
+ * Escape a `fmt` template body for a generated JS template literal. Unlike
20
+ * `emitTemplateSafe`, this preserves `${…}` — that's the whole point of the
21
+ * `fmt` node: author-supplied placeholders interpolate as they would in a
22
+ * hand-written template literal. Only backslashes and raw backticks are
23
+ * escaped so the literal can't be terminated prematurely.
24
+ */
25
+ export declare function emitFmtTemplate(value: string): string;
18
26
  /**
19
27
  * Validate and emit a safe TypeScript type annotation for generated code.
20
28
  * Handles generics, arrays, unions, intersections, tuples, function types.
@@ -44,6 +44,16 @@ export function emitPath(value, node) {
44
44
  export function emitTemplateSafe(value) {
45
45
  return value.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
46
46
  }
47
+ /**
48
+ * Escape a `fmt` template body for a generated JS template literal. Unlike
49
+ * `emitTemplateSafe`, this preserves `${…}` — that's the whole point of the
50
+ * `fmt` node: author-supplied placeholders interpolate as they would in a
51
+ * hand-written template literal. Only backslashes and raw backticks are
52
+ * escaped so the literal can't be terminated prematurely.
53
+ */
54
+ export function emitFmtTemplate(value) {
55
+ return String(value).replace(/\\/g, '\\\\').replace(/`/g, '\\`');
56
+ }
47
57
  /**
48
58
  * Validate and emit a safe TypeScript type annotation for generated code.
49
59
  * Handles generics, arrays, unions, intersections, tuples, function types.
@@ -1 +1 @@
1
- {"version":3,"file":"emitters.js","sourceRoot":"","sources":["../../src/codegen/emitters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitters.js","sourceRoot":"","sources":["../../src/codegen/emitters.ts"],"names":[],"mappings":"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"}
@@ -117,7 +117,7 @@ function buildOnBodyLines(node, fallbackCode) {
117
117
  out.push(emitSetStatement(child));
118
118
  }
119
119
  else if (child.type === 'handler') {
120
- const code = (child.props || {}).code || (child.props || {}).body || '';
120
+ const code = child.props?.code || child.props?.body || '';
121
121
  if (code)
122
122
  out.push(...code.split('\n'));
123
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/codegen/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/codegen/events.ts"],"names":[],"mappings":"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"}