@allternit/ix 0.1.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 (170) hide show
  1. package/README.md +320 -0
  2. package/dist/adapters/json-render.d.ts +211 -0
  3. package/dist/adapters/json-render.d.ts.bak +211 -0
  4. package/dist/adapters/json-render.d.ts.map +1 -0
  5. package/dist/adapters/json-render.js +576 -0
  6. package/dist/adapters/json-render.js.bak +576 -0
  7. package/dist/adapters/json-render.js.map +1 -0
  8. package/dist/catalog/registry.d.ts +65 -0
  9. package/dist/catalog/registry.d.ts.bak +65 -0
  10. package/dist/catalog/registry.d.ts.map +1 -0
  11. package/dist/catalog/registry.js +388 -0
  12. package/dist/catalog/registry.js.bak +388 -0
  13. package/dist/catalog/registry.js.map +1 -0
  14. package/dist/collab/capsule-registry.d.ts +114 -0
  15. package/dist/collab/capsule-registry.d.ts.bak +114 -0
  16. package/dist/collab/capsule-registry.d.ts.map +1 -0
  17. package/dist/collab/capsule-registry.js +271 -0
  18. package/dist/collab/capsule-registry.js.bak +271 -0
  19. package/dist/collab/capsule-registry.js.map +1 -0
  20. package/dist/collab/index.d.ts +21 -0
  21. package/dist/collab/index.d.ts.bak +21 -0
  22. package/dist/collab/index.d.ts.map +1 -0
  23. package/dist/collab/index.js +32 -0
  24. package/dist/collab/index.js.bak +32 -0
  25. package/dist/collab/index.js.map +1 -0
  26. package/dist/collab/visual-editor.d.ts +199 -0
  27. package/dist/collab/visual-editor.d.ts.bak +199 -0
  28. package/dist/collab/visual-editor.d.ts.map +1 -0
  29. package/dist/collab/visual-editor.js +259 -0
  30. package/dist/collab/visual-editor.js.bak +259 -0
  31. package/dist/collab/visual-editor.js.map +1 -0
  32. package/dist/collab/yjs-adapter.d.ts +95 -0
  33. package/dist/collab/yjs-adapter.d.ts.bak +95 -0
  34. package/dist/collab/yjs-adapter.d.ts.map +1 -0
  35. package/dist/collab/yjs-adapter.js +282 -0
  36. package/dist/collab/yjs-adapter.js.bak +282 -0
  37. package/dist/collab/yjs-adapter.js.map +1 -0
  38. package/dist/collab/yjs-client.d.ts +101 -0
  39. package/dist/collab/yjs-client.d.ts.bak +101 -0
  40. package/dist/collab/yjs-client.d.ts.map +1 -0
  41. package/dist/collab/yjs-client.js +193 -0
  42. package/dist/collab/yjs-client.js.bak +193 -0
  43. package/dist/collab/yjs-client.js.map +1 -0
  44. package/dist/collab/yjs-protocols.d.ts +128 -0
  45. package/dist/collab/yjs-protocols.d.ts.bak +128 -0
  46. package/dist/collab/yjs-protocols.d.ts.map +1 -0
  47. package/dist/collab/yjs-protocols.js +245 -0
  48. package/dist/collab/yjs-protocols.js.bak +245 -0
  49. package/dist/collab/yjs-protocols.js.map +1 -0
  50. package/dist/collab/yjs-types.d.ts +201 -0
  51. package/dist/collab/yjs-types.d.ts.bak +201 -0
  52. package/dist/collab/yjs-types.d.ts.map +1 -0
  53. package/dist/collab/yjs-types.js +45 -0
  54. package/dist/collab/yjs-types.js.bak +45 -0
  55. package/dist/collab/yjs-types.js.map +1 -0
  56. package/dist/index.d.ts +38 -0
  57. package/dist/index.d.ts.bak +38 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +48 -0
  60. package/dist/index.js.bak +48 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/pipeline/llm-to-ix.d.ts +249 -0
  63. package/dist/pipeline/llm-to-ix.d.ts.bak +249 -0
  64. package/dist/pipeline/llm-to-ix.d.ts.map +1 -0
  65. package/dist/pipeline/llm-to-ix.js +992 -0
  66. package/dist/pipeline/llm-to-ix.js.bak +992 -0
  67. package/dist/pipeline/llm-to-ix.js.map +1 -0
  68. package/dist/react/index.d.ts +18 -0
  69. package/dist/react/index.d.ts.bak +18 -0
  70. package/dist/react/index.d.ts.map +1 -0
  71. package/dist/react/index.js +18 -0
  72. package/dist/react/index.js.bak +18 -0
  73. package/dist/react/index.js.map +1 -0
  74. package/dist/react/renderer.d.ts +47 -0
  75. package/dist/react/renderer.d.ts.bak +47 -0
  76. package/dist/react/renderer.d.ts.map +1 -0
  77. package/dist/react/renderer.js +420 -0
  78. package/dist/react/renderer.js.bak +420 -0
  79. package/dist/react/renderer.js.map +1 -0
  80. package/dist/renderer/renderer.d.ts +55 -0
  81. package/dist/renderer/renderer.d.ts.bak +55 -0
  82. package/dist/renderer/renderer.d.ts.map +1 -0
  83. package/dist/renderer/renderer.js +232 -0
  84. package/dist/renderer/renderer.js.bak +232 -0
  85. package/dist/renderer/renderer.js.map +1 -0
  86. package/dist/runtime/capsule-runtime.d.ts +227 -0
  87. package/dist/runtime/capsule-runtime.d.ts.bak +227 -0
  88. package/dist/runtime/capsule-runtime.d.ts.map +1 -0
  89. package/dist/runtime/capsule-runtime.js +563 -0
  90. package/dist/runtime/capsule-runtime.js.bak +563 -0
  91. package/dist/runtime/capsule-runtime.js.map +1 -0
  92. package/dist/runtime/policy-gates.d.ts +116 -0
  93. package/dist/runtime/policy-gates.d.ts.bak +116 -0
  94. package/dist/runtime/policy-gates.d.ts.map +1 -0
  95. package/dist/runtime/policy-gates.js +317 -0
  96. package/dist/runtime/policy-gates.js.bak +317 -0
  97. package/dist/runtime/policy-gates.js.map +1 -0
  98. package/dist/schema/ui-ir.d.ts +26 -0
  99. package/dist/schema/ui-ir.d.ts.bak +26 -0
  100. package/dist/schema/ui-ir.d.ts.map +1 -0
  101. package/dist/schema/ui-ir.js +51 -0
  102. package/dist/schema/ui-ir.js.bak +51 -0
  103. package/dist/schema/ui-ir.js.map +1 -0
  104. package/dist/sdk/api.d.ts +101 -0
  105. package/dist/sdk/api.d.ts.bak +101 -0
  106. package/dist/sdk/api.d.ts.map +1 -0
  107. package/dist/sdk/api.js +177 -0
  108. package/dist/sdk/api.js.bak +177 -0
  109. package/dist/sdk/api.js.map +1 -0
  110. package/dist/sdk/index.d.ts +9 -0
  111. package/dist/sdk/index.d.ts.bak +9 -0
  112. package/dist/sdk/index.d.ts.map +1 -0
  113. package/dist/sdk/index.js +10 -0
  114. package/dist/sdk/index.js.bak +10 -0
  115. package/dist/sdk/index.js.map +1 -0
  116. package/dist/sdk/react.d.ts +63 -0
  117. package/dist/sdk/react.d.ts.bak +63 -0
  118. package/dist/sdk/react.d.ts.map +1 -0
  119. package/dist/sdk/react.js +161 -0
  120. package/dist/sdk/react.js.bak +161 -0
  121. package/dist/sdk/react.js.map +1 -0
  122. package/dist/state/index.d.ts +8 -0
  123. package/dist/state/index.d.ts.bak +8 -0
  124. package/dist/state/index.d.ts.map +1 -0
  125. package/dist/state/index.js +8 -0
  126. package/dist/state/index.js.bak +8 -0
  127. package/dist/state/index.js.map +1 -0
  128. package/dist/state/patch.d.ts +73 -0
  129. package/dist/state/patch.d.ts.bak +73 -0
  130. package/dist/state/patch.d.ts.map +1 -0
  131. package/dist/state/patch.js +437 -0
  132. package/dist/state/patch.js.bak +437 -0
  133. package/dist/state/patch.js.map +1 -0
  134. package/dist/state/store.d.ts +50 -0
  135. package/dist/state/store.d.ts.bak +50 -0
  136. package/dist/state/store.d.ts.map +1 -0
  137. package/dist/state/store.js +246 -0
  138. package/dist/state/store.js.bak +246 -0
  139. package/dist/state/store.js.map +1 -0
  140. package/dist/svelte/index.d.ts +15 -0
  141. package/dist/svelte/index.d.ts.bak +15 -0
  142. package/dist/svelte/index.d.ts.map +1 -0
  143. package/dist/svelte/index.js +15 -0
  144. package/dist/svelte/index.js.bak +15 -0
  145. package/dist/svelte/index.js.map +1 -0
  146. package/dist/svelte/renderer.d.ts +35 -0
  147. package/dist/svelte/renderer.d.ts.bak +35 -0
  148. package/dist/svelte/renderer.d.ts.map +1 -0
  149. package/dist/svelte/renderer.js +317 -0
  150. package/dist/svelte/renderer.js.bak +317 -0
  151. package/dist/svelte/renderer.js.map +1 -0
  152. package/dist/types/index.d.ts +349 -0
  153. package/dist/types/index.d.ts.bak +349 -0
  154. package/dist/types/index.d.ts.map +1 -0
  155. package/dist/types/index.js +152 -0
  156. package/dist/types/index.js.bak +152 -0
  157. package/dist/types/index.js.map +1 -0
  158. package/dist/vue/index.d.ts +18 -0
  159. package/dist/vue/index.d.ts.bak +18 -0
  160. package/dist/vue/index.d.ts.map +1 -0
  161. package/dist/vue/index.js +18 -0
  162. package/dist/vue/index.js.bak +18 -0
  163. package/dist/vue/index.js.map +1 -0
  164. package/dist/vue/renderer.d.ts +46 -0
  165. package/dist/vue/renderer.d.ts.bak +46 -0
  166. package/dist/vue/renderer.d.ts.map +1 -0
  167. package/dist/vue/renderer.js +302 -0
  168. package/dist/vue/renderer.js.bak +302 -0
  169. package/dist/vue/renderer.js.map +1 -0
  170. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAyBH,UAAU;AACV,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,oBAAoB,GAGrB,MAAM,oBAAoB,CAAC;AAE5B,cAAc;AACd,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,eAAe,GAGhB,MAAM,eAAe,CAAC;AAEvB,oBAAoB;AACpB,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAIlB,MAAM,eAAe,CAAC;AAEvB,kCAAkC;AAClC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GAMtB,MAAM,wBAAwB,CAAC;AAEhC,iBAAiB;AACjB,OAAO,EACL,mBAAmB,GAGpB,MAAM,kBAAkB,CAAC;AAE1B,UAAU;AACV,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,GAOtB,MAAM,2BAA2B,CAAC;AAEnC,eAAe;AACf,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,GAIzB,MAAM,wBAAwB,CAAC;AAEhC,qBAAqB;AACrB,OAAO,EACL,cAAc,EACd,OAAO,EACP,eAAe,GAQhB,MAAM,sBAAsB,CAAC;AAE9B,MAAM;AACN,cAAc,OAAO,CAAC;AAEtB,yBAAyB;AACzB,cAAc,UAAU,CAAC;AAEzB,QAAQ;AACR,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE7F,sBAAsB;AACtB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,6BAA6B;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
