@agentic-ui-experience/ui-runtime 0.0.1-beta.2 → 0.0.1-beta.4
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 +37 -5
- package/dist/basic-catalog.js +1 -1
- package/dist/catalog.js +1 -1
- package/dist/component-validator.d.ts +1 -1
- package/dist/component-validator.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/runtime.d.ts +13 -1
- package/dist/runtime.js +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @agentic-ui-experience/ui-runtime
|
|
2
2
|
|
|
3
|
-
`@agentic-ui-experience/ui-runtime` is the runtime state layer for UI messages: it accepts the UI messages emitted by an agent, parses and validates components against the
|
|
3
|
+
`@agentic-ui-experience/ui-runtime` is the runtime state layer for UI messages: it accepts the UI messages emitted by an agent, parses and validates components against the catalog configured by the host, maintains subscribable UI state, and dispatches the actions the user triggers in the UI back to the host.
|
|
4
4
|
|
|
5
|
-
It does not build prompts
|
|
5
|
+
Here **Runtime** means the frontend layer that consumes UI messages and maintains Surface state. It does not build prompts or render components; React Host apps usually use the Renderer binding in `@agentic-ui-experience/ui-react` directly. See the [project glossary](../../docs/glossary.md) for the related definitions.
|
|
6
6
|
|
|
7
7
|
```text
|
|
8
8
|
Agent output
|
|
@@ -22,7 +22,7 @@ Create a runtime instance:
|
|
|
22
22
|
import { createUIRuntime } from "@agentic-ui-experience/ui-runtime";
|
|
23
23
|
|
|
24
24
|
const runtime = createUIRuntime({
|
|
25
|
-
|
|
25
|
+
catalog: appCatalog,
|
|
26
26
|
onAction: (action) => {
|
|
27
27
|
// Send the user action back to the agent or business logic.
|
|
28
28
|
},
|
|
@@ -32,7 +32,7 @@ const runtime = createUIRuntime({
|
|
|
32
32
|
});
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
`
|
|
35
|
+
`catalog` is required: the runtime uses it to recognize component names and to validate the props emitted by the agent against each component's own Zod schema. It is a single catalog, not a list — A2UI fixes a surface's catalog at `createSurface` time and never composes two catalogs into one component tree, so combine vocabularies with `defineCatalog({ extends })` instead. `normalizeMode` defaults to `"repair"`, which drops invalid components or messages and keeps as much valid content as possible; `"strict"` stops at the first error and exposes it through `onError` / `errors`.
|
|
36
36
|
|
|
37
37
|
### `ingest()`
|
|
38
38
|
|
|
@@ -44,6 +44,38 @@ runtime.ingest(modelOutput);
|
|
|
44
44
|
|
|
45
45
|
`modelOutput` can be a full assistant text response, a `<a2ui-json>` envelope, a UI message array, or an object containing `uiMessages` / `messages`. The runtime calls `normalizeUIResponse()` internally, so the host usually does not need to parse first.
|
|
46
46
|
|
|
47
|
+
### `ingestTransaction()`
|
|
48
|
+
|
|
49
|
+
Publish a prevalidated batch and synchronize host-owned state before subscribers
|
|
50
|
+
observe it:
|
|
51
|
+
|
|
52
|
+
```ts
|
|
53
|
+
const accepted = runtime.ingestTransaction(messages, () => {
|
|
54
|
+
commitHostState();
|
|
55
|
+
});
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The runtime applies the batch to an isolated copy of the current processor,
|
|
59
|
+
calls the optional commit synchronously, and adopts the candidate processor only
|
|
60
|
+
after that callback returns. Code inside the callback may call `getState()` to
|
|
61
|
+
validate the candidate, while subscribers continue to see the prior state until
|
|
62
|
+
the atomic adoption and single notification. If the callback throws,
|
|
63
|
+
`ingestTransaction()` returns `false` without publishing the candidate, changing
|
|
64
|
+
assistant text or errors, notifying subscribers, or reporting the callback as a
|
|
65
|
+
runtime UI error. Runtime mutations other than `getState()` and other read APIs
|
|
66
|
+
are not allowed from inside the callback.
|
|
67
|
+
|
|
68
|
+
A successful transaction adopts a new processor snapshot. Subscribers should
|
|
69
|
+
read `getState()` after the notification instead of retaining a previous
|
|
70
|
+
`SurfaceModel` reference and expecting that object to be mutated in place.
|
|
71
|
+
|
|
72
|
+
It also returns `false` and does not call the commit when the runtime is
|
|
73
|
+
disposed, the batch contains no UI messages, or normalization/processing rejects
|
|
74
|
+
the candidate. A normalization or processing rejection may still be reported in
|
|
75
|
+
`errors`, but partially processed candidate messages never mutate live surfaces.
|
|
76
|
+
Use this for host-generated data bindings that must become visible atomically
|
|
77
|
+
with a surface replacement; keep `ingest()` for ordinary one-shot model output.
|
|
78
|
+
|
|
47
79
|
### `ingestStreaming()` / `endStream()`
|
|
48
80
|
|
|
49
81
|
Process a streaming output:
|
|
@@ -133,7 +165,7 @@ The full loop is: the agent emits a button with an `action` in a UI message →
|
|
|
133
165
|
|
|
134
166
|
```ts
|
|
135
167
|
const runtime = createUIRuntime({
|
|
136
|
-
|
|
168
|
+
catalog,
|
|
137
169
|
onAction: (action) => {
|
|
138
170
|
action.name; // "submitForm"
|
|
139
171
|
action.context; // { source: "signup" }
|
package/dist/basic-catalog.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x2dd0(_0x3a98af,_0xf232b1){_0x3a98af=_0x3a98af-0x7b;var _0x1e3cf6=_0x1e3c();var _0x2dd0da=_0x1e3cf6[_0x3a98af];return _0x2dd0da;}function _0x1e3c(){var _0xe61d6=['4626780cwPzSc','902450UQVatn','41279oYqngs','52190FHyEtu','5734476EBYRGR','885306cWXTPt','14NLdIFS','2111752MroboP','8BAahce'];_0x1e3c=function(){return _0xe61d6;};return _0x1e3c();}(function(_0x23c4bd,_0xba4d61){var _0x4c12f0=_0x2dd0,_0x811363=_0x23c4bd();while(!![]){try{var _0x29c863=parseInt(_0x4c12f0(0x7e))/0x1*(-parseInt(_0x4c12f0(0x81))/0x2)+parseInt(_0x4c12f0(0x80))/0x3+parseInt(_0x4c12f0(0x82))/0x4+-parseInt(_0x4c12f0(0x7c))/0x5+parseInt(_0x4c12f0(0x7b))/0x6+parseInt(_0x4c12f0(0x7d))/0x7*(parseInt(_0x4c12f0(0x83))/0x8)+-parseInt(_0x4c12f0(0x7f))/0x9;if(_0x29c863===_0xba4d61)break;else _0x811363['push'](_0x811363['shift']());}catch(_0x3d9253){_0x811363['push'](_0x811363['shift']());}}}(_0x1e3c,0x65d3b));export*from'@a2ui/web_core/v0_9/basic_catalog';
|
package/dist/catalog.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x17ca(_0x411431,_0x200fa8){_0x411431=_0x411431-0xde;const _0x13b561=_0x13b5();let _0x17cacb=_0x13b561[_0x411431];return _0x17cacb;}(function(_0x3c830e,_0x23542c){const _0x3a438d=_0x17ca,_0x5d5a5b=_0x3c830e();while(!![]){try{const _0x27bd59=-parseInt(_0x3a438d(0xe4))/0x1+parseInt(_0x3a438d(0xe7))/0x2*(-parseInt(_0x3a438d(0xdf))/0x3)+-parseInt(_0x3a438d(0xe3))/0x4+-parseInt(_0x3a438d(0xe0))/0x5*(parseInt(_0x3a438d(0xea))/0x6)+parseInt(_0x3a438d(0xe1))/0x7+-parseInt(_0x3a438d(0xde))/0x8*(parseInt(_0x3a438d(0xe6))/0x9)+parseInt(_0x3a438d(0xe5))/0xa;if(_0x27bd59===_0x23542c)break;else _0x5d5a5b['push'](_0x5d5a5b['shift']());}catch(_0x8ef816){_0x5d5a5b['push'](_0x5d5a5b['shift']());}}}(_0x13b5,0x28507));import{Catalog}from'@a2ui/web_core/v0_9';function _0x13b5(){const _0x26a3a7=['49112xAESAR','6113730tBNSmU','90sGVxfF','62DGNmnb','values','functions','6OIGczR','components','51896PuQZjo','23739YsUmtK','1225220MMYhqQ','2009112miBFYp','extends','515732GsuXmt'];_0x13b5=function(){return _0x26a3a7;};return _0x13b5();}import{BASIC_COMPONENTS,BASIC_FUNCTIONS}from'@a2ui/web_core/v0_9/basic_catalog';import{A2UI_BASIC_CATALOG_ID}from'@agentic-ui-experience/ui-core';function defineCatalog(_0x46eccb){const _0x4374c1=_0x17ca,_0x370008=_0x46eccb[_0x4374c1(0xe2)]??basicCatalog,_0x4f1281=_0x46eccb[_0x4374c1(0xeb)]??[],_0x3ecbe2=_0x46eccb['functions']??[];return new Catalog(_0x46eccb['id'],[..._0x370008['components'][_0x4374c1(0xe8)](),..._0x4f1281],[..._0x370008[_0x4374c1(0xe9)]['values'](),..._0x3ecbe2],_0x370008['themeSchema']);}const basicCatalog=new Catalog(A2UI_BASIC_CATALOG_ID,BASIC_COMPONENTS,BASIC_FUNCTIONS);export{basicCatalog,defineCatalog};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Catalog, ComponentApi } from "@a2ui/web_core/v0_9";
|
|
2
2
|
import type { ComponentValidator } from "@agentic-ui-experience/ui-core";
|
|
3
|
-
export declare function createCatalogComponentValidator<TComp extends ComponentApi = ComponentApi>(
|
|
3
|
+
export declare function createCatalogComponentValidator<TComp extends ComponentApi = ComponentApi>(catalog: Catalog<TComp>): ComponentValidator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x382e(){const _0x21595b=['382435SnqBrv','2239400heUwkR','1423224rRaPLC','261yQsuiC','2302336mJxXfG','issues','1107460NSQMTF','2FjTLSf','54nimKLR','accessibility','success','unknown\x20component\x20\x22','32696wJpgxW','5520305oooyLf','components','path','message','safeParse'];_0x382e=function(){return _0x21595b;};return _0x382e();}(function(_0x9e75e3,_0x20b56d){const _0x5db89f=_0x5896,_0x3e2fa6=_0x9e75e3();while(!![]){try{const _0xe46225=-parseInt(_0x5db89f(0xa1))/0x1*(-parseInt(_0x5db89f(0xa6))/0x2)+-parseInt(_0x5db89f(0xae))/0x3+-parseInt(_0x5db89f(0xb0))/0x4+parseInt(_0x5db89f(0xac))/0x5*(-parseInt(_0x5db89f(0xa2))/0x6)+-parseInt(_0x5db89f(0xa7))/0x7+-parseInt(_0x5db89f(0xad))/0x8+parseInt(_0x5db89f(0xaf))/0x9*(parseInt(_0x5db89f(0xb2))/0xa);if(_0xe46225===_0x20b56d)break;else _0x3e2fa6['push'](_0x3e2fa6['shift']());}catch(_0x3d7cc4){_0x3e2fa6['push'](_0x3e2fa6['shift']());}}}(_0x382e,0x6aca7));function _0x5896(_0x26f685,_0x3c783e){_0x26f685=_0x26f685-0xa1;const _0x382ec8=_0x382e();let _0x58967c=_0x382ec8[_0x26f685];return _0x58967c;}function createCatalogComponentValidator(_0x2458c1){const _0x38c193=_0x5896,_0x195d90=new Map();for(const [_0x2d8e5d,_0x317e9f]of _0x2458c1[_0x38c193(0xa8)]){_0x195d90['set'](_0x2d8e5d,_0x317e9f['schema']);}return(_0x1ae736,_0x261b91)=>{const _0x31790e=_0x38c193,_0x49a10d=_0x195d90['get'](_0x1ae736);if(!_0x49a10d)return[_0x31790e(0xa5)+_0x1ae736+'\x22'];const _0x59637a={..._0x261b91};delete _0x59637a['id'],delete _0x59637a['component'],delete _0x59637a[_0x31790e(0xa3)],delete _0x59637a['weight'];const _0x5f5473=_0x49a10d[_0x31790e(0xab)](_0x59637a);if(_0x5f5473[_0x31790e(0xa4)])return[];return _0x5f5473['error'][_0x31790e(0xb1)]['map'](_0x32c652=>{const _0x9eaa11=_0x31790e,_0x5d603a=_0x32c652[_0x9eaa11(0xa9)]['join']('.');return _0x5d603a?_0x5d603a+':\x20'+_0x32c652['message']:_0x32c652[_0x9eaa11(0xaa)];});};}export{createCatalogComponentValidator};
|
package/dist/index.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export { createCatalogComponentValidator } from "./component-validator.js";
|
|
|
4
4
|
export { Catalog } from "@a2ui/web_core/v0_9";
|
|
5
5
|
export type { ComponentApi, FunctionImplementation } from "@a2ui/web_core/v0_9";
|
|
6
6
|
export { ActionSchema, CheckableSchema, CommonSchemas, DataBindingSchema, DynamicBooleanSchema, DynamicNumberSchema, DynamicStringListSchema, DynamicStringSchema, DynamicValueSchema, FunctionCallSchema } from "@a2ui/web_core/v0_9";
|
|
7
|
-
export { z } from "zod";
|
|
7
|
+
export { z } from "zod/v3";
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1eeb5e,_0x2b0403){var _0x2cfefd=_0x3320,_0x95b23f=_0x1eeb5e();while(!![]){try{var _0x1a90e7=-parseInt(_0x2cfefd(0xe0))/0x1+parseInt(_0x2cfefd(0xe4))/0x2+parseInt(_0x2cfefd(0xdf))/0x3+parseInt(_0x2cfefd(0xe5))/0x4*(parseInt(_0x2cfefd(0xe7))/0x5)+-parseInt(_0x2cfefd(0xe2))/0x6+parseInt(_0x2cfefd(0xe1))/0x7+-parseInt(_0x2cfefd(0xe6))/0x8*(-parseInt(_0x2cfefd(0xe3))/0x9);if(_0x1a90e7===_0x2b0403)break;else _0x95b23f['push'](_0x95b23f['shift']());}catch(_0x3a3d6a){_0x95b23f['push'](_0x95b23f['shift']());}}}(_0x28ef,0xe7655));import{basicCatalog,defineCatalog}from'./catalog.js';import{createUIRuntime}from'./runtime.js';import{createCatalogComponentValidator}from'./component-validator.js';import{ActionSchema,Catalog,CheckableSchema,CommonSchemas,DataBindingSchema,DynamicBooleanSchema,DynamicNumberSchema,DynamicStringListSchema,DynamicStringSchema,DynamicValueSchema,FunctionCallSchema}from'@a2ui/web_core/v0_9';function _0x3320(_0xc037d6,_0x4bba7a){_0xc037d6=_0xc037d6-0xdf;var _0x28ef1f=_0x28ef();var _0x33206d=_0x28ef1f[_0xc037d6];return _0x33206d;}import{z}from'zod/v3';function _0x28ef(){var _0x3e36a1=['1949478VHXUfL','1793509adQWbb','6181147wsxrZR','6531702bBkjYO','225bPZwbG','312354fMrwDK','60988JuxEEm','236216ZFdfJf','460xjhzdv'];_0x28ef=function(){return _0x3e36a1;};return _0x28ef();}export{ActionSchema,Catalog,CheckableSchema,CommonSchemas,DataBindingSchema,DynamicBooleanSchema,DynamicNumberSchema,DynamicStringListSchema,DynamicStringSchema,DynamicValueSchema,FunctionCallSchema,basicCatalog,createCatalogComponentValidator,createUIRuntime,defineCatalog,z};
|
package/dist/runtime.d.ts
CHANGED
|
@@ -10,7 +10,13 @@ export type UIRuntimeError = {
|
|
|
10
10
|
message: string;
|
|
11
11
|
};
|
|
12
12
|
export interface UIRuntimeOptions<TComp extends ComponentApi = ComponentApi> {
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* The single catalog this runtime renders. A2UI fixes a surface's catalog at
|
|
15
|
+
* `createSurface` time and never composes two catalogs into one component
|
|
16
|
+
* tree, so a runtime that renders more than one vocabulary has no way to
|
|
17
|
+
* express that; combine catalogs at definition time with `defineCatalog`.
|
|
18
|
+
*/
|
|
19
|
+
catalog: UIRuntimeCatalog<TComp>;
|
|
14
20
|
normalizeMode?: NormalizeUIResponseOptions["mode"];
|
|
15
21
|
onAction?: (action: UIAction) => void;
|
|
16
22
|
onError?: (error: UIRuntimeError) => void;
|
|
@@ -46,6 +52,12 @@ export interface UIRuntimeState<TComp extends ComponentApi = ComponentApi> {
|
|
|
46
52
|
*/
|
|
47
53
|
export interface UIRuntime<TComp extends ComponentApi = ComponentApi> {
|
|
48
54
|
ingest(payload: unknown): void;
|
|
55
|
+
/**
|
|
56
|
+
* Processes one prevalidated host transaction and invokes `commit` after all
|
|
57
|
+
* messages are accepted but before subscribers observe the new snapshot.
|
|
58
|
+
* Returns false without invoking `commit` when disposed, empty, or rejected.
|
|
59
|
+
*/
|
|
60
|
+
ingestTransaction(payload: unknown, commit?: () => void): boolean;
|
|
49
61
|
ingestStreaming(accumulatedText: string): void;
|
|
50
62
|
endStream(): void;
|
|
51
63
|
reset(): void;
|
package/dist/runtime.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x751d4,_0x43394f){const _0x48ebf7=_0x411a,_0xad1445=_0x751d4();while(!![]){try{const _0x1595b8=parseInt(_0x48ebf7(0xf6))/0x1*(-parseInt(_0x48ebf7(0xe1))/0x2)+-parseInt(_0x48ebf7(0xe8))/0x3*(parseInt(_0x48ebf7(0xf2))/0x4)+parseInt(_0x48ebf7(0x101))/0x5+-parseInt(_0x48ebf7(0xf1))/0x6*(parseInt(_0x48ebf7(0xf7))/0x7)+-parseInt(_0x48ebf7(0xea))/0x8*(parseInt(_0x48ebf7(0xfd))/0x9)+parseInt(_0x48ebf7(0xec))/0xa+parseInt(_0x48ebf7(0x100))/0xb*(parseInt(_0x48ebf7(0xf9))/0xc);if(_0x1595b8===_0x43394f)break;else _0xad1445['push'](_0xad1445['shift']());}catch(_0x1d4d5b){_0xad1445['push'](_0xad1445['shift']());}}}(_0x1252,0x67ce8));import{MessageProcessor}from'@a2ui/web_core/v0_9';import{splitUIEnvelope,normalizeUIResponse,toSDKCompatibleA2UIMessage}from'@agentic-ui-experience/ui-core';function _0x411a(_0x5ecaea,_0x4b244d){_0x5ecaea=_0x5ecaea-0xde;const _0x1252ba=_0x1252();let _0x411ab9=_0x1252ba[_0x5ecaea];return _0x411ab9;}import{createCatalogComponentValidator}from'./component-validator.js';function scanNextTopLevelObject(_0x53541d,_0x5235d3){const _0x244707=_0x411a;let _0x339e17=_0x5235d3;while(_0x339e17<_0x53541d[_0x244707(0xef)]&&/\s/['test'](_0x53541d[_0x339e17]))_0x339e17++;while(_0x339e17<_0x53541d[_0x244707(0xef)]&&(_0x53541d[_0x339e17]==='['||_0x53541d[_0x339e17]===',')){_0x339e17++;while(_0x339e17<_0x53541d[_0x244707(0xef)]&&/\s/[_0x244707(0xe2)](_0x53541d[_0x339e17]))_0x339e17++;}if(_0x339e17>=_0x53541d[_0x244707(0xef)]||_0x53541d[_0x339e17]!=='{')return null;let _0x54c1d2=0x0,_0x25604d=![],_0xb5cd50=![];const _0x2931f3=_0x339e17;for(;_0x339e17<_0x53541d['length'];_0x339e17++){const _0x5ee262=_0x53541d[_0x339e17];if(_0x25604d){if(_0xb5cd50){_0xb5cd50=![];continue;}if(_0x5ee262==='\x5c'){_0xb5cd50=!![];continue;}_0x5ee262==='\x22'&&(_0x25604d=![]);continue;}if(_0x5ee262==='\x22'){_0x25604d=!![];continue;}if(_0x5ee262==='{')_0x54c1d2++;else{if(_0x5ee262==='}'){_0x54c1d2--;if(_0x54c1d2===0x0)return{'obj':_0x53541d['slice'](_0x2931f3,_0x339e17+0x1),'nextIdx':_0x339e17+0x1};}}}return null;}function _0x1252(){const _0x16a76e=['model','parse','surfacesMap','onError','30qLGOkX','test','a2uiInner','obj','startsWith','onSurfaceCreated','onAction','2299359GdcSnX','repair','8sddzgu','getClientDataModel','4185650qFaZov','delete','visibleText','length','normalizeMode','38652UKFPqp','4CBwXxN','uiMessages','message','unsubscribe','54362hCqMya','140bHsmxJ','map','14507196ySTVQk','closed','from','clear','2195325VsNgpo','assistantText','push','11rKXCMH','3761710aCbnKa','getClientCapabilities'];_0x1252=function(){return _0x16a76e;};return _0x1252();}function createUIRuntime(_0x3f2764){const _0x2704f6=_0x411a,_0x2e29c3=_0x3f2764['catalogs'],_0x421b1a=_0x3f2764[_0x2704f6(0xf0)]??_0x2704f6(0xe9),_0x362eac=createCatalogComponentValidator(_0x2e29c3),_0x417aa6=new Set();let _0x44d8d1;const _0x53075a=[],_0x1122b3=new Map();let _0x2a407d=![],_0x50cc13='',_0x3a1c3a=0x0,_0x2c384d=0x0,_0x438b58=![];const _0x348584=()=>{_0x50cc13='',_0x3a1c3a=0x0,_0x2c384d=0x0,_0x438b58=![];},_0x9ddb7a=new MessageProcessor(_0x2e29c3,_0x2852e2=>{const _0x520b97=_0x2704f6;_0x3f2764[_0x520b97(0xe7)]?.(_0x2852e2);});let _0x438d73=null;const _0x2fae1e=()=>{_0x438d73=null;for(const _0x94f7d5 of _0x417aa6)_0x94f7d5();},_0x951b07=_0x3df34c=>{const _0x42b875=_0x2704f6;_0x53075a[_0x42b875(0xff)](_0x3df34c),_0x3f2764[_0x42b875(0xe0)]?.(_0x3df34c);},_0x3808f4=_0x9ddb7a[_0x2704f6(0xe6)](_0x183f8c=>{const _0x151134=_0x2704f6,_0x5a1cec=_0x183f8c[_0x151134(0xe0)]['subscribe'](_0x1f16fd=>{const _0x1a030f=_0x151134,_0x458a86=_0x1f16fd??{};_0x951b07({'surfaceId':_0x183f8c['id'],..._0x458a86['code']!==void 0x0?{'code':_0x458a86['code']}:{},'message':_0x458a86[_0x1a030f(0xf4)]??'A2UI\x20surface\x20error'}),_0x2fae1e();});_0x1122b3['set'](_0x183f8c['id'],_0x5a1cec),_0x2fae1e();}),_0x59e10a=_0x9ddb7a['onSurfaceDeleted'](_0xd1327d=>{const _0x32a1d9=_0x2704f6;_0x1122b3['get'](_0xd1327d)?.[_0x32a1d9(0xf5)](),_0x1122b3['delete'](_0xd1327d),_0x2fae1e();}),_0x139f22=()=>{const _0x3ff18c=_0x2704f6;if(_0x438d73!==null)return _0x438d73;const _0x44b0c8=Array[_0x3ff18c(0xfb)](_0x9ddb7a[_0x3ff18c(0x103)][_0x3ff18c(0xdf)]['values']());return _0x438d73=_0x44d8d1===void 0x0?{'surfaces':_0x44b0c8,'errors':[..._0x53075a]}:{'surfaces':_0x44b0c8,'assistantText':_0x44d8d1,'errors':[..._0x53075a]},_0x438d73;},_0x196673=_0x3c513b=>{const _0x5e8292=_0x2704f6;if(_0x2a407d)return;let _0x10358c=![];try{const _0x36461d=normalizeUIResponse(_0x3c513b,{'mode':_0x421b1a,'validateComponent':_0x362eac});_0x36461d[_0x5e8292(0xfe)]!==void 0x0&&(_0x44d8d1=_0x36461d['assistantText'],_0x10358c=!![]);if(_0x36461d[_0x5e8292(0xf3)][_0x5e8292(0xef)]>0x0){const _0x47b1b1=_0x36461d['uiMessages']['map'](toSDKCompatibleA2UIMessage);_0x9ddb7a['processMessages'](_0x47b1b1),_0x10358c=!![];}}catch(_0x59fe4f){_0x951b07({'message':_0x59fe4f instanceof Error?_0x59fe4f[_0x5e8292(0xf4)]:String(_0x59fe4f)}),_0x10358c=!![];}if(_0x10358c)_0x2fae1e();},_0x356c0b=_0x43f4b4=>{const _0x38c394=_0x2704f6;if(_0x2a407d)return;!_0x43f4b4[_0x38c394(0xe5)](_0x50cc13)&&_0x348584();let _0x495952=![];const _0x407439=splitUIEnvelope(_0x43f4b4);_0x44d8d1!==_0x407439[_0x38c394(0xee)]&&(_0x44d8d1=_0x407439[_0x38c394(0xee)],_0x495952=!![]);if(_0x407439[_0x38c394(0xe3)]!==null&&!_0x438b58)while(!![]){const _0x4133d8=scanNextTopLevelObject(_0x407439['a2uiInner'],_0x3a1c3a);if(!_0x4133d8)break;try{const _0x5aacad=JSON[_0x38c394(0xde)](_0x4133d8[_0x38c394(0xe4)]),_0x49ab10=toSDKCompatibleA2UIMessage(_0x5aacad);_0x9ddb7a['processMessages']([_0x49ab10]),_0x2c384d++,_0x495952=!![];}catch{_0x438b58=!![];break;}_0x3a1c3a=_0x4133d8['nextIdx'];}_0x50cc13=_0x43f4b4;if(_0x495952)_0x2fae1e();},_0x1d1c26=()=>{const _0x1cd0cc=_0x2704f6;if(_0x2a407d)return;const _0x3ef6c2=_0x50cc13;if(_0x3ef6c2['length']===0x0&&!_0x438b58)return;const _0x2e746a=splitUIEnvelope(_0x3ef6c2);let _0x3a9fd8=![];_0x44d8d1!==_0x2e746a['visibleText']&&(_0x44d8d1=_0x2e746a[_0x1cd0cc(0xee)],_0x3a9fd8=!![]);const _0x4ac76b=_0x438b58||!_0x2e746a[_0x1cd0cc(0xfa)];if(_0x4ac76b&&_0x3ef6c2['length']>0x0)try{const _0x1ffee0=normalizeUIResponse(_0x3ef6c2,{'mode':_0x421b1a,'validateComponent':_0x362eac}),_0x2796c3=_0x1ffee0['uiMessages']['slice'](_0x2c384d);if(_0x2796c3[_0x1cd0cc(0xef)]>0x0){const _0x251fd8=_0x2796c3[_0x1cd0cc(0xf8)](toSDKCompatibleA2UIMessage);_0x9ddb7a['processMessages'](_0x251fd8),_0x2c384d+=_0x2796c3[_0x1cd0cc(0xef)],_0x3a9fd8=!![];}}catch(_0x113778){_0x951b07({'message':_0x113778 instanceof Error?_0x113778['message']:String(_0x113778)}),_0x3a9fd8=!![];}_0x348584();if(_0x3a9fd8)_0x2fae1e();},_0x453928=()=>{if(_0x2a407d)return;const _0x4e0012=Array['from'](_0x9ddb7a['model']['surfacesMap']['keys']());for(const _0x5e7e77 of _0x4e0012){_0x9ddb7a['model']['deleteSurface'](_0x5e7e77);}_0x44d8d1=void 0x0,_0x53075a['length']=0x0,_0x348584(),_0x2fae1e();},_0x399671=()=>{const _0x54b74f=_0x2704f6;if(_0x2a407d)return;_0x2a407d=!![],_0x3808f4['unsubscribe'](),_0x59e10a[_0x54b74f(0xf5)]();for(const _0x25aae6 of _0x1122b3['values']())_0x25aae6[_0x54b74f(0xf5)]();_0x1122b3[_0x54b74f(0xfc)](),_0x9ddb7a['model']['dispose'](),_0x417aa6['clear']();},_0x342406=_0x21379d=>{if(_0x2a407d)return()=>{};return _0x417aa6['add'](_0x21379d),()=>{const _0x352eb8=_0x411a;_0x417aa6[_0x352eb8(0xed)](_0x21379d);};},_0x48fe54=()=>{if(_0x2a407d)return;if(_0x53075a['length']===0x0)return;_0x53075a['length']=0x0,_0x2fae1e();};return{'ingest':_0x196673,'ingestStreaming':_0x356c0b,'endStream':_0x1d1c26,'reset':_0x453928,'clearErrors':_0x48fe54,'dispose':_0x399671,'getState':_0x139f22,'subscribe':_0x342406,'getClientCapabilities':_0x44b543=>_0x9ddb7a[_0x2704f6(0x102)](_0x44b543),'getClientDataModel':()=>_0x9ddb7a[_0x2704f6(0xeb)]()};}export{createUIRuntime};
|
|
1
|
+
function _0x5bbe(){const _0x343fd8=['obj','318992rhXLmA','UI\x20runtime\x20mutations\x20are\x20not\x20allowed\x20inside\x20a\x20transaction\x20commit\x20callback.','clear','visibleText','deleteSurface','code','dispose','onSurfaceDeleted','processMessages','onSurfaceCreated','22PTxkHP','130PFSLvc','dataModel','add','length','assistantText','3205404Ejjyvi','delete','nextIdx','getClientDataModel','catalog','a2uiInner','model','properties','133OzEXAF','values','surfacesMap','entries','slice','72244IzhKaJ','test','13107186NWODIE','773795RxocQr','subscribe','165CetYDA','message','3010630KGyFrU','keys','startsWith','uiMessages','componentsModel','repair','v0.9','unsubscribe','19583FHgXcg','54KlOZoc','map'];_0x5bbe=function(){return _0x343fd8;};return _0x5bbe();}(function(_0x59d65f,_0x58b0b8){const _0x195f5b=_0x2056,_0x12538b=_0x59d65f();while(!![]){try{const _0xe773c2=parseInt(_0x195f5b(0x1f7))/0x1*(parseInt(_0x195f5b(0x206))/0x2)+-parseInt(_0x195f5b(0x1ed))/0x3*(-parseInt(_0x195f5b(0x1e8))/0x4)+parseInt(_0x195f5b(0x1eb))/0x5*(-parseInt(_0x195f5b(0x1f8))/0x6)+-parseInt(_0x195f5b(0x1e3))/0x7*(parseInt(_0x195f5b(0x1fb))/0x8)+parseInt(_0x195f5b(0x1ea))/0x9+-parseInt(_0x195f5b(0x1ef))/0xa+-parseInt(_0x195f5b(0x205))/0xb*(parseInt(_0x195f5b(0x20b))/0xc);if(_0xe773c2===_0x58b0b8)break;else _0x12538b['push'](_0x12538b['shift']());}catch(_0x543ac8){_0x12538b['push'](_0x12538b['shift']());}}}(_0x5bbe,0xb3e66));import{MessageProcessor}from'@a2ui/web_core/v0_9';function _0x2056(_0x52677d,_0x537eb7){_0x52677d=_0x52677d-0x1e1;const _0x5bbee6=_0x5bbe();let _0x20563b=_0x5bbee6[_0x52677d];return _0x20563b;}import{splitUIEnvelope,normalizeUIResponse,toSDKCompatibleA2UIMessage}from'@agentic-ui-experience/ui-core';import{createCatalogComponentValidator}from'./component-validator.js';function scanNextTopLevelObject(_0x35d3c3,_0x1bba4c){const _0x5d1f95=_0x2056;let _0x40e0f0=_0x1bba4c;while(_0x40e0f0<_0x35d3c3[_0x5d1f95(0x209)]&&/\s/[_0x5d1f95(0x1e9)](_0x35d3c3[_0x40e0f0]))_0x40e0f0++;while(_0x40e0f0<_0x35d3c3[_0x5d1f95(0x209)]&&(_0x35d3c3[_0x40e0f0]==='['||_0x35d3c3[_0x40e0f0]===',')){_0x40e0f0++;while(_0x40e0f0<_0x35d3c3[_0x5d1f95(0x209)]&&/\s/['test'](_0x35d3c3[_0x40e0f0]))_0x40e0f0++;}if(_0x40e0f0>=_0x35d3c3['length']||_0x35d3c3[_0x40e0f0]!=='{')return null;let _0x2c1884=0x0,_0x57c15f=![],_0x1d312e=![];const _0x40e35d=_0x40e0f0;for(;_0x40e0f0<_0x35d3c3['length'];_0x40e0f0++){const _0x188afb=_0x35d3c3[_0x40e0f0];if(_0x57c15f){if(_0x1d312e){_0x1d312e=![];continue;}if(_0x188afb==='\x5c'){_0x1d312e=!![];continue;}_0x188afb==='\x22'&&(_0x57c15f=![]);continue;}if(_0x188afb==='\x22'){_0x57c15f=!![];continue;}if(_0x188afb==='{')_0x2c1884++;else{if(_0x188afb==='}'){_0x2c1884--;if(_0x2c1884===0x0)return{'obj':_0x35d3c3['slice'](_0x40e35d,_0x40e0f0+0x1),'nextIdx':_0x40e0f0+0x1};}}}return null;}function createUIRuntime(_0xa1c68d){const _0x32243d=_0x2056,_0x47faae=_0xa1c68d['catalog'],_0x5d129d=_0xa1c68d['normalizeMode']??_0x32243d(0x1f4),_0x513541=createCatalogComponentValidator(_0x47faae),_0x304d02=new Set();let _0x1a743f;const _0x53a4f2=[],_0x4da545=new Map();let _0xcc6a92=![],_0x3b74f2='',_0x1bed05=0x0,_0x53903d=0x0,_0x335b37=![];const _0x545125=()=>{_0x3b74f2='',_0x1bed05=0x0,_0x53903d=0x0,_0x335b37=![];},_0x20ba3e=()=>new MessageProcessor([_0x47faae],_0x30a554=>{_0xa1c68d['onAction']?.(_0x30a554);});let _0xe27946=_0x20ba3e(),_0x4ef4c6=null,_0x4596ec=![];const _0xd19272=()=>{_0x4ef4c6=null;for(const _0x11612c of _0x304d02)_0x11612c();},_0x452095=_0xd9ce90=>{_0x53a4f2['push'](_0xd9ce90),_0xa1c68d['onError']?.(_0xd9ce90);},_0x380a5e=_0x39f84d=>{const _0x5cf8be=_0x32243d;_0x4da545['get'](_0x39f84d['id'])?.['unsubscribe']();const _0x2509c2=_0x39f84d['onError'][_0x5cf8be(0x1ec)](_0x486c1b=>{const _0x668c89=_0x5cf8be,_0x329816=_0x486c1b??{};_0x452095({'surfaceId':_0x39f84d['id'],..._0x329816[_0x668c89(0x200)]!==void 0x0?{'code':_0x329816['code']}:{},'message':_0x329816[_0x668c89(0x1ee)]??'A2UI\x20surface\x20error'}),_0xd19272();});_0x4da545['set'](_0x39f84d['id'],_0x2509c2);};let _0x118b1f,_0xc1cb3a;const _0x3a6547=_0x3aa493=>{const _0x34fbf8=_0x32243d;_0x118b1f=_0x3aa493[_0x34fbf8(0x204)](_0x383757=>{_0x380a5e(_0x383757),_0xd19272();}),_0xc1cb3a=_0x3aa493[_0x34fbf8(0x202)](_0x103df3=>{_0x4da545['get'](_0x103df3)?.['unsubscribe'](),_0x4da545['delete'](_0x103df3),_0xd19272();});for(const _0x417914 of _0x3aa493[_0x34fbf8(0x1e1)][_0x34fbf8(0x1e5)][_0x34fbf8(0x1e4)]()){_0x380a5e(_0x417914);}},_0x2228b8=()=>{const _0x4e04d1=_0x32243d;_0x118b1f['unsubscribe'](),_0xc1cb3a[_0x4e04d1(0x1f6)]();for(const _0x1a0ca8 of _0x4da545[_0x4e04d1(0x1e4)]())_0x1a0ca8[_0x4e04d1(0x1f6)]();_0x4da545[_0x4e04d1(0x1fd)]();};_0x3a6547(_0xe27946);const _0x3abf6a=_0x400331=>Array['from'](_0x400331['model']['surfacesMap'][_0x32243d(0x1e4)]())['flatMap'](_0x3a51d5=>{const _0x3b43cb=_0x32243d,_0x2f5c97=[..._0x3a51d5[_0x3b43cb(0x1f3)][_0x3b43cb(0x1e6)]][_0x3b43cb(0x1f9)](([_0x60e003,_0x5e8175])=>({'id':_0x60e003,'component':_0x5e8175['type'],...structuredClone(_0x5e8175[_0x3b43cb(0x1e2)])})),_0xe847a9=_0x3a51d5[_0x3b43cb(0x207)]['get']('/');return[{'version':'v0.9','createSurface':{'surfaceId':_0x3a51d5['id'],'catalogId':_0x3a51d5[_0x3b43cb(0x20f)]['id'],'theme':structuredClone(_0x3a51d5['theme']),'sendDataModel':_0x3a51d5['sendDataModel']}},..._0x2f5c97[_0x3b43cb(0x209)]>0x0?[{'version':_0x3b43cb(0x1f5),'updateComponents':{'surfaceId':_0x3a51d5['id'],'components':_0x2f5c97}}]:[],..._0xe847a9===void 0x0?[]:[{'version':_0x3b43cb(0x1f5),'updateDataModel':{'surfaceId':_0x3a51d5['id'],'path':'/','value':structuredClone(_0xe847a9)}}]];}),_0x46bfe8=()=>{const _0x40369=_0x32243d;if(_0x4596ec)throw new Error(_0x40369(0x1fc));},_0x246a5c=()=>{const _0x1f64ef=_0x32243d;if(_0x4ef4c6!==null)return _0x4ef4c6;const _0x2d8680=Array['from'](_0xe27946['model'][_0x1f64ef(0x1e5)]['values']());return _0x4ef4c6=_0x1a743f===void 0x0?{'surfaces':_0x2d8680,'errors':[..._0x53a4f2]}:{'surfaces':_0x2d8680,'assistantText':_0x1a743f,'errors':[..._0x53a4f2]},_0x4ef4c6;},_0x586a5e=_0x30ecf5=>{const _0x43ed99=_0x32243d;if(_0xcc6a92)return;_0x46bfe8();let _0x14ef2a=![];try{const _0x5a5eb3=normalizeUIResponse(_0x30ecf5,{'mode':_0x5d129d,'validateComponent':_0x513541});_0x5a5eb3['assistantText']!==void 0x0&&(_0x1a743f=_0x5a5eb3[_0x43ed99(0x20a)],_0x14ef2a=!![]);if(_0x5a5eb3['uiMessages'][_0x43ed99(0x209)]>0x0){const _0x2d2187=_0x5a5eb3['uiMessages'][_0x43ed99(0x1f9)](toSDKCompatibleA2UIMessage);_0xe27946['processMessages'](_0x2d2187),_0x14ef2a=!![];}}catch(_0x1f6790){_0x452095({'message':_0x1f6790 instanceof Error?_0x1f6790[_0x43ed99(0x1ee)]:String(_0x1f6790)}),_0x14ef2a=!![];}if(_0x14ef2a)_0xd19272();},_0x468458=(_0x3c2447,_0x3fc7d5)=>{const _0x263039=_0x32243d;if(_0xcc6a92)return![];_0x46bfe8();let _0x5313a6;try{_0x5313a6=normalizeUIResponse(_0x3c2447,{'mode':_0x5d129d,'validateComponent':_0x513541});}catch(_0x37e76e){return _0x452095({'message':_0x37e76e instanceof Error?_0x37e76e[_0x263039(0x1ee)]:String(_0x37e76e)}),_0xd19272(),![];}if(_0x5313a6['uiMessages']['length']===0x0)return![];const _0x7dda=_0xe27946,_0x36a19b=_0x1a743f,_0x4c3e60=_0x4ef4c6,_0x9e0723=_0x20ba3e();try{const _0x5e3e39=_0x3abf6a(_0x7dda);_0x5e3e39[_0x263039(0x209)]>0x0&&_0x9e0723[_0x263039(0x203)](_0x5e3e39);const _0xbc4b04=_0x5313a6[_0x263039(0x1f2)][_0x263039(0x1f9)](toSDKCompatibleA2UIMessage);_0x9e0723[_0x263039(0x203)](_0xbc4b04);}catch(_0x25f6cb){return _0x9e0723[_0x263039(0x1e1)][_0x263039(0x201)](),_0x452095({'message':_0x25f6cb instanceof Error?_0x25f6cb[_0x263039(0x1ee)]:String(_0x25f6cb)}),_0xd19272(),![];}_0xe27946=_0x9e0723;_0x5313a6[_0x263039(0x20a)]!==void 0x0&&(_0x1a743f=_0x5313a6[_0x263039(0x20a)]);_0x4ef4c6=null,_0x4596ec=!![];try{_0x3fc7d5?.();}catch(_0x1b27f6){return _0xe27946=_0x7dda,_0x1a743f=_0x36a19b,_0x4ef4c6=_0x4c3e60,_0x9e0723[_0x263039(0x1e1)]['dispose'](),![];}finally{_0x4596ec=![];}return _0x2228b8(),_0x3a6547(_0x9e0723),_0x7dda[_0x263039(0x1e1)][_0x263039(0x201)](),_0x4ef4c6=null,_0xd19272(),!![];},_0xe8c9d2=_0x539df1=>{const _0x23cdfd=_0x32243d;if(_0xcc6a92)return;_0x46bfe8();!_0x539df1[_0x23cdfd(0x1f1)](_0x3b74f2)&&_0x545125();let _0x5327fb=![];const _0x4409e2=splitUIEnvelope(_0x539df1);_0x1a743f!==_0x4409e2[_0x23cdfd(0x1fe)]&&(_0x1a743f=_0x4409e2[_0x23cdfd(0x1fe)],_0x5327fb=!![]);if(_0x4409e2[_0x23cdfd(0x210)]!==null&&!_0x335b37)while(!![]){const _0x519468=scanNextTopLevelObject(_0x4409e2[_0x23cdfd(0x210)],_0x1bed05);if(!_0x519468)break;try{const _0xb9a886=JSON['parse'](_0x519468[_0x23cdfd(0x1fa)]),_0x30a654=normalizeUIResponse([_0xb9a886],{'mode':_0x5d129d,'validateComponent':_0x513541});if(_0x30a654[_0x23cdfd(0x1f2)][_0x23cdfd(0x209)]>0x0){const _0x5e3de9=_0x30a654[_0x23cdfd(0x1f2)]['map'](toSDKCompatibleA2UIMessage);_0xe27946['processMessages'](_0x5e3de9),_0x53903d+=_0x30a654[_0x23cdfd(0x1f2)][_0x23cdfd(0x209)],_0x5327fb=!![];}}catch{_0x335b37=!![];break;}_0x1bed05=_0x519468[_0x23cdfd(0x20d)];}_0x3b74f2=_0x539df1;if(_0x5327fb)_0xd19272();},_0x5502e4=()=>{const _0xce97a6=_0x32243d;if(_0xcc6a92)return;_0x46bfe8();const _0x1a1c70=_0x3b74f2;if(_0x1a1c70[_0xce97a6(0x209)]===0x0&&!_0x335b37)return;const _0x4679cb=splitUIEnvelope(_0x1a1c70);let _0x1b9a82=![];_0x1a743f!==_0x4679cb[_0xce97a6(0x1fe)]&&(_0x1a743f=_0x4679cb[_0xce97a6(0x1fe)],_0x1b9a82=!![]);const _0x298023=_0x335b37||!_0x4679cb['closed'];if(_0x298023&&_0x1a1c70[_0xce97a6(0x209)]>0x0)try{const _0x1510dc=normalizeUIResponse(_0x1a1c70,{'mode':_0x5d129d,'validateComponent':_0x513541}),_0x572eb1=_0x1510dc[_0xce97a6(0x1f2)][_0xce97a6(0x1e7)](_0x53903d);if(_0x572eb1['length']>0x0){const _0x442528=_0x572eb1['map'](toSDKCompatibleA2UIMessage);_0xe27946['processMessages'](_0x442528),_0x53903d+=_0x572eb1['length'],_0x1b9a82=!![];}}catch(_0x51fcbf){_0x452095({'message':_0x51fcbf instanceof Error?_0x51fcbf['message']:String(_0x51fcbf)}),_0x1b9a82=!![];}_0x545125();if(_0x1b9a82)_0xd19272();},_0x505f38=()=>{const _0x4634f8=_0x32243d;if(_0xcc6a92)return;_0x46bfe8();const _0x4ce3cc=Array['from'](_0xe27946['model']['surfacesMap'][_0x4634f8(0x1f0)]());for(const _0x507c64 of _0x4ce3cc){_0xe27946[_0x4634f8(0x1e1)][_0x4634f8(0x1ff)](_0x507c64);}_0x1a743f=void 0x0,_0x53a4f2['length']=0x0,_0x545125(),_0xd19272();},_0x3beed0=()=>{if(_0xcc6a92)return;_0x46bfe8(),_0xcc6a92=!![],_0x2228b8(),_0xe27946['model']['dispose'](),_0x304d02['clear']();},_0x1a485a=_0x38eeb3=>{const _0x22bf39=_0x32243d;if(_0xcc6a92)return()=>{};return _0x304d02[_0x22bf39(0x208)](_0x38eeb3),()=>{const _0x3b8596=_0x22bf39;_0x304d02[_0x3b8596(0x20c)](_0x38eeb3);};},_0x59554a=()=>{if(_0xcc6a92)return;_0x46bfe8();if(_0x53a4f2['length']===0x0)return;_0x53a4f2['length']=0x0,_0xd19272();};return{'ingest':_0x586a5e,'ingestTransaction':_0x468458,'ingestStreaming':_0xe8c9d2,'endStream':_0x5502e4,'reset':_0x505f38,'clearErrors':_0x59554a,'dispose':_0x3beed0,'getState':_0x246a5c,'subscribe':_0x1a485a,'getClientCapabilities':_0x300459=>_0xe27946['getClientCapabilities'](_0x300459),'getClientDataModel':()=>_0xe27946[_0x32243d(0x20e)]()};}export{createUIRuntime};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentic-ui-experience/ui-runtime",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
3
|
+
"version": "0.0.1-beta.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@a2ui/web_core": "0.9.2",
|
|
26
26
|
"zod": "^3.25.76",
|
|
27
|
-
"@agentic-ui-experience/ui-core": "0.0.1-beta.
|
|
27
|
+
"@agentic-ui-experience/ui-core": "0.0.1-beta.4"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@a2ui/react": "0.9.0"
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"build": "node ../../scripts/build-obfuscated-package.mjs .",
|
|
34
34
|
"dev": "tsc -b -w --preserveWatchOutput --force",
|
|
35
35
|
"clean": "rm -rf dist tsconfig.tsbuildinfo",
|
|
36
|
-
"test": "
|
|
36
|
+
"test:types": "tsc --noEmit -p tests/tsconfig.json",
|
|
37
|
+
"test": "pnpm run build && pnpm run test:types && node --test \"tests/**/*.test.mjs\""
|
|
37
38
|
}
|
|
38
39
|
}
|