@hachej/boring-workspace 0.1.17 → 0.1.20
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 +36 -34
- package/dist/{FileTree-Dvaud3jU.js → FileTree-DHVB9rpk.js} +15 -15
- package/dist/{MarkdownEditor-sLkqTXDj.js → MarkdownEditor-L1KDH0bM.js} +1 -1
- package/dist/{WorkspaceLoadingState-zLzh1tGc.js → WorkspaceLoadingState-DYDxUYnx.js} +114 -110
- package/dist/WorkspaceProvider-CDPaAO5u.js +5971 -0
- package/dist/app-front.d.ts +94 -107
- package/dist/app-front.js +243 -233
- package/dist/app-server.d.ts +130 -15
- package/dist/app-server.js +1569 -304
- package/dist/{bootstrapServer-BreQ9QBc.d.ts → createInMemoryBridge-BDxDzihm.d.ts} +11 -26
- package/dist/manifest-CyNNdfYz.d.ts +58 -0
- package/dist/plugin.d.ts +199 -0
- package/dist/plugin.js +300 -0
- package/dist/server.d.ts +239 -4
- package/dist/server.js +901 -78
- package/dist/shared.d.ts +4 -112
- package/dist/surface-COYagY2m.d.ts +111 -0
- package/dist/testing.d.ts +19 -1
- package/dist/testing.js +2 -2
- package/dist/{agent-tool-DEtfQPVB.d.ts → ui-bridge-Gfh1MMgl.d.ts} +30 -30
- package/dist/workspace.css +36 -0
- package/dist/workspace.d.ts +165 -120
- package/dist/workspace.js +330 -377
- package/docs/INTERFACES.md +9 -9
- package/docs/PLUGIN_STRUCTURE.md +39 -145
- package/docs/PLUGIN_SYSTEM.md +355 -0
- package/docs/README.md +6 -1
- package/docs/plans/README.md +1 -0
- package/docs/plans/archive/HOT_RELOADABLE_AGENT_PLUGINS_PLAN.md +218 -0
- package/docs/plans/archive/RELOAD_PLUGGABILITY_PLAN.md +174 -0
- package/docs/plans/archive/UNIFIED_PLUGIN_SYSTEM_PLAN.md +769 -0
- package/package.json +11 -5
- package/dist/CommandPalette-CJHuTJlD.js +0 -5716
- package/docs/bridge.md +0 -135
- package/docs/panels.md +0 -102
- package/docs/plugins.md +0 -158
- /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
|
|
2
|
-
import { useCallback as b, useMemo as
|
|
3
|
-
import { LoadingState as
|
|
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 {
|
|
6
|
-
import { Search as
|
|
7
|
-
function
|
|
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
|
|
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
|
|
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
|
|
30
|
-
return Number.isFinite(
|
|
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
|
|
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
|
|
42
|
+
function We(e = {}) {
|
|
43
43
|
const {
|
|
44
44
|
nav: t = "session-list",
|
|
45
45
|
navParams: r,
|
|
46
46
|
center: n = "chat",
|
|
47
|
-
centerParams:
|
|
47
|
+
centerParams: s,
|
|
48
48
|
surface: c,
|
|
49
|
-
surfaceParams:
|
|
50
|
-
sidebar:
|
|
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:
|
|
65
|
+
params: s,
|
|
66
66
|
hideHeader: !0
|
|
67
|
-
}),
|
|
67
|
+
}), i && w.push({
|
|
68
68
|
id: "sidebar",
|
|
69
69
|
position: "left",
|
|
70
|
-
panel:
|
|
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:
|
|
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
|
|
87
|
-
const t = e.nav !== null, r = e.surface !== void 0, n = !!e.surface,
|
|
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 =
|
|
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]),
|
|
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]),
|
|
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()),
|
|
115
|
+
t && (h == null || h()), n && (m == null || m()), F(), be();
|
|
116
116
|
}, [h, m, t, n]);
|
|
117
|
-
return
|
|
118
|
-
shortcuts:
|
|
117
|
+
return ie({
|
|
118
|
+
shortcuts: E(() => {
|
|
119
119
|
const o = [];
|
|
120
|
-
return k && o.push({ key: "1", mod: !0, handler: S }),
|
|
121
|
-
}, [k,
|
|
122
|
-
}),
|
|
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:
|
|
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: () =>
|
|
147
|
-
run:
|
|
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
|
-
|
|
185
|
-
|
|
186
|
-
]),
|
|
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
|
|
195
|
-
|
|
194
|
+
return se.on(ce.uiCommand, ({ command: f }) => {
|
|
195
|
+
de(f, o);
|
|
196
196
|
});
|
|
197
|
-
}, [R, D, A, j]), /* @__PURE__ */
|
|
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__ */
|
|
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 ?
|
|
218
|
-
minWidth: t ?
|
|
219
|
-
maxWidth: t ?
|
|
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:
|
|
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__ */
|
|
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__ */
|
|
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:
|
|
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
|
|
324
|
+
function T(e, t) {
|
|
325
325
|
const [r, n] = q(
|
|
326
|
-
() => e ?
|
|
326
|
+
() => e ? $(e, t) : t
|
|
327
327
|
);
|
|
328
|
-
|
|
329
|
-
n(e ?
|
|
328
|
+
z(() => {
|
|
329
|
+
n(e ? $(e, t) : t);
|
|
330
330
|
}, [e, t]);
|
|
331
|
-
const
|
|
331
|
+
const s = b(
|
|
332
332
|
(c) => {
|
|
333
|
-
n((
|
|
334
|
-
const
|
|
335
|
-
return e &&
|
|
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,
|
|
340
|
+
return [r, s];
|
|
341
341
|
}
|
|
342
|
-
function
|
|
342
|
+
function ge() {
|
|
343
343
|
const [e, t] = q(() => typeof window < "u" ? window.innerWidth : 1200);
|
|
344
|
-
return
|
|
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 =
|
|
351
|
-
|
|
352
|
-
}, []), c = b((
|
|
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 =
|
|
355
|
-
n.current =
|
|
356
|
-
}, [r]),
|
|
357
|
-
n.current !== null && (n.current = null,
|
|
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
|
-
|
|
360
|
+
ne,
|
|
361
361
|
{
|
|
362
362
|
"aria-label": t,
|
|
363
363
|
orientation: "vertical",
|
|
364
|
-
onResizeStart:
|
|
364
|
+
onResizeStart: s,
|
|
365
365
|
onPointerMove: c,
|
|
366
|
-
onPointerUp:
|
|
367
|
-
onPointerCancel:
|
|
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
|
|
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
|
|
392
|
+
function be() {
|
|
393
393
|
typeof window > "u" || window.requestAnimationFrame(() => {
|
|
394
|
-
|
|
394
|
+
F(), window.setTimeout(F, 320);
|
|
395
395
|
});
|
|
396
396
|
}
|
|
397
397
|
function H({ id: e, params: t }) {
|
|
398
|
-
const r =
|
|
399
|
-
|
|
400
|
-
|
|
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:
|
|
406
|
+
params: { ...t, debug: n },
|
|
407
|
+
api: i,
|
|
404
408
|
containerApi: {}
|
|
405
409
|
}
|
|
406
410
|
) }) : null;
|
|
407
411
|
}
|
|
408
|
-
function
|
|
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:
|
|
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:
|
|
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__ */
|
|
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
|
|
478
|
+
function Pe({
|
|
475
479
|
appTitle: e = "Boring",
|
|
476
480
|
sessionTitle: t,
|
|
477
481
|
onCommandPalette: r,
|
|
478
482
|
onNewChat: n,
|
|
479
|
-
topBarLeft:
|
|
483
|
+
topBarLeft: s,
|
|
480
484
|
topBarRight: c,
|
|
481
|
-
className:
|
|
485
|
+
className: d
|
|
482
486
|
}) {
|
|
483
|
-
const
|
|
484
|
-
return /* @__PURE__ */
|
|
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
|
-
|
|
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:
|
|
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__ */
|
|
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__ */
|
|
512
|
-
|
|
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(
|
|
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(
|
|
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__ */
|
|
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(
|
|
542
|
+
children: /* @__PURE__ */ a(me, { className: "h-4 w-4" })
|
|
539
543
|
}
|
|
540
544
|
),
|
|
541
|
-
|
|
545
|
+
i
|
|
542
546
|
] })
|
|
543
547
|
]
|
|
544
548
|
}
|
|
545
549
|
);
|
|
546
550
|
}
|
|
547
|
-
function
|
|
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:
|
|
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
|
-
|
|
567
|
+
s
|
|
564
568
|
),
|
|
565
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
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
|
};
|