@@ -0,0 +1,249 @@
1
+ /**
2
+ * LLM-to-IX Pipeline
3
+ *
4
+ * Converts LLM-generated UI descriptions to A2R-IX format.
5
+ *
6
+ * Supports multiple input formats:
7
+ * - Natural language descriptions
8
+ * - Vercel Labs json-render
9
+ * - JSX-like pseudo-code
10
+ * - Raw component trees
11
+ * - Markdown UI descriptions
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { llmToIxPipeline } from '@allternit/ix/pipeline';
16
+ *
17
+ * const result = llmToIxPipeline({
18
+ * input: llmOutput,
19
+ * options: {
20
+ * applyStyling: true,
21
+ * theme: 'default',
22
+ * generateIds: true,
23
+ * }
24
+ * });
25
+ *
26
+ * console.log(result.tree); // IxRenderTree
27
+ * ```
28
+ */
29
+ import type { UIRoot, StateVariable, UIState, UIAction, StateBinding, EventHandler, Expression, RepeatBinding } from '../types';
30
+ import type { JsonRenderSchema } from '../adapters/json-render';
31
+ export interface LLMToIXOptions {
32
+ /** Schema version to use */
33
+ version?: string;
34
+ /** Auto-generate component IDs */
35
+ generateIds?: boolean;
36
+ /** Validate against catalog */
37
+ validate?: boolean;
38
+ /** Infer state from bindings */
39
+ inferState?: boolean;
40
+ }
41
+ export interface LLMToIXResult {
42
+ /** Generated UI */
43
+ ui: UIRoot;
44
+ /** Warnings during conversion */
45
+ warnings: string[];
46
+ /** Inferred state variables */
47
+ inferredState: StateVariable[];
48
+ /** Confidence score (0-1) */
49
+ confidence: number;
50
+ }
51
+ /**
52
+ * A2R-IX Theme Configuration
53
+ */
54
+ export interface IxTheme {
55
+ /** Theme name */
56
+ name: string;
57
+ /** Color palette */
58
+ colors: {
59
+ primary: string;
60
+ secondary: string;
61
+ success: string;
62
+ warning: string;
63
+ error: string;
64
+ background: string;
65
+ surface: string;
66
+ text: string;
67
+ textMuted: string;
68
+ border: string;
69
+ };
70
+ /** Spacing scale */
71
+ spacing: {
72
+ xs: number;
73
+ sm: number;
74
+ md: number;
75
+ lg: number;
76
+ xl: number;
77
+ };
78
+ /** Typography */
79
+ typography: {
80
+ fontFamily: string;
81
+ fontSize: {
82
+ xs: string;
83
+ sm: string;
84
+ md: string;
85
+ lg: string;
86
+ xl: string;
87
+ };
88
+ fontWeight: {
89
+ normal: number;
90
+ medium: number;
91
+ semibold: number;
92
+ bold: number;
93
+ };
94
+ };
95
+ /** Border radius */
96
+ borderRadius: {
97
+ sm: number;
98
+ md: number;
99
+ lg: number;
100
+ full: number;
101
+ };
102
+ /** Shadows */
103
+ shadows: {
104
+ sm: string;
105
+ md: string;
106
+ lg: string;
107
+ };
108
+ }
109
+ /**
110
+ * IxRenderTree - Render-ready component tree with styling applied
111
+ */
112
+ export interface IxRenderTree {
113
+ /** Schema version */
114
+ version: string;
115
+ /** Root components */
116
+ components: IxRenderNode[];
117
+ /** State definitions */
118
+ state: UIState;
119
+ /** Action handlers */
120
+ actions: UIAction[];
121
+ /** Applied theme */
122
+ theme?: IxTheme;
123
+ /** CSS styles */
124
+ styles?: Record<string, Record<string, string | number>>;
125
+ /** Metadata */
126
+ metadata?: {
127
+ title?: string;
128
+ description?: string;
129
+ generatedAt?: string;
130
+ };
131
+ }
132
+ /**
133
+ * IxRenderNode - Styled component node
134
+ */
135
+ export interface IxRenderNode {
136
+ /** Unique node ID */
137
+ id: string;
138
+ /** Component type */
139
+ type: string;
140
+ /** Component props */
141
+ props: Record<string, unknown>;
142
+ /** Applied styles */
143
+ style: Record<string, string | number>;
144
+ /** CSS classes */
145
+ className?: string;
146
+ /** Child nodes */
147
+ children?: IxRenderNode[];
148
+ /** State bindings */
149
+ bindings?: StateBinding[];
150
+ /** Event handlers */
151
+ events?: EventHandler[];
152
+ /** Conditional render */
153
+ condition?: Expression;
154
+ /** Repeat/for loop */
155
+ repeat?: RepeatBinding;
156
+ }
157
+ /**
158
+ * Pipeline Options for llmToIxPipeline
159
+ */
160
+ export interface LlmToIxPipelineOptions {
161
+ /** LLM output to parse */
162
+ input: unknown;
163
+ /** Pipeline options */
164
+ options?: {
165
+ /** Schema version */
166
+ version?: string;
167
+ /** Auto-generate component IDs */
168
+ generateIds?: boolean;
169
+ /** Validate against catalog */
170
+ validate?: boolean;
171
+ /** Infer state from bindings */
172
+ inferState?: boolean;
173
+ /** Apply A2R-IX styling */
174
+ applyStyling?: boolean;
175
+ /** Theme to use */
176
+ theme?: 'default' | 'minimal' | 'compact' | IxTheme;
177
+ /** Output format */
178
+ outputFormat?: 'tree' | 'ui-root' | 'json-render';
179
+ /** Debug mode */
180
+ debug?: boolean;
181
+ };
182
+ }
183
+ /**
184
+ * Pipeline Result
185
+ */
186
+ export interface LlmToIxPipelineResult {
187
+ /** Render tree */
188
+ tree: IxRenderTree;
189
+ /** Original UI root */
190
+ uiRoot: UIRoot;
191
+ /** Warnings */
192
+ warnings: string[];
193
+ /** Inferred state */
194
+ inferredState: StateVariable[];
195
+ /** Confidence score */
196
+ confidence: number;
197
+ /** Processing metrics */
198
+ metrics: {
199
+ parseTime: number;
200
+ transformTime: number;
201
+ styleTime: number;
202
+ totalTime: number;
203
+ };
204
+ }
205
+ /**
206
+ * Convert LLM output to A2R-IX
207
+ */
208
+ export declare function convertLLMToIX(input: unknown, options?: LLMToIXOptions): LLMToIXResult;
209
+ /**
210
+ * Detect input format
211
+ */
212
+ declare function detectInputFormat(input: unknown): 'json-render' | 'jsx-like' | 'component-tree' | 'natural-language' | 'unknown';
213
+ /**
214
+ * LLM-to-IX Pipeline
215
+ *
216
+ * Main pipeline function that:
217
+ * 1. Parses LLM output (JSON or markdown)
218
+ * 2. Transforms to IX component tree
219
+ * 3. Applies A2R-IX styling
220
+ * 4. Returns IxRenderTree
221
+ */
222
+ export declare function llmToIxPipeline(options: LlmToIxPipelineOptions): LlmToIxPipelineResult;
223
+ /**
224
+ * LLM-to-IX Pipeline API
225
+ */
226
+ export declare const llmToIX: {
227
+ /**
228
+ * Convert LLM output to IX format
229
+ */
230
+ convert: typeof convertLLMToIX;
231
+ /**
232
+ * Detect input format
233
+ */
234
+ detectFormat: typeof detectInputFormat;
235
+ /**
236
+ * Check if input is valid json-render
237
+ */
238
+ isJsonRender: (input: unknown) => input is JsonRenderSchema;
239
+ /**
240
+ * Quick convert from json-render
241
+ */
242
+ fromJsonRender: (schema: JsonRenderSchema, options?: LLMToIXOptions) => LLMToIXResult;
243
+ /**
244
+ * Quick convert from JSX-like
245
+ */
246
+ fromJSX: (jsx: string, options?: LLMToIXOptions) => LLMToIXResult;
247
+ };
248
+ export {};
249
+ //# sourceMappingURL=llm-to-ix.d.ts.map
@@ -0,0 +1,249 @@
1
+ /**
2
+ * LLM-to-IX Pipeline
3
+ *
4
+ * Converts LLM-generated UI descriptions to A2R-IX format.
5
+ *
6
+ * Supports multiple input formats:
7
+ * - Natural language descriptions
8
+ * - Vercel Labs json-render
9
+ * - JSX-like pseudo-code
10
+ * - Raw component trees
11
+ * - Markdown UI descriptions
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { llmToIxPipeline } from '@allternit/ix/pipeline';
16
+ *
17
+ * const result = llmToIxPipeline({
18
+ * input: llmOutput,
19
+ * options: {
20
+ * applyStyling: true,
21
+ * theme: 'default',
22
+ * generateIds: true,
23
+ * }
24
+ * });
25
+ *
26
+ * console.log(result.tree); // IxRenderTree
27
+ * ```
28
+ */
29
+ import type { UIRoot, StateVariable, UIState, UIAction, StateBinding, EventHandler, Expression, RepeatBinding } from '../types';
30
+ import type { JsonRenderSchema } from '../adapters/json-render';
31
+ export interface LLMToIXOptions {
32
+ /** Schema version to use */
33
+ version?: string;
34
+ /** Auto-generate component IDs */
35
+ generateIds?: boolean;
36
+ /** Validate against catalog */
37
+ validate?: boolean;
38
+ /** Infer state from bindings */
39
+ inferState?: boolean;
40
+ }
41
+ export interface LLMToIXResult {
42
+ /** Generated UI */
43
+ ui: UIRoot;
44
+ /** Warnings during conversion */
45
+ warnings: string[];
46
+ /** Inferred state variables */
47
+ inferredState: StateVariable[];
48
+ /** Confidence score (0-1) */
49
+ confidence: number;
50
+ }
51
+ /**
52
+ * A2R-IX Theme Configuration
53
+ */
54
+ export interface IxTheme {
55
+ /** Theme name */
56
+ name: string;
57
+ /** Color palette */
58
+ colors: {
59
+ primary: string;
60
+ secondary: string;
61
+ success: string;
62
+ warning: string;
63
+ error: string;
64
+ background: string;
65
+ surface: string;
66
+ text: string;
67
+ textMuted: string;
68
+ border: string;
69
+ };
70
+ /** Spacing scale */
71
+ spacing: {
72
+ xs: number;
73
+ sm: number;
74
+ md: number;
75
+ lg: number;
76
+ xl: number;
77
+ };
78
+ /** Typography */
79
+ typography: {
80
+ fontFamily: string;
81
+ fontSize: {
82
+ xs: string;
83
+ sm: string;
84
+ md: string;
85
+ lg: string;
86
+ xl: string;
87
+ };
88
+ fontWeight: {
89
+ normal: number;
90
+ medium: number;
91
+ semibold: number;
92
+ bold: number;
93
+ };
94
+ };
95
+ /** Border radius */
96
+ borderRadius: {
97
+ sm: number;
98
+ md: number;
99
+ lg: number;
100
+ full: number;
101
+ };
102
+ /** Shadows */
103
+ shadows: {
104
+ sm: string;
105
+ md: string;
106
+ lg: string;
107
+ };
108
+ }
109
+ /**
110
+ * IxRenderTree - Render-ready component tree with styling applied
111
+ */
112
+ export interface IxRenderTree {
113
+ /** Schema version */
114
+ version: string;
115
+ /** Root components */
116
+ components: IxRenderNode[];
117
+ /** State definitions */
118
+ state: UIState;
119
+ /** Action handlers */
120
+ actions: UIAction[];
121
+ /** Applied theme */
122
+ theme?: IxTheme;
123
+ /** CSS styles */
124
+ styles?: Record<string, Record<string, string | number>>;
125
+ /** Metadata */
126
+ metadata?: {
127
+ title?: string;
128
+ description?: string;
129
+ generatedAt?: string;
130
+ };
131
+ }
132
+ /**
133
+ * IxRenderNode - Styled component node
134
+ */
135
+ export interface IxRenderNode {
136
+ /** Unique node ID */
137
+ id: string;
138
+ /** Component type */
139
+ type: string;
140
+ /** Component props */
141
+ props: Record<string, unknown>;
142
+ /** Applied styles */
143
+ style: Record<string, string | number>;
144
+ /** CSS classes */
145
+ className?: string;
146
+ /** Child nodes */
147
+ children?: IxRenderNode[];
148
+ /** State bindings */
149
+ bindings?: StateBinding[];
150
+ /** Event handlers */
151
+ events?: EventHandler[];
152
+ /** Conditional render */
153
+ condition?: Expression;
154
+ /** Repeat/for loop */
155
+ repeat?: RepeatBinding;
156
+ }
157
+ /**
158
+ * Pipeline Options for llmToIxPipeline
159
+ */
160
+ export interface LlmToIxPipelineOptions {
161
+ /** LLM output to parse */
162
+ input: unknown;
163
+ /** Pipeline options */
164
+ options?: {
165
+ /** Schema version */
166
+ version?: string;
167
+ /** Auto-generate component IDs */
168
+ generateIds?: boolean;
169
+ /** Validate against catalog */
170
+ validate?: boolean;
171
+ /** Infer state from bindings */
172
+ inferState?: boolean;
173
+ /** Apply A2R-IX styling */
174
+ applyStyling?: boolean;
175
+ /** Theme to use */
176
+ theme?: 'default' | 'minimal' | 'compact' | IxTheme;
177
+ /** Output format */
178
+ outputFormat?: 'tree' | 'ui-root' | 'json-render';
179
+ /** Debug mode */
180
+ debug?: boolean;
181
+ };
182
+ }
183
+ /**
184
+ * Pipeline Result
185
+ */
186
+ export interface LlmToIxPipelineResult {
187
+ /** Render tree */
188
+ tree: IxRenderTree;
189
+ /** Original UI root */
190
+ uiRoot: UIRoot;
191
+ /** Warnings */
192
+ warnings: string[];
193
+ /** Inferred state */
194
+ inferredState: StateVariable[];
195
+ /** Confidence score */
196
+ confidence: number;
197
+ /** Processing metrics */
198
+ metrics: {
199
+ parseTime: number;
200
+ transformTime: number;
201
+ styleTime: number;
202
+ totalTime: number;
203
+ };
204
+ }
205
+ /**
206
+ * Convert LLM output to A2R-IX
207
+ */
208
+ export declare function convertLLMToIX(input: unknown, options?: LLMToIXOptions): LLMToIXResult;
209
+ /**
210
+ * Detect input format
211
+ */
212
+ declare function detectInputFormat(input: unknown): 'json-render' | 'jsx-like' | 'component-tree' | 'natural-language' | 'unknown';
213
+ /**
214
+ * LLM-to-IX Pipeline
215
+ *
216
+ * Main pipeline function that:
217
+ * 1. Parses LLM output (JSON or markdown)
218
+ * 2. Transforms to IX component tree
219
+ * 3. Applies A2R-IX styling
220
+ * 4. Returns IxRenderTree
221
+ */
222
+ export declare function llmToIxPipeline(options: LlmToIxPipelineOptions): LlmToIxPipelineResult;
223
+ /**
224
+ * LLM-to-IX Pipeline API
225
+ */
226
+ export declare const llmToIX: {
227
+ /**
228
+ * Convert LLM output to IX format
229
+ */
230
+ convert: typeof convertLLMToIX;
231
+ /**
232
+ * Detect input format
233
+ */
234
+ detectFormat: typeof detectInputFormat;
235
+ /**
236
+ * Check if input is valid json-render
237
+ */
238
+ isJsonRender: (input: unknown) => input is JsonRenderSchema;
239
+ /**
240
+ * Quick convert from json-render
241
+ */
242
+ fromJsonRender: (schema: JsonRenderSchema, options?: LLMToIXOptions) => LLMToIXResult;
243
+ /**
244
+ * Quick convert from JSX-like
245
+ */
246
+ fromJSX: (jsx: string, options?: LLMToIXOptions) => LLMToIXResult;
247
+ };
248
+ export {};
249
+ //# sourceMappingURL=llm-to-ix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-to-ix.d.ts","sourceRoot":"","sources":["../../src/pipeline/llm-to-ix.ts"],"names":[],"mappings":"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"}