@agentic-ui-experience/ui-react 0.0.1-beta.3 → 0.0.1-beta.5

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
@@ -2,13 +2,15 @@
2
2
 
3
3
  React adapter for `@agentic-ui-experience/ui-runtime`.
4
4
 
5
- This package contains the React hooks, the default A2UI surface renderer,
5
+ This package is the React **Renderer** layer: it turns validated Surface models into UI. It contains the React hooks, the default A2UI-based Surface Renderer,
6
6
  this package's `basicCatalog` wrapper, and `defineCatalog` for React component
7
7
  implementations. Prompt descriptors live in
8
8
  `@agentic-ui-experience/ui-core`, not in this React package. Import the
9
9
  framework-agnostic runtime directly from
10
10
  `@agentic-ui-experience/ui-runtime` when you do not need React.
11
11
 
12
+ See the [project glossary](../../docs/glossary.md) for the distinction between Runtime and Renderer.
13
+
12
14
  ## Quick start
13
15
 
14
16
  ```tsx
@@ -27,7 +29,11 @@ function FieldApp({ field }) {
27
29
  ```
28
30
 
29
31
  `useUIRuntime` defaults to this package's `basicCatalog` wrapper. Pass
30
- `catalogs` when your app uses custom components.
32
+ `catalog` when your app uses custom components. It takes one catalog, not a
33
+ list — merge vocabularies with `defineCatalog({ extends })`. Incoming messages
34
+ accept only `v0.9.1`; legacy wire version `v0.9` is rejected. The inherited
35
+ `protocolVersion` option controls only new client data-model messages and
36
+ supports only `v0.9.1`.
31
37
 
32
38
  ## User actions
33
39
 
@@ -51,7 +57,7 @@ or add a custom catalog component with an explicit action prop.
51
57
  | `useUIAgent(runtime)` | Subscribe a component to a runtime via `useSyncExternalStore` and return `UIRuntimeState`. `UIAgentSurface` already calls this internally. |
52
58
 
53
59
  `UseUIRuntimeOptions` ⊆ `UIRuntimeOptions` (from `ui-runtime`), but
54
- `catalogs` becomes optional (defaults to `[basicCatalog]`).
60
+ `catalog` becomes optional (defaults to `basicCatalog`).
55
61
 
56
62
  ### Surface component
57
63
 
@@ -112,7 +118,7 @@ export const weatherCatalog = defineCatalog({
112
118
  ```
113
119
 
114
120
  Build the prompt descriptor separately in `@agentic-ui-experience/ui-core`
115
- and pass `weatherCatalog` to `useUIRuntime({ catalogs: [weatherCatalog] })`.
121
+ and pass `weatherCatalog` to `useUIRuntime({ catalog: weatherCatalog })`.
116
122
 
117
123
  The component `schema` is the **single source of truth**. The same Zod
118
124
  schema is reused three ways: the prompt descriptor turns it into JSON
package/dist/catalog.js CHANGED
@@ -1 +1 @@
1
- (function(_0x510763,_0x57913d){const _0x483186=_0x1d83,_0x296fcc=_0x510763();while(!![]){try{const _0x5e12ca=-parseInt(_0x483186(0x167))/0x1*(parseInt(_0x483186(0x161))/0x2)+parseInt(_0x483186(0x16c))/0x3*(parseInt(_0x483186(0x160))/0x4)+parseInt(_0x483186(0x163))/0x5*(-parseInt(_0x483186(0x164))/0x6)+-parseInt(_0x483186(0x15e))/0x7+parseInt(_0x483186(0x169))/0x8*(parseInt(_0x483186(0x168))/0x9)+parseInt(_0x483186(0x15f))/0xa+parseInt(_0x483186(0x16a))/0xb;if(_0x5e12ca===_0x57913d)break;else _0x296fcc['push'](_0x296fcc['shift']());}catch(_0x47b6d0){_0x296fcc['push'](_0x296fcc['shift']());}}}(_0x2021,0x7f9c1));import{basicCatalog as _0x26057c}from'@a2ui/react/v0_9';function _0x2021(){const _0x1726c3=['themeSchema','123JDnEPq','18OfejHM','2114568NGPwnO','595551BbbInc','components','69uNESgK','2672705xoESsK','5208950RokMoN','85404yLibqb','3308aFeiDa','functions','14575CgojSm','1002VZXWRm','extends'];_0x2021=function(){return _0x1726c3;};return _0x2021();}import{Catalog}from'@a2ui/web_core/v0_9';import{A2UI_BASIC_CATALOG_ID}from'@agentic-ui-experience/ui-core';function defineCatalog(_0x5e632f){const _0x17257e=_0x1d83,_0x3be6a1=_0x5e632f[_0x17257e(0x165)]??basicCatalog,_0x5c6aac=_0x5e632f['components']??[],_0xd285b0=[..._0x3be6a1['components']['values'](),..._0x5c6aac],_0x518ace=[..._0x3be6a1[_0x17257e(0x162)]['values']()],_0x1f8f11=new Catalog(_0x5e632f['id'],_0xd285b0,_0x518ace,_0x3be6a1[_0x17257e(0x166)]);return _0x1f8f11;}const defineReactCatalog=defineCatalog;function cloneCatalog(_0x50904e,_0x1e06ca=_0x50904e['id']){const _0x169fb1=_0x1d83;return new Catalog(_0x1e06ca,[..._0x50904e[_0x169fb1(0x16b)]['values']()],[..._0x50904e['functions']['values']()],_0x50904e[_0x169fb1(0x166)]);}function _0x1d83(_0x56d6e8,_0x1d8c32){_0x56d6e8=_0x56d6e8-0x15e;const _0x202108=_0x2021();let _0x1d8346=_0x202108[_0x56d6e8];return _0x1d8346;}const basicCatalog=cloneCatalog(_0x26057c,A2UI_BASIC_CATALOG_ID);export{basicCatalog,defineCatalog,defineReactCatalog};
1
+ function _0x348b(_0x2ea639,_0x216478){_0x2ea639=_0x2ea639-0x1b7;const _0x409dc0=_0x409d();let _0x348b0c=_0x409dc0[_0x2ea639];return _0x348b0c;}(function(_0x3d5f15,_0x558854){const _0x29ae17=_0x348b,_0x2b96cc=_0x3d5f15();while(!![]){try{const _0x4bc8df=-parseInt(_0x29ae17(0x1b9))/0x1*(-parseInt(_0x29ae17(0x1bc))/0x2)+parseInt(_0x29ae17(0x1c4))/0x3*(-parseInt(_0x29ae17(0x1c1))/0x4)+-parseInt(_0x29ae17(0x1c6))/0x5*(parseInt(_0x29ae17(0x1c0))/0x6)+parseInt(_0x29ae17(0x1b8))/0x7+-parseInt(_0x29ae17(0x1be))/0x8*(parseInt(_0x29ae17(0x1b7))/0x9)+-parseInt(_0x29ae17(0x1c2))/0xa*(parseInt(_0x29ae17(0x1bf))/0xb)+parseInt(_0x29ae17(0x1ba))/0xc;if(_0x4bc8df===_0x558854)break;else _0x2b96cc['push'](_0x2b96cc['shift']());}catch(_0xd61d72){_0x2b96cc['push'](_0x2b96cc['shift']());}}}(_0x409d,0x4aeff));import{basicCatalog as _0x406cea}from'@a2ui/react/v0_9';import{Catalog}from'@a2ui/web_core/v0_9';import{A2UI_BASIC_CATALOG_ID}from'@agentic-ui-experience/ui-core';function _0x409d(){const _0x1f0023=['9IEOHsM','343434Hsjoux','188197WseyBR','20862444HTCQoO','themeSchema','2INpTtg','values','2223856ZxtxGb','2101subrou','3488118RTKkeh','16iPRHRA','15820SFpjnb','components','380517YwLlZY','functions','5EViPXo'];_0x409d=function(){return _0x1f0023;};return _0x409d();}function defineCatalog(_0xc08932){const _0x4ae7af=_0x348b,_0x716921=_0xc08932['extends']??basicCatalog,_0x265e78=_0xc08932[_0x4ae7af(0x1c3)]??[],_0xf6213d=[..._0x716921[_0x4ae7af(0x1c3)]['values'](),..._0x265e78],_0x509be3=[..._0x716921[_0x4ae7af(0x1c5)]['values']()],_0x5678c7=new Catalog(_0xc08932['id'],_0xf6213d,_0x509be3,_0x716921[_0x4ae7af(0x1bb)]);return _0x5678c7;}const defineReactCatalog=defineCatalog;function cloneCatalog(_0x4a0d10,_0x11c418=_0x4a0d10['id']){const _0x31dfc2=_0x348b;return new Catalog(_0x11c418,[..._0x4a0d10['components'][_0x31dfc2(0x1bd)]()],[..._0x4a0d10[_0x31dfc2(0x1c5)][_0x31dfc2(0x1bd)]()],_0x4a0d10[_0x31dfc2(0x1bb)]);}const basicCatalog=cloneCatalog(_0x406cea,A2UI_BASIC_CATALOG_ID);export{basicCatalog,defineCatalog,defineReactCatalog};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- function _0x21ff(){var _0x453462=['3275024zJBYyv','9KnbfQW','1986501wwKXbE','1438610YpDTqp','7CvPcQV','225120SBXaJR','349506aICdDj','12eSenFq','10kKMajL','86282VatSBD','7ouKjvK','2299836qHfoHO'];_0x21ff=function(){return _0x453462;};return _0x21ff();}(function(_0x37bfa7,_0x16c05a){var _0x155420=_0x292b,_0x2e01fd=_0x37bfa7();while(!![]){try{var _0x538db2=parseInt(_0x155420(0x1db))/0x1*(parseInt(_0x155420(0x1d4))/0x2)+-parseInt(_0x155420(0x1dd))/0x3*(-parseInt(_0x155420(0x1de))/0x4)+parseInt(_0x155420(0x1da))/0x5+-parseInt(_0x155420(0x1dc))/0x6*(parseInt(_0x155420(0x1d5))/0x7)+parseInt(_0x155420(0x1d7))/0x8*(-parseInt(_0x155420(0x1d8))/0x9)+-parseInt(_0x155420(0x1df))/0xa*(-parseInt(_0x155420(0x1d9))/0xb)+-parseInt(_0x155420(0x1d6))/0xc;if(_0x538db2===_0x16c05a)break;else _0x2e01fd['push'](_0x2e01fd['shift']());}catch(_0x5b7b16){_0x2e01fd['push'](_0x2e01fd['shift']());}}}(_0x21ff,0x757e7));import{basicCatalog,defineCatalog,defineReactCatalog}from'./catalog.js';import{UIAgentSurface,useUIAgent,useUIRuntime}from'./react.js';import{createBinderlessComponentImplementation,createComponentImplementation}from'@a2ui/react/v0_9';function _0x292b(_0x99c8a9,_0x2fba7d){_0x99c8a9=_0x99c8a9-0x1d4;var _0x21ff1d=_0x21ff();var _0x292bea=_0x21ff1d[_0x99c8a9];return _0x292bea;}import{ActionSchema,Catalog,CheckableSchema,CommonSchemas,DataBindingSchema,DynamicBooleanSchema,DynamicNumberSchema,DynamicStringListSchema,DynamicStringSchema,DynamicValueSchema,FunctionCallSchema}from'@a2ui/web_core/v0_9';import{z}from'zod';export{ActionSchema,Catalog,CheckableSchema,CommonSchemas,DataBindingSchema,DynamicBooleanSchema,DynamicNumberSchema,DynamicStringListSchema,DynamicStringSchema,DynamicValueSchema,FunctionCallSchema,UIAgentSurface,basicCatalog,createBinderlessComponentImplementation,createComponentImplementation,defineCatalog,defineReactCatalog,useUIAgent,useUIRuntime,z};
1
+ (function(_0x240b30,_0x4042b3){var _0x299622=_0x4879,_0x366c24=_0x240b30();while(!![]){try{var _0x58d79a=parseInt(_0x299622(0x1b0))/0x1*(-parseInt(_0x299622(0x1b8))/0x2)+parseInt(_0x299622(0x1b1))/0x3+parseInt(_0x299622(0x1b5))/0x4*(parseInt(_0x299622(0x1af))/0x5)+-parseInt(_0x299622(0x1b9))/0x6*(-parseInt(_0x299622(0x1b4))/0x7)+-parseInt(_0x299622(0x1ba))/0x8*(-parseInt(_0x299622(0x1b7))/0x9)+-parseInt(_0x299622(0x1b3))/0xa*(parseInt(_0x299622(0x1b2))/0xb)+parseInt(_0x299622(0x1b6))/0xc;if(_0x58d79a===_0x4042b3)break;else _0x366c24['push'](_0x366c24['shift']());}catch(_0x1c4212){_0x366c24['push'](_0x366c24['shift']());}}}(_0x57a8,0x89550));import{basicCatalog,defineCatalog,defineReactCatalog}from'./catalog.js';import{UIAgentSurface,useUIAgent,useUIRuntime}from'./react.js';function _0x4879(_0xfbe62,_0x74267b){_0xfbe62=_0xfbe62-0x1af;var _0x57a837=_0x57a8();var _0x4879e9=_0x57a837[_0xfbe62];return _0x4879e9;}import{createBinderlessComponentImplementation,createComponentImplementation}from'@a2ui/react/v0_9';import{ActionSchema,Catalog,CheckableSchema,CommonSchemas,DataBindingSchema,DynamicBooleanSchema,DynamicNumberSchema,DynamicStringListSchema,DynamicStringSchema,DynamicValueSchema,FunctionCallSchema}from'@a2ui/web_core/v0_9';import{z}from'zod';export{ActionSchema,Catalog,CheckableSchema,CommonSchemas,DataBindingSchema,DynamicBooleanSchema,DynamicNumberSchema,DynamicStringListSchema,DynamicStringSchema,DynamicValueSchema,FunctionCallSchema,UIAgentSurface,basicCatalog,createBinderlessComponentImplementation,createComponentImplementation,defineCatalog,defineReactCatalog,useUIAgent,useUIRuntime,z};function _0x57a8(){var _0x2d478b=['10290841kbFKgn','10GyMBya','128086jgnLaO','96GDGxnK','1909716kCCJSu','9SlzRGM','1626236HOFbkf','42YsgBrb','4746096RcUsIh','94235yEtWmJ','1ieolsp','2935026zKcqFR'];_0x57a8=function(){return _0x2d478b;};return _0x57a8();}
package/dist/react.d.ts CHANGED
@@ -5,8 +5,9 @@ type ReactUIRuntimeOptions = UIRuntimeOptions<ReactComponentImplementation>;
5
5
  type ReactUIRuntimeState = UIRuntimeState<ReactComponentImplementation>;
6
6
  type ReactUIRuntimeSurface = UIRuntimeSurface<ReactComponentImplementation>;
7
7
  export declare function useUIAgent(runtime: ReactUIRuntime): ReactUIRuntimeState;
8
- export interface UseUIRuntimeOptions extends Omit<ReactUIRuntimeOptions, "catalogs" | "onAction" | "onError"> {
9
- catalogs?: ReactUIRuntimeOptions["catalogs"];
8
+ export interface UseUIRuntimeOptions extends Omit<ReactUIRuntimeOptions, "catalog" | "onAction" | "onError"> {
9
+ /** Defaults to the A2UI basic catalog. */
10
+ catalog?: ReactUIRuntimeOptions["catalog"];
10
11
  onAction?: (action: UIAction) => void;
11
12
  onError?: (error: UIRuntimeError) => void;
12
13
  }
package/dist/react.js CHANGED
@@ -1 +1 @@
1
- (function(_0x394d02,_0x27c32b){const _0xc955bb=_0x2612,_0x53773a=_0x394d02();while(!![]){try{const _0x5d1119=parseInt(_0xc955bb(0x110))/0x1+-parseInt(_0xc955bb(0x10f))/0x2+parseInt(_0xc955bb(0x113))/0x3*(parseInt(_0xc955bb(0x10e))/0x4)+parseInt(_0xc955bb(0x103))/0x5*(parseInt(_0xc955bb(0x114))/0x6)+parseInt(_0xc955bb(0x10d))/0x7+parseInt(_0xc955bb(0x104))/0x8+parseInt(_0xc955bb(0x115))/0x9*(-parseInt(_0xc955bb(0x10b))/0xa);if(_0x5d1119===_0x27c32b)break;else _0x53773a['push'](_0x53773a['shift']());}catch(_0x100902){_0x53773a['push'](_0x53773a['shift']());}}}(_0xa54a,0xf1e3f));import{jsx}from'react/jsx-runtime';import{useSyncExternalStore,useRef,useState}from'react';import{MarkdownContext,A2uiSurface}from'@a2ui/react/v0_9';function _0x2612(_0x108d19,_0x4fffc0){_0x108d19=_0x108d19-0x103;const _0xa54acc=_0xa54a();let _0x2612ec=_0xa54acc[_0x108d19];return _0x2612ec;}import{renderMarkdown}from'@a2ui/markdown-it';import{createUIRuntime}from'@agentic-ui-experience/ui-runtime';import{basicCatalog}from'./catalog.js';function useUIAgent(_0x7c2331){const _0x1d8e35=_0x2612;return useSyncExternalStore(_0x7c2331['subscribe'],_0x7c2331[_0x1d8e35(0x107)],_0x7c2331['getState']);}function _0xa54a(){const _0x3e731f=['12813256hOCMvy','map','surfaces','getState','renderSurface','div','current','10hOFRfr','onError','3400488KMpYlf','12dfiEDx','2662010hwApTU','400523itEBrA','length','renderEmpty','1170636YmrcQV','282AslnBf','15741441HAmAUk','43855kBEuOq'];_0xa54a=function(){return _0x3e731f;};return _0xa54a();}function useUIRuntime(_0x15f32d={}){const _0x33448b=_0x2612,_0x8d2b2a=useRef(_0x15f32d['onAction']),_0x448700=useRef(_0x15f32d[_0x33448b(0x10c)]);_0x8d2b2a['current']=_0x15f32d['onAction'],_0x448700['current']=_0x15f32d['onError'];const {catalogs:catalogs=[basicCatalog],normalizeMode:_0x138bf9}=_0x15f32d,[_0x3cc052]=useState(()=>createUIRuntime({'catalogs':catalogs,..._0x138bf9?{'normalizeMode':_0x138bf9}:{},'onAction':_0x5a26f1=>_0x8d2b2a[_0x33448b(0x10a)]?.(_0x5a26f1),'onError':_0x31c8a5=>_0x448700['current']?.(_0x31c8a5)}));return _0x3cc052;}function UIAgentSurface(_0x100817){const _0x50277a=_0x2612,_0x20ae7c=useUIAgent(_0x100817['runtime']);if(_0x20ae7c[_0x50277a(0x106)][_0x50277a(0x111)]===0x0)return _0x100817[_0x50277a(0x112)]?.()??null;return jsx(MarkdownContext['Provider'],{'value':renderMarkdown,'children':_0x20ae7c[_0x50277a(0x106)][_0x50277a(0x105)](_0x5ba872=>{const _0x98f418=_0x50277a;if(_0x100817[_0x98f418(0x108)])return jsx(_0x98f418(0x109),{'data-a2ui-surface':_0x5ba872['id'],'children':_0x100817[_0x98f418(0x108)](_0x5ba872)},_0x5ba872['id']);return jsx('div',{'data-a2ui-surface':_0x5ba872['id'],'children':jsx(A2uiSurface,{'surface':_0x5ba872})},_0x5ba872['id']);})});}export{UIAgentSurface,useUIAgent,useUIRuntime};
1
+ (function(_0x39a805,_0x1bf8d7){const _0x586edd=_0x3020,_0x1ee8e8=_0x39a805();while(!![]){try{const _0x40501f=-parseInt(_0x586edd(0x150))/0x1+parseInt(_0x586edd(0x153))/0x2*(parseInt(_0x586edd(0x14e))/0x3)+parseInt(_0x586edd(0x14c))/0x4+-parseInt(_0x586edd(0x145))/0x5+parseInt(_0x586edd(0x148))/0x6*(-parseInt(_0x586edd(0x151))/0x7)+parseInt(_0x586edd(0x147))/0x8+-parseInt(_0x586edd(0x143))/0x9*(parseInt(_0x586edd(0x149))/0xa);if(_0x40501f===_0x1bf8d7)break;else _0x1ee8e8['push'](_0x1ee8e8['shift']());}catch(_0x1fd929){_0x1ee8e8['push'](_0x1ee8e8['shift']());}}}(_0x5a11,0x1f5c3));import{jsx}from'react/jsx-runtime';import{useSyncExternalStore,useRef,useState}from'react';import{MarkdownContext,A2uiSurface}from'@a2ui/react/v0_9';import{renderMarkdown}from'@a2ui/markdown-it';import{createUIRuntime}from'@agentic-ui-experience/ui-runtime';import{basicCatalog}from'./catalog.js';function useUIAgent(_0xe93b13){return useSyncExternalStore(_0xe93b13['subscribe'],_0xe93b13['getState'],_0xe93b13['getState']);}function useUIRuntime(_0x292ec2={}){const _0x43879c=_0x3020,_0x4dec71=useRef(_0x292ec2['onAction']),_0x1d3d2d=useRef(_0x292ec2[_0x43879c(0x14d)]);_0x4dec71['current']=_0x292ec2[_0x43879c(0x144)],_0x1d3d2d[_0x43879c(0x14b)]=_0x292ec2['onError'];const {catalog:catalog=basicCatalog,normalizeMode:_0x5529be,protocolVersion:_0x31dac5}=_0x292ec2,[_0x1d5fb8]=useState(()=>createUIRuntime({'catalog':catalog,..._0x5529be?{'normalizeMode':_0x5529be}:{},..._0x31dac5?{'protocolVersion':_0x31dac5}:{},'onAction':_0x39bfcd=>_0x4dec71[_0x43879c(0x14b)]?.(_0x39bfcd),'onError':_0x1fc907=>_0x1d3d2d[_0x43879c(0x14b)]?.(_0x1fc907)}));return _0x1d5fb8;}function _0x3020(_0x441f4f,_0x32d262){_0x441f4f=_0x441f4f-0x142;const _0x5a1188=_0x5a11();let _0x30206e=_0x5a1188[_0x441f4f];return _0x30206e;}function UIAgentSurface(_0x47381b){const _0x1feac7=_0x3020,_0x332468=useUIAgent(_0x47381b[_0x1feac7(0x14a)]);if(_0x332468[_0x1feac7(0x152)][_0x1feac7(0x14f)]===0x0)return _0x47381b[_0x1feac7(0x142)]?.()??null;return jsx(MarkdownContext['Provider'],{'value':renderMarkdown,'children':_0x332468['surfaces']['map'](_0x15b49c=>{const _0x45d51d=_0x1feac7;if(_0x47381b[_0x45d51d(0x146)])return jsx('div',{'data-a2ui-surface':_0x15b49c['id'],'children':_0x47381b[_0x45d51d(0x146)](_0x15b49c)},_0x15b49c['id']);return jsx(_0x45d51d(0x154),{'data-a2ui-surface':_0x15b49c['id'],'children':jsx(A2uiSurface,{'surface':_0x15b49c})},_0x15b49c['id']);})});}export{UIAgentSurface,useUIAgent,useUIRuntime};function _0x5a11(){const _0x215d6b=['div','renderEmpty','27lgUptY','onAction','1075770QKfsez','renderSurface','370992WlBkZc','69750vutNSz','38710EqZVfe','runtime','current','995836ovmZpP','onError','578463BmOMPu','length','51561loskcE','49KcPLbL','surfaces','2RrGKnv'];_0x5a11=function(){return _0x215d6b;};return _0x5a11();}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentic-ui-experience/ui-react",
3
- "version": "0.0.1-beta.3",
3
+ "version": "0.0.1-beta.5",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,8 +22,8 @@
22
22
  "@a2ui/react": "0.9.0",
23
23
  "@a2ui/web_core": "0.9.2",
24
24
  "zod": "^3.25.76",
25
- "@agentic-ui-experience/ui-core": "0.0.1-beta.3",
26
- "@agentic-ui-experience/ui-runtime": "0.0.1-beta.3"
25
+ "@agentic-ui-experience/ui-core": "0.0.1-beta.5",
26
+ "@agentic-ui-experience/ui-runtime": "0.0.1-beta.5"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "react": "^18.0.0 || ^19.0.0",