@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,211 @@
1
+ /**
2
+ * Vercel Labs json-render Adapter
3
+ *
4
+ * Converts between A2R-IX UI IR and Vercel Labs json-render format.
5
+ *
6
+ * json-render is a declarative UI format where components are expressed as JSON.
7
+ * This adapter enables A2R-IX to render UIs generated by LLMs trained on
8
+ * json-render patterns.
9
+ *
10
+ * @see https://github.com/vercel-labs/json-render
11
+ */
12
+ import type { UIRoot } from '../types';
13
+ /**
14
+ * json-render node format
15
+ */
16
+ export interface JsonRenderNode {
17
+ /** Component type */
18
+ type: string;
19
+ /** Component props */
20
+ props?: Record<string, unknown>;
21
+ /** Child nodes */
22
+ children?: JsonRenderNode[];
23
+ /** Text content (for text nodes) */
24
+ text?: string;
25
+ }
26
+ /**
27
+ * json-render component registry entry
28
+ */
29
+ export interface JsonRenderComponent {
30
+ /** Component name */
31
+ name: string;
32
+ /** React component or element type */
33
+ component: string;
34
+ /** Prop mapping (json-render prop -> component prop) */
35
+ propMapping?: Record<string, string>;
36
+ /** Transform props before passing */
37
+ transformProps?: (props: Record<string, unknown>) => Record<string, unknown>;
38
+ /** Whether component accepts children */
39
+ acceptsChildren?: boolean;
40
+ }
41
+ /**
42
+ * json-render schema
43
+ */
44
+ export interface JsonRenderSchema {
45
+ /** Schema version */
46
+ version: string;
47
+ /** Component tree */
48
+ root: JsonRenderNode;
49
+ /** State definitions */
50
+ state?: Record<string, {
51
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
52
+ default?: unknown;
53
+ }>;
54
+ /** Event handlers */
55
+ events?: Record<string, {
56
+ type: string;
57
+ target?: string;
58
+ payload?: unknown;
59
+ }>;
60
+ }
61
+ /**
62
+ * Custom handler function type
63
+ */
64
+ export type CustomHandlerFn = (context: {
65
+ state: Record<string, unknown>;
66
+ params?: Record<string, unknown>;
67
+ event?: unknown;
68
+ }) => void | Promise<void>;
69
+ /**
70
+ * Handler registry entry metadata
71
+ */
72
+ export interface HandlerRegistryEntry {
73
+ /** Handler name/identifier */
74
+ name: string;
75
+ /** Handler function */
76
+ handler: CustomHandlerFn;
77
+ /** Handler description */
78
+ description?: string;
79
+ /** Handler version */
80
+ version?: string;
81
+ /** Handler tags for discovery */
82
+ tags?: string[];
83
+ /** Input schema for validation */
84
+ inputSchema?: Record<string, unknown>;
85
+ /** Output schema */
86
+ outputSchema?: Record<string, unknown>;
87
+ }
88
+ /**
89
+ * Global handler registry for custom action handlers
90
+ *
91
+ * GAP-59: Custom Handler System
92
+ * Implements a singleton registry for dynamic handler registration
93
+ */
94
+ declare class HandlerRegistry {
95
+ private handlers;
96
+ private tagsIndex;
97
+ /**
98
+ * Register a custom handler
99
+ * @param entry Handler registry entry
100
+ */
101
+ register(entry: HandlerRegistryEntry): void;
102
+ /**
103
+ * Unregister a handler
104
+ * @param name Handler name
105
+ */
106
+ unregister(name: string): boolean;
107
+ /**
108
+ * Get a handler by name
109
+ * @param name Handler name
110
+ */
111
+ get(name: string): HandlerRegistryEntry | undefined;
112
+ /**
113
+ * Check if a handler exists
114
+ * @param name Handler name
115
+ */
116
+ has(name: string): boolean;
117
+ /**
118
+ * Execute a handler by name
119
+ * @param name Handler name
120
+ * @param context Execution context
121
+ */
122
+ execute(name: string, context: {
123
+ state: Record<string, unknown>;
124
+ params?: Record<string, unknown>;
125
+ event?: unknown;
126
+ }): Promise<void>;
127
+ /**
128
+ * GAP-61: Handler Discovery
129
+ * Find handlers by tags
130
+ * @param tags Tags to search for
131
+ */
132
+ findByTags(tags: string[]): HandlerRegistryEntry[];
133
+ /**
134
+ * GAP-61: Handler Discovery
135
+ * Search handlers by name pattern or description
136
+ * @param query Search query
137
+ */
138
+ search(query: string): HandlerRegistryEntry[];
139
+ /**
140
+ * Get all registered handlers
141
+ */
142
+ listAll(): HandlerRegistryEntry[];
143
+ /**
144
+ * Get all available tags
145
+ */
146
+ getAllTags(): string[];
147
+ /**
148
+ * Clear all handlers
149
+ */
150
+ clear(): void;
151
+ /**
152
+ * Get registry statistics
153
+ */
154
+ getStats(): {
155
+ total: number;
156
+ tags: number;
157
+ };
158
+ }
159
+ /** Global handler registry instance */
160
+ export declare const globalHandlerRegistry: HandlerRegistry;
161
+ /**
162
+ * Convert A2R-IX UIRoot to json-render format
163
+ */
164
+ export declare function convertToJsonRender(root: UIRoot): JsonRenderSchema;
165
+ /**
166
+ * Convert json-render format to A2R-IX UIRoot
167
+ */
168
+ export declare function convertFromJsonRender(schema: JsonRenderSchema): UIRoot;
169
+ /**
170
+ * json-render adapter configuration
171
+ */
172
+ export declare const jsonRenderAdapter: {
173
+ name: string;
174
+ version: string;
175
+ /**
176
+ * Standard json-render components mapped to A2R-IX catalog
177
+ */
178
+ components: Record<string, string>;
179
+ /**
180
+ * Convert from json-render
181
+ */
182
+ fromJsonRender: typeof convertFromJsonRender;
183
+ /**
184
+ * Convert to json-render
185
+ */
186
+ toJsonRender: typeof convertToJsonRender;
187
+ /**
188
+ * Check if value is a valid json-render schema
189
+ */
190
+ isValidSchema(value: unknown): value is JsonRenderSchema;
191
+ /**
192
+ * Check if node is a valid json-render node
193
+ */
194
+ isValidNode(value: unknown): value is JsonRenderNode;
195
+ /**
196
+ * GAP-59/61: Handler Registry Access
197
+ * Get the global handler registry for custom action handlers
198
+ */
199
+ readonly handlerRegistry: HandlerRegistry;
200
+ /**
201
+ * GAP-60: Execute custom handler
202
+ * Execute a registered custom handler by name
203
+ */
204
+ executeHandler(name: string, context: {
205
+ state: Record<string, unknown>;
206
+ params?: Record<string, unknown>;
207
+ event?: unknown;
208
+ }): Promise<void>;
209
+ };
210
+ export {};
211
+ //# sourceMappingURL=json-render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-render.d.ts","sourceRoot":"","sources":["../../src/adapters/json-render.ts"],"names":[],"mappings":"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"}