@dudousxd/nestjs-agent-react 0.26.0 → 0.28.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.
@@ -1,12 +1,15 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/genui/json-render.tsx
5
2
  import { JSONUIProvider, Renderer } from "@json-render/react";
6
3
  import { useMemo as useMemo3 } from "react";
7
4
 
8
5
  // src/genui/generative-ui.tsx
9
- import { Component, createContext as createContext2, useCallback, useContext as useContext2, useMemo as useMemo2 } from "react";
6
+ import {
7
+ Component,
8
+ createContext as createContext2,
9
+ useCallback,
10
+ useContext as useContext2,
11
+ useMemo as useMemo2
12
+ } from "react";
10
13
 
11
14
  // src/components/ambient-ui.ts
12
15
  import { createContext, useContext } from "react";
@@ -19,7 +22,6 @@ function sharedContext(key) {
19
22
  holder[symbol] = created;
20
23
  return created;
21
24
  }
22
- __name(sharedContext, "sharedContext");
23
25
  var AmbientRenderUiContext = sharedContext("@dudousxd/nestjs-agent-react:ambient-render-ui");
24
26
 
25
27
  // src/genui/use-generative-ui.ts
@@ -32,7 +34,6 @@ var GENUI_TREE_COMPONENT = "genui:tree";
32
34
  function isRecord(value) {
33
35
  return typeof value === "object" && value !== null && !Array.isArray(value);
34
36
  }
35
- __name(isRecord, "isRecord");
36
37
  function toGenerativeUIItem(part) {
37
38
  if (!isRecord(part)) return null;
38
39
  const source = part.type === "data-ui" && isRecord(part.data) ? part.data : part;
@@ -47,7 +48,6 @@ function toGenerativeUIItem(part) {
47
48
  toolCallId: typeof source.toolCallId === "string" ? source.toolCallId : null
48
49
  };
49
50
  }
50
- __name(toGenerativeUIItem, "toGenerativeUIItem");
51
51
  var resolverCaches = /* @__PURE__ */ new WeakMap();
52
52
  function resolveCached(resolve, name, version) {
53
53
  let cache = resolverCaches.get(resolve);
@@ -62,49 +62,27 @@ function resolveCached(resolve, name, version) {
62
62
  try {
63
63
  const result = resolve(name, version);
64
64
  if (result instanceof Promise) {
65
- entry = {
66
- resolution: {
67
- status: "loading"
65
+ entry = { resolution: { status: "loading" }, settled: null };
66
+ entry.settled = result.then(
67
+ (Component2) => {
68
+ entry.resolution = Component2 ? { status: "ready", Component: Component2 } : { status: "unknown" };
68
69
  },
69
- settled: null
70
- };
71
- entry.settled = result.then((Component2) => {
72
- entry.resolution = Component2 ? {
73
- status: "ready",
74
- Component: Component2
75
- } : {
76
- status: "unknown"
77
- };
78
- }, (error) => {
79
- entry.resolution = {
80
- status: "error",
81
- error
82
- };
83
- });
70
+ (error) => {
71
+ entry.resolution = { status: "error", error };
72
+ }
73
+ );
84
74
  } else {
85
75
  entry = {
86
- resolution: result ? {
87
- status: "ready",
88
- Component: result
89
- } : {
90
- status: "unknown"
91
- },
76
+ resolution: result ? { status: "ready", Component: result } : { status: "unknown" },
92
77
  settled: null
93
78
  };
94
79
  }
95
80
  } catch (error) {
96
- entry = {
97
- resolution: {
98
- status: "error",
99
- error
100
- },
101
- settled: null
102
- };
81
+ entry = { resolution: { status: "error", error }, settled: null };
103
82
  }
104
83
  cache.set(key, entry);
105
84
  return entry;
106
85
  }
107
- __name(resolveCached, "resolveCached");
108
86
  function useResolvedComponent(name, version, registry, resolve, fallbackTree) {
109
87
  const [, setTick] = useState(0);
110
88
  const own = registry[name];
@@ -119,170 +97,101 @@ function useResolvedComponent(name, version, registry, resolve, fallbackTree) {
119
97
  return () => {
120
98
  live = false;
121
99
  };
122
- }, [
123
- pending
124
- ]);
125
- if (own !== void 0) return {
126
- status: "ready",
127
- Component: own
128
- };
100
+ }, [pending]);
101
+ if (own !== void 0) return { status: "ready", Component: own };
129
102
  if (entry !== null && entry.resolution.status !== "unknown") return entry.resolution;
