@tenerife.music/ui 4.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,379 +1,28 @@
1
- # Engine UI
1
+ # @tenerife.music/ui — DEPRECATED
2
2
 
3
- ### The UI Engine for AI Interfaces
3
+ > **This package is deprecated and no longer maintained.**
4
+ >
5
+ > All imports will throw a runtime error.
4
6
 
5
- **Token-driven. Deterministic. Built for AI interfaces.**
7
+ ## Migration
6
8
 
7
- ![Release](https://img.shields.io/badge/release-v3.2.0-blue?style=for-the-badge)
8
- ![npm version](https://img.shields.io/badge/npm-v3.2.0-blue?style=for-the-badge)
9
- ![React](https://img.shields.io/badge/React-18+-blue?style=for-the-badge)
10
- ![TypeScript](https://img.shields.io/badge/TypeScript-Strict-blue?style=for-the-badge)
11
- ![TailwindCSS](https://img.shields.io/badge/TailwindCSS-3.4-38b2ac?style=for-the-badge)
12
- ![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)
13
-
14
- Turn AI output into **safe, deterministic user interfaces**.
15
-
16
- Engine UI is a deterministic execution layer that converts **AI-generated UI intent** into **validated React interfaces**.
17
-
18
- AI can suggest UI.
19
- Engine UI decides what is **safe and architecture-compliant to render**.
20
-
21
- The canonical structural type for engine layout output is `UIIRNode` (UI-IR terminology).
22
-
23
- ---
24
-
25
- ## Engine UI execution pipeline
26
-
27
- ```mermaid
28
- flowchart LR
29
- A[AI / User Input]
30
- B[Intent<br/>DSL / IntentContract / LayoutIntent]
31
- C[Planner]
32
- D[UI-IR<br/>layoutTree<br/>Canonical engine representation]
33
- E[intentSchema<br/>Derived deterministic compile format]
34
- F[Validation]
35
- G[Compiler]
36
- H[Renderer]
37
- I[React JSX / Runtime]
38
- J[Direct DSL / intentSchema compatibility path]
39
- K[Synthetic UI-IR reconstruction]
40
-
41
- A --> B --> C --> D --> E --> F --> G --> H --> I
42
- J --> K --> F
43
-
44
- classDef canonical fill:#dff6dd,stroke:#1f6f43,stroke-width:2px,color:#123524;
45
- classDef derived fill:#fff4cc,stroke:#8a6700,stroke-width:1.5px,color:#4d3b00;
46
- class D canonical;
47
- class E derived;
48
- ```
49
-
50
- `UI-IR (layoutTree)` is the canonical engine representation. `intentSchema` is a derived deterministic compile format, not a competing architectural layer. Direct `dsl` and `intentSchema` execution paths are compatibility paths that reconstruct synthetic UI-IR before compilation.
51
-
52
- ---
53
-
54
- ## Why Engine UI exists
55
-
56
- AI can generate UI.
57
-
58
- But raw AI output is unsafe.
59
-
60
- It can:
61
-
62
- - break layout rules
63
- - violate component boundaries
64
- - generate invalid props
65
- - drift away from design tokens
66
- - slowly destroy architectural consistency
67
-
68
- Engine UI solves this by adding a deterministic execution layer between AI output and the final interface.
69
-
70
- Instead of trusting arbitrary generated component trees, Engine UI validates structure, enforces architectural rules, and renders only safe UI.
71
-
72
- ---
73
-
74
- ## From AI output to safe UI
75
-
76
- AI output should not go directly into production UI.
77
-
78
- Engine UI takes structured intent and turns it into a validated component tree.
79
-
80
- ### AI Output
81
-
82
- ```json
83
- {
84
- "type": "grid",
85
- "columns": { "md": 2, "lg": 3 },
86
- "items": [
87
- { "component": "eventCard" },
88
- { "component": "eventCard" },
89
- { "component": "eventCard" }
90
- ]
91
- }
92
- ```
93
-
94
- ### Engine UI Rendering
95
-
96
- ```tsx
97
- <Grid columns={{ md: 2, lg: 3 }}>
98
- <EventCard />
99
- <EventCard />
100
- <EventCard />
101
- </Grid>
102
- ```
103
-
104
- The important part is not that AI generated UI.
105
-
106
- The important part is that the result is **safe, predictable, and architecture-compliant**.
107
-
108
- ---
109
-
110
- ## Quick Start
111
-
112
- ### Install
9
+ Use [`@engine-ui/core`](https://www.npmjs.com/package/@engine-ui/core) instead.
113
10
 
114
11
  ```bash
115
- pnpm add @tenerife.music/ui
116
- ```
117
-
118
- or
119
-
120
- ```bash
121
- npm install @tenerife.music/ui
122
- ```
123
-
124
- ### Minimal Example
125
-
126
- ```tsx
127
- import "@tenerife.music/ui/styles";
128
- import { Button, Stack, Text } from "@tenerife.music/ui";
129
- import { ThemeProvider } from "@tenerife.music/ui/theme";
130
-
131
- export default function App() {
132
- return (
133
- <ThemeProvider defaultMode="night">
134
- <Stack gap="md">
135
- <Text>AI-native UI</Text>
136
- <Button variant="primary">Run</Button>
137
- </Stack>
138
- </ThemeProvider>
139
- );
140
- }
141
- ```
142
-
143
- ---
144
-
145
- ## The core idea
146
-
147
- Traditional UI systems assume humans write interfaces.
148
-
149
- Engine UI assumes AI may generate them.
150
-
151
- That changes the requirements completely.
152
-
153
- You need:
154
-
155
- - deterministic rendering
156
- - architectural boundaries
157
- - token-safe styling
158
- - machine-readable validation
159
- - constrained execution
160
-
161
- Engine UI is built around those requirements.
162
-
163
- ---
164
-
165
- ## How it works
166
-
167
- Engine UI runs a deterministic UI execution pipeline:
168
-
169
- `AI / User Input → Intent → Planner → UI-IR (layoutTree) → intentSchema → Validation → Compiler → Renderer → Runtime`
170
-
171
- AI generates intent.
172
- Engine UI decides what is valid to render.
173
-
174
- If the structure is invalid, the system fails with structured diagnostics instead of producing unsafe UI.
175
-
176
- ---
177
-
178
- ## What Engine UI guarantees
179
-
180
- - deterministic UI output
181
- - architecture-safe rendering
182
- - token-driven visual constraints
183
- - bounded public surface
184
- - machine-readable validation failures
185
- - safe integration with AI systems
186
-
187
- This is not just a component library.
188
-
189
- It is a runtime layer for AI-generated interfaces.
190
-
191
- ---
192
-
193
- ## Where Engine UI fits in the stack
194
-
195
- ```
196
- AI Prompt
197
-
198
- Intent
199
-
200
- Engine UI
201
-
202
- React
203
-
204
- DOM
205
- ```
206
-
207
- Engine UI sits between **AI generation** and **React rendering**.
208
-
209
- ---
210
-
211
- ## Why not just React?
212
-
213
- The difference is not React vs components.
214
-
215
- The difference is **unbounded generation vs controlled execution**.
216
-
217
- | | Raw AI → React | AI → Engine UI → React |
218
- | ------------------------- | -------------- | ---------------------- |
219
- | Flexibility | High | Controlled |
220
- | Safety | Low | High |
221
- | Architecture drift | Likely | Constrained |
222
- | Token enforcement | Optional | Built-in |
223
- | Deterministic output | No | Yes |
224
- | Machine-readable failures | No | Yes |
225
-
226
- React lets you build anything.
227
-
228
- Engine UI decides what AI is allowed to build safely.
229
-
230
- ---
231
-
232
- ## Deterministic architecture
233
-
234
- Engine UI runs inside a closed execution model.
235
-
236
- Key guarantees:
237
-
238
- | Property | Guarantee |
239
- | --------------------------- | ---------------------------------------------------------- |
240
- | Closed props | No `className` / `style` escape hatches in public surfaces |
241
- | Token-only styling | Visual values come from finite token vocabularies |
242
- | Controlled DOM passthrough | Native attributes go through sanctioned gates |
243
- | Deterministic SSR | Stable rendering behavior |
244
- | Machine-readable violations | TypeScript, ESLint, and runtime diagnostics |
245
-
246
- ---
247
-
248
- ## Architecture / Overview
249
-
250
- Engine UI is a deterministic AI-native UI execution layer built on top of the Tenerife UI architecture system.
251
-
252
- The system converts AI-generated UI intent into validated runtime UI through a deterministic pipeline:
253
-
254
- `AI Prompt -> Intent -> UI-IR -> Validation -> Compiler -> Renderer -> React Runtime`
255
-
256
- Tenerife UI provides:
257
-
258
- - the component architecture
259
- - token system
260
- - composition primitives
261
- - governance and validation rules
262
-
263
- Engine UI provides:
264
-
265
- - AI intent interpretation
266
- - UI-IR generation
267
- - deterministic compilation pipeline
268
-
269
- Engine UI is the AI execution layer.
270
-
271
- Tenerife UI is the architecture system.
272
-
273
- Engine UI does not replace the Tenerife UI architecture. It executes AI-generated intent within Tenerife UI's architectural constraints.
274
-
275
- ---
276
-
277
- ## Architecture layers
278
-
279
- ```
280
- FOUNDATION
281
- PRIMITIVES
282
- COMPOSITION
283
- PATTERNS
284
- DOMAIN
12
+ npm uninstall @tenerife.music/ui
13
+ npm install @engine-ui/core
285
14
  ```
286
15
 
287
- Rules:
288
-
289
- - lower layers cannot import higher layers
290
- - Foundation is immutable
291
- - token domains stay isolated
292
- - architecture boundaries are enforced
293
-
294
- ---
295
-
296
- ## Architecture Score Engine
297
-
298
- Engine UI includes a built-in architecture scoring system.
299
-
300
- It aggregates:
301
-
302
- - ESLint architecture violations
303
- - governance checks
304
- - runtime diagnostics
305
-
306
- Example result:
307
-
308
- ```
309
- Architecture Score: 100 / 100
310
- ```
311
-
312
- CI can block merges if architecture health drops.
313
-
314
- This makes Engine UI feel less like a library and more like a structural integrity system for UI.
315
-
316
- ---
317
-
318
- ## Comparison
319
-
320
- | Capability | Component Libraries | Engine UI |
321
- | --------------------------- | ------------------- | --------- |
322
- | Provide UI components | ✅ | ✅ |
323
- | Enforce architecture rules | ❌ | ✅ |
324
- | Deterministic UI execution | ❌ | ✅ |
325
- | Safe AI UI generation | ❌ | ✅ |
326
- | Machine-readable violations | ❌ | ✅ |
327
-
328
- Component libraries provide components.
329
-
330
- Engine UI provides **deterministic UI execution for AI-generated interfaces**.
331
-
332
- ---
333
-
334
- ## Use cases
335
-
336
- Engine UI is designed for teams building:
337
-
338
- - AI copilots
339
- - agent dashboards
340
- - AI-generated product interfaces
341
- - dynamic application shells
342
- - deterministic design systems
343
- - safe UI runtimes for LLM products
344
-
345
- ---
346
-
347
- ## Vision
348
-
349
- AI will generate more and more interface code.
350
-
351
- But generated UI cannot be trusted by default.
352
-
353
- There needs to be a **deterministic execution layer between AI output and the user interface**.
354
-
355
- Engine UI is built to become that layer.
356
-
357
16
  ---
358
17
 
359
- ## Contributing
18
+ ## 🎵 Tenerife Music
360
19
 
361
- Engine UI follows a strict architecture model.
20
+ Looking for concert tickets and live music events on Tenerife?
362
21
 
363
- All contributions must respect:
364
-
365
- - token authority
366
- - layer boundaries
367
- - closed execution rules
368
- - sanctioned public surfaces
22
+ Visit **[tenerife.music](https://tenerife.music)** your guide to the island's best live music scene.
369
23
 
370
24
  ---
371
25
 
372
26
  ## License
373
27
 
374
28
  MIT
375
-
376
- ---
377
-
378
- **Engine UI is not a component library.
379
- It is an execution engine for AI-generated interfaces.**
package/package.json CHANGED
@@ -309,5 +309,5 @@
309
309
  "require": "./dist/agent-contract/index.cjs"
310
310
  }
311
311
  },
312
- "version": "4.0.0"
312
+ "version": "5.0.0"
313
313
  }
@@ -1,78 +0,0 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
- import * as React from 'react';
3
- import { S as SafeNativeProps } from './safe-native-DQVUNMW7.cjs';
4
-
5
- /**
6
- * Link variant values (internal - used for type derivation only)
7
- *
8
- * @internal
9
- */
10
- declare const _LINK_VARIANTS: readonly ["primary", "secondary", "accent", "outline", "ghost", "text", "link", "wrapper", "destructive"];
11
- /**
12
- * Link variant type
13
- *
14
- * @public
15
- */
16
- type LinkVariant = (typeof _LINK_VARIANTS)[number];
17
- /**
18
- * Link size values (internal - used for type derivation only)
19
- *
20
- * @internal
21
- */
22
- declare const _LINK_SIZES: readonly ["sm", "md", "lg"];
23
- /**
24
- * Link size type
25
- *
26
- * @public
27
- */
28
- type LinkSize = (typeof _LINK_SIZES)[number];
29
- declare const linkVariants: (props?: ({
30
- variant?: "primary" | "secondary" | "accent" | "destructive" | "outline" | "link" | "text" | "ghost" | "wrapper" | null | undefined;
31
- size?: "sm" | "md" | "lg" | null | undefined;
32
- } & class_variance_authority_types.ClassProp) | undefined) => string;
33
- interface LinkProps {
34
- /**
35
- * Link variant style
36
- * @default "text"
37
- */
38
- variant?: LinkVariant;
39
- /**
40
- * Link size
41
- * @default "md"
42
- */
43
- size?: LinkSize;
44
- /**
45
- * Icon to display on the left side
46
- */
47
- leftIcon?: React.ReactNode;
48
- /**
49
- * Icon to display on the right side
50
- */
51
- rightIcon?: React.ReactNode;
52
- /**
53
- * Whether the link is disabled
54
- * When disabled, the link will not be navigable and will be removed from the tab order
55
- * @default false
56
- */
57
- disabled?: boolean;
58
- href?: string;
59
- target?: "_self" | "_blank" | "_parent" | "_top";
60
- rel?: string;
61
- onClick?: React.MouseEventHandler<HTMLAnchorElement>;
62
- onFocus?: React.FocusEventHandler<HTMLAnchorElement>;
63
- onBlur?: React.FocusEventHandler<HTMLAnchorElement>;
64
- onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement>;
65
- onMouseLeave?: React.MouseEventHandler<HTMLAnchorElement>;
66
- id?: string;
67
- title?: string;
68
- tabIndex?: number;
69
- role?: string;
70
- download?: string;
71
- hrefLang?: string;
72
- type?: string;
73
- children?: React.ReactNode;
74
- native?: SafeNativeProps;
75
- }
76
- declare const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
77
-
78
- export { type LinkProps as L, type LinkVariant as a, Link as b, type LinkSize as c, linkVariants as l };
@@ -1,78 +0,0 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
2
- import * as React from 'react';
3
- import { S as SafeNativeProps } from './safe-native-DQVUNMW7.js';
4
-
5
- /**
6
- * Link variant values (internal - used for type derivation only)
7
- *
8
- * @internal
9
- */
10
- declare const _LINK_VARIANTS: readonly ["primary", "secondary", "accent", "outline", "ghost", "text", "link", "wrapper", "destructive"];
11
- /**
12
- * Link variant type
13
- *
14
- * @public
15
- */
16
- type LinkVariant = (typeof _LINK_VARIANTS)[number];
17
- /**
18
- * Link size values (internal - used for type derivation only)
19
- *
20
- * @internal
21
- */
22
- declare const _LINK_SIZES: readonly ["sm", "md", "lg"];
23
- /**
24
- * Link size type
25
- *
26
- * @public
27
- */
28
- type LinkSize = (typeof _LINK_SIZES)[number];
29
- declare const linkVariants: (props?: ({
30
- variant?: "primary" | "secondary" | "accent" | "destructive" | "outline" | "link" | "text" | "ghost" | "wrapper" | null | undefined;
31
- size?: "sm" | "md" | "lg" | null | undefined;
32
- } & class_variance_authority_types.ClassProp) | undefined) => string;
33
- interface LinkProps {
34
- /**
35
- * Link variant style
36
- * @default "text"
37
- */
38
- variant?: LinkVariant;
39
- /**
40
- * Link size
41
- * @default "md"
42
- */
43
- size?: LinkSize;
44
- /**
45
- * Icon to display on the left side
46
- */
47
- leftIcon?: React.ReactNode;
48
- /**
49
- * Icon to display on the right side
50
- */
51
- rightIcon?: React.ReactNode;
52
- /**
53
- * Whether the link is disabled
54
- * When disabled, the link will not be navigable and will be removed from the tab order
55
- * @default false
56
- */
57
- disabled?: boolean;
58
- href?: string;
59
- target?: "_self" | "_blank" | "_parent" | "_top";
60
- rel?: string;
61
- onClick?: React.MouseEventHandler<HTMLAnchorElement>;
62
- onFocus?: React.FocusEventHandler<HTMLAnchorElement>;
63
- onBlur?: React.FocusEventHandler<HTMLAnchorElement>;
64
- onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement>;
65
- onMouseLeave?: React.MouseEventHandler<HTMLAnchorElement>;
66
- id?: string;
67
- title?: string;
68
- tabIndex?: number;
69
- role?: string;
70
- download?: string;
71
- hrefLang?: string;
72
- type?: string;
73
- children?: React.ReactNode;
74
- native?: SafeNativeProps;
75
- }
76
- declare const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
77
-
78
- export { type LinkProps as L, type LinkVariant as a, Link as b, type LinkSize as c, linkVariants as l };
@@ -1,133 +0,0 @@
1
- import { a as UICapabilityDiscoveryResult, c as IntentDslAstDocument, C as CompileDslToIntentResult, I as IntentDslErrorCode } from '../types-CoqbRddt.cjs';
2
- export { b as IntentDslError, U as UICapabilityDiscoveryEntry, d as UICapabilityPropMetadata, e as UIDslKeywordCapability } from '../types-CoqbRddt.cjs';
3
- import { a as IntentDslKeyword } from '../ui-node-union-BNt_iPQO.cjs';
4
- export { D as DETERMINISTIC_INTENT_KIND_ALLOWLIST, r as DETERMINISTIC_INTENT_ROOT_KINDS, s as DETERMINISTIC_LAYOUT_SURFACE_ALLOWLIST, t as DETERMINISTIC_TYPED_DSL_ROOT_KINDS, u as INTENT_DSL_ALLOWED_CHILD_KINDS_BY_KIND, v as INTENT_DSL_ALLOWED_PROP_KEYS_BY_KIND, o as INTENT_DSL_GRAMMAR, p as INTENT_DSL_KEYWORDS, q as IntentDslGrammarEntry, I as IntentDslValueType, n as getDslWritablePropNames } from '../ui-node-union-BNt_iPQO.cjs';
5
- import { b as UIIntentCategory, U as UIIntentSchema, c as UIIntentValidationIssue } from '../types-BEG5B5HA.cjs';
6
- import '../index-4rLh47Jk.cjs';
7
- import '../typography-BsoBDDcG.cjs';
8
- import '../safe-native-DQVUNMW7.cjs';
9
-
10
- declare function getUiCapabilities(): UICapabilityDiscoveryResult;
11
-
12
- interface CapabilityIntrospectionEntry {
13
- readonly kind: string;
14
- readonly role: "layout_primitive" | "component_primitive";
15
- readonly category: UIIntentCategory;
16
- readonly allowedParentCategories: readonly UIIntentCategory[];
17
- readonly allowedParentKinds: readonly string[];
18
- readonly allowedChildKinds: readonly string[];
19
- readonly supportedProps: readonly string[];
20
- readonly supportedStates: readonly string[];
21
- readonly supportedActions: readonly string[];
22
- /** Convenience flag: true when allowedChildKinds is empty. */
23
- readonly isLeaf: boolean;
24
- readonly canonicalRef: string;
25
- }
26
- interface CapabilityIntrospectionResult {
27
- readonly surfaces: readonly string[];
28
- readonly entries: Readonly<Record<string, CapabilityIntrospectionEntry>>;
29
- readonly forbiddenPropKeys: readonly string[];
30
- readonly allowedChildCategoriesByCategory: Readonly<Record<UIIntentCategory, readonly UIIntentCategory[]>>;
31
- }
32
-
33
- declare function getCapabilities(): CapabilityIntrospectionResult;
34
- declare function getCapabilityKinds(): readonly string[];
35
- declare function getCapabilitiesByRole(role: "layout_primitive" | "component_primitive"): readonly CapabilityIntrospectionEntry[];
36
- /**
37
- * Returns the introspection entry for a kind, or `undefined` if unknown.
38
- * Unlike the internal `getCapabilityEntry`, this never throws.
39
- */
40
- declare function findCapabilityEntry(kind: string): CapabilityIntrospectionEntry | undefined;
41
- declare function getAllowedChildKinds(kind: string): readonly string[];
42
- declare function getAllowedParentKinds(kind: string): readonly string[];
43
- declare function getLeafCapabilities(): readonly CapabilityIntrospectionEntry[];
44
- declare function getForbiddenPropKeys(): readonly string[];
45
-
46
- type IntentDslAutocompleteEntry = {
47
- keyword: IntentDslKeyword;
48
- label: string;
49
- snippet: string;
50
- supportedProps: readonly string[];
51
- };
52
- declare function buildIntentDslAutocompleteSuggestions(): readonly IntentDslAutocompleteEntry[];
53
-
54
- declare function compileDslToIntent(input: IntentDslAstDocument | string): CompileDslToIntentResult;
55
-
56
- type AgentGenerateUISourceKind = "dsl" | "intent_schema";
57
- type AgentGenerateUIOptions = {
58
- artifactsRoot?: string;
59
- exampleName?: string;
60
- artifactsMode?: "persistent" | "ephemeral";
61
- };
62
- type AgentGenerateUIRequest = {
63
- dsl: string;
64
- intentSchema?: never;
65
- options?: AgentGenerateUIOptions;
66
- } | {
67
- intentSchema: UIIntentSchema;
68
- dsl?: never;
69
- options?: AgentGenerateUIOptions;
70
- };
71
- type AgentGenerateUIIssue = {
72
- code: string;
73
- message: string;
74
- path: string;
75
- canonicalRef?: UIIntentValidationIssue["canonicalRef"];
76
- category?: UIIntentValidationIssue["category"];
77
- severity?: UIIntentValidationIssue["severity"];
78
- };
79
- type AgentGenerateUIDslError = {
80
- code: IntentDslErrorCode;
81
- line?: number;
82
- column?: number;
83
- path?: string;
84
- };
85
- type AgentGenerateUIValidationDiagnostics = {
86
- valid: boolean;
87
- errors: AgentGenerateUIIssue[];
88
- warnings: AgentGenerateUIIssue[];
89
- dslError?: AgentGenerateUIDslError;
90
- };
91
- type AgentGenerateUIScoreDiagnostics = {
92
- gate: "pass" | "fail";
93
- overallScore: number;
94
- gateReasons: string[];
95
- lintErrorCount: number;
96
- lintWarningCount: number;
97
- architectureRuleViolations: number;
98
- };
99
- type AgentGenerateUIDiagnostics = {
100
- sourceKind: AgentGenerateUISourceKind;
101
- validation: AgentGenerateUIValidationDiagnostics | null;
102
- score?: AgentGenerateUIScoreDiagnostics;
103
- warnings: AgentGenerateUIIssue[];
104
- };
105
- type AgentGenerateUIErrorCode = "AGENT_INPUT_CONTRACT_FAILED" | "AGENT_VALIDATION_FAILED" | "AGENT_COMPILER_FAILED" | "AGENT_SCORING_FAILED" | "AGENT_ARTIFACT_GATE_FAILED";
106
- type AgentGenerateUIError = {
107
- code: AgentGenerateUIErrorCode;
108
- message: string;
109
- details?: {
110
- engineCode?: string;
111
- issues?: AgentGenerateUIIssue[];
112
- warnings?: AgentGenerateUIIssue[];
113
- dslError?: AgentGenerateUIDslError;
114
- gateReasons?: string[];
115
- cause?: unknown;
116
- };
117
- };
118
- type AgentGenerateUISuccessResponse = {
119
- ok: true;
120
- jsx: string;
121
- hash: string;
122
- diagnostics: AgentGenerateUIDiagnostics;
123
- };
124
- type AgentGenerateUIFailureResponse = {
125
- ok: false;
126
- error: AgentGenerateUIError;
127
- diagnostics: AgentGenerateUIDiagnostics;
128
- };
129
- type AgentGenerateUIResponse = AgentGenerateUISuccessResponse | AgentGenerateUIFailureResponse;
130
-
131
- declare function agentGenerateUI(input: AgentGenerateUIRequest): AgentGenerateUIResponse;
132
-
133
- export { type AgentGenerateUIDiagnostics, type AgentGenerateUIDslError, type AgentGenerateUIError, type AgentGenerateUIErrorCode, type AgentGenerateUIFailureResponse, type AgentGenerateUIIssue, type AgentGenerateUIOptions, type AgentGenerateUIRequest, type AgentGenerateUIResponse, type AgentGenerateUIScoreDiagnostics, type AgentGenerateUISourceKind, type AgentGenerateUISuccessResponse, type AgentGenerateUIValidationDiagnostics, type CapabilityIntrospectionEntry, type CapabilityIntrospectionResult, type IntentDslAutocompleteEntry, IntentDslErrorCode, IntentDslKeyword, UICapabilityDiscoveryResult, agentGenerateUI, buildIntentDslAutocompleteSuggestions, compileDslToIntent, findCapabilityEntry, getAllowedChildKinds, getAllowedParentKinds, getCapabilities, getCapabilitiesByRole, getCapabilityKinds, getForbiddenPropKeys, getLeafCapabilities, getUiCapabilities };