@hachej/boring-workspace 0.1.20 → 0.1.23
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/dist/{FileTree-DHVB9rpk.js → FileTree-D8Rmj8Bo.js} +101 -90
- package/dist/{MarkdownEditor-L1KDH0bM.js → MarkdownEditor-DKC4gNT4.js} +1 -1
- package/dist/{WorkspaceLoadingState-DYDxUYnx.js → WorkspaceLoadingState-hKrnYCL3.js} +138 -139
- package/dist/{WorkspaceProvider-CDPaAO5u.js → WorkspaceProvider-Cn0sPgaB.js} +412 -407
- package/dist/app-front.js +2 -2
- package/dist/app-server.d.ts +8 -4
- package/dist/app-server.js +106 -16
- package/dist/{createInMemoryBridge-BDxDzihm.d.ts → createInMemoryBridge-CYNW1h_o.d.ts} +9 -5
- package/dist/server.d.ts +3 -3
- package/dist/server.js +27 -1
- package/dist/shared.d.ts +15 -1
- package/dist/shared.js +16 -1
- package/dist/testing.js +1 -1
- package/dist/{ui-bridge-Gfh1MMgl.d.ts → ui-bridge-CT18yqwN.d.ts} +1 -1
- package/dist/workspace.css +79 -43
- package/dist/workspace.js +5 -5
- package/package.json +5 -3
|
@@ -1,59 +1,59 @@
|
|
|
1
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
|
|
3
|
-
import { LoadingState as
|
|
2
|
+
import { useCallback as b, useMemo as E, useEffect as z, useState as Z, useSyncExternalStore as T, Suspense as Y, useRef as ee } from "react";
|
|
3
|
+
import { LoadingState as ne, ResizeHandle as te, IconButton as G, Button as re, Kbd as ae } from "@hachej/boring-ui-kit";
|
|
4
4
|
import { c as g } from "./utils-B6yFEsav.js";
|
|
5
|
-
import { $ as oe, a6 as ie, z as se, an as ce, al as de, u as le, ag as ue } from "./WorkspaceProvider-
|
|
5
|
+
import { $ as oe, a6 as ie, z as se, an as ce, al as de, u as le, ag as ue } from "./WorkspaceProvider-Cn0sPgaB.js";
|
|
6
6
|
import { Search as he, Plus as me } from "lucide-react";
|
|
7
|
-
function
|
|
8
|
-
if (!r || typeof window > "u") return
|
|
7
|
+
function Se(e, n, r = !0) {
|
|
8
|
+
if (!r || typeof window > "u") return n;
|
|
9
9
|
try {
|
|
10
|
-
const
|
|
11
|
-
if (
|
|
12
|
-
if (
|
|
10
|
+
const t = window.localStorage.getItem(e);
|
|
11
|
+
if (t === "1") return !0;
|
|
12
|
+
if (t === "0") return !1;
|
|
13
13
|
} catch {
|
|
14
14
|
}
|
|
15
|
-
return
|
|
15
|
+
return n;
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function _e(e, n, r = !0) {
|
|
18
18
|
if (!(!r || typeof window > "u"))
|
|
19
19
|
try {
|
|
20
|
-
window.localStorage.setItem(e,
|
|
20
|
+
window.localStorage.setItem(e, n ? "1" : "0");
|
|
21
21
|
} catch {
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
function $(e,
|
|
25
|
-
if (!r || typeof window > "u") return
|
|
24
|
+
function $(e, n, r = !0) {
|
|
25
|
+
if (!r || typeof window > "u") return n;
|
|
26
26
|
try {
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
29
|
-
const s = Number(
|
|
30
|
-
return Number.isFinite(s) ? s :
|
|
27
|
+
const t = window.localStorage.getItem(e);
|
|
28
|
+
if (t === null) return n;
|
|
29
|
+
const s = Number(t);
|
|
30
|
+
return Number.isFinite(s) ? s : n;
|
|
31
31
|
} catch {
|
|
32
32
|
}
|
|
33
|
-
return
|
|
33
|
+
return n;
|
|
34
34
|
}
|
|
35
|
-
function fe(e,
|
|
35
|
+
function fe(e, n, r = !0) {
|
|
36
36
|
if (!(!r || typeof window > "u"))
|
|
37
37
|
try {
|
|
38
|
-
window.localStorage.setItem(e, String(Math.round(
|
|
38
|
+
window.localStorage.setItem(e, String(Math.round(n)));
|
|
39
39
|
} catch {
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
function
|
|
42
|
+
function Ne(e = {}) {
|
|
43
43
|
const {
|
|
44
|
-
nav:
|
|
44
|
+
nav: n = "session-list",
|
|
45
45
|
navParams: r,
|
|
46
|
-
center:
|
|
46
|
+
center: t = "chat",
|
|
47
47
|
centerParams: s,
|
|
48
48
|
surface: c,
|
|
49
49
|
surfaceParams: d,
|
|
50
50
|
sidebar: i,
|
|
51
51
|
sidebarParams: x
|
|
52
52
|
} = e, w = [];
|
|
53
|
-
return
|
|
53
|
+
return n && w.push({
|
|
54
54
|
id: "nav",
|
|
55
55
|
position: "left",
|
|
56
|
-
panel:
|
|
56
|
+
panel: n,
|
|
57
57
|
params: r,
|
|
58
58
|
locked: !0,
|
|
59
59
|
hideHeader: !0,
|
|
@@ -61,7 +61,7 @@ function We(e = {}) {
|
|
|
61
61
|
}), w.push({
|
|
62
62
|
id: "center",
|
|
63
63
|
position: "center",
|
|
64
|
-
panel:
|
|
64
|
+
panel: t,
|
|
65
65
|
params: s,
|
|
66
66
|
hideHeader: !0
|
|
67
67
|
}), i && w.push({
|
|
@@ -83,28 +83,28 @@ function We(e = {}) {
|
|
|
83
83
|
placeholder: "empty"
|
|
84
84
|
}), { version: "2.0", groups: w };
|
|
85
85
|
}
|
|
86
|
-
function
|
|
87
|
-
const
|
|
86
|
+
function We(e) {
|
|
87
|
+
const n = e.nav !== null, r = e.surface !== void 0, t = !!e.surface, s = e.nav || "session-list", c = e.center ?? "chat", d = e.surface || "artifact-surface", i = ge(), [x, w] = U(
|
|
88
88
|
e.storageKey ? `${e.storageKey}:drawerWidth` : void 0,
|
|
89
89
|
260
|
|
90
|
-
), [
|
|
90
|
+
), [J, Q] = U(
|
|
91
91
|
e.storageKey ? `${e.storageKey}:surfaceWidth` : void 0,
|
|
92
92
|
680
|
|
93
|
-
), u = oe(), I = O(x, 200, 360), K = Math.max(480, Math.floor(i * 0.72)), L = O(
|
|
93
|
+
), u = oe(), I = O(x, 200, 360), K = Math.max(480, Math.floor(i * 0.72)), L = O(J, 480, K), R = k(e.centerParams, "getSurface"), D = k(e.centerParams, "isWorkbenchOpen"), A = k(e.centerParams, "openWorkbench"), j = k(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, y = n ? !!h : !!e.onOpenNav, C = t ? !!m : !!e.onOpenSurface, S = v ? !!p : !!e.onOpenSidebar, _ = b(() => {
|
|
94
94
|
var o;
|
|
95
|
-
if (
|
|
95
|
+
if (n) {
|
|
96
96
|
h == null || h();
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
99
|
(o = e.onOpenNav) == null || o.call(e);
|
|
100
|
-
}, [h,
|
|
100
|
+
}, [h, n, e.onOpenNav]), N = b(() => {
|
|
101
101
|
var o;
|
|
102
|
-
if (
|
|
102
|
+
if (t) {
|
|
103
103
|
m == null || m();
|
|
104
104
|
return;
|
|
105
105
|
}
|
|
106
106
|
(o = e.onOpenSurface) == null || o.call(e);
|
|
107
|
-
}, [m, e.onOpenSurface,
|
|
107
|
+
}, [m, e.onOpenSurface, t]), W = b(() => {
|
|
108
108
|
var o;
|
|
109
109
|
if (v) {
|
|
110
110
|
p == null || p();
|
|
@@ -112,39 +112,39 @@ function Ne(e) {
|
|
|
112
112
|
}
|
|
113
113
|
(o = e.onOpenSidebar) == null || o.call(e);
|
|
114
114
|
}, [p, e.onOpenSidebar, v]), P = b(() => {
|
|
115
|
-
|
|
116
|
-
}, [h, m,
|
|
115
|
+
n && (h == null || h()), t && (m == null || m()), F(), be();
|
|
116
|
+
}, [h, m, n, t]);
|
|
117
117
|
return ie({
|
|
118
118
|
shortcuts: E(() => {
|
|
119
119
|
const o = [];
|
|
120
|
-
return
|
|
121
|
-
}, [
|
|
120
|
+
return y && o.push({ key: "1", mod: !0, handler: _ }), C && o.push({ key: "2", mod: !0, handler: N }), S && o.push({ key: "3", mod: !0, allowInEditable: !0, handler: W }), c === "chat" && o.push({ key: "Escape", allowInEditable: !0, handler: P }), o;
|
|
121
|
+
}, [y, S, C, c, P, _, W, N])
|
|
122
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",
|
|
126
|
-
title:
|
|
127
|
-
keywords: ["sessions", "history", "drawer",
|
|
126
|
+
title: n ? "Close Session History" : "Open Session History",
|
|
127
|
+
keywords: ["sessions", "history", "drawer", n ? "close" : "open"],
|
|
128
128
|
shortcut: "⌘1",
|
|
129
129
|
pluginId: o,
|
|
130
|
-
when: () =>
|
|
131
|
-
run:
|
|
130
|
+
when: () => y,
|
|
131
|
+
run: _
|
|
132
132
|
}), u.registerCommand({
|
|
133
133
|
id: "workspace:open-workbench",
|
|
134
|
-
title:
|
|
135
|
-
keywords: ["surface", "artifacts", "sources", "workbench",
|
|
134
|
+
title: t ? "Close Workbench" : "Open Workbench",
|
|
135
|
+
keywords: ["surface", "artifacts", "sources", "workbench", t ? "close" : "open"],
|
|
136
136
|
shortcut: "⌘2",
|
|
137
137
|
pluginId: o,
|
|
138
138
|
when: () => C,
|
|
139
|
-
run:
|
|
139
|
+
run: N
|
|
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: () => S,
|
|
147
|
+
run: W
|
|
148
148
|
}), c === "chat" && u.registerCommand({
|
|
149
149
|
id: "agent:focus-chat",
|
|
150
150
|
title: "Focus Chat",
|
|
@@ -162,27 +162,27 @@ function Ne(e) {
|
|
|
162
162
|
};
|
|
163
163
|
}, [
|
|
164
164
|
u,
|
|
165
|
-
|
|
165
|
+
n,
|
|
166
166
|
c,
|
|
167
167
|
r,
|
|
168
|
-
|
|
168
|
+
t,
|
|
169
169
|
e.navParams,
|
|
170
170
|
e.surfaceParams,
|
|
171
171
|
e.onOpenNav,
|
|
172
172
|
e.onOpenSurface,
|
|
173
173
|
e.onOpenSidebar,
|
|
174
|
-
|
|
174
|
+
y,
|
|
175
175
|
C,
|
|
176
|
-
|
|
176
|
+
S,
|
|
177
177
|
h,
|
|
178
178
|
m,
|
|
179
179
|
p,
|
|
180
180
|
M,
|
|
181
181
|
P,
|
|
182
182
|
v,
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
183
|
+
_,
|
|
184
|
+
N,
|
|
185
|
+
W
|
|
186
186
|
]), z(() => {
|
|
187
187
|
if (!R || !D || !A) return;
|
|
188
188
|
const o = {
|
|
@@ -205,18 +205,18 @@ function Ne(e) {
|
|
|
205
205
|
"aside",
|
|
206
206
|
{
|
|
207
207
|
"data-boring-workspace-part": "session-drawer",
|
|
208
|
-
"data-boring-state":
|
|
208
|
+
"data-boring-state": n ? "expanded" : "collapsed",
|
|
209
209
|
"aria-label": "Session browser",
|
|
210
|
-
"aria-hidden": !
|
|
210
|
+
"aria-hidden": !n,
|
|
211
211
|
className: g(
|
|
212
212
|
"relative h-full min-h-0 shrink-0 overflow-hidden bg-background",
|
|
213
213
|
"transition-[width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]",
|
|
214
|
-
|
|
214
|
+
n && "border-r border-[color:oklch(from_var(--border)_l_c_h/0.6)]"
|
|
215
215
|
),
|
|
216
216
|
style: {
|
|
217
|
-
width:
|
|
218
|
-
minWidth:
|
|
219
|
-
maxWidth:
|
|
217
|
+
width: n ? I : 0,
|
|
218
|
+
minWidth: n ? I : 0,
|
|
219
|
+
maxWidth: n ? I : 0,
|
|
220
220
|
willChange: "width"
|
|
221
221
|
},
|
|
222
222
|
children: [
|
|
@@ -226,12 +226,12 @@ function Ne(e) {
|
|
|
226
226
|
className: g(
|
|
227
227
|
"h-full min-h-0 overflow-hidden",
|
|
228
228
|
"transition-opacity duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]",
|
|
229
|
-
|
|
229
|
+
n ? "opacity-100" : "opacity-0"
|
|
230
230
|
),
|
|
231
231
|
children: /* @__PURE__ */ a(H, { id: s, params: e.navParams })
|
|
232
232
|
}
|
|
233
233
|
),
|
|
234
|
-
|
|
234
|
+
n ? /* @__PURE__ */ a(
|
|
235
235
|
X,
|
|
236
236
|
{
|
|
237
237
|
side: "drawer-right",
|
|
@@ -250,8 +250,8 @@ function Ne(e) {
|
|
|
250
250
|
className: "relative h-full min-h-0 min-w-0 flex-1 overflow-hidden bg-background",
|
|
251
251
|
children: [
|
|
252
252
|
/* @__PURE__ */ a(H, { id: c, params: e.centerParams }),
|
|
253
|
-
!
|
|
254
|
-
|
|
253
|
+
!n && e.onOpenNav ? /* @__PURE__ */ a(
|
|
254
|
+
q,
|
|
255
255
|
{
|
|
256
256
|
side: "left",
|
|
257
257
|
icon: "sessions",
|
|
@@ -260,8 +260,8 @@ function Ne(e) {
|
|
|
260
260
|
hint: "⌘1"
|
|
261
261
|
}
|
|
262
262
|
) : null,
|
|
263
|
-
!
|
|
264
|
-
|
|
263
|
+
!t && e.onOpenSurface ? /* @__PURE__ */ a(
|
|
264
|
+
q,
|
|
265
265
|
{
|
|
266
266
|
side: "right",
|
|
267
267
|
icon: "workbench",
|
|
@@ -277,18 +277,18 @@ function Ne(e) {
|
|
|
277
277
|
"aside",
|
|
278
278
|
{
|
|
279
279
|
"data-boring-workspace-part": "workbench",
|
|
280
|
-
"data-boring-state":
|
|
281
|
-
"aria-label":
|
|
282
|
-
"aria-hidden": !
|
|
280
|
+
"data-boring-state": t ? "expanded" : "collapsed",
|
|
281
|
+
"aria-label": t ? "Surface" : void 0,
|
|
282
|
+
"aria-hidden": !t,
|
|
283
283
|
className: g(
|
|
284
284
|
"relative h-full min-h-0 shrink-0 overflow-hidden bg-background",
|
|
285
285
|
"transition-[width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]",
|
|
286
|
-
|
|
286
|
+
t && "border-l border-[color:oklch(from_var(--border)_l_c_h/0.6)]"
|
|
287
287
|
),
|
|
288
288
|
style: {
|
|
289
|
-
width:
|
|
290
|
-
minWidth:
|
|
291
|
-
maxWidth:
|
|
289
|
+
width: t ? L : 0,
|
|
290
|
+
minWidth: t ? L : 0,
|
|
291
|
+
maxWidth: t ? L : 0,
|
|
292
292
|
willChange: "width"
|
|
293
293
|
},
|
|
294
294
|
children: [
|
|
@@ -298,17 +298,17 @@ function Ne(e) {
|
|
|
298
298
|
className: g(
|
|
299
299
|
"h-full min-h-0 overflow-hidden",
|
|
300
300
|
"transition-opacity duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]",
|
|
301
|
-
|
|
301
|
+
t ? "opacity-100" : "opacity-0"
|
|
302
302
|
),
|
|
303
303
|
children: /* @__PURE__ */ a(H, { id: d, params: e.surfaceParams })
|
|
304
304
|
}
|
|
305
305
|
),
|
|
306
|
-
|
|
306
|
+
t ? /* @__PURE__ */ a(
|
|
307
307
|
X,
|
|
308
308
|
{
|
|
309
309
|
side: "surface-left",
|
|
310
310
|
ariaLabel: "Resize workbench",
|
|
311
|
-
onResize: (o) =>
|
|
311
|
+
onResize: (o) => Q((f) => O(f - o, 480, K))
|
|
312
312
|
}
|
|
313
313
|
) : null
|
|
314
314
|
]
|
|
@@ -318,19 +318,19 @@ function Ne(e) {
|
|
|
318
318
|
}
|
|
319
319
|
);
|
|
320
320
|
}
|
|
321
|
-
function O(e,
|
|
322
|
-
return Math.max(
|
|
321
|
+
function O(e, n, r) {
|
|
322
|
+
return Math.max(n, Math.min(r, e));
|
|
323
323
|
}
|
|
324
|
-
function
|
|
325
|
-
const [r,
|
|
326
|
-
() => e ? $(e,
|
|
324
|
+
function U(e, n) {
|
|
325
|
+
const [r, t] = Z(
|
|
326
|
+
() => e ? $(e, n) : n
|
|
327
327
|
);
|
|
328
328
|
z(() => {
|
|
329
|
-
|
|
330
|
-
}, [e,
|
|
329
|
+
t(e ? $(e, n) : n);
|
|
330
|
+
}, [e, n]);
|
|
331
331
|
const s = b(
|
|
332
332
|
(c) => {
|
|
333
|
-
|
|
333
|
+
t((d) => {
|
|
334
334
|
const i = typeof c == "function" ? c(d) : c;
|
|
335
335
|
return e && fe(e, i), i;
|
|
336
336
|
});
|
|
@@ -340,26 +340,26 @@ function T(e, t) {
|
|
|
340
340
|
return [r, s];
|
|
341
341
|
}
|
|
342
342
|
function ge() {
|
|
343
|
-
const [e,
|
|
343
|
+
const [e, n] = Z(() => typeof window < "u" ? window.innerWidth : 1200);
|
|
344
344
|
return z(() => {
|
|
345
|
-
const r = () =>
|
|
345
|
+
const r = () => n(window.innerWidth);
|
|
346
346
|
return window.addEventListener("resize", r), () => window.removeEventListener("resize", r);
|
|
347
347
|
}, []), e;
|
|
348
348
|
}
|
|
349
|
-
function X({ side: e, ariaLabel:
|
|
350
|
-
const
|
|
351
|
-
i.preventDefault(),
|
|
349
|
+
function X({ side: e, ariaLabel: n, onResize: r }) {
|
|
350
|
+
const t = ee(null), s = b((i) => {
|
|
351
|
+
i.preventDefault(), t.current = i.clientX, i.currentTarget.setPointerCapture(i.pointerId), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
|
|
352
352
|
}, []), c = b((i) => {
|
|
353
|
-
if (
|
|
354
|
-
const x = i.clientX -
|
|
355
|
-
|
|
353
|
+
if (t.current === null) return;
|
|
354
|
+
const x = i.clientX - t.current;
|
|
355
|
+
t.current = i.clientX, r(x);
|
|
356
356
|
}, [r]), d = b((i) => {
|
|
357
|
-
|
|
357
|
+
t.current !== null && (t.current = null, i.currentTarget.releasePointerCapture(i.pointerId), document.body.style.cursor = "", document.body.style.userSelect = "");
|
|
358
358
|
}, []);
|
|
359
359
|
return /* @__PURE__ */ a(
|
|
360
|
-
|
|
360
|
+
te,
|
|
361
361
|
{
|
|
362
|
-
"aria-label":
|
|
362
|
+
"aria-label": n,
|
|
363
363
|
orientation: "vertical",
|
|
364
364
|
onResizeStart: s,
|
|
365
365
|
onPointerMove: c,
|
|
@@ -375,12 +375,12 @@ function X({ side: e, ariaLabel: t, onResize: r }) {
|
|
|
375
375
|
}
|
|
376
376
|
);
|
|
377
377
|
}
|
|
378
|
-
function
|
|
379
|
-
const r = e == null ? void 0 : e[
|
|
378
|
+
function k(e, n) {
|
|
379
|
+
const r = e == null ? void 0 : e[n];
|
|
380
380
|
return typeof r == "function" ? r : void 0;
|
|
381
381
|
}
|
|
382
|
-
function B(e,
|
|
383
|
-
return
|
|
382
|
+
function B(e, n) {
|
|
383
|
+
return k(e, n);
|
|
384
384
|
}
|
|
385
385
|
function F() {
|
|
386
386
|
if (typeof document > "u") return;
|
|
@@ -394,16 +394,16 @@ function be() {
|
|
|
394
394
|
F(), window.setTimeout(F, 320);
|
|
395
395
|
});
|
|
396
396
|
}
|
|
397
|
-
function H({ id: e, params:
|
|
398
|
-
const r = le(), { debug:
|
|
397
|
+
function H({ id: e, params: n }) {
|
|
398
|
+
const r = le(), { debug: t } = ue(), s = T(
|
|
399
399
|
r.subscribe,
|
|
400
400
|
r.getSnapshot,
|
|
401
401
|
r.getSnapshot
|
|
402
402
|
), d = E(() => r.getComponents(), [r, s])[e], i = E(() => we(e), [e]);
|
|
403
|
-
return d ? /* @__PURE__ */ a(Y, { fallback: /* @__PURE__ */ a(
|
|
403
|
+
return d ? /* @__PURE__ */ a(Y, { fallback: /* @__PURE__ */ a(ne, { centered: !0 }), children: /* @__PURE__ */ a(
|
|
404
404
|
d,
|
|
405
405
|
{
|
|
406
|
-
params: { ...
|
|
406
|
+
params: { ...n, debug: t },
|
|
407
407
|
api: i,
|
|
408
408
|
containerApi: {}
|
|
409
409
|
}
|
|
@@ -445,22 +445,22 @@ function we(e) {
|
|
|
445
445
|
} })
|
|
446
446
|
};
|
|
447
447
|
}
|
|
448
|
-
function
|
|
448
|
+
function q({
|
|
449
449
|
side: e,
|
|
450
|
-
icon:
|
|
450
|
+
icon: n,
|
|
451
451
|
onClick: r,
|
|
452
|
-
label:
|
|
452
|
+
label: t,
|
|
453
453
|
hint: s
|
|
454
454
|
}) {
|
|
455
455
|
return /* @__PURE__ */ a(
|
|
456
|
-
|
|
456
|
+
G,
|
|
457
457
|
{
|
|
458
458
|
type: "button",
|
|
459
459
|
variant: "ghost",
|
|
460
460
|
size: "icon-sm",
|
|
461
461
|
onClick: r,
|
|
462
|
-
"aria-label":
|
|
463
|
-
title: s ? `${
|
|
462
|
+
"aria-label": t,
|
|
463
|
+
title: s ? `${t} (${s})` : t,
|
|
464
464
|
className: g(
|
|
465
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",
|
|
466
466
|
e === "left" ? "left-2" : "right-2",
|
|
@@ -468,7 +468,7 @@ function U({
|
|
|
468
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)]",
|
|
469
469
|
"focus-visible:ring-ring/40"
|
|
470
470
|
),
|
|
471
|
-
children:
|
|
471
|
+
children: n === "sessions" ? /* @__PURE__ */ l("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [
|
|
472
472
|
/* @__PURE__ */ a("circle", { cx: "12", cy: "12", r: "9", stroke: "currentColor", strokeWidth: "1.8" }),
|
|
473
473
|
/* @__PURE__ */ a("path", { d: "M12 7v5l3.2 2", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round" })
|
|
474
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" }) })
|
|
@@ -477,9 +477,9 @@ function U({
|
|
|
477
477
|
}
|
|
478
478
|
function Pe({
|
|
479
479
|
appTitle: e = "Boring",
|
|
480
|
-
sessionTitle:
|
|
480
|
+
sessionTitle: n,
|
|
481
481
|
onCommandPalette: r,
|
|
482
|
-
onNewChat:
|
|
482
|
+
onNewChat: t,
|
|
483
483
|
topBarLeft: s,
|
|
484
484
|
topBarRight: c,
|
|
485
485
|
className: d
|
|
@@ -490,27 +490,26 @@ function Pe({
|
|
|
490
490
|
{
|
|
491
491
|
"data-boring-workspace-part": "topbar",
|
|
492
492
|
className: g(
|
|
493
|
-
"relative flex items-center justify-between gap-2 px-3",
|
|
494
|
-
"bg-background border-b border-
|
|
493
|
+
"relative flex h-11 items-center justify-between gap-2 px-3",
|
|
494
|
+
"bg-background border-b border-border",
|
|
495
495
|
d
|
|
496
496
|
),
|
|
497
|
-
style: { height: 40 },
|
|
498
497
|
"aria-label": "App top bar",
|
|
499
498
|
children: [
|
|
500
|
-
/* @__PURE__ */ a("div", { className: "flex min-w-0 flex-1 items-center gap-2.5", children: s ?? /* @__PURE__ */ l(V, { children: [
|
|
499
|
+
/* @__PURE__ */ a("div", { className: "flex min-w-0 flex-1 items-center gap-2.5 leading-none", children: s ?? /* @__PURE__ */ l(V, { children: [
|
|
501
500
|
/* @__PURE__ */ a(
|
|
502
|
-
"
|
|
501
|
+
"span",
|
|
503
502
|
{
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
503
|
+
"aria-hidden": "true",
|
|
504
|
+
className: "grid size-[22px] shrink-0 place-items-center rounded-sm bg-foreground text-[11px] font-semibold leading-none tracking-tight text-background",
|
|
505
|
+
children: ((e == null ? void 0 : e[0]) ?? "B").toUpperCase()
|
|
507
506
|
}
|
|
508
507
|
),
|
|
509
|
-
/* @__PURE__ */
|
|
510
|
-
|
|
511
|
-
/* @__PURE__ */ a("span", { "aria-hidden": "true", className: "text-muted-foreground/
|
|
512
|
-
/* @__PURE__ */ a("span", { className: "truncate text-[
|
|
513
|
-
] })
|
|
508
|
+
n ? /* @__PURE__ */ l(V, { children: [
|
|
509
|
+
/* @__PURE__ */ a("span", { className: "shrink-0 text-[13px] font-medium leading-none tracking-tight text-foreground/65", children: e }),
|
|
510
|
+
/* @__PURE__ */ a("span", { "aria-hidden": "true", className: "text-[13px] leading-none text-muted-foreground/45", children: "·" }),
|
|
511
|
+
/* @__PURE__ */ a("span", { className: "truncate text-[13px] font-medium leading-none tracking-tight text-foreground", children: n })
|
|
512
|
+
] }) : /* @__PURE__ */ a("span", { className: "truncate text-[13px] font-medium leading-none tracking-tight text-foreground", children: e })
|
|
514
513
|
] }) }),
|
|
515
514
|
/* @__PURE__ */ l(
|
|
516
515
|
re,
|
|
@@ -519,24 +518,24 @@ function Pe({
|
|
|
519
518
|
variant: "ghost",
|
|
520
519
|
size: "sm",
|
|
521
520
|
onClick: r,
|
|
522
|
-
className: "group h-
|
|
521
|
+
className: "group h-7 gap-1.5 px-2 text-[13px] leading-none text-muted-foreground/75 hover:bg-muted/70 hover:text-foreground focus-visible:text-foreground",
|
|
523
522
|
"aria-label": "Search catalogs and commands",
|
|
524
523
|
title: "Command palette (⌘K)",
|
|
525
524
|
children: [
|
|
526
|
-
/* @__PURE__ */ a(he, { className: "h-3 w-3 shrink-0 opacity-
|
|
525
|
+
/* @__PURE__ */ a(he, { className: "h-3.5 w-3.5 shrink-0 opacity-80", strokeWidth: 1.75 }),
|
|
527
526
|
/* @__PURE__ */ a("span", { className: "font-normal tracking-tight", children: "Search" }),
|
|
528
|
-
/* @__PURE__ */ a(ae, { className: "ml-
|
|
527
|
+
/* @__PURE__ */ a(ae, { className: "ml-0.5 bg-muted/40 leading-none shadow-none", children: "⌘K" })
|
|
529
528
|
]
|
|
530
529
|
}
|
|
531
530
|
),
|
|
532
531
|
/* @__PURE__ */ l("div", { className: "flex flex-1 shrink-0 items-center justify-end gap-1", children: [
|
|
533
|
-
|
|
534
|
-
|
|
532
|
+
t && /* @__PURE__ */ a(
|
|
533
|
+
G,
|
|
535
534
|
{
|
|
536
535
|
type: "button",
|
|
537
536
|
variant: "ghost",
|
|
538
537
|
size: "icon-sm",
|
|
539
|
-
onClick:
|
|
538
|
+
onClick: t,
|
|
540
539
|
"aria-label": "New chat",
|
|
541
540
|
title: "New chat",
|
|
542
541
|
children: /* @__PURE__ */ a(me, { className: "h-4 w-4" })
|
|
@@ -550,9 +549,9 @@ function Pe({
|
|
|
550
549
|
}
|
|
551
550
|
function Oe({
|
|
552
551
|
title: e = "Loading workspace",
|
|
553
|
-
description:
|
|
552
|
+
description: n = "Preparing the workspace context.",
|
|
554
553
|
status: r = "Loading",
|
|
555
|
-
fullscreen:
|
|
554
|
+
fullscreen: t = !0,
|
|
556
555
|
className: s
|
|
557
556
|
}) {
|
|
558
557
|
return /* @__PURE__ */ a(
|
|
@@ -563,7 +562,7 @@ function Oe({
|
|
|
563
562
|
"aria-busy": "true",
|
|
564
563
|
className: g(
|
|
565
564
|
"flex h-full w-full items-center justify-center bg-background px-6 text-foreground",
|
|
566
|
-
|
|
565
|
+
t ? "min-h-screen" : "min-h-[240px]",
|
|
567
566
|
s
|
|
568
567
|
),
|
|
569
568
|
children: /* @__PURE__ */ l("div", { className: "flex w-full max-w-sm flex-col items-center gap-5 text-center", children: [
|
|
@@ -576,7 +575,7 @@ function Oe({
|
|
|
576
575
|
) }),
|
|
577
576
|
/* @__PURE__ */ l("div", { className: "space-y-2", children: [
|
|
578
577
|
/* @__PURE__ */ a("h2", { className: "text-base font-medium text-foreground", children: e }),
|
|
579
|
-
|
|
578
|
+
n ? /* @__PURE__ */ a("p", { className: "text-sm leading-6 text-muted-foreground", children: n }) : null
|
|
580
579
|
] }),
|
|
581
580
|
r ? /* @__PURE__ */ a("p", { className: "text-xs font-medium text-muted-foreground/80", children: r }) : null
|
|
582
581
|
] })
|
|
@@ -584,10 +583,10 @@ function Oe({
|
|
|
584
583
|
);
|
|
585
584
|
}
|
|
586
585
|
export {
|
|
587
|
-
|
|
586
|
+
We as C,
|
|
588
587
|
Pe as T,
|
|
589
588
|
Oe as W,
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
589
|
+
Ne as b,
|
|
590
|
+
Se as r,
|
|
591
|
+
_e as w
|
|
593
592
|
};
|