130
103
  if (name === GENUI_TREE_COMPONENT && fallbackTree !== void 0) {
131
- return {
132
- status: "ready",
133
- Component: fallbackTree
134
- };
104
+ return { status: "ready", Component: fallbackTree };
135
105
  }
136
- return {
137
- status: "unknown"
138
- };
106
+ return { status: "unknown" };
139
107
  }
140
- __name(useResolvedComponent, "useResolvedComponent");
141
108
  function useValidatedProps(catalog, name, props) {
142
109
  const checked = catalog?.has(name) === true;
143
110
  const immediate = useMemo(() => {
144
- if (!checked || catalog === void 0) return {
145
- status: "ok",
146
- props
147
- };
111
+ if (!checked || catalog === void 0) return { status: "ok", props };
148
112
  const result = catalog.validateSync?.(name, props);
149
113
  if (result === void 0) return null;
150
- return result.ok ? {
151
- status: "ok",
152
- props: result.value
153
- } : {
154
- status: "invalid",
155
- issues: result.issues
156
- };
157
- }, [
158
- checked,
159
- catalog,
160
- name,
161
- props
162
- ]);
163
- const [late, setLate] = useState(null);
114
+ return result.ok ? { status: "ok", props: result.value } : { status: "invalid", issues: result.issues };
115
+ }, [checked, catalog, name, props]);
116
+ const [late, setLate] = useState(
117
+ null
118
+ );
164
119
  useEffect(() => {
165
120
  if (immediate !== null || catalog === void 0) return;
166
121
  let live = true;
167
- catalog.validate(name, props).then((result) => {
168
- if (!live) return;
169
- setLate({
170
- props,
171
- result: result.ok ? {
172
- status: "ok",
173
- props: result.value
174
- } : {
175
- status: "invalid",
176
- issues: result.issues
177
- }
178
- });
179
- }, (error) => {
180
- if (!live) return;
181
- setLate({
182
- props,
183
- result: {
184
- status: "invalid",
185
- issues: [
186
- {
187
- path: [],
188
- message: error instanceof Error ? error.message : String(error)
189
- }
190
- ]
191
- }
192
- });
193
- });
122
+ catalog.validate(name, props).then(
123
+ (result) => {
124
+ if (!live) return;
125
+ setLate({
126
+ props,
127
+ result: result.ok ? { status: "ok", props: result.value } : { status: "invalid", issues: result.issues }
128
+ });
129
+ },
130
+ (error) => {
131
+ if (!live) return;
132
+ setLate({
133
+ props,
134
+ result: {
135
+ status: "invalid",
136
+ issues: [{ path: [], message: error instanceof Error ? error.message : String(error) }]
137
+ }
138
+ });
139
+ }
140
+ );
194
141
  return () => {
195
142
  live = false;
196
143
  };
197
- }, [
198
- immediate,
199
- catalog,
200
- name,
201
- props
202
- ]);
144
+ }, [immediate, catalog, name, props]);
203
145
  if (immediate !== null) return immediate;
204
- return late !== null && late.props === props ? late.result : {
205
- status: "pending"
206
- };
146
+ return late !== null && late.props === props ? late.result : { status: "pending" };
207
147
  }
208
- __name(useValidatedProps, "useValidatedProps");
209
148
  function useGenerativeUIState(part, options, fallbackTree) {
210
- const item = useMemo(() => toGenerativeUIItem(part), [
211
- part
212
- ]);
149
+ const item = useMemo(() => toGenerativeUIItem(part), [part]);
213
150
  const name = item?.component ?? "";
214
- const resolution = useResolvedComponent(name, item?.version ?? null, options.registry, item === null ? void 0 : options.resolveComponent, fallbackTree);
151
+ const resolution = useResolvedComponent(
152
+ name,
153
+ item?.version ?? null,
154
+ options.registry,
155
+ item === null ? void 0 : options.resolveComponent,
156
+ fallbackTree
157
+ );
215
158
  const empty = useMemo(() => ({}), []);
216
- const validation = useValidatedProps(item === null || name === GENUI_TREE_COMPONENT ? void 0 : options.catalog, name, item?.props ?? empty);
159
+ const validation = useValidatedProps(
160
+ item === null || name === GENUI_TREE_COMPONENT ? void 0 : options.catalog,
161
+ name,
162
+ item?.props ?? empty
163
+ );
217
164
  if (item === null) return null;
218
- if (resolution.status === "loading") return {
219
- status: "loading",
220
- item
221
- };
222
- if (resolution.status === "unknown") return {
223
- status: "problem",
224
- reason: "unknown",
225
- item
226
- };
165
+ if (resolution.status === "loading") return { status: "loading", item };
166
+ if (resolution.status === "unknown") return { status: "problem", reason: "unknown", item };
227
167
  if (resolution.status === "error") {
228
- return {
229
- status: "problem",
230
- reason: "error",
231
- item,
232
- error: resolution.error
233
- };
168
+ return { status: "problem", reason: "error", item, error: resolution.error };
234
169
  }
235
- if (validation.status === "pending") return {
236
- status: "loading",
237
- item
238
- };
170
+ if (validation.status === "pending") return { status: "loading", item };
239
171
  if (validation.status === "invalid") {
240
- return {
241
- status: "problem",
242
- reason: "invalid",
243
- item,
244
- issues: validation.issues
245
- };
172
+ return { status: "problem", reason: "invalid", item, issues: validation.issues };
246
173
  }
247
- return {
248
- status: "ready",
249
- item,
250
- Component: resolution.Component,
251
- props: validation.props
252
- };
174
+ return { status: "ready", item, Component: resolution.Component, props: validation.props };
253
175
  }
254
- __name(useGenerativeUIState, "useGenerativeUIState");
255
176
 
256
177
  // src/genui/generative-ui.tsx
257
- var TreeScopeContext = /* @__PURE__ */ createContext2(null);
178
+ import { jsx } from "react/jsx-runtime";
179
+ var TreeScopeContext = createContext2(null);
258
180
  function renderFallback(fallback, problem) {
259
181
  if (typeof fallback === "function") return fallback(problem);
260
182
  return fallback ?? null;
261
183
  }
262
- __name(renderFallback, "renderFallback");
263
- var ItemBoundary = class ItemBoundary2 extends Component {
264
- static {
265
- __name(this, "ItemBoundary");
266
- }
267
- state = {
268
- error: void 0,
269
- failed: false
270
- };
184
+ var ItemBoundary = class extends Component {
185
+ state = { error: void 0, failed: false };
271
186
  static getDerivedStateFromError(error) {
272
- return {
273
- error,
274
- failed: true
275
- };
187
+ return { error, failed: true };
276
188
  }
277
189
  componentDidCatch(error, _info) {
278
190
  this.props.onError?.(error, this.props.item);
279
191
  }
280
192
  componentDidUpdate(previous) {
281
193
  if (this.state.failed && previous.item !== this.props.item) {
282
- this.setState({
283
- error: void 0,
284
- failed: false
285
- });
194
+ this.setState({ error: void 0, failed: false });
286
195
  }
287
196
  }
288
197
  render() {
@@ -297,139 +206,101 @@ var ItemBoundary = class ItemBoundary2 extends Component {
297
206
  }
298
207
  };
299
208
  function nodeItem(node, id) {
300
- return {
301
- id,
302
- component: node.type,
303
- props: node.props ?? {},
304
- version: null,
305
- toolCallId: null
306
- };
209
+ return { id, component: node.type, props: node.props ?? {}, version: null, toolCallId: null };
307
210
  }
308
- __name(nodeItem, "nodeItem");
309
211
  function TreeNode({ node, id }) {
310
212
  const scope = useContext2(TreeScopeContext);
311
- const item = useMemo2(() => nodeItem(node, id), [
312
- node,
313
- id
314
- ]);
315
- const resolution = useResolvedComponent(node.type, null, scope?.options.registry ?? {}, scope?.options.resolveComponent);
213
+ const item = useMemo2(() => nodeItem(node, id), [node, id]);
214
+ const resolution = useResolvedComponent(
215
+ node.type,
216
+ null,
217
+ scope?.options.registry ?? {},
218
+ scope?.options.resolveComponent
219
+ );
316
220
  const validation = useValidatedProps(scope?.options.catalog, node.type, item.props);
317
221
  if (scope === null) return null;
318
222
  if (resolution.status === "loading" || validation.status === "pending") return scope.loading;
319
223
  if (resolution.status === "unknown") {
320
- return renderFallback(scope.fallback, {
321
- reason: "unknown",
322
- item
323
- });
224
+ return renderFallback(scope.fallback, { reason: "unknown", item });
324
225
  }
325
226
  if (resolution.status === "error") {
326
- return renderFallback(scope.fallback, {
327
- reason: "error",
328
- item,
329
- error: resolution.error
330
- });
227
+ return renderFallback(scope.fallback, { reason: "error", item, error: resolution.error });
331
228
  }
332
229
  if (validation.status === "invalid") {
333
- return renderFallback(scope.fallback, {
334
- reason: "invalid",
335
- item,
336
- issues: validation.issues
337
- });
230
+ return renderFallback(scope.fallback, { reason: "invalid", item, issues: validation.issues });
338
231
  }
339
232
  const Renderer2 = resolution.Component;
340
233
  const children = Array.isArray(node.children) ? node.children : [];
341
- return /* @__PURE__ */ React.createElement(Renderer2, validation.props, children.length > 0 ? children.map((child, index) => {
234
+ return /* @__PURE__ */ jsx(Renderer2, { ...validation.props, children: children.length > 0 ? children.map((child, index) => {
342
235
  const childId = `${id}.${index}`;
343
- return /* @__PURE__ */ React.createElement(ItemBoundary, {
344
- key: childId,
345
- item: nodeItem(child, childId),
346
- fallback: scope.fallback,
347
- onError: scope.onError
348
- }, /* @__PURE__ */ React.createElement(TreeNode, {
349
- node: child,
350
- id: childId
351
- }));
352
- }) : void 0);
236
+ return /* @__PURE__ */ jsx(
237
+ ItemBoundary,
238
+ {
239
+ item: nodeItem(child, childId),
240
+ fallback: scope.fallback,
241
+ onError: scope.onError,
242
+ children: /* @__PURE__ */ jsx(TreeNode, { node: child, id: childId })
243
+ },
244
+ childId
245
+ );
246
+ }) : void 0 });
353
247
  }
354
- __name(TreeNode, "TreeNode");
355
248
  function GenuiTree({ root }) {
356
249
  if (root === void 0 || root === null || typeof root.type !== "string") return null;
357
- return /* @__PURE__ */ React.createElement(TreeNode, {
358
- node: root,
359
- id: "root"
360
- });
250
+ return /* @__PURE__ */ jsx(TreeNode, { node: root, id: "root" });
361
251
  }
362
- __name(GenuiTree, "GenuiTree");
363
- function GenerativeUIScope({ registry, catalog, resolveComponent, fallback, loading = null, onError, children }) {
364
- const scope = useMemo2(() => ({
365
- options: {
366
- registry,
367
- ...catalog !== void 0 ? {
368
- catalog
369
- } : {},
370
- ...resolveComponent !== void 0 ? {
371
- resolveComponent
372
- } : {}
373
- },
374
- fallback,
375
- loading,
376
- onError
377
- }), [
378
- registry,
379
- catalog,
380
- resolveComponent,
381
- fallback,
382
- loading,
383
- onError
384
- ]);
385
- return /* @__PURE__ */ React.createElement(TreeScopeContext.Provider, {
386
- value: scope
387
- }, children);
388
- }
389
- __name(GenerativeUIScope, "GenerativeUIScope");
390
- var GenuiContext = sharedContext("@dudousxd/nestjs-agent-react:genui-provider");
391
- function GenuiProvider({ registry, catalog, resolveComponent, treeRenderer, fallback, loading, onError, children }) {
392
- const value = useMemo2(() => ({
393
- ...registry !== void 0 ? {
394
- registry
395
- } : {},
396
- ...catalog !== void 0 ? {
397
- catalog
398
- } : {},
399
- ...resolveComponent !== void 0 ? {
400
- resolveComponent
401
- } : {},
402
- ...treeRenderer !== void 0 ? {
403
- treeRenderer
404
- } : {},
405
- ...fallback !== void 0 ? {
406
- fallback
407
- } : {},
408
- ...loading !== void 0 ? {
409
- loading
410
- } : {},
411
- ...onError !== void 0 ? {
252
+ function GenerativeUIScope({
253
+ registry,
254
+ catalog,
255
+ resolveComponent,
256
+ fallback,
257
+ loading = null,
258
+ onError,
259
+ children
260
+ }) {
261
+ const scope = useMemo2(
262
+ () => ({
263
+ options: {
264
+ registry,
265
+ ...catalog !== void 0 ? { catalog } : {},
266
+ ...resolveComponent !== void 0 ? { resolveComponent } : {}
267
+ },
268
+ fallback,
269
+ loading,
412
270
  onError
413
- } : {}
414
- }), [
415
- registry,
416
- catalog,
417
- resolveComponent,
418
- treeRenderer,
419
- fallback,
420
- loading,
421
- onError
422
- ]);
423
- const renderUi = useCallback((block) => /* @__PURE__ */ React.createElement(GenerativeUI, {
424
- part: block
425
- }), []);
426
- return /* @__PURE__ */ React.createElement(GenuiContext.Provider, {
427
- value
428
- }, /* @__PURE__ */ React.createElement(AmbientRenderUiContext.Provider, {
429
- value: renderUi
430
- }, children));
271
+ }),
272
+ [registry, catalog, resolveComponent, fallback, loading, onError]
273
+ );
274
+ return /* @__PURE__ */ jsx(TreeScopeContext.Provider, { value: scope, children });
275
+ }
276
+ var GenuiContext = sharedContext(
277
+ "@dudousxd/nestjs-agent-react:genui-provider"
278
+ );
279
+ function GenuiProvider({
280
+ registry,
281
+ catalog,
282
+ resolveComponent,
283
+ treeRenderer,
284
+ fallback,
285
+ loading,
286
+ onError,
287
+ children
288
+ }) {
289
+ const value = useMemo2(
290
+ () => ({
291
+ ...registry !== void 0 ? { registry } : {},
292
+ ...catalog !== void 0 ? { catalog } : {},
293
+ ...resolveComponent !== void 0 ? { resolveComponent } : {},
294
+ ...treeRenderer !== void 0 ? { treeRenderer } : {},
295
+ ...fallback !== void 0 ? { fallback } : {},
296
+ ...loading !== void 0 ? { loading } : {},
297
+ ...onError !== void 0 ? { onError } : {}
298
+ }),
299
+ [registry, catalog, resolveComponent, treeRenderer, fallback, loading, onError]
300
+ );
301
+ const renderUi = useCallback((block) => /* @__PURE__ */ jsx(GenerativeUI, { part: block }), []);
302
+ return /* @__PURE__ */ jsx(GenuiContext.Provider, { value, children: /* @__PURE__ */ jsx(AmbientRenderUiContext.Provider, { value: renderUi, children }) });
431
303
  }
432
- __name(GenuiProvider, "GenuiProvider");
433
304
  var NO_REGISTRY = {};
434
305
  function useMergedOptions(own) {
435
306
  const provided = useContext2(GenuiContext);
@@ -437,45 +308,41 @@ function useMergedOptions(own) {
437
308
  const catalog = own.catalog ?? provided?.catalog;
438
309
  const resolveComponent = own.resolveComponent ?? provided?.resolveComponent;
439
310
  const treeRenderer = own.treeRenderer ?? provided?.treeRenderer;
440
- return useMemo2(() => ({
441
- registry,
442
- ...catalog !== void 0 ? {
443
- catalog
444
- } : {},
445
- ...resolveComponent !== void 0 ? {
446
- resolveComponent
447
- } : {},
448
- ...treeRenderer !== void 0 ? {
449
- treeRenderer
450
- } : {}
451
- }), [
452
- registry,
453
- catalog,
454
- resolveComponent,
455
- treeRenderer
456
- ]);
311
+ return useMemo2(
312
+ () => ({
313
+ registry,
314
+ ...catalog !== void 0 ? { catalog } : {},
315
+ ...resolveComponent !== void 0 ? { resolveComponent } : {},
316
+ ...treeRenderer !== void 0 ? { treeRenderer } : {}
317
+ }),
318
+ [registry, catalog, resolveComponent, treeRenderer]
319
+ );
457
320
  }
458
- __name(useMergedOptions, "useMergedOptions");
459
- function GenerativeUI({ part, registry, catalog, resolveComponent, treeRenderer, fallback: ownFallback, loading: ownLoading, onError: ownOnError }) {
321
+ function GenerativeUI({
322
+ part,
323
+ registry,
324
+ catalog,
325
+ resolveComponent,
326
+ treeRenderer,
327
+ fallback: ownFallback,
328
+ loading: ownLoading,
329
+ onError: ownOnError
330
+ }) {
460
331
  const provided = useContext2(GenuiContext);
461
332
  const fallback = ownFallback ?? provided?.fallback;
462
333
  const loading = ownLoading ?? provided?.loading ?? null;
463
334
  const onError = ownOnError ?? provided?.onError;
464
335
  const options = useMergedOptions({
465
- ...registry !== void 0 ? {
466
- registry
467
- } : {},
468
- ...catalog !== void 0 ? {
469
- catalog
470
- } : {},
471
- ...resolveComponent !== void 0 ? {
472
- resolveComponent
473
- } : {},
474
- ...treeRenderer !== void 0 ? {
475
- treeRenderer
476
- } : {}
336
+ ...registry !== void 0 ? { registry } : {},
337
+ ...catalog !== void 0 ? { catalog } : {},
338
+ ...resolveComponent !== void 0 ? { resolveComponent } : {},
339
+ ...treeRenderer !== void 0 ? { treeRenderer } : {}
477
340
  });
478
- const state = useGenerativeUIState(part, options, options.treeRenderer ?? GenuiTree);
341
+ const state = useGenerativeUIState(
342
+ part,
343
+ options,
344
+ options.treeRenderer ?? GenuiTree
345
+ );
479
346
  if (state === null) return null;
480
347
  if (state.status === "loading") return loading;
481
348
  if (state.status === "problem") {
@@ -483,96 +350,65 @@ function GenerativeUI({ part, registry, catalog, resolveComponent, treeRenderer,
483
350
  return renderFallback(fallback, problem);
484
351
  }
485
352
  const Renderer2 = state.Component;
486
- return /* @__PURE__ */ React.createElement(GenerativeUIScope, {
487
- ...options,
488
- fallback,
489
- loading,
490
- ...onError !== void 0 ? {
491
- onError
492
- } : {}
493
- }, /* @__PURE__ */ React.createElement(ItemBoundary, {
494
- item: state.item,
495
- fallback,
496
- onError
497
- }, /* @__PURE__ */ React.createElement(Renderer2, state.props)));
353
+ return /* @__PURE__ */ jsx(
354
+ GenerativeUIScope,
355
+ {
356
+ ...options,
357
+ fallback,
358
+ loading,
359
+ ...onError !== void 0 ? { onError } : {},
360
+ children: /* @__PURE__ */ jsx(ItemBoundary, { item: state.item, fallback, onError, children: /* @__PURE__ */ jsx(Renderer2, { ...state.props }) })
361
+ }
362
+ );
498
363
  }
499
- __name(GenerativeUI, "GenerativeUI");
500
364
 
501
365
  // src/genui/json-render.tsx
366
+ import { jsx as jsx2 } from "react/jsx-runtime";
502
367
  function treeToJsonRenderSpec(root) {
503
368
  const elements = {};
504
369
  let next = 0;
505
- const visit = /* @__PURE__ */ __name((node) => {
370
+ const visit = (node) => {
506
371
  const id = `el-${next++}`;
507
- const entry = {
508
- type: node.type,
509
- props: node.props ?? {},
510
- children: []
511
- };
372
+ const entry = { type: node.type, props: node.props ?? {}, children: [] };
512
373
  elements[id] = entry;
513
374
  for (const child of node.children ?? []) entry.children.push(visit(child));
514
375
  return id;
515
- }, "visit");
516
- return {
517
- root: visit(root),
518
- elements
519
376
  };
377
+ return { root: visit(root), elements };
520
378
  }
521
- __name(treeToJsonRenderSpec, "treeToJsonRenderSpec");
522
379
  function toJsonRenderRegistry(registry) {
523
- return Object.fromEntries(Object.entries(registry).map(([name, Renderer2]) => [
524
- name,
525
- ({ element, children }) => /* @__PURE__ */ React.createElement(Renderer2, element.props ?? {}, children)
526
- ]));
380
+ return Object.fromEntries(
381
+ Object.entries(registry).map(([name, Renderer2]) => [
382
+ name,
383
+ ({ element, children }) => /* @__PURE__ */ jsx2(Renderer2, { ...element.props ?? {}, children })
384
+ ])
385
+ );
527
386
  }
528
- __name(toJsonRenderRegistry, "toJsonRenderRegistry");
529
387
  function JsonRenderTree({ root, registry, initialState }) {
530
- const spec = useMemo3(() => root === void 0 ? null : treeToJsonRenderSpec(root), [
531
- root
532
- ]);
388
+ const spec = useMemo3(() => root === void 0 ? null : treeToJsonRenderSpec(root), [root]);
533
389
  if (spec === null) return null;
534
- return /* @__PURE__ */ React.createElement(JSONUIProvider, {
535
- registry,
536
- ...initialState !== void 0 ? {
537
- initialState
538
- } : {}
539
- }, /* @__PURE__ */ React.createElement(Renderer, {
540
- spec,
541
- registry
542
- }));
390
+ return /* @__PURE__ */ jsx2(JSONUIProvider, { registry, ...initialState !== void 0 ? { initialState } : {}, children: /* @__PURE__ */ jsx2(Renderer, { spec, registry }) });
543
391
  }
544
- __name(JsonRenderTree, "JsonRenderTree");
545
392
  function jsonRenderTree(registry) {
546
- return /* @__PURE__ */ __name(function JsonRenderTreeFrame({ root }) {
547
- return /* @__PURE__ */ React.createElement(JsonRenderTree, {
548
- registry,
549
- ...root !== void 0 ? {
550
- root
551
- } : {}
552
- });
553
- }, "JsonRenderTreeFrame");
393
+ return function JsonRenderTreeFrame({ root }) {
394
+ return /* @__PURE__ */ jsx2(JsonRenderTree, { registry, ...root !== void 0 ? { root } : {} });
395
+ };
554
396
  }
555
- __name(jsonRenderTree, "jsonRenderTree");
556
397
  function GenuiProvider2({ jsonRender, treeRenderer, registry, ...rest }) {
557
398
  const derived = useMemo3(() => {
558
399
  if (jsonRender === void 0) return void 0;
559
400
  return jsonRenderTree(jsonRender === true ? toJsonRenderRegistry(registry ?? {}) : jsonRender);
560
- }, [
561
- jsonRender,
562
- registry
563
- ]);
401
+ }, [jsonRender, registry]);
564
402
  const tree = treeRenderer ?? derived;
565
- return /* @__PURE__ */ React.createElement(GenuiProvider, {
566
- ...rest,
567
- ...registry !== void 0 ? {
568
- registry
569
- } : {},
570
- ...tree !== void 0 ? {
571
- treeRenderer: tree
572
- } : {}
573
- });
403
+ return /* @__PURE__ */ jsx2(
404
+ GenuiProvider,
405
+ {
406
+ ...rest,
407
+ ...registry !== void 0 ? { registry } : {},
408
+ ...tree !== void 0 ? { treeRenderer: tree } : {}
409
+ }
410
+ );
574
411
  }
575
- __name(GenuiProvider2, "GenuiProvider");
576
412
  export {
577
413
  GenuiProvider2 as GenuiProvider,
578
414
  JsonRenderTree,