@av-pi-studio/web-client 0.0.116 → 0.0.118
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 +15 -12
- package/dist/web/assets/BinaryFallbackViewer-6oStgFbx.js +1 -0
- package/dist/web/assets/ChatPanel-BVw71R5q.js +11 -0
- package/dist/web/assets/CodeView-DBvTM0BW.js +1 -0
- package/dist/web/assets/{DiffView-D1TsZBGe.js → DiffView-Bp1YwIcs.js} +1 -1
- package/dist/web/assets/FilePanel-Bl5ytI3U.js +1 -0
- package/dist/web/assets/HtmlViewer-D52zbW1I.js +1 -0
- package/dist/web/assets/ImageViewer-DyQNZCKd.js +1 -0
- package/dist/web/assets/MarkdownFileViewer-BZJbZEGK.js +1 -0
- package/dist/web/assets/ModelProvidersPanel-DoQ6F0J7.js +1 -0
- package/dist/web/assets/MoleculeViewerPanel-CUgDBSd_.js +1 -0
- package/dist/web/assets/PdfViewer-BHiGul5n.js +1 -0
- package/dist/web/assets/SaveFileButton-469govDl.js +1 -0
- package/dist/web/assets/SettingsDialog-D2rCwciZ.js +8 -0
- package/dist/web/assets/SkillsPanel-Bwa_B9KI.js +1 -0
- package/dist/web/assets/SkillsPanel-Cs4iUzys.css +1 -0
- package/dist/web/assets/StatusBadge-eoBBn7zF.js +1 -0
- package/dist/web/assets/{Switch-1I6AMAC7.js → Switch-DvBJf8Rd.js} +1 -1
- package/dist/web/assets/TerminalPanel-B8j4fo6Z.js +1 -0
- package/dist/web/assets/TextViewer-DNjD6up3.js +1 -0
- package/dist/web/assets/VideoViewer-BeiZJGIs.js +1 -0
- package/dist/web/assets/ViewersPanel-DbKljM62.js +1 -0
- package/dist/web/assets/{abnfDiagram-N423BO3Z-DQx_Q_du.js → abnfDiagram-N423BO3Z-CpfpOF_O.js} +1 -1
- package/dist/web/assets/{arc-NwFlaU6N.js → arc-DBTSI6_N.js} +1 -1
- package/dist/web/assets/{architectureDiagram-T3A2C74G-CG7FCMjZ.js → architectureDiagram-T3A2C74G-BSevfMW_.js} +1 -1
- package/dist/web/assets/{blockDiagram-VBNYF7ZC-D8Dt2XvX.js → blockDiagram-VBNYF7ZC-mjH_gzpo.js} +1 -1
- package/dist/web/assets/{c4Diagram-5PPSVZJV-6WjaBIv7.js → c4Diagram-5PPSVZJV-CKvGPw0r.js} +1 -1
- package/dist/web/assets/channel-DewxN4Jo.js +1 -0
- package/dist/web/assets/{chunk-2GRJ4B5K-D17AHR0R.js → chunk-2GRJ4B5K-DX9yxpY8.js} +1 -1
- package/dist/web/assets/{chunk-2Q5K7J3B-C9IyfEM4.js → chunk-2Q5K7J3B-CLN7DvaK.js} +1 -1
- package/dist/web/assets/{chunk-5RXB4S5H-V5UWp0VD.js → chunk-5RXB4S5H-_JxweRkX.js} +1 -1
- package/dist/web/assets/{chunk-5VM5RSS4-XEeU6W1F.js → chunk-5VM5RSS4-3BAvSy1_.js} +1 -1
- package/dist/web/assets/{chunk-6Q2QTUOP-C99sGYcg.js → chunk-6Q2QTUOP-DQLD88Lm.js} +1 -1
- package/dist/web/assets/{chunk-GF5L2VYU-DOVkSmJv.js → chunk-GF5L2VYU-D-1fx8P7.js} +1 -1
- package/dist/web/assets/{chunk-JWPE2WC7-DHn7mt7E.js → chunk-JWPE2WC7-C2fToatl.js} +1 -1
- package/dist/web/assets/{chunk-KBJHAD2P-DZ1cvEI3.js → chunk-KBJHAD2P-DHjSexvX.js} +1 -1
- package/dist/web/assets/{chunk-RYQCIY6F-BoE5aK7J.js → chunk-RYQCIY6F-DsVSVTjX.js} +1 -1
- package/dist/web/assets/{chunk-XXDRQBXY-va2-6IlH.js → chunk-XXDRQBXY-Csxxsn8g.js} +1 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-YbS66O-E.js +1 -0
- package/dist/web/assets/classDiagram-v2-OCEON4UE-YbS66O-E.js +1 -0
- package/dist/web/assets/{cose-bilkent-JH36ORCC-Cr6PX_gX.js → cose-bilkent-JH36ORCC-DIVX_YPY.js} +1 -1
- package/dist/web/assets/{cynefin-VYW2F7L2-CqvughFy.js → cynefin-VYW2F7L2-fVS7Seyd.js} +1 -1
- package/dist/web/assets/{cynefinDiagram-MW4NZA55-Bj_6GLhZ.js → cynefinDiagram-MW4NZA55-krsTOg0x.js} +1 -1
- package/dist/web/assets/{dagre-VZM6K2ZE-CgOi1CPd.js → dagre-VZM6K2ZE-Byz_9-UR.js} +1 -1
- package/dist/web/assets/{diagram-7IWD3JNH-rQLPxuMo.js → diagram-7IWD3JNH-CAwWHICT.js} +1 -1
- package/dist/web/assets/{diagram-B4RE2ZJO-PJI4Buwu.js → diagram-B4RE2ZJO-zvv-V2co.js} +1 -1
- package/dist/web/assets/{diagram-LBJQPF4R-Cal1_yHP.js → diagram-LBJQPF4R-i5y2WTdZ.js} +1 -1
- package/dist/web/assets/{diagram-Q27KOJAE-BWo2xVP9.js → diagram-Q27KOJAE-B1inWemu.js} +1 -1
- package/dist/web/assets/{diagram-UB23O5K3-DV90Qcmx.js → diagram-UB23O5K3-Dh89SZOh.js} +1 -1
- package/dist/web/assets/{ebnfDiagram-BXEA7PRR-DKFZTIRm.js → ebnfDiagram-BXEA7PRR-su2ygatX.js} +1 -1
- package/dist/web/assets/{erDiagram-JOGREHBK-LX1ZeseQ.js → erDiagram-JOGREHBK-BbsgEzQn.js} +1 -1
- package/dist/web/assets/{flowDiagram-UKHOOZJN-Djz1ZNIJ.js → flowDiagram-UKHOOZJN-Chl_0-ag.js} +1 -1
- package/dist/web/assets/{ganttDiagram-PKOTCBZU-BffSzw5A.js → ganttDiagram-PKOTCBZU-CYMojHU0.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-DS77QQ5N-Dj4HeSPG.js → gitGraphDiagram-DS77QQ5N-BZQF2UJa.js} +1 -1
- package/dist/web/assets/{graph-bitvlgYx.js → graph-q4AqDxwU.js} +1 -1
- package/dist/web/assets/{href-resolution-CSqTI9Vm.js → href-resolution-A_PcAhnr.js} +1 -1
- package/dist/web/assets/index-Dg0mhDS9.css +1 -0
- package/dist/web/assets/index-DjRqFIN0.js +19 -0
- package/dist/web/assets/{infoDiagram-6WML65LV-DlWDf94X.js → infoDiagram-6WML65LV-L2kKwrdb.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-CFJts585.js → ishikawaDiagram-WSZJBQD7-B-hdpT0j.js} +1 -1
- package/dist/web/assets/{journeyDiagram-NVQOT4AX-DOykXQ5K.js → journeyDiagram-NVQOT4AX-DtZbDU0g.js} +1 -1
- package/dist/web/assets/{kanban-definition-27J2QSJJ-D1TWwfVH.js → kanban-definition-27J2QSJJ-BNVi4euz.js} +1 -1
- package/dist/web/assets/{layout-CDBUU1vE.js → layout-ZLTTNfUo.js} +1 -1
- package/dist/web/assets/{linear-B_PoZzPq.js → linear-Dg9CPt0k.js} +1 -1
- package/dist/web/assets/markdown-lfaaW_Mn.js +5 -0
- package/dist/web/assets/{mermaid.core-IS9aUP88.js → mermaid.core-524tR-D2.js} +4 -4
- package/dist/web/assets/{mindmap-definition-FAOFIHXS-e6GML3xR.js → mindmap-definition-FAOFIHXS-CJKkZcYQ.js} +1 -1
- package/dist/web/assets/{ordinal-DW4V92iz.js → ordinal-B7gl1e82.js} +1 -1
- package/dist/web/assets/{pegDiagram-VL7TDLO6-l5AAajde.js → pegDiagram-VL7TDLO6-C29SbD0M.js} +1 -1
- package/dist/web/assets/{pieDiagram-7S7Q4E2Y-BJMl2q2D.js → pieDiagram-7S7Q4E2Y-BpeO9BuX.js} +1 -1
- package/dist/web/assets/{provider-auth-store-9hsJ07X1.js → provider-auth-store-CpmUGwuu.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-CIZ2JOQS-DKC1ILMK.js → quadrantDiagram-CIZ2JOQS-yU4K00QE.js} +1 -1
- package/dist/web/assets/{railroadDiagram-AXF67PYL-wXEBz91m.js → railroadDiagram-AXF67PYL-DIkSup17.js} +1 -1
- package/dist/web/assets/{requirementDiagram-LRYGKXZP-8AXE33_8.js → requirementDiagram-LRYGKXZP-DB5tgpS1.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-W5VNT64P-BEMi273m.js → sankeyDiagram-W5VNT64P-DYPa3r0S.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-SI44F4Z6-D2uxwHar.js → sequenceDiagram-SI44F4Z6-C_rD0zxP.js} +1 -1
- package/dist/web/assets/{sizeCapture-X5ZJPWSS-B7Hjo6Av.js → sizeCapture-X5ZJPWSS-DzC-Nn78.js} +1 -1
- package/dist/web/assets/{stateDiagram-OKZ733FA-EapYZet8.js → stateDiagram-OKZ733FA-DQdSURcD.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-BCmrjJ-P.js +1 -0
- package/dist/web/assets/{swimlanes-SLNWSIFB-OULFMW43.js → swimlanes-SLNWSIFB-BA-Oww3o.js} +2 -2
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-BtietnZ5.js +8 -0
- package/dist/web/assets/{timeline-definition-Z64GVDOM-HZ7n4Pcs.js → timeline-definition-Z64GVDOM-C7JXpk1W.js} +1 -1
- package/dist/web/assets/use-file-download-FoQrf961.js +1 -0
- package/dist/web/assets/{use-file-watch-CYQrRagj.js → use-file-watch-Th-A-3Ws.js} +1 -1
- package/dist/web/assets/{use-provider-auth-list-CPbr4xbh.js → use-provider-auth-list-D5pguVWm.js} +1 -1
- package/dist/web/assets/{vendor-dnd-CayJj8TC.js → vendor-dnd-vJGfGIIi.js} +1 -1
- package/dist/web/assets/{vendor-highlight-Ddi_n-Jh.js → vendor-highlight-DaCUEPaW.js} +1 -1
- package/dist/web/assets/{vendor-icons-Bh5CT32q.js → vendor-icons-CSCeICuX.js} +2 -2
- package/dist/web/assets/{vendor-markdown-DJUOT8ep.js → vendor-markdown-Bo-Xpsuy.js} +1 -1
- package/dist/web/assets/{vendor-molviewer-DeAF8d5d.js → vendor-molviewer-7FbONJs2.js} +1 -1
- package/dist/web/assets/vendor-overlays-DjMT65Ip.js +1 -0
- package/dist/web/assets/{vendor-pdfjs-BrYGnqfM.js → vendor-pdfjs-BSchhGel.js} +2 -2
- package/dist/web/assets/{vendor-query-i7fr__Xm.js → vendor-query-CDNPrdQ8.js} +1 -1
- package/dist/web/assets/{vendor-react-DQUAl2K8.js → vendor-react-Dka9ZH0B.js} +1 -1
- package/dist/web/assets/{vendor-DaF96HbP.js → vendor-z183l2lP.js} +6 -6
- package/dist/web/assets/{vennDiagram-T6HMQDX7-BIcLY6tu.js → vennDiagram-T6HMQDX7-C_y33Ta5.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-T6FBY63Y-BrZ83jaD.js → wardleyDiagram-T6FBY63Y-gxOBkNAp.js} +1 -1
- package/dist/web/assets/{xychartDiagram-ELKLHX3M-C3Tsplob.js → xychartDiagram-ELKLHX3M-BEdGwPiU.js} +1 -1
- package/dist/web/index.html +9 -8
- package/package.json +5 -41
- package/dist/web/assets/BinaryFallbackViewer-CgqvcH7r.js +0 -1
- package/dist/web/assets/ChatPanel-DrY_su6H.js +0 -11
- package/dist/web/assets/CodeView-CLqXf_zq.js +0 -1
- package/dist/web/assets/FilePanel-D70tIhDP.js +0 -1
- package/dist/web/assets/HtmlViewer-DSjhzjwY.js +0 -1
- package/dist/web/assets/ImageViewer-5Up9iJJ7.js +0 -1
- package/dist/web/assets/MarkdownFileViewer-BtXDNRcG.js +0 -1
- package/dist/web/assets/ModelProvidersPanel-CEj669D0.js +0 -1
- package/dist/web/assets/MoleculeViewerPanel-BiSKuUKH.js +0 -1
- package/dist/web/assets/PdfViewer-FoRGVMMP.js +0 -1
- package/dist/web/assets/SettingsDialog-BduWeTtA.js +0 -8
- package/dist/web/assets/SkillsPanel-DFN65SoZ.js +0 -1
- package/dist/web/assets/SkillsPanel-DH-_EKrv.css +0 -1
- package/dist/web/assets/StatusBadge-BMKAPA9O.js +0 -1
- package/dist/web/assets/TerminalPanel-DN6tM7eR.js +0 -1
- package/dist/web/assets/TextViewer-Cu-49yJ_.js +0 -1
- package/dist/web/assets/VideoViewer-CD56-Rpo.js +0 -1
- package/dist/web/assets/ViewersPanel-CAoHz8Or.js +0 -1
- package/dist/web/assets/channel-BnCumRF3.js +0 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-D2TYG8cH.js +0 -1
- package/dist/web/assets/classDiagram-v2-OCEON4UE-D2TYG8cH.js +0 -1
- package/dist/web/assets/index-CchwjcLZ.js +0 -19
- package/dist/web/assets/index-D0vOQcoX.css +0 -1
- package/dist/web/assets/markdown-2gm-29tf.js +0 -5
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-s953Nt6G.js +0 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DYHKzS9R.js +0 -8
- package/dist/web/assets/use-file-download-8zPww5m-.js +0 -1
- package/dist/web/assets/vendor-overlays-3MkedLFU.js +0 -1
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# `@av-pi-studio/web-client`
|
|
2
2
|
|
|
3
|
-
The
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
`
|
|
3
|
+
The Pi-Studio browser app: a thin Vite shell that renders `@av-pi-studio/workbench` (the
|
|
4
|
+
application — chat, timelines, terminals, files, git; see `packages/workbench/README.md`) with a
|
|
5
|
+
browser host. Ships as a prebuilt static SPA (`dist/web`), served by `pi-studio ui`,
|
|
6
|
+
`docker/web-client.Dockerfile`, or any static file host.
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -24,8 +24,8 @@ With both variables unset, the build is byte-for-byte the default **Pi-Studio**
|
|
|
24
24
|
| `PI_STUDIO_BRAND_ICON` | _(unset → `public/favicon.svg`)_ | Path to a `.svg`, `.png`, or `.ico` file that replaces the favicon |
|
|
25
25
|
|
|
26
26
|
Both are read once, at Vite config-eval time, by `vite.config.ts`'s `brandHtmlPlugin` (backed by
|
|
27
|
-
the pure resolver in `src/brand/build-brand.ts`) — they apply identically to `npm run dev
|
|
28
|
-
`npm run build:web
|
|
27
|
+
the pure resolver in `src/brand/build-brand.ts`) — they apply identically to `npm run dev` and
|
|
28
|
+
`npm run build:web`.
|
|
29
29
|
|
|
30
30
|
### Usage
|
|
31
31
|
|
|
@@ -80,10 +80,9 @@ example), then `scripts/dokploy-deploy.sh web-client --tag <that-tag>`.
|
|
|
80
80
|
|
|
81
81
|
### Scope
|
|
82
82
|
|
|
83
|
-
Only the title and favicon are build-time-overridable today.
|
|
84
|
-
`
|
|
85
|
-
|
|
86
|
-
(`getActiveBrand()` always returns the built-in default) and is not part of this feature. See
|
|
83
|
+
Only the title and favicon are build-time-overridable today. The ui-library's accent-only
|
|
84
|
+
`brandConfig` prop on `ThemeBoundary` (see `packages/ui-library/DESIGN_SYSTEM.md`) is a separate
|
|
85
|
+
runtime seam with no loader wired to it in this package and is not part of this feature. See
|
|
87
86
|
`AGENTS.md`'s § Invariants "Build-time brand override" for the full rationale, and
|
|
88
87
|
`src/brand/build-brand.ts`/`src/brand/build-brand.test.ts` for the implementation.
|
|
89
88
|
|
|
@@ -98,5 +97,9 @@ npm run build:web -w @av-pi-studio/web-client # browser build (dist/web)
|
|
|
98
97
|
npx vitest run packages/web-client
|
|
99
98
|
```
|
|
100
99
|
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
This package is the shell only: `src/main.tsx` (stylesheets, `createBrowserHost` with the build-time
|
|
101
|
+
brand title/version and the pdf.js worker, `<Workbench>`), `src/global.css` (the `#root` rule),
|
|
102
|
+
`src/brand/build-brand.ts` and `vite.config.ts`. The application is `@av-pi-studio/workbench`
|
|
103
|
+
(`packages/workbench`) and the design system `@av-pi-studio/ui-library` (`packages/ui-library`);
|
|
104
|
+
both are devDependencies resolved from source through Vite aliases and bundled into the SPA. See
|
|
105
|
+
`AGENTS.md` for this package and `packages/workbench/AGENTS.md` for the application.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as i}from"./vendor-react-Dka9ZH0B.js";import{S as o}from"./SaveFileButton-469govDl.js";import{F as n}from"./vendor-icons-CSCeICuX.js";import"./index-DjRqFIN0.js";import"./vendor-z183l2lP.js";import"./vendor-query-CDNPrdQ8.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";const t="_wrap_inn1j_1",a="_name_inn1j_12",e={wrap:t,name:a};function _({path:r,workspaceCwd:m}){const s=r.split("/").pop()||r;return i.jsxs("div",{className:e.wrap,children:[i.jsx(n,{size:32}),i.jsx("div",{className:e.name,children:s}),i.jsx("div",{children:"No preview available for this file type."}),i.jsx(o,{path:r})]})}export{_ as BinaryFallbackViewer};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{r as h,j as t}from"./vendor-react-Dka9ZH0B.js";import{a as cn,b as ln,m as dn,u as Le}from"./vendor-query-CDNPrdQ8.js";import{O as Be,Q as M,R as un,u as J,U as mn,I as O,W as fn,X as pn,B as z,y as hn,Y as _t,S as ne,J as _n,D as gn,z as xn,Z as gt,s as xt,n as kt,_ as kn,$ as vn,a0 as jn,q as vt,a1 as yn,E as bn,a2 as ve,r as Oe,a3 as Ie,a4 as Nn,a5 as fe,k as Sn,a6 as Cn,a7 as ke,a8 as wn,a9 as Dn,aa as Tn,ab as rt,ac as En,K as Bn,ad as Rn,ae as An,af as it,ag as Ln,P as ct}from"./index-DjRqFIN0.js";import{L as On,G as In,S as Pn,e as qn,P as zn,f as Fn,g as jt,h as ye,C as pe,B as Mn,i as yt,b as he,A as $n,j as Kn,k as Hn,U as Wn,l as bt,m as Un,n as Gn,o as Vn,p as Xn,q as lt,r as Yn,N as Jn,s as Qn,t as Zn}from"./vendor-icons-CSCeICuX.js";import{u as es}from"./use-provider-auth-list-D5pguVWm.js";import{N as w}from"./vendor-z183l2lP.js";import{S as Nt,M as Pe,r as ts}from"./markdown-lfaaW_Mn.js";import{D as ns,p as ss}from"./DiffView-Bp1YwIcs.js";import{R as qe,T as ze,I as St}from"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";import"./vendor-highlight-DaCUEPaW.js";import"./vendor-markdown-Bo-Xpsuy.js";import"./href-resolution-A_PcAhnr.js";function Ct(e,n){if(n.trim()==="")return e;const s=n.toLowerCase();return e.filter(o=>o.label.toLowerCase().includes(s)||o.description!==void 0&&o.description.toLowerCase().includes(s))}function os(e,n={}){const s=new Map;for(const m of e){const u=m.group??"",f=s.get(u);f?f.push(m):s.set(u,[m])}const o=s.get("");s.delete("");const a=[...s.keys()],{priorityGroup:i,ungroupedLabel:c}=n;i!==void 0&&s.has(i)&&(a.splice(a.indexOf(i),1),a.unshift(i));const l=a.map(m=>({key:m,label:m,options:s.get(m)??[]}));return o&&l.push({key:"",label:c,options:o}),l}const as={shell:jt,read:Fn,edit:zn,write:qn,search:Pn,fetch:In,task:On};function rs(e){return as[e.kind]??jt}function wt(e){switch(e.kind){case"read":case"write":case"edit":return e.path??null;default:return null}}function is(e){return e.kind==="write"||e.kind==="edit"||e.kind==="shell"}function cs(e){const n=[];if(e.kind==="edit"&&e.diff)n.push({kind:"diff",patch:e.diff});else{const s=Be(e);s&&n.push({kind:"code",text:s})}return e.output&&n.push({kind:"code",text:e.output}),n}const dt={shell:{label:"SHELL",token:"statusInfo"},read:{label:"READ",token:"statusInfo"},write:{label:"WRITE",token:"statusSuccess"},edit:{label:"EDIT",token:"statusWarning"},search:{label:"SEARCH",token:"statusInfo"},fetch:{label:"FETCH",token:"statusInfo"},task:{label:"TASK",token:"foregroundMuted"}};function ls(e){return dt[e.kind]??dt.task}function ds(e){if(!e)return{added:0,removed:0};let n=0,s=0;for(const o of e.split(`
|
|
2
|
+
`))o.startsWith("+++")||o.startsWith("---")||(o.startsWith("+")?n++:o.startsWith("-")&&s++);return{added:n,removed:s}}function us(e){return e?(e.endsWith(`
|
|
3
|
+
`)?e.slice(0,-1):e).split(`
|
|
4
|
+
`).length:0}const ms=500;let we;function fs(e,n,s,o){clearTimeout(we),we=setTimeout(()=>{we=void 0,e.invalidateQueries({queryKey:["file"]}),e.invalidateQueries({queryKey:["explorer"]}),n&&s&&n.connection.request("checkout_refresh_request",{cwd:s}).catch(()=>{})},ms)}function ps({sessionId:e,event:n,timestamp:s,client:o,queryClient:a}){const i=M.getState();switch(i.applyStreamEvent(e,n,s),n.kind){case"turn_started":i.setStatus(e,"running");break;case"turn_completed":i.setStatus(e,"idle");break;case"turn_failed":i.setStatus(e,"error");break;case"turn_canceled":i.setStatus(e,"idle");break;case"compaction":n.phase==="completed"&&n.estimatedTokensAfter!==void 0&&un(e,n.estimatedTokensAfter);break;case"tool_call":{if(n.status==="completed"&&is(n.tool)){const c=i.sessions[e],l=(c==null?void 0:c.cwd)||null;fs(a,o,l,wt(n.tool))}break}}}function hs(e){const n=J(a=>a.client),s=M(a=>{var i;return((i=a.sessions[e])==null?void 0:i.agentId)??null}),o=cn();h.useEffect(()=>!n||!s?void 0:n.agent(s).timeline.subscribe((i,c)=>{const l=typeof c.timestamp=="number"?new Date(c.timestamp).toISOString():c.timestamp;ps({sessionId:e,event:i,timestamp:l,client:n,queryClient:o})}),[n,s,e,o])}const Dt=64;function De(e){return e.clientHeight>0}function _s(e,n,s,o=Dt){switch(n.kind){case"scroll":return De(s)?s.scrollHeight-s.scrollTop-s.clientHeight<=o?{pinned:!0,stick:!1}:{pinned:n.gesture?!1:e,stick:!1}:{pinned:e,stick:!1};case"tail":return{pinned:e,stick:e&&De(s)};case"shown":return{pinned:e,stick:e};case"pin":return{pinned:!0,stick:De(s)}}}function gs(e){const n=e[e.length-1];return(n==null?void 0:n.kind)==="user"?n.id:null}const xs="_shellRow_1kabp_2",ks="_rail_1kabp_10",vs="_disc_1kabp_18",js="_connector_1kabp_28",ys="_content_1kabp_2",bs="_metaLine_1kabp_40",Ns="_metaTime_1kabp_52",Ss="_forkButton_1kabp_66",U={shellRow:xs,rail:ks,disc:vs,connector:js,content:ys,metaLine:bs,metaTime:Ns,forkButton:Ss};function X({disc:e,discClassName:n,connector:s,meta:o,metaTrailing:a,className:i,children:c}){return t.jsxs("div",{className:U.shellRow,children:[t.jsxs("div",{className:U.rail,children:[t.jsx("span",{className:w(U.disc,n),children:e}),s&&t.jsx("span",{className:U.connector})]}),t.jsxs("div",{className:w(U.content,i),children:[o&&t.jsxs("div",{className:U.metaLine,children:[o,a]}),c]})]})}function ut(e){return typeof e=="number"?e:Date.parse(e)}function Cs(e,n){const s=ut(e.entry.createdAt),o=ut(n.entry.createdAt);return s!==o?s-o:e.entry.requestId<n.entry.requestId?-1:e.entry.requestId>n.entry.requestId?1:0}function ws(e,n){return[...e.map(o=>({kind:"pending",entry:o})),...n.map(o=>({kind:"resolved",entry:o}))].toSorted(Cs)}function Ds(e){return e.entry.requestId}function Tt(e){return e.receivedAt===void 0}const Ts=4;function Es(e,n){let s=0;const o=e.map(l=>l.kind!=="pending"?{item:l,collapsed:!1}:(s++,{item:l,collapsed:!n&&s>Ts})),a=o.filter(l=>l.collapsed).length,i=o.findIndex(l=>l.collapsed),c=[];return o.forEach((l,m)=>{m===i&&c.push({kind:"more",count:a}),c.push({kind:"card",item:l.item,collapsed:l.collapsed})}),c}function Bs(e,n){if(e.timeoutMs===void 0)return{show:!1,fraction:0,approximate:!1};const s=mn(e,n)??0;return{show:!0,fraction:Math.max(0,Math.min(1,s/e.timeoutMs)),approximate:e.receivedAt===void 0}}function Et(e){return e==="editor"}const Rs="Esc again to dismiss — the extension gets an empty answer";function As(e,n){return n?{kind:"warning",text:Rs}:{kind:"keys",segments:[{key:Et(e)?"⇧↵":"↵",label:"submit"},{key:"Esc",label:"dismiss"}]}}function Ls(e){return e?{armed:!1,resolve:!0}:{armed:!0,resolve:!1}}const Os=5,Is=40,Ps=6;function qs(e){return{mode:e.length>=Os||e.some(s=>s.length>Is)?"stack":"row",scrolls:e.length>Ps}}function Re(e){const n=e.split(`
|
|
5
|
+
`),s=[];let o=!1;for(const a of n)if(a===""){if(o)continue;o=!0,s.push("")}else o=!1,s.push(a);return s}function zs(e,n){return{title:Re(e),...n!==void 0?{message:Re(n)}:{}}}const Fs="_askDisc_ffqf1_5",Ms="_card_ffqf1_9",$s="_cardInert_ffqf1_41",Ks="_askDiscInert_ffqf1_47",Hs="_reconnectingNote_ffqf1_52",Ws="_reconnectingDot_ffqf1_61",Us="_deadlineBar_ffqf1_71",Gs="_deadlineApproximate_ffqf1_80",Vs="_header_ffqf1_85",Xs="_askBadge_ffqf1_16",Ys="_methodName_ffqf1_101",Js="_title_ffqf1_107",Qs="_titleEmphasised_ffqf1_115",Zs="_message_ffqf1_119",eo="_emptyOptionsNote_ffqf1_127",to="_controls_ffqf1_133",no="_controlsStack_ffqf1_141",so="_controlsScroll_ffqf1_148",oo="_optionButton_ffqf1_153",ao="_field_ffqf1_161",ro="_editorField_ffqf1_168",io="_rawPayload_ffqf1_176",co="_resolvedCard_ffqf1_190",lo="_askBadgeNeutral_ffqf1_204",uo="_resolvedMethodName_ffqf1_209",mo="_outcome_ffqf1_218",fo="_outcomeSuccess_ffqf1_229",po="_outcomeText_ffqf1_233",ho="_hint_ffqf1_255",_o="_hintKey_ffqf1_270",go="_hintSep_ffqf1_278",xo="_recoveredChip_ffqf1_285",ko="_collapsedPendingCard_ffqf1_297",vo="_moreRow_ffqf1_303",g={askDisc:Fs,card:Ms,cardInert:$s,askDiscInert:Ks,reconnectingNote:Hs,reconnectingDot:Ws,deadlineBar:Us,deadlineApproximate:Gs,header:Vs,askBadge:Xs,methodName:Ys,title:Js,titleEmphasised:Qs,message:Zs,emptyOptionsNote:eo,controls:to,controlsStack:no,controlsScroll:so,optionButton:oo,field:ao,editorField:ro,rawPayload:io,resolvedCard:co,askBadgeNeutral:lo,resolvedMethodName:uo,outcome:mo,outcomeSuccess:fo,outcomeText:po,hint:ho,hintKey:_o,hintSep:go,recoveredChip:xo,collapsedPendingCard:ko,moreRow:vo},jo=250,yo=320;function se(e,n){const s=e[n];return typeof s=="string"?s:void 0}function bo(e,n){const s=e[n];return Array.isArray(s)?s.filter(o=>typeof o=="string"):[]}function No({item:e,connector:n,collapsed:s=!1,autoFocus:o=!1,sessionTitle:a}){return e.kind==="resolved"?t.jsx(wo,{entry:e.entry,connector:n}):s?t.jsx(So,{entry:e.entry,connector:n}):t.jsx(To,{entry:e.entry,connector:n,autoFocus:o,sessionTitle:a})}function Bt(){return t.jsx("span",{className:g.recoveredChip,children:"still waiting"})}function So({entry:e,connector:n}){return t.jsx(X,{disc:t.jsx(O,{icon:ye,size:"xs",color:"var(--pi-color-statusWarning)"}),discClassName:g.askDisc,connector:n,children:t.jsxs("div",{className:w(g.resolvedCard,g.collapsedPendingCard),children:[t.jsx("span",{className:g.askBadge,children:"ASK"}),t.jsx("span",{className:g.resolvedMethodName,children:e.method}),Tt(e)&&t.jsx(Bt,{})]})})}function Co({count:e,connector:n,onExpand:s}){return t.jsx(X,{disc:t.jsx(O,{icon:ye,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:g.askDiscInert,connector:n,children:t.jsxs("button",{type:"button",className:g.moreRow,onClick:s,children:[e," more waiting"]})})}function wo({entry:e,connector:n}){const s=fn(e);return t.jsx(X,{disc:t.jsx(O,{icon:ye,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:g.askDiscInert,connector:n,children:t.jsxs("div",{className:g.resolvedCard,children:[t.jsx("span",{className:w(g.askBadge,g.askBadgeNeutral),children:"ASK"}),t.jsx("span",{className:g.resolvedMethodName,children:e.method}),t.jsxs("span",{className:w(g.outcome,s.tone==="success"&&g.outcomeSuccess),children:[s.glyph==="check"&&t.jsx(pe,{size:11,"aria-hidden":!0}),t.jsx("span",{className:w(s.truncate&&g.outcomeText),children:s.text})]})]})})}function Q(e,n){return e.answerable?e.submitting?n?{loading:!0,style:{opacity:1}}:{disabled:!0}:{}:{disabled:!0,style:{opacity:1}}}function Do({hint:e}){return e.kind==="warning"?t.jsx("p",{className:g.hint,children:e.text}):t.jsx("p",{className:g.hint,children:e.segments.map((n,s)=>t.jsxs(h.Fragment,{children:[s>0&&t.jsx("span",{className:g.hintSep,children:"·"}),t.jsx("span",{className:g.hintKey,children:n.key}),n.label]},n.label))})}function To({entry:e,connector:n,autoFocus:s=!1,sessionTitle:o}){const[a,i]=h.useState(()=>Date.now()),c=Bs(e,a),[l,m]=h.useState(!1),u=h.useRef(null),f=h.useRef(null),d=h.useRef(null);h.useEffect(()=>{if(!c.show)return;const b=setInterval(()=>i(Date.now()),jo);return()=>clearInterval(b)},[e.requestId,e.timeoutMs,c.show]),h.useEffect(()=>{var B,A;if(!s||!e.answerable)return;const b=document.activeElement;(b instanceof HTMLTextAreaElement||b instanceof HTMLInputElement)&&b.value.length>0&&!((B=u.current)!=null&&B.contains(b))||(A=f.current)==null||A.focus()},[s,e.answerable]);function x(b){var N,B;e.answerable&&(b.target.closest("button, input, textarea, a, select")||(N=u.current)!=null&&N.contains(document.activeElement)||(B=u.current)==null||B.focus())}function D(b){pn(e.requestId,b)}function q(b){var B;if(b.key!=="Escape"||!e.answerable)return;b.preventDefault(),b.stopPropagation();const N=Ls(l);if(m(N.armed),!N.resolve){(B=d.current)==null||B.focus();return}d.current?d.current.click():D({cancelled:!0})}function G(b){b.currentTarget.contains(b.relatedTarget)||m(!1)}return t.jsxs(X,{disc:t.jsx(O,{icon:ye,size:"xs",color:e.answerable?"var(--pi-color-statusWarning)":"var(--pi-color-foregroundMuted)"}),discClassName:e.answerable?g.askDisc:g.askDiscInert,connector:n,children:[t.jsxs("div",{ref:u,className:w(g.card,!e.answerable&&g.cardInert),role:"group","aria-label":`Question in ${o}`,tabIndex:-1,onKeyDown:q,onMouseDown:x,onBlur:G,children:[c.show&&t.jsx("div",{className:w(g.deadlineBar,c.approximate&&g.deadlineApproximate),style:{width:`${c.fraction*100}%`}}),t.jsxs("div",{className:g.header,children:[t.jsx("span",{className:w(g.askBadge,!e.answerable&&g.askBadgeNeutral),"aria-hidden":"true",children:"ASK"}),t.jsx("span",{className:g.methodName,children:e.method}),Tt(e)&&t.jsx(Bt,{})]}),t.jsx(Eo,{entry:e,onSubmit:D,primaryRef:f,dismissRef:d})]}),t.jsx(Do,{hint:As(e.method,l)}),!e.answerable&&t.jsxs("p",{className:g.reconnectingNote,children:[t.jsx("span",{className:g.reconnectingDot}),"Reconnecting — you can answer again in a moment"]})]})}function Eo({entry:e,onSubmit:n,primaryRef:s,dismissRef:o}){const{method:a,payload:i}=e;return a==="select"?t.jsx(Bo,{entry:e,payload:i,onSubmit:n,primaryRef:s,dismissRef:o}):a==="confirm"?t.jsx(Ro,{entry:e,payload:i,onSubmit:n,primaryRef:s,dismissRef:o}):a==="input"?t.jsx(Ao,{entry:e,payload:i,onSubmit:n,primaryRef:s}):a==="editor"?t.jsx(Lo,{entry:e,payload:i,onSubmit:n,primaryRef:s,dismissRef:o}):t.jsx(Oo,{entry:e,method:a,payload:i,onSubmit:n,primaryRef:s,dismissRef:o})}function je({text:e}){return t.jsx("div",{className:g.title,children:Re(e).join(`
|
|
6
|
+
`)})}function Bo({entry:e,payload:n,onSubmit:s,primaryRef:o,dismissRef:a}){const i=se(n,"title")??"",c=bo(n,"options"),[l,m]=h.useState(null);if(c.length===0){const f=Q(e,l===0);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:i}),t.jsx("p",{className:g.emptyOptionsNote,children:"The extension offered no options."}),t.jsx("div",{className:g.controls,children:t.jsx(z,{ref:d=>{o.current=d,a.current=d},size:"xs",variant:"secondary",onClick:()=>{m(0),s({cancelled:!0})},...f,children:"Cancel"})})]})}const u=qs(c);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:i}),t.jsx("div",{className:w(g.controls,u.mode==="stack"&&g.controlsStack,u.scrolls&&g.controlsScroll),children:c.map((f,d)=>t.jsx(z,{ref:d===0?x=>{o.current=x}:void 0,size:"xs",variant:"secondary",className:g.optionButton,onClick:()=>{m(d),s({value:f})},...Q(e,l===d),children:f},d))})]})}function Ro({entry:e,payload:n,onSubmit:s,primaryRef:o,dismissRef:a}){const i=se(n,"title")??"",c=se(n,"message"),l=zs(i,c),[m,u]=h.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:w(g.title,l.message&&g.titleEmphasised),children:l.title.join(`
|
|
7
|
+
`)}),l.message&&t.jsx("div",{className:g.message,children:l.message.join(`
|
|
8
|
+
`)}),t.jsxs("div",{className:g.controls,children:[t.jsx(z,{ref:f=>{o.current=f},size:"xs",variant:"default",onClick:()=>{u("yes"),s({confirmed:!0})},...Q(e,m==="yes"),children:"Yes"}),t.jsx(z,{ref:f=>{a.current=f},size:"xs",variant:"secondary",onClick:()=>{u("no"),s({confirmed:!1})},...Q(e,m==="no"),children:"No"})]})]})}function Ao({entry:e,payload:n,onSubmit:s,primaryRef:o}){const a=se(n,"title")??"",i=se(n,"placeholder"),[c,l]=h.useState(""),m=Q(e,e.submitting===!0),u=m.disabled===!0||m.loading===!0;return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:a}),t.jsxs("div",{className:g.controls,children:[t.jsx(hn,{ref:f=>{o.current=f},className:g.field,value:c,placeholder:i,disabled:u,onChange:f=>l(f.target.value),onKeyDown:f=>{f.key!=="Enter"||u||(f.preventDefault(),f.stopPropagation(),s({value:c}))}}),t.jsx(z,{size:"xs",variant:"default",onClick:()=>s({value:c}),...m,children:"Submit"})]})]})}function Lo({entry:e,payload:n,onSubmit:s,primaryRef:o,dismissRef:a}){const i=se(n,"title")??"",c=se(n,"prefill")??"",[l,m]=h.useState(c),[u,f]=h.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(je,{text:i}),t.jsx(_t,{ref:d=>{o.current=d},className:g.editorField,rows:3,value:l,disabled:!e.answerable||e.submitting,onChange:d=>{m(d.target.value);const x=d.target;x.style.height="auto",x.style.height=`${Math.min(x.scrollHeight,yo)}px`},onKeyDown:d=>{d.key!=="Enter"||d.shiftKey!==Et(e.method)||(d.preventDefault(),d.stopPropagation(),f("submit"),s({value:l}))}}),t.jsxs("div",{className:g.controls,children:[t.jsx(z,{size:"xs",variant:"default",onClick:()=>{f("submit"),s({value:l})},...Q(e,u==="submit"),children:"Submit"}),t.jsx(z,{ref:d=>{a.current=d},size:"xs",variant:"secondary",onClick:()=>{f("cancel"),s({cancelled:!0})},...Q(e,u==="cancel"),children:"Cancel"})]})]})}function Oo({entry:e,method:n,payload:s,onSubmit:o,primaryRef:a,dismissRef:i}){const c={method:n,...s},l=Q(e,e.submitting===!0);return t.jsxs(t.Fragment,{children:[t.jsx("p",{className:g.title,children:"This extension asked something this version of Pi-Studio can't display."}),t.jsx("pre",{className:g.rawPayload,children:JSON.stringify(c,null,2)}),t.jsx("div",{className:g.controls,children:t.jsx(z,{ref:m=>{a.current=m,i.current=m},size:"xs",variant:"secondary",onClick:()=>o({cancelled:!0}),...l,children:"Cancel"})})]})}function mt(e){if(e===void 0)return null;const n=typeof e=="number"?e:Date.parse(e);return Number.isNaN(n)?null:n}function Io(e,n,s,o){if(n.length===0)return e.map(s);const a=[];let i=0;const c=l=>{for(;i<e.length;){const m=e[i];if(m===void 0)break;if(l!==null){const u=mt(m.timestamp);if(u!==null&&u>l)break}a.push(s(m)),i++}};for(const l of n){if(l.kind==="more"){a.push(o(l));continue}c(mt(l.item.entry.createdAt)),a.push(o(l))}for(;i<e.length;i++){const l=e[i];l!==void 0&&a.push(s(l))}return a}function Po(e,n){return!e||n===void 0?!1:n.every(s=>s.configured===!1)}const qo=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ft(e){return String(e).padStart(2,"0")}function Fe(e){if(!e)return;const n=new Date(e);if(!Number.isNaN(n.getTime()))return`${qo[n.getMonth()]} ${n.getDate()}, ${ft(n.getHours())}:${ft(n.getMinutes())}`}const zo="_queuedBadge_1mki8_8",Fo="_finalChip_1mki8_20",Mo="_userDisc_1mki8_30",$o="_userAligned_1mki8_34",Ko="_userPendingRow_1mki8_40",Ho="_userBubble_1mki8_44",Wo="_userBubbleFailed_1mki8_58",Uo="_userImages_1mki8_63",Go="_userImage_1mki8_63",Vo="_imageDialog_1mki8_79",Xo="_imageDialogPreview_1mki8_83",Yo="_assistantDisc_1mki8_93",Jo="_assistantBody_1mki8_97",Qo="_reasoningDisc_1mki8_108",Zo="_reasoningBody_1mki8_112",ea="_toolDisc_1mki8_123",ta="_toolCardBody_1mki8_127",na="_toolCardBodyRunning_1mki8_134",sa="_toolCardBodyCompleted_1mki8_138",oa="_toolCardBodyCanceled_1mki8_142",aa="_toolCardBodyError_1mki8_146",ra="_toolHeader_1mki8_150",ia="_toolHeaderRunning_1mki8_176",ca="_toolChevron_1mki8_186",la="_toolChevronOpen_1mki8_192",da="_kindBadge_1mki8_196",ua="_toolPath_1mki8_208",ma="_toolTrailing_1mki8_217",fa="_toolStatusRunning_1mki8_225",pa="_toolStatusSuccess_1mki8_232",ha="_toolStatusError_1mki8_236",_a="_toolStatusUnknown_1mki8_240",ga="_toolDiffAdded_1mki8_244",xa="_toolDiffRemoved_1mki8_248",ka="_toolOpenButton_1mki8_252",va="_toolLiveTail_1mki8_270",ja="_toolBody_1mki8_277",ya="_toolCode_1mki8_283",ba="_toolOutputStrip_1mki8_294",Na="_toolDiffPreview_1mki8_304",Sa="_toolDiffPreviewLine_1mki8_312",Ca="_toolDiffPreviewAdd_1mki8_316",wa="_toolDiffPreviewDel_1mki8_321",Da="_toolDiffPreviewMore_1mki8_326",Ta="_errorDisc_1mki8_333",Ea="_errorCard_1mki8_337",Ba="_errorLead_1mki8_346",Ra="_systemRow_1mki8_353",Aa="_compactionRow_1mki8_362",La="_compactionRowFailed_1mki8_368",Oa="_compactionDivider_1mki8_372",Ia="_compactionRule_1mki8_378",Pa="_compactionLabel_1mki8_384",qa="_compactionText_1mki8_391",za="_compactionToggle_1mki8_397",Fa="_compactionSummary_1mki8_414",p={queuedBadge:zo,finalChip:Fo,userDisc:Mo,userAligned:$o,userPendingRow:Ko,userBubble:Ho,userBubbleFailed:Wo,userImages:Uo,userImage:Go,imageDialog:Vo,imageDialogPreview:Xo,assistantDisc:Yo,assistantBody:Jo,reasoningDisc:Qo,reasoningBody:Zo,toolDisc:ea,toolCardBody:ta,toolCardBodyRunning:na,toolCardBodyCompleted:sa,toolCardBodyCanceled:oa,toolCardBodyError:aa,toolHeader:ra,toolHeaderRunning:ia,toolChevron:ca,toolChevronOpen:la,kindBadge:da,toolPath:ua,toolTrailing:ma,toolStatusRunning:fa,toolStatusSuccess:pa,toolStatusError:ha,toolStatusUnknown:_a,toolDiffAdded:ga,toolDiffRemoved:xa,toolOpenButton:ka,toolLiveTail:va,toolBody:ja,toolCode:ya,toolOutputStrip:ba,toolDiffPreview:Na,toolDiffPreviewLine:Sa,toolDiffPreviewAdd:Ca,toolDiffPreviewDel:wa,toolDiffPreviewMore:Da,errorDisc:Ta,errorCard:Ea,errorLead:Ba,systemRow:Ra,compactionRow:Aa,compactionRowFailed:La,compactionDivider:Oa,compactionRule:Ia,compactionLabel:Pa,compactionText:qa,compactionToggle:za,compactionSummary:Fa};function Ma({row:e,assetBase:n=null,owningPaneId:s=null,workspaceCwd:o=null,connector:a}){const i=Fe(e.timestamp);return t.jsx(X,{disc:t.jsx(O,{icon:Mn,size:"xs",color:"var(--pi-color-accentForeground)"}),discClassName:p.assistantDisc,connector:a,meta:t.jsxs(t.Fragment,{children:["Assistant",i&&t.jsxs("span",{className:U.metaTime,children:[" · ",i]})]}),children:t.jsx("div",{className:p.assistantBody,children:e.streaming?t.jsx(Nt,{text:e.text,assetBase:n,owningPaneId:s,workspaceCwd:o}):t.jsx(Pe,{text:e.text,assetBase:n,owningPaneId:s,workspaceCwd:o})})})}function $a({row:e,owningPaneId:n=null,workspaceCwd:s=null,connector:o}){const a=Fe(e.timestamp);return t.jsx(X,{disc:t.jsx(O,{icon:yt,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:p.reasoningDisc,connector:o,meta:t.jsxs(t.Fragment,{children:["Reasoning",a&&t.jsxs("span",{className:U.metaTime,children:[" · ",a]})]}),metaTrailing:!e.streaming&&t.jsx("span",{className:p.finalChip,children:"final"}),children:t.jsx("div",{className:p.reasoningBody,children:e.streaming?t.jsx(Nt,{text:e.text,owningPaneId:n,workspaceCwd:s}):t.jsx(Pe,{text:e.text,owningPaneId:n,workspaceCwd:s})})})}const Ka=12;function Ha(e,n=Ka){const s=e.replace(/\r?\n$/,"").split(/\r?\n/);return s.length<=n?s.join(`
|
|
9
|
+
`):s.slice(-n).join(`
|
|
10
|
+
`)}function Wa(e){const n=ss(e).filter(o=>o.kind==="add"||o.kind==="del"),s=n[0];return s?{text:s.text,kind:s.kind,moreCount:n.length-1}:null}function Ua(e){return e.status==="completed"?t.jsx("span",{className:p.toolStatusSuccess,children:"✓ completed"}):e.status==="error"?t.jsx("span",{className:p.toolStatusError,children:e.statusText||"error"}):e.status==="canceled"?t.jsx("span",{className:p.toolStatusUnknown,children:e.statusText||"canceled"}):e.statusText&&e.statusText!=="running"?t.jsx("span",{className:p.toolStatusUnknown,children:e.statusText}):t.jsxs("span",{className:p.toolStatusRunning,children:[t.jsx(ne,{size:"xs",color:"var(--pi-color-accentBright)"}),"running"]})}function Ga({row:e,assetBase:n=null,owningPaneId:s=null,workspaceCwd:o=null,connector:a}){const[i,c]=h.useState(!1),l=ls(e.tool),m=cs(e.tool),u=m.length>0,f=us(e.tool.output),d=e.tool.kind==="edit"||e.tool.kind==="write"?wt(e.tool):null,x=e.tool.kind==="edit"?ds(e.tool.diff):null,D=e.tool.kind==="edit"&&e.tool.diff&&!i?Wa(e.tool.diff):null;function q(){u&&c(N=>!N)}function G(N){N.target===N.currentTarget&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),q())}function b(N){if(N.stopPropagation(),!d)return;const B=ts(n,s,o);_n(d,B.workspaceCwd,B.targetPaneId)}return t.jsx(X,{disc:t.jsx(O,{icon:rs(e.tool),size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:p.toolDisc,connector:a,children:t.jsxs("div",{className:w(p.toolCardBody,e.status==="running"&&p.toolCardBodyRunning,e.status==="completed"&&p.toolCardBodyCompleted,e.status==="error"&&p.toolCardBodyError,e.status==="canceled"&&p.toolCardBodyCanceled),children:[t.jsxs("div",{role:"button",tabIndex:u?0:-1,"aria-expanded":u?i:void 0,"aria-disabled":!u,className:w(p.toolHeader,e.status==="running"&&p.toolHeaderRunning),onClick:q,onKeyDown:G,children:[u&&t.jsx(he,{size:12,className:w(p.toolChevron,i&&p.toolChevronOpen)}),t.jsx("span",{className:p.kindBadge,style:{"--kindToken":`var(--pi-color-${l.token})`},children:l.label}),t.jsx("span",{className:p.toolPath,title:Be(e.tool),children:Be(e.tool)}),t.jsxs("span",{className:p.toolTrailing,children:[x&&(x.added>0||x.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:p.toolDiffAdded,children:["+",x.added]}),t.jsxs("span",{className:p.toolDiffRemoved,children:["−",x.removed]})]}),Ua(e),d&&t.jsxs("button",{type:"button",className:p.toolOpenButton,onClick:b,onKeyDown:N=>N.stopPropagation(),children:["Open",t.jsx($n,{size:10})]})]})]}),e.status==="running"&&e.tool.output&&t.jsx("pre",{className:w(p.toolCode,p.toolLiveTail),children:Ha(e.tool.output)}),f>0&&t.jsxs("div",{className:p.toolOutputStrip,children:["output · ",f," lines"]}),D&&t.jsxs("div",{className:p.toolDiffPreview,children:[t.jsx("div",{className:w(p.toolDiffPreviewLine,D.kind==="add"?p.toolDiffPreviewAdd:p.toolDiffPreviewDel),children:D.text}),D.moreCount>0&&t.jsxs("div",{className:p.toolDiffPreviewMore,children:["… ",D.moreCount," more lines"]})]}),i&&u&&t.jsx("div",{className:p.toolBody,children:m.map((N,B)=>N.kind==="diff"?t.jsx(ns,{patch:N.patch},B):t.jsx("pre",{className:p.toolCode,children:N.text},B))})]})})}const Va="Fork from here",Xa="Fork conversation from this message";function Ya({row:e,connector:n,onFork:s}){const[o,a]=h.useState(null),i=Fe(e.timestamp);return t.jsxs(X,{disc:t.jsx(O,{icon:Wn,size:"xs",color:"var(--pi-color-successForeground)"}),discClassName:p.userDisc,connector:n,className:w(p.userAligned,e.pending&&p.userPendingRow),meta:t.jsxs(t.Fragment,{children:["You",i&&t.jsxs("span",{className:U.metaTime,children:[" · ",i]}),e.failed&&" · failed to send"]}),metaTrailing:t.jsxs(t.Fragment,{children:[e.queued&&!e.failed&&t.jsxs("span",{className:p.queuedBadge,children:[t.jsx(Kn,{size:9}),"queued"]}),s&&t.jsx(xn,{className:U.forkButton,hoverBase:"var(--pi-color-surface3)",title:Va,"aria-label":Xa,onClick:s,children:t.jsx(Hn,{size:13,strokeWidth:1.8,"aria-hidden":"true"})})]}),children:[t.jsx("span",{className:w(p.userBubble,e.failed&&p.userBubbleFailed),children:e.text}),e.images&&e.images.length>0&&t.jsx("div",{className:p.userImages,children:e.images.map((c,l)=>{const m=`data:${c.mimeType??"image/png"};base64,${c.data??""}`;return t.jsx("img",{className:p.userImage,src:m,alt:"",role:"button",tabIndex:0,onClick:()=>a(m),onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&a(m)}},l)})}),t.jsx(gn,{open:o!==null,onOpenChange:c=>{c||a(null)},title:"Image",width:"auto",bare:!0,className:p.imageDialog,children:o&&t.jsx("img",{className:p.imageDialogPreview,src:o,alt:""})})]})}function Ja({row:e,connector:n}){return t.jsx(X,{disc:t.jsx(O,{icon:bt,size:"xs",color:"var(--pi-color-destructive)"}),discClassName:p.errorDisc,connector:n,children:t.jsxs("div",{className:p.errorCard,children:[t.jsx("span",{className:p.errorLead,children:"Error"})," · ",e.text]})})}function Qa({row:e}){return t.jsx("div",{className:p.systemRow,children:e.text})}function Za({row:e,assetBase:n=null,owningPaneId:s=null,workspaceCwd:o=null}){const[a,i]=h.useState(!1),c=gt(e),l=e.phase==="completed"&&!!e.summary,m=t.jsx("span",{className:p.compactionText,children:c});return t.jsxs("div",{className:w(p.compactionRow,e.phase==="failed"&&p.compactionRowFailed),children:[t.jsxs("div",{className:p.compactionDivider,children:[t.jsx("span",{className:p.compactionRule,"aria-hidden":"true"}),t.jsxs("span",{className:p.compactionLabel,children:[e.phase==="started"&&t.jsx(ne,{size:"xs","aria-label":"Compacting context"}),e.phase==="failed"&&t.jsx(O,{icon:bt,size:"xs",color:"var(--pi-color-statusDanger)"}),l?t.jsxs("button",{type:"button",className:p.compactionToggle,"aria-expanded":a,onClick:()=>i(u=>!u),children:[t.jsx(he,{size:12,className:w(p.toolChevron,a&&p.toolChevronOpen)}),m]}):m]}),t.jsx("span",{className:p.compactionRule,"aria-hidden":"true"})]}),l&&a&&t.jsx("div",{className:p.compactionSummary,children:t.jsx(Pe,{text:e.summary,assetBase:n,owningPaneId:s,workspaceCwd:o})})]})}const er=500;function tr(e,n){const s=h.useRef(!0),[o,a]=h.useState(!0),i=h.useRef(0),c=h.useCallback(u=>{const f=n.current,d=f?{scrollTop:f.scrollTop,scrollHeight:f.scrollHeight,clientHeight:f.clientHeight}:{scrollTop:0,scrollHeight:0,clientHeight:0},x=_s(s.current,u,d);x.pinned!==s.current&&(s.current=x.pinned,a(x.pinned)),x.stick&&e.options.count>0&&e.scrollToEnd({behavior:"auto"})},[n,e]);h.useEffect(()=>{const u=n.current;if(!u)return;const f=()=>{i.current=performance.now()},d=()=>{c({kind:"scroll",gesture:performance.now()-i.current<er})};u.addEventListener("scroll",d,{passive:!0}),u.addEventListener("wheel",f,{passive:!0}),u.addEventListener("touchmove",f,{passive:!0}),u.addEventListener("pointerdown",f,{passive:!0}),u.addEventListener("keydown",f,{passive:!0});const x=new ResizeObserver(()=>{u.clientHeight>0&&c({kind:"shown"})});return x.observe(u),()=>{x.disconnect(),u.removeEventListener("scroll",d),u.removeEventListener("wheel",f),u.removeEventListener("touchmove",f),u.removeEventListener("pointerdown",f),u.removeEventListener("keydown",f)}},[c,n]);const l=h.useCallback(()=>c({kind:"tail"}),[c]),m=h.useCallback(()=>c({kind:"pin"}),[c]);return{pinned:o,followTail:l,pinToBottom:m}}const nr="_root_1xg4h_6",sr="_viewport_1xg4h_13",or="_inner_1xg4h_20",ar="_rowWrap_1xg4h_25",rr="_empty_1xg4h_35",ir="_nudge_1xg4h_47",cr="_jumpToLatest_1xg4h_56",te={root:nr,viewport:sr,inner:or,rowWrap:ar,empty:rr,nudge:ir,jumpToLatest:cr},lr=160;function dr(e){return e.kind==="ask"?`ask:${Ds(e.item)}`:e.kind==="ask-more"?"ask-more":e.row.id}function ur(e,n,s,o,a,i){switch(e.kind){case"user":{const c=i.ordinalByRowId.get(e.id),l=c!==void 0?()=>i.onForkFromRow(c):null;return t.jsx(Ya,{row:e,connector:!n,onFork:l})}case"assistant":return t.jsx(Ma,{row:e,assetBase:s,owningPaneId:o,workspaceCwd:a,connector:!n});case"reasoning":return t.jsx($a,{row:e,owningPaneId:o,workspaceCwd:a,connector:!n});case"tool":return t.jsx(Ga,{row:e,assetBase:s,owningPaneId:o,workspaceCwd:a,connector:!n});case"error":return t.jsx(Ja,{row:e,connector:!n});case"system":return t.jsx(Qa,{row:e});case"compaction":return t.jsx(Za,{row:e,assetBase:s,owningPaneId:o,workspaceCwd:a})}}function mr(e,n,s,o,a,i,c,l,m){return e.kind==="ask"?t.jsx(No,{item:e.item,collapsed:e.collapsed,connector:!n,autoFocus:e.item.kind==="pending"&&e.item.entry.requestId===c,sessionTitle:l}):e.kind==="ask-more"?t.jsx(Co,{count:e.count,connector:!n,onExpand:i}):ur(e.row,n,s,o,a,m)}function fr({session:e,owningPaneId:n,workspaceCwd:s}){var T,E;const o=e.timeline.rows,a=e.status==="running",i=xt(),c=kt(e.cwd,i),l=h.useRef(null),m=kn(e),u=vn(e.agentId??""),f=jn(e.agentId??""),[d,x]=h.useState(!1),D=M(j=>j.activeSessionId===e.id),q=vt(j=>{var R;return((R=j.layouts[s])==null?void 0:R.focusedPaneId)===n}),G=D&&q?((T=u[0])==null?void 0:T.requestId)??null:null,b=h.useMemo(()=>{const j=Es(ws(u,f),d);return Io(o,j,R=>({kind:"row",row:R}),R=>R.kind==="more"?{kind:"ask-more",count:R.count}:{kind:"ask",item:R.item,collapsed:R.collapsed})},[o,u,f,d]),N=J(j=>j.status==="open"),B=J(j=>j.serverInfo),A=!!((E=B==null?void 0:B.features)!=null&&E.providerAuth),$=yn(j=>j.openSettings),{data:K}=es(o.length===0&&N&&A),W=Po(A,K),F=ln({count:b.length,getScrollElement:()=>l.current,estimateSize:()=>lr,overscan:8,getItemKey:j=>{const R=b[j];return R?dr(R):j},measureElement:(j,R,V)=>{if(j.offsetParent!==null)return dn(j,R,V);const ce=V.indexFromElement(j),_e=V.options.getItemKey(ce);return V.itemSizeCache.get(_e)??V.options.estimateSize(ce)},anchorTo:"end",scrollEndThreshold:Dt}),{pinned:ie,followTail:Z,pinToBottom:ee}=tr(F,l),I=gs(o);return h.useEffect(()=>{Z()},[b.length,Z]),h.useEffect(()=>{I!==null&&ee()},[I,ee]),t.jsxs("div",{className:te.root,children:[t.jsx("div",{className:te.viewport,ref:l,children:b.length===0?!a&&(W?t.jsxs(bn,{className:te.nudge,children:[t.jsx("span",{children:"No messages yet — connect a model provider to get started."}),t.jsx(z,{size:"xs",variant:"secondary",onClick:()=>$(),children:"Connect a model provider"})]}):t.jsx("div",{className:te.empty,children:"No messages yet — say something to start."})):t.jsx("div",{className:te.inner,style:{height:F.getTotalSize()},children:F.getVirtualItems().map(j=>{const R=b[j.index];return R?t.jsx("div",{ref:F.measureElement,"data-index":j.index,className:te.rowWrap,style:{transform:`translateY(${j.start}px)`},children:mr(R,j.index===b.length-1,c,n,s,()=>x(!0),G,e.title,m)},j.key):null})})}),!ie&&b.length>0&&t.jsx("button",{type:"button",className:te.jumpToLatest,onClick:ee,title:"Jump to latest","aria-label":"Jump to latest",children:t.jsx(Un,{size:16,"aria-hidden":"true"})})]})}function pr(e,n=!0){const s=J(o=>o.client);return Le({queryKey:Oe.agentCommands(e),queryFn:async()=>{if(!s)throw new Error("not connected");const o=await ve(s,e),{commands:a}=await s.agent(o).listCommands();return a},enabled:!!s&&!!e&&n})}function Rt(e,n,s=!0){const o=J(a=>a.client);return Le({queryKey:Oe.providerModels(e,n),queryFn:async()=>{if(!o)throw new Error("not connected");return(await o.providers.listModels(e,n?{agentId:n}:void 0)).models},enabled:!!o&&!!e&&s})}function hr(e,n,s=!0){const o=J(a=>a.client);return Le({queryKey:Oe.thinkingLevels(e??"",n),queryFn:async()=>{if(!o||!e)throw new Error("not connected");return(await o.agent(e).listThinkingLevels()).levels},enabled:!!o&&!!e&&s,retry:!1})}const _r="_strip_nzfk5_4",gr="_thumb_nzfk5_11",xr="_remove_nzfk5_28",Te={strip:_r,thumb:gr,remove:xr};function kr({images:e,onRemove:n}){return e.length===0?null:t.jsx("div",{className:Te.strip,children:e.map((s,o)=>t.jsxs("div",{className:Te.thumb,children:[t.jsx("img",{src:s.thumbUrl,alt:""}),t.jsx("button",{type:"button",className:Te.remove,title:"Remove",onClick:()=>n(o),children:"×"})]},o))})}function vr(e){const{promise:n,resolve:s,reject:o}=Promise.withResolvers(),a=new FileReader;return a.onload=()=>{const i=a.result;if(typeof i!="string"){o(new Error("Unexpected FileReader result"));return}const c=i.indexOf(","),l=c>=0?i.slice(c+1):i;s({mimeType:e.type,data:l,thumbUrl:i})},a.onerror=()=>o(a.error??new Error("Failed to read file")),a.readAsDataURL(e),n}function jr(e,n,s){return e?s:n}const Ae=[{name:"compact",description:"Manually compact the session context",source:"builtin"}];function At(e){var o;const n=/^\/([^\s]+)(?:\s+([\s\S]*))?$/.exec(e.trim());if((n==null?void 0:n[1])!=="compact")return null;const s=(o=n[2])==null?void 0:o.trim();return{name:"compact",args:s||void 0}}function Me(e){if(!e.startsWith("/"))return null;const n=/^\/(\S*)/.exec(e),s=(n==null?void 0:n[1])??"",o=1+s.length,a=/\S/.test(e.slice(o));return{name:s,end:o,hasArgs:a}}function yr(e){return/^\/\S*$/.test(e)}function br(e,n){let s=0;const o=Ae.map(i=>({value:i.name,label:`/${i.name}`,description:i.description,kind:i.source,disabled:n.builtinsDisabled===!0})),a=new Set(Ae.map(i=>i.name));for(const i of e)if(!a.has(i.name)){if(n.running&&i.source==="extension"){s+=1;continue}o.push({value:i.name,label:`/${i.name}`,description:i.description,kind:i.source})}return{options:o,hiddenExtensionCount:s}}function Nr(e,n,s){return s<=0?0:(e+n+s)%s}function Sr(e,n){const s=Me(e);return s?s.hasArgs?`/${n}${e.slice(s.end)}`:`/${n} `:`/${n} ${e}`}function Cr(e,n){const s=Me(e);return!s||!n.includes(s.name)?null:{end:s.end}}function Lt({running:e,compacting:n,hasAgent:s}){return s&&!e&&!n}function wr(e,n){return!e.ok&&e.reason!=="canceled"&&n===""}function Dr(e){const n=e.text.trim().length>0||e.hasImages;return!e.hasClient||!n||e.busy||e.compacting?!1:At(e.text)!==null?Lt(e):!0}function Tr(e,n){const s=kt(e||"~",n).replace(/\/+$/,"");return s===""||s.startsWith("~")?null:s}function Er(e,n){if(!n||n.startsWith("~"))return null;const s=e.endsWith("/"),o=s?e.slice(0,-1):e;if(!o.startsWith(`${n}/`))return null;const a=o.slice(n.length+1);return a===""?null:s?`${a}/`:a}function Br(e){if(!/[\s`]/.test(e))return e;let n=0;for(const a of e.match(/`+/g)??[])n=Math.max(n,a.length);const s="`".repeat(n+1),o=e.startsWith("`")||e.endsWith("`")?" ":"";return`${s}${o}${e}${o}${s}`}function Rr(e,n,s,o){const a=x=>Math.min(Math.max(Number.isFinite(x)?x:0,0),e.length),i=a(n),c=a(s),l=Math.min(i,c),m=Math.max(i,c),u=l>0&&!/\s/.test(e[l-1])?" ":"",f=m>=e.length||!/\s/.test(e[m])?" ":"",d=`${u}${o}${f}`;return{start:l,end:m,insert:d,caret:l+d.length}}function Ar(e){if(e.refValue===null||e.compacting)return{kind:"ignore"};const n=Er(e.refValue,e.root);if(n===null)return{kind:"refuse"};const{text:s}=e,o=e.neverFocused?s.length:e.selStart,a=e.neverFocused?s.length:e.selEnd;return{kind:"insert",plan:Rr(s,o,a,Br(n))}}const Lr="_picker_11hqs_4",Or="_search_11hqs_10",Ir="_searchWrap_11hqs_28",Pr="_searchSpinner_11hqs_37",qr="_list_11hqs_45",zr="_item_11hqs_50",Fr="_itemActive_11hqs_67",Mr="_checkSlot_11hqs_71",$r="_label_11hqs_80",Kr="_modelId_11hqs_86",Hr="_state_11hqs_93",Wr="_stateError_11hqs_102",Ur="_commandContent_11hqs_112",Gr="_commandList_11hqs_115",Vr="_commandItem_11hqs_120",Xr="_commandItemHeader_11hqs_152",Yr="_commandKindBadge_11hqs_166",Jr="_commandKindExtension_11hqs_185",Qr="_commandKindPrompt_11hqs_190",Zr="_commandKindSkill_11hqs_195",ei="_commandDescription_11hqs_200",ti="_commandItemDisabled_11hqs_214",v={picker:Lr,search:Or,searchWrap:Ir,searchSpinner:Pr,list:qr,item:zr,itemActive:Fr,checkSlot:Mr,label:$r,modelId:Kr,state:Hr,stateError:Wr,commandContent:Ur,commandList:Gr,commandItem:Vr,commandItemHeader:Xr,commandKindBadge:Yr,commandKindExtension:Jr,commandKindPrompt:Qr,commandKindSkill:Zr,commandDescription:ei,commandItemDisabled:ti},ni={onOpenAutoFocus:e=>e.preventDefault()};function si(e){switch(e){case"extension":return v.commandKindExtension;case"prompt":return v.commandKindPrompt;case"skill":return v.commandKindSkill;default:return}}function oi({open:e,onOpenChange:n,options:s,highlightedIndex:o,onSelect:a,isLoading:i,isError:c,errorMessage:l,hiddenExtensionCount:m,renderTrigger:u}){const f=h.useRef(null);return h.useEffect(()=>{var d,x;e&&((x=(d=f.current)==null?void 0:d.querySelector('[aria-selected="true"]'))==null||x.scrollIntoView({block:"nearest"}))},[e,o]),t.jsxs(qe,{open:e,onOpenChange:n,modal:!1,children:[t.jsx(ze,{asChild:!0,children:u()}),t.jsxs(Ie,{className:w(v.picker,v.commandContent),side:"top",sideOffset:4,...ni,onCloseAutoFocus:d=>d.preventDefault(),children:[i&&t.jsx("div",{className:v.state,children:t.jsx(ne,{size:"sm"})}),!i&&c&&t.jsx("div",{className:v.stateError,children:l??"Failed to load commands"}),!i&&!c&&s.length===0&&t.jsx("div",{className:v.state,children:"No commands found"}),!i&&!c&&s.length>0&&t.jsx("div",{ref:f,className:w(v.list,v.commandList),children:s.map((d,x)=>t.jsxs("div",{role:"option","aria-selected":x===o,"aria-disabled":d.disabled||void 0,className:w(v.item,v.commandItem,x===o&&v.itemActive,d.disabled&&v.commandItemDisabled),title:d.description,onMouseDown:D=>{D.preventDefault(),d.disabled||a(d.value)},children:[t.jsxs("div",{className:v.commandItemHeader,children:[t.jsx("span",{className:v.label,children:d.label}),d.kind&&t.jsx("span",{className:w(v.commandKindBadge,si(d.kind)),children:d.kind})]}),d.description&&t.jsx("div",{className:v.commandDescription,children:d.description})]},d.value))}),!i&&!c&&m>0&&t.jsxs("div",{className:v.state,children:[m," extension command(s) unavailable while the agent is running"]})]})]})}function ai(e,n,s){if(!n)return e;const o=e.filter(i=>i.id===n),a=(s===void 0?void 0:o.find(i=>i.provider===s))??o[0];return a?[a,...e.filter(i=>i!==a)]:e}function ri(e){const n=new Set;return e.filter(s=>{const o=`${s.provider??""}/${s.id}`;return n.has(o)?!1:(n.add(o),!0)})}function ii({currentModel:e,currentModelProvider:n,provider:s,agentId:o,onSelect:a,renderTrigger:i}){const[c,l]=h.useState(!1),[m,u]=h.useState(""),f=h.useRef(null),d=h.useRef(null),{data:x,isLoading:D,isFetching:q,isError:G,error:b,refetch:N}=Rt(s,o,c||e!==void 0),B=x??[];h.useEffect(()=>{c&&u("")},[c]),h.useEffect(()=>{c&&N({cancelRefetch:!1})},[c,N]);const $=ri(ai(B,e,n)).map(T=>({value:T.id,label:T.label??T.id,description:T.id,group:T.provider})),K=$[0],W=(K==null?void 0:K.value)===e?K:void 0,F=os(Ct($,m),{priorityGroup:n,ungroupedLabel:"Other"}),ie=F.length>1,Z=b instanceof Error?b.message:"Failed to load models";function ee(T){var E;if(T.stopPropagation(),T.key==="Escape"&&l(!1),T.key==="ArrowDown"){const j=(E=d.current)==null?void 0:E.querySelector('[role="menuitem"]');j&&(T.preventDefault(),j.focus())}}const I={onOpenAutoFocus:T=>{var E;T.preventDefault(),(E=f.current)==null||E.focus()}};return t.jsxs(qe,{open:c,onOpenChange:l,modal:!1,children:[t.jsx(ze,{asChild:!0,children:i(e,W==null?void 0:W.label)}),t.jsxs(Ie,{minWidth:240,align:"end",sideOffset:6,className:v.picker,...I,children:[t.jsxs("div",{className:v.searchWrap,children:[t.jsx("input",{ref:f,className:v.search,placeholder:"Search models…",value:m,onChange:T=>u(T.target.value),onKeyDown:ee}),q&&!D&&t.jsx(ne,{size:"xs",color:"var(--pi-color-foregroundMuted)",className:v.searchSpinner,"aria-label":"Refreshing models"})]}),D&&t.jsx("div",{className:v.state,children:t.jsx(ne,{size:"sm"})}),!D&&G&&x===void 0&&t.jsx("div",{className:v.stateError,children:Z}),!D&&x!==void 0&&F.length===0&&t.jsx("div",{className:v.state,children:"No models found"}),!D&&x!==void 0&&F.length>0&&t.jsx("div",{ref:d,className:v.list,children:F.map(T=>t.jsx(Nn,{label:ie?T.label:void 0,children:T.options.map(E=>t.jsxs(St,{className:v.item,onSelect:()=>a(E.value,E.group),children:[t.jsx("span",{className:v.checkSlot,"aria-hidden":!0,children:E===W&&t.jsx(pe,{size:14})}),t.jsx("span",{className:v.label,children:E.label}),t.jsxs("span",{className:v.modelId,children:["(",E.value,")"]})]},`${E.group??""}/${E.value}`))},T.key))})]})]})}function ci({currentLevel:e,levels:n,open:s,onOpenChange:o,onSelect:a,renderTrigger:i}){return t.jsxs(qe,{open:s,onOpenChange:o,modal:!1,children:[t.jsx(ze,{asChild:!0,children:i(e)}),t.jsx(Ie,{minWidth:140,align:"end",side:"top",sideOffset:6,className:v.picker,children:n.length===0?t.jsx("div",{className:v.state,children:"Loading levels…"}):t.jsx("div",{className:v.list,children:n.map(c=>t.jsxs(St,{className:v.item,onSelect:()=>a(c),children:[t.jsx("span",{className:v.checkSlot,"aria-hidden":!0,children:c===e&&t.jsx(pe,{size:14})}),t.jsx("span",{className:v.label,children:c})]},c))})})]})}const pt=["off","minimal","low","medium","high","xhigh","max"];function li(e,n){if(!e)return pt;const s=n==null?void 0:n.find(o=>o.id===e);return s!=null&&s.thinkingLevels&&s.thinkingLevels.length>0?s.thinkingLevels:pt}const di="_composer_excz7_4",ui="_card_excz7_13",mi="_flash_excz7_27",fi="_dropTarget_excz7_33",pi="_note_excz7_48",hi="_inlineError_excz7_55",_i="_compacting_excz7_63",gi="_textarea_excz7_31",xi="_compactStatus_excz7_73",ki="_compactStatusText_excz7_82",vi="_compactCancel_excz7_88",ji="_textareaWrap_excz7_129",yi="_highlightLayer_excz7_117",bi="_commandMark_excz7_152",Ni="_hiddenFileInput_excz7_177",Si="_toolbar_excz7_183",Ci="_toolbarRight_excz7_190",wi="_toolBtn_excz7_198",Di="_roundBtn_excz7_204",Ti="_modelBtn_excz7_209",Ei="_modelLabel_excz7_239",Bi="_modelId_excz7_237",Ri="_modelChevron_excz7_257",S={composer:di,card:ui,flash:mi,dropTarget:fi,note:pi,inlineError:hi,compacting:_i,textarea:gi,compactStatus:xi,compactStatusText:ki,compactCancel:vi,textareaWrap:ji,highlightLayer:yi,commandMark:bi,hiddenFileInput:Ni,toolbar:Si,toolbarRight:Ci,toolBtn:wi,roundBtn:Di,modelBtn:Ti,modelLabel:Ei,modelId:Bi,modelChevron:Ri},Ai=160;function re(e){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,Ai)}px`}function Li(e){return typeof e=="object"&&e!==null&&"ok"in e&&e.ok===!1}function Oi(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function Ii({sessionId:e,workspaceCwd:n,owningPaneId:s}){var ot;const o=J(r=>r.client),a=M(r=>r.sessions[e]),i=M(r=>r.addOptimisticUserMessage),c=M(r=>r.markUserMessageFailed),l=M(r=>r.setCwd),m=M(r=>r.setModel),u=M(r=>r.setThinkingLevel),f=J(r=>r.serverInfo),[d,x]=h.useState(!1),D=!!((ot=f==null?void 0:f.features)!=null&&ot.thinkingLevels),{data:q}=hr(a==null?void 0:a.agentId,a==null?void 0:a.model,d&&!!(a!=null&&a.agentId)&&((a==null?void 0:a.userMessageCount)??0)>0),{data:G}=Rt("pi",a==null?void 0:a.agentId),b=li(a==null?void 0:a.model,G),N=q!==void 0&&q.length>0?q:b,B=D&&!(q!==void 0&&q.length===0),A=fe(r=>r.drafts[e]??""),$=fe(r=>r.setDraft),[K,W]=h.useState([]),[F,ie]=h.useState(!1),[Z,ee]=h.useState(!1),I=h.useRef(null),T=h.useRef(null),[E,j]=h.useState(!1),[R,V]=h.useState(0),ce=Sn(Tn.chat(e)),_e=fe(r=>r.pendingFeedback[e]),[$e,Ke]=h.useState(null),[be,oe]=h.useState(null),[zt,He]=h.useState(!1),le=h.useRef(null),de=h.useRef(null),[Ne,ge]=h.useState(!1),We=h.useRef(!1),Ft=xt();h.useEffect(()=>{if(!ce||_e===void 0)return;const r=fe.getState().consumeFeedback(e);if(!r)return;Ke(r.copy==="filled"?"Your message was filled in":"Your draft was replaced"),le.current!==null&&window.clearTimeout(le.current),le.current=window.setTimeout(()=>Ke(null),4e3);const _=I.current;_&&_.setSelectionRange(_.value.length,_.value.length),r.flash&&(He(!0),de.current!==null&&window.clearTimeout(de.current),de.current=window.setTimeout(()=>He(!1),Oi()?1e3:400))},[ce,_e,e]),h.useEffect(()=>()=>{le.current!==null&&window.clearTimeout(le.current),de.current!==null&&window.clearTimeout(de.current)},[]),h.useEffect(()=>{if(!Ne)return;const r=()=>ge(!1);return document.addEventListener("dragend",r),document.addEventListener("drop",r),()=>{document.removeEventListener("dragend",r),document.removeEventListener("drop",r)}},[Ne]);const H=(a==null?void 0:a.status)==="running",L=Cn(e),Se=ke(r=>r.lastErrorBySession[e]),Mt=ke(r=>r.compactSession),Ce=ke(r=>r.cancelCompaction),$t=ke(r=>r.clearError),Ue=!!(a!=null&&a.agentId),Kt=jr(H,F,Z),Ge=Dr({hasClient:!!o,busy:Kt,compacting:L,running:H,hasAgent:Ue,text:A,hasImages:K.length>0}),{data:Ve=[],isLoading:Ht,isError:Wt,error:Xe}=pr(e,E),{options:Ye,hiddenExtensionCount:Ut}=br(Ve,{running:H,builtinsDisabled:!Lt({running:H,compacting:L,hasAgent:Ue})}),Je=Me(A),xe=Je?Ct(Ye,Je.name):Ye,Gt=[...Ae,...Ve].map(r=>r.name),ae=Cr(A,Gt),Qe=L?wn((a==null?void 0:a.timeline.rows)??[]):void 0,Vt=Qe?gt(Qe):"Compacting context…";async function Ze(r){if(r.type.startsWith("image/"))try{const _=await vr(r);W(k=>[...k,_])}catch{}}function Xt(r){for(const _ of r.target.files??[])Ze(_);r.target.value=""}function Yt(r){if(!L){for(const _ of r.clipboardData.items)if(_.type.startsWith("image/")){r.preventDefault();const k=_.getAsFile();k&&Ze(k)}}}function Jt(r){W(_=>_.filter((k,C)=>C!==r))}function et(r,_){$(e,_),re(r),Se&&$t(e),be&&oe(null);const k=yr(_);k!==E&&j(k),k&&V(0)}function Qt(r){et(r.target,r.target.value)}function Zt(r){return!L&&rt(r.dataTransfer.types)}function tt(r){Zt(r)&&(r.preventDefault(),r.dataTransfer.dropEffect="copy",ge(!0))}function en(r){r.currentTarget.contains(r.relatedTarget)||ge(!1)}function tn(r,_){r.focus(),r.setSelectionRange(_.start,_.end);const k=r.value;let C=!1;try{C=document.execCommand("insertText",!1,_.insert)&&r.value!==k}catch{C=!1}C||(r.setRangeText(_.insert,_.start,_.end,"end"),et(r,r.value)),r.setSelectionRange(_.caret,_.caret),s!==null&&vt.getState().focusPane(n,s)}function nn(r){const{types:_}=r.dataTransfer;if(!rt(_)||(ge(!1),L))return;r.preventDefault();const k=I.current;if(!k)return;const C=Ar({refValue:En(_,P=>r.dataTransfer.getData(P)),compacting:L,root:Tr((a==null?void 0:a.cwd)??"",Ft),text:k.value,selStart:k.selectionStart,selEnd:k.selectionEnd,neverFocused:!We.current});C.kind==="refuse"?oe("Not inside this workspace"):C.kind==="insert"&&tn(k,C.plan)}function sn(r){if(L){r.key==="Escape"&&(r.preventDefault(),Ce(e));return}if(!E&&ae&&r.key==="Backspace"){const _=r.currentTarget,k=_.selectionStart;if(k!==null&&k===_.selectionEnd){const C=ae.end+(A[ae.end]===" "?1:0);if(k>0&&k<=C){r.preventDefault();const P=A.slice(C);$(e,P),_.setSelectionRange(0,0),re(_);return}}}if(E&&xe.length>0){if(r.key==="ArrowDown"||r.key==="ArrowUp"){r.preventDefault(),V(_=>Nr(_,r.key==="ArrowDown"?1:-1,xe.length));return}if(r.key==="Enter"&&!r.shiftKey||r.key==="Tab"){r.preventDefault();const _=xe[R];_&&!_.disabled&&nt(_.value);return}}if(E&&r.key==="Escape"){r.preventDefault(),j(!1);return}r.key==="Enter"&&!r.shiftKey&&(r.preventDefault(),st(H?"steer":"send"))}function nt(r){const _=Sr(A,r);$(e,_),j(!1),V(0);const k=I.current;k&&(k.focus(),k.setSelectionRange(_.length,_.length),re(k))}async function st(r){if(!o||!a||(r==="steer"?Z:F)||r==="steer"&&!a.agentId)return;const _=A.trim();if(!_&&K.length===0||!Ge)return;const k=At(_);if(k){j(!1),$(e,""),I.current&&re(I.current);const Y=await Mt(e,k.args);wr(Y,fe.getState().drafts[e]??"")&&($(e,A),I.current&&re(I.current));return}$(e,""),j(!1),I.current&&re(I.current);const C=K;W([]);const P=_||"Describe this image",ue=C.length>0?C.map(Y=>({mimeType:Y.mimeType,data:Y.data})):void 0,me=Bn();i(e,me,P,ue,r==="steer");const at=r==="steer"?ee:ie;at(!0);try{if(r==="steer"){const Y=await o.agent(a.agentId).steer(P,{clientMessageId:me,images:ue});Li(Y)&&c(e,me)}else{a.agentId||l(e,a.cwd||"~");const Y=await ve(o,e);await o.agent(Y).send(P,{clientMessageId:me,images:ue})}}catch{c(e,me)}finally{at(!1)}}function on(){a!=null&&a.agentId&&(L?Ce(e):o==null||o.agent(a.agentId).interrupt())}function an(r,_){const k={model:a==null?void 0:a.model,provider:a==null?void 0:a.modelProvider};m(e,r,_),oe(null),!(!o||!_)&&(async()=>{const C=await ve(o,e);await o.agent(C).setModel(_,r)})().catch(C=>{const P=M.getState().sessions[e];(P==null?void 0:P.model)===r&&P.modelProvider===_&&m(e,k.model,k.provider);const ue=C instanceof Error?C.message:String(C);oe(`Couldn't switch model: ${ue}`)})}function rn(r){const _=a==null?void 0:a.thinkingLevel;u(e,r),oe(null),o&&(async()=>{const k=await ve(o,e),C=await o.agent(k).setThinking(r);u(e,C.level)})().catch(k=>{var P;((P=M.getState().sessions[e])==null?void 0:P.thinkingLevel)===r&&u(e,_);const C=k instanceof Error?k.message:String(k);oe(`Couldn't set thinking level: ${C}`)})}return t.jsxs("div",{className:S.composer,children:[t.jsxs("div",{className:w(S.card,zt&&S.flash,L&&S.compacting,Ne&&!L&&S.dropTarget),...Dn(),onDragEnter:tt,onDragOver:tt,onDragLeave:en,onDrop:nn,children:[t.jsxs("div",{className:S.textareaWrap,children:[t.jsx("div",{className:S.highlightLayer,"aria-hidden":!0,children:ae?t.jsxs(t.Fragment,{children:[t.jsx("mark",{className:S.commandMark,children:A.slice(0,ae.end)}),A.slice(ae.end)]}):A}),t.jsx(_t,{ref:I,className:S.textarea,rows:1,value:A,readOnly:L,placeholder:L?"Compacting context… esc cancel":H?"Steer the running turn… ⏎ steer · ⇧⏎ newline":"Ask anything… ⏎ send · ⇧⏎ newline · / commands",onChange:Qt,onFocus:()=>{We.current=!0},onKeyDown:sn,onPaste:Yt,"data-session-id":e})]}),t.jsx(kr,{images:K,onRemove:Jt}),t.jsxs("div",{className:S.toolbar,children:[t.jsx(z,{className:S.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Attach image","aria-label":"Attach image",disabled:L,onClick:()=>{var r;return(r=T.current)==null?void 0:r.click()},children:t.jsx(Gn,{size:16})}),t.jsx(oi,{open:E&&!L,onOpenChange:j,options:xe,highlightedIndex:R,onSelect:nt,isLoading:Ht,isError:Wt,errorMessage:Xe instanceof Error?Xe.message:void 0,hiddenExtensionCount:Ut,renderTrigger:()=>t.jsx(z,{className:S.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,disabled:L,title:"Slash commands","aria-label":"Slash commands",children:t.jsx(Vn,{size:16})})}),t.jsxs("div",{className:S.toolbarRight,children:[t.jsx(ii,{currentModel:a==null?void 0:a.model,currentModelProvider:a==null?void 0:a.modelProvider,provider:"pi",agentId:a==null?void 0:a.agentId,onSelect:an,renderTrigger:(r,_)=>{const k=_!==void 0&&_!==r;return t.jsxs("button",{type:"button",className:S.modelBtn,disabled:!o,title:r?`Model: ${_??r}${k?` (${r})`:""}`:"Select model",children:[t.jsx(Xn,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:S.modelLabel,children:_??r??"Model"}),k&&t.jsxs("span",{className:S.modelId,children:["(",r,")"]}),t.jsx(lt,{size:13,className:S.modelChevron,"aria-hidden":"true"})]})}}),B&&t.jsx(ci,{currentLevel:a==null?void 0:a.thinkingLevel,levels:N,open:d,onOpenChange:x,onSelect:rn,renderTrigger:r=>t.jsxs("button",{type:"button",className:S.modelBtn,disabled:!o,title:r?`Thinking: ${r}`:"Thinking level",children:[t.jsx(yt,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:S.modelLabel,children:r??"Thinking"}),t.jsx(lt,{size:13,className:S.modelChevron,"aria-hidden":"true"})]})}),(H||L)&&t.jsx(z,{className:S.roundBtn,variant:"destructive",size:"sm",iconOnly:!0,title:L?"Cancel the compaction":"Stop the running turn","aria-label":"Stop",onClick:on,children:t.jsx(Yn,{size:14})}),t.jsx(z,{className:S.roundBtn,size:"sm",iconOnly:!0,disabled:!Ge,title:H?"Steer the running turn":"Send","aria-label":H?"Steer":"Send",onClick:()=>void st(H?"steer":"send"),children:H?t.jsx(Jn,{size:16}):t.jsx(Qn,{size:18})})]})]})]}),t.jsx("div",{role:"status",children:L&&t.jsxs("div",{className:S.compactStatus,children:[t.jsx(ne,{size:"xs","aria-label":"Compacting"}),t.jsx("span",{className:S.compactStatusText,children:Vt}),t.jsx("button",{type:"button",className:S.compactCancel,title:"Cancel the compaction (Esc)",onClick:()=>void Ce(e),children:"Cancel"})]})}),$e!==null&&t.jsx("div",{className:S.note,children:$e}),Se&&t.jsx("div",{role:"alert",className:S.inlineError,children:Se}),be&&t.jsx("div",{role:"alert",className:S.inlineError,children:be}),t.jsx("input",{ref:T,className:S.hiddenFileInput,type:"file",accept:"image/*",multiple:!0,onChange:Xt})]})}const Pi=5;function Ot(e){return e.toSorted((n,s)=>n.id-s.id)}function qi(e){return{done:e.filter(n=>n.status==="completed").length,total:e.length}}function It(e){return Ot(e).find(n=>n.status==="in_progress")}function Pt(e){return e.status==="in_progress"&&e.activeForm?e.activeForm:e.subject}function zi(e){const n=It(e);return n?Pt(n):void 0}function Fi(e){var n;if(!(e.status==="completed"||!((n=e.blockedBy)!=null&&n.length)))return`blocked by ${e.blockedBy.map(s=>`#${s}`).join(", ")}`}function Mi(e){return!!e.description||!!e.owner}function $i(e,n=Pi){const s=Ot(e),o=s.filter(l=>l.status==="completed"),a=o.length>n,i=[];let c=!1;return s.forEach((l,m)=>{if(a&&l.status==="completed"){c||(c=!0,i.push({kind:"completed-group",count:o.length,tasks:o,key:`group-${l.id}-${m}`}));return}i.push({kind:"task",task:l,key:`${l.id}-${m}`})}),i}const Ki="_panel_3trtd_5",Hi="_header_3trtd_18",Wi="_rowButton_3trtd_35",Ui="_chevron_3trtd_40",Gi="_chevronOpen_3trtd_46",Vi="_label_3trtd_50",Xi="_count_3trtd_55",Yi="_summary_3trtd_60",Ji="_body_3trtd_69",Qi="_row_3trtd_35",Zi="_rowStatic_3trtd_85",ec="_icon_3trtd_102",tc="_iconInProgress_3trtd_111",nc="_iconCompleted_3trtd_115",sc="_iconPending_3trtd_119",oc="_text_3trtd_123",ac="_textCompleted_3trtd_135",rc="_id_3trtd_140",ic="_blocked_3trtd_146",cc="_details_3trtd_157",lc="_footer_3trtd_166",dc="_nested_3trtd_180",y={panel:Ki,header:Hi,rowButton:Wi,chevron:Ui,chevronOpen:Gi,label:Vi,count:Xi,summary:Yi,body:Ji,row:Qi,rowStatic:Zi,icon:ec,iconInProgress:tc,iconCompleted:nc,iconPending:sc,text:oc,textCompleted:ac,id:rc,blocked:ic,details:cc,footer:lc,nested:dc};function uc({status:e}){return e==="in_progress"?t.jsx("span",{className:`${y.icon} ${y.iconInProgress}`,children:t.jsx(ne,{size:14,"aria-label":"In progress"})}):e==="completed"?t.jsx("span",{className:`${y.icon} ${y.iconCompleted}`,children:t.jsx(O,{icon:pe,size:"sm","aria-label":"Completed"})}):t.jsx("span",{className:`${y.icon} ${y.iconPending}`,children:t.jsx(O,{icon:Zn,size:"sm","aria-label":"Pending"})})}function qt({task:e}){const[n,s]=h.useState(!1),o=Fi(e),a=Mi(e),i=t.jsxs(t.Fragment,{children:[t.jsx(uc,{status:e.status}),t.jsx("span",{className:`${y.text} ${e.status==="completed"?y.textCompleted:""}`,children:Pt(e)}),o&&t.jsx("span",{className:y.blocked,children:o}),t.jsxs("span",{className:y.id,children:["#",e.id]}),a&&t.jsx("span",{className:`${y.chevron} ${n?y.chevronOpen:""}`,children:t.jsx(O,{icon:he,size:"xs","aria-hidden":!0})})]});return t.jsxs("li",{className:y.row,"data-status":e.status,"data-task-id":e.id,children:[a?t.jsx("button",{type:"button",className:y.rowButton,"aria-expanded":n,onClick:()=>s(c=>!c),children:i}):t.jsx("div",{className:y.rowStatic,children:i}),n&&t.jsxs("p",{className:y.details,children:[e.description,e.description&&e.owner?`
|
|
11
|
+
`:"",e.owner?`Owner: ${e.owner}`:""]})]})}function mc({tasks:e}){const[n,s]=h.useState(!1);return t.jsxs("li",{className:y.row,children:[t.jsxs("button",{type:"button",className:y.rowButton,"aria-expanded":n,onClick:()=>s(o=>!o),children:[t.jsx("span",{className:`${y.icon} ${y.iconCompleted}`,children:t.jsx(O,{icon:pe,size:"sm","aria-hidden":!0})}),t.jsxs("span",{className:y.text,children:[e.length," completed"]}),t.jsx("span",{className:`${y.chevron} ${n?y.chevronOpen:""}`,children:t.jsx(O,{icon:he,size:"xs","aria-hidden":!0})})]}),n&&t.jsx("ol",{className:y.nested,children:e.map((o,a)=>t.jsx(qt,{task:o},`${o.id}-${a}`))})]})}function fc({agentId:e}){var f;const n=Rn(e),s=An(e),o=h.useId(),a=h.useRef(null);h.useEffect(()=>{if(e)return it.getState().track(e)},[e]);const i=n==null?void 0:n.tasks,c=i?(f=It(i))==null?void 0:f.id:void 0;if(h.useEffect(()=>{const d=a.current;if(!d||c===void 0||s)return;const x=d.querySelector(`[data-task-id="${c}"][data-status="in_progress"]`);if(!x)return;const D=x.offsetTop-d.offsetTop;(D<d.scrollTop||D+x.offsetHeight>d.scrollTop+d.clientHeight)&&(d.scrollTop=D-(d.clientHeight-x.offsetHeight)/2)},[c,s]),!e||!n||n.tasks.length===0)return null;const{done:l,total:m}=qi(n.tasks),u=s?zi(n.tasks):void 0;return t.jsxs("section",{className:y.panel,role:"region","aria-label":"Agent todos",children:[t.jsxs("button",{type:"button",className:y.header,"aria-expanded":!s,"aria-controls":o,onClick:()=>it.getState().setCollapsed(e,!s),children:[t.jsx("span",{className:`${y.chevron} ${s?"":y.chevronOpen}`,children:t.jsx(O,{icon:he,size:"sm","aria-hidden":!0})}),t.jsx("span",{className:y.label,children:"Todos"}),t.jsxs("span",{className:y.count,children:[l,"/",m]}),u&&t.jsx("span",{className:y.summary,children:u})]}),!s&&t.jsx("ol",{id:o,ref:a,className:y.body,children:$i(n.tasks).map(d=>d.kind==="task"?t.jsx(qt,{task:d.task},d.key):t.jsx(mc,{tasks:d.tasks},d.key))}),!s&&n.truncated&&t.jsxs("div",{className:y.footer,children:["Showing first ",Ln," tasks"]})]})}const pc="_track_oxvl6_2",hc="_sweep_oxvl6_24",_c="_visuallyHidden_oxvl6_64",Ee={track:pc,sweep:hc,visuallyHidden:_c};function gc({running:e}){return e?t.jsxs("div",{className:Ee.track,role:"progressbar","aria-label":"Turn in progress",children:[t.jsx("div",{className:Ee.sweep,"aria-hidden":"true"}),t.jsx("span",{className:Ee.visuallyHidden,role:"status","aria-live":"polite",children:"Agent is working…"})]}):null}const xc="_panel_1tq06_1",kc="_empty_1tq06_5",ht={panel:xc,empty:kc};function Lc({tab:e,owningPaneId:n}){const{sessionId:s}=e.data,o=M(a=>a.sessions[s]);return hs(s),o?t.jsxs(ct,{className:ht.panel,children:[t.jsx(gc,{running:o.status==="running"}),t.jsx(fr,{session:o,owningPaneId:n,workspaceCwd:e.workspaceCwd}),t.jsx(fc,{agentId:o.agentId}),t.jsx(Ii,{sessionId:o.id,workspaceCwd:e.workspaceCwd,owningPaneId:n})]}):t.jsx(ct,{children:t.jsx("div",{className:ht.empty,children:"Session not found."})})}export{Lc as ChatPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var L=Object.defineProperty;var w=(r,t,e)=>t in r?L(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var a=(r,t,e)=>w(r,typeof t!="symbol"?t+"":t,e);import{u as g}from"./vendor-query-CDNPrdQ8.js";import{u as p,r as m}from"./index-DjRqFIN0.js";import{u as y}from"./use-file-download-FoQrf961.js";import{j as c,r as u}from"./vendor-react-Dka9ZH0B.js";import{Q as x,S as h,T as k,U as F,V as _,W as B}from"./vendor-z183l2lP.js";function S(r){const{maxDisplayBytes:t,inline:e,streamed:n}=r;if(e.isLoading)return{kind:"loading"};if(e.tooLarge){const{size:o}=e.tooLarge;return o>t?{kind:"too-large",size:o,maxDisplayBytes:t}:n.isLoading?{kind:"streaming",size:o}:n.isError?{kind:"stream-error",size:o,message:n.errorMessage??"stream failed"}:n.content!==null?{kind:"streamed",size:o,content:n.content}:{kind:"loading"}}return e.isError?{kind:"error",message:e.errorMessage??"unknown error"}:e.content!==null?{kind:"inline",content:e.content}:{kind:"loading"}}class E extends Error{constructor(e,n){super("file_too_large");a(this,"size");a(this,"maxBytes");this.name="FileTooLargeError",this.size=e,this.maxBytes=n}}function z(r){if(!r.ok)throw r.error==="file_too_large"?new E(r.size??0,r.maxBytes):new Error(r.error??"file read failed");return{content:r.content??"",size:r.size??0}}function b(r,t=!0){const e=p(n=>n.client);return g({queryKey:m.fileRead(r),queryFn:async()=>{if(!e)throw new Error("not connected");const n=await e.connection.request("file_read_request",{path:r});return z(n)},enabled:!!e&&!!r&&t})}function j(r){const{enabled:t,download:e,decode:n}=r;return{isLoading:t&&(e.isLoading||e.hasObjectUrl&&n.isLoading),isError:e.isError||n.isError,error:e.isError?e.error:n.error,data:n.data}}function T(r,t=!0){var i;const e=y(r,t),n=(i=e.data)==null?void 0:i.objectUrl,o=g({queryKey:m.fileText(r,n??null),queryFn:async()=>({content:await(await fetch(n)).text()}),enabled:t&&!!n});return j({enabled:t,download:{isLoading:e.isLoading,isError:e.isError,error:e.error,hasObjectUrl:!!n},decode:{isLoading:o.isLoading,isError:o.isError,error:o.error,data:o.data}})}const d=30*1024*1024;function A(r,t=!0){var s,l;const e=b(r,t),n=e.error instanceof E?e.error:null,o=n!==null&&n.size<=d,i=T(r,t&&o);return S({maxDisplayBytes:d,inline:{isLoading:e.isLoading,isError:e.isError,tooLarge:n?{size:n.size}:null,errorMessage:e.error instanceof Error?e.error.message:null,content:((s=e.data)==null?void 0:s.content)??null},streamed:{isLoading:i.isLoading,isError:i.isError,errorMessage:i.error instanceof Error?i.error.message:null,content:((l=i.data)==null?void 0:l.content)??null}})}const M="_wrap_1feu3_1",q={wrap:M},f=new Map;function D(r){const[t,e]=u.useState(null);return u.useEffect(()=>{const n=_.matchFilename(B,r);if(!n){e(null);return}const o=f.get(n.name);if(o){e(o);return}let i=!1;return e(null),n.load().then(s=>{f.set(n.name,s),i||e(s)}),()=>{i=!0}},[r]),t?[t]:[]}function O({path:r,content:t}){const e=D(r),n=[x.lineWrapping,h(),...e];return c.jsx("div",{className:q.wrap,children:c.jsx(k,{value:t,theme:F,extensions:n,editable:!1,readOnly:!0,basicSetup:{highlightActiveLine:!1,foldGutter:!1,searchKeymap:!1},height:"100%"})})}export{O as C,A as u};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as d}from"./vendor-react-
|
|
1
|
+
import{j as d}from"./vendor-react-Dka9ZH0B.js";import{N as f}from"./vendor-z183l2lP.js";const h="_diffView_1qgdn_1",u="_hunkHeader_1qgdn_7",_="_line_1qgdn_14",x="_add_1qgdn_19",p="_del_1qgdn_23",m="_ctx_1qgdn_27",k="_ln_1qgdn_30",i={diffView:h,hunkHeader:u,line:_,add:x,del:p,ctx:m,ln:k},N=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/;function g(a){const r=a.split(`
|
|
2
2
|
`),n=[];let e=0,s=0;for(const t of r){if(t.startsWith("diff --git")){n.push({kind:"hunk-header",text:t});continue}if(!(t.startsWith("index ")||t.startsWith("---")||t.startsWith("+++"))){if(t.startsWith("@@")){const c=N.exec(t);if(c){const l=c[1],o=c[2];e=(l?parseInt(l,10):1)-1,s=(o?parseInt(o,10):1)-1}n.push({kind:"hunk-header",text:t});continue}t.startsWith("+")?(s++,n.push({kind:"add",text:t,lineNumber:s})):t.startsWith("-")?(e++,n.push({kind:"del",text:t,lineNumber:e})):(e++,s++,n.push({kind:"ctx",text:t,lineNumber:s}))}}return n}function j({patch:a}){const r=g(a);return d.jsx("div",{className:i.diffView,children:r.map((n,e)=>n.kind==="hunk-header"?d.jsx("div",{className:i.hunkHeader,children:n.text},e):d.jsxs("div",{className:f(i.line,i[n.kind]),children:[d.jsx("span",{className:i.ln,children:n.lineNumber??""}),n.text]},e))})}export{j as D,g as p};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as d,j as s}from"./vendor-react-Dka9ZH0B.js";import{N as _}from"./vendor-z183l2lP.js";import{u as j,r as f,L as w,a as E,f as D,V as K,P as N,B as x,E as l,S as y,i as S}from"./index-DjRqFIN0.js";import{u as b,a as k}from"./vendor-query-CDNPrdQ8.js";import{u as q}from"./use-file-watch-Th-A-3Ws.js";import{D as z}from"./DiffView-Bp1YwIcs.js";import"./vendor-icons-CSCeICuX.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";function V(e,t,n,i=!0){const a=j(r=>r.client);return b({queryKey:f.fileDiff(e,t,n),queryFn:async()=>{if(!a)throw new Error("not connected");return{patch:(await a.connection.request("file_diff_request",{path:e,cwd:t,staged:n})).patch??""}},enabled:!!a&&!!e&&!!t&&i})}function B(e,t,n){const i=k(),a=w.has(n)?E(e,t):null,{changedAt:r}=q(a);d.useEffect(()=>{r!==null&&(i.invalidateQueries({queryKey:f.fileRead(e)}),i.invalidateQueries({queryKey:f.fileDownload(e)}),i.invalidateQueries({queryKey:f.fileDiffByPath(e)}))},[r,e,i])}const C="_header_10rse_1",F="_path_10rse_11",L="_size_10rse_18",P="_viewToggle_10rse_23",Q="_body_10rse_28",c={header:C,path:F,size:L,viewToggle:P,body:Q};function g(e){return"path"in e}function R(e){return"staged"in e}function U({tab:e}){var m;const t=e.kind==="diff",n=e.data,i=g(n)?n.path:"",a=g(n)&&R(n)?n.staged:!1,[r,h]=d.useState(t?"diff":"file"),u=e.workspaceCwd||"~",[p]=d.useState(()=>D(i,S));B(i,u,p);const o=V(i,u,a,r==="diff"),v=K[p];return s.jsxs(N,{children:[s.jsxs("div",{className:c.header,children:[s.jsx("span",{className:c.path,children:i}),s.jsx("span",{className:c.size,children:r==="diff"?a?"staged":"unstaged":null}),s.jsxs("div",{className:c.viewToggle,children:[s.jsx(x,{size:"xs",variant:r==="file"?"default":"ghost",onClick:()=>h("file"),children:"File"}),s.jsx(x,{size:"xs",variant:r==="diff"?"default":"ghost",onClick:()=>h("diff"),children:"Diff"})]})]}),s.jsx("div",{className:_(c.body,"file-body"),children:r==="file"?s.jsx(d.Suspense,{fallback:s.jsxs(l,{children:[s.jsx(y,{size:"sm"})," Loading..."]}),children:s.jsx(v,{path:i,workspaceCwd:u})}):o.isLoading?s.jsxs(l,{children:[s.jsx(y,{size:"sm"})," Loading diff..."]}):o.isError?s.jsxs(l,{children:["Error: ",o.error instanceof Error?o.error.message:"unknown error"]}):(m=o.data)!=null&&m.patch?s.jsx(z,{patch:o.data.patch}):s.jsx(l,{style:{padding:"var(--pi-spacing-30)"},children:"No changes (file matches HEAD)"})})]})}export{U as FilePanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as v,j as i}from"./vendor-react-Dka9ZH0B.js";import{a as ie,u as ae}from"./vendor-query-CDNPrdQ8.js";import{n as ce,a as G,c as le,e as X,u as F,s as ue,E as A,S as z,B as P,r as T,t as de}from"./index-DjRqFIN0.js";import{u as fe,C as me}from"./CodeView-DBvTM0BW.js";import{p as pe,S as he}from"./href-resolution-A_PcAhnr.js";import{S as ge}from"./SaveFileButton-469govDl.js";import{S as xe}from"./Switch-DvBJf8Rd.js";import"./vendor-z183l2lP.js";import"./vendor-icons-CSCeICuX.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";import"./use-file-download-FoQrf961.js";const I={maxCount:64,maxBytesPerAsset:2*1024*1024,maxBytesTotal:16*1024*1024};function K(s,t,e){return!(s>=I.maxCount||e>I.maxBytesPerAsset||t+e>I.maxBytesTotal)}function Y(s){return s===""||s.startsWith("#")?"unsupported":s.startsWith("//")||he.test(s)?"external":null}function we(s,t,e){return e!==null&&t===e?s:t}function J(s,t,e,n,r=null){const o=s.trim(),l=Y(o);if(l)return{kind:"skip",raw:s,reason:l};const a=pe(o);let p;if(a.startsWith("/")?p=a:a==="~"||a.startsWith("~/")?p=r!==null?ce(a,r):null:p=G(a,t),!p)return{kind:"skip",raw:s,reason:"unsupported"};const h=le(p);return h!==e&&!h.startsWith(`${e}/`)?{kind:"skip",raw:s,reason:"outside-workspace"}:{kind:"local",raw:s,path:h,context:n}}const _e={css:"text/css",js:"text/javascript",mjs:"text/javascript",html:"text/html",htm:"text/html",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",bmp:"image/bmp",avif:"image/avif",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",m4v:"video/x-m4v",ogv:"video/ogg",mp3:"audio/mpeg",wav:"audio/wav",oga:"audio/ogg",ogg:"audio/ogg",m4a:"audio/mp4",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",eot:"application/vnd.ms-fontobject"};function ve(s){const t=s.lastIndexOf("/"),e=s.lastIndexOf(".");return e<=t?"application/octet-stream":_e[s.slice(e+1).toLowerCase()]??"application/octet-stream"}function ye(s){let t="";for(let n=0;n<s.length;n+=32768)t+=String.fromCharCode(...s.subarray(n,n+32768));return btoa(t)}function q(s,t){return`data:${s};base64,${ye(t)}`}const B=/<([a-zA-Z][a-zA-Z0-9]*)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=<>`]+))?)*)(\s*\/?>)/g,O=/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/g;function ee(s){const t=new Map;O.lastIndex=0;let e;for(;e=O.exec(s);){const n=e[1].toLowerCase();t.has(n)||t.set(n,e[2]??e[3]??e[4]??"")}return t}function te(s,t){switch(s){case"link":{const e=t.get("rel")??"";return/(^|\s)stylesheet(\s|$)/i.test(e)?t.has("href")?[{name:"href",context:"style",multi:!1}]:[]:[]}case"script":return t.has("src")?[{name:"src",context:"script",multi:!1}]:[];case"img":{const e=[];return t.has("src")&&e.push({name:"src",context:"image",multi:!1}),t.has("srcset")&&e.push({name:"srcset",context:"image",multi:!0}),e}case"source":{const e=[];return t.has("src")&&e.push({name:"src",context:"media",multi:!1}),t.has("srcset")&&e.push({name:"srcset",context:"media",multi:!0}),e}case"video":{const e=[];return t.has("src")&&e.push({name:"src",context:"media",multi:!1}),t.has("poster")&&e.push({name:"poster",context:"media",multi:!1}),e}case"audio":return t.has("src")?[{name:"src",context:"media",multi:!1}]:[];default:return[]}}function se(s){return s.split(",").map(t=>t.trim()).filter(t=>t!=="").map(t=>{const e=t.search(/\s/);return e===-1?{url:t,descriptor:""}:{url:t.slice(0,e),descriptor:t.slice(e).trim()}})}function ke(s){return s.map(t=>t.descriptor?`${t.url} ${t.descriptor}`:t.url).join(", ")}function $(s,t,e){Y(t.trim())||s.has(t)||s.set(t,{raw:t,context:e})}function be(s){const t=new Map;B.lastIndex=0;let e;for(;e=B.exec(s);){const n=e[1].toLowerCase(),r=ee(e[2]??"");for(const o of te(n,r)){const l=r.get(o.name)??"";if(o.multi)for(const a of se(l))$(t,a.url,o.context);else $(t,l,o.context)}}return[...t.values()]}function je(s,t){let e=!1;const n=se(s).map(r=>{const o=t[r.url];return o===void 0?r:(e=!0,{url:o,descriptor:r.descriptor})});return e?ke(n):null}function Se(s,t){return Object.keys(t).length===0?s:(B.lastIndex=0,s.replace(B,(e,n,r,o)=>{const l=ee(r),a=te(n.toLowerCase(),l);if(a.length===0)return e;const p=new Map(a.map(d=>[d.name,d]));let h=!1;const E=r.replace(O,(d,f,c,w,y)=>{const _=p.get(f.toLowerCase());if(!_)return d;const g=c??w??y??"",j=_.multi?je(g,t):t[g]??null;return j===null?d:(h=!0,`${f}="${j}"`)});return h?`<${n}${E}${o}`:e}))}const M=/url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")\s]*))\s*\)/gi,V=/@font-face\s*\{[^}]*\}/gi;function ne(s,t,e){return s??t??e??""}function Ee(s){const t=[];V.lastIndex=0;let e;for(;e=V.exec(s);)t.push([e.index,e.index+e[0].length]);return t}function Le(s){const t=Ee(s),e=new Map;M.lastIndex=0;let n;for(;n=M.exec(s);){const r=ne(n[1],n[2],n[3]),o=t.some(([l,a])=>n.index>=l&&n.index<a)?"font":"image";$(e,r,o)}return[...e.values()]}function Ae(s,t){return Object.keys(t).length===0?s:(M.lastIndex=0,s.replace(M,(e,n,r,o)=>{const l=t[ne(n,r,o)];return l===void 0?e:`url("${l}")`}))}const Ce=Object.freeze(["allow-scripts"]),Ne="https://pi-studio-preview.invalid/",Te="default-src 'none'; img-src data:; style-src 'unsafe-inline' data:; script-src 'unsafe-inline' data:; font-src data:; media-src data:",Re=`<script>(function(){document.addEventListener("click",function(e){var a=e.target&&e.target.closest&&e.target.closest('a[href^="#"]');if(!a)return;var frag=a.getAttribute("href").slice(1);e.preventDefault();if(!frag){window.scrollTo(0,0);return;}var el=document.getElementById(frag)||document.getElementsByName(frag)[0];if(el)el.scrollIntoView();},true);})();<\/script>`,Be=/<head(\s[^>]*)?>/i,Me=/<html(\s[^>]*)?>/i,ze=/<base[\s/>]/i;function Pe(s,t){const e=Se(s,t.assets??{}),n=[];t.blockRemote&&n.push(`<meta http-equiv="Content-Security-Policy" content="${Te}">`),ze.test(e)||(n.push(`<base href="${Ne}">`),n.push(Re));const r=n.join("");if(r==="")return e;const o=Be.exec(e);if(o){const a=o.index+o[0].length;return e.slice(0,a)+r+e.slice(a)}const l=Me.exec(e);if(l){const a=l.index+l[0].length;return e.slice(0,a)+`<head>${r}</head>`+e.slice(a)}return`<head>${r}</head>`+e}const W=6;async function Q(s,t,e){let n=0;async function r(){for(;n<s.length;){const o=s[n];n+=1,await e(o)}}await Promise.all(Array.from({length:Math.min(t,s.length)},r))}function U(s){const t=new Map;for(const e of s){const n=t.get(e.path);n?n.push(e):t.set(e.path,[e])}return t}async function Ie(s,t){const e={},n=[];let r=0,o=0,l=!1;const a=[];for(const d of s)d.kind==="skip"?n.push({raw:d.raw,reason:d.reason}):a.push(d);function p(d,f){for(const c of d)n.push({raw:c.raw,reason:f})}async function h(d,f){if(l){p(f,"over-cap");return}let c;try{c=await t.fetchBytes(d)}catch{p(f,"fetch-failed");return}if(!K(r,o,c.byteLength)){l=!0,p(f,"over-cap");return}if(r+=1,o+=c.byteLength,f[0].context!=="style"){const m=q(ve(d),c);for(const b of f)e[b.raw]=m;return}const w=new TextDecoder().decode(c),y=X(d),_=Le(w).map(m=>J(m.raw,y,t.root,m.context,t.homeDir)),g=[];for(const m of _)m.kind==="skip"?n.push({raw:m.raw,reason:m.reason}):g.push(m);const j=U(g);await Q([...j.entries()],W,([m,b])=>h(m,b));const C={};for(const m of g){const b=e[m.raw];b!==void 0&&(C[m.raw]=b)}const L=Ae(w,C),S=new TextEncoder().encode(L),k=S.byteLength-c.byteLength;if(k>0&&!K(r-1,o-c.byteLength,S.byteLength)){l=!0,p(f,"over-cap");return}o+=k;const N=q("text/css",S);for(const m of f)e[m.raw]=N}const E=U(a);return await Q([...E.entries()],W,([d,f])=>h(d,f)),{assets:e,skipped:n}}const Oe="_wrap_1et27_1",$e="_toolbar_1et27_7",He="_modeToggle_1et27_20",De="_controls_1et27_24",Fe="_switchLabel_1et27_29",Ke="_streamedNote_1et27_37",qe="_skippedNote_1et27_45",Ve="_skippedToggle_1et27_52",We="_skippedList_1et27_64",Qe="_body_1et27_69",Ue="_frame_1et27_73",Ze="_tooLarge_1et27_79",x={wrap:Oe,toolbar:$e,modeToggle:He,controls:De,switchLabel:Fe,streamedNote:Ke,skippedNote:qe,skippedToggle:Ve,skippedList:We,body:Qe,frame:Ue,tooLarge:Ze},Ge=Ce.join(" "),Z=Object.freeze({}),Xe=Object.freeze([]),oe={external:"external","outside-workspace":"outside workspace",unsupported:"unsupported","over-cap":"over cap","fetch-failed":"not found"};function Ye(s){const t=new Map;for(const e of s){const n=oe[e.reason];t.set(n,(t.get(n)??0)+1)}return[...t.entries()].map(([e,n])=>`${n} ${e}`).join(", ")}function Je(s){let t=2166136261;for(let e=0;e<s.length;e++)t^=s.charCodeAt(e),t=Math.imul(t,16777619);return(t>>>0).toString(16)}function R(s){return`${(s/(1024*1024)).toFixed(1)} MB`}function pt({path:s,workspaceCwd:t}){var H,D;const e=fe(s),[n,r]=v.useState("preview"),[o,l]=v.useState(!1),[a,p]=v.useState(!1),h=ie(),E=F(u=>u.client),d=F(u=>u.daemon),f=ue(),c=e.kind==="inline"||e.kind==="streamed"?e.content:null,w=v.useMemo(()=>{const u=G(s,t);return u?X(u):null},[s,t]),y=v.useMemo(()=>w!==null?we(w,t,f):null,[w,t,f]),_=v.useMemo(()=>c===null||w===null||y===null?[]:be(c).map(u=>J(u.raw,w,y,u.context,f)),[c,w,y,f]),g=v.useMemo(()=>_.some(u=>u.kind==="local"),[_]),j=v.useMemo(()=>_.flatMap(u=>u.kind==="skip"?[{raw:u.raw,reason:u.reason}]:[]),[_]),C=v.useMemo(()=>g&&c!==null?Je(c):"",[c,g]),L=ae({queryKey:T.htmlAssetBundle(s,C),queryFn:()=>y===null?Promise.resolve({assets:{},skipped:[]}):Ie(_,{root:y,homeDir:f,fetchBytes:async re=>{if(!E||!d)throw new Error("not connected");return(await de(d).download(re)).bytes}}),enabled:g,staleTime:1/0}),S=g?((H=L.data)==null?void 0:H.assets)??Z:Z,k=g?((D=L.data)==null?void 0:D.skipped)??Xe:j,N=v.useMemo(()=>c===null?null:Pe(c,{assets:S,blockRemote:o}),[c,S,o]);function m(){h.invalidateQueries({queryKey:T.fileRead(s)}),h.invalidateQueries({queryKey:T.fileDownload(s)}),h.invalidateQueries({queryKey:T.htmlAssetBundleByPath(s)})}switch(e.kind){case"loading":return i.jsxs(A,{children:[i.jsx(z,{size:"sm"})," Loading..."]});case"streaming":return i.jsxs(A,{children:[i.jsx(z,{size:"sm"})," Streaming ",R(e.size)," file..."]});case"stream-error":case"error":return i.jsxs(A,{children:["Error: ",e.message]});case"too-large":return i.jsx(A,{children:i.jsxs("div",{className:x.tooLarge,children:[i.jsxs("div",{children:[R(e.size)," — too large to display (display ceiling is"," ",R(e.maxDisplayBytes),")."]}),i.jsx(ge,{path:s})]})})}if(c===null||N===null)return null;if(g&&L.data===void 0)return i.jsxs(A,{children:[i.jsx(z,{size:"sm"})," Loading assets..."]});const b=s.split("/").pop()||s;return i.jsxs("div",{className:x.wrap,children:[i.jsxs("div",{className:x.toolbar,children:[i.jsxs("div",{className:x.modeToggle,children:[i.jsx(P,{size:"xs",variant:n==="preview"?"default":"ghost",onClick:()=>r("preview"),children:"Preview"}),i.jsx(P,{size:"xs",variant:n==="source"?"default":"ghost",onClick:()=>r("source"),children:"Source"})]}),i.jsxs("div",{className:x.controls,children:[i.jsxs("label",{className:x.switchLabel,children:[i.jsx(xe,{checked:o,onCheckedChange:l,"aria-label":"Block remote resources"}),"Block remote resources"]}),i.jsx(P,{size:"xs",variant:"ghost",onClick:m,children:"Reload"})]})]}),e.kind==="streamed"?i.jsxs("div",{className:x.streamedNote,children:[R(e.size)," file streamed"]}):null,k.length>0?i.jsxs("div",{className:x.skippedNote,children:[i.jsxs("button",{type:"button",className:x.skippedToggle,onClick:()=>p(u=>!u),children:[k.length," reference",k.length===1?"":"s"," not inlined (",Ye(k),")"]}),a?i.jsx("ul",{className:x.skippedList,children:k.map(u=>i.jsxs("li",{children:[u.raw," — ",oe[u.reason]]},u.raw))}):null]}):null,i.jsxs("div",{className:x.body,children:[i.jsx("iframe",{sandbox:Ge,srcDoc:N,referrerPolicy:"no-referrer",allow:"",className:x.frame,style:n==="preview"?void 0:{display:"none"},title:b}),n==="source"?i.jsx(me,{path:s,content:c}):null]})]})}export{pt as HtmlViewer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o}from"./vendor-react-Dka9ZH0B.js";import{E as i,S as t}from"./index-DjRqFIN0.js";import{u as a}from"./use-file-download-FoQrf961.js";import"./vendor-z183l2lP.js";import"./vendor-query-CDNPrdQ8.js";import"./vendor-icons-CSCeICuX.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";const m="_wrap_1vzo5_1",n="_image_1vzo5_15",s={wrap:m,image:n};function E({path:e,workspaceCwd:p}){const r=a(e);return r.isLoading?o.jsxs(i,{children:[o.jsx(t,{size:"sm"})," Loading image..."]}):r.isError?o.jsxs(i,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]}):r.data?o.jsx("div",{className:s.wrap,children:o.jsx("img",{className:s.image,src:r.data.objectUrl,alt:e.split("/").pop()||e})}):null}export{E as ImageViewer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as d,j as e}from"./vendor-react-Dka9ZH0B.js";import{a as g,e as j,B as l,E as i,S as p}from"./index-DjRqFIN0.js";import{u as v,C as _}from"./CodeView-DBvTM0BW.js";import{M as f}from"./markdown-lfaaW_Mn.js";import{S as h}from"./SaveFileButton-469govDl.js";import"./vendor-z183l2lP.js";import"./vendor-query-CDNPrdQ8.js";import"./vendor-icons-CSCeICuX.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";import"./use-file-download-FoQrf961.js";import"./vendor-highlight-DaCUEPaW.js";import"./vendor-markdown-Bo-Xpsuy.js";import"./href-resolution-A_PcAhnr.js";const y="_wrap_g5iym_1",w="_toolbar_g5iym_6",N="_rendered_g5iym_17",S="_streamedNote_g5iym_21",z="_tooLarge_g5iym_29",o={wrap:y,toolbar:w,rendered:N,streamedNote:S,tooLarge:z};function a(r){return`${(r/(1024*1024)).toFixed(1)} MB`}function q({path:r,workspaceCwd:n}){const s=v(r),[m,c]=d.useState("preview"),x=d.useMemo(()=>{const t=g(r,n);return t?j(t):null},[r,n]);switch(s.kind){case"loading":return e.jsxs(i,{children:[e.jsx(p,{size:"sm"})," Loading..."]});case"streaming":return e.jsxs(i,{children:[e.jsx(p,{size:"sm"})," Streaming ",a(s.size)," file..."]});case"stream-error":case"error":return e.jsxs(i,{children:["Error: ",s.message]});case"too-large":return e.jsx(i,{children:e.jsxs("div",{className:o.tooLarge,children:[e.jsxs("div",{children:[a(s.size)," — too large to display (display ceiling is"," ",a(s.maxDisplayBytes),")."]}),e.jsx(h,{path:r})]})});case"inline":case"streamed":{const t=s.content,u=s.kind==="streamed";return e.jsxs("div",{className:o.wrap,children:[e.jsxs("div",{className:o.toolbar,children:[e.jsx(l,{size:"xs",variant:m==="preview"?"default":"ghost",onClick:()=>c("preview"),children:"Preview"}),e.jsx(l,{size:"xs",variant:m==="source"?"default":"ghost",onClick:()=>c("source"),children:"Source"})]}),u?e.jsxs("div",{className:o.streamedNote,children:[a(s.size)," file streamed"]}):null,m==="preview"?e.jsx("div",{className:o.rendered,children:e.jsx(f,{text:t,assetBase:x,workspaceCwd:n})}):e.jsx(_,{path:r,content:t})]})}}}export{q as MarkdownFileViewer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as b,j as e}from"./vendor-react-Dka9ZH0B.js";import{a as E}from"./vendor-query-CDNPrdQ8.js";import{u as P,E as d,S as C,B as w,g as R,r as x}from"./index-DjRqFIN0.js";import{u as I}from"./use-provider-auth-list-D5pguVWm.js";import{u as y}from"./provider-auth-store-CpmUGwuu.js";import{S as p}from"./StatusBadge-eoBBn7zF.js";import"./vendor-z183l2lP.js";import"./vendor-icons-CSCeICuX.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";const N="env:";function M(n){var i;return n.configured==="unknown"?{label:"Unknown",variant:"warning"}:n.configured===!1?{label:"Not configured",variant:"muted"}:(i=n.configuredSource)!=null&&i.startsWith(N)?{label:`env: ${n.configuredSource.slice(N.length)}`,variant:"success"}:n.configuredType==="oauth"?{label:"OAuth",variant:"success"}:{label:"API key",variant:"success"}}function q(n){const i=n.configured===!0?"Re-login":"Log in";if(n.authTypes.length<=1){const s=n.authTypes[0]??"api_key";return[{authType:s,label:s==="oauth"?n.oauthLoginLabel??i:i}]}return n.authTypes.map(s=>s==="oauth"?{authType:s,label:n.oauthLoginLabel??"Log in with OAuth"}:{authType:s,label:"API key"})}const O="_list_vm1k7_1",T="_row_vm1k7_7",B="_rowMain_vm1k7_18",z="_name_vm1k7_25",F="_tag_vm1k7_33",K="_rowActions_vm1k7_37",Q="_pendingNote_vm1k7_44",U="_note_vm1k7_49",$="_errorState_vm1k7_55",a={list:O,row:T,rowMain:B,name:z,tag:F,rowActions:K,pendingNote:Q,note:U,errorState:$};function nt(){const n=P(t=>t.client),i=E(),s=y(t=>t.pendingLogin),j=y(t=>t.requestLogin),[g,m]=b.useState(null),[k,f]=b.useState({}),{data:l,isLoading:L,isError:S,error:h}=I();async function A(t){if(!(!n||!await R().dialogs.confirm(`Log out of ${t.name}? Running agents keep working until their current credential use fails.`))){f(o=>({...o,[t.id]:""})),m(t.id);try{const o=await n.logoutProvider(t.id);f(r=>({...r,[t.id]:o.stillConfigured?"Removed the stored credential — still configured via an environment variable.":""})),await i.invalidateQueries({queryKey:x.providerAuthList()}),i.invalidateQueries({queryKey:x.providerModelsAll()})}finally{m(null)}}}return L?e.jsxs(d,{children:[e.jsx(C,{size:"sm"})," Loading providers…"]}):S?e.jsx(d,{className:a.errorState,children:h instanceof Error?h.message:"Failed to load providers."}):!l||l.length===0?e.jsx(d,{children:"No providers available."}):e.jsx("div",{className:a.list,children:l.map(t=>{const c=M(t),o=q(t),r=(s==null?void 0:s.provider)===t.id,_=s!==null&&!r,v=k[t.id];return e.jsxs("div",{className:a.row,children:[e.jsxs("div",{className:a.rowMain,children:[e.jsx("span",{className:a.name,children:t.name}),t.oauthIsSubscription&&e.jsx(p,{label:"Subscription",variant:"muted",className:a.tag}),e.jsx(p,{label:c.label,variant:c.variant,className:a.tag})]}),e.jsx("div",{className:a.rowActions,children:r?e.jsx("span",{className:a.pendingNote,children:"Logging in…"}):e.jsxs(e.Fragment,{children:[o.map(u=>e.jsx(w,{size:"xs",variant:"secondary",disabled:_,onClick:()=>j(t.id,t.name,u.authType),children:u.label},u.authType)),t.configured!==!1&&e.jsx(w,{size:"xs",variant:"ghost",disabled:_||g===t.id,loading:g===t.id,onClick:()=>void A(t),children:"Log out"})]})}),v&&e.jsx("div",{className:a.note,children:v})]},t.id)})})}export{nt as ModelProvidersPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as c,j as t}from"./vendor-react-Dka9ZH0B.js";import{u as k,b as I,P as w,E as N,S as W,q,v as C,e as U,w as X,C as Y,x as z,k as D}from"./index-DjRqFIN0.js";import{F as G}from"./vendor-molviewer-7FbONJs2.js";import{u as H}from"./use-file-download-FoQrf961.js";import{u as K}from"./use-file-watch-Th-A-3Ws.js";import{S as v}from"./StatusBadge-eoBBn7zF.js";import"./vendor-z183l2lP.js";import"./vendor-query-CDNPrdQ8.js";import"./vendor-icons-CSCeICuX.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";function J(e,r){return!e||!r?null:{url:r,name:e.split("/").pop()||e}}function Q({changedAt:e,lastAppliedAt:r,modified:n}){return!(e===null||n||e===r)}const Z={empty_path:"Nothing to save.",too_large:"File is too large to save (over 5 MiB).",not_found:"The file no longer exists.",unreadable:"The file could not be read.",not_a_file:"That path is not a file."};async function ee(e,r,n){const a=await e.connection.request("file_write_request",{path:r,content:n});if(!a.ok){const l=a.error??"";throw new Error(Z[l]??l??"Failed to save")}}const re="mol2";function oe(e){const{sourcePath:r,monomers:n,attempt:a}=e,l=a>0?`_${a+1}`:"";return`${te(r)}_polymer_${n}${l}.${re}`}function te(e){return(e.split("/").pop()??"").replace(/\.[^.]+$/,"").trim()||"polymer"}const se={"--canvas":"var(--pi-color-surface0)","--well":"var(--pi-color-surface0)","--recess":"var(--pi-color-surface1)","--chrome":"var(--pi-color-surface1)","--control":"var(--pi-color-surface2)","--control-hover":"var(--pi-color-surface3)","--control-strong-hover":"var(--pi-color-surface4)","--border-control":"var(--pi-color-border)","--border-input":"var(--pi-color-border)","--popover":"var(--pi-color-surface1)","--popover-item-hover":"var(--pi-color-surface2)","--row-hover":"var(--pi-color-surface2)","--border-popover":"var(--pi-color-border)","--text-primary":"var(--pi-color-foreground)","--text-on-control":"var(--pi-color-foreground)"},ne="_wrap_tixu9_1",ae="_molViewer_tixu9_4",le="_badges_tixu9_8",g={wrap:ne,molViewer:ae,badges:le},ie=50;async function ce(e){const{client:r,upload:n,sourcePath:a,monomers:l,text:f}=e,p=U(a);let s=null,i="";for(let u=0;u<ie&&s===null;u+=1){i=oe({sourcePath:a,monomers:l,attempt:u});try{s=await X(r,p,i,"file")}catch(m){if(m instanceof Y&&m.code==="exists")continue;throw m}}if(s===null)throw new Error(`No free name for ${i} — too many builds in this folder.`);try{await n(p,new File([f],i,{type:"chemical/x-mol2"}))}catch(u){throw await z(r,s).catch(()=>{}),u}return s}function ue({path:e,workspaceCwd:r,tabId:n,isActive:a,onModifiedChange:l}){var T;const f=k(o=>o.client),{upload:p}=I(),s=H(e??"",!!e),{changedAt:i}=K(e),u=c.useRef(null),m=c.useRef(!1),[E,_]=c.useState(null),[h,A]=c.useState(!1),[S,x]=c.useState(null),[j,y]=c.useState(null),[M,P]=c.useState(null),b=c.useRef(null),R=((T=s.data)==null?void 0:T.objectUrl)??null,$=c.useMemo(()=>J(e,R),[e,R]);c.useEffect(()=>{Q({changedAt:i,lastAppliedAt:b.current,modified:h})&&(b.current=i,s.refetch())},[i,h,s.refetch]);const L=i!==null&&i!==b.current&&h;async function V(o){if(e){if(!f){x("Not connected — cannot save.");return}x(null);try{await ee(f,e,o.text()),o.saved()}catch(d){x(d instanceof Error?d.message:"Failed to save")}}}async function B(o){if(e){if(!f){y("Not connected — cannot save the polymer.");return}y(null),P(null);try{const d=await ce({client:f,upload:p,sourcePath:e,monomers:o.monomers,text:o.text()});o.report.clashes>0&&P(`${o.report.clashes} close contacts — relax the geometry before simulating`);const O=q.getState().paneOfTab(r,n);C(d,r,O??void 0)}catch(d){y(d instanceof Error?d.message:"Failed to save the polymer")}}}const F=(s.isError?s.error instanceof Error?s.error.message:"download failed":null)??(E==null?void 0:E.message)??null;return e&&s.isPending?t.jsx(w,{children:t.jsxs(N,{children:[t.jsx(W,{size:"sm"})," Loading..."]})}):F?t.jsx(w,{children:t.jsxs(N,{children:["Error: ",F]})}):t.jsxs(w,{className:g.wrap,"data-molecule-active":a?"true":"false",children:[t.jsxs("div",{className:g.badges,children:[L&&t.jsx(v,{label:"File changed on disk",variant:"muted"}),S&&t.jsx(v,{label:`Save failed: ${S}`,variant:"error"}),j&&t.jsx(v,{label:`Polymer build: ${j}`,variant:"error"}),M&&t.jsx(v,{label:M,variant:"warning"})]}),t.jsx(G,{ref:u,className:g.molViewer,theme:se,source:$,sourceMode:m.current?"update":"replace",onLoad:()=>{m.current=!0,_(null)},onLoadError:o=>_(o.error),onModifiedChange:o=>{A(o),l==null||l(o)},onSave:e?V:void 0,onPolymerBuild:e?B:void 0})]})}function Se({tab:e}){const{path:r}=e.data,n=D(e.id);return t.jsx(w,{children:t.jsx(ue,{path:r,workspaceCwd:e.workspaceCwd,tabId:e.id,isActive:n})})}export{Se as MoleculeViewerPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var Q=Object.defineProperty;var Y=(e,t,r)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var I=(e,t,r)=>Y(e,typeof t!="symbol"?t+"":t,r);import{r as a,j as n}from"./vendor-react-Dka9ZH0B.js";import{g as O,b as ee,E as T,B as S,S as te}from"./index-DjRqFIN0.js";import{u as se}from"./use-file-download-FoQrf961.js";import{G as re,p as ne}from"./vendor-pdfjs-BSchhGel.js";import{Z as oe,a as ae,M as ie,D as ce}from"./vendor-icons-CSCeICuX.js";import"./vendor-z183l2lP.js";import"./vendor-query-CDNPrdQ8.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";class Z extends Error{constructor(){super("PDF preview is not available in this application.");I(this,"name","PdfUnavailableError")}}function le(e,t){const r=new URL(e.endsWith("/")?e:`${e}/`,t);return{cMapUrl:new URL("cmaps/",r).href,cMapPacked:!0,standardFontDataUrl:new URL("standard_fonts/",r).href,wasmUrl:new URL("wasm/",r).href,iccUrl:new URL("iccs/",r).href}}function G(){var t;const e=O().pdf;if(!e)throw new Z;return(t=re).workerPort??(t.workerPort=e.createWorker()),{pdfjs:ne,assetUrls:le(e.assetBaseUrl,document.baseURI)}}const y=[.25,.5,.75,1,1.25,1.5,2,3,4],W=y[0],$=y[y.length-1],de=16777216,V=1e-6;function ue(e){return y.find(t=>t>e+V)??$}function fe(e){return y.findLast(t=>t<e-V)??W}function he(e,t,r){const s=e-t;return s<=0||r<=0?1:Math.min($,Math.max(W,s/r))}function me(e,t,r,s,d=de){const c=e*r*(t*r);return c<=0?s:Math.min(s,Math.sqrt(d/c))}function pe(e,t,r,s){const d=[];let c=s;for(const x of e)d.push(c),c+=x*t+r;return d}function ge(e,t,r){const s=t+r/2,d=e.findIndex(c=>c>s);return Math.max(0,(d===-1?e.length:d)-1)}const we="_viewer_16fdq_1",ve="_toolbar_16fdq_7",xe="_pageIndicator_16fdq_18",_e="_zoom_16fdq_19",Ee="_controls_16fdq_23",je="_scroller_16fdq_32",Pe="_stack_16fdq_40",Se="_page_16fdq_18",be="_canvas_16fdq_56",Me="_pageError_16fdq_61",ye="_failure_16fdq_71",De="_textLayer_16fdq_86",u={viewer:we,toolbar:ve,pageIndicator:xe,zoom:_e,controls:Ee,scroller:je,stack:Pe,page:Se,canvas:be,pageError:Me,failure:ye,textLayer:De},Fe=12,q=16,ze="100% 0px",Ce=120,ke={invalid:"This file could not be opened as a PDF.",password:"This PDF is password-protected.",unavailable:"PDF preview is not available in this application.",failed:"This PDF could not be loaded."};function Ae(e){if(e instanceof Z)return"unavailable";const t=e instanceof Error?e.name:"";return t==="PasswordException"?"password":t==="InvalidPDFException"||t==="FormatError"||t==="MissingPDFException"?"invalid":"failed"}function Le(e){return e instanceof Error&&/Cancelled|destroyed/i.test(`${e.name} ${e.message}`)}function Xe({path:e}){var R;const t=se(e),{saveToDisk:r}=ee(),[s,d]=a.useState(null),[c,x]=a.useState(null),[l,C]=a.useState(null),[D,p]=a.useState(0),[h,f]=a.useState(!0),[j,_]=a.useState(1),[b,P]=a.useState(0),g=(R=t.data)==null?void 0:R.objectUrl;a.useEffect(()=>{if(!g)return;let o=!1,v=!1,w=null;return(async()=>{try{const E=new Uint8Array(await(await fetch(g)).arrayBuffer());if(o)return;const{pdfjs:z,assetUrls:X}=G();w=z.getDocument({data:E,enableXfa:!1,...X});const L=await w.promise,B=await Promise.all(Array.from({length:L.numPages},async(Ue,H)=>{const{width:K,height:J}=(await L.getPage(H+1)).getViewport({scale:1});return{width:K,height:J}}));if(o)return;v=!0,x(null),d({task:w,doc:L,sizes:B})}catch(E){o||x(Ae(E))}})(),()=>{o=!0,v||w==null||w.destroy()}},[g]),a.useEffect(()=>{const o=s==null?void 0:s.task;return()=>void(o==null?void 0:o.destroy())},[s==null?void 0:s.task]),a.useEffect(()=>{if(!l)return;let o,v=!0;const w=new ResizeObserver(([E])=>{const z=(E==null?void 0:E.contentRect.width)??0;if(clearTimeout(o),v){v=!1,p(z);return}o=setTimeout(()=>p(z),Ce)});return w.observe(l),()=>{clearTimeout(o),w.disconnect()}},[l]);const m=s==null?void 0:s.sizes,F=a.useMemo(()=>Math.max(0,...(m??[]).map(o=>o.width)),[m]),i=h?he(D,q*2,F):j,M=a.useMemo(()=>pe((m??[]).map(o=>o.height),i,Fe,q),[m,i]),N=()=>{l&&P(ge(M,l.scrollTop,l.clientHeight))},k=a.useRef(i);a.useLayoutEffect(()=>{l&&k.current!==i&&(l.scrollTop=l.scrollTop*i/k.current),k.current=i},[i,l]),a.useEffect(N,[M,l]);const A=()=>void r(e).catch(o=>O().dialogs.alert(`Failed to download: ${o instanceof Error?o.message:String(o)}`));if(t.isError)return n.jsxs(T,{children:["Error: ",t.error instanceof Error?t.error.message:"unknown error"]});if(c&&!s)return n.jsxs("div",{className:u.failure,children:[n.jsx("span",{children:ke[c]}),n.jsx(S,{size:"sm",onClick:A,children:"Download"})]});if(!s)return n.jsxs(T,{children:[n.jsx(te,{size:"sm"})," Loading PDF..."]});if(s.sizes.length===0)return n.jsxs("div",{className:u.failure,children:[n.jsx("span",{children:"This PDF has no pages."}),n.jsx(S,{size:"sm",onClick:A,children:"Download"})]});const U=o=>{_(o(i)),f(!1)};return n.jsxs("div",{className:u.viewer,children:[n.jsxs("div",{className:u.toolbar,children:[n.jsxs("span",{className:u.pageIndicator,"aria-live":"polite",children:[b+1," / ",s.sizes.length]}),n.jsxs("div",{className:u.controls,children:[n.jsx(S,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Zoom out",onClick:()=>U(fe),children:n.jsx(oe,{size:14})}),n.jsxs("span",{className:u.zoom,children:[Math.round(i*100),"%"]}),n.jsx(S,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Zoom in",onClick:()=>U(ue),children:n.jsx(ae,{size:14})}),n.jsx(S,{size:"xs",variant:h?"default":"ghost",iconOnly:!0,"aria-label":"Fit width","aria-pressed":h,onClick:()=>f(o=>!o),children:n.jsx(ie,{size:14})}),n.jsx(S,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Download PDF",onClick:A,children:n.jsx(ce,{size:14})})]})]}),n.jsx("div",{ref:C,className:u.scroller,onScroll:N,children:n.jsx("div",{className:u.stack,children:s.sizes.map((o,v)=>n.jsx(Ne,{doc:s.doc,pageNumber:v+1,size:o,scale:i,root:l},v))})})]})}function Ne({doc:e,pageNumber:t,size:r,scale:s,root:d}){const c=a.useRef(null),[x,l]=a.useState(!1),[C,D]=a.useState(null);return a.useEffect(()=>{const p=c.current;if(!d||!p)return;const h=new IntersectionObserver(([f])=>l((f==null?void 0:f.isIntersecting)??!1),{root:d,rootMargin:ze});return h.observe(p),()=>h.disconnect()},[d]),a.useEffect(()=>{const p=c.current;if(!p)return;if(!x){p.replaceChildren();return}let h=!1,f=null,j=null;return(async()=>{try{const{pdfjs:_}=G(),b=await e.getPage(t),P=b.getViewport({scale:s}),g=me(r.width,r.height,s,window.devicePixelRatio||1),m=document.createElement("canvas");m.width=Math.floor(P.width*g),m.height=Math.floor(P.height*g),m.className=u.canvas??"";const F=b.render({canvas:m,viewport:P,transform:g===1?void 0:[g,0,0,g,0,0]});f=F,await F.promise;const i=document.createElement("div");i.className=`textLayer ${u.textLayer??""}`,i.style.setProperty("--total-scale-factor",String(s));const M=new _.TextLayer({textContentSource:b.streamTextContent(),container:i,viewport:P});if(j=M,await M.render(),h)return;p.replaceChildren(m,i),D(null)}catch(_){!h&&!Le(_)&&D(_ instanceof Error?_.message:"render failed")}})(),()=>{h=!0,f==null||f.cancel(),j==null||j.cancel()}},[x,e,t,s,r.width,r.height]),n.jsx("div",{ref:c,className:u.page,style:{width:r.width*s,height:r.height*s},"data-page":t,children:C&&n.jsxs("span",{className:u.pageError,children:["Page ",t," failed to render."]})})}export{Xe as PdfViewer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as s,j as e}from"./vendor-react-Dka9ZH0B.js";import{b as f,S as d,B as m}from"./index-DjRqFIN0.js";function S({path:i}){const{saveToDisk:c}=f(),[u,t]=s.useState(!1),[n,a]=s.useState(null),r=s.useRef(!0);s.useEffect(()=>()=>{r.current=!1},[]);async function l(){t(!0),a(null);try{await c(i)}catch(o){r.current&&a(o instanceof Error?o.message:"download failed")}finally{r.current&&t(!1)}}return e.jsxs(e.Fragment,{children:[n&&e.jsxs("div",{children:["Error: ",n]}),u?e.jsx(d,{size:"sm"}):e.jsx(m,{size:"sm",onClick:()=>void l(),children:"Download"})]})}export{S};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{j as l,a as ye,r as v}from"./vendor-react-Dka9ZH0B.js";import{af as Ce,N as Ee}from"./vendor-z183l2lP.js";import{g as ie,u as se,r as Lt,D as ae,B as G,S as It,y as Ne,z as Be,M as Se,N as Ie,I as Re,E as Tt}from"./index-DjRqFIN0.js";import{a as Ae}from"./vendor-query-CDNPrdQ8.js";import{u as O}from"./provider-auth-store-CpmUGwuu.js";import{E as ue,C as be,d as _e}from"./vendor-icons-CSCeICuX.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";function Le(t,n){const i=ie().links.openExternal;i&&(t.preventDefault(),i(n))}function Rt({href:t,onClick:n,...i}){return l.jsx("a",{...i,href:t,target:"_blank",rel:"noreferrer",onClick:r=>{n==null||n(r),r.defaultPrevented||Le(r,t)}})}function Te(t,n){return{provider:t,authType:n,phase:"starting",statusLines:[]}}function Me(t,n,i){return{...t,phase:t.phase==="starting"?"waiting":t.phase,statusLines:[...t.statusLines,{kind:"info",message:n,links:i}]}}function Pe(t,n){const i=t.statusLines.filter(r=>r.kind!=="progress");return{...t,phase:t.phase==="starting"?"waiting":t.phase,statusLines:[...i,{kind:"progress",message:n}]}}function ve(t,n,i){return{...t,authUrl:{url:n,instructions:i}}}function je(t,n,i,r,e){return{...t,deviceCode:{userCode:n,verificationUri:i,intervalSeconds:r,expiresInSeconds:e}}}function De(t,n){return{...t,phase:"prompt",prompt:n}}function xe(t,n){var i;return((i=t.prompt)==null?void 0:i.promptId)!==n?t:{...t,phase:"waiting",prompt:void 0}}function ke(t,n,i){return{...t,phase:"done",result:{ok:n,error:i}}}function Ue(t,n){if(t.phase==="done")return t;switch(n.kind){case"info":return Me(t,n.message,n.links);case"progress":return Pe(t,n.message);case"auth_url":return ve(t,n.url,n.instructions);case"device_code":return je(t,n.userCode,n.verificationUri,n.intervalSeconds,n.expiresInSeconds);case"prompt":return De(t,n);case"prompt_cancelled":return xe(t,n.promptId);case"done":return ke(t,n.ok,n.error)}}var V={},nt,Mt;function qe(){return Mt||(Mt=1,nt=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),nt}var rt={},U={},Pt;function F(){if(Pt)return U;Pt=1;let t;const n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return U.getSymbolSize=function(r){if(!r)throw new Error('"version" cannot be null or undefined');if(r<1||r>40)throw new Error('"version" should be in range from 1 to 40');return r*4+17},U.getSymbolTotalCodewords=function(r){return n[r]},U.getBCHDigit=function(i){let r=0;for(;i!==0;)r++,i>>>=1;return r},U.setToSJISFunction=function(r){if(typeof r!="function")throw new Error('"toSJISFunc" is not a valid function.');t=r},U.isKanjiModeEnabled=function(){return typeof t<"u"},U.toSJIS=function(r){return t(r)},U}var ot={},vt;function At(){return vt||(vt=1,(function(t){t.L={bit:1},t.M={bit:0},t.Q={bit:3},t.H={bit:2};function n(i){if(typeof i!="string")throw new Error("Param is not a string");switch(i.toLowerCase()){case"l":case"low":return t.L;case"m":case"medium":return t.M;case"q":case"quartile":return t.Q;case"h":case"high":return t.H;default:throw new Error("Unknown EC Level: "+i)}}t.isValid=function(r){return r&&typeof r.bit<"u"&&r.bit>=0&&r.bit<4},t.from=function(r,e){if(t.isValid(r))return r;try{return n(r)}catch{return e}}})(ot)),ot}var it,jt;function Fe(){if(jt)return it;jt=1;function t(){this.buffer=[],this.length=0}return t.prototype={get:function(n){const i=Math.floor(n/8);return(this.buffer[i]>>>7-n%8&1)===1},put:function(n,i){for(let r=0;r<i;r++)this.putBit((n>>>i-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(n){const i=Math.floor(this.length/8);this.buffer.length<=i&&this.buffer.push(0),n&&(this.buffer[i]|=128>>>this.length%8),this.length++}},it=t,it}var st,Dt;function ze(){if(Dt)return st;Dt=1;function t(n){if(!n||n<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=n,this.data=new Uint8Array(n*n),this.reservedBit=new Uint8Array(n*n)}return t.prototype.set=function(n,i,r,e){const o=n*this.size+i;this.data[o]=r,e&&(this.reservedBit[o]=!0)},t.prototype.get=function(n,i){return this.data[n*this.size+i]},t.prototype.xor=function(n,i,r){this.data[n*this.size+i]^=r},t.prototype.isReserved=function(n,i){return this.reservedBit[n*this.size+i]},st=t,st}var at={},xt;function Ke(){return xt||(xt=1,(function(t){const n=F().getSymbolSize;t.getRowColCoords=function(r){if(r===1)return[];const e=Math.floor(r/7)+2,o=n(r),s=o===145?26:Math.ceil((o-13)/(2*e-2))*2,a=[o-7];for(let u=1;u<e-1;u++)a[u]=a[u-1]-s;return a.push(6),a.reverse()},t.getPositions=function(r){const e=[],o=t.getRowColCoords(r),s=o.length;for(let a=0;a<s;a++)for(let u=0;u<s;u++)a===0&&u===0||a===0&&u===s-1||a===s-1&&u===0||e.push([o[a],o[u]]);return e}})(at)),at}var ut={},kt;function Ve(){if(kt)return ut;kt=1;const t=F().getSymbolSize,n=7;return ut.getPositions=function(r){const e=t(r);return[[0,0],[e-n,0],[0,e-n]]},ut}var ct={},Ut;function Oe(){return Ut||(Ut=1,(function(t){t.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const n={N1:3,N2:3,N3:40,N4:10};t.isValid=function(e){return e!=null&&e!==""&&!isNaN(e)&&e>=0&&e<=7},t.from=function(e){return t.isValid(e)?parseInt(e,10):void 0},t.getPenaltyN1=function(e){const o=e.size;let s=0,a=0,u=0,c=null,m=null;for(let E=0;E<o;E++){a=u=0,c=m=null;for(let S=0;S<o;S++){let h=e.get(E,S);h===c?a++:(a>=5&&(s+=n.N1+(a-5)),c=h,a=1),h=e.get(S,E),h===m?u++:(u>=5&&(s+=n.N1+(u-5)),m=h,u=1)}a>=5&&(s+=n.N1+(a-5)),u>=5&&(s+=n.N1+(u-5))}return s},t.getPenaltyN2=function(e){const o=e.size;let s=0;for(let a=0;a<o-1;a++)for(let u=0;u<o-1;u++){const c=e.get(a,u)+e.get(a,u+1)+e.get(a+1,u)+e.get(a+1,u+1);(c===4||c===0)&&s++}return s*n.N2},t.getPenaltyN3=function(e){const o=e.size;let s=0,a=0,u=0;for(let c=0;c<o;c++){a=u=0;for(let m=0;m<o;m++)a=a<<1&2047|e.get(c,m),m>=10&&(a===1488||a===93)&&s++,u=u<<1&2047|e.get(m,c),m>=10&&(u===1488||u===93)&&s++}return s*n.N3},t.getPenaltyN4=function(e){let o=0;const s=e.data.length;for(let u=0;u<s;u++)o+=e.data[u];return Math.abs(Math.ceil(o*100/s/5)-10)*n.N4};function i(r,e,o){switch(r){case t.Patterns.PATTERN000:return(e+o)%2===0;case t.Patterns.PATTERN001:return e%2===0;case t.Patterns.PATTERN010:return o%3===0;case t.Patterns.PATTERN011:return(e+o)%3===0;case t.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(o/3))%2===0;case t.Patterns.PATTERN101:return e*o%2+e*o%3===0;case t.Patterns.PATTERN110:return(e*o%2+e*o%3)%2===0;case t.Patterns.PATTERN111:return(e*o%3+(e+o)%2)%2===0;default:throw new Error("bad maskPattern:"+r)}}t.applyMask=function(e,o){const s=o.size;for(let a=0;a<s;a++)for(let u=0;u<s;u++)o.isReserved(u,a)||o.xor(u,a,i(e,u,a))},t.getBestMask=function(e,o){const s=Object.keys(t.Patterns).length;let a=0,u=1/0;for(let c=0;c<s;c++){o(c),t.applyMask(c,e);const m=t.getPenaltyN1(e)+t.getPenaltyN2(e)+t.getPenaltyN3(e)+t.getPenaltyN4(e);t.applyMask(c,e),m<u&&(u=m,a=c)}return a}})(ct)),ct}var W={},qt;function ce(){if(qt)return W;qt=1;const t=At(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],i=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return W.getBlocksCount=function(e,o){switch(o){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},W.getTotalCodewordsCount=function(e,o){switch(o){case t.L:return i[(e-1)*4+0];case t.M:return i[(e-1)*4+1];case t.Q:return i[(e-1)*4+2];case t.H:return i[(e-1)*4+3];default:return}},W}var lt={},Q={},Ft;function He(){if(Ft)return Q;Ft=1;const t=new Uint8Array(512),n=new Uint8Array(256);return(function(){let r=1;for(let e=0;e<255;e++)t[e]=r,n[r]=e,r<<=1,r&256&&(r^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),Q.log=function(r){if(r<1)throw new Error("log("+r+")");return n[r]},Q.exp=function(r){return t[r]},Q.mul=function(r,e){return r===0||e===0?0:t[n[r]+n[e]]},Q}var zt;function Qe(){return zt||(zt=1,(function(t){const n=He();t.mul=function(r,e){const o=new Uint8Array(r.length+e.length-1);for(let s=0;s<r.length;s++)for(let a=0;a<e.length;a++)o[s+a]^=n.mul(r[s],e[a]);return o},t.mod=function(r,e){let o=new Uint8Array(r);for(;o.length-e.length>=0;){const s=o[0];for(let u=0;u<e.length;u++)o[u]^=n.mul(e[u],s);let a=0;for(;a<o.length&&o[a]===0;)a++;o=o.slice(a)}return o},t.generateECPolynomial=function(r){let e=new Uint8Array([1]);for(let o=0;o<r;o++)e=t.mul(e,new Uint8Array([1,n.exp(o)]));return e}})(lt)),lt}var dt,Kt;function Je(){if(Kt)return dt;Kt=1;const t=Qe();function n(i){this.genPoly=void 0,this.degree=i,this.degree&&this.initialize(this.degree)}return n.prototype.initialize=function(r){this.degree=r,this.genPoly=t.generateECPolynomial(this.degree)},n.prototype.encode=function(r){if(!this.genPoly)throw new Error("Encoder not initialized");const e=new Uint8Array(r.length+this.degree);e.set(r);const o=t.mod(e,this.genPoly),s=this.degree-o.length;if(s>0){const a=new Uint8Array(this.degree);return a.set(o,s),a}return o},dt=n,dt}var ft={},ht={},gt={},Vt;function le(){return Vt||(Vt=1,gt.isValid=function(n){return!isNaN(n)&&n>=1&&n<=40}),gt}var D={},Ot;function de(){if(Ot)return D;Ot=1;const t="[0-9]+",n="[A-Z $%*+\\-./:]+";let i="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";i=i.replace(/u/g,"\\u");const r="(?:(?![A-Z0-9 $%*+\\-./:]|"+i+`)(?:.|[\r
|
|
2
|
+
]))+`;D.KANJI=new RegExp(i,"g"),D.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),D.BYTE=new RegExp(r,"g"),D.NUMERIC=new RegExp(t,"g"),D.ALPHANUMERIC=new RegExp(n,"g");const e=new RegExp("^"+i+"$"),o=new RegExp("^"+t+"$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return D.testKanji=function(u){return e.test(u)},D.testNumeric=function(u){return o.test(u)},D.testAlphanumeric=function(u){return s.test(u)},D}var Ht;function z(){return Ht||(Ht=1,(function(t){const n=le(),i=de();t.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},t.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},t.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},t.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},t.MIXED={bit:-1},t.getCharCountIndicator=function(o,s){if(!o.ccBits)throw new Error("Invalid mode: "+o);if(!n.isValid(s))throw new Error("Invalid version: "+s);return s>=1&&s<10?o.ccBits[0]:s<27?o.ccBits[1]:o.ccBits[2]},t.getBestModeForData=function(o){return i.testNumeric(o)?t.NUMERIC:i.testAlphanumeric(o)?t.ALPHANUMERIC:i.testKanji(o)?t.KANJI:t.BYTE},t.toString=function(o){if(o&&o.id)return o.id;throw new Error("Invalid mode")},t.isValid=function(o){return o&&o.bit&&o.ccBits};function r(e){if(typeof e!="string")throw new Error("Param is not a string");switch(e.toLowerCase()){case"numeric":return t.NUMERIC;case"alphanumeric":return t.ALPHANUMERIC;case"kanji":return t.KANJI;case"byte":return t.BYTE;default:throw new Error("Unknown mode: "+e)}}t.from=function(o,s){if(t.isValid(o))return o;try{return r(o)}catch{return s}}})(ht)),ht}var Qt;function Ye(){return Qt||(Qt=1,(function(t){const n=F(),i=ce(),r=At(),e=z(),o=le(),s=7973,a=n.getBCHDigit(s);function u(S,h,_){for(let d=1;d<=40;d++)if(h<=t.getCapacity(d,_,S))return d}function c(S,h){return e.getCharCountIndicator(S,h)+4}function m(S,h){let _=0;return S.forEach(function(d){const P=c(d.mode,h);_+=P+d.getBitsLength()}),_}function E(S,h){for(let _=1;_<=40;_++)if(m(S,_)<=t.getCapacity(_,h,e.MIXED))return _}t.from=function(h,_){return o.isValid(h)?parseInt(h,10):_},t.getCapacity=function(h,_,d){if(!o.isValid(h))throw new Error("Invalid QR Code version");typeof d>"u"&&(d=e.BYTE);const P=n.getSymbolTotalCodewords(h),b=i.getTotalCodewordsCount(h,_),L=(P-b)*8;if(d===e.MIXED)return L;const A=L-c(d,h);switch(d){case e.NUMERIC:return Math.floor(A/10*3);case e.ALPHANUMERIC:return Math.floor(A/11*2);case e.KANJI:return Math.floor(A/13);case e.BYTE:default:return Math.floor(A/8)}},t.getBestVersionForData=function(h,_){let d;const P=r.from(_,r.M);if(Array.isArray(h)){if(h.length>1)return E(h,P);if(h.length===0)return 1;d=h[0]}else d=h;return u(d.mode,d.getLength(),P)},t.getEncodedBits=function(h){if(!o.isValid(h)||h<7)throw new Error("Invalid QR Code version");let _=h<<12;for(;n.getBCHDigit(_)-a>=0;)_^=s<<n.getBCHDigit(_)-a;return h<<12|_}})(ft)),ft}var pt={},Jt;function $e(){if(Jt)return pt;Jt=1;const t=F(),n=1335,i=21522,r=t.getBCHDigit(n);return pt.getEncodedBits=function(o,s){const a=o.bit<<3|s;let u=a<<10;for(;t.getBCHDigit(u)-r>=0;)u^=n<<t.getBCHDigit(u)-r;return(a<<10|u)^i},pt}var mt={},wt,Yt;function Ge(){if(Yt)return wt;Yt=1;const t=z();function n(i){this.mode=t.NUMERIC,this.data=i.toString()}return n.getBitsLength=function(r){return 10*Math.floor(r/3)+(r%3?r%3*3+1:0)},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(r){let e,o,s;for(e=0;e+3<=this.data.length;e+=3)o=this.data.substr(e,3),s=parseInt(o,10),r.put(s,10);const a=this.data.length-e;a>0&&(o=this.data.substr(e),s=parseInt(o,10),r.put(s,a*3+1))},wt=n,wt}var yt,$t;function We(){if($t)return yt;$t=1;const t=z(),n=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function i(r){this.mode=t.ALPHANUMERIC,this.data=r}return i.getBitsLength=function(e){return 11*Math.floor(e/2)+6*(e%2)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let o;for(o=0;o+2<=this.data.length;o+=2){let s=n.indexOf(this.data[o])*45;s+=n.indexOf(this.data[o+1]),e.put(s,11)}this.data.length%2&&e.put(n.indexOf(this.data[o]),6)},yt=i,yt}var Ct,Gt;function Xe(){if(Gt)return Ct;Gt=1;const t=z();function n(i){this.mode=t.BYTE,typeof i=="string"?this.data=new TextEncoder().encode(i):this.data=new Uint8Array(i)}return n.getBitsLength=function(r){return r*8},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(i){for(let r=0,e=this.data.length;r<e;r++)i.put(this.data[r],8)},Ct=n,Ct}var Et,Wt;function Ze(){if(Wt)return Et;Wt=1;const t=z(),n=F();function i(r){this.mode=t.KANJI,this.data=r}return i.getBitsLength=function(e){return e*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(r){let e;for(e=0;e<this.data.length;e++){let o=n.toSJIS(this.data[e]);if(o>=33088&&o<=40956)o-=33088;else if(o>=57408&&o<=60351)o-=49472;else throw new Error("Invalid SJIS character: "+this.data[e]+`
|
|
3
|
+
Make sure your charset is UTF-8`);o=(o>>>8&255)*192+(o&255),r.put(o,13)}},Et=i,Et}var Xt;function tn(){return Xt||(Xt=1,(function(t){const n=z(),i=Ge(),r=We(),e=Xe(),o=Ze(),s=de(),a=F(),u=Ce();function c(b){return unescape(encodeURIComponent(b)).length}function m(b,L,A){const R=[];let M;for(;(M=b.exec(A))!==null;)R.push({data:M[0],index:M.index,mode:L,length:M[0].length});return R}function E(b){const L=m(s.NUMERIC,n.NUMERIC,b),A=m(s.ALPHANUMERIC,n.ALPHANUMERIC,b);let R,M;return a.isKanjiModeEnabled()?(R=m(s.BYTE,n.BYTE,b),M=m(s.KANJI,n.KANJI,b)):(R=m(s.BYTE_KANJI,n.BYTE,b),M=[]),L.concat(A,R,M).sort(function(N,w){return N.index-w.index}).map(function(N){return{data:N.data,mode:N.mode,length:N.length}})}function S(b,L){switch(L){case n.NUMERIC:return i.getBitsLength(b);case n.ALPHANUMERIC:return r.getBitsLength(b);case n.KANJI:return o.getBitsLength(b);case n.BYTE:return e.getBitsLength(b)}}function h(b){return b.reduce(function(L,A){const R=L.length-1>=0?L[L.length-1]:null;return R&&R.mode===A.mode?(L[L.length-1].data+=A.data,L):(L.push(A),L)},[])}function _(b){const L=[];for(let A=0;A<b.length;A++){const R=b[A];switch(R.mode){case n.NUMERIC:L.push([R,{data:R.data,mode:n.ALPHANUMERIC,length:R.length},{data:R.data,mode:n.BYTE,length:R.length}]);break;case n.ALPHANUMERIC:L.push([R,{data:R.data,mode:n.BYTE,length:R.length}]);break;case n.KANJI:L.push([R,{data:R.data,mode:n.BYTE,length:c(R.data)}]);break;case n.BYTE:L.push([{data:R.data,mode:n.BYTE,length:c(R.data)}])}}return L}function d(b,L){const A={},R={start:{}};let M=["start"];for(let p=0;p<b.length;p++){const N=b[p],w=[];for(let g=0;g<N.length;g++){const I=N[g],y=""+p+g;w.push(y),A[y]={node:I,lastCount:0},R[y]={};for(let B=0;B<M.length;B++){const C=M[B];A[C]&&A[C].node.mode===I.mode?(R[C][y]=S(A[C].lastCount+I.length,I.mode)-S(A[C].lastCount,I.mode),A[C].lastCount+=I.length):(A[C]&&(A[C].lastCount=I.length),R[C][y]=S(I.length,I.mode)+4+n.getCharCountIndicator(I.mode,L))}}M=w}for(let p=0;p<M.length;p++)R[M[p]].end=0;return{map:R,table:A}}function P(b,L){let A;const R=n.getBestModeForData(b);if(A=n.from(L,R),A!==n.BYTE&&A.bit<R.bit)throw new Error('"'+b+'" cannot be encoded with mode '+n.toString(A)+`.
|
|
4
|
+
Suggested mode is: `+n.toString(R));switch(A===n.KANJI&&!a.isKanjiModeEnabled()&&(A=n.BYTE),A){case n.NUMERIC:return new i(b);case n.ALPHANUMERIC:return new r(b);case n.KANJI:return new o(b);case n.BYTE:return new e(b)}}t.fromArray=function(L){return L.reduce(function(A,R){return typeof R=="string"?A.push(P(R,null)):R.data&&A.push(P(R.data,R.mode)),A},[])},t.fromString=function(L,A){const R=E(L,a.isKanjiModeEnabled()),M=_(R),p=d(M,A),N=u.find_path(p.map,"start","end"),w=[];for(let g=1;g<N.length-1;g++)w.push(p.table[N[g]].node);return t.fromArray(h(w))},t.rawSplit=function(L){return t.fromArray(E(L,a.isKanjiModeEnabled()))}})(mt)),mt}var Zt;function en(){if(Zt)return rt;Zt=1;const t=F(),n=At(),i=Fe(),r=ze(),e=Ke(),o=Ve(),s=Oe(),a=ce(),u=Je(),c=Ye(),m=$e(),E=z(),S=tn();function h(p,N){const w=p.size,g=o.getPositions(N);for(let I=0;I<g.length;I++){const y=g[I][0],B=g[I][1];for(let C=-1;C<=7;C++)if(!(y+C<=-1||w<=y+C))for(let f=-1;f<=7;f++)B+f<=-1||w<=B+f||(C>=0&&C<=6&&(f===0||f===6)||f>=0&&f<=6&&(C===0||C===6)||C>=2&&C<=4&&f>=2&&f<=4?p.set(y+C,B+f,!0,!0):p.set(y+C,B+f,!1,!0))}}function _(p){const N=p.size;for(let w=8;w<N-8;w++){const g=w%2===0;p.set(w,6,g,!0),p.set(6,w,g,!0)}}function d(p,N){const w=e.getPositions(N);for(let g=0;g<w.length;g++){const I=w[g][0],y=w[g][1];for(let B=-2;B<=2;B++)for(let C=-2;C<=2;C++)B===-2||B===2||C===-2||C===2||B===0&&C===0?p.set(I+B,y+C,!0,!0):p.set(I+B,y+C,!1,!0)}}function P(p,N){const w=p.size,g=c.getEncodedBits(N);let I,y,B;for(let C=0;C<18;C++)I=Math.floor(C/3),y=C%3+w-8-3,B=(g>>C&1)===1,p.set(I,y,B,!0),p.set(y,I,B,!0)}function b(p,N,w){const g=p.size,I=m.getEncodedBits(N,w);let y,B;for(y=0;y<15;y++)B=(I>>y&1)===1,y<6?p.set(y,8,B,!0):y<8?p.set(y+1,8,B,!0):p.set(g-15+y,8,B,!0),y<8?p.set(8,g-y-1,B,!0):y<9?p.set(8,15-y-1+1,B,!0):p.set(8,15-y-1,B,!0);p.set(g-8,8,1,!0)}function L(p,N){const w=p.size;let g=-1,I=w-1,y=7,B=0;for(let C=w-1;C>0;C-=2)for(C===6&&C--;;){for(let f=0;f<2;f++)if(!p.isReserved(I,C-f)){let j=!1;B<N.length&&(j=(N[B]>>>y&1)===1),p.set(I,C-f,j),y--,y===-1&&(B++,y=7)}if(I+=g,I<0||w<=I){I-=g,g=-g;break}}}function A(p,N,w){const g=new i;w.forEach(function(f){g.put(f.mode.bit,4),g.put(f.getLength(),E.getCharCountIndicator(f.mode,p)),f.write(g)});const I=t.getSymbolTotalCodewords(p),y=a.getTotalCodewordsCount(p,N),B=(I-y)*8;for(g.getLengthInBits()+4<=B&&g.put(0,4);g.getLengthInBits()%8!==0;)g.putBit(0);const C=(B-g.getLengthInBits())/8;for(let f=0;f<C;f++)g.put(f%2?17:236,8);return R(g,p,N)}function R(p,N,w){const g=t.getSymbolTotalCodewords(N),I=a.getTotalCodewordsCount(N,w),y=g-I,B=a.getBlocksCount(N,w),C=g%B,f=B-C,j=Math.floor(g/B),q=Math.floor(y/B),Y=q+1,H=j-q,me=new u(H);let X=0;const $=new Array(B),bt=new Array(B);let Z=0;const we=new Uint8Array(p.buffer);for(let K=0;K<B;K++){const et=K<f?q:Y;$[K]=we.slice(X,X+et),bt[K]=me.encode($[K]),X+=et,Z=Math.max(Z,et)}const tt=new Uint8Array(g);let _t=0,x,k;for(x=0;x<Z;x++)for(k=0;k<B;k++)x<$[k].length&&(tt[_t++]=$[k][x]);for(x=0;x<H;x++)for(k=0;k<B;k++)tt[_t++]=bt[k][x];return tt}function M(p,N,w,g){let I;if(Array.isArray(p))I=S.fromArray(p);else if(typeof p=="string"){let j=N;if(!j){const q=S.rawSplit(p);j=c.getBestVersionForData(q,w)}I=S.fromString(p,j||40)}else throw new Error("Invalid data");const y=c.getBestVersionForData(I,w);if(!y)throw new Error("The amount of data is too big to be stored in a QR Code");if(!N)N=y;else if(N<y)throw new Error(`
|
|
5
|
+
The chosen QR Code version cannot contain this amount of data.
|
|
6
|
+
Minimum version required to store current data is: `+y+`.
|
|
7
|
+
`);const B=A(N,w,I),C=t.getSymbolSize(N),f=new r(C);return h(f,N),_(f),d(f,N),b(f,w,0),N>=7&&P(f,N),L(f,B),isNaN(g)&&(g=s.getBestMask(f,b.bind(null,f,w))),s.applyMask(g,f),b(f,w,g),{modules:f,version:N,errorCorrectionLevel:w,maskPattern:g,segments:I}}return rt.create=function(N,w){if(typeof N>"u"||N==="")throw new Error("No input text");let g=n.M,I,y;return typeof w<"u"&&(g=n.from(w.errorCorrectionLevel,n.M),I=c.from(w.version),y=s.from(w.maskPattern),w.toSJISFunc&&t.setToSJISFunction(w.toSJISFunc)),M(N,I,g,y)},rt}var Nt={},Bt={},te;function fe(){return te||(te=1,(function(t){function n(i){if(typeof i=="number"&&(i=i.toString()),typeof i!="string")throw new Error("Color should be defined as hex string");let r=i.slice().replace("#","").split("");if(r.length<3||r.length===5||r.length>8)throw new Error("Invalid hex color: "+i);(r.length===3||r.length===4)&&(r=Array.prototype.concat.apply([],r.map(function(o){return[o,o]}))),r.length===6&&r.push("F","F");const e=parseInt(r.join(""),16);return{r:e>>24&255,g:e>>16&255,b:e>>8&255,a:e&255,hex:"#"+r.slice(0,6).join("")}}t.getOptions=function(r){r||(r={}),r.color||(r.color={});const e=typeof r.margin>"u"||r.margin===null||r.margin<0?4:r.margin,o=r.width&&r.width>=21?r.width:void 0,s=r.scale||4;return{width:o,scale:o?4:s,margin:e,color:{dark:n(r.color.dark||"#000000ff"),light:n(r.color.light||"#ffffffff")},type:r.type,rendererOpts:r.rendererOpts||{}}},t.getScale=function(r,e){return e.width&&e.width>=r+e.margin*2?e.width/(r+e.margin*2):e.scale},t.getImageWidth=function(r,e){const o=t.getScale(r,e);return Math.floor((r+e.margin*2)*o)},t.qrToImageData=function(r,e,o){const s=e.modules.size,a=e.modules.data,u=t.getScale(s,o),c=Math.floor((s+o.margin*2)*u),m=o.margin*u,E=[o.color.light,o.color.dark];for(let S=0;S<c;S++)for(let h=0;h<c;h++){let _=(S*c+h)*4,d=o.color.light;if(S>=m&&h>=m&&S<c-m&&h<c-m){const P=Math.floor((S-m)/u),b=Math.floor((h-m)/u);d=E[a[P*s+b]?1:0]}r[_++]=d.r,r[_++]=d.g,r[_++]=d.b,r[_]=d.a}}})(Bt)),Bt}var ee;function nn(){return ee||(ee=1,(function(t){const n=fe();function i(e,o,s){e.clearRect(0,0,o.width,o.height),o.style||(o.style={}),o.height=s,o.width=s,o.style.height=s+"px",o.style.width=s+"px"}function r(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}t.render=function(o,s,a){let u=a,c=s;typeof u>"u"&&(!s||!s.getContext)&&(u=s,s=void 0),s||(c=r()),u=n.getOptions(u);const m=n.getImageWidth(o.modules.size,u),E=c.getContext("2d"),S=E.createImageData(m,m);return n.qrToImageData(S.data,o,u),i(E,c,m),E.putImageData(S,0,0),c},t.renderToDataURL=function(o,s,a){let u=a;typeof u>"u"&&(!s||!s.getContext)&&(u=s,s=void 0),u||(u={});const c=t.render(o,s,u),m=u.type||"image/png",E=u.rendererOpts||{};return c.toDataURL(m,E.quality)}})(Nt)),Nt}var St={},ne;function rn(){if(ne)return St;ne=1;const t=fe();function n(e,o){const s=e.a/255,a=o+'="'+e.hex+'"';return s<1?a+" "+o+'-opacity="'+s.toFixed(2).slice(1)+'"':a}function i(e,o,s){let a=e+o;return typeof s<"u"&&(a+=" "+s),a}function r(e,o,s){let a="",u=0,c=!1,m=0;for(let E=0;E<e.length;E++){const S=Math.floor(E%o),h=Math.floor(E/o);!S&&!c&&(c=!0),e[E]?(m++,E>0&&S>0&&e[E-1]||(a+=c?i("M",S+s,.5+h+s):i("m",u,0),u=0,c=!1),S+1<o&&e[E+1]||(a+=i("h",m),m=0)):u++}return a}return St.render=function(o,s,a){const u=t.getOptions(s),c=o.modules.size,m=o.modules.data,E=c+u.margin*2,S=u.color.light.a?"<path "+n(u.color.light,"fill")+' d="M0 0h'+E+"v"+E+'H0z"/>':"",h="<path "+n(u.color.dark,"stroke")+' d="'+r(m,c,u.margin)+'"/>',_='viewBox="0 0 '+E+" "+E+'"',P='<svg xmlns="http://www.w3.org/2000/svg" '+(u.width?'width="'+u.width+'" height="'+u.width+'" ':"")+_+' shape-rendering="crispEdges">'+S+h+`</svg>
|
|
8
|
+
`;return typeof a=="function"&&a(null,P),P},St}var re;function on(){if(re)return V;re=1;const t=qe(),n=en(),i=nn(),r=rn();function e(o,s,a,u,c){const m=[].slice.call(arguments,1),E=m.length,S=typeof m[E-1]=="function";if(!S&&!t())throw new Error("Callback required as last argument");if(S){if(E<2)throw new Error("Too few arguments provided");E===2?(c=a,a=s,s=u=void 0):E===3&&(s.getContext&&typeof c>"u"?(c=u,u=void 0):(c=u,u=a,a=s,s=void 0))}else{if(E<1)throw new Error("Too few arguments provided");return E===1?(a=s,s=u=void 0):E===2&&!s.getContext&&(u=a,a=s,s=void 0),new Promise(function(h,_){try{const d=n.create(a,u);h(o(d,s,u))}catch(d){_(d)}})}try{const h=n.create(a,u);c(null,o(h,s,u))}catch(h){c(h)}}return V.create=n.create,V.toCanvas=e.bind(null,i.render),V.toDataURL=e.bind(null,i.renderToDataURL),V.toString=e.bind(null,function(o,s,a){return r.render(o,a)}),V}var sn=on();const an=ye(sn),un="_qr_lnaw6_1",cn="_placeholder_lnaw6_2",oe={qr:un,placeholder:cn},ln=320;function he({value:t,label:n}){const[i,r]=v.useState(null),[e,o]=v.useState(!1);return v.useEffect(()=>{let s=!0;return r(null),o(!1),an.toDataURL(t,{width:ln,margin:1,errorCorrectionLevel:"M"}).then(a=>{s&&r(a)}).catch(()=>{s&&o(!0)}),()=>{s=!1}},[t]),e?null:i?l.jsx("img",{className:oe.qr,src:i,alt:n}):l.jsx("div",{className:oe.placeholder,"aria-hidden":"true"})}const dn="_body_1yyw5_1",fn="_status_1yyw5_11",hn="_statusLine_1yyw5_17",gn="_statusLineProgress_1yyw5_18",pn="_statusText_1yyw5_28",mn="_prompt_1yyw5_40",wn="_promptMessage_1yyw5_46",yn="_options_1yyw5_51",Cn="_option_1yyw5_51",En="_optionLabel_1yyw5_76",Nn="_optionDescription_1yyw5_81",Bn="_success_1yyw5_86",Sn="_error_1yyw5_91",In="_oauth_1yyw5_98",Rn="_oauthInstructions_1yyw5_107",An="_oauthMain_1yyw5_115",bn="_oauthActions_1yyw5_123",_n="_openButton_1yyw5_135",Ln="_urlRow_1yyw5_156",Tn="_oauthUrl_1yyw5_164",Mn="_oauthQr_1yyw5_175",Pn="_oauthQrCaption_1yyw5_184",vn="_deviceCode_1yyw5_191",jn="_countdown_1yyw5_198",T={body:dn,status:fn,statusLine:hn,statusLineProgress:gn,statusText:pn,prompt:mn,promptMessage:wn,options:yn,option:Cn,optionLabel:En,optionDescription:Nn,success:Bn,error:Sn,oauth:In,oauthInstructions:Rn,oauthMain:An,oauthActions:bn,openButton:_n,urlRow:Ln,oauthUrl:Tn,oauthQr:Mn,oauthQrCaption:Pn,deviceCode:vn,countdown:jn},Dn=1200,ge="provider-auth-prompt-form";function xn(){const t=O(a=>a.pendingLogin),n=O(a=>a.cancelLogin),i=O(a=>a.clearLogin),r=O(a=>a.retryLogin),e=se(a=>a.client),o=Ae(),s=v.useCallback(()=>{o.invalidateQueries({queryKey:Lt.providerAuthList()}),o.invalidateQueries({queryKey:Lt.providerModelsAll()})},[o]);return!t||!e?null:l.jsx(kn,{provider:t.provider,providerName:t.providerName,authType:t.authType,controller:t.controller,client:e,onCancel:n,onClear:i,onRetry:r,onSuccess:s},`${t.provider}:${t.authType}:${t.attempt}`)}function kn({provider:t,providerName:n,authType:i,controller:r,client:e,onCancel:o,onClear:s,onRetry:a,onSuccess:u}){var I,y,B,C;const[c,m]=v.useReducer(Ue,Te(t,i)),E=v.useRef(null),S=v.useRef(!1),h=v.useRef(!1),[_,d]=v.useState(""),[P,b]=v.useState(null);v.useEffect(()=>(h.current=!0,S.current||(S.current=!0,e.loginProvider(t,i,{prompt:f=>new Promise((j,q)=>{var Y;E.current={promptId:f.promptId,resolve:j,reject:q},m({kind:"prompt",...f}),(Y=f.signal)==null||Y.addEventListener("abort",()=>{var H;((H=E.current)==null?void 0:H.promptId)===f.promptId&&(E.current=null),d(""),m({kind:"prompt_cancelled",promptId:f.promptId})},{once:!0})}),onEvent:f=>m(f)},{signal:r.signal}).then(f=>{h.current&&m({kind:"done",ok:f.ok,error:f.error})}).catch(f=>{h.current&&m({kind:"done",ok:!1,error:f instanceof Error?f.message:String(f)})})),()=>{var f;h.current=!1,(f=E.current)==null||f.reject(new Error("login dialog closed")),E.current=null}),[]),v.useEffect(()=>{var j;if(c.phase!=="done"||!((j=c.result)!=null&&j.ok))return;u();const f=setTimeout(s,Dn);return()=>clearTimeout(f)},[c.phase,(I=c.result)==null?void 0:I.ok,u,s]);function L(f){const j=E.current;j&&(E.current=null,b(j.promptId),d(""),j.resolve(f))}function A(f){f.preventDefault(),L(_)}function R(f){f||(c.phase==="done"?s():o())}const M=c.phase==="done",p=M&&((y=c.result)==null?void 0:y.ok)===!0,N=M&&((B=c.result)==null?void 0:B.ok)===!1,w=c.phase==="prompt"&&c.prompt&&c.prompt.promptId!==P?c.prompt:void 0,g=w&&w.promptKind!=="select"?w:void 0;return l.jsx(ae,{open:!0,onOpenChange:R,title:`Log in to ${n}`,width:480,footer:M?l.jsxs(l.Fragment,{children:[l.jsx(G,{variant:"ghost",onClick:s,children:"Close"}),N&&l.jsx(G,{onClick:a,children:"Try again"})]}):l.jsxs(l.Fragment,{children:[l.jsx(G,{variant:"ghost",onClick:o,children:"Cancel"}),g&&l.jsx(G,{type:"submit",form:ge,children:"Submit"})]}),children:l.jsxs("div",{className:T.body,children:[l.jsx(Un,{state:c}),!M&&c.authUrl&&l.jsx(zn,{authUrl:c.authUrl,showInstructions:!g}),!M&&c.deviceCode&&l.jsx(Vn,{deviceCode:c.deviceCode,stopped:M}),w&&l.jsx(qn,{prompt:w,inputValue:_,onInputChange:d,onTextSubmit:A,onSelect:L}),p&&l.jsx("p",{className:T.success,children:"Signed in. Closing…"}),N&&l.jsx("p",{className:T.error,children:((C=c.result)==null?void 0:C.error)??"Login failed."})]})})}function Un({state:t}){return t.statusLines.length===0&&t.phase!=="starting"?null:l.jsxs("div",{className:T.status,children:[t.phase==="starting"&&l.jsxs("div",{className:T.statusLine,children:[l.jsx(It,{size:"sm"})," Starting…"]}),t.statusLines.map((n,i)=>{var r;return l.jsxs("div",{className:n.kind==="progress"?T.statusLineProgress:T.statusLine,children:[n.kind==="progress"&&l.jsx(It,{size:"sm"}),l.jsxs("span",{className:T.statusText,children:[l.jsx("span",{children:n.message}),(r=n.links)==null?void 0:r.map(e=>l.jsx(Rt,{href:e.url,children:e.label??e.url},e.url))]})]},i)})]})}function qn({prompt:t,inputValue:n,onInputChange:i,onTextSubmit:r,onSelect:e}){var o;return t.promptKind==="select"?l.jsxs("div",{className:T.prompt,children:[l.jsx("p",{className:T.promptMessage,children:t.message}),l.jsx("div",{className:T.options,children:(o=t.options)==null?void 0:o.map(s=>l.jsxs("button",{type:"button",className:T.option,onClick:()=>e(s.id),children:[l.jsx("span",{className:T.optionLabel,children:s.label}),s.description&&l.jsx("span",{className:T.optionDescription,children:s.description})]},s.id))})]}):l.jsxs("form",{id:ge,className:T.prompt,onSubmit:r,children:[l.jsx("label",{className:T.promptMessage,htmlFor:"login-prompt-input",children:t.message}),l.jsx(Ne,{id:"login-prompt-input",autoFocus:!0,type:t.promptKind==="secret"?"password":"text",autoComplete:t.promptKind==="secret"?"off":void 0,"data-1p-ignore":t.promptKind==="secret"?"true":void 0,"data-lpignore":t.promptKind==="secret"?"true":void 0,"data-bwignore":t.promptKind==="secret"?"true":void 0,placeholder:t.placeholder,value:n,onChange:s=>i(s.target.value)})]})}const Fn=1800;function pe({value:t,label:n}){const[i,r]=v.useState(!1);return v.useEffect(()=>{if(!i)return;const e=setTimeout(()=>r(!1),Fn);return()=>clearTimeout(e)},[i]),l.jsx(Be,{size:"sm","aria-label":i?"Copied":n,title:i?"Copied":n,onClick:()=>{ie().clipboard.writeText(t).then(()=>r(!0),()=>r(!1))},children:i?l.jsx(be,{size:14}):l.jsx(_e,{size:14})})}function zn({authUrl:t,showInstructions:n}){return l.jsxs("div",{className:T.oauth,children:[n&&t.instructions&&l.jsx("p",{className:T.oauthInstructions,children:t.instructions}),l.jsxs("div",{className:T.oauthMain,children:[l.jsxs("div",{className:T.oauthActions,children:[l.jsxs(Rt,{className:T.openButton,href:t.url,children:[l.jsx(ue,{size:14}),"Open login page"]}),l.jsxs("div",{className:T.urlRow,children:[l.jsx("span",{className:T.oauthUrl,children:t.url}),l.jsx(pe,{value:t.url,label:"Copy link"})]})]}),l.jsxs("div",{className:T.oauthQr,children:[l.jsx(he,{value:t.url,label:"QR code for the provider's login page"}),l.jsx("span",{className:T.oauthQrCaption,children:"Scan on another device"})]})]})]})}function Kn(t){const n=Math.max(0,t),i=Math.floor(n/60),r=n%60;return`${i}:${String(r).padStart(2,"0")}`}function Vn({deviceCode:t,stopped:n}){const[i,r]=v.useState(t.expiresInSeconds);return v.useEffect(()=>{if(n||t.expiresInSeconds===void 0)return;r(t.expiresInSeconds);const e=setInterval(()=>{r(o=>o===void 0?void 0:Math.max(0,o-1))},1e3);return()=>clearInterval(e)},[t.expiresInSeconds,n]),l.jsx("div",{className:T.oauth,children:l.jsxs("div",{className:T.oauthMain,children:[l.jsxs("div",{className:T.oauthActions,children:[l.jsx("span",{className:T.oauthInstructions,children:"Enter this code at the verification page"}),l.jsxs("div",{className:T.urlRow,children:[l.jsx("span",{className:T.deviceCode,children:t.userCode}),l.jsx(pe,{value:t.userCode,label:"Copy code"})]}),l.jsxs(Rt,{className:T.openButton,href:t.verificationUri,children:[l.jsx(ue,{size:14}),"Open verification page"]}),i!==void 0&&l.jsx("span",{className:T.countdown,children:i>0?`Expires in ${Kn(i)}`:"Code expired"})]}),l.jsxs("div",{className:T.oauthQr,children:[l.jsx(he,{value:t.verificationUri,label:"QR code for the verification page"}),l.jsx("span",{className:T.oauthQrCaption,children:"Scan on another device"})]})]})})}const On="_shell_13hat_7",Hn="_sidebar_13hat_14",Qn="_category_13hat_24",Jn="_categoryActive_13hat_44",Yn="_content_13hat_2",J={shell:On,sidebar:Hn,category:Qn,categoryActive:Jn,content:Yn};function or({open:t,onOpenChange:n}){var _;const i=se(d=>d.serverInfo),r=O(d=>d.pendingLogin),e=O(d=>d.cancelLogin),o=Se(i==null?void 0:i.features),s=Ie.filter(d=>d.available(o)),[a,u]=v.useState((_=s[0])==null?void 0:_.id);v.useEffect(()=>{var d;s.some(P=>P.id===a)||u((d=s[0])==null?void 0:d.id)},[s.map(d=>d.id).join(",")]);const c=s.find(d=>d.id===a)??s[0],m=c==null?void 0:c.component;function E(d){!d&&r&&e(),n(d)}function S(d){if(r){d.preventDefault();return}const P=d.detail.originalEvent.target;P instanceof Node&&!P.isConnected&&d.preventDefault()}function h(d){r&&d.preventDefault()}return l.jsxs(l.Fragment,{children:[l.jsx(ae,{open:t,onOpenChange:E,title:"Settings",width:900,onInteractOutside:S,onEscapeKeyDown:h,children:l.jsxs("div",{className:J.shell,children:[l.jsx("nav",{className:J.sidebar,children:s.map(d=>l.jsxs("button",{type:"button",className:Ee(J.category,d.id===(c==null?void 0:c.id)&&J.categoryActive),onClick:()=>u(d.id),children:[l.jsx(Re,{icon:d.icon,size:"sm"}),d.label]},d.id))}),l.jsx("div",{className:J.content,children:m?l.jsx(v.Suspense,{fallback:l.jsxs(Tt,{children:[l.jsx(It,{size:"sm"})," Loading…"]}),children:l.jsx(m,{})}):l.jsx(Tt,{children:"No settings categories available."})})]})}),l.jsx(xn,{})]})}export{or as SettingsDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as h,j as s}from"./vendor-react-Dka9ZH0B.js";import{u as T,r as j,y as J,I,D as se,B as C,S as O,E as $,g as M,z as te}from"./index-DjRqFIN0.js";import"./vendor-z183l2lP.js";import{a as D,u as ne}from"./vendor-query-CDNPrdQ8.js";import{C as re,T as q,b as ae,c as le}from"./vendor-icons-CSCeICuX.js";import{S as z}from"./StatusBadge-eoBBn7zF.js";import{S as oe}from"./Switch-DvBJf8Rd.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";const ie=/^npm:\S+$/,ce=/^git:\S+$/,ue=/^ssh:\/\/\S+$/,de=/^git@[^\s:/]+:\S+$/,pe=/^https?:\/\/(?:[^\s/]*\.)?(?:github|gitlab)\.com\/\S+$/i,ge=/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\/\S+\.git$/,_e=/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//,G="[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?",he=new RegExp(`^${G}/${G}(?:@${G})?$`);function me(e){const t=e.trim();return t.length===0?null:ie.test(t)?{kind:"pi_npm",normalized:t}:ce.test(t)?{kind:"pi_git",normalized:t}:t==="~"||t.startsWith("~/")||t.startsWith("/")?{kind:"local_path",normalized:t}:de.test(t)||ue.test(t)||pe.test(t)||ge.test(t)?{kind:"skills_repo",normalized:t}:_e.test(t)?null:he.test(t)?{kind:"skills_repo",normalized:t}:null}const ke="_wrapper_14joh_3",fe="_box_14joh_18",Se="_checkmark_14joh_38",we="_nativeInput_14joh_43",F={wrapper:ke,box:fe,checkmark:Se,nativeInput:we},K=h.forwardRef(function({label:t,checked:a=!1,disabled:r,className:l,onChange:o,...c},g){return s.jsxs("label",{className:F.wrapper,"data-disabled":r||void 0,children:[s.jsx("input",{ref:g,type:"checkbox",className:F.nativeInput,checked:a,disabled:r,onChange:o,...c}),s.jsx("span",{className:F.box,"data-checked":a,"aria-hidden":!0,children:a&&s.jsx(re,{size:12,className:F.checkmark})}),t&&s.jsx("span",{children:t})]})}),Q={agent_dir:"Pi skills",agents_dir:"Agent Skills",settings_path:"Skill paths"},W=new Set(["agent_dir","agents_dir"]);function ve(e,t){return W.has(e.origin)&&t.some(r=>r!==e&&r.name===e.name&&W.has(r.origin))?`Pi applies this setting to every '${e.name}' skill folder.`:null}function xe(e,t,a){var o;const r=!!e.shadowedBy,l=[];if(r){const c=e.shadowedBy?a.get(e.shadowedBy):void 0;l.push({label:`shadowed by ${(c==null?void 0:c.originLabel)??e.shadowedBy}`,variant:"warning"})}return e.symlinkTarget&&l.push({label:`→ ${e.symlinkTarget}`,variant:"muted"}),e.disableModelInvocation&&l.push({label:"manual only",variant:"muted"}),(o=e.provenance)!=null&&o.source&&l.push({label:e.provenance.source,variant:"muted"}),{skill:e,muted:r,toggleDisabled:r,badges:l,warnings:e.warnings??[],sharedPatternTooltip:ve(e,t)}}function Re(e){const t=[{label:e.kind,variant:"muted"}];return e.curated&&t.push({label:"curated",variant:"success"}),e.pinned&&t.push({label:"pinned",variant:"muted"}),t}function be(e,t){const a=new Map(e.map(u=>[u.path,u])),r=u=>xe(u,e,a),l=[],o=e.filter(u=>u.origin==="agent_dir").map(r);o.length>0&&l.push({id:"agent_dir",label:Q.agent_dir,rows:o});const c=e.filter(u=>u.origin==="agents_dir").map(r);c.length>0&&l.push({id:"agents_dir",label:Q.agents_dir,rows:c});const g=e.filter(u=>u.origin==="package"),d=new Set;for(const u of t){d.add(u.source);const v=g.filter(w=>w.packageSource===u.source).map(r);v.length>0&&l.push({id:`package:${u.source}`,label:u.source,rows:v,packageInfo:u})}const n=Array.from(new Set(g.filter(u=>u.packageSource&&!d.has(u.packageSource)).map(u=>u.packageSource)));for(const u of n){const v=g.filter(w=>w.packageSource===u).map(r);v.length>0&&l.push({id:`package:${u}`,label:u,rows:v})}const i=e.filter(u=>u.origin==="settings_path").map(r);i.length>0&&l.push({id:"settings_path",label:Q.settings_path,rows:i});const k=new Set(["agent_dir","agents_dir","package","settings_path"]),f=Array.from(new Set(e.filter(u=>!k.has(u.origin)).map(u=>u.origin)));for(const u of f){const v=e.filter(w=>w.origin===u).map(r);v.length>0&&l.push({id:u,label:u,rows:v})}return l}function je(e,t){const a=t.trim().toLowerCase();return a?e.map(r=>({...r,rows:r.rows.filter(l=>l.skill.name.toLowerCase().includes(a)||(l.skill.description??"").toLowerCase().includes(a))})).filter(r=>r.rows.length>0):e}function Ee(e,t){if(e.origin!=="package"||!e.packageSource)return!1;const a=t.find(r=>r.source===e.packageSource);return!!(a!=null&&a.curated)}function ye(e){return e.symlinkTarget?`Removes the link only; ${e.symlinkTarget} is kept.`:e.origin==="agents_dir"&&e.provenance?`Removes '${e.name}' for every agent on this machine.`:e.origin==="settings_path"?`Removes the Pi settings entry that provides ${e.path} (other skills from the same folder stop loading too); files are kept.`:`Deletes ${e.path}.`}function Ne(e){const t=e.skillCount;return`Remove ${e.source}? This removes ${t} skill${t===1?"":"s"}.`}const Ae="Updates every Agent Skills skill and every unpinned Pi package; may take several minutes",Ce={"agent-skills":"Agent Skills","pi-packages":"Pi packages"};function ze(e){return Ce[e]??e}const Te={settings_unreadable:"Can't read settings.json — skills can't be loaded or changed until this is fixed.",invalid_source:"That source isn't recognized.",not_found:"That skill could not be found.",not_removable:"That skill can't be removed from here.",spawn_failed:"Could not run the skills command.",timeout:"Timed out."};function V(e){return{...e,ok:!0,error:void 0,message:void 0}}function Y(e){return e.results.length>0}function L(e,t){return e?t||(Te[e]??e):null}const Le={pi_npm:"npm package",pi_git:"git package",skills_repo:"Agent Skills repo",local_path:"Folder on daemon host"};function Pe(e){return e?Le[e.kind]:"Unrecognized"}function Z(e){return e==="pi_npm"||e==="pi_git"}function Ie(e){return e!==null}const De="Installs the package's skills only; its extensions stay disabled. Pi packages run with full system access — review the source before installing.";function Be(e){return e.installResult?"results":e.installPending?"running":e.previewPending?"previewing":e.previewResult?"pick":"source"}function $e(e){return e.map(t=>({skill:t,checked:t.valid,replace:!1}))}function X(e){return e.filter(t=>t.skill.valid&&t.checked&&(!t.skill.exists||t.replace)).map(t=>t.skill.name)}function Me(e){return e.some(t=>t.skill.valid&&t.checked&&t.skill.exists&&t.replace)}function Fe(e,t,a){return{...e,skills:e.skills.map(r=>r.path===t?{...r,enabled:a}:r)}}function Oe(){const e=T(a=>a.client),t=D();return h.useEffect(()=>{if(e)return e.onSkillsChanged(()=>{t.invalidateQueries({queryKey:j.skillsList()})})},[e,t]),ne({queryKey:j.skillsList(),queryFn:()=>{if(!e)throw new Error("not connected");return e.listSkills()},enabled:!!e})}function He(){const e=T(d=>d.client),t=D(),[a,r]=h.useState({}),[l,o]=h.useState({});function c(d){r(n=>{if(!(d in n))return n;const i={...n};return delete i[d],i})}async function g(d,n){if(!e)return;const i=d.path;c(i),o(f=>({...f,[i]:!0}));const k=t.getQueryData(j.skillsList());k&&t.setQueryData(j.skillsList(),Fe(k,i,n));try{const f=await e.setSkillEnabled(i,n);if(!f.ok){k&&t.setQueryData(j.skillsList(),k),r(u=>({...u,[i]:L(f.error,f.message)??"Failed to update skill."}));return}t.setQueryData(j.skillsList(),f)}catch(f){k&&t.setQueryData(j.skillsList(),k),r(u=>({...u,[i]:f instanceof Error?f.message:"Failed to update skill."}))}finally{o(f=>{const u={...f};return delete u[i],u})}}return{rowErrors:a,pending:l,toggle:g,clearRowError:c}}function Ue(e){return e.path??`package:${e.packageSource}`}function Ge(){const e=T(d=>d.client),t=D(),[a,r]=h.useState({}),[l,o]=h.useState({});function c(d){o(n=>{if(!(d in n))return n;const i={...n};return delete i[d],i})}async function g(d){if(!e)return;const n=Ue(d);c(n),r(i=>({...i,[n]:!0}));try{const i=await e.removeSkill(d);if(!i.ok){o(k=>({...k,[n]:L(i.error,i.message)??"Failed to remove."}));return}t.setQueryData(j.skillsList(),i)}catch(i){o(k=>({...k,[n]:i instanceof Error?i.message:"Failed to remove."}))}finally{r(i=>{const k={...i};return delete k[n],k})}}return{pending:a,errors:l,clearError:c,removeSkill:d=>g({path:d.path}),removePackage:d=>g({packageSource:d.source})}}function Qe(){const e=T(n=>n.client),t=D(),[a,r]=h.useState(!1),[l,o]=h.useState(null),[c,g]=h.useState(null);async function d(){if(e){r(!0),g(null);try{const n=await e.updateAllSkills();if(!n.ok&&!Y(n)){g(L(n.error,n.message)??"Failed to update skills.");return}o(n),t.setQueryData(j.skillsList(),V(n))}catch(n){g(n instanceof Error?n.message:"Failed to update skills.")}finally{r(!1)}}}return{pending:a,result:l,error:c,updateAll:d,clearResult:()=>o(null)}}function qe(){const e=T(d=>d.client),[t,a]=h.useState(!1),[r,l]=h.useState(null),[o,c]=h.useState(null);async function g(d){if(e){a(!0),c(null);try{const n=await e.previewSkillSource(d);if(!n.ok){c(L(n.error,n.message)??"Failed to preview.");return}l(n)}catch(n){c(n instanceof Error?n.message:"Failed to preview.")}finally{a(!1)}}}return{pending:t,result:r,error:o,preview:g,reset:()=>{l(null),c(null)}}}function Ke(){const e=T(n=>n.client),t=D(),[a,r]=h.useState(!1),[l,o]=h.useState(null),[c,g]=h.useState(null);async function d(n){if(e){r(!0),g(null);try{const i=await e.installSkills(n);if(!i.ok&&!Y(i)){g(L(i.error,i.message)??"Failed to install.");return}o(i),t.setQueryData(j.skillsList(),V(i))}catch(i){g(i instanceof Error?i.message:"Failed to install.")}finally{r(!1)}}}return{pending:a,result:l,error:c,install:d,reset:()=>{o(null),g(null)}}}const We="_sourceStep_1n0el_6",Ze="_sourceLabel_1n0el_13",Xe="_notice_1n0el_18",Je="_error_1n0el_30",Ve="_statusStep_1n0el_35",Ye="_pickStep_1n0el_45",es="_pickRows_1n0el_52",ss="_pickRow_1n0el_52",ts="_pickRowMain_1n0el_73",ns="_pickRowTop_1n0el_80",rs="_pickRowName_1n0el_87",as="_pickRowDescription_1n0el_95",ls="_backButton_1n0el_103",os="_results_1n0el_107",is="_resultRow_1n0el_116",cs="_resultHeader_1n0el_125",us="_resultTarget_1n0el_132",ds="_resultError_1n0el_140",ps="_resultToggle_1n0el_148",gs="_resultStderr_1n0el_159",m={sourceStep:We,sourceLabel:Ze,notice:Xe,error:Je,statusStep:Ve,pickStep:Ye,pickRows:es,pickRow:ss,pickRowMain:ts,pickRowTop:ns,pickRowName:rs,pickRowDescription:as,backButton:ls,results:os,resultRow:is,resultHeader:cs,resultTarget:us,resultError:ds,resultToggle:ps,resultStderr:gs};function _s({open:e,onOpenChange:t}){var B;const a=qe(),r=Ke(),[l,o]=h.useState(""),[c,g]=h.useState([]),d=h.useRef(!1),n=me(l),i=Be({previewPending:a.pending,previewResult:a.result,installPending:r.pending,installResult:r.result});h.useEffect(()=>{e&&!d.current&&!r.pending&&!r.result&&(o(""),g([]),a.reset()),d.current=e},[e]),h.useEffect(()=>{a.result&&g($e(a.result.skills))},[a.result]);async function k(){if(n){if(Z(n.kind)){await r.install({source:n.normalized});return}await a.preview(n.normalized)}}function f(x,N){g(P=>P.map((_,b)=>b===x?{..._,...N}:_))}async function u(){var N;const x=X(c);x.length!==0&&await r.install({source:((N=a.result)==null?void 0:N.source)??(n==null?void 0:n.normalized)??l,skills:x,replace:Me(c)})}function v(){a.reset(),g([])}function w(){r.reset(),t(!1)}const H=((B=a.result)==null?void 0:B.source)??(n==null?void 0:n.normalized)??l,U=X(c).length;let y,E;return i==="source"?(y=s.jsxs("div",{className:m.sourceStep,children:[s.jsx(J,{autoFocus:!0,placeholder:"npm:<name>, git:<url>, owner/repo, or a daemon-host path",value:l,onChange:x=>o(x.target.value),"aria-label":"Install source"}),s.jsx("div",{className:m.sourceLabel,children:Pe(n)}),n&&Z(n.kind)&&s.jsxs("div",{className:m.notice,children:[s.jsx(I,{icon:q,size:"xs"}),s.jsx("span",{children:De})]}),a.error&&s.jsx("div",{className:m.error,children:a.error})]}),E=s.jsx(C,{size:"sm",disabled:!Ie(n),loading:r.pending,onClick:()=>void k(),children:"Next"})):i==="previewing"?(y=s.jsxs("div",{className:m.statusStep,children:[s.jsx(O,{size:"sm"})," Looking up the source…"]}),E=null):i==="pick"?(y=s.jsxs("div",{className:m.pickStep,children:[c.length===0?s.jsx("div",{className:m.statusStep,children:"No installable skills found."}):s.jsx("div",{className:m.pickRows,children:c.map((x,N)=>s.jsx(hs,{row:x,onChange:P=>f(N,P)},x.skill.relPath))}),r.error&&s.jsx("div",{className:m.error,children:r.error})]}),E=s.jsxs(s.Fragment,{children:[s.jsx(C,{size:"sm",variant:"ghost",className:m.backButton,onClick:v,children:"‹ Back"}),s.jsxs(C,{size:"sm",disabled:U===0,loading:r.pending,onClick:()=>void u(),children:["Install from ",H]})]})):i==="running"?(y=s.jsxs("div",{className:m.statusStep,children:[s.jsx(O,{size:"sm"})," Installing… this may take several minutes"]}),E=null):(y=r.result?s.jsx(ms,{result:r.result}):null,E=s.jsx(C,{size:"sm",onClick:w,children:"Done"})),s.jsx(se,{open:e,onOpenChange:x=>{if(!x&&i==="results"){w();return}t(x)},title:"Install skill…",width:480,footer:E,children:y})}function hs({row:e,onChange:t}){const{skill:a,checked:r,replace:l}=e,o=!a.valid;return s.jsxs("div",{className:m.pickRow,"data-disabled":o||void 0,children:[s.jsx(K,{checked:r&&a.valid,disabled:o,onChange:c=>t({checked:c.target.checked}),"aria-label":a.name}),s.jsxs("div",{className:m.pickRowMain,children:[s.jsxs("div",{className:m.pickRowTop,children:[s.jsx("span",{className:m.pickRowName,children:a.name}),!a.valid&&s.jsx(z,{label:"Invalid",variant:"error"}),a.exists&&s.jsx(z,{label:"Already installed",variant:"warning"}),a.warnings&&a.warnings.length>0&&s.jsx(I,{icon:q,size:"xs",color:"var(--pi-color-statusWarning)","aria-label":a.warnings.join("; ")})]}),a.description&&s.jsx("span",{className:m.pickRowDescription,children:a.description}),a.exists&&a.valid&&s.jsx(K,{label:"Already installed — replace",checked:l,onChange:c=>t({replace:c.target.checked})})]})]})}function ms({result:e}){const[t,a]=h.useState(()=>new Set);function r(l){a(o=>{const c=new Set(o);return c.has(l)?c.delete(l):c.add(l),c})}return s.jsx("div",{className:m.results,children:e.results.map((l,o)=>{const c=t.has(o);return s.jsxs("div",{className:m.resultRow,children:[s.jsxs("div",{className:m.resultHeader,children:[s.jsx(z,{label:l.ok?"Installed":"Failed",variant:l.ok?"success":"error"}),s.jsx("span",{className:m.resultTarget,children:l.target}),l.error&&s.jsx("span",{className:m.resultError,children:l.error}),l.stderr&&s.jsx("button",{type:"button",className:m.resultToggle,onClick:()=>r(o),children:c?"Hide details":"Show details"})]}),c&&l.stderr&&s.jsx("pre",{className:m.resultStderr,children:l.stderr})]},`${l.target}-${o}`)})})}const ks="_panel_1tczp_1",fs="_toolbar_1tczp_7",Ss="_search_1tczp_14",ws="_groups_1tczp_19",vs="_group_1tczp_19",xs="_groupHeader_1tczp_30",Rs="_chevronExpanded_1tczp_47",bs="_groupLabel_1tczp_51",js="_groupBadges_1tczp_62",Es="_groupCount_1tczp_68",ys="_rows_1tczp_74",Ns="_row_1tczp_74",As="_rowMain_1tczp_91",Cs="_rowTop_1tczp_98",zs="_name_1tczp_105",Ts="_nameMuted_1tczp_113 _name_1tczp_105",Ls="_badge_1tczp_118",Ps="_description_1tczp_122",Is="_descriptionMuted_1tczp_130 _description_1tczp_122",Ds="_rowError_1tczp_135",Bs="_footnote_1tczp_147",$s="_errorState_1tczp_153",Ms="_removePackageBtn_1tczp_157",Fs="_rowActions_1tczp_161",Os="_updateAllResults_1tczp_168",Hs="_updateAllResultRow_1tczp_178",Us="_updateAllResultHeader_1tczp_184",Gs="_updateAllResultLabel_1tczp_191",Qs="_updateAllResultError_1tczp_196",qs="_updateAllResultToggle_1tczp_204",Ks="_updateAllResultStderr_1tczp_215",p={panel:ks,toolbar:fs,search:Ss,groups:ws,group:vs,groupHeader:xs,chevronExpanded:Rs,groupLabel:bs,groupBadges:js,groupCount:Es,rows:ys,row:Ns,rowMain:As,rowTop:Cs,name:zs,nameMuted:Ts,badge:Ls,description:Ps,descriptionMuted:Is,rowError:Ds,footnote:Bs,errorState:$s,removePackageBtn:Ms,rowActions:Fs,updateAllResults:Os,updateAllResultRow:Hs,updateAllResultHeader:Us,updateAllResultLabel:Gs,updateAllResultError:Qs,updateAllResultToggle:qs,updateAllResultStderr:Ks};function lt(){const{data:e,isLoading:t,isError:a,error:r}=Oe(),{rowErrors:l,pending:o,toggle:c,clearRowError:g}=He(),d=Ge(),n=Qe(),[i,k]=h.useState(""),[f,u]=h.useState(()=>new Set),[v,w]=h.useState(!1),[H,U]=h.useState(()=>new Set);function y(_){u(b=>{const R=new Set(b);return R.has(_)?R.delete(_):R.add(_),R})}if(t)return s.jsxs($,{children:[s.jsx(O,{size:"sm"})," Loading skills…"]});if(a)return s.jsx($,{className:p.errorState,children:r instanceof Error?r.message:"Failed to load skills."});if(!e)return null;if(!e.ok)return s.jsx($,{className:p.errorState,children:L(e.error,e.message)??"Could not load skills."});const E=je(be(e.skills,e.packages),i);async function B(_,b){if(b&&_.packageSource&&Ee(_,e.packages)&&!H.has(_.packageSource)){if(!await M().dialogs.confirm("Pi-Studio will stop managing this package's updates."))return;U(A=>new Set(A).add(_.packageSource))}c(_,b)}async function x(_){await M().dialogs.confirm(ye(_))&&d.removeSkill(_)}async function N(_){await M().dialogs.confirm(Ne(_))&&d.removePackage(_)}async function P(){await M().dialogs.confirm(Ae)&&n.updateAll()}return s.jsxs("div",{className:p.panel,children:[s.jsxs("div",{className:p.toolbar,children:[s.jsx(J,{className:p.search,placeholder:"Search skills…",value:i,onChange:_=>k(_.target.value),"aria-label":"Search skills"}),s.jsx(C,{size:"sm",variant:"outline",loading:n.pending,onClick:P,children:"Update all"}),s.jsx(C,{size:"sm",onClick:()=>w(!0),children:"Install skill…"})]}),n.error&&s.jsx("button",{type:"button",className:p.rowError,onClick:()=>n.updateAll().catch(()=>{}),children:n.error}),n.result&&s.jsx(Ws,{result:n.result,onDismiss:n.clearResult}),E.length===0?s.jsx($,{children:i?"No skills match your search.":"No skills found."}):s.jsx("div",{className:p.groups,children:E.map(_=>{const b=f.has(_.id),R=_.packageInfo,A=R?`package:${R.source}`:void 0;return s.jsxs("div",{className:p.group,children:[s.jsxs("button",{type:"button",className:p.groupHeader,onClick:()=>y(_.id),"aria-expanded":!b,children:[s.jsx(I,{icon:ae,size:"xs",className:b?void 0:p.chevronExpanded}),s.jsx("span",{className:p.groupLabel,children:_.label}),R&&s.jsx("span",{className:p.groupBadges,children:Re(R).map(S=>s.jsx(z,{label:S.label,variant:S.variant},S.label))}),s.jsx("span",{className:p.groupCount,children:_.rows.length}),R&&s.jsx(C,{size:"xs",variant:"ghost",className:p.removePackageBtn,loading:A?!!d.pending[A]:!1,onClick:S=>{S.stopPropagation(),N(R)},children:"Remove package"})]}),A&&d.errors[A]&&s.jsx("button",{type:"button",className:p.rowError,onClick:()=>d.clearError(A),children:d.errors[A]}),!b&&s.jsx("div",{className:p.rows,children:_.rows.map(S=>s.jsx(Zs,{row:S,error:l[S.skill.path],pending:!!o[S.skill.path],removeError:d.errors[S.skill.path],removePending:!!d.pending[S.skill.path],onToggle:ee=>B(S.skill,ee),onDismissError:()=>g(S.skill.path),onRemove:()=>x(S.skill),onDismissRemoveError:()=>d.clearError(S.skill.path)},S.skill.path))})]},_.id)})}),s.jsx("p",{className:p.footnote,children:"Changes apply to newly started agent sessions."}),s.jsx(_s,{open:v,onOpenChange:w})]})}function Ws({result:e,onDismiss:t}){const[a,r]=h.useState(()=>new Set);function l(o){r(c=>{const g=new Set(c);return g.has(o)?g.delete(o):g.add(o),g})}return s.jsxs("div",{className:p.updateAllResults,children:[e.results.map(o=>{const c=a.has(o.target);return s.jsxs("div",{className:p.updateAllResultRow,children:[s.jsxs("div",{className:p.updateAllResultHeader,children:[s.jsx(z,{label:o.ok?"Succeeded":"Failed",variant:o.ok?"success":"error"}),s.jsx("span",{className:p.updateAllResultLabel,children:ze(o.target)}),o.error&&s.jsx("span",{className:p.updateAllResultError,children:o.error}),o.stderr&&s.jsx("button",{type:"button",className:p.updateAllResultToggle,onClick:()=>l(o.target),children:c?"Hide details":"Show details"})]}),c&&o.stderr&&s.jsx("pre",{className:p.updateAllResultStderr,children:o.stderr})]},o.target)}),s.jsx("button",{type:"button",className:p.rowError,onClick:t,children:"Dismiss"})]})}function Zs({row:e,error:t,pending:a,removeError:r,removePending:l,onToggle:o,onDismissError:c,onRemove:g,onDismissRemoveError:d}){const{skill:n,muted:i,toggleDisabled:k,badges:f,warnings:u,sharedPatternTooltip:v}=e;return s.jsxs("div",{className:p.row,title:v??void 0,children:[s.jsxs("div",{className:p.rowMain,children:[s.jsxs("div",{className:p.rowTop,children:[s.jsx("span",{className:i?p.nameMuted:p.name,children:n.name}),u.length>0&&s.jsx(I,{icon:q,size:"xs",color:"var(--pi-color-statusWarning)","aria-label":u.join("; ")}),f.map(w=>s.jsx(z,{label:w.label,variant:w.variant,className:p.badge},w.label))]}),n.description&&s.jsx("span",{className:i?p.descriptionMuted:p.description,children:n.description}),t&&s.jsx("button",{type:"button",className:p.rowError,onClick:c,children:t}),r&&s.jsx("button",{type:"button",className:p.rowError,onClick:d,children:r})]}),s.jsxs("div",{className:p.rowActions,children:[s.jsx(oe,{checked:n.enabled,disabled:k||a,onCheckedChange:o,"aria-label":n.name}),n.removable&&s.jsx(te,{"aria-label":`Remove ${n.name}`,disabled:l,onClick:g,children:l?s.jsx(O,{size:"xs"}):s.jsx(I,{icon:le,size:"xs"})})]})]})}export{lt as SkillsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._wrapper_14joh_3{display:inline-flex;align-items:center;gap:var(--pi-spacing-8);cursor:pointer;font-family:var(--pi-font-ui);font-size:var(--pi-font-size-md);color:var(--pi-color-foreground)}._wrapper_14joh_3[data-disabled=true]{opacity:.5;pointer-events:none}._box_14joh_18{width:16px;height:16px;border-radius:var(--pi-radius-sm);border:1.5px solid var(--pi-color-border);background-color:transparent;display:flex;align-items:center;justify-content:center;transition:background-color .1s,border-color .1s;flex-shrink:0}._box_14joh_18[data-checked=true]{background-color:var(--pi-color-accent);border-color:var(--pi-color-accent)}._checkmark_14joh_38{color:var(--pi-color-accentForeground)}._nativeInput_14joh_43{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}._sourceStep_1n0el_6{display:flex;flex-direction:column;gap:var(--pi-spacing-8);padding:var(--pi-spacing-14)}._sourceLabel_1n0el_13{font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted)}._notice_1n0el_18{display:flex;align-items:flex-start;gap:var(--pi-spacing-6);padding:var(--pi-spacing-8) var(--pi-spacing-10);background:var(--pi-color-surface1);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-md);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted)}._error_1n0el_30{font-size:var(--pi-font-size-2xs);color:var(--pi-color-statusDanger)}._statusStep_1n0el_35{display:flex;align-items:center;justify-content:center;gap:var(--pi-spacing-8);padding:var(--pi-spacing-24) var(--pi-spacing-14);font-size:var(--pi-font-size-sm);color:var(--pi-color-foregroundMuted)}._pickStep_1n0el_45{display:flex;flex-direction:column;gap:var(--pi-spacing-8);padding:var(--pi-spacing-14)}._pickRows_1n0el_52{display:flex;flex-direction:column;gap:var(--pi-spacing-6);max-height:320px;overflow-y:auto}._pickRow_1n0el_52{display:flex;align-items:flex-start;gap:var(--pi-spacing-10);padding:var(--pi-spacing-8) var(--pi-spacing-10);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-md)}._pickRow_1n0el_52[data-disabled]{opacity:.6}._pickRowMain_1n0el_73{display:flex;flex-direction:column;gap:var(--pi-spacing-2);min-width:0}._pickRowTop_1n0el_80{display:flex;align-items:center;gap:var(--pi-spacing-6);min-width:0}._pickRowName_1n0el_87{font-size:var(--pi-font-size-sm);color:var(--pi-color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._pickRowDescription_1n0el_95{font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._backButton_1n0el_103{margin-right:auto}._results_1n0el_107{display:flex;flex-direction:column;gap:var(--pi-spacing-6);padding:var(--pi-spacing-14);max-height:320px;overflow-y:auto}._resultRow_1n0el_116{display:flex;flex-direction:column;gap:var(--pi-spacing-4);padding:var(--pi-spacing-8) var(--pi-spacing-10);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-md)}._resultHeader_1n0el_125{display:flex;align-items:center;gap:var(--pi-spacing-8);min-width:0}._resultTarget_1n0el_132{font-size:var(--pi-font-size-sm);color:var(--pi-color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._resultError_1n0el_140{font-size:var(--pi-font-size-2xs);color:var(--pi-color-statusDanger);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._resultToggle_1n0el_148{margin-left:auto;padding:0;background:transparent;border:none;cursor:pointer;font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);text-decoration:underline}._resultStderr_1n0el_159{margin:0;padding:var(--pi-spacing-6) var(--pi-spacing-8);background:var(--pi-color-surface2);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);white-space:pre-wrap;word-break:break-word;max-height:160px;overflow-y:auto}._panel_1tczp_1{display:flex;flex-direction:column;gap:var(--pi-spacing-10)}._toolbar_1tczp_7{display:flex;align-items:center;gap:var(--pi-spacing-8);flex-shrink:0}._search_1tczp_14{flex:1;min-width:0}._groups_1tczp_19{display:flex;flex-direction:column;gap:var(--pi-spacing-6)}._group_1tczp_19{display:flex;flex-direction:column}._groupHeader_1tczp_30{display:flex;align-items:center;gap:var(--pi-spacing-6);padding:var(--pi-spacing-8) var(--pi-spacing-6);background:transparent;border:none;border-radius:var(--pi-radius-md);color:var(--pi-color-foreground);cursor:pointer;text-align:left}._groupHeader_1tczp_30:hover{background:var(--pi-color-surface2)}._chevronExpanded_1tczp_47{transform:rotate(90deg)}._groupLabel_1tczp_51{font-size:var(--pi-font-size-xs);font-weight:600;color:var(--pi-color-foregroundMuted);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._groupBadges_1tczp_62{display:flex;align-items:center;gap:var(--pi-spacing-4)}._groupCount_1tczp_68{margin-left:auto;font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted)}._rows_1tczp_74{display:flex;flex-direction:column;gap:var(--pi-spacing-6);padding-left:var(--pi-spacing-16)}._row_1tczp_74{display:flex;align-items:center;justify-content:space-between;gap:var(--pi-spacing-10);padding:var(--pi-spacing-8) var(--pi-spacing-12);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-md)}._rowMain_1tczp_91{display:flex;flex-direction:column;gap:var(--pi-spacing-2);min-width:0}._rowTop_1tczp_98{display:flex;align-items:center;gap:var(--pi-spacing-6);min-width:0}._name_1tczp_105{font-size:var(--pi-font-size-sm);color:var(--pi-color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._nameMuted_1tczp_113{color:var(--pi-color-foregroundMuted)}._badge_1tczp_118{flex-shrink:0}._description_1tczp_122{font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._descriptionMuted_1tczp_130{opacity:.7}._rowError_1tczp_135{align-self:flex-start;margin:0;padding:0;background:transparent;border:none;cursor:pointer;font-size:var(--pi-font-size-2xs);color:var(--pi-color-statusDanger);text-align:left}._footnote_1tczp_147{margin:0;font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted)}._errorState_1tczp_153{color:var(--pi-color-statusDanger)}._removePackageBtn_1tczp_157{margin-left:var(--pi-spacing-6)}._rowActions_1tczp_161{display:flex;align-items:center;gap:var(--pi-spacing-6);flex-shrink:0}._updateAllResults_1tczp_168{display:flex;flex-direction:column;gap:var(--pi-spacing-6);padding:var(--pi-spacing-8) var(--pi-spacing-12);border:1px solid var(--pi-color-border);border-radius:var(--pi-radius-md);background:var(--pi-color-surface1)}._updateAllResultRow_1tczp_178{display:flex;flex-direction:column;gap:var(--pi-spacing-4)}._updateAllResultHeader_1tczp_184{display:flex;align-items:center;gap:var(--pi-spacing-8);min-width:0}._updateAllResultLabel_1tczp_191{font-size:var(--pi-font-size-sm);color:var(--pi-color-foreground)}._updateAllResultError_1tczp_196{font-size:var(--pi-font-size-2xs);color:var(--pi-color-statusDanger);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._updateAllResultToggle_1tczp_204{margin-left:auto;padding:0;background:transparent;border:none;cursor:pointer;font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);text-decoration:underline}._updateAllResultStderr_1tczp_215{margin:0;padding:var(--pi-spacing-6) var(--pi-spacing-8);background:var(--pi-color-surface2);border-radius:var(--pi-radius-sm);font-size:var(--pi-font-size-2xs);color:var(--pi-color-foregroundMuted);white-space:pre-wrap;word-break:break-word;max-height:160px;overflow-y:auto}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o}from"./vendor-react-Dka9ZH0B.js";function a(r){switch(r){case"success":return{token:"statusSuccess"};case"error":return{token:"statusDanger"};case"warning":return{token:"statusWarning"};case"muted":return{token:"foregroundMuted"}}}const c="_badge_iymy8_3",u={badge:c};function g({label:r,variant:e,className:s}){const{token:n}=a(e),t=`var(--pi-color-${n})`;return o.jsx("span",{className:`${u.badge}${s?` ${s}`:""}`,style:{backgroundColor:`color-mix(in srgb, ${t} 18%, transparent)`,borderColor:`color-mix(in srgb, ${t} 45%, transparent)`,color:t},children:r})}export{g as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as c}from"./vendor-react-
|
|
1
|
+
import{j as c}from"./vendor-react-Dka9ZH0B.js";import{N as n}from"./vendor-z183l2lP.js";const i="_track_841zp_3",_="_checked_841zp_23",m="_disabled_841zp_27",b="_thumb_841zp_32",t={track:i,checked:_,disabled:m,thumb:b};function u({checked:s,onCheckedChange:e,disabled:a=!1,id:r,"aria-label":o,className:l}){return c.jsx("button",{id:r,role:"switch","aria-checked":s,"aria-label":o,disabled:a,className:n(t.track,s&&t.checked,a&&t.disabled,l),onClick:()=>!a&&e(!s),type:"button",children:c.jsx("span",{className:t.thumb})})}export{u as S};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var ce=Object.defineProperty;var ie=(n,e,t)=>e in n?ce(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var U=(n,e,t)=>ie(n,typeof e!="symbol"?e+"":e,t);import{r as s,j as b}from"./vendor-react-Dka9ZH0B.js";import{x as ue,a as le}from"./vendor-terminal-BhzX2_ts.js";import{h as X,j as ae,T as J,u as fe,k as de,l as me,m as pe,o as Q,S as he,p as Re,q as we}from"./index-DjRqFIN0.js";import"./vendor-z183l2lP.js";import"./vendor-query-CDNPrdQ8.js";import"./vendor-icons-CSCeICuX.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";class Se{constructor(e){U(this,"subscribers",new Map);U(this,"detach",null);this.daemon=e}start(){this.detach||(this.detach=this.daemon.onTerminalFrame(e=>this.dispatch(e)))}stop(){var e;(e=this.detach)==null||e.call(this),this.detach=null}subscribeSlot(e,t){return this.subscribers.set(e,t),()=>{this.subscribers.get(e)===t&&this.subscribers.delete(e)}}hasSlot(e){return this.subscribers.has(e)}sendInput(e,t){this.daemon.sendBinary(X({opcode:"Input",slot:e,data:t}))}sendResize(e,t,d){this.daemon.sendBinary(X({opcode:"Resize",slot:e,rows:t,cols:d}))}dispatch(e){var d,R,p;const t=this.subscribers.get(e.slot);if(t)switch(e.opcode){case"Output":(d=t.onOutput)==null||d.call(t,e.data);return;case"Snapshot":(R=t.onSnapshot)==null||R.call(t,e.data);return;case"Restore":(p=t.onRestore)==null||p.call(t,e.data);return;default:return}}}const ye=3e3,Z=`${ae.sm}px ${J}`,ee="M";function te(){if(typeof document>"u"||!document.fonts)return!0;try{return document.fonts.check(Z,ee)}catch{return!0}}const Te=(async()=>{if(typeof document>"u"||!document.fonts||te())return;let n;try{await Promise.race([document.fonts.load(Z,ee),new Promise(e=>{n=window.setTimeout(e,ye)})])}catch{}finally{window.clearTimeout(n)}})(),_e=2,ve=1;function y(n){if(n==null)return!1;const{cols:e,rows:t}=n;return typeof e=="number"&&Number.isInteger(e)&&e>=_e&&typeof t=="number"&&Number.isInteger(t)&&t>=ve}function ge(n,e){return n===null||e===null?n===e:n.cols===e.cols&&n.rows===e.rows}function xe(n,e){return y(n)?!ge(n,e):!1}function be(n,e){if(e===null)return;const t=n.find(R=>R.slot===e);if(!t)return;const d={cols:t.cols,rows:t.rows};return y(d)?d:void 0}const Fe="_wrap_1fx2h_1",Ee="_terminal_1fx2h_12",Ae="_statusOverlay_1fx2h_19",ze="_exitedBanner_1fx2h_30",z={wrap:Fe,terminal:Ee,statusOverlay:Ae,exitedBanner:ze},Oe=64*1024,$=new TextEncoder,K=new WeakMap;function Ne(n){let e=K.get(n);return e||(e=new Se(n),e.start(),K.set(n,e)),e}function Y(n){const e=Q.getState(),t=e.tabs.find(d=>d.id===n);return!t||t.workspaceCwd!==e.activeWorkspaceCwd?!1:Re(we.getState().layouts[t.workspaceCwd],n)}function Ge({tab:n}){const e=n.data,t=fe(r=>r.client),d=de(n.id),{settings:R,resolvedTheme:p}=me(),B=R.monoFont&&R.monoFont.trim()!==""?p.fontFamily.mono:J,W=s.useRef(null),w=s.useRef(null),T=s.useRef(null),_=s.useRef(e.slot),O=s.useRef(null),N=s.useRef([]),I=s.useRef(0),F=s.useRef(null),ne=s.useRef(null),E=s.useRef(null),v=s.useRef(null),A=s.useRef(null),k=s.useRef(!1),H=s.useRef(null),V=s.useRef(t);V.current=t;const D=s.useRef(e.exited??!1);D.current=e.exited??!1;const[g,re]=s.useState(e.slot),[j,q]=s.useState({isAttaching:!0,error:null}),[M,se]=s.useState(te);s.useEffect(()=>{if(M)return;let r=!1;return Te.then(()=>{r||se(!0)}),()=>{r=!0}},[M]);const C=()=>{var o,c;const r=(o=T.current)==null?void 0:o.proposeDimensions();(c=E.current)==null||c.call(E,y(r)?r:null)},oe=()=>{var r;A.current=null,k.current=!0,(r=T.current)==null||r.fit(),C(),requestAnimationFrame(()=>{k.current=!1})},P=()=>{v.current!==null&&window.clearTimeout(v.current),v.current=window.setTimeout(()=>{v.current=null,A.current===null&&(A.current=requestAnimationFrame(oe))},60)};s.useEffect(()=>{const r=W.current;if(!r||!M)return;const o=new ue.Terminal({cursorBlink:!0,fontFamily:B,fontSize:p.fontSize.code,scrollback:5e3,theme:p.colors.terminal,allowProposedApi:!0}),c=new le.FitAddon;o.loadAddon(c),o.open(r);const f=u=>{if(!Y(n.id))return;const l=_.current,S=O.current;l===null||!S||xe(u,F.current)&&(F.current=u,S.sendResize(l,u.rows,u.cols))},a=o.onData(u=>{if(D.current)return;const l=_.current,S=O.current;if(l===null||!S){const G=$.encode(u);I.current+G.length<=Oe&&(N.current.push(G),I.current+=G.length);return}S.sendInput(l,$.encode(u))}),m=o.onResize(({cols:u,rows:l})=>{f({cols:u,rows:l})}),h=()=>{c.fit(),C()};r.addEventListener("focusin",h),c.fit(),w.current=o,T.current=c,E.current=f;const i=new ResizeObserver(u=>{if(k.current)return;const l=u[0];l&&(l.contentRect.width===0||l.contentRect.height===0)||P()});return i.observe(r),()=>{i.disconnect(),v.current!==null&&window.clearTimeout(v.current),A.current!==null&&cancelAnimationFrame(A.current),r.removeEventListener("focusin",h),a.dispose(),m.dispose(),o.dispose(),w.current=null,T.current=null,E.current=null}},[M]),s.useEffect(()=>{const r=w.current;if(!r)return;r.options.theme=p.colors.terminal;const o=p.fontSize.code,c=B,f=H.current,a=f!==null&&(f.size!==o||f.family!==c);r.options.fontSize=o,r.options.fontFamily=c,H.current={size:o,family:c},a&&P()},[p,B]),s.useEffect(()=>{if(!e.exited)return;const r=w.current;r&&(r.options.cursorBlink=!1,r.blur())},[e.exited]),s.useEffect(()=>{if(t)return t.connection.onSessionMessage(r=>{const o=r;if(!pe(o))return;const c=be(o.terminals,_.current);c!==void 0&&(F.current=c)})},[t]);const x=s.useRef(!1),L=s.useRef(!1);return s.useEffect(()=>{var f;if(x.current=!0,!t||_.current!==null||L.current)return()=>{x.current=!1};L.current=!0;const r=e.cwd||"~",o=(f=T.current)==null?void 0:f.proposeDimensions(),c=y(o)?o:null;return t.connection.request("create_terminal_request",{workspaceId:"",cwd:r,...c?{cols:c.cols,rows:c.rows}:{}}).then(a=>{const m=a.terminal.slot;if(!x.current){t.connection.request("kill_terminal_request",{slot:m}).catch(()=>{});return}_.current=m,re(m),Q.getState().updateData(n.id,{slot:m});const h={cols:a.terminal.cols,rows:a.terminal.rows};F.current=y(h)?h:null}).catch(a=>{x.current&&q({isAttaching:!1,error:a instanceof Error?a.message:String(a)})}).finally(()=>{L.current=!1}),()=>{x.current=!1}},[t,n.id]),s.useEffect(()=>()=>{const r=_.current;r!==null&&setTimeout(()=>{var o;x.current||D.current||(o=V.current)==null||o.connection.request("kill_terminal_request",{slot:r}).catch(()=>{})},0)},[]),s.useEffect(()=>{var h;if(!t||g===null)return;q({isAttaching:!0,error:null});const r=Ne(t.connection);O.current=r;const o=i=>{var u,l;(u=w.current)==null||u.reset(),(l=w.current)==null||l.write(i)},c=r.subscribeSlot(g,{onOutput:i=>{var u;return(u=w.current)==null?void 0:u.write(i)},onSnapshot:o,onRestore:o});let f=!1;const a=(h=T.current)==null?void 0:h.proposeDimensions(),m=y(a)&&Y(n.id)?a:null;return t.connection.request("subscribe_terminal_request",{slot:g,restoreMode:"reflowable",...m?{cols:m.cols,rows:m.rows}:{}}).then(i=>{if(f)return;q({isAttaching:!1,error:null}),ne.current=(i==null?void 0:i.restoreMode)??"basic";const u=N.current;N.current=[],I.current=0;for(const S of u)r.sendInput(g,S);const l={cols:i==null?void 0:i.cols,rows:i==null?void 0:i.rows};F.current=y(l)?l:m,C()}).catch(i=>{f||(N.current=[],I.current=0,q({isAttaching:!1,error:i instanceof Error?i.message:String(i)}))}),()=>{f=!0,c(),O.current=null,t.connection.request("unsubscribe_terminal_request",{slot:g}).catch(()=>{})}},[t,g]),s.useEffect(()=>{d&&P()},[d]),b.jsxs("div",{className:z.wrap,children:[b.jsx("div",{ref:W,className:z.terminal}),j.error?b.jsxs("div",{className:z.statusOverlay,children:["Terminal error: ",j.error]}):j.isAttaching?b.jsxs("div",{className:z.statusOverlay,children:[b.jsx(he,{size:"sm"})," Starting terminal…"]}):null,e.exited?b.jsx("div",{className:z.exitedBanner,children:"Terminal exited"}):null]})}export{Ge as TerminalPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./vendor-react-Dka9ZH0B.js";import{E as t,P as c,S as n}from"./index-DjRqFIN0.js";import{u as m,C as a}from"./CodeView-DBvTM0BW.js";import{S as d}from"./SaveFileButton-469govDl.js";import"./vendor-z183l2lP.js";import"./vendor-query-CDNPrdQ8.js";import"./vendor-icons-CSCeICuX.js";import"./vendor-overlays-DjMT65Ip.js";import"./vendor-dnd-vJGfGIIi.js";import"./vendor-pdfjs-BSchhGel.js";import"./use-file-download-FoQrf961.js";const l="_note_1g5yz_1",x="_body_1g5yz_9",g="_tooLarge_1g5yz_13",i={note:l,body:x,tooLarge:g};function o(r){return`${(r/(1024*1024)).toFixed(1)} MB`}function E({path:r}){const s=m(r);switch(s.kind){case"loading":return e.jsxs(t,{children:[e.jsx(n,{size:"sm"})," Loading..."]});case"inline":return e.jsx(a,{path:r,content:s.content});case"streaming":return e.jsxs(t,{children:[e.jsx(n,{size:"sm"})," Streaming ",o(s.size)," file..."]});case"stream-error":return e.jsxs(t,{children:["Error: ",s.message]});case"streamed":return e.jsxs(c,{children:[e.jsxs("div",{className:i.note,children:[o(s.size)," file streamed"]}),e.jsx("div",{className:i.body,children:e.jsx(a,{path:r,content:s.content})})]});case"too-large":return e.jsx(t,{children:e.jsxs("div",{className:i.tooLarge,children:[e.jsxs("div",{children:[o(s.size)," — too large to display (display ceiling is"," ",o(s.maxDisplayBytes),")."]}),e.jsx(d,{path:r})]})});case"error":return e.jsxs(t,{children:["Error: ",s.message]})}}export{E as TextViewer};
|