autoui-react 0.0.3-alpha → 0.0.4-alpha
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.
- package/README.md +47 -1
- package/dist/index.css +10 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +98 -76
- package/dist/index.d.ts +98 -76
- package/dist/index.js +1116 -448
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1105 -442
- package/dist/index.mjs.map +1 -1
- package/package.json +40 -6
package/README.md
CHANGED
|
@@ -241,4 +241,50 @@ MIT
|
|
|
241
241
|
|
|
242
242
|
## Contributing
|
|
243
243
|
|
|
244
|
-
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
244
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
245
|
+
## Component Adapters
|
|
246
|
+
|
|
247
|
+
### shadcn/ui (Default)
|
|
248
|
+
|
|
249
|
+
This library uses [shadcn/ui](https://ui.shadcn.com/) components by default. To set up these components in your project:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# Run the setup script to install required shadcn components
|
|
253
|
+
npm run setup-shadcn
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
This will:
|
|
257
|
+
1. Install Tailwind CSS if not already installed
|
|
258
|
+
2. Set up the necessary shadcn/ui components
|
|
259
|
+
3. Configure your project to use them
|
|
260
|
+
|
|
261
|
+
After setup, make sure to import the CSS in your application:
|
|
262
|
+
|
|
263
|
+
```jsx
|
|
264
|
+
// In your main entry file (e.g., main.tsx, index.tsx)
|
|
265
|
+
import "./src/tailwind.css";
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Custom Component Adapters
|
|
269
|
+
|
|
270
|
+
You can create custom adapters for other component libraries by implementing an adapter module:
|
|
271
|
+
|
|
272
|
+
```jsx
|
|
273
|
+
// Create a custom adapter (e.g., for Material UI)
|
|
274
|
+
import { Button, Table, Card } from '@mui/material';
|
|
275
|
+
|
|
276
|
+
const materialAdapter = {
|
|
277
|
+
Button: (props) => <Button {...props} />,
|
|
278
|
+
Table: (props) => <Table {...props} />,
|
|
279
|
+
// ...
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
// Use your custom adapter
|
|
283
|
+
<AutoUI
|
|
284
|
+
schema={mySchema}
|
|
285
|
+
goal="Create a user dashboard"
|
|
286
|
+
componentAdapter="material" // Not yet supported in v0.1
|
|
287
|
+
/>
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Support for custom component adapters is planned for future releases.
|
package/dist/index.css
CHANGED
|
@@ -53,4 +53,14 @@
|
|
|
53
53
|
.autoui-error-message {
|
|
54
54
|
font-size: 0.875rem;
|
|
55
55
|
}
|
|
56
|
+
.autoui-mock-container {
|
|
57
|
+
color: inherit;
|
|
58
|
+
width: 100%;
|
|
59
|
+
color: #1f2937;
|
|
60
|
+
}
|
|
61
|
+
@media (prefers-color-scheme: dark) {
|
|
62
|
+
.autoui-mock-container {
|
|
63
|
+
color: #f3f4f6;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
56
66
|
/*# sourceMappingURL=index.css.map */
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/styles/autoui.css"],"sourcesContent":["/* AutoUI Component Styles */\n\n.autoui-root {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n}\n\n/* Loading states */\n.autoui-loading {\n width: 100%;\n height: 100%;\n}\n\n.autoui-shimmer-container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 1rem;\n}\n\n.autoui-shimmer-header {\n height: 2.5rem;\n background-color: #e5e7eb;\n border-radius: 0.25rem;\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n.autoui-shimmer-content {\n height: 16rem;\n background-color: #e5e7eb;\n border-radius: 0.25rem;\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n@keyframes pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n}\n\n/* Content */\n.autoui-content {\n flex: 1;\n width: 100%;\n}\n\n/* Error states */\n.autoui-error {\n padding: 1rem;\n border: 1px solid #fca5a5;\n background-color: #fee2e2;\n color: #b91c1c;\n border-radius: 0.25rem;\n margin-top: 1rem;\n}\n\n.autoui-error-title {\n font-weight: 600;\n}\n\n.autoui-error-message {\n font-size: 0.875rem;\n} "],"mappings":";AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,UAAQ;AACR,SAAO;AACT;AAGA,CAAC;AACC,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACL,WAAS;AACX;AAEA,CAAC;AACC,UAAQ;AACR,oBAAkB;AAClB,iBAAe;AACf,aAAW,MAAM,GAAG,aAAa,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG;AACnD;AAEA,CAAC;AACC,UAAQ;AACR,oBAAkB;AAClB,iBAAe;AACf,aAAW,MAAM,GAAG,aAAa,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG;AACnD;AAEA,WAVa;AAWX;AACE,aAAS;AACX;AACA;AACE,aAAS;AACX;AACF;AAGA,CAAC;AACC,QAAM;AACN,SAAO;AACT;AAGA,CAAC;AACC,WAAS;AACT,UAAQ,IAAI,MAAM;AAClB,oBAAkB;AAClB,SAAO;AACP,iBAAe;AACf,cAAY;AACd;AAEA,CAAC;AACC,eAAa;AACf;AAEA,CAAC;AACC,aAAW;AACb;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/styles/autoui.css"],"sourcesContent":["/* AutoUI Component Styles */\n\n.autoui-root {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n}\n\n/* Loading states */\n.autoui-loading {\n width: 100%;\n height: 100%;\n}\n\n.autoui-shimmer-container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n padding: 1rem;\n}\n\n.autoui-shimmer-header {\n height: 2.5rem;\n background-color: #e5e7eb;\n border-radius: 0.25rem;\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n.autoui-shimmer-content {\n height: 16rem;\n background-color: #e5e7eb;\n border-radius: 0.25rem;\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n@keyframes pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.5;\n }\n}\n\n/* Content */\n.autoui-content {\n flex: 1;\n width: 100%;\n}\n\n/* Error states */\n.autoui-error {\n padding: 1rem;\n border: 1px solid #fca5a5;\n background-color: #fee2e2;\n color: #b91c1c;\n border-radius: 0.25rem;\n margin-top: 1rem;\n}\n\n.autoui-error-title {\n font-weight: 600;\n}\n\n.autoui-error-message {\n font-size: 0.875rem;\n}\n\n/* Style for the mock Container component in shadcn.tsx */\n.autoui-mock-container {\n color: inherit;\n width: 100%;\n /* text-gray-800 */\n color: #1f2937; \n}\n\n/* Dark mode styling for the mock Container */\n@media (prefers-color-scheme: dark) {\n .autoui-mock-container {\n /* dark:text-gray-100 */\n color: #f3f4f6;\n }\n} "],"mappings":";AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,UAAQ;AACR,SAAO;AACT;AAGA,CAAC;AACC,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK;AACL,WAAS;AACX;AAEA,CAAC;AACC,UAAQ;AACR,oBAAkB;AAClB,iBAAe;AACf,aAAW,MAAM,GAAG,aAAa,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG;AACnD;AAEA,CAAC;AACC,UAAQ;AACR,oBAAkB;AAClB,iBAAe;AACf,aAAW,MAAM,GAAG,aAAa,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG;AACnD;AAEA,WAVa;AAWX;AACE,aAAS;AACX;AACA;AACE,aAAS;AACX;AACF;AAGA,CAAC;AACC,QAAM;AACN,SAAO;AACT;AAGA,CAAC;AACC,WAAS;AACT,UAAQ,IAAI,MAAM;AAClB,oBAAkB;AAClB,SAAO;AACP,iBAAe;AACf,cAAY;AACd;AAEA,CAAC;AACC,eAAa;AACf;AAEA,CAAC;AACC,aAAW;AACb;AAGA,CAAC;AACC,SAAO;AACP,SAAO;AAEP,SAAO;AACT;AAGA,OAAO,CAAC,oBAAoB,EAAE;AAC5B,GATD;AAWG,WAAO;AACT;AACF;","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -12,80 +12,77 @@ type UIEventType = z.infer<typeof uiEventType>;
|
|
|
12
12
|
declare const uiEvent: z.ZodObject<{
|
|
13
13
|
type: z.ZodEnum<["CLICK", "CHANGE", "SUBMIT", "MOUSEOVER", "MOUSEOUT", "FOCUS", "BLUR"]>;
|
|
14
14
|
nodeId: z.ZodString;
|
|
15
|
-
timestamp: z.
|
|
16
|
-
payload: z.
|
|
15
|
+
timestamp: z.ZodNullable<z.ZodNumber>;
|
|
16
|
+
payload: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
17
17
|
}, "strip", z.ZodTypeAny, {
|
|
18
18
|
type: "CLICK" | "CHANGE" | "SUBMIT" | "MOUSEOVER" | "MOUSEOUT" | "FOCUS" | "BLUR";
|
|
19
19
|
nodeId: string;
|
|
20
|
-
timestamp
|
|
21
|
-
payload
|
|
20
|
+
timestamp: number | null;
|
|
21
|
+
payload: Record<string, unknown> | null;
|
|
22
22
|
}, {
|
|
23
23
|
type: "CLICK" | "CHANGE" | "SUBMIT" | "MOUSEOVER" | "MOUSEOUT" | "FOCUS" | "BLUR";
|
|
24
24
|
nodeId: string;
|
|
25
|
-
timestamp
|
|
26
|
-
payload
|
|
25
|
+
timestamp: number | null;
|
|
26
|
+
payload: Record<string, unknown> | null;
|
|
27
27
|
}>;
|
|
28
28
|
type UIEvent = z.infer<typeof uiEvent>;
|
|
29
|
-
|
|
30
|
-
* Core UI specification node
|
|
31
|
-
* Represents a single element in the UI tree
|
|
32
|
-
*/
|
|
33
|
-
declare const uiSpecNode: z.ZodType<UISpecNode>;
|
|
34
|
-
type UISpecNode = {
|
|
29
|
+
interface UISpecNodeInterface {
|
|
35
30
|
id: string;
|
|
36
|
-
|
|
37
|
-
props
|
|
38
|
-
bindings
|
|
39
|
-
events
|
|
31
|
+
node_type: string;
|
|
32
|
+
props: Record<string, any> | null;
|
|
33
|
+
bindings: Record<string, any> | null;
|
|
34
|
+
events: Record<string, {
|
|
40
35
|
action: string;
|
|
41
|
-
target
|
|
42
|
-
payload
|
|
43
|
-
}> |
|
|
44
|
-
children
|
|
45
|
-
}
|
|
36
|
+
target: string;
|
|
37
|
+
payload: Record<string, any> | null;
|
|
38
|
+
}> | null;
|
|
39
|
+
children: UISpecNodeInterface[] | null;
|
|
40
|
+
}
|
|
41
|
+
declare const uiSpecNode: z.ZodType<UISpecNodeInterface>;
|
|
42
|
+
type UISpecNode = z.infer<typeof uiSpecNode>;
|
|
46
43
|
/**
|
|
47
44
|
* Application state for the UI engine
|
|
48
45
|
*/
|
|
49
46
|
declare const uiState: z.ZodObject<{
|
|
50
|
-
layout: z.
|
|
47
|
+
layout: z.ZodNullable<z.ZodType<UISpecNodeInterface, z.ZodTypeDef, UISpecNodeInterface>>;
|
|
51
48
|
loading: z.ZodBoolean;
|
|
52
49
|
history: z.ZodArray<z.ZodObject<{
|
|
53
50
|
type: z.ZodEnum<["CLICK", "CHANGE", "SUBMIT", "MOUSEOVER", "MOUSEOUT", "FOCUS", "BLUR"]>;
|
|
54
51
|
nodeId: z.ZodString;
|
|
55
|
-
timestamp: z.
|
|
56
|
-
payload: z.
|
|
52
|
+
timestamp: z.ZodNullable<z.ZodNumber>;
|
|
53
|
+
payload: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
57
54
|
}, "strip", z.ZodTypeAny, {
|
|
58
55
|
type: "CLICK" | "CHANGE" | "SUBMIT" | "MOUSEOVER" | "MOUSEOUT" | "FOCUS" | "BLUR";
|
|
59
56
|
nodeId: string;
|
|
60
|
-
timestamp
|
|
61
|
-
payload
|
|
57
|
+
timestamp: number | null;
|
|
58
|
+
payload: Record<string, unknown> | null;
|
|
62
59
|
}, {
|
|
63
60
|
type: "CLICK" | "CHANGE" | "SUBMIT" | "MOUSEOVER" | "MOUSEOUT" | "FOCUS" | "BLUR";
|
|
64
61
|
nodeId: string;
|
|
65
|
-
timestamp
|
|
66
|
-
payload
|
|
62
|
+
timestamp: number | null;
|
|
63
|
+
payload: Record<string, unknown> | null;
|
|
67
64
|
}>, "many">;
|
|
68
|
-
error: z.
|
|
65
|
+
error: z.ZodNullable<z.ZodString>;
|
|
69
66
|
}, "strip", z.ZodTypeAny, {
|
|
67
|
+
layout: UISpecNodeInterface | null;
|
|
70
68
|
loading: boolean;
|
|
71
69
|
history: {
|
|
72
70
|
type: "CLICK" | "CHANGE" | "SUBMIT" | "MOUSEOVER" | "MOUSEOUT" | "FOCUS" | "BLUR";
|
|
73
71
|
nodeId: string;
|
|
74
|
-
timestamp
|
|
75
|
-
payload
|
|
72
|
+
timestamp: number | null;
|
|
73
|
+
payload: Record<string, unknown> | null;
|
|
76
74
|
}[];
|
|
77
|
-
|
|
78
|
-
error?: string | undefined;
|
|
75
|
+
error: string | null;
|
|
79
76
|
}, {
|
|
77
|
+
layout: UISpecNodeInterface | null;
|
|
80
78
|
loading: boolean;
|
|
81
79
|
history: {
|
|
82
80
|
type: "CLICK" | "CHANGE" | "SUBMIT" | "MOUSEOVER" | "MOUSEOUT" | "FOCUS" | "BLUR";
|
|
83
81
|
nodeId: string;
|
|
84
|
-
timestamp
|
|
85
|
-
payload
|
|
82
|
+
timestamp: number | null;
|
|
83
|
+
payload: Record<string, unknown> | null;
|
|
86
84
|
}[];
|
|
87
|
-
|
|
88
|
-
error?: string | undefined;
|
|
85
|
+
error: string | null;
|
|
89
86
|
}>;
|
|
90
87
|
type UIState = z.infer<typeof uiState>;
|
|
91
88
|
/**
|
|
@@ -94,43 +91,43 @@ type UIState = z.infer<typeof uiState>;
|
|
|
94
91
|
declare const plannerInput: z.ZodObject<{
|
|
95
92
|
schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
96
93
|
goal: z.ZodString;
|
|
97
|
-
history: z.
|
|
94
|
+
history: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
98
95
|
type: z.ZodEnum<["CLICK", "CHANGE", "SUBMIT", "MOUSEOVER", "MOUSEOUT", "FOCUS", "BLUR"]>;
|
|
99
96
|
nodeId: z.ZodString;
|
|
100
|
-
timestamp: z.
|
|
101
|
-
payload: z.
|
|
97
|
+
timestamp: z.ZodNullable<z.ZodNumber>;
|
|
98
|
+
payload: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
102
99
|
}, "strip", z.ZodTypeAny, {
|
|
103
100
|
type: "CLICK" | "CHANGE" | "SUBMIT" | "MOUSEOVER" | "MOUSEOUT" | "FOCUS" | "BLUR";
|
|
104
101
|
nodeId: string;
|
|
105
|
-
timestamp
|
|
106
|
-
payload
|
|
102
|
+
timestamp: number | null;
|
|
103
|
+
payload: Record<string, unknown> | null;
|
|
107
104
|
}, {
|
|
108
105
|
type: "CLICK" | "CHANGE" | "SUBMIT" | "MOUSEOVER" | "MOUSEOUT" | "FOCUS" | "BLUR";
|
|
109
106
|
nodeId: string;
|
|
110
|
-
timestamp
|
|
111
|
-
payload
|
|
107
|
+
timestamp: number | null;
|
|
108
|
+
payload: Record<string, unknown> | null;
|
|
112
109
|
}>, "many">>;
|
|
113
|
-
userContext: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown
|
|
110
|
+
userContext: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
114
111
|
}, "strip", z.ZodTypeAny, {
|
|
115
|
-
|
|
116
|
-
goal: string;
|
|
117
|
-
history?: {
|
|
112
|
+
history: {
|
|
118
113
|
type: "CLICK" | "CHANGE" | "SUBMIT" | "MOUSEOVER" | "MOUSEOUT" | "FOCUS" | "BLUR";
|
|
119
114
|
nodeId: string;
|
|
120
|
-
timestamp
|
|
121
|
-
payload
|
|
122
|
-
}[] |
|
|
123
|
-
userContext?: Record<string, unknown> | undefined;
|
|
124
|
-
}, {
|
|
115
|
+
timestamp: number | null;
|
|
116
|
+
payload: Record<string, unknown> | null;
|
|
117
|
+
}[] | null;
|
|
125
118
|
schema: Record<string, unknown>;
|
|
126
119
|
goal: string;
|
|
127
|
-
|
|
120
|
+
userContext?: Record<string, unknown> | null | undefined;
|
|
121
|
+
}, {
|
|
122
|
+
history: {
|
|
128
123
|
type: "CLICK" | "CHANGE" | "SUBMIT" | "MOUSEOVER" | "MOUSEOUT" | "FOCUS" | "BLUR";
|
|
129
124
|
nodeId: string;
|
|
130
|
-
timestamp
|
|
131
|
-
payload
|
|
132
|
-
}[] |
|
|
133
|
-
|
|
125
|
+
timestamp: number | null;
|
|
126
|
+
payload: Record<string, unknown> | null;
|
|
127
|
+
}[] | null;
|
|
128
|
+
schema: Record<string, unknown>;
|
|
129
|
+
goal: string;
|
|
130
|
+
userContext?: Record<string, unknown> | null | undefined;
|
|
134
131
|
}>;
|
|
135
132
|
type PlannerInput = z.infer<typeof plannerInput>;
|
|
136
133
|
|
|
@@ -190,7 +187,7 @@ declare class ActionRouter {
|
|
|
190
187
|
* @param dataContext - Current data context
|
|
191
188
|
* @returns Route resolution or null if no match
|
|
192
189
|
*/
|
|
193
|
-
resolveRoute(event: UIEvent, schema: Record<string, unknown>, layout: UISpecNode |
|
|
190
|
+
resolveRoute(event: UIEvent, schema: Record<string, unknown>, layout: UISpecNode | null, dataContext: DataContext, goal: string, userContext?: Record<string, unknown>): RouteResolution | null;
|
|
194
191
|
/**
|
|
195
192
|
* Process a prompt template with variables
|
|
196
193
|
* @param template - Template string with ${var} placeholders
|
|
@@ -229,7 +226,7 @@ type EventHook = (context: EventHookContext) => void | Promise<void>;
|
|
|
229
226
|
* });
|
|
230
227
|
* ```
|
|
231
228
|
*/
|
|
232
|
-
declare function createEventHook(eventTypes: UIEventType[] |
|
|
229
|
+
declare function createEventHook(eventTypes: UIEventType[] | "all", hook: EventHook, options?: EventHookOptions): EventHook;
|
|
233
230
|
|
|
234
231
|
/**
|
|
235
232
|
* System event types that represent the internal AutoUI lifecycle
|
|
@@ -370,7 +367,7 @@ declare const systemEvents: SystemEventManager;
|
|
|
370
367
|
*/
|
|
371
368
|
declare function createSystemEvent<T extends SystemEventType>(type: T, data: Omit<Extract<AnySystemEvent, {
|
|
372
369
|
type: T;
|
|
373
|
-
}>,
|
|
370
|
+
}>, "type" | "timestamp">): Extract<AnySystemEvent, {
|
|
374
371
|
type: T;
|
|
375
372
|
}>;
|
|
376
373
|
|
|
@@ -453,10 +450,10 @@ interface SchemaAdapter {
|
|
|
453
450
|
* Schema adapter options union type
|
|
454
451
|
*/
|
|
455
452
|
type SchemaAdapterOptions = {
|
|
456
|
-
type:
|
|
453
|
+
type: "drizzle";
|
|
457
454
|
options: DrizzleAdapterOptions$1;
|
|
458
455
|
} | {
|
|
459
|
-
type:
|
|
456
|
+
type: "custom";
|
|
460
457
|
adapter: SchemaAdapter;
|
|
461
458
|
};
|
|
462
459
|
/**
|
|
@@ -469,14 +466,14 @@ interface DrizzleAdapterOptions {
|
|
|
469
466
|
}
|
|
470
467
|
interface AutoUIProps {
|
|
471
468
|
schema: Record<string, unknown> | {
|
|
472
|
-
type:
|
|
469
|
+
type: "drizzle";
|
|
473
470
|
options: DrizzleAdapterOptions;
|
|
474
471
|
} | {
|
|
475
|
-
type:
|
|
472
|
+
type: "custom";
|
|
476
473
|
adapter: SchemaAdapter;
|
|
477
474
|
};
|
|
478
475
|
goal: string;
|
|
479
|
-
componentAdapter?:
|
|
476
|
+
componentAdapter?: "shadcn";
|
|
480
477
|
userContext?: Record<string, unknown>;
|
|
481
478
|
onEvent?: (evt: UIEvent) => void;
|
|
482
479
|
eventHooks?: {
|
|
@@ -494,13 +491,13 @@ interface AutoUIProps {
|
|
|
494
491
|
enableFormNavigation?: boolean;
|
|
495
492
|
};
|
|
496
493
|
integration?: {
|
|
497
|
-
mode?:
|
|
494
|
+
mode?: "standalone" | "component";
|
|
498
495
|
className?: string;
|
|
499
496
|
style?: React.CSSProperties;
|
|
500
497
|
id?: string;
|
|
501
498
|
};
|
|
502
499
|
scope?: {
|
|
503
|
-
type?:
|
|
500
|
+
type?: "form" | "list" | "detail" | "dashboard" | "full-page" | "card";
|
|
504
501
|
focus?: string;
|
|
505
502
|
};
|
|
506
503
|
debugMode?: boolean;
|
|
@@ -533,14 +530,39 @@ interface AutoUIProps {
|
|
|
533
530
|
declare const AutoUI: React.FC<AutoUIProps>;
|
|
534
531
|
|
|
535
532
|
/**
|
|
536
|
-
*
|
|
537
|
-
*
|
|
538
|
-
* Note: You need to set OPENAI_API_KEY environment variable
|
|
539
|
-
* or use another supported provider
|
|
533
|
+
* AI Utilities for AutoUI React
|
|
534
|
+
* Provides AI-powered UI generation functionality
|
|
540
535
|
*/
|
|
541
|
-
|
|
536
|
+
/**
|
|
537
|
+
* Generates a component using AI
|
|
538
|
+
*/
|
|
539
|
+
declare const generateComponent: (prompt: string) => Promise<string>;
|
|
540
|
+
/**
|
|
541
|
+
* Generates a UI description using AI
|
|
542
|
+
*/
|
|
543
|
+
declare const generateUIDescription: (prompt: string) => Promise<string>;
|
|
544
|
+
/**
|
|
545
|
+
* Generates a UI component using AI
|
|
546
|
+
*/
|
|
547
|
+
declare const generateUIComponent: (prompt: string) => Promise<string>;
|
|
542
548
|
|
|
543
|
-
|
|
544
|
-
|
|
549
|
+
interface UsePlannerOptions {
|
|
550
|
+
goal: string;
|
|
551
|
+
schema: Record<string, unknown>;
|
|
552
|
+
userContext?: Record<string, unknown>;
|
|
553
|
+
router?: ActionRouter;
|
|
554
|
+
modelProvider?: unknown;
|
|
555
|
+
}
|
|
556
|
+
interface UsePlannerResult {
|
|
557
|
+
layout: UISpecNode | undefined;
|
|
558
|
+
loading: boolean;
|
|
559
|
+
error: Error | null;
|
|
560
|
+
handleEvent: (event: UIEvent) => Promise<void>;
|
|
561
|
+
generateInitialLayout: () => Promise<void>;
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* React hook for utilizing the AI planner functionality
|
|
565
|
+
*/
|
|
566
|
+
declare function usePlanner(options: UsePlannerOptions): UsePlannerResult;
|
|
545
567
|
|
|
546
|
-
export { ActionRouteConfig, ActionRouter, ActionType, AnySystemEvent, AutoUI, AutoUIProps, DrizzleAdapter, DrizzleAdapterOptions$1 as DrizzleAdapterOptions, EventHook, EventHookContext, EventHookOptions, PlannerInput, SchemaAdapter, SchemaAdapterOptions, SystemEventHook, SystemEventType, UIEvent, UIEventType, UISpecNode, UIState, createDefaultRouter, createEventHook, createSchemaAdapter, createSystemEvent, generateComponent, generateUIComponent, generateUIDescription, systemEvents, uiEvent, uiEventType, uiSpecNode };
|
|
568
|
+
export { ActionRouteConfig, ActionRouter, ActionType, AnySystemEvent, AutoUI, AutoUIProps, DrizzleAdapter, DrizzleAdapterOptions$1 as DrizzleAdapterOptions, EventHook, EventHookContext, EventHookOptions, PlannerInput, SchemaAdapter, SchemaAdapterOptions, SystemEventHook, SystemEventType, UIEvent, UIEventType, UISpecNode, UIState, createDefaultRouter, createEventHook, createSchemaAdapter, createSystemEvent, generateComponent, generateUIComponent, generateUIDescription, systemEvents, uiEvent, uiEventType, uiSpecNode, usePlanner };
|