aeon-ui-engine 1.3.1 → 1.4.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/CHANGELOG.md +61 -0
- package/package.json +1 -1
- package/packages/cli/README.md +13 -1
- package/packages/cli/dist/bin.js +23 -5
- package/packages/cli/dist/chunk-5L47SLNV.js +247 -0
- package/packages/cli/dist/index.d.ts +17 -1
- package/packages/cli/dist/index.js +5 -3
- package/packages/cli/src/bin.ts +21 -3
- package/packages/cli/src/index.ts +1 -0
- package/packages/cli/src/migrate.ts +170 -0
- package/packages/core/dist/index.d.ts +35 -7
- package/packages/core/dist/index.js +102 -2
- package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/core/src/anatomy.ts +39 -3
- package/packages/core/src/identicon.test.ts +39 -0
- package/packages/core/src/identicon.ts +79 -0
- package/packages/core/src/index.ts +1 -0
- package/packages/panda/panda.config.ts +4 -0
- package/packages/panda/src/recipes/composer.ts +58 -4
- package/packages/panda/src/recipes/file-upload.ts +100 -0
- package/packages/panda/src/recipes/index.ts +2 -0
- package/packages/panda/src/recipes/range-slider.ts +59 -0
- package/packages/panda/src/recipes/thread.ts +77 -2
- package/packages/panda/styled-system/recipes/aeon-composer.d.ts +1 -1
- package/packages/panda/styled-system/recipes/aeon-composer.mjs +12 -0
- package/packages/panda/styled-system/recipes/aeon-file-upload.d.ts +31 -0
- package/packages/panda/styled-system/recipes/aeon-file-upload.mjs +61 -0
- package/packages/panda/styled-system/recipes/aeon-range-slider.d.ts +31 -0
- package/packages/panda/styled-system/recipes/aeon-range-slider.mjs +49 -0
- package/packages/panda/styled-system/recipes/aeon-thread.d.ts +1 -1
- package/packages/panda/styled-system/recipes/aeon-thread.mjs +20 -0
- package/packages/panda/styled-system/recipes/index.d.ts +2 -0
- package/packages/panda/styled-system/recipes/index.mjs +2 -0
- package/packages/panda/styled-system/styles.css +292 -0
- package/packages/primitives/dist/chunk-CV4UXXZF.js +44 -0
- package/packages/primitives/dist/chunk-IZKQSCYU.js +164 -0
- package/packages/primitives/dist/index.d.ts +2 -0
- package/packages/primitives/dist/index.js +22 -6
- package/packages/primitives/dist/machines/file-upload.d.ts +39 -0
- package/packages/primitives/dist/machines/file-upload.js +8 -0
- package/packages/primitives/dist/machines/range-slider.d.ts +129 -0
- package/packages/primitives/dist/machines/range-slider.js +12 -0
- package/packages/primitives/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/primitives/src/__tests__/file-upload.test.ts +25 -0
- package/packages/primitives/src/__tests__/range-slider.test.ts +39 -0
- package/packages/primitives/src/index.ts +2 -0
- package/packages/primitives/src/machines/file-upload.ts +55 -0
- package/packages/primitives/src/machines/range-slider.ts +209 -0
- package/packages/react/dist/index.d.ts +117 -25
- package/packages/react/dist/index.js +1731 -1006
- package/packages/react/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/react/src/button/index.tsx +50 -15
- package/packages/react/src/combobox/index.tsx +13 -8
- package/packages/react/src/composer/index.tsx +58 -3
- package/packages/react/src/file-upload/index.tsx +322 -0
- package/packages/react/src/index.ts +3 -0
- package/packages/react/src/prompt/index.tsx +45 -0
- package/packages/react/src/range-slider/index.tsx +322 -0
- package/packages/react/src/thread/index.tsx +74 -3
- package/packages/react/src/tooltip/index.tsx +48 -22
- package/packages/react/src/utils/slot.tsx +47 -0
- package/packages/schemas/dist/index.d.ts +73 -24
- package/packages/schemas/dist/index.js +514 -50
- package/packages/schemas/json/appNav.json +146 -0
- package/packages/schemas/json/appShell.json +151 -0
- package/packages/schemas/json/avatar.json +130 -0
- package/packages/schemas/json/bar.json +126 -0
- package/packages/schemas/json/button.json +6 -0
- package/packages/schemas/json/catalog.json +3496 -15
- package/packages/schemas/json/combobox.json +19 -7
- package/packages/schemas/json/composer.json +125 -0
- package/packages/schemas/json/content.json +167 -0
- package/packages/schemas/json/conversation.json +166 -0
- package/packages/schemas/json/entry.json +182 -0
- package/packages/schemas/json/fileUpload.json +168 -0
- package/packages/schemas/json/identity.json +147 -0
- package/packages/schemas/json/listRow.json +131 -0
- package/packages/schemas/json/metricStrip.json +132 -0
- package/packages/schemas/json/nav.json +136 -0
- package/packages/schemas/json/panel.json +143 -0
- package/packages/schemas/json/pinInput.json +112 -0
- package/packages/schemas/json/profileHeader.json +138 -0
- package/packages/schemas/json/prompt.json +155 -0
- package/packages/schemas/json/radioGroup.json +130 -0
- package/packages/schemas/json/rangeSlider.json +157 -0
- package/packages/schemas/json/separator.json +105 -0
- package/packages/schemas/json/slider.json +147 -0
- package/packages/schemas/json/statusBanner.json +149 -0
- package/packages/schemas/json/stickyBar.json +153 -0
- package/packages/schemas/json/thread.json +129 -0
- package/packages/schemas/json/tooltip.json +21 -7
- package/packages/schemas/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/packages/schemas/prompts/cursorrules.md +6 -4
- package/packages/schemas/prompts/statecharts.md +23 -2
- package/packages/schemas/prompts/system.md +2 -2
- package/packages/schemas/registry/catalog.json +313 -4
- package/packages/schemas/registry/components/appNav.json +146 -0
- package/packages/schemas/registry/components/appShell.json +151 -0
- package/packages/schemas/registry/components/avatar.json +130 -0
- package/packages/schemas/registry/components/bar.json +126 -0
- package/packages/schemas/registry/components/button.json +6 -0
- package/packages/schemas/registry/components/combobox.json +19 -7
- package/packages/schemas/registry/components/composer.json +125 -0
- package/packages/schemas/registry/components/content.json +167 -0
- package/packages/schemas/registry/components/conversation.json +166 -0
- package/packages/schemas/registry/components/entry.json +182 -0
- package/packages/schemas/registry/components/fileUpload.json +168 -0
- package/packages/schemas/registry/components/identity.json +147 -0
- package/packages/schemas/registry/components/listRow.json +131 -0
- package/packages/schemas/registry/components/metricStrip.json +132 -0
- package/packages/schemas/registry/components/nav.json +136 -0
- package/packages/schemas/registry/components/panel.json +143 -0
- package/packages/schemas/registry/components/pinInput.json +112 -0
- package/packages/schemas/registry/components/profileHeader.json +138 -0
- package/packages/schemas/registry/components/prompt.json +155 -0
- package/packages/schemas/registry/components/radioGroup.json +130 -0
- package/packages/schemas/registry/components/rangeSlider.json +157 -0
- package/packages/schemas/registry/components/separator.json +105 -0
- package/packages/schemas/registry/components/slider.json +147 -0
- package/packages/schemas/registry/components/statusBanner.json +149 -0
- package/packages/schemas/registry/components/stickyBar.json +153 -0
- package/packages/schemas/registry/components/thread.json +129 -0
- package/packages/schemas/registry/components/tooltip.json +21 -7
- package/packages/schemas/registry/machines/accordion.json +58 -0
- package/packages/schemas/registry/machines/appNav.json +108 -0
- package/packages/schemas/registry/machines/appShell.json +128 -0
- package/packages/schemas/registry/machines/contentRegion.json +314 -0
- package/packages/schemas/registry/machines/fileUpload.json +182 -0
- package/packages/schemas/registry/machines/panel.json +131 -0
- package/packages/schemas/registry/machines/popover.json +143 -0
- package/packages/schemas/registry/machines/rangeSlider.json +201 -0
- package/packages/schemas/registry/machines/slider.json +151 -0
- package/packages/schemas/registry/machines/stickyBar.json +261 -0
- package/packages/schemas/registry/machines/tabs.json +58 -0
- package/packages/schemas/registry/machines/toast.json +89 -0
- package/packages/schemas/registry/machines/toggle.json +134 -0
- package/packages/schemas/scripts/emit.ts +27 -0
- package/packages/schemas/src/components.ts +499 -6
- package/packages/schemas/src/index.test.ts +83 -0
- package/packages/schemas/src/index.ts +1 -0
- package/packages/schemas/src/machine-id.ts +7 -0
- package/packages/schemas/src/prompts.ts +25 -4
- package/packages/schemas/src/registry.ts +28 -39
- package/packages/schemas/tsconfig.json +1 -1
- package/packages/ui/dist/index.d.ts +100 -46
- package/packages/ui/dist/index.js +463 -341
- package/packages/ui/src/composer.tsx +37 -11
- package/packages/ui/src/file-upload.tsx +36 -0
- package/packages/ui/src/index.ts +2 -0
- package/packages/ui/src/prompt.tsx +3 -0
- package/packages/ui/src/range-slider.tsx +24 -0
- package/packages/ui/src/thread.tsx +40 -0
- package/packages/cli/dist/chunk-IW5NT2Z2.js +0 -103
|
@@ -35,6 +35,30 @@ declare const componentSchemas: {
|
|
|
35
35
|
readonly toast: JsonSchema;
|
|
36
36
|
readonly scroll: JsonSchema;
|
|
37
37
|
readonly progress: JsonSchema;
|
|
38
|
+
readonly radioGroup: JsonSchema;
|
|
39
|
+
readonly slider: JsonSchema;
|
|
40
|
+
readonly rangeSlider: JsonSchema;
|
|
41
|
+
readonly fileUpload: JsonSchema;
|
|
42
|
+
readonly pinInput: JsonSchema;
|
|
43
|
+
readonly avatar: JsonSchema;
|
|
44
|
+
readonly content: JsonSchema;
|
|
45
|
+
readonly panel: JsonSchema;
|
|
46
|
+
readonly appShell: JsonSchema;
|
|
47
|
+
readonly stickyBar: JsonSchema;
|
|
48
|
+
readonly bar: JsonSchema;
|
|
49
|
+
readonly nav: JsonSchema;
|
|
50
|
+
readonly appNav: JsonSchema;
|
|
51
|
+
readonly prompt: JsonSchema;
|
|
52
|
+
readonly statusBanner: JsonSchema;
|
|
53
|
+
readonly separator: JsonSchema;
|
|
54
|
+
readonly composer: JsonSchema;
|
|
55
|
+
readonly thread: JsonSchema;
|
|
56
|
+
readonly identity: JsonSchema;
|
|
57
|
+
readonly profileHeader: JsonSchema;
|
|
58
|
+
readonly metricStrip: JsonSchema;
|
|
59
|
+
readonly listRow: JsonSchema;
|
|
60
|
+
readonly entry: JsonSchema;
|
|
61
|
+
readonly conversation: JsonSchema;
|
|
38
62
|
};
|
|
39
63
|
type ComponentSchemaId = keyof typeof componentSchemas;
|
|
40
64
|
declare const catalog: {
|
|
@@ -63,6 +87,30 @@ declare const catalog: {
|
|
|
63
87
|
readonly toast: JsonSchema;
|
|
64
88
|
readonly scroll: JsonSchema;
|
|
65
89
|
readonly progress: JsonSchema;
|
|
90
|
+
readonly radioGroup: JsonSchema;
|
|
91
|
+
readonly slider: JsonSchema;
|
|
92
|
+
readonly rangeSlider: JsonSchema;
|
|
93
|
+
readonly fileUpload: JsonSchema;
|
|
94
|
+
readonly pinInput: JsonSchema;
|
|
95
|
+
readonly avatar: JsonSchema;
|
|
96
|
+
readonly content: JsonSchema;
|
|
97
|
+
readonly panel: JsonSchema;
|
|
98
|
+
readonly appShell: JsonSchema;
|
|
99
|
+
readonly stickyBar: JsonSchema;
|
|
100
|
+
readonly bar: JsonSchema;
|
|
101
|
+
readonly nav: JsonSchema;
|
|
102
|
+
readonly appNav: JsonSchema;
|
|
103
|
+
readonly prompt: JsonSchema;
|
|
104
|
+
readonly statusBanner: JsonSchema;
|
|
105
|
+
readonly separator: JsonSchema;
|
|
106
|
+
readonly composer: JsonSchema;
|
|
107
|
+
readonly thread: JsonSchema;
|
|
108
|
+
readonly identity: JsonSchema;
|
|
109
|
+
readonly profileHeader: JsonSchema;
|
|
110
|
+
readonly metricStrip: JsonSchema;
|
|
111
|
+
readonly listRow: JsonSchema;
|
|
112
|
+
readonly entry: JsonSchema;
|
|
113
|
+
readonly conversation: JsonSchema;
|
|
66
114
|
};
|
|
67
115
|
};
|
|
68
116
|
|
|
@@ -70,14 +118,18 @@ declare const catalog: {
|
|
|
70
118
|
* Statecharts packaged as system-prompt fragments for AI coding agents.
|
|
71
119
|
* Embed before code generation so agents cannot invent impossible UI states.
|
|
72
120
|
*/
|
|
73
|
-
declare const AEON_SYSTEM_PROMPT = "# Aeon UI \u2014 agent system prompt\n\nYou are building UI with **Aeon UI**, a React component library powered by finite statecharts.\n\n## Order of work (mandatory)\n1. **Build the state machines first** \u2014 name every lifecycle the UX needs (states + events). Prefer machines from `@aeon-ui/primitives` (or documented prop projections such as Button `status`).\n2. **Then project UI from those machines** \u2014 compound parts, copy, and layout exist only to reflect the chart. Never invent UI for states that are not in a machine.\n3. **UI = f(state)** \u2014 the DOM exposes `data-aeon-scope`, `data-aeon-part`, `data-aeon-state`. Style targets those attributes. Do not drive the same concern with parallel React `useState` flags.\n\n## Non-negotiable rules\n1. Do not duplicate open/checked/lifecycle in `useState` when a machine exists in `@aeon-ui/primitives`.\n2. **Button `status` is a prop** (`idle|pending|success|failure|disabled`). Optional: drive it from `buttonLifecycleMachine` via `useAeonMachine` in app code.\n3. **Select / Menu / Popover** share `popoverMachine` \u2014 never fork another open/closed chart.\n4. **
|
|
121
|
+
declare const AEON_SYSTEM_PROMPT = "# Aeon UI \u2014 agent system prompt\n\nYou are building UI with **Aeon UI**, a React component library powered by finite statecharts.\n\n## Order of work (mandatory)\n1. **Build the state machines first** \u2014 name every lifecycle the UX needs (states + events). Prefer machines from `@aeon-ui/primitives` (or documented prop projections such as Button `status`).\n2. **Then project UI from those machines** \u2014 compound parts, copy, and layout exist only to reflect the chart. Never invent UI for states that are not in a machine.\n3. **UI = f(state)** \u2014 the DOM exposes `data-aeon-scope`, `data-aeon-part`, `data-aeon-state`. Style targets those attributes. Do not drive the same concern with parallel React `useState` flags.\n\n## Non-negotiable rules\n1. Do not duplicate open/checked/lifecycle in `useState` when a machine exists in `@aeon-ui/primitives`.\n2. **Button `status` is a prop** (`idle|pending|success|failure|disabled`). Optional: drive it from `buttonLifecycleMachine` via `useAeonMachine` in app code.\n3. **Select / Menu / Popover / Combobox / Tooltip** share `popoverMachine` for open/closed \u2014 never fork another open/closed chart. Combobox keeps query/highlight in React; Tooltip keeps openDelay/closeDelay/touchDuration in React.\n4. **PinInput** digit buffer is React-local today \u2014 do not invent a pin machine without the component checklist.\n5. **Scroll** uses `getScrollSnapshot()` \u2014 no XState machine.\n6. If a machine lists N stable states, the UI must represent all N (totality).\n7. Prefer `@aeon-ui/react` (headless) or `@aeon-ui/ui` (styled). Relative TS imports use `.js` extensions inside the Aeon monorepo only.\n8. Primitives stay **universal** \u2014 never invent niche components (dating, colour-blind test, pong). Compose from generic parts.\n\n## DOM contract\nEvery interactive surface sets anatomy via `partAttrs` from `@aeon-ui/core`:\n- `data-aeon-scope` \u2014 family (`button`, `async`, `field`, \u2026)\n- `data-aeon-part` \u2014 anatomy key (`root`, `trigger`, \u2026)\n- `data-aeon-state` \u2014 allowed snapshot / prop state only\n\n## Before writing JSX\n1. Enumerate machines (or documented status props) for the flow \u2014 states and events.\n2. Read the component JSON Schema from `@aeon-ui/schemas` (or pasted catalog) and match parts to those charts.\n3. Compose with documented compound parts (`Dialog.Root`, `Field.Control`, \u2026).\n4. Wire events to machine events or documented props \u2014 never invent `isLoading && !isError && hasData` spaghetti when a named state exists.\n";
|
|
74
122
|
declare const STATECHART_PROMPTS: {
|
|
75
123
|
readonly async: "## Async region statechart\nStates: idle → loading → (success | empty | failure); REFRESH from success/empty/failure; STALE flag while success.\nEvents: FETCH, RESOLVE{data}, REJECT{error}, RESET, STALE, REFRESH.\nRule: Render track segments for idle, loading, success, empty, failure. Never hide empty/failure behind a generic spinner.";
|
|
76
124
|
readonly field: "## Field parallel statechart\nRegions:\n- interaction: pristine | dirty\n- validation: valid | invalid\n- submission: idle | pending\nEvents: INPUT, BLUR, VALIDATE{valid}, SUBMIT, SUBMIT_DONE, SUBMIT_FAIL, RESET.\nRule: Do not collapse validation + submission into one `error` boolean. Message UI follows validation region; pending follows submission.";
|
|
77
125
|
readonly button: "## Button lifecycle\nPreferred headless API: `status` prop ∈ idle | pending | success | failure | disabled.\nOptional machine: buttonLifecycleMachine with PRESS / RESOLVE / REJECT / RESET.\nRule: Pending must set aria-busy. Do not use disabled alone to mean \"saving\".";
|
|
78
126
|
readonly dialog: "## Dialog statechart\nStates: open | closed. Events: OPEN, CLOSE, TOGGLE.\nRule: Backdrop click and Escape are CLOSE transitions. Title/Description are required for a11y when open.";
|
|
79
|
-
readonly popoverFamily: "## Popover family (Popover, Menu, Select open state)\nMachine: popoverMachine — states open | closed.\nRule: Reuse this chart. Never create selectOpenMachine / menuOpenMachine forks.";
|
|
127
|
+
readonly popoverFamily: "## Popover family (Popover, Menu, Select, Combobox, Tooltip open state)\nMachine: popoverMachine — states open | closed.\nRule: Reuse this chart. Never create selectOpenMachine / menuOpenMachine / comboboxOpenMachine / tooltipOpenMachine forks.\nCombobox: query + highlight stay React-local; open/closed must still be popoverMachine.\nTooltip: openDelay / closeDelay / touchDuration stay React-local; open/closed must still be popoverMachine.";
|
|
80
128
|
readonly toggle: "## Switch / Checkbox\nMachine: toggleMachine — checked | unchecked. Events: TOGGLE, CHECK, UNCHECK.\nRule: Hidden input stays in sync with snapshot for forms.";
|
|
129
|
+
readonly slider: "## Slider statechart\nMachine: sliderMachine — idle | dragging; value/min/max/step in context.\nEvents: SET_VALUE, STEP, POINTER_DOWN, POINTER_UP, HOME, END.\nRule: Disabled blocks SET_VALUE / drag; project idle vs dragging on data-aeon-state.";
|
|
130
|
+
readonly contentRegion: "## Content region statechart\nMachine: contentRegionMachine — idle → pending → (empty | error | ready) → loadingMore | success.\nEvents: LOAD, RESOLVE, REJECT, RETRY, LOAD_MORE, MORE_DONE, SUCCEED, RESET.\nRule: Every stable state has a slot. Pair with Async for fetch; do not hide empty/error behind a spinner.";
|
|
131
|
+
readonly toast: "## Toast item statechart\nMachine: toastMachine — hidden | visible. Events: SHOW, HIDE, DISMISS.\nRule: Provider list orchestration may use React; each toast item uses the machine.";
|
|
132
|
+
readonly stickyBar: "## StickyBar statechart\nMachine: stickyBarMachine — floating | docked | collapsed | hidden.\nEvents: DOCK, FLOAT, COLLAPSE, EXPAND, HIDE, SHOW, SET_OFFSET.\nRule: DOM scope is bar (bar anatomy zones). Do not invent a parallel sticky useState.";
|
|
81
133
|
};
|
|
82
134
|
/** Checkout-form example used on the landing "AI playground" proof. */
|
|
83
135
|
declare const GENERATIVE_UI_EXAMPLE: {
|
|
@@ -247,6 +299,8 @@ type AgentEventBridge = ReturnType<typeof createAgentEventBridge>;
|
|
|
247
299
|
* Fetch at runtime: GET https://aeon-ui.com/registry/catalog.json
|
|
248
300
|
* Per component: GET https://aeon-ui.com/registry/components/{id}.json
|
|
249
301
|
* Machines: GET https://aeon-ui.com/registry/machines/{id}.json
|
|
302
|
+
*
|
|
303
|
+
* Components are derived from `componentSchemas` — do not hand-maintain a parallel list.
|
|
250
304
|
*/
|
|
251
305
|
type RegistryEntry = {
|
|
252
306
|
id: string;
|
|
@@ -259,29 +313,24 @@ type RegistryEntry = {
|
|
|
259
313
|
};
|
|
260
314
|
declare const REGISTRY_BASE: "https://aeon-ui.com/registry";
|
|
261
315
|
declare const registryCatalog: {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
316
|
+
$id: string;
|
|
317
|
+
version: string;
|
|
318
|
+
principle: string;
|
|
319
|
+
description: string;
|
|
320
|
+
endpoints: {
|
|
321
|
+
catalog: string;
|
|
322
|
+
component: string;
|
|
323
|
+
machine: string;
|
|
270
324
|
};
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
machineUrl: string;
|
|
277
|
-
runtime: string;
|
|
278
|
-
description: string;
|
|
279
|
-
}[];
|
|
280
|
-
readonly client: {
|
|
281
|
-
readonly fetchCatalog: "fetch('https://aeon-ui.com/registry/catalog.json').then(r => r.json())";
|
|
282
|
-
readonly fetchComponent: "id => fetch(`https://aeon-ui.com/registry/components/${id}.json`).then(r => r.json())";
|
|
283
|
-
readonly fetchMachine: "id => fetch(`https://aeon-ui.com/registry/machines/${id}.json`).then(r => r.json())";
|
|
325
|
+
components: RegistryEntry[];
|
|
326
|
+
client: {
|
|
327
|
+
fetchCatalog: string;
|
|
328
|
+
fetchComponent: string;
|
|
329
|
+
fetchMachine: string;
|
|
284
330
|
};
|
|
285
331
|
};
|
|
286
332
|
|
|
287
|
-
|
|
333
|
+
/** Map component schema `machine` export names → registry/machines/{id}.json ids. */
|
|
334
|
+
declare function machineRegistryId(machine: string | null | undefined): string | undefined;
|
|
335
|
+
|
|
336
|
+
export { AEON_SYSTEM_PROMPT, type AeonMachineSchema, type AeonSnapshotSchema, type AeonStateTreeNode, type AgentBridgeOptions, type AgentEventBridge, type AgentEventMap, type AgentStreamEvent, CURSOR_RULES_SNIPPET, type ComponentSchemaId, GENERATIVE_UI_EXAMPLE, type JsonSchema, REGISTRY_BASE, type RegistryEntry, STATECHART_PROMPTS, aeonInitialAgentContext, aeonSnapshotSchema, aeonToPrompt, aeonToSchema, catalog, componentSchema, componentSchemas, createAgentEventBridge, machineRegistryId, registryCatalog };
|