@hachej/boring-workspace 0.1.26 → 0.1.27

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.
@@ -2,7 +2,7 @@ import { jsx as u, jsxs as C } from "react/jsx-runtime";
2
2
  import { useRef as I, useEffect as y, useMemo as A, useCallback as k, createContext as _, useContext as z } from "react";
3
3
  import { Tree as K } from "react-arborist";
4
4
  import { FolderOpenIcon as S, FolderIcon as J, ChevronRightIcon as Q, Loader2Icon as U } from "lucide-react";
5
- import { K as X } from "./WorkspaceProvider-DQ-325Qs.js";
5
+ import { K as X } from "./WorkspaceProvider-CpMMNtLh.js";
6
6
  import { Input as Y } from "@hachej/boring-ui-kit";
7
7
  import { c as x } from "./utils-B6yFEsav.js";
8
8
  import { createDragDropManager as Z } from "dnd-core";
@@ -15,7 +15,7 @@ import { TableHeader as ut } from "@tiptap/extension-table-header";
15
15
  import { TableCell as gt } from "@tiptap/extension-table-cell";
16
16
  import dt from "@tiptap/extension-image";
17
17
  import { c as U } from "./utils-B6yFEsav.js";
18
- import { _ as j, aq as _ } from "./WorkspaceProvider-DQ-325Qs.js";
18
+ import { _ as j, aq as _ } from "./WorkspaceProvider-CpMMNtLh.js";
19
19
  import { uploadFile as ft } from "@hachej/boring-agent/front";
20
20
  import mt from "@tiptap/extension-code-block-lowlight";
21
21
  import { createLowlight as pt, common as ht } from "lowlight";
@@ -2,7 +2,7 @@ import { jsxs as l, jsx as o, Fragment as U } from "react/jsx-runtime";
2
2
  import { useCallback as b, useMemo as H, useEffect as z, useState as G, useSyncExternalStore as Y, Suspense as ee, useRef as ne } from "react";
3
3
  import { IconButton as K, LoadingState as te, ResizeHandle as re, Button as oe, Kbd as ae } from "@hachej/boring-ui-kit";
4
4
  import { c as g } from "./utils-B6yFEsav.js";
5
- import { a2 as ie, ad as se, E as ce, aw as de, au as le, u as ue, ao as he } from "./WorkspaceProvider-DQ-325Qs.js";
5
+ import { a2 as ie, ad as se, E as ce, aw as de, au as le, u as ue, ao as he } from "./WorkspaceProvider-CpMMNtLh.js";
6
6
  import { Search as me, Plus as fe } from "lucide-react";
7
7
  function _e(e, n, r = !0) {
8
8
  if (!r || typeof window > "u") return n;
@@ -13,6 +13,7 @@ import { z as V } from "zod";
13
13
  import { useQueryClient as Qn, QueryClient as Wo, QueryClientProvider as zo, useQuery as Xt, useMutation as Rt } from "@tanstack/react-query";
14
14
  import { c as oe } from "./utils-B6yFEsav.js";
15
15
  import { DockviewReact as jo } from "dockview-react";
16
+ import "dockview-react/dist/styles/dockview.css";
16
17
  import * as Bo from "react-dom";
17
18
  import { createPortal as Uo } from "react-dom";
18
19
  import * as qo from "react-dom/client";
@@ -434,7 +435,7 @@ function is({ children: e }) {
434
435
  );
435
436
  return /* @__PURE__ */ u(Zt.Provider, { value: o, children: e });
436
437
  }
437
- function wl() {
438
+ function bl() {
438
439
  const e = ce(Zt);
439
440
  if (!e) throw new Error("usePluginErrors must be used within a PluginErrorProvider");
440
441
  return e;
@@ -1321,7 +1322,7 @@ function Me() {
1321
1322
  if (!e) throw new Error("useDataClient must be used within a DataProvider");
1322
1323
  return e;
1323
1324
  }
1324
- function bl() {
1325
+ function Sl() {
1325
1326
  return ce(nn) != null;
1326
1327
  }
1327
1328
  function Ye() {
@@ -1369,7 +1370,7 @@ function ii(e) {
1369
1370
  function hr(e, t, n) {
1370
1371
  return `${si(e)}\0${t ?? ""}\0${ii(n)}`;
1371
1372
  }
1372
- function Sl(e, t, n, r) {
1373
+ function xl(e, t, n, r) {
1373
1374
  mr.set(hr(e, t, n), r);
1374
1375
  }
1375
1376
  function ai(e, t, n) {
@@ -1691,22 +1692,22 @@ function We() {
1691
1692
  );
1692
1693
  return Gt;
1693
1694
  }
1694
- function xl() {
1695
+ function kl() {
1695
1696
  return Oe(We(), (e) => e.activeFile);
1696
1697
  }
1697
- function kl() {
1698
+ function Pl() {
1698
1699
  return Oe(We(), (e) => e.activePanel);
1699
1700
  }
1700
- function Pl() {
1701
+ function Cl() {
1701
1702
  return Oe(We(), (e) => e.sidebar);
1702
1703
  }
1703
- function Cl() {
1704
+ function El() {
1704
1705
  return Oe(We(), (e) => e.setSidebar);
1705
1706
  }
1706
- function El() {
1707
+ function Il() {
1707
1708
  return Oe(We(), (e) => e.panels);
1708
1709
  }
1709
- function Il() {
1710
+ function Tl() {
1710
1711
  return Oe(We(), (e) => e.dirtyFiles);
1711
1712
  }
1712
1713
  function on() {
@@ -1715,7 +1716,7 @@ function on() {
1715
1716
  function hi() {
1716
1717
  return Oe(We(), (e) => e.hydrationComplete);
1717
1718
  }
1718
- function Tl() {
1719
+ function Nl() {
1719
1720
  return Oe(We(), (e) => e.resetLayout);
1720
1721
  }
1721
1722
  function gi(e) {
@@ -1930,7 +1931,7 @@ function bn(e, t) {
1930
1931
  n.some((i) => Pi(s, i)) && (r.has(s.id) || (r.add(s.id), o.push(s)));
1931
1932
  return o;
1932
1933
  }
1933
- function Nl() {
1934
+ function Rl() {
1934
1935
  const e = ce(Sr);
1935
1936
  if (!e)
1936
1937
  throw new Error(
@@ -2323,7 +2324,7 @@ async function $i(e) {
2323
2324
  }
2324
2325
  if (!n) throw new Error("Clipboard not available");
2325
2326
  }
2326
- const kr = () => import("./FileTree-BZGu5Ap6.js").then((e) => ({ default: e.FileTree }));
2327
+ const kr = () => import("./FileTree-DDO-RrZ8.js").then((e) => ({ default: e.FileTree }));
2327
2328
  function Oi() {
2328
2329
  kr();
2329
2330
  }
@@ -2865,7 +2866,7 @@ function Vi(e, t = {}) {
2865
2866
  o.cause === "agent" && (r && o.kind !== "file" || n != null && n(o.path) || e(o.path));
2866
2867
  });
2867
2868
  }
2868
- function Rl(e) {
2869
+ function Al(e) {
2869
2870
  return K.on(ee.changed, e);
2870
2871
  }
2871
2872
  function Ki() {
@@ -2982,7 +2983,7 @@ function Cr({ shortcuts: e, enabled: t = !0 }) {
2982
2983
  return document.addEventListener("keydown", r, !0), () => document.removeEventListener("keydown", r, !0);
2983
2984
  }, [t]);
2984
2985
  }
2985
- function Al(e) {
2986
+ function Fl(e) {
2986
2987
  const t = typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.userAgent), n = [];
2987
2988
  e.mod && n.push(t ? "⌘" : "Ctrl"), e.shift && n.push(t ? "⇧" : "Shift");
2988
2989
  const r = { "\\": "\\", p: "P", b: "B", s: "S", w: "W" };
@@ -3200,7 +3201,7 @@ function Pn({ params: e, api: t, className: n }) {
3200
3201
  );
3201
3202
  }
3202
3203
  const ra = lt(
3203
- () => import("./MarkdownEditor-DshmttZM.js").then((e) => ({ default: e.MarkdownEditor }))
3204
+ () => import("./MarkdownEditor-Bx5InUeG.js").then((e) => ({ default: e.MarkdownEditor }))
3204
3205
  );
3205
3206
  function oa({ params: e, api: t, className: n }) {
3206
3207
  const r = typeof (e == null ? void 0 : e.path) == "string" ? e.path : "", {
@@ -3814,14 +3815,14 @@ const Ar = be(null), Fr = be("dock");
3814
3815
  function Ta({ basePath: e, children: t }) {
3815
3816
  return /* @__PURE__ */ u(Ar.Provider, { value: e ?? null, children: t });
3816
3817
  }
3817
- function Fl({ mode: e, children: t }) {
3818
+ function Dl({ mode: e, children: t }) {
3818
3819
  return /* @__PURE__ */ u(Fr.Provider, { value: e, children: t });
3819
3820
  }
3820
3821
  function Na({ componentId: e, params: t, basePath: n }) {
3821
3822
  const r = new URLSearchParams({ component: e });
3822
3823
  return t && Object.keys(t).length > 0 && r.set("params", JSON.stringify(t)), `${n}?${r.toString()}`;
3823
3824
  }
3824
- function Dl(e) {
3825
+ function Ll(e) {
3825
3826
  const t = ce(Ar);
3826
3827
  return G(() => t ? Na({
3827
3828
  componentId: e.componentId,
@@ -3832,7 +3833,7 @@ function Dl(e) {
3832
3833
  function Ra() {
3833
3834
  return ce(Fr);
3834
3835
  }
3835
- function Ll() {
3836
+ function _l() {
3836
3837
  return Ra() === "full-page";
3837
3838
  }
3838
3839
  const Aa = V.string().max(64).regex(/^[a-zA-Z0-9_-]+$/), St = V.string().max(1024), Fa = V.number().nonnegative(), Da = V.object({
@@ -5963,12 +5964,12 @@ function Gr() {
5963
5964
  return typeof window > "u" || typeof window.matchMedia != "function" ? "light" : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
5964
5965
  }
5965
5966
  const Vn = "workspace-provider", Yc = "workspace-provider", cn = be(null);
5966
- function _l() {
5967
+ function $l() {
5967
5968
  const e = ce(cn);
5968
5969
  if (!e) throw new Error("useTheme must be used within a WorkspaceProvider");
5969
5970
  return { theme: on(), setTheme: e.setTheme, toggleTheme: e.toggleTheme };
5970
5971
  }
5971
- function $l({ children: e, defaultTheme: t, onThemeChange: n }) {
5972
+ function Ol({ children: e, defaultTheme: t, onThemeChange: n }) {
5972
5973
  const r = N(null);
5973
5974
  if (!r.current) {
5974
5975
  const d = Dr({ persistenceEnabled: !1 });
@@ -5992,7 +5993,7 @@ function $l({ children: e, defaultTheme: t, onThemeChange: n }) {
5992
5993
  return /* @__PURE__ */ u(cn.Provider, { value: l, children: e });
5993
5994
  }
5994
5995
  const Hr = be(null);
5995
- function Ol() {
5996
+ function Ml() {
5996
5997
  const e = ce(Hr);
5997
5998
  if (!e) throw new Error("useWorkspaceBridge must be used within a WorkspaceProvider");
5998
5999
  return e;
@@ -6119,7 +6120,7 @@ function sl({ onOpenFile: e }) {
6119
6120
  function il(e, t) {
6120
6121
  return !e || (t == null ? void 0 : t["x-boring-workspace-id"]) != null || (t == null ? void 0 : t["X-Boring-Workspace-Id"]) != null ? t : { "x-boring-workspace-id": e, ...t };
6121
6122
  }
6122
- function Ml({
6123
+ function Wl({
6123
6124
  children: e,
6124
6125
  chatPanel: t,
6125
6126
  plugins: n,
@@ -6287,59 +6288,59 @@ export {
6287
6288
  vs as G,
6288
6289
  ee as H,
6289
6290
  Nn as I,
6290
- Al as J,
6291
+ Fl as J,
6291
6292
  mi as K,
6292
6293
  gs as L,
6293
6294
  mt as M,
6294
6295
  hs as N,
6295
- Rl as O,
6296
+ Al as O,
6296
6297
  Fi as P,
6297
6298
  fs as Q,
6298
6299
  ns as R,
6299
6300
  lc as S,
6300
- $l as T,
6301
+ Ol as T,
6301
6302
  _s as U,
6302
6303
  ps as V,
6303
6304
  Be as W,
6304
6305
  or as X,
6305
- xl as Y,
6306
- kl as Z,
6306
+ kl as Y,
6307
+ Pl as Z,
6307
6308
  Ye as _,
6308
- Pl as a,
6309
+ Cl as a,
6309
6310
  Ft as a0,
6310
6311
  os as a1,
6311
6312
  Qt as a2,
6312
6313
  rs as a3,
6313
- Il as a4,
6314
- Nl as a5,
6314
+ Tl as a4,
6315
+ Rl as a5,
6315
6316
  Yi as a6,
6316
6317
  Vt as a7,
6317
6318
  Er as a8,
6318
- Dl as a9,
6319
- bl as aa,
6319
+ Ll as a9,
6320
+ Sl as aa,
6320
6321
  hi as ab,
6321
- Ll as ac,
6322
+ _l as ac,
6322
6323
  Cr as ad,
6323
- El as ae,
6324
+ Il as ae,
6324
6325
  Ra as af,
6325
- wl as ag,
6326
- Tl as ah,
6326
+ bl as ag,
6327
+ Nl as ah,
6327
6328
  nr as ai,
6328
- _l as aj,
6329
+ $l as aj,
6329
6330
  on as ak,
6330
6331
  Rc as al,
6331
- Ol as am,
6332
+ Ml as am,
6332
6333
  Zc as an,
6333
6334
  Xc as ao,
6334
6335
  Qc as ap,
6335
6336
  Xe as aq,
6336
6337
  nt as ar,
6337
- Sl as as,
6338
+ xl as as,
6338
6339
  Ho as at,
6339
6340
  qt as au,
6340
- Fl as av,
6341
+ Dl as av,
6341
6342
  me as aw,
6342
- Cl as b,
6343
+ El as b,
6343
6344
  Pn as c,
6344
6345
  Ja as d,
6345
6346
  Ia as e,
@@ -6353,7 +6354,7 @@ export {
6353
6354
  kc as m,
6354
6355
  zr as n,
6355
6356
  ri as o,
6356
- Ml as p,
6357
+ Wl as p,
6357
6358
  Ds as q,
6358
6359
  br as r,
6359
6360
  es as s,
package/dist/app-front.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { jsx as c, jsxs as Te, Fragment as B } from "react/jsx-runtime";
2
2
  import { useSyncExternalStore as Xt, useEffect as E, useMemo as S, useState as G, useRef as O, useCallback as _, useLayoutEffect as Zt } from "react";
3
3
  import { ChatPanel as er, useSessions as tr } from "@hachej/boring-agent/front";
4
- import { as as rr, at as nr, U as lt, p as or, au as sr, u as pt, ag as ir, av as ar } from "./WorkspaceProvider-DQ-325Qs.js";
5
- import { T as lr, C as cr, r as ct, w as ur, W as ut } from "./WorkspaceLoadingState-DVCLcOQu.js";
4
+ import { as as rr, at as nr, U as lt, p as or, au as sr, u as pt, ag as ir, av as ar } from "./WorkspaceProvider-CpMMNtLh.js";
5
+ import { T as lr, C as cr, r as ct, w as ur, W as ut } from "./WorkspaceLoadingState-DuLadpix.js";
6
6
  import { ErrorState as dr } from "@hachej/boring-ui-kit";
7
7
  function fr() {
8
8
  const e = `s${Date.now()}`;
package/dist/testing.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as Ba } from "react/jsx-runtime";
2
2
  import * as Pa from "react";
3
3
  import { createElement as is, useMemo as wn, useLayoutEffect as us, isValidElement as ss, cloneElement as ds, useSyncExternalStore as Gi } from "react";
4
- import { h as cs, p as fs, o as ps } from "./WorkspaceProvider-DQ-325Qs.js";
4
+ import { h as cs, p as fs, o as ps } from "./WorkspaceProvider-CpMMNtLh.js";
5
5
  import { d as ms } from "./panel-DnvDNQac.js";
6
6
  import * as bs from "react-dom/test-utils";
7
7
  import ka from "react-dom";
package/dist/workspace.js CHANGED
@@ -1,17 +1,17 @@
1
1
  var V = Object.defineProperty;
2
2
  var X = (e, r, t) => r in e ? V(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
3
3
  var T = (e, r, t) => X(e, typeof r != "symbol" ? r + "" : r, t);
4
- import { u as z, a as G, b as Q, D as Y } from "./WorkspaceProvider-DQ-325Qs.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 qe, P as Je, h as Ve, i as Xe, j as Ge, k as Qe, R as Ye, S as Ze, l as et, m as tt, T as at, U as rt, W as nt, 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 Pt, J as St, K as kt, L as Ct, N as wt, O as Nt, Q as Et, V as Rt, X as Tt, Y as It, Z as Ot, _ as Ft, $ as Mt, a0 as Lt, a1 as Bt, 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 qt, ad as Jt, ae as Vt, af as Xt, ag as Gt, ah as Qt, ai as Yt, aj as Zt, ak as ea, al as ta, am as aa, an as ra, ao as na, ap as sa, aq as oa, ar as ia } from "./WorkspaceProvider-DQ-325Qs.js";
4
+ import { u as z, a as G, b as Q, D as Y } from "./WorkspaceProvider-CpMMNtLh.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 qe, P as Je, h as Ve, i as Xe, j as Ge, k as Qe, R as Ye, S as Ze, l as et, m as tt, T as at, U as rt, W as nt, 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 Pt, J as St, K as kt, L as Ct, N as wt, O as Nt, Q as Et, V as Rt, X as Tt, Y as It, Z as Ot, _ as Ft, $ as Mt, a0 as Lt, a1 as Bt, 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 qt, ad as Jt, ae as Vt, af as Xt, ag as Gt, ah as Qt, ai as Yt, aj as Zt, ak as ea, al as ta, am as aa, an as ra, ao as na, ap as sa, aq as oa, ar as ia } from "./WorkspaceProvider-CpMMNtLh.js";
6
6
  import { c as w } from "./utils-B6yFEsav.js";
7
- import { C as ca, T as da, W as ua, b as pa } from "./WorkspaceLoadingState-DVCLcOQu.js";
7
+ import { C as ca, T as da, W as ua, b as pa } from "./WorkspaceLoadingState-DuLadpix.js";
8
8
  import { jsxs as b, jsx as a, Fragment as Z } from "react/jsx-runtime";
9
9
  import { Button as k, Sheet as ee, SheetContent as te, SheetHeader as ae, SheetTitle as re, SheetDescription as ne, EmptyState as se, Kbd as I, ErrorState as oe, IconButton as O } from "@hachej/boring-ui-kit";
10
10
  import { Toaster as ha, dismissToast as fa, toast as ga } from "@hachej/boring-ui-kit";
11
11
  import { useSyncExternalStore as K, useState as N, useEffect as P, useRef as C, useCallback as y, useMemo as S, Suspense as ie, Component as le } from "react";
12
12
  import { C as ya, c as va } from "./CodeEditor-DQqOn4xz.js";
13
- import { FileTree as Pa } from "./FileTree-BZGu5Ap6.js";
14
- import { MarkdownEditor as ka } from "./MarkdownEditor-DshmttZM.js";
13
+ import { FileTree as Pa } from "./FileTree-DDO-RrZ8.js";
14
+ import { MarkdownEditor as ka } from "./MarkdownEditor-Bx5InUeG.js";
15
15
  import { MenuIcon as ce, PanelLeftOpenIcon as de, PanelLeftCloseIcon as ue, PinIcon as pe, CheckIcon as me, CopyIcon as he } from "lucide-react";
16
16
  import { d as wa } from "./panel-DnvDNQac.js";
17
17
  function Te() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hachej/boring-workspace",
3
- "version": "0.1.26",
3
+ "version": "0.1.27",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Workspace UI, plugin, and bridge package for composing chat, files, catalogs, editors, and app-specific panes.",
@@ -130,8 +130,8 @@
130
130
  "tailwind-merge": "^2.0.0",
131
131
  "zod": "^3.23.0",
132
132
  "zustand": "^5.0.0",
133
- "@hachej/boring-agent": "0.1.26",
134
- "@hachej/boring-ui-kit": "0.1.26"
133
+ "@hachej/boring-agent": "0.1.27",
134
+ "@hachej/boring-ui-kit": "0.1.27"
135
135
  },
136
136
  "devDependencies": {
137
137
  "@tailwindcss/postcss": "^4.0.0",