@burdenoff/fe-libs 2026.1027.4 → 2026.1027.6

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.
Files changed (30) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +2 -5
  2. package/dist/chrome/ProfileSwitcher.js +106 -105
  3. package/dist/node_modules/@openuidev/devtools/dist/index.js +34 -35
  4. package/dist/node_modules/@openuidev/lang-core/dist/index.js +826 -828
  5. package/dist/node_modules/@openuidev/react-lang/dist/index.js +6 -7
  6. package/dist/shared/assistant/openui/library.js +73 -73
  7. package/package.json +1 -1
  8. package/dist/node_modules/react-dom/cjs/react-dom-client.development.js +0 -11168
  9. package/dist/node_modules/react-dom/cjs/react-dom-client.production.js +0 -7384
  10. package/dist/node_modules/react-dom/client.js +0 -19
  11. package/dist/node_modules/scheduler/cjs/scheduler.development.js +0 -203
  12. package/dist/node_modules/scheduler/cjs/scheduler.production.js +0 -203
  13. package/dist/node_modules/scheduler/index.js +0 -10
  14. package/dist/node_modules/zod/v4/classic/errors.js +0 -23
  15. package/dist/node_modules/zod/v4/classic/iso.js +0 -31
  16. package/dist/node_modules/zod/v4/classic/parse.js +0 -6
  17. package/dist/node_modules/zod/v4/classic/schemas.js +0 -339
  18. package/dist/node_modules/zod/v4/core/api.js +0 -491
  19. package/dist/node_modules/zod/v4/core/checks.js +0 -283
  20. package/dist/node_modules/zod/v4/core/core.js +0 -44
  21. package/dist/node_modules/zod/v4/core/doc.js +0 -23
  22. package/dist/node_modules/zod/v4/core/errors.js +0 -41
  23. package/dist/node_modules/zod/v4/core/json-schema-processors.js +0 -306
  24. package/dist/node_modules/zod/v4/core/parse.js +0 -68
  25. package/dist/node_modules/zod/v4/core/regexes.js +0 -25
  26. package/dist/node_modules/zod/v4/core/registries.js +0 -40
  27. package/dist/node_modules/zod/v4/core/schemas.js +0 -796
  28. package/dist/node_modules/zod/v4/core/to-json-schema.js +0 -222
  29. package/dist/node_modules/zod/v4/core/util.js +0 -266
  30. package/dist/node_modules/zod/v4/core/versions.js +0 -8
@@ -1,14 +1,13 @@
1
- import { __toESM as e } from "../../../../_virtual/_rolldown/runtime.js";
2
- import { ACTION_STEPS as t, BuiltinActionType as n, ToolNotFoundError as r, action as i, buildMessage as a, builtInValidators as o, createParser as s, createStreamingParser as c, defineAction as l, defineFunction as u, extractToolResult as d, generatePrompt as f, generateSystemPrompt as p, isReactiveAssign as m, mergeStatements as h, parseMessage as g, parseRules as _, parseStructuredRules as v, steps as y, tagSchemaId as b, validate as x } from "../../lang-core/dist/index.js";
3
- import { FormNameContext as S, FormValidationContext as C, Renderer as w, WithPreviewRenderer as T, createLibrary$1 as E, defineComponent$1 as D, reactive as O, useCreateFormValidation as k, useFormName as A, useFormValidation as j, useGetFieldValue as M, useIsQueryLoading as N, useIsStreaming as P, useRenderNode as F, useRendererPreview as I, useRendererQuery as L, useSetDefaultValue as R, useSetFieldValue as z, useStateField as B, useTriggerAction as V } from "./exports-CLfR509v.js";
1
+ import { ACTION_STEPS as e, BuiltinActionType as t, ToolNotFoundError as n, action as r, buildMessage as i, builtInValidators as a, createParser as o, createStreamingParser as s, defineAction as c, defineFunction as l, extractToolResult as u, generatePrompt as d, generateSystemPrompt as f, isReactiveAssign as p, mergeStatements as m, parseMessage as h, parseRules as g, parseStructuredRules as _, steps as v, tagSchemaId as y, validate as b } from "../../lang-core/dist/index.js";
2
+ import { FormNameContext as x, FormValidationContext as S, Renderer as C, WithPreviewRenderer as w, createLibrary$1 as T, defineComponent$1 as E, reactive as D, useCreateFormValidation as O, useFormName as k, useFormValidation as A, useGetFieldValue as j, useIsQueryLoading as M, useIsStreaming as N, useRenderNode as P, useRendererPreview as F, useRendererQuery as I, useSetDefaultValue as L, useSetFieldValue as R, useStateField as z, useTriggerAction as B } from "./exports-CLfR509v.js";
4
3
  //#region node_modules/@openuidev/react-lang/dist/index.mjs
5
4
  if (process.env.NODE_ENV === "development") {
6
- let t = Symbol.for("openui.devtools.autoMount"), n = globalThis;
7
- n[t] || (n[t] = !0, Promise.resolve().then(() => {
5
+ let e = Symbol.for("openui.devtools.autoMount"), t = globalThis;
6
+ t[e] || (t[e] = !0, Promise.resolve().then(() => {
8
7
  typeof document > "u" || Promise.all([
9
8
  import("../../devtools/dist/index.js"),
10
9
  import("react"),
11
- import("../../../react-dom/client.js").then((t) => /* @__PURE__ */ e(t.default, 1))
10
+ import("react-dom/client")
12
11
  ]).then(([{ OpenUIDevtools: e }, t, n]) => {
13
12
  let r = () => {
14
13
  let r = document.createElement("div");
@@ -22,4 +21,4 @@ if (process.env.NODE_ENV === "development") {
22
21
  }));
23
22
  }
24
23
  //#endregion
25
- export { t as ACTION_STEPS, n as BuiltinActionType, S as FormNameContext, C as FormValidationContext, w as Renderer, r as ToolNotFoundError, T as WithPreviewRenderer, i as action, a as buildMessage, o as builtInValidators, E as createLibrary, s as createParser, c as createStreamingParser, l as defineAction, D as defineComponent, u as defineFunction, d as extractToolResult, f as generatePrompt, p as generateSystemPrompt, m as isReactiveAssign, h as mergeStatements, g as parseMessage, _ as parseRules, v as parseStructuredRules, O as reactive, y as steps, b as tagSchemaId, k as useCreateFormValidation, A as useFormName, j as useFormValidation, M as useGetFieldValue, N as useIsQueryLoading, P as useIsStreaming, F as useRenderNode, I as useRendererPreview, L as useRendererQuery, R as useSetDefaultValue, z as useSetFieldValue, B as useStateField, V as useTriggerAction, x as validate };
24
+ export { e as ACTION_STEPS, t as BuiltinActionType, x as FormNameContext, S as FormValidationContext, C as Renderer, n as ToolNotFoundError, w as WithPreviewRenderer, r as action, i as buildMessage, a as builtInValidators, T as createLibrary, o as createParser, s as createStreamingParser, c as defineAction, E as defineComponent, l as defineFunction, u as extractToolResult, d as generatePrompt, f as generateSystemPrompt, p as isReactiveAssign, m as mergeStatements, h as parseMessage, g as parseRules, _ as parseStructuredRules, D as reactive, v as steps, y as tagSchemaId, O as useCreateFormValidation, k as useFormName, A as useFormValidation, j as useGetFieldValue, M as useIsQueryLoading, N as useIsStreaming, P as useRenderNode, F as useRendererPreview, I as useRendererQuery, L as useSetDefaultValue, R as useSetFieldValue, z as useStateField, B as useTriggerAction, b as validate };
@@ -1,87 +1,87 @@
1
1
  import { barWidthPercent as e } from "./limits.js";
2
- import { array as t, number as n, object as r, string as i, union as a } from "../../../node_modules/zod/v4/classic/schemas.js";
3
- import { createLibrary$1 as o, defineComponent$1 as s, useRenderNode as c } from "../../../node_modules/@openuidev/react-lang/dist/exports-CLfR509v.js";
2
+ import { createLibrary$1 as t, defineComponent$1 as n, useRenderNode as r } from "../../../node_modules/@openuidev/react-lang/dist/exports-CLfR509v.js";
4
3
  import "../../../node_modules/@openuidev/react-lang/dist/index.js";
5
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ import { z as o } from "zod/v4";
6
6
  //#region src/shared/assistant/openui/library.tsx
7
- var d = ({ items: e, limit: t, className: n, testId: r, cellClassName: i }) => {
8
- let a = c();
9
- return /* @__PURE__ */ l("div", {
7
+ var s = ({ items: e, limit: t, className: n, testId: a, cellClassName: o }) => {
8
+ let s = r();
9
+ return /* @__PURE__ */ i("div", {
10
10
  className: n,
11
- "data-testid": r,
12
- children: e.slice(0, t).map((e, t) => /* @__PURE__ */ l("div", {
13
- className: i,
14
- children: a(e)
11
+ "data-testid": a,
12
+ children: e.slice(0, t).map((e, t) => /* @__PURE__ */ i("div", {
13
+ className: o,
14
+ children: s(e)
15
15
  }, t))
16
16
  });
17
- }, f = a([i(), n()]), p = s({
17
+ }, c = o.union([o.string(), o.number()]), l = n({
18
18
  name: "Stat",
19
19
  description: "One headline figure: a short label, its value, and an optional one-line hint.",
20
- props: r({
21
- label: i().describe("What the figure measures, e.g. \"Open tasks\""),
22
- value: f.describe("The figure itself, e.g. 12 or \"98%\""),
23
- hint: i().optional().describe("Optional context, e.g. \"+3 since yesterday\"")
20
+ props: o.object({
21
+ label: o.string().describe("What the figure measures, e.g. \"Open tasks\""),
22
+ value: c.describe("The figure itself, e.g. 12 or \"98%\""),
23
+ hint: o.string().optional().describe("Optional context, e.g. \"+3 since yesterday\"")
24
24
  }),
25
- component: ({ props: e }) => /* @__PURE__ */ u("div", {
25
+ component: ({ props: e }) => /* @__PURE__ */ a("div", {
26
26
  className: "min-w-0 rounded-lg border border-border-subtle bg-bg-surface px-3 py-2.5",
27
27
  "data-testid": "assistant-openui-stat",
28
28
  children: [
29
- /* @__PURE__ */ l("div", {
29
+ /* @__PURE__ */ i("div", {
30
30
  className: "truncate text-[12px] text-text-muted",
31
31
  children: e.label
32
32
  }),
33
- /* @__PURE__ */ l("div", {
33
+ /* @__PURE__ */ i("div", {
34
34
  className: "mt-0.5 truncate text-xl font-semibold leading-tight text-text-primary",
35
35
  children: String(e.value)
36
36
  }),
37
- e.hint ? /* @__PURE__ */ l("div", {
37
+ e.hint ? /* @__PURE__ */ i("div", {
38
38
  className: "mt-0.5 truncate text-[12px] text-text-muted",
39
39
  children: e.hint
40
40
  }) : null
41
41
  ]
42
42
  })
43
- }), m = s({
43
+ }), u = n({
44
44
  name: "StatGrid",
45
45
  description: "A row of up to 8 Stat cards for headline numbers.",
46
- props: r({ stats: t(p.ref) }),
47
- component: ({ props: e }) => /* @__PURE__ */ l(d, {
46
+ props: o.object({ stats: o.array(l.ref) }),
47
+ component: ({ props: e }) => /* @__PURE__ */ i(s, {
48
48
  className: "grid grid-cols-2 gap-2",
49
49
  testId: "assistant-openui-stat-grid",
50
50
  items: e.stats,
51
51
  limit: 8,
52
52
  cellClassName: "min-w-0"
53
53
  })
54
- }), h = s({
54
+ }), d = n({
55
55
  name: "DataTable",
56
56
  description: "A table. columns are the header labels (max 8); rows are arrays of cells in the same order (max 50 rows).",
57
- props: r({
58
- columns: t(i()),
59
- rows: t(t(f)),
60
- caption: i().optional()
57
+ props: o.object({
58
+ columns: o.array(o.string()),
59
+ rows: o.array(o.array(c)),
60
+ caption: o.string().optional()
61
61
  }),
62
62
  component: ({ props: e }) => {
63
63
  let t = e.columns.slice(0, 8), n = e.rows.slice(0, 50);
64
- return /* @__PURE__ */ l("div", {
64
+ return /* @__PURE__ */ i("div", {
65
65
  className: "overflow-x-auto rounded-lg border border-border-subtle",
66
66
  "data-testid": "assistant-openui-table",
67
- children: /* @__PURE__ */ u("table", {
67
+ children: /* @__PURE__ */ a("table", {
68
68
  className: "w-full border-collapse text-[0.9em]",
69
69
  children: [
70
- e.caption ? /* @__PURE__ */ l("caption", {
70
+ e.caption ? /* @__PURE__ */ i("caption", {
71
71
  className: "px-2 py-1.5 text-left text-[12px] text-text-muted",
72
72
  children: e.caption
73
73
  }) : null,
74
- /* @__PURE__ */ l("thead", {
74
+ /* @__PURE__ */ i("thead", {
75
75
  className: "bg-bg-sunken",
76
- children: /* @__PURE__ */ l("tr", { children: t.map((e, t) => /* @__PURE__ */ l("th", {
76
+ children: /* @__PURE__ */ i("tr", { children: t.map((e, t) => /* @__PURE__ */ i("th", {
77
77
  scope: "col",
78
78
  className: "px-2 py-1.5 text-left font-semibold text-text-primary",
79
79
  children: e
80
80
  }, t)) })
81
81
  }),
82
- /* @__PURE__ */ l("tbody", { children: n.map((e, n) => /* @__PURE__ */ l("tr", {
82
+ /* @__PURE__ */ i("tbody", { children: n.map((e, n) => /* @__PURE__ */ i("tr", {
83
83
  className: "border-t border-border-subtle",
84
- children: t.map((t, n) => /* @__PURE__ */ l("td", {
84
+ children: t.map((t, n) => /* @__PURE__ */ i("td", {
85
85
  className: "px-2 py-1.5 align-top text-text-primary",
86
86
  children: e[n] === void 0 ? "" : String(e[n])
87
87
  }, n))
@@ -90,49 +90,49 @@ var d = ({ items: e, limit: t, className: n, testId: r, cellClassName: i }) => {
90
90
  })
91
91
  });
92
92
  }
93
- }), g = s({
93
+ }), f = n({
94
94
  name: "Bar",
95
95
  description: "One bar of a BarChart: a label and a non-negative number.",
96
- props: r({
97
- label: i(),
98
- value: n()
96
+ props: o.object({
97
+ label: o.string(),
98
+ value: o.number()
99
99
  }),
100
- component: ({ props: e }) => /* @__PURE__ */ u("span", { children: [
100
+ component: ({ props: e }) => /* @__PURE__ */ a("span", { children: [
101
101
  e.label,
102
102
  ": ",
103
103
  e.value
104
104
  ] })
105
- }), _ = s({
105
+ }), p = n({
106
106
  name: "BarChart",
107
107
  description: "A horizontal bar chart comparing up to 20 values. Use for rankings and breakdowns.",
108
- props: r({
109
- title: i().optional(),
110
- bars: t(g.ref)
108
+ props: o.object({
109
+ title: o.string().optional(),
110
+ bars: o.array(f.ref)
111
111
  }),
112
112
  component: ({ props: t }) => {
113
113
  let n = t.bars.slice(0, 20).map((e) => e.props), r = Math.max(0, ...n.map((e) => Number.isFinite(e.value) ? e.value : 0));
114
- return /* @__PURE__ */ u("figure", {
114
+ return /* @__PURE__ */ a("figure", {
115
115
  className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
116
116
  "data-testid": "assistant-openui-bar-chart",
117
- children: [t.title ? /* @__PURE__ */ l("figcaption", {
117
+ children: [t.title ? /* @__PURE__ */ i("figcaption", {
118
118
  className: "mb-2 text-[13px] font-semibold text-text-primary",
119
119
  children: t.title
120
- }) : null, /* @__PURE__ */ l("ul", {
120
+ }) : null, /* @__PURE__ */ i("ul", {
121
121
  className: "space-y-1.5",
122
- children: n.map((t, n) => /* @__PURE__ */ u("li", {
122
+ children: n.map((t, n) => /* @__PURE__ */ a("li", {
123
123
  className: "text-[12px]",
124
- children: [/* @__PURE__ */ u("div", {
124
+ children: [/* @__PURE__ */ a("div", {
125
125
  className: "mb-0.5 flex justify-between gap-2 text-text-primary",
126
- children: [/* @__PURE__ */ l("span", {
126
+ children: [/* @__PURE__ */ i("span", {
127
127
  className: "min-w-0 truncate",
128
128
  children: t.label
129
- }), /* @__PURE__ */ l("span", {
129
+ }), /* @__PURE__ */ i("span", {
130
130
  className: "shrink-0 text-text-muted",
131
131
  children: t.value
132
132
  })]
133
- }), /* @__PURE__ */ l("div", {
133
+ }), /* @__PURE__ */ i("div", {
134
134
  className: "h-2 overflow-hidden rounded-full bg-bg-sunken",
135
- children: /* @__PURE__ */ l("div", {
135
+ children: /* @__PURE__ */ i("div", {
136
136
  className: "h-full rounded-full bg-action-primary-bg",
137
137
  style: { width: `${e(t.value, r)}%` }
138
138
  })
@@ -141,51 +141,51 @@ var d = ({ items: e, limit: t, className: n, testId: r, cellClassName: i }) => {
141
141
  })]
142
142
  });
143
143
  }
144
- }), v = s({
144
+ }), m = n({
145
145
  name: "Callout",
146
146
  description: "A short highlighted note: a one-line title and a sentence or two of body.",
147
- props: r({
148
- title: i(),
149
- body: i().optional()
147
+ props: o.object({
148
+ title: o.string(),
149
+ body: o.string().optional()
150
150
  }),
151
- component: ({ props: e }) => /* @__PURE__ */ u("div", {
151
+ component: ({ props: e }) => /* @__PURE__ */ a("div", {
152
152
  className: "rounded-lg border border-border-default bg-bg-sunken px-3 py-2",
153
153
  role: "note",
154
154
  "data-testid": "assistant-openui-callout",
155
- children: [/* @__PURE__ */ l("div", {
155
+ children: [/* @__PURE__ */ i("div", {
156
156
  className: "text-[13px] font-semibold text-text-primary",
157
157
  children: e.title
158
- }), e.body ? /* @__PURE__ */ l("div", {
158
+ }), e.body ? /* @__PURE__ */ i("div", {
159
159
  className: "mt-0.5 text-[13px] leading-relaxed text-text-muted",
160
160
  children: e.body
161
161
  }) : null]
162
162
  })
163
- }), y = o({
163
+ }), h = t({
164
164
  components: [
165
- s({
165
+ n({
166
166
  name: "Stack",
167
167
  description: "The root: lays out up to 12 blocks (StatGrid, DataTable, BarChart, Callout) top to bottom.",
168
- props: r({ children: t(a([
169
- m.ref,
170
- h.ref,
171
- _.ref,
172
- v.ref
168
+ props: o.object({ children: o.array(o.union([
169
+ u.ref,
170
+ d.ref,
171
+ p.ref,
172
+ m.ref
173
173
  ])) }),
174
- component: ({ props: e }) => /* @__PURE__ */ l(d, {
174
+ component: ({ props: e }) => /* @__PURE__ */ i(s, {
175
175
  className: "my-2 flex flex-col gap-2",
176
176
  testId: "assistant-openui-stack",
177
177
  items: e.children,
178
178
  limit: 12
179
179
  })
180
180
  }),
181
- m,
181
+ u,
182
+ l,
183
+ d,
182
184
  p,
183
- h,
184
- _,
185
- g,
186
- v
185
+ f,
186
+ m
187
187
  ],
188
188
  root: "Stack"
189
189
  });
190
190
  //#endregion
191
- export { y as default };
191
+ export { h as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.1027.4",
3
+ "version": "2026.1027.6",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {