kern-lang 1.0.0 → 2.0.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 (66) hide show
  1. package/dist/index.d.ts +14 -25
  2. package/dist/index.js +15 -28
  3. package/dist/index.js.map +1 -1
  4. package/package.json +17 -36
  5. package/README.md +0 -304
  6. package/dist/cli.d.ts +0 -2
  7. package/dist/cli.js +0 -244
  8. package/dist/cli.js.map +0 -1
  9. package/dist/config.d.ts +0 -46
  10. package/dist/config.js +0 -54
  11. package/dist/config.js.map +0 -1
  12. package/dist/context-export.d.ts +0 -11
  13. package/dist/context-export.js +0 -121
  14. package/dist/context-export.js.map +0 -1
  15. package/dist/decompiler.d.ts +0 -2
  16. package/dist/decompiler.js +0 -44
  17. package/dist/decompiler.js.map +0 -1
  18. package/dist/draft-protocol.d.ts +0 -27
  19. package/dist/draft-protocol.js +0 -135
  20. package/dist/draft-protocol.js.map +0 -1
  21. package/dist/errors.d.ts +0 -12
  22. package/dist/errors.js +0 -40
  23. package/dist/errors.js.map +0 -1
  24. package/dist/metrics.d.ts +0 -30
  25. package/dist/metrics.js +0 -182
  26. package/dist/metrics.js.map +0 -1
  27. package/dist/parser.d.ts +0 -4
  28. package/dist/parser.js +0 -361
  29. package/dist/parser.js.map +0 -1
  30. package/dist/spec.d.ts +0 -17
  31. package/dist/spec.js +0 -86
  32. package/dist/spec.js.map +0 -1
  33. package/dist/styles-react.d.ts +0 -3
  34. package/dist/styles-react.js +0 -20
  35. package/dist/styles-react.js.map +0 -1
  36. package/dist/styles-tailwind.d.ts +0 -8
  37. package/dist/styles-tailwind.js +0 -197
  38. package/dist/styles-tailwind.js.map +0 -1
  39. package/dist/transpiler-cli.d.ts +0 -3
  40. package/dist/transpiler-cli.js +0 -279
  41. package/dist/transpiler-cli.js.map +0 -1
  42. package/dist/transpiler-express.d.ts +0 -3
  43. package/dist/transpiler-express.js +0 -612
  44. package/dist/transpiler-express.js.map +0 -1
  45. package/dist/transpiler-nextjs.d.ts +0 -21
  46. package/dist/transpiler-nextjs.js +0 -400
  47. package/dist/transpiler-nextjs.js.map +0 -1
  48. package/dist/transpiler-tailwind.d.ts +0 -3
  49. package/dist/transpiler-tailwind.js +0 -594
  50. package/dist/transpiler-tailwind.js.map +0 -1
  51. package/dist/transpiler-terminal.d.ts +0 -3
  52. package/dist/transpiler-terminal.js +0 -522
  53. package/dist/transpiler-terminal.js.map +0 -1
  54. package/dist/transpiler-web.d.ts +0 -3
  55. package/dist/transpiler-web.js +0 -218
  56. package/dist/transpiler-web.js.map +0 -1
  57. package/dist/transpiler.d.ts +0 -3
  58. package/dist/transpiler.js +0 -218
  59. package/dist/transpiler.js.map +0 -1
  60. package/dist/types.d.ts +0 -76
  61. package/dist/types.js +0 -11
  62. package/dist/types.js.map +0 -1
  63. package/dist/utils.d.ts +0 -5
  64. package/dist/utils.js +0 -36
  65. package/dist/utils.js.map +0 -1
  66. package/kern.config.ts +0 -61
@@ -1,522 +0,0 @@
1
- import { countTokens, serializeIR } from './utils.js';
2
- /**
3
- * Terminal Transpiler — generates ANSI-based CLI rendering code
4
- *
5
- * Pure Node.js output, no dependencies. Writes escape codes to process.stdout.
6
- * Handles: text with styles, separator, table, scoreboard, spinner, progress,
7
- * box, gradient, state blocks, REPL, and parallel dispatch.
8
- */
9
- // ── ANSI code helpers (generated into output) ────────────────────────────
10
- const ANSI_HELPERS = `
11
- // ── ANSI helpers ──────────────────────────────────────────────────────
12
- const ESC = '\\x1b[';
13
- const RESET = ESC + '0m';
14
- let _activeSpinner = null;
15
-
16
- function hexTo256(hex) {
17
- const r = parseInt(hex.slice(1, 3), 16);
18
- const g = parseInt(hex.slice(3, 5), 16);
19
- const b = parseInt(hex.slice(5, 7), 16);
20
- return 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
21
- }
22
-
23
- function ansiColor(c) {
24
- if (typeof c === 'number') return ESC + '38;5;' + c + 'm';
25
- if (typeof c === 'string' && c.startsWith('#')) return ESC + '38;5;' + hexTo256(c) + 'm';
26
- const named = {
27
- red: '31', green: '32', yellow: '33', blue: '34',
28
- cyan: '36', magenta: '35', white: '37', dim: '2', bold: '1', italic: '3',
29
- };
30
- return ESC + (named[c] || '37') + 'm';
31
- }
32
-
33
- function ansiBg(c) {
34
- if (typeof c === 'number') return ESC + '48;5;' + c + 'm';
35
- if (typeof c === 'string' && c.startsWith('#')) return ESC + '48;5;' + hexTo256(c) + 'm';
36
- const named = {
37
- red: '41', green: '42', yellow: '43', blue: '44',
38
- cyan: '46', magenta: '45', white: '47',
39
- };
40
- return ESC + (named[c] || '47') + 'm';
41
- }
42
-
43
- function style(text, opts) {
44
- let prefix = '';
45
- if (opts.bold) prefix += ESC + '1m';
46
- if (opts.dim) prefix += ESC + '2m';
47
- if (opts.italic) prefix += ESC + '3m';
48
- if (opts.color !== undefined) prefix += ansiColor(opts.color);
49
- if (opts.bg !== undefined) prefix += ansiBg(opts.bg);
50
- return prefix + text + RESET;
51
- }
52
-
53
- function separator(width) {
54
- return style('─'.repeat(width || 48), { dim: true });
55
- }
56
-
57
- function table(headers, rows, colWidths) {
58
- const widths = colWidths || headers.map((h, i) => Math.max(h.length, ...rows.map(r => (r[i] || '').length)) + 2);
59
- const pad = (s, w) => s + ' '.repeat(Math.max(0, w - s.length));
60
- const lines = [];
61
- lines.push(headers.map((h, i) => style(pad(h, widths[i]), { bold: true })).join(''));
62
- lines.push(style('─'.repeat(widths.reduce((a, b) => a + b, 0)), { dim: true }));
63
- for (const row of rows) {
64
- lines.push(row.map((c, i) => pad(c, widths[i])).join(''));
65
- }
66
- return lines.join('\\n');
67
- }
68
-
69
- function box(content, color, width) {
70
- color = color || 'white';
71
- width = width || 50;
72
- const lines = content.split('\\n');
73
- const inner = width - 4;
74
- const top = style('┌' + '─'.repeat(inner + 2) + '┐', { color });
75
- const bot = style('└' + '─'.repeat(inner + 2) + '┘', { color });
76
- const mid = lines.map(l => {
77
- const padded = l + ' '.repeat(Math.max(0, inner - l.length));
78
- return style('│ ', { color }) + padded + style(' │', { color });
79
- });
80
- return [top, ...mid, bot].join('\\n');
81
- }
82
-
83
- function gradient(text, colors) {
84
- if (!colors || colors.length === 0) return text;
85
- return text.split('').map((ch, i) => {
86
- const colorIdx = Math.floor((i / text.length) * colors.length);
87
- return ansiColor(colors[Math.min(colorIdx, colors.length - 1)]) + ch;
88
- }).join('') + RESET;
89
- }
90
-
91
- function spinner(message, color) {
92
- color = color || 'white';
93
- const frames = ['⠋','⠙','⠹','⠸','⠼','⠴','⠦','⠧','⠇','⠏'];
94
- let i = 0;
95
- let interval;
96
- const s = {
97
- start() {
98
- _activeSpinner = s;
99
- interval = setInterval(() => {
100
- process.stdout.write('\\r' + ansiColor(color) + frames[i % frames.length] + RESET + ' ' + message);
101
- i++;
102
- }, 80);
103
- },
104
- stop(finalMsg) {
105
- clearInterval(interval);
106
- _activeSpinner = null;
107
- process.stdout.write('\\r' + ' '.repeat(message.length + 4) + '\\r');
108
- if (finalMsg) console.log(finalMsg);
109
- },
110
- };
111
- return s;
112
- }
113
-
114
- function progressBar(value, max, width, color) {
115
- width = width || 20;
116
- color = color || 'green';
117
- const pct = Math.min(1, Math.max(0, value / max));
118
- const filled = Math.round(pct * width);
119
- const empty = width - filled;
120
- return ansiColor(color) + '▓'.repeat(filled) + RESET + '░'.repeat(empty) + \` \${Math.round(pct * 100)}%\`;
121
- }
122
-
123
- process.on('SIGINT', () => { if (_activeSpinner) _activeSpinner.stop(); process.exit(0); });
124
- `.trim();
125
- // ── Types ────────────────────────────────────────────────────────────────
126
- function getProps(node) {
127
- return node.props || {};
128
- }
129
- function getChildren(node, type) {
130
- return (node.children || []).filter(c => c.type === type);
131
- }
132
- function getFirstChild(node, type) {
133
- return (node.children || []).find(c => c.type === type);
134
- }
135
- // ── State block generator ────────────────────────────────────────────────
136
- function generateStateBlock(stateNode) {
137
- const lines = [];
138
- const props = getProps(stateNode);
139
- // State node from parser: state name=varName initial=value
140
- const name = props.name;
141
- const initial = props.initial;
142
- if (name && initial !== undefined) {
143
- const initVal = initial === 'null' ? 'null' : initial === 'true' ? 'true' : initial === 'false' ? 'false' : isNaN(Number(initial)) ? `'${initial}'` : String(initial);
144
- lines.push(`let ${name} = ${initVal};`);
145
- }
146
- else if (props.styles) {
147
- // State block with styles syntax: state {key:value}
148
- const styles = props.styles;
149
- for (const [key, val] of Object.entries(styles)) {
150
- const initVal = val === 'null' ? 'null' : val === 'true' ? 'true' : val === 'false' ? 'false' : isNaN(Number(val)) ? `'${val}'` : String(val);
151
- lines.push(`let ${key} = ${initVal};`);
152
- }
153
- }
154
- return lines;
155
- }
156
- // ── Node renderer ────────────────────────────────────────────────────────
157
- function renderTerminalNode(node, indent) {
158
- const p = getProps(node);
159
- const lines = [];
160
- switch (node.type) {
161
- case 'text': {
162
- const value = p.value || '';
163
- const styles = p.styles || {};
164
- const styleObj = [];
165
- if (styles.c || styles.color)
166
- styleObj.push(`color: ${JSON.stringify(styles.c || styles.color)}`);
167
- if (styles.bg)
168
- styleObj.push(`bg: ${JSON.stringify(styles.bg)}`);
169
- if (styles.fw === 'bold' || styles.bold)
170
- styleObj.push('bold: true');
171
- if (styles.dim)
172
- styleObj.push('dim: true');
173
- if (styles.italic)
174
- styleObj.push('italic: true');
175
- if (styleObj.length > 0) {
176
- lines.push(`${indent}console.log(style(${JSON.stringify(value)}, { ${styleObj.join(', ')} }));`);
177
- }
178
- else {
179
- lines.push(`${indent}console.log(${JSON.stringify(value)});`);
180
- }
181
- break;
182
- }
183
- case 'separator': {
184
- const width = Number(p.width) || 48;
185
- lines.push(`${indent}console.log(separator(${width}));`);
186
- break;
187
- }
188
- case 'table': {
189
- const headers = p.headers || '[]';
190
- lines.push(`${indent}const _tableHeaders = ${headers};`);
191
- lines.push(`${indent}const _tableRows: string[][] = [];`);
192
- for (const row of getChildren(node, 'row')) {
193
- const rowData = getProps(row).data || '[]';
194
- lines.push(`${indent}_tableRows.push(${rowData});`);
195
- }
196
- lines.push(`${indent}console.log(table(_tableHeaders, _tableRows));`);
197
- break;
198
- }
199
- case 'scoreboard': {
200
- const title = p.title || 'Results';
201
- const winner = p.winner || '';
202
- lines.push(`${indent}console.log(style(${JSON.stringify(title)}, { bold: true }));`);
203
- if (winner) {
204
- lines.push(`${indent}console.log(style('Winner: ${winner}', { color: 'green', bold: true }));`);
205
- }
206
- for (const metric of getChildren(node, 'metric')) {
207
- const mp = getProps(metric);
208
- const name = mp.name || '';
209
- const values = mp.values || '[]';
210
- lines.push(`${indent}console.log(' ' + style('${name}:', { dim: true }) + ' ' + ${values}.join(' | '));`);
211
- }
212
- break;
213
- }
214
- case 'spinner': {
215
- const message = p.message || 'Loading...';
216
- const color = p.color || 'white';
217
- lines.push(`${indent}const _spinner = spinner(${JSON.stringify(message)}, ${JSON.stringify(color)});`);
218
- lines.push(`${indent}_spinner.start();`);
219
- break;
220
- }
221
- case 'progress': {
222
- const value = Number(p.value) || 0;
223
- const max = Number(p.max) || 100;
224
- const color = p.color || 'green';
225
- lines.push(`${indent}console.log(progressBar(${value}, ${max}, 20, ${JSON.stringify(color)}));`);
226
- break;
227
- }
228
- case 'box': {
229
- const color = p.color || 'white';
230
- const width = Number(p.width) || 50;
231
- // Box content from all children (recursive)
232
- const boxContent = [];
233
- for (const child of node.children || []) {
234
- const cp = getProps(child);
235
- if (child.type === 'text') {
236
- boxContent.push(cp.value || '');
237
- }
238
- else if (child.type === 'separator') {
239
- boxContent.push('─'.repeat(Math.min(Number(cp.width) || 40, width - 4)));
240
- }
241
- else if (child.type === 'progress') {
242
- boxContent.push(`[progress: ${cp.value || 0}/${cp.max || 100}]`);
243
- }
244
- else {
245
- boxContent.push(`[${child.type}]`);
246
- }
247
- }
248
- lines.push(`${indent}console.log(box(${JSON.stringify(boxContent.join('\\n'))}, ${JSON.stringify(color)}, ${width}));`);
249
- break;
250
- }
251
- case 'gradient': {
252
- const text = p.text || '';
253
- const colors = p.colors || '[]';
254
- lines.push(`${indent}console.log(gradient(${JSON.stringify(text)}, ${colors}));`);
255
- break;
256
- }
257
- case 'handler': {
258
- const code = p.code || '';
259
- for (const line of code.split('\n')) {
260
- lines.push(`${indent}${line.trim()}`);
261
- }
262
- break;
263
- }
264
- case 'state':
265
- // Handled at top level
266
- break;
267
- case 'repl':
268
- // Handled at top level
269
- break;
270
- case 'parallel':
271
- lines.push(...generateParallelCode(node, indent));
272
- break;
273
- default:
274
- // Recurse into children for unknown nodes
275
- if (node.children) {
276
- for (const child of node.children) {
277
- lines.push(...renderTerminalNode(child, indent));
278
- }
279
- }
280
- }
281
- return lines;
282
- }
283
- // ── Parallel code generator ───────────────────────────────────────────────
284
- function generateParallelCode(node, indent) {
285
- const p = getProps(node);
286
- const timeoutSec = Number(p.timeout) || 60;
287
- const lines = [];
288
- // Find each/dispatch children and then block
289
- const eachNode = (node.children || []).find(c => c.type === 'each');
290
- const dispatchNodes = getChildren(node, 'dispatch');
291
- const thenNode = (node.children || []).find(c => c.type === 'then');
292
- lines.push(`${indent}// ── Parallel dispatch ──────────────────────────`);
293
- lines.push(`${indent}await (async () => {`);
294
- lines.push(`${indent} const _ac = new AbortController();`);
295
- lines.push(`${indent} const _timeout = setTimeout(() => _ac.abort(), ${timeoutSec * 1000});`);
296
- lines.push('');
297
- if (eachNode) {
298
- // Pattern: each engine in collection → dispatch
299
- const ep = getProps(eachNode);
300
- // "each engine in state.engines" → varName=engine, collection=state.engines
301
- // Parse from props: name=engine, in=state.engines (or similar)
302
- const varName = ep.name || 'item';
303
- const collection = ep.in || '[]';
304
- const innerDispatch = getFirstChild(eachNode, 'dispatch');
305
- if (innerDispatch) {
306
- const dp = getProps(innerDispatch);
307
- const prompt = dp.prompt || 'prompt';
308
- const resultVar = dp.result || 'result';
309
- // Check for on start/done events (Pattern B)
310
- const onStartNode = (innerDispatch.children || []).find(c => c.type === 'on' && (getProps(c).name === 'start' || getProps(c).event === 'start'));
311
- const onDoneNode = (innerDispatch.children || []).find(c => c.type === 'on' && (getProps(c).name === 'done' || getProps(c).event === 'done'));
312
- lines.push(`${indent} const _tasks = (${collection} || []).map(async (${varName}) => {`);
313
- if (onStartNode) {
314
- const startHandler = getFirstChild(onStartNode, 'handler');
315
- const startCode = startHandler ? String(getProps(startHandler).code || '') : '';
316
- if (startCode) {
317
- for (const l of startCode.split('\n'))
318
- lines.push(`${indent} ${l.trim()}`);
319
- }
320
- }
321
- lines.push(`${indent} const ${resultVar} = await dispatch(${varName}, ${prompt}, { signal: _ac.signal });`);
322
- if (onDoneNode) {
323
- const doneHandler = getFirstChild(onDoneNode, 'handler');
324
- const doneCode = doneHandler ? String(getProps(doneHandler).code || '') : '';
325
- if (doneCode) {
326
- for (const l of doneCode.split('\n'))
327
- lines.push(`${indent} ${l.trim()}`);
328
- }
329
- }
330
- lines.push(`${indent} return { ${varName}, ${resultVar} };`);
331
- lines.push(`${indent} });`);
332
- }
333
- }
334
- else if (dispatchNodes.length > 0) {
335
- // Named dispatch nodes: dispatch engine="claude" → claudeResult
336
- lines.push(`${indent} const _tasks = [`);
337
- for (const dn of dispatchNodes) {
338
- const dp = getProps(dn);
339
- const engine = dp.engine || 'engine';
340
- const prompt = dp.prompt || 'prompt';
341
- const resultVar = dp.result || `${engine}Result`;
342
- // Check for on start/done events
343
- const onStartNode = (dn.children || []).find(c => c.type === 'on' && (getProps(c).name === 'start' || getProps(c).event === 'start'));
344
- const onDoneNode = (dn.children || []).find(c => c.type === 'on' && (getProps(c).name === 'done' || getProps(c).event === 'done'));
345
- lines.push(`${indent} (async () => {`);
346
- if (onStartNode) {
347
- const startHandler = getFirstChild(onStartNode, 'handler');
348
- const startCode = startHandler ? String(getProps(startHandler).code || '') : '';
349
- if (startCode) {
350
- for (const l of startCode.split('\n'))
351
- lines.push(`${indent} ${l.trim()}`);
352
- }
353
- }
354
- lines.push(`${indent} const ${resultVar} = await dispatch(${JSON.stringify(engine)}, ${prompt}, { signal: _ac.signal });`);
355
- if (onDoneNode) {
356
- const doneHandler = getFirstChild(onDoneNode, 'handler');
357
- const doneCode = doneHandler ? String(getProps(doneHandler).code || '') : '';
358
- if (doneCode) {
359
- for (const l of doneCode.split('\n'))
360
- lines.push(`${indent} ${l.trim()}`);
361
- }
362
- }
363
- lines.push(`${indent} return { engine: ${JSON.stringify(engine)}, result: ${resultVar} };`);
364
- lines.push(`${indent} })(),`);
365
- }
366
- lines.push(`${indent} ];`);
367
- }
368
- lines.push('');
369
- lines.push(`${indent} // Race tasks against timeout — collect whatever finished`);
370
- lines.push(`${indent} const _timeoutPromise = new Promise((resolve) => {`);
371
- lines.push(`${indent} _ac.signal.addEventListener('abort', () => resolve('timeout'));`);
372
- lines.push(`${indent} });`);
373
- lines.push(`${indent} const _raceResult = await Promise.race([`);
374
- lines.push(`${indent} Promise.allSettled(_tasks).then(r => ({ settled: r })),`);
375
- lines.push(`${indent} _timeoutPromise.then(() => ({ settled: null })),`);
376
- lines.push(`${indent} ]);`);
377
- lines.push(`${indent} clearTimeout(_timeout);`);
378
- lines.push(`${indent} // On timeout, collect partial results (resolved so far)`);
379
- lines.push(`${indent} const _settled = (_raceResult as any).settled || [];`);
380
- lines.push(`${indent} const results = _settled`);
381
- lines.push(`${indent} .filter((r) => r.status === 'fulfilled')`);
382
- lines.push(`${indent} .map((r) => r.value);`);
383
- // Then block
384
- if (thenNode) {
385
- lines.push('');
386
- // Render then children
387
- for (const child of thenNode.children || []) {
388
- lines.push(...renderTerminalNode(child, `${indent} `));
389
- }
390
- // Handler inside then
391
- const thenHandler = getFirstChild(thenNode, 'handler');
392
- if (thenHandler) {
393
- const code = String(getProps(thenHandler).code || '');
394
- for (const l of code.split('\n')) {
395
- lines.push(`${indent} ${l.trim()}`);
396
- }
397
- }
398
- }
399
- lines.push(`${indent}})();`);
400
- return lines;
401
- }
402
- // ── Main export ──────────────────────────────────────────────────────────
403
- export function transpileTerminal(root, _config) {
404
- const sourceMap = [];
405
- const lines = [];
406
- // ANSI helpers
407
- lines.push(ANSI_HELPERS);
408
- lines.push('');
409
- // State blocks
410
- const stateNodes = getChildren(root, 'state');
411
- if (stateNodes.length > 0) {
412
- lines.push('// ── State ──────────────────────────────────────────────');
413
- for (const stateNode of stateNodes) {
414
- lines.push(...generateStateBlock(stateNode));
415
- }
416
- lines.push('');
417
- }
418
- // REPL node detection — generate readline setup
419
- const replNode = (root.children || []).find(c => c.type === 'repl');
420
- // Render static nodes (text, separator, box, parallel, etc.) before REPL
421
- const staticChildren = (root.children || []).filter(c => c.type !== 'state' && c.type !== 'repl');
422
- const hasAsync = staticChildren.some(c => c.type === 'parallel');
423
- if (staticChildren.length > 0) {
424
- lines.push('// ── Output ─────────────────────────────────────────────');
425
- if (hasAsync)
426
- lines.push('(async () => {');
427
- const indent = hasAsync ? ' ' : '';
428
- for (const child of staticChildren) {
429
- lines.push(...renderTerminalNode(child, indent));
430
- }
431
- if (hasAsync)
432
- lines.push('})();');
433
- lines.push('');
434
- }
435
- if (replNode) {
436
- lines.push(...generateReplCode(replNode));
437
- }
438
- sourceMap.push({
439
- irLine: root.loc?.line || 0,
440
- irCol: root.loc?.col || 1,
441
- outLine: 1,
442
- outCol: 1,
443
- });
444
- const code = lines.join('\n');
445
- const irText = serializeIR(root);
446
- const irTokenCount = countTokens(irText);
447
- const tsTokenCount = countTokens(code);
448
- const tokenReduction = Math.round((1 - irTokenCount / tsTokenCount) * 100);
449
- return {
450
- code,
451
- sourceMap,
452
- irTokenCount,
453
- tsTokenCount,
454
- tokenReduction,
455
- };
456
- }
457
- // ── REPL generator ───────────────────────────────────────────────────────
458
- function generateReplCode(replNode) {
459
- const p = getProps(replNode);
460
- const prompt = p.prompt || '> ';
461
- const lines = [];
462
- lines.push(`import { createInterface } from 'node:readline';`);
463
- lines.push('');
464
- lines.push('// ── REPL ───────────────────────────────────────────────');
465
- lines.push(`const rl = createInterface({`);
466
- lines.push(` input: process.stdin,`);
467
- lines.push(` output: process.stdout,`);
468
- lines.push(` prompt: ${JSON.stringify(prompt + ' ')},`);
469
- lines.push(`});`);
470
- lines.push('');
471
- // on line handler
472
- const onLineNode = (replNode.children || []).find(c => c.type === 'on' && ((getProps(c).name || getProps(c).event) === 'line' || (getProps(c).name || getProps(c).event) === 'input'));
473
- if (onLineNode) {
474
- const handlerNode = getFirstChild(onLineNode, 'handler');
475
- const handlerCode = handlerNode ? String(getProps(handlerNode).code || '') : '';
476
- lines.push(`rl.on('line', async (input: string) => {`);
477
- lines.push(` const trimmed = input.trim();`);
478
- lines.push(` if (!trimmed) { rl.prompt(); return; }`);
479
- // Guard node — busy check
480
- const guardNode = (replNode.children || []).find(c => c.type === 'guard');
481
- if (guardNode) {
482
- const guardProp = getProps(guardNode);
483
- const condition = Object.entries(guardProp).find(([k]) => k !== 'styles' && k !== 'pseudoStyles' && k !== 'themeRefs');
484
- if (condition) {
485
- lines.push(` if (${condition[0]}) {`);
486
- // Guard children (text output)
487
- for (const gc of guardNode.children || []) {
488
- lines.push(...renderTerminalNode(gc, ' '));
489
- }
490
- lines.push(` rl.prompt(); return;`);
491
- lines.push(` }`);
492
- }
493
- }
494
- if (handlerCode) {
495
- for (const line of handlerCode.split('\n')) {
496
- lines.push(` ${line.trim()}`);
497
- }
498
- }
499
- lines.push(` rl.prompt();`);
500
- lines.push(`});`);
501
- }
502
- // on interrupt handler
503
- const onInterruptNode = (replNode.children || []).find(c => c.type === 'on' && ((getProps(c).name || getProps(c).event) === 'interrupt' || (getProps(c).name || getProps(c).event) === 'SIGINT'));
504
- if (onInterruptNode) {
505
- lines.push('');
506
- lines.push(`rl.on('SIGINT', () => {`);
507
- for (const child of onInterruptNode.children || []) {
508
- lines.push(...renderTerminalNode(child, ' '));
509
- }
510
- lines.push(` rl.close();`);
511
- lines.push(` process.exit(0);`);
512
- lines.push(`});`);
513
- }
514
- else {
515
- lines.push('');
516
- lines.push(`rl.on('SIGINT', () => { rl.close(); process.exit(0); });`);
517
- }
518
- lines.push('');
519
- lines.push(`rl.prompt();`);
520
- return lines;
521
- }
522
- //# sourceMappingURL=transpiler-terminal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transpiler-terminal.js","sourceRoot":"","sources":["../src/transpiler-terminal.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { IRNode, TranspileResult } from './types.js';
2
- import type { ResolvedKernConfig } from './config.js';
3
- export declare function transpileWeb(root: IRNode, _config?: ResolvedKernConfig): TranspileResult;