@hachej/boring-workspace 0.1.51 → 0.1.53

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,6 +2,7 @@ import { ComponentType } from 'react';
2
2
  import { DockviewApi } from 'dockview-react';
3
3
  import { DockviewPanelApi } from 'dockview-react';
4
4
  import { JSX } from 'react/jsx-runtime';
5
+ import { PiChatPanelProps } from '@hachej/boring-agent/front';
5
6
  import { ReactNode } from 'react';
6
7
  import { SlashCommand } from '@hachej/boring-agent/front';
7
8
 
@@ -230,8 +231,6 @@ declare interface LeftTabParams {
230
231
  } | null;
231
232
  }
232
233
 
233
- declare type OpenArtifactHandler = (path: string) => void;
234
-
235
234
  declare interface OpenPanelConfig {
236
235
  /** Panel instance id. If a panel with this id is already open, it's re-activated instead of duplicated. */
237
236
  id: string;
@@ -548,12 +547,8 @@ export declare interface WorkspaceBootGateProps {
548
547
 
549
548
  declare type WorkspaceChatPanelComponent = ComponentType<any>;
550
549
 
551
- declare interface WorkspaceChatPanelProps {
550
+ declare interface WorkspaceChatPanelProps extends PiChatPanelProps<WorkspaceAttentionBlocker> {
552
551
  sessionId: string;
553
- onData?: (part: unknown) => void;
554
- requestHeaders?: Record<string, string>;
555
- onOpenArtifact?: OpenArtifactHandler;
556
- className?: string;
557
552
  /** Endpoint base for agent → visible-workbench UI commands. */
558
553
  bridgeEndpoint?: string | null;
559
554
  /** Imperative handle getter for the visible workbench surface. */
@@ -566,13 +561,6 @@ declare interface WorkspaceChatPanelProps {
566
561
  openWorkbenchSources?: () => void;
567
562
  /** Closes the visible workbench surface after an ephemeral command finishes. */
568
563
  closeWorkbench?: () => void;
569
- /** Generic workspace blockers that should prevent submitting new chat turns. */
570
- composerBlockers?: WorkspaceAttentionBlocker[];
571
- /** Called when the user presses Stop in the composer. */
572
- onComposerStop?: () => void;
573
- /** Called when the chat implementation wants to run an action exposed by a blocker. */
574
- onComposerBlockerAction?: (blocker: WorkspaceAttentionBlocker, action: string) => void;
575
- [key: string]: unknown;
576
564
  }
577
565
 
578
566
  export declare function WorkspaceFullPagePanel({ componentId, params }: WorkspaceFullPagePanelProps): JSX.Element;
package/dist/app-front.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { jsx as d, jsxs as Pe, Fragment as de } from "react/jsx-runtime";
2
2
  import { useEffect as A, useSyncExternalStore as xr, useMemo as O, useState as x, useCallback as E, useRef as H, useLayoutEffect as Mr } from "react";
3
3
  import { PiChatPanel as Fr, usePiSessions as Cr } from "@hachej/boring-agent/front";
4
- import { al as Wr, av as Ve, aw as _n, ax as Ln, ay as On, az as xn, aA as ke, aB as bt, aC as St, aD as Mn, aE as Ir, aF as ze, aG as Sn, aH as Gr, U as yn, aI as $r, r as Ur, u as Fn, aJ as Kr, ai as Hr, aK as Jr } from "./WorkspaceProvider-BvLlkZR_.js";
5
- import { T as Br, C as jr, r as Pn, w as qr, W as En } from "./WorkspaceLoadingState-BfrLCML3.js";
4
+ import { al as Wr, av as Ve, aw as _n, ax as Ln, ay as On, az as xn, aA as ke, aB as bt, aC as St, aD as Mn, aE as Ir, aF as ze, aG as Sn, aH as Gr, U as yn, aI as $r, r as Ur, u as Fn, aJ as Kr, ai as Hr, aK as Jr } from "./WorkspaceProvider-CrOT4ab7.js";
5
+ import { T as Br, C as jr, r as Pn, w as qr, W as En } from "./WorkspaceLoadingState-Bqsn2JEc.js";
6
6
  import { Sun as zr, Moon as Vr } from "lucide-react";
7
7
  import { IconButton as kr, ErrorState as Yr } from "@hachej/boring-ui-kit";
8
8
  function Xr() {
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 { i as cs, r as fs, q as ps } from "./WorkspaceProvider-BvLlkZR_.js";
4
+ import { i as cs, r as fs, q as ps } from "./WorkspaceProvider-CrOT4ab7.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";
@@ -12,6 +12,7 @@ import { JSXElementConstructor } from 'react';
12
12
  import { LucideIcon } from 'lucide-react';
13
13
  import { MouseEvent as MouseEvent_2 } from 'react';
14
14
  import { PersistOptions } from 'zustand/middleware';
15
+ import { PiChatPanelProps } from '@hachej/boring-agent/front';
15
16
  import { ReactElement } from 'react';
16
17
  import { ReactNode } from 'react';
17
18
  import { ReactPortal } from 'react';
@@ -1787,6 +1788,8 @@ export declare interface UseFilePaneOptions {
1787
1788
  panelId?: string;
1788
1789
  /** Initial content (optional, for draft/unsaved files). */
1789
1790
  initialContent?: string;
1791
+ /** When supplied, auto-create the file with this content if it does not exist. */
1792
+ createIfMissing?: string;
1790
1793
  }
1791
1794
 
1792
1795
  export declare interface UseFilePaneReturn {
@@ -1978,12 +1981,8 @@ export declare interface WorkspaceBridgeContextValue {
1978
1981
 
1979
1982
  export declare type WorkspaceChatPanelComponent = ComponentType<any>;
1980
1983
 
1981
- export declare interface WorkspaceChatPanelProps {
1984
+ export declare interface WorkspaceChatPanelProps extends PiChatPanelProps<WorkspaceAttentionBlocker> {
1982
1985
  sessionId: string;
1983
- onData?: (part: unknown) => void;
1984
- requestHeaders?: Record<string, string>;
1985
- onOpenArtifact?: OpenArtifactHandler;
1986
- className?: string;
1987
1986
  /** Endpoint base for agent → visible-workbench UI commands. */
1988
1987
  bridgeEndpoint?: string | null;
1989
1988
  /** Imperative handle getter for the visible workbench surface. */
@@ -1996,13 +1995,6 @@ export declare interface WorkspaceChatPanelProps {
1996
1995
  openWorkbenchSources?: () => void;
1997
1996
  /** Closes the visible workbench surface after an ephemeral command finishes. */
1998
1997
  closeWorkbench?: () => void;
1999
- /** Generic workspace blockers that should prevent submitting new chat turns. */
2000
- composerBlockers?: WorkspaceAttentionBlocker[];
2001
- /** Called when the user presses Stop in the composer. */
2002
- onComposerStop?: () => void;
2003
- /** Called when the chat implementation wants to run an action exposed by a blocker. */
2004
- onComposerBlockerAction?: (blocker: WorkspaceAttentionBlocker, action: string) => void;
2005
- [key: string]: unknown;
2006
1998
  }
2007
1999
 
2008
2000
  export declare interface WorkspaceContextValue {
package/dist/workspace.js CHANGED
@@ -1,16 +1,16 @@
1
1
  var V = Object.defineProperty;
2
2
  var X = (e, t, a) => t in e ? V(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a;
3
3
  var T = (e, t, a) => X(e, typeof t != "symbol" ? t + "" : t, a);
4
- import { u as K, p as Q, a as Y, b as Z, D as ee } from "./WorkspaceProvider-BvLlkZR_.js";
5
- import { A as Je, C as Ge, c as Ve, d as Xe, e as Qe, f as Ye, F as Ze, g as et, M as tt, h as at, P as rt, i as nt, j as st, k as ot, l as it, R as lt, S as ct, m as dt, n as ut, T as pt, U as ft, W as mt, o as ht, q as gt, r as bt, s as yt, t as vt, v as xt, w as kt, x as wt, y as Pt, z as St, B as Ct, E as Nt, G as Et, H as Rt, I as Tt, J as It, K as Ot, L as Ft, N as Lt, O as Mt, Q as Bt, V as Wt, X as Dt, Y as Kt, Z as $t, _ as jt, $ as zt, a0 as Ht, a1 as Ut, a2 as _t, a3 as qt, a4 as At, a5 as Jt, a6 as Gt, a7 as Vt, a8 as Xt, a9 as Qt, aa as Yt, ab as Zt, ac as ea, ad as ta, ae as aa, af as ra, ag as na, ah as sa, ai as oa, aj as ia, ak as la, al as ca, am as da, an as ua, ao as pa, ap as fa, aq as ma, ar as ha, as as ga, at as ba, au as ya } from "./WorkspaceProvider-BvLlkZR_.js";
4
+ import { u as K, p as Q, a as Y, b as Z, D as ee } from "./WorkspaceProvider-CrOT4ab7.js";
5
+ import { A as Je, C as Ge, c as Ve, d as Xe, e as Qe, f as Ye, F as Ze, g as et, M as tt, h as at, P as rt, i as nt, j as st, k as ot, l as it, R as lt, S as ct, m as dt, n as ut, T as pt, U as ft, W as mt, o as ht, q as gt, r as bt, s as yt, t as vt, v as xt, w as kt, x as wt, y as Pt, z as St, B as Ct, E as Nt, G as Et, H as Rt, I as Tt, J as It, K as Ot, L as Ft, N as Lt, O as Mt, Q as Bt, V as Wt, X as Dt, Y as Kt, Z as $t, _ as jt, $ as zt, a0 as Ht, a1 as Ut, a2 as _t, a3 as qt, a4 as At, a5 as Jt, a6 as Gt, a7 as Vt, a8 as Xt, a9 as Qt, aa as Yt, ab as Zt, ac as ea, ad as ta, ae as aa, af as ra, ag as na, ah as sa, ai as oa, aj as ia, ak as la, al as ca, am as da, an as ua, ao as pa, ap as fa, aq as ma, ar as ha, as as ga, at as ba, au as ya } from "./WorkspaceProvider-CrOT4ab7.js";
6
6
  import { c as C } from "./utils-B6yFEsav.js";
7
- import { C as xa, T as ka, W as wa, b as Pa } from "./WorkspaceLoadingState-BfrLCML3.js";
7
+ import { C as xa, T as ka, W as wa, b as Pa } from "./WorkspaceLoadingState-Bqsn2JEc.js";
8
8
  import { jsx as r, jsxs as g, Fragment as te } from "react/jsx-runtime";
9
9
  import { Button as P, Sheet as ae, SheetContent as re, SheetHeader as ne, SheetTitle as se, SheetDescription as oe, EmptyState as ie, Kbd as I, ErrorState as le, IconButton as O } from "@hachej/boring-ui-kit";
10
10
  import { Toaster as Ca, dismissToast as Na, toast as Ea } from "@hachej/boring-ui-kit";
11
11
  import { useSyncExternalStore as $, useState as N, useEffect as k, useRef as S, useCallback as b, useMemo as w, Suspense as ce, Component as de } from "react";
12
- import { FileTree as Ta } from "./FileTree-BeCvmmxS.js";
13
- import { MarkdownEditor as Oa } from "./MarkdownEditor-DjdBgjHU.js";
12
+ import { FileTree as Ta } from "./FileTree-CfJoRiTm.js";
13
+ import { MarkdownEditor as Oa } from "./MarkdownEditor-DrPDGy9F.js";
14
14
  import { MenuIcon as ue, PanelLeftOpenIcon as pe, PanelLeftCloseIcon as fe, PinIcon as me, CheckIcon as he, CopyIcon as ge } from "lucide-react";
15
15
  import { d as La } from "./panel-DnvDNQac.js";
16
16
  function We() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hachej/boring-workspace",
3
- "version": "0.1.51",
3
+ "version": "0.1.53",
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.",
@@ -135,9 +135,9 @@
135
135
  "tailwind-merge": "^2.0.0",
136
136
  "zod": "^3.23.0",
137
137
  "zustand": "^5.0.0",
138
- "@hachej/boring-agent": "0.1.51",
139
- "@hachej/boring-ui-kit": "0.1.51",
140
- "@hachej/boring-ui-plugin-cli": "0.1.51"
138
+ "@hachej/boring-ui-kit": "0.1.53",
139
+ "@hachej/boring-ui-plugin-cli": "0.1.53",
140
+ "@hachej/boring-agent": "0.1.53"
141
141
  },
142
142
  "devDependencies": {
143
143
  "@tailwindcss/postcss": "^4.0.0",