@pi-chamber/web 0.3.1 → 0.3.2
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/bin/lib/cli-startup.js +53 -10
- package/bin/lib/cli-startup.test.js +42 -0
- package/dist/assets/{CommitSection-C336377Z.js → CommitSection-DLIvjYbM.js} +1 -1
- package/dist/assets/{DiagramEditor-gHLCXHtr.js → DiagramEditor-Tw3ZWHML.js} +1 -1
- package/dist/assets/{DiagramView-DlHzRRBc.js → DiagramView-CK6R7taL.js} +1 -1
- package/dist/assets/{DiffView-5wHwK-lg.js → DiffView-vrxi5oWp.js} +2 -2
- package/dist/assets/{FilesView-5bswI3JZ.js → FilesView-BD_h3EVr.js} +6 -6
- package/dist/assets/{GitView-BfykGpGh.js → GitView-BwNKqK0K.js} +4 -4
- package/dist/assets/{JsonTreeView-HVwQS7qG.js → JsonTreeView-CmY7QgEX.js} +1 -1
- package/dist/assets/{MarkdownRendererImpl-kjd4e0N8.js → MarkdownRendererImpl-CpI-25Xk.js} +1 -1
- package/dist/assets/{PatchDiff-Dlm4RU8n.js → PatchDiff-CrIWbYj7.js} +1 -1
- package/dist/assets/{PierreDiffViewer-St32rXlD.js → PierreDiffViewer-B410mdbq.js} +2 -2
- package/dist/assets/{SessionSwitcherDropdown-D5bWfZNA.js → SessionSwitcherDropdown-DROjbyIu.js} +93 -93
- package/dist/assets/SettingsView-CsJItYZh.js +4 -0
- package/dist/assets/{SettingsWindow-Ck_uhTnx.js → SettingsWindow-C9s4AX72.js} +1 -1
- package/dist/assets/{ToolOutputDialog-BCONUv3r.js → ToolOutputDialog-b_R4tAZu.js} +6 -6
- package/dist/assets/{ToolPartDiffPreview-BdVuk2kc.js → ToolPartDiffPreview-CfnliaE9.js} +1 -1
- package/dist/assets/{VirtualizedFileDiff-BsAZM0jo.js → VirtualizedFileDiff-CQz2fSZI.js} +4 -4
- package/dist/assets/{collapsible-Wnmq-13H.js → collapsible-CR4U9tjw.js} +1 -1
- package/dist/assets/{computeVirtualFileMetrics-skbyL2Az.js → computeVirtualFileMetrics-C7vXPUYT.js} +2 -2
- package/dist/assets/{contextFileOpenGuard-BsxQITMZ.js → contextFileOpenGuard-DtTHRnq1.js} +1 -1
- package/dist/assets/{index-8TL2HlaR.js → index-BAqpUCjs.js} +4 -4
- package/dist/assets/{index-Bfp6eYap.js → index-DZG82DE1.js} +1 -1
- package/dist/assets/{isDiffPlainText-dZkfk3yG.js → isDiffPlainText-zTq-4A04.js} +1 -1
- package/dist/assets/{isFilePlainText-UL_tMQZx.js → isFilePlainText-CLgIdzE5.js} +1 -1
- package/dist/assets/{main-CHQfoyRP.js → main-BVWtJYSk.js} +2 -2
- package/dist/assets/main-DXYHsqzA.js +133 -0
- package/dist/assets/{markdownCore-qX3mJFkL.js → markdownCore-CN0pApQE.js} +2 -2
- package/dist/assets/{miniChat-3QtCNwHl.js → miniChat-BrbRq5NQ.js} +2 -2
- package/dist/assets/{mobile-B_CyfRAX.js → mobile-DTPtCn5N.js} +2 -2
- package/dist/assets/{renderElectronMiniChatApp-OToslrv-.js → renderElectronMiniChatApp-CM8qBaye.js} +1 -1
- package/dist/assets/{renderMobileApp-BD_wep_I.js → renderMobileApp-KS_pt-qc.js} +4 -4
- package/dist/assets/{runtimeSurface-CkdOpqo7.js → runtimeSurface-CkHYYg0E.js} +1 -1
- package/dist/assets/{useInlineCommentController-DVif5Fr8.js → useInlineCommentController-CwNNjgc7.js} +2 -2
- package/dist/assets/usePanelSlide-DkorgQJ5.js +56 -0
- package/dist/assets/{useWindowTitle-BZVlLMCy.js → useWindowTitle-B9wt_3ZQ.js} +3 -3
- package/dist/assets/{vendor-codemirror-language-data-C-924Z4o.js → vendor-codemirror-language-data-x89A7Wy0.js} +2 -2
- package/dist/assets/{web-components-BG-6PEN4.js → web-components-BEPfE4kU.js} +4 -4
- package/dist/index.html +3 -3
- package/dist/mini-chat.html +2 -2
- package/dist/mobile.html +2 -2
- package/package.json +1 -1
- package/server/index.js +33 -0
- package/server/lib/pi/routes.js +5 -1
- package/server/lib/pi/session-daemon/DOCUMENTATION.md +1 -1
- package/server/lib/pi/session-daemon/session-daemon.js +111 -9
- package/server/lib/pi/session-daemon/session-daemon.test.js +75 -0
- package/server/lib/pi/settings-store.js +17 -0
- package/server/lib/pi/settings-store.test.js +33 -0
- package/server/lib/server/core-routes.js +36 -4
- package/server/lib/server/tunnel-service.DOCUMENTATION.md +74 -0
- package/server/lib/server/tunnel-service.js +228 -0
- package/server/lib/server/tunnel-service.test.js +61 -0
- package/server/lib/ui-auth/DOCUMENTATION.md +2 -0
- package/server/lib/ui-auth/ui-auth.js +5 -1
- package/server/lib/ui-auth/ui-auth.test.js +17 -0
- package/dist/assets/SettingsView-FGe5TEQq.js +0 -4
- package/dist/assets/main-DbnYXZeK.js +0 -133
- package/dist/assets/usePanelSlide-C_PJmPXW.js +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as e,j as t}from"./vendor-react-DYyjh7Q0.js";import{f as p,I as m}from"./SessionSwitcherDropdown-
|
|
1
|
+
import{R as e,j as t}from"./vendor-react-DYyjh7Q0.js";import{f as p,I as m}from"./SessionSwitcherDropdown-DROjbyIu.js";import{S as n}from"./SettingsView-CsJItYZh.js";import{D as l,e as d,f as c,g,h as u,i as b,j as f}from"./vendor-base-ui-DL8r2fgQ.js";import"./vendor-scheduler-7OC5HNn7.js";import"./index-BAqpUCjs.js";import"./vendor-zustand-CnsBKjP5.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./runtimeSurface-CkHYYg0E.js";import"./vendor-dnd-kit-core-GipZW2tY.js";import"./vendor-dnd-kit-utilities-CrOcp0Bp.js";import"./vendor-dnd-kit-accessibility-Cv52zwWT.js";import"./vendor-dnd-kit-sortable-Ct2QxIHb.js";import"./vendor-cmdk-BCEUzcHE.js";import"./vendor-radix-ui-react-dialog-jX3Dld8c.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-D1GnwnP9.js";import"./vendor-radix-ui-react-context-CM4yFQ2I.js";import"./vendor-radix-ui-react-id-BcxRjnbX.js";import"./vendor-radix-ui-react-use-layout-effect-0fyGwS2_.js";import"./vendor-radix-ui-react-use-controllable-state-C_ecoh35.js";import"./vendor-radix-ui-react-dismissable-layer-M7LsH3yL.js";import"./vendor-radix-ui-react-primitive-CfpW6_IT.js";import"./vendor-radix-ui-react-slot-BxUc3Pvz.js";import"./vendor-radix-ui-react-use-callback-ref-UKEWHtoP.js";import"./vendor-radix-ui-react-use-escape-keydown-Co13lHGj.js";import"./vendor-radix-ui-react-focus-scope-C2K7lNPv.js";import"./vendor-radix-ui-react-portal-xlJWBfDg.js";import"./vendor-radix-ui-react-presence-Btn-Dp7L.js";import"./vendor-radix-ui-react-focus-guards-D5MZ0nQs.js";import"./vendor-react-remove-scroll-CfeMe0DL.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-C9YRs2nU.js";import"./vendor-react-style-singleton-B1H4bWSG.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-C-AuTczP.js";import"./vendor-use-callback-ref-CJB0R85I.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-E2vgV9K3.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-CNWM3Q8V.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-DSzLbZiS.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-BUlYhQ3o.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-BS2SpSAZ.js";import"./vendor-codemirror-lang-json-CqayksDf.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-Ba8JZ6fp.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-DK27qQri.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-CvO36Y1p.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-x89A7Wy0.js";import"./vendor-codemirror-lang-python-_2bIYTiJ.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-RrgJ8H_6.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-tanstack-react-virtual-IrbCBGJ4.js";import"./vendor-tanstack-virtual-core-Dubg10g5.js";import"./vendor-framer-motion-DJASDzNt.js";import"./vendor-motion-dom-DJLgZh4Q.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-sonner-CW8w438f.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./usePanelSlide-DkorgQJ5.js";import"./permissionStore-BRcQ9Jgt.js";import"./vendor-qrcode-COsmt6jn.js";import"./vendor-dijkstrajs-COg3n3zL.js";import"./collapsible-CR4U9tjw.js";import"./vendor-floating-ui-utils-BzXdqYpP.js";import"./vendor-floating-ui-react-dom-sVFnuruh.js";import"./vendor-floating-ui-dom-Bkw82kL9.js";import"./vendor-floating-ui-core-CXmKXOXc.js";import"./vendor-use-sync-external-store-B7OScDIw.js";const Qt=({open:s,onOpenChange:o})=>{const i=e.useId(),a=e.useCallback(()=>typeof document>"u"?!1:!!document.querySelector('[data-slot="dropdown-menu-content"][data-open], [data-slot="select-content"][data-open]'),[]);return t.jsx(l,{open:s,onOpenChange:r=>{!r&&a()||o(r)},children:t.jsxs(d,{children:[t.jsx(c,{className:p("oc-glass-backdrop fixed inset-0 z-50 bg-black/25 dark:bg-black/40","transition-opacity duration-150 ease-out","data-[starting-style]:opacity-0 data-[ending-style]:opacity-0")}),t.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center pointer-events-none",children:t.jsxs(g,{"aria-describedby":i,className:p("relative pointer-events-auto","w-[92vw] max-w-[1120px] h-[84vh] max-h-[900px]","rounded-2xl border border-border/80 shadow-2xl overflow-hidden origin-center","bg-sidebar","transition-all duration-150 ease-out","data-[starting-style]:opacity-0 data-[starting-style]:scale-[0.98]","data-[ending-style]:opacity-0 data-[ending-style]:scale-[0.98]","data-[nested-dialog-open]:brightness-[0.55] dark:data-[nested-dialog-open]:brightness-[0.4]"),children:[t.jsx(u,{className:"sr-only",children:"Settings"}),t.jsx(b,{id:i,className:"sr-only",children:"PiChamber settings window."}),t.jsx(f,{"aria-label":"Close settings",className:"absolute right-3 top-3 z-10 inline-flex size-8 items-center justify-center rounded-md bg-background/80 text-muted-foreground backdrop-blur-sm hover:bg-interactive-hover hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50",children:t.jsx(m,{name:"close",className:"size-4"})}),t.jsx(n,{onClose:()=>o(!1),isWindowed:!0})]})})]})})};export{Qt as SettingsWindow};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import{R as a,j as r,b as
|
|
2
|
-
`),[n]),f=Me(l,t);return n.length>Se?r.jsx(te,{lines:n,highlighted:f,syntaxVars:c,maxHeight:o,showLineNumbers:s,lineStyles:d}):r.jsx("div",{className:"typography-code font-mono w-full min-w-0",style:{...c,maxHeight:o,overflow:"auto"},children:n.map((w,N)=>r.jsx(H,{line:w,html:f?.[N],showLineNumbers:s,style:d?.(w)},N))})});ee.displayName="VirtualizedCodeBlock";const te=a.memo(({lines:e,highlighted:n,syntaxVars:t,maxHeight:o,showLineNumbers:s,lineStyles:d})=>{const i=a.useRef(null),c=`min(${e.length*q}px, ${o})`,l=ke({count:e.length,getScrollElement:()=>i.current,estimateSize:()=>q,overscan:20}),f=l.getVirtualItems();return r.jsx("div",{ref:i,className:"typography-code font-mono w-full min-w-0",style:{...t,height:c,maxHeight:o,overflow:"auto"},children:r.jsx("div",{style:{height:l.getTotalSize(),position:"relative"},children:f.map(h=>{const w=e[h.index];return w?r.jsx("div",{"data-index":h.index,ref:l.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${h.start}px)`},children:r.jsx(H,{line:w,html:n?.[h.index],showLineNumbers:s,style:d?.(w)})},h.index):null})})})});te.displayName="VirtualizedRows";const H=a.memo(({line:e,html:n,showLineNumbers:t,style:o})=>r.jsxs("div",{className:"typography-code font-mono flex w-full min-w-0",style:o,children:[t&&r.jsx("span",{className:"w-10 flex-shrink-0 text-right pr-3 select-none border-r mr-3 -my-0.5 py-0.5",style:{color:"var(--tools-edit-line-number)",borderColor:"var(--tools-border)"},children:!e.isInfo&&e.lineNumber!=null?e.lineNumber:""}),r.jsx("div",{className:"flex-1 min-w-0",children:e.isInfo?r.jsx("div",{className:"whitespace-pre-wrap break-words text-muted-foreground/70 italic",children:e.text}):n!==void 0?r.jsx("div",{className:"whitespace-pre",dangerouslySetInnerHTML:{__html:n}}):r.jsx("div",{className:"whitespace-pre",children:e.text})})]}));H.displayName="VirtualizedCodeBlock.Row";class O extends Error{constructor(n){super(n),this.name="MermaidLoadFailure"}}const Re=e=>new O(e),Te=e=>e instanceof O,Ie=e=>e+1,B=(e,n)=>e===n,
|
|
1
|
+
import{R as a,j as r,b as K}from"./vendor-react-DYyjh7Q0.js";import{dG as ae,aL as se,dg as le,D as de,w as ce,I as p,ds as me,aG as A,V as Y,dH as ue,dI as fe,dJ as he,dK as ge,dL as pe,bf as X,dM as xe,dN as we,f as I,be as ye,dO as be}from"./SessionSwitcherDropdown-DROjbyIu.js";import{F as Q,J as ve}from"./JsonTreeView-CmY7QgEX.js";import{P as je}from"./PatchDiff-CrIWbYj7.js";import{br as D,L as U,r as Ne}from"./index-BAqpUCjs.js";import{ensurePierreThemeRegistered as $}from"./appThemeRegistry-BK0dHKa6.js";import{u as ke}from"./vendor-tanstack-react-virtual-IrbCBGJ4.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-zustand-CnsBKjP5.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-base-ui-DL8r2fgQ.js";import"./vendor-floating-ui-utils-BzXdqYpP.js";import"./vendor-floating-ui-react-dom-sVFnuruh.js";import"./vendor-floating-ui-dom-Bkw82kL9.js";import"./vendor-floating-ui-core-CXmKXOXc.js";import"./vendor-use-sync-external-store-B7OScDIw.js";import"./runtimeSurface-CkHYYg0E.js";import"./vendor-dnd-kit-core-GipZW2tY.js";import"./vendor-dnd-kit-utilities-CrOcp0Bp.js";import"./vendor-dnd-kit-accessibility-Cv52zwWT.js";import"./vendor-dnd-kit-sortable-Ct2QxIHb.js";import"./vendor-cmdk-BCEUzcHE.js";import"./vendor-radix-ui-react-dialog-jX3Dld8c.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-D1GnwnP9.js";import"./vendor-radix-ui-react-context-CM4yFQ2I.js";import"./vendor-radix-ui-react-id-BcxRjnbX.js";import"./vendor-radix-ui-react-use-layout-effect-0fyGwS2_.js";import"./vendor-radix-ui-react-use-controllable-state-C_ecoh35.js";import"./vendor-radix-ui-react-dismissable-layer-M7LsH3yL.js";import"./vendor-radix-ui-react-primitive-CfpW6_IT.js";import"./vendor-radix-ui-react-slot-BxUc3Pvz.js";import"./vendor-radix-ui-react-use-callback-ref-UKEWHtoP.js";import"./vendor-radix-ui-react-use-escape-keydown-Co13lHGj.js";import"./vendor-radix-ui-react-focus-scope-C2K7lNPv.js";import"./vendor-radix-ui-react-portal-xlJWBfDg.js";import"./vendor-radix-ui-react-presence-Btn-Dp7L.js";import"./vendor-radix-ui-react-focus-guards-D5MZ0nQs.js";import"./vendor-react-remove-scroll-CfeMe0DL.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-C9YRs2nU.js";import"./vendor-react-style-singleton-B1H4bWSG.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-C-AuTczP.js";import"./vendor-use-callback-ref-CJB0R85I.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-E2vgV9K3.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-CNWM3Q8V.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-DSzLbZiS.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-BUlYhQ3o.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-BS2SpSAZ.js";import"./vendor-codemirror-lang-json-CqayksDf.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-Ba8JZ6fp.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-DK27qQri.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-CvO36Y1p.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-x89A7Wy0.js";import"./vendor-codemirror-lang-python-_2bIYTiJ.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-RrgJ8H_6.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-framer-motion-DJASDzNt.js";import"./vendor-motion-dom-DJLgZh4Q.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-tanstack-virtual-core-Dubg10g5.js";import"./vendor-sonner-CW8w438f.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./web-components-BEPfE4kU.js";import"./computeVirtualFileMetrics-C7vXPUYT.js";import"./vendor-shiki-Bbf2GEcE.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-shikijs-engine-oniguruma-DPWuIF1G.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-engine-javascript-Cme4830A.js";import"./vendor-oniguruma-to-es-DLBnFDCE.js";import"./vendor-oniguruma-parser-C0D4_9rT.js";import"./vendor-regex-BBWcyTkg.js";import"./vendor-regex-utilities-2BQyy0xI.js";import"./vendor-regex-recursion-JU4mF-dD.js";import"./vendor-shikijs-transformers-CZWsLLKm.js";import"./Virtualizer-BxW2CJGB.js";import"./isFilePlainText-CLgIdzE5.js";import"./VirtualizedFileDiff-CQz2fSZI.js";import"./isDiffPlainText-zTq-4A04.js";import"./vendor-diff-C3JhlQdm.js";import"./registerCustomTheme-BBXUCRnG.js";const Me=(e,n)=>{const[t,o]=a.useState(null);return a.useEffect(()=>{let s=!0;return o(null),ae(e,(n||"text").toLowerCase()).then(d=>{s&&o(d)}),()=>{s=!1}},[e,n]),t},Se=80,q=20,ee=a.memo(e=>{const{lines:n,language:t,maxHeight:o="60vh",showLineNumbers:s=!0,lineStyles:d}=e,{currentTheme:i}=se(),c=a.useMemo(()=>le(i),[i]),l=a.useMemo(()=>n.map(w=>w.text).join(`
|
|
2
|
+
`),[n]),f=Me(l,t);return n.length>Se?r.jsx(te,{lines:n,highlighted:f,syntaxVars:c,maxHeight:o,showLineNumbers:s,lineStyles:d}):r.jsx("div",{className:"typography-code font-mono w-full min-w-0",style:{...c,maxHeight:o,overflow:"auto"},children:n.map((w,N)=>r.jsx(H,{line:w,html:f?.[N],showLineNumbers:s,style:d?.(w)},N))})});ee.displayName="VirtualizedCodeBlock";const te=a.memo(({lines:e,highlighted:n,syntaxVars:t,maxHeight:o,showLineNumbers:s,lineStyles:d})=>{const i=a.useRef(null),c=`min(${e.length*q}px, ${o})`,l=ke({count:e.length,getScrollElement:()=>i.current,estimateSize:()=>q,overscan:20}),f=l.getVirtualItems();return r.jsx("div",{ref:i,className:"typography-code font-mono w-full min-w-0",style:{...t,height:c,maxHeight:o,overflow:"auto"},children:r.jsx("div",{style:{height:l.getTotalSize(),position:"relative"},children:f.map(h=>{const w=e[h.index];return w?r.jsx("div",{"data-index":h.index,ref:l.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${h.start}px)`},children:r.jsx(H,{line:w,html:n?.[h.index],showLineNumbers:s,style:d?.(w)})},h.index):null})})})});te.displayName="VirtualizedRows";const H=a.memo(({line:e,html:n,showLineNumbers:t,style:o})=>r.jsxs("div",{className:"typography-code font-mono flex w-full min-w-0",style:o,children:[t&&r.jsx("span",{className:"w-10 flex-shrink-0 text-right pr-3 select-none border-r mr-3 -my-0.5 py-0.5",style:{color:"var(--tools-edit-line-number)",borderColor:"var(--tools-border)"},children:!e.isInfo&&e.lineNumber!=null?e.lineNumber:""}),r.jsx("div",{className:"flex-1 min-w-0",children:e.isInfo?r.jsx("div",{className:"whitespace-pre-wrap break-words text-muted-foreground/70 italic",children:e.text}):n!==void 0?r.jsx("div",{className:"whitespace-pre",dangerouslySetInnerHTML:{__html:n}}):r.jsx("div",{className:"whitespace-pre",children:e.text})})]}));H.displayName="VirtualizedCodeBlock.Row";class O extends Error{constructor(n){super(n),this.name="MermaidLoadFailure"}}const Re=e=>new O(e),Te=e=>e instanceof O,Ie=e=>e+1,B=(e,n)=>e===n,Le=e=>{const n=e.indexOf(",");if(n<0)throw Re("The Mermaid data URL is malformed.");const t=e.slice(0,n).toLowerCase(),o=e.slice(n+1);return t.includes(";base64")?atob(o):decodeURIComponent(o)},Pe=e=>Promise.resolve().then(()=>Le(e)),F=e=>new O(e),Ee=e=>{const n="h-3.5 w-3.5 flex-shrink-0",t=e.toLowerCase();return t==="reasoning"?r.jsx(p,{name:"brain-ai-3",className:n}):t==="image-preview"?r.jsx(p,{name:"file-image",className:n}):t==="mermaid-preview"?r.jsx(p,{name:"file-list-2",className:n}):t==="edit"||t==="multiedit"||t==="apply_patch"||t==="str_replace"||t==="str_replace_based_edit_tool"?r.jsx(p,{name:"pencil-ai",className:n}):t==="write"||t==="create"||t==="file_write"?r.jsx(p,{name:"file-pdf",className:n}):t==="read"||t==="view"||t==="file_read"||t==="cat"?r.jsx(p,{name:"file-pdf",className:n}):t==="bash"||t==="shell"||t==="cmd"||t==="terminal"?r.jsx(p,{name:"terminal-box",className:n}):t==="list"||t==="ls"||t==="dir"||t==="list_files"?r.jsx(p,{name:"folder-6",className:n}):t==="search"||t==="grep"||t==="find"||t==="ripgrep"?r.jsx(p,{name:"search",className:n}):t==="glob"?r.jsx(p,{name:"file-search",className:n}):t==="fetch"||t==="curl"||t==="wget"||t==="webfetch"?r.jsx(p,{name:"global",className:n}):t==="web-search"||t==="websearch"||t==="search_web"||t==="google"||t==="bing"||t==="duckduckgo"?r.jsx(p,{name:"search",className:n}):t==="todowrite"||t==="todoread"?r.jsx(p,{name:"list-check-3",className:n}):t==="plan_enter"?r.jsx(p,{name:"file-list-2",className:n}):t==="plan_exit"?r.jsx(p,{name:"task",className:n}):t.startsWith("git")?r.jsx(p,{name:"git-branch",className:n}):r.jsx(p,{name:"tools",className:n})},G=150,De=40,Ce=120,_e=3,z={style:{background:"transparent",backgroundColor:"transparent",fontSize:"inherit"}},Ae={download:!1,copy:!1,showPanZoomControls:!0},Fe=`
|
|
3
3
|
[data-diff-header],
|
|
4
4
|
[data-diff] {
|
|
5
5
|
[data-separator] {
|
|
6
6
|
height: 24px !important;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
`,ze={hunkLineCount:50,lineHeight:24,diffHeaderHeight:44,hunkSeparatorHeight:24,spacing:0},Ve=()=>{const e=ye(),n=a.useMemo(()=>U(!1),[]),t=a.useMemo(()=>U(!0),[]),o=a.useMemo(()=>e?.availableThemes??[n,t],[t,n,e?.availableThemes]),s=e?.lightThemeId??n.metadata.id,d=e?.darkThemeId??t.metadata.id,i=a.useMemo(()=>o.find(f=>f.metadata.id===s)??n,[o,n,s]),c=a.useMemo(()=>o.find(f=>f.metadata.id===d)??t,[o,d,t]);a.useEffect(()=>{$(i),$(c)},[c,i]);const l=e?.currentTheme.metadata.variant??"light";return{theme:{light:i.metadata.id,dark:c.metadata.id},themeType:l==="dark"?"dark":"light"}},J=()=>({width:typeof window<"u"?window.innerWidth:0,height:typeof window<"u"?window.innerHeight:0}),Z={mobile:{widthRatio:.94,heightRatio:.86,padding:10},desktop:{widthRatio:.8,heightRatio:.8,padding:16}},He=(e,n)=>{const t=n?Z.mobile:Z.desktop,o=Math.max(160,e.width-t.padding*2),s=Math.max(160,e.height-t.padding*2);return{maxWidth:Math.max(160,Math.min(o,e.width*t.widthRatio)),maxHeight:Math.max(160,Math.min(s,e.height*t.heightRatio))}},Oe=e=>{try{const d=Array.from(e.querySelectorAll("g"));let i=0,c=null;for(const l of d){if(!(l instanceof SVGGraphicsElement))continue;const f=l.getBBox();if(!(f.width>0&&f.height>0))continue;const h=f.width*f.height;h>i&&(i=h,c=f.width/f.height)}if(c&&Number.isFinite(c)&&c>0)return c}catch{}const n=e.getAttribute("viewBox");if(n){const d=n.trim().split(/\s+/).map(Number);if(d.length===4){const i=d[2],c=d[3];if(Number.isFinite(i)&&Number.isFinite(c)&&i>0&&c>0)return i/c}}const t=Number(e.getAttribute("width")),o=Number(e.getAttribute("height"));if(Number.isFinite(t)&&Number.isFinite(o)&&t>0&&o>0)return t/o;const s=e.getBoundingClientRect();return s.width>0&&s.height>0?s.width/s.height:null},re=e=>{const[n,t]=a.useState(e),[o,s]=a.useState(e),[d,i]=a.useState(!1);return a.useEffect(()=>{if(e){if(t(!0),i(!0),typeof window>"u"){s(!0);return}const l=window.requestAnimationFrame(()=>{s(!0)}),f=window.setTimeout(()=>{i(!1)},G);return()=>{window.cancelAnimationFrame(l),window.clearTimeout(f)}}if(s(!1),i(!0),typeof window>"u"){t(!1);return}const c=window.setTimeout(()=>{t(!1),i(!1)},G);return()=>{window.clearTimeout(c)}},[e]),{isRendered:n,isVisible:o,isTransitioning:d}},ne=e=>{const[n,t]=a.useState(J);return a.useEffect(()=>{if(!e||typeof window>"u")return;const o=()=>{t(J())};return o(),window.addEventListener("resize",o),()=>{window.removeEventListener("resize",o)}},[e]),n},We=({popup:e,onOpenChange:n,isMobile:t})=>{const o=a.useMemo(()=>{const u=e.image;if(!u)return[];const x=Array.isArray(u.gallery)?u.gallery.filter(S=>!!S?.url):[];return x.length>0?x:[{url:u.url,mimeType:u.mimeType,filename:u.filename,size:u.size}]},[e.image]),[s,d]=a.useState(0),[i,c]=a.useState(null),{isRendered:l,isVisible:f,isTransitioning:h}=re(e.open),w=ne(e.open);a.useEffect(()=>{if(!e.open||o.length===0)return;const u=typeof e.image?.index=="number"?e.image.index:-1;if(u>=0&&u<o.length){d(u);return}const x=e.image?.url?o.findIndex(S=>S.url===e.image?.url):-1;d(x>=0?x:0)},[o,e.image?.index,e.image?.url,e.open]);const N=o[s]??o[0]??e.image,v=N?.filename||e.title||"Image preview",T=o.length>1,k=a.useCallback(()=>{o.length<=1||d(u=>(u-1+o.length)%o.length)},[o.length]),
|
|
10
|
-
`),[t]),l=a.useMemo(()=>e.language||
|
|
9
|
+
`,ze={hunkLineCount:50,lineHeight:24,diffHeaderHeight:44,hunkSeparatorHeight:24,spacing:0},Ve=()=>{const e=ye(),n=a.useMemo(()=>U(!1),[]),t=a.useMemo(()=>U(!0),[]),o=a.useMemo(()=>e?.availableThemes??[n,t],[t,n,e?.availableThemes]),s=e?.lightThemeId??n.metadata.id,d=e?.darkThemeId??t.metadata.id,i=a.useMemo(()=>o.find(f=>f.metadata.id===s)??n,[o,n,s]),c=a.useMemo(()=>o.find(f=>f.metadata.id===d)??t,[o,d,t]);a.useEffect(()=>{$(i),$(c)},[c,i]);const l=e?.currentTheme.metadata.variant??"light";return{theme:{light:i.metadata.id,dark:c.metadata.id},themeType:l==="dark"?"dark":"light"}},J=()=>({width:typeof window<"u"?window.innerWidth:0,height:typeof window<"u"?window.innerHeight:0}),Z={mobile:{widthRatio:.94,heightRatio:.86,padding:10},desktop:{widthRatio:.8,heightRatio:.8,padding:16}},He=(e,n)=>{const t=n?Z.mobile:Z.desktop,o=Math.max(160,e.width-t.padding*2),s=Math.max(160,e.height-t.padding*2);return{maxWidth:Math.max(160,Math.min(o,e.width*t.widthRatio)),maxHeight:Math.max(160,Math.min(s,e.height*t.heightRatio))}},Oe=e=>{try{const d=Array.from(e.querySelectorAll("g"));let i=0,c=null;for(const l of d){if(!(l instanceof SVGGraphicsElement))continue;const f=l.getBBox();if(!(f.width>0&&f.height>0))continue;const h=f.width*f.height;h>i&&(i=h,c=f.width/f.height)}if(c&&Number.isFinite(c)&&c>0)return c}catch{}const n=e.getAttribute("viewBox");if(n){const d=n.trim().split(/\s+/).map(Number);if(d.length===4){const i=d[2],c=d[3];if(Number.isFinite(i)&&Number.isFinite(c)&&i>0&&c>0)return i/c}}const t=Number(e.getAttribute("width")),o=Number(e.getAttribute("height"));if(Number.isFinite(t)&&Number.isFinite(o)&&t>0&&o>0)return t/o;const s=e.getBoundingClientRect();return s.width>0&&s.height>0?s.width/s.height:null},re=e=>{const[n,t]=a.useState(e),[o,s]=a.useState(e),[d,i]=a.useState(!1);return a.useEffect(()=>{if(e){if(t(!0),i(!0),typeof window>"u"){s(!0);return}const l=window.requestAnimationFrame(()=>{s(!0)}),f=window.setTimeout(()=>{i(!1)},G);return()=>{window.cancelAnimationFrame(l),window.clearTimeout(f)}}if(s(!1),i(!0),typeof window>"u"){t(!1);return}const c=window.setTimeout(()=>{t(!1),i(!1)},G);return()=>{window.clearTimeout(c)}},[e]),{isRendered:n,isVisible:o,isTransitioning:d}},ne=e=>{const[n,t]=a.useState(J);return a.useEffect(()=>{if(!e||typeof window>"u")return;const o=()=>{t(J())};return o(),window.addEventListener("resize",o),()=>{window.removeEventListener("resize",o)}},[e]),n},We=({popup:e,onOpenChange:n,isMobile:t})=>{const o=a.useMemo(()=>{const u=e.image;if(!u)return[];const x=Array.isArray(u.gallery)?u.gallery.filter(S=>!!S?.url):[];return x.length>0?x:[{url:u.url,mimeType:u.mimeType,filename:u.filename,size:u.size}]},[e.image]),[s,d]=a.useState(0),[i,c]=a.useState(null),{isRendered:l,isVisible:f,isTransitioning:h}=re(e.open),w=ne(e.open);a.useEffect(()=>{if(!e.open||o.length===0)return;const u=typeof e.image?.index=="number"?e.image.index:-1;if(u>=0&&u<o.length){d(u);return}const x=e.image?.url?o.findIndex(S=>S.url===e.image?.url):-1;d(x>=0?x:0)},[o,e.image?.index,e.image?.url,e.open]);const N=o[s]??o[0]??e.image,v=N?.filename||e.title||"Image preview",T=o.length>1,k=a.useCallback(()=>{o.length<=1||d(u=>(u-1+o.length)%o.length)},[o.length]),L=a.useCallback(()=>{o.length<=1||d(u=>(u+1)%o.length)},[o.length]);a.useEffect(()=>{if(!e.open)return;const u=x=>{if(x.key==="Escape"){n(!1);return}if(x.key==="ArrowLeft"&&T){x.preventDefault(),k();return}x.key==="ArrowRight"&&T&&(x.preventDefault(),L())};return window.addEventListener("keydown",u),()=>{window.removeEventListener("keydown",u)}},[T,n,e.open,L,k]),a.useEffect(()=>{c(null)},[N?.url]);const E=a.useMemo(()=>{const u=Math.max(160,w.width*(t?.86:.75)),x=Math.max(160,w.height*(t?.72:.75));if(!i)return{width:Math.round(u),height:Math.round(x)};const S=u/i.width,m=x/i.height,g=Math.min(S,m);return{width:Math.max(1,Math.round(i.width*g)),height:Math.max(1,Math.round(i.height*g))}},[i,t,w.height,w.width]);if(!l||!N||typeof document>"u")return null;const C=r.jsxs("div",{className:I("fixed inset-0 z-50",e.open?"pointer-events-auto":"pointer-events-none"),children:[r.jsx("div",{"aria-hidden":"true",className:I("absolute inset-0 bg-black/40",h&&"transition-opacity duration-150 ease-out",f?"opacity-100":"opacity-0"),onMouseDown:()=>n(!1)}),T&&r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",onMouseDown:u=>u.stopPropagation(),onClick:k,className:"absolute left-3 top-1/2 -translate-y-1/2 z-10 h-10 w-10 flex items-center justify-center rounded-full bg-black/40 text-foreground/90 hover:bg-black/55 focus:outline-none focus:ring-2 focus:ring-primary/60","aria-label":"Previous image",children:r.jsx(p,{name:"arrow-left-s",className:"h-6 w-6"})}),r.jsx("button",{type:"button",onMouseDown:u=>u.stopPropagation(),onClick:L,className:"absolute right-3 top-1/2 -translate-y-1/2 z-10 h-10 w-10 flex items-center justify-center rounded-full bg-black/40 text-foreground/90 hover:bg-black/55 focus:outline-none focus:ring-2 focus:ring-primary/60","aria-label":"Next image",children:r.jsx(p,{name:"arrow-right-s",className:"h-6 w-6"})})]}),r.jsx("div",{className:I("absolute inset-0 flex items-center justify-center pointer-events-none",t?"p-2.5":"p-4"),children:r.jsxs("div",{className:I("pointer-events-auto flex flex-col gap-2",h&&"transition-opacity duration-150 ease-out",f?"opacity-100":"opacity-0"),style:{width:`${E.width}px`},children:[r.jsxs("div",{className:"flex items-center justify-between gap-2",children:[r.jsx("div",{className:"min-w-0 flex-1 text-foreground typography-ui-header font-semibold truncate",title:v,children:v}),r.jsx("button",{type:"button",className:"h-8 w-8 flex items-center justify-center rounded-lg text-muted-foreground/80 hover:text-foreground focus:outline-none focus:ring-2 focus:ring-primary/60",onClick:()=>n(!1),"aria-label":"Close image preview",children:r.jsx(p,{name:"close",className:"h-4 w-4"})})]}),r.jsx("img",{src:N.url,alt:v,className:"block object-contain",style:{width:`${E.width}px`,height:`${E.height}px`},loading:"lazy",onLoad:u=>{const x=u.currentTarget,S=x.naturalWidth,m=x.naturalHeight;S>0&&m>0&&c(g=>g&&g.width===S&&g.height===m?g:{width:S,height:m})}})]})})]});return K.createPortal(C,document.body)},ie=a.memo(({popup:e,diffViewMode:n,pierreThemeConfig:t})=>{const o=e.content||"";return r.jsx("div",{className:"typography-code",children:r.jsx(je,{patch:o,metrics:ze,options:{diffStyle:n==="unified"?"unified":"split",diffIndicators:"none",hunkSeparators:"line-info-basic",lineDiffType:"none",disableFileHeader:!0,maxLineDiffLength:1e3,expansionLineCount:20,overflow:"wrap",theme:t.theme,themeType:t.themeType,unsafeCSS:Fe},className:"block w-full"})})});ie.displayName="DialogUnifiedDiff";const oe=a.memo(({popup:e,pierreThemeConfig:n})=>{const t=a.useMemo(()=>be(e.content),[e.content]),o=e.metadata?.input,s=typeof o=="object"&&o!==null?o:{},d=typeof s.offset=="number"?s.offset:0,i=typeof s.file_path=="string"?s.file_path:typeof s.filePath=="string"?s.filePath:typeof s.path=="string"?s.path:"read-output",c=a.useMemo(()=>t.lines.map(h=>h.text).join(`
|
|
10
|
+
`),[t]),l=a.useMemo(()=>e.language||Y(i)||"text",[i,e.language]),f=a.useMemo(()=>{const h=t.lines.some(v=>v.lineNumber!==null),w=[];let N=d;for(const v of t.lines){v.lineNumber!==null&&(N=v.lineNumber);const T=t.type==="file"&&!h&&v.lineNumber===null&&!v.isInfo,k=v.lineNumber??(T?N+1:null);typeof k=="number"&&(N=k),w.push({text:v.text,lineNumber:k,isInfo:v.isInfo})}return w},[d,t]);return t.type==="file"?r.jsx(Q,{file:{name:i,contents:c,lang:l||void 0},options:{disableFileHeader:!0,overflow:"wrap",theme:n.theme,themeType:n.themeType},className:"block w-full"}):r.jsx(ee,{lines:f,language:l,maxHeight:"70vh"})});oe.displayName="DialogReadContent";const Ue=({popup:e,onOpenChange:n,isMobile:t})=>{const[o,s]=a.useState(e.mermaid?.source||""),[d,i]=a.useState(e.mermaid?.source?"ready":"idle"),[c,l]=a.useState(""),{isRendered:f,isVisible:h,isTransitioning:w}=re(e.open),[N,v]=a.useState(null),T=ne(e.open),k=a.useRef(0),L=a.useRef(null),E=a.useCallback(m=>{const g=m.trim();if(!g.toLowerCase().startsWith("file://"))return null;const j=b=>{if(!b||/[\0\r\n]/.test(b))return!1;const P=b.replace(/\\/g,"/");return P.split("/").filter(Boolean).includes("..")?!1:P.startsWith("/")?!0:/^[A-Za-z]:\//.test(P)},y=b=>b.replace(/%([0-9A-Fa-f]{2})/g,(P,V)=>{const W=Number.parseInt(V,16);return Number.isFinite(W)?String.fromCharCode(W):`%${V}`});if(typeof URL.canParse=="function"?URL.canParse(g):!1){let b=y(new URL(g).pathname||"");return/^\/[A-Za-z]:\//.test(b)&&(b=b.slice(1)),j(b)?b:null}const R=g.replace(/^file:\/\//i,""),_=y(R);return j(_)?_:j(R)?R:null},[]),C=a.useCallback(async()=>{const m=e.mermaid,g=Ie(k.current);if(k.current=g,!m?.url){i("error"),l("Missing Mermaid source URL.");return}if(m.source){s(m.source),i("ready"),l("");return}i("loading"),l("");let j;if(m.url.startsWith("data:"))j=Pe(m.url);else if(m.url.toLowerCase().startsWith("file://")){const y=E(m.url);y?j=Ne("/api/fs/raw",{query:{path:y}}).then(M=>M.ok?M.text():Promise.reject(F(`Unable to read Mermaid file. Status: ${M.status}.`))):j=Promise.reject(F("The local Mermaid file path is invalid."))}else{const M=(typeof URL.canParse=="function"?URL.canParse(m.url,window.location.origin):!1)?new URL(m.url,window.location.origin):null;!M||M.protocol!=="http:"&&M.protocol!=="https:"?j=Promise.reject(F("The Mermaid URL protocol is unsupported.")):j=fetch(M.toString()).then(R=>R.ok?R.text():Promise.reject(F(`Unable to load Mermaid diagram. Status: ${R.status}.`)))}await j.then(y=>{B(k.current,g)&&(s(y),i("ready"))}).catch(y=>{B(k.current,g)&&(i("error"),l(Te(y)?y.message:"Unable to load Mermaid diagram."))})},[E,e.mermaid]);a.useEffect(()=>{!e.open||!e.mermaid||C()},[C,e.mermaid,e.open]),a.useEffect(()=>{if(!e.open)return;const m=g=>{g.key==="Escape"&&n(!1)};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m)}},[n,e.open]),a.useEffect(()=>{if(!e.open||d!=="ready"){v(null);return}const m=()=>{const _=L.current?.querySelector("svg");if(!_)return!1;const b=Oe(_);return!b||!Number.isFinite(b)||b<=0?!1:(v(P=>P&&Math.abs(P-b)<.001?P:b),!0)};let g=window.requestAnimationFrame(()=>{m()||(g=window.requestAnimationFrame(()=>{m()}))}),j=0,y;const M=()=>{j>=_e||(y=window.setTimeout(()=>{j+=1,m()||M()},Ce))};M();const R=new MutationObserver(()=>{m()});return L.current&&R.observe(L.current,{childList:!0,subtree:!0,attributes:!0}),()=>{window.cancelAnimationFrame(g),typeof y=="number"&&window.clearTimeout(y),R.disconnect()}},[e.open,o,d]);const u=`\`\`\`mermaid
|
|
11
11
|
${o}
|
|
12
|
-
\`\`\``,x=a.useMemo(()=>{const{maxWidth:m,maxHeight:g}=He(T,t),j=Math.max(160,g-De);if(N&&N<1){const y=Math.min(m,j);return{width:Math.round(y),height:Math.round(y)}}return{width:Math.round(m),height:Math.round(j)}},[N,t,T]);if(!f||typeof document>"u")return null;const S=r.jsxs("div",{className:I("fixed inset-0 z-50",e.open?"pointer-events-auto":"pointer-events-none"),children:[r.jsx("div",{"aria-hidden":"true",className:I("absolute inset-0",w&&"transition-opacity duration-150 ease-out",h?"opacity-100":"opacity-0"),style:{backgroundColor:"color-mix(in srgb, var(--surface-background) 70%, transparent)"},onMouseDown:()=>n(!1)}),r.jsx("div",{className:I("absolute inset-0 flex items-center justify-center pointer-events-none",t?"p-2.5":"p-4"),children:r.jsxs("div",{className:I("pointer-events-auto flex flex-col gap-2",w&&"transition-opacity duration-150 ease-out",h?"opacity-100":"opacity-0"),style:{width:`${x.width}px`},onMouseDown:m=>m.stopPropagation(),children:[r.jsx("div",{className:"flex items-center justify-end",children:r.jsx("button",{type:"button",className:"h-8 w-8 flex items-center justify-center rounded-lg text-muted-foreground/80 hover:text-foreground focus:outline-none focus:ring-2 focus:ring-primary/60",onClick:()=>n(!1),"aria-label":"Close diagram preview",children:r.jsx(p,{name:"close",className:"h-4 w-4"})})}),r.jsx("div",{className:"relative overflow-hidden",style:{height:`${x.height}px`},children:r.jsxs("div",{className:"h-full overflow-hidden",children:[d==="loading"&&r.jsxs("div",{className:"h-full min-h-28 flex items-center justify-center gap-2 text-muted-foreground typography-meta",children:[r.jsx(p,{name:"loader-4",className:"h-4 w-4 animate-spin"}),r.jsx("span",{children:"Loading diagram..."})]}),d==="error"&&r.jsxs("div",{className:"rounded-xl border p-3 space-y-3",style:{backgroundColor:"var(--status-error-background)",borderColor:"var(--status-error-border)"},children:[r.jsx("p",{className:"typography-markdown",style:{color:"var(--status-error)"},children:c||"Unable to render Mermaid diagram."}),r.jsx("button",{type:"button",onClick:()=>{C()},className:"px-3 py-1.5 rounded-lg typography-meta border transition-colors hover:bg-[var(--interactive-hover)]",style:{borderColor:"var(--interactive-border)",color:"var(--surface-foreground)"},children:"Retry"})]}),d==="ready"&&r.jsx("div",{ref:
|
|
12
|
+
\`\`\``,x=a.useMemo(()=>{const{maxWidth:m,maxHeight:g}=He(T,t),j=Math.max(160,g-De);if(N&&N<1){const y=Math.min(m,j);return{width:Math.round(y),height:Math.round(y)}}return{width:Math.round(m),height:Math.round(j)}},[N,t,T]);if(!f||typeof document>"u")return null;const S=r.jsxs("div",{className:I("fixed inset-0 z-50",e.open?"pointer-events-auto":"pointer-events-none"),children:[r.jsx("div",{"aria-hidden":"true",className:I("absolute inset-0",w&&"transition-opacity duration-150 ease-out",h?"opacity-100":"opacity-0"),style:{backgroundColor:"color-mix(in srgb, var(--surface-background) 70%, transparent)"},onMouseDown:()=>n(!1)}),r.jsx("div",{className:I("absolute inset-0 flex items-center justify-center pointer-events-none",t?"p-2.5":"p-4"),children:r.jsxs("div",{className:I("pointer-events-auto flex flex-col gap-2",w&&"transition-opacity duration-150 ease-out",h?"opacity-100":"opacity-0"),style:{width:`${x.width}px`},onMouseDown:m=>m.stopPropagation(),children:[r.jsx("div",{className:"flex items-center justify-end",children:r.jsx("button",{type:"button",className:"h-8 w-8 flex items-center justify-center rounded-lg text-muted-foreground/80 hover:text-foreground focus:outline-none focus:ring-2 focus:ring-primary/60",onClick:()=>n(!1),"aria-label":"Close diagram preview",children:r.jsx(p,{name:"close",className:"h-4 w-4"})})}),r.jsx("div",{className:"relative overflow-hidden",style:{height:`${x.height}px`},children:r.jsxs("div",{className:"h-full overflow-hidden",children:[d==="loading"&&r.jsxs("div",{className:"h-full min-h-28 flex items-center justify-center gap-2 text-muted-foreground typography-meta",children:[r.jsx(p,{name:"loader-4",className:"h-4 w-4 animate-spin"}),r.jsx("span",{children:"Loading diagram..."})]}),d==="error"&&r.jsxs("div",{className:"rounded-xl border p-3 space-y-3",style:{backgroundColor:"var(--status-error-background)",borderColor:"var(--status-error-border)"},children:[r.jsx("p",{className:"typography-markdown",style:{color:"var(--status-error)"},children:c||"Unable to render Mermaid diagram."}),r.jsx("button",{type:"button",onClick:()=>{C()},className:"px-3 py-1.5 rounded-lg typography-meta border transition-colors hover:bg-[var(--interactive-hover)]",style:{borderColor:"var(--interactive-border)",color:"var(--surface-foreground)"},children:"Retry"})]}),d==="ready"&&r.jsx("div",{ref:L,className:"h-full",children:r.jsx(X,{content:u,variant:"tool",allowMermaidWheelEvents:!0,className:"markdown-mermaid-fullscreen h-full",mermaidControls:Ae,enableFileReferences:!1})})]})})]})})]});return K.createPortal(S,document.body)},Kr=({popup:e,onOpenChange:n,isMobile:t})=>{const[o,s]=a.useState("unified"),d=Ve();return a.useEffect(()=>{e.open&&s("unified")},[e.open,e.title]),e.image?r.jsx(We,{popup:e,onOpenChange:n,isMobile:t}):e.mermaid?r.jsx(Ue,{popup:e,onOpenChange:n,isMobile:t}):r.jsx(de,{open:e.open,onOpenChange:n,children:r.jsxs(ce,{className:I("overflow-hidden flex flex-col min-h-0 pt-3 pb-4 px-4 gap-1","[&>button]:top-1.5",t?"w-[95vw] max-w-[95vw]":"max-w-5xl",t?"[&>button]:right-1":"[&>button]:top-2.5 [&>button]:right-4"),style:{maxHeight:"90vh"},children:[r.jsx("div",{className:"flex-shrink-0 pb-1",children:r.jsxs("div",{className:"flex items-start gap-2 text-foreground typography-ui-header font-semibold",children:[e.metadata?.tool?Ee(e.metadata.tool):r.jsx(p,{name:"tools",className:"h-3.5 w-3.5 text-foreground flex-shrink-0"}),r.jsx("span",{className:"break-words flex-1 leading-tight",children:e.title}),e.isDiff&&r.jsx(me,{mode:o,onModeChange:s,className:"mr-8 flex-shrink-0"})]})}),r.jsx("div",{className:"flex-1 min-h-0 rounded-xl border border-border/30 bg-muted/10 overflow-hidden",children:r.jsxs("div",{className:"tool-output-surface h-full max-h-[75vh] overflow-y-auto px-3 pr-4",children:[e.metadata?.input&&typeof e.metadata.input=="object"&&Object.keys(e.metadata.input).length>0&&e.metadata?.tool!=="todowrite"&&e.metadata?.tool!=="todoread"&&e.metadata?.tool!=="apply_patch"?(()=>{const i=e.metadata,c=i.input,l=f=>{const h=c[f];return typeof h=="string"?h:typeof h=="number"?String(h):null};return r.jsxs("div",{className:"border-b border-border/20 p-4 -mx-3",children:[r.jsx("div",{className:"typography-markdown font-medium text-muted-foreground mb-2 px-3",children:i.tool==="bash"?"Command:":i.tool==="task"?"Task Details:":"Input:"}),i.tool==="bash"&&l("command")?r.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 mx-3",children:r.jsx(A,{language:"bash",code:l("command"),style:D.getPopupStyles(),codeStyle:z.style,wrap:!0})}):i.tool==="task"&&l("prompt")?r.jsxs("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 font-mono whitespace-pre-wrap text-foreground/90 mx-3",style:D.getPopupStyles(),children:[l("description")?`Task: ${l("description")}
|
|
13
13
|
`:"",l("subagent_type")?`Agent Type: ${l("subagent_type")}
|
|
14
14
|
`:"",`Instructions:
|
|
15
|
-
${l("prompt")}`]}):i.tool==="write"&&l("content")?r.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 mx-3",children:r.jsx(
|
|
15
|
+
${l("prompt")}`]}):i.tool==="write"&&l("content")?r.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 mx-3",children:r.jsx(Q,{file:{name:l("filePath")||l("file_path")||"new-file",contents:l("content"),lang:Y(l("filePath")||l("file_path")||"")||void 0},options:{disableFileHeader:!0,overflow:"wrap",theme:d.theme,themeType:d.themeType},className:"block w-full"})}):r.jsx("div",{className:"tool-input-surface bg-transparent rounded-xl border border-border/20 font-mono whitespace-pre-wrap text-foreground/90 mx-3",style:D.getPopupStyles(),children:ue(c,i.tool)})]})})():null,e.isDiff?r.jsx(ie,{popup:e,diffViewMode:o,pierreThemeConfig:d}):e.content?r.jsx("div",{className:"p-4",children:(()=>{const i=e.metadata?.tool;return i==="todowrite"||i==="todoread"?fe(e.content,{total:"Total",inProgress:"In Progress",pending:"Pending",completed:"Completed",cancelled:"Cancelled"})||r.jsx(A,{language:"json",code:e.content,style:D.getPopupContainerStyles(),codeStyle:z.style,wrap:!0}):i==="list"?he(e.content)||r.jsx("pre",{className:"typography-markdown bg-muted/30 p-2 rounded-xl border border-border/20 font-mono whitespace-pre-wrap",children:e.content}):i==="grep"?ge(e.content,t)||r.jsx("pre",{className:"typography-code bg-muted/30 p-2 rounded-xl border border-border/20 font-mono whitespace-pre-wrap",children:e.content}):i==="glob"?pe(e.content,t)||r.jsx("pre",{className:"typography-code bg-muted/30 p-2 rounded-xl border border-border/20 font-mono whitespace-pre-wrap",children:e.content}):i==="task"||i==="reasoning"?r.jsx("div",{className:i==="reasoning"?"text-muted-foreground/70":"",children:r.jsx(X,{content:e.content,variant:"tool"})}):i==="web-search"||i==="websearch"||i==="search_web"?xe(e.content)||r.jsx(A,{language:"text",code:e.content,style:D.getPopupContainerStyles(),codeStyle:z.style,wrap:!0}):i==="read"?r.jsx(oe,{popup:e,pierreThemeConfig:d}):(e.content?we(e.content):{isJson:!1}).isJson?r.jsx(ve,{jsonString:e.content,initiallyExpandedDepth:3,maxHeight:"70vh"}):r.jsx(A,{language:e.language||"text",code:e.content,style:D.getPopupContainerStyles(),codeStyle:z.style,wrap:!0})})()}):r.jsxs("div",{className:"p-8 text-muted-foreground typography-ui-header",children:[r.jsx("div",{className:"mb-2",children:"Command completed successfully"}),r.jsx("div",{className:"typography-meta",children:"No output was produced"})]})]})})]})})};export{Kr as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{R as e,j as a}from"./vendor-react-DYyjh7Q0.js";import{P as f}from"./PatchDiff-
|
|
1
|
+
import{R as e,j as a}from"./vendor-react-DYyjh7Q0.js";import{P as f}from"./PatchDiff-CrIWbYj7.js";import{be as u,eG as T}from"./SessionSwitcherDropdown-DROjbyIu.js";import{ensurePierreThemeRegistered as d}from"./appThemeRegistry-BK0dHKa6.js";import{L as l}from"./index-BAqpUCjs.js";import"./vendor-scheduler-7OC5HNn7.js";import"./web-components-BEPfE4kU.js";import"./computeVirtualFileMetrics-C7vXPUYT.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-shiki-Bbf2GEcE.js";import"./vendor-shikijs-core-CGM_jqPK.js";import"./vendor-shikijs-types-CPSbSeK6.js";import"./vendor-shikijs-vscode-textmate-BgLrS_2D.js";import"./vendor-hast-util-to-html-BKBhbTDb.js";import"./vendor-html-void-elements-CkdplsNl.js";import"./vendor-property-information-rJCbAzvX.js";import"./vendor-zwitch-C2o2j-tx.js";import"./vendor-stringify-entities-CsH1VEn9.js";import"./vendor-character-entities-legacy-BpoLgcEt.js";import"./vendor-character-entities-html4-D7taRCQ7.js";import"./vendor-ccount-c2V3InAJ.js";import"./vendor-comma-separated-tokens-D8TqSuIK.js";import"./vendor-space-separated-tokens-DD3iYX1K.js";import"./vendor-hast-util-whitespace-D4Wp6AEg.js";import"./vendor-shikijs-engine-oniguruma-DPWuIF1G.js";import"./themeResolver-BmJyTmjJ.js";import"./vendor-pierre-theming-C6Z4M5_u.js";import"./vendor-shikijs-engine-javascript-Cme4830A.js";import"./vendor-oniguruma-to-es-DLBnFDCE.js";import"./vendor-oniguruma-parser-C0D4_9rT.js";import"./vendor-regex-BBWcyTkg.js";import"./vendor-regex-utilities-2BQyy0xI.js";import"./vendor-regex-recursion-JU4mF-dD.js";import"./vendor-shikijs-transformers-CZWsLLKm.js";import"./Virtualizer-BxW2CJGB.js";import"./VirtualizedFileDiff-CQz2fSZI.js";import"./isDiffPlainText-zTq-4A04.js";import"./vendor-diff-C3JhlQdm.js";import"./vendor-zustand-CnsBKjP5.js";import"./vendor-simplewebauthn-browser-VDA66rT_.js";import"./vendor-base-ui-DL8r2fgQ.js";import"./vendor-floating-ui-utils-BzXdqYpP.js";import"./vendor-floating-ui-react-dom-sVFnuruh.js";import"./vendor-floating-ui-dom-Bkw82kL9.js";import"./vendor-floating-ui-core-CXmKXOXc.js";import"./vendor-use-sync-external-store-B7OScDIw.js";import"./runtimeSurface-CkHYYg0E.js";import"./vendor-dnd-kit-core-GipZW2tY.js";import"./vendor-dnd-kit-utilities-CrOcp0Bp.js";import"./vendor-dnd-kit-accessibility-Cv52zwWT.js";import"./vendor-dnd-kit-sortable-Ct2QxIHb.js";import"./vendor-cmdk-BCEUzcHE.js";import"./vendor-radix-ui-react-dialog-jX3Dld8c.js";import"./vendor-radix-ui-primitive-Dc_FVRD7.js";import"./vendor-radix-ui-react-compose-refs-D1GnwnP9.js";import"./vendor-radix-ui-react-context-CM4yFQ2I.js";import"./vendor-radix-ui-react-id-BcxRjnbX.js";import"./vendor-radix-ui-react-use-layout-effect-0fyGwS2_.js";import"./vendor-radix-ui-react-use-controllable-state-C_ecoh35.js";import"./vendor-radix-ui-react-dismissable-layer-M7LsH3yL.js";import"./vendor-radix-ui-react-primitive-CfpW6_IT.js";import"./vendor-radix-ui-react-slot-BxUc3Pvz.js";import"./vendor-radix-ui-react-use-callback-ref-UKEWHtoP.js";import"./vendor-radix-ui-react-use-escape-keydown-Co13lHGj.js";import"./vendor-radix-ui-react-focus-scope-C2K7lNPv.js";import"./vendor-radix-ui-react-portal-xlJWBfDg.js";import"./vendor-radix-ui-react-presence-Btn-Dp7L.js";import"./vendor-radix-ui-react-focus-guards-D5MZ0nQs.js";import"./vendor-react-remove-scroll-CfeMe0DL.js";import"./vendor-tslib-De9GV7Vy.js";import"./vendor-react-remove-scroll-bar-C9YRs2nU.js";import"./vendor-react-style-singleton-B1H4bWSG.js";import"./vendor-get-nonce-C-Z93AgS.js";import"./vendor-use-sidecar-C-AuTczP.js";import"./vendor-use-callback-ref-CJB0R85I.js";import"./vendor-aria-hidden-DvXkyWUv.js";import"./vendor-codemirror-language-E2vgV9K3.js";import"./vendor-lezer-common-B3-cUCR_.js";import"./vendor-codemirror-state-CNWM3Q8V.js";import"./vendor-marijn-find-cluster-break-DXwl3gUT.js";import"./vendor-codemirror-view-DSzLbZiS.js";import"./vendor-style-mod-NZ5MEPvj.js";import"./vendor-w3c-keyname-Vcq4gwWv.js";import"./vendor-crelt-C8TCjufn.js";import"./vendor-lezer-highlight-CDMHUZ74.js";import"./vendor-codemirror-lang-javascript-BUlYhQ3o.js";import"./vendor-lezer-javascript-D7Tj24ot.js";import"./vendor-lezer-lr-bhwg1HMg.js";import"./vendor-codemirror-autocomplete-BS2SpSAZ.js";import"./vendor-codemirror-lang-json-CqayksDf.js";import"./vendor-lezer-json-Iaex0UN-.js";import"./vendor-codemirror-lang-css-Ba8JZ6fp.js";import"./vendor-lezer-css-C5xB6jxd.js";import"./vendor-codemirror-lang-html-DK27qQri.js";import"./vendor-lezer-html-C0I1p52t.js";import"./vendor-codemirror-lang-markdown-CvO36Y1p.js";import"./vendor-lezer-markdown-C6g-d6P3.js";import"./vendor-codemirror-language-data-x89A7Wy0.js";import"./vendor-codemirror-lang-python-_2bIYTiJ.js";import"./vendor-lezer-python-CvuFxeZl.js";import"./vendor-codemirror-commands-RrgJ8H_6.js";import"./vendor-class-variance-authority-5VPnzWs2.js";import"./vendor-clsx-B-dksMZM.js";import"./vendor-tanstack-react-virtual-IrbCBGJ4.js";import"./vendor-tanstack-virtual-core-Dubg10g5.js";import"./vendor-framer-motion-DJASDzNt.js";import"./vendor-motion-dom-DJLgZh4Q.js";import"./vendor-motion-utils-BGh8QBgx.js";import"./vendor-sonner-CW8w438f.js";import"./vendor-tailwind-merge-CPcsbTWB.js";import"./vendor-fuse.js-Dw8P0qyA.js";import"./registerCustomTheme-BBXUCRnG.js";const g=`
|
|
2
2
|
[data-diff-header],
|
|
3
3
|
[data-diff] {
|
|
4
4
|
[data-separator] {
|