@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
package/dist/workspace.js
CHANGED
|
@@ -1,289 +1,244 @@
|
|
|
1
1
|
var X = Object.defineProperty;
|
|
2
|
-
var q = (e,
|
|
3
|
-
var
|
|
4
|
-
import {
|
|
5
|
-
import { A as
|
|
6
|
-
import { c as
|
|
7
|
-
import { C as
|
|
8
|
-
import { jsxs as b, jsx as
|
|
9
|
-
import { Button as
|
|
10
|
-
import { Toaster as
|
|
11
|
-
import { useSyncExternalStore as
|
|
12
|
-
import { C as
|
|
13
|
-
import { FileTree as
|
|
14
|
-
import { MarkdownEditor as
|
|
15
|
-
import { MenuIcon as
|
|
16
|
-
import { d as
|
|
17
|
-
function
|
|
18
|
-
const
|
|
19
|
-
return
|
|
2
|
+
var q = (e, r, t) => r in e ? X(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
|
|
3
|
+
var T = (e, r, t) => q(e, typeof r != "symbol" ? r + "" : r, t);
|
|
4
|
+
import { u as z, a as G, b as Q, D as Y } from "./WorkspaceProvider-CDPaAO5u.js";
|
|
5
|
+
import { A as ze, C as Ke, c as je, d as $e, e as _e, F as He, f as Ue, M as Ae, g as Je, P as Ve, h as Xe, i as qe, j as Ge, k as Qe, R as Ye, S as Ze, l as et, m as tt, T as nt, U as rt, W as at, n as st, o as ot, p as it, q as lt, r as ct, s as dt, t as ut, v as pt, w as mt, x as ht, y as ft, z as gt, B as bt, E as yt, G as vt, H as xt, I as St, J as Ct, K as Pt, L as kt, N as wt, O as Nt, Q as Et, V as Rt, X as Tt, Y as Ot, Z as It, _ as Lt, $ as Mt, a0 as Bt, a1 as Ft, a2 as Wt, a3 as Dt, a4 as zt, a5 as Kt, a6 as jt, a7 as $t, a8 as _t, a9 as Ht, aa as Ut, ab as At, ac as Jt, ad as Vt, ae as Xt, af as qt, ag as Gt, ah as Qt, ai as Yt } from "./WorkspaceProvider-CDPaAO5u.js";
|
|
6
|
+
import { c as w } from "./utils-B6yFEsav.js";
|
|
7
|
+
import { C as en, T as tn, W as nn, b as rn } from "./WorkspaceLoadingState-DYDxUYnx.js";
|
|
8
|
+
import { jsxs as b, jsx as n, Fragment as Z } from "react/jsx-runtime";
|
|
9
|
+
import { Button as P, Sheet as ee, SheetContent as te, SheetHeader as ne, SheetTitle as re, SheetDescription as ae, EmptyState as se, Kbd as O, ErrorState as oe, IconButton as I } from "@hachej/boring-ui-kit";
|
|
10
|
+
import { Toaster as sn, dismissToast as on, toast as ln } from "@hachej/boring-ui-kit";
|
|
11
|
+
import { useSyncExternalStore as K, useState as N, useEffect as S, useRef as k, useCallback as y, useMemo as C, Suspense as ie, Component as le } from "react";
|
|
12
|
+
import { C as dn, c as un } from "./CodeEditor-DQqOn4xz.js";
|
|
13
|
+
import { FileTree as mn } from "./FileTree-DHVB9rpk.js";
|
|
14
|
+
import { MarkdownEditor as fn } from "./MarkdownEditor-L1KDH0bM.js";
|
|
15
|
+
import { MenuIcon as ce, PanelLeftOpenIcon as de, PanelLeftCloseIcon as ue, PinIcon as pe, CheckIcon as me, CopyIcon as he } from "lucide-react";
|
|
16
|
+
import { d as bn } from "./panel-DnvDNQac.js";
|
|
17
|
+
function Te() {
|
|
18
|
+
const e = z();
|
|
19
|
+
return K(e.subscribe, e.getSnapshot);
|
|
20
20
|
}
|
|
21
|
-
function
|
|
22
|
-
const t = [];
|
|
23
|
-
for (const n of e.panels ?? [])
|
|
24
|
-
t.push(S({ type: "panel", panel: n }, a));
|
|
25
|
-
for (const n of e.commands ?? [])
|
|
26
|
-
t.push(S({ type: "command", command: n }, a));
|
|
27
|
-
for (const n of e.catalogs ?? [])
|
|
28
|
-
t.push(S({ type: "catalog", catalog: n }, a));
|
|
29
|
-
for (const n of e.agentTools ?? [])
|
|
30
|
-
t.push(
|
|
31
|
-
S({ type: "agent-tool", id: n.name, tool: n }, a)
|
|
32
|
-
);
|
|
33
|
-
for (const n of e.outputs ?? [])
|
|
34
|
-
t.push(S(n, a));
|
|
35
|
-
return t;
|
|
36
|
-
}
|
|
37
|
-
function be(e) {
|
|
38
|
-
return e.map((t) => t == null ? void 0 : t.trim()).filter((t) => !!t).join(`
|
|
39
|
-
|
|
40
|
-
`) || void 0;
|
|
41
|
-
}
|
|
42
|
-
function Me(e) {
|
|
43
|
-
const a = e.adoptOutputs !== !1, t = e.plugins.flatMap(
|
|
44
|
-
(o) => W(o, a ? void 0 : o.id)
|
|
45
|
-
), n = W(
|
|
46
|
-
{
|
|
47
|
-
id: e.id,
|
|
48
|
-
panels: e.panels,
|
|
49
|
-
commands: e.commands,
|
|
50
|
-
catalogs: e.catalogs,
|
|
51
|
-
agentTools: e.agentTools,
|
|
52
|
-
outputs: e.outputs
|
|
53
|
-
},
|
|
54
|
-
void 0
|
|
55
|
-
);
|
|
56
|
-
return G({
|
|
57
|
-
id: e.id,
|
|
58
|
-
label: e.label,
|
|
59
|
-
systemPrompt: be([
|
|
60
|
-
...e.plugins.map((o) => o.systemPrompt),
|
|
61
|
-
e.systemPrompt
|
|
62
|
-
]),
|
|
63
|
-
outputs: [...t, ...n]
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
function Le() {
|
|
67
|
-
const e = K();
|
|
68
|
-
return le(e.subscribe, e.getSnapshot);
|
|
69
|
-
}
|
|
70
|
-
function D(e) {
|
|
21
|
+
function F(e) {
|
|
71
22
|
return typeof window > "u" ? !1 : window.innerWidth < e;
|
|
72
23
|
}
|
|
73
|
-
function
|
|
74
|
-
const [
|
|
75
|
-
return
|
|
76
|
-
const
|
|
77
|
-
t(
|
|
24
|
+
function W(e = 1024) {
|
|
25
|
+
const [r, t] = N(() => F(e));
|
|
26
|
+
return S(() => {
|
|
27
|
+
const s = () => {
|
|
28
|
+
t(F(e));
|
|
78
29
|
};
|
|
79
|
-
return
|
|
80
|
-
window.removeEventListener("resize",
|
|
30
|
+
return s(), window.addEventListener("resize", s), () => {
|
|
31
|
+
window.removeEventListener("resize", s);
|
|
81
32
|
};
|
|
82
|
-
}, [e]),
|
|
33
|
+
}, [e]), r;
|
|
83
34
|
}
|
|
84
|
-
function
|
|
35
|
+
function fe({
|
|
85
36
|
isNarrowViewport: e,
|
|
86
|
-
isCollapsed:
|
|
37
|
+
isCollapsed: r,
|
|
87
38
|
setCollapsed: t
|
|
88
39
|
}) {
|
|
89
|
-
const
|
|
90
|
-
return
|
|
91
|
-
|
|
92
|
-
}, [
|
|
93
|
-
const g =
|
|
94
|
-
if (
|
|
95
|
-
|
|
40
|
+
const s = k(r), l = k(!1), i = k(null);
|
|
41
|
+
return S(() => {
|
|
42
|
+
s.current = r;
|
|
43
|
+
}, [r]), S(() => {
|
|
44
|
+
const g = i.current, d = g !== !0 && e, o = g === !0 && !e;
|
|
45
|
+
if (i.current = e, e && d && !s.current) {
|
|
46
|
+
l.current = !0, t(!0);
|
|
96
47
|
return;
|
|
97
48
|
}
|
|
98
|
-
|
|
49
|
+
o && l.current && (l.current = !1, t(!1));
|
|
99
50
|
}, [e, t]), y(() => {
|
|
100
|
-
|
|
51
|
+
l.current = !1;
|
|
101
52
|
}, []);
|
|
102
53
|
}
|
|
103
|
-
function
|
|
104
|
-
const [
|
|
105
|
-
|
|
54
|
+
function Oe(e) {
|
|
55
|
+
const [r, t] = N([]), s = k(r);
|
|
56
|
+
s.current = r, S(() => {
|
|
106
57
|
if (!e) {
|
|
107
58
|
t([]);
|
|
108
59
|
return;
|
|
109
60
|
}
|
|
110
|
-
function
|
|
61
|
+
function o() {
|
|
111
62
|
try {
|
|
112
|
-
const u = e.toJSON(),
|
|
63
|
+
const u = e.toJSON(), h = [];
|
|
113
64
|
if (u && typeof u == "object" && "panels" in u) {
|
|
114
|
-
const
|
|
115
|
-
if (
|
|
116
|
-
for (const [, m] of Object.entries(
|
|
117
|
-
m.id &&
|
|
65
|
+
const f = u;
|
|
66
|
+
if (f.panels)
|
|
67
|
+
for (const [, m] of Object.entries(f.panels))
|
|
68
|
+
m.id && h.push({
|
|
118
69
|
id: m.id,
|
|
119
70
|
component: m.contentComponent ?? m.id,
|
|
120
71
|
params: m.params
|
|
121
72
|
});
|
|
122
73
|
}
|
|
123
|
-
const
|
|
124
|
-
(
|
|
74
|
+
const a = s.current;
|
|
75
|
+
(a.length !== h.length || a.some((f, m) => {
|
|
125
76
|
var v;
|
|
126
|
-
return
|
|
127
|
-
})) && t(
|
|
77
|
+
return f.id !== ((v = h[m]) == null ? void 0 : v.id);
|
|
78
|
+
})) && t(h);
|
|
128
79
|
} catch {
|
|
129
80
|
}
|
|
130
81
|
}
|
|
131
|
-
|
|
132
|
-
const c = setInterval(
|
|
82
|
+
o();
|
|
83
|
+
const c = setInterval(o, 500);
|
|
133
84
|
return () => clearInterval(c);
|
|
134
85
|
}, [e]);
|
|
135
|
-
const
|
|
136
|
-
(
|
|
86
|
+
const l = y(
|
|
87
|
+
(o) => {
|
|
137
88
|
e == null || e.addPanel("artifacts", {
|
|
138
|
-
id:
|
|
139
|
-
component:
|
|
140
|
-
params:
|
|
89
|
+
id: o.id,
|
|
90
|
+
component: o.component,
|
|
91
|
+
params: o.params
|
|
141
92
|
});
|
|
142
93
|
},
|
|
143
94
|
[e]
|
|
144
|
-
),
|
|
145
|
-
(
|
|
146
|
-
e == null || e.removePanel(
|
|
95
|
+
), i = y(
|
|
96
|
+
(o) => {
|
|
97
|
+
e == null || e.removePanel(o);
|
|
147
98
|
},
|
|
148
99
|
[e]
|
|
149
100
|
), g = y(
|
|
150
|
-
(
|
|
151
|
-
e == null || e.activatePanel(
|
|
101
|
+
(o) => {
|
|
102
|
+
e == null || e.activatePanel(o);
|
|
152
103
|
},
|
|
153
104
|
[e]
|
|
154
105
|
), d = y(
|
|
155
|
-
(
|
|
106
|
+
(o) => s.current.some((c) => c.id === o),
|
|
156
107
|
[]
|
|
157
108
|
);
|
|
158
|
-
return { panels:
|
|
109
|
+
return { panels: r, open: l, close: i, activate: g, isOpen: d };
|
|
159
110
|
}
|
|
160
|
-
function
|
|
161
|
-
const t =
|
|
162
|
-
(
|
|
111
|
+
function Ie(e, r = {}) {
|
|
112
|
+
const t = r.toolPanelMap ?? {}, s = y(
|
|
113
|
+
(i) => t[i],
|
|
163
114
|
[t]
|
|
164
115
|
);
|
|
165
116
|
return { openForTool: y(
|
|
166
|
-
(
|
|
167
|
-
const d = t[
|
|
117
|
+
(i, g) => {
|
|
118
|
+
const d = t[i];
|
|
168
119
|
if (!d) return;
|
|
169
|
-
const
|
|
170
|
-
e.isOpen(
|
|
120
|
+
const o = `artifact-${g.path}`;
|
|
121
|
+
e.isOpen(o) ? e.activate(o) : e.open({ id: o, component: d, params: g });
|
|
171
122
|
},
|
|
172
123
|
[t, e]
|
|
173
|
-
), resolvePanel:
|
|
124
|
+
), resolvePanel: s };
|
|
174
125
|
}
|
|
175
|
-
const
|
|
176
|
-
function
|
|
126
|
+
const ge = 768, be = 1024;
|
|
127
|
+
function ye(e) {
|
|
177
128
|
return {
|
|
178
129
|
...e,
|
|
179
|
-
groups: e.groups.filter((
|
|
130
|
+
groups: e.groups.filter((r) => r.id !== "sidebar")
|
|
180
131
|
};
|
|
181
132
|
}
|
|
182
|
-
function
|
|
133
|
+
function ve({
|
|
183
134
|
layout: e,
|
|
184
|
-
className:
|
|
135
|
+
className: r
|
|
185
136
|
}) {
|
|
186
|
-
var
|
|
187
|
-
const t =
|
|
137
|
+
var M;
|
|
138
|
+
const t = z(), s = G(), l = Q(), i = W(ge), g = W(be), d = g && !i, o = C(
|
|
188
139
|
() => e.groups.find((x) => x.id === "sidebar" && x.panel),
|
|
189
140
|
[e]
|
|
190
|
-
), c =
|
|
141
|
+
), c = o == null ? void 0 : o.panel, u = !!c, h = fe({
|
|
191
142
|
isNarrowViewport: u && g,
|
|
192
|
-
isCollapsed:
|
|
193
|
-
setCollapsed: (x) =>
|
|
194
|
-
}), [
|
|
195
|
-
|
|
196
|
-
(!u || !
|
|
197
|
-
}, [u,
|
|
198
|
-
const
|
|
199
|
-
() => m ? e :
|
|
143
|
+
isCollapsed: s.collapsed,
|
|
144
|
+
setCollapsed: (x) => l({ collapsed: x })
|
|
145
|
+
}), [a, p] = N(!1);
|
|
146
|
+
S(() => {
|
|
147
|
+
(!u || !i && !d) && p(!1);
|
|
148
|
+
}, [u, i, d]);
|
|
149
|
+
const f = u && (i || d && s.collapsed), m = u && !i && (!d || !s.collapsed), v = C(
|
|
150
|
+
() => m ? e : ye(e),
|
|
200
151
|
[m, e]
|
|
201
|
-
),
|
|
202
|
-
const x = m ? "inline-sidebar" : "overlay-sidebar",
|
|
203
|
-
let
|
|
152
|
+
), j = C(() => {
|
|
153
|
+
const x = m ? "inline-sidebar" : "overlay-sidebar", B = v.groups.map((E) => {
|
|
154
|
+
let R = "";
|
|
204
155
|
try {
|
|
205
|
-
|
|
156
|
+
R = JSON.stringify(E.params ?? null);
|
|
206
157
|
} catch {
|
|
207
|
-
|
|
158
|
+
R = "unserializable";
|
|
208
159
|
}
|
|
209
|
-
return `${E.id}:${E.panel ?? ""}:${
|
|
160
|
+
return `${E.id}:${E.panel ?? ""}:${R}`;
|
|
210
161
|
}).join(",");
|
|
211
|
-
return `${v.version}:${x}:${
|
|
212
|
-
}, [v, m]), $ =
|
|
162
|
+
return `${v.version}:${x}:${B}`;
|
|
163
|
+
}, [v, m]), $ = K(
|
|
164
|
+
t.subscribe,
|
|
165
|
+
t.getSnapshot,
|
|
166
|
+
t.getSnapshot
|
|
167
|
+
), _ = C(() => t.getComponents(), [t, $]), L = c ? _[c] : null, H = c ? ((M = t.get(c)) == null ? void 0 : M.title) ?? "Sidebar" : "Sidebar", U = y(() => {
|
|
213
168
|
p(!0);
|
|
214
169
|
}, []), A = y(() => {
|
|
215
|
-
|
|
216
|
-
}, [
|
|
217
|
-
|
|
218
|
-
}, [
|
|
170
|
+
h(), l({ collapsed: !1 }), p(!1);
|
|
171
|
+
}, [h, l]), J = y(() => {
|
|
172
|
+
h(), l({ collapsed: !0 }), p(!1);
|
|
173
|
+
}, [h, l]), V = y(
|
|
219
174
|
(x) => {
|
|
220
175
|
x.target.closest("[role='treeitem']") && p(!1);
|
|
221
176
|
},
|
|
222
177
|
[]
|
|
223
178
|
);
|
|
224
179
|
return /* @__PURE__ */ b("div", { className: "relative h-full w-full", children: [
|
|
225
|
-
d && u &&
|
|
180
|
+
d && u && s.collapsed && /* @__PURE__ */ n(
|
|
226
181
|
"div",
|
|
227
182
|
{
|
|
228
183
|
className: "pointer-events-none absolute inset-y-0 left-0 z-20 w-10 border-r border-border bg-background/95",
|
|
229
184
|
"aria-hidden": "true"
|
|
230
185
|
}
|
|
231
186
|
),
|
|
232
|
-
|
|
187
|
+
f && /* @__PURE__ */ n(
|
|
233
188
|
"div",
|
|
234
189
|
{
|
|
235
|
-
className:
|
|
190
|
+
className: w(
|
|
236
191
|
"absolute z-30",
|
|
237
|
-
|
|
192
|
+
i ? "left-2 top-2" : "left-1 top-2"
|
|
238
193
|
),
|
|
239
|
-
children: /* @__PURE__ */
|
|
240
|
-
|
|
194
|
+
children: /* @__PURE__ */ n(
|
|
195
|
+
P,
|
|
241
196
|
{
|
|
242
197
|
type: "button",
|
|
243
198
|
variant: "outline",
|
|
244
199
|
size: "icon-sm",
|
|
245
200
|
onClick: U,
|
|
246
|
-
"aria-label":
|
|
247
|
-
children:
|
|
201
|
+
"aria-label": i ? "Open sidebar menu" : "Open collapsed sidebar",
|
|
202
|
+
children: i ? /* @__PURE__ */ n(ce, { className: "h-4 w-4" }) : /* @__PURE__ */ n(de, { className: "h-4 w-4" })
|
|
248
203
|
}
|
|
249
204
|
)
|
|
250
205
|
}
|
|
251
206
|
),
|
|
252
|
-
d && u && !
|
|
253
|
-
|
|
207
|
+
d && u && !s.collapsed && /* @__PURE__ */ n("div", { className: "absolute left-2 top-2 z-30", children: /* @__PURE__ */ n(
|
|
208
|
+
P,
|
|
254
209
|
{
|
|
255
210
|
type: "button",
|
|
256
211
|
variant: "outline",
|
|
257
212
|
size: "icon-sm",
|
|
258
213
|
onClick: J,
|
|
259
214
|
"aria-label": "Collapse sidebar",
|
|
260
|
-
children: /* @__PURE__ */
|
|
215
|
+
children: /* @__PURE__ */ n(ue, { className: "h-4 w-4" })
|
|
261
216
|
}
|
|
262
217
|
) }),
|
|
263
|
-
/* @__PURE__ */
|
|
264
|
-
|
|
218
|
+
/* @__PURE__ */ n(
|
|
219
|
+
Y,
|
|
265
220
|
{
|
|
266
221
|
layout: v,
|
|
267
|
-
className:
|
|
268
|
-
|
|
269
|
-
d && u &&
|
|
222
|
+
className: w(
|
|
223
|
+
r,
|
|
224
|
+
d && u && s.collapsed && "pl-10"
|
|
270
225
|
)
|
|
271
226
|
},
|
|
272
|
-
|
|
227
|
+
j
|
|
273
228
|
),
|
|
274
|
-
|
|
275
|
-
|
|
229
|
+
f && /* @__PURE__ */ n(ee, { open: a, onOpenChange: p, children: /* @__PURE__ */ b(
|
|
230
|
+
te,
|
|
276
231
|
{
|
|
277
232
|
side: "left",
|
|
278
233
|
className: "w-[85vw] max-w-sm p-0",
|
|
279
234
|
children: [
|
|
280
235
|
/* @__PURE__ */ b(ne, { className: "flex flex-row items-center justify-between border-b border-border px-4 py-3", children: [
|
|
281
236
|
/* @__PURE__ */ b("div", { children: [
|
|
282
|
-
/* @__PURE__ */
|
|
283
|
-
/* @__PURE__ */
|
|
237
|
+
/* @__PURE__ */ n(re, { children: H }),
|
|
238
|
+
/* @__PURE__ */ n(ae, { className: "sr-only", children: "Responsive sidebar panel" })
|
|
284
239
|
] }),
|
|
285
240
|
d && /* @__PURE__ */ b(
|
|
286
|
-
|
|
241
|
+
P,
|
|
287
242
|
{
|
|
288
243
|
type: "button",
|
|
289
244
|
variant: "outline",
|
|
@@ -291,18 +246,18 @@ function Se({
|
|
|
291
246
|
onClick: A,
|
|
292
247
|
"aria-label": "Pin sidebar open",
|
|
293
248
|
children: [
|
|
294
|
-
/* @__PURE__ */
|
|
249
|
+
/* @__PURE__ */ n(pe, { className: "h-4 w-4" }),
|
|
295
250
|
"Pin"
|
|
296
251
|
]
|
|
297
252
|
}
|
|
298
253
|
)
|
|
299
254
|
] }),
|
|
300
|
-
/* @__PURE__ */
|
|
255
|
+
/* @__PURE__ */ n(
|
|
301
256
|
"div",
|
|
302
257
|
{
|
|
303
258
|
className: "h-full min-h-0 overflow-auto",
|
|
304
259
|
onClickCapture: V,
|
|
305
|
-
children: L ? /* @__PURE__ */
|
|
260
|
+
children: L ? /* @__PURE__ */ n(ie, { fallback: /* @__PURE__ */ n(D, {}), children: /* @__PURE__ */ n(L, {}) }) : /* @__PURE__ */ n(D, {})
|
|
306
261
|
}
|
|
307
262
|
)
|
|
308
263
|
]
|
|
@@ -310,15 +265,15 @@ function Se({
|
|
|
310
265
|
) })
|
|
311
266
|
] });
|
|
312
267
|
}
|
|
313
|
-
function
|
|
314
|
-
return /* @__PURE__ */
|
|
268
|
+
function D() {
|
|
269
|
+
return /* @__PURE__ */ n("div", { className: "flex h-full min-h-[240px] items-center justify-center text-sm text-muted-foreground", children: "Loading sidebar..." });
|
|
315
270
|
}
|
|
316
|
-
function
|
|
317
|
-
const { sidebar:
|
|
271
|
+
function xe(e = {}) {
|
|
272
|
+
const { sidebar: r = "filetree", center: t = "empty", right: s } = e, l = [
|
|
318
273
|
{
|
|
319
274
|
id: "sidebar",
|
|
320
275
|
position: "left",
|
|
321
|
-
panel:
|
|
276
|
+
panel: r,
|
|
322
277
|
locked: !0,
|
|
323
278
|
collapsible: !0,
|
|
324
279
|
collapsedWidth: 40,
|
|
@@ -333,120 +288,120 @@ function Ce(e = {}) {
|
|
|
333
288
|
constraints: { minWidth: 300 }
|
|
334
289
|
}
|
|
335
290
|
];
|
|
336
|
-
return
|
|
291
|
+
return s && l.push({
|
|
337
292
|
id: "right",
|
|
338
293
|
position: "right",
|
|
339
|
-
panel:
|
|
294
|
+
panel: s,
|
|
340
295
|
hideHeader: !0,
|
|
341
296
|
constraints: { minWidth: 250 }
|
|
342
|
-
}), { version: "2.0", groups:
|
|
297
|
+
}), { version: "2.0", groups: l };
|
|
343
298
|
}
|
|
344
|
-
function
|
|
345
|
-
return /* @__PURE__ */
|
|
299
|
+
function Le(e) {
|
|
300
|
+
return /* @__PURE__ */ n(ve, { layout: xe(e), className: e.className });
|
|
346
301
|
}
|
|
347
|
-
function
|
|
348
|
-
return /* @__PURE__ */
|
|
349
|
-
|
|
302
|
+
function Me({ className: e, onOpenFile: r }) {
|
|
303
|
+
return /* @__PURE__ */ n(
|
|
304
|
+
se,
|
|
350
305
|
{
|
|
351
|
-
className:
|
|
306
|
+
className: w("h-full border-0 text-muted-foreground", e),
|
|
352
307
|
title: "No file open",
|
|
353
308
|
description: "Open a file to get started",
|
|
354
|
-
actions:
|
|
309
|
+
actions: r ? /* @__PURE__ */ n(P, { type: "button", variant: "outline", onClick: r, children: "Open file" }) : null,
|
|
355
310
|
children: /* @__PURE__ */ b("div", { className: "space-y-2 text-sm", children: [
|
|
356
311
|
/* @__PURE__ */ b("div", { className: "flex items-center gap-3", children: [
|
|
357
|
-
/* @__PURE__ */
|
|
358
|
-
/* @__PURE__ */
|
|
312
|
+
/* @__PURE__ */ n(O, { children: "⌘P" }),
|
|
313
|
+
/* @__PURE__ */ n("span", { children: "Open file" })
|
|
359
314
|
] }),
|
|
360
315
|
/* @__PURE__ */ b("div", { className: "flex items-center gap-3", children: [
|
|
361
|
-
/* @__PURE__ */
|
|
362
|
-
/* @__PURE__ */
|
|
316
|
+
/* @__PURE__ */ n(O, { children: "⌘⇧P" }),
|
|
317
|
+
/* @__PURE__ */ n("span", { children: "Command palette" })
|
|
363
318
|
] }),
|
|
364
319
|
/* @__PURE__ */ b("div", { className: "flex items-center gap-3", children: [
|
|
365
|
-
/* @__PURE__ */
|
|
366
|
-
/* @__PURE__ */
|
|
320
|
+
/* @__PURE__ */ n(O, { children: "⌘B" }),
|
|
321
|
+
/* @__PURE__ */ n("span", { children: "Toggle sidebar" })
|
|
367
322
|
] })
|
|
368
323
|
] })
|
|
369
324
|
}
|
|
370
325
|
);
|
|
371
326
|
}
|
|
372
|
-
class
|
|
327
|
+
class Be extends le {
|
|
373
328
|
constructor() {
|
|
374
329
|
super(...arguments);
|
|
375
|
-
|
|
376
|
-
|
|
330
|
+
T(this, "state", { hasError: !1, error: null });
|
|
331
|
+
T(this, "handleRetry", () => {
|
|
377
332
|
this.setState({ hasError: !1, error: null });
|
|
378
333
|
});
|
|
379
334
|
}
|
|
380
335
|
static getDerivedStateFromError(t) {
|
|
381
336
|
return { hasError: !0, error: t };
|
|
382
337
|
}
|
|
383
|
-
componentDidCatch(t,
|
|
384
|
-
const { panelId:
|
|
385
|
-
console.error(`[PanelErrorBoundary] Panel "${
|
|
386
|
-
panelId:
|
|
338
|
+
componentDidCatch(t, s) {
|
|
339
|
+
const { panelId: l, onError: i } = this.props;
|
|
340
|
+
console.error(`[PanelErrorBoundary] Panel "${l}" crashed:`, t, s.componentStack), i == null || i({
|
|
341
|
+
panelId: l,
|
|
387
342
|
error: t.message,
|
|
388
|
-
stack:
|
|
343
|
+
stack: s.componentStack ?? void 0
|
|
389
344
|
});
|
|
390
345
|
}
|
|
391
346
|
render() {
|
|
392
347
|
var t;
|
|
393
|
-
return this.state.hasError ? /* @__PURE__ */
|
|
394
|
-
|
|
348
|
+
return this.state.hasError ? /* @__PURE__ */ n("div", { className: "flex h-full items-center justify-center p-6", children: /* @__PURE__ */ n(
|
|
349
|
+
oe,
|
|
395
350
|
{
|
|
396
351
|
className: "w-full max-w-md",
|
|
397
352
|
title: "Something went wrong",
|
|
398
|
-
description: /* @__PURE__ */ b(
|
|
353
|
+
description: /* @__PURE__ */ b(Z, { children: [
|
|
399
354
|
"Panel ",
|
|
400
|
-
/* @__PURE__ */
|
|
355
|
+
/* @__PURE__ */ n("code", { className: "rounded bg-muted px-1 py-0.5 text-xs", children: this.props.panelId }),
|
|
401
356
|
" ",
|
|
402
357
|
"encountered an error."
|
|
403
358
|
] }),
|
|
404
359
|
details: (t = this.state.error) == null ? void 0 : t.message,
|
|
405
|
-
actions: /* @__PURE__ */
|
|
360
|
+
actions: /* @__PURE__ */ n(P, { type: "button", variant: "outline", onClick: this.handleRetry, children: "Retry" })
|
|
406
361
|
}
|
|
407
362
|
) }) : this.props.children;
|
|
408
363
|
}
|
|
409
364
|
}
|
|
410
|
-
function
|
|
365
|
+
function Fe({
|
|
411
366
|
sessions: e,
|
|
412
|
-
activeId:
|
|
367
|
+
activeId: r,
|
|
413
368
|
onSwitch: t,
|
|
414
|
-
onCreate:
|
|
415
|
-
onDelete:
|
|
416
|
-
className:
|
|
369
|
+
onCreate: s,
|
|
370
|
+
onDelete: l,
|
|
371
|
+
className: i
|
|
417
372
|
}) {
|
|
418
|
-
const [g, d] =
|
|
419
|
-
|
|
373
|
+
const [g, d] = N(null), o = k({}), c = C(() => e.map((a) => a.id), [e]);
|
|
374
|
+
S(() => {
|
|
420
375
|
if (c.length === 0) {
|
|
421
376
|
d(null);
|
|
422
377
|
return;
|
|
423
378
|
}
|
|
424
|
-
d((
|
|
425
|
-
}, [c,
|
|
426
|
-
const u = y((
|
|
379
|
+
d((a) => a && c.includes(a) ? a : r && c.includes(r) ? r : c[0] ?? null);
|
|
380
|
+
}, [c, r]);
|
|
381
|
+
const u = y((a) => {
|
|
427
382
|
var p;
|
|
428
|
-
d(
|
|
429
|
-
}, []),
|
|
430
|
-
(
|
|
431
|
-
if (
|
|
432
|
-
if (
|
|
433
|
-
|
|
383
|
+
d(a), (p = o.current[a]) == null || p.focus();
|
|
384
|
+
}, []), h = y(
|
|
385
|
+
(a, p) => {
|
|
386
|
+
if (a.target !== a.currentTarget) return;
|
|
387
|
+
if (a.key === "Enter" || a.key === " ") {
|
|
388
|
+
a.preventDefault(), t == null || t(p);
|
|
434
389
|
return;
|
|
435
390
|
}
|
|
436
|
-
const
|
|
437
|
-
if (
|
|
438
|
-
let m =
|
|
439
|
-
if (
|
|
440
|
-
m = Math.min(
|
|
441
|
-
else if (
|
|
442
|
-
m = Math.max(
|
|
443
|
-
else if (
|
|
391
|
+
const f = c.indexOf(p);
|
|
392
|
+
if (f < 0) return;
|
|
393
|
+
let m = f;
|
|
394
|
+
if (a.key === "ArrowDown")
|
|
395
|
+
m = Math.min(f + 1, c.length - 1);
|
|
396
|
+
else if (a.key === "ArrowUp")
|
|
397
|
+
m = Math.max(f - 1, 0);
|
|
398
|
+
else if (a.key === "Home")
|
|
444
399
|
m = 0;
|
|
445
|
-
else if (
|
|
400
|
+
else if (a.key === "End")
|
|
446
401
|
m = c.length - 1;
|
|
447
402
|
else
|
|
448
403
|
return;
|
|
449
|
-
|
|
404
|
+
a.preventDefault();
|
|
450
405
|
const v = c[m];
|
|
451
406
|
v && u(v);
|
|
452
407
|
},
|
|
@@ -456,13 +411,13 @@ function je({
|
|
|
456
411
|
"div",
|
|
457
412
|
{
|
|
458
413
|
"data-boring-workspace-part": "session-list",
|
|
459
|
-
className:
|
|
414
|
+
className: w("flex h-full flex-col", i),
|
|
460
415
|
role: "navigation",
|
|
461
416
|
"aria-label": "Sessions",
|
|
462
417
|
children: [
|
|
463
418
|
/* @__PURE__ */ b("div", { className: "flex items-center justify-between border-b border-border px-3 py-2", children: [
|
|
464
|
-
/* @__PURE__ */
|
|
465
|
-
|
|
419
|
+
/* @__PURE__ */ n("span", { className: "text-xs font-medium text-muted-foreground uppercase tracking-wider", children: "Sessions" }),
|
|
420
|
+
s && /* @__PURE__ */ n(I, { type: "button", variant: "ghost", size: "icon-xs", onClick: s, "aria-label": "New session", children: /* @__PURE__ */ n(
|
|
466
421
|
"svg",
|
|
467
422
|
{
|
|
468
423
|
width: "16",
|
|
@@ -472,48 +427,48 @@ function je({
|
|
|
472
427
|
stroke: "currentColor",
|
|
473
428
|
strokeWidth: "1.5",
|
|
474
429
|
strokeLinecap: "round",
|
|
475
|
-
children: /* @__PURE__ */
|
|
430
|
+
children: /* @__PURE__ */ n("path", { d: "M8 3v10M3 8h10" })
|
|
476
431
|
}
|
|
477
432
|
) })
|
|
478
433
|
] }),
|
|
479
434
|
/* @__PURE__ */ b("div", { className: "flex-1 overflow-y-auto", role: "list", "aria-label": "Session list", children: [
|
|
480
|
-
e.length === 0 && /* @__PURE__ */
|
|
481
|
-
e.map((
|
|
482
|
-
|
|
435
|
+
e.length === 0 && /* @__PURE__ */ n("div", { className: "px-3 py-6 text-center text-sm text-muted-foreground", children: "No sessions" }),
|
|
436
|
+
e.map((a) => /* @__PURE__ */ n(
|
|
437
|
+
Se,
|
|
483
438
|
{
|
|
484
|
-
session:
|
|
485
|
-
isActive:
|
|
486
|
-
isFocused:
|
|
439
|
+
session: a,
|
|
440
|
+
isActive: a.id === r,
|
|
441
|
+
isFocused: a.id === g,
|
|
487
442
|
onSwitch: t,
|
|
488
|
-
onDelete:
|
|
489
|
-
onFocus: () => d(
|
|
490
|
-
onKeyDown:
|
|
443
|
+
onDelete: l,
|
|
444
|
+
onFocus: () => d(a.id),
|
|
445
|
+
onKeyDown: h,
|
|
491
446
|
rowRef: (p) => {
|
|
492
|
-
|
|
447
|
+
o.current[a.id] = p;
|
|
493
448
|
}
|
|
494
449
|
},
|
|
495
|
-
|
|
450
|
+
a.id
|
|
496
451
|
))
|
|
497
452
|
] })
|
|
498
453
|
]
|
|
499
454
|
}
|
|
500
455
|
);
|
|
501
456
|
}
|
|
502
|
-
function
|
|
457
|
+
function Se({
|
|
503
458
|
session: e,
|
|
504
|
-
isActive:
|
|
459
|
+
isActive: r,
|
|
505
460
|
isFocused: t,
|
|
506
|
-
onSwitch:
|
|
507
|
-
onDelete:
|
|
508
|
-
onFocus:
|
|
461
|
+
onSwitch: s,
|
|
462
|
+
onDelete: l,
|
|
463
|
+
onFocus: i,
|
|
509
464
|
onKeyDown: g,
|
|
510
465
|
rowRef: d
|
|
511
466
|
}) {
|
|
512
|
-
const [
|
|
513
|
-
var p,
|
|
514
|
-
|
|
515
|
-
const
|
|
516
|
-
|
|
467
|
+
const [o, c] = N(!1), u = y((h) => {
|
|
468
|
+
var p, f;
|
|
469
|
+
h.stopPropagation();
|
|
470
|
+
const a = (f = (p = navigator.clipboard) == null ? void 0 : p.writeText) == null ? void 0 : f.bind(navigator.clipboard);
|
|
471
|
+
a && a(e.id).then(() => {
|
|
517
472
|
c(!0), window.setTimeout(() => c(!1), 1200);
|
|
518
473
|
});
|
|
519
474
|
}, [e.id]);
|
|
@@ -523,22 +478,22 @@ function ke({
|
|
|
523
478
|
ref: d,
|
|
524
479
|
role: "listitem",
|
|
525
480
|
"data-boring-workspace-part": "session-row",
|
|
526
|
-
"data-boring-state":
|
|
481
|
+
"data-boring-state": r ? "selected" : void 0,
|
|
527
482
|
"data-focused": t ? "true" : "false",
|
|
528
|
-
className:
|
|
483
|
+
className: w(
|
|
529
484
|
"group flex items-center gap-2 border-b border-border px-3 py-2 text-sm cursor-pointer transition-colors",
|
|
530
485
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1",
|
|
531
|
-
|
|
486
|
+
r ? "bg-accent text-accent-foreground" : "text-foreground hover:bg-accent/50"
|
|
532
487
|
),
|
|
533
|
-
onClick: () =>
|
|
534
|
-
onFocus:
|
|
535
|
-
onKeyDown: (
|
|
488
|
+
onClick: () => s == null ? void 0 : s(e.id),
|
|
489
|
+
onFocus: i,
|
|
490
|
+
onKeyDown: (h) => g(h, e.id),
|
|
536
491
|
tabIndex: t ? 0 : -1,
|
|
537
|
-
"aria-current":
|
|
492
|
+
"aria-current": r ? "true" : void 0,
|
|
538
493
|
children: [
|
|
539
|
-
/* @__PURE__ */
|
|
540
|
-
/* @__PURE__ */
|
|
541
|
-
|
|
494
|
+
/* @__PURE__ */ n("span", { className: "flex-1 truncate", children: e.title }),
|
|
495
|
+
/* @__PURE__ */ n(
|
|
496
|
+
I,
|
|
542
497
|
{
|
|
543
498
|
type: "button",
|
|
544
499
|
variant: "ghost",
|
|
@@ -548,29 +503,29 @@ function ke({
|
|
|
548
503
|
tabIndex: t ? 0 : -1,
|
|
549
504
|
"aria-label": `Copy Pi session id for ${e.title}`,
|
|
550
505
|
title: "Copy Pi session id",
|
|
551
|
-
children:
|
|
506
|
+
children: o ? /* @__PURE__ */ n(me, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ n(he, { className: "h-3.5 w-3.5" })
|
|
552
507
|
}
|
|
553
508
|
),
|
|
554
|
-
|
|
509
|
+
r && /* @__PURE__ */ n(
|
|
555
510
|
"span",
|
|
556
511
|
{
|
|
557
512
|
className: "h-1.5 w-1.5 shrink-0 rounded-full bg-primary",
|
|
558
513
|
"aria-label": "Active"
|
|
559
514
|
}
|
|
560
515
|
),
|
|
561
|
-
|
|
562
|
-
|
|
516
|
+
l && /* @__PURE__ */ n(
|
|
517
|
+
I,
|
|
563
518
|
{
|
|
564
519
|
type: "button",
|
|
565
520
|
variant: "ghost",
|
|
566
521
|
size: "icon-xs",
|
|
567
522
|
className: "shrink-0 text-muted-foreground opacity-0 hover:text-destructive focus-visible:opacity-100 group-hover:opacity-100 group-data-[focused=true]:opacity-100",
|
|
568
|
-
onClick: (
|
|
569
|
-
|
|
523
|
+
onClick: (h) => {
|
|
524
|
+
h.stopPropagation(), l(e.id);
|
|
570
525
|
},
|
|
571
526
|
tabIndex: t ? 0 : -1,
|
|
572
527
|
"aria-label": `Delete ${e.title}`,
|
|
573
|
-
children: /* @__PURE__ */
|
|
528
|
+
children: /* @__PURE__ */ n(
|
|
574
529
|
"svg",
|
|
575
530
|
{
|
|
576
531
|
width: "14",
|
|
@@ -580,7 +535,7 @@ function ke({
|
|
|
580
535
|
stroke: "currentColor",
|
|
581
536
|
strokeWidth: "1.5",
|
|
582
537
|
strokeLinecap: "round",
|
|
583
|
-
children: /* @__PURE__ */
|
|
538
|
+
children: /* @__PURE__ */ n("path", { d: "M3.5 3.5l7 7M10.5 3.5l-7 7" })
|
|
584
539
|
}
|
|
585
540
|
)
|
|
586
541
|
}
|
|
@@ -590,103 +545,101 @@ function ke({
|
|
|
590
545
|
);
|
|
591
546
|
}
|
|
592
547
|
export {
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
ta as useWorkspaceContextOptional,
|
|
691
|
-
aa as userMeta
|
|
548
|
+
ze as ArtifactSurfacePane,
|
|
549
|
+
Ke as CatalogRegistry,
|
|
550
|
+
en as ChatLayout,
|
|
551
|
+
dn as CodeEditor,
|
|
552
|
+
je as CodeEditorPane,
|
|
553
|
+
$e as CommandPalette,
|
|
554
|
+
_e as CommandRegistry,
|
|
555
|
+
Y as DockviewShell,
|
|
556
|
+
Me as EmptyPane,
|
|
557
|
+
mn as FileTree,
|
|
558
|
+
He as FileTreePane,
|
|
559
|
+
Ue as FileTreeView,
|
|
560
|
+
Le as IdeLayout,
|
|
561
|
+
Ae as MAX_PANELS,
|
|
562
|
+
fn as MarkdownEditor,
|
|
563
|
+
Je as MarkdownEditorPane,
|
|
564
|
+
Ve as PanelChrome,
|
|
565
|
+
Be as PanelErrorBoundary,
|
|
566
|
+
Xe as PanelRegistry,
|
|
567
|
+
qe as PluginError,
|
|
568
|
+
Ge as PluginErrorBoundary,
|
|
569
|
+
Qe as PluginErrorProvider,
|
|
570
|
+
Ye as RegistryProvider,
|
|
571
|
+
ve as ResponsiveDockviewShell,
|
|
572
|
+
Ze as SessionBrowser,
|
|
573
|
+
Fe as SessionList,
|
|
574
|
+
et as SurfaceResolverRegistry,
|
|
575
|
+
tt as SurfaceShell,
|
|
576
|
+
nt as ThemeProvider,
|
|
577
|
+
sn as Toaster,
|
|
578
|
+
tn as TopBar,
|
|
579
|
+
rt as UI_COMMAND_EVENT,
|
|
580
|
+
at as WORKSPACE_OPEN_PATH_SURFACE_KIND,
|
|
581
|
+
st as WorkbenchLeftPane,
|
|
582
|
+
nn as WorkspaceLoadingState,
|
|
583
|
+
ot as WorkspaceProvider,
|
|
584
|
+
it as agentMeta,
|
|
585
|
+
lt as bindStore,
|
|
586
|
+
ct as bootstrap,
|
|
587
|
+
rn as buildChatLayout,
|
|
588
|
+
xe as buildIdeLayout,
|
|
589
|
+
dt as closePanelSchema,
|
|
590
|
+
w as cn,
|
|
591
|
+
ut as createBridge,
|
|
592
|
+
pt as createBridgeClient,
|
|
593
|
+
un as createShadcnTheme,
|
|
594
|
+
mt as createWorkspaceStore,
|
|
595
|
+
bn as definePanel,
|
|
596
|
+
on as dismissToast,
|
|
597
|
+
ht as emitAgentData,
|
|
598
|
+
ft as emitFilesystemAgentFileChange,
|
|
599
|
+
gt as events,
|
|
600
|
+
bt as expandToFileSchema,
|
|
601
|
+
yt as filesystemEvents,
|
|
602
|
+
vt as filesystemPlugin,
|
|
603
|
+
xt as formatShortcut,
|
|
604
|
+
St as getFileIcon,
|
|
605
|
+
Ct as navigateToLineSchema,
|
|
606
|
+
Pt as notificationSchema,
|
|
607
|
+
kt as onFilesystemChanged,
|
|
608
|
+
wt as openFileSchema,
|
|
609
|
+
Nt as openPanelSchema,
|
|
610
|
+
Et as postUiCommand,
|
|
611
|
+
ln as toast,
|
|
612
|
+
Rt as useActiveFile,
|
|
613
|
+
Tt as useActivePanel,
|
|
614
|
+
Te as useActivePanels,
|
|
615
|
+
Oe as useArtifactPanels,
|
|
616
|
+
Ie as useArtifactRouting,
|
|
617
|
+
Ot as useAutoOpenAgentFiles,
|
|
618
|
+
It as useCatalogRegistry,
|
|
619
|
+
Lt as useCatalogs,
|
|
620
|
+
Mt as useCommandRegistry,
|
|
621
|
+
Bt as useCommands,
|
|
622
|
+
Ft as useDirtyFiles,
|
|
623
|
+
Wt as useDockviewApi,
|
|
624
|
+
Dt as useEditorLifecycle,
|
|
625
|
+
zt as useEvent,
|
|
626
|
+
Kt as useHydrationComplete,
|
|
627
|
+
jt as useKeyboardShortcuts,
|
|
628
|
+
$t as useOpenPanels,
|
|
629
|
+
_t as usePluginErrors,
|
|
630
|
+
z as useRegistry,
|
|
631
|
+
Ht as useResetLayout,
|
|
632
|
+
fe as useResponsiveSidebarCollapse,
|
|
633
|
+
Q as useSetSidebar,
|
|
634
|
+
G as useSidebarState,
|
|
635
|
+
Ut as useSurfaceResolverRegistry,
|
|
636
|
+
At as useTheme,
|
|
637
|
+
Jt as useThemePreference,
|
|
638
|
+
W as useViewportBreakpoint,
|
|
639
|
+
Vt as useWorkspaceAttention,
|
|
640
|
+
Xt as useWorkspaceBridge,
|
|
641
|
+
qt as useWorkspaceChatPanel,
|
|
642
|
+
Gt as useWorkspaceContext,
|
|
643
|
+
Qt as useWorkspaceContextOptional,
|
|
644
|
+
Yt as userMeta
|
|
692
645
|
};
|