@hachej/boring-workspace 0.1.17 → 0.1.18

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 (37) hide show
  1. package/README.md +36 -34
  2. package/dist/{FileTree-Dvaud3jU.js → FileTree-DHVB9rpk.js} +15 -15
  3. package/dist/{MarkdownEditor-sLkqTXDj.js → MarkdownEditor-L1KDH0bM.js} +1 -1
  4. package/dist/{WorkspaceLoadingState-zLzh1tGc.js → WorkspaceLoadingState-DYDxUYnx.js} +114 -110
  5. package/dist/WorkspaceProvider-CDPaAO5u.js +5971 -0
  6. package/dist/app-front.d.ts +94 -107
  7. package/dist/app-front.js +243 -233
  8. package/dist/app-server.d.ts +130 -15
  9. package/dist/app-server.js +1569 -304
  10. package/dist/{bootstrapServer-BreQ9QBc.d.ts → createInMemoryBridge-BDxDzihm.d.ts} +11 -26
  11. package/dist/manifest-CyNNdfYz.d.ts +58 -0
  12. package/dist/plugin.d.ts +199 -0
  13. package/dist/plugin.js +300 -0
  14. package/dist/server.d.ts +239 -4
  15. package/dist/server.js +901 -78
  16. package/dist/shared.d.ts +4 -112
  17. package/dist/surface-COYagY2m.d.ts +111 -0
  18. package/dist/testing.d.ts +19 -1
  19. package/dist/testing.js +2 -2
  20. package/dist/{agent-tool-DEtfQPVB.d.ts → ui-bridge-Gfh1MMgl.d.ts} +30 -30
  21. package/dist/workspace.css +36 -0
  22. package/dist/workspace.d.ts +165 -120
  23. package/dist/workspace.js +330 -377
  24. package/docs/INTERFACES.md +9 -9
  25. package/docs/PLUGIN_STRUCTURE.md +39 -145
  26. package/docs/PLUGIN_SYSTEM.md +355 -0
  27. package/docs/README.md +6 -1
  28. package/docs/plans/README.md +1 -0
  29. package/docs/plans/archive/HOT_RELOADABLE_AGENT_PLUGINS_PLAN.md +218 -0
  30. package/docs/plans/archive/RELOAD_PLUGGABILITY_PLAN.md +174 -0
  31. package/docs/plans/archive/UNIFIED_PLUGIN_SYSTEM_PLAN.md +769 -0
  32. package/package.json +11 -5
  33. package/dist/CommandPalette-CJHuTJlD.js +0 -5716
  34. package/docs/bridge.md +0 -135
  35. package/docs/panels.md +0 -102
  36. package/docs/plugins.md +0 -158
  37. /package/docs/plans/{MACRO_PLUGIN_GENERIC_HELPERS_AUDIT.md → archive/MACRO_PLUGIN_GENERIC_HELPERS_AUDIT.md} +0 -0
@@ -1,10 +1,10 @@
1
- import { jsxs as d, jsx as a, Fragment as V } from "react/jsx-runtime";
2
- import { useCallback as b, useMemo as F, useEffect as I, useState as q, Suspense as Q, useRef as Y } from "react";
3
- import { LoadingState as ee, ResizeHandle as te, IconButton as Z, Button as ne, Kbd as re } from "@hachej/boring-ui-kit";
1
+ import { jsxs as l, jsx as a, Fragment as V } from "react/jsx-runtime";
2
+ import { useCallback as b, useMemo as E, useEffect as z, useState as q, useSyncExternalStore as Q, Suspense as Y, useRef as ee } from "react";
3
+ import { LoadingState as te, ResizeHandle as ne, IconButton as Z, Button as re, Kbd as ae } from "@hachej/boring-ui-kit";
4
4
  import { c as g } from "./utils-B6yFEsav.js";
5
- import { a0 as ae, a7 as oe, B as ie, an as se, al as ce, u as de } from "./CommandPalette-CJHuTJlD.js";
6
- import { Search as le, Plus as ue } from "lucide-react";
7
- function ke(e, t, r = !0) {
5
+ import { $ as oe, a6 as ie, z as se, an as ce, al as de, u as le, ag as ue } from "./WorkspaceProvider-CDPaAO5u.js";
6
+ import { Search as he, Plus as me } from "lucide-react";
7
+ function _e(e, t, r = !0) {
8
8
  if (!r || typeof window > "u") return t;
9
9
  try {
10
10
  const n = window.localStorage.getItem(e);
@@ -14,40 +14,40 @@ function ke(e, t, r = !0) {
14
14
  }
15
15
  return t;
16
16
  }
17
- function _e(e, t, r = !0) {
17
+ function Se(e, t, r = !0) {
18
18
  if (!(!r || typeof window > "u"))
19
19
  try {
20
20
  window.localStorage.setItem(e, t ? "1" : "0");
21
21
  } catch {
22
22
  }
23
23
  }
24
- function T(e, t, r = !0) {
24
+ function $(e, t, r = !0) {
25
25
  if (!r || typeof window > "u") return t;
26
26
  try {
27
27
  const n = window.localStorage.getItem(e);
28
28
  if (n === null) return t;
29
- const i = Number(n);
30
- return Number.isFinite(i) ? i : t;
29
+ const s = Number(n);
30
+ return Number.isFinite(s) ? s : t;
31
31
  } catch {
32
32
  }
33
33
  return t;
34
34
  }
35
- function he(e, t, r = !0) {
35
+ function fe(e, t, r = !0) {
36
36
  if (!(!r || typeof window > "u"))
37
37
  try {
38
38
  window.localStorage.setItem(e, String(Math.round(t)));
39
39
  } catch {
40
40
  }
41
41
  }
42
- function Ce(e = {}) {
42
+ function We(e = {}) {
43
43
  const {
44
44
  nav: t = "session-list",
45
45
  navParams: r,
46
46
  center: n = "chat",
47
- centerParams: i,
47
+ centerParams: s,
48
48
  surface: c,
49
- surfaceParams: l,
50
- sidebar: s,
49
+ surfaceParams: d,
50
+ sidebar: i,
51
51
  sidebarParams: x
52
52
  } = e, w = [];
53
53
  return t && w.push({
@@ -62,12 +62,12 @@ function Ce(e = {}) {
62
62
  id: "center",
63
63
  position: "center",
64
64
  panel: n,
65
- params: i,
65
+ params: s,
66
66
  hideHeader: !0
67
- }), s && w.push({
67
+ }), i && w.push({
68
68
  id: "sidebar",
69
69
  position: "left",
70
- panel: s,
70
+ panel: i,
71
71
  params: x,
72
72
  hideHeader: !0,
73
73
  collapsible: !0,
@@ -77,34 +77,34 @@ function Ce(e = {}) {
77
77
  id: "surface",
78
78
  position: "right",
79
79
  panel: c,
80
- params: l,
80
+ params: d,
81
81
  hideHeader: !0,
82
82
  dynamic: !0,
83
83
  placeholder: "empty"
84
84
  }), { version: "2.0", groups: w };
85
85
  }
86
- function Se(e) {
87
- const t = e.nav !== null, r = e.surface !== void 0, n = !!e.surface, i = e.nav || "session-list", c = e.center ?? "chat", l = e.surface || "artifact-surface", s = me(), [x, w] = $(
86
+ function Ne(e) {
87
+ const t = e.nav !== null, r = e.surface !== void 0, n = !!e.surface, s = e.nav || "session-list", c = e.center ?? "chat", d = e.surface || "artifact-surface", i = ge(), [x, w] = T(
88
88
  e.storageKey ? `${e.storageKey}:drawerWidth` : void 0,
89
89
  260
90
- ), [G, J] = $(
90
+ ), [G, J] = T(
91
91
  e.storageKey ? `${e.storageKey}:surfaceWidth` : void 0,
92
92
  680
93
- ), u = ae(), z = O(x, 200, 360), K = Math.max(480, Math.floor(s * 0.72)), L = O(G, 480, K), R = y(e.centerParams, "getSurface"), D = y(e.centerParams, "isWorkbenchOpen"), A = y(e.centerParams, "openWorkbench"), j = y(e.centerParams, "closeWorkbench"), h = B(e.navParams, "onClose"), m = B(e.surfaceParams, "onClose"), p = B(e.sidebarParams, "onClose"), M = B(e.navParams, "onCreate"), v = !!e.sidebar, k = t ? !!h : !!e.onOpenNav, _ = n ? !!m : !!e.onOpenSurface, C = v ? !!p : !!e.onOpenSidebar, S = b(() => {
93
+ ), u = oe(), I = O(x, 200, 360), K = Math.max(480, Math.floor(i * 0.72)), L = O(G, 480, K), R = y(e.centerParams, "getSurface"), D = y(e.centerParams, "isWorkbenchOpen"), A = y(e.centerParams, "openWorkbench"), j = y(e.centerParams, "closeWorkbench"), h = B(e.navParams, "onClose"), m = B(e.surfaceParams, "onClose"), p = B(e.sidebarParams, "onClose"), M = B(e.navParams, "onCreate"), v = !!e.sidebar, k = t ? !!h : !!e.onOpenNav, C = n ? !!m : !!e.onOpenSurface, _ = v ? !!p : !!e.onOpenSidebar, S = b(() => {
94
94
  var o;
95
95
  if (t) {
96
96
  h == null || h();
97
97
  return;
98
98
  }
99
99
  (o = e.onOpenNav) == null || o.call(e);
100
- }, [h, t, e.onOpenNav]), N = b(() => {
100
+ }, [h, t, e.onOpenNav]), W = b(() => {
101
101
  var o;
102
102
  if (n) {
103
103
  m == null || m();
104
104
  return;
105
105
  }
106
106
  (o = e.onOpenSurface) == null || o.call(e);
107
- }, [m, e.onOpenSurface, n]), W = b(() => {
107
+ }, [m, e.onOpenSurface, n]), N = b(() => {
108
108
  var o;
109
109
  if (v) {
110
110
  p == null || p();
@@ -112,14 +112,14 @@ function Se(e) {
112
112
  }
113
113
  (o = e.onOpenSidebar) == null || o.call(e);
114
114
  }, [p, e.onOpenSidebar, v]), P = b(() => {
115
- t && (h == null || h()), n && (m == null || m()), E(), fe();
115
+ t && (h == null || h()), n && (m == null || m()), F(), be();
116
116
  }, [h, m, t, n]);
117
- return oe({
118
- shortcuts: F(() => {
117
+ return ie({
118
+ shortcuts: E(() => {
119
119
  const o = [];
120
- return k && o.push({ key: "1", mod: !0, handler: S }), _ && o.push({ key: "2", mod: !0, handler: N }), C && o.push({ key: "3", mod: !0, allowInEditable: !0, handler: W }), c === "chat" && o.push({ key: "Escape", allowInEditable: !0, handler: P }), o;
121
- }, [k, C, _, c, P, S, W, N])
122
- }), I(() => {
120
+ return k && o.push({ key: "1", mod: !0, handler: S }), C && o.push({ key: "2", mod: !0, handler: W }), _ && o.push({ key: "3", mod: !0, allowInEditable: !0, handler: N }), c === "chat" && o.push({ key: "Escape", allowInEditable: !0, handler: P }), o;
121
+ }, [k, _, C, c, P, S, N, W])
122
+ }), z(() => {
123
123
  const o = "workspace:chat-layout", f = "agent:chat-layout";
124
124
  return u.unregisterByPluginId(o), u.unregisterByPluginId(f), u.registerCommand({
125
125
  id: "workspace:open-session-history",
@@ -135,16 +135,16 @@ function Se(e) {
135
135
  keywords: ["surface", "artifacts", "sources", "workbench", n ? "close" : "open"],
136
136
  shortcut: "⌘2",
137
137
  pluginId: o,
138
- when: () => _,
139
- run: N
138
+ when: () => C,
139
+ run: W
140
140
  }), u.registerCommand({
141
141
  id: "workspace:toggle-workbench-left-panel",
142
142
  title: v ? "Close Workbench Left Panel" : "Open Workbench Left Panel",
143
143
  keywords: ["left", "sidebar", "tabs", "workbench", v ? "close" : "open"],
144
144
  shortcut: "⌘3",
145
145
  pluginId: o,
146
- when: () => C,
147
- run: W
146
+ when: () => _,
147
+ run: N
148
148
  }), c === "chat" && u.registerCommand({
149
149
  id: "agent:focus-chat",
150
150
  title: "Focus Chat",
@@ -172,8 +172,8 @@ function Se(e) {
172
172
  e.onOpenSurface,
173
173
  e.onOpenSidebar,
174
174
  k,
175
- _,
176
175
  C,
176
+ _,
177
177
  h,
178
178
  m,
179
179
  p,
@@ -181,9 +181,9 @@ function Se(e) {
181
181
  P,
182
182
  v,
183
183
  S,
184
- N,
185
- W
186
- ]), I(() => {
184
+ W,
185
+ N
186
+ ]), z(() => {
187
187
  if (!R || !D || !A) return;
188
188
  const o = {
189
189
  surface: R,
@@ -191,17 +191,17 @@ function Se(e) {
191
191
  openWorkbench: A,
192
192
  closeWorkbench: j
193
193
  };
194
- return ie.on(se.uiCommand, ({ command: f }) => {
195
- ce(f, o);
194
+ return se.on(ce.uiCommand, ({ command: f }) => {
195
+ de(f, o);
196
196
  });
197
- }, [R, D, A, j]), /* @__PURE__ */ d(
197
+ }, [R, D, A, j]), /* @__PURE__ */ l(
198
198
  "div",
199
199
  {
200
200
  "data-boring-workspace": "",
201
201
  "data-boring-workspace-part": "shell",
202
202
  className: g("relative flex h-full min-h-0 w-full overflow-hidden bg-background", e.className),
203
203
  children: [
204
- /* @__PURE__ */ d(
204
+ /* @__PURE__ */ l(
205
205
  "aside",
206
206
  {
207
207
  "data-boring-workspace-part": "session-drawer",
@@ -214,9 +214,9 @@ function Se(e) {
214
214
  t && "border-r border-[color:oklch(from_var(--border)_l_c_h/0.6)]"
215
215
  ),
216
216
  style: {
217
- width: t ? z : 0,
218
- minWidth: t ? z : 0,
219
- maxWidth: t ? z : 0,
217
+ width: t ? I : 0,
218
+ minWidth: t ? I : 0,
219
+ maxWidth: t ? I : 0,
220
220
  willChange: "width"
221
221
  },
222
222
  children: [
@@ -228,7 +228,7 @@ function Se(e) {
228
228
  "transition-opacity duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]",
229
229
  t ? "opacity-100" : "opacity-0"
230
230
  ),
231
- children: /* @__PURE__ */ a(H, { id: i, params: e.navParams })
231
+ children: /* @__PURE__ */ a(H, { id: s, params: e.navParams })
232
232
  }
233
233
  ),
234
234
  t ? /* @__PURE__ */ a(
@@ -242,7 +242,7 @@ function Se(e) {
242
242
  ]
243
243
  }
244
244
  ),
245
- /* @__PURE__ */ d(
245
+ /* @__PURE__ */ l(
246
246
  "main",
247
247
  {
248
248
  "data-boring-workspace-part": "chat-stage",
@@ -273,7 +273,7 @@ function Se(e) {
273
273
  ]
274
274
  }
275
275
  ),
276
- r ? /* @__PURE__ */ d(
276
+ r ? /* @__PURE__ */ l(
277
277
  "aside",
278
278
  {
279
279
  "data-boring-workspace-part": "workbench",
@@ -300,7 +300,7 @@ function Se(e) {
300
300
  "transition-opacity duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]",
301
301
  n ? "opacity-100" : "opacity-0"
302
302
  ),
303
- children: /* @__PURE__ */ a(H, { id: l, params: e.surfaceParams })
303
+ children: /* @__PURE__ */ a(H, { id: d, params: e.surfaceParams })
304
304
  }
305
305
  ),
306
306
  n ? /* @__PURE__ */ a(
@@ -321,50 +321,50 @@ function Se(e) {
321
321
  function O(e, t, r) {
322
322
  return Math.max(t, Math.min(r, e));
323
323
  }
324
- function $(e, t) {
324
+ function T(e, t) {
325
325
  const [r, n] = q(
326
- () => e ? T(e, t) : t
326
+ () => e ? $(e, t) : t
327
327
  );
328
- I(() => {
329
- n(e ? T(e, t) : t);
328
+ z(() => {
329
+ n(e ? $(e, t) : t);
330
330
  }, [e, t]);
331
- const i = b(
331
+ const s = b(
332
332
  (c) => {
333
- n((l) => {
334
- const s = typeof c == "function" ? c(l) : c;
335
- return e && he(e, s), s;
333
+ n((d) => {
334
+ const i = typeof c == "function" ? c(d) : c;
335
+ return e && fe(e, i), i;
336
336
  });
337
337
  },
338
338
  [e]
339
339
  );
340
- return [r, i];
340
+ return [r, s];
341
341
  }
342
- function me() {
342
+ function ge() {
343
343
  const [e, t] = q(() => typeof window < "u" ? window.innerWidth : 1200);
344
- return I(() => {
344
+ return z(() => {
345
345
  const r = () => t(window.innerWidth);
346
346
  return window.addEventListener("resize", r), () => window.removeEventListener("resize", r);
347
347
  }, []), e;
348
348
  }
349
349
  function X({ side: e, ariaLabel: t, onResize: r }) {
350
- const n = Y(null), i = b((s) => {
351
- s.preventDefault(), n.current = s.clientX, s.currentTarget.setPointerCapture(s.pointerId), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
352
- }, []), c = b((s) => {
350
+ const n = ee(null), s = b((i) => {
351
+ i.preventDefault(), n.current = i.clientX, i.currentTarget.setPointerCapture(i.pointerId), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
352
+ }, []), c = b((i) => {
353
353
  if (n.current === null) return;
354
- const x = s.clientX - n.current;
355
- n.current = s.clientX, r(x);
356
- }, [r]), l = b((s) => {
357
- n.current !== null && (n.current = null, s.currentTarget.releasePointerCapture(s.pointerId), document.body.style.cursor = "", document.body.style.userSelect = "");
354
+ const x = i.clientX - n.current;
355
+ n.current = i.clientX, r(x);
356
+ }, [r]), d = b((i) => {
357
+ n.current !== null && (n.current = null, i.currentTarget.releasePointerCapture(i.pointerId), document.body.style.cursor = "", document.body.style.userSelect = "");
358
358
  }, []);
359
359
  return /* @__PURE__ */ a(
360
- te,
360
+ ne,
361
361
  {
362
362
  "aria-label": t,
363
363
  orientation: "vertical",
364
- onResizeStart: i,
364
+ onResizeStart: s,
365
365
  onPointerMove: c,
366
- onPointerUp: l,
367
- onPointerCancel: l,
366
+ onPointerUp: d,
367
+ onPointerCancel: d,
368
368
  className: g(
369
369
  "absolute top-0 bottom-0 z-20 bg-transparent",
370
370
  "transition-colors duration-200",
@@ -382,30 +382,34 @@ function y(e, t) {
382
382
  function B(e, t) {
383
383
  return y(e, t);
384
384
  }
385
- function E() {
385
+ function F() {
386
386
  if (typeof document > "u") return;
387
387
  const e = document.querySelector(
388
388
  '[data-boring-agent] textarea[name="message"], textarea[name="message"]'
389
389
  );
390
390
  e == null || e.focus();
391
391
  }
392
- function fe() {
392
+ function be() {
393
393
  typeof window > "u" || window.requestAnimationFrame(() => {
394
- E(), window.setTimeout(E, 320);
394
+ F(), window.setTimeout(F, 320);
395
395
  });
396
396
  }
397
397
  function H({ id: e, params: t }) {
398
- const r = de(), i = F(() => r.getComponents(), [r])[e], c = F(() => ge(e), [e]);
399
- return i ? /* @__PURE__ */ a(Q, { fallback: /* @__PURE__ */ a(ee, { centered: !0 }), children: /* @__PURE__ */ a(
400
- i,
398
+ const r = le(), { debug: n } = ue(), s = Q(
399
+ r.subscribe,
400
+ r.getSnapshot,
401
+ r.getSnapshot
402
+ ), d = E(() => r.getComponents(), [r, s])[e], i = E(() => we(e), [e]);
403
+ return d ? /* @__PURE__ */ a(Y, { fallback: /* @__PURE__ */ a(te, { centered: !0 }), children: /* @__PURE__ */ a(
404
+ d,
401
405
  {
402
- params: t,
403
- api: c,
406
+ params: { ...t, debug: n },
407
+ api: i,
404
408
  containerApi: {}
405
409
  }
406
410
  ) }) : null;
407
411
  }
408
- function ge(e) {
412
+ function we(e) {
409
413
  return {
410
414
  id: e,
411
415
  title: e,
@@ -446,7 +450,7 @@ function U({
446
450
  icon: t,
447
451
  onClick: r,
448
452
  label: n,
449
- hint: i
453
+ hint: s
450
454
  }) {
451
455
  return /* @__PURE__ */ a(
452
456
  Z,
@@ -456,7 +460,7 @@ function U({
456
460
  size: "icon-sm",
457
461
  onClick: r,
458
462
  "aria-label": n,
459
- title: i ? `${n} (${i})` : n,
463
+ title: s ? `${n} (${s})` : n,
460
464
  className: g(
461
465
  "absolute top-1/2 z-30 h-9 w-9 -translate-y-1/2 gap-0.5 rounded-lg bg-background text-muted-foreground",
462
466
  e === "left" ? "left-2" : "right-2",
@@ -464,36 +468,36 @@ function U({
464
468
  "hover:-translate-y-[calc(50%+1px)] hover:bg-muted/60 hover:text-foreground hover:shadow-[0_2px_4px_-1px_oklch(0_0_0/0.08),0_4px_12px_-4px_oklch(0_0_0/0.10),inset_0_0_0_1px_oklch(from_var(--border)_l_c_h/0.9)]",
465
469
  "focus-visible:ring-ring/40"
466
470
  ),
467
- children: t === "sessions" ? /* @__PURE__ */ d("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
471
+ children: t === "sessions" ? /* @__PURE__ */ l("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
468
472
  /* @__PURE__ */ a("circle", { cx: "12", cy: "12", r: "9", stroke: "currentColor", strokeWidth: "1.8" }),
469
473
  /* @__PURE__ */ a("path", { d: "M12 7v5l3.2 2", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round" })
470
474
  ] }) : /* @__PURE__ */ a("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ a("path", { d: "M3 7.5 A1.5 1.5 0 0 1 4.5 6 h4 l2 2 h9 A1.5 1.5 0 0 1 21 9.5 V17.5 A1.5 1.5 0 0 1 19.5 19 H4.5 A1.5 1.5 0 0 1 3 17.5 Z", stroke: "currentColor", strokeWidth: "1.8", strokeLinejoin: "round" }) })
471
475
  }
472
476
  );
473
477
  }
474
- function Ne({
478
+ function Pe({
475
479
  appTitle: e = "Boring",
476
480
  sessionTitle: t,
477
481
  onCommandPalette: r,
478
482
  onNewChat: n,
479
- topBarLeft: i,
483
+ topBarLeft: s,
480
484
  topBarRight: c,
481
- className: l
485
+ className: d
482
486
  }) {
483
- const s = c ?? null;
484
- return /* @__PURE__ */ d(
487
+ const i = c ?? null;
488
+ return /* @__PURE__ */ l(
485
489
  "header",
486
490
  {
487
491
  "data-boring-workspace-part": "topbar",
488
492
  className: g(
489
493
  "relative flex items-center justify-between gap-2 px-3",
490
494
  "bg-background border-b border-[color:oklch(from_var(--border)_l_c_h/0.4)]",
491
- l
495
+ d
492
496
  ),
493
497
  style: { height: 40 },
494
498
  "aria-label": "App top bar",
495
499
  children: [
496
- /* @__PURE__ */ a("div", { className: "flex min-w-0 flex-1 items-center gap-2.5", children: i ?? /* @__PURE__ */ d(V, { children: [
500
+ /* @__PURE__ */ a("div", { className: "flex min-w-0 flex-1 items-center gap-2.5", children: s ?? /* @__PURE__ */ l(V, { children: [
497
501
  /* @__PURE__ */ a(
498
502
  "img",
499
503
  {
@@ -503,13 +507,13 @@ function Ne({
503
507
  }
504
508
  ),
505
509
  /* @__PURE__ */ a("span", { className: "truncate text-[12px] font-medium tracking-tight text-foreground", children: e }),
506
- t && /* @__PURE__ */ d(V, { children: [
510
+ t && /* @__PURE__ */ l(V, { children: [
507
511
  /* @__PURE__ */ a("span", { "aria-hidden": "true", className: "text-muted-foreground/30", children: "/" }),
508
512
  /* @__PURE__ */ a("span", { className: "truncate text-[12px] font-normal text-muted-foreground", children: t })
509
513
  ] })
510
514
  ] }) }),
511
- /* @__PURE__ */ d(
512
- ne,
515
+ /* @__PURE__ */ l(
516
+ re,
513
517
  {
514
518
  type: "button",
515
519
  variant: "ghost",
@@ -519,13 +523,13 @@ function Ne({
519
523
  "aria-label": "Search catalogs and commands",
520
524
  title: "Command palette (⌘K)",
521
525
  children: [
522
- /* @__PURE__ */ a(le, { className: "h-3 w-3 shrink-0 opacity-70", strokeWidth: 1.75 }),
526
+ /* @__PURE__ */ a(he, { className: "h-3 w-3 shrink-0 opacity-70", strokeWidth: 1.75 }),
523
527
  /* @__PURE__ */ a("span", { className: "font-normal tracking-tight", children: "Search" }),
524
- /* @__PURE__ */ a(re, { className: "ml-1 border-0 bg-transparent p-0 text-[10px] shadow-none group-hover:text-muted-foreground", children: "⌘K" })
528
+ /* @__PURE__ */ a(ae, { className: "ml-1 border-0 bg-transparent p-0 text-[10px] shadow-none group-hover:text-muted-foreground", children: "⌘K" })
525
529
  ]
526
530
  }
527
531
  ),
528
- /* @__PURE__ */ d("div", { className: "flex flex-1 shrink-0 items-center justify-end gap-1", children: [
532
+ /* @__PURE__ */ l("div", { className: "flex flex-1 shrink-0 items-center justify-end gap-1", children: [
529
533
  n && /* @__PURE__ */ a(
530
534
  Z,
531
535
  {
@@ -535,21 +539,21 @@ function Ne({
535
539
  onClick: n,
536
540
  "aria-label": "New chat",
537
541
  title: "New chat",
538
- children: /* @__PURE__ */ a(ue, { className: "h-4 w-4" })
542
+ children: /* @__PURE__ */ a(me, { className: "h-4 w-4" })
539
543
  }
540
544
  ),
541
- s
545
+ i
542
546
  ] })
543
547
  ]
544
548
  }
545
549
  );
546
550
  }
547
- function We({
551
+ function Oe({
548
552
  title: e = "Loading workspace",
549
553
  description: t = "Preparing the workspace context.",
550
554
  status: r = "Loading",
551
555
  fullscreen: n = !0,
552
- className: i
556
+ className: s
553
557
  }) {
554
558
  return /* @__PURE__ */ a(
555
559
  "section",
@@ -560,9 +564,9 @@ function We({
560
564
  className: g(
561
565
  "flex h-full w-full items-center justify-center bg-background px-6 text-foreground",
562
566
  n ? "min-h-screen" : "min-h-[240px]",
563
- i
567
+ s
564
568
  ),
565
- children: /* @__PURE__ */ d("div", { className: "flex w-full max-w-sm flex-col items-center gap-5 text-center", children: [
569
+ children: /* @__PURE__ */ l("div", { className: "flex w-full max-w-sm flex-col items-center gap-5 text-center", children: [
566
570
  /* @__PURE__ */ a("div", { className: "flex h-11 w-11 items-center justify-center rounded-lg border border-border bg-card text-foreground", children: /* @__PURE__ */ a(
567
571
  "span",
568
572
  {
@@ -570,7 +574,7 @@ function We({
570
574
  className: "h-5 w-5 animate-spin rounded-full border-2 border-current border-t-transparent opacity-70"
571
575
  }
572
576
  ) }),
573
- /* @__PURE__ */ d("div", { className: "space-y-2", children: [
577
+ /* @__PURE__ */ l("div", { className: "space-y-2", children: [
574
578
  /* @__PURE__ */ a("h2", { className: "text-base font-medium text-foreground", children: e }),
575
579
  t ? /* @__PURE__ */ a("p", { className: "text-sm leading-6 text-muted-foreground", children: t }) : null
576
580
  ] }),
@@ -580,10 +584,10 @@ function We({
580
584
  );
581
585
  }
582
586
  export {
583
- Se as C,
584
- Ne as T,
585
- We as W,
586
- Ce as b,
587
- ke as r,
588
- _e as w
587
+ Ne as C,
588
+ Pe as T,
589
+ Oe as W,
590
+ We as b,
591
+ _e as r,
592
+ Se as w
589
593
  };