@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
@@ -10,7 +10,7 @@ export function getProps(node) {
10
10
  }
11
11
  export function getChildren(node, type) {
12
12
  const c = node.children || [];
13
- return type ? c.filter(n => n.type === type) : c;
13
+ return type ? c.filter((n) => n.type === type) : c;
14
14
  }
15
15
  export function getFirstChild(node, type) {
16
16
  return getChildren(node, type)[0];
@@ -24,14 +24,41 @@ export function getPseudoStyles(node) {
24
24
  export function getThemeRefs(node) {
25
25
  return getProps(node).themeRefs || [];
26
26
  }
27
+ export function emitDocBlock(text) {
28
+ const trimmed = text.trim();
29
+ if (!trimmed)
30
+ return [];
31
+ const lines = ['/**'];
32
+ for (const line of trimmed.split('\n')) {
33
+ lines.push(line.trim().length > 0 ? ` * ${line}` : ' *');
34
+ }
35
+ lines.push(' */');
36
+ return lines;
37
+ }
38
+ export function emitDocComment(node) {
39
+ const docs = node.type === 'doc' ? [node] : getChildren(node, 'doc');
40
+ if (docs.length === 0)
41
+ return [];
42
+ const text = docs
43
+ .map((doc) => {
44
+ const props = getProps(doc);
45
+ return (props.text || props.code || '').trim();
46
+ })
47
+ .filter(Boolean)
48
+ .join('\n\n');
49
+ return emitDocBlock(text);
50
+ }
27
51
  // ── String Utilities ────────────────────────────────────────────────────
28
52
  export function dedent(code) {
29
53
  const lines = code.split('\n');
30
- const nonEmpty = lines.filter(l => l.trim().length > 0);
54
+ const nonEmpty = lines.filter((l) => l.trim().length > 0);
31
55
  if (nonEmpty.length === 0)
32
56
  return code;
33
- const minIndent = Math.min(...nonEmpty.map(l => l.match(/^(\s*)/)?.[1]?.length ?? 0));
34
- return lines.map(l => l.slice(minIndent)).join('\n').trim();
57
+ const minIndent = Math.min(...nonEmpty.map((l) => l.match(/^(\s*)/)?.[1]?.length ?? 0));
58
+ return lines
59
+ .map((l) => l.slice(minIndent))
60
+ .join('\n')
61
+ .trim();
35
62
  }
36
63
  export function cssPropertyName(camel) {
37
64
  return camel.replace(/([A-Z])/g, '-$1').toLowerCase();
@@ -54,7 +81,8 @@ export function capitalize(s) {
54
81
  export function parseParamList(params) {
55
82
  if (!params)
56
83
  return '';
57
- return splitParamsRespectingDepth(params).map(s => {
84
+ return splitParamsRespectingDepth(params)
85
+ .map((s) => {
58
86
  const trimmed = s.trim();
59
87
  const colonIdx = trimmed.indexOf(':');
60
88
  if (colonIdx === -1)
@@ -67,7 +95,8 @@ export function parseParamList(params) {
67
95
  const ptype = rest.slice(0, eqIdx).trim();
68
96
  const pdefault = rest.slice(eqIdx + 1).trim();
69
97
  return `${pname}: ${ptype} = ${pdefault}`;
70
- }).join(', ');
98
+ })
99
+ .join(', ');
71
100
  }
72
101
  /** Split param string on commas while respecting <>, (), {} depth. */
73
102
  function splitParamsRespectingDepth(s) {
@@ -109,6 +138,13 @@ function findDefaultSeparator(rest) {
109
138
  }
110
139
  return -1;
111
140
  }
141
+ // ── Source Location Comments ────────────────────────────────────────────
142
+ /** Emit a @kern-source comment for tracing generated code back to .kern source. */
143
+ export function sourceComment(node, sourceFile) {
144
+ if (!node.loc)
145
+ return '';
146
+ return `// @kern-source: ${sourceFile || 'unknown'}:${node.loc.line}`;
147
+ }
112
148
  // ── Reason & Confidence Annotations ─────────────────────────────────────
113
149
  export function emitReasonAnnotations(node) {
114
150
  const reasonNode = getFirstChild(node, 'reason');
@@ -151,7 +187,7 @@ export function emitLowConfidenceTodo(node, confidence) {
151
187
  if (!confidence)
152
188
  return [];
153
189
  const val = parseFloat(confidence);
154
- if (isNaN(val) || val >= 0.5 || confidence.includes(':'))
190
+ if (Number.isNaN(val) || val >= 0.5 || confidence.includes(':'))
155
191
  return [];
156
192
  const name = getProps(node).name || node.type;
157
193
  return [`// TODO(low-confidence): ${name} confidence=${confidence}`];
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/codegen/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/codegen/helpers.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@
6
6
  */
7
7
  import { propsOf } from '../node-props.js';
8
8
  import { emitIdentifier, emitTemplateSafe } from './emitters.js';
9
- import { getProps, getChildren, handlerCode, exportPrefix } from './helpers.js';
10
- const p = getProps;
9
+ import { exportPrefix, getChildren, getProps, handlerCode } from './helpers.js';
10
+ const _p = getProps;
11
11
  const kids = getChildren;
12
12
  // ── State Machine ────────────────────────────────────────────────────────
13
13
  export function generateMachine(node) {
@@ -17,13 +17,13 @@ export function generateMachine(node) {
17
17
  const lines = [];
18
18
  // Collect states
19
19
  const states = kids(node, 'state');
20
- const stateNames = states.map(s => {
20
+ const stateNames = states.map((s) => {
21
21
  const sp = propsOf(s);
22
22
  return emitIdentifier(sp.name || sp.value, 'state', s);
23
23
  });
24
24
  // State type
25
25
  const stateType = `${name}State`;
26
- lines.push(`${exp}type ${stateType} = ${stateNames.map(s => `'${emitTemplateSafe(s)}'`).join(' | ')};`);
26
+ lines.push(`${exp}type ${stateType} = ${stateNames.map((s) => `'${emitTemplateSafe(s)}'`).join(' | ')};`);
27
27
  lines.push('');
28
28
  // Error class
29
29
  const errorName = `${name}StateError`;
@@ -45,14 +45,14 @@ export function generateMachine(node) {
45
45
  const tname = emitIdentifier(tp.name, 'transition', t);
46
46
  const from = tp.from || '';
47
47
  const to = tp.to || '';
48
- const fromStates = from.split('|').map(s => s.trim());
48
+ const fromStates = from.split('|').map((s) => s.trim());
49
49
  const isMultiFrom = fromStates.length > 1;
50
50
  const fnName = `${tname}${name}`;
51
51
  const code = handlerCode(t);
52
52
  lines.push(`/** ${from} → ${to} */`);
53
53
  lines.push(`${exp}function ${fnName}<T extends { state: ${stateType} }>(entity: T): T {`);
54
54
  if (isMultiFrom) {
55
- lines.push(` const validStates: ${stateType}[] = [${fromStates.map(s => `'${s}'`).join(', ')}];`);
55
+ lines.push(` const validStates: ${stateType}[] = [${fromStates.map((s) => `'${s}'`).join(', ')}];`);
56
56
  lines.push(` if (!validStates.includes(entity.state)) {`);
57
57
  lines.push(` throw new ${errorName}(validStates, entity.state);`);
58
58
  lines.push(` }`);
@@ -87,20 +87,22 @@ export function generateMachineReducer(node) {
87
87
  lines.push(...generateMachine(node));
88
88
  // Collect states + transitions
89
89
  const states = kids(node, 'state');
90
- const stateNames = states.map(s => {
90
+ const stateNames = states.map((s) => {
91
91
  const sp = propsOf(s);
92
92
  return sp.name || sp.value || '';
93
93
  });
94
- const initialState = states.find(s => {
94
+ const initialState = states.find((s) => {
95
95
  const sp = propsOf(s);
96
96
  return sp.initial === 'true' || sp.initial === true;
97
97
  });
98
- const initialName = initialState ? (propsOf(initialState).name || propsOf(initialState).value || '') : stateNames[0];
98
+ const initialName = initialState
99
+ ? propsOf(initialState).name || propsOf(initialState).value || ''
100
+ : stateNames[0];
99
101
  const transitions = kids(node, 'transition');
100
102
  const stateType = `${name}State`;
101
103
  // Action type union
102
- const actionNames = transitions.map(t => emitIdentifier(propsOf(t).name, 'action', t));
103
- lines.push(`${exp}type ${name}Action = ${actionNames.map(a => `'${a}'`).join(' | ')};`);
104
+ const actionNames = transitions.map((t) => emitIdentifier(propsOf(t).name, 'action', t));
105
+ lines.push(`${exp}type ${name}Action = ${actionNames.map((a) => `'${a}'`).join(' | ')};`);
104
106
  lines.push('');
105
107
  // Reducer function
106
108
  lines.push(`${exp}function ${name.charAt(0).toLowerCase() + name.slice(1)}Reducer(state: ${stateType}, action: ${name}Action): ${stateType} {`);
@@ -1 +1 @@
1
- {"version":3,"file":"machines.js","sourceRoot":"","sources":["../../src/codegen/machines.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,CAAC,GAAG,QAAQ,CAAC;AACnB,MAAM,IAAI,GAAG,WAAW,CAAC;AAEzB,4EAA4E;AAE5E,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAY,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,iBAAiB;IACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAChC,MAAM,EAAE,GAAG,OAAO,CAAU,CAAC,CAAC,CAAC;QAC/B,OAAO,cAAc,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,SAAS,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,cAAc;IACd,MAAM,SAAS,GAAG,GAAG,IAAI,YAAY,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,SAAS,kBAAkB,CAAC,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7B,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;IACjG,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,WAAW,EAAE,sDAAsD,CAAC,CAAC;IAC5G,KAAK,CAAC,IAAI,CAAC,oBAAoB,SAAS,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,uBAAuB;IACvB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,OAAO,CAAe,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE5B,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,MAAM,uBAAuB,SAAS,qBAAqB,CAAC,CAAC;QAE1F,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,wBAAwB,SAAS,SAAS,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnG,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,8BAA8B,CAAC,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,iBAAiB,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,iCAAiC,EAAE,QAAQ,SAAS,KAAK,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4EAA4E;AAE5E,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,KAAK,GAAG,OAAO,CAAY,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,yCAAyC;IACzC,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,+BAA+B;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAChC,MAAM,EAAE,GAAG,OAAO,CAAU,CAAC,CAAC,CAAC;QAC/B,OAAO,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACnC,MAAM,EAAE,GAAG,OAAO,CAAU,CAAC,CAAC,CAAC;QAC/B,OAAO,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAU,YAAY,CAAC,CAAC,IAAI,IAAI,OAAO,CAAU,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEvI,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC;IAEjC,oBAAoB;IACpB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,OAAO,CAAe,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACrG,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,IAAI,YAAY,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,mBAAmB;IACnB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,SAAS,aAAa,IAAI,YAAY,SAAS,IAAI,CAAC,CAAC;IAChJ,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,OAAO,CAAe,CAAC,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,aAAa,gBAAgB,CAAC,KAAK,CAAC,aAAa,MAAM,iBAAiB,CAAC,CAAC;IACvF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,kBAAkB;IAClB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,eAAe,IAAI,aAAa,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,WAAW,QAAQ,SAAS,IAAI,CAAC,CAAC;IAChJ,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"machines.js","sourceRoot":"","sources":["../../src/codegen/machines.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  import { propsOf } from '../node-props.js';
10
10
  import { emitIdentifier, emitImportSpecifier } from './emitters.js';
11
11
  import { getProps } from './helpers.js';
12
- const p = getProps;
12
+ const _p = getProps;
13
13
  // ── Import ──────────────────────────────────────────────────────────────
14
14
  export function generateImport(node) {
15
15
  const props = propsOf(node);
@@ -23,7 +23,10 @@ export function generateImport(node) {
23
23
  const typeKw = isTypeOnly ? 'type ' : '';
24
24
  const safeDefault = defaultImport ? emitIdentifier(defaultImport, 'default', node) : '';
25
25
  const namedList = names
26
- ? names.split(',').map(s => emitIdentifier(s.trim(), 'import', node)).join(', ')
26
+ ? names
27
+ .split(',')
28
+ .map((s) => emitIdentifier(s.trim(), 'import', node))
29
+ .join(', ')
27
30
  : '';
28
31
  if (safeDefault && namedList) {
29
32
  return [`import ${typeKw}${safeDefault}, { ${namedList} } from '${safePath}';`];
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../src/codegen/modules.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAEnB,2EAA2E;AAE3E,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,OAAO,CAAW,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IAElE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,SAAS,GAAG,KAAK;QACrB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChF,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,UAAU,MAAM,GAAG,WAAW,OAAO,SAAS,YAAY,QAAQ,IAAI,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,UAAU,MAAM,GAAG,WAAW,UAAU,QAAQ,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,UAAU,MAAM,KAAK,SAAS,YAAY,QAAQ,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,qBAAqB;IACrB,OAAO,CAAC,WAAW,QAAQ,IAAI,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../src/codegen/modules.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,EAAE,GAAG,QAAQ,CAAC;AAEpB,2EAA2E;AAE3E,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,OAAO,CAAW,IAAI,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IAElE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,SAAS,GAAG,KAAK;QACrB,CAAC,CAAC,KAAK;aACF,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;aACpD,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,UAAU,MAAM,GAAG,WAAW,OAAO,SAAS,YAAY,QAAQ,IAAI,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,UAAU,MAAM,GAAG,WAAW,UAAU,QAAQ,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,UAAU,MAAM,KAAK,SAAS,YAAY,QAAQ,IAAI,CAAC,CAAC;IAClE,CAAC;IACD,qBAAqB;IACrB,OAAO,CAAC,WAAW,QAAQ,IAAI,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Screen codegen — generates React/Ink components from KERN `screen` nodes.
3
+ *
4
+ * KERN syntax:
5
+ * screen name=MyComponent target=ink
6
+ * prop name=title type=string
7
+ * prop name=count type=number optional=true
8
+ * state name=value type=string initial="''"
9
+ * state name=open type=boolean initial="false"
10
+ * effect <<<
11
+ * // useEffect body
12
+ * >>>
13
+ * render <<<
14
+ * <Box><Text>{title}</Text></Box>
15
+ * >>>
16
+ *
17
+ * Generates:
18
+ * import React, { useState, useEffect, useCallback, useRef } from 'react';
19
+ * import { Box, Text, useInput, useApp } from 'ink';
20
+ *
21
+ * export function MyComponent({ title, count }: { title: string; count?: number }) {
22
+ * const [value, setValue] = useState('');
23
+ * const [open, setOpen] = useState(false);
24
+ * useEffect(() => { ... }, []);
25
+ * return (<Box><Text>{title}</Text></Box>);
26
+ * }
27
+ */
28
+ import type { IRNode } from '../types.js';
29
+ export declare function generateScreen(node: IRNode): string[];
@@ -0,0 +1,202 @@
1
+ /**
2
+ * Screen codegen — generates React/Ink components from KERN `screen` nodes.
3
+ *
4
+ * KERN syntax:
5
+ * screen name=MyComponent target=ink
6
+ * prop name=title type=string
7
+ * prop name=count type=number optional=true
8
+ * state name=value type=string initial="''"
9
+ * state name=open type=boolean initial="false"
10
+ * effect <<<
11
+ * // useEffect body
12
+ * >>>
13
+ * render <<<
14
+ * <Box><Text>{title}</Text></Box>
15
+ * >>>
16
+ *
17
+ * Generates:
18
+ * import React, { useState, useEffect, useCallback, useRef } from 'react';
19
+ * import { Box, Text, useInput, useApp } from 'ink';
20
+ *
21
+ * export function MyComponent({ title, count }: { title: string; count?: number }) {
22
+ * const [value, setValue] = useState('');
23
+ * const [open, setOpen] = useState(false);
24
+ * useEffect(() => { ... }, []);
25
+ * return (<Box><Text>{title}</Text></Box>);
26
+ * }
27
+ */
28
+ import { emitIdentifier } from './emitters.js';
29
+ import { exportPrefix, getChildren, getFirstChild, getProps } from './helpers.js';
30
+ function propsOf(node) {
31
+ return node.props || {};
32
+ }
33
+ function handlerContent(node) {
34
+ const handler = getChildren(node, 'handler')[0];
35
+ if (handler) {
36
+ const hp = propsOf(handler);
37
+ return hp.code || hp.body || '';
38
+ }
39
+ // Check for inline body/code prop
40
+ const p = propsOf(node);
41
+ return p.code || p.body || '';
42
+ }
43
+ export function generateScreen(node) {
44
+ const props = getProps(node);
45
+ const name = emitIdentifier(props.name, 'UnnamedScreen', node);
46
+ const _target = props.target || 'ink';
47
+ const exp = exportPrefix(node);
48
+ const lines = [];
49
+ // Collect children
50
+ const propNodes = getChildren(node, 'prop');
51
+ const stateNodes = getChildren(node, 'state');
52
+ const effectNodes = getChildren(node, 'effect');
53
+ const renderNode = getFirstChild(node, 'render');
54
+ const callbackNodes = getChildren(node, 'callback');
55
+ const memoNodes = getChildren(node, 'memo');
56
+ const refNodes = getChildren(node, 'ref');
57
+ const onInputNodes = getChildren(node, 'on').filter((n) => {
58
+ const p = propsOf(n);
59
+ return p.event === 'input';
60
+ });
61
+ // Determine which React hooks are needed
62
+ const needsState = stateNodes.length > 0;
63
+ const needsEffect = effectNodes.length > 0;
64
+ const needsCallback = callbackNodes.length > 0;
65
+ const needsMemo = memoNodes.length > 0;
66
+ const needsRef = refNodes.length > 0 || onInputNodes.length > 0;
67
+ // Imports
68
+ const reactImports = ['React'];
69
+ if (needsState)
70
+ reactImports.push('useState');
71
+ if (needsEffect)
72
+ reactImports.push('useEffect');
73
+ if (needsCallback)
74
+ reactImports.push('useCallback');
75
+ if (needsMemo)
76
+ reactImports.push('useMemo');
77
+ if (needsRef)
78
+ reactImports.push('useRef');
79
+ // Don't emit imports here — KERN import nodes at file level handle React/Ink imports.
80
+ // Screen codegen only emits the component function. This avoids duplicate imports
81
+ // when multiple screens are in one file.
82
+ //
83
+ // Files MUST have: import from="ink" names="Box,Text"
84
+ // If hooks are used, the file needs: import from="react" names="React,useState,useEffect,..."
85
+ lines.push('');
86
+ // Parse props
87
+ const componentProps = propNodes.map((n) => {
88
+ const p = propsOf(n);
89
+ return {
90
+ name: emitIdentifier(p.name, 'unknown', n),
91
+ type: p.type || 'any',
92
+ optional: p.optional === true || p.optional === 'true',
93
+ default: p.default,
94
+ };
95
+ });
96
+ // Props type
97
+ const propsTypeEntries = componentProps.map((p) => `${p.name}${p.optional ? '?' : ''}: ${p.type}`).join('; ');
98
+ // Destructure with defaults
99
+ const destructure = componentProps.map((p) => (p.default ? `${p.name} = ${p.default}` : p.name)).join(', ');
100
+ // Function signature
101
+ lines.push(`${exp}function ${name}({ ${destructure} }: { ${propsTypeEntries} }) {`);
102
+ // State declarations
103
+ for (const sn of stateNodes) {
104
+ const sp = propsOf(sn);
105
+ const sName = emitIdentifier(sp.name, 'state', sn);
106
+ const sType = sp.type || 'any';
107
+ const sInitial = sp.initial || 'undefined';
108
+ const setter = `set${sName.charAt(0).toUpperCase()}${sName.slice(1)}`;
109
+ lines.push(` const [${sName}, ${setter}] = useState<${sType}>(${sInitial});`);
110
+ }
111
+ // Ref declarations
112
+ for (const rn of refNodes) {
113
+ const rp = propsOf(rn);
114
+ const rName = emitIdentifier(rp.name, 'ref', rn);
115
+ const rType = rp.type || 'any';
116
+ const rInitial = rp.initial || 'null';
117
+ lines.push(` const ${rName} = useRef<${rType}>(${rInitial});`);
118
+ }
119
+ if (stateNodes.length > 0 || refNodes.length > 0)
120
+ lines.push('');
121
+ // Memos
122
+ for (const mn of memoNodes) {
123
+ const mp = propsOf(mn);
124
+ const mName = emitIdentifier(mp.name, 'memo', mn);
125
+ const mDeps = mp.deps || '';
126
+ const mDepsArr = mDeps && mDeps !== '[]' ? `[${mDeps}]` : '[]';
127
+ const body = handlerContent(mn);
128
+ lines.push(` const ${mName} = useMemo(() => {`);
129
+ for (const line of body.split('\n')) {
130
+ lines.push(` ${line}`);
131
+ }
132
+ lines.push(` }, ${mDepsArr});`);
133
+ lines.push('');
134
+ }
135
+ // Callbacks
136
+ for (const cn of callbackNodes) {
137
+ const cp = propsOf(cn);
138
+ const cName = emitIdentifier(cp.name, 'handler', cn);
139
+ const cParams = cp.params || '';
140
+ const cDeps = cp.deps || '';
141
+ const cDepsArr = cDeps && cDeps !== '[]' ? `[${cDeps}]` : '[]';
142
+ const isAsync = cp.async === true || cp.async === 'true';
143
+ const body = handlerContent(cn);
144
+ lines.push(` const ${cName} = useCallback(${isAsync ? 'async ' : ''}${cParams ? `(${cParams})` : '()'} => {`);
145
+ for (const line of body.split('\n')) {
146
+ lines.push(` ${line}`);
147
+ }
148
+ lines.push(` }, ${cDepsArr});`);
149
+ lines.push('');
150
+ }
151
+ // Effects
152
+ for (const en of effectNodes) {
153
+ const ep = propsOf(en);
154
+ const eDeps = ep.deps || '';
155
+ const eDepsArr = eDeps && eDeps !== '[]' ? `[${eDeps}]` : '[]';
156
+ const body = handlerContent(en);
157
+ lines.push(` useEffect(() => {`);
158
+ for (const line of body.split('\n')) {
159
+ lines.push(` ${line}`);
160
+ }
161
+ lines.push(` }, ${eDepsArr});`);
162
+ lines.push('');
163
+ }
164
+ // useInput handlers (on event=input) — uses ref pattern for fresh closures
165
+ for (const onNode of onInputNodes) {
166
+ const body = handlerContent(onNode);
167
+ lines.push(` const _inputHandlerRef = useRef<(input: string, key: any) => void>(() => {});`);
168
+ lines.push(` _inputHandlerRef.current = (input: string, key: any) => {`);
169
+ for (const line of body.split('\n')) {
170
+ lines.push(` ${line}`);
171
+ }
172
+ lines.push(` };`);
173
+ lines.push(` useInput((input: string, key: any) => _inputHandlerRef.current(input, key));`);
174
+ lines.push('');
175
+ }
176
+ // Render
177
+ if (renderNode) {
178
+ const body = handlerContent(renderNode);
179
+ const trimmed = body.trim();
180
+ // If handler body contains `return`, emit as-is (it manages its own return)
181
+ // Otherwise, wrap in return(...)
182
+ if (trimmed.includes('return ') || trimmed.includes('return(')) {
183
+ for (const line of body.split('\n')) {
184
+ lines.push(` ${line}`);
185
+ }
186
+ }
187
+ else {
188
+ lines.push(` return (`);
189
+ for (const line of body.split('\n')) {
190
+ lines.push(` ${line}`);
191
+ }
192
+ lines.push(` );`);
193
+ }
194
+ }
195
+ else {
196
+ lines.push(` return null;`);
197
+ }
198
+ lines.push('}');
199
+ lines.push('');
200
+ return lines;
201
+ }
202
+ //# sourceMappingURL=screens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screens.js","sourceRoot":"","sources":["../../src/codegen/screens.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-types.js","sourceRoot":"","sources":["../../src/codegen/semantic-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-types.js","sourceRoot":"","sources":["../../src/codegen/semantic-types.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { propsOf } from '../node-props.js';
7
7
  import { emitTemplateSafe } from './emitters.js';
8
- import { getProps, getChildren, handlerCode } from './helpers.js';
8
+ import { getChildren, getProps, handlerCode } from './helpers.js';
9
9
  const p = getProps;
10
10
  const kids = getChildren;
11
11
  // ── Test ─────────────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"test-gen.js","sourceRoot":"","sources":["../../src/codegen/test-gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-gen.js","sourceRoot":"","sources":["../../src/codegen/test-gen.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAElE,MAAM,CAAC,GAAG,QAAQ,CAAC;AACnB,MAAM,IAAI,GAAG,WAAW,CAAC;AAEzB,4EAA4E;AAE5E,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,OAAO,CAAS,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,IAAI,aAAa,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,0BAA0B;IAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,YAAY,CAAC,CAAC;IAE1C,2EAA2E;IAC3E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,gBAAgB,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAe,IAAI,UAAU,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,YAAY,CAAC,CAAC;QAE7C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,gBAAgB,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAe,IAAI,MAAM,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC;YACzC,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,sBAAsB;IACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,gBAAgB,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAe,IAAI,MAAM,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,YAAY,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC;AACf,CAAC"}