@neuralnomads/codenomad-dev 0.20.0-dev-20260911-ea37f97b → 0.20.0-dev-20260917-aa51cbb9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/api-types.js.map +1 -1
- package/dist/opencode/automation-plugin.test.js +32 -38
- package/dist/opencode/automation-plugin.test.js.map +1 -1
- package/dist/opencode/compatibility/contract-fixture.js +15 -0
- package/dist/opencode/compatibility/contract-fixture.js.map +1 -0
- package/dist/opencode/compatibility/events.js +9 -0
- package/dist/opencode/compatibility/events.js.map +1 -0
- package/dist/opencode/compatibility/location.js +89 -0
- package/dist/opencode/compatibility/location.js.map +1 -0
- package/dist/opencode/compatibility/location.test.js +92 -0
- package/dist/opencode/compatibility/location.test.js.map +1 -0
- package/dist/opencode/compatibility/negotiate.js +73 -0
- package/dist/opencode/compatibility/negotiate.js.map +1 -0
- package/dist/opencode/compatibility/negotiate.test.js +61 -0
- package/dist/opencode/compatibility/negotiate.test.js.map +1 -0
- package/dist/opencode/compatibility/proxy-locations.js +137 -0
- package/dist/opencode/compatibility/proxy-locations.js.map +1 -0
- package/dist/opencode/compatibility/proxy-locations.test.js +42 -0
- package/dist/opencode/compatibility/proxy-locations.test.js.map +1 -0
- package/dist/opencode/compatibility/proxy.js +60 -0
- package/dist/opencode/compatibility/proxy.js.map +1 -0
- package/dist/opencode/compatibility/proxy.test.js +47 -0
- package/dist/opencode/compatibility/proxy.test.js.map +1 -0
- package/dist/opencode/compatibility/requests.js +54 -0
- package/dist/opencode/compatibility/requests.js.map +1 -0
- package/dist/opencode/compatibility/runtime.js +26 -0
- package/dist/opencode/compatibility/runtime.js.map +1 -0
- package/dist/opencode/compatibility/transport.js +112 -0
- package/dist/opencode/compatibility/transport.js.map +1 -0
- package/dist/opencode/compatibility/transport.test.js +83 -0
- package/dist/opencode/compatibility/transport.test.js.map +1 -0
- package/dist/opencode/session-pruning/location.js +16 -0
- package/dist/opencode/session-pruning/location.js.map +1 -0
- package/dist/opencode/session-pruning/package.test.js +37 -0
- package/dist/opencode/session-pruning/package.test.js.map +1 -0
- package/dist/opencode/session-pruning/plugin.js +5 -2
- package/dist/opencode/session-pruning/plugin.js.map +1 -1
- package/dist/opencode/session-pruning/preview-store.js +3 -2
- package/dist/opencode/session-pruning/preview-store.js.map +1 -1
- package/dist/opencode/session-pruning/pruning.test.js +7 -5
- package/dist/opencode/session-pruning/pruning.test.js.map +1 -1
- package/dist/opencode/session-pruning/service.js +5 -4
- package/dist/opencode/session-pruning/service.js.map +1 -1
- package/dist/opencode/session-pruning/service.test.js +65 -53
- package/dist/opencode/session-pruning/service.test.js.map +1 -1
- package/dist/permissions/opencode-replier.js +2 -2
- package/dist/permissions/opencode-replier.js.map +1 -1
- package/dist/permissions/opencode-replier.test.js +1 -1
- package/dist/permissions/opencode-replier.test.js.map +1 -1
- package/dist/permissions/opencode-yolo-metadata.js.map +1 -1
- package/dist/permissions/opencode-yolo-metadata.test.js.map +1 -1
- package/dist/plugins/session-pruning/plugin.mjs +422 -271
- package/dist/server/__tests__/instance-proxy-legacy.test.js +111 -0
- package/dist/server/__tests__/instance-proxy-legacy.test.js.map +1 -0
- package/dist/server/__tests__/instance-proxy.test.js +95 -34
- package/dist/server/__tests__/instance-proxy.test.js.map +1 -1
- package/dist/server/http-server.js +147 -237
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/routes/session-pruning.js +4 -2
- package/dist/server/routes/session-pruning.js.map +1 -1
- package/dist/server/routes/session-pruning.test.js +16 -2
- package/dist/server/routes/session-pruning.test.js.map +1 -1
- package/dist/server/routes/worktrees.js +1 -0
- package/dist/server/routes/worktrees.js.map +1 -1
- package/dist/server/routes/worktrees.test.js +54 -1
- package/dist/server/routes/worktrees.test.js.map +1 -1
- package/dist/workspaces/host-opencode-service.test.js +56 -7
- package/dist/workspaces/host-opencode-service.test.js.map +1 -1
- package/dist/workspaces/instance-client.js.map +1 -1
- package/dist/workspaces/instance-events.js +71 -57
- package/dist/workspaces/instance-events.js.map +1 -1
- package/dist/workspaces/instance-events.test.js +122 -9
- package/dist/workspaces/instance-events.test.js.map +1 -1
- package/dist/workspaces/manager.js +24 -39
- package/dist/workspaces/manager.js.map +1 -1
- package/dist/workspaces/manager.test.js +43 -7
- package/dist/workspaces/manager.test.js.map +1 -1
- package/dist/workspaces/opencode-cli-service.js +56 -29
- package/dist/workspaces/opencode-cli-service.js.map +1 -1
- package/dist/workspaces/opencode-connection-generation.test.js +57 -0
- package/dist/workspaces/opencode-connection-generation.test.js.map +1 -0
- package/dist/workspaces/opencode-service.js +70 -16
- package/dist/workspaces/opencode-service.js.map +1 -1
- package/dist/workspaces/opencode-service.test.js +3 -4
- package/dist/workspaces/opencode-service.test.js.map +1 -1
- package/dist/workspaces/worktree-session-evacuation.js +31 -11
- package/dist/workspaces/worktree-session-evacuation.js.map +1 -1
- package/dist/workspaces/worktree-session-evacuation.test.js +211 -0
- package/dist/workspaces/worktree-session-evacuation.test.js.map +1 -1
- package/dist/workspaces/wsl-opencode-service.test.js +64 -24
- package/dist/workspaces/wsl-opencode-service.test.js.map +1 -1
- package/package.json +3 -3
- package/public/assets/App-BROhwPo9.js +54 -0
- package/public/assets/App-BROhwPo9.js.map +1 -0
- package/public/assets/{FilesTab-CRpGDs1B.js → FilesTab-DY3Vr-3r.js} +3 -3
- package/public/assets/{FilesTab-CRpGDs1B.js.map → FilesTab-DY3Vr-3r.js.map} +1 -1
- package/public/assets/{GitChangesTab-DxFebTiq.js → GitChangesTab-BD6CJngE.js} +3 -3
- package/public/assets/{GitChangesTab-DxFebTiq.js.map → GitChangesTab-BD6CJngE.js.map} +1 -1
- package/public/assets/{SplitFilePanel-DgTMrrO-.js → SplitFilePanel-BdY6d_6m.js} +2 -2
- package/public/assets/{SplitFilePanel-DgTMrrO-.js.map → SplitFilePanel-BdY6d_6m.js.map} +1 -1
- package/public/assets/StatusTab-C-_2yaPa.js +2 -0
- package/public/assets/StatusTab-C-_2yaPa.js.map +1 -0
- package/public/assets/{align-justify-v_yPXSys.js → align-justify-DI8VTZ4G.js} +2 -2
- package/public/assets/{align-justify-v_yPXSys.js.map → align-justify-DI8VTZ4G.js.map} +1 -1
- package/public/assets/{bundle-full-HzL_Jtqk.js → bundle-full-D_M65Eb_.js} +2 -2
- package/public/assets/{bundle-full-HzL_Jtqk.js.map → bundle-full-D_M65Eb_.js.map} +1 -1
- package/public/assets/{client-state-CF-PJ0GG.js → client-state-CWCzCOz6.js} +2 -2
- package/public/assets/{client-state-CF-PJ0GG.js.map → client-state-CWCzCOz6.js.map} +1 -1
- package/public/assets/{diff-viewer-BFDQBDVy.js → diff-viewer-CGPsYEr3.js} +2 -2
- package/public/assets/{diff-viewer-BFDQBDVy.js.map → diff-viewer-CGPsYEr3.js.map} +1 -1
- package/public/assets/index-B8-lAqjr.js +2 -0
- package/public/assets/index-B8-lAqjr.js.map +1 -0
- package/public/assets/index-BeUewQym.js +2 -0
- package/public/assets/index-BeUewQym.js.map +1 -0
- package/public/assets/index-BxRFHpJd.js +2 -0
- package/public/assets/{index-D2UHSOG5.js.map → index-BxRFHpJd.js.map} +1 -1
- package/public/assets/index-Bzv1kU-S.js +2 -0
- package/public/assets/{index-CTKYD_VJ.js.map → index-Bzv1kU-S.js.map} +1 -1
- package/public/assets/index-C9tI4CRG.js +2 -0
- package/public/assets/index-C9tI4CRG.js.map +1 -0
- package/public/assets/index-CGYHFZ6F.js +2 -0
- package/public/assets/index-CGYHFZ6F.js.map +1 -0
- package/public/assets/{index-CHYmKl10.js → index-CMEAjBFp.js} +2 -2
- package/public/assets/index-CMEAjBFp.js.map +1 -0
- package/public/assets/index-Cazypvyc.js +2 -0
- package/public/assets/index-Cazypvyc.js.map +1 -0
- package/public/assets/index-CwqzofWP.js +2 -0
- package/public/assets/index-CwqzofWP.js.map +1 -0
- package/public/assets/index-Da9yOa6q.js +2 -0
- package/public/assets/index-Da9yOa6q.js.map +1 -0
- package/public/assets/{index-RK9gf0uk.js → index-Ddjkirek.js} +2 -2
- package/public/assets/{index-RK9gf0uk.js.map → index-Ddjkirek.js.map} +1 -1
- package/public/assets/index-HHgvEOAH.js +3 -0
- package/public/assets/index-HHgvEOAH.js.map +1 -0
- package/public/assets/index-MeFffHqb.css +1 -0
- package/public/assets/loading-CdhHiSED.css +1 -0
- package/public/assets/{loading-BSB82snY.js → loading-Gqh6NPUr.js} +2 -2
- package/public/assets/{loading-BSB82snY.js.map → loading-Gqh6NPUr.js.map} +1 -1
- package/public/assets/main-Cbx7KdTr.js +38 -0
- package/public/assets/main-Cbx7KdTr.js.map +1 -0
- package/public/assets/{markdown-DtidoL2Z.js → markdown-BWnjyvnX.js} +4 -4
- package/public/assets/{markdown-DtidoL2Z.js.map → markdown-BWnjyvnX.js.map} +1 -1
- package/public/assets/monaco-viewer-BEJIiZWL.js +27 -0
- package/public/assets/monaco-viewer-BEJIiZWL.js.map +1 -0
- package/public/assets/{startup-state-settings-card-BY741Rt0.js → startup-state-settings-card-C4E2Itop.js} +2 -2
- package/public/assets/{startup-state-settings-card-BY741Rt0.js.map → startup-state-settings-card-C4E2Itop.js.map} +1 -1
- package/public/assets/{terminal-square-BdC_jwm3.js → terminal-square-C3wutdV0.js} +2 -2
- package/public/assets/{terminal-square-BdC_jwm3.js.map → terminal-square-C3wutdV0.js.map} +1 -1
- package/public/assets/tool-call-DNsAQ_m4.js +60 -0
- package/public/assets/tool-call-DNsAQ_m4.js.map +1 -0
- package/public/assets/{unified-picker-C0eo1chJ.js → unified-picker-tB7y17Qz.js} +2 -2
- package/public/assets/unified-picker-tB7y17Qz.js.map +1 -0
- package/public/assets/{wrap-text-BuMtdvMx.js → wrap-text-CkBxzt04.js} +2 -2
- package/public/assets/{wrap-text-BuMtdvMx.js.map → wrap-text-CkBxzt04.js.map} +1 -1
- package/public/index.html +4 -4
- package/public/loading.html +5 -5
- package/public/sw.js +1 -1
- package/public/sw.js.map +1 -1
- package/public/assets/App-0-FcHzPS.js +0 -44
- package/public/assets/App-0-FcHzPS.js.map +0 -1
- package/public/assets/StatusTab-LKUA9cbH.js +0 -2
- package/public/assets/StatusTab-LKUA9cbH.js.map +0 -1
- package/public/assets/index-8iPlm2r0.js +0 -2
- package/public/assets/index-8iPlm2r0.js.map +0 -1
- package/public/assets/index-B185mC7m.js +0 -2
- package/public/assets/index-B185mC7m.js.map +0 -1
- package/public/assets/index-Bbj1xF8i.js +0 -2
- package/public/assets/index-Bbj1xF8i.js.map +0 -1
- package/public/assets/index-BsmFN3k1.js +0 -2
- package/public/assets/index-BsmFN3k1.js.map +0 -1
- package/public/assets/index-Bz_OQJYA.css +0 -1
- package/public/assets/index-C52CfqK3.js +0 -2
- package/public/assets/index-C52CfqK3.js.map +0 -1
- package/public/assets/index-CHYmKl10.js.map +0 -1
- package/public/assets/index-CTKYD_VJ.js +0 -2
- package/public/assets/index-D2UHSOG5.js +0 -2
- package/public/assets/index-DDoB_Z36.js +0 -2
- package/public/assets/index-DDoB_Z36.js.map +0 -1
- package/public/assets/index-DcwAtZw-.js +0 -3
- package/public/assets/index-DcwAtZw-.js.map +0 -1
- package/public/assets/index-DxUD3RYr.js +0 -2
- package/public/assets/index-DxUD3RYr.js.map +0 -1
- package/public/assets/loading-CmEVQgyj.css +0 -1
- package/public/assets/main-CZztwrfv.js +0 -48
- package/public/assets/main-CZztwrfv.js.map +0 -1
- package/public/assets/monaco-viewer-CpxDfB-6.js +0 -27
- package/public/assets/monaco-viewer-CpxDfB-6.js.map +0 -1
- package/public/assets/tool-call-DbtCsJ4x.js +0 -60
- package/public/assets/tool-call-DbtCsJ4x.js.map +0 -1
- package/public/assets/unified-picker-C0eo1chJ.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitFilePanel-
|
|
1
|
+
{"version":3,"file":"SplitFilePanel-BdY6d_6m.js","sources":["../../../components/instance/shell/right-panel/components/OverlayList.tsx","../../../components/instance/shell/right-panel/components/SplitFilePanel.tsx"],"sourcesContent":["import type { Component, JSX } from \"solid-js\"\n\ninterface OverlayListProps {\n ariaLabel: string\n children: JSX.Element\n}\n\nconst OverlayList: Component<OverlayListProps> = (props) => {\n return (\n <div class=\"file-list-overlay\" role=\"dialog\" aria-label={props.ariaLabel}>\n <div class=\"file-list-scroll\">{props.children}</div>\n </div>\n )\n}\n\nexport default OverlayList\n","import { Show, type Component, type JSX } from \"solid-js\"\n\nimport { useI18n } from \"../../../../../lib/i18n\"\nimport OverlayList from \"./OverlayList\"\n\ntype SplitFilePanelList = {\n panel: () => JSX.Element\n overlay: () => JSX.Element\n}\n\ninterface SplitFilePanelProps {\n header: JSX.Element\n list: SplitFilePanelList\n viewer: JSX.Element\n viewerActions?: JSX.Element\n\n listOpen: boolean\n onToggleList: () => void\n\n splitWidth: number\n onResizeMouseDown: (event: MouseEvent) => void\n onResizeTouchStart: (event: TouchEvent) => void\n\n isPhoneLayout: boolean\n overlayAriaLabel: string\n}\n\nconst SplitFilePanel: Component<SplitFilePanelProps> = (props) => {\n const { t } = useI18n()\n const viewer = () => (\n <div class=\"relative flex flex-1 min-h-0 min-w-0\">\n {props.viewer}\n <Show when={props.viewerActions}>\n <div class=\"absolute bottom-2 left-2 z-40 flex items-center gap-1\">{props.viewerActions}</div>\n </Show>\n </div>\n )\n\n return (\n <div class=\"files-tab-container\">\n <div class=\"files-tab-header\">\n <div class=\"files-tab-header-row\">\n <button type=\"button\" class=\"files-toggle-button\" onClick={props.onToggleList}>\n {props.listOpen ? t(\"instanceShell.filesShell.hideFiles\") : t(\"instanceShell.filesShell.showFiles\")}\n </button>\n\n {props.header}\n </div>\n </div>\n\n <div class=\"files-tab-body\">\n <Show\n when={!props.isPhoneLayout && props.listOpen}\n fallback={viewer()}\n >\n <div class=\"files-split\" style={{ \"--files-pane-width\": `${props.splitWidth}px` }}>\n <div class=\"file-list-panel\">\n <div class=\"file-list-scroll\">{props.list.panel()}</div>\n </div>\n <div\n class=\"file-split-handle\"\n role=\"separator\"\n aria-orientation=\"vertical\"\n aria-label={t(\"instanceShell.filesShell.resizeFiles\")}\n onMouseDown={props.onResizeMouseDown}\n onTouchStart={props.onResizeTouchStart}\n />\n {viewer()}\n </div>\n </Show>\n\n <Show when={props.isPhoneLayout}>\n <Show when={props.listOpen}>\n <OverlayList ariaLabel={props.overlayAriaLabel}>{props.list.overlay()}</OverlayList>\n </Show>\n </Show>\n </div>\n </div>\n )\n}\n\nexport default SplitFilePanel\n"],"names":["OverlayList","props","_el$","_tmpl$","_el$2","firstChild","_$insert","children","_$effect","_$setAttribute","ariaLabel","SplitFilePanel","t","useI18n","viewer","_tmpl$2","_$createComponent","Show","when","viewerActions","_el$3","_tmpl$4","_el$4","_el$5","_el$6","_el$7","nextSibling","_$addEventListener","onToggleList","_c$","_$memo","listOpen","header","isPhoneLayout","fallback","_el$8","_tmpl$3","_el$9","_el$0","_el$1","list","panel","onResizeTouchStart","onResizeMouseDown","_p$","_v$","splitWidth","_v$2","e","_$setStyleProperty","undefined","overlayAriaLabel","overlay","_$delegateEvents"],"mappings":"mRAOA,MAAMA,EAA4CC,IAChD,IAAA,CAAA,IAAAC,EAAAC,EAAAA,EAAAC,EAAAF,EAAAG,WAAAC,OAAAA,EAAAF,EAAA,IAEmCH,EAAMM,QAAQ,EAAAC,MAAAC,EAAAP,EAAA,aADUD,EAAMS,SAAS,CAAA,EAAAR,CAAA,GAAA,mfCkB5E,MAAMS,EAAkDV,GAAU,CAChE,KAAM,CAAEW,CAAAA,EAAMC,EAAAA,EACRC,EAASA,KAAA,IAAA,CAAA,IAAAZ,EAAAa,EAAAA,EAAAT,OAAAA,EAAAJ,EAAA,IAEVD,EAAMa,OAAM,IAAA,EAAAR,EAAAJ,EAAAc,EACZC,EAAI,CAAA,IAACC,MAAI,CAAA,OAAEjB,EAAMkB,aAAa,EAAA,IAAAZ,UAAA,CAAA,IAAAH,EAAAD,EAAAA,EAAAG,OAAAA,EAAAF,EAAA,IACuCH,EAAMkB,aAAa,EAAAf,CAAA,CAAA,CAAA,EAAA,IAAA,EAAAF,CAAA,GAAA,EAK7F,OAAA,IAAA,CAAA,IAAAkB,EAAAC,EAAAA,EAAAC,EAAAF,EAAAf,WAAAkB,EAAAD,EAAAjB,WAAAmB,EAAAD,EAAAlB,WAAAoB,EAAAH,EAAAI,YAAAC,OAAAA,EAAAH,EAAA,QAImEvB,EAAM2B,aAAY,EAAA,EAAAtB,EAAAkB,GAAA,IAAA,CAAA,IAAAK,EAAAC,EAAA,IAAA,CAAA,CAC1E7B,EAAM8B,QAAQ,EAAA,MAAA,IAAdF,EAAAA,EAAiBjB,EAAE,oCAAoC,EAAIA,EAAE,oCAAoC,CAAC,IAAA,EAAAN,EAAAiB,EAAA,IAGpGtB,EAAM+B,OAAM,IAAA,EAAA1B,EAAAmB,EAAAT,EAKdC,EAAI,CAAA,IACHC,MAAI,CAAA,OAAEY,OAAC7B,EAAMgC,aAAa,EAAA,GAAIhC,EAAM8B,QAAQ,EAAA,IAC5CG,UAAQ,CAAA,OAAEpB,EAAAA,CAAQ,EAAA,IAAAP,UAAA,CAAA,IAAA4B,EAAAC,IAAAC,EAAAF,EAAA9B,WAAAiC,EAAAD,EAAAhC,WAAAkC,EAAAF,EAAAX,YAAApB,OAAAA,EAAAgC,EAAA,IAIiBrC,EAAMuC,KAAKC,OAAO,EAAAd,EAAAY,EAAA,aAQnCtC,EAAMyC,mBAAkB,EAAA,EAAAf,EAAAY,EAAA,YADzBtC,EAAM0C,kBAAiB,EAAA,EAAArC,EAAA6B,EAGrCrB,EAAM,IAAA,EAAAN,EAAAoC,GAAA,CAAA,IAAAC,EAZ+C,GAAG5C,EAAM6C,UAAU,KAAIC,EAQ/DnC,EAAE,sCAAsC,EAACiC,OAAAA,IAAAD,EAAAI,GAAAC,EAAAd,EAAA,qBAAAS,EAAAI,EAAAH,CAAA,EAAAE,IAAAH,EAAAhC,GAAAH,EAAA8B,EAAA,aAAAK,EAAAhC,EAAAmC,CAAA,EAAAH,CAAA,EAAA,CAAAI,EAAAE,OAAAtC,EAAAsC,MAAAA,CAAA,EAAAf,CAAA,CAAA,CAAA,EAAA,IAAA,EAAA7B,EAAAmB,EAAAT,EAQ1DC,EAAI,CAAA,IAACC,MAAI,CAAA,OAAEjB,EAAMgC,aAAa,EAAA,IAAA1B,UAAA,CAAA,OAAAS,EAC5BC,EAAI,CAAA,IAACC,MAAI,CAAA,OAAEjB,EAAM8B,QAAQ,EAAA,IAAAxB,UAAA,CAAA,OAAAS,EACvBhB,EAAW,CAAA,IAACU,WAAS,CAAA,OAAET,EAAMkD,gBAAgB,EAAA,IAAA5C,UAAA,CAAA,OAAGN,EAAMuC,KAAKY,QAAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAAhC,CAAA,GAAA,CAMjF,EAE6BiC,EAAA,CAAA,QAAA,YAAA,YAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{m as te,P as at,j as Fe,t as _,i as p,a as Le,f as Oe,d as Z,v as lt,E as He,R as ct,e as Ne,u as dt}from"./monaco-viewer-BEJIiZWL.js";import{k as d,p as R,t as pe,s as N,e as M,d as L,o as H,c as D,l as fe,S as O,m as he,n as ut,x as we,a as ne,F as Se,u as gt}from"./git-diff-vendor-ChbWBukG.js";import{s as pt,t as ft,v as oe,w as ht,x as mt,y as vt,z as bt,D as xt,B as yt,E as wt,H as St,I as Me,J as Ct,T as $t,K as kt}from"./App-BROhwPo9.js";import{I as Be,a_ as Ke,au as V,aJ as je,aT as ze,av as Ce,eL as It,aN as be,aG as ge,aH as me,aQ as Ve,aA as ae,aE as le,aR as _t,aS as $e,aY as Tt,eM as Pt,aK as j,aZ as ke,aB as Dt,aU as Ot,aO as Mt,aD as z,aC as At,dx as Et,eN as Rt,eO as Ut,eP as xe,dq as Ft,D as re,C as Lt,eQ as Ht,T as Nt,eR as Bt,dz as Kt,V as jt,a as zt}from"./main-Cbx7KdTr.js";import{u as Ie}from"./index-HHgvEOAH.js";import{T as Vt}from"./terminal-square-C3wutdV0.js";import"./fast-diff-vendor-DgdwVvTQ.js";import"./highlight-vendor-8FKMu9os.js";import"./client-state-CWCzCOz6.js";const Wt=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],qt=e=>d(Be,R(e,{name:"GripVertical",iconNode:Wt})),Xt=[["polygon",{points:"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2",key:"h1p8hx"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],Yt=e=>d(Be,R(e,{name:"XOctagon",iconNode:Xt}));var Gt={};ke(Gt,{Arrow:()=>Ke,Content:()=>qe,Portal:()=>Xe,Root:()=>Ye,Tooltip:()=>ie,Trigger:()=>Ge,useTooltipContext:()=>ve});var We=fe();function ve(){const e=he(We);if(e===void 0)throw new Error("[kobalte]: `useTooltipContext` must be used within a `Tooltip` component");return e}function qe(e){const s=ve(),r=V({id:s.generateId("content")},e),[a,t]=N(r,["ref","style"]);return L(()=>H(s.registerContentId(t.id))),d(O,{get when(){return s.contentPresent()},get children(){return d(Ve.Positioner,{get children(){return d(_t,R({ref(o){var c=ae(u=>{s.setContentRef(u)},a.ref);typeof c=="function"&&c(o)},role:"tooltip",disableOutsidePointerEvents:!1,get style(){return $e({"--kb-tooltip-content-transform-origin":"var(--kb-popper-content-transform-origin)",position:"relative"},a.style)},onFocusOutside:o=>o.preventDefault(),onDismiss:()=>s.hideTooltip(!0)},()=>s.dataset(),t))}})}})}function Xe(e){const s=ve();return d(O,{get when(){return s.contentPresent()},get children(){return d(at,e)}})}function Jt(e,s,r){const a=e.split("-")[0],t=s.getBoundingClientRect(),o=r.getBoundingClientRect(),c=[],u=t.left+t.width/2,v=t.top+t.height/2;switch(a){case"top":c.push([t.left,v]),c.push([o.left,o.bottom]),c.push([o.left,o.top]),c.push([o.right,o.top]),c.push([o.right,o.bottom]),c.push([t.right,v]);break;case"right":c.push([u,t.top]),c.push([o.left,o.top]),c.push([o.right,o.top]),c.push([o.right,o.bottom]),c.push([o.left,o.bottom]),c.push([u,t.bottom]);break;case"bottom":c.push([t.left,v]),c.push([o.left,o.top]),c.push([o.left,o.bottom]),c.push([o.right,o.bottom]),c.push([o.right,o.top]),c.push([t.right,v]);break;case"left":c.push([u,t.top]),c.push([o.right,o.top]),c.push([o.left,o.top]),c.push([o.left,o.bottom]),c.push([o.right,o.bottom]),c.push([u,t.bottom]);break}return c}var X={},Qt=0,Y=!1,K,se,G;function Ye(e){const s=`tooltip-${pe()}`,r=`${++Qt}`,a=V({id:s,openDelay:700,closeDelay:300,skipDelayDuration:300},e),[t,o]=N(a,["id","open","defaultOpen","onOpenChange","disabled","triggerOnFocusOnly","openDelay","closeDelay","skipDelayDuration","ignoreSafeArea","forceMount"]);let c;const[u,v]=M(),[b,S]=M(),[C,m]=M(),[f,h]=M(o.placement),l=je({open:()=>t.open,defaultOpen:()=>t.defaultOpen,onOpenChange:k=>{var A;return(A=t.onOpenChange)==null?void 0:A.call(t,k)}}),{present:i}=ze({show:()=>t.forceMount||l.isOpen(),element:()=>C()??null}),n=()=>{X[r]=x},g=()=>{for(const k in X)k!==r&&(X[k](!0),delete X[k])},x=(k=!1)=>{k||t.closeDelay&&t.closeDelay<=0?(window.clearTimeout(c),c=void 0,l.close()):c||(c=window.setTimeout(()=>{c=void 0,l.close()},t.closeDelay)),window.clearTimeout(K),K=void 0,t.skipDelayDuration&&t.skipDelayDuration>=0&&(G=window.setTimeout(()=>{window.clearTimeout(G),G=void 0},t.skipDelayDuration)),Y&&(window.clearTimeout(se),se=window.setTimeout(()=>{delete X[r],se=void 0,Y=!1},t.closeDelay))},$=()=>{clearTimeout(c),c=void 0,g(),n(),Y=!0,l.open(),window.clearTimeout(K),K=void 0,window.clearTimeout(se),se=void 0,window.clearTimeout(G),G=void 0},w=()=>{g(),n(),!l.isOpen()&&!K&&!Y?K=window.setTimeout(()=>{K=void 0,Y=!0,$()},t.openDelay):l.isOpen()||$()},I=(k=!1)=>{!k&&t.openDelay&&t.openDelay>0&&!c&&!G?w():$()},U=()=>{window.clearTimeout(K),K=void 0,Y=!1},B=()=>{window.clearTimeout(c),c=void 0},F=k=>be(b(),k)||be(C(),k),W=k=>{const A=b(),E=C();if(!(!A||!E))return Jt(k,A,E)},P=k=>{const A=k.target;if(F(A)){B();return}if(!t.ignoreSafeArea){const E=W(f());if(E&&Tt(Pt(k),E)){B();return}}c||x()};L(()=>{if(!l.isOpen())return;const k=Ce();k.addEventListener("pointermove",P,!0),H(()=>{k.removeEventListener("pointermove",P,!0)})}),L(()=>{const k=b();if(!k||!l.isOpen())return;const A=q=>{const it=q.target;be(it,k)&&x(!0)},E=It();E.addEventListener("scroll",A,{capture:!0}),H(()=>{E.removeEventListener("scroll",A,{capture:!0})})}),H(()=>{clearTimeout(c),X[r]&&delete X[r]});const y={dataset:D(()=>({"data-expanded":l.isOpen()?"":void 0,"data-closed":l.isOpen()?void 0:""})),isOpen:l.isOpen,isDisabled:()=>t.disabled??!1,triggerOnFocusOnly:()=>t.triggerOnFocusOnly??!1,contentId:u,contentPresent:i,openTooltip:I,hideTooltip:x,cancelOpening:U,generateId:me(()=>a.id),registerContentId:ge(v),isTargetOnTooltip:F,setTriggerRef:S,setContentRef:m};return d(We.Provider,{value:y,get children(){return d(Ve,R({anchorRef:b,contentRef:C,onCurrentPlacementChange:h},o))}})}function Ge(e){let s;const r=ve(),[a,t]=N(e,["ref","onPointerEnter","onPointerLeave","onPointerDown","onClick","onFocus","onBlur"]);let o=!1,c=!1,u=!1;const v=()=>{o=!1},b=()=>{!r.isOpen()&&(c||u)&&r.openTooltip(u)},S=n=>{r.isOpen()&&!c&&!u&&r.hideTooltip(n)},C=n=>{j(n,a.onPointerEnter),!(n.pointerType==="touch"||r.triggerOnFocusOnly()||r.isDisabled()||n.defaultPrevented)&&(c=!0,b())},m=n=>{j(n,a.onPointerLeave),n.pointerType!=="touch"&&(c=!1,u=!1,r.isOpen()?S():r.cancelOpening())},f=n=>{j(n,a.onPointerDown),o=!0,Ce(s).addEventListener("pointerup",v,{once:!0})},h=n=>{j(n,a.onClick),c=!1,u=!1,S(!0)},l=n=>{j(n,a.onFocus),!(r.isDisabled()||n.defaultPrevented||o)&&(u=!0,b())},i=n=>{j(n,a.onBlur);const g=n.relatedTarget;r.isTargetOnTooltip(g)||(c=!1,u=!1,S(!0))};return H(()=>{Ce(s).removeEventListener("pointerup",v)}),d(le,R({as:"button",ref(n){var g=ae(x=>{r.setTriggerRef(x),s=x},a.ref);typeof g=="function"&&g(n)},get"aria-describedby"(){return te(()=>!!r.isOpen())()?r.contentId():void 0},onPointerEnter:C,onPointerLeave:m,onPointerDown:f,onClick:h,onFocus:l,onBlur:i},()=>r.dataset(),t))}var ie=Object.assign(Ye,{Arrow:Ke,Content:qe,Portal:Xe,Trigger:Ge}),Zt={};ke(Zt,{Collapsible:()=>en,Content:()=>_e,Root:()=>Te,Trigger:()=>Pe,useCollapsibleContext:()=>ce});var Je=fe();function ce(){const e=he(Je);if(e===void 0)throw new Error("[kobalte]: `useCollapsibleContext` must be used within a `Collapsible.Root` component");return e}function _e(e){const[s,r]=M(),a=ce(),t=V({id:a.generateId("content")},e),[o,c]=N(t,["ref","id","style"]),{present:u}=ze({show:a.shouldMount,element:()=>s()??null}),[v,b]=M(0),[S,C]=M(0);let f=a.isOpen()||u();return ut(()=>{const h=requestAnimationFrame(()=>{f=!1});H(()=>{cancelAnimationFrame(h)})}),L(we(u,()=>{if(!s())return;s().style.transitionDuration="0s",s().style.animationName="none";const h=s().getBoundingClientRect();b(h.height),C(h.width),f||(s().style.transitionDuration="",s().style.animationName="")})),L(we(a.isOpen,h=>{!h&&s()&&(s().style.transitionDuration="",s().style.animationName="")},{defer:!0})),L(()=>H(a.registerContentId(o.id))),d(O,{get when(){return u()},get children(){return d(le,R({as:"div",ref(h){var l=ae(r,o.ref);typeof l=="function"&&l(h)},get id(){return o.id},get style(){return $e({"--kb-collapsible-content-height":v()?`${v()}px`:void 0,"--kb-collapsible-content-width":S()?`${S()}px`:void 0},o.style)}},()=>a.dataset(),c))}})}function Te(e){const s=`collapsible-${pe()}`,r=V({id:s},e),[a,t]=N(r,["open","defaultOpen","onOpenChange","disabled","forceMount"]),[o,c]=M(),u=je({open:()=>a.open,defaultOpen:()=>a.defaultOpen,onOpenChange:S=>{var C;return(C=a.onOpenChange)==null?void 0:C.call(a,S)}}),v=D(()=>({"data-expanded":u.isOpen()?"":void 0,"data-closed":u.isOpen()?void 0:"","data-disabled":a.disabled?"":void 0})),b={dataset:v,isOpen:u.isOpen,disabled:()=>a.disabled??!1,shouldMount:()=>a.forceMount||u.isOpen(),contentId:o,toggle:u.toggle,generateId:me(()=>t.id),registerContentId:ge(c)};return d(Je.Provider,{value:b,get children(){return d(le,R({as:"div"},v,t))}})}function Pe(e){const s=ce(),[r,a]=N(e,["onClick"]);return d(Dt,R({get"aria-expanded"(){return s.isOpen()},get"aria-controls"(){return te(()=>!!s.isOpen())()?s.contentId():void 0},get disabled(){return s.disabled()},onClick:o=>{j(o,r.onClick),s.toggle()}},()=>s.dataset(),a))}var en=Object.assign(Te,{Content:_e,Trigger:Pe}),Q={};ke(Q,{Accordion:()=>tn,Content:()=>et,Header:()=>tt,Item:()=>ot,Root:()=>rt,Trigger:()=>st,useAccordionContext:()=>De});var Qe=fe();function Ze(){const e=he(Qe);if(e===void 0)throw new Error("[kobalte]: `useAccordionItemContext` must be used within a `Accordion.Item` component");return e}function et(e){const s=Ze(),r=s.generateId("content"),a=V({id:r},e),[t,o]=N(a,["id","style"]);return L(()=>H(s.registerContentId(t.id))),d(_e,R({role:"region",get"aria-labelledby"(){return s.triggerId()},get style(){return $e({"--kb-accordion-content-height":"var(--kb-collapsible-content-height)","--kb-accordion-content-width":"var(--kb-collapsible-content-width)"},t.style)}},o))}function tt(e){const s=ce();return d(le,R({as:"h3"},()=>s.dataset(),e))}var nt=fe();function De(){const e=he(nt);if(e===void 0)throw new Error("[kobalte]: `useAccordionContext` must be used within a `Accordion.Root` component");return e}function ot(e){const s=De(),r=`${s.generateId("item")}-${pe()}`,a=V({id:r},e),[t,o]=N(a,["value","disabled"]),[c,u]=M(),[v,b]=M(),S=()=>s.listState().selectionManager(),C=()=>S().isSelected(t.value),m={value:()=>t.value,triggerId:c,contentId:v,generateId:me(()=>o.id),registerTriggerId:ge(u),registerContentId:ge(b)};return d(Qe.Provider,{value:m,get children(){return d(Te,R({get open(){return C()},get disabled(){return t.disabled}},o))}})}function rt(e){let s;const r=`accordion-${pe()}`,a=V({id:r,multiple:!1,collapsible:!1,shouldFocusWrap:!0},e),[t,o]=N(a,["id","ref","value","defaultValue","onChange","multiple","collapsible","shouldFocusWrap","onKeyDown","onMouseDown","onFocusIn","onFocusOut"]),[c,u]=M([]),{DomCollectionProvider:v}=pt({items:c,onItemsChange:u}),b=Ot({selectedKeys:()=>t.value,defaultSelectedKeys:()=>t.defaultValue,onSelectionChange:m=>{var f;return(f=t.onChange)==null?void 0:f.call(t,Array.from(m))},disallowEmptySelection:()=>!t.multiple&&!t.collapsible,selectionMode:()=>t.multiple?"multiple":"single",dataSource:c});b.selectionManager().setFocusedKey("item-1");const S=Mt({selectionManager:()=>b.selectionManager(),collection:()=>b.collection(),disallowEmptySelection:()=>b.selectionManager().disallowEmptySelection(),shouldFocusWrap:()=>t.shouldFocusWrap,disallowTypeAhead:!0,allowsTabNavigation:!0},()=>s),C={listState:()=>b,generateId:me(()=>t.id)};return d(v,{get children(){return d(nt.Provider,{value:C,get children(){return d(le,R({as:"div",get id(){return t.id},ref(m){var f=ae(h=>s=h,t.ref);typeof f=="function"&&f(m)},get onKeyDown(){return z([t.onKeyDown,S.onKeyDown])},get onMouseDown(){return z([t.onMouseDown,S.onMouseDown])},get onFocusIn(){return z([t.onFocusIn])},get onFocusOut(){return z([t.onFocusOut,S.onFocusOut])}},o))}})}})}function st(e){let s;const r=De(),a=Ze(),t=ce(),o=a.generateId("trigger"),c=V({id:o},e),[u,v]=N(c,["ref","onPointerDown","onPointerUp","onClick","onKeyDown","onMouseDown","onFocus"]);ft({getItem:()=>({ref:()=>s,type:"item",key:a.value(),textValue:"",disabled:t.disabled()})});const b=At({key:()=>a.value(),selectionManager:()=>r.listState().selectionManager(),disabled:()=>t.disabled(),shouldSelectOnPressUp:!0},()=>s),S=C=>{["Enter"," "].includes(C.key)&&C.preventDefault(),j(C,u.onKeyDown),j(C,b.onKeyDown)};return L(()=>H(a.registerTriggerId(v.id))),d(Pe,R({ref(C){var m=ae(f=>s=f,u.ref);typeof m=="function"&&m(C)},get"data-key"(){return b.dataKey()},get onPointerDown(){return z([u.onPointerDown,b.onPointerDown])},get onPointerUp(){return z([u.onPointerUp,b.onPointerUp])},get onClick(){return z([u.onClick,b.onClick])},onKeyDown:S,get onMouseDown(){return z([u.onMouseDown,b.onMouseDown])},get onFocus(){return z([u.onFocus,b.onFocus])}},v))}var tn=Object.assign(rt,{Content:et,Header:tt,Item:ot,Trigger:st}),de=_('<div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary">'),nn=_('<div><div class="flex flex-wrap items-center gap-2 text-xs text-primary opacity-50"><div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary"></span></div><div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary"></span></div><div class="badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary"><span class="uppercase text-[10px] tracking-wide text-muted"></span><span class="font-semibold text-primary">');const on=e=>{const{t:s}=Ie(),{preferences:r}=Fe(),a=D(()=>r().showUsageMetrics??!0),t=D(()=>Et(e.instanceId,e.sessionId)??{cost:0,contextWindow:0,isSubscriptionModel:!1,inputTokens:0,outputTokens:0,reasoningTokens:0,actualUsageTokens:0,modelOutputLimit:0,contextAvailableTokens:null}),o=D(()=>Rt(e.instanceId,e.sessionId)),c=D(()=>o().length>0),u=D(()=>c()?Ut(e.instanceId,e.sessionId)??{cost:0,inputTokens:0,outputTokens:0,reasoningTokens:0}:{cost:0,inputTokens:0,outputTokens:0,reasoningTokens:0}),v=D(()=>`$${u().cost.toFixed(2)}`),b=D(()=>u().inputTokens),S=D(()=>u().outputTokens),C=D(()=>u().reasoningTokens),m=D(()=>t().inputTokens??0),f=D(()=>t().outputTokens??0),h=D(()=>{const i=t().isSubscriptionModel?0:t().cost;return i>0?i:0}),l=D(()=>t().isSubscriptionModel?s("contextUsagePanel.included"):`$${h().toFixed(2)}`);return(()=>{var i=nn(),n=i.firstChild,g=n.firstChild,x=g.firstChild,$=x.nextSibling,w=g.nextSibling,I=w.firstChild,U=I.nextSibling,B=w.nextSibling,F=B.firstChild,W=F.nextSibling;return p(x,()=>s("contextUsagePanel.labels.input")),p($,()=>oe(m())),p(I,()=>s("contextUsagePanel.labels.output")),p(U,()=>oe(f())),p(F,()=>s("contextUsagePanel.labels.cost")),p(W,l),p(n,d(O,{get when(){return te(()=>!!c())()&&a()},get children(){return[(()=>{var P=de(),T=P.firstChild,y=T.nextSibling;return p(T,()=>s("contextUsagePanel.labels.totalInput")),p(y,()=>oe(b())),P})(),(()=>{var P=de(),T=P.firstChild,y=T.nextSibling;return p(T,()=>s("contextUsagePanel.labels.totalOutput")),p(y,()=>oe(S())),P})(),(()=>{var P=de(),T=P.firstChild,y=T.nextSibling;return p(T,()=>s("contextUsagePanel.labels.totalCost")),p(y,v),P})(),(()=>{var P=de(),T=P.firstChild,y=T.nextSibling;return p(T,()=>s("contextUsagePanel.labels.totalReasoning")),p(y,()=>oe(C())),P})()]}}),null),ne(()=>Le(i,`session-context-panel px-4 py-2 ${e.class??""}`)),i})()};var rn=_('<div class="mt-2 truncate text-right text-sm font-semibold text-secondary">'),sn=_("<div>"),ye=_("<div class=right-panel-empty-text>"),an=_("<div class=space-y-2>"),ln=_('<div class="h-2 overflow-hidden border border-base"style=background-color:var(--surface-base)><div class="h-full transition-[width] duration-300"role=progressbar aria-valuemin=0 aria-valuemax=100>'),cn=_('<div><div class="mb-1 flex items-baseline justify-between gap-2 text-[11px] text-primary"><span class=font-medium></span><div class="flex min-w-0 items-baseline gap-1.5 text-right"><span class="shrink-0 font-medium">'),dn=_("<span class=text-tertiary aria-hidden=true>·"),un=_('<span class="truncate text-[10px] text-tertiary">');const Ae=6e4,ue=new Map,gn=(e,s)=>e!=="credits_balance"||s,pn=e=>{var i;const{t:s}=Ie(),{preferences:r}=Fe(),a=D(()=>{const n=e.providerId.trim();if(!n)return null;const g=e.modelId.trim();return{providerId:n,modelId:g,key:`${n}\0${g}`}}),t=a(),[o,c]=M(t?(i=ue.get(t.key))==null?void 0:i.value:void 0);let u=0;const v=async(n,g,x,$)=>{const w=++u;$&&c(void 0);try{const I=await lt.fetchProviderUsage(n,g);ue.set(x,{value:I,updatedAt:Date.now()}),w===u&&c(I)}catch{w===u&&o()===void 0&&(ue.set(x,{value:null,updatedAt:Date.now()}),c(null))}};L(()=>{const n=a();if(!n){u+=1,c(void 0);return}const g=ue.get(n.key);c(g==null?void 0:g.value),(!g||Date.now()-g.updatedAt>=Ae)&&v(n.providerId,n.modelId,n.key,g===void 0)});const b=setInterval(()=>{const n=a();n&&v(n.providerId,n.modelId,n.key,!1)},Ae);H(()=>{u+=1,clearInterval(b)});const S=D(()=>{var n;return Object.entries(((n=o())==null?void 0:n.windows)??{})}),C=D(()=>S().filter(([n])=>gn(n,r().showProviderUsageCreditBalance))),m=n=>{const g={"5h":"fiveHours","7d":"sevenDays","7d-sonnet":"sevenDaysSonnet","7d-opus":"sevenDaysOpus",weekly:"weekly",daily:"daily",monthly:"monthly",credits:"credits",credits_balance:"credits",billing_cycle:"billingCycle",session:"session",premium:"premium",chat:"chat",completions:"completions","mcp-tools":"mcpTools"}[n];return g?s(`providerUsage.windows.${g}`):n},f=n=>n.valueLabel?n.valueLabel:n.usedPercent===null?s("providerUsage.unavailableValue"):s("providerUsage.usedPercent",{percent:Math.round(n.usedPercent)}),h=n=>{if(!n)return null;const g=new Date(n);return Number.isFinite(g.getTime())?s("providerUsage.resets",{time:g.toLocaleString([],{dateStyle:"short",timeStyle:"short"})}):null},l=n=>n!==null&&n>=80?"var(--status-error)":n!==null&&n>=50?"var(--status-warning)":"var(--status-success)";return(()=>{var n=sn();return p(n,d(O,{get when(){return o()!==void 0},get fallback(){return(()=>{var g=ye();return p(g,()=>s("providerUsage.loading")),g})()},get children(){return d(O,{get when(){return o()},get fallback(){return(()=>{var g=ye();return p(g,()=>s("providerUsage.unavailable")),g})()},children:g=>d(O,{get when(){return te(()=>!!(g().supported&&g().configured&&g().ok))()&&S().length>0},get fallback(){return(()=>{var x=ye();return p(x,()=>s(g().supported?g().configured?"providerUsage.unavailable":"providerUsage.notConfigured":"providerUsage.unsupported")),x})()},get children(){var x=an();return p(x,d(Se,{get each(){return C()},children:([$,w])=>(()=>{var I=cn(),U=I.firstChild,B=U.firstChild,F=B.nextSibling,W=F.firstChild;return p(B,()=>m($)),p(W,()=>f(w)),p(F,d(O,{get when(){return h(w.resetAt)},children:P=>[dn(),(()=>{var T=un();return p(T,P),T})()]}),null),p(I,d(O,{get when(){return w.usedPercent!==null},get children(){var P=ln(),T=P.firstChild;return ne(y=>{var k=`${Math.max(0,Math.min(100,w.usedPercent??0))}%`,A=l(w.usedPercent),E=s("providerUsage.progressLabel",{window:m($)}),q=Math.round(w.usedPercent??0);return k!==y.e&&Oe(T,"width",y.e=k),A!==y.t&&Oe(T,"background-color",y.t=A),E!==y.a&&Z(T,"aria-label",y.a=E),q!==y.o&&Z(T,"aria-valuenow",y.o=q),y},{e:void 0,t:void 0,a:void 0,o:void 0}),P}}),null),I})()})),x}})})}}),null),p(n,d(O,{get when(){return te(()=>{var g,x,$;return!!((g=o())!=null&&g.supported&&((x=o())!=null&&x.configured)&&(($=o())!=null&&$.ok))})()&&S().length>0},get children(){var g=rn();return p(g,()=>{var x;return((x=o())==null?void 0:x.providerName)??e.providerId}),g}}),null),n})()},Ee=4*1024*1024;function fn(e,s){const r=e+s;if(r.length<=Ee)return{output:r,truncated:!1};let a=r.length-Ee;r.charCodeAt(a)>=56320&&r.charCodeAt(a)<=57343&&(a+=1),r[a]==="\x1B"&&r[a+1]==="\\"?a+=2:r[a]==="\\"&&r[a-1]==="\x1B"&&(a+=1);const t=r.lastIndexOf("\x1B",a);if(t>=0){let o=-1,c=!1;if(r[t+1]==="["){c=!0;for(let u=t+2;u<r.length;u+=1){const v=r.charCodeAt(u);if(v===24||v===26){o=u+1;break}if(v>=64&&v<=126){o=u+1;break}}}else if(r[t+1]==="]"){c=!0;const u=r.indexOf("\x07",t+2),v=r.indexOf("\x1B\\",t+2),b=r.slice(t+2).search(/[\u0018\u001a]/),S=[u<0?1/0:u+1,v<0?1/0:v+2,b<0?1/0:t+3+b];o=Math.min(...S),Number.isFinite(o)||(o=-1)}else if(["P","X","^","_"].includes(r[t+1]??"")){c=!0;const u=r.indexOf("\x1B\\",t+2),v=r.slice(t+2).search(/[\u0018\u001a]/);o=Math.min(u<0?1/0:u+2,v<0?1/0:t+3+v),Number.isFinite(o)||(o=-1)}c&&o>=a?a=o:c&&o<0&&t<a&&(a=r.length)}return{output:r.slice(a),truncated:!0}}const Re={items:[],loading:!1,failed:!1},hn=new Set(["shell.created","shell.exited","shell.deleted","server.connected"]);function mn(e){const s=r=>({directory:r});return{list:async(r,a)=>(await e.shell.list({location:s(r)},xe({directory:r,workspaceID:a}))).data,remove:(r,a,t)=>e.shell.remove({id:a,location:s(r)},xe({directory:r,workspaceID:t})),output:async(r,a,t=0,o)=>(await e.shell.output({id:a,location:s(r),cursor:t,limit:1024*1024},xe({directory:r,workspaceID:o}))).data}}function vn(e){const[s,r]=M(new Map),a=new Map,t=(m,f,h)=>JSON.stringify([m,f,h]),o=(m,f)=>r(h=>new Map(h).set(m,f)),c=m=>gt(()=>s().get(m)??Re),u=async(m,f,h)=>{if(!m||!f)return;const l=t(m,f,h),i=(a.get(l)??0)+1;a.set(l,i),o(l,{...c(l),loading:!0,failed:!1});try{const n=await e(m).list(f,h);a.get(l)===i&&o(l,{items:n,loading:!1,failed:!1})}catch{a.get(l)===i&&o(l,{...c(l),loading:!1,failed:!0})}};return{getState:(m,f,h)=>s().get(t(m,f,h))??Re,load:u,refreshForEvent:async(m,f)=>{var n,g,x;if(!hn.has(f.type))return;const h=((n=f.location)==null?void 0:n.directory)??((x=(g=f.data)==null?void 0:g.info)==null?void 0:x.cwd),l=Array.from(s().keys()).map($=>JSON.parse($)).filter(([$])=>$===m),i=h?l.filter(([,$,w])=>{var I;return bn($,h)&&(((I=f.location)==null?void 0:I.workspaceID)===void 0||f.location.workspaceID===w)}):l;await Promise.all((i.length?i:l).map(([,$,w])=>u(m,$,w??void 0)))},remove:async(m,f,h,l)=>{try{return await e(m).remove(f,h,l),await u(m,f,l),!0}catch{return!1}},output:(m,f,h,l,i)=>e(m).output(f,h,l,i)}}function bn(e,s){const r=a=>{const t=a.replace(/\\/g,"/").replace(/\/+$/,"");return/^[A-Za-z]:\//.test(t)||t.startsWith("//")?t.toLowerCase():t};return r(e)===r(s)}const ee=vn(e=>mn(Ft(e)));He.on("instance.event",e=>{e.type!=="instance.event"||!e.event.type.startsWith("shell.")||ee.refreshForEvent(e.instanceId,e.event)});He.on("instance.eventStatus",e=>{e.type!=="instance.eventStatus"||e.status!=="connected"||ee.refreshForEvent(e.instanceId,{type:"server.connected"})});var xn=_('<div class=window-header><div class="min-w-0 flex-1"><span class="block truncate text-xs text-secondary"></span></div><button type=button class="button-tertiary shrink-0">'),yn=_('<p class="text-xs text-secondary">'),wn=_('<p class="mb-2 text-xs text-secondary">'),Sn=_('<pre class="border border-base bg-surface-secondary p-4 font-mono text-xs text-primary whitespace-pre-wrap break-all">'),Cn=_("<div class=window-body>"),$n=_('<div class="fixed inset-0 z-50 flex items-center justify-center p-4">');function kn(e){const{t:s}=Ie(),[r,a]=M(""),[t,o]=M(""),[c,u]=M(!1),[v,b]=M(!1),[S,C]=M(!1);return L(()=>{const m=e.shell,f=e.directory,h=e.workspaceID;if(!e.open||!m||!f)return;let l=!0,i=0,n="",g;const x=()=>{const w=ht(n);if(u(w),!w)return o("");const I=mt();o(I.render(n))},$=async()=>{try{const w=await ee.output(e.instanceId,f,m.id,i,h);if(!l)return;if(i=w.cursor,w.output){const I=fn(n,w.output);n=I.output,a(n),b(U=>U||w.truncated||I.truncated),x()}else w.truncated&&b(!0)}catch{if(!l)return;a(s("backgroundProcessOutputDialog.loadErrorFallback"))}finally{if(!l)return;C(!1),g=setTimeout($,1e3)}};a(""),o(""),u(!1),b(!1),C(!0),$(),H(()=>{l=!1,g&&clearTimeout(g)})}),d(re,{get open(){return e.open},onOpenChange:m=>!m&&e.onClose(),modal:!0,get children(){return d(re.Portal,{get children(){return[d(re.Overlay,{class:"modal-overlay"}),(()=>{var m=$n();return p(m,d(re.Content,{class:"modal-surface flex max-h-[90vh] w-full max-w-5xl flex-col overflow-hidden",get children(){return[(()=>{var f=xn(),h=f.firstChild,l=h.firstChild,i=h.nextSibling;return p(h,d(re.Title,{class:"window-title",get children(){return s("backgroundProcessOutputDialog.title")}}),l),p(l,()=>{var n;return(n=e.shell)==null?void 0:n.command}),ct(i,"click",e.onClose,!0),p(i,()=>s("backgroundProcessOutputDialog.actions.close")),ne(()=>{var n;return Z(l,"title",(n=e.shell)==null?void 0:n.command)}),f})(),(()=>{var f=Cn();return p(f,d(O,{get when(){return S()},get children(){var h=yn();return p(h,()=>s("backgroundProcessOutputDialog.loading")),h}}),null),p(f,d(O,{get when(){return v()},get children(){var h=wn();return p(h,()=>s("backgroundProcessOutputDialog.truncatedNotice")),h}}),null),p(f,d(O,{get when(){return!S()},get children(){var h=Sn();return p(h,(()=>{var l=te(()=>!!c());return()=>l()?void 0:r()})()),ne(()=>h.innerHTML=c()?t():void 0),h}}),null),f})()]}})),m})()]}})}})}Ne(["click"]);var In=_("<span class=section-left><span class=section-label>"),_n=_("<div>"),J=_('<div class="right-panel-empty right-panel-empty--left"><span class=text-xs>'),Tn=_('<div class="flex items-center justify-between gap-2 border border-base bg-surface-secondary px-3 py-2"><p class="min-w-0 text-xs leading-5 text-secondary"></p><div class="-mr-2 shrink-0">'),Pn=_('<div class="flex flex-col gap-1">'),Ue=_("<span>"),Dn=_('<article class=status-process-card><div class="flex items-start justify-between gap-2"><div class="min-w-0 flex-1"><h4 class="truncate text-xs font-medium text-primary"></h4><code class="mt-1 block truncate text-xs text-secondary"></code></div></div><div class="mt-1 flex flex-wrap gap-x-2 gap-y-1 text-xs text-tertiary"><span></span></div><div class="mt-1 truncate text-xs text-tertiary"></div><div class=status-process-actions><button type=button class="button-tertiary inline-flex w-full items-center justify-center gap-1 p-1"></button><button type=button class="button-tertiary inline-flex w-full items-center justify-center gap-1 p-1">'),On=_("<div class=right-panel-empty-text>"),Mn=_('<div class="border border-base bg-surface-secondary px-3 py-2">'),An=_("<div class=status-tab-container>");const En=e=>{const s=Ct(e.section.id);return(()=>{var r=_n();return dt(s,r),p(r,d(Q.Item,{get value(){return e.section.id},class:"right-panel-accordion-item",get children(){return[d(Q.Header,{class:"right-panel-accordion-header-row",get children(){return[d(Q.Trigger,{class:"right-panel-accordion-trigger",get children(){var a=In(),t=a.firstChild;return p(a,d(Lt,{class:"right-panel-accordion-chevron disclosure-chevron"}),t),p(t,()=>e.t(e.section.labelKey)),a}}),d(ie,{openDelay:200,gutter:4,placement:"top",get children(){return[d(ie.Trigger,{as:"button",type:"button",class:"section-info-trigger",get"aria-label"(){return e.t(e.section.tooltipKey)},get children(){return d(Ht,{class:"section-info-icon"})}}),d(ie.Portal,{get children(){return d(ie.Content,{class:"section-info-tooltip",get children(){return e.t(e.section.tooltipKey)}})}})]}}),d(qt,{class:"right-panel-section-grip","aria-hidden":"true"})]}}),d(Q.Content,{class:"right-panel-accordion-content",get children(){return e.section.render()}})]}})),ne(()=>Le(r,`right-panel-section-draggable ${s.isActiveDraggable?"right-panel-section-draggable-active":""}`)),r})()},zn=e=>{const s=l=>e.expandedItems().includes(l),r=D(()=>{var l;return((l=e.activeSession())==null?void 0:l.location)??{directory:e.instance.folder}}),a=D(()=>ee.getState(e.instanceId,r().directory,r().workspaceID)),[t,o]=M(null);L(we(()=>[e.instanceId,r().directory,r().workspaceID],([l,i,n])=>void ee.load(l,i,n)));const c=()=>{const l=e.activeSession();return l?(()=>{var i=Tn(),n=i.firstChild,g=n.nextSibling;return p(n,()=>e.t("instanceShell.yoloMode.description")),p(g,d(kt,{class:"yolo-mode-switch",get checked(){return Kt(e.instanceId,l.id)},size:"small",sx:{"& .MuiSwitch-switchBase.Mui-checked":{color:"var(--session-yolo-accent)"},"& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track":{backgroundColor:"var(--session-yolo-accent)"}},get inputProps(){return{"aria-label":e.t("instanceShell.yoloMode.title")}},onChange:()=>Bt(e.instanceId,l.id)})),i})():(()=>{var i=J(),n=i.firstChild;return p(n,()=>e.t("instanceShell.yoloMode.noSessionSelected")),i})()},u=()=>{const l=e.activeSessionId();if(!l||l==="info")return(()=>{var n=J(),g=n.firstChild;return p(g,()=>e.t("instanceShell.plan.noSessionSelected")),n})();const i=e.latestTodoState();return i?d($t,{state:i,get emptyLabel(){return e.t("instanceShell.plan.empty")},showStatusLabel:!1}):(()=>{var n=J(),g=n.firstChild;return p(g,()=>e.t("instanceShell.plan.empty")),n})()},v=async(l,i,n)=>{const g=e.instanceId,x={...r()};await jt(e.t("instanceShell.backgroundProcesses.remove.message",{title:i}),{title:e.t("instanceShell.backgroundProcesses.remove.title"),confirmLabel:e.t(n?"instanceShell.backgroundProcesses.actions.stopRemove":"instanceShell.backgroundProcesses.actions.remove")})&&!await ee.remove(g,x.directory,l,x.workspaceID)&&zt({message:e.t("instanceShell.backgroundProcesses.error"),variant:"error"})},b=()=>d(O,{get when(){return!a().failed},get fallback(){return(()=>{var l=J(),i=l.firstChild;return p(i,()=>e.t("instanceShell.backgroundProcesses.error")),l})()},get children(){return d(O,{get when(){return!a().loading||a().items.length>0},get fallback(){return(()=>{var l=J(),i=l.firstChild;return p(i,()=>e.t("instanceShell.backgroundProcesses.loading")),l})()},get children(){return d(O,{get when(){return a().items.length>0},get fallback(){return(()=>{var l=J(),i=l.firstChild;return p(i,()=>e.t("instanceShell.backgroundProcesses.empty")),l})()},get children(){var l=Pn();return p(l,d(Se,{get each(){return a().items},children:i=>{const n=()=>i.status==="running";return(()=>{var g=Dn(),x=g.firstChild,$=x.firstChild,w=$.firstChild,I=w.nextSibling,U=x.nextSibling,B=U.firstChild,F=U.nextSibling,W=F.nextSibling,P=W.firstChild,T=P.nextSibling;return p(w,()=>i.command),p(I,()=>i.shell),p(B,()=>e.t(`instanceShell.backgroundProcesses.status.${i.status}`)),p(U,d(O,{get when(){return i.pid!==void 0},get children(){var y=Ue();return p(y,()=>e.t("instanceShell.backgroundProcesses.pid",{pid:i.pid})),y}}),null),p(U,d(O,{get when(){return i.exit!==void 0},get children(){var y=Ue();return p(y,()=>e.t("instanceShell.backgroundProcesses.exitCode",{code:i.exit})),y}}),null),p(F,()=>i.cwd),P.$$click=()=>o({shell:i,location:{...r()},instanceId:e.instanceId}),p(P,d(Vt,{class:"h-3.5 w-3.5","aria-hidden":"true"}),null),p(P,()=>e.t("instanceShell.backgroundProcesses.actions.output"),null),T.$$click=()=>void v(i.id,i.command,n()),p(T,d(O,{get when(){return n()},get fallback(){return d(Nt,{class:"h-3.5 w-3.5","aria-hidden":"true"})},get children(){return d(Yt,{class:"h-3.5 w-3.5","aria-hidden":"true"})}}),null),p(T,()=>e.t(n()?"instanceShell.backgroundProcesses.actions.stopRemove":"instanceShell.backgroundProcesses.actions.remove"),null),ne(y=>{var k=i.command,A=i.shell,E=i.cwd,q=a().loading;return k!==y.e&&Z(w,"title",y.e=k),A!==y.t&&Z(I,"title",y.t=A),E!==y.a&&Z(F,"title",y.a=E),q!==y.o&&(T.disabled=y.o=q),y},{e:void 0,t:void 0,a:void 0,o:void 0}),g})()}})),l}})}})}}),S=()=>{const l=e.activeSession();return l?(()=>{var i=Mn();return p(i,d(pn,{get providerId(){return l.model.providerId},get modelId(){return l.model.modelId}})),i})():(()=>{var i=On();return p(i,()=>e.t("providerUsage.noSession")),i})()},C=D(()=>[...vt({renderYoloModeSection:c,renderProviderUsage:S,renderPlanSectionContent:u,renderBackgroundProcesses:b,renderMcpStatus:()=>d(Me,{get initialInstance(){return e.instance},sections:["mcp"],showSectionHeadings:!1,class:"space-y-2"}),renderPluginStatus:()=>d(Me,{get initialInstance(){return e.instance},sections:["plugins"],showSectionHeadings:!1,class:"space-y-2"})}).statusSections??[],...e.extraSections??[]]),m=D(()=>bt(C(),e.customization().statusSectionOrder,e.customization().hiddenStatusSectionIds)),f=(l,i)=>{if(!l||l===i)return;const n=m().map(I=>I.id),g=n.indexOf(l),x=n.indexOf(i);if(g===-1||x===-1)return;const $=[...n],[w]=$.splice(g,1);$.splice(x,0,w),e.onCustomizationChange(I=>({...I,statusSectionOrder:$}))},h=({draggable:l,droppable:i})=>{i&&f(String(l.id),String(i.id))};return(()=>{var l=An();return p(l,d(O,{get when(){var i;return(i=e.activeSession())==null?void 0:i.id},get children(){return d(on,{get instanceId(){return e.instanceId},get sessionId(){return e.activeSession().id},class:"status-tab-context-panel"})}}),null),p(l,d(Q.Root,{class:"right-panel-accordion",collapsible:!0,multiple:!0,get value(){return e.expandedItems()},get onChange(){return e.onExpandedItemsChange},get children(){return d(xt,{collisionDetector:yt,onDragEnd:h,get children(){return d(wt,{get children(){return d(St,{get ids(){return m().map(i=>i.id)},get children(){return d(Se,{get each(){return m()},children:i=>d(En,{section:i,get expanded(){return s(i.id)},get t(){return e.t}})})}})}})}})}}),null),p(l,d(kn,{get open(){return!!t()},get instanceId(){var i;return((i=t())==null?void 0:i.instanceId)??e.instanceId},get directory(){var i;return((i=t())==null?void 0:i.location.directory)??r().directory},get workspaceID(){var i;return(i=t())==null?void 0:i.location.workspaceID},get shell(){var i;return((i=t())==null?void 0:i.shell)??null},onClose:()=>o(null)}),null),l})()};Ne(["click"]);export{zn as default};
|
|
2
|
+
//# sourceMappingURL=StatusTab-C-_2yaPa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusTab-C-_2yaPa.js","sources":["../../../../../../node_modules/lucide-solid/dist/source/icons/grip-vertical.jsx","../../../../../../node_modules/lucide-solid/dist/source/icons/x-octagon.jsx","../../../../../../node_modules/@kobalte/core/dist/chunk/2N4PRSLE.jsx","../../../../../../node_modules/@kobalte/core/dist/chunk/UGE6PPGT.jsx","../../../../../../node_modules/@kobalte/core/dist/chunk/PYUMFHDL.jsx","../../../components/session/context-usage-panel.tsx","../../../components/session/provider-usage-panel.tsx","../../../stores/shell-store.ts","../../../stores/shells.ts","../../../components/shell-output-dialog.tsx","../../../components/instance/shell/right-panel/tabs/StatusTab.tsx"],"sourcesContent":["import Icon from '../Icon';\nconst iconNode = [\n ['circle', { cx: '9', cy: '12', r: '1', key: '1vctgf' }],\n ['circle', { cx: '9', cy: '5', r: '1', key: 'hp0tcf' }],\n ['circle', { cx: '9', cy: '19', r: '1', key: 'fkjjf6' }],\n ['circle', { cx: '15', cy: '12', r: '1', key: '1tmaij' }],\n ['circle', { cx: '15', cy: '5', r: '1', key: '19l28e' }],\n ['circle', { cx: '15', cy: '19', r: '1', key: 'f4zoj3' }],\n];\nconst GripVertical = (props) => (<Icon {...props} name=\"GripVertical\" iconNode={iconNode}/>);\nexport default GripVertical;\n","import Icon from '../Icon';\nconst iconNode = [\n [\n 'polygon',\n {\n points: '7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2',\n key: 'h1p8hx',\n },\n ],\n ['path', { d: 'm15 9-6 6', key: '1uzhvr' }],\n ['path', { d: 'm9 9 6 6', key: 'z0biqf' }],\n];\nconst XOctagon = (props) => <Icon {...props} name=\"XOctagon\" iconNode={iconNode}/>;\nexport default XOctagon;\n","import {\n Popper,\n PopperArrow\n} from \"./2CTBMVJ4.jsx\";\nimport {\n DismissableLayer\n} from \"./3VFJM5NZ.jsx\";\nimport {\n createDisclosureState\n} from \"./E53DB7BS.jsx\";\nimport {\n createRegisterId\n} from \"./JNCCF6MP.jsx\";\nimport {\n Polymorphic\n} from \"./FLVHQV4A.jsx\";\nimport {\n __export\n} from \"./5WXHJDCZ.jsx\";\n\n// src/tooltip/index.tsx\nvar tooltip_exports = {};\n__export(tooltip_exports, {\n Arrow: () => PopperArrow,\n Content: () => TooltipContent,\n Portal: () => TooltipPortal,\n Root: () => TooltipRoot,\n Tooltip: () => Tooltip,\n Trigger: () => TooltipTrigger,\n useTooltipContext: () => useTooltipContext\n});\n\n// src/tooltip/tooltip-content.tsx\nimport { mergeDefaultProps, mergeRefs } from \"@kobalte/utils\";\nimport {\n Show,\n createEffect,\n onCleanup,\n splitProps\n} from \"solid-js\";\nimport { combineStyle } from \"@solid-primitives/props\";\n\n// src/tooltip/tooltip-context.tsx\nimport { createContext, useContext } from \"solid-js\";\nvar TooltipContext = createContext();\nfunction useTooltipContext() {\n const context = useContext(TooltipContext);\n if (context === void 0) {\n throw new Error(\n \"[kobalte]: `useTooltipContext` must be used within a `Tooltip` component\"\n );\n }\n return context;\n}\n\n// src/tooltip/tooltip-content.tsx\nfunction TooltipContent(props) {\n const context = useTooltipContext();\n const mergedProps = mergeDefaultProps(\n {\n id: context.generateId(\"content\")\n },\n props\n );\n const [local, others] = splitProps(mergedProps, [\"ref\", \"style\"]);\n createEffect(() => onCleanup(context.registerContentId(others.id)));\n return <Show when={context.contentPresent()}><Popper.Positioner><DismissableLayer\n ref={mergeRefs((el) => {\n context.setContentRef(el);\n }, local.ref)}\n role=\"tooltip\"\n disableOutsidePointerEvents={false}\n style={combineStyle(\n {\n \"--kb-tooltip-content-transform-origin\": \"var(--kb-popper-content-transform-origin)\",\n position: \"relative\"\n },\n local.style\n )}\n onFocusOutside={(e) => e.preventDefault()}\n onDismiss={() => context.hideTooltip(true)}\n {...context.dataset()}\n {...others}\n /></Popper.Positioner></Show>;\n}\n\n// src/tooltip/tooltip-portal.tsx\nimport { Show as Show2 } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nfunction TooltipPortal(props) {\n const context = useTooltipContext();\n return <Show2 when={context.contentPresent()}><Portal {...props} /></Show2>;\n}\n\n// src/tooltip/tooltip-root.tsx\nimport {\n contains,\n createGenerateId,\n getDocument,\n getEventPoint,\n getWindow,\n isPointInPolygon,\n mergeDefaultProps as mergeDefaultProps2\n} from \"@kobalte/utils\";\nimport {\n createEffect as createEffect2,\n createMemo,\n createSignal,\n createUniqueId,\n onCleanup as onCleanup2,\n splitProps as splitProps2\n} from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport createPresence from \"solid-presence\";\n\n// src/tooltip/utils.ts\nfunction getTooltipSafeArea(placement, anchorEl, floatingEl) {\n const basePlacement = placement.split(\"-\")[0];\n const anchorRect = anchorEl.getBoundingClientRect();\n const floatingRect = floatingEl.getBoundingClientRect();\n const polygon = [];\n const anchorCenterX = anchorRect.left + anchorRect.width / 2;\n const anchorCenterY = anchorRect.top + anchorRect.height / 2;\n switch (basePlacement) {\n case \"top\":\n polygon.push([anchorRect.left, anchorCenterY]);\n polygon.push([floatingRect.left, floatingRect.bottom]);\n polygon.push([floatingRect.left, floatingRect.top]);\n polygon.push([floatingRect.right, floatingRect.top]);\n polygon.push([floatingRect.right, floatingRect.bottom]);\n polygon.push([anchorRect.right, anchorCenterY]);\n break;\n case \"right\":\n polygon.push([anchorCenterX, anchorRect.top]);\n polygon.push([floatingRect.left, floatingRect.top]);\n polygon.push([floatingRect.right, floatingRect.top]);\n polygon.push([floatingRect.right, floatingRect.bottom]);\n polygon.push([floatingRect.left, floatingRect.bottom]);\n polygon.push([anchorCenterX, anchorRect.bottom]);\n break;\n case \"bottom\":\n polygon.push([anchorRect.left, anchorCenterY]);\n polygon.push([floatingRect.left, floatingRect.top]);\n polygon.push([floatingRect.left, floatingRect.bottom]);\n polygon.push([floatingRect.right, floatingRect.bottom]);\n polygon.push([floatingRect.right, floatingRect.top]);\n polygon.push([anchorRect.right, anchorCenterY]);\n break;\n case \"left\":\n polygon.push([anchorCenterX, anchorRect.top]);\n polygon.push([floatingRect.right, floatingRect.top]);\n polygon.push([floatingRect.left, floatingRect.top]);\n polygon.push([floatingRect.left, floatingRect.bottom]);\n polygon.push([floatingRect.right, floatingRect.bottom]);\n polygon.push([anchorCenterX, anchorRect.bottom]);\n break;\n }\n return polygon;\n}\n\n// src/tooltip/tooltip-root.tsx\nvar tooltips = {};\nvar tooltipsCounter = 0;\nvar globalWarmedUp = false;\nvar globalWarmUpTimeout;\nvar globalCoolDownTimeout;\nvar globalSkipDelayTimeout;\nfunction TooltipRoot(props) {\n const defaultId = `tooltip-${createUniqueId()}`;\n const tooltipId = `${++tooltipsCounter}`;\n const mergedProps = mergeDefaultProps2(\n {\n id: defaultId,\n openDelay: 700,\n closeDelay: 300,\n skipDelayDuration: 300\n },\n props\n );\n const [local, others] = splitProps2(mergedProps, [\n \"id\",\n \"open\",\n \"defaultOpen\",\n \"onOpenChange\",\n \"disabled\",\n \"triggerOnFocusOnly\",\n \"openDelay\",\n \"closeDelay\",\n \"skipDelayDuration\",\n \"ignoreSafeArea\",\n \"forceMount\"\n ]);\n let closeTimeoutId;\n const [contentId, setContentId] = createSignal();\n const [triggerRef, setTriggerRef] = createSignal();\n const [contentRef, setContentRef] = createSignal();\n const [currentPlacement, setCurrentPlacement] = createSignal(\n others.placement\n );\n const disclosureState = createDisclosureState({\n open: () => local.open,\n defaultOpen: () => local.defaultOpen,\n onOpenChange: (isOpen) => local.onOpenChange?.(isOpen)\n });\n const { present: contentPresent } = createPresence({\n show: () => local.forceMount || disclosureState.isOpen(),\n element: () => contentRef() ?? null\n });\n const ensureTooltipEntry = () => {\n tooltips[tooltipId] = hideTooltip;\n };\n const closeOpenTooltips = () => {\n for (const hideTooltipId in tooltips) {\n if (hideTooltipId !== tooltipId) {\n tooltips[hideTooltipId](true);\n delete tooltips[hideTooltipId];\n }\n }\n };\n const hideTooltip = (immediate = false) => {\n if (isServer) {\n return;\n }\n if (immediate || local.closeDelay && local.closeDelay <= 0) {\n window.clearTimeout(closeTimeoutId);\n closeTimeoutId = void 0;\n disclosureState.close();\n } else if (!closeTimeoutId) {\n closeTimeoutId = window.setTimeout(() => {\n closeTimeoutId = void 0;\n disclosureState.close();\n }, local.closeDelay);\n }\n window.clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = void 0;\n if (local.skipDelayDuration && local.skipDelayDuration >= 0) {\n globalSkipDelayTimeout = window.setTimeout(() => {\n window.clearTimeout(globalSkipDelayTimeout);\n globalSkipDelayTimeout = void 0;\n }, local.skipDelayDuration);\n }\n if (globalWarmedUp) {\n window.clearTimeout(globalCoolDownTimeout);\n globalCoolDownTimeout = window.setTimeout(() => {\n delete tooltips[tooltipId];\n globalCoolDownTimeout = void 0;\n globalWarmedUp = false;\n }, local.closeDelay);\n }\n };\n const showTooltip = () => {\n if (isServer) {\n return;\n }\n clearTimeout(closeTimeoutId);\n closeTimeoutId = void 0;\n closeOpenTooltips();\n ensureTooltipEntry();\n globalWarmedUp = true;\n disclosureState.open();\n window.clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = void 0;\n window.clearTimeout(globalCoolDownTimeout);\n globalCoolDownTimeout = void 0;\n window.clearTimeout(globalSkipDelayTimeout);\n globalSkipDelayTimeout = void 0;\n };\n const warmupTooltip = () => {\n if (isServer) {\n return;\n }\n closeOpenTooltips();\n ensureTooltipEntry();\n if (!disclosureState.isOpen() && !globalWarmUpTimeout && !globalWarmedUp) {\n globalWarmUpTimeout = window.setTimeout(() => {\n globalWarmUpTimeout = void 0;\n globalWarmedUp = true;\n showTooltip();\n }, local.openDelay);\n } else if (!disclosureState.isOpen()) {\n showTooltip();\n }\n };\n const openTooltip = (immediate = false) => {\n if (isServer) {\n return;\n }\n if (!immediate && local.openDelay && local.openDelay > 0 && !closeTimeoutId && !globalSkipDelayTimeout) {\n warmupTooltip();\n } else {\n showTooltip();\n }\n };\n const cancelOpening = () => {\n if (isServer) {\n return;\n }\n window.clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = void 0;\n globalWarmedUp = false;\n };\n const cancelClosing = () => {\n if (isServer) {\n return;\n }\n window.clearTimeout(closeTimeoutId);\n closeTimeoutId = void 0;\n };\n const isTargetOnTooltip = (target) => {\n return contains(triggerRef(), target) || contains(contentRef(), target);\n };\n const getPolygonSafeArea = (placement) => {\n const triggerEl = triggerRef();\n const contentEl = contentRef();\n if (!triggerEl || !contentEl) {\n return;\n }\n return getTooltipSafeArea(placement, triggerEl, contentEl);\n };\n const onHoverOutside = (event) => {\n const target = event.target;\n if (isTargetOnTooltip(target)) {\n cancelClosing();\n return;\n }\n if (!local.ignoreSafeArea) {\n const polygon = getPolygonSafeArea(currentPlacement());\n if (polygon && isPointInPolygon(getEventPoint(event), polygon)) {\n cancelClosing();\n return;\n }\n }\n if (closeTimeoutId) {\n return;\n }\n hideTooltip();\n };\n createEffect2(() => {\n if (isServer) {\n return;\n }\n if (!disclosureState.isOpen()) {\n return;\n }\n const doc = getDocument();\n doc.addEventListener(\"pointermove\", onHoverOutside, true);\n onCleanup2(() => {\n doc.removeEventListener(\"pointermove\", onHoverOutside, true);\n });\n });\n createEffect2(() => {\n const trigger = triggerRef();\n if (!trigger || !disclosureState.isOpen()) {\n return;\n }\n const handleScroll = (event) => {\n const target = event.target;\n if (contains(target, trigger)) {\n hideTooltip(true);\n }\n };\n const win = getWindow();\n win.addEventListener(\"scroll\", handleScroll, { capture: true });\n onCleanup2(() => {\n win.removeEventListener(\"scroll\", handleScroll, { capture: true });\n });\n });\n onCleanup2(() => {\n clearTimeout(closeTimeoutId);\n const tooltip = tooltips[tooltipId];\n if (tooltip) {\n delete tooltips[tooltipId];\n }\n });\n const dataset = createMemo(() => ({\n \"data-expanded\": disclosureState.isOpen() ? \"\" : void 0,\n \"data-closed\": !disclosureState.isOpen() ? \"\" : void 0\n }));\n const context = {\n dataset,\n isOpen: disclosureState.isOpen,\n isDisabled: () => local.disabled ?? false,\n triggerOnFocusOnly: () => local.triggerOnFocusOnly ?? false,\n contentId,\n contentPresent,\n openTooltip,\n hideTooltip,\n cancelOpening,\n generateId: createGenerateId(() => mergedProps.id),\n registerContentId: createRegisterId(setContentId),\n isTargetOnTooltip,\n setTriggerRef,\n setContentRef\n };\n return <TooltipContext.Provider value={context}><Popper\n anchorRef={triggerRef}\n contentRef={contentRef}\n onCurrentPlacementChange={setCurrentPlacement}\n {...others}\n /></TooltipContext.Provider>;\n}\n\n// src/tooltip/tooltip-trigger.tsx\nimport { callHandler, getDocument as getDocument2, mergeRefs as mergeRefs2 } from \"@kobalte/utils\";\nimport { onCleanup as onCleanup3, splitProps as splitProps3 } from \"solid-js\";\nimport { isServer as isServer2 } from \"solid-js/web\";\nfunction TooltipTrigger(props) {\n let ref;\n const context = useTooltipContext();\n const [local, others] = splitProps3(props, [\n \"ref\",\n \"onPointerEnter\",\n \"onPointerLeave\",\n \"onPointerDown\",\n \"onClick\",\n \"onFocus\",\n \"onBlur\"\n ]);\n let isPointerDown = false;\n let isHovered = false;\n let isFocused = false;\n const handlePointerUp = () => {\n isPointerDown = false;\n };\n const handleShow = () => {\n if (!context.isOpen() && (isHovered || isFocused)) {\n context.openTooltip(isFocused);\n }\n };\n const handleHide = (immediate) => {\n if (context.isOpen() && !isHovered && !isFocused) {\n context.hideTooltip(immediate);\n }\n };\n const onPointerEnter = (e) => {\n callHandler(e, local.onPointerEnter);\n if (e.pointerType === \"touch\" || context.triggerOnFocusOnly() || context.isDisabled() || e.defaultPrevented) {\n return;\n }\n isHovered = true;\n handleShow();\n };\n const onPointerLeave = (e) => {\n callHandler(e, local.onPointerLeave);\n if (e.pointerType === \"touch\") {\n return;\n }\n isHovered = false;\n isFocused = false;\n if (context.isOpen()) {\n handleHide();\n } else {\n context.cancelOpening();\n }\n };\n const onPointerDown = (e) => {\n callHandler(e, local.onPointerDown);\n isPointerDown = true;\n getDocument2(ref).addEventListener(\"pointerup\", handlePointerUp, {\n once: true\n });\n };\n const onClick = (e) => {\n callHandler(e, local.onClick);\n isHovered = false;\n isFocused = false;\n handleHide(true);\n };\n const onFocus = (e) => {\n callHandler(e, local.onFocus);\n if (context.isDisabled() || e.defaultPrevented || isPointerDown) {\n return;\n }\n isFocused = true;\n handleShow();\n };\n const onBlur = (e) => {\n callHandler(e, local.onBlur);\n const relatedTarget = e.relatedTarget;\n if (context.isTargetOnTooltip(relatedTarget)) {\n return;\n }\n isHovered = false;\n isFocused = false;\n handleHide(true);\n };\n onCleanup3(() => {\n if (isServer2) {\n return;\n }\n getDocument2(ref).removeEventListener(\"pointerup\", handlePointerUp);\n });\n return <Polymorphic\n as=\"button\"\n ref={mergeRefs2((el) => {\n context.setTriggerRef(el);\n ref = el;\n }, local.ref)}\n aria-describedby={context.isOpen() ? context.contentId() : void 0}\n onPointerEnter={onPointerEnter}\n onPointerLeave={onPointerLeave}\n onPointerDown={onPointerDown}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n {...context.dataset()}\n {...others}\n />;\n}\n\n// src/tooltip/index.tsx\nvar Tooltip = Object.assign(TooltipRoot, {\n Arrow: PopperArrow,\n Content: TooltipContent,\n Portal: TooltipPortal,\n Trigger: TooltipTrigger\n});\n\nexport {\n useTooltipContext,\n TooltipContent,\n TooltipPortal,\n TooltipRoot,\n TooltipTrigger,\n Tooltip,\n tooltip_exports\n};\n","import {\n createDisclosureState\n} from \"./E53DB7BS.jsx\";\nimport {\n ButtonRoot\n} from \"./UKTBL2JL.jsx\";\nimport {\n createRegisterId\n} from \"./JNCCF6MP.jsx\";\nimport {\n Polymorphic\n} from \"./FLVHQV4A.jsx\";\nimport {\n __export\n} from \"./5WXHJDCZ.jsx\";\n\n// src/collapsible/index.tsx\nvar collapsible_exports = {};\n__export(collapsible_exports, {\n Collapsible: () => Collapsible,\n Content: () => CollapsibleContent,\n Root: () => CollapsibleRoot,\n Trigger: () => CollapsibleTrigger,\n useCollapsibleContext: () => useCollapsibleContext\n});\n\n// src/collapsible/collapsible-content.tsx\nimport { mergeDefaultProps, mergeRefs } from \"@kobalte/utils\";\nimport {\n Show,\n createEffect,\n createSignal,\n on,\n onCleanup,\n onMount,\n splitProps\n} from \"solid-js\";\nimport { combineStyle } from \"@solid-primitives/props\";\nimport createPresence from \"solid-presence\";\n\n// src/collapsible/collapsible-context.tsx\nimport { createContext, useContext } from \"solid-js\";\nvar CollapsibleContext = createContext();\nfunction useCollapsibleContext() {\n const context = useContext(CollapsibleContext);\n if (context === void 0) {\n throw new Error(\n \"[kobalte]: `useCollapsibleContext` must be used within a `Collapsible.Root` component\"\n );\n }\n return context;\n}\n\n// src/collapsible/collapsible-content.tsx\nfunction CollapsibleContent(props) {\n const [ref, setRef] = createSignal();\n const context = useCollapsibleContext();\n const mergedProps = mergeDefaultProps(\n { id: context.generateId(\"content\") },\n props\n );\n const [local, others] = splitProps(mergedProps, [\"ref\", \"id\", \"style\"]);\n const { present } = createPresence({\n show: context.shouldMount,\n element: () => ref() ?? null\n });\n const [height, setHeight] = createSignal(0);\n const [width, setWidth] = createSignal(0);\n const isOpen = () => context.isOpen() || present();\n let isMountAnimationPrevented = isOpen();\n onMount(() => {\n const raf = requestAnimationFrame(() => {\n isMountAnimationPrevented = false;\n });\n onCleanup(() => {\n cancelAnimationFrame(raf);\n });\n });\n createEffect(\n on(\n /**\n * depends on `present` because it will be `false` on\n * animation end (so when close finishes). This allows us to\n * retrieve the dimensions *before* closing.\n */\n present,\n () => {\n if (!ref()) {\n return;\n }\n ref().style.transitionDuration = \"0s\";\n ref().style.animationName = \"none\";\n const rect = ref().getBoundingClientRect();\n setHeight(rect.height);\n setWidth(rect.width);\n if (!isMountAnimationPrevented) {\n ref().style.transitionDuration = \"\";\n ref().style.animationName = \"\";\n }\n }\n )\n );\n createEffect(\n on(\n context.isOpen,\n (open) => {\n if (!open && ref()) {\n ref().style.transitionDuration = \"\";\n ref().style.animationName = \"\";\n }\n },\n { defer: true }\n )\n );\n createEffect(() => onCleanup(context.registerContentId(local.id)));\n return <Show when={present()}><Polymorphic\n as=\"div\"\n ref={mergeRefs(setRef, local.ref)}\n id={local.id}\n style={combineStyle(\n {\n \"--kb-collapsible-content-height\": height() ? `${height()}px` : void 0,\n \"--kb-collapsible-content-width\": width() ? `${width()}px` : void 0\n },\n local.style\n )}\n {...context.dataset()}\n {...others}\n /></Show>;\n}\n\n// src/collapsible/collapsible-root.tsx\nimport {\n createGenerateId,\n mergeDefaultProps as mergeDefaultProps2\n} from \"@kobalte/utils\";\nimport {\n createMemo,\n createSignal as createSignal2,\n createUniqueId,\n splitProps as splitProps2\n} from \"solid-js\";\nfunction CollapsibleRoot(props) {\n const defaultId = `collapsible-${createUniqueId()}`;\n const mergedProps = mergeDefaultProps2(\n { id: defaultId },\n props\n );\n const [local, others] = splitProps2(mergedProps, [\n \"open\",\n \"defaultOpen\",\n \"onOpenChange\",\n \"disabled\",\n \"forceMount\"\n ]);\n const [contentId, setContentId] = createSignal2();\n const disclosureState = createDisclosureState({\n open: () => local.open,\n defaultOpen: () => local.defaultOpen,\n onOpenChange: (isOpen) => local.onOpenChange?.(isOpen)\n });\n const dataset = createMemo(() => ({\n \"data-expanded\": disclosureState.isOpen() ? \"\" : void 0,\n \"data-closed\": !disclosureState.isOpen() ? \"\" : void 0,\n \"data-disabled\": local.disabled ? \"\" : void 0\n }));\n const context = {\n dataset,\n isOpen: disclosureState.isOpen,\n disabled: () => local.disabled ?? false,\n shouldMount: () => local.forceMount || disclosureState.isOpen(),\n contentId,\n toggle: disclosureState.toggle,\n generateId: createGenerateId(() => others.id),\n registerContentId: createRegisterId(setContentId)\n };\n return <CollapsibleContext.Provider value={context}><Polymorphic\n as=\"div\"\n {...dataset()}\n {...others}\n /></CollapsibleContext.Provider>;\n}\n\n// src/collapsible/collapsible-trigger.tsx\nimport { callHandler } from \"@kobalte/utils\";\nimport {\n splitProps as splitProps3\n} from \"solid-js\";\nfunction CollapsibleTrigger(props) {\n const context = useCollapsibleContext();\n const [local, others] = splitProps3(props, [\"onClick\"]);\n const onClick = (e) => {\n callHandler(e, local.onClick);\n context.toggle();\n };\n return <ButtonRoot\n aria-expanded={context.isOpen()}\n aria-controls={context.isOpen() ? context.contentId() : void 0}\n disabled={context.disabled()}\n onClick={onClick}\n {...context.dataset()}\n {...others}\n />;\n}\n\n// src/collapsible/index.tsx\nvar Collapsible = Object.assign(CollapsibleRoot, {\n Content: CollapsibleContent,\n Trigger: CollapsibleTrigger\n});\n\nexport {\n useCollapsibleContext,\n CollapsibleContent,\n CollapsibleRoot,\n CollapsibleTrigger,\n Collapsible,\n collapsible_exports\n};\n","import {\n createSelectableList\n} from \"./N3GAC5SS.jsx\";\nimport {\n createListState,\n createSelectableItem\n} from \"./QZDH5R5B.jsx\";\nimport {\n CollapsibleContent,\n CollapsibleRoot,\n CollapsibleTrigger,\n useCollapsibleContext\n} from \"./UGE6PPGT.jsx\";\nimport {\n createDomCollection,\n createDomCollectionItem\n} from \"./SOM3K36D.jsx\";\nimport {\n createRegisterId\n} from \"./JNCCF6MP.jsx\";\nimport {\n Polymorphic\n} from \"./FLVHQV4A.jsx\";\nimport {\n __export\n} from \"./5WXHJDCZ.jsx\";\n\n// src/accordion/index.tsx\nvar accordion_exports = {};\n__export(accordion_exports, {\n Accordion: () => Accordion,\n Content: () => AccordionContent,\n Header: () => AccordionHeader,\n Item: () => AccordionItem,\n Root: () => AccordionRoot,\n Trigger: () => AccordionTrigger,\n useAccordionContext: () => useAccordionContext\n});\n\n// src/accordion/accordion-content.tsx\nimport { mergeDefaultProps } from \"@kobalte/utils\";\nimport {\n createEffect,\n onCleanup,\n splitProps\n} from \"solid-js\";\nimport { combineStyle } from \"@solid-primitives/props\";\n\n// src/accordion/accordion-item-context.tsx\nimport { createContext, useContext } from \"solid-js\";\nvar AccordionItemContext = createContext();\nfunction useAccordionItemContext() {\n const context = useContext(AccordionItemContext);\n if (context === void 0) {\n throw new Error(\n \"[kobalte]: `useAccordionItemContext` must be used within a `Accordion.Item` component\"\n );\n }\n return context;\n}\n\n// src/accordion/accordion-content.tsx\nfunction AccordionContent(props) {\n const itemContext = useAccordionItemContext();\n const defaultId = itemContext.generateId(\"content\");\n const mergedProps = mergeDefaultProps(\n { id: defaultId },\n props\n );\n const [local, others] = splitProps(mergedProps, [\"id\", \"style\"]);\n createEffect(() => onCleanup(itemContext.registerContentId(local.id)));\n return <CollapsibleContent\n role=\"region\"\n aria-labelledby={itemContext.triggerId()}\n style={combineStyle(\n {\n \"--kb-accordion-content-height\": \"var(--kb-collapsible-content-height)\",\n \"--kb-accordion-content-width\": \"var(--kb-collapsible-content-width)\"\n },\n local.style\n )}\n {...others}\n />;\n}\n\n// src/accordion/accordion-header.tsx\nfunction AccordionHeader(props) {\n const context = useCollapsibleContext();\n return <Polymorphic\n as=\"h3\"\n {...context.dataset()}\n {...props}\n />;\n}\n\n// src/accordion/accordion-item.tsx\nimport { createGenerateId, mergeDefaultProps as mergeDefaultProps2 } from \"@kobalte/utils\";\nimport {\n createSignal,\n createUniqueId,\n splitProps as splitProps2\n} from \"solid-js\";\n\n// src/accordion/accordion-context.tsx\nimport { createContext as createContext2, useContext as useContext2 } from \"solid-js\";\nvar AccordionContext = createContext2();\nfunction useAccordionContext() {\n const context = useContext2(AccordionContext);\n if (context === void 0) {\n throw new Error(\n \"[kobalte]: `useAccordionContext` must be used within a `Accordion.Root` component\"\n );\n }\n return context;\n}\n\n// src/accordion/accordion-item.tsx\nfunction AccordionItem(props) {\n const accordionContext = useAccordionContext();\n const defaultId = `${accordionContext.generateId(\n \"item\"\n )}-${createUniqueId()}`;\n const mergedProps = mergeDefaultProps2(\n { id: defaultId },\n props\n );\n const [local, others] = splitProps2(mergedProps, [\"value\", \"disabled\"]);\n const [triggerId, setTriggerId] = createSignal();\n const [contentId, setContentId] = createSignal();\n const selectionManager = () => accordionContext.listState().selectionManager();\n const isExpanded = () => {\n return selectionManager().isSelected(local.value);\n };\n const context = {\n value: () => local.value,\n triggerId,\n contentId,\n generateId: createGenerateId(() => others.id),\n registerTriggerId: createRegisterId(setTriggerId),\n registerContentId: createRegisterId(setContentId)\n };\n return <AccordionItemContext.Provider value={context}><CollapsibleRoot\n open={isExpanded()}\n disabled={local.disabled}\n {...others}\n /></AccordionItemContext.Provider>;\n}\n\n// src/accordion/accordion-root.tsx\nimport {\n composeEventHandlers,\n createGenerateId as createGenerateId2,\n mergeDefaultProps as mergeDefaultProps3,\n mergeRefs\n} from \"@kobalte/utils\";\nimport {\n createSignal as createSignal2,\n createUniqueId as createUniqueId2,\n splitProps as splitProps3\n} from \"solid-js\";\nfunction AccordionRoot(props) {\n let ref;\n const defaultId = `accordion-${createUniqueId2()}`;\n const mergedProps = mergeDefaultProps3(\n {\n id: defaultId,\n multiple: false,\n collapsible: false,\n shouldFocusWrap: true\n },\n props\n );\n const [local, others] = splitProps3(mergedProps, [\n \"id\",\n \"ref\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"multiple\",\n \"collapsible\",\n \"shouldFocusWrap\",\n \"onKeyDown\",\n \"onMouseDown\",\n \"onFocusIn\",\n // TODO: remove next breaking\n \"onFocusOut\"\n ]);\n const [items, setItems] = createSignal2([]);\n const { DomCollectionProvider } = createDomCollection({\n items,\n onItemsChange: setItems\n });\n const listState = createListState({\n selectedKeys: () => local.value,\n defaultSelectedKeys: () => local.defaultValue,\n onSelectionChange: (value) => local.onChange?.(Array.from(value)),\n disallowEmptySelection: () => !local.multiple && !local.collapsible,\n selectionMode: () => local.multiple ? \"multiple\" : \"single\",\n dataSource: items\n });\n listState.selectionManager().setFocusedKey(\"item-1\");\n const selectableList = createSelectableList(\n {\n selectionManager: () => listState.selectionManager(),\n collection: () => listState.collection(),\n disallowEmptySelection: () => listState.selectionManager().disallowEmptySelection(),\n shouldFocusWrap: () => local.shouldFocusWrap,\n disallowTypeAhead: true,\n allowsTabNavigation: true\n },\n () => ref\n );\n const context = {\n listState: () => listState,\n generateId: createGenerateId2(() => local.id)\n };\n return <DomCollectionProvider><AccordionContext.Provider value={context}><Polymorphic\n as=\"div\"\n id={local.id}\n ref={mergeRefs((el) => ref = el, local.ref)}\n onKeyDown={composeEventHandlers([\n local.onKeyDown,\n selectableList.onKeyDown\n ])}\n onMouseDown={composeEventHandlers([\n local.onMouseDown,\n selectableList.onMouseDown\n ])}\n onFocusIn={composeEventHandlers([\n local.onFocusIn\n // TODO: remove next breaking\n ])}\n onFocusOut={composeEventHandlers([\n local.onFocusOut,\n selectableList.onFocusOut\n ])}\n {...others}\n /></AccordionContext.Provider></DomCollectionProvider>;\n}\n\n// src/accordion/accordion-trigger.tsx\nimport {\n callHandler,\n composeEventHandlers as composeEventHandlers2,\n mergeDefaultProps as mergeDefaultProps4,\n mergeRefs as mergeRefs2\n} from \"@kobalte/utils\";\nimport {\n createEffect as createEffect2,\n onCleanup as onCleanup2,\n splitProps as splitProps4\n} from \"solid-js\";\nfunction AccordionTrigger(props) {\n let ref;\n const accordionContext = useAccordionContext();\n const itemContext = useAccordionItemContext();\n const collapsibleContext = useCollapsibleContext();\n const defaultId = itemContext.generateId(\"trigger\");\n const mergedProps = mergeDefaultProps4(\n { id: defaultId },\n props\n );\n const [local, others] = splitProps4(mergedProps, [\n \"ref\",\n \"onPointerDown\",\n \"onPointerUp\",\n \"onClick\",\n \"onKeyDown\",\n \"onMouseDown\",\n \"onFocus\"\n ]);\n createDomCollectionItem({\n getItem: () => ({\n ref: () => ref,\n type: \"item\",\n key: itemContext.value(),\n textValue: \"\",\n // not applicable here\n disabled: collapsibleContext.disabled()\n })\n });\n const selectableItem = createSelectableItem(\n {\n key: () => itemContext.value(),\n selectionManager: () => accordionContext.listState().selectionManager(),\n disabled: () => collapsibleContext.disabled(),\n shouldSelectOnPressUp: true\n },\n () => ref\n );\n const onKeyDown = (e) => {\n if ([\"Enter\", \" \"].includes(e.key)) {\n e.preventDefault();\n }\n callHandler(e, local.onKeyDown);\n callHandler(e, selectableItem.onKeyDown);\n };\n createEffect2(() => onCleanup2(itemContext.registerTriggerId(others.id)));\n return <CollapsibleTrigger\n ref={mergeRefs2((el) => ref = el, local.ref)}\n data-key={selectableItem.dataKey()}\n onPointerDown={composeEventHandlers2([\n local.onPointerDown,\n selectableItem.onPointerDown\n ])}\n onPointerUp={composeEventHandlers2([\n local.onPointerUp,\n selectableItem.onPointerUp\n ])}\n onClick={composeEventHandlers2([local.onClick, selectableItem.onClick])}\n onKeyDown={onKeyDown}\n onMouseDown={composeEventHandlers2([\n local.onMouseDown,\n selectableItem.onMouseDown\n ])}\n onFocus={composeEventHandlers2([local.onFocus, selectableItem.onFocus])}\n {...others}\n />;\n}\n\n// src/accordion/index.tsx\nvar Accordion = Object.assign(AccordionRoot, {\n Content: AccordionContent,\n Header: AccordionHeader,\n Item: AccordionItem,\n Trigger: AccordionTrigger\n});\n\nexport {\n AccordionContent,\n AccordionHeader,\n useAccordionContext,\n AccordionItem,\n AccordionRoot,\n AccordionTrigger,\n Accordion,\n accordion_exports\n};\n","import { createMemo, Show, type Component } from \"solid-js\"\nimport { getChildSessions, getSessionInfo, getThreadTotals } from \"../../stores/sessions\"\nimport { formatTokenTotal } from \"../../lib/formatters\"\nimport { useI18n } from \"../../lib/i18n\"\nimport { useConfig } from \"../../stores/preferences\"\n\ninterface ContextUsagePanelProps {\n instanceId: string\n sessionId: string\n class?: string\n}\n\nconst chipClass = \"badge-shape inline-flex items-center gap-1 border border-base px-2 py-0.5 text-xs text-primary\"\nconst chipLabelClass = \"uppercase text-[10px] tracking-wide text-muted\"\n\nconst ContextUsagePanel: Component<ContextUsagePanelProps> = (props) => {\n const { t } = useI18n()\n const { preferences } = useConfig()\n const showUsage = createMemo(() => preferences().showUsageMetrics ?? true)\n const info = createMemo(\n () =>\n getSessionInfo(props.instanceId, props.sessionId) ?? {\n cost: 0,\n contextWindow: 0,\n isSubscriptionModel: false,\n inputTokens: 0,\n outputTokens: 0,\n reasoningTokens: 0,\n actualUsageTokens: 0,\n modelOutputLimit: 0,\n contextAvailableTokens: null,\n },\n )\n\n const children = createMemo(() => getChildSessions(props.instanceId, props.sessionId))\n const hasChildren = createMemo(() => children().length > 0)\n\n const threadTotals = createMemo(() => {\n if (!hasChildren()) return { cost: 0, inputTokens: 0, outputTokens: 0, reasoningTokens: 0 }\n return getThreadTotals(props.instanceId, props.sessionId) ?? { cost: 0, inputTokens: 0, outputTokens: 0, reasoningTokens: 0 }\n })\n\n const totalCostDisplay = createMemo(() => `$${threadTotals().cost.toFixed(2)}`)\n\n const totalInputTokens = createMemo(() => threadTotals().inputTokens)\n const totalOutputTokens = createMemo(() => threadTotals().outputTokens)\n const totalReasoningTokens = createMemo(() => threadTotals().reasoningTokens)\n\n const inputTokens = createMemo(() => info().inputTokens ?? 0)\n const outputTokens = createMemo(() => info().outputTokens ?? 0)\n const costValue = createMemo(() => {\n const value = info().isSubscriptionModel ? 0 : info().cost\n return value > 0 ? value : 0\n })\n\n const costDisplay = createMemo(() => info().isSubscriptionModel ? t(\"contextUsagePanel.included\") : `$${costValue().toFixed(2)}`)\n\n return (\n <div class={`session-context-panel px-4 py-2 ${props.class ?? \"\"}`}>\n <div class=\"flex flex-wrap items-center gap-2 text-xs text-primary opacity-50\">\n <div class={chipClass}>\n <span class={chipLabelClass}>{t(\"contextUsagePanel.labels.input\")}</span>\n <span class=\"font-semibold text-primary\">{formatTokenTotal(inputTokens())}</span>\n </div>\n <div class={chipClass}>\n <span class={chipLabelClass}>{t(\"contextUsagePanel.labels.output\")}</span>\n <span class=\"font-semibold text-primary\">{formatTokenTotal(outputTokens())}</span>\n </div>\n <div class={chipClass}>\n <span class={chipLabelClass}>{t(\"contextUsagePanel.labels.cost\")}</span>\n <span class=\"font-semibold text-primary\">{costDisplay()}</span>\n </div>\n <Show when={hasChildren() && showUsage()}>\n <div class={chipClass}>\n <span class={chipLabelClass}>{t(\"contextUsagePanel.labels.totalInput\")}</span>\n <span class=\"font-semibold text-primary\">{formatTokenTotal(totalInputTokens())}</span>\n </div>\n <div class={chipClass}>\n <span class={chipLabelClass}>{t(\"contextUsagePanel.labels.totalOutput\")}</span>\n <span class=\"font-semibold text-primary\">{formatTokenTotal(totalOutputTokens())}</span>\n </div>\n <div class={chipClass}>\n <span class={chipLabelClass}>{t(\"contextUsagePanel.labels.totalCost\")}</span>\n <span class=\"font-semibold text-primary\">{totalCostDisplay()}</span>\n </div>\n <div class={chipClass}>\n <span class={chipLabelClass}>{t(\"contextUsagePanel.labels.totalReasoning\")}</span>\n <span class=\"font-semibold text-primary\">{formatTokenTotal(totalReasoningTokens())}</span>\n </div>\n </Show>\n </div>\n </div>\n )\n}\n\nexport default ContextUsagePanel\n","import { For, Show, createEffect, createMemo, createSignal, onCleanup, type Component } from \"solid-js\"\n\nimport type { ProviderUsageResponse, ProviderUsageWindow } from \"../../../../server/src/api-types\"\nimport { serverApi } from \"../../lib/api-client\"\nimport { useI18n } from \"../../lib/i18n\"\nimport { useConfig } from \"../../stores/preferences\"\n\ninterface ProviderUsagePanelProps {\n providerId: string\n modelId: string\n}\n\nconst REFRESH_INTERVAL_MS = 60_000\nconst usageCache = new Map<string, { value: ProviderUsageResponse | null; updatedAt: number }>()\n\nexport const shouldShowProviderUsageWindow = (label: string, showCreditBalance: boolean) =>\n label !== \"credits_balance\" || showCreditBalance\n\nconst ProviderUsagePanel: Component<ProviderUsagePanelProps> = (props) => {\n const { t } = useI18n()\n const { preferences } = useConfig()\n const source = createMemo(() => {\n const providerId = props.providerId.trim()\n if (!providerId) return null\n const modelId = props.modelId.trim()\n return { providerId, modelId, key: `${providerId}\\0${modelId}` }\n })\n const initialSource = source()\n const [usage, setUsage] = createSignal<ProviderUsageResponse | null | undefined>(\n initialSource ? usageCache.get(initialSource.key)?.value : undefined,\n )\n let requestId = 0\n\n const refreshUsage = async (providerId: string, modelId: string, key: string, clear: boolean) => {\n const currentRequestId = ++requestId\n if (clear) setUsage(undefined)\n try {\n const response = await serverApi.fetchProviderUsage(providerId, modelId)\n usageCache.set(key, { value: response, updatedAt: Date.now() })\n if (currentRequestId === requestId) setUsage(response)\n } catch {\n if (currentRequestId === requestId && usage() === undefined) {\n usageCache.set(key, { value: null, updatedAt: Date.now() })\n setUsage(null)\n }\n }\n }\n\n createEffect(() => {\n const current = source()\n if (!current) {\n requestId += 1\n setUsage(undefined)\n return\n }\n const cached = usageCache.get(current.key)\n setUsage(cached?.value)\n if (!cached || Date.now() - cached.updatedAt >= REFRESH_INTERVAL_MS) {\n void refreshUsage(current.providerId, current.modelId, current.key, cached === undefined)\n }\n })\n\n const refreshTimer = setInterval(() => {\n const current = source()\n if (current) void refreshUsage(current.providerId, current.modelId, current.key, false)\n }, REFRESH_INTERVAL_MS)\n onCleanup(() => {\n requestId += 1\n clearInterval(refreshTimer)\n })\n\n const entries = createMemo(() => Object.entries(usage()?.windows ?? {}))\n const displayedEntries = createMemo(() =>\n entries().filter(([label]) => shouldShowProviderUsageWindow(label, preferences().showProviderUsageCreditBalance)),\n )\n\n const windowLabel = (label: string) => {\n const key = ({\n \"5h\": \"fiveHours\",\n \"7d\": \"sevenDays\",\n \"7d-sonnet\": \"sevenDaysSonnet\",\n \"7d-opus\": \"sevenDaysOpus\",\n weekly: \"weekly\",\n daily: \"daily\",\n monthly: \"monthly\",\n credits: \"credits\",\n credits_balance: \"credits\",\n billing_cycle: \"billingCycle\",\n session: \"session\",\n premium: \"premium\",\n chat: \"chat\",\n completions: \"completions\",\n \"mcp-tools\": \"mcpTools\",\n } as Record<string, string>)[label]\n return key ? t(`providerUsage.windows.${key}`) : label\n }\n\n const displayValue = (window: ProviderUsageWindow) => {\n if (window.valueLabel) return window.valueLabel\n if (window.usedPercent === null) return t(\"providerUsage.unavailableValue\")\n return t(\"providerUsage.usedPercent\", { percent: Math.round(window.usedPercent) })\n }\n\n const resetLabel = (resetAt: number | null) => {\n if (!resetAt) return null\n const date = new Date(resetAt)\n if (!Number.isFinite(date.getTime())) return null\n return t(\"providerUsage.resets\", { time: date.toLocaleString([], { dateStyle: \"short\", timeStyle: \"short\" }) })\n }\n\n const barColor = (percent: number | null) => {\n if (percent !== null && percent >= 80) return \"var(--status-error)\"\n if (percent !== null && percent >= 50) return \"var(--status-warning)\"\n return \"var(--status-success)\"\n }\n\n return (\n <div>\n <Show when={usage() !== undefined} fallback={<div class=\"right-panel-empty-text\">{t(\"providerUsage.loading\")}</div>}>\n <Show when={usage()} fallback={<div class=\"right-panel-empty-text\">{t(\"providerUsage.unavailable\")}</div>}>\n {(data) => (\n <Show\n when={data().supported && data().configured && data().ok && entries().length > 0}\n fallback={\n <div class=\"right-panel-empty-text\">\n {t(\n !data().supported\n ? \"providerUsage.unsupported\"\n : !data().configured\n ? \"providerUsage.notConfigured\"\n : \"providerUsage.unavailable\",\n )}\n </div>\n }\n >\n <div class=\"space-y-2\">\n <For each={displayedEntries()}>\n {([label, window]) => (\n <div>\n <div class=\"mb-1 flex items-baseline justify-between gap-2 text-[11px] text-primary\">\n <span class=\"font-medium\">{windowLabel(label)}</span>\n <div class=\"flex min-w-0 items-baseline gap-1.5 text-right\">\n <span class=\"shrink-0 font-medium\">{displayValue(window)}</span>\n <Show when={resetLabel(window.resetAt)}>\n {(reset) => (\n <>\n <span class=\"text-tertiary\" aria-hidden=\"true\">·</span>\n <span class=\"truncate text-[10px] text-tertiary\">{reset()}</span>\n </>\n )}\n </Show>\n </div>\n </div>\n <Show when={window.usedPercent !== null}>\n <div class=\"h-2 overflow-hidden border border-base\" style={{ \"background-color\": \"var(--surface-base)\" }}>\n <div\n class=\"h-full transition-[width] duration-300\"\n style={{ width: `${Math.max(0, Math.min(100, window.usedPercent ?? 0))}%`, \"background-color\": barColor(window.usedPercent) }}\n role=\"progressbar\"\n aria-label={t(\"providerUsage.progressLabel\", { window: windowLabel(label) })}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={Math.round(window.usedPercent ?? 0)}\n />\n </div>\n </Show>\n </div>\n )}\n </For>\n </div>\n </Show>\n )}\n </Show>\n </Show>\n <Show when={usage()?.supported && usage()?.configured && usage()?.ok && entries().length > 0}>\n <div class=\"mt-2 truncate text-right text-sm font-semibold text-secondary\">{usage()?.providerName ?? props.providerId}</div>\n </Show>\n </div>\n )\n}\n\nexport default ProviderUsagePanel\n","import { createSignal, untrack } from \"solid-js\"\nimport type { OpenCodeClient, ShellInfo } from \"@opencode/client\"\nimport { requestLocationOptions } from \"./request-locations\"\n\nconst MAX_SHELL_OUTPUT_DISPLAY_CHARS = 4 * 1024 * 1024\n\nexport function appendShellOutput(current: string, chunk: string): { output: string; truncated: boolean } {\n const output = current + chunk\n if (output.length <= MAX_SHELL_OUTPUT_DISPLAY_CHARS) return { output, truncated: false }\n\n let start = output.length - MAX_SHELL_OUTPUT_DISPLAY_CHARS\n if (output.charCodeAt(start) >= 0xdc00 && output.charCodeAt(start) <= 0xdfff) start += 1\n if (output[start] === \"\\u001b\" && output[start + 1] === \"\\\\\") start += 2\n else if (output[start] === \"\\\\\" && output[start - 1] === \"\\u001b\") start += 1\n const escape = output.lastIndexOf(\"\\u001b\", start)\n if (escape >= 0) {\n let end = -1\n let controlSequence = false\n if (output[escape + 1] === \"[\") {\n controlSequence = true\n for (let index = escape + 2; index < output.length; index += 1) {\n const code = output.charCodeAt(index)\n if (code === 0x18 || code === 0x1a) {\n end = index + 1\n break\n }\n if (code >= 0x40 && code <= 0x7e) {\n end = index + 1\n break\n }\n }\n } else if (output[escape + 1] === \"]\") {\n controlSequence = true\n const bell = output.indexOf(\"\\u0007\", escape + 2)\n const stringTerminator = output.indexOf(\"\\u001b\\\\\", escape + 2)\n const cancel = output.slice(escape + 2).search(/[\\u0018\\u001a]/)\n const terminators = [bell < 0 ? Infinity : bell + 1, stringTerminator < 0 ? Infinity : stringTerminator + 2, cancel < 0 ? Infinity : escape + 3 + cancel]\n end = Math.min(...terminators)\n if (!Number.isFinite(end)) end = -1\n } else if ([\"P\", \"X\", \"^\", \"_\"].includes(output[escape + 1] ?? \"\")) {\n controlSequence = true\n const stringTerminator = output.indexOf(\"\\u001b\\\\\", escape + 2)\n const cancel = output.slice(escape + 2).search(/[\\u0018\\u001a]/)\n end = Math.min(stringTerminator < 0 ? Infinity : stringTerminator + 2, cancel < 0 ? Infinity : escape + 3 + cancel)\n if (!Number.isFinite(end)) end = -1\n }\n if (controlSequence && end >= start) start = end\n else if (controlSequence && end < 0 && escape < start) start = output.length\n }\n return { output: output.slice(start), truncated: true }\n}\n\nexport interface ShellApi {\n list(directory: string, workspaceID?: string): Promise<ShellInfo[]>\n remove(directory: string, shellId: string, workspaceID?: string): Promise<void>\n output(directory: string, shellId: string, cursor?: number, workspaceID?: string): Promise<{ output: string; cursor: number; size: number; truncated: boolean }>\n}\n\nexport interface ShellState {\n items: ShellInfo[]\n loading: boolean\n failed: boolean\n}\n\nexport interface ShellRefreshEvent {\n type: string\n location?: { directory?: string; workspaceID?: string }\n data?: { info?: { cwd?: string } }\n}\n\nconst EMPTY_STATE: ShellState = { items: [], loading: false, failed: false }\nconst SHELL_EVENTS = new Set([\"shell.created\", \"shell.exited\", \"shell.deleted\", \"server.connected\"])\n\nexport function createShellApi(client: OpenCodeClient): ShellApi {\n const location = (directory: string) => ({ directory })\n return {\n list: async (directory, workspaceID) => (await client.shell.list({ location: location(directory) }, requestLocationOptions({ directory, workspaceID }))).data,\n remove: (directory, shellId, workspaceID) => client.shell.remove({ id: shellId, location: location(directory) }, requestLocationOptions({ directory, workspaceID })),\n output: async (directory, shellId, cursor = 0, workspaceID) => (await client.shell.output({\n id: shellId,\n location: location(directory),\n cursor,\n limit: 1024 * 1024,\n }, requestLocationOptions({ directory, workspaceID }))).data,\n }\n}\n\nexport function createShellStore(apiForInstance: (instanceId: string) => ShellApi) {\n const [states, setStates] = createSignal<Map<string, ShellState>>(new Map())\n const generations = new Map<string, number>()\n const key = (instanceId: string, directory: string, workspaceID?: string) => JSON.stringify([instanceId, directory, workspaceID])\n const setState = (stateKey: string, state: ShellState) => setStates((current) => new Map(current).set(stateKey, state))\n const readState = (stateKey: string): ShellState => untrack(() => states().get(stateKey) ?? EMPTY_STATE)\n\n const load = async (instanceId: string, directory: string, workspaceID?: string): Promise<void> => {\n if (!instanceId || !directory) return\n const stateKey = key(instanceId, directory, workspaceID)\n const generation = (generations.get(stateKey) ?? 0) + 1\n generations.set(stateKey, generation)\n setState(stateKey, { ...readState(stateKey), loading: true, failed: false })\n try {\n const items = await apiForInstance(instanceId).list(directory, workspaceID)\n if (generations.get(stateKey) === generation) setState(stateKey, { items, loading: false, failed: false })\n } catch {\n if (generations.get(stateKey) === generation) setState(stateKey, { ...readState(stateKey), loading: false, failed: true })\n }\n }\n\n const refreshForEvent = async (instanceId: string, event: ShellRefreshEvent): Promise<void> => {\n if (!SHELL_EVENTS.has(event.type)) return\n const eventDirectory = event.location?.directory ?? event.data?.info?.cwd\n const tracked = Array.from(states().keys())\n .map((stateKey): [string, string, string | null] => JSON.parse(stateKey))\n .filter(([trackedInstanceId]) => trackedInstanceId === instanceId)\n const matching = eventDirectory ? tracked.filter(([, directory, workspaceID]) => sameDirectory(directory, eventDirectory)\n && (event.location?.workspaceID === undefined || event.location.workspaceID === workspaceID)) : tracked\n await Promise.all((matching.length ? matching : tracked).map(([, directory, workspaceID]) => load(instanceId, directory, workspaceID ?? undefined)))\n }\n\n const remove = async (instanceId: string, directory: string, shellId: string, workspaceID?: string): Promise<boolean> => {\n try {\n await apiForInstance(instanceId).remove(directory, shellId, workspaceID)\n await load(instanceId, directory, workspaceID)\n return true\n } catch { return false }\n }\n\n const output = (instanceId: string, directory: string, shellId: string, cursor?: number, workspaceID?: string) =>\n apiForInstance(instanceId).output(directory, shellId, cursor, workspaceID)\n const getState = (instanceId: string, directory: string, workspaceID?: string): ShellState => states().get(key(instanceId, directory, workspaceID)) ?? EMPTY_STATE\n return { getState, load, refreshForEvent, remove, output }\n}\n\nfunction sameDirectory(left: string, right: string): boolean {\n const normalize = (value: string) => {\n const normalized = value.replace(/\\\\/g, \"/\").replace(/\\/+$/, \"\")\n return /^[A-Za-z]:\\//.test(normalized) || normalized.startsWith(\"//\") ? normalized.toLowerCase() : normalized\n }\n return normalize(left) === normalize(right)\n}\n","import { serverEvents } from \"../lib/server-events\"\nimport { getRootClient } from \"./opencode-client\"\nimport { createShellApi, createShellStore, type ShellRefreshEvent } from \"./shell-store\"\n\nconst shellStore = createShellStore((instanceId) => createShellApi(getRootClient(instanceId)))\n\nserverEvents.on(\"instance.event\", (event) => {\n if (event.type !== \"instance.event\" || !event.event.type.startsWith(\"shell.\")) return\n void shellStore.refreshForEvent(event.instanceId, event.event as ShellRefreshEvent)\n})\n\nserverEvents.on(\"instance.eventStatus\", (event) => {\n if (event.type !== \"instance.eventStatus\" || event.status !== \"connected\") return\n void shellStore.refreshForEvent(event.instanceId, { type: \"server.connected\" })\n})\n\nexport { shellStore }\n","import { Dialog } from \"@kobalte/core/dialog\"\nimport { Show, createEffect, createSignal, onCleanup } from \"solid-js\"\nimport type { ShellInfo } from \"@opencode/client\"\n\nimport { createAnsiStreamRenderer, hasAnsi } from \"../lib/ansi\"\nimport { useI18n } from \"../lib/i18n\"\nimport { appendShellOutput } from \"../stores/shell-store\"\nimport { shellStore } from \"../stores/shells\"\n\ninterface ShellOutputDialogProps {\n open: boolean\n instanceId: string\n directory: string\n workspaceID?: string\n shell: ShellInfo | null\n onClose: () => void\n}\n\nexport function ShellOutputDialog(props: ShellOutputDialogProps) {\n const { t } = useI18n()\n const [output, setOutput] = createSignal(\"\")\n const [outputHtml, setOutputHtml] = createSignal(\"\")\n const [ansiEnabled, setAnsiEnabled] = createSignal(false)\n const [truncated, setTruncated] = createSignal(false)\n const [loading, setLoading] = createSignal(false)\n\n createEffect(() => {\n const shell = props.shell\n const directory = props.directory\n const workspaceID = props.workspaceID\n if (!props.open || !shell || !directory) return\n\n let active = true\n let cursor = 0\n let raw = \"\"\n let timer: ReturnType<typeof setTimeout> | undefined\n const render = () => {\n const ansi = hasAnsi(raw)\n setAnsiEnabled(ansi)\n if (!ansi) return setOutputHtml(\"\")\n const renderer = createAnsiStreamRenderer()\n setOutputHtml(renderer.render(raw))\n }\n const poll = async () => {\n try {\n const result = await shellStore.output(props.instanceId, directory, shell.id, cursor, workspaceID)\n if (!active) return\n cursor = result.cursor\n if (result.output) {\n const next = appendShellOutput(raw, result.output)\n raw = next.output\n setOutput(raw)\n setTruncated((current) => current || result.truncated || next.truncated)\n render()\n } else if (result.truncated) {\n setTruncated(true)\n }\n } catch {\n if (!active) return\n setOutput(t(\"backgroundProcessOutputDialog.loadErrorFallback\"))\n } finally {\n if (!active) return\n setLoading(false)\n timer = setTimeout(poll, 1000)\n }\n }\n\n setOutput(\"\")\n setOutputHtml(\"\")\n setAnsiEnabled(false)\n setTruncated(false)\n setLoading(true)\n void poll()\n onCleanup(() => {\n active = false\n if (timer) clearTimeout(timer)\n })\n })\n\n return (\n <Dialog open={props.open} onOpenChange={(open) => !open && props.onClose()} modal>\n <Dialog.Portal>\n <Dialog.Overlay class=\"modal-overlay\" />\n <div class=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n <Dialog.Content class=\"modal-surface flex max-h-[90vh] w-full max-w-5xl flex-col overflow-hidden\">\n <div class=\"window-header\">\n <div class=\"min-w-0 flex-1\">\n <Dialog.Title class=\"window-title\">{t(\"backgroundProcessOutputDialog.title\")}</Dialog.Title>\n <span class=\"block truncate text-xs text-secondary\" title={props.shell?.command}>{props.shell?.command}</span>\n </div>\n <button type=\"button\" class=\"button-tertiary shrink-0\" onClick={props.onClose}>\n {t(\"backgroundProcessOutputDialog.actions.close\")}\n </button>\n </div>\n <div class=\"window-body\">\n <Show when={loading()}><p class=\"text-xs text-secondary\">{t(\"backgroundProcessOutputDialog.loading\")}</p></Show>\n <Show when={truncated()}><p class=\"mb-2 text-xs text-secondary\">{t(\"backgroundProcessOutputDialog.truncatedNotice\")}</p></Show>\n <Show when={!loading()}>\n <pre\n class=\"border border-base bg-surface-secondary p-4 font-mono text-xs text-primary whitespace-pre-wrap break-all\"\n innerHTML={ansiEnabled() ? outputHtml() : undefined}\n >{ansiEnabled() ? undefined : output()}</pre>\n </Show>\n </div>\n </Dialog.Content>\n </div>\n </Dialog.Portal>\n </Dialog>\n )\n}\n","import { For, Show, createEffect, createMemo, createSignal, on, type Accessor, type Component } from \"solid-js\"\nimport type { LocationRef, ShellInfo } from \"@opencode/client\"\nimport type { ToolState } from \"../../../../../types/tool-state\"\nimport {\n DragDropProvider,\n DragDropSensors,\n SortableProvider,\n closestCenter,\n createSortable,\n type DragEvent as SolidDndDragEvent,\n} from \"@thisbeyond/solid-dnd\"\nimport { Accordion } from \"@kobalte/core\"\nimport { Tooltip } from \"@kobalte/core/tooltip\"\nimport Switch from \"@suid/material/Switch\"\n\nimport { ChevronRight, GripVertical, Info, TerminalSquare, Trash2, XOctagon } from \"lucide-solid\"\n\nimport type { Instance } from \"../../../../../types/instance\"\nimport type { Session } from \"../../../../../types/session\"\n\nimport ContextUsagePanel from \"../../../../session/context-usage-panel\"\nimport ProviderUsagePanel from \"../../../../session/provider-usage-panel\"\nimport { TodoListView } from \"../../../../tool-call/renderers/todo\"\nimport InstanceServiceStatus from \"../../../../instance-service-status\"\nimport { togglePermissionAutoAcceptForSession } from \"../../../../../stores/instances\"\nimport { isPermissionAutoAcceptEnabled } from \"../../../../../stores/permission-auto-accept\"\nimport { applyRightPanelItemCustomization, type RightPanelCustomization, type RightPanelSectionModule } from \"../registry\"\nimport { createCoreStatusSectionManifest } from \"../core-plugin\"\nimport { shellStore } from \"../../../../../stores/shells\"\nimport { showConfirmDialog } from \"../../../../../stores/alerts\"\nimport { showToastNotification } from \"../../../../../lib/notifications\"\nimport { ShellOutputDialog } from \"../../../../shell-output-dialog\"\n\ninterface StatusTabProps {\n t: (key: string, vars?: Record<string, any>) => string\n\n instanceId: string\n instance: Instance\n\n activeSessionId: Accessor<string | null>\n activeSession: Accessor<Session | null>\n\n latestTodoState: Accessor<ToolState | null>\n\n expandedItems: Accessor<string[]>\n onExpandedItemsChange: (values: string[]) => void\n customization: Accessor<RightPanelCustomization>\n onCustomizationChange: (updater: (current: RightPanelCustomization) => RightPanelCustomization) => void\n extraSections?: readonly RightPanelSectionModule[]\n}\n\ninterface SortableStatusSectionProps {\n section: RightPanelSectionModule\n expanded: boolean\n t: (key: string, vars?: Record<string, any>) => string\n}\n\nconst SortableStatusSection: Component<SortableStatusSectionProps> = (props) => {\n const sortable = createSortable(props.section.id)\n return (\n <div ref={sortable} class={`right-panel-section-draggable ${sortable.isActiveDraggable ? \"right-panel-section-draggable-active\" : \"\"}`}>\n <Accordion.Item value={props.section.id} class=\"right-panel-accordion-item\">\n <Accordion.Header class=\"right-panel-accordion-header-row\">\n <Accordion.Trigger class=\"right-panel-accordion-trigger\">\n <span class=\"section-left\">\n <ChevronRight class=\"right-panel-accordion-chevron disclosure-chevron\" />\n <span class=\"section-label\">{props.t(props.section.labelKey)}</span>\n </span>\n </Accordion.Trigger>\n <Tooltip openDelay={200} gutter={4} placement=\"top\">\n <Tooltip.Trigger as=\"button\" type=\"button\" class=\"section-info-trigger\" aria-label={props.t(props.section.tooltipKey)}>\n <Info class=\"section-info-icon\" />\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content class=\"section-info-tooltip\">{props.t(props.section.tooltipKey)}</Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip>\n <GripVertical class=\"right-panel-section-grip\" aria-hidden=\"true\" />\n </Accordion.Header>\n <Accordion.Content class=\"right-panel-accordion-content\">{props.section.render()}</Accordion.Content>\n </Accordion.Item>\n </div>\n )\n}\n\nconst StatusTab: Component<StatusTabProps> = (props) => {\n const isSectionExpanded = (id: string) => props.expandedItems().includes(id)\n const shellLocation = createMemo(() => props.activeSession()?.location ?? { directory: props.instance.folder })\n const shellState = createMemo(() => shellStore.getState(props.instanceId, shellLocation().directory, shellLocation().workspaceID))\n const [outputShell, setOutputShell] = createSignal<{ shell: ShellInfo; location: LocationRef; instanceId: string } | null>(null)\n\n createEffect(on(\n () => [props.instanceId, shellLocation().directory, shellLocation().workspaceID] as const,\n ([instanceId, directory, workspaceID]) => void shellStore.load(instanceId, directory, workspaceID),\n ))\n\n const renderYoloModeSection = () => {\n const session = props.activeSession()\n if (!session) {\n return (\n <div class=\"right-panel-empty right-panel-empty--left\">\n <span class=\"text-xs\">{props.t(\"instanceShell.yoloMode.noSessionSelected\")}</span>\n </div>\n )\n }\n\n return (\n <div class=\"flex items-center justify-between gap-2 border border-base bg-surface-secondary px-3 py-2\">\n <p class=\"min-w-0 text-xs leading-5 text-secondary\">{props.t(\"instanceShell.yoloMode.description\")}</p>\n <div class=\"-mr-2 shrink-0\">\n <Switch\n class=\"yolo-mode-switch\"\n checked={isPermissionAutoAcceptEnabled(props.instanceId, session.id)}\n size=\"small\"\n sx={{\n \"& .MuiSwitch-switchBase.Mui-checked\": { color: \"var(--session-yolo-accent)\" },\n \"& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track\": { backgroundColor: \"var(--session-yolo-accent)\" },\n }}\n inputProps={{ \"aria-label\": props.t(\"instanceShell.yoloMode.title\") }}\n onChange={() => togglePermissionAutoAcceptForSession(props.instanceId, session.id)}\n />\n </div>\n </div>\n )\n }\n\n const renderPlanSectionContent = () => {\n const sessionId = props.activeSessionId()\n if (!sessionId || sessionId === \"info\") {\n return (\n <div class=\"right-panel-empty right-panel-empty--left\">\n <span class=\"text-xs\">{props.t(\"instanceShell.plan.noSessionSelected\")}</span>\n </div>\n )\n }\n const todoState = props.latestTodoState()\n if (!todoState) {\n return (\n <div class=\"right-panel-empty right-panel-empty--left\">\n <span class=\"text-xs\">{props.t(\"instanceShell.plan.empty\")}</span>\n </div>\n )\n }\n return <TodoListView state={todoState} emptyLabel={props.t(\"instanceShell.plan.empty\")} showStatusLabel={false} />\n }\n\n const removeShell = async (shellId: string, command: string, running: boolean) => {\n const instanceId = props.instanceId\n const location = { ...shellLocation() }\n const confirmed = await showConfirmDialog(\n props.t(\"instanceShell.backgroundProcesses.remove.message\", { title: command }),\n {\n title: props.t(\"instanceShell.backgroundProcesses.remove.title\"),\n confirmLabel: props.t(running\n ? \"instanceShell.backgroundProcesses.actions.stopRemove\"\n : \"instanceShell.backgroundProcesses.actions.remove\"),\n },\n )\n if (confirmed && !await shellStore.remove(instanceId, location.directory, shellId, location.workspaceID)) {\n showToastNotification({ message: props.t(\"instanceShell.backgroundProcesses.error\"), variant: \"error\" })\n }\n }\n\n const renderBackgroundProcesses = () => (\n <Show\n when={!shellState().failed}\n fallback={<div class=\"right-panel-empty right-panel-empty--left\"><span class=\"text-xs\">{props.t(\"instanceShell.backgroundProcesses.error\")}</span></div>}\n >\n <Show\n when={!shellState().loading || shellState().items.length > 0}\n fallback={<div class=\"right-panel-empty right-panel-empty--left\"><span class=\"text-xs\">{props.t(\"instanceShell.backgroundProcesses.loading\")}</span></div>}\n >\n <Show\n when={shellState().items.length > 0}\n fallback={<div class=\"right-panel-empty right-panel-empty--left\"><span class=\"text-xs\">{props.t(\"instanceShell.backgroundProcesses.empty\")}</span></div>}\n >\n <div class=\"flex flex-col gap-1\">\n <For each={shellState().items}>\n {(shell) => {\n const running = () => shell.status === \"running\"\n return (\n <article class=\"status-process-card\">\n <div class=\"flex items-start justify-between gap-2\">\n <div class=\"min-w-0 flex-1\">\n <h4 class=\"truncate text-xs font-medium text-primary\" title={shell.command}>{shell.command}</h4>\n <code class=\"mt-1 block truncate text-xs text-secondary\" title={shell.shell}>{shell.shell}</code>\n </div>\n </div>\n <div class=\"mt-1 flex flex-wrap gap-x-2 gap-y-1 text-xs text-tertiary\">\n <span>{props.t(`instanceShell.backgroundProcesses.status.${shell.status}`)}</span>\n <Show when={shell.pid !== undefined}>\n <span>{props.t(\"instanceShell.backgroundProcesses.pid\", { pid: shell.pid })}</span>\n </Show>\n <Show when={shell.exit !== undefined}>\n <span>{props.t(\"instanceShell.backgroundProcesses.exitCode\", { code: shell.exit })}</span>\n </Show>\n </div>\n <div class=\"mt-1 truncate text-xs text-tertiary\" title={shell.cwd}>{shell.cwd}</div>\n <div class=\"status-process-actions\">\n <button\n type=\"button\"\n class=\"button-tertiary inline-flex w-full items-center justify-center gap-1 p-1\"\n onClick={() => setOutputShell({ shell, location: { ...shellLocation() }, instanceId: props.instanceId })}\n >\n <TerminalSquare class=\"h-3.5 w-3.5\" aria-hidden=\"true\" />\n {props.t(\"instanceShell.backgroundProcesses.actions.output\")}\n </button>\n <button\n type=\"button\"\n class=\"button-tertiary inline-flex w-full items-center justify-center gap-1 p-1\"\n disabled={shellState().loading}\n onClick={() => void removeShell(shell.id, shell.command, running())}\n >\n <Show when={running()} fallback={<Trash2 class=\"h-3.5 w-3.5\" aria-hidden=\"true\" />}>\n <XOctagon class=\"h-3.5 w-3.5\" aria-hidden=\"true\" />\n </Show>\n {props.t(running()\n ? \"instanceShell.backgroundProcesses.actions.stopRemove\"\n : \"instanceShell.backgroundProcesses.actions.remove\")}\n </button>\n </div>\n </article>\n )\n }}\n </For>\n </div>\n </Show>\n </Show>\n </Show>\n )\n\n const renderProviderUsage = () => {\n const session = props.activeSession()\n if (!session) {\n return <div class=\"right-panel-empty-text\">{props.t(\"providerUsage.noSession\")}</div>\n }\n return (\n <div class=\"border border-base bg-surface-secondary px-3 py-2\">\n <ProviderUsagePanel providerId={session.model.providerId} modelId={session.model.modelId} />\n </div>\n )\n }\n\n const allStatusSections = createMemo<RightPanelSectionModule[]>(() => {\n const sections = createCoreStatusSectionManifest({\n renderYoloModeSection,\n renderProviderUsage,\n renderPlanSectionContent,\n renderBackgroundProcesses,\n renderMcpStatus: () => <InstanceServiceStatus initialInstance={props.instance} sections={[\"mcp\"]} showSectionHeadings={false} class=\"space-y-2\" />,\n renderPluginStatus: () => (\n <InstanceServiceStatus initialInstance={props.instance} sections={[\"plugins\"]} showSectionHeadings={false} class=\"space-y-2\" />\n ),\n }).statusSections ?? []\n\n return [...sections, ...(props.extraSections ?? [])]\n })\n const statusSections = createMemo<RightPanelSectionModule[]>(() =>\n applyRightPanelItemCustomization(\n allStatusSections(),\n props.customization().statusSectionOrder,\n props.customization().hiddenStatusSectionIds,\n ),\n )\n\n const moveSection = (sourceId: string, targetId: string) => {\n if (!sourceId || sourceId === targetId) return\n const ids = statusSections().map((section) => section.id)\n const sourceIndex = ids.indexOf(sourceId)\n const targetIndex = ids.indexOf(targetId)\n if (sourceIndex === -1 || targetIndex === -1) return\n const next = [...ids]\n const [moved] = next.splice(sourceIndex, 1)\n next.splice(targetIndex, 0, moved)\n props.onCustomizationChange((current) => ({ ...current, statusSectionOrder: next }))\n }\n\n const handleSectionDragEnd = ({ draggable, droppable }: SolidDndDragEvent) => {\n if (!droppable) return\n moveSection(String(draggable.id), String(droppable.id))\n }\n\n return (\n <div class=\"status-tab-container\">\n <Show when={props.activeSession()?.id}>\n <ContextUsagePanel instanceId={props.instanceId} sessionId={props.activeSession()!.id} class=\"status-tab-context-panel\" />\n </Show>\n\n <Accordion.Root\n class=\"right-panel-accordion\"\n collapsible\n multiple\n value={props.expandedItems()}\n onChange={props.onExpandedItemsChange}\n >\n <DragDropProvider collisionDetector={closestCenter} onDragEnd={handleSectionDragEnd}>\n <DragDropSensors>\n <SortableProvider ids={statusSections().map((section) => section.id)}>\n <For each={statusSections()}>\n {(section) => <SortableStatusSection section={section} expanded={isSectionExpanded(section.id)} t={props.t} />}\n </For>\n </SortableProvider>\n </DragDropSensors>\n </DragDropProvider>\n </Accordion.Root>\n <ShellOutputDialog\n open={Boolean(outputShell())}\n instanceId={outputShell()?.instanceId ?? props.instanceId}\n directory={outputShell()?.location.directory ?? shellLocation().directory}\n workspaceID={outputShell()?.location.workspaceID}\n shell={outputShell()?.shell ?? null}\n onClose={() => setOutputShell(null)}\n />\n </div>\n )\n}\n\nexport default StatusTab\n"],"names":["iconNode","cx","cy","r","key","GripVertical","props","_$createComponent","Icon","_$mergeProps","name","points","d","XOctagon","tooltip_exports","__export","Arrow","PopperArrow","Content","TooltipContent","Portal","TooltipPortal","Root","TooltipRoot","Tooltip","Trigger","TooltipTrigger","useTooltipContext","TooltipContext","createContext","context","useContext","Error","mergedProps","mergeDefaultProps","id","generateId","local","others","splitProps","createEffect","onCleanup","registerContentId","Show","when","contentPresent","children","Popper","Positioner","DismissableLayer","ref","r$","_ref$","mergeRefs","el","setContentRef","role","disableOutsidePointerEvents","style","combineStyle","position","onFocusOutside","e","preventDefault","onDismiss","hideTooltip","dataset","Show2","getTooltipSafeArea","placement","anchorEl","floatingEl","basePlacement","split","anchorRect","getBoundingClientRect","floatingRect","polygon","anchorCenterX","left","width","anchorCenterY","top","height","push","bottom","right","tooltips","tooltipsCounter","globalWarmedUp","globalWarmUpTimeout","globalCoolDownTimeout","globalSkipDelayTimeout","defaultId","createUniqueId","tooltipId","mergeDefaultProps2","openDelay","closeDelay","skipDelayDuration","splitProps2","closeTimeoutId","contentId","setContentId","createSignal","triggerRef","setTriggerRef","contentRef","currentPlacement","setCurrentPlacement","disclosureState","createDisclosureState","open","defaultOpen","onOpenChange","isOpen","present","createPresence","show","forceMount","element","ensureTooltipEntry","closeOpenTooltips","hideTooltipId","immediate","window","clearTimeout","close","setTimeout","showTooltip","warmupTooltip","openTooltip","cancelOpening","cancelClosing","isTargetOnTooltip","target","contains","getPolygonSafeArea","triggerEl","contentEl","onHoverOutside","event","ignoreSafeArea","isPointInPolygon","getEventPoint","createEffect2","doc","getDocument","addEventListener","onCleanup2","removeEventListener","trigger","handleScroll","win","getWindow","capture","createMemo","isDisabled","disabled","triggerOnFocusOnly","createGenerateId","createRegisterId","Provider","value","anchorRef","onCurrentPlacementChange","splitProps3","isPointerDown","isHovered","isFocused","handlePointerUp","handleShow","handleHide","onPointerEnter","callHandler","pointerType","defaultPrevented","onPointerLeave","onPointerDown","getDocument2","once","onClick","onFocus","onBlur","relatedTarget","onCleanup3","Polymorphic","as","_ref$2","mergeRefs2","_$memo","Object","assign","collapsible_exports","Collapsible","CollapsibleContent","CollapsibleRoot","CollapsibleTrigger","useCollapsibleContext","CollapsibleContext","setRef","shouldMount","setHeight","setWidth","isMountAnimationPrevented","onMount","raf","requestAnimationFrame","cancelAnimationFrame","on","transitionDuration","animationName","rect","defer","createSignal2","toggle","ButtonRoot","accordion_exports","Accordion","AccordionContent","Header","AccordionHeader","Item","AccordionItem","AccordionRoot","AccordionTrigger","useAccordionContext","AccordionItemContext","useAccordionItemContext","itemContext","triggerId","AccordionContext","createContext2","useContext2","accordionContext","setTriggerId","selectionManager","listState","isExpanded","isSelected","registerTriggerId","createUniqueId2","mergeDefaultProps3","multiple","collapsible","shouldFocusWrap","items","setItems","DomCollectionProvider","createDomCollection","onItemsChange","createListState","selectedKeys","defaultSelectedKeys","defaultValue","onSelectionChange","onChange","Array","from","disallowEmptySelection","selectionMode","dataSource","setFocusedKey","selectableList","createSelectableList","collection","disallowTypeAhead","allowsTabNavigation","createGenerateId2","onKeyDown","composeEventHandlers","onMouseDown","onFocusIn","onFocusOut","collapsibleContext","mergeDefaultProps4","splitProps4","createDomCollectionItem","getItem","type","textValue","selectableItem","createSelectableItem","shouldSelectOnPressUp","includes","dataKey","composeEventHandlers2","onPointerUp","ContextUsagePanel","t","useI18n","preferences","useConfig","showUsage","showUsageMetrics","info","getSessionInfo","instanceId","sessionId","cost","contextWindow","isSubscriptionModel","inputTokens","outputTokens","reasoningTokens","actualUsageTokens","modelOutputLimit","contextAvailableTokens","getChildSessions","hasChildren","length","threadTotals","getThreadTotals","totalCostDisplay","toFixed","totalInputTokens","totalOutputTokens","totalReasoningTokens","costValue","costDisplay","_el$","_tmpl$2","_el$2","firstChild","_el$3","_el$4","_el$5","nextSibling","_el$6","_el$7","_el$8","_el$9","_el$0","_el$1","_$insert","formatTokenTotal","_el$10","_tmpl$","_el$11","_el$12","_el$13","_el$14","_el$15","_el$16","_el$17","_el$18","_el$19","_el$20","_el$21","_$effect","_$className","class","REFRESH_INTERVAL_MS","usageCache","Map","shouldShowProviderUsageWindow","label","showCreditBalance","ProviderUsagePanel","source","providerId","trim","modelId","initialSource","usage","setUsage","get","undefined","requestId","refreshUsage","clear","currentRequestId","response","serverApi","fetchProviderUsage","set","updatedAt","Date","now","current","cached","refreshTimer","setInterval","clearInterval","entries","windows","displayedEntries","filter","showProviderUsageCreditBalance","windowLabel","weekly","daily","monthly","credits","credits_balance","billing_cycle","session","premium","chat","completions","displayValue","valueLabel","usedPercent","percent","Math","round","resetLabel","resetAt","date","Number","isFinite","getTime","time","toLocaleString","dateStyle","timeStyle","barColor","fallback","_tmpl$3","data","supported","configured","ok","_tmpl$4","For","each","_tmpl$6","reset","_tmpl$7","_tmpl$8","_tmpl$5","_p$","_v$","max","min","_v$2","_v$3","_v$4","_$setStyleProperty","a","_$setAttribute","o","providerName","MAX_SHELL_OUTPUT_DISPLAY_CHARS","appendShellOutput","chunk","output","start","escape","end","controlSequence","index","code","bell","stringTerminator","cancel","terminators","EMPTY_STATE","SHELL_EVENTS","createShellApi","client","location","directory","workspaceID","requestLocationOptions","shellId","cursor","createShellStore","apiForInstance","states","setStates","generations","setState","stateKey","state","readState","untrack","load","generation","eventDirectory","_a","_c","_b","tracked","trackedInstanceId","matching","sameDirectory","normalize","normalized","shellStore","getRootClient","serverEvents","ShellOutputDialog","setOutput","outputHtml","setOutputHtml","ansiEnabled","setAnsiEnabled","truncated","setTruncated","loading","setLoading","shell","active","raw","timer","render","ansi","hasAnsi","renderer","createAnsiStreamRenderer","poll","result","next","Dialog","onClose","modal","Overlay","Title","command","_$addEventListener","_c$","innerHTML","_$delegateEvents","SortableStatusSection","sortable","createSortable","section","_$use","ChevronRight","labelKey","gutter","tooltipKey","Info","isActiveDraggable","StatusTab","isSectionExpanded","expandedItems","shellLocation","activeSession","instance","folder","shellState","getState","outputShell","setOutputShell","renderYoloModeSection","Switch","checked","isPermissionAutoAcceptEnabled","size","sx","color","backgroundColor","inputProps","togglePermissionAutoAcceptForSession","renderPlanSectionContent","activeSessionId","todoState","latestTodoState","TodoListView","emptyLabel","showStatusLabel","removeShell","running","showConfirmDialog","title","confirmLabel","remove","showToastNotification","message","variant","renderBackgroundProcesses","failed","status","_el$22","_el$23","_el$24","_el$27","_el$28","_el$29","_el$30","pid","_el$25","exit","_el$26","cwd","$$click","TerminalSquare","Trash2","renderProviderUsage","_el$32","_tmpl$9","model","_el$31","allStatusSections","createCoreStatusSectionManifest","renderMcpStatus","InstanceServiceStatus","initialInstance","sections","showSectionHeadings","renderPluginStatus","statusSections","extraSections","applyRightPanelItemCustomization","customization","statusSectionOrder","hiddenStatusSectionIds","moveSection","sourceId","targetId","ids","map","sourceIndex","indexOf","targetIndex","moved","splice","onCustomizationChange","handleSectionDragEnd","draggable","droppable","String","_el$33","_tmpl$0","onExpandedItemsChange","DragDropProvider","collisionDetector","closestCenter","onDragEnd","DragDropSensors","SortableProvider","expanded","Boolean"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{I as n}from"./main-
|
|
2
|
-
//# sourceMappingURL=align-justify-
|
|
1
|
+
import{I as n}from"./main-Cbx7KdTr.js";import{k as o,p as y}from"./git-diff-vendor-ChbWBukG.js";const i=[["line",{x1:"3",x2:"21",y1:"6",y2:"6",key:"4m8b97"}],["line",{x1:"3",x2:"21",y1:"12",y2:"12",key:"10d38w"}],["line",{x1:"3",x2:"21",y1:"18",y2:"18",key:"kwyyxn"}]],m=e=>o(n,y(e,{name:"AlignJustify",iconNode:i}));export{m as A};
|
|
2
|
+
//# sourceMappingURL=align-justify-DI8VTZ4G.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"align-justify-
|
|
1
|
+
{"version":3,"file":"align-justify-DI8VTZ4G.js","sources":["../../../../../../node_modules/lucide-solid/dist/source/icons/align-justify.jsx"],"sourcesContent":["import Icon from '../Icon';\nconst iconNode = [\n ['line', { x1: '3', x2: '21', y1: '6', y2: '6', key: '4m8b97' }],\n ['line', { x1: '3', x2: '21', y1: '12', y2: '12', key: '10d38w' }],\n ['line', { x1: '3', x2: '21', y1: '18', y2: '18', key: 'kwyyxn' }],\n];\nconst AlignJustify = (props) => (<Icon {...props} name=\"AlignJustify\" iconNode={iconNode}/>);\nexport default AlignJustify;\n"],"names":["iconNode","x1","x2","y1","y2","key","AlignJustify","props","_$createComponent","Icon","_$mergeProps","name"],"mappings":"gGACA,MAAMA,EAAW,CACb,CAAC,OAAQ,CAAEC,GAAI,IAAKC,GAAI,KAAMC,GAAI,IAAKC,GAAI,IAAKC,IAAK,QAAS,CAAC,EAC/D,CAAC,OAAQ,CAAEJ,GAAI,IAAKC,GAAI,KAAMC,GAAI,KAAMC,GAAI,KAAMC,IAAK,QAAS,CAAC,EACjE,CAAC,OAAQ,CAAEJ,GAAI,IAAKC,GAAI,KAAMC,GAAI,KAAMC,GAAI,KAAMC,IAAK,QAAS,CAAC,CAAC,EAEhEC,EAAgBC,GAAKC,EAAOC,EAAIC,EAAKH,EAAK,CAAEI,KAAI,eAAgBX,SAAAA,CAAkB,CAAA,CAAA","x_google_ignoreList":[0]}
|