@agentic-ui-experience/ui-react 0.0.1-beta.3 → 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 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,8 @@ 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 })`.
31
34
 
32
35
  ## User actions
33
36
 
@@ -51,7 +54,7 @@ or add a custom catalog component with an explicit action prop.
51
54
  | `useUIAgent(runtime)` | Subscribe a component to a runtime via `useSyncExternalStore` and return `UIRuntimeState`. `UIAgentSurface` already calls this internally. |
52
55
 
53
56
  `UseUIRuntimeOptions` ⊆ `UIRuntimeOptions` (from `ui-runtime`), but
54
- `catalogs` becomes optional (defaults to `[basicCatalog]`).
57
+ `catalog` becomes optional (defaults to `basicCatalog`).
55
58
 
56
59
  ### Surface component
57
60
 
@@ -112,7 +115,7 @@ export const weatherCatalog = defineCatalog({
112
115
  ```
113
116
 
114
117
  Build the prompt descriptor separately in `@agentic-ui-experience/ui-core`
115
- and pass `weatherCatalog` to `useUIRuntime({ catalogs: [weatherCatalog] })`.
118
+ and pass `weatherCatalog` to `useUIRuntime({ catalog: weatherCatalog })`.
116
119
 
117
120
  The component `schema` is the **single source of truth**. The same Zod
118
121
  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(_0x3edfb2,_0x12d473){const _0x2fadc2=_0x1c5e,_0x3eb20d=_0x3edfb2();while(!![]){try{const _0x2e05ca=-parseInt(_0x2fadc2(0x1cb))/0x1+parseInt(_0x2fadc2(0x1cf))/0x2*(parseInt(_0x2fadc2(0x1d4))/0x3)+parseInt(_0x2fadc2(0x1ce))/0x4+parseInt(_0x2fadc2(0x1d6))/0x5+-parseInt(_0x2fadc2(0x1d0))/0x6+parseInt(_0x2fadc2(0x1d2))/0x7+-parseInt(_0x2fadc2(0x1d1))/0x8;if(_0x2e05ca===_0x12d473)break;else _0x3eb20d['push'](_0x3eb20d['shift']());}catch(_0x4ac3fb){_0x3eb20d['push'](_0x3eb20d['shift']());}}}(_0x1aee,0xe2dd9));import{basicCatalog as _0xf9aa1}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 defineCatalog(_0x25c2fe){const _0x18d5cb=_0x1c5e,_0x588751=_0x25c2fe[_0x18d5cb(0x1cc)]??basicCatalog,_0x21e5ff=_0x25c2fe[_0x18d5cb(0x1cd)]??[],_0x80f854=[..._0x588751[_0x18d5cb(0x1cd)]['values'](),..._0x21e5ff],_0xc839a6=[..._0x588751['functions']['values']()],_0x2fc266=new Catalog(_0x25c2fe['id'],_0x80f854,_0xc839a6,_0x588751[_0x18d5cb(0x1d5)]);return _0x2fc266;}const defineReactCatalog=defineCatalog;function _0x1aee(){const _0x5bb3d6=['themeSchema','5401835jtXMpA','686403qMNYQv','extends','components','5061264CzPiNT','382xPasYO','6998730SBPXpA','11276832sMEbBU','7116886ibNkGY','values','13026kVtyIh'];_0x1aee=function(){return _0x5bb3d6;};return _0x1aee();}function cloneCatalog(_0x1f1d2d,_0x22b5cc=_0x1f1d2d['id']){const _0x31585c=_0x1c5e;return new Catalog(_0x22b5cc,[..._0x1f1d2d[_0x31585c(0x1cd)][_0x31585c(0x1d3)]()],[..._0x1f1d2d['functions']['values']()],_0x1f1d2d[_0x31585c(0x1d5)]);}const basicCatalog=cloneCatalog(_0xf9aa1,A2UI_BASIC_CATALOG_ID);function _0x1c5e(_0x69d252,_0x3fdfbf){_0x69d252=_0x69d252-0x1cb;const _0x1aeeb3=_0x1aee();let _0x1c5e7=_0x1aeeb3[_0x69d252];return _0x1c5e7;}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(_0x2cc8ca,_0x125415){var _0x56e154=_0x5ef0,_0x3f76d9=_0x2cc8ca();while(!![]){try{var _0x40444b=parseInt(_0x56e154(0x16f))/0x1+parseInt(_0x56e154(0x169))/0x2*(-parseInt(_0x56e154(0x16b))/0x3)+-parseInt(_0x56e154(0x16c))/0x4*(parseInt(_0x56e154(0x16a))/0x5)+-parseInt(_0x56e154(0x16e))/0x6+-parseInt(_0x56e154(0x167))/0x7+parseInt(_0x56e154(0x16d))/0x8+parseInt(_0x56e154(0x168))/0x9;if(_0x40444b===_0x125415)break;else _0x3f76d9['push'](_0x3f76d9['shift']());}catch(_0x597d5b){_0x3f76d9['push'](_0x3f76d9['shift']());}}}(_0x1b0e,0x948dc));import{basicCatalog,defineCatalog,defineReactCatalog}from'./catalog.js';import{UIAgentSurface,useUIAgent,useUIRuntime}from'./react.js';function _0x1b0e(){var _0x460dbf=['1970876fJwwfX','69690qBJvfu','3bqcYwe','140cncklS','2369376kcIqhK','1631478quaqSv','537083inTmjv','8489768vuejbj','24599034vuAZoC'];_0x1b0e=function(){return _0x460dbf;};return _0x1b0e();}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';function _0x5ef0(_0x246b6f,_0x1adb1c){_0x246b6f=_0x246b6f-0x167;var _0x1b0ebb=_0x1b0e();var _0x5ef031=_0x1b0ebb[_0x246b6f];return _0x5ef031;}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};
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(_0xe3995e,_0xd6bc8c){const _0x257661=_0x51d4,_0x2d9ea7=_0xe3995e();while(!![]){try{const _0xeb074c=parseInt(_0x257661(0x1e2))/0x1+parseInt(_0x257661(0x1da))/0x2+parseInt(_0x257661(0x1db))/0x3+parseInt(_0x257661(0x1d7))/0x4*(-parseInt(_0x257661(0x1e0))/0x5)+-parseInt(_0x257661(0x1dd))/0x6*(parseInt(_0x257661(0x1d6))/0x7)+parseInt(_0x257661(0x1df))/0x8*(-parseInt(_0x257661(0x1e1))/0x9)+parseInt(_0x257661(0x1e4))/0xa*(parseInt(_0x257661(0x1de))/0xb);if(_0xeb074c===_0xd6bc8c)break;else _0x2d9ea7['push'](_0x2d9ea7['shift']());}catch(_0x340958){_0x2d9ea7['push'](_0x2d9ea7['shift']());}}}(_0x3b80,0x6d358));import{jsx}from'react/jsx-runtime';import{useSyncExternalStore,useRef,useState}from'react';import{MarkdownContext,A2uiSurface}from'@a2ui/react/v0_9';function _0x3b80(){const _0x3a68a8=['surfaces','current','1634614qeWjdT','928587KUJeDM','length','1222488zOEKGV','11ZUyyMH','6021544FhkfhQ','5IUinII','9lFRsYl','529893azGGsg','onAction','362890NyLSQQ','map','14ncNgQl','342036nIhXHw'];_0x3b80=function(){return _0x3a68a8;};return _0x3b80();}import{renderMarkdown}from'@a2ui/markdown-it';import{createUIRuntime}from'@agentic-ui-experience/ui-runtime';import{basicCatalog}from'./catalog.js';function useUIAgent(_0x3452da){return useSyncExternalStore(_0x3452da['subscribe'],_0x3452da['getState'],_0x3452da['getState']);}function useUIRuntime(_0x4e3c88={}){const _0x160aeb=_0x51d4,_0x2e3ca9=useRef(_0x4e3c88['onAction']),_0x371086=useRef(_0x4e3c88['onError']);_0x2e3ca9['current']=_0x4e3c88[_0x160aeb(0x1e3)],_0x371086['current']=_0x4e3c88['onError'];const {catalog:catalog=basicCatalog,normalizeMode:_0x5f0396}=_0x4e3c88,[_0x712892]=useState(()=>createUIRuntime({'catalog':catalog,..._0x5f0396?{'normalizeMode':_0x5f0396}:{},'onAction':_0x2435f1=>_0x2e3ca9[_0x160aeb(0x1d9)]?.(_0x2435f1),'onError':_0x3fa944=>_0x371086[_0x160aeb(0x1d9)]?.(_0x3fa944)}));return _0x712892;}function UIAgentSurface(_0x32d42d){const _0x13b587=_0x51d4,_0x539907=useUIAgent(_0x32d42d['runtime']);if(_0x539907['surfaces'][_0x13b587(0x1dc)]===0x0)return _0x32d42d['renderEmpty']?.()??null;return jsx(MarkdownContext['Provider'],{'value':renderMarkdown,'children':_0x539907[_0x13b587(0x1d8)][_0x13b587(0x1e5)](_0x490f02=>{if(_0x32d42d['renderSurface'])return jsx('div',{'data-a2ui-surface':_0x490f02['id'],'children':_0x32d42d['renderSurface'](_0x490f02)},_0x490f02['id']);return jsx('div',{'data-a2ui-surface':_0x490f02['id'],'children':jsx(A2uiSurface,{'surface':_0x490f02})},_0x490f02['id']);})});}function _0x51d4(_0x259011,_0x27d6fc){_0x259011=_0x259011-0x1d6;const _0x3b8036=_0x3b80();let _0x51d4ee=_0x3b8036[_0x259011];return _0x51d4ee;}export{UIAgentSurface,useUIAgent,useUIRuntime};
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.4",
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.4",
26
+ "@agentic-ui-experience/ui-runtime": "0.0.1-beta.4"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "react": "^18.0.0 || ^19.0.0",