@av-pi-studio/web-client 0.0.111 → 0.0.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/{BinaryFallbackViewer-CSbPntox.js → BinaryFallbackViewer-BH2FpXPq.js} +1 -1
- package/dist/web/assets/{ChatPanel-BKlvAZdq.js → ChatPanel-IwIp9TyM.js} +3 -3
- package/dist/web/assets/{CodeView-BtHrI9KP.js → CodeView-nWhbxYNo.js} +1 -1
- package/dist/web/assets/FilePanel-DuSXRbB3.js +1 -0
- package/dist/web/assets/{HtmlViewer-Ct935Cm7.js → HtmlViewer-Bp9FVmsO.js} +1 -1
- package/dist/web/assets/{ImageViewer-B3Li_xtG.js → ImageViewer-CGkHIlbr.js} +1 -1
- package/dist/web/assets/{MarkdownFileViewer-CaG8FaWX.js → MarkdownFileViewer-Jd18lpAb.js} +1 -1
- package/dist/web/assets/{ModelProvidersPanel-DTXVCt2J.js → ModelProvidersPanel-BGnWcyq9.js} +1 -1
- package/dist/web/assets/{MoleculeViewerPanel-CsyoepbO.js → MoleculeViewerPanel-gr1xhI3B.js} +1 -1
- package/dist/web/assets/PdfViewer-Chvwi-vw.js +1 -0
- package/dist/web/assets/PdfViewer-DoOGVn5M.css +1 -0
- package/dist/web/assets/{SettingsDialog-C6TA5tSk.js → SettingsDialog-TBdq-cJW.js} +4 -4
- package/dist/web/assets/SkillsPanel-BPOQfm8q.js +1 -0
- package/dist/web/assets/SkillsPanel-DH-_EKrv.css +1 -0
- package/dist/web/assets/{TerminalPanel-Dl_Qe91o.js → TerminalPanel-BHWw9ZUE.js} +1 -1
- package/dist/web/assets/{TextViewer-DxhiKUe5.js → TextViewer-d0xfOD_a.js} +1 -1
- package/dist/web/assets/{VideoViewer-Ctu1uw95.js → VideoViewer-DhoCw-I5.js} +1 -1
- package/dist/web/assets/ViewersPanel-DKQeezkV.js +1 -0
- package/dist/web/assets/{href-resolution-bgv3HgGq.js → href-resolution-CKrMBdbX.js} +1 -1
- package/dist/web/assets/index-BbSAfLF_.js +19 -0
- package/dist/web/assets/markdown-BWyDQ88Y.js +5 -0
- package/dist/web/assets/pdf.worker.min-ypFJvUNP.js +53 -0
- package/dist/web/assets/{use-file-download-TjW4POi1.js → use-file-download-IryqzIsu.js} +1 -1
- package/dist/web/assets/{use-file-watch-Cm5eDhih.js → use-file-watch-CKy-EMBA.js} +1 -1
- package/dist/web/assets/{use-provider-auth-list-B7wM3n-2.js → use-provider-auth-list-CkrX1tsv.js} +1 -1
- package/dist/web/assets/{vendor-icons-K8oF_80Q.js → vendor-icons-FMicTc5d.js} +86 -61
- package/dist/web/assets/vendor-pdfjs-BrYGnqfM.js +55 -0
- package/dist/web/index.html +2 -2
- package/dist/web/pdfjs/cmaps/78-EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/78-EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/78-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/78-RKSJ-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/78-RKSJ-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/78-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/78ms-RKSJ-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/78ms-RKSJ-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/83pv-RKSJ-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/90ms-RKSJ-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/90ms-RKSJ-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/90msp-RKSJ-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/90msp-RKSJ-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/90pv-RKSJ-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/90pv-RKSJ-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Add-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Add-RKSJ-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Add-RKSJ-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Add-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-CNS1-0.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-CNS1-1.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-CNS1-2.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-CNS1-3.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-CNS1-4.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-CNS1-5.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-CNS1-6.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-GB1-0.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-GB1-1.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-GB1-2.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-GB1-3.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-GB1-4.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-GB1-5.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Japan1-0.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Japan1-1.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Japan1-2.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Japan1-3.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Japan1-4.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Japan1-5.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Japan1-6.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Korea1-0.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Korea1-1.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Korea1-2.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/B5-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/B5-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/B5pc-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/B5pc-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/CNS-EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/CNS-EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/CNS1-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/CNS1-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/CNS2-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/CNS2-V.bcmap +3 -0
- package/dist/web/pdfjs/cmaps/ETHK-B5-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/ETHK-B5-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/ETen-B5-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/ETen-B5-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/ETenms-B5-H.bcmap +3 -0
- package/dist/web/pdfjs/cmaps/ETenms-B5-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Ext-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Ext-RKSJ-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Ext-RKSJ-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Ext-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GB-EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GB-EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GB-H.bcmap +4 -0
- package/dist/web/pdfjs/cmaps/GB-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBK-EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBK-EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBK2K-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBK2K-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBKp-EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBKp-EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBT-EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBT-EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBT-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBT-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBTpc-EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBTpc-EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBpc-EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/GBpc-EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKdla-B5-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKdla-B5-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKdlb-B5-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKdlb-B5-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKgccs-B5-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKgccs-B5-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKm314-B5-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKm314-B5-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKm471-B5-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKm471-B5-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKscs-B5-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/HKscs-B5-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Hankaku.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Hiragana.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSC-EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSC-EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSC-Johab-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSC-Johab-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSCms-UHC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSCms-UHC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSCpc-EUC-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/KSCpc-EUC-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Katakana.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/LICENSE +36 -0
- package/dist/web/pdfjs/cmaps/NWP-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/NWP-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/RKSJ-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/RKSJ-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/Roman.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniCNS-UCS2-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniCNS-UCS2-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniCNS-UTF16-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniCNS-UTF16-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniCNS-UTF32-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniCNS-UTF32-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniCNS-UTF8-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniCNS-UTF8-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniGB-UCS2-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniGB-UCS2-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniGB-UTF16-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniGB-UTF16-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniGB-UTF32-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniGB-UTF32-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniGB-UTF8-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniGB-UTF8-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS-UCS2-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS-UCS2-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS-UTF16-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS-UTF16-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS-UTF32-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS-UTF32-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS-UTF8-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS-UTF8-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniKS-UCS2-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniKS-UCS2-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniKS-UTF16-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniKS-UTF16-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniKS-UTF32-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniKS-UTF32-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniKS-UTF8-H.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/UniKS-UTF8-V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/V.bcmap +0 -0
- package/dist/web/pdfjs/cmaps/WP-Symbol.bcmap +0 -0
- package/dist/web/pdfjs/iccs/CGATS001Compat-v2-micro.icc +0 -0
- package/dist/web/pdfjs/iccs/LICENSE +116 -0
- package/dist/web/pdfjs/standard_fonts/FoxitDingbats.pfb +0 -0
- package/dist/web/pdfjs/standard_fonts/FoxitFixed.pfb +0 -0
- package/dist/web/pdfjs/standard_fonts/FoxitFixedBold.pfb +0 -0
- package/dist/web/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
- package/dist/web/pdfjs/standard_fonts/FoxitFixedItalic.pfb +0 -0
- package/dist/web/pdfjs/standard_fonts/FoxitSerif.pfb +0 -0
- package/dist/web/pdfjs/standard_fonts/FoxitSerifBold.pfb +0 -0
- package/dist/web/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
- package/dist/web/pdfjs/standard_fonts/FoxitSerifItalic.pfb +0 -0
- package/dist/web/pdfjs/standard_fonts/FoxitSymbol.pfb +0 -0
- package/dist/web/pdfjs/standard_fonts/LICENSE_FOXIT +27 -0
- package/dist/web/pdfjs/standard_fonts/LICENSE_LIBERATION +363 -0
- package/dist/web/pdfjs/standard_fonts/LiberationSans-Bold.ttf +0 -0
- package/dist/web/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
- package/dist/web/pdfjs/standard_fonts/LiberationSans-Italic.ttf +0 -0
- package/dist/web/pdfjs/standard_fonts/LiberationSans-Regular.ttf +0 -0
- package/dist/web/pdfjs/wasm/LICENSE_JBIG2 +196 -0
- package/dist/web/pdfjs/wasm/LICENSE_OPENJPEG +39 -0
- package/dist/web/pdfjs/wasm/LICENSE_PDFJS_JBIG2 +13 -0
- package/dist/web/pdfjs/wasm/LICENSE_PDFJS_OPENJPEG +22 -0
- package/dist/web/pdfjs/wasm/LICENSE_PDFJS_QCMS +19 -0
- package/dist/web/pdfjs/wasm/LICENSE_QCMS +21 -0
- package/dist/web/pdfjs/wasm/jbig2.wasm +0 -0
- package/dist/web/pdfjs/wasm/jbig2_nowasm_fallback.js +15 -0
- package/dist/web/pdfjs/wasm/openjpeg.wasm +0 -0
- package/dist/web/pdfjs/wasm/openjpeg_nowasm_fallback.js +17 -0
- package/dist/web/pdfjs/wasm/qcms_bg.wasm +0 -0
- package/package.json +4 -3
- package/dist/web/assets/FilePanel-ywlcSAmX.js +0 -1
- package/dist/web/assets/ViewersPanel-B3DJPFi0.js +0 -1
- package/dist/web/assets/index-DawGVQic.js +0 -19
- package/dist/web/assets/markdown-CRfVs-Rh.js +0 -5
package/dist/web/assets/{BinaryFallbackViewer-CSbPntox.js → BinaryFallbackViewer-BH2FpXPq.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as l,j as e}from"./vendor-react-DQUAl2K8.js";import{S as d,B as a}from"./index-
|
|
1
|
+
import{r as l,j as e}from"./vendor-react-DQUAl2K8.js";import{S as d,B as a}from"./index-BbSAfLF_.js";import{u as m}from"./use-file-download-IryqzIsu.js";import{F as c}from"./vendor-icons-FMicTc5d.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const p="_wrap_inn1j_1",j="_name_inn1j_12",n={wrap:p,name:j};function z({path:s,workspaceCwd:f}){const[i,t]=l.useState(!1),r=m(s,i),o=s.split("/").pop()||s;return e.jsxs("div",{className:n.wrap,children:[e.jsx(c,{size:32}),e.jsx("div",{className:n.name,children:o}),e.jsx("div",{children:"No preview available for this file type."}),r.isError&&e.jsxs("div",{children:["Error: ",r.error instanceof Error?r.error.message:"download failed"]}),i&&r.isLoading?e.jsx(d,{size:"sm"}):r.data?e.jsx("a",{href:r.data.objectUrl,download:r.data.fileName||o,children:e.jsx(a,{size:"sm",children:"Save file"})}):e.jsx(a,{size:"sm",onClick:()=>t(!0),children:"Download"})]})}export{z as BinaryFallbackViewer};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{r as p,j as t}from"./vendor-react-DQUAl2K8.js";import{a as Pt,b as Ft,m as Kt,u as Te}from"./vendor-query-i7fr__Xm.js";import{
|
|
1
|
+
import{r as p,j as t}from"./vendor-react-DQUAl2K8.js";import{a as Pt,b as Ft,m as Kt,u as Te}from"./vendor-query-i7fr__Xm.js";import{M as Ce,N as O,O as zt,u as X,Q as Ht,I as H,R as $t,U as Wt,B as L,q as Ut,W as at,S as oe,J as Gt,D as Vt,s as Yt,X as rt,p as Jt,n as Qt,Y as Xt,Z as Zt,_ as en,o as tn,$ as nn,E as sn,a0 as ge,r as qe,a1 as Be,a2 as on,a3 as me,h as an,a4 as rn,a5 as pe,a6 as cn,a7 as ln,K as dn,P as Qe}from"./index-BbSAfLF_.js";import{L as un,G as mn,S as fn,c as hn,P as pn,E as gn,d as it,e as xe,f as Ee,B as _n,g as ct,C as lt,A as xn,h as vn,i as kn,U as jn,j as dt,k as yn,l as bn,m as Nn,n as Sn,o as Xe,p as Cn,N as wn,q as Dn}from"./vendor-icons-FMicTc5d.js";import{u as Tn}from"./use-provider-auth-list-CkrX1tsv.js";import{N as w}from"./vendor-DaF96HbP.js";import{S as ut,M as Re,r as qn}from"./markdown-BWyDQ88Y.js";import{D as Bn,p as En}from"./DiffView-D1TsZBGe.js";import{R as Ae,T as Le,I as mt}from"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./vendor-highlight-Ddi_n-Jh.js";import"./vendor-markdown-DJUOT8ep.js";import"./href-resolution-CKrMBdbX.js";function ft(e,s){if(s.trim()==="")return e;const n=s.toLowerCase();return e.filter(o=>o.label.toLowerCase().includes(n)||o.description!==void 0&&o.description.toLowerCase().includes(n))}const Rn={shell:it,read:gn,edit:pn,write:hn,search:fn,fetch:mn,task:un};function An(e){return Rn[e.kind]??it}function ht(e){switch(e.kind){case"read":case"write":case"edit":return e.path??null;default:return null}}function Ln(e){return e.kind==="write"||e.kind==="edit"||e.kind==="shell"}function In(e){const s=[];if(e.kind==="edit"&&e.diff)s.push({kind:"diff",patch:e.diff});else{const n=Ce(e);n&&s.push({kind:"code",text:n})}return e.output&&s.push({kind:"code",text:e.output}),s}const Ze={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 On(e){return Ze[e.kind]??Ze.task}function Mn(e){if(!e)return{added:0,removed:0};let s=0,n=0;for(const o of e.split(`
|
|
2
2
|
`))o.startsWith("+++")||o.startsWith("---")||(o.startsWith("+")?s++:o.startsWith("-")&&n++);return{added:s,removed:n}}function Pn(e){return e?(e.endsWith(`
|
|
3
3
|
`)?e.slice(0,-1):e).split(`
|
|
4
4
|
`).length:0}const Fn=500;let ye;function Kn(e,s,n,o){clearTimeout(ye),ye=setTimeout(()=>{ye=void 0,e.invalidateQueries({queryKey:["file"]}),e.invalidateQueries({queryKey:["explorer"]}),s&&n&&s.connection.request("checkout_refresh_request",{cwd:n}).catch(()=>{})},Fn)}function zn({sessionId:e,event:s,timestamp:n,client:o,queryClient:r}){const a=O.getState();switch(a.applyStreamEvent(e,s,n),s.kind){case"turn_started":a.setStatus(e,"running");break;case"turn_completed":a.setStatus(e,"idle");break;case"turn_failed":a.setStatus(e,"error");break;case"turn_canceled":a.setStatus(e,"idle");break;case"compaction":s.phase==="completed"&&s.estimatedTokensAfter!==void 0&&zt(e,s.estimatedTokensAfter);break;case"tool_call":{if(s.status==="completed"&&Ln(s.tool)){const c=a.sessions[e],l=(c==null?void 0:c.cwd)||null;Kn(r,o,l,ht(s.tool))}break}}}function Hn(e){const s=X(r=>r.client),n=O(r=>{var a;return((a=r.sessions[e])==null?void 0:a.agentId)??null}),o=Pt();p.useEffect(()=>!s||!n?void 0:s.agent(n).timeline.subscribe((a,c)=>{const l=typeof c.timestamp=="number"?new Date(c.timestamp).toISOString():c.timestamp;zn({sessionId:e,event:a,timestamp:l,client:s,queryClient:o})}),[s,n,e,o])}const pt=64;function be(e){return e.clientHeight>0}function $n(e,s,n,o=pt){switch(s.kind){case"scroll":return be(n)?n.scrollHeight-n.scrollTop-n.clientHeight<=o?{pinned:!0,stick:!1}:{pinned:s.gesture?!1:e,stick:!1}:{pinned:e,stick:!1};case"tail":return{pinned:e,stick:e&&be(n)};case"shown":return{pinned:e,stick:e};case"pin":return{pinned:!0,stick:be(n)}}}function Wn(e){const s=e[e.length-1];return(s==null?void 0:s.kind)==="user"?s.id:null}const Un="_shellRow_1kabp_2",Gn="_rail_1kabp_10",Vn="_disc_1kabp_18",Yn="_connector_1kabp_28",Jn="_content_1kabp_2",Qn="_metaLine_1kabp_40",Xn="_metaTime_1kabp_52",Zn="_forkButton_1kabp_66",z={shellRow:Un,rail:Gn,disc:Vn,connector:Yn,content:Jn,metaLine:Qn,metaTime:Xn,forkButton:Zn};function U({disc:e,discClassName:s,connector:n,meta:o,metaTrailing:r,className:a,children:c}){return t.jsxs("div",{className:z.shellRow,children:[t.jsxs("div",{className:z.rail,children:[t.jsx("span",{className:w(z.disc,s),children:e}),n&&t.jsx("span",{className:z.connector})]}),t.jsxs("div",{className:w(z.content,a),children:[o&&t.jsxs("div",{className:z.metaLine,children:[o,r]}),c]})]})}function et(e){return typeof e=="number"?e:Date.parse(e)}function es(e,s){const n=et(e.entry.createdAt),o=et(s.entry.createdAt);return n!==o?n-o:e.entry.requestId<s.entry.requestId?-1:e.entry.requestId>s.entry.requestId?1:0}function ts(e,s){return[...e.map(o=>({kind:"pending",entry:o})),...s.map(o=>({kind:"resolved",entry:o}))].toSorted(es)}function ns(e){return e.entry.requestId}function gt(e){return e.receivedAt===void 0}const ss=4;function os(e,s){let n=0;const o=e.map(l=>l.kind!=="pending"?{item:l,collapsed:!1}:(n++,{item:l,collapsed:!s&&n>ss})),r=o.filter(l=>l.collapsed).length,a=o.findIndex(l=>l.collapsed),c=[];return o.forEach((l,m)=>{m===a&&c.push({kind:"more",count:r}),c.push({kind:"card",item:l.item,collapsed:l.collapsed})}),c}function as(e,s){if(e.timeoutMs===void 0)return{show:!1,fraction:0,approximate:!1};const n=Ht(e,s)??0;return{show:!0,fraction:Math.max(0,Math.min(1,n/e.timeoutMs)),approximate:e.receivedAt===void 0}}function _t(e){return e==="editor"}const rs="Esc again to dismiss — the extension gets an empty answer";function is(e,s){return s?{kind:"warning",text:rs}:{kind:"keys",segments:[{key:_t(e)?"⇧↵":"↵",label:"submit"},{key:"Esc",label:"dismiss"}]}}function cs(e){return e?{armed:!1,resolve:!0}:{armed:!0,resolve:!1}}const ls=5,ds=40,us=6;function ms(e){return{mode:e.length>=ls||e.some(n=>n.length>ds)?"stack":"row",scrolls:e.length>us}}function we(e){const s=e.split(`
|
|
5
|
-
`),n=[];let o=!1;for(const r of s)if(r===""){if(o)continue;o=!0,n.push("")}else o=!1,n.push(r);return n}function fs(e,s){return{title:we(e),...s!==void 0?{message:we(s)}:{}}}const hs="_askDisc_ffqf1_5",ps="_card_ffqf1_9",gs="_cardInert_ffqf1_41",_s="_askDiscInert_ffqf1_47",xs="_reconnectingNote_ffqf1_52",vs="_reconnectingDot_ffqf1_61",ks="_deadlineBar_ffqf1_71",js="_deadlineApproximate_ffqf1_80",ys="_header_ffqf1_85",bs="_askBadge_ffqf1_16",Ns="_methodName_ffqf1_101",Ss="_title_ffqf1_107",Cs="_titleEmphasised_ffqf1_115",ws="_message_ffqf1_119",Ds="_emptyOptionsNote_ffqf1_127",Ts="_controls_ffqf1_133",
|
|
5
|
+
`),n=[];let o=!1;for(const r of s)if(r===""){if(o)continue;o=!0,n.push("")}else o=!1,n.push(r);return n}function fs(e,s){return{title:we(e),...s!==void 0?{message:we(s)}:{}}}const hs="_askDisc_ffqf1_5",ps="_card_ffqf1_9",gs="_cardInert_ffqf1_41",_s="_askDiscInert_ffqf1_47",xs="_reconnectingNote_ffqf1_52",vs="_reconnectingDot_ffqf1_61",ks="_deadlineBar_ffqf1_71",js="_deadlineApproximate_ffqf1_80",ys="_header_ffqf1_85",bs="_askBadge_ffqf1_16",Ns="_methodName_ffqf1_101",Ss="_title_ffqf1_107",Cs="_titleEmphasised_ffqf1_115",ws="_message_ffqf1_119",Ds="_emptyOptionsNote_ffqf1_127",Ts="_controls_ffqf1_133",qs="_controlsStack_ffqf1_141",Bs="_controlsScroll_ffqf1_148",Es="_optionButton_ffqf1_153",Rs="_field_ffqf1_161",As="_editorField_ffqf1_168",Ls="_rawPayload_ffqf1_176",Is="_resolvedCard_ffqf1_190",Os="_askBadgeNeutral_ffqf1_204",Ms="_resolvedMethodName_ffqf1_209",Ps="_outcome_ffqf1_218",Fs="_outcomeSuccess_ffqf1_229",Ks="_outcomeText_ffqf1_233",zs="_hint_ffqf1_255",Hs="_hintKey_ffqf1_270",$s="_hintSep_ffqf1_278",Ws="_recoveredChip_ffqf1_285",Us="_collapsedPendingCard_ffqf1_297",Gs="_moreRow_ffqf1_303",g={askDisc:hs,card:ps,cardInert:gs,askDiscInert:_s,reconnectingNote:xs,reconnectingDot:vs,deadlineBar:ks,deadlineApproximate:js,header:ys,askBadge:bs,methodName:Ns,title:Ss,titleEmphasised:Cs,message:ws,emptyOptionsNote:Ds,controls:Ts,controlsStack:qs,controlsScroll:Bs,optionButton:Es,field:Rs,editorField:As,rawPayload:Ls,resolvedCard:Is,askBadgeNeutral:Os,resolvedMethodName:Ms,outcome:Ps,outcomeSuccess:Fs,outcomeText:Ks,hint:zs,hintKey:Hs,hintSep:$s,recoveredChip:Ws,collapsedPendingCard:Us,moreRow:Gs},Vs=250,Ys=320;function te(e,s){const n=e[s];return typeof n=="string"?n:void 0}function Js(e,s){const n=e[s];return Array.isArray(n)?n.filter(o=>typeof o=="string"):[]}function Qs({item:e,connector:s,collapsed:n=!1,autoFocus:o=!1,sessionTitle:r}){return e.kind==="resolved"?t.jsx(eo,{entry:e.entry,connector:s}):n?t.jsx(Xs,{entry:e.entry,connector:s}):t.jsx(no,{entry:e.entry,connector:s,autoFocus:o,sessionTitle:r})}function xt(){return t.jsx("span",{className:g.recoveredChip,children:"still waiting"})}function Xs({entry:e,connector:s}){return t.jsx(U,{disc:t.jsx(H,{icon:xe,size:"xs",color:"var(--pi-color-statusWarning)"}),discClassName:g.askDisc,connector:s,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}),gt(e)&&t.jsx(xt,{})]})})}function Zs({count:e,connector:s,onExpand:n}){return t.jsx(U,{disc:t.jsx(H,{icon:xe,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:g.askDiscInert,connector:s,children:t.jsxs("button",{type:"button",className:g.moreRow,onClick:n,children:[e," more waiting"]})})}function eo({entry:e,connector:s}){const n=$t(e);return t.jsx(U,{disc:t.jsx(H,{icon:xe,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:g.askDiscInert,connector:s,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,n.tone==="success"&&g.outcomeSuccess),children:[n.glyph==="check"&&t.jsx(Ee,{size:11,"aria-hidden":!0}),t.jsx("span",{className:w(n.truncate&&g.outcomeText),children:n.text})]})]})})}function Z(e,s){return e.answerable?e.submitting?s?{loading:!0,style:{opacity:1}}:{disabled:!0}:{}:{disabled:!0,style:{opacity:1}}}function to({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((s,n)=>t.jsxs(p.Fragment,{children:[n>0&&t.jsx("span",{className:g.hintSep,children:"·"}),t.jsx("span",{className:g.hintKey,children:s.key}),s.label]},s.label))})}function no({entry:e,connector:s,autoFocus:n=!1,sessionTitle:o}){const[r,a]=p.useState(()=>Date.now()),c=as(e,r),[l,m]=p.useState(!1),d=p.useRef(null),h=p.useRef(null),u=p.useRef(null);p.useEffect(()=>{if(!c.show)return;const y=setInterval(()=>a(Date.now()),Vs);return()=>clearInterval(y)},[e.requestId,e.timeoutMs,c.show]),p.useEffect(()=>{var C,M;if(!n||!e.answerable)return;const y=document.activeElement;(y instanceof HTMLTextAreaElement||y instanceof HTMLInputElement)&&y.value.length>0&&!((C=d.current)!=null&&C.contains(y))||(M=h.current)==null||M.focus()},[n,e.answerable]);function x(y){var v,C;e.answerable&&(y.target.closest("button, input, textarea, a, select")||(v=d.current)!=null&&v.contains(document.activeElement)||(C=d.current)==null||C.focus())}function D(y){Wt(e.requestId,y)}function K(y){var C;if(y.key!=="Escape"||!e.answerable)return;y.preventDefault(),y.stopPropagation();const v=cs(l);if(m(v.armed),!v.resolve){(C=u.current)==null||C.focus();return}u.current?u.current.click():D({cancelled:!0})}function $(y){y.currentTarget.contains(y.relatedTarget)||m(!1)}return t.jsxs(U,{disc:t.jsx(H,{icon:xe,size:"xs",color:e.answerable?"var(--pi-color-statusWarning)":"var(--pi-color-foregroundMuted)"}),discClassName:e.answerable?g.askDisc:g.askDiscInert,connector:s,children:[t.jsxs("div",{ref:d,className:w(g.card,!e.answerable&&g.cardInert),role:"group","aria-label":`Question in ${o}`,tabIndex:-1,onKeyDown:K,onMouseDown:x,onBlur:$,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}),gt(e)&&t.jsx(xt,{})]}),t.jsx(so,{entry:e,onSubmit:D,primaryRef:h,dismissRef:u})]}),t.jsx(to,{hint:is(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 so({entry:e,onSubmit:s,primaryRef:n,dismissRef:o}){const{method:r,payload:a}=e;return r==="select"?t.jsx(oo,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="confirm"?t.jsx(ao,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):r==="input"?t.jsx(ro,{entry:e,payload:a,onSubmit:s,primaryRef:n}):r==="editor"?t.jsx(io,{entry:e,payload:a,onSubmit:s,primaryRef:n,dismissRef:o}):t.jsx(co,{entry:e,method:r,payload:a,onSubmit:s,primaryRef:n,dismissRef:o})}function _e({text:e}){return t.jsx("div",{className:g.title,children:we(e).join(`
|
|
6
6
|
`)})}function oo({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=te(s,"title")??"",c=Js(s,"options"),[l,m]=p.useState(null);if(c.length===0){const h=Z(e,l===0);return t.jsxs(t.Fragment,{children:[t.jsx(_e,{text:a}),t.jsx("p",{className:g.emptyOptionsNote,children:"The extension offered no options."}),t.jsx("div",{className:g.controls,children:t.jsx(L,{ref:u=>{o.current=u,r.current=u},size:"xs",variant:"secondary",onClick:()=>{m(0),n({cancelled:!0})},...h,children:"Cancel"})})]})}const d=ms(c);return t.jsxs(t.Fragment,{children:[t.jsx(_e,{text:a}),t.jsx("div",{className:w(g.controls,d.mode==="stack"&&g.controlsStack,d.scrolls&&g.controlsScroll),children:c.map((h,u)=>t.jsx(L,{ref:u===0?x=>{o.current=x}:void 0,size:"xs",variant:"secondary",className:g.optionButton,onClick:()=>{m(u),n({value:h})},...Z(e,l===u),children:h},u))})]})}function ao({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=te(s,"title")??"",c=te(s,"message"),l=fs(a,c),[m,d]=p.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx("div",{className:w(g.title,l.message&&g.titleEmphasised),children:l.title.join(`
|
|
7
7
|
`)}),l.message&&t.jsx("div",{className:g.message,children:l.message.join(`
|
|
8
|
-
`)}),t.jsxs("div",{className:g.controls,children:[t.jsx(L,{ref:h=>{o.current=h},size:"xs",variant:"default",onClick:()=>{d("yes"),n({confirmed:!0})},...Z(e,m==="yes"),children:"Yes"}),t.jsx(L,{ref:h=>{r.current=h},size:"xs",variant:"secondary",onClick:()=>{d("no"),n({confirmed:!1})},...Z(e,m==="no"),children:"No"})]})]})}function ro({entry:e,payload:s,onSubmit:n,primaryRef:o}){const r=te(s,"title")??"",a=te(s,"placeholder"),[c,l]=p.useState(""),m=Z(e,e.submitting===!0),d=m.disabled===!0||m.loading===!0;return t.jsxs(t.Fragment,{children:[t.jsx(_e,{text:r}),t.jsxs("div",{className:g.controls,children:[t.jsx(Ut,{ref:h=>{o.current=h},className:g.field,value:c,placeholder:a,disabled:d,onChange:h=>l(h.target.value),onKeyDown:h=>{h.key!=="Enter"||d||(h.preventDefault(),h.stopPropagation(),n({value:c}))}}),t.jsx(L,{size:"xs",variant:"default",onClick:()=>n({value:c}),...m,children:"Submit"})]})]})}function io({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=te(s,"title")??"",c=te(s,"prefill")??"",[l,m]=p.useState(c),[d,h]=p.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(_e,{text:a}),t.jsx(at,{ref:u=>{o.current=u},className:g.editorField,rows:3,value:l,disabled:!e.answerable||e.submitting,onChange:u=>{m(u.target.value);const x=u.target;x.style.height="auto",x.style.height=`${Math.min(x.scrollHeight,Ys)}px`},onKeyDown:u=>{u.key!=="Enter"||u.shiftKey!==_t(e.method)||(u.preventDefault(),u.stopPropagation(),h("submit"),n({value:l}))}}),t.jsxs("div",{className:g.controls,children:[t.jsx(L,{size:"xs",variant:"default",onClick:()=>{h("submit"),n({value:l})},...Z(e,d==="submit"),children:"Submit"}),t.jsx(L,{ref:u=>{r.current=u},size:"xs",variant:"secondary",onClick:()=>{h("cancel"),n({cancelled:!0})},...Z(e,d==="cancel"),children:"Cancel"})]})]})}function co({entry:e,method:s,payload:n,onSubmit:o,primaryRef:r,dismissRef:a}){const c={method:s,...n},l=Z(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(L,{ref:m=>{r.current=m,a.current=m},size:"xs",variant:"secondary",onClick:()=>o({cancelled:!0}),...l,children:"Cancel"})})]})}function tt(e){if(e===void 0)return null;const s=typeof e=="number"?e:Date.parse(e);return Number.isNaN(s)?null:s}function lo(e,s,n,o){if(s.length===0)return e.map(n);const r=[];let a=0;const c=l=>{for(;a<e.length;){const m=e[a];if(m===void 0)break;if(l!==null){const d=tt(m.timestamp);if(d!==null&&d>l)break}r.push(n(m)),a++}};for(const l of s){if(l.kind==="more"){r.push(o(l));continue}c(tt(l.item.entry.createdAt)),r.push(o(l))}for(;a<e.length;a++){const l=e[a];l!==void 0&&r.push(n(l))}return r}function uo(e,s){return!e||s===void 0?!1:s.every(n=>n.configured===!1)}const mo=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function nt(e){return String(e).padStart(2,"0")}function Ie(e){if(!e)return;const s=new Date(e);if(!Number.isNaN(s.getTime()))return`${mo[s.getMonth()]} ${s.getDate()}, ${nt(s.getHours())}:${nt(s.getMinutes())}`}const fo="_queuedBadge_12qdc_8",ho="_finalChip_12qdc_20",po="_userDisc_12qdc_30",go="_userAligned_12qdc_34",_o="_userPendingRow_12qdc_40",xo="_userBubble_12qdc_44",vo="_userBubbleFailed_12qdc_58",ko="_userImages_12qdc_63",jo="_userImage_12qdc_63",yo="_imageDialog_12qdc_79",bo="_imageDialogPreview_12qdc_83",No="_assistantDisc_12qdc_93",So="_assistantBody_12qdc_97",Co="_reasoningDisc_12qdc_108",wo="_reasoningBody_12qdc_112",Do="_toolDisc_12qdc_123",To="_toolCardBody_12qdc_127",Bo="_toolCardBodyRunning_12qdc_134",Eo="_toolCardBodyCompleted_12qdc_138",qo="_toolCardBodyError_12qdc_142",Ro="_toolHeader_12qdc_146",Ao="_toolHeaderRunning_12qdc_172",Lo="_toolChevron_12qdc_182",Io="_toolChevronOpen_12qdc_188",Oo="_kindBadge_12qdc_192",Mo="_toolPath_12qdc_204",Po="_toolTrailing_12qdc_213",Fo="_toolStatusRunning_12qdc_221",Ko="_toolStatusSuccess_12qdc_228",zo="_toolStatusError_12qdc_232",Ho="_toolStatusUnknown_12qdc_236",$o="_toolDiffAdded_12qdc_240",Wo="_toolDiffRemoved_12qdc_244",Uo="_toolOpenButton_12qdc_248",Go="_toolBody_12qdc_266",Vo="_toolCode_12qdc_272",Yo="_toolOutputStrip_12qdc_283",Jo="_toolDiffPreview_12qdc_293",Qo="_toolDiffPreviewLine_12qdc_301",Xo="_toolDiffPreviewAdd_12qdc_305",Zo="_toolDiffPreviewDel_12qdc_310",ea="_toolDiffPreviewMore_12qdc_315",ta="_errorDisc_12qdc_322",na="_errorCard_12qdc_326",sa="_errorLead_12qdc_335",oa="_systemRow_12qdc_342",aa="_compactionRow_12qdc_351",ra="_compactionRowFailed_12qdc_357",ia="_compactionDivider_12qdc_361",ca="_compactionRule_12qdc_367",la="_compactionLabel_12qdc_373",da="_compactionText_12qdc_380",ua="_compactionToggle_12qdc_386",ma="_compactionSummary_12qdc_403",f={queuedBadge:fo,finalChip:ho,userDisc:po,userAligned:go,userPendingRow:_o,userBubble:xo,userBubbleFailed:vo,userImages:ko,userImage:jo,imageDialog:yo,imageDialogPreview:bo,assistantDisc:No,assistantBody:So,reasoningDisc:Co,reasoningBody:wo,toolDisc:Do,toolCardBody:To,toolCardBodyRunning:Bo,toolCardBodyCompleted:Eo,toolCardBodyError:qo,toolHeader:Ro,toolHeaderRunning:Ao,toolChevron:Lo,toolChevronOpen:Io,kindBadge:Oo,toolPath:Mo,toolTrailing:Po,toolStatusRunning:Fo,toolStatusSuccess:Ko,toolStatusError:zo,toolStatusUnknown:Ho,toolDiffAdded:$o,toolDiffRemoved:Wo,toolOpenButton:Uo,toolBody:Go,toolCode:Vo,toolOutputStrip:Yo,toolDiffPreview:Jo,toolDiffPreviewLine:Qo,toolDiffPreviewAdd:Xo,toolDiffPreviewDel:Zo,toolDiffPreviewMore:ea,errorDisc:ta,errorCard:na,errorLead:sa,systemRow:oa,compactionRow:aa,compactionRowFailed:ra,compactionDivider:ia,compactionRule:ca,compactionLabel:la,compactionText:da,compactionToggle:ua,compactionSummary:ma};function fa({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const a=Ie(e.timestamp);return t.jsx(U,{disc:t.jsx(H,{icon:_n,size:"xs",color:"var(--pi-color-accentForeground)"}),discClassName:f.assistantDisc,connector:r,meta:t.jsxs(t.Fragment,{children:["Assistant",a&&t.jsxs("span",{className:z.metaTime,children:[" · ",a]})]}),children:t.jsx("div",{className:f.assistantBody,children:e.streaming?t.jsx(ut,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o}):t.jsx(Re,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o})})})}function ha({row:e,owningPaneId:s=null,workspaceCwd:n=null,connector:o}){const r=Ie(e.timestamp);return t.jsx(U,{disc:t.jsx(H,{icon:ct,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:f.reasoningDisc,connector:o,meta:t.jsxs(t.Fragment,{children:["Reasoning",r&&t.jsxs("span",{className:z.metaTime,children:[" · ",r]})]}),metaTrailing:!e.streaming&&t.jsx("span",{className:f.finalChip,children:"final"}),children:t.jsx("div",{className:f.reasoningBody,children:e.streaming?t.jsx(ut,{text:e.text,owningPaneId:s,workspaceCwd:n}):t.jsx(Re,{text:e.text,owningPaneId:s,workspaceCwd:n})})})}function pa(e){const s=qn(e).filter(o=>o.kind==="add"||o.kind==="del"),n=s[0];return n?{text:n.text,kind:n.kind,moreCount:s.length-1}:null}function ga(e){return e.status==="completed"?t.jsx("span",{className:f.toolStatusSuccess,children:"✓ completed"}):e.status==="error"?t.jsx("span",{className:f.toolStatusError,children:e.statusText||"error"}):e.statusText&&e.statusText!=="running"?t.jsx("span",{className:f.toolStatusUnknown,children:e.statusText}):t.jsxs("span",{className:f.toolStatusRunning,children:[t.jsx(oe,{size:"xs",color:"var(--pi-color-accentBright)"}),"running"]})}function _a({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const[a,c]=p.useState(!1),l=On(e.tool),m=In(e.tool),d=m.length>0,h=Pn(e.tool.output),u=e.tool.kind==="edit"||e.tool.kind==="write"?ht(e.tool):null,x=e.tool.kind==="edit"?Mn(e.tool.diff):null,D=e.tool.kind==="edit"&&e.tool.diff&&!a?pa(e.tool.diff):null;function K(){d&&c(v=>!v)}function $(v){v.target===v.currentTarget&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),K())}function y(v){if(v.stopPropagation(),!u)return;const C=Bn(s,n,o);Gt(u,C.workspaceCwd,C.targetPaneId)}return t.jsx(U,{disc:t.jsx(H,{icon:An(e.tool),size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:f.toolDisc,connector:r,children:t.jsxs("div",{className:w(f.toolCardBody,e.status==="running"&&f.toolCardBodyRunning,e.status==="completed"&&f.toolCardBodyCompleted,e.status==="error"&&f.toolCardBodyError),children:[t.jsxs("div",{role:"button",tabIndex:d?0:-1,"aria-expanded":d?a:void 0,"aria-disabled":!d,className:w(f.toolHeader,e.status==="running"&&f.toolHeaderRunning),onClick:K,onKeyDown:$,children:[d&&t.jsx(lt,{size:12,className:w(f.toolChevron,a&&f.toolChevronOpen)}),t.jsx("span",{className:f.kindBadge,style:{"--kindToken":`var(--pi-color-${l.token})`},children:l.label}),t.jsx("span",{className:f.toolPath,title:Ce(e.tool),children:Ce(e.tool)}),t.jsxs("span",{className:f.toolTrailing,children:[x&&(x.added>0||x.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:f.toolDiffAdded,children:["+",x.added]}),t.jsxs("span",{className:f.toolDiffRemoved,children:["−",x.removed]})]}),ga(e),u&&t.jsxs("button",{type:"button",className:f.toolOpenButton,onClick:y,onKeyDown:v=>v.stopPropagation(),children:["Open",t.jsx(xn,{size:10})]})]})]}),h>0&&t.jsxs("div",{className:f.toolOutputStrip,children:["output · ",h," lines"]}),D&&t.jsxs("div",{className:f.toolDiffPreview,children:[t.jsx("div",{className:w(f.toolDiffPreviewLine,D.kind==="add"?f.toolDiffPreviewAdd:f.toolDiffPreviewDel),children:D.text}),D.moreCount>0&&t.jsxs("div",{className:f.toolDiffPreviewMore,children:["… ",D.moreCount," more lines"]})]}),a&&d&&t.jsx("div",{className:f.toolBody,children:m.map((v,C)=>v.kind==="diff"?t.jsx(En,{patch:v.patch},C):t.jsx("pre",{className:f.toolCode,children:v.text},C))})]})})}const xa="Fork from here",va="Fork conversation from this message";function ka({row:e,connector:s,onFork:n}){const[o,r]=p.useState(null),a=Ie(e.timestamp);return t.jsxs(U,{disc:t.jsx(H,{icon:jn,size:"xs",color:"var(--pi-color-successForeground)"}),discClassName:f.userDisc,connector:s,className:w(f.userAligned,e.pending&&f.userPendingRow),meta:t.jsxs(t.Fragment,{children:["You",a&&t.jsxs("span",{className:z.metaTime,children:[" · ",a]}),e.failed&&" · failed to send"]}),metaTrailing:t.jsxs(t.Fragment,{children:[e.queued&&!e.failed&&t.jsxs("span",{className:f.queuedBadge,children:[t.jsx(vn,{size:9}),"queued"]}),n&&t.jsx(Yt,{className:z.forkButton,hoverBase:"var(--pi-color-surface3)",title:xa,"aria-label":va,onClick:n,children:t.jsx(kn,{size:13,strokeWidth:1.8,"aria-hidden":"true"})})]}),children:[t.jsx("span",{className:w(f.userBubble,e.failed&&f.userBubbleFailed),children:e.text}),e.images&&e.images.length>0&&t.jsx("div",{className:f.userImages,children:e.images.map((c,l)=>{const m=`data:${c.mimeType??"image/png"};base64,${c.data??""}`;return t.jsx("img",{className:f.userImage,src:m,alt:"",role:"button",tabIndex:0,onClick:()=>r(m),onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&r(m)}},l)})}),t.jsx(Vt,{open:o!==null,onOpenChange:c=>{c||r(null)},title:"Image",width:"auto",bare:!0,className:f.imageDialog,children:o&&t.jsx("img",{className:f.imageDialogPreview,src:o,alt:""})})]})}function ja({row:e,connector:s}){return t.jsx(U,{disc:t.jsx(H,{icon:dt,size:"xs",color:"var(--pi-color-destructive)"}),discClassName:f.errorDisc,connector:s,children:t.jsxs("div",{className:f.errorCard,children:[t.jsx("span",{className:f.errorLead,children:"Error"})," · ",e.text]})})}function ya({row:e}){return t.jsx("div",{className:f.systemRow,children:e.text})}function ba({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null}){const[r,a]=p.useState(!1),c=rt(e),l=e.phase==="completed"&&!!e.summary,m=t.jsx("span",{className:f.compactionText,children:c});return t.jsxs("div",{className:w(f.compactionRow,e.phase==="failed"&&f.compactionRowFailed),children:[t.jsxs("div",{className:f.compactionDivider,children:[t.jsx("span",{className:f.compactionRule,"aria-hidden":"true"}),t.jsxs("span",{className:f.compactionLabel,children:[e.phase==="started"&&t.jsx(oe,{size:"xs","aria-label":"Compacting context"}),e.phase==="failed"&&t.jsx(H,{icon:dt,size:"xs",color:"var(--pi-color-statusDanger)"}),l?t.jsxs("button",{type:"button",className:f.compactionToggle,"aria-expanded":r,onClick:()=>a(d=>!d),children:[t.jsx(lt,{size:12,className:w(f.toolChevron,r&&f.toolChevronOpen)}),m]}):m]}),t.jsx("span",{className:f.compactionRule,"aria-hidden":"true"})]}),l&&r&&t.jsx("div",{className:f.compactionSummary,children:t.jsx(Re,{text:e.summary,assetBase:s,owningPaneId:n,workspaceCwd:o})})]})}const Na=500;function Sa(e,s){const n=p.useRef(!0),[o,r]=p.useState(!0),a=p.useRef(0),c=p.useCallback(d=>{const h=s.current,u=h?{scrollTop:h.scrollTop,scrollHeight:h.scrollHeight,clientHeight:h.clientHeight}:{scrollTop:0,scrollHeight:0,clientHeight:0},x=$n(n.current,d,u);x.pinned!==n.current&&(n.current=x.pinned,r(x.pinned)),x.stick&&e.options.count>0&&e.scrollToEnd({behavior:"auto"})},[s,e]);p.useEffect(()=>{const d=s.current;if(!d)return;const h=()=>{a.current=performance.now()},u=()=>{c({kind:"scroll",gesture:performance.now()-a.current<Na})};d.addEventListener("scroll",u,{passive:!0}),d.addEventListener("wheel",h,{passive:!0}),d.addEventListener("touchmove",h,{passive:!0}),d.addEventListener("pointerdown",h,{passive:!0}),d.addEventListener("keydown",h,{passive:!0});const x=new ResizeObserver(()=>{d.clientHeight>0&&c({kind:"shown"})});return x.observe(d),()=>{x.disconnect(),d.removeEventListener("scroll",u),d.removeEventListener("wheel",h),d.removeEventListener("touchmove",h),d.removeEventListener("pointerdown",h),d.removeEventListener("keydown",h)}},[c,s]);const l=p.useCallback(()=>c({kind:"tail"}),[c]),m=p.useCallback(()=>c({kind:"pin"}),[c]);return{pinned:o,followTail:l,pinToBottom:m}}const Ca="_root_1xg4h_6",wa="_viewport_1xg4h_13",Da="_inner_1xg4h_20",Ta="_rowWrap_1xg4h_25",Ba="_empty_1xg4h_35",Ea="_nudge_1xg4h_47",qa="_jumpToLatest_1xg4h_56",ee={root:Ca,viewport:wa,inner:Da,rowWrap:Ta,empty:Ba,nudge:Ea,jumpToLatest:qa},Ra=160;function Aa(e){return e.kind==="ask"?`ask:${ns(e.item)}`:e.kind==="ask-more"?"ask-more":e.row.id}function La(e,s,n,o,r,a){switch(e.kind){case"user":{const c=a.ordinalByRowId.get(e.id),l=c!==void 0?()=>a.onForkFromRow(c):null;return t.jsx(ka,{row:e,connector:!s,onFork:l})}case"assistant":return t.jsx(fa,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"reasoning":return t.jsx(ha,{row:e,owningPaneId:o,workspaceCwd:r,connector:!s});case"tool":return t.jsx(_a,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"error":return t.jsx(ja,{row:e,connector:!s});case"system":return t.jsx(ya,{row:e});case"compaction":return t.jsx(ba,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r})}}function Ia(e,s,n,o,r,a,c,l,m){return e.kind==="ask"?t.jsx(Qs,{item:e.item,collapsed:e.collapsed,connector:!s,autoFocus:e.item.kind==="pending"&&e.item.entry.requestId===c,sessionTitle:l}):e.kind==="ask-more"?t.jsx(Zs,{count:e.count,connector:!s,onExpand:a}):La(e.row,s,n,o,r,m)}function Oa({session:e,owningPaneId:s,workspaceCwd:n}){var N,B;const o=e.timeline.rows,r=e.status==="running",a=Jt(),c=Qt(e.cwd,a),l=p.useRef(null),m=Xt(e),d=Zt(e.agentId??""),h=en(e.agentId??""),[u,x]=p.useState(!1),D=O(b=>b.activeSessionId===e.id),K=tn(b=>{var T;return((T=b.layouts[n])==null?void 0:T.focusedPaneId)===s}),$=D&&K?((N=d[0])==null?void 0:N.requestId)??null:null,y=p.useMemo(()=>{const b=os(ts(d,h),u);return lo(o,b,T=>({kind:"row",row:T}),T=>T.kind==="more"?{kind:"ask-more",count:T.count}:{kind:"ask",item:T.item,collapsed:T.collapsed})},[o,d,h,u]),v=X(b=>b.status==="open"),C=X(b=>b.serverInfo),M=!!((B=C==null?void 0:C.features)!=null&&B.providerAuth),G=nn(b=>b.openSettings),{data:W}=Tn(o.length===0&&v&&M),V=uo(M,W),I=Ft({count:y.length,getScrollElement:()=>l.current,estimateSize:()=>Ra,overscan:8,getItemKey:b=>{const T=y[b];return T?Aa(T):b},measureElement:(b,T,J)=>{if(b.offsetParent!==null)return Kt(b,T,J);const re=J.indexFromElement(b),fe=J.options.getItemKey(re);return J.itemSizeCache.get(fe)??J.options.estimateSize(re)},anchorTo:"end",scrollEndThreshold:pt}),{pinned:ae,followTail:R,pinToBottom:Y}=Sa(I,l),P=Wn(o);return p.useEffect(()=>{R()},[y.length,R]),p.useEffect(()=>{P!==null&&Y()},[P,Y]),t.jsxs("div",{className:ee.root,children:[t.jsx("div",{className:ee.viewport,ref:l,children:y.length===0?!r&&(V?t.jsxs(sn,{className:ee.nudge,children:[t.jsx("span",{children:"No messages yet — connect a model provider to get started."}),t.jsx(L,{size:"xs",variant:"secondary",onClick:()=>G(),children:"Connect a model provider"})]}):t.jsx("div",{className:ee.empty,children:"No messages yet — say something to start."})):t.jsx("div",{className:ee.inner,style:{height:I.getTotalSize()},children:I.getVirtualItems().map(b=>{const T=y[b.index];return T?t.jsx("div",{ref:I.measureElement,"data-index":b.index,className:ee.rowWrap,style:{transform:`translateY(${b.start}px)`},children:Ia(T,b.index===y.length-1,c,s,n,()=>x(!0),$,e.title,m)},b.key):null})})}),!ae&&y.length>0&&t.jsx("button",{type:"button",className:ee.jumpToLatest,onClick:Y,title:"Jump to latest","aria-label":"Jump to latest",children:t.jsx(yn,{size:16,"aria-hidden":"true"})})]})}function Ma(e,s=!0){const n=X(o=>o.client);return Te({queryKey:Be.agentCommands(e),queryFn:async()=>{if(!n)throw new Error("not connected");const o=await ge(n,e),{commands:r}=await n.agent(o).listCommands();return r},enabled:!!n&&!!e&&s})}function vt(e,s,n=!0){const o=X(r=>r.client);return Te({queryKey:Be.providerModels(e,s),queryFn:async()=>{if(!o)throw new Error("not connected");return(await o.providers.listModels(e,s?{agentId:s}:void 0)).models},enabled:!!o&&!!e&&n})}function Pa(e,s,n=!0){const o=X(r=>r.client);return Te({queryKey:Be.thinkingLevels(e??"",s),queryFn:async()=>{if(!o||!e)throw new Error("not connected");return(await o.agent(e).listThinkingLevels()).levels},enabled:!!o&&!!e&&n,retry:!1})}const Fa="_strip_nzfk5_4",Ka="_thumb_nzfk5_11",za="_remove_nzfk5_28",Ne={strip:Fa,thumb:Ka,remove:za};function Ha({images:e,onRemove:s}){return e.length===0?null:t.jsx("div",{className:Ne.strip,children:e.map((n,o)=>t.jsxs("div",{className:Ne.thumb,children:[t.jsx("img",{src:n.thumbUrl,alt:""}),t.jsx("button",{type:"button",className:Ne.remove,title:"Remove",onClick:()=>s(o),children:"×"})]},o))})}function $a(e){const{promise:s,resolve:n,reject:o}=Promise.withResolvers(),r=new FileReader;return r.onload=()=>{const a=r.result;if(typeof a!="string"){o(new Error("Unexpected FileReader result"));return}const c=a.indexOf(","),l=c>=0?a.slice(c+1):a;n({mimeType:e.type,data:l,thumbUrl:a})},r.onerror=()=>o(r.error??new Error("Failed to read file")),r.readAsDataURL(e),s}function Wa(e,s,n){return e?n:s}const De=[{name:"compact",description:"Manually compact the session context",source:"builtin"}];function kt(e){var o;const s=/^\/([^\s]+)(?:\s+([\s\S]*))?$/.exec(e.trim());if((s==null?void 0:s[1])!=="compact")return null;const n=(o=s[2])==null?void 0:o.trim();return{name:"compact",args:n||void 0}}function Oe(e){if(!e.startsWith("/"))return null;const s=/^\/(\S*)/.exec(e),n=(s==null?void 0:s[1])??"",o=1+n.length,r=/\S/.test(e.slice(o));return{name:n,end:o,hasArgs:r}}function Ua(e){return/^\/\S*$/.test(e)}function Ga(e,s){let n=0;const o=De.map(a=>({value:a.name,label:`/${a.name}`,description:a.description,kind:a.source,disabled:s.builtinsDisabled===!0})),r=new Set(De.map(a=>a.name));for(const a of e)if(!r.has(a.name)){if(s.running&&a.source==="extension"){n+=1;continue}o.push({value:a.name,label:`/${a.name}`,description:a.description,kind:a.source})}return{options:o,hiddenExtensionCount:n}}function Va(e,s,n){return n<=0?0:(e+s+n)%n}function Ya(e,s){const n=Oe(e);return n?n.hasArgs?`/${s}${e.slice(n.end)}`:`/${s} `:`/${s} ${e}`}function Ja(e,s){const n=Oe(e);return!n||!s.includes(n.name)?null:{end:n.end}}function jt({running:e,compacting:s,hasAgent:n}){return n&&!e&&!s}function Qa(e,s){return!e.ok&&e.reason!=="canceled"&&s===""}function Xa(e){const s=e.text.trim().length>0||e.hasImages;return!e.hasClient||!s||e.busy||e.compacting?!1:kt(e.text)!==null?jt(e):!0}const Za="_picker_11hqs_4",er="_search_11hqs_10",tr="_searchWrap_11hqs_28",nr="_searchSpinner_11hqs_37",sr="_list_11hqs_45",or="_item_11hqs_50",ar="_itemActive_11hqs_67",rr="_checkSlot_11hqs_71",ir="_label_11hqs_80",cr="_modelId_11hqs_86",lr="_state_11hqs_93",dr="_stateError_11hqs_102",ur="_commandContent_11hqs_112",mr="_commandList_11hqs_115",fr="_commandItem_11hqs_120",hr="_commandItemHeader_11hqs_152",pr="_commandKindBadge_11hqs_166",gr="_commandKindExtension_11hqs_185",_r="_commandKindPrompt_11hqs_190",xr="_commandKindSkill_11hqs_195",vr="_commandDescription_11hqs_200",kr="_commandItemDisabled_11hqs_214",k={picker:Za,search:er,searchWrap:tr,searchSpinner:nr,list:sr,item:or,itemActive:ar,checkSlot:rr,label:ir,modelId:cr,state:lr,stateError:dr,commandContent:ur,commandList:mr,commandItem:fr,commandItemHeader:hr,commandKindBadge:pr,commandKindExtension:gr,commandKindPrompt:_r,commandKindSkill:xr,commandDescription:vr,commandItemDisabled:kr},jr={onOpenAutoFocus:e=>e.preventDefault()};function yr(e){switch(e){case"extension":return k.commandKindExtension;case"prompt":return k.commandKindPrompt;case"skill":return k.commandKindSkill;default:return}}function br({open:e,onOpenChange:s,options:n,highlightedIndex:o,onSelect:r,isLoading:a,isError:c,errorMessage:l,hiddenExtensionCount:m,renderTrigger:d}){const h=p.useRef(null);return p.useEffect(()=>{var u,x;e&&((x=(u=h.current)==null?void 0:u.querySelector('[aria-selected="true"]'))==null||x.scrollIntoView({block:"nearest"}))},[e,o]),t.jsxs(Ae,{open:e,onOpenChange:s,modal:!1,children:[t.jsx(Le,{asChild:!0,children:d()}),t.jsxs(Ee,{className:w(k.picker,k.commandContent),side:"top",sideOffset:4,...jr,onCloseAutoFocus:u=>u.preventDefault(),children:[a&&t.jsx("div",{className:k.state,children:t.jsx(oe,{size:"sm"})}),!a&&c&&t.jsx("div",{className:k.stateError,children:l??"Failed to load commands"}),!a&&!c&&n.length===0&&t.jsx("div",{className:k.state,children:"No commands found"}),!a&&!c&&n.length>0&&t.jsx("div",{ref:h,className:w(k.list,k.commandList),children:n.map((u,x)=>t.jsxs("div",{role:"option","aria-selected":x===o,"aria-disabled":u.disabled||void 0,className:w(k.item,k.commandItem,x===o&&k.itemActive,u.disabled&&k.commandItemDisabled),title:u.description,onMouseDown:D=>{D.preventDefault(),u.disabled||r(u.value)},children:[t.jsxs("div",{className:k.commandItemHeader,children:[t.jsx("span",{className:k.label,children:u.label}),u.kind&&t.jsx("span",{className:w(k.commandKindBadge,yr(u.kind)),children:u.kind})]}),u.description&&t.jsx("div",{className:k.commandDescription,children:u.description})]},u.value))}),!a&&!c&&m>0&&t.jsxs("div",{className:k.state,children:[m," extension command(s) unavailable while the agent is running"]})]})]})}function Nr(e,s={}){const n=new Map;for(const m of e){const d=m.group??"",h=n.get(d);h?h.push(m):n.set(d,[m])}const o=n.get("");n.delete("");const r=[...n.keys()],{priorityGroup:a,ungroupedLabel:c}=s;a!==void 0&&n.has(a)&&(r.splice(r.indexOf(a),1),r.unshift(a));const l=r.map(m=>({key:m,label:m,options:n.get(m)??[]}));return o&&l.push({key:"",label:c,options:o}),l}function Sr(e,s,n){if(!s)return e;const o=e.filter(a=>a.id===s),r=(n===void 0?void 0:o.find(a=>a.provider===n))??o[0];return r?[r,...e.filter(a=>a!==r)]:e}function Cr(e){const s=new Set;return e.filter(n=>{const o=`${n.provider??""}/${n.id}`;return s.has(o)?!1:(s.add(o),!0)})}function wr({currentModel:e,currentModelProvider:s,provider:n,agentId:o,onSelect:r,renderTrigger:a}){const[c,l]=p.useState(!1),[m,d]=p.useState(""),h=p.useRef(null),u=p.useRef(null),{data:x,isLoading:D,isFetching:K,isError:$,error:y,refetch:v}=vt(n,o,c||e!==void 0),C=x??[];p.useEffect(()=>{c&&d("")},[c]),p.useEffect(()=>{c&&v({cancelRefetch:!1})},[c,v]);const G=Cr(Sr(C,e,s)).map(N=>({value:N.id,label:N.label??N.id,description:N.id,group:N.provider})),W=G[0],V=(W==null?void 0:W.value)===e?W:void 0,I=Nr(ft(G,m),{priorityGroup:s,ungroupedLabel:"Other"}),ae=I.length>1,R=y instanceof Error?y.message:"Failed to load models";function Y(N){var B;if(N.stopPropagation(),N.key==="Escape"&&l(!1),N.key==="ArrowDown"){const b=(B=u.current)==null?void 0:B.querySelector('[role="menuitem"]');b&&(N.preventDefault(),b.focus())}}const P={onOpenAutoFocus:N=>{var B;N.preventDefault(),(B=h.current)==null||B.focus()}};return t.jsxs(Ae,{open:c,onOpenChange:l,modal:!1,children:[t.jsx(Le,{asChild:!0,children:a(e,V==null?void 0:V.label)}),t.jsxs(Ee,{minWidth:240,align:"end",sideOffset:6,className:k.picker,...P,children:[t.jsxs("div",{className:k.searchWrap,children:[t.jsx("input",{ref:h,className:k.search,placeholder:"Search models…",value:m,onChange:N=>d(N.target.value),onKeyDown:Y}),K&&!D&&t.jsx(oe,{size:"xs",color:"var(--pi-color-foregroundMuted)",className:k.searchSpinner,"aria-label":"Refreshing models"})]}),D&&t.jsx("div",{className:k.state,children:t.jsx(oe,{size:"sm"})}),!D&&$&&x===void 0&&t.jsx("div",{className:k.stateError,children:R}),!D&&x!==void 0&&I.length===0&&t.jsx("div",{className:k.state,children:"No models found"}),!D&&x!==void 0&&I.length>0&&t.jsx("div",{ref:u,className:k.list,children:I.map(N=>t.jsx(on,{label:ae?N.label:void 0,children:N.options.map(B=>t.jsxs(mt,{className:k.item,onSelect:()=>r(B.value,B.group),children:[t.jsx("span",{className:k.checkSlot,"aria-hidden":!0,children:B===V&&t.jsx(qe,{size:14})}),t.jsx("span",{className:k.label,children:B.label}),t.jsxs("span",{className:k.modelId,children:["(",B.value,")"]})]},`${B.group??""}/${B.value}`))},N.key))})]})]})}function Dr({currentLevel:e,levels:s,open:n,onOpenChange:o,onSelect:r,renderTrigger:a}){return t.jsxs(Ae,{open:n,onOpenChange:o,modal:!1,children:[t.jsx(Le,{asChild:!0,children:a(e)}),t.jsx(Ee,{minWidth:140,align:"end",side:"top",sideOffset:6,className:k.picker,children:s.length===0?t.jsx("div",{className:k.state,children:"Loading levels…"}):t.jsx("div",{className:k.list,children:s.map(c=>t.jsxs(mt,{className:k.item,onSelect:()=>r(c),children:[t.jsx("span",{className:k.checkSlot,"aria-hidden":!0,children:c===e&&t.jsx(qe,{size:14})}),t.jsx("span",{className:k.label,children:c})]},c))})})]})}const st=["off","minimal","low","medium","high","xhigh","max"];function Tr(e,s){if(!e)return st;const n=s==null?void 0:s.find(o=>o.id===e);return n!=null&&n.thinkingLevels&&n.thinkingLevels.length>0?n.thinkingLevels:st}const Br="_composer_ivj95_4",Er="_card_ivj95_13",qr="_flash_ivj95_27",Rr="_note_ivj95_41",Ar="_inlineError_ivj95_48",Lr="_compacting_ivj95_56",Ir="_textarea_ivj95_57",Or="_compactStatus_ivj95_66",Mr="_compactStatusText_ivj95_75",Pr="_compactCancel_ivj95_81",Fr="_textareaWrap_ivj95_122",Kr="_highlightLayer_ivj95_110",zr="_commandMark_ivj95_145",Hr="_hiddenFileInput_ivj95_170",$r="_toolbar_ivj95_176",Wr="_toolbarRight_ivj95_183",Ur="_toolBtn_ivj95_191",Gr="_roundBtn_ivj95_197",Vr="_modelBtn_ivj95_202",Yr="_modelLabel_ivj95_232",Jr="_modelId_ivj95_230",Qr="_modelChevron_ivj95_250",S={composer:Br,card:Er,flash:qr,note:Rr,inlineError:Ar,compacting:Lr,textarea:Ir,compactStatus:Or,compactStatusText:Mr,compactCancel:Pr,textareaWrap:Fr,highlightLayer:Kr,commandMark:zr,hiddenFileInput:Hr,toolbar:$r,toolbarRight:Wr,toolBtn:Ur,roundBtn:Gr,modelBtn:Vr,modelLabel:Yr,modelId:Jr,modelChevron:Qr},Xr=160;function se(e){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,Xr)}px`}function Zr(e){return typeof e=="object"&&e!==null&&"ok"in e&&e.ok===!1}function ei(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function ti({sessionId:e}){var Ye;const s=X(i=>i.client),n=O(i=>i.sessions[e]),o=O(i=>i.addOptimisticUserMessage),r=O(i=>i.markUserMessageFailed),a=O(i=>i.setCwd),c=O(i=>i.setModel),l=O(i=>i.setThinkingLevel),m=X(i=>i.serverInfo),[d,h]=p.useState(!1),u=!!((Ye=m==null?void 0:m.features)!=null&&Ye.thinkingLevels),{data:x}=Pa(n==null?void 0:n.agentId,n==null?void 0:n.model,d&&!!(n!=null&&n.agentId)&&((n==null?void 0:n.userMessageCount)??0)>0),{data:D}=vt("pi",n==null?void 0:n.agentId),K=Tr(n==null?void 0:n.model,D),$=x!==void 0&&x.length>0?x:K,y=u&&!(x!==void 0&&x.length===0),v=me(i=>i.drafts[e]??""),C=me(i=>i.setDraft),[M,G]=p.useState([]),[W,V]=p.useState(!1),[I,ae]=p.useState(!1),R=p.useRef(null),Y=p.useRef(null),[P,N]=p.useState(!1),[B,b]=p.useState(0),T=an(ln.chat(e)),J=me(i=>i.pendingFeedback[e]),[re,fe]=p.useState(null),[ve,ie]=p.useState(null),[yt,Me]=p.useState(!1),ce=p.useRef(null),le=p.useRef(null);p.useEffect(()=>{if(!T||J===void 0)return;const i=me.getState().consumeFeedback(e);if(!i)return;fe(i.copy==="filled"?"Your message was filled in":"Your draft was replaced"),ce.current!==null&&window.clearTimeout(ce.current),ce.current=window.setTimeout(()=>fe(null),4e3);const _=R.current;_&&_.setSelectionRange(_.value.length,_.value.length),i.flash&&(Me(!0),le.current!==null&&window.clearTimeout(le.current),le.current=window.setTimeout(()=>Me(!1),ei()?1e3:400))},[T,J,e]),p.useEffect(()=>()=>{ce.current!==null&&window.clearTimeout(ce.current),le.current!==null&&window.clearTimeout(le.current)},[]);const F=(n==null?void 0:n.status)==="running",q=rn(e),ke=pe(i=>i.lastErrorBySession[e]),bt=pe(i=>i.compactSession),je=pe(i=>i.cancelCompaction),Nt=pe(i=>i.clearError),Pe=!!(n!=null&&n.agentId),St=Wa(F,W,I),Fe=Xa({hasClient:!!s,busy:St,compacting:q,running:F,hasAgent:Pe,text:v,hasImages:M.length>0}),{data:Ke=[],isLoading:Ct,isError:wt,error:ze}=Ma(e,P),{options:He,hiddenExtensionCount:Dt}=Ga(Ke,{running:F,builtinsDisabled:!jt({running:F,compacting:q,hasAgent:Pe})}),$e=Oe(v),he=$e?ft(He,$e.name):He,Tt=[...De,...Ke].map(i=>i.name),ne=Ja(v,Tt),We=q?cn((n==null?void 0:n.timeline.rows)??[]):void 0,Bt=We?rt(We):"Compacting context…";async function Ue(i){if(i.type.startsWith("image/"))try{const _=await $a(i);G(j=>[...j,_])}catch{}}function Et(i){for(const _ of i.target.files??[])Ue(_);i.target.value=""}function qt(i){if(!q){for(const _ of i.clipboardData.items)if(_.type.startsWith("image/")){i.preventDefault();const j=_.getAsFile();j&&Ue(j)}}}function Rt(i){G(_=>_.filter((j,E)=>E!==i))}function At(i){const _=i.target.value;C(e,_),se(i.target),ke&&Nt(e),ve&&ie(null);const j=Ua(_);j!==P&&N(j),j&&b(0)}function Lt(i){if(q){i.key==="Escape"&&(i.preventDefault(),je(e));return}if(!P&&ne&&i.key==="Backspace"){const _=i.currentTarget,j=_.selectionStart;if(j!==null&&j===_.selectionEnd){const E=ne.end+(v[ne.end]===" "?1:0);if(j>0&&j<=E){i.preventDefault();const A=v.slice(E);C(e,A),_.setSelectionRange(0,0),se(_);return}}}if(P&&he.length>0){if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault(),b(_=>Va(_,i.key==="ArrowDown"?1:-1,he.length));return}if(i.key==="Enter"&&!i.shiftKey||i.key==="Tab"){i.preventDefault();const _=he[B];_&&!_.disabled&&Ge(_.value);return}}if(P&&i.key==="Escape"){i.preventDefault(),N(!1);return}i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),Ve(F?"steer":"send"))}function Ge(i){const _=Ya(v,i);C(e,_),N(!1),b(0);const j=R.current;j&&(j.focus(),j.setSelectionRange(_.length,_.length),se(j))}async function Ve(i){if(!s||!n||(i==="steer"?I:W)||i==="steer"&&!n.agentId)return;const _=v.trim();if(!_&&M.length===0||!Fe)return;const j=kt(_);if(j){N(!1),C(e,""),R.current&&se(R.current);const Q=await bt(e,j.args);Qa(Q,me.getState().drafts[e]??"")&&(C(e,v),R.current&&se(R.current));return}C(e,""),N(!1),R.current&&se(R.current);const E=M;G([]);const A=_||"Describe this image",de=E.length>0?E.map(Q=>({mimeType:Q.mimeType,data:Q.data})):void 0,ue=dn();o(e,ue,A,de,i==="steer");const Je=i==="steer"?ae:V;Je(!0);try{if(i==="steer"){const Q=await s.agent(n.agentId).steer(A,{clientMessageId:ue,images:de});Zr(Q)&&r(e,ue)}else{n.agentId||a(e,n.cwd||"~");const Q=await ge(s,e);await s.agent(Q).send(A,{clientMessageId:ue,images:de})}}catch{r(e,ue)}finally{Je(!1)}}function It(){n!=null&&n.agentId&&(q?je(e):s==null||s.agent(n.agentId).interrupt())}function Ot(i,_){const j={model:n==null?void 0:n.model,provider:n==null?void 0:n.modelProvider};c(e,i,_),ie(null),!(!s||!_)&&(async()=>{const E=await ge(s,e);await s.agent(E).setModel(_,i)})().catch(E=>{const A=O.getState().sessions[e];(A==null?void 0:A.model)===i&&A.modelProvider===_&&c(e,j.model,j.provider);const de=E instanceof Error?E.message:String(E);ie(`Couldn't switch model: ${de}`)})}function Mt(i){const _=n==null?void 0:n.thinkingLevel;l(e,i),ie(null),s&&(async()=>{const j=await ge(s,e),E=await s.agent(j).setThinking(i);l(e,E.level)})().catch(j=>{var A;((A=O.getState().sessions[e])==null?void 0:A.thinkingLevel)===i&&l(e,_);const E=j instanceof Error?j.message:String(j);ie(`Couldn't set thinking level: ${E}`)})}return t.jsxs("div",{className:S.composer,children:[t.jsxs("div",{className:w(S.card,yt&&S.flash,q&&S.compacting),children:[t.jsxs("div",{className:S.textareaWrap,children:[t.jsx("div",{className:S.highlightLayer,"aria-hidden":!0,children:ne?t.jsxs(t.Fragment,{children:[t.jsx("mark",{className:S.commandMark,children:v.slice(0,ne.end)}),v.slice(ne.end)]}):v}),t.jsx(at,{ref:R,className:S.textarea,rows:1,value:v,readOnly:q,placeholder:q?"Compacting context… esc cancel":F?"Steer the running turn… ⏎ steer · ⇧⏎ newline":"Ask anything… ⏎ send · ⇧⏎ newline · / commands",onChange:At,onKeyDown:Lt,onPaste:qt,"data-session-id":e})]}),t.jsx(Ha,{images:M,onRemove:Rt}),t.jsxs("div",{className:S.toolbar,children:[t.jsx(L,{className:S.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Attach image","aria-label":"Attach image",disabled:q,onClick:()=>{var i;return(i=Y.current)==null?void 0:i.click()},children:t.jsx(bn,{size:16})}),t.jsx(br,{open:P&&!q,onOpenChange:N,options:he,highlightedIndex:B,onSelect:Ge,isLoading:Ct,isError:wt,errorMessage:ze instanceof Error?ze.message:void 0,hiddenExtensionCount:Dt,renderTrigger:()=>t.jsx(L,{className:S.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,disabled:q,title:"Slash commands","aria-label":"Slash commands",children:t.jsx(Nn,{size:16})})}),t.jsxs("div",{className:S.toolbarRight,children:[t.jsx(wr,{currentModel:n==null?void 0:n.model,currentModelProvider:n==null?void 0:n.modelProvider,provider:"pi",agentId:n==null?void 0:n.agentId,onSelect:Ot,renderTrigger:(i,_)=>{const j=_!==void 0&&_!==i;return t.jsxs("button",{type:"button",className:S.modelBtn,disabled:!s,title:i?`Model: ${_??i}${j?` (${i})`:""}`:"Select model",children:[t.jsx(Sn,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:S.modelLabel,children:_??i??"Model"}),j&&t.jsxs("span",{className:S.modelId,children:["(",i,")"]}),t.jsx(Xe,{size:13,className:S.modelChevron,"aria-hidden":"true"})]})}}),y&&t.jsx(Dr,{currentLevel:n==null?void 0:n.thinkingLevel,levels:$,open:d,onOpenChange:h,onSelect:Mt,renderTrigger:i=>t.jsxs("button",{type:"button",className:S.modelBtn,disabled:!s,title:i?`Thinking: ${i}`:"Thinking level",children:[t.jsx(ct,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:S.modelLabel,children:i??"Thinking"}),t.jsx(Xe,{size:13,className:S.modelChevron,"aria-hidden":"true"})]})}),(F||q)&&t.jsx(L,{className:S.roundBtn,variant:"destructive",size:"sm",iconOnly:!0,title:q?"Cancel the compaction":"Stop the running turn","aria-label":"Stop",onClick:It,children:t.jsx(Cn,{size:14})}),t.jsx(L,{className:S.roundBtn,size:"sm",iconOnly:!0,disabled:!Fe,title:F?"Steer the running turn":"Send","aria-label":F?"Steer":"Send",onClick:()=>void Ve(F?"steer":"send"),children:F?t.jsx(wn,{size:16}):t.jsx(Dn,{size:18})})]})]})]}),t.jsx("div",{role:"status",children:q&&t.jsxs("div",{className:S.compactStatus,children:[t.jsx(oe,{size:"xs","aria-label":"Compacting"}),t.jsx("span",{className:S.compactStatusText,children:Bt}),t.jsx("button",{type:"button",className:S.compactCancel,title:"Cancel the compaction (Esc)",onClick:()=>void je(e),children:"Cancel"})]})}),re!==null&&t.jsx("div",{className:S.note,children:re}),ke&&t.jsx("div",{role:"alert",className:S.inlineError,children:ke}),ve&&t.jsx("div",{role:"alert",className:S.inlineError,children:ve}),t.jsx("input",{ref:Y,className:S.hiddenFileInput,type:"file",accept:"image/*",multiple:!0,onChange:Et})]})}const ni="_track_oxvl6_2",si="_sweep_oxvl6_24",oi="_visuallyHidden_oxvl6_64",Se={track:ni,sweep:si,visuallyHidden:oi};function ai({running:e}){return e?t.jsxs("div",{className:Se.track,role:"progressbar","aria-label":"Turn in progress",children:[t.jsx("div",{className:Se.sweep,"aria-hidden":"true"}),t.jsx("span",{className:Se.visuallyHidden,role:"status","aria-live":"polite",children:"Agent is working…"})]}):null}const ri="_panel_1tq06_1",ii="_empty_1tq06_5",ot={panel:ri,empty:ii};function ji({tab:e,owningPaneId:s}){const{sessionId:n}=e.data,o=O(r=>r.sessions[n]);return Hn(n),o?t.jsxs(Qe,{className:ot.panel,children:[t.jsx(ai,{running:o.status==="running"}),t.jsx(Oa,{session:o,owningPaneId:s,workspaceCwd:e.workspaceCwd}),t.jsx(ti,{sessionId:o.id})]}):t.jsx(Qe,{children:t.jsx("div",{className:ot.empty,children:"Session not found."})})}export{ji as ChatPanel};
|
|
8
|
+
`)}),t.jsxs("div",{className:g.controls,children:[t.jsx(L,{ref:h=>{o.current=h},size:"xs",variant:"default",onClick:()=>{d("yes"),n({confirmed:!0})},...Z(e,m==="yes"),children:"Yes"}),t.jsx(L,{ref:h=>{r.current=h},size:"xs",variant:"secondary",onClick:()=>{d("no"),n({confirmed:!1})},...Z(e,m==="no"),children:"No"})]})]})}function ro({entry:e,payload:s,onSubmit:n,primaryRef:o}){const r=te(s,"title")??"",a=te(s,"placeholder"),[c,l]=p.useState(""),m=Z(e,e.submitting===!0),d=m.disabled===!0||m.loading===!0;return t.jsxs(t.Fragment,{children:[t.jsx(_e,{text:r}),t.jsxs("div",{className:g.controls,children:[t.jsx(Ut,{ref:h=>{o.current=h},className:g.field,value:c,placeholder:a,disabled:d,onChange:h=>l(h.target.value),onKeyDown:h=>{h.key!=="Enter"||d||(h.preventDefault(),h.stopPropagation(),n({value:c}))}}),t.jsx(L,{size:"xs",variant:"default",onClick:()=>n({value:c}),...m,children:"Submit"})]})]})}function io({entry:e,payload:s,onSubmit:n,primaryRef:o,dismissRef:r}){const a=te(s,"title")??"",c=te(s,"prefill")??"",[l,m]=p.useState(c),[d,h]=p.useState(null);return t.jsxs(t.Fragment,{children:[t.jsx(_e,{text:a}),t.jsx(at,{ref:u=>{o.current=u},className:g.editorField,rows:3,value:l,disabled:!e.answerable||e.submitting,onChange:u=>{m(u.target.value);const x=u.target;x.style.height="auto",x.style.height=`${Math.min(x.scrollHeight,Ys)}px`},onKeyDown:u=>{u.key!=="Enter"||u.shiftKey!==_t(e.method)||(u.preventDefault(),u.stopPropagation(),h("submit"),n({value:l}))}}),t.jsxs("div",{className:g.controls,children:[t.jsx(L,{size:"xs",variant:"default",onClick:()=>{h("submit"),n({value:l})},...Z(e,d==="submit"),children:"Submit"}),t.jsx(L,{ref:u=>{r.current=u},size:"xs",variant:"secondary",onClick:()=>{h("cancel"),n({cancelled:!0})},...Z(e,d==="cancel"),children:"Cancel"})]})]})}function co({entry:e,method:s,payload:n,onSubmit:o,primaryRef:r,dismissRef:a}){const c={method:s,...n},l=Z(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(L,{ref:m=>{r.current=m,a.current=m},size:"xs",variant:"secondary",onClick:()=>o({cancelled:!0}),...l,children:"Cancel"})})]})}function tt(e){if(e===void 0)return null;const s=typeof e=="number"?e:Date.parse(e);return Number.isNaN(s)?null:s}function lo(e,s,n,o){if(s.length===0)return e.map(n);const r=[];let a=0;const c=l=>{for(;a<e.length;){const m=e[a];if(m===void 0)break;if(l!==null){const d=tt(m.timestamp);if(d!==null&&d>l)break}r.push(n(m)),a++}};for(const l of s){if(l.kind==="more"){r.push(o(l));continue}c(tt(l.item.entry.createdAt)),r.push(o(l))}for(;a<e.length;a++){const l=e[a];l!==void 0&&r.push(n(l))}return r}function uo(e,s){return!e||s===void 0?!1:s.every(n=>n.configured===!1)}const mo=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function nt(e){return String(e).padStart(2,"0")}function Ie(e){if(!e)return;const s=new Date(e);if(!Number.isNaN(s.getTime()))return`${mo[s.getMonth()]} ${s.getDate()}, ${nt(s.getHours())}:${nt(s.getMinutes())}`}const fo="_queuedBadge_12qdc_8",ho="_finalChip_12qdc_20",po="_userDisc_12qdc_30",go="_userAligned_12qdc_34",_o="_userPendingRow_12qdc_40",xo="_userBubble_12qdc_44",vo="_userBubbleFailed_12qdc_58",ko="_userImages_12qdc_63",jo="_userImage_12qdc_63",yo="_imageDialog_12qdc_79",bo="_imageDialogPreview_12qdc_83",No="_assistantDisc_12qdc_93",So="_assistantBody_12qdc_97",Co="_reasoningDisc_12qdc_108",wo="_reasoningBody_12qdc_112",Do="_toolDisc_12qdc_123",To="_toolCardBody_12qdc_127",qo="_toolCardBodyRunning_12qdc_134",Bo="_toolCardBodyCompleted_12qdc_138",Eo="_toolCardBodyError_12qdc_142",Ro="_toolHeader_12qdc_146",Ao="_toolHeaderRunning_12qdc_172",Lo="_toolChevron_12qdc_182",Io="_toolChevronOpen_12qdc_188",Oo="_kindBadge_12qdc_192",Mo="_toolPath_12qdc_204",Po="_toolTrailing_12qdc_213",Fo="_toolStatusRunning_12qdc_221",Ko="_toolStatusSuccess_12qdc_228",zo="_toolStatusError_12qdc_232",Ho="_toolStatusUnknown_12qdc_236",$o="_toolDiffAdded_12qdc_240",Wo="_toolDiffRemoved_12qdc_244",Uo="_toolOpenButton_12qdc_248",Go="_toolBody_12qdc_266",Vo="_toolCode_12qdc_272",Yo="_toolOutputStrip_12qdc_283",Jo="_toolDiffPreview_12qdc_293",Qo="_toolDiffPreviewLine_12qdc_301",Xo="_toolDiffPreviewAdd_12qdc_305",Zo="_toolDiffPreviewDel_12qdc_310",ea="_toolDiffPreviewMore_12qdc_315",ta="_errorDisc_12qdc_322",na="_errorCard_12qdc_326",sa="_errorLead_12qdc_335",oa="_systemRow_12qdc_342",aa="_compactionRow_12qdc_351",ra="_compactionRowFailed_12qdc_357",ia="_compactionDivider_12qdc_361",ca="_compactionRule_12qdc_367",la="_compactionLabel_12qdc_373",da="_compactionText_12qdc_380",ua="_compactionToggle_12qdc_386",ma="_compactionSummary_12qdc_403",f={queuedBadge:fo,finalChip:ho,userDisc:po,userAligned:go,userPendingRow:_o,userBubble:xo,userBubbleFailed:vo,userImages:ko,userImage:jo,imageDialog:yo,imageDialogPreview:bo,assistantDisc:No,assistantBody:So,reasoningDisc:Co,reasoningBody:wo,toolDisc:Do,toolCardBody:To,toolCardBodyRunning:qo,toolCardBodyCompleted:Bo,toolCardBodyError:Eo,toolHeader:Ro,toolHeaderRunning:Ao,toolChevron:Lo,toolChevronOpen:Io,kindBadge:Oo,toolPath:Mo,toolTrailing:Po,toolStatusRunning:Fo,toolStatusSuccess:Ko,toolStatusError:zo,toolStatusUnknown:Ho,toolDiffAdded:$o,toolDiffRemoved:Wo,toolOpenButton:Uo,toolBody:Go,toolCode:Vo,toolOutputStrip:Yo,toolDiffPreview:Jo,toolDiffPreviewLine:Qo,toolDiffPreviewAdd:Xo,toolDiffPreviewDel:Zo,toolDiffPreviewMore:ea,errorDisc:ta,errorCard:na,errorLead:sa,systemRow:oa,compactionRow:aa,compactionRowFailed:ra,compactionDivider:ia,compactionRule:ca,compactionLabel:la,compactionText:da,compactionToggle:ua,compactionSummary:ma};function fa({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const a=Ie(e.timestamp);return t.jsx(U,{disc:t.jsx(H,{icon:_n,size:"xs",color:"var(--pi-color-accentForeground)"}),discClassName:f.assistantDisc,connector:r,meta:t.jsxs(t.Fragment,{children:["Assistant",a&&t.jsxs("span",{className:z.metaTime,children:[" · ",a]})]}),children:t.jsx("div",{className:f.assistantBody,children:e.streaming?t.jsx(ut,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o}):t.jsx(Re,{text:e.text,assetBase:s,owningPaneId:n,workspaceCwd:o})})})}function ha({row:e,owningPaneId:s=null,workspaceCwd:n=null,connector:o}){const r=Ie(e.timestamp);return t.jsx(U,{disc:t.jsx(H,{icon:ct,size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:f.reasoningDisc,connector:o,meta:t.jsxs(t.Fragment,{children:["Reasoning",r&&t.jsxs("span",{className:z.metaTime,children:[" · ",r]})]}),metaTrailing:!e.streaming&&t.jsx("span",{className:f.finalChip,children:"final"}),children:t.jsx("div",{className:f.reasoningBody,children:e.streaming?t.jsx(ut,{text:e.text,owningPaneId:s,workspaceCwd:n}):t.jsx(Re,{text:e.text,owningPaneId:s,workspaceCwd:n})})})}function pa(e){const s=En(e).filter(o=>o.kind==="add"||o.kind==="del"),n=s[0];return n?{text:n.text,kind:n.kind,moreCount:s.length-1}:null}function ga(e){return e.status==="completed"?t.jsx("span",{className:f.toolStatusSuccess,children:"✓ completed"}):e.status==="error"?t.jsx("span",{className:f.toolStatusError,children:e.statusText||"error"}):e.statusText&&e.statusText!=="running"?t.jsx("span",{className:f.toolStatusUnknown,children:e.statusText}):t.jsxs("span",{className:f.toolStatusRunning,children:[t.jsx(oe,{size:"xs",color:"var(--pi-color-accentBright)"}),"running"]})}function _a({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null,connector:r}){const[a,c]=p.useState(!1),l=On(e.tool),m=In(e.tool),d=m.length>0,h=Pn(e.tool.output),u=e.tool.kind==="edit"||e.tool.kind==="write"?ht(e.tool):null,x=e.tool.kind==="edit"?Mn(e.tool.diff):null,D=e.tool.kind==="edit"&&e.tool.diff&&!a?pa(e.tool.diff):null;function K(){d&&c(v=>!v)}function $(v){v.target===v.currentTarget&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),K())}function y(v){if(v.stopPropagation(),!u)return;const C=qn(s,n,o);Gt(u,C.workspaceCwd,C.targetPaneId)}return t.jsx(U,{disc:t.jsx(H,{icon:An(e.tool),size:"xs",color:"var(--pi-color-foregroundMuted)"}),discClassName:f.toolDisc,connector:r,children:t.jsxs("div",{className:w(f.toolCardBody,e.status==="running"&&f.toolCardBodyRunning,e.status==="completed"&&f.toolCardBodyCompleted,e.status==="error"&&f.toolCardBodyError),children:[t.jsxs("div",{role:"button",tabIndex:d?0:-1,"aria-expanded":d?a:void 0,"aria-disabled":!d,className:w(f.toolHeader,e.status==="running"&&f.toolHeaderRunning),onClick:K,onKeyDown:$,children:[d&&t.jsx(lt,{size:12,className:w(f.toolChevron,a&&f.toolChevronOpen)}),t.jsx("span",{className:f.kindBadge,style:{"--kindToken":`var(--pi-color-${l.token})`},children:l.label}),t.jsx("span",{className:f.toolPath,title:Ce(e.tool),children:Ce(e.tool)}),t.jsxs("span",{className:f.toolTrailing,children:[x&&(x.added>0||x.removed>0)&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:f.toolDiffAdded,children:["+",x.added]}),t.jsxs("span",{className:f.toolDiffRemoved,children:["−",x.removed]})]}),ga(e),u&&t.jsxs("button",{type:"button",className:f.toolOpenButton,onClick:y,onKeyDown:v=>v.stopPropagation(),children:["Open",t.jsx(xn,{size:10})]})]})]}),h>0&&t.jsxs("div",{className:f.toolOutputStrip,children:["output · ",h," lines"]}),D&&t.jsxs("div",{className:f.toolDiffPreview,children:[t.jsx("div",{className:w(f.toolDiffPreviewLine,D.kind==="add"?f.toolDiffPreviewAdd:f.toolDiffPreviewDel),children:D.text}),D.moreCount>0&&t.jsxs("div",{className:f.toolDiffPreviewMore,children:["… ",D.moreCount," more lines"]})]}),a&&d&&t.jsx("div",{className:f.toolBody,children:m.map((v,C)=>v.kind==="diff"?t.jsx(Bn,{patch:v.patch},C):t.jsx("pre",{className:f.toolCode,children:v.text},C))})]})})}const xa="Fork from here",va="Fork conversation from this message";function ka({row:e,connector:s,onFork:n}){const[o,r]=p.useState(null),a=Ie(e.timestamp);return t.jsxs(U,{disc:t.jsx(H,{icon:jn,size:"xs",color:"var(--pi-color-successForeground)"}),discClassName:f.userDisc,connector:s,className:w(f.userAligned,e.pending&&f.userPendingRow),meta:t.jsxs(t.Fragment,{children:["You",a&&t.jsxs("span",{className:z.metaTime,children:[" · ",a]}),e.failed&&" · failed to send"]}),metaTrailing:t.jsxs(t.Fragment,{children:[e.queued&&!e.failed&&t.jsxs("span",{className:f.queuedBadge,children:[t.jsx(vn,{size:9}),"queued"]}),n&&t.jsx(Yt,{className:z.forkButton,hoverBase:"var(--pi-color-surface3)",title:xa,"aria-label":va,onClick:n,children:t.jsx(kn,{size:13,strokeWidth:1.8,"aria-hidden":"true"})})]}),children:[t.jsx("span",{className:w(f.userBubble,e.failed&&f.userBubbleFailed),children:e.text}),e.images&&e.images.length>0&&t.jsx("div",{className:f.userImages,children:e.images.map((c,l)=>{const m=`data:${c.mimeType??"image/png"};base64,${c.data??""}`;return t.jsx("img",{className:f.userImage,src:m,alt:"",role:"button",tabIndex:0,onClick:()=>r(m),onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&r(m)}},l)})}),t.jsx(Vt,{open:o!==null,onOpenChange:c=>{c||r(null)},title:"Image",width:"auto",bare:!0,className:f.imageDialog,children:o&&t.jsx("img",{className:f.imageDialogPreview,src:o,alt:""})})]})}function ja({row:e,connector:s}){return t.jsx(U,{disc:t.jsx(H,{icon:dt,size:"xs",color:"var(--pi-color-destructive)"}),discClassName:f.errorDisc,connector:s,children:t.jsxs("div",{className:f.errorCard,children:[t.jsx("span",{className:f.errorLead,children:"Error"})," · ",e.text]})})}function ya({row:e}){return t.jsx("div",{className:f.systemRow,children:e.text})}function ba({row:e,assetBase:s=null,owningPaneId:n=null,workspaceCwd:o=null}){const[r,a]=p.useState(!1),c=rt(e),l=e.phase==="completed"&&!!e.summary,m=t.jsx("span",{className:f.compactionText,children:c});return t.jsxs("div",{className:w(f.compactionRow,e.phase==="failed"&&f.compactionRowFailed),children:[t.jsxs("div",{className:f.compactionDivider,children:[t.jsx("span",{className:f.compactionRule,"aria-hidden":"true"}),t.jsxs("span",{className:f.compactionLabel,children:[e.phase==="started"&&t.jsx(oe,{size:"xs","aria-label":"Compacting context"}),e.phase==="failed"&&t.jsx(H,{icon:dt,size:"xs",color:"var(--pi-color-statusDanger)"}),l?t.jsxs("button",{type:"button",className:f.compactionToggle,"aria-expanded":r,onClick:()=>a(d=>!d),children:[t.jsx(lt,{size:12,className:w(f.toolChevron,r&&f.toolChevronOpen)}),m]}):m]}),t.jsx("span",{className:f.compactionRule,"aria-hidden":"true"})]}),l&&r&&t.jsx("div",{className:f.compactionSummary,children:t.jsx(Re,{text:e.summary,assetBase:s,owningPaneId:n,workspaceCwd:o})})]})}const Na=500;function Sa(e,s){const n=p.useRef(!0),[o,r]=p.useState(!0),a=p.useRef(0),c=p.useCallback(d=>{const h=s.current,u=h?{scrollTop:h.scrollTop,scrollHeight:h.scrollHeight,clientHeight:h.clientHeight}:{scrollTop:0,scrollHeight:0,clientHeight:0},x=$n(n.current,d,u);x.pinned!==n.current&&(n.current=x.pinned,r(x.pinned)),x.stick&&e.options.count>0&&e.scrollToEnd({behavior:"auto"})},[s,e]);p.useEffect(()=>{const d=s.current;if(!d)return;const h=()=>{a.current=performance.now()},u=()=>{c({kind:"scroll",gesture:performance.now()-a.current<Na})};d.addEventListener("scroll",u,{passive:!0}),d.addEventListener("wheel",h,{passive:!0}),d.addEventListener("touchmove",h,{passive:!0}),d.addEventListener("pointerdown",h,{passive:!0}),d.addEventListener("keydown",h,{passive:!0});const x=new ResizeObserver(()=>{d.clientHeight>0&&c({kind:"shown"})});return x.observe(d),()=>{x.disconnect(),d.removeEventListener("scroll",u),d.removeEventListener("wheel",h),d.removeEventListener("touchmove",h),d.removeEventListener("pointerdown",h),d.removeEventListener("keydown",h)}},[c,s]);const l=p.useCallback(()=>c({kind:"tail"}),[c]),m=p.useCallback(()=>c({kind:"pin"}),[c]);return{pinned:o,followTail:l,pinToBottom:m}}const Ca="_root_1xg4h_6",wa="_viewport_1xg4h_13",Da="_inner_1xg4h_20",Ta="_rowWrap_1xg4h_25",qa="_empty_1xg4h_35",Ba="_nudge_1xg4h_47",Ea="_jumpToLatest_1xg4h_56",ee={root:Ca,viewport:wa,inner:Da,rowWrap:Ta,empty:qa,nudge:Ba,jumpToLatest:Ea},Ra=160;function Aa(e){return e.kind==="ask"?`ask:${ns(e.item)}`:e.kind==="ask-more"?"ask-more":e.row.id}function La(e,s,n,o,r,a){switch(e.kind){case"user":{const c=a.ordinalByRowId.get(e.id),l=c!==void 0?()=>a.onForkFromRow(c):null;return t.jsx(ka,{row:e,connector:!s,onFork:l})}case"assistant":return t.jsx(fa,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"reasoning":return t.jsx(ha,{row:e,owningPaneId:o,workspaceCwd:r,connector:!s});case"tool":return t.jsx(_a,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r,connector:!s});case"error":return t.jsx(ja,{row:e,connector:!s});case"system":return t.jsx(ya,{row:e});case"compaction":return t.jsx(ba,{row:e,assetBase:n,owningPaneId:o,workspaceCwd:r})}}function Ia(e,s,n,o,r,a,c,l,m){return e.kind==="ask"?t.jsx(Qs,{item:e.item,collapsed:e.collapsed,connector:!s,autoFocus:e.item.kind==="pending"&&e.item.entry.requestId===c,sessionTitle:l}):e.kind==="ask-more"?t.jsx(Zs,{count:e.count,connector:!s,onExpand:a}):La(e.row,s,n,o,r,m)}function Oa({session:e,owningPaneId:s,workspaceCwd:n}){var N,q;const o=e.timeline.rows,r=e.status==="running",a=Jt(),c=Qt(e.cwd,a),l=p.useRef(null),m=Xt(e),d=Zt(e.agentId??""),h=en(e.agentId??""),[u,x]=p.useState(!1),D=O(b=>b.activeSessionId===e.id),K=tn(b=>{var T;return((T=b.layouts[n])==null?void 0:T.focusedPaneId)===s}),$=D&&K?((N=d[0])==null?void 0:N.requestId)??null:null,y=p.useMemo(()=>{const b=os(ts(d,h),u);return lo(o,b,T=>({kind:"row",row:T}),T=>T.kind==="more"?{kind:"ask-more",count:T.count}:{kind:"ask",item:T.item,collapsed:T.collapsed})},[o,d,h,u]),v=X(b=>b.status==="open"),C=X(b=>b.serverInfo),M=!!((q=C==null?void 0:C.features)!=null&&q.providerAuth),G=nn(b=>b.openSettings),{data:W}=Tn(o.length===0&&v&&M),V=uo(M,W),I=Ft({count:y.length,getScrollElement:()=>l.current,estimateSize:()=>Ra,overscan:8,getItemKey:b=>{const T=y[b];return T?Aa(T):b},measureElement:(b,T,J)=>{if(b.offsetParent!==null)return Kt(b,T,J);const re=J.indexFromElement(b),fe=J.options.getItemKey(re);return J.itemSizeCache.get(fe)??J.options.estimateSize(re)},anchorTo:"end",scrollEndThreshold:pt}),{pinned:ae,followTail:R,pinToBottom:Y}=Sa(I,l),P=Wn(o);return p.useEffect(()=>{R()},[y.length,R]),p.useEffect(()=>{P!==null&&Y()},[P,Y]),t.jsxs("div",{className:ee.root,children:[t.jsx("div",{className:ee.viewport,ref:l,children:y.length===0?!r&&(V?t.jsxs(sn,{className:ee.nudge,children:[t.jsx("span",{children:"No messages yet — connect a model provider to get started."}),t.jsx(L,{size:"xs",variant:"secondary",onClick:()=>G(),children:"Connect a model provider"})]}):t.jsx("div",{className:ee.empty,children:"No messages yet — say something to start."})):t.jsx("div",{className:ee.inner,style:{height:I.getTotalSize()},children:I.getVirtualItems().map(b=>{const T=y[b.index];return T?t.jsx("div",{ref:I.measureElement,"data-index":b.index,className:ee.rowWrap,style:{transform:`translateY(${b.start}px)`},children:Ia(T,b.index===y.length-1,c,s,n,()=>x(!0),$,e.title,m)},b.key):null})})}),!ae&&y.length>0&&t.jsx("button",{type:"button",className:ee.jumpToLatest,onClick:Y,title:"Jump to latest","aria-label":"Jump to latest",children:t.jsx(yn,{size:16,"aria-hidden":"true"})})]})}function Ma(e,s=!0){const n=X(o=>o.client);return Te({queryKey:qe.agentCommands(e),queryFn:async()=>{if(!n)throw new Error("not connected");const o=await ge(n,e),{commands:r}=await n.agent(o).listCommands();return r},enabled:!!n&&!!e&&s})}function vt(e,s,n=!0){const o=X(r=>r.client);return Te({queryKey:qe.providerModels(e,s),queryFn:async()=>{if(!o)throw new Error("not connected");return(await o.providers.listModels(e,s?{agentId:s}:void 0)).models},enabled:!!o&&!!e&&n})}function Pa(e,s,n=!0){const o=X(r=>r.client);return Te({queryKey:qe.thinkingLevels(e??"",s),queryFn:async()=>{if(!o||!e)throw new Error("not connected");return(await o.agent(e).listThinkingLevels()).levels},enabled:!!o&&!!e&&n,retry:!1})}const Fa="_strip_nzfk5_4",Ka="_thumb_nzfk5_11",za="_remove_nzfk5_28",Ne={strip:Fa,thumb:Ka,remove:za};function Ha({images:e,onRemove:s}){return e.length===0?null:t.jsx("div",{className:Ne.strip,children:e.map((n,o)=>t.jsxs("div",{className:Ne.thumb,children:[t.jsx("img",{src:n.thumbUrl,alt:""}),t.jsx("button",{type:"button",className:Ne.remove,title:"Remove",onClick:()=>s(o),children:"×"})]},o))})}function $a(e){const{promise:s,resolve:n,reject:o}=Promise.withResolvers(),r=new FileReader;return r.onload=()=>{const a=r.result;if(typeof a!="string"){o(new Error("Unexpected FileReader result"));return}const c=a.indexOf(","),l=c>=0?a.slice(c+1):a;n({mimeType:e.type,data:l,thumbUrl:a})},r.onerror=()=>o(r.error??new Error("Failed to read file")),r.readAsDataURL(e),s}function Wa(e,s,n){return e?n:s}const De=[{name:"compact",description:"Manually compact the session context",source:"builtin"}];function kt(e){var o;const s=/^\/([^\s]+)(?:\s+([\s\S]*))?$/.exec(e.trim());if((s==null?void 0:s[1])!=="compact")return null;const n=(o=s[2])==null?void 0:o.trim();return{name:"compact",args:n||void 0}}function Oe(e){if(!e.startsWith("/"))return null;const s=/^\/(\S*)/.exec(e),n=(s==null?void 0:s[1])??"",o=1+n.length,r=/\S/.test(e.slice(o));return{name:n,end:o,hasArgs:r}}function Ua(e){return/^\/\S*$/.test(e)}function Ga(e,s){let n=0;const o=De.map(a=>({value:a.name,label:`/${a.name}`,description:a.description,kind:a.source,disabled:s.builtinsDisabled===!0})),r=new Set(De.map(a=>a.name));for(const a of e)if(!r.has(a.name)){if(s.running&&a.source==="extension"){n+=1;continue}o.push({value:a.name,label:`/${a.name}`,description:a.description,kind:a.source})}return{options:o,hiddenExtensionCount:n}}function Va(e,s,n){return n<=0?0:(e+s+n)%n}function Ya(e,s){const n=Oe(e);return n?n.hasArgs?`/${s}${e.slice(n.end)}`:`/${s} `:`/${s} ${e}`}function Ja(e,s){const n=Oe(e);return!n||!s.includes(n.name)?null:{end:n.end}}function jt({running:e,compacting:s,hasAgent:n}){return n&&!e&&!s}function Qa(e,s){return!e.ok&&e.reason!=="canceled"&&s===""}function Xa(e){const s=e.text.trim().length>0||e.hasImages;return!e.hasClient||!s||e.busy||e.compacting?!1:kt(e.text)!==null?jt(e):!0}const Za="_picker_11hqs_4",er="_search_11hqs_10",tr="_searchWrap_11hqs_28",nr="_searchSpinner_11hqs_37",sr="_list_11hqs_45",or="_item_11hqs_50",ar="_itemActive_11hqs_67",rr="_checkSlot_11hqs_71",ir="_label_11hqs_80",cr="_modelId_11hqs_86",lr="_state_11hqs_93",dr="_stateError_11hqs_102",ur="_commandContent_11hqs_112",mr="_commandList_11hqs_115",fr="_commandItem_11hqs_120",hr="_commandItemHeader_11hqs_152",pr="_commandKindBadge_11hqs_166",gr="_commandKindExtension_11hqs_185",_r="_commandKindPrompt_11hqs_190",xr="_commandKindSkill_11hqs_195",vr="_commandDescription_11hqs_200",kr="_commandItemDisabled_11hqs_214",k={picker:Za,search:er,searchWrap:tr,searchSpinner:nr,list:sr,item:or,itemActive:ar,checkSlot:rr,label:ir,modelId:cr,state:lr,stateError:dr,commandContent:ur,commandList:mr,commandItem:fr,commandItemHeader:hr,commandKindBadge:pr,commandKindExtension:gr,commandKindPrompt:_r,commandKindSkill:xr,commandDescription:vr,commandItemDisabled:kr},jr={onOpenAutoFocus:e=>e.preventDefault()};function yr(e){switch(e){case"extension":return k.commandKindExtension;case"prompt":return k.commandKindPrompt;case"skill":return k.commandKindSkill;default:return}}function br({open:e,onOpenChange:s,options:n,highlightedIndex:o,onSelect:r,isLoading:a,isError:c,errorMessage:l,hiddenExtensionCount:m,renderTrigger:d}){const h=p.useRef(null);return p.useEffect(()=>{var u,x;e&&((x=(u=h.current)==null?void 0:u.querySelector('[aria-selected="true"]'))==null||x.scrollIntoView({block:"nearest"}))},[e,o]),t.jsxs(Ae,{open:e,onOpenChange:s,modal:!1,children:[t.jsx(Le,{asChild:!0,children:d()}),t.jsxs(Be,{className:w(k.picker,k.commandContent),side:"top",sideOffset:4,...jr,onCloseAutoFocus:u=>u.preventDefault(),children:[a&&t.jsx("div",{className:k.state,children:t.jsx(oe,{size:"sm"})}),!a&&c&&t.jsx("div",{className:k.stateError,children:l??"Failed to load commands"}),!a&&!c&&n.length===0&&t.jsx("div",{className:k.state,children:"No commands found"}),!a&&!c&&n.length>0&&t.jsx("div",{ref:h,className:w(k.list,k.commandList),children:n.map((u,x)=>t.jsxs("div",{role:"option","aria-selected":x===o,"aria-disabled":u.disabled||void 0,className:w(k.item,k.commandItem,x===o&&k.itemActive,u.disabled&&k.commandItemDisabled),title:u.description,onMouseDown:D=>{D.preventDefault(),u.disabled||r(u.value)},children:[t.jsxs("div",{className:k.commandItemHeader,children:[t.jsx("span",{className:k.label,children:u.label}),u.kind&&t.jsx("span",{className:w(k.commandKindBadge,yr(u.kind)),children:u.kind})]}),u.description&&t.jsx("div",{className:k.commandDescription,children:u.description})]},u.value))}),!a&&!c&&m>0&&t.jsxs("div",{className:k.state,children:[m," extension command(s) unavailable while the agent is running"]})]})]})}function Nr(e,s={}){const n=new Map;for(const m of e){const d=m.group??"",h=n.get(d);h?h.push(m):n.set(d,[m])}const o=n.get("");n.delete("");const r=[...n.keys()],{priorityGroup:a,ungroupedLabel:c}=s;a!==void 0&&n.has(a)&&(r.splice(r.indexOf(a),1),r.unshift(a));const l=r.map(m=>({key:m,label:m,options:n.get(m)??[]}));return o&&l.push({key:"",label:c,options:o}),l}function Sr(e,s,n){if(!s)return e;const o=e.filter(a=>a.id===s),r=(n===void 0?void 0:o.find(a=>a.provider===n))??o[0];return r?[r,...e.filter(a=>a!==r)]:e}function Cr(e){const s=new Set;return e.filter(n=>{const o=`${n.provider??""}/${n.id}`;return s.has(o)?!1:(s.add(o),!0)})}function wr({currentModel:e,currentModelProvider:s,provider:n,agentId:o,onSelect:r,renderTrigger:a}){const[c,l]=p.useState(!1),[m,d]=p.useState(""),h=p.useRef(null),u=p.useRef(null),{data:x,isLoading:D,isFetching:K,isError:$,error:y,refetch:v}=vt(n,o,c||e!==void 0),C=x??[];p.useEffect(()=>{c&&d("")},[c]),p.useEffect(()=>{c&&v({cancelRefetch:!1})},[c,v]);const G=Cr(Sr(C,e,s)).map(N=>({value:N.id,label:N.label??N.id,description:N.id,group:N.provider})),W=G[0],V=(W==null?void 0:W.value)===e?W:void 0,I=Nr(ft(G,m),{priorityGroup:s,ungroupedLabel:"Other"}),ae=I.length>1,R=y instanceof Error?y.message:"Failed to load models";function Y(N){var q;if(N.stopPropagation(),N.key==="Escape"&&l(!1),N.key==="ArrowDown"){const b=(q=u.current)==null?void 0:q.querySelector('[role="menuitem"]');b&&(N.preventDefault(),b.focus())}}const P={onOpenAutoFocus:N=>{var q;N.preventDefault(),(q=h.current)==null||q.focus()}};return t.jsxs(Ae,{open:c,onOpenChange:l,modal:!1,children:[t.jsx(Le,{asChild:!0,children:a(e,V==null?void 0:V.label)}),t.jsxs(Be,{minWidth:240,align:"end",sideOffset:6,className:k.picker,...P,children:[t.jsxs("div",{className:k.searchWrap,children:[t.jsx("input",{ref:h,className:k.search,placeholder:"Search models…",value:m,onChange:N=>d(N.target.value),onKeyDown:Y}),K&&!D&&t.jsx(oe,{size:"xs",color:"var(--pi-color-foregroundMuted)",className:k.searchSpinner,"aria-label":"Refreshing models"})]}),D&&t.jsx("div",{className:k.state,children:t.jsx(oe,{size:"sm"})}),!D&&$&&x===void 0&&t.jsx("div",{className:k.stateError,children:R}),!D&&x!==void 0&&I.length===0&&t.jsx("div",{className:k.state,children:"No models found"}),!D&&x!==void 0&&I.length>0&&t.jsx("div",{ref:u,className:k.list,children:I.map(N=>t.jsx(on,{label:ae?N.label:void 0,children:N.options.map(q=>t.jsxs(mt,{className:k.item,onSelect:()=>r(q.value,q.group),children:[t.jsx("span",{className:k.checkSlot,"aria-hidden":!0,children:q===V&&t.jsx(Ee,{size:14})}),t.jsx("span",{className:k.label,children:q.label}),t.jsxs("span",{className:k.modelId,children:["(",q.value,")"]})]},`${q.group??""}/${q.value}`))},N.key))})]})]})}function Dr({currentLevel:e,levels:s,open:n,onOpenChange:o,onSelect:r,renderTrigger:a}){return t.jsxs(Ae,{open:n,onOpenChange:o,modal:!1,children:[t.jsx(Le,{asChild:!0,children:a(e)}),t.jsx(Be,{minWidth:140,align:"end",side:"top",sideOffset:6,className:k.picker,children:s.length===0?t.jsx("div",{className:k.state,children:"Loading levels…"}):t.jsx("div",{className:k.list,children:s.map(c=>t.jsxs(mt,{className:k.item,onSelect:()=>r(c),children:[t.jsx("span",{className:k.checkSlot,"aria-hidden":!0,children:c===e&&t.jsx(Ee,{size:14})}),t.jsx("span",{className:k.label,children:c})]},c))})})]})}const st=["off","minimal","low","medium","high","xhigh","max"];function Tr(e,s){if(!e)return st;const n=s==null?void 0:s.find(o=>o.id===e);return n!=null&&n.thinkingLevels&&n.thinkingLevels.length>0?n.thinkingLevels:st}const qr="_composer_ivj95_4",Br="_card_ivj95_13",Er="_flash_ivj95_27",Rr="_note_ivj95_41",Ar="_inlineError_ivj95_48",Lr="_compacting_ivj95_56",Ir="_textarea_ivj95_57",Or="_compactStatus_ivj95_66",Mr="_compactStatusText_ivj95_75",Pr="_compactCancel_ivj95_81",Fr="_textareaWrap_ivj95_122",Kr="_highlightLayer_ivj95_110",zr="_commandMark_ivj95_145",Hr="_hiddenFileInput_ivj95_170",$r="_toolbar_ivj95_176",Wr="_toolbarRight_ivj95_183",Ur="_toolBtn_ivj95_191",Gr="_roundBtn_ivj95_197",Vr="_modelBtn_ivj95_202",Yr="_modelLabel_ivj95_232",Jr="_modelId_ivj95_230",Qr="_modelChevron_ivj95_250",S={composer:qr,card:Br,flash:Er,note:Rr,inlineError:Ar,compacting:Lr,textarea:Ir,compactStatus:Or,compactStatusText:Mr,compactCancel:Pr,textareaWrap:Fr,highlightLayer:Kr,commandMark:zr,hiddenFileInput:Hr,toolbar:$r,toolbarRight:Wr,toolBtn:Ur,roundBtn:Gr,modelBtn:Vr,modelLabel:Yr,modelId:Jr,modelChevron:Qr},Xr=160;function se(e){e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,Xr)}px`}function Zr(e){return typeof e=="object"&&e!==null&&"ok"in e&&e.ok===!1}function ei(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function ti({sessionId:e}){var Ye;const s=X(i=>i.client),n=O(i=>i.sessions[e]),o=O(i=>i.addOptimisticUserMessage),r=O(i=>i.markUserMessageFailed),a=O(i=>i.setCwd),c=O(i=>i.setModel),l=O(i=>i.setThinkingLevel),m=X(i=>i.serverInfo),[d,h]=p.useState(!1),u=!!((Ye=m==null?void 0:m.features)!=null&&Ye.thinkingLevels),{data:x}=Pa(n==null?void 0:n.agentId,n==null?void 0:n.model,d&&!!(n!=null&&n.agentId)&&((n==null?void 0:n.userMessageCount)??0)>0),{data:D}=vt("pi",n==null?void 0:n.agentId),K=Tr(n==null?void 0:n.model,D),$=x!==void 0&&x.length>0?x:K,y=u&&!(x!==void 0&&x.length===0),v=me(i=>i.drafts[e]??""),C=me(i=>i.setDraft),[M,G]=p.useState([]),[W,V]=p.useState(!1),[I,ae]=p.useState(!1),R=p.useRef(null),Y=p.useRef(null),[P,N]=p.useState(!1),[q,b]=p.useState(0),T=an(ln.chat(e)),J=me(i=>i.pendingFeedback[e]),[re,fe]=p.useState(null),[ve,ie]=p.useState(null),[yt,Me]=p.useState(!1),ce=p.useRef(null),le=p.useRef(null);p.useEffect(()=>{if(!T||J===void 0)return;const i=me.getState().consumeFeedback(e);if(!i)return;fe(i.copy==="filled"?"Your message was filled in":"Your draft was replaced"),ce.current!==null&&window.clearTimeout(ce.current),ce.current=window.setTimeout(()=>fe(null),4e3);const _=R.current;_&&_.setSelectionRange(_.value.length,_.value.length),i.flash&&(Me(!0),le.current!==null&&window.clearTimeout(le.current),le.current=window.setTimeout(()=>Me(!1),ei()?1e3:400))},[T,J,e]),p.useEffect(()=>()=>{ce.current!==null&&window.clearTimeout(ce.current),le.current!==null&&window.clearTimeout(le.current)},[]);const F=(n==null?void 0:n.status)==="running",E=rn(e),ke=pe(i=>i.lastErrorBySession[e]),bt=pe(i=>i.compactSession),je=pe(i=>i.cancelCompaction),Nt=pe(i=>i.clearError),Pe=!!(n!=null&&n.agentId),St=Wa(F,W,I),Fe=Xa({hasClient:!!s,busy:St,compacting:E,running:F,hasAgent:Pe,text:v,hasImages:M.length>0}),{data:Ke=[],isLoading:Ct,isError:wt,error:ze}=Ma(e,P),{options:He,hiddenExtensionCount:Dt}=Ga(Ke,{running:F,builtinsDisabled:!jt({running:F,compacting:E,hasAgent:Pe})}),$e=Oe(v),he=$e?ft(He,$e.name):He,Tt=[...De,...Ke].map(i=>i.name),ne=Ja(v,Tt),We=E?cn((n==null?void 0:n.timeline.rows)??[]):void 0,qt=We?rt(We):"Compacting context…";async function Ue(i){if(i.type.startsWith("image/"))try{const _=await $a(i);G(j=>[...j,_])}catch{}}function Bt(i){for(const _ of i.target.files??[])Ue(_);i.target.value=""}function Et(i){if(!E){for(const _ of i.clipboardData.items)if(_.type.startsWith("image/")){i.preventDefault();const j=_.getAsFile();j&&Ue(j)}}}function Rt(i){G(_=>_.filter((j,B)=>B!==i))}function At(i){const _=i.target.value;C(e,_),se(i.target),ke&&Nt(e),ve&&ie(null);const j=Ua(_);j!==P&&N(j),j&&b(0)}function Lt(i){if(E){i.key==="Escape"&&(i.preventDefault(),je(e));return}if(!P&&ne&&i.key==="Backspace"){const _=i.currentTarget,j=_.selectionStart;if(j!==null&&j===_.selectionEnd){const B=ne.end+(v[ne.end]===" "?1:0);if(j>0&&j<=B){i.preventDefault();const A=v.slice(B);C(e,A),_.setSelectionRange(0,0),se(_);return}}}if(P&&he.length>0){if(i.key==="ArrowDown"||i.key==="ArrowUp"){i.preventDefault(),b(_=>Va(_,i.key==="ArrowDown"?1:-1,he.length));return}if(i.key==="Enter"&&!i.shiftKey||i.key==="Tab"){i.preventDefault();const _=he[q];_&&!_.disabled&&Ge(_.value);return}}if(P&&i.key==="Escape"){i.preventDefault(),N(!1);return}i.key==="Enter"&&!i.shiftKey&&(i.preventDefault(),Ve(F?"steer":"send"))}function Ge(i){const _=Ya(v,i);C(e,_),N(!1),b(0);const j=R.current;j&&(j.focus(),j.setSelectionRange(_.length,_.length),se(j))}async function Ve(i){if(!s||!n||(i==="steer"?I:W)||i==="steer"&&!n.agentId)return;const _=v.trim();if(!_&&M.length===0||!Fe)return;const j=kt(_);if(j){N(!1),C(e,""),R.current&&se(R.current);const Q=await bt(e,j.args);Qa(Q,me.getState().drafts[e]??"")&&(C(e,v),R.current&&se(R.current));return}C(e,""),N(!1),R.current&&se(R.current);const B=M;G([]);const A=_||"Describe this image",de=B.length>0?B.map(Q=>({mimeType:Q.mimeType,data:Q.data})):void 0,ue=dn();o(e,ue,A,de,i==="steer");const Je=i==="steer"?ae:V;Je(!0);try{if(i==="steer"){const Q=await s.agent(n.agentId).steer(A,{clientMessageId:ue,images:de});Zr(Q)&&r(e,ue)}else{n.agentId||a(e,n.cwd||"~");const Q=await ge(s,e);await s.agent(Q).send(A,{clientMessageId:ue,images:de})}}catch{r(e,ue)}finally{Je(!1)}}function It(){n!=null&&n.agentId&&(E?je(e):s==null||s.agent(n.agentId).interrupt())}function Ot(i,_){const j={model:n==null?void 0:n.model,provider:n==null?void 0:n.modelProvider};c(e,i,_),ie(null),!(!s||!_)&&(async()=>{const B=await ge(s,e);await s.agent(B).setModel(_,i)})().catch(B=>{const A=O.getState().sessions[e];(A==null?void 0:A.model)===i&&A.modelProvider===_&&c(e,j.model,j.provider);const de=B instanceof Error?B.message:String(B);ie(`Couldn't switch model: ${de}`)})}function Mt(i){const _=n==null?void 0:n.thinkingLevel;l(e,i),ie(null),s&&(async()=>{const j=await ge(s,e),B=await s.agent(j).setThinking(i);l(e,B.level)})().catch(j=>{var A;((A=O.getState().sessions[e])==null?void 0:A.thinkingLevel)===i&&l(e,_);const B=j instanceof Error?j.message:String(j);ie(`Couldn't set thinking level: ${B}`)})}return t.jsxs("div",{className:S.composer,children:[t.jsxs("div",{className:w(S.card,yt&&S.flash,E&&S.compacting),children:[t.jsxs("div",{className:S.textareaWrap,children:[t.jsx("div",{className:S.highlightLayer,"aria-hidden":!0,children:ne?t.jsxs(t.Fragment,{children:[t.jsx("mark",{className:S.commandMark,children:v.slice(0,ne.end)}),v.slice(ne.end)]}):v}),t.jsx(at,{ref:R,className:S.textarea,rows:1,value:v,readOnly:E,placeholder:E?"Compacting context… esc cancel":F?"Steer the running turn… ⏎ steer · ⇧⏎ newline":"Ask anything… ⏎ send · ⇧⏎ newline · / commands",onChange:At,onKeyDown:Lt,onPaste:Et,"data-session-id":e})]}),t.jsx(Ha,{images:M,onRemove:Rt}),t.jsxs("div",{className:S.toolbar,children:[t.jsx(L,{className:S.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,title:"Attach image","aria-label":"Attach image",disabled:E,onClick:()=>{var i;return(i=Y.current)==null?void 0:i.click()},children:t.jsx(bn,{size:16})}),t.jsx(br,{open:P&&!E,onOpenChange:N,options:he,highlightedIndex:q,onSelect:Ge,isLoading:Ct,isError:wt,errorMessage:ze instanceof Error?ze.message:void 0,hiddenExtensionCount:Dt,renderTrigger:()=>t.jsx(L,{className:S.toolBtn,variant:"ghost",size:"sm",iconOnly:!0,disabled:E,title:"Slash commands","aria-label":"Slash commands",children:t.jsx(Nn,{size:16})})}),t.jsxs("div",{className:S.toolbarRight,children:[t.jsx(wr,{currentModel:n==null?void 0:n.model,currentModelProvider:n==null?void 0:n.modelProvider,provider:"pi",agentId:n==null?void 0:n.agentId,onSelect:Ot,renderTrigger:(i,_)=>{const j=_!==void 0&&_!==i;return t.jsxs("button",{type:"button",className:S.modelBtn,disabled:!s,title:i?`Model: ${_??i}${j?` (${i})`:""}`:"Select model",children:[t.jsx(Sn,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:S.modelLabel,children:_??i??"Model"}),j&&t.jsxs("span",{className:S.modelId,children:["(",i,")"]}),t.jsx(Xe,{size:13,className:S.modelChevron,"aria-hidden":"true"})]})}}),y&&t.jsx(Dr,{currentLevel:n==null?void 0:n.thinkingLevel,levels:$,open:d,onOpenChange:h,onSelect:Mt,renderTrigger:i=>t.jsxs("button",{type:"button",className:S.modelBtn,disabled:!s,title:i?`Thinking: ${i}`:"Thinking level",children:[t.jsx(ct,{size:14,"aria-hidden":"true"}),t.jsx("span",{className:S.modelLabel,children:i??"Thinking"}),t.jsx(Xe,{size:13,className:S.modelChevron,"aria-hidden":"true"})]})}),(F||E)&&t.jsx(L,{className:S.roundBtn,variant:"destructive",size:"sm",iconOnly:!0,title:E?"Cancel the compaction":"Stop the running turn","aria-label":"Stop",onClick:It,children:t.jsx(Cn,{size:14})}),t.jsx(L,{className:S.roundBtn,size:"sm",iconOnly:!0,disabled:!Fe,title:F?"Steer the running turn":"Send","aria-label":F?"Steer":"Send",onClick:()=>void Ve(F?"steer":"send"),children:F?t.jsx(wn,{size:16}):t.jsx(Dn,{size:18})})]})]})]}),t.jsx("div",{role:"status",children:E&&t.jsxs("div",{className:S.compactStatus,children:[t.jsx(oe,{size:"xs","aria-label":"Compacting"}),t.jsx("span",{className:S.compactStatusText,children:qt}),t.jsx("button",{type:"button",className:S.compactCancel,title:"Cancel the compaction (Esc)",onClick:()=>void je(e),children:"Cancel"})]})}),re!==null&&t.jsx("div",{className:S.note,children:re}),ke&&t.jsx("div",{role:"alert",className:S.inlineError,children:ke}),ve&&t.jsx("div",{role:"alert",className:S.inlineError,children:ve}),t.jsx("input",{ref:Y,className:S.hiddenFileInput,type:"file",accept:"image/*",multiple:!0,onChange:Bt})]})}const ni="_track_oxvl6_2",si="_sweep_oxvl6_24",oi="_visuallyHidden_oxvl6_64",Se={track:ni,sweep:si,visuallyHidden:oi};function ai({running:e}){return e?t.jsxs("div",{className:Se.track,role:"progressbar","aria-label":"Turn in progress",children:[t.jsx("div",{className:Se.sweep,"aria-hidden":"true"}),t.jsx("span",{className:Se.visuallyHidden,role:"status","aria-live":"polite",children:"Agent is working…"})]}):null}const ri="_panel_1tq06_1",ii="_empty_1tq06_5",ot={panel:ri,empty:ii};function ji({tab:e,owningPaneId:s}){const{sessionId:n}=e.data,o=O(r=>r.sessions[n]);return Hn(n),o?t.jsxs(Qe,{className:ot.panel,children:[t.jsx(ai,{running:o.status==="running"}),t.jsx(Oa,{session:o,owningPaneId:s,workspaceCwd:e.workspaceCwd}),t.jsx(ti,{sessionId:o.id})]}):t.jsx(Qe,{children:t.jsx("div",{className:ot.empty,children:"Session not found."})})}export{ji as ChatPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var j=Object.defineProperty;var q=(r,n,e)=>n in r?j(r,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[n]=e;var d=(r,n,e)=>q(r,typeof n!="symbol"?n+"":n,e);import{r as u,j as w}from"./vendor-react-DQUAl2K8.js";import{u as y}from"./vendor-query-i7fr__Xm.js";import{u as F,r as p}from"./index-
|
|
1
|
+
var j=Object.defineProperty;var q=(r,n,e)=>n in r?j(r,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[n]=e;var d=(r,n,e)=>q(r,typeof n!="symbol"?n+"":n,e);import{r as u,j as w}from"./vendor-react-DQUAl2K8.js";import{u as y}from"./vendor-query-i7fr__Xm.js";import{u as F,r as p}from"./index-BbSAfLF_.js";import{u as x}from"./use-file-download-IryqzIsu.js";import{Q as S,S as _,T as b,U as B,V as z,W as U}from"./vendor-DaF96HbP.js";function D(r){const{maxDisplayBytes:n,inline:e,streamed:o,download:a}=r;if(e.isLoading)return{kind:"loading"};if(e.tooLarge){const{size:t}=e.tooLarge;return t>n?{kind:"too-large",size:t,maxDisplayBytes:n,downloading:a.requested&&a.isLoading,downloadUrl:a.objectUrl,downloadName:a.fileName}:o.isLoading?{kind:"streaming",size:t}:o.isError?{kind:"stream-error",size:t,message:o.errorMessage??"stream failed"}:o.content!==null?{kind:"streamed",size:t,content:o.content}:{kind:"loading"}}return e.isError?{kind:"error",message:e.errorMessage??"unknown error"}:e.content!==null?{kind:"inline",content:e.content}:{kind:"loading"}}class h extends Error{constructor(e,o){super("file_too_large");d(this,"size");d(this,"maxBytes");this.name="FileTooLargeError",this.size=e,this.maxBytes=o}}function R(r){if(!r.ok)throw r.error==="file_too_large"?new h(r.size??0,r.maxBytes):new Error(r.error??"file read failed");return{content:r.content??"",size:r.size??0}}function T(r,n=!0){const e=F(o=>o.client);return y({queryKey:p.fileRead(r),queryFn:async()=>{if(!e)throw new Error("not connected");const o=await e.connection.request("file_read_request",{path:r});return R(o)},enabled:!!e&&!!r&&n})}function M(r){const{enabled:n,download:e,decode:o}=r;return{isLoading:n&&(e.isLoading||e.hasObjectUrl&&o.isLoading),isError:e.isError||o.isError,error:e.isError?e.error:o.error,data:o.data}}function C(r,n=!0){var t;const e=x(r,n),o=(t=e.data)==null?void 0:t.objectUrl,a=y({queryKey:p.fileText(r,o??null),queryFn:async()=>({content:await(await fetch(o)).text()}),enabled:n&&!!o});return M({enabled:n,download:{isLoading:e.isLoading,isError:e.isError,error:e.error,hasObjectUrl:!!o},decode:{isLoading:a.isLoading,isError:a.isError,error:a.error,data:a.data}})}const E=30*1024*1024;function Y(r,n=!0){var c,f,g,m;const e=T(r,n),o=e.error instanceof h?e.error:null,a=o!==null&&o.size<=E,t=C(r,n&&a),[i,k]=u.useState(!1),s=x(r,n&&i),l=D({maxDisplayBytes:E,inline:{isLoading:e.isLoading,isError:e.isError,tooLarge:o?{size:o.size}:null,errorMessage:e.error instanceof Error?e.error.message:null,content:((c=e.data)==null?void 0:c.content)??null},streamed:{isLoading:t.isLoading,isError:t.isError,errorMessage:t.error instanceof Error?t.error.message:null,content:((f=t.data)==null?void 0:f.content)??null},download:{requested:i,isLoading:s.isLoading,objectUrl:((g=s.data)==null?void 0:g.objectUrl)??null,fileName:((m=s.data)==null?void 0:m.fileName)??null}});return l.kind==="too-large"?{...l,requestDownload:()=>k(!0)}:l}const N="_wrap_1feu3_1",v={wrap:N},L=new Map;function K(r){const[n,e]=u.useState(null);return u.useEffect(()=>{const o=z.matchFilename(U,r);if(!o){e(null);return}const a=L.get(o.name);if(a){e(a);return}let t=!1;return e(null),o.load().then(i=>{L.set(o.name,i),t||e(i)}),()=>{t=!0}},[r]),n?[n]:[]}function I({path:r,content:n}){const e=K(r),o=[S.lineWrapping,_(),...e];return w.jsx("div",{className:v.wrap,children:w.jsx(b,{value:n,theme:B,extensions:o,editable:!1,readOnly:!0,basicSetup:{highlightActiveLine:!1,foldGutter:!1,searchKeymap:!1},height:"100%"})})}export{I as C,Y as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as d,j as s}from"./vendor-react-DQUAl2K8.js";import{N as _}from"./vendor-DaF96HbP.js";import{u as j,r as f,L as w,a as E,e as D,V as K,P as N,B as x,E as l,S as y,i as S}from"./index-BbSAfLF_.js";import{u as b,a as k}from"./vendor-query-i7fr__Xm.js";import{u as q}from"./use-file-watch-CKy-EMBA.js";import{D as z}from"./DiffView-D1TsZBGe.js";import"./vendor-icons-FMicTc5d.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.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 O({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{O as FilePanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as v,j as r}from"./vendor-react-DQUAl2K8.js";import{a as ie,u as ae}from"./vendor-query-i7fr__Xm.js";import{n as ce,a as G,c as le,d as X,u as F,o as ue,E as A,S as R,B as C,r as B,t as de}from"./index-DawGVQic.js";import{S as fe}from"./Switch-1I6AMAC7.js";import{u as me,C as pe}from"./CodeView-BtHrI9KP.js";import{p as he,S as ge}from"./href-resolution-bgv3HgGq.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-K8oF_80Q.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-TjW4POi1.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("//")||ge.test(s)?"external":null}function xe(s,t,e){return e!==null&&t===e?s:t}function J(s,t,e,n,i=null){const o=s.trim(),u=Y(o);if(u)return{kind:"skip",raw:s,reason:u};const a=he(o);let p;if(a.startsWith("/")?p=a:a==="~"||a.startsWith("~/")?p=i!==null?ce(a,i):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 we={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 _e(s){const t=s.lastIndexOf("/"),e=s.lastIndexOf(".");return e<=t?"application/octet-stream":we[s.slice(e+1).toLowerCase()]??"application/octet-stream"}function ve(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,${ve(t)}`}const z=/<([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 ye(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 ke(s){const t=new Map;z.lastIndex=0;let e;for(;e=z.exec(s);){const n=e[1].toLowerCase(),i=ee(e[2]??"");for(const o of te(n,i)){const u=i.get(o.name)??"";if(o.multi)for(const a of se(u))$(t,a.url,o.context);else $(t,u,o.context)}}return[...t.values()]}function je(s,t){let e=!1;const n=se(s).map(i=>{const o=t[i.url];return o===void 0?i:(e=!0,{url:o,descriptor:i.descriptor})});return e?ye(n):null}function be(s,t){return Object.keys(t).length===0?s:(z.lastIndex=0,s.replace(z,(e,n,i,o)=>{const u=ee(i),a=te(n.toLowerCase(),u);if(a.length===0)return e;const p=new Map(a.map(d=>[d.name,d]));let h=!1;const E=i.replace(O,(d,f,l,w,y)=>{const _=p.get(f.toLowerCase());if(!_)return d;const g=l??w??y??"",b=_.multi?je(g,t):t[g]??null;return b===null?d:(h=!0,`${f}="${b}"`)});return h?`<${n}${E}${o}`:e}))}const P=/url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")\s]*))\s*\)/gi,U=/@font-face\s*\{[^}]*\}/gi;function ne(s,t,e){return s??t??e??""}function Se(s){const t=[];U.lastIndex=0;let e;for(;e=U.exec(s);)t.push([e.index,e.index+e[0].length]);return t}function Ee(s){const t=Se(s),e=new Map;P.lastIndex=0;let n;for(;n=P.exec(s);){const i=ne(n[1],n[2],n[3]),o=t.some(([u,a])=>n.index>=u&&n.index<a)?"font":"image";$(e,i,o)}return[...e.values()]}function Le(s,t){return Object.keys(t).length===0?s:(P.lastIndex=0,s.replace(P,(e,n,i,o)=>{const u=t[ne(n,i,o)];return u===void 0?e:`url("${u}")`}))}const Ae=Object.freeze(["allow-scripts"]),Ce="https://pi-studio-preview.invalid/",Ne="default-src 'none'; img-src data:; style-src 'unsafe-inline' data:; script-src 'unsafe-inline' data:; font-src data:; media-src data:",Te=`<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>`,Re=/<head(\s[^>]*)?>/i,Be=/<html(\s[^>]*)?>/i,Me=/<base[\s/>]/i;function ze(s,t){const e=be(s,t.assets??{}),n=[];t.blockRemote&&n.push(`<meta http-equiv="Content-Security-Policy" content="${Ne}">`),Me.test(e)||(n.push(`<base href="${Ce}">`),n.push(Te));const i=n.join("");if(i==="")return e;const o=Re.exec(e);if(o){const a=o.index+o[0].length;return e.slice(0,a)+i+e.slice(a)}const u=Be.exec(e);if(u){const a=u.index+u[0].length;return e.slice(0,a)+`<head>${i}</head>`+e.slice(a)}return`<head>${i}</head>`+e}const V=6;async function W(s,t,e){let n=0;async function i(){for(;n<s.length;){const o=s[n];n+=1,await e(o)}}await Promise.all(Array.from({length:Math.min(t,s.length)},i))}function Q(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 Pe(s,t){const e={},n=[];let i=0,o=0,u=!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 l of d)n.push({raw:l.raw,reason:f})}async function h(d,f){if(u){p(f,"over-cap");return}let l;try{l=await t.fetchBytes(d)}catch{p(f,"fetch-failed");return}if(!K(i,o,l.byteLength)){u=!0,p(f,"over-cap");return}if(i+=1,o+=l.byteLength,f[0].context!=="style"){const m=q(_e(d),l);for(const j of f)e[j.raw]=m;return}const w=new TextDecoder().decode(l),y=X(d),_=Ee(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 b=Q(g);await W([...b.entries()],V,([m,j])=>h(m,j));const N={};for(const m of g){const j=e[m.raw];j!==void 0&&(N[m.raw]=j)}const L=Le(w,N),S=new TextEncoder().encode(L),k=S.byteLength-l.byteLength;if(k>0&&!K(i-1,o-l.byteLength,S.byteLength)){u=!0,p(f,"over-cap");return}o+=k;const T=q("text/css",S);for(const m of f)e[m.raw]=T}const E=Q(a);return await W([...E.entries()],V,([d,f])=>h(d,f)),{assets:e,skipped:n}}const Ie="_wrap_1et27_1",Oe="_toolbar_1et27_7",$e="_modeToggle_1et27_20",De="_controls_1et27_24",He="_switchLabel_1et27_29",Fe="_streamedNote_1et27_37",Ke="_skippedNote_1et27_45",qe="_skippedToggle_1et27_52",Ue="_skippedList_1et27_64",Ve="_body_1et27_69",We="_frame_1et27_73",Qe="_tooLarge_1et27_79",x={wrap:Ie,toolbar:Oe,modeToggle:$e,controls:De,switchLabel:He,streamedNote:Fe,skippedNote:Ke,skippedToggle:qe,skippedList:Ue,body:Ve,frame:We,tooLarge:Qe},Ze=Ae.join(" "),Z=Object.freeze({}),Ge=Object.freeze([]),oe={external:"external","outside-workspace":"outside workspace",unsupported:"unsupported","over-cap":"over cap","fetch-failed":"not found"};function Xe(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 Ye(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 M(s){return`${(s/(1024*1024)).toFixed(1)} MB`}function dt({path:s,workspaceCwd:t}){var D,H;const e=me(s),[n,i]=v.useState("preview"),[o,u]=v.useState(!1),[a,p]=v.useState(!1),h=ie(),E=F(c=>c.client),d=F(c=>c.daemon),f=ue(),l=e.kind==="inline"||e.kind==="streamed"?e.content:null,w=v.useMemo(()=>{const c=G(s,t);return c?X(c):null},[s,t]),y=v.useMemo(()=>w!==null?xe(w,t,f):null,[w,t,f]),_=v.useMemo(()=>l===null||w===null||y===null?[]:ke(l).map(c=>J(c.raw,w,y,c.context,f)),[l,w,y,f]),g=v.useMemo(()=>_.some(c=>c.kind==="local"),[_]),b=v.useMemo(()=>_.flatMap(c=>c.kind==="skip"?[{raw:c.raw,reason:c.reason}]:[]),[_]),N=v.useMemo(()=>g&&l!==null?Ye(l):"",[l,g]),L=ae({queryKey:B.htmlAssetBundle(s,N),queryFn:()=>y===null?Promise.resolve({assets:{},skipped:[]}):Pe(_,{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?((D=L.data)==null?void 0:D.assets)??Z:Z,k=g?((H=L.data)==null?void 0:H.skipped)??Ge:b,T=v.useMemo(()=>l===null?null:ze(l,{assets:S,blockRemote:o}),[l,S,o]);function m(){h.invalidateQueries({queryKey:B.fileRead(s)}),h.invalidateQueries({queryKey:B.fileDownload(s)}),h.invalidateQueries({queryKey:B.htmlAssetBundleByPath(s)})}switch(e.kind){case"loading":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading..."]});case"streaming":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Streaming ",M(e.size)," file..."]});case"stream-error":case"error":return r.jsxs(A,{children:["Error: ",e.message]});case"too-large":{const c=s.split("/").pop()||s;return r.jsx(A,{children:r.jsxs("div",{className:x.tooLarge,children:[r.jsxs("div",{children:[M(e.size)," — too large to display (display ceiling is"," ",M(e.maxDisplayBytes),")."]}),e.downloading?r.jsx(R,{size:"sm"}):e.downloadUrl?r.jsx("a",{href:e.downloadUrl,download:e.downloadName||c,children:r.jsx(C,{size:"sm",children:"Save file"})}):r.jsx(C,{size:"sm",onClick:()=>e.requestDownload(),children:"Download"})]})})}}if(l===null||T===null)return null;if(g&&L.data===void 0)return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading assets..."]});const j=s.split("/").pop()||s;return r.jsxs("div",{className:x.wrap,children:[r.jsxs("div",{className:x.toolbar,children:[r.jsxs("div",{className:x.modeToggle,children:[r.jsx(C,{size:"xs",variant:n==="preview"?"default":"ghost",onClick:()=>i("preview"),children:"Preview"}),r.jsx(C,{size:"xs",variant:n==="source"?"default":"ghost",onClick:()=>i("source"),children:"Source"})]}),r.jsxs("div",{className:x.controls,children:[r.jsxs("label",{className:x.switchLabel,children:[r.jsx(fe,{checked:o,onCheckedChange:u,"aria-label":"Block remote resources"}),"Block remote resources"]}),r.jsx(C,{size:"xs",variant:"ghost",onClick:m,children:"Reload"})]})]}),e.kind==="streamed"?r.jsxs("div",{className:x.streamedNote,children:[M(e.size)," file streamed"]}):null,k.length>0?r.jsxs("div",{className:x.skippedNote,children:[r.jsxs("button",{type:"button",className:x.skippedToggle,onClick:()=>p(c=>!c),children:[k.length," reference",k.length===1?"":"s"," not inlined (",Xe(k),")"]}),a?r.jsx("ul",{className:x.skippedList,children:k.map(c=>r.jsxs("li",{children:[c.raw," — ",oe[c.reason]]},c.raw))}):null]}):null,r.jsxs("div",{className:x.body,children:[r.jsx("iframe",{sandbox:Ze,srcDoc:T,referrerPolicy:"no-referrer",allow:"",className:x.frame,style:n==="preview"?void 0:{display:"none"},title:j}),n==="source"?r.jsx(pe,{path:s,content:l}):null]})]})}export{dt as HtmlViewer};
|
|
1
|
+
import{r as v,j as r}from"./vendor-react-DQUAl2K8.js";import{a as ie,u as ae}from"./vendor-query-i7fr__Xm.js";import{n as ce,a as G,c as le,d as X,u as F,p as ue,E as A,S as R,B as C,r as B,t as de}from"./index-BbSAfLF_.js";import{S as fe}from"./Switch-1I6AMAC7.js";import{u as me,C as pe}from"./CodeView-nWhbxYNo.js";import{p as he,S as ge}from"./href-resolution-CKrMBdbX.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-FMicTc5d.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-IryqzIsu.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("//")||ge.test(s)?"external":null}function xe(s,t,e){return e!==null&&t===e?s:t}function J(s,t,e,n,i=null){const o=s.trim(),u=Y(o);if(u)return{kind:"skip",raw:s,reason:u};const a=he(o);let p;if(a.startsWith("/")?p=a:a==="~"||a.startsWith("~/")?p=i!==null?ce(a,i):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 we={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 _e(s){const t=s.lastIndexOf("/"),e=s.lastIndexOf(".");return e<=t?"application/octet-stream":we[s.slice(e+1).toLowerCase()]??"application/octet-stream"}function ve(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,${ve(t)}`}const z=/<([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 ye(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 ke(s){const t=new Map;z.lastIndex=0;let e;for(;e=z.exec(s);){const n=e[1].toLowerCase(),i=ee(e[2]??"");for(const o of te(n,i)){const u=i.get(o.name)??"";if(o.multi)for(const a of se(u))$(t,a.url,o.context);else $(t,u,o.context)}}return[...t.values()]}function je(s,t){let e=!1;const n=se(s).map(i=>{const o=t[i.url];return o===void 0?i:(e=!0,{url:o,descriptor:i.descriptor})});return e?ye(n):null}function be(s,t){return Object.keys(t).length===0?s:(z.lastIndex=0,s.replace(z,(e,n,i,o)=>{const u=ee(i),a=te(n.toLowerCase(),u);if(a.length===0)return e;const p=new Map(a.map(d=>[d.name,d]));let h=!1;const E=i.replace(O,(d,f,l,w,y)=>{const _=p.get(f.toLowerCase());if(!_)return d;const g=l??w??y??"",b=_.multi?je(g,t):t[g]??null;return b===null?d:(h=!0,`${f}="${b}"`)});return h?`<${n}${E}${o}`:e}))}const P=/url\(\s*(?:"([^"]*)"|'([^']*)'|([^'")\s]*))\s*\)/gi,U=/@font-face\s*\{[^}]*\}/gi;function ne(s,t,e){return s??t??e??""}function Se(s){const t=[];U.lastIndex=0;let e;for(;e=U.exec(s);)t.push([e.index,e.index+e[0].length]);return t}function Ee(s){const t=Se(s),e=new Map;P.lastIndex=0;let n;for(;n=P.exec(s);){const i=ne(n[1],n[2],n[3]),o=t.some(([u,a])=>n.index>=u&&n.index<a)?"font":"image";$(e,i,o)}return[...e.values()]}function Le(s,t){return Object.keys(t).length===0?s:(P.lastIndex=0,s.replace(P,(e,n,i,o)=>{const u=t[ne(n,i,o)];return u===void 0?e:`url("${u}")`}))}const Ae=Object.freeze(["allow-scripts"]),Ce="https://pi-studio-preview.invalid/",Ne="default-src 'none'; img-src data:; style-src 'unsafe-inline' data:; script-src 'unsafe-inline' data:; font-src data:; media-src data:",Te=`<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>`,Re=/<head(\s[^>]*)?>/i,Be=/<html(\s[^>]*)?>/i,Me=/<base[\s/>]/i;function ze(s,t){const e=be(s,t.assets??{}),n=[];t.blockRemote&&n.push(`<meta http-equiv="Content-Security-Policy" content="${Ne}">`),Me.test(e)||(n.push(`<base href="${Ce}">`),n.push(Te));const i=n.join("");if(i==="")return e;const o=Re.exec(e);if(o){const a=o.index+o[0].length;return e.slice(0,a)+i+e.slice(a)}const u=Be.exec(e);if(u){const a=u.index+u[0].length;return e.slice(0,a)+`<head>${i}</head>`+e.slice(a)}return`<head>${i}</head>`+e}const V=6;async function W(s,t,e){let n=0;async function i(){for(;n<s.length;){const o=s[n];n+=1,await e(o)}}await Promise.all(Array.from({length:Math.min(t,s.length)},i))}function Q(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 Pe(s,t){const e={},n=[];let i=0,o=0,u=!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 l of d)n.push({raw:l.raw,reason:f})}async function h(d,f){if(u){p(f,"over-cap");return}let l;try{l=await t.fetchBytes(d)}catch{p(f,"fetch-failed");return}if(!K(i,o,l.byteLength)){u=!0,p(f,"over-cap");return}if(i+=1,o+=l.byteLength,f[0].context!=="style"){const m=q(_e(d),l);for(const j of f)e[j.raw]=m;return}const w=new TextDecoder().decode(l),y=X(d),_=Ee(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 b=Q(g);await W([...b.entries()],V,([m,j])=>h(m,j));const N={};for(const m of g){const j=e[m.raw];j!==void 0&&(N[m.raw]=j)}const L=Le(w,N),S=new TextEncoder().encode(L),k=S.byteLength-l.byteLength;if(k>0&&!K(i-1,o-l.byteLength,S.byteLength)){u=!0,p(f,"over-cap");return}o+=k;const T=q("text/css",S);for(const m of f)e[m.raw]=T}const E=Q(a);return await W([...E.entries()],V,([d,f])=>h(d,f)),{assets:e,skipped:n}}const Ie="_wrap_1et27_1",Oe="_toolbar_1et27_7",$e="_modeToggle_1et27_20",De="_controls_1et27_24",He="_switchLabel_1et27_29",Fe="_streamedNote_1et27_37",Ke="_skippedNote_1et27_45",qe="_skippedToggle_1et27_52",Ue="_skippedList_1et27_64",Ve="_body_1et27_69",We="_frame_1et27_73",Qe="_tooLarge_1et27_79",x={wrap:Ie,toolbar:Oe,modeToggle:$e,controls:De,switchLabel:He,streamedNote:Fe,skippedNote:Ke,skippedToggle:qe,skippedList:Ue,body:Ve,frame:We,tooLarge:Qe},Ze=Ae.join(" "),Z=Object.freeze({}),Ge=Object.freeze([]),oe={external:"external","outside-workspace":"outside workspace",unsupported:"unsupported","over-cap":"over cap","fetch-failed":"not found"};function Xe(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 Ye(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 M(s){return`${(s/(1024*1024)).toFixed(1)} MB`}function dt({path:s,workspaceCwd:t}){var D,H;const e=me(s),[n,i]=v.useState("preview"),[o,u]=v.useState(!1),[a,p]=v.useState(!1),h=ie(),E=F(c=>c.client),d=F(c=>c.daemon),f=ue(),l=e.kind==="inline"||e.kind==="streamed"?e.content:null,w=v.useMemo(()=>{const c=G(s,t);return c?X(c):null},[s,t]),y=v.useMemo(()=>w!==null?xe(w,t,f):null,[w,t,f]),_=v.useMemo(()=>l===null||w===null||y===null?[]:ke(l).map(c=>J(c.raw,w,y,c.context,f)),[l,w,y,f]),g=v.useMemo(()=>_.some(c=>c.kind==="local"),[_]),b=v.useMemo(()=>_.flatMap(c=>c.kind==="skip"?[{raw:c.raw,reason:c.reason}]:[]),[_]),N=v.useMemo(()=>g&&l!==null?Ye(l):"",[l,g]),L=ae({queryKey:B.htmlAssetBundle(s,N),queryFn:()=>y===null?Promise.resolve({assets:{},skipped:[]}):Pe(_,{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?((D=L.data)==null?void 0:D.assets)??Z:Z,k=g?((H=L.data)==null?void 0:H.skipped)??Ge:b,T=v.useMemo(()=>l===null?null:ze(l,{assets:S,blockRemote:o}),[l,S,o]);function m(){h.invalidateQueries({queryKey:B.fileRead(s)}),h.invalidateQueries({queryKey:B.fileDownload(s)}),h.invalidateQueries({queryKey:B.htmlAssetBundleByPath(s)})}switch(e.kind){case"loading":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading..."]});case"streaming":return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Streaming ",M(e.size)," file..."]});case"stream-error":case"error":return r.jsxs(A,{children:["Error: ",e.message]});case"too-large":{const c=s.split("/").pop()||s;return r.jsx(A,{children:r.jsxs("div",{className:x.tooLarge,children:[r.jsxs("div",{children:[M(e.size)," — too large to display (display ceiling is"," ",M(e.maxDisplayBytes),")."]}),e.downloading?r.jsx(R,{size:"sm"}):e.downloadUrl?r.jsx("a",{href:e.downloadUrl,download:e.downloadName||c,children:r.jsx(C,{size:"sm",children:"Save file"})}):r.jsx(C,{size:"sm",onClick:()=>e.requestDownload(),children:"Download"})]})})}}if(l===null||T===null)return null;if(g&&L.data===void 0)return r.jsxs(A,{children:[r.jsx(R,{size:"sm"})," Loading assets..."]});const j=s.split("/").pop()||s;return r.jsxs("div",{className:x.wrap,children:[r.jsxs("div",{className:x.toolbar,children:[r.jsxs("div",{className:x.modeToggle,children:[r.jsx(C,{size:"xs",variant:n==="preview"?"default":"ghost",onClick:()=>i("preview"),children:"Preview"}),r.jsx(C,{size:"xs",variant:n==="source"?"default":"ghost",onClick:()=>i("source"),children:"Source"})]}),r.jsxs("div",{className:x.controls,children:[r.jsxs("label",{className:x.switchLabel,children:[r.jsx(fe,{checked:o,onCheckedChange:u,"aria-label":"Block remote resources"}),"Block remote resources"]}),r.jsx(C,{size:"xs",variant:"ghost",onClick:m,children:"Reload"})]})]}),e.kind==="streamed"?r.jsxs("div",{className:x.streamedNote,children:[M(e.size)," file streamed"]}):null,k.length>0?r.jsxs("div",{className:x.skippedNote,children:[r.jsxs("button",{type:"button",className:x.skippedToggle,onClick:()=>p(c=>!c),children:[k.length," reference",k.length===1?"":"s"," not inlined (",Xe(k),")"]}),a?r.jsx("ul",{className:x.skippedList,children:k.map(c=>r.jsxs("li",{children:[c.raw," — ",oe[c.reason]]},c.raw))}):null]}):null,r.jsxs("div",{className:x.body,children:[r.jsx("iframe",{sandbox:Ze,srcDoc:T,referrerPolicy:"no-referrer",allow:"",className:x.frame,style:n==="preview"?void 0:{display:"none"},title:j}),n==="source"?r.jsx(pe,{path:s,content:l}):null]})]})}export{dt as HtmlViewer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as o}from"./vendor-react-DQUAl2K8.js";import{E as s,S as a}from"./index-
|
|
1
|
+
import{j as o}from"./vendor-react-DQUAl2K8.js";import{E as s,S as a}from"./index-BbSAfLF_.js";import{u as t}from"./use-file-download-IryqzIsu.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-FMicTc5d.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const n="_wrap_1vzo5_1",m="_image_1vzo5_15",i={wrap:n,image:m};function x({path:e,workspaceCwd:p}){const r=t(e);return r.isLoading?o.jsxs(s,{children:[o.jsx(a,{size:"sm"})," Loading image..."]}):r.isError?o.jsxs(s,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]}):r.data?o.jsx("div",{className:i.wrap,children:o.jsx("img",{className:i.image,src:r.data.objectUrl,alt:e.split("/").pop()||e})}):null}export{x as ImageViewer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as x,j as e}from"./vendor-react-DQUAl2K8.js";import{a as j,d as g,B as i,E as a,S as c}from"./index-
|
|
1
|
+
import{r as x,j as e}from"./vendor-react-DQUAl2K8.js";import{a as j,d as g,B as i,E as a,S as c}from"./index-BbSAfLF_.js";import{u as w,C as h}from"./CodeView-nWhbxYNo.js";import{M as v}from"./markdown-BWyDQ88Y.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-FMicTc5d.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";import"./use-file-download-IryqzIsu.js";import"./vendor-highlight-Ddi_n-Jh.js";import"./vendor-markdown-DJUOT8ep.js";import"./href-resolution-CKrMBdbX.js";const _="_wrap_g5iym_1",f="_toolbar_g5iym_6",y="_rendered_g5iym_17",z="_streamedNote_g5iym_21",N="_tooLarge_g5iym_29",t={wrap:_,toolbar:f,rendered:y,streamedNote:z,tooLarge:N};function n(r){return`${(r/(1024*1024)).toFixed(1)} MB`}function q({path:r,workspaceCwd:d}){const s=w(r),[l,m]=x.useState("preview"),p=x.useMemo(()=>{const o=j(r,d);return o?g(o):null},[r,d]);switch(s.kind){case"loading":return e.jsxs(a,{children:[e.jsx(c,{size:"sm"})," Loading..."]});case"streaming":return e.jsxs(a,{children:[e.jsx(c,{size:"sm"})," Streaming ",n(s.size)," file..."]});case"stream-error":case"error":return e.jsxs(a,{children:["Error: ",s.message]});case"too-large":{const o=r.split("/").pop()||r;return e.jsx(a,{children:e.jsxs("div",{className:t.tooLarge,children:[e.jsxs("div",{children:[n(s.size)," — too large to display (display ceiling is"," ",n(s.maxDisplayBytes),")."]}),s.downloading?e.jsx(c,{size:"sm"}):s.downloadUrl?e.jsx("a",{href:s.downloadUrl,download:s.downloadName||o,children:e.jsx(i,{size:"sm",children:"Save file"})}):e.jsx(i,{size:"sm",onClick:()=>s.requestDownload(),children:"Download"})]})})}case"inline":case"streamed":{const o=s.content,u=s.kind==="streamed";return e.jsxs("div",{className:t.wrap,children:[e.jsxs("div",{className:t.toolbar,children:[e.jsx(i,{size:"xs",variant:l==="preview"?"default":"ghost",onClick:()=>m("preview"),children:"Preview"}),e.jsx(i,{size:"xs",variant:l==="source"?"default":"ghost",onClick:()=>m("source"),children:"Source"})]}),u?e.jsxs("div",{className:t.streamedNote,children:[n(s.size)," file streamed"]}):null,l==="preview"?e.jsx("div",{className:t.rendered,children:e.jsx(v,{text:o,assetBase:p,workspaceCwd:d})}):e.jsx(h,{path:r,content:o})]})}}}export{q as MarkdownFileViewer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as w,j as n}from"./vendor-react-DQUAl2K8.js";import{a as E}from"./vendor-query-i7fr__Xm.js";import{u as P,E as u,S as C,B as b,r as x}from"./index-
|
|
1
|
+
import{r as w,j as n}from"./vendor-react-DQUAl2K8.js";import{a as E}from"./vendor-query-i7fr__Xm.js";import{u as P,E as u,S as C,B as b,r as x}from"./index-BbSAfLF_.js";import{S as y}from"./StatusBadge-BMKAPA9O.js";import{u as R}from"./use-provider-auth-list-CkrX1tsv.js";import{u as N}from"./provider-auth-store-9hsJ07X1.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-FMicTc5d.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const j="env:";function I(t){var i;return t.configured==="unknown"?{label:"Unknown",variant:"warning"}:t.configured===!1?{label:"Not configured",variant:"muted"}:(i=t.configuredSource)!=null&&i.startsWith(j)?{label:`env: ${t.configuredSource.slice(j.length)}`,variant:"success"}:t.configuredType==="oauth"?{label:"OAuth",variant:"success"}:{label:"API key",variant:"success"}}function M(t){const i=t.configured===!0?"Re-login":"Log in";if(t.authTypes.length<=1){const s=t.authTypes[0]??"api_key";return[{authType:s,label:s==="oauth"?t.oauthLoginLabel??i:i}]}return t.authTypes.map(s=>s==="oauth"?{authType:s,label:t.oauthLoginLabel??"Log in with OAuth"}:{authType:s,label:"API key"})}const q="_list_vm1k7_1",O="_row_vm1k7_7",T="_rowMain_vm1k7_18",B="_name_vm1k7_25",z="_tag_vm1k7_33",F="_rowActions_vm1k7_37",K="_pendingNote_vm1k7_44",Q="_note_vm1k7_49",U="_errorState_vm1k7_55",a={list:q,row:O,rowMain:T,name:B,tag:z,rowActions:F,pendingNote:K,note:Q,errorState:U};function ee(){const t=P(e=>e.client),i=E(),s=N(e=>e.pendingLogin),k=N(e=>e.requestLogin),[d,g]=w.useState(null),[p,m]=w.useState({}),{data:r,isLoading:L,isError:S,error:h}=R();async function A(e){if(t&&window.confirm(`Log out of ${e.name}? Running agents keep working until their current credential use fails.`)){m(o=>({...o,[e.id]:""})),g(e.id);try{const o=await t.logoutProvider(e.id);m(l=>({...l,[e.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{g(null)}}}return L?n.jsxs(u,{children:[n.jsx(C,{size:"sm"})," Loading providers…"]}):S?n.jsx(u,{className:a.errorState,children:h instanceof Error?h.message:"Failed to load providers."}):!r||r.length===0?n.jsx(u,{children:"No providers available."}):n.jsx("div",{className:a.list,children:r.map(e=>{const o=I(e),l=M(e),f=(s==null?void 0:s.provider)===e.id,_=s!==null&&!f,v=p[e.id];return n.jsxs("div",{className:a.row,children:[n.jsxs("div",{className:a.rowMain,children:[n.jsx("span",{className:a.name,children:e.name}),e.oauthIsSubscription&&n.jsx(y,{label:"Subscription",variant:"muted",className:a.tag}),n.jsx(y,{label:o.label,variant:o.variant,className:a.tag})]}),n.jsx("div",{className:a.rowActions,children:f?n.jsx("span",{className:a.pendingNote,children:"Logging in…"}):n.jsxs(n.Fragment,{children:[l.map(c=>n.jsx(b,{size:"xs",variant:"secondary",disabled:_,onClick:()=>k(e.id,e.name,c.authType),children:c.label},c.authType)),e.configured!==!1&&n.jsx(b,{size:"xs",variant:"ghost",disabled:_||d===e.id,loading:d===e.id,onClick:()=>void A(e),children:"Log out"})]})}),v&&n.jsx("div",{className:a.note,children:v})]},e.id)})})}export{ee as ModelProvidersPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as c,j as t}from"./vendor-react-DQUAl2K8.js";import{u as I,
|
|
1
|
+
import{r as c,j as t}from"./vendor-react-DQUAl2K8.js";import{u as I,v as W,P as w,E as N,S as k,o as q,w as z,d as U,x as X,y as Y,z as C,h as D}from"./index-BbSAfLF_.js";import{F as G}from"./vendor-molviewer-DeAF8d5d.js";import{S as v}from"./StatusBadge-BMKAPA9O.js";import{u as H}from"./use-file-download-IryqzIsu.js";import{u as K}from"./use-file-watch-CKy-EMBA.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-icons-FMicTc5d.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.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 C(r,s).catch(()=>{}),u}return s}function ue({path:e,workspaceCwd:r,tabId:n,isActive:a,onModifiedChange:l}){var T;const f=I(o=>o.client),{upload:p}=W(),s=H(e??"",!!e),{changedAt:i}=K(e),u=c.useRef(null),m=c.useRef(!1),[h,_]=c.useState(null),[E,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:E})&&(b.current=i,s.refetch())},[i,E,s.refetch]);const L=i!==null&&i!==b.current&&E;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);z(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)??(h==null?void 0:h.message)??null;return e&&s.isPending?t.jsx(w,{children:t.jsxs(N,{children:[t.jsx(k,{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 _e({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{_e as MoleculeViewerPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as o,j as s}from"./vendor-react-DQUAl2K8.js";import{E as I,B as M,S as X}from"./index-BbSAfLF_.js";import{u as $}from"./use-file-download-IryqzIsu.js";import{W as H,G as J,p as K}from"./vendor-pdfjs-BrYGnqfM.js";import{Z as Q,a as Y,M as ee,D as te}from"./vendor-icons-FMicTc5d.js";import"./vendor-query-i7fr__Xm.js";import"./vendor-DaF96HbP.js";import"./vendor-overlays-3MkedLFU.js";import"./vendor-dnd-CayJj8TC.js";const C=new URL("/pdfjs/",document.baseURI),re={cMapUrl:new URL("cmaps/",C).href,cMapPacked:!0,standardFontDataUrl:new URL("standard_fonts/",C).href,wasmUrl:new URL("wasm/",C).href,iccUrl:new URL("iccs/",C).href};function T(){var t;return(t=J).workerPort??(t.workerPort=new H({name:"pdfjs"})),K}const z=[.25,.5,.75,1,1.25,1.5,2,3,4],q=z[0],O=z[z.length-1],se=16777216,Z=1e-6;function ne(t){return z.find(r=>r>t+Z)??O}function oe(t){return z.findLast(r=>r<t-Z)??q}function ae(t,r,e){const a=t-r;return a<=0||e<=0?1:Math.min(O,Math.max(q,a/e))}function ie(t,r,e,a,c=se){const l=t*e*(r*e);return l<=0?a:Math.min(a,Math.sqrt(c/l))}function ce(t,r,e,a){const c=[];let l=a;for(const i of t)c.push(l),l+=i*r+e;return c}function le(t,r,e){const a=r+e/2,c=t.findIndex(l=>l>a);return Math.max(0,(c===-1?t.length:c)-1)}const de="_viewer_16fdq_1",ue="_toolbar_16fdq_7",fe="_pageIndicator_16fdq_18",he="_zoom_16fdq_19",me="_controls_16fdq_23",pe="_scroller_16fdq_32",ge="_stack_16fdq_40",we="_page_16fdq_18",xe="_canvas_16fdq_56",_e="_pageError_16fdq_61",ve="_failure_16fdq_71",Ee="_textLayer_16fdq_86",u={viewer:de,toolbar:ue,pageIndicator:fe,zoom:he,controls:me,scroller:pe,stack:ge,page:we,canvas:xe,pageError:_e,failure:ve,textLayer:Ee},je=12,U=16,Se="100% 0px",Pe=120,Me={invalid:"This file could not be opened as a PDF.",password:"This PDF is password-protected.",failed:"This PDF could not be loaded."};function be(t){const r=t instanceof Error?t.name:"";return r==="PasswordException"?"password":r==="InvalidPDFException"||r==="FormatError"||r==="MissingPDFException"?"invalid":"failed"}function ye(t){return t instanceof Error&&/Cancelled|destroyed/i.test(`${t.name} ${t.message}`)}function Te({path:t}){var F;const r=$(t),[e,a]=o.useState(null),[c,l]=o.useState(null),[i,D]=o.useState(null),[L,b]=o.useState(0),[h,w]=o.useState(!0),[m,S]=o.useState(1),[_,y]=o.useState(0),p=(F=r.data)==null?void 0:F.objectUrl;o.useEffect(()=>{if(!p)return;let n=!1,f=!1,x=null;return(async()=>{try{const j=new Uint8Array(await(await fetch(p)).arrayBuffer());if(n)return;x=T().getDocument({data:j,enableXfa:!1,...re});const P=await x.promise,W=await Promise.all(Array.from({length:P.numPages},async(ze,G)=>{const{width:B,height:V}=(await P.getPage(G+1)).getViewport({scale:1});return{width:B,height:V}}));if(n)return;f=!0,l(null),a({task:x,doc:P,sizes:W})}catch(j){n||l(be(j))}})(),()=>{n=!0,f||x==null||x.destroy()}},[p]),o.useEffect(()=>{const n=e==null?void 0:e.task;return()=>void(n==null?void 0:n.destroy())},[e==null?void 0:e.task]),o.useEffect(()=>{if(!i)return;let n,f=!0;const x=new ResizeObserver(([j])=>{const P=(j==null?void 0:j.contentRect.width)??0;if(clearTimeout(n),f){f=!1,b(P);return}n=setTimeout(()=>b(P),Pe)});return x.observe(i),()=>{clearTimeout(n),x.disconnect()}},[i]);const g=e==null?void 0:e.sizes,v=o.useMemo(()=>Math.max(0,...(g??[]).map(n=>n.width)),[g]),d=h?ae(L,U*2,v):m,E=o.useMemo(()=>ce((g??[]).map(n=>n.height),d,je,U),[g,d]),k=()=>{i&&y(le(E,i.scrollTop,i.clientHeight))},N=o.useRef(d);o.useLayoutEffect(()=>{i&&N.current!==d&&(i.scrollTop=i.scrollTop*d/N.current),N.current=d},[d,i]),o.useEffect(k,[E,i]);const A=()=>{var f;if(!p)return;const n=document.createElement("a");n.href=p,n.download=((f=r.data)==null?void 0:f.fileName)||t.split("/").pop()||"document.pdf",n.click()};if(r.isError)return s.jsxs(I,{children:["Error: ",r.error instanceof Error?r.error.message:"unknown error"]});if(c&&!e)return s.jsxs("div",{className:u.failure,children:[s.jsx("span",{children:Me[c]}),s.jsx(M,{size:"sm",onClick:A,children:"Download"})]});if(!e)return s.jsxs(I,{children:[s.jsx(X,{size:"sm"})," Loading PDF..."]});if(e.sizes.length===0)return s.jsxs("div",{className:u.failure,children:[s.jsx("span",{children:"This PDF has no pages."}),s.jsx(M,{size:"sm",onClick:A,children:"Download"})]});const R=n=>{S(n(d)),w(!1)};return s.jsxs("div",{className:u.viewer,children:[s.jsxs("div",{className:u.toolbar,children:[s.jsxs("span",{className:u.pageIndicator,"aria-live":"polite",children:[_+1," / ",e.sizes.length]}),s.jsxs("div",{className:u.controls,children:[s.jsx(M,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Zoom out",onClick:()=>R(oe),children:s.jsx(Q,{size:14})}),s.jsxs("span",{className:u.zoom,children:[Math.round(d*100),"%"]}),s.jsx(M,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Zoom in",onClick:()=>R(ne),children:s.jsx(Y,{size:14})}),s.jsx(M,{size:"xs",variant:h?"default":"ghost",iconOnly:!0,"aria-label":"Fit width","aria-pressed":h,onClick:()=>w(n=>!n),children:s.jsx(ee,{size:14})}),s.jsx(M,{size:"xs",variant:"ghost",iconOnly:!0,"aria-label":"Download PDF",onClick:A,children:s.jsx(te,{size:14})})]})]}),s.jsx("div",{ref:D,className:u.scroller,onScroll:k,children:s.jsx("div",{className:u.stack,children:e.sizes.map((n,f)=>s.jsx(ke,{doc:e.doc,pageNumber:f+1,size:n,scale:d,root:i},f))})})]})}function ke({doc:t,pageNumber:r,size:e,scale:a,root:c}){const l=o.useRef(null),[i,D]=o.useState(!1),[L,b]=o.useState(null);return o.useEffect(()=>{const h=l.current;if(!c||!h)return;const w=new IntersectionObserver(([m])=>D((m==null?void 0:m.isIntersecting)??!1),{root:c,rootMargin:Se});return w.observe(h),()=>w.disconnect()},[c]),o.useEffect(()=>{const h=l.current;if(!h)return;if(!i){h.replaceChildren();return}let w=!1,m=null,S=null;return(async()=>{try{const _=T(),y=await t.getPage(r),p=y.getViewport({scale:a}),g=ie(e.width,e.height,a,window.devicePixelRatio||1),v=document.createElement("canvas");v.width=Math.floor(p.width*g),v.height=Math.floor(p.height*g),v.className=u.canvas??"";const d=y.render({canvas:v,viewport:p,transform:g===1?void 0:[g,0,0,g,0,0]});m=d,await d.promise;const E=document.createElement("div");E.className=`textLayer ${u.textLayer??""}`,E.style.setProperty("--total-scale-factor",String(a));const k=new _.TextLayer({textContentSource:y.streamTextContent(),container:E,viewport:p});if(S=k,await k.render(),w)return;h.replaceChildren(v,E),b(null)}catch(_){!w&&!ye(_)&&b(_ instanceof Error?_.message:"render failed")}})(),()=>{w=!0,m==null||m.cancel(),S==null||S.cancel()}},[i,t,r,a,e.width,e.height]),s.jsx("div",{ref:l,className:u.page,style:{width:e.width*a,height:e.height*a},"data-page":r,children:L&&s.jsxs("span",{className:u.pageError,children:["Page ",r," failed to render."]})})}export{Te as PdfViewer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._viewer_16fdq_1{display:flex;flex-direction:column;height:100%;min-height:0}._toolbar_16fdq_7{display:flex;align-items:center;justify-content:space-between;gap:var(--pi-spacing-8);padding:var(--pi-spacing-4) var(--pi-spacing-14);background:var(--pi-color-surface1);border-bottom:1px solid var(--pi-color-border);font-size:var(--pi-font-size-xs);flex-shrink:0}._pageIndicator_16fdq_18,._zoom_16fdq_19{color:var(--pi-color-foregroundMuted);font-variant-numeric:tabular-nums}._controls_16fdq_23{display:flex;align-items:center;gap:var(--pi-spacing-4)}._zoom_16fdq_19{min-width:3.5em;text-align:center}._scroller_16fdq_32{flex:1;min-height:0;overflow:auto;background:var(--pi-color-surface0)}._stack_16fdq_40{display:flex;flex-direction:column;gap:12px;padding:16px;width:max-content;min-width:100%;box-sizing:border-box}._page_16fdq_18{position:relative;flex-shrink:0;margin:0 auto;background:#fff;border:1px solid var(--pi-color-border)}._canvas_16fdq_56{display:block;width:100%;height:100%}._pageError_16fdq_61{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--pi-spacing-8);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._failure_16fdq_71{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--pi-spacing-12);height:100%;padding:var(--pi-spacing-20);color:var(--pi-color-foregroundMuted);font-size:var(--pi-font-size-xs)}._textLayer_16fdq_86{position:absolute;top:0;right:0;bottom:0;left:0;overflow:clip;color-scheme:only light;line-height:1;text-align:initial;transform-origin:0 0;forced-color-adjust:none;text-size-adjust:none;--min-font-size: 1;--text-scale-factor: calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv: calc(1 / var(--min-font-size))}._textLayer_16fdq_86 :is(span,br){position:absolute;color:transparent;white-space:pre;cursor:text;transform-origin:0% 0%;-webkit-user-select:text;user-select:text}._textLayer_16fdq_86>:not(.markedContent),._textLayer_16fdq_86 .markedContent span:not(.markedContent){--font-height: 0;--scale-x: 1;--rotate: 0deg;font-size:calc(var(--text-scale-factor) * var(--font-height));transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}._textLayer_16fdq_86 .markedContent{display:contents}._textLayer_16fdq_86 ::selection{background:color-mix(in srgb,var(--pi-color-accent) 35%,transparent)}
|