@hachej/boring-ui-cli 0.1.34 → 0.1.36
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/server/cli.js +1 -0
- package/dist/server/pluginFrontRuntime.js +20 -1
- package/package.json +6 -6
- package/public/assets/DebugDrawer-DC7YYrof.js +1 -0
- package/public/assets/{_baseUniq-CQTspHXj.js → _baseUniq-DWcImnmH.js} +1 -1
- package/public/assets/angular-ts-BrjP3tb8.js +1 -1
- package/public/assets/angular-ts-BwZT4LLn.js +1 -1
- package/public/assets/apl-CORt7UWP.js +1 -1
- package/public/assets/apl-dKokRX4l.js +1 -1
- package/public/assets/{arc-Dn3EcFfz.js → arc-DDLmX1AG.js} +1 -1
- package/public/assets/{architectureDiagram-Q4EWVU46-iLdJg35C.js → architectureDiagram-Q4EWVU46-B38ghbjL.js} +1 -1
- package/public/assets/astro-CbQHKStN.js +1 -1
- package/public/assets/astro-HNnZUWAn.js +1 -1
- package/public/assets/blade-BjGOyj-B.js +1 -1
- package/public/assets/blade-D4QpJJKB.js +1 -1
- package/public/assets/{blockDiagram-DXYQGD6D-B3-6hZGf.js → blockDiagram-DXYQGD6D-Bp07F26G.js} +1 -1
- package/public/assets/{c4Diagram-AHTNJAMY-RWf97858.js → c4Diagram-AHTNJAMY-Dcu6Qx6c.js} +1 -1
- package/public/assets/channel-DqOmgrq9.js +1 -0
- package/public/assets/{chunk-4BX2VUAB-B20blPhm.js → chunk-4BX2VUAB-DC5-ge26.js} +1 -1
- package/public/assets/{chunk-4TB4RGXK-DJrLse44.js → chunk-4TB4RGXK-WI3HSrJ9.js} +1 -1
- package/public/assets/{chunk-55IACEB6-BrDYbmxU.js → chunk-55IACEB6-DphRtKl9.js} +1 -1
- package/public/assets/{chunk-EDXVE4YY-C4KsCMuA.js → chunk-EDXVE4YY-VsnZ7w9d.js} +1 -1
- package/public/assets/{chunk-FMBD7UC4-hGY4A-1n.js → chunk-FMBD7UC4-DU-cVjgu.js} +1 -1
- package/public/assets/{chunk-OYMX7WX6-CyEgirhE.js → chunk-OYMX7WX6-B1l0Dpt4.js} +1 -1
- package/public/assets/{chunk-QZHKN3VN-CPv-Jthx.js → chunk-QZHKN3VN-38IXLFlx.js} +1 -1
- package/public/assets/{chunk-YZCP3GAM-0tsjAmo9.js → chunk-YZCP3GAM-eY6KeIEv.js} +1 -1
- package/public/assets/classDiagram-6PBFFD2Q-Fjgbctha.js +1 -0
- package/public/assets/classDiagram-v2-HSJHXN6E-Fjgbctha.js +1 -0
- package/public/assets/clone-CpoJL_n1.js +1 -0
- package/public/assets/cobol-nBiQ_Alo.js +1 -1
- package/public/assets/cobol-nwyudZeR.js +1 -1
- package/public/assets/{cose-bilkent-S5V4N54A-Dl-m6Frh.js → cose-bilkent-S5V4N54A-YEoqfW_D.js} +1 -1
- package/public/assets/crystal-DNxU26gB.js +1 -1
- package/public/assets/crystal-tKQVLTB8.js +1 -1
- package/public/assets/{dagre-KV5264BT-DQP3wSeg.js → dagre-KV5264BT-B45m1NxI.js} +1 -1
- package/public/assets/{diagram-5BDNPKRD-alplc-k_.js → diagram-5BDNPKRD-B5ZXQlWh.js} +1 -1
- package/public/assets/{diagram-G4DWMVQ6-CBHPumOd.js → diagram-G4DWMVQ6-C1ynjN78.js} +1 -1
- package/public/assets/{diagram-MMDJMWI5-CvXWf--o.js → diagram-MMDJMWI5-D4hAUvca.js} +1 -1
- package/public/assets/{diagram-TYMM5635-gvZ-EkxX.js → diagram-TYMM5635-B3agZWj-.js} +1 -1
- package/public/assets/edge-BkV0erSs.js +1 -1
- package/public/assets/edge-FbVlp4U3.js +1 -1
- package/public/assets/elixir-CDX3lj18.js +1 -1
- package/public/assets/elixir-CkH2-t6x.js +1 -1
- package/public/assets/{erDiagram-SMLLAGMA-CjhSnGYn.js → erDiagram-SMLLAGMA-CH2AxsAT.js} +1 -1
- package/public/assets/erb-B12qg9BL.js +1 -1
- package/public/assets/erb-BYCe7drp.js +1 -1
- package/public/assets/{flowDiagram-DWJPFMVM-CgaqCm3c.js → flowDiagram-DWJPFMVM-DDgdNECT.js} +1 -1
- package/public/assets/{ganttDiagram-T4ZO3ILL-BlvhnATI.js → ganttDiagram-T4ZO3ILL-CzvQW97t.js} +1 -1
- package/public/assets/{gitGraphDiagram-UUTBAWPF-yhyhmHA7.js → gitGraphDiagram-UUTBAWPF-DcQZPPMD.js} +1 -1
- package/public/assets/glimmer-js-ByusRIyA.js +1 -1
- package/public/assets/glimmer-js-Rg0-pVw9.js +1 -1
- package/public/assets/glimmer-ts-BfAWNZQY.js +1 -1
- package/public/assets/glimmer-ts-U6CK756n.js +1 -1
- package/public/assets/{graph-rnx9iaDn.js → graph-CD4bwX_-.js} +1 -1
- package/public/assets/hack-CaT9iCJl.js +1 -1
- package/public/assets/hack-i7_Ulhet.js +1 -1
- package/public/assets/haml-B8DHNrY2.js +1 -1
- package/public/assets/haml-D5jkg6IW.js +1 -1
- package/public/assets/handlebars-BL8al0AC.js +1 -1
- package/public/assets/handlebars-BpdQsYii.js +1 -1
- package/public/assets/{highlighted-body-OFNGDK62-tKHN-_gr.js → highlighted-body-OFNGDK62-CiM51uH6.js} +1 -1
- package/public/assets/html-GMplVEZG.js +1 -1
- package/public/assets/html-derivative-BFtXZ54Q.js +1 -1
- package/public/assets/html-derivative-DlHx6ybY.js +1 -1
- package/public/assets/html-pp8916En.js +1 -1
- package/public/assets/{index-BPJJue8z.js → index-BXEu5C8e.js} +456 -488
- package/public/assets/index-hl1JXpgN.css +1 -0
- package/public/assets/{infoDiagram-42DDH7IO-DjYYk0JG.js → infoDiagram-42DDH7IO-nwmufYgw.js} +1 -1
- package/public/assets/{ishikawaDiagram-UXIWVN3A-JvEFJu2s.js → ishikawaDiagram-UXIWVN3A-CAAuAFim.js} +1 -1
- package/public/assets/jinja-4LBKfQ-Z.js +1 -1
- package/public/assets/jinja-f2NsQr07.js +1 -1
- package/public/assets/{journeyDiagram-VCZTEJTY-D1t7N3Dn.js → journeyDiagram-VCZTEJTY-jPt0NUc6.js} +1 -1
- package/public/assets/just-Cw27pwNe.js +1 -1
- package/public/assets/just-VxiPbLrw.js +1 -1
- package/public/assets/{kanban-definition-6JOO6SKY-CjjCCiUr.js → kanban-definition-6JOO6SKY-BkWE1oIv.js} +1 -1
- package/public/assets/{layout-CX2vJicd.js → layout-DVywqgnM.js} +1 -1
- package/public/assets/{linear-DpjpvXl5.js → linear-D5rTUKEy.js} +1 -1
- package/public/assets/liquid-C0sCDyMI.js +1 -1
- package/public/assets/liquid-DYVedYrR.js +1 -1
- package/public/assets/marko-CnJfTvn9.js +1 -1
- package/public/assets/marko-DjSrsDqO.js +1 -1
- package/public/assets/mdc-BMNejdWA.js +1 -1
- package/public/assets/mdc-DTYItulj.js +1 -1
- package/public/assets/{min-CbVK2TKX.js → min-CGxxs3H9.js} +1 -1
- package/public/assets/{mindmap-definition-QFDTVHPH-JomBKA1R.js → mindmap-definition-QFDTVHPH-C5Bv0ezi.js} +1 -1
- package/public/assets/nim-BIad80T-.js +1 -1
- package/public/assets/nim-CVrawwO9.js +1 -1
- package/public/assets/perl-C0TMdlhV.js +1 -1
- package/public/assets/perl-NvoQZIq0.js +1 -1
- package/public/assets/php-Dhbhpdrm.js +1 -1
- package/public/assets/php-R6g_5hLQ.js +1 -1
- package/public/assets/{pieDiagram-DEJITSTG-CZhyWYeR.js → pieDiagram-DEJITSTG-C4KdtVZ8.js} +1 -1
- package/public/assets/pug-CGlum2m_.js +1 -1
- package/public/assets/pug-DKIMFp6K.js +1 -1
- package/public/assets/{quadrantDiagram-34T5L4WZ-Bo_8shn2.js → quadrantDiagram-34T5L4WZ-Cz9vL8Q6.js} +1 -1
- package/public/assets/razor-BDqjjVU7.js +1 -1
- package/public/assets/razor-Uh8Bk_45.js +1 -1
- package/public/assets/{requirementDiagram-MS252O5E-DkiRn7bN.js → requirementDiagram-MS252O5E-B80rbkJK.js} +1 -1
- package/public/assets/rst-BrH8l1NY.js +1 -1
- package/public/assets/rst-CRjBmOyv.js +1 -1
- package/public/assets/ruby-Dw2BHqvy.js +1 -1
- package/public/assets/ruby-Wjq7vjNf.js +1 -1
- package/public/assets/{sankeyDiagram-XADWPNL6-DKr0mFTQ.js → sankeyDiagram-XADWPNL6-Cn-nZLaG.js} +1 -1
- package/public/assets/{sequenceDiagram-FGHM5R23-DKVj_u0Q.js → sequenceDiagram-FGHM5R23-A6IunKM0.js} +1 -1
- package/public/assets/soy-8wufbnw4.js +1 -1
- package/public/assets/soy-Brmx7dQM.js +1 -1
- package/public/assets/{stateDiagram-FHFEXIEX-DkhvGFd4.js → stateDiagram-FHFEXIEX-BR6MAf9n.js} +1 -1
- package/public/assets/stateDiagram-v2-QKLJ7IA2-75t4kRUE.js +1 -0
- package/public/assets/svelte-C_ipcX3V.js +1 -1
- package/public/assets/svelte-Cy7k_4gC.js +1 -1
- package/public/assets/templ-DhtptRzy.js +1 -1
- package/public/assets/templ-P3uqSqPl.js +1 -1
- package/public/assets/{timeline-definition-GMOUNBTQ-C9zDLO80.js → timeline-definition-GMOUNBTQ-4cDx4FT9.js} +1 -1
- package/public/assets/ts-tags-DQrlYJgV.js +1 -1
- package/public/assets/ts-tags-zn1MmPIZ.js +1 -1
- package/public/assets/twig-DNn4PbVi.js +1 -1
- package/public/assets/twig-xg9kU7Mw.js +1 -1
- package/public/assets/{vennDiagram-DHZGUBPP-DYqALBXi.js → vennDiagram-DHZGUBPP-_CpmLhQd.js} +1 -1
- package/public/assets/vue-D2xRrEX4.js +1 -1
- package/public/assets/vue-DN_0RTcg.js +1 -1
- package/public/assets/vue-vine-BoDAl6tE.js +1 -1
- package/public/assets/vue-vine-CQOfvN7w.js +1 -1
- package/public/assets/{wardley-RL74JXVD-zD9IKI5D.js → wardley-RL74JXVD-CSa4wbmw.js} +1 -1
- package/public/assets/{wardleyDiagram-NUSXRM2D--Gvl0H6L.js → wardleyDiagram-NUSXRM2D-DY8-GDoy.js} +1 -1
- package/public/assets/{xychartDiagram-5P7HB3ND-BB8roQOc.js → xychartDiagram-5P7HB3ND-Dbdvqxtm.js} +1 -1
- package/public/index.html +2 -2
- package/public/assets/DebugDrawer-BlCJDpgU.js +0 -1
- package/public/assets/channel-DXHkKrI6.js +0 -1
- package/public/assets/classDiagram-6PBFFD2Q-Cj3YsFH2.js +0 -1
- package/public/assets/classDiagram-v2-HSJHXN6E-Cj3YsFH2.js +0 -1
- package/public/assets/clone-3Xssvz1I.js +0 -1
- package/public/assets/index-DXiGkioL.css +0 -1
- package/public/assets/stateDiagram-v2-QKLJ7IA2-C8md5h87.js +0 -1
package/dist/server/cli.js
CHANGED
|
@@ -528,6 +528,7 @@ async function createWorkspacesModeApp(opts) {
|
|
|
528
528
|
beforeReload: async ({ workspaceId }) => {
|
|
529
529
|
const workspace = await requireWorkspace(workspaceId);
|
|
530
530
|
const runtime = await getLoadedPluginRuntime(workspace);
|
|
531
|
+
runtime.manager.setPluginDirs(pluginDiscovery.resolveCliBoringPluginDirs(workspace.path));
|
|
531
532
|
const scan = await runtime.manager.load();
|
|
532
533
|
syncLoadedPluginPiSnapshot(workspace, runtime.manager);
|
|
533
534
|
syncRuntimeHostFromPluginEvents(runtimeHost, workspaceId, scan.events);
|
|
@@ -399,16 +399,27 @@ function optimizedDependencySingletonSource(targetPath) {
|
|
|
399
399
|
const cleanPath = targetPath.split("?")[0];
|
|
400
400
|
const normalizedPath = cleanPath.replaceAll("\\", "/");
|
|
401
401
|
const workspaceSingletonByPath = [
|
|
402
|
+
// Monorepo dev layout.
|
|
402
403
|
["/packages/workspace/dist/workspace.js", "@hachej/boring-workspace"],
|
|
403
404
|
["/packages/workspace/src/index.ts", "@hachej/boring-workspace"],
|
|
404
405
|
["/packages/workspace/dist/plugin.js", "@hachej/boring-workspace/plugin"],
|
|
405
406
|
["/packages/workspace/src/plugin.ts", "@hachej/boring-workspace/plugin"],
|
|
406
407
|
["/packages/workspace/dist/events.js", "@hachej/boring-workspace/events"],
|
|
407
|
-
["/packages/workspace/src/front/events/index.ts", "@hachej/boring-workspace/events"]
|
|
408
|
+
["/packages/workspace/src/front/events/index.ts", "@hachej/boring-workspace/events"],
|
|
409
|
+
// Installed layout (npm global / pnpm store): the scoped-package suffix
|
|
410
|
+
// matches both node_modules/@hachej/... and .pnpm/.../@hachej/... paths.
|
|
411
|
+
// Without these, a plugin importing the workspace root in an installed
|
|
412
|
+
// CLI gets a proxied SECOND copy of the workspace bundle — its context
|
|
413
|
+
// hooks (useApiBaseUrl, ...) read the wrong React context, and the
|
|
414
|
+
// proxied app-level graph drags un-interop'd CJS deps that fail to load.
|
|
415
|
+
["/@hachej/boring-workspace/dist/workspace.js", "@hachej/boring-workspace"],
|
|
416
|
+
["/@hachej/boring-workspace/dist/plugin.js", "@hachej/boring-workspace/plugin"],
|
|
417
|
+
["/@hachej/boring-workspace/dist/events.js", "@hachej/boring-workspace/events"]
|
|
408
418
|
];
|
|
409
419
|
for (const [suffix, source] of workspaceSingletonByPath) {
|
|
410
420
|
if (normalizedPath.endsWith(suffix)) return source;
|
|
411
421
|
}
|
|
422
|
+
if (!normalizedPath.includes("/.vite/deps/")) return void 0;
|
|
412
423
|
const fileName = normalizedPath.slice(normalizedPath.lastIndexOf("/") + 1);
|
|
413
424
|
const sourceByFileName = {
|
|
414
425
|
"react.js": "react",
|
|
@@ -951,6 +962,14 @@ async function createPluginFrontRuntimeHost(options = {}) {
|
|
|
951
962
|
appType: "custom",
|
|
952
963
|
configFile: false,
|
|
953
964
|
logLevel: "silent",
|
|
965
|
+
// Disable the dep optimizer entirely. With discovery on, Vite re-optimizes
|
|
966
|
+
// mid-session as plugin imports surface new deps; each pass rewrites
|
|
967
|
+
// node_modules/.vite/deps and bumps the browserHash, invalidating chunk
|
|
968
|
+
// URLs the browser already holds (ERR_FILE_NOT_FOUND_IN_OPTIMIZED_DEP_DIR)
|
|
969
|
+
// and stalling in-flight plugin front transforms indefinitely. The runtime
|
|
970
|
+
// host serves deps through its own proxy/singleton routes, so pre-bundling
|
|
971
|
+
// buys nothing here.
|
|
972
|
+
optimizeDeps: { entries: [], noDiscovery: true },
|
|
954
973
|
root: repoRoot,
|
|
955
974
|
plugins: [
|
|
956
975
|
react(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hachej/boring-ui-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.36",
|
|
4
4
|
"description": "Turn an agent into an app",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"lucide-react": "^1.8.0",
|
|
20
20
|
"typescript": "^5.8.3",
|
|
21
21
|
"vite": "^6.0.0",
|
|
22
|
-
"@hachej/boring-agent": "0.1.
|
|
23
|
-
"@hachej/boring-
|
|
24
|
-
"@hachej/boring-ui-plugin-cli": "0.1.
|
|
25
|
-
"@hachej/boring-
|
|
22
|
+
"@hachej/boring-agent": "0.1.36",
|
|
23
|
+
"@hachej/boring-ui-kit": "0.1.36",
|
|
24
|
+
"@hachej/boring-ui-plugin-cli": "0.1.36",
|
|
25
|
+
"@hachej/boring-workspace": "0.1.36"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@tailwindcss/vite": "^4.0.0",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"react-dom": "^19.0.0",
|
|
33
33
|
"tailwindcss": "^4.0.0",
|
|
34
34
|
"tsup": "^8.4.0",
|
|
35
|
-
"vitest": "^3.
|
|
35
|
+
"vitest": "^3.2.6"
|
|
36
36
|
},
|
|
37
37
|
"repository": {
|
|
38
38
|
"type": "git",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as x,j as e,T as C,a as S,b as R,c as v,d as N,I as T,R as E,B as M,C as $,e as I,f as D,g as L,h as _}from"./index-BXEu5C8e.js";function z({value:n,label:t}){const[o,s]=x.useState(!1),i=x.useCallback(()=>{D(n).then(a=>{a&&(s(!0),window.setTimeout(()=>s(!1),1200))})},[n]);return e.jsx(T,{type:"button",variant:"ghost",size:"icon-xs",onClick:i,className:"text-muted-foreground/60","aria-label":t,title:t,children:o?e.jsx(L,{className:"h-3 w-3"}):e.jsx(_,{className:"h-3 w-3"})})}function w({label:n,value:t}){return e.jsxs("div",{className:"rounded-md border border-border/40 bg-muted/20 p-2",children:[e.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:n}),e.jsx(z,{value:t,label:`Copy ${n}`})]}),e.jsx("code",{className:"block break-all font-mono text-[11px] leading-relaxed text-foreground dark:text-zinc-100",children:t})]})}function A({sessionId:n}){const t=`pi --session ${n}`;return e.jsxs("div",{className:"flex flex-col gap-3 overflow-auto p-3 text-[11px] text-muted-foreground dark:text-zinc-300",children:[e.jsx("p",{className:"text-muted-foreground dark:text-zinc-300",children:"This web chat is backed by a pi session. Use the id below from the workspace root to resume the same conversation in a terminal."}),e.jsx(w,{label:"Pi session id",value:n}),e.jsx(w,{label:"Resume command",value:t}),e.jsxs("p",{className:"rounded-md border border-border/30 bg-muted/10 p-2 text-[10px] leading-relaxed text-muted-foreground dark:text-zinc-300",children:["Tip: ",e.jsx("code",{className:"font-mono text-foreground/80",children:"pi --continue"})," ","opens the most recent session for the current working directory. The explicit command above targets this session directly."]})]})}const P=2500,y=20;function X({apiBaseUrl:n,fetch:t,sessionId:o,requestHeaders:s,storageScope:i}){const[a,r]=x.useState({kind:"loading"}),[c,u]=x.useState(0),m=x.useRef(0),j=x.useCallback(()=>{m.current=0,u(l=>l+1)},[]);return x.useEffect(()=>{let l=!1,f=null;return r({kind:"loading"}),(t??globalThis.fetch.bind(globalThis))(Y(n,`/api/v1/agent/sessions/${encodeURIComponent(o)}/system-prompt`),{headers:J(s,i)}).then(async d=>{var g;if(l)return;if(d.ok){const b=await d.json();if(typeof b.systemPrompt=="string"){m.current=0,r({kind:"ok",text:b.systemPrompt});return}}const h=await d.json().catch(()=>null),p=((g=h==null?void 0:h.error)==null?void 0:g.message)??`HTTP ${d.status}`;d.status===404&&m.current<y?(r({kind:"empty",reason:p}),f=setTimeout(()=>{l||(m.current++,u(b=>b+1))},P)):r(d.status===404?{kind:"empty",reason:p}:{kind:"error",reason:p})}).catch(d=>{l||r({kind:"error",reason:d instanceof Error?d.message:String(d)})}),()=>{l=!0,f&&clearTimeout(f)}},[n,t,o,s,c,i]),e.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[e.jsxs("div",{className:"shrink-0 flex items-center justify-between px-3 pt-2 pb-1 border-b border-border/40",children:[e.jsx("span",{className:"text-[10px] text-muted-foreground/80 font-mono",children:a.kind==="ok"?`${a.text.length.toLocaleString()} chars`:a.kind==="loading"?"loading…":a.kind==="empty"?`waiting for session · retry ${m.current}/${y}`:"error"}),a.kind!=="loading"&&e.jsx(T,{type:"button",variant:"ghost",size:"icon-xs",onClick:j,className:"text-muted-foreground/60","aria-label":"Refresh system prompt",children:e.jsx(E,{className:"h-3 w-3"})})]}),(a.kind==="loading"||a.kind==="empty")&&e.jsx("p",{className:"text-[11px] text-muted-foreground p-3",children:a.kind==="loading"?"Loading…":a.reason}),a.kind==="error"&&e.jsx("p",{className:"text-[11px] text-destructive p-3",children:a.reason}),a.kind==="ok"&&e.jsx("pre",{className:"flex-1 overflow-auto px-3 py-2 font-mono text-[11px] leading-relaxed text-foreground whitespace-pre-wrap break-words",children:a.text})]})}function F(n){const t=n,o=(t==null?void 0:t.type)??"?";if(o==="text"){const s=String(t.text??"");return s.slice(0,80)+(s.length>80?"…":"")}if(o==="tool-invocation"){const s=t.toolInvocation,i=String((s==null?void 0:s.state)??"");return`${(s==null?void 0:s.toolName)??"?"}() · ${i}`}if(o==="reasoning"){const s=String(t.text??t.reasoning??"");return s.slice(0,80)+(s.length>80?"…":"")}return o}function H(n){const t=[];for(let o=0;o<n.length;o++){const s=n[o],i=s,a=i.createdAt?new Date(i.createdAt).toISOString().slice(11,23):null;for(let r=0;r<s.parts.length;r++){const c=s.parts[r];t.push({msgId:s.id,msgIndex:o,role:s.role,time:a,partIndex:r,partType:(c==null?void 0:c.type)??"unknown",part:c})}}return t}function O({messages:n}){const t=H(n),[o,s]=x.useState(null),i=x.useRef(null),a=x.useRef(t.length);return x.useEffect(()=>{var r;t.length!==a.current&&((r=i.current)==null||r.scrollIntoView({behavior:"smooth"}),a.current=t.length)},[t.length]),t.length===0?e.jsx("p",{className:"text-[11px] text-muted-foreground p-3",children:"No messages yet."}):e.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[e.jsxs("div",{className:"shrink-0 px-3 pt-2 pb-1 text-[10px] text-muted-foreground/80 font-mono border-b border-border/40",children:[n.length," msg · ",t.length," parts"]}),e.jsxs("div",{className:"flex-1 overflow-auto",children:[t.map(r=>{const c=`${r.msgId}:${r.partIndex}`,u=o===c;return e.jsxs("div",{className:"border-b border-border/30 last:border-0",children:[e.jsxs(M,{type:"button",variant:"ghost",onClick:()=>s(u?null:c),className:"h-auto w-full justify-start gap-1.5 rounded-none px-2 py-1.5 text-left",children:[e.jsx("span",{className:"mt-0.5 shrink-0 text-muted-foreground/40",children:u?e.jsx($,{className:"h-3 w-3"}):e.jsx(I,{className:"h-3 w-3"})}),e.jsx("span",{className:"font-mono text-[10px] shrink-0 w-20",children:r.time?e.jsx("span",{className:"text-muted-foreground/60",children:r.time}):e.jsxs("span",{className:"text-muted-foreground/30",children:["m",r.msgIndex]})}),e.jsx("span",{className:N("shrink-0 font-mono text-[10px] w-14",r.role==="user"?"text-accent":"text-muted-foreground"),children:r.role}),e.jsx("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60 w-24",children:r.partType}),e.jsx("span",{className:"flex-1 min-w-0 font-mono text-[11px] text-foreground truncate",children:F(r.part)})]}),u&&e.jsx("pre",{className:"px-3 pb-2 font-mono text-[10px] leading-relaxed text-foreground/80 whitespace-pre-wrap break-words bg-muted/20",children:JSON.stringify(r.part,null,2)})]},c)}),e.jsx("div",{ref:i})]})]})}const V=[{id:"session",label:"Session"},{id:"prompt",label:"System prompt"},{id:"messages",label:"Messages"}],K=280,W=800;function G({apiBaseUrl:n,fetch:t,sessionId:o,messages:s,requestHeaders:i,storageScope:a,width:r,onWidthChange:c}){const[u,m]=x.useState("session"),j=x.useCallback(l=>{l.preventDefault();const f=l.clientX,k=r,d=p=>{const g=f-p.clientX;c(Math.min(W,Math.max(K,k+g)))},h=()=>{window.removeEventListener("mousemove",d),window.removeEventListener("mouseup",h)};window.addEventListener("mousemove",d),window.addEventListener("mouseup",h)},[r,c]);return e.jsxs(e.Fragment,{children:[e.jsx("div",{onMouseDown:j,className:"w-1 shrink-0 cursor-col-resize hover:bg-accent/40 active:bg-accent/60 transition-colors","aria-hidden":!0}),e.jsx("aside",{style:{width:r},className:N("flex h-full shrink-0 flex-col border-l border-border/60","bg-[oklch(from_var(--background)_calc(l-0.01)_c_h)]"),children:e.jsxs(C,{value:u,onValueChange:l=>m(l),className:"flex flex-col flex-1 min-h-0 overflow-hidden",children:[e.jsx("header",{className:"flex shrink-0 items-center gap-0 border-b border-border/60 px-1",children:e.jsx(S,{variant:"line",className:"h-auto gap-0 p-0 w-full",children:V.map(({id:l,label:f})=>e.jsx(R,{value:l,className:"h-8 flex-none px-3 py-2 text-[11px] font-medium data-[state=active]:after:bg-[color:var(--accent)]",children:f},l))})}),e.jsx(v,{value:"session",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(A,{sessionId:o})}),e.jsx(v,{value:"prompt",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(X,{apiBaseUrl:n,fetch:t,sessionId:o,requestHeaders:i,storageScope:a})}),e.jsx(v,{value:"messages",forceMount:!0,className:"flex flex-col flex-1 min-h-0 overflow-hidden data-[state=inactive]:hidden",children:e.jsx(O,{messages:s})})]})})]})}function Y(n,t){return`${(n==null?void 0:n.replace(/\/$/,""))??""}${t}`}function J(n,t){if(!n&&!t)return;const o={...n??{}},s=Object.keys(o).some(i=>i.toLowerCase()==="x-boring-storage-scope");return t&&!s&&(o["x-boring-storage-scope"]=t),o}export{G as DebugDrawer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{be as S,bE as ln,aZ as A,bc as P,aY as W,bF as gn,bG as dn,bH as hn,bI as z,bJ as pn,bK as An,bL as N,bf as m,bk as K,bn as T,bM as _n,bi as on,bN as wn,bO as On,a_ as V,bP as bn,bQ as R}from"./index-
|
|
1
|
+
import{be as S,bE as ln,aZ as A,bc as P,aY as W,bF as gn,bG as dn,bH as hn,bI as z,bJ as pn,bK as An,bL as N,bf as m,bk as K,bn as T,bM as _n,bi as on,bN as wn,bO as On,a_ as V,bP as bn,bQ as R}from"./index-BXEu5C8e.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||S(n)&&ln(n)==Pn}function vn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var U=P?P.prototype:void 0,B=U?U.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return vn(n,k)+"";if(x(n))return B?B.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function In(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function Rn(n,r,e){return r===r?In(n,r,e):cn(n,Tn,e)}function Ln(n,r){var e=n==null?0:n.length;return!!e&&Rn(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Sn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Sn.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fn=/\\(\\)?/g,Gn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Fn,"$1"):i||e)}),r});function Dn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Gn(Dn(n))}function I(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[I(r[e++])];return e&&e==i?n:void 0}function Nn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function mn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=mn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Kn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Un(){return[]}var Bn=Object.prototype,Hn=Bn.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,Zn=Z?function(n){return n==null?[]:(n=Object(n),en(Z(n),function(r){return Hn.call(n,r)}))}:Un;function qn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function q(n){return qn(n,M,Zn)}var Yn="__lodash_hash_undefined__";function Jn(n){return this.__data__.set(n,Yn),this}function Qn(n){return this.__data__.has(n)}function v(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}v.prototype.add=v.prototype.push=Jn;v.prototype.has=Qn;function Xn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new v:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Xn(r,function(O,b){if(!tn(o,b)&&(p===O||f(p,O,e,i,t)))return o.push(b)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,L=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new N(n),new N(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(L)return L.call(n)==L.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=q(n),a=u.length,h=q(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],b=r[d];if(i)var D=s?i(b,O,d,r,n,t):i(O,b,d,n,r,t);if(!(D===void 0?O===b||f(O,b,e,i,t):D)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,J="[object Arguments]",Q="[object Array]",c="[object Object]",wr=Object.prototype,X=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?Q:m(n),h=u?Q:m(r);a=a==J?c:a,h=h==J?c:h;var g=a==c,l=h==c,d=a==h;if(d&&K(n)){if(!K(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&X.call(n,"__wrapped__"),p=l&&X.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function F(n,r,e,i,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:Or(n,r,e,i,F,f)}var br=1,Pr=2;function vr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?F(h,a,br|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function yr(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||vr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=I(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Ir(n,r){return n!=null&&Tr(n,r,cr)}var Rr=1,Lr=2;function Sr(n,r){return $(n)&&sn(r)?un(I(n),r):function(e){var i=Nn(e,n);return i===void 0&&i===r?Ir(e,n):F(r,i,Rr|Lr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(I(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Sr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&bn(n,r,M)}function Fr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var G=Fr(Cr);function Gr(n){return typeof n=="function"?n:V}function Zr(n,r){var e=A(n)?En:G;return e(n,Gr(r))}function Dr(n,r){var e=[];return G(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function qr(n,r){var e=A(n)?en:Dr;return e(n,an(r))}function Nr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Kn:Nr,f=arguments.length<3;return i(n,an(r),e,f,G)}var mr=1/0,Kr=R&&1/C(new R([,-0]))[1]==mr?function(n){return new R(n)}:yn,Ur=200;function Jr(n,r,e){var i=-1,f=Ln,t=n.length,s=!0,u=[],a=u;if(t>=Ur){var h=r?null:Kr(n);if(h)return C(h);s=!1,f=tn,a=new v}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{G as a,Hr as b,an as c,vn as d,rn as e,qn as f,Zn as g,En as h,x as i,q as j,M as k,Jr as l,qr as m,Zr as n,cn as o,Gr as p,Cr as q,Yr as r,Un as s,Tr as t,j as u,I as v,nn as w,Ir as x,Dn as y};
|