sliccy 6.162.1 → 6.162.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/.vite/manifest.json +171 -171
- package/dist/ui/assets/{account-store-B6gTHxRk.js → account-store-BTnettEj.js} +1 -1
- package/dist/ui/assets/{account-store-BWXwbB7G.js → account-store-Sk5UDEo6.js} +1 -1
- package/dist/ui/assets/{adobe-CkXSEHVU.js → adobe-BCa4KDD7.js} +1 -1
- package/dist/ui/assets/{adobe-DdNRxhXh.js → adobe-DOpgBqBG.js} +1 -1
- package/dist/ui/assets/{agent-bridge-CF2VcwtG.js → agent-bridge-B4uuTZmj.js} +1 -1
- package/dist/ui/assets/{agent-panels-CgN-dDda.js → agent-panels-DDdDdmZs.js} +1 -1
- package/dist/ui/assets/{apply-layout-DP3s17A0.js → apply-layout-DHWEDHF_.js} +1 -1
- package/dist/ui/assets/{apps-CCGiqdAP.js → apps-wZ3-bkZW.js} +1 -1
- package/dist/ui/assets/{azure-openai-BtmNQ9RT.js → azure-openai-BysAog0J.js} +1 -1
- package/dist/ui/assets/{azure-openai-cIkHuwoG.js → azure-openai-D3whGm5u.js} +1 -1
- package/dist/ui/assets/{backend-hostfs-Bzv_PDmy.js → backend-hostfs-zL9x1f7S.js} +1 -1
- package/dist/ui/assets/{budget-usage-source-DWrzraWR.js → budget-usage-source-BoAqOZIN.js} +1 -1
- package/dist/ui/assets/{cdp-DsT7ApKs.js → cdp-DSKwtHPM.js} +1 -1
- package/dist/ui/assets/{cerebras-CeFnonQQ.js → cerebras-BI2a9ROv.js} +1 -1
- package/dist/ui/assets/{cerebras-Cr1N7E10.js → cerebras-Dqcrt7Aq.js} +1 -1
- package/dist/ui/assets/{composer-speech-ezxYnBa1.js → composer-speech-CIH3Fy9C.js} +1 -1
- package/dist/ui/assets/{connect-surface-DgCpL5KU.js → connect-surface-BOchc2DI.js} +1 -1
- package/dist/ui/assets/{directed-approval-GKMmaUR5.js → directed-approval-4q2MgZBA.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-D-NoMqoo.js → ensure-speech-assets-DjpK4rMz.js} +1 -1
- package/dist/ui/assets/{fs-DQAWGhMJ.js → fs-DVCrh9Uh.js} +1 -1
- package/dist/ui/assets/{fs-DmX1rcjt.js → fs-DYCpHCsx.js} +2 -2
- package/dist/ui/assets/{github-Crmnp_dE.js → github-B66PAjmH.js} +2 -2
- package/dist/ui/assets/{github-Cb_zIvWR.js → github-CZJWU4J-.js} +1 -1
- package/dist/ui/assets/{github-auth-sdsBjwli.js → github-auth-hHO45d89.js} +1 -1
- package/dist/ui/assets/{github-copilot-BACRk7sL.js → github-copilot-DbhYmOMT.js} +1 -1
- package/dist/ui/assets/{github-copilot-lnfcAUWq.js → github-copilot-dk9F5Txq.js} +1 -1
- package/dist/ui/assets/{github-install-B11N_bYt.js → github-install-DLABucPY.js} +1 -1
- package/dist/ui/assets/{github-zip-DiGdH074.js → github-zip-Dl4FpHW9.js} +1 -1
- package/dist/ui/assets/{hear-DMelM_c3.js → hear-fqS0ovJt.js} +1 -1
- package/dist/ui/assets/{help-BaT5ux_0.js → help-DwEjFjUu.js} +1 -1
- package/dist/ui/assets/{installer-CBSI6SSi.js → installer-Bx3wzcu7.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-CRB07-SK.js → js-realm-worker-vBoEVkUT.js} +1 -1
- package/dist/ui/assets/{kernel-worker-INXxwPQ3.js → kernel-worker-Cl5srBeR.js} +33 -33
- package/dist/ui/assets/{local-llm-4UOGM55T.js → local-llm-DZsHXl_L.js} +1 -1
- package/dist/ui/assets/{local-llm-CgnIOebp.js → local-llm-uTHY5Ual.js} +1 -1
- package/dist/ui/assets/{main-CutwpQPv.js → main-DXWS1IVz.js} +3 -3
- package/dist/ui/assets/{main-cherry-DUzTg6Tg.js → main-cherry-C4idCKAq.js} +1 -1
- package/dist/ui/assets/{memory-curation-seam-CN5hmFpa.js → memory-curation-seam-DxC-fV7O.js} +1 -1
- package/dist/ui/assets/{mount-C63utRbm.js → mount-DUrrmQJz.js} +3 -3
- package/dist/ui/assets/{mount-recovery-TcIqLrjM.js → mount-recovery-CX8fQNbn.js} +1 -1
- package/dist/ui/assets/{mount-DcVVJLpR.js → mount-z8VSx_cW.js} +1 -1
- package/dist/ui/assets/{new-session-CIi79Tea.js → new-session-DXlnfPbx.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-CdaY2_gT.js → oauth-bootstrap-CLaikNyP.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-MuQMIBKy.js → onboarding-orchestrator-ax5TRJvn.js} +1 -1
- package/dist/ui/assets/{openai-codex-CfjvGEFD.js → openai-codex-01ikBVlh.js} +1 -1
- package/dist/ui/assets/{openai-codex-4UPxN6Mo.js → openai-codex-CBXZx51K.js} +1 -1
- package/dist/ui/assets/{openrouter-BzGtWTZ2.js → openrouter-CkIxEjzK.js} +1 -1
- package/dist/ui/assets/{openrouter-JdNgGpfs.js → openrouter-DYHHMkMT.js} +1 -1
- package/dist/ui/assets/{openrouter-free-BReDidfz.js → openrouter-free-BicCGu0d.js} +1 -1
- package/dist/ui/assets/{openrouter-free-6p_JRu3J.js → openrouter-free-D45Gbej5.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CZGlMEGf.js → openrouter-oauth-BqCdKSGz.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Bhv4-06O.js → openrouter-oauth-lmyBK61J.js} +1 -1
- package/dist/ui/assets/{opfs-mount-CgQxXPgu.js → opfs-mount-Duu5vA7T.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-l1t3WlF6.js → panel-rpc-handlers-Ds8LHs3W.js} +2 -2
- package/dist/ui/assets/{panelize-shell-Bh5E6MAZ.js → panelize-shell-C_Ae1Hog.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-DIoIe4bO.js → pi-edit-execution-ChKOzrBi.js} +1 -1
- package/dist/ui/assets/{provider-akeQqbfc.js → provider-DKUNteWE.js} +1 -1
- package/dist/ui/assets/{provider-C1AYsIKD.js → provider-DNXXUHXM.js} +2 -2
- package/dist/ui/assets/provider-settings-CdCRajf8.js +1 -0
- package/dist/ui/assets/provider-store-access-BnNcfup5.js +1 -0
- package/dist/ui/assets/provider-store-access-DIZUbP1h.js +1 -0
- package/dist/ui/assets/{providers--5ANKIFl.js → providers-ZfM6F0Jd.js} +1 -1
- package/dist/ui/assets/{providers-o5Iu8clE.js → providers-mhaGOEhg.js} +2 -2
- package/dist/ui/assets/{quick-llm-DNfy_To7.js → quick-llm-CzaiPeIX.js} +1 -1
- package/dist/ui/assets/{recovery-screen-BrY450L6.js → recovery-screen-DzML0nu6.js} +1 -1
- package/dist/ui/assets/{run-BjA69VMG.js → run-BcHdnyi5.js} +1 -1
- package/dist/ui/assets/{run-D04nXdCY.js → run-C2sZqFNl.js} +2 -2
- package/dist/ui/assets/{run-itS6RLEi.js → run-hg0l0lzS.js} +1 -1
- package/dist/ui/assets/{session-jsonl-C4j52ejX.js → session-jsonl-2bEZy533.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-B7sii30l.js → setup-feature-flags-remote-C6aGg72k.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-DS70mKId.js → silent-renew-backoff-B_D6IKIG.js} +1 -1
- package/dist/ui/assets/{skills-B373oVzU.js → skills-YHej2APa.js} +1 -1
- package/dist/ui/assets/slicc-version-OhzwE5Qg.js +1 -0
- package/dist/ui/assets/{snapshot-features-DHhqgLGB.js → snapshot-features-ByG3dCcO.js} +1 -1
- package/dist/ui/assets/{snapshot-CWjo6Ebd.js → snapshot-j9UvXs9r.js} +1 -1
- package/dist/ui/assets/{soundscape-DOntkegF.js → soundscape-CSdo0dZb.js} +1 -1
- package/dist/ui/assets/{speak-CaPXutfS.js → speak-Dm5sVk4x.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-ukqNkHe9.js → sprinkle-manager-BhHKrAMI.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-BcMDov2i.js → sprinkle-renderer-ZzrznyqG.js} +1 -1
- package/dist/ui/assets/{state-CPlw6VkB.js → state-ClF3Z0cR.js} +1 -1
- package/dist/ui/assets/{store-DeNRENMf.js → store-CMIl8X5U.js} +1 -1
- package/dist/ui/assets/{store-CRITPx-l.js → store-DIH0PKGB.js} +1 -1
- package/dist/ui/assets/{sudo-BN3RPicK.js → sudo-CAFiBjMN.js} +1 -1
- package/dist/ui/assets/{sync-dialog-DTpjEPPj.js → sync-dialog-BfaspJmv.js} +1 -1
- package/dist/ui/assets/{transformers-env-Bymd6OgG.js → transformers-env-wmaHugLi.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-Dl82mHUH.js → tray-sidecar-B1D_KZcU.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-BkDu3cO1.js → upgrade-detection-D_R30C4c.js} +1 -1
- package/dist/ui/assets/{upskill-lick-skip-B21lE8df.js → upskill-lick-skip-Lvb6bebl.js} +1 -1
- package/dist/ui/assets/{voice-reply-DD2mRwev.js → voice-reply-CV22AFT5.js} +1 -1
- package/dist/ui/assets/{wc-attach-unRxpblN.js → wc-attach-DRX8nZSN.js} +2 -2
- package/dist/ui/assets/{wc-extension-DD0ODlq_.js → wc-extension-tF3XW_b8.js} +2 -2
- package/dist/ui/assets/{wc-follower-T_VD78h2.js → wc-follower-ClirqqpZ.js} +3 -3
- package/dist/ui/assets/{wc-follower-oauth-BmLZhL9z.js → wc-follower-oauth-ByNTSq5L.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-BHY0TTk6.js → wc-gelatiere-Cs1F609G.js} +1 -1
- package/dist/ui/assets/{wc-live-RYfXqboV.js → wc-live-BgjOFihF.js} +5 -5
- package/dist/ui/assets/{wc-nav-C0xbSObA.js → wc-nav-CRy2Vt0U.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-BzJ_AYGd.js → wc-onboarding-BY7ojkX0.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-C9jJUWXf.js → wc-placeholder-B0ZCFAzV.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-BKh6eWsn.js → wc-secret-request-DYq17svG.js} +1 -1
- package/dist/ui/assets/{wc-settings-DEWzemW5.js → wc-settings-CSViFPTR.js} +3 -3
- package/dist/ui/assets/{wc-shell-CPCXchNU.js → wc-shell-o3khNlbt.js} +3 -3
- package/dist/ui/assets/{wc-shortcut-config-BrQkmSXh.js → wc-shortcut-config-CUW0ZF38.js} +1 -1
- package/dist/ui/assets/{wc-shortcuts-C_9hN2WU.js → wc-shortcuts-CR8LRvqx.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-DNMbbRJc.js → wc-sprinkles-aprFPdiB.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-IhJuoZxz.js → wc-transcript-export-B__1zmXE.js} +2 -2
- package/dist/ui/assets/{wc-tray-CV3jmhFb.js → wc-tray-XUqrQf3G.js} +4 -4
- package/dist/ui/assets/welcome-detection-DjbcOWy2.js +1 -0
- package/dist/ui/assets/{whisper-session-XCIDP3Xp.js → whisper-session-5GqtYZRf.js} +2 -2
- package/dist/ui/assets/{xai-grok-XHIw9Y_t.js → xai-grok-Byv1S7IW.js} +1 -1
- package/dist/ui/assets/{xai-grok-C0bTK5WJ.js → xai-grok-DIwN-DXC.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/ui/packages/webapp/index.html +3 -3
- package/package.json +1 -1
- package/dist/ui/assets/provider-settings-BS5HL_KH.js +0 -1
- package/dist/ui/assets/provider-store-access-Bv3jykcO.js +0 -1
- package/dist/ui/assets/provider-store-access-Dt7P3U-C.js +0 -1
- package/dist/ui/assets/slicc-version-Fi1vw9jg.js +0 -1
- package/dist/ui/assets/welcome-detection-CP74EmHi.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup--ijSfN8u.js","assets/logger-DDBAeTLF.js","assets/picker-popup-sQtXmfAo.js","assets/runtime-env-Dlaokqg1.js","assets/usb-picker-O-2gFMNl.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/serial-picker-BQF_Eitc.js","assets/hid-picker-sFJ8vzUj.js","assets/usb-device-registry--JwKRTYp.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-device-registry-B2R-0rNt.js","assets/quick-llm-
|
|
2
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{B as t,T as n,V as r,et as i,f as a,nt as o,tt as s,w as c}from"./account-store-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup--ijSfN8u.js","assets/logger-DDBAeTLF.js","assets/picker-popup-sQtXmfAo.js","assets/runtime-env-Dlaokqg1.js","assets/usb-picker-O-2gFMNl.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/serial-picker-BQF_Eitc.js","assets/hid-picker-sFJ8vzUj.js","assets/usb-device-registry--JwKRTYp.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-device-registry-B2R-0rNt.js","assets/quick-llm-CzaiPeIX.js","assets/account-store-Sk5UDEo6.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-DyBveeCl.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DGxXvrur.js","assets/float-topology-YtctpJaG.js","assets/secret-topology-DLJBhHOi.js","assets/secrets-bridge-client--VZ3E0yk.js","assets/port-bridge-client-Dn8JtUyP.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-mhaGOEhg.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-Ce7Vz89o.js","assets/session-jsonl-2bEZy533.js","assets/wc-shortcuts-CR8LRvqx.js","assets/slugify-BYJ6QVAt.js","assets/types-D8gIX-W-.js","assets/main-DXWS1IVz.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/bridge-protocol-06nbmp2X.js","assets/messages-zAgr7E2T.js","assets/tray-runtime-config-B9jN9kUJ.js","assets/telemetry-DJyRzh6X.js","assets/feature-flags-Dr999R3v.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/wc-placeholder-B0ZCFAzV.js","assets/wc-attach-DRX8nZSN.js","assets/permissions-surface-registry-CilCRwhh.js","assets/wc-gelatiere-Cs1F609G.js","assets/new-session-DXlnfPbx.js","assets/tray-leader-BmmfZ-wo.js","assets/mount-table-store-dY2IfQ5S.js","assets/legacy-styles-B3nS5QUo.js","assets/soundscape-CSdo0dZb.js","assets/voice-reply-CV22AFT5.js","assets/speak-Dm5sVk4x.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-wmaHugLi.js","assets/shared-mBEktoxE.js","assets/mime-types-D0xZwlMO.js","assets/remote-vfs-client-Dhv8nI7h.js","assets/writable-vfs-client-pZwewNEw.js","assets/wc-onboarding-BY7ojkX0.js","assets/record-CCQFJXn_.js","assets/wc-browser-DO1Pnegi.js","assets/slicc-app-url-B9OxaBDe.js","assets/tab-teleport-BimzPYfT.js","assets/teleport-storage-CyYkSZfJ.js","assets/remote-terminal-view-D4Ah4AQY.js","assets/browser-DGwroBSO.js","assets/usb-operations-v1mGAdRY.js","assets/terminal-session-client-ADzaWGFd.js","assets/secret-env-CDLWFhsq.js","assets/wc-permissions-BsGMi4OQ.js","assets/wc-permissions-providers-wSXekwkO.js","assets/wc-secret-request-DYq17svG.js","assets/secret-request-registry-DrOMKR1H.js","assets/theme-DFKCBK8N.js","assets/theme-engine-B5SkYf3E.js","assets/panelize-shell-C_Ae1Hog.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-shortcut-config-CUW0ZF38.js","assets/remote-sprinkle-vfs-D-Wz5t8k.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/wc-sprinkles-aprFPdiB.js","assets/wc-unit-context-DhQqWVxs.js","assets/agent-panels-DDdDdmZs.js","assets/apply-layout-DHWEDHF_.js","assets/wc-tray-XUqrQf3G.js","assets/transcript-export-DP-r8eDz.js","assets/wc-follower-oauth-ByNTSq5L.js","assets/sprinkle-renderer-ZzrznyqG.js","assets/hid-operations-C97SZtrY.js","assets/pending-request-table-k-D7ZZsL.js","assets/export-spool-CuNzzI8a.js","assets/src-BWaKqLvQ.js","assets/synthetic-cdp-transport-OUVdC4zy.js","assets/wc-shell-o3khNlbt.js","assets/same-file-identity-DuEcSmPX.js","assets/wc-shell-WkeczD9x.css","assets/sprinkle-instances-B8n7h-oP.js","assets/wc-transcript-export-B__1zmXE.js","assets/wc-nav-CRy2Vt0U.js","assets/composer-speech-CIH3Fy9C.js","assets/whisper-session-5GqtYZRf.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{B as t,T as n,V as r,et as i,f as a,nt as o,tt as s,w as c}from"./account-store-Sk5UDEo6.js";import{t as l}from"./preload-helper-Czpn1I53.js";import{s as u}from"./claude-model-version-CSATLzrT.js";import{t as d}from"./logger-DDBAeTLF.js";import{G as f,H as p,J as m,S as h,V as g,at as _,ct as v,it as y,ot as b,rt as ee,st as te,y as x}from"./wc-shortcuts-CR8LRvqx.js";import{r as ne,t as re}from"./base64-DJRlyqZu.js";import"./proxied-fetch-DyBveeCl.js";import{a as ie,i as ae,n as oe,o as se,s as ce}from"./sprinkle-renderer-ZzrznyqG.js";import{n as le}from"./runtime-env-Dlaokqg1.js";import{t as ue}from"./slugify-BYJ6QVAt.js";import{a as de,i as fe,n as S,t as pe}from"./transcript-export-DP-r8eDz.js";import{S as me,_ as C,a as he,b as ge,c as _e,d as ve,f as w,g as ye,h as be,l as xe,m as Se,n as Ce,o as we,p as Te,r as Ee,s as De,t as Oe,u as ke,v as T,x as E,y as Ae}from"./session-jsonl-2bEZy533.js";import{f as je,h as Me,m as Ne,o as Pe}from"./tray-runtime-config-B9jN9kUJ.js";import{a as Fe,t as Ie}from"./api-endpoint-DGxXvrur.js";import{n as Le}from"./float-topology-YtctpJaG.js";import"./secret-topology-DLJBhHOi.js";import{n as Re}from"./secrets-bridge-client--VZ3E0yk.js";import{t as ze}from"./tool-ui-eSQ1g2I1.js";import{a as Be,c as Ve,l as He,n as Ue,p as We,r as Ge}from"./telemetry-DJyRzh6X.js";import{i as Ke}from"./feature-flags-Dr999R3v.js";import{a as qe,i as Je,t as Ye}from"./tray-follower-status-BAjnN7Ar.js";import{a as Xe,o as Ze,r as Qe,s as $e}from"./main-DXWS1IVz.js";import{n as et}from"./src-BWaKqLvQ.js";import{n as tt,r as D,t as nt}from"./provider-budget-LCzMPlKv.js";import{t as rt}from"./permissions-surface-registry-CilCRwhh.js";import{t as it}from"./types-D8gIX-W-.js";import{n as at,r as ot}from"./hid-device-registry-B2R-0rNt.js";import"./browser-DGwroBSO.js";import{a as st,i as ct}from"./serial-port-registry-CCqklAEr.js";import{c as lt,d as ut,g as dt,i as ft,l as pt,m as mt,n as ht,o as gt,p as _t,r as vt,t as yt,u as bt}from"./hid-operations-C97SZtrY.js";import{a as xt,t as St}from"./icons-Ce7Vz89o.js";import{a as Ct,i as wt}from"./usb-device-registry--JwKRTYp.js";import{f as Tt,i as Et,l as Dt,s as Ot,u as kt}from"./usb-operations-v1mGAdRY.js";import{a as At,i as jt,r as Mt}from"./tray-leader-BmmfZ-wo.js";import{a as Nt,c as Pt,d as Ft,f as O,i as It,l as Lt,m as Rt,n as zt,o as Bt,p as Vt,r as Ht,s as Ut,t as k,u as A}from"./record-CCQFJXn_.js";import"./shared-mBEktoxE.js";import{a as Wt,n as Gt,r as Kt}from"./theme-DFKCBK8N.js";import{C as qt,S as Jt,_ as Yt,a as Xt,b as Zt,c as Qt,d as $t,f as en,g as tn,h as nn,i as rn,l as an,m as on,n as sn,o as cn,p as ln,r as un,t as dn,u as fn,v as pn,x as mn,y as hn}from"./wc-shell-o3khNlbt.js";import{a as gn,c as _n,f as vn,i as yn,l as bn,m as xn,n as Sn,o as Cn,p as j,r as wn,s as Tn,t as En,u as Dn}from"./wc-unit-context-DhQqWVxs.js";var On=`agent-sessions`,kn=1,M=`sessions`;function An(){return new Promise((e,t)=>{let n=indexedDB.open(On,kn);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(M)||e.createObjectStore(M,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var jn=class{dbPromise=null;getDB(){return this.dbPromise||=An().then(e=>(e.onversionchange=()=>{e.close(),this.dbPromise=null},e.onclose=()=>{this.dbPromise=null},e)),this.dbPromise}async save(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(M,`readwrite`).objectStore(M).put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(M,`readonly`).objectStore(M).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async delete(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(M,`readwrite`).objectStore(M).delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async loadAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(M,`readonly`).objectStore(M).getAll();r.onsuccess=()=>t(r.result??[]),r.onerror=()=>n(r.error)})}async list(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(M,`readonly`).objectStore(M).getAll();r.onsuccess=()=>{t((r.result??[]).map(e=>({id:e.id,updatedAt:e.updatedAt})))},r.onerror=()=>n(r.error)})}async clearAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(M,`readwrite`).objectStore(M).clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}static newId(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}static createSession(e,t){let n=Date.now();return{id:e,messages:[],config:t,createdAt:n,updatedAt:n}}static updateMessages(e,t){return{...e,messages:t,updatedAt:Date.now()}}},Mn=e({SessionStore:()=>In}),Nn=`browser-coding-agent`,Pn=1,N=`sessions`;function Fn(){return new Promise((e,t)=>{let n=indexedDB.open(Nn,Pn);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(N)||e.createObjectStore(N,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var In=class{db=null;async init(){await this.getDb()}async getDb(){if(!this.db){let e=await Fn();e.onversionchange=()=>{e.close(),this.db=null},e.onclose=()=>{this.db=null},this.db=e}return this.db}async save(e){let t=await this.getDb();return new Promise((n,r)=>{let i=t.transaction(N,`readwrite`);i.objectStore(N).put(e),i.oncomplete=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDb();return new Promise((n,r)=>{let i=t.transaction(N,`readonly`).objectStore(N).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async list(){let e=await this.getDb();return new Promise((t,n)=>{let r=e.transaction(N,`readonly`).objectStore(N).getAll();r.onsuccess=()=>{t(r.result.sort((e,t)=>t.updatedAt-e.updatedAt).map(e=>e.id))},r.onerror=()=>n(r.error)})}async delete(e){let t=await this.getDb();return new Promise((n,r)=>{let i=t.transaction(N,`readwrite`);i.objectStore(N).delete(e),i.oncomplete=()=>n(),i.onerror=()=>r(i.error)})}async saveMessages(e,t){let n=await this.load(e),r=n?{...n,messages:t,updatedAt:Date.now()}:{id:e,messages:t,createdAt:Date.now(),updatedAt:Date.now()};await this.save(r)}},Ln=e({getTranscriptExportService:()=>zn,registerTranscriptExportService:()=>Rn}),P=null;function Rn(e){return P=e,()=>{P===e&&(P=null)}}function zn(){if(!P)throw new S(`session-not-found`);return P}var Bn=e({broadcastToDips:()=>ir,disposeDips:()=>Tr,handleDipPickerAction:()=>Er,hydrateDips:()=>wr,mountDip:()=>z,setDipExecHandler:()=>or}),Vn=le();function Hn(e){if(typeof e!=`object`||!e||Array.isArray(e))return[];let t=e.filters;return Array.isArray(t)?t:[]}async function Un(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await Kn(e,!0,t);if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);if(n===null)throw Error(`VFS read failed: ${e}`);return typeof n==`string`?n:new TextDecoder().decode(n)}var Wn=null;function Gn(){if(Wn)return Wn;if(typeof BroadcastChannel>`u`)return null;try{Wn=new BroadcastChannel(`preview-vfs`)}catch{return null}return Wn}async function Kn(e,t,n){let r=Gn();if(!r)return null;let i=`dip-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise(a=>{let o=!1,s=()=>{r.removeEventListener(`message`,c),n?.removeEventListener(`abort`,l)},c=e=>{if(!o&&e.data?.type===`preview-vfs-response`&&e.data.id===i){if(o=!0,s(),e.data.error){a(null);return}a(e.data.content??null)}},l=()=>{o||(o=!0,s(),a(null))};r.addEventListener(`message`,c),n?.addEventListener(`abort`,l),setTimeout(()=>{o||(o=!0,s(),a(null))},5e3),r.postMessage({type:`preview-vfs-read`,id:i,path:e,asText:t})})}var qn=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],Jn=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function Yn(e){return qn.some(t=>e.startsWith(t))}function Xn(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:Jn.some(t=>e.startsWith(t))}var F=new WeakSet,Zn=`,
|
|
3
3
|
exec: Object.assign(function(cmd) {
|
|
4
4
|
return _vfsCall('dip-exec', { cmd: cmd }, function(m) { return m.result; });
|
|
5
5
|
}, { spawn: function(argv) {
|
|
@@ -416,11 +416,11 @@ ${n}
|
|
|
416
416
|
</auto-extracted>`,i={role:`user`,content:[{type:`text`,text:ai}],timestamp:Date.now()},a=await u(e.model,{systemPrompt:r,messages:[i]},{apiKey:e.apiKey,maxTokens:ri,headers:e.headers,signal:e.signal});if(a.stopReason===`error`)throw Error(`Restructure call failed: ${a.errorMessage||`Unknown error`}`);let o=a.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
417
417
|
`).trim();if(!o)throw Error(`Restructure call returned empty content`);return`${t}${t.length===0||t.endsWith(`
|
|
418
418
|
`)?``:`
|
|
419
|
-
`}${o}\n`}async function li(e){if(!e.model||!e.apiKey)return{restructured:!1,reason:`no-llm`};let t=e.memoryPath??ti,n=``;try{let r=await e.vfs.readFile(t,{encoding:`utf-8`});n=typeof r==`string`?r:new TextDecoder().decode(r)}catch{return{restructured:!1,reason:`missing-file`}}let r=await si(e.vfs),i=zr(r),a=i*ei;if(n.length<=a)return{restructured:!1,reason:`under-threshold`};$r.info(`Cone memory over threshold — restructuring`,{size:n.length,budget:i,threshold:a,sessionCount:r});try{let r=await ci({currentContent:n,budget:i,model:e.model,apiKey:e.apiKey,headers:e.headers,signal:e.signal});return await e.vfs.writeFile(t,r),$r.info(`Cone memory restructured`,{before:n.length,after:r.length}),{restructured:!0}}catch(e){return $r.warn(`Cone memory restructure failed — leaving appended content in place`,{error:e instanceof Error?e.message:String(e)}),{restructured:!1,reason:`error`}}}var ui=d(`agentic-memory`),di=1200,fi=3600,pi=7200,mi=e=>[e.memoryPath],hi=e=>[`/sessions/`,`/shared/`,...Kr(e)],gi=`awk.cat.cp.cut.date.diff.du.echo.file.find.grep.head.jq.ls.mkdir.mount.mv.nl.od.printf.readlink.sed.sort.stat.tail.touch.tr.uniq.upskill.wc.xxd`.split(`.`),_i={arrayKeys:new Set([`writablePaths`,`visiblePaths`,`allowedCommands`]),scalarKeys:new Set([`model`,`timeoutSeconds`,`dreamTimeoutSeconds`,`thinkingLevel`])},vi=`medium`,yi=3e4;function bi(e){return e===`cone`?`memory-curator`:`memory-curator-${e}`}var xi={kind:`curate`,nameFor:bi,rivalsFor:e=>[Ti(e)]},Si=`{{TASK}}`,Ci=`(no session archive this pass)`;function wi(e,t,n){return e.kind===`dream`?`**Consolidation pass** (the nightly dreaming): there is NO new session to mine — skip "Mining the session archive" entirely. Your whole job is to make the existing memory better: consolidated, current, and inside its budget. If the file is missing or empty, reply with one line saying so and stop; never invent memories. The run is hard-stopped after ${n} minutes, so consolidate section by section, writing as you go — a stopped run then keeps every section already written.`:`**Curation pass**: mine the archived session at ${t} for what is worth carrying into future sessions, fold it into the memory, and consolidate the whole file in the same pass. Work fast: a pass should finish in well under 10 minutes and is hard-stopped after ${n} minutes — mine the three signals, write, and stop, rather than exploring the archive exhaustively.`}function Ti(e){return e===`cone`?`memory-dreamer`:`memory-dreamer-${e}`}function Ei(e,t){let n=e.nameFor(t);return Oi.test(n)?n:e.nameFor(k)}function Di(e,t){let n=Oi.test(e.nameFor(t))?t:k;return e.rivalsFor?.(n)??[]}var Oi=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;function ki(e,t){return`/scoops/agent-${Ei(e,t)}`}function Ai(e){return ki(xi,e)}var ji=Ai(k);function Mi(e){return Hr({parentJid:null,folder:e?.folder??`cone`})}function Ni(e,t){if(t.root===B.root)return e;if(e===B.memoryPath)return t.memoryPath;if(e===`/workspace/skills`||e.startsWith(`/workspace/skills/`))return e;let n=`${B.root}/`;return e===B.root?t.root:e.startsWith(n)?`${t.root}/${e.slice(n.length)}`:e}function Pi(e,t){let n=`${Vr}/`,r=e=>e.some(e=>n.startsWith(e.endsWith(`/`)?e:`${e}/`)),i=e.map(e=>Ni(e,t));return r(e)&&!r(i)&&i.push(n),i}async function Fi(e){try{if(e.signal?.aborted)return{ok:!1,reason:`aborted`,legacyFallbackSafe:!1};let t=e.instructions??xi,n=Mi(e.cone),r=ki(t,e.cone?.folder??`cone`),i=await Ii(e.vfs,n),a=t.kind===`dream`?i.dreamTimeoutSeconds:i.timeoutSeconds,o=H(e.sessionArchivePath);try{await Hi(e.vfs,n.memoryPath,e.sessionArchivePath)}catch(e){return{ok:!1,reason:`snapshot: ${U(e)}`,legacyFallbackSafe:!0}}let s=t.kind===`dream`?Ci:e.sessionArchivePath,c=Math.max(1,Math.round(a/60)),l=wi(t,s,c),u=Wi(i,a,Gi(Ki(i.promptTemplate.includes(Si)?i.promptTemplate:`${i.promptTemplate.trimEnd()}\n\n${Si}`,{MEMORY_PATH:o,SESSION_ARCHIVE_PATH:s,SESSION_COUNT:String(e.sessionCount),BUDGET_CHARS:String(zr(e.sessionCount)),SCRATCH_DIR:r,TODAY:e.today??new Date().toISOString().slice(0,10),TIMEOUT_MINUTES:String(c),TASK:l}),r),e.sessionArchivePath,n,e.cone,t);e.signal&&(u.signal=e.signal);let d=await qi(Promise.resolve().then(()=>e.spawn(u)),a*1e3+yi,e.signal);if(d.type===`timeout`)return ui.warn(`Agentic memory wait timed out past the in-run bound + grace`,{timeoutSeconds:a,graceMs:yi}),{ok:!1,reason:`timeout`,legacyFallbackSafe:!1};if(d.type===`aborted`)return{ok:!1,reason:`aborted`,legacyFallbackSafe:!1};if(d.type===`error`)return{ok:!1,reason:U(d.error),legacyFallbackSafe:!0};if(d.result.exitCode!==0){let e=(d.result.finalText??``).startsWith(Qr);return{ok:!1,reason:d.result.finalText||`exit-${d.result.exitCode}`,legacyFallbackSafe:!e}}return{ok:!0,report:d.result.finalText}}catch(e){return ui.warn(`Agentic memory pass failed`,{error:U(e)}),{ok:!1,reason:U(e),legacyFallbackSafe:!1}}}async function Ii(e,t=B){try{let n=await e.readFile(Ir,{encoding:`utf-8`});return Li(typeof n==`string`?n:new TextDecoder().decode(n),t)}catch(e){return ui.warn(`Could not load valid ${Ir}; using built-in default`,{error:U(e)}),Li(Fr,t)}}function Li(e,t=B){let n=te(e,`MEMORY.md`),r=ee(n.frontmatter,_i),i=y(r,`writablePaths`,mi(t));if(i.length===0)throw Error(`writablePaths must not be empty`);v(i,`writablePaths`);let a=y(r,`visiblePaths`,hi(t));v(a,`visiblePaths`);let o=_(r.timeoutSeconds,600,di),s=_(r.dreamTimeoutSeconds,fi,pi,`dreamTimeoutSeconds`),c=b(r.model,`model`);return{writablePaths:i.map(e=>Ni(e,t)),visiblePaths:Pi(a,t),allowedCommands:[...new Set([...gi,...y(r,`allowedCommands`,[])])],...c?{model:c}:{},thinkingLevel:Ri(r.thinkingLevel),timeoutSeconds:o,dreamTimeoutSeconds:s,promptTemplate:n.body}}function Ri(e){if(e===void 0)return vi;if(typeof e!=`string`||!Zr(e))throw Error(`thinkingLevel must be one of ${Xr.join(`, `)}`);return e}function zi(e){return`/sessions/.curated/${e.slice(e.lastIndexOf(`/`)+1)}`}function V(e){return`/sessions/.curation/${e.slice(e.lastIndexOf(`/`)+1)}`}function Bi(e){return`${V(e)}/base.md`}function H(e){return`${V(e)}/draft.md`}function Vi(e){return`${V(e)}/status.json`}async function Hi(e,t,n){let r=``;try{let n=await e.readFile(t,{encoding:`utf-8`});r=typeof n==`string`?n:new TextDecoder().decode(n)}catch{}await e.mkdir(V(n),{recursive:!0}),await e.writeFile(Bi(n),r),await e.writeFile(H(n),r)}function Ui(e,t,n){let r=e.map(e=>e===t?n:e);return r.includes(n)?r:[...r,n]}function Wi(e,t,n,r,i,a,o){let s=e.model===`parent`||e.model===`cone`,c=Bi(r),l=H(r);return{cwd:i.root,writablePaths:Ui(e.writablePaths,i.memoryPath,l),visiblePaths:[...e.visiblePaths,`${V(r)}/`],allowedCommands:e.allowedCommands,prompt:n,thinkingLevel:e.thinkingLevel,persistSession:!0,name:Ei(o,a?.folder??`cone`),exclusiveWith:Di(o,a?.folder??`cone`),...a?.jid?{parentJid:a.jid}:{},notifyOnComplete:!0,successReceiptPath:zi(r),mergeOnSuccess:{targetPath:i.memoryPath,basePath:c,draftPath:l},outcomeReceiptPath:Vi(r),maxWallClockMs:t*1e3,...!s&&e.model?{modelId:e.model}:{}}}function Gi(e,t){if(t===ji)return e;let n=`\0SCRATCH\0`;return e.replaceAll(t,n).replaceAll(ji,t).replaceAll(n,t)}function Ki(e,t){let n=e;for(let[e,r]of Object.entries(t))n=n.replaceAll(`{{${e}}}`,r);return n}function qi(e,t,n){return new Promise(r=>{let i=!1,a=e=>{i||(i=!0,clearTimeout(s),n?.removeEventListener(`abort`,o),r(e))},o=()=>a({type:`aborted`}),s=setTimeout(()=>a({type:`timeout`}),t);n?.addEventListener(`abort`,o,{once:!0}),e.then(e=>a({type:`result`,result:e}),e=>a({type:`error`,error:e}))})}function U(e){return e instanceof Error?e.message:String(e)}var Ji=e({PENDING_SESSION_ATTEMPT_LIMIT:()=>3,SESSIONS_INDEX_PATH:()=>T,curateFrozenSessionMemories:()=>ea,enrichPendingSession:()=>Ea,freezeConeSession:()=>$i,listPendingEnrichments:()=>Ca,markSnapshotUnavailable:()=>Ua,processPendingSessions:()=>wa,readSessionsIndex:()=>E}),W=d(`session-freezer`),Yi=4,Xi=2048,Zi=40,Qi=`${C}/attachments`;async function $i(e){let t=await _a(e.sessionStore,ha(e));if(!t||t.messages.length<Yi)return W.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=ya(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);!e.agenticMemorySpawn&&e.memory!==`skip`&&await ra(e,n,i);let a=await ia(e,n,i)||_e(t.messages);return await aa(e,t,a,r,i?await ta(e,a):void 0,!!e.agenticMemorySpawn&&e.memory!==`skip`)}async function ea(e,t){let n=ya(t.archive.messages),r;try{r=await Fi({spawn:e.agenticMemorySpawn,vfs:e.vfs,sessionArchivePath:Ae(t),sessionCount:await si(e.vfs),...e.cone?{cone:e.cone}:{}})}catch(e){r={ok:!1,reason:e instanceof Error?e.message:String(e),legacyFallbackSafe:!1}}if(r.ok){let n=await Ra(e.vfs,t.filename);return await ka(e.vfs,t.filename),n?(delete t.memoryPending,W.info(`Agentic memory pass completed`,{filename:t.filename}),n):(W.info(`Agentic memory pass completed; index entry already gone`,{filename:t.filename}),null)}return await Ba(e.vfs,t.filename,r.reason),r.legacyFallbackSafe?(W.warn(`Agentic memory pass failed after finishing — falling back to legacy extraction`,{filename:t.filename,reason:r.reason}),await ra(e,n,!0),null):(W.warn(`Agentic memory pass unfinished — entry stays pending for boot catch-up`,{filename:t.filename,reason:r.reason,attemptLimit:3}),null)}async function ta(e,t){try{return na(await(e.pickIcon??(await l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-DNfy_To7.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34]))).pickLucideIcon)({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){W.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function na(e){if(e)return St(e)?e:void 0}async function ra(e,t,n){if(!n){W.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let r=``;try{r=await o({messages:t,instruction:i,model:e.model,apiKey:e.apiKey,maxTokens:Xi,headers:e.headers})}catch(e){W.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!r.trim()||r.trim()===`NONE`){W.info(`Memory extraction returned no durable memories`);return}try{await Sa(e.vfs,ga(ha(e)),r.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),W.info(`Memory extracted and appended on new-session`)}catch(e){W.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function ia(e,t,n){if(!n)return``;try{return ba(await o({messages:t,instruction:s,model:e.model,apiKey:e.apiKey,maxTokens:Zi,headers:e.headers}))}catch(e){return W.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function aa(e,t,n,r,i,a=!1){let o=new Date().toISOString(),s=ha(e),c=await va(e.vfs,s),u=c?.sessionId??crypto.randomUUID(),d=c?.filename??(r===`quick`?`pending-${Te()}.md`:`${o.replace(/[:.]/g,`-`)}-${Se(n)}.md`),f=oa(t.messages),p={cone:s,...s!==`cone`&&e.cone?.label?{coneLabel:e.cone.label}:{}},m={filename:d,sessionId:u,title:n,frozenAt:o,messageCount:t.messages.length,...f??{},...p,...i?{icon:i}:{},...r===`quick`||c?{pendingEnrichment:!0}:{},...a?{memoryPending:!0}:{},...e.memory===`skip`?{memorySkipped:!0}:{}};try{await xa(e.vfs,C);let r=await la(e.vfs,t.messages,d.replace(/\.md$/,``)),i={id:t.id,title:n,frozenAt:o,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:r,...f??{},...p,...e.memory===`skip`?{memorySkipped:!0}:{}};if(Ke(`memory-v2`)){let{writeArchiveBundle:t}=await l(async()=>{let{writeArchiveBundle:e}=await import(`./session-jsonl-C4j52ejX.js`).then(e=>e.i);return{writeArchiveBundle:e}},__vite__mapDeps([35,5,36,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,37,38]));await t(e.vfs,d,i)}else await e.vfs.writeFile(`${C}/${d}`,De(i));return await be(e.vfs,m),await e.vfs.flush(),W.info(`Cone session frozen`,{filename:d,title:n,cone:s,messageCount:t.messages.length,completedLiveSnapshot:!!c}),{...m,archive:i}}catch(e){return W.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}function oa(e){let t={total:0,input:0,output:0,cacheRead:0,cacheWrite:0},n=new Map,r=!1;for(let i of e){if(i.role!==`assistant`)continue;let{model:e,usage:a}=i;if(!e||!a||!ca(a))return null;let o=a.cost;r=!0,t.total+=o.total,t.input+=o.input,t.output+=o.output,t.cacheRead+=o.cacheRead,t.cacheWrite+=o.cacheWrite;let s=n.get(e)??{model:e,cost:0,turns:0,tokens:0};s.cost+=o.total,s.turns+=1,s.tokens+=a.input+a.output+a.cacheRead+a.cacheWrite,n.set(e,s)}return r?{cost:t,models:[...n.values()].sort((e,t)=>t.cost-e.cost)}:null}function sa(e){return typeof e==`number`&&Number.isFinite(e)}function ca(e){let{cost:t}=e;return[e.input,e.output,e.cacheRead,e.cacheWrite].every(sa)&&[t.input,t.output,t.cacheRead,t.cacheWrite,t.total].every(sa)}async function la(e,t,n){let r={vfs:e,archiveDir:`${Qi}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(fa)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await ua(r,n));i.push({...e,attachments:t})}return i}async function ua(e,t){if(!fa(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await da(e.vfs,t.path);if(!r)return ma(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await xa(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function da(e,t){try{if(!await pa(e,t))return null;let n=await e.readFile(t,{encoding:`binary`});if(!(n instanceof Uint8Array))throw Error(`Expected binary attachment content at ${t}`);return n}catch{return null}}function fa(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function pa(e,t){let n=t.split(`/`).slice(1);if(n.length<2||n[0]!==`tmp`||n.some(e=>!e||e===`.`||e===`..`))return!1;let r=`/`;for(let t=0;t<n.length;t+=1){let i=(await e.readDir(r)).find(e=>e.name===n[t]);if(!i)return!1;if(t===n.length-1)return i.type===`file`;if(i.type!==`directory`)return!1;r=r===`/`?`/${n[t]}`:`${r}/${n[t]}`}return!1}function ma(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}function ha(e){return e.cone?.folder||`cone`}function ga(e){return Hr({parentJid:null,folder:e}).memoryPath}async function _a(e,t){let n=zt({folder:t});try{return await e.load(n)}catch(e){return W.warn(`Failed to load cone chat session`,{sessionId:n,error:e instanceof Error?e.message:String(e)}),null}}async function va(e,t){try{return we(await ke(e),t)}catch(e){W.warn(`Sessions index unreadable while looking for a live snapshot`,{error:e instanceof Error?e.message:String(e)});return}}function ya(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}function ba(e){let t=e.trim();return t=t.replace(/^["'`]+|["'`]+$/g,``).trim(),t=t.replace(/\s+/g,` `),t.length>80&&(t=t.slice(0,80).trimEnd()),t}async function xa(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function Sa(e,t,n,r,i){let a=t,o=``;try{let t=await e.readFile(a,{encoding:`utf-8`});o=typeof t==`string`?t:new TextDecoder().decode(t)}catch(t){if(!(t instanceof it)||t.code!==`ENOENT`)throw t;await xa(e,a.slice(0,a.lastIndexOf(`/`)))}let s=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${r})`,c=`${o.length===0||o.endsWith(`
|
|
419
|
+
`}${o}\n`}async function li(e){if(!e.model||!e.apiKey)return{restructured:!1,reason:`no-llm`};let t=e.memoryPath??ti,n=``;try{let r=await e.vfs.readFile(t,{encoding:`utf-8`});n=typeof r==`string`?r:new TextDecoder().decode(r)}catch{return{restructured:!1,reason:`missing-file`}}let r=await si(e.vfs),i=zr(r),a=i*ei;if(n.length<=a)return{restructured:!1,reason:`under-threshold`};$r.info(`Cone memory over threshold — restructuring`,{size:n.length,budget:i,threshold:a,sessionCount:r});try{let r=await ci({currentContent:n,budget:i,model:e.model,apiKey:e.apiKey,headers:e.headers,signal:e.signal});return await e.vfs.writeFile(t,r),$r.info(`Cone memory restructured`,{before:n.length,after:r.length}),{restructured:!0}}catch(e){return $r.warn(`Cone memory restructure failed — leaving appended content in place`,{error:e instanceof Error?e.message:String(e)}),{restructured:!1,reason:`error`}}}var ui=d(`agentic-memory`),di=1200,fi=3600,pi=7200,mi=e=>[e.memoryPath],hi=e=>[`/sessions/`,`/shared/`,...Kr(e)],gi=`awk.cat.cp.cut.date.diff.du.echo.file.find.grep.head.jq.ls.mkdir.mount.mv.nl.od.printf.readlink.sed.sort.stat.tail.touch.tr.uniq.upskill.wc.xxd`.split(`.`),_i={arrayKeys:new Set([`writablePaths`,`visiblePaths`,`allowedCommands`]),scalarKeys:new Set([`model`,`timeoutSeconds`,`dreamTimeoutSeconds`,`thinkingLevel`])},vi=`medium`,yi=3e4;function bi(e){return e===`cone`?`memory-curator`:`memory-curator-${e}`}var xi={kind:`curate`,nameFor:bi,rivalsFor:e=>[Ti(e)]},Si=`{{TASK}}`,Ci=`(no session archive this pass)`;function wi(e,t,n){return e.kind===`dream`?`**Consolidation pass** (the nightly dreaming): there is NO new session to mine — skip "Mining the session archive" entirely. Your whole job is to make the existing memory better: consolidated, current, and inside its budget. If the file is missing or empty, reply with one line saying so and stop; never invent memories. The run is hard-stopped after ${n} minutes, so consolidate section by section, writing as you go — a stopped run then keeps every section already written.`:`**Curation pass**: mine the archived session at ${t} for what is worth carrying into future sessions, fold it into the memory, and consolidate the whole file in the same pass. Work fast: a pass should finish in well under 10 minutes and is hard-stopped after ${n} minutes — mine the three signals, write, and stop, rather than exploring the archive exhaustively.`}function Ti(e){return e===`cone`?`memory-dreamer`:`memory-dreamer-${e}`}function Ei(e,t){let n=e.nameFor(t);return Oi.test(n)?n:e.nameFor(k)}function Di(e,t){let n=Oi.test(e.nameFor(t))?t:k;return e.rivalsFor?.(n)??[]}var Oi=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;function ki(e,t){return`/scoops/agent-${Ei(e,t)}`}function Ai(e){return ki(xi,e)}var ji=Ai(k);function Mi(e){return Hr({parentJid:null,folder:e?.folder??`cone`})}function Ni(e,t){if(t.root===B.root)return e;if(e===B.memoryPath)return t.memoryPath;if(e===`/workspace/skills`||e.startsWith(`/workspace/skills/`))return e;let n=`${B.root}/`;return e===B.root?t.root:e.startsWith(n)?`${t.root}/${e.slice(n.length)}`:e}function Pi(e,t){let n=`${Vr}/`,r=e=>e.some(e=>n.startsWith(e.endsWith(`/`)?e:`${e}/`)),i=e.map(e=>Ni(e,t));return r(e)&&!r(i)&&i.push(n),i}async function Fi(e){try{if(e.signal?.aborted)return{ok:!1,reason:`aborted`,legacyFallbackSafe:!1};let t=e.instructions??xi,n=Mi(e.cone),r=ki(t,e.cone?.folder??`cone`),i=await Ii(e.vfs,n),a=t.kind===`dream`?i.dreamTimeoutSeconds:i.timeoutSeconds,o=H(e.sessionArchivePath);try{await Hi(e.vfs,n.memoryPath,e.sessionArchivePath)}catch(e){return{ok:!1,reason:`snapshot: ${U(e)}`,legacyFallbackSafe:!0}}let s=t.kind===`dream`?Ci:e.sessionArchivePath,c=Math.max(1,Math.round(a/60)),l=wi(t,s,c),u=Wi(i,a,Gi(Ki(i.promptTemplate.includes(Si)?i.promptTemplate:`${i.promptTemplate.trimEnd()}\n\n${Si}`,{MEMORY_PATH:o,SESSION_ARCHIVE_PATH:s,SESSION_COUNT:String(e.sessionCount),BUDGET_CHARS:String(zr(e.sessionCount)),SCRATCH_DIR:r,TODAY:e.today??new Date().toISOString().slice(0,10),TIMEOUT_MINUTES:String(c),TASK:l}),r),e.sessionArchivePath,n,e.cone,t);e.signal&&(u.signal=e.signal);let d=await qi(Promise.resolve().then(()=>e.spawn(u)),a*1e3+yi,e.signal);if(d.type===`timeout`)return ui.warn(`Agentic memory wait timed out past the in-run bound + grace`,{timeoutSeconds:a,graceMs:yi}),{ok:!1,reason:`timeout`,legacyFallbackSafe:!1};if(d.type===`aborted`)return{ok:!1,reason:`aborted`,legacyFallbackSafe:!1};if(d.type===`error`)return{ok:!1,reason:U(d.error),legacyFallbackSafe:!0};if(d.result.exitCode!==0){let e=(d.result.finalText??``).startsWith(Qr);return{ok:!1,reason:d.result.finalText||`exit-${d.result.exitCode}`,legacyFallbackSafe:!e}}return{ok:!0,report:d.result.finalText}}catch(e){return ui.warn(`Agentic memory pass failed`,{error:U(e)}),{ok:!1,reason:U(e),legacyFallbackSafe:!1}}}async function Ii(e,t=B){try{let n=await e.readFile(Ir,{encoding:`utf-8`});return Li(typeof n==`string`?n:new TextDecoder().decode(n),t)}catch(e){return ui.warn(`Could not load valid ${Ir}; using built-in default`,{error:U(e)}),Li(Fr,t)}}function Li(e,t=B){let n=te(e,`MEMORY.md`),r=ee(n.frontmatter,_i),i=y(r,`writablePaths`,mi(t));if(i.length===0)throw Error(`writablePaths must not be empty`);v(i,`writablePaths`);let a=y(r,`visiblePaths`,hi(t));v(a,`visiblePaths`);let o=_(r.timeoutSeconds,600,di),s=_(r.dreamTimeoutSeconds,fi,pi,`dreamTimeoutSeconds`),c=b(r.model,`model`);return{writablePaths:i.map(e=>Ni(e,t)),visiblePaths:Pi(a,t),allowedCommands:[...new Set([...gi,...y(r,`allowedCommands`,[])])],...c?{model:c}:{},thinkingLevel:Ri(r.thinkingLevel),timeoutSeconds:o,dreamTimeoutSeconds:s,promptTemplate:n.body}}function Ri(e){if(e===void 0)return vi;if(typeof e!=`string`||!Zr(e))throw Error(`thinkingLevel must be one of ${Xr.join(`, `)}`);return e}function zi(e){return`/sessions/.curated/${e.slice(e.lastIndexOf(`/`)+1)}`}function V(e){return`/sessions/.curation/${e.slice(e.lastIndexOf(`/`)+1)}`}function Bi(e){return`${V(e)}/base.md`}function H(e){return`${V(e)}/draft.md`}function Vi(e){return`${V(e)}/status.json`}async function Hi(e,t,n){let r=``;try{let n=await e.readFile(t,{encoding:`utf-8`});r=typeof n==`string`?n:new TextDecoder().decode(n)}catch{}await e.mkdir(V(n),{recursive:!0}),await e.writeFile(Bi(n),r),await e.writeFile(H(n),r)}function Ui(e,t,n){let r=e.map(e=>e===t?n:e);return r.includes(n)?r:[...r,n]}function Wi(e,t,n,r,i,a,o){let s=e.model===`parent`||e.model===`cone`,c=Bi(r),l=H(r);return{cwd:i.root,writablePaths:Ui(e.writablePaths,i.memoryPath,l),visiblePaths:[...e.visiblePaths,`${V(r)}/`],allowedCommands:e.allowedCommands,prompt:n,thinkingLevel:e.thinkingLevel,persistSession:!0,name:Ei(o,a?.folder??`cone`),exclusiveWith:Di(o,a?.folder??`cone`),...a?.jid?{parentJid:a.jid}:{},notifyOnComplete:!0,successReceiptPath:zi(r),mergeOnSuccess:{targetPath:i.memoryPath,basePath:c,draftPath:l},outcomeReceiptPath:Vi(r),maxWallClockMs:t*1e3,...!s&&e.model?{modelId:e.model}:{}}}function Gi(e,t){if(t===ji)return e;let n=`\0SCRATCH\0`;return e.replaceAll(t,n).replaceAll(ji,t).replaceAll(n,t)}function Ki(e,t){let n=e;for(let[e,r]of Object.entries(t))n=n.replaceAll(`{{${e}}}`,r);return n}function qi(e,t,n){return new Promise(r=>{let i=!1,a=e=>{i||(i=!0,clearTimeout(s),n?.removeEventListener(`abort`,o),r(e))},o=()=>a({type:`aborted`}),s=setTimeout(()=>a({type:`timeout`}),t);n?.addEventListener(`abort`,o,{once:!0}),e.then(e=>a({type:`result`,result:e}),e=>a({type:`error`,error:e}))})}function U(e){return e instanceof Error?e.message:String(e)}var Ji=e({PENDING_SESSION_ATTEMPT_LIMIT:()=>3,SESSIONS_INDEX_PATH:()=>T,curateFrozenSessionMemories:()=>ea,enrichPendingSession:()=>Ea,freezeConeSession:()=>$i,listPendingEnrichments:()=>Ca,markSnapshotUnavailable:()=>Ua,processPendingSessions:()=>wa,readSessionsIndex:()=>E}),W=d(`session-freezer`),Yi=4,Xi=2048,Zi=40,Qi=`${C}/attachments`;async function $i(e){let t=await _a(e.sessionStore,ha(e));if(!t||t.messages.length<Yi)return W.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=ya(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);!e.agenticMemorySpawn&&e.memory!==`skip`&&await ra(e,n,i);let a=await ia(e,n,i)||_e(t.messages);return await aa(e,t,a,r,i?await ta(e,a):void 0,!!e.agenticMemorySpawn&&e.memory!==`skip`)}async function ea(e,t){let n=ya(t.archive.messages),r;try{r=await Fi({spawn:e.agenticMemorySpawn,vfs:e.vfs,sessionArchivePath:Ae(t),sessionCount:await si(e.vfs),...e.cone?{cone:e.cone}:{}})}catch(e){r={ok:!1,reason:e instanceof Error?e.message:String(e),legacyFallbackSafe:!1}}if(r.ok){let n=await Ra(e.vfs,t.filename);return await ka(e.vfs,t.filename),n?(delete t.memoryPending,W.info(`Agentic memory pass completed`,{filename:t.filename}),n):(W.info(`Agentic memory pass completed; index entry already gone`,{filename:t.filename}),null)}return await Ba(e.vfs,t.filename,r.reason),r.legacyFallbackSafe?(W.warn(`Agentic memory pass failed after finishing — falling back to legacy extraction`,{filename:t.filename,reason:r.reason}),await ra(e,n,!0),null):(W.warn(`Agentic memory pass unfinished — entry stays pending for boot catch-up`,{filename:t.filename,reason:r.reason,attemptLimit:3}),null)}async function ta(e,t){try{return na(await(e.pickIcon??(await l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CzaiPeIX.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34]))).pickLucideIcon)({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){W.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function na(e){if(e)return St(e)?e:void 0}async function ra(e,t,n){if(!n){W.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let r=``;try{r=await o({messages:t,instruction:i,model:e.model,apiKey:e.apiKey,maxTokens:Xi,headers:e.headers})}catch(e){W.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!r.trim()||r.trim()===`NONE`){W.info(`Memory extraction returned no durable memories`);return}try{await Sa(e.vfs,ga(ha(e)),r.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),W.info(`Memory extracted and appended on new-session`)}catch(e){W.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function ia(e,t,n){if(!n)return``;try{return ba(await o({messages:t,instruction:s,model:e.model,apiKey:e.apiKey,maxTokens:Zi,headers:e.headers}))}catch(e){return W.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function aa(e,t,n,r,i,a=!1){let o=new Date().toISOString(),s=ha(e),c=await va(e.vfs,s),u=c?.sessionId??crypto.randomUUID(),d=c?.filename??(r===`quick`?`pending-${Te()}.md`:`${o.replace(/[:.]/g,`-`)}-${Se(n)}.md`),f=oa(t.messages),p={cone:s,...s!==`cone`&&e.cone?.label?{coneLabel:e.cone.label}:{}},m={filename:d,sessionId:u,title:n,frozenAt:o,messageCount:t.messages.length,...f??{},...p,...i?{icon:i}:{},...r===`quick`||c?{pendingEnrichment:!0}:{},...a?{memoryPending:!0}:{},...e.memory===`skip`?{memorySkipped:!0}:{}};try{await xa(e.vfs,C);let r=await la(e.vfs,t.messages,d.replace(/\.md$/,``)),i={id:t.id,title:n,frozenAt:o,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:r,...f??{},...p,...e.memory===`skip`?{memorySkipped:!0}:{}};if(Ke(`memory-v2`)){let{writeArchiveBundle:t}=await l(async()=>{let{writeArchiveBundle:e}=await import(`./session-jsonl-2bEZy533.js`).then(e=>e.i);return{writeArchiveBundle:e}},__vite__mapDeps([35,5,36,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,37,38]));await t(e.vfs,d,i)}else await e.vfs.writeFile(`${C}/${d}`,De(i));return await be(e.vfs,m),await e.vfs.flush(),W.info(`Cone session frozen`,{filename:d,title:n,cone:s,messageCount:t.messages.length,completedLiveSnapshot:!!c}),{...m,archive:i}}catch(e){return W.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}function oa(e){let t={total:0,input:0,output:0,cacheRead:0,cacheWrite:0},n=new Map,r=!1;for(let i of e){if(i.role!==`assistant`)continue;let{model:e,usage:a}=i;if(!e||!a||!ca(a))return null;let o=a.cost;r=!0,t.total+=o.total,t.input+=o.input,t.output+=o.output,t.cacheRead+=o.cacheRead,t.cacheWrite+=o.cacheWrite;let s=n.get(e)??{model:e,cost:0,turns:0,tokens:0};s.cost+=o.total,s.turns+=1,s.tokens+=a.input+a.output+a.cacheRead+a.cacheWrite,n.set(e,s)}return r?{cost:t,models:[...n.values()].sort((e,t)=>t.cost-e.cost)}:null}function sa(e){return typeof e==`number`&&Number.isFinite(e)}function ca(e){let{cost:t}=e;return[e.input,e.output,e.cacheRead,e.cacheWrite].every(sa)&&[t.input,t.output,t.cacheRead,t.cacheWrite,t.total].every(sa)}async function la(e,t,n){let r={vfs:e,archiveDir:`${Qi}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(fa)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await ua(r,n));i.push({...e,attachments:t})}return i}async function ua(e,t){if(!fa(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await da(e.vfs,t.path);if(!r)return ma(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await xa(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function da(e,t){try{if(!await pa(e,t))return null;let n=await e.readFile(t,{encoding:`binary`});if(!(n instanceof Uint8Array))throw Error(`Expected binary attachment content at ${t}`);return n}catch{return null}}function fa(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function pa(e,t){let n=t.split(`/`).slice(1);if(n.length<2||n[0]!==`tmp`||n.some(e=>!e||e===`.`||e===`..`))return!1;let r=`/`;for(let t=0;t<n.length;t+=1){let i=(await e.readDir(r)).find(e=>e.name===n[t]);if(!i)return!1;if(t===n.length-1)return i.type===`file`;if(i.type!==`directory`)return!1;r=r===`/`?`/${n[t]}`:`${r}/${n[t]}`}return!1}function ma(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}function ha(e){return e.cone?.folder||`cone`}function ga(e){return Hr({parentJid:null,folder:e}).memoryPath}async function _a(e,t){let n=zt({folder:t});try{return await e.load(n)}catch(e){return W.warn(`Failed to load cone chat session`,{sessionId:n,error:e instanceof Error?e.message:String(e)}),null}}async function va(e,t){try{return we(await ke(e),t)}catch(e){W.warn(`Sessions index unreadable while looking for a live snapshot`,{error:e instanceof Error?e.message:String(e)});return}}function ya(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}function ba(e){let t=e.trim();return t=t.replace(/^["'`]+|["'`]+$/g,``).trim(),t=t.replace(/\s+/g,` `),t.length>80&&(t=t.slice(0,80).trimEnd()),t}async function xa(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function Sa(e,t,n,r,i){let a=t,o=``;try{let t=await e.readFile(a,{encoding:`utf-8`});o=typeof t==`string`?t:new TextDecoder().decode(t)}catch(t){if(!(t instanceof it)||t.code!==`ENOENT`)throw t;await xa(e,a.slice(0,a.lastIndexOf(`/`)))}let s=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${r})`,c=`${o.length===0||o.endsWith(`
|
|
420
420
|
`)?``:`
|
|
421
|
-
`}\n${s}\n\n${n}\n`;await e.writeFile(a,o+c);try{await li({vfs:e,memoryPath:a,model:i?.model,apiKey:i?.apiKey,headers:i?.headers,signal:i?.signal})}catch(e){W.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function Ca(e){return(await E(e)).filter(e=>(e.pendingEnrichment===!0||e.memoryPending===!0)&&Ta(e)<3)}async function wa(e){let t={attempted:0,completed:0};if(!e.model||!e.apiKey)return t;try{for(let t of await E(e.vfs))t.memoryPending===!0&&t.memoryFailed===void 0&&Ta(t)>=3&&await Ba(e.vfs,t.filename,`catch-up retries exhausted (3)`);let n=await Ca(e.vfs);for(let r of n)try{let n=await za(e.vfs,r.filename);if(!n)continue;t.attempted+=1,await Ea(e.vfs,n,{model:e.model,apiKey:e.apiKey,headers:e.headers})&&(t.completed+=1)}catch(e){W.warn(`Pending session catch-up attempt failed`,{filename:r.filename,error:e instanceof Error?e.message:String(e)})}}catch(e){W.warn(`Pending session catch-up failed`,{error:e instanceof Error?e.message:String(e)})}return t}function Ta(e){let t=e.pendingAttemptCount;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:0}async function Ea(e,t,n){if(!t.pendingEnrichment&&!t.memoryPending)return null;let r=await ja(e,t);if(r===null)return null;let i=await Ma(e,t,r);if(i===null)return null;let a=t.memoryPending===!0&&n.skipMemory!==!0&&await Oa(e,t),o=a||t.memorySkipped===!0?{...n,skipMemory:!0}:n,s=await Na(t,i,o);if(s===null)return null;let c=await Aa(o,s.newTitle);await Pa(e,t,s.bullets,o);let l=await Ia(e,t,r,s.newTitle,c,n.skipMemory===!0);return l&&a&&(await ka(e,t.filename),await Va(e,l.filename),await Da(e,t.filename)),l}async function Da(e,t){for(let n of[Bi(`/sessions/${t}`),H(`/sessions/${t}`)])try{await e.rm(n)}catch{}}async function Oa(e,t){try{return await e.stat(zi(`/sessions/${t.filename}`)),!0}catch{return!1}}async function ka(e,t){try{await e.rm(zi(`/sessions/${t}`))}catch{}}async function Aa(e,t){if(e.pickIcon)try{return await na(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){W.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function ja(e,t){try{let n=await e.readFile(Ae(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?W.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):W.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}async function Ma(e,t,n){let r;try{r=(await Ce(e,n,t.filename)).messages}catch(e){return W.warn(`Failed to parse pending archive — leaving entry intact`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}return r.length===0?(W.info(`Pending archive has no messages — skipping enrichment`,{filename:t.filename}),null):ya(r)}async function Na(e,t,n){let r=``;if(!n.skipMemory)try{r=await o({messages:t,instruction:i,model:n.model,apiKey:n.apiKey,maxTokens:Xi,headers:n.headers})}catch(t){return W.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let a=``;try{a=ba(await o({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:Zi,headers:n.headers}))}catch(t){return W.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return a?{bullets:r,newTitle:a}:(W.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function Pa(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await Sa(e,ga(t.cone||`cone`),i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){W.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}function Fa(e,t,n,r,i){let a=r??e.icon;return{filename:t,title:n,frozenAt:e.frozenAt,messageCount:e.messageCount,...e.cost?{cost:e.cost}:{},...e.models?{models:e.models}:{},...e.cone?{cone:e.cone}:{},...e.coneLabel?{coneLabel:e.coneLabel}:{},...e.sessionId?{sessionId:e.sessionId}:{},...a?{icon:a}:{},...e.completeSnapshotUnavailable?{completeSnapshotUnavailable:!0}:{},...i&&e.memoryPending?{memoryPending:!0}:{},...e.memorySkipped?{memorySkipped:!0}:{}}}async function Ia(e,t,n,r,i,a=!1){let o=Ae(t),s=xe(t.filename),c=s?r:t.title,l=s?`${t.frozenAt.replace(/[:.]/g,`-`)}-${Se(r)}.md`:t.filename,u=`${C}/${l}`;if(s)try{await xa(e,C);let r=La(n,c),i=he(t.filename),a=he(l),s=ve(r,o,u);if(s=ve(s,i,a),i!==a){let e=i.slice(i.lastIndexOf(`/`)+1),t=a.slice(a.lastIndexOf(`/`)+1);s=s.split(`sidecar: ${e}`).join(`sidecar: ${t}`)}await e.writeFile(u,s),await Oe(e,t.filename,l)}catch(e){return W.warn(`Enrichment write failed (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}let d=Fa(t,l,c,i,a);try{await Ha(e,t.filename,d)}catch(e){return W.warn(`Enrichment index update failed (entry may stay pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}if(u!==o){try{await e.rm(o)}catch(e){W.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:o,error:e instanceof Error?e.message:String(e)})}try{await Ee(e,t.filename)}catch(e){W.info(`Stale pending sidecar cleanup failed (harmless)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}try{await e.flush()}catch{}return W.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:l,title:c}),d}function La(e,t){let n=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!n)return e;let r=n[1].replace(/^title:\s*.+$/m,`title: ${JSON.stringify(t)}`),i=n[2];return i=i.replace(/^#\s+[^\n]*$/m,`# ${t}`),`---\n${r}\n---\n${i}`}async function Ra(e,t){let n=null,r=w(async()=>{let r=await E(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let{memoryPending:a,pendingEnrichment:o,pendingAttemptCount:s,memoryFailed:c,...l}=r[i],u={...l,memoryCuratedAt:new Date().toISOString()},d=r.slice();d[i]=u,await e.writeFile(T,JSON.stringify(d,null,2)),await e.flush(),n=u});try{await r}catch(e){W.warn(`Failed to clear agentic memory pending marker`,{filename:t,error:e instanceof Error?e.message:String(e)})}return n}async function za(e,t){let n=null;return await w(async()=>{let r=await E(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r[i];if(!a.pendingEnrichment&&!a.memoryPending)return;let o=Ta(a);if(o>=3)return;n={...a,pendingAttemptCount:o+1};let s=r.slice();s[i]=n,await e.writeFile(T,JSON.stringify(s,null,2)),await e.flush()}),n}async function Ba(e,t,n){let r=w(async()=>{let r=await E(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r.slice();a[i]={...r[i],memoryFailed:n.slice(0,300)},await e.writeFile(T,JSON.stringify(a,null,2)),await e.flush()});try{await r}catch(e){W.warn(`Failed to record curator failure in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Va(e,t){let n=w(async()=>{let n=await E(e),r=n.findIndex(e=>e.filename===t);if(r===-1)return;let{memoryFailed:i,...a}=n[r],o=n.slice();o[r]={...a,memoryCuratedAt:new Date().toISOString()},await e.writeFile(T,JSON.stringify(o,null,2)),await e.flush()});try{await n}catch(e){W.warn(`Failed to record curator completion in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Ha(e,t,n){return w(async()=>{let r=[];try{let t=await e.readFile(T,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(n);Array.isArray(i)&&(r=i)}catch(e){if(!(e instanceof it)||e.code!==`ENOENT`)throw e}let i=r.findIndex(e=>e.filename===t),a;i===-1?a=[n,...r.filter(e=>e.filename!==n.filename)]:(a=r.slice(),a[i]=n,a=a.filter((e,t)=>t===i||e.filename!==n.filename)),await e.writeFile(T,JSON.stringify(a,null,2))})}async function Ua(e,t){return w(async()=>{let n=[];try{let t=await e.readFile(T,{encoding:`utf-8`}),r=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(r);Array.isArray(i)&&(n=i)}catch(e){if(!(e instanceof it)||e.code!==`ENOENT`)throw e;return}if(!n.find(e=>e.filename===t))return;let r=n.map(e=>e.filename===t?{...e,completeSnapshotUnavailable:!0}:e);await e.writeFile(T,JSON.stringify(r,null,2))})}var Wa=`slicc:followers-changed`;function Ga(e){let t=e.replace(/^follower-/,``);return t.length>12?`${t.slice(0,8)}…`:t}function Ka(e){return e.floatType===`ios`?`iOS`:e.floatType===`electron`?`Electron`:e.floatType===`extension`?`Extension`:e.floatType===`standalone`?`Standalone`:e.runtime?.includes(`cli`)?`CLI`:`Follower`}function qa(e){return e.floatType===`ios`?`smartphone`:e.floatType===`electron`||e.floatType===`standalone`?`monitor`:e.floatType===`extension`?`blocks`:e.runtime?.includes(`cli`)?`terminal`:`radio`}function Ja(e,t=Date.now()){if(!e)return null;let n=new Date(e).getTime();if(!Number.isFinite(n))return null;let r=Math.max(0,Math.floor((t-n)/1e3));return r<60?`${r}s`:r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}d`}function Ya(e){return e.health===`stalled`?`warn`:e.peerState===`connecting`?`idle`:e.peerState===`connected`&&e.health===`live`?`active`:`idle`}function Xa(e,t=Date.now()){let n=e.health===`stalled`?`stalled`:e.peerState===`connecting`?`connecting`:`connected`,r=Ja(e.connectedAt,t);return r?`${n} ${r}`:n}function Za(e){let t=[];return e.exec&&t.push(`can run commands`),e.cdp&&t.push(`hosts tabs`),t}function Qa(e){return`${Ka(e)} · ${Ga(e.runtimeId)}`}function $a(e){return e.motd??e.runtime??void 0}function eo(e,t=Date.now()){return e.map(e=>({id:e.runtimeId,icon:qa(e),title:Qa(e),detail:$a(e),state:Ya(e),stateText:Xa(e,t),chips:Za(e)}))}var to=`__slicc_binary__`,no=`b64`;function ro(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[to]===no&&typeof t.data==`string`}function io(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function ao(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!ro(e)}function oo(e){if(e instanceof Uint8Array)return{[to]:no,data:ne(e)};if(Array.isArray(e))return e.map(oo);if(io(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=oo(r);return t}return e}function so(e){if(ro(e))return re(e.data);if(Array.isArray(e))return e.map(so);if(ao(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=so(r);return t}return e}var co=d(`panel-transport`);function lo(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function uo(){return{onMessage:e=>{let t=(t,n,r)=>(lo(t)&&e(so(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=oo(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{co.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var fo={summarizing:`summarizing`,fallback:`fallback`,cancelled:`discarded`,idle:`summarized`},po=class{mintId;open=new Map;settled=new Map;constructor(e){this.mintId=e}apply(e,t,n,r){if(t===`extracting-memory`)return null;let i=this.open.get(e)??this.lateRetraction(e,t,n)??r;if(t!==`summarizing`&&!i)return null;t!==`summarizing`&&(this.open.delete(e),this.settled.delete(e));let a=i??this.mintId(e);if(t===`summarizing`&&this.open.set(e,a),(t===`idle`||t===`fallback`)&&n.roundId&&this.settled.set(e,{messageId:a,roundId:n.roundId}),t===`cancelled`)return{kind:`retract`,messageId:a};let o={trigger:n.trigger,state:fo[t],...n.transcriptPath?{transcriptPath:n.transcriptPath}:{}};return t===`summarizing`?{kind:`open`,messageId:a,marker:o}:{kind:`settle`,messageId:a,marker:o}}forget(e){this.open.delete(e),this.settled.delete(e)}lateRetraction(e,t,n){if(t!==`cancelled`||!n.roundId)return;let r=this.settled.get(e);return r?.roundId===n.roundId?r.messageId:void 0}},mo=2e3,G=d(`offscreen-client`),ho=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;compactionRows=new po(e=>`compaction-${e}-${K()}`);toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingWebhookDeliveries=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;pendingModelAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=new Map;pendingStatsRequests=new Map;pendingSudoRequests=new Map;transport;_selectedScoopJid=null;get selectedScoopJid(){return this._selectedScoopJid}scoopSelectedListeners=new Set;onScoopSelected(e){return this.scoopSelectedListeners.add(e),()=>{this.scoopSelectedListeners.delete(e)}}setSelectedScoopJid(e){if(this._selectedScoopJid!==e&&(this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){G.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??uo(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}emitAgentError(e){this.emitToUI({type:`error`,error:e})}createAgentHandle(){return{sendMessage:(e,t,n,r)=>{if(!this.selectedScoopJid){this.emitToUI({type:`error`,error:`No scoop selected`});return}this.send({type:`user-message`,scoopJid:this.selectedScoopJid,text:e,attachments:n,messageId:t??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,...r?.steer?{steer:!0}:{},...r?.guestGate?{guestGate:r.guestGate}:{}})},onEvent:e=>(this.eventListeners.add(e),()=>this.eventListeners.delete(e)),stop:()=>{this.selectedScoopJid&&this.send({type:`abort`,scoopJid:this.selectedScoopJid})}}}getScoops(){return this.scoops}getScoop(e){return this.scoops.find(t=>t.jid===e)}isProcessing(e){return this.scoopStatuses.get(e)===`processing`}async registerScoop(e,t={}){if(!A(e))throw Error(`OffscreenClient.registerScoop is cone-only; use scoop_scoop for non-cone scoops`);this.scoops.find(t=>t.name===e.name)||(this.scoops.push(e),this.scoopStatuses.set(e.jid,`initializing`)),this.send({type:`cone-create`,name:e.name,...t.description?{description:t.description}:{},...t.prompt?{prompt:t.prompt}:{},...e.model?{model:e.model}:{}})}async unregisterScoop(e){let t=this.scoops.find(t=>t.jid===e);if(t&&A(t)&&O(this.scoops).length<=1)throw Error(`Cannot remove the last cone`);this.send({type:`scoop-drop`,scoopJid:e}),this.scoops=this.scoops.filter(t=>t.jid!==e),this.scoopStatuses.delete(e)}createScoopTab(e){}async getGlobalMemory(){if(!this.localFs)return``;try{let e=await this.localFs.readFile(`/shared/CLAUDE.md`,{encoding:`utf-8`});return typeof e==`string`?e:new TextDecoder().decode(e)}catch{return``}}getScoopContext(e){if(this.localFs)return{getFS:()=>this.localFs}}getSharedFS(){return this.localFs}stopScoop(e){this.send({type:`abort`,scoopJid:e})}async clearQueuedMessages(e){}async deleteQueuedMessage(e,t){this.send({type:`delete-queued-message`,scoopJid:e,messageId:t})}updateModel(){this.send({type:`refresh-model`})}setScoopModel(e,t){let n=`model-${K()}`,r=new Promise(e=>{this.pendingModelAcks.set(n,e)});return this.send({type:`set-scoop-model`,requestId:n,scoopJid:e,model:t}),Promise.race([r,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingModelAcks.delete(n))}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${K()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(e,t={}){let n=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingClearAcks.set(n,e)});this.send({type:`clear-chat`,requestId:n,...e?{scoopJid:e}:{},...t.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}}),await Promise.race([r,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(n)}spawnAgent(e){let t=`agent-${K()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&G.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`}),t))]);return this.pendingSudoRequests.delete(n),i}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}G.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,origin:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}async sendWebhookEvent(e,t,n){let r=`wh-${K()}`,i=new Promise(e=>{this.pendingWebhookDeliveries.set(r,e)});this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n,requestId:r});try{return await Promise.race([i,new Promise(e=>setTimeout(()=>e(null),mo))])}finally{this.pendingWebhookDeliveries.delete(r)}}sendSetFollowerForwarding(e){this.send({type:`set-follower-forwarding`,enabled:e})}sendForwardedLick(e){this.send({type:`inject-forwarded-lick`,event:e})}setForwardLickHandler(e){this.forwardLickHandler=e}sendCherryHostEvent(e,t,n){this.send({type:`lick-cherry-host-event`,cherryRuntimeId:e,name:t,detail:n})}sendPreviewLick(e){this.send({type:`lick-preview`,event:e})}setSprinkleOpHandler(e){this.sprinkleOpHandler=e}sendRaw(e){this.send(e)}setupMessageListener(){this.transport.onMessage(e=>{if(e.source!==`offscreen`)return;let t=e.payload;t?.type===`sprinkle-op`&&this.sprinkleOpHandler?this.sprinkleOpHandler(t):this.handleOffscreenMessage(e.payload)})}handleOffscreenMessage(e){switch(e.type){case`offscreen-ready`:this.ready?(G.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):G.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.handleCompactionState(e);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`lick-webhook-delivery`:{let t=this.pendingWebhookDeliveries.get(e.requestId);t&&(this.pendingWebhookDeliveries.delete(e.requestId),t(e.disposition));break}case`agent-spawn-result`:this.handleAgentSpawnResult(e);break;case`set-scoop-model-ack`:this.handleScoopModelAck(e);break;case`set-thinking-level-ack`:this.handleThinkingLevelAck(e);break;case`scoop-created`:this.handleScoopCreated(e);break;case`scoop-list`:this.handleScoopList(e);break;case`state-snapshot`:this.handleStateSnapshot(e);break;case`error`:this.handleError(e);break;case`lick-backpressure`:this.callbacks.onLickBackpressure?.(e.scoopJid,{count:e.count,waitingMs:e.waitingMs});break;case`incoming-message`:this.handleIncomingMessage(e);break;case`message-updated`:this.handleMessageUpdated(e);break;case`scoop-messages-replaced`:{let t=e;this.resyncStreamPointer(t.scoopJid,t.messages),this.callbacks.onScoopMessagesReplaced?.(t.scoopJid,t.messages,t.queuedIds);break}case`scoop-transcript`:{let t=e,n=this.pendingTranscriptRequests.get(t.requestId);n&&(this.pendingTranscriptRequests.delete(t.requestId),n(t.transcript));break}case`scoop-chat-messages`:{let t=e,n=this.pendingChatMessagesRequests.get(t.requestId);n&&(this.pendingChatMessagesRequests.delete(t.requestId),n(t.messages));break}case`sudo-approval`:{let t=e,n=this.pendingSudoRequests.get(t.requestId);n&&(this.pendingSudoRequests.delete(t.requestId),n(t.decision));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,burnRate:t.burnRate,fills:t.fills,models:t.models??[],scoops:t.scoops??[],...t.budget?{budget:t.budget}:{}}));break}case`tray-runtime-status`:{let t=e;go(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event);break;case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){G.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}}}handleAgentSpawnResult(e){let t=this.pendingAgentSpawnRequests.get(e.requestId);t&&(this.pendingAgentSpawnRequests.delete(e.requestId),e.ok?t.resolve(e.result):t.reject(Error(e.error)))}terminalEventListeners=new Set;onTerminalEvent(e){return this.terminalEventListeners.add(e),()=>this.terminalEventListeners.delete(e)}resyncStreamPointer(e,t){let n;for(let e=t.length-1;e>=0;e--){let r=t[e];if(r.role===`assistant`&&r.isStreaming){n=r.id;break}}n===void 0?this.currentMessageId.delete(e):this.currentMessageId.set(e,n)}trackToolPhase(e,t){let n=this.toolDepth.get(e)??0,r=t===null?0:Math.max(0,n+t);r===0?this.toolDepth.delete(e):this.toolDepth.set(e,r),n>0!=r>0&&this.callbacks.onScoopPhaseChange?.(e,r>0?`tool`:`thinking`)}handleToolUiAgentEvent(e){if(e.displayScoopJid){let t=`tool-ui-${e.requestId??``}`;e.eventType===`tool_ui`?this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``}):e.eventType===`tool_ui_done`&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});return}if(e.eventType===`tool_ui`){let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});return}let t=this.currentMessageId.get(e.scoopJid);t&&(e.eventType===`tool_ui_done`?this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``}):e.progress&&this.emitToUI({type:`tool_progress`,messageId:t,toolName:e.toolName??``,progress:e.progress,toolCallId:e.toolCallId}))}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if((e.displayScoopJid??e.scoopJid)===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_use_start`,messageId:t,toolName:e.toolName??``,toolInput:e.toolInput,toolCallId:e.toolCallId});break}case`tool_end`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_result`,messageId:t,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError,toolCallId:e.toolCallId});break}case`tool_ui`:case`tool_ui_done`:case`tool_progress`:this.handleToolUiAgentEvent(e);break;case`response_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&(this.emitToUI({type:`content_done`,messageId:t,model:e.model,usage:e.usage}),this.currentMessageId.delete(e.scoopJid));break}case`turn_end`:{let t=this.currentMessageId.get(e.scoopJid)??`done-${e.scoopJid}-${K()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}renderCompactionNotice(e,t,n,r){let i=this.compactionRows.apply(e,t,n,r);i&&e===this.selectedScoopJid&&this.emitToUI({type:`compaction_notice`,messageId:i.messageId,marker:i.kind===`retract`?{trigger:n.trigger,state:`discarded`}:i.marker})}handleCompactionState(e){let t={trigger:e.trigger??`threshold`,...e.transcriptPath?{transcriptPath:e.transcriptPath}:{},...e.roundId?{roundId:e.roundId}:{}};this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state,t),this.renderCompactionNotice(e.scoopJid,e.state,t,e.rowId)}handleScoopStatus(e){let t=this.scoopStatuses.get(e.scoopJid);this.scoopStatuses.set(e.scoopJid,e.status),t!==e.status&&this.trackToolPhase(e.scoopJid,null),this.callbacks.onStatusChange(e.scoopJid,e.status)}handleScoopCreated(e){let t=this.msgScoopToRegistered(e.scoop);this.scoops=this.scoops.filter(e=>e.name!==t.name||e.jid===t.jid),this.scoops.find(e=>e.jid===t.jid)||this.scoops.push(t),this.scoopStatuses.set(t.jid,e.scoop.status),this.callbacks.onScoopCreated(t)}wireScoops(){return this.scoops.map(e=>{let t=It(e),n=Lt(e),r={...e.config,...t?{modelId:t.id,modelProviderId:t.provider}:{},...n.level?{thinkingLevel:n.level}:{},...n.effortOverride?{effortOverride:n.effortOverride}:{}};return{jid:e.jid,name:e.name,folder:e.folder,parentId:e.parentJid,assistantLabel:e.assistantLabel,status:this.scoopStatuses.get(e.jid)??`ready`,...Object.keys(r).length>0?{config:r}:{}}})}handleScoopModelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&(t.model=e.model?{...e.model}:void 0,this.callbacks.onScoopListUpdate(this.wireScoops()))}this.pendingModelAcks.get(e.requestId)?.(e.applied)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&Pt(t,e.level===void 0?void 0:{level:e.level,effortOverride:e.effortOverride})}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}handleScoopList(e){this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){G.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&go(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){e.scoopJid===this.selectedScoopJid&&this.emitToUI({type:`error`,error:e.error})}handleIncomingMessage(e){this.callbacks.onIncomingMessage(e.scoopJid,e.message)}handleMessageUpdated(e){this.callbacks.onMessageUpdate?.(e.scoopJid,{messageId:e.messageId,lickId:e.lickId,lickState:e.lickState})}msgScoopToRegistered(e){return Nt({jid:e.jid,name:e.name,folder:e.folder,parentJid:e.parentId,requiresTrigger:e.parentId!==null,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}})}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){G.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function K(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function go(e,t){jt({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),Je({state:t.state,joinUrl:t.joinUrl,trayId:t.trayId,error:t.error,lastError:t.lastError,reconnectAttempts:t.reconnectAttempts,attachAttempts:t.attachAttempts,lastAttachCode:t.lastAttachCode,connectingSince:t.connectingSince,lastPingTime:t.lastPingTime})}function _o(e){let t=e.createAgentHandle(),n=null,r=null;return{onAgentEvent:e=>t.onEvent(e),sendSprinkleLick:(t,n,r,i)=>e.sendSprinkleLick(t,n,r,i?{unitJid:i}:void 0),sendToolUiAction:(t,n,r)=>e.sendToolUiAction(t,n,r),deleteQueuedMessage:(t,n)=>e.deleteQueuedMessage(t,n),emitAgentError:t=>e.emitAgentError(t),getRecord:t=>e.getScoops().find(e=>e.jid===t),speaksReplies:!0,takeAttachments:()=>n?.(),onTurnIdle:()=>r?.(),welcome:{intercept:null},setAttachmentSource:e=>{n=e},setTurnIdleHook:e=>{r=e}}}var vo={onAgentEvent:()=>()=>void 0,sendSprinkleLick:()=>void 0,sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.resolve(),emitAgentError:()=>void 0},yo=`A follower cannot cancel the leader’s queued message`;function bo(e){return{onAgentEvent:e.onAgentEvent,sendSprinkleLick:(t,n,r)=>e.getSync()?.sendSprinkleLick(t,n,r),sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.reject(Error(yo)),emitAgentError:e.onAgentError,readOnlyToolUi:!0}}function q(e){return!e.includes(`\0`)}function xo(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!q(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!q(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(q(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function So(e){let t=!1,n=()=>{t||(t=!0,typeof e.start==`function`&&e.start())};return{onMessage:t=>{let r=e=>{t(e.data)};return e.addEventListener(`message`,r),n(),()=>{e.removeEventListener(`message`,r)}},send:(t,n)=>{n&&n.length>0?e.postMessage(t,n):e.postMessage(t)}}}function Co(e){let t=So(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function wo(e,t,n,r,i,a){let o=e;if(o?.type){if(o.type===`cdp-cmd`){let r=e;if((r.gen??a())<a()){n.send({type:`cdp-response`,id:r.id,error:`dropped: command crossed a CDP connection reset in flight`});return}try{i&&t.state!==`connected`&&t.superseded!==!0&&await i();let e=await t.send(r.method,r.params,r.sessionId);n.send({type:`cdp-response`,id:r.id,result:e})}catch(e){n.send({type:`cdp-response`,id:r.id,error:e instanceof Error?e.message:String(e)})}return}if(o.type===`cdp-subscribe`){let i=e;if(r.has(i.event))return;let a=e=>{n.send({type:`cdp-event`,method:i.event,params:e})};r.set(i.event,a),t.on(i.event,a);return}if(o.type===`cdp-unsubscribe`){let n=e,i=r.get(n.event);if(!i)return;r.delete(n.event),t.off(n.event,i)}}}function To(e,t){for(let[n,r]of t)e.off(n,r),e.on(n,r)}var Eo=1e4;function Do(e){return new Promise((t,n)=>{let r=!1,i=null,a=null,o=e=>{r||(r=!0,clearTimeout(s),a&&clearInterval(a),i?.(),e?n(e):t())},s=setTimeout(()=>o(Error(`page CDP client is still connecting`)),Eo),c=e=>{e===`connected`?o():e===`disconnected`&&o(Error(`page CDP client failed to reconnect`))};e.onStateChange?i=e.onStateChange(e=>c(e)):a=setInterval(()=>c(e.state),50),c(e.state)})}function Oo(e,t,n={}){let r=So(e),i=null,a=n.reconnect?()=>(i||=(t.state===`connecting`?Do(t):n.reconnect()).finally(()=>{i=null}),i):null,o=new Map,s=r.onMessage(e=>{wo(e,t,r,o,a,()=>l)}),c=t.state,l=0,u=t.onStateChange?.((e,n)=>{if(e!==c){if(c=e,e===`disconnected`){l+=1,r.send({type:`cdp-reset`,reason:n??`page CDP client disconnected`});return}e===`connected`&&(To(t,o),r.send({type:`cdp-ready`}))}});return()=>{s(),u?.();for(let[e,n]of o)t.off(e,n);o.clear()}}function ko(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function Ao(e,t,n){let r=()=>{};return{ready:new Promise((i,a)=>{let o=null,s=null,c=()=>{o!==null&&(clearTimeout(o),o=null)},l=Math.max(1,t.readyStallLimit??(t.onReadyStall?3:1)),u=Date.now(),d=0,f=!1,p=()=>{c(),o=setTimeout(()=>{if(d+=1,d<l){t.onReadyStall?.({elapsedMs:Date.now()-u,stalls:d}),p();return}t.onLateReady?c():r(),f=!0,a(Error(`Kernel worker did not signal ready within ${n*l}ms`))},n)};r=()=>{s!==null&&(e.removeEventListener(`message`,s),s=null),c()},s=e=>{let n=e.data;if(n?.type===`kernel-worker-boot-progress`){d=0,p();return}if(n?.type===`kernel-worker-ready`){if(r(),f){t.onLateReady?.();return}i();return}if(n?.type===`kernel-worker-boot-error`){r();let e=n.message??`unknown error`,t=n.code,i=Error(`Kernel worker boot failed: ${e}`);t&&(i.code=t),a(i)}},e.addEventListener(`message`,s),p()}),cleanup:()=>r()}}function jo(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=Co(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Oo(o.port1,n,{...e.reconnectCdp?{reconnect:e.reconnectCdp}:{}}),{ready:u,cleanup:d}=Ao(a.port1,e,r),f={type:`kernel-worker-init`,kernelPort:a.port2,cdpPort:o.port2,localStorageSeed:i,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,syncFsBridgeEnabled:e.syncFsBridgeEnabled??!1,syncFsChannelNonce:e.syncFsChannelNonce??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null,pageBuildId:`6.162.1-mu4pf2c9`,pageLoadedAt:globalThis.performance?.timeOrigin??Date.now(),flagFloat:e.flagFloat??null,appPageUrl:globalThis.location?.href??null};t.postMessage(f,[a.port2,o.port2]);let p=!1;return{client:c,ready:u,dispose(){if(!p){p=!0,d(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}}}function Mo(e){return jo({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-INXxwPQ3.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,reconnectCdp:e.reconnectCdp,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??ko(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError,onReadyStall:e.onReadyStall,readyStallLimit:e.readyStallLimit,onLateReady:e.onLateReady})}var No=1048576,Po=`r`;function Fo(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Io(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Lo(e,t,n){if(typeof e==`string`){n.push({pointer:t,value:e});return}if(Array.isArray(e)){for(let r=0;r<e.length;r++)Lo(e[r],`${t}/${r}`,n);return}if(Io(e))for(let[r,i]of Object.entries(e))Lo(i,`${t}/${Fo(r)}`,n)}function Ro(e,t,n){if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=Ro(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(Io(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=Ro(o,`${t}/${Fo(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function zo(e,t,n){if(Io(e))return Ro(e,t,n);if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=zo(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function Bo(e){let t=new Map;for(let n of e.matchAll(/⟦REDACTED:([^:⟧]+):([^⟧]+)⟧/g)){let e=n[0],r=t.get(e);r?r.count++:t.set(e,{category:n[1],id:n[2],count:1})}return t}async function Vo(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new S(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>No)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new S(`redaction-unavailable`)}if(c.length!==s.length)throw new S(`redaction-unavailable`);r.push(...c),i=o}return r}function Ho(e,t,n,r){let i=[],a=Bo(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=Bo(t);for(let[e,{category:t,id:r,count:s}]of o)s>(a.get(e)?.count??0)&&i.push({id:r,category:t,detector:`known-secret`,target:n});let{text:s,matches:c,nextId:l}=me(t,Po,r);for(let{id:e,category:t}of c)i.push({id:e,category:t,detector:`credential-pattern`,target:n});return{finalText:s,redactions:i,nextId:l}}function Uo(e,t,n){for(let{redactions:r}of e)for(let e of r)t.push(e),n[e.category]=(n[e.category]??0)+1}async function Wo(e,t,n,r){if(r?.aborted)throw new S(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];Lo(a,``,o);let s=o.filter(e=>!fe(e.pointer)),c=[...t.entries()],l=await Vo([...s.map(e=>e.value),...c.map(([,e])=>e)],n,r),u=[],d={},f=1,p=new Map,m=[];for(let e=0;e<s.length;e++){let t=s[e],n=Ho(t.value,l[e],{kind:`json`,pointer:t.pointer},f);f=n.nextId,n.finalText!==t.value&&p.set(t.pointer,n.finalText),m.push(n)}Uo(m,u,d);let h=new Map,g=s.length,_=[];for(let e=0;e<c.length;e++){let[t,n]=c[e],r=Ho(n,l[g+e],{kind:`attachment`,attachmentId:t},f);f=r.nextId,h.set(t,r.finalText),_.push(r)}Uo(_,u,d);let v=zo(e,``,p);return{document:{...v,privacy:{...v.privacy,redactionCounts:d,redactions:u}},textAttachments:h}}function Go(e,t){let n=e.startsWith(`text/`)||e===`application/json`,r=/\.(?:txt|md|json|csv|xml|ya?ml|js|mjs|cjs|ts|tsx|css|html)$/i.test(t);return n||r?`text-redacted`:`binary-unchanged`}async function Ko(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}var qo={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`,"image/svg+xml":`.svg`,"image/bmp":`.bmp`,"application/pdf":`.pdf`,"application/zip":`.zip`,"application/gzip":`.gz`,"application/json":`.json`,"text/plain":`.txt`,"text/markdown":`.md`,"text/csv":`.csv`,"text/html":`.html`,"text/xml":`.xml`,"application/xml":`.xml`};function Jo(e,t){return qo[e]??(t===`text-redacted`?`.txt`:`.bin`)}function Yo(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${Jo(t,n)}`}function Xo(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Zo(e){let t=[];for(let n of e.conversations){let e=0;for(let r of n.messages){let i=r.role;if(i!==`user`&&i!==`assistant`&&i!==`tool-result`)continue;let a=0;for(let o of r.content)o.type===`attachment-ref`&&(t.push({attachmentId:o.attachmentId,conversationId:n.id,messageId:r.id,role:i,userOrdinal:e,imgIndex:a}),a++);i===`user`&&e++}}return t}async function Qo(e,t,n,r,i){let a=Go(e.mimeType,e.name),o={attachmentId:t,originalName:e.name,mimeType:e.mimeType,handling:a,present:!0,sourceConversationId:n,sourceMessageId:r};if(a===`text-redacted`){let t;if(e.text!==void 0)t=e.text;else if(e.data!==void 0)t=new TextDecoder().decode(Xo(e.data));else if(e.path!==void 0&&i!==void 0)try{t=new TextDecoder().decode(await i(e.path))}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return t===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawText:t}}let s;if(e.data!==void 0)s=Xo(e.data);else if(e.path!==void 0&&i!==void 0)try{s=await i(e.path)}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return s===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawBytes:s}}function $o(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.role!==`user`){let e=n.get(s.attachmentId);e===void 0?i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId})):i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`image-${s.imgIndex}`,mimeType:e.mimeType,handling:`binary-unchanged`,rawBytes:Xo(e.data),present:!0,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let e=(t.get(s.conversationId)??[]).filter(e=>e.role===`user`)[s.userOrdinal];if(e===void 0){a.add(s.conversationId),i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-association-unavailable`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let c=(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:e})=>e.kind===`image`||e.kind===`file`&&e.data!==void 0)[s.imgIndex];if(c===void 0){i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}o.add(`${s.conversationId}:${e.id}:${c.i}`),i.push(Qo(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function es(e,t,n){return(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:r,i})=>(r.kind===`text`||r.kind===`file`&&(r.data!==void 0||r.path!==void 0))&&!n.has(`${t}:${e.id}:${i}`))}function ts(e,t,n,r,i,a,o){let s=es(t,n,i),c=[];for(let t=0;t<s.length;t++){let{a:i}=s[t],l=`${e.id}-file-${t}`;r.has(l)||(a.push(Qo(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function ns(e,t,n,r,i){let a=new Map,o=[];for(let s of e.conversations){let e=(t.get(s.id)??[]).filter(e=>e.role===`user`),c=0;for(let t of s.messages){if(t.role!==`user`)continue;let l=e[c];if(c++,l===void 0)continue;let u=ts(t,l,s.id,n,r,o,i);u.length>0&&(a.has(s.id)||a.set(s.id,new Map),a.get(s.id).set(t.id,[...t.content,...u]))}}return{updates:a,additionalPendingPromises:o}}function rs(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,Yo(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function is(e,t,n,r,i){let{rawAttachments:a,textMap:o}=rs(e,n),s,c;try{let e=await Wo({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof S?e:new S(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new S(`schema-invalid`);l.set(t.attachmentId,t)}let u=new Map,d=await Promise.all(s.attachments.map(async e=>{if(!e.present||!e.path)return e;let t=l.get(e.id);if(t===void 0)throw new S(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await Ko(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function as(e){let{document:t,chatMessagesByConversation:n,knownSecrets:r,signal:i}=e,a=e.canonicalImages??new Map,o=e.vfsReader,s=new Set,{pendingPromises:c,mismatchedConvIds:l,processedUiPositions:u}=$o(Zo(t),n,a,o);l.size>0&&s.add(`attachment-association-unavailable`);for(let e of t.conversations)e.messages.filter(e=>e.role===`user`).length>(n.get(e.id)??[]).filter(e=>e.role===`user`).length&&s.add(`attachment-association-unavailable`);let d=await Promise.all(c),{updates:f,additionalPendingPromises:p}=ns(t,n,new Set(d.map(e=>e.attachmentId)),u,o),m=await Promise.all(p),h=[...d,...m],g=t;f.size>0&&(g={...t,conversations:t.conversations.map(e=>{let t=f.get(e.id);return t?{...e,messages:e.messages.map(e=>{let n=t.get(e.id);return n?{...e,content:n}:e})}:e})});let{redactedDocument:_,bundleFiles:v}=await is(h,g,s,r,i),y=[..._.session.completeness.missing.filter(e=>!s.has(e)),...s];return{document:{..._,session:{..._.session,completeness:{status:y.length>0?`partial`:_.session.completeness.status,missing:y}}},bundleFiles:v}}var os=50;function ss(e){return zt(e)}function cs(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function ls(e,t,n,r){let i=new Map;for(let e of t)i.set(e.id,e);let a=new Map;for(let e of n)a.set(e.id,e);let o=[],s=new Map;for(let t of e){let e=r.getAgentMessages(t.jid)??i.get(t.jid)?.messages??[],n={id:t.jid,kind:A(t)?`cone`:`scoop`,name:t.name,...t.folder&&!A(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=ss(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function us(e,t,n={}){let r=e=>n.rootJid===void 0?e:Vt(e,n.rootJid);for(;;){let n=r(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(os,t),t?.aborted))throw new S(`transfer-aborted`);let i=cs(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new S(`transfer-aborted`);let s=r(e.listScoops());if(i===cs(s,e))return ls(s,a,o,e)}}function ds(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function fs(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function ps(e,t){if(typeof e==`string`)return e?[{type:`text`,text:e}]:[];let n=[],r=0;for(let i of e)i.type===`text`?i.text&&n.push({type:`text`,text:i.text}):i.type===`image`&&n.push(fs(t,r++));return n}function ms(e,t){let n=[],r=new Map,i=0,a=0;for(let o of e)if(o.type===`thinking`)i+=1;else if(o.type===`text`)o.text&&n.push({type:`text`,text:o.text});else if(o.type===`toolCall`)n.push({type:`tool-call`,id:o.id??``,name:o.name??``,input:o.arguments??{}});else if(o.type===`image`){let e=fs(t,a++);n.push(e),o.data&&o.mimeType&&r.set(e.attachmentId,{data:o.data,mimeType:o.mimeType})}return{blocks:n,excluded:i,images:r}}function hs(e,t){let n=[],r=new Map,i=0;for(let a of e)if(a.type===`text`)a.text&&n.push({type:`text`,text:a.text});else if(a.type===`image`){let e=fs(t,i++);n.push(e),a.data&&a.mimeType&&r.set(e.attachmentId,{data:a.data,mimeType:a.mimeType})}return{blocks:n,images:r}}function gs(e,t,n){let r=ds(t,n),i=ps(e.content,r);return{message:{id:r,sequence:n,role:`user`,timestamp:new Date(e.timestamp).toISOString(),content:i},excludedReasoningBlocks:0,images:new Map}}function _s(e,t,n){let r=ds(t,n),{blocks:i,excluded:a,images:o}=ms(e.content,r);return{message:{id:r,sequence:n,role:`assistant`,timestamp:new Date(e.timestamp).toISOString(),content:i,model:{provider:e.provider,id:e.model,api:e.api},usage:e.usage,stopReason:e.stopReason,...e.errorMessage?{error:e.errorMessage}:{}},excludedReasoningBlocks:a,images:o}}function vs(e,t,n){let r=ds(t,n),{blocks:i,images:a}=hs(e.content,r);return{message:{id:r,sequence:n,role:`tool-result`,timestamp:new Date(e.timestamp).toISOString(),content:i,toolCallId:e.toolCallId,isError:e.isError},excludedReasoningBlocks:0,images:a}}function ys(e,t,n){return e.role===`user`?gs(e,t,n):e.role===`assistant`?_s(e,t,n):e.role===`toolResult`?vs(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function bs(e){let t=[];for(let n of e){if(!n.parentConversationId)continue;let e={sourceConversationId:n.parentConversationId,targetConversationId:n.id};n.originToolCallId&&(e.toolCallId=n.originToolCallId),t.push(e)}return t}function xs(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=ys(r,e.id,i+1);t+=a.excludedReasoningBlocks;for(let[e,t]of a.images)n.set(e,t);return a.message?[a.message]:[]});return{id:e.id,kind:e.kind,name:e.name,...e.folder?{folder:e.folder}:{},...e.parentConversationId?{parentConversationId:e.parentConversationId}:{},...e.createdAt?{createdAt:e.createdAt}:{},...e.updatedAt?{updatedAt:e.updatedAt}:{},messages:r}}),delegations:bs(e),excludedReasoningBlocks:t,canonicalImages:n}}var Ss=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e})();function Cs(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^Ss[(t^e[n])&255];return~t>>>0}var ws=new TextEncoder;function J(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function Y(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255,e[t+2]=n>>>16&255,e[t+3]=n>>>24&255}function Ts(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,J(r,4,20),J(r,6,2048),J(r,8,0),J(r,10,0),J(r,12,0),Y(r,14,n),Y(r,18,t),Y(r,22,t),J(r,26,e.length),J(r,28,0),r.set(e,30),r}function Es(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,J(i,4,20),J(i,6,20),J(i,8,2048),J(i,10,0),J(i,12,0),J(i,14,0),Y(i,16,n),Y(i,20,t),Y(i,24,t),J(i,28,e.length),J(i,30,0),J(i,32,0),J(i,34,0),J(i,36,0),Y(i,38,0),Y(i,42,r),i.set(e,46),i}function Ds(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,J(r,4,0),J(r,6,0),J(r,8,e),J(r,10,e),Y(r,12,t),Y(r,16,n),J(r,20,0),r}function Os(e){if(!e||e.startsWith(`/`)||e.includes(`\0`)||e.includes(`\\`))return!1;for(let t of e.split(`/`))if(t===``||t===`.`||t===`..`)return!1;return!0}function ks(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${ue(e.session.title,{maxLen:40,fallback:`transcript`})}-${n}.zip`}async function*As(e,t,n,r,i){if(n?.aborted)throw i(new S(`transfer-aborted`)),new S(`transfer-aborted`);let a=()=>i(new S(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=et.create(),s=0,c=0,l=[],u=!1;function*d(e){o.update(e),s+=e.byteLength,c+=e.byteLength,yield e}try{let i=new TextEncoder().encode(JSON.stringify(e,null,2)),a=ws.encode(`transcript.json`),f=Cs(i),p=Ts(a,i.length,f);if(l.push({nameBytes:a,size:i.length,crc:f,localOffset:c}),n?.aborted||(yield*d(p),n?.aborted))throw new S(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new S(`transfer-aborted`);let t=ws.encode(e),i=Cs(r),a=Ts(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new S(`transfer-aborted`);yield*d(r)}let m=c;for(let e of l){if(n?.aborted)throw new S(`transfer-aborted`);yield*d(Es(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new S(`transfer-aborted`);yield*d(Ds(l.length,c-m,m)),u=!0,r({byteLength:s,sha256:o.hex()})}catch(e){throw u=!0,i(e),e}finally{n?.removeEventListener(`abort`,a),u||(u=!0,i(new S(`transfer-aborted`)))}}var js=4294967295,Ms=65535;function Ns(e,t,n){for(let e of t.keys())if(!Os(e))throw new S(`schema-invalid`);if(t.size+1>Ms)throw new S(`schema-invalid`);for(let e of t.values())if(e.byteLength>js)throw new S(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:ks(e),chunks:As(e,t,n,r,i),completion:a}}function Ps(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:pe},session:{id:e,title:t,state:n,completeness:{status:`complete`,missing:[]},...a},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:r.excludedReasoningBlocks,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:r.conversations,delegations:r.delegations,attachments:[]}}function Fs(e,t){let n=[],r=1;for(let i of e){if(i.role!==`user`&&i.role!==`assistant`)continue;let e=`${t}-msg-${String(r).padStart(6,`0`)}`;n.push({id:e,sequence:r++,role:i.role,timestamp:new Date(i.timestamp||0).toISOString(),content:i.content?[{type:`text`,text:i.content}]:[]})}return n}function Is(e){let t=de(e);if(!t.ok)throw new S(`schema-invalid`,t.error)}function Ls(e,t,n){let r=new Map;for(let i of e)if(!(!i.present||!i.path)){if(i.handling===`text-redacted`){let e=t.get(i.id);e!==void 0&&r.set(i.path,new TextEncoder().encode(e))}else{let e=n.get(i.path);e&&r.set(i.path,e)}}return r}async function Rs(e,t){return Promise.all(e.map(async e=>{if(!e.present||!e.path||e.handling!==`text-redacted`)return e;let n=t.get(e.path);if(!n)return e;let r=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength),i=await crypto.subtle.digest(`SHA-256`,r),a=Array.from(new Uint8Array(i)).map(e=>e.toString(16).padStart(2,`0`)).join(``);return{...e,byteLength:n.length,sha256:a}}))}function zs(e){let t=e.match(/^---\n([\s\S]*?)\n---\n/);if(!t)return{};let n=t[1],r={},i=n.match(/^createdAt:\s*(\d+)\s*$/m),a=n.match(/^updatedAt:\s*(\d+)\s*$/m);return i&&(r.createdAt=new Date(Number(i[1])).toISOString()),a&&(r.updatedAt=new Date(Number(a[1])).toISOString()),r}var Bs=class{deps;constructor(e){this.deps=e}async export(e,t={}){let{signal:n,onProgress:r}=t,i;return i=e.kind===`active`?await this.buildActiveSnapshot(n,r):await this.buildFrozenSnapshot(e.sessionId,n,r),Is(i.document),r?.({phase:`packaging`}),Ns(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await us(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=xs(n.sources),{document:i,bundleFiles:a}=await as({document:Ps(e.sessionId,e.title,`frozen`,r,this.deps.version,{frozenAt:e.frozenAt,createdAt:new Date(e.createdAt).toISOString(),updatedAt:new Date(e.updatedAt).toISOString()}),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});Is(i),await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a})}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await us(this.deps.collection,e),r=xs(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=Ps(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),as({document:o,chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:e})}async buildFrozenSnapshot(e,t,n){let r=await this.deps.snapshotStore.read(e);return r?(n?.({phase:`redacting`}),this.reredactStoredSnapshot(r,t)):this.buildLegacyPartial(e,t,n)}async reredactStoredSnapshot(e,t){let n=new Map;for(let t of e.document.attachments){if(t.handling!==`text-redacted`||!t.present||!t.path)continue;let r=e.attachments.get(t.path);r&&n.set(t.id,new TextDecoder().decode(r))}let r,i;try{let a=await Wo(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new S(`redaction-unavailable`)}let a=Ls(r.attachments,i,e.attachments),o=await Rs(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,t,n){let r=(await E(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!r)throw new S(`session-not-found`);let i;try{let e=await this.deps.vfs.readFile(`/sessions/${r.filename}`,{encoding:`utf-8`});i=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new S(`session-not-found`)}let{loadFrozenArchive:a}=await l(async()=>{let{loadFrozenArchive:e}=await import(`./session-jsonl-C4j52ejX.js`).then(e=>e.i);return{loadFrozenArchive:e}},__vite__mapDeps([35,5,36,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,37,38])),{title:o,messages:s}=await a(this.deps.vfs,i,r.filename),c=`legacy-cone`,u=Fs(s,c),d=zs(i),f={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:pe},session:{id:e,title:o,state:`frozen`,...r.frozenAt?{frozenAt:r.frozenAt}:{},...d,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:c,kind:`cone`,name:o,messages:u}],delegations:[],attachments:[]},p=new Map([[c,s]]);return n?.({phase:`redacting`}),as({document:f,chatMessagesByConversation:p,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:t})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new S(`attachment-unreadable`);return t}},Vs=`/sessions/data`,Hs=`document.json`;async function Us(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function Ws(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new S(`session-not-found`)}function Gs(e){return`${Vs}/${e}`}function Ks(e){return`${Vs}/.tmp-${e}`}async function qs(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function Js(e,t){let n;try{n=await e.readDir(t)}catch{return}for(let r of n){let n=`${t}/${r.name}`;r.type===`directory`&&await Js(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function Ys(e,t,n){await qs(e,n);let r=await e.readDir(t);for(let i of r){let r=`${t}/${i.name}`,a=`${n}/${i.name}`;if(i.type===`directory`)await Ys(e,r,a);else{let t=await e.readFile(r,{encoding:`binary`});await e.writeFile(a,t)}}}async function Xs(e,t,n){Ws(t);let r=Ks(t),i=Gs(t),a=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!a.has(e))throw new S(`schema-invalid`);await Js(e,i),await qs(e,r);try{let t=[...n.document.attachments];for(let[e,r]of n.attachments){let n=await Us(r),i=a.get(e);if(i!==void 0){let e=t.indexOf(i);e!==-1&&(t[e]={...i,sha256:n,byteLength:r.length})}}let o={...n.document,attachments:t},s=JSON.stringify(o,null,2);if(await e.writeFile(`${r}/${Hs}`,s),n.attachments.size>0)for(let[t,i]of n.attachments){let n=`${r}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await qs(e,`${r}/${t.slice(0,a)}`),await e.writeFile(n,i)}await e.flush(),await Ys(e,r,i),await e.flush()}catch(t){throw await Js(e,r),t}await Js(e,r)}async function Zs(e,t){Ws(t);let n=Gs(t),r=`${n}/${Hs}`,i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new S(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new S(`schema-invalid`)}if(!de(a).ok)throw new S(`schema-invalid`);let o=new Map;for(let t of a.attachments){if(!t.present||!t.path)continue;let r=`${n}/${t.path}`,i;try{let t=await e.readFile(r,{encoding:`binary`});i=t instanceof Uint8Array?t:new TextEncoder().encode(t)}catch{throw new S(`transfer-corrupt`)}if(await Us(i)!==t.sha256)throw new S(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}function Qs(e){return`error`in e}function X(){throw new S(`redaction-unavailable`)}function $s(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&X(),e.texts}function ec(){return{async redact(e){let t;try{t=await fetch(Fe(`/api/secrets/redact-export`),{method:`POST`,headers:Ie({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{X()}t.ok||X();let n;try{n=await t.json()}catch{X()}return $s(n,e.length)}}}function tc(){return{async redact(e){let t;try{t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.redact-export`,texts:e},e=>{chrome.runtime.lastError,t(e??null)})})}catch{X()}return typeof t==`object`&&t&&Qs(t)&&X(),$s(t,e.length)}}}function nc(){return{async redact(e){let t;try{t=await Re(`secrets.redact-export`,{texts:e})}catch{X()}return t??X(),typeof t==`object`&&t&&Qs(t)&&X(),$s(t,e.length)}}}function rc(){return{async redact(e){X()}}}function ic(){let e=Le();return e===`connect`?rc():e===`extension-direct`?tc():e===`extension-delegate`?nc():ec()}function Z(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;default:return`idle`}}function ac(e,t={}){let n=Z(t.status),r=It(e);return{id:e.jid,parentId:e.parentJid,role:A(e)?`primary`:`child`,name:e.name,folder:e.folder,assistantLabel:e.assistantLabel,state:n,...n===`working`&&t.phase?{phase:t.phase}:{},...n===`idle`&&t.awaiting?{awaiting:!0}:{},fill:typeof t.fill==`number`?Math.round(t.fill*100):0,...typeof t.turns==`number`?{turns:t.turns}:{},...r?{model:r}:{},...e.trigger?{trigger:e.trigger}:{},...e.addedAt?{addedAt:e.addedAt}:{}}}function oc(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i=n?e.config:sc(e,r),a={jid:e.id??(n?`cone_${t()}`:`scoop_${r}_${t()}`),name:e.name,folder:r,requiresTrigger:!n,assistantLabel:n?`sliccy`:r,addedAt:new Date(t()).toISOString(),parentJid:e.parentId,...i?{config:i,configSchemaVersion:3}:{},...e.notifyOnComplete===!1?{notifyOnComplete:!1}:{},...!n&&e.onParentClose===`detach`?{onParentClose:`detach`}:{}};return n||(a.trigger=`@${r}`),a}function sc(e,t){let n=Rt(e.workspace?.mode??e.config?.workspaceMode),r=qr(n,t,{root:e.workspace?.from??`/workspace`},e.workspace?.from),i=e.config;return{...i,workspaceMode:n,visiblePaths:i?.visiblePaths===void 0?r.visiblePaths:i.visiblePaths,writablePaths:i?.writablePaths===void 0?r.writablePaths:i.writablePaths}}var cc=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,lc=`${cc}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,uc=`${cc}border:none;background:#d23;color:#fff;`,dc=`${cc}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function fc(e,t,n){return{...oc({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function pc(e,t){let n=e.createElement(`slicc-dialog`);n.setAttribute(`heading`,t.heading),n.append(t.body);for(let r of t.actions){let t=e.createElement(`button`);t.setAttribute(`slot`,`footer`),t.type=`button`,t.dataset.coneAction=r.data,t.textContent=r.text,t.style.cssText=r.style,t.addEventListener(`click`,r.onClick),n.append(t)}return n.addEventListener(`slicc-dialog-close`,()=>t.onDismiss(n)),n}function mc(e,t){let n=e.createElement(`form`);n.style.cssText=`display:flex;flex-direction:column;gap:0.5rem;padding:0.25rem 0;`;let r=`font-size:0.9375rem;padding:0.5rem 0.625rem;border:1px solid var(--s2-border-color,#e0e0e0);border-radius:0.375rem;background:transparent;color:inherit;font-family:inherit;`,i=e.createElement(`input`);i.type=`text`,i.name=`name`,i.placeholder=`Name`,i.setAttribute(`aria-label`,`Cone name`),i.maxLength=40,i.autocomplete=`off`,i.required=!0,i.style.cssText=r;let a=e.createElement(`textarea`);a.name=`brief`,a.placeholder=`What should it work on? (optional)`,a.setAttribute(`aria-label`,`What the cone should work on`),a.rows=3,a.style.cssText=`${r}resize:vertical;`,n.append(i,a);let o=()=>({name:i.value.trim(),brief:a.value.trim()});return n.addEventListener(`submit`,e=>{e.preventDefault(),t(o())}),a.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),t(o()))}),n.readDraft=o,n}function hc(e){let{freezer:t,client:n,log:r}=e,i=t.ownerDocument,a=null,o=!1,s=null,c=()=>t.querySelector(`slicc-freezer-new`),l=()=>gn(e.getUnits(),e.getSelected()),u=t=>e.getUnits().find(e=>e.id===t.jid)??ac(t),d=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},f=e=>{d();let t=pc(i,{...e,onDismiss:e=>{s===e&&(s=null),e.remove()}});s=t,i.body.append(t),t.show?.()},p=t=>{if(!t.name)return;d();let i=l(),o=fc(t.name,n.getScoops(),j(e.getUnits(),i?.id));a=t.name,n.registerScoop(o,t.brief?{description:t.brief,prompt:t.brief}:{}).catch(e=>r.warn(`WC cone create failed`,e)),_()},m=()=>{let e=mc(i,p);f({heading:`New cone`,body:e,actions:[{text:`Create`,style:lc,data:`create`,onClick:()=>p(e.readDraft())},{text:`Cancel`,style:dc,data:`cancel`,onClick:d}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},h=t=>{d();let i=O(n.getScoops()),a=i.find(e=>e.jid===t);if(!a||i.length<=1||o){_();return}o=!0,_(),(async()=>{try{await e.freezeCone(a)}catch(e){r.warn(`WC cone freeze before drop failed`,e)}let t=l()?.id===a.jid;try{await n.unregisterScoop(a.jid)}catch(e){r.warn(`WC cone drop failed`,e)}if(t){let t=O(n.getScoops()).find(e=>e.jid!==a.jid);t&&e.selectScoop(u(t))}o=!1,_()})()},g=e=>{let t=Cn(e),n=i.createElement(`p`);n.textContent=`Its chat goes to the Freezer.`,n.style.cssText=`font-size:0.875rem;margin:0;`,f({heading:`Drop ${t}?`,body:n,actions:[{text:`Drop`,style:uc,data:`drop`,onClick:()=>h(e.id)},{text:`Cancel`,style:dc,data:`cancel`,onClick:d}]})},_=()=>{let t=O(n.getScoops());if(a!==null){let n=t.find(e=>e.name===a&&!e.folder.startsWith(`cone-pending-`));n&&(a=null,e.getSelected()?.id!==n.jid&&e.selectScoop(u(n)))}let r=c();r?.setAttribute(`cones`,String(t.length)),r?.toggleAttribute(`busy`,o)};return t.addEventListener(`new-cone`,m),t.addEventListener(`drop-cone`,()=>{let e=l();!e||O(n.getScoops()).length<=1||o||g(e)}),_(),{refresh:_,dialog:()=>s}}var gc={"gelatiere-dismiss":{consume:!0,mode:`dismiss`},"gelatiere-install":{consume:!1,mode:`take`},"gelatiere-try":{consume:!1,mode:`take`}};function _c(e){return t=>{if(t.type!==`sprinkle`||t.sprinkleName!==`welcome`&&t.sprinkleName!==`inline`&&t.sprinkleName!==`suggestions`)return!1;let n=t.body,r=gc[typeof n?.action==`string`?n.action:``];if(!r)return!1;let i=n?.data,a=typeof i?.id==`string`&&i.id?i.id:null;return a&&e.openVfs().then(async e=>{let t=await l(()=>import(`./wc-shortcuts-C_9hN2WU.js`).then(e=>e.X),__vite__mapDeps([36,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));return r.mode===`dismiss`?t.dismissGelatiereSuggestion(e,a):t.takeGelatiereSuggestion(e,a)}).catch(t=>e.log.warn(`gelatiere card settlement failed`,t)),r.consume}}var vc=5e3,yc=class{deps;listListeners=new Set;unitListeners=new Map;lastSnapshots=new Map;orphanedReplays=new Map;retriedSnapshots=new Set;pendingSnapshots=new Map;constructor(e){this.deps=e}toSummary(e){return ac(e,{awaiting:this.deps.getAwaiting?.()===e.jid,fill:this.deps.fills.get(e.jid),phase:this.deps.phases.get(e.jid),status:this.deps.statuses.get(e.jid),turns:this.deps.turns?.get(e.jid)})}snapshotFor(e,t,n){let r=this.deps.getClient()?.getScoops().find(t=>t.jid===e);return r?{summary:this.toSummary(r),messages:t,...n?{queuedIds:n}:{}}:null}currentUnits(){return(this.deps.getClient()?.getScoops()??[]).map(e=>this.toSummary(e))}publishSnapshot(e,t){this.retriedSnapshots.delete(e),this.lastSnapshots.set(e,t),this.emit(e,{snapshot:t,type:`snapshot`});let n=this.pendingSnapshots.get(e);if(n){this.pendingSnapshots.delete(e);for(let e of n)e(t)}}drainOrphanedReplays(){for(let[e,t]of this.orphanedReplays){let n=this.snapshotFor(e,t.messages,t.queuedIds);n&&(this.orphanedReplays.delete(e),this.publishSnapshot(e,n))}}recoverUnanswered(e){if(this.unitListeners.has(e)){if(this.retriedSnapshots.has(e)){this.publishRecovery(e);return}this.retriedSnapshots.add(e),this.deps.getClient()?.requestScoopMessages(e),setTimeout(()=>{this.retriedSnapshots.has(e)&&this.publishRecovery(e)},vc)}}publishRecovery(e){if(!this.unitListeners.has(e))return;let t=this.lastSnapshots.get(e),n=this.deps.getClient()?.getScoops().find(t=>t.jid===e);this.emit(e,{snapshot:{messages:t?.messages??[],...n?{summary:this.toSummary(n)}:{}},type:`snapshot`})}forgetWaiter(e,t){let n=this.pendingSnapshots.get(e);n&&(n.delete(t),n.size===0&&this.pendingSnapshots.delete(e))}emitList(){if(this.drainOrphanedReplays(),this.listListeners.size===0)return;let e=this.currentUnits();for(let t of this.listListeners)t(e)}emit(e,t){let n=this.unitListeners.get(e);if(n)for(let e of n)e(t)}wrapCallbacks(e){return{...e,onStatusChange:(t,n)=>{e.onStatusChange(t,n),this.emit(t,{state:Z(n),type:`status`}),this.emitList()},onScoopCreated:t=>{e.onScoopCreated(t),this.emitList()},onScoopListUpdate:t=>{e.onScoopListUpdate(t),this.emitList()},onScoopPhaseChange:(t,n)=>{e.onScoopPhaseChange?.(t,n),this.emitList()},onIncomingMessage:(t,n)=>{e.onIncomingMessage(t,n),this.emit(t,{message:n,type:`message`})},onScoopMessagesReplaced:(t,n,r)=>{e.onScoopMessagesReplaced?.(t,n,r);let i=n,a=this.snapshotFor(t,i,r);a?this.publishSnapshot(t,a):this.orphanedReplays.set(t,{messages:i,queuedIds:r})}}}list(){return Promise.resolve(this.currentUnits())}subscribeList(e){return this.listListeners.add(e),e(this.currentUnits()),()=>{this.listListeners.delete(e)}}subscribe(e,t){let n=this.unitListeners.get(e)??new Set;n.add(t),this.unitListeners.set(e,n);let r=this.lastSnapshots.get(e);return this.pendingSnapshots.has(e)||(r?t({snapshot:r,type:`snapshot`}):this.deps.getClient()?.requestScoopMessages(e)),()=>{n.delete(t),n.size===0&&this.unitListeners.delete(e)}}snapshot(e){let t=this.deps.getClient();if(!t)return Promise.reject(Error(`kernel client not attached`));let n=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,n);let r=()=>{},i=new Promise(e=>{r=e,n.add(e)});t.setSelectedScoopJid(e),t.requestScoopMessages(e);let a,o=new Promise(t=>{a=setTimeout(()=>{a=void 0;let n=this.pendingSnapshots.get(e)?.has(r)===!0;this.forgetWaiter(e,r),n&&this.recoverUnanswered(e),t(this.snapshotFor(e,[],void 0))},vc)});return Promise.race([i.then(e=>(a!==void 0&&(clearTimeout(a),a=void 0),e)),o]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getClient();return n?(n.sendRaw({attachments:t.attachments,messageId:t.messageId??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,scoopJid:e,text:t.text,type:`user-message`,...t.steer?{steer:!0}:{},...t.guestGate?{guestGate:t.guestGate}:{}}),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}setModel(e,t){let n=this.deps.getClient();return n?n.setScoopModel(e,t):Promise.reject(Error(`kernel client not attached`))}signal(e,t){if(t!==`stop`)return Promise.resolve();let n=this.deps.getClient();return n?(n.stopScoop(e),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}};function Q(e){return e.workUnits??=new yc({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses,turns:e.turns}),e.workUnits}function bc(e){let t=Q(e),n=()=>e.refreshScoops?.(),r=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),i=()=>{if(e.getSelected()||r())return;let n=t.currentUnits(),i=e.pendingUrlContext;if(i?.startsWith(`freezer:`))return;if(i?.startsWith(`scoop:`)||i?.startsWith(`cone:`)){let t=_n(n,i);if(t){e.pendingUrlContext=null,e.selectScoop(t);return}}let a=En(n);a&&(e.pendingUrlContext=null,e.selectScoop(a))};return t.wrapCallbacks({onStatusChange:(t,r)=>{let i=e.statuses.get(t),a=r;e.statuses.set(t,a),a!==`ready`&&e.awaitingInput===t&&(e.awaitingInput=null),Z(i)===`working`&&Z(a)!==`working`&&e.turns.set(t,(e.turns.get(t)??0)+1),Z(i)!==Z(a)&&(n(),e.notifyScoopStateChanged?.()),e.getSelected()?.id===t&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:t=>{n(),!e.getSelected()&&!r()&&!e.pendingUrlContext&&e.selectScoop(ac(t,{fill:e.fills.get(t.jid),phase:e.phases.get(t.jid),status:e.statuses.get(t.jid)}))},onScoopListUpdate:t=>{let r=new Set(t.map(e=>e.jid));for(let t of e.lickBackpressure.keys())r.has(t)||e.lickBackpressure.delete(t);for(let t of e.turns.keys())r.has(t)||e.turns.delete(t);n(),i()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(t,r)=>{e.phases.set(t,r),n(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.id===t&&n.channel!==`web`&&qt(n.channel)&&e.getController()?.addLickMessage(n.id,n.content,n.channel,new Date(n.timestamp).getTime(),n.lickId)},onLickBackpressure:(t,n)=>{n.count<=0?e.lickBackpressure.delete(t):e.lickBackpressure.set(t,n);let r=e.getSelected();if(r?.id!==t)return;let i=Dn(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.id===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onReady:()=>{n(),i(),e.notifyReady?.()}})}var xc=`slicc:leader-local-model-state-changed`;function Sc(e=window){e.dispatchEvent(new Event(xc))}var Cc=`slicc:leader-model-catalog-changed`;function wc(e=window){e.dispatchEvent(new Event(Cc))}var Tc={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Ec={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function Dc(e){return e?Tc[e]:void 0}function Oc(e){return e===`max`?`max`:void 0}function kc(e,t){return t===`max`?`max`:(e&&Ec[e])??`off`}var Ac=2e3,jc=1e4,Mc=12e4;function Nc(e){let t=[],n=null,r=new Map,i=e.modelPickerEnabled!==!1,a=e.catalogRetryDelayMs??Ac,o=e.catalogRetryMaxDelayMs??jc,s=e.catalogRetryWindowMs??Mc,c=0,l=null,u=null,d=()=>{if(!i||u!==null)return;let t=Date.now();if(l===null&&(l=t+s),t>=l)return;let n=Math.min(a*2**c,o);u=setTimeout(()=>{u=null;let t=e.getSync();t?.requestModels&&(c+=1,t.requestModels())},n)},f=()=>{u!==null&&clearTimeout(u),u=null,c=0,l=null},p=e=>{if(e.length===0)return;let t=new Set(e.map(e=>e.id));for(let e of r.keys())t.has(e)||r.delete(e)},m=()=>{let t=e.getSelectedScoopJid(),i=e.getUnits();if(p(i),n&&(i.length===0||!t))return n.activeModelId;if(n&&t&&n.scoopJid===t){let e=Bt(n.activeModelId);return e&&r.set(t,e),n.activeModelId}let a=j(i,t,t?r.get(t):void 0);return t&&a&&r.set(t,a),a?Ut(a):void 0},h=()=>{let r=m(),a=r?t.find(e=>e.modelId===r):void 0;if(!i||!n||!a){e.composerMeta.style.display=`none`,d();return}e.composerMeta.model=a.modelName,e.composerMeta.setAttribute(`thinking`,kc(n.thinkingLevel,n.effortOverride)),e.composerMeta.toggleAttribute(`no-thinking`,!a.reasoning),e.composerMeta.style.removeProperty(`display`),f()},g=t=>{e.interceptLocalHandlers&&t.stopImmediatePropagation()},_=t=>{let i=e.getSync();if(!i)return;g(t);let a=t.detail?.id,o=e.getSelectedScoopJid()??n?.scoopJid,s=a?Bt(a):null;s&&o?(r.set(o,s),e.setModel(o,s)):a&&i.selectModel(a,o??void 0),h()};e.composerMeta.addEventListener(`model-change`,_,{capture:e.interceptLocalHandlers});let v=t=>{let r=e.getSync();if(!r)return;if(g(t),e.getLockedEffortLevel?.()){h();return}let i=t.detail?.thinking,a=Dc(i),o=e.getSelectedScoopJid()??n?.scoopJid;o&&a&&a!==`max`&&r.setThinkingLevel(o,a,Oc(i)),h()};e.composerMeta.addEventListener(`thinking-change`,v,{capture:e.interceptLocalHandlers});let y=()=>{t=[],n=null,r.clear(),f(),e.composerMeta.models=[],e.composerMeta.style.display=`none`};return y(),{onModelsList(n){t=n,e.composerMeta.models=n.map(e=>({id:e.modelId,name:e.modelName,provider:e.providerName})),h()},onModelState(e){n=e,h()},onShownUnitChanged(){h()},reset:y,dispose(){e.composerMeta.removeEventListener(`model-change`,_,{capture:e.interceptLocalHandlers}),e.composerMeta.removeEventListener(`thinking-change`,v,{capture:e.interceptLocalHandlers}),y(),e.composerMeta.style.removeProperty(`display`)}}}async function Pc(e,t,n,r,i=Sc){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function Fc(e,t){return wn(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||Pe(t.localStorage)}async function Ic(e,t,n,r,i){let a=bn(t),o=Sn(a);e.thread.setAttribute(`context`,Tn(t));let s=vn(t),c=Jt({isRoot:s,name:t.name});e.thread.setAttribute(`accent`,c),e.switcher.setAttribute(`active`,t.id),un(e,s?{kind:`cone`}:{kind:`scoop`,accent:c}),sn(e,o);let u=localStorage.getItem(`slicc_locked_effort_level`),d=r?.(t.id);if(d||u){let t=d?Lt(d):{};e.composerMeta.setAttribute(`thinking`,kc(u??t.level,t.effortOverride))}if(!i?.skipModelPill)try{let{resolveCurrentModel:r,resolveModelById:i}=await l(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-CutwpQPv.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([39,5,40,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,41,42,43,44,45,46,47,48])),a=j(n,t.id),o=a?i(a.id,a.provider):r();e.composerMeta.setAttribute(`model`,o.name??o.id),e.composerMeta.toggleAttribute(`no-thinking`,o.reasoning!==!0||!!u)}catch{}}async function Lc(e){if(Fc(e.pendingUrlContext,e.win))return;let t=wn(e.pendingUrlContext);if(t===null)return;let{SessionStore:n}=await l(async()=>{let{SessionStore:e}=await Promise.resolve().then(()=>Mn);return{SessionStore:e}},void 0),r=new n;await r.init();let i=await r.load(zt({folder:t}));i&&i.messages.length>0&&!e.hasSelection()&&(e.loadMessages(i.messages),e.onHydrated())}function Rc(e){let{boot:t,client:n,openReader:r,log:i}=e,{refs:a}=t;l(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-C9jJUWXf.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([49,13,36,5,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:a.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:a.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),Lc({pendingUrlContext:t.wiring.pendingUrlContext,win:window,hasSelection:()=>!!t.getSelected(),loadMessages:e=>t.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>i.warn(`WC session hydration failed`,e));let o=null;return l(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-unRxpblN.js`);return{wireWcAttach:e}},__vite__mapDeps([50,13,21,51])).then(({wireWcAttach:t})=>{o=t({inputCard:a.inputCard,freezer:a.freezer,composer:a.composer,openReader:r,openWriter:e.openWriter,secretEntry:!0,listConversations:async()=>{let{readSessionsIndex:e}=await l(async()=>{let{readSessionsIndex:e}=await Promise.resolve().then(()=>Ji);return{readSessionsIndex:e}},void 0);return(await e(await r())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:i})}).catch(e=>i.error(`WC add-menu wiring failed`,e)),l(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:a.thread,inputCard:a.inputCard})).catch(e=>i.error(`WC history nav wiring failed`,e)),a.composerMeta.addEventListener(`thinking-change`,e=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let r=e.detail?.thinking,a=Dc(r),o=Oc(r),s=t.getSelected();s&&a&&Pc(n,s.id,a,o).catch(e=>i.warn(`local thinking update failed`,e))}),{getAttachStage:()=>o}}var zc=`slicc:leader-run-new-session`,Bc=`slicc:leader-broadcast-snapshot`;function Vc(e){if(!(!e.cone||e.cone===`cone`))return e.coneLabel||e.cone.replace(/^cone-/,``)}function Hc(e){let t=`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`;return e.live?`${t} · in progress`:t}function Uc(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,Hc(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function Wc(e){let t=new Map;for(let n of e.entries){if(n.icon||n.pendingEnrichment)continue;let r=await e.pickIcon(`"${n.title}" — an archived chat session`);r&&t.set(n.filename,r)}if(t.size===0)return;let n=await Gc(e.reader);if(n===null||n.length===0)return;let r=n.map(e=>{let n=!e.icon&&t.has(e.filename)?t.get(e.filename):void 0;return n?{...e,icon:n}:e});await e.writer.writeFile(T,JSON.stringify(r,null,2));for(let n of e.freezer.querySelectorAll(`slicc-freezer-card`)){let e=t.get(n.getAttribute(`slug`)??``);e&&!n.hasAttribute(`icon`)&&n.setAttribute(`icon`,e)}}async function Gc(e){let t=await Kc(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function Kc(e){let t;try{let n=await e.readFile(T,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?{kind:`missing`}:{kind:`fault`}}try{let e=JSON.parse(t);return Array.isArray(e)?{kind:`ok`,entries:e}:{kind:`corrupt`}}catch{return{kind:`corrupt`}}}async function qc(e){let t;try{t=(await e.readDir(`/sessions`)).filter(e=>e.type===`file`&&e.name.endsWith(`.md`)).map(e=>e.name)}catch{return[]}let n=[];for(let r of t)try{let t=await e.readFile(`/sessions/${r}`,{encoding:`utf-8`}),i=typeof t==`string`?t:new TextDecoder().decode(t);n.push(Jc(r,i))}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function Jc(e,t){let n=t.slice(0,2e3),r=/^title:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??e,i=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??new Date(0).toISOString(),a=Number(/^messageCount:\s*(\d+)\s*$/m.exec(n)?.[1]??0),o=ge(t),s=e.startsWith(`pending-`)||e.startsWith(`live-`)&&!o.live;return{filename:e,title:r,frozenAt:i,messageCount:a,...o.cost?{cost:o.cost}:{},...o.models?{models:o.models}:{},...o.cone?{cone:o.cone}:{},...o.coneLabel?{coneLabel:o.coneLabel}:{},...o.memorySkipped?{memorySkipped:!0}:{},...o.live?{live:!0}:{},...o.live&&o.liveThrough?{liveThrough:o.liveThrough}:{},...o.live&&o.compactions?{compactions:o.compactions}:{},...o.id?{sessionId:o.id}:{},...s?{pendingEnrichment:!0}:{}}}function Yc(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(Uc))}async function Xc(e,t){let n=await e.readFile(Ae(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=await Ce(e,r,t.filename);return{title:i.title||t.title,messages:i.messages}}async function Zc(e,t){let{getTranscriptExportService:n}=await l(async()=>{let{getTranscriptExportService:e}=await Promise.resolve().then(()=>Ln);return{getTranscriptExportService:e}},void 0);await n().captureFrozen({sessionId:t.sessionId??t.archive.id,title:t.archive.title,frozenAt:t.archive.frozenAt,createdAt:t.archive.createdAt,updatedAt:t.archive.updatedAt,...e?{rootJid:e.jid}:{}})}function Qc(e,t){if(t)return e.getScoops().find(e=>e.jid===t.id)}function $c(e){return{folder:e.folder,label:Cn({assistantLabel:e.assistantLabel,name:e.name,role:A(e)?`primary`:`child`}),jid:e.jid}}async function el(e){let{root:t}=e,n=t?$c(t):void 0,r=e=>Zc(t,e),i=t=>{l(async()=>{let{notifyGelatiereOfSessionEnd:e}=await import(`./wc-gelatiere-BHY0TTk6.js`);return{notifyGelatiereOfSessionEnd:e}},__vite__mapDeps([52,36,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,45])).then(({notifyGelatiereOfSessionEnd:r})=>r({client:e.client,vfs:e.writer,log:e.log,cone:n,archive:t?.filename})).catch(t=>e.log.warn(`gelatiere notification failed to load`,t))};if(e.action!==`save`){await e.runNewSessionFreezeQuick({vfs:e.writer,cone:n,captureCompleteSnapshot:r,onSessionSettled:i});return}await e.runNewSessionFreeze({vfs:e.writer,cone:n,agenticMemorySpawn:t=>e.client.spawnAgent(t),captureCompleteSnapshot:r,onSessionSettled:i,onProgress:t=>{let n=e.freezerNew();n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,String(t)))},onBackgroundEnriched:e.refreshFreezer})}async function tl(e,t){e!==`erase`&&await el({...t,action:e})}async function nl(e){try{await e.resetNewSessionTmp(e.writer,e.tmpDir)}catch(t){e.log.warn(`WC new session /tmp reset failed — clearing anyway`,t)}await e.client.clearAllMessages(e.root?.jid,e.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}),e.getController()?.loadMessages([]),window.dispatchEvent(new CustomEvent(Bc)),l(async()=>{let{resetDictationPriming:e}=await import(`./wc-shortcuts-C_9hN2WU.js`).then(e=>e.U);return{resetDictationPriming:e}},__vite__mapDeps([36,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function rl(e,t){(e.thread.inner??e.thread).prepend(il(e.thread.ownerDocument,t)),e.thread.setAttribute(`accent`,dn),un(e,{kind:`freezer`}),e.inputCard.setAttribute(`disabled`,``),e.switcher.removeAttribute(`active`)}function il(e,t){let n=t?Vc(t):void 0,r=e.createElement(`slicc-day-separator`);return r.setAttribute(`label`,n?`Frozen chat · from cone ${n}`:`Frozen chat`),r.setAttribute(`data-frozen-provenance`,n??``),r}function al(e){let{refs:t,openVfs:n,client:r,getController:i,getSelected:a,clearSelection:o,log:s}=e,c=[],u=null,d=t=>{u=null,e.selectScoop(t)},f=0,p=!1,m=()=>{let e=++f;n().then(async({reader:n,writer:r})=>{let i=await Gc(n);if(i===null){if((await Kc(n)).kind!==`corrupt`||(s.warn(`WC freezer index corrupt — rebuilding from archives`),i=await qc(n),i.length===0))return;await r.writeFile(T,JSON.stringify(i,null,2))}e===f&&(c=i,Yc(t.freezer,i),!p&&i.some(e=>!e.icon&&!e.pendingEnrichment)&&(p=!0,l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-DNfy_To7.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34])).then(({pickLucideIcon:e})=>Wc({reader:n,writer:r,freezer:t.freezer,entries:i,pickIcon:t=>e({subject:t})})).catch(e=>s.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{p=!1})))}).catch(e=>s.error(`WC freezer refresh failed`,e))},h=!1,g=()=>t.freezer.querySelector(`slicc-freezer-new`),_=t=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{let o=Qc(r,gn(e.getUnits(),a()));try{let{writer:a}=await n(),{resetNewSessionTmp:c,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}=await l(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-CIi79Tea.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([53,12,5,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33]));await tl(t,{writer:a,root:o,client:r,freezerNew:g,refreshFreezer:m,runNewSessionFreeze:u,runNewSessionFreezeQuick:f,log:s}),await nl({writer:a,root:o,client:r,getController:i,log:s,resetNewSessionTmp:c,tmpDir:Wr(r.getScoops(),o),discardLiveSnapshot:t===`erase`}),m();let p=e.getUnits().find(e=>e.id===o?.jid)??En(e.getUnits());p&&d(p)}catch(e){s.error(`WC new session failed`,e)}finally{h=!1;let e=g();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])t.freezer.addEventListener(`new-chat-${e}`,()=>_(e));let v=async e=>{let{writer:t}=await n(),{runNewSessionArchiveOnly:r}=await l(async()=>{let{runNewSessionArchiveOnly:e}=await import(`./new-session-CIi79Tea.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([53,12,5,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33]));await r({vfs:t,cone:$c(e),captureCompleteSnapshot:t=>Zc(e,t)}),m()};Ke(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(zc,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let y=async r=>{let l=c.find(e=>e.filename===r);try{let{reader:a}=await n();l||=(await Gc(a)??[]).find(e=>e.filename===r);let{messages:s}=await Xc(a,l??{filename:r,title:r,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${l?.filename??r}`),u=l?.sessionId??l?.filename??null,e.holdQueuedPile(),i()?.loadMessages(s),rl(t,l),o()}catch(t){if(s.error(`WC thaw failed`,t),!a()){let t=yn(e.getUnits(),l?.cone);t&&d(t)}}};return t.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&y(t)}),{refreshFreezer:m,openFrozen:y,getViewedFrozenSessionId:()=>u,freezeCone:v}}d(`scoops.tray-leave`),d(`scoops.tray-join`);var ol=null;function sl(e){ol=e}function cl(){return ol?.()??[]}var ll=null;function ul(e){ll=e}function dl(){return ll??void 0}var fl=`slicc.leaderTrayFollowers`;function pl(){return ml()}function ml(){if(ol)return ol();try{let e=globalThis.localStorage?.getItem(fl);if(e)return JSON.parse(e)}catch{}return[]}function hl(e,t=globalThis.localStorage){try{t?.setItem(fl,JSON.stringify(e))}catch{}}function gl(e){try{let t=JSON.parse(e);return{processes:(t.processes??[]).filter(e=>e.status===`running`||e.status===`pending`).map(e=>({pid:Number(e.pid??0),argv:String(e.argv??``),status:String(e.status??`unknown`)})),terminated:Number(t.stats?.terminated??0)}}catch{return{processes:[],terminated:0}}}function _l(e){let t=Ye();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:je(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=Mt();if(n.state!==`inactive`)return{role:`leader`,state:n.state,joinUrl:n.session?.joinUrl,sessionId:n.session?.trayId,workerBaseUrl:n.session?.workerBaseUrl};let r=null;try{r=Me(e.getItem(Ne))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function vl(e){let{client:t,openReader:r,storage:i}=e;return{getScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await l(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-BmmfZ-wo.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([54,5,1,22,13,21,23,24,3,43,41,42]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await l(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-BmmfZ-wo.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([54,5,1,22,13,21,23,24,3,43,41,42]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await l(async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e,loadMountHandle:t}},__vite__mapDeps([55,5])),n=await e();return Promise.all(n.map(async e=>{if(e.descriptor.kind!==`local`)return e;try{let n=await(await t(e.descriptor.idbHandleKey))?.queryPermission?.({mode:`readwrite`});return{...e,valid:n===`granted`}}catch{return{...e,valid:!1}}}))},getMcpServers:async()=>{try{let e=await(await r()).readFile(`/workspace/.mcp/servers.json`,{encoding:`utf-8`});return JSON.parse(typeof e==`string`?e:new TextDecoder().decode(e)).servers??{}}catch{return{}}},getOAuthProviders:()=>{try{let e=new Set,t=[];for(let r of a()){if(e.has(r.providerId))continue;if(e.add(r.providerId),!n(r.providerId)?.isOAuth){t.push({providerId:r.providerId});continue}let i=c(r.providerId),a=r.loggedOut?!1:i?!i.expired:!1;t.push({providerId:r.providerId,valid:a})}return t}catch{return[]}},getSessionStats:async()=>t.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await r()).readFile(`/proc/table`,{encoding:`utf-8`});return gl(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>_l(i),getConnectedFollowers:cl}}var yl=`sync-fs-nonce`;function bl(e={}){let t=e.navigator??(typeof navigator<`u`?navigator:void 0),n=e.document??(typeof document<`u`?document:void 0),r=e.window??(typeof window<`u`?window:void 0),i=e.randomUUID??(()=>crypto.randomUUID()),a=!!t?.serviceWorker?.controller,o=a?i():void 0;if(!o||!t?.serviceWorker)return{syncFsBridgeEnabled:a,syncFsChannelNonce:o};let s=t.serviceWorker,c={type:yl,nonce:o},l=()=>s.controller?.postMessage(c);return l(),s.addEventListener(`controllerchange`,l),s.addEventListener(`message`,e=>{e.data?.type===`sync-fs-need-nonce`&&l()}),n?.addEventListener(`visibilitychange`,()=>{n.visibilityState===`visible`&&l()}),r?.addEventListener(`focus`,l),{syncFsBridgeEnabled:a,syncFsChannelNonce:o}}var xl=class{#e=new Map;#t=new Map;#n=new Map;sync(e,t){let n=new Set;for(let r of e){if(!vn(r))continue;n.add(r.id);let e=this.#r(r);e>0&&r.id!==t&&this.#e.set(r.id,(this.#e.get(r.id)??0)+e)}t&&this.#e.delete(t);for(let e of[...this.#e.keys()])n.has(e)||this.#e.delete(e);for(let e of[...this.#t.keys()])n.has(e)||this.#t.delete(e);for(let e of[...this.#n.keys()])n.has(e)||this.#n.delete(e);return this.counts()}#r(e){let t=this.#t.get(e.id),n=this.#t.has(e.id);if(this.#t.set(e.id,e.state),typeof e.turns==`number`&&Number.isFinite(e.turns)){let t=this.#n.get(e.id)??(n?0:void 0);return this.#n.set(e.id,e.turns),t===void 0?0:e.turns>t?Math.floor(e.turns-t):0}return this.#n.delete(e.id),n&&t===`working`&&e.state!==`working`?1:0}counts(){return new Map(this.#e)}};function Sl(e,t){let n=e=>{t.onError?.(e instanceof Error?e.message:String(e))};return{sendMessage:(r,i,a,o)=>{let s=t.getSelectedId();if(!s){t.onError?.(`No scoop selected`);return}e.send(s,{text:r,...i?{messageId:i}:{},...a?{attachments:a}:{},...o?.steer?{steer:!0}:{},...o?.guestGate?{guestGate:o.guestGate}:{}}).catch(n)},onEvent:e=>t.onEvent(e),stop:()=>{let r=t.getSelectedId();r&&e.signal(r,`stop`).catch(n)}}}var Cl=`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`;function wl(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`assistant`&&!n.isStreaming&&!n.queued)return n.content}for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`)return e[t].content;return null}function Tl(e){let t=e.writeText??(e=>navigator.clipboard.writeText(e)),n=document.createElement(`div`);n.className=`wc-copy-row`,n.style.cssText=`display:flex;justify-content:flex-start;margin:-8px 0 14px;`;let r=document.createElement(`slicc-press-button`);r.setAttribute(`tooltip`,`Copy last response · hold to copy chat`),r.setAttribute(`label`,`Copy last response — hold to copy entire chat`),r.setAttribute(`disable-double-click`,``),r.style.cssText=`color:var(--txt-3);cursor:pointer;display:inline-flex;`;let i=document.createRange();r.append(i.createContextualFragment(Cl));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=wl(e.getMessages());await t(n??ye([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=ye([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function $(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function El(e){try{let t=new DOMParser().parseFromString(e,`text/html`).querySelector(`.sprinkle-action-card__header`);if(t){t.querySelector(`.sprinkle-badge`)?.remove(),t.querySelector(`.sprinkle-action-card__meta`)?.remove();let e=t.textContent?.trim();if(e)return e}}catch{}return`Approval requested`}function Dl(e){return`
|
|
421
|
+
`}\n${s}\n\n${n}\n`;await e.writeFile(a,o+c);try{await li({vfs:e,memoryPath:a,model:i?.model,apiKey:i?.apiKey,headers:i?.headers,signal:i?.signal})}catch(e){W.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function Ca(e){return(await E(e)).filter(e=>(e.pendingEnrichment===!0||e.memoryPending===!0)&&Ta(e)<3)}async function wa(e){let t={attempted:0,completed:0};if(!e.model||!e.apiKey)return t;try{for(let t of await E(e.vfs))t.memoryPending===!0&&t.memoryFailed===void 0&&Ta(t)>=3&&await Ba(e.vfs,t.filename,`catch-up retries exhausted (3)`);let n=await Ca(e.vfs);for(let r of n)try{let n=await za(e.vfs,r.filename);if(!n)continue;t.attempted+=1,await Ea(e.vfs,n,{model:e.model,apiKey:e.apiKey,headers:e.headers})&&(t.completed+=1)}catch(e){W.warn(`Pending session catch-up attempt failed`,{filename:r.filename,error:e instanceof Error?e.message:String(e)})}}catch(e){W.warn(`Pending session catch-up failed`,{error:e instanceof Error?e.message:String(e)})}return t}function Ta(e){let t=e.pendingAttemptCount;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:0}async function Ea(e,t,n){if(!t.pendingEnrichment&&!t.memoryPending)return null;let r=await ja(e,t);if(r===null)return null;let i=await Ma(e,t,r);if(i===null)return null;let a=t.memoryPending===!0&&n.skipMemory!==!0&&await Oa(e,t),o=a||t.memorySkipped===!0?{...n,skipMemory:!0}:n,s=await Na(t,i,o);if(s===null)return null;let c=await Aa(o,s.newTitle);await Pa(e,t,s.bullets,o);let l=await Ia(e,t,r,s.newTitle,c,n.skipMemory===!0);return l&&a&&(await ka(e,t.filename),await Va(e,l.filename),await Da(e,t.filename)),l}async function Da(e,t){for(let n of[Bi(`/sessions/${t}`),H(`/sessions/${t}`)])try{await e.rm(n)}catch{}}async function Oa(e,t){try{return await e.stat(zi(`/sessions/${t.filename}`)),!0}catch{return!1}}async function ka(e,t){try{await e.rm(zi(`/sessions/${t}`))}catch{}}async function Aa(e,t){if(e.pickIcon)try{return await na(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){W.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function ja(e,t){try{let n=await e.readFile(Ae(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?W.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):W.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}async function Ma(e,t,n){let r;try{r=(await Ce(e,n,t.filename)).messages}catch(e){return W.warn(`Failed to parse pending archive — leaving entry intact`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}return r.length===0?(W.info(`Pending archive has no messages — skipping enrichment`,{filename:t.filename}),null):ya(r)}async function Na(e,t,n){let r=``;if(!n.skipMemory)try{r=await o({messages:t,instruction:i,model:n.model,apiKey:n.apiKey,maxTokens:Xi,headers:n.headers})}catch(t){return W.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let a=``;try{a=ba(await o({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:Zi,headers:n.headers}))}catch(t){return W.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return a?{bullets:r,newTitle:a}:(W.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function Pa(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await Sa(e,ga(t.cone||`cone`),i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){W.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}function Fa(e,t,n,r,i){let a=r??e.icon;return{filename:t,title:n,frozenAt:e.frozenAt,messageCount:e.messageCount,...e.cost?{cost:e.cost}:{},...e.models?{models:e.models}:{},...e.cone?{cone:e.cone}:{},...e.coneLabel?{coneLabel:e.coneLabel}:{},...e.sessionId?{sessionId:e.sessionId}:{},...a?{icon:a}:{},...e.completeSnapshotUnavailable?{completeSnapshotUnavailable:!0}:{},...i&&e.memoryPending?{memoryPending:!0}:{},...e.memorySkipped?{memorySkipped:!0}:{}}}async function Ia(e,t,n,r,i,a=!1){let o=Ae(t),s=xe(t.filename),c=s?r:t.title,l=s?`${t.frozenAt.replace(/[:.]/g,`-`)}-${Se(r)}.md`:t.filename,u=`${C}/${l}`;if(s)try{await xa(e,C);let r=La(n,c),i=he(t.filename),a=he(l),s=ve(r,o,u);if(s=ve(s,i,a),i!==a){let e=i.slice(i.lastIndexOf(`/`)+1),t=a.slice(a.lastIndexOf(`/`)+1);s=s.split(`sidecar: ${e}`).join(`sidecar: ${t}`)}await e.writeFile(u,s),await Oe(e,t.filename,l)}catch(e){return W.warn(`Enrichment write failed (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}let d=Fa(t,l,c,i,a);try{await Ha(e,t.filename,d)}catch(e){return W.warn(`Enrichment index update failed (entry may stay pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}if(u!==o){try{await e.rm(o)}catch(e){W.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:o,error:e instanceof Error?e.message:String(e)})}try{await Ee(e,t.filename)}catch(e){W.info(`Stale pending sidecar cleanup failed (harmless)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}try{await e.flush()}catch{}return W.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:l,title:c}),d}function La(e,t){let n=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!n)return e;let r=n[1].replace(/^title:\s*.+$/m,`title: ${JSON.stringify(t)}`),i=n[2];return i=i.replace(/^#\s+[^\n]*$/m,`# ${t}`),`---\n${r}\n---\n${i}`}async function Ra(e,t){let n=null,r=w(async()=>{let r=await E(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let{memoryPending:a,pendingEnrichment:o,pendingAttemptCount:s,memoryFailed:c,...l}=r[i],u={...l,memoryCuratedAt:new Date().toISOString()},d=r.slice();d[i]=u,await e.writeFile(T,JSON.stringify(d,null,2)),await e.flush(),n=u});try{await r}catch(e){W.warn(`Failed to clear agentic memory pending marker`,{filename:t,error:e instanceof Error?e.message:String(e)})}return n}async function za(e,t){let n=null;return await w(async()=>{let r=await E(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r[i];if(!a.pendingEnrichment&&!a.memoryPending)return;let o=Ta(a);if(o>=3)return;n={...a,pendingAttemptCount:o+1};let s=r.slice();s[i]=n,await e.writeFile(T,JSON.stringify(s,null,2)),await e.flush()}),n}async function Ba(e,t,n){let r=w(async()=>{let r=await E(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r.slice();a[i]={...r[i],memoryFailed:n.slice(0,300)},await e.writeFile(T,JSON.stringify(a,null,2)),await e.flush()});try{await r}catch(e){W.warn(`Failed to record curator failure in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Va(e,t){let n=w(async()=>{let n=await E(e),r=n.findIndex(e=>e.filename===t);if(r===-1)return;let{memoryFailed:i,...a}=n[r],o=n.slice();o[r]={...a,memoryCuratedAt:new Date().toISOString()},await e.writeFile(T,JSON.stringify(o,null,2)),await e.flush()});try{await n}catch(e){W.warn(`Failed to record curator completion in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Ha(e,t,n){return w(async()=>{let r=[];try{let t=await e.readFile(T,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(n);Array.isArray(i)&&(r=i)}catch(e){if(!(e instanceof it)||e.code!==`ENOENT`)throw e}let i=r.findIndex(e=>e.filename===t),a;i===-1?a=[n,...r.filter(e=>e.filename!==n.filename)]:(a=r.slice(),a[i]=n,a=a.filter((e,t)=>t===i||e.filename!==n.filename)),await e.writeFile(T,JSON.stringify(a,null,2))})}async function Ua(e,t){return w(async()=>{let n=[];try{let t=await e.readFile(T,{encoding:`utf-8`}),r=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(r);Array.isArray(i)&&(n=i)}catch(e){if(!(e instanceof it)||e.code!==`ENOENT`)throw e;return}if(!n.find(e=>e.filename===t))return;let r=n.map(e=>e.filename===t?{...e,completeSnapshotUnavailable:!0}:e);await e.writeFile(T,JSON.stringify(r,null,2))})}var Wa=`slicc:followers-changed`;function Ga(e){let t=e.replace(/^follower-/,``);return t.length>12?`${t.slice(0,8)}…`:t}function Ka(e){return e.floatType===`ios`?`iOS`:e.floatType===`electron`?`Electron`:e.floatType===`extension`?`Extension`:e.floatType===`standalone`?`Standalone`:e.runtime?.includes(`cli`)?`CLI`:`Follower`}function qa(e){return e.floatType===`ios`?`smartphone`:e.floatType===`electron`||e.floatType===`standalone`?`monitor`:e.floatType===`extension`?`blocks`:e.runtime?.includes(`cli`)?`terminal`:`radio`}function Ja(e,t=Date.now()){if(!e)return null;let n=new Date(e).getTime();if(!Number.isFinite(n))return null;let r=Math.max(0,Math.floor((t-n)/1e3));return r<60?`${r}s`:r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}d`}function Ya(e){return e.health===`stalled`?`warn`:e.peerState===`connecting`?`idle`:e.peerState===`connected`&&e.health===`live`?`active`:`idle`}function Xa(e,t=Date.now()){let n=e.health===`stalled`?`stalled`:e.peerState===`connecting`?`connecting`:`connected`,r=Ja(e.connectedAt,t);return r?`${n} ${r}`:n}function Za(e){let t=[];return e.exec&&t.push(`can run commands`),e.cdp&&t.push(`hosts tabs`),t}function Qa(e){return`${Ka(e)} · ${Ga(e.runtimeId)}`}function $a(e){return e.motd??e.runtime??void 0}function eo(e,t=Date.now()){return e.map(e=>({id:e.runtimeId,icon:qa(e),title:Qa(e),detail:$a(e),state:Ya(e),stateText:Xa(e,t),chips:Za(e)}))}var to=`__slicc_binary__`,no=`b64`;function ro(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[to]===no&&typeof t.data==`string`}function io(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function ao(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!ro(e)}function oo(e){if(e instanceof Uint8Array)return{[to]:no,data:ne(e)};if(Array.isArray(e))return e.map(oo);if(io(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=oo(r);return t}return e}function so(e){if(ro(e))return re(e.data);if(Array.isArray(e))return e.map(so);if(ao(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=so(r);return t}return e}var co=d(`panel-transport`);function lo(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function uo(){return{onMessage:e=>{let t=(t,n,r)=>(lo(t)&&e(so(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=oo(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{co.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var fo={summarizing:`summarizing`,fallback:`fallback`,cancelled:`discarded`,idle:`summarized`},po=class{mintId;open=new Map;settled=new Map;constructor(e){this.mintId=e}apply(e,t,n,r){if(t===`extracting-memory`)return null;let i=this.open.get(e)??this.lateRetraction(e,t,n)??r;if(t!==`summarizing`&&!i)return null;t!==`summarizing`&&(this.open.delete(e),this.settled.delete(e));let a=i??this.mintId(e);if(t===`summarizing`&&this.open.set(e,a),(t===`idle`||t===`fallback`)&&n.roundId&&this.settled.set(e,{messageId:a,roundId:n.roundId}),t===`cancelled`)return{kind:`retract`,messageId:a};let o={trigger:n.trigger,state:fo[t],...n.transcriptPath?{transcriptPath:n.transcriptPath}:{}};return t===`summarizing`?{kind:`open`,messageId:a,marker:o}:{kind:`settle`,messageId:a,marker:o}}forget(e){this.open.delete(e),this.settled.delete(e)}lateRetraction(e,t,n){if(t!==`cancelled`||!n.roundId)return;let r=this.settled.get(e);return r?.roundId===n.roundId?r.messageId:void 0}},mo=2e3,G=d(`offscreen-client`),ho=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;compactionRows=new po(e=>`compaction-${e}-${K()}`);toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingWebhookDeliveries=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;pendingModelAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=new Map;pendingStatsRequests=new Map;pendingSudoRequests=new Map;transport;_selectedScoopJid=null;get selectedScoopJid(){return this._selectedScoopJid}scoopSelectedListeners=new Set;onScoopSelected(e){return this.scoopSelectedListeners.add(e),()=>{this.scoopSelectedListeners.delete(e)}}setSelectedScoopJid(e){if(this._selectedScoopJid!==e&&(this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){G.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??uo(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}emitAgentError(e){this.emitToUI({type:`error`,error:e})}createAgentHandle(){return{sendMessage:(e,t,n,r)=>{if(!this.selectedScoopJid){this.emitToUI({type:`error`,error:`No scoop selected`});return}this.send({type:`user-message`,scoopJid:this.selectedScoopJid,text:e,attachments:n,messageId:t??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,...r?.steer?{steer:!0}:{},...r?.guestGate?{guestGate:r.guestGate}:{}})},onEvent:e=>(this.eventListeners.add(e),()=>this.eventListeners.delete(e)),stop:()=>{this.selectedScoopJid&&this.send({type:`abort`,scoopJid:this.selectedScoopJid})}}}getScoops(){return this.scoops}getScoop(e){return this.scoops.find(t=>t.jid===e)}isProcessing(e){return this.scoopStatuses.get(e)===`processing`}async registerScoop(e,t={}){if(!A(e))throw Error(`OffscreenClient.registerScoop is cone-only; use scoop_scoop for non-cone scoops`);this.scoops.find(t=>t.name===e.name)||(this.scoops.push(e),this.scoopStatuses.set(e.jid,`initializing`)),this.send({type:`cone-create`,name:e.name,...t.description?{description:t.description}:{},...t.prompt?{prompt:t.prompt}:{},...e.model?{model:e.model}:{}})}async unregisterScoop(e){let t=this.scoops.find(t=>t.jid===e);if(t&&A(t)&&O(this.scoops).length<=1)throw Error(`Cannot remove the last cone`);this.send({type:`scoop-drop`,scoopJid:e}),this.scoops=this.scoops.filter(t=>t.jid!==e),this.scoopStatuses.delete(e)}createScoopTab(e){}async getGlobalMemory(){if(!this.localFs)return``;try{let e=await this.localFs.readFile(`/shared/CLAUDE.md`,{encoding:`utf-8`});return typeof e==`string`?e:new TextDecoder().decode(e)}catch{return``}}getScoopContext(e){if(this.localFs)return{getFS:()=>this.localFs}}getSharedFS(){return this.localFs}stopScoop(e){this.send({type:`abort`,scoopJid:e})}async clearQueuedMessages(e){}async deleteQueuedMessage(e,t){this.send({type:`delete-queued-message`,scoopJid:e,messageId:t})}updateModel(){this.send({type:`refresh-model`})}setScoopModel(e,t){let n=`model-${K()}`,r=new Promise(e=>{this.pendingModelAcks.set(n,e)});return this.send({type:`set-scoop-model`,requestId:n,scoopJid:e,model:t}),Promise.race([r,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingModelAcks.delete(n))}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${K()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(e,t={}){let n=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingClearAcks.set(n,e)});this.send({type:`clear-chat`,requestId:n,...e?{scoopJid:e}:{},...t.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}}),await Promise.race([r,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(n)}spawnAgent(e){let t=`agent-${K()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&G.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`}),t))]);return this.pendingSudoRequests.delete(n),i}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}G.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,origin:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}async sendWebhookEvent(e,t,n){let r=`wh-${K()}`,i=new Promise(e=>{this.pendingWebhookDeliveries.set(r,e)});this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n,requestId:r});try{return await Promise.race([i,new Promise(e=>setTimeout(()=>e(null),mo))])}finally{this.pendingWebhookDeliveries.delete(r)}}sendSetFollowerForwarding(e){this.send({type:`set-follower-forwarding`,enabled:e})}sendForwardedLick(e){this.send({type:`inject-forwarded-lick`,event:e})}setForwardLickHandler(e){this.forwardLickHandler=e}sendCherryHostEvent(e,t,n){this.send({type:`lick-cherry-host-event`,cherryRuntimeId:e,name:t,detail:n})}sendPreviewLick(e){this.send({type:`lick-preview`,event:e})}setSprinkleOpHandler(e){this.sprinkleOpHandler=e}sendRaw(e){this.send(e)}setupMessageListener(){this.transport.onMessage(e=>{if(e.source!==`offscreen`)return;let t=e.payload;t?.type===`sprinkle-op`&&this.sprinkleOpHandler?this.sprinkleOpHandler(t):this.handleOffscreenMessage(e.payload)})}handleOffscreenMessage(e){switch(e.type){case`offscreen-ready`:this.ready?(G.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):G.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.handleCompactionState(e);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`lick-webhook-delivery`:{let t=this.pendingWebhookDeliveries.get(e.requestId);t&&(this.pendingWebhookDeliveries.delete(e.requestId),t(e.disposition));break}case`agent-spawn-result`:this.handleAgentSpawnResult(e);break;case`set-scoop-model-ack`:this.handleScoopModelAck(e);break;case`set-thinking-level-ack`:this.handleThinkingLevelAck(e);break;case`scoop-created`:this.handleScoopCreated(e);break;case`scoop-list`:this.handleScoopList(e);break;case`state-snapshot`:this.handleStateSnapshot(e);break;case`error`:this.handleError(e);break;case`lick-backpressure`:this.callbacks.onLickBackpressure?.(e.scoopJid,{count:e.count,waitingMs:e.waitingMs});break;case`incoming-message`:this.handleIncomingMessage(e);break;case`message-updated`:this.handleMessageUpdated(e);break;case`scoop-messages-replaced`:{let t=e;this.resyncStreamPointer(t.scoopJid,t.messages),this.callbacks.onScoopMessagesReplaced?.(t.scoopJid,t.messages,t.queuedIds);break}case`scoop-transcript`:{let t=e,n=this.pendingTranscriptRequests.get(t.requestId);n&&(this.pendingTranscriptRequests.delete(t.requestId),n(t.transcript));break}case`scoop-chat-messages`:{let t=e,n=this.pendingChatMessagesRequests.get(t.requestId);n&&(this.pendingChatMessagesRequests.delete(t.requestId),n(t.messages));break}case`sudo-approval`:{let t=e,n=this.pendingSudoRequests.get(t.requestId);n&&(this.pendingSudoRequests.delete(t.requestId),n(t.decision));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,burnRate:t.burnRate,fills:t.fills,models:t.models??[],scoops:t.scoops??[],...t.budget?{budget:t.budget}:{}}));break}case`tray-runtime-status`:{let t=e;go(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event);break;case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){G.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}}}handleAgentSpawnResult(e){let t=this.pendingAgentSpawnRequests.get(e.requestId);t&&(this.pendingAgentSpawnRequests.delete(e.requestId),e.ok?t.resolve(e.result):t.reject(Error(e.error)))}terminalEventListeners=new Set;onTerminalEvent(e){return this.terminalEventListeners.add(e),()=>this.terminalEventListeners.delete(e)}resyncStreamPointer(e,t){let n;for(let e=t.length-1;e>=0;e--){let r=t[e];if(r.role===`assistant`&&r.isStreaming){n=r.id;break}}n===void 0?this.currentMessageId.delete(e):this.currentMessageId.set(e,n)}trackToolPhase(e,t){let n=this.toolDepth.get(e)??0,r=t===null?0:Math.max(0,n+t);r===0?this.toolDepth.delete(e):this.toolDepth.set(e,r),n>0!=r>0&&this.callbacks.onScoopPhaseChange?.(e,r>0?`tool`:`thinking`)}handleToolUiAgentEvent(e){if(e.displayScoopJid){let t=`tool-ui-${e.requestId??``}`;e.eventType===`tool_ui`?this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``}):e.eventType===`tool_ui_done`&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});return}if(e.eventType===`tool_ui`){let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});return}let t=this.currentMessageId.get(e.scoopJid);t&&(e.eventType===`tool_ui_done`?this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``}):e.progress&&this.emitToUI({type:`tool_progress`,messageId:t,toolName:e.toolName??``,progress:e.progress,toolCallId:e.toolCallId}))}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if((e.displayScoopJid??e.scoopJid)===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_use_start`,messageId:t,toolName:e.toolName??``,toolInput:e.toolInput,toolCallId:e.toolCallId});break}case`tool_end`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_result`,messageId:t,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError,toolCallId:e.toolCallId});break}case`tool_ui`:case`tool_ui_done`:case`tool_progress`:this.handleToolUiAgentEvent(e);break;case`response_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&(this.emitToUI({type:`content_done`,messageId:t,model:e.model,usage:e.usage}),this.currentMessageId.delete(e.scoopJid));break}case`turn_end`:{let t=this.currentMessageId.get(e.scoopJid)??`done-${e.scoopJid}-${K()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}renderCompactionNotice(e,t,n,r){let i=this.compactionRows.apply(e,t,n,r);i&&e===this.selectedScoopJid&&this.emitToUI({type:`compaction_notice`,messageId:i.messageId,marker:i.kind===`retract`?{trigger:n.trigger,state:`discarded`}:i.marker})}handleCompactionState(e){let t={trigger:e.trigger??`threshold`,...e.transcriptPath?{transcriptPath:e.transcriptPath}:{},...e.roundId?{roundId:e.roundId}:{}};this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state,t),this.renderCompactionNotice(e.scoopJid,e.state,t,e.rowId)}handleScoopStatus(e){let t=this.scoopStatuses.get(e.scoopJid);this.scoopStatuses.set(e.scoopJid,e.status),t!==e.status&&this.trackToolPhase(e.scoopJid,null),this.callbacks.onStatusChange(e.scoopJid,e.status)}handleScoopCreated(e){let t=this.msgScoopToRegistered(e.scoop);this.scoops=this.scoops.filter(e=>e.name!==t.name||e.jid===t.jid),this.scoops.find(e=>e.jid===t.jid)||this.scoops.push(t),this.scoopStatuses.set(t.jid,e.scoop.status),this.callbacks.onScoopCreated(t)}wireScoops(){return this.scoops.map(e=>{let t=It(e),n=Lt(e),r={...e.config,...t?{modelId:t.id,modelProviderId:t.provider}:{},...n.level?{thinkingLevel:n.level}:{},...n.effortOverride?{effortOverride:n.effortOverride}:{}};return{jid:e.jid,name:e.name,folder:e.folder,parentId:e.parentJid,assistantLabel:e.assistantLabel,status:this.scoopStatuses.get(e.jid)??`ready`,...Object.keys(r).length>0?{config:r}:{}}})}handleScoopModelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&(t.model=e.model?{...e.model}:void 0,this.callbacks.onScoopListUpdate(this.wireScoops()))}this.pendingModelAcks.get(e.requestId)?.(e.applied)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&Pt(t,e.level===void 0?void 0:{level:e.level,effortOverride:e.effortOverride})}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}handleScoopList(e){this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){G.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&go(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){e.scoopJid===this.selectedScoopJid&&this.emitToUI({type:`error`,error:e.error})}handleIncomingMessage(e){this.callbacks.onIncomingMessage(e.scoopJid,e.message)}handleMessageUpdated(e){this.callbacks.onMessageUpdate?.(e.scoopJid,{messageId:e.messageId,lickId:e.lickId,lickState:e.lickState})}msgScoopToRegistered(e){return Nt({jid:e.jid,name:e.name,folder:e.folder,parentJid:e.parentId,requiresTrigger:e.parentId!==null,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}})}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){G.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function K(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function go(e,t){jt({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),Je({state:t.state,joinUrl:t.joinUrl,trayId:t.trayId,error:t.error,lastError:t.lastError,reconnectAttempts:t.reconnectAttempts,attachAttempts:t.attachAttempts,lastAttachCode:t.lastAttachCode,connectingSince:t.connectingSince,lastPingTime:t.lastPingTime})}function _o(e){let t=e.createAgentHandle(),n=null,r=null;return{onAgentEvent:e=>t.onEvent(e),sendSprinkleLick:(t,n,r,i)=>e.sendSprinkleLick(t,n,r,i?{unitJid:i}:void 0),sendToolUiAction:(t,n,r)=>e.sendToolUiAction(t,n,r),deleteQueuedMessage:(t,n)=>e.deleteQueuedMessage(t,n),emitAgentError:t=>e.emitAgentError(t),getRecord:t=>e.getScoops().find(e=>e.jid===t),speaksReplies:!0,takeAttachments:()=>n?.(),onTurnIdle:()=>r?.(),welcome:{intercept:null},setAttachmentSource:e=>{n=e},setTurnIdleHook:e=>{r=e}}}var vo={onAgentEvent:()=>()=>void 0,sendSprinkleLick:()=>void 0,sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.resolve(),emitAgentError:()=>void 0},yo=`A follower cannot cancel the leader’s queued message`;function bo(e){return{onAgentEvent:e.onAgentEvent,sendSprinkleLick:(t,n,r)=>e.getSync()?.sendSprinkleLick(t,n,r),sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.reject(Error(yo)),emitAgentError:e.onAgentError,readOnlyToolUi:!0}}function q(e){return!e.includes(`\0`)}function xo(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!q(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!q(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(q(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function So(e){let t=!1,n=()=>{t||(t=!0,typeof e.start==`function`&&e.start())};return{onMessage:t=>{let r=e=>{t(e.data)};return e.addEventListener(`message`,r),n(),()=>{e.removeEventListener(`message`,r)}},send:(t,n)=>{n&&n.length>0?e.postMessage(t,n):e.postMessage(t)}}}function Co(e){let t=So(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function wo(e,t,n,r,i,a){let o=e;if(o?.type){if(o.type===`cdp-cmd`){let r=e;if((r.gen??a())<a()){n.send({type:`cdp-response`,id:r.id,error:`dropped: command crossed a CDP connection reset in flight`});return}try{i&&t.state!==`connected`&&t.superseded!==!0&&await i();let e=await t.send(r.method,r.params,r.sessionId);n.send({type:`cdp-response`,id:r.id,result:e})}catch(e){n.send({type:`cdp-response`,id:r.id,error:e instanceof Error?e.message:String(e)})}return}if(o.type===`cdp-subscribe`){let i=e;if(r.has(i.event))return;let a=e=>{n.send({type:`cdp-event`,method:i.event,params:e})};r.set(i.event,a),t.on(i.event,a);return}if(o.type===`cdp-unsubscribe`){let n=e,i=r.get(n.event);if(!i)return;r.delete(n.event),t.off(n.event,i)}}}function To(e,t){for(let[n,r]of t)e.off(n,r),e.on(n,r)}var Eo=1e4;function Do(e){return new Promise((t,n)=>{let r=!1,i=null,a=null,o=e=>{r||(r=!0,clearTimeout(s),a&&clearInterval(a),i?.(),e?n(e):t())},s=setTimeout(()=>o(Error(`page CDP client is still connecting`)),Eo),c=e=>{e===`connected`?o():e===`disconnected`&&o(Error(`page CDP client failed to reconnect`))};e.onStateChange?i=e.onStateChange(e=>c(e)):a=setInterval(()=>c(e.state),50),c(e.state)})}function Oo(e,t,n={}){let r=So(e),i=null,a=n.reconnect?()=>(i||=(t.state===`connecting`?Do(t):n.reconnect()).finally(()=>{i=null}),i):null,o=new Map,s=r.onMessage(e=>{wo(e,t,r,o,a,()=>l)}),c=t.state,l=0,u=t.onStateChange?.((e,n)=>{if(e!==c){if(c=e,e===`disconnected`){l+=1,r.send({type:`cdp-reset`,reason:n??`page CDP client disconnected`});return}e===`connected`&&(To(t,o),r.send({type:`cdp-ready`}))}});return()=>{s(),u?.();for(let[e,n]of o)t.off(e,n);o.clear()}}function ko(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function Ao(e,t,n){let r=()=>{};return{ready:new Promise((i,a)=>{let o=null,s=null,c=()=>{o!==null&&(clearTimeout(o),o=null)},l=Math.max(1,t.readyStallLimit??(t.onReadyStall?3:1)),u=Date.now(),d=0,f=!1,p=()=>{c(),o=setTimeout(()=>{if(d+=1,d<l){t.onReadyStall?.({elapsedMs:Date.now()-u,stalls:d}),p();return}t.onLateReady?c():r(),f=!0,a(Error(`Kernel worker did not signal ready within ${n*l}ms`))},n)};r=()=>{s!==null&&(e.removeEventListener(`message`,s),s=null),c()},s=e=>{let n=e.data;if(n?.type===`kernel-worker-boot-progress`){d=0,p();return}if(n?.type===`kernel-worker-ready`){if(r(),f){t.onLateReady?.();return}i();return}if(n?.type===`kernel-worker-boot-error`){r();let e=n.message??`unknown error`,t=n.code,i=Error(`Kernel worker boot failed: ${e}`);t&&(i.code=t),a(i)}},e.addEventListener(`message`,s),p()}),cleanup:()=>r()}}function jo(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=Co(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Oo(o.port1,n,{...e.reconnectCdp?{reconnect:e.reconnectCdp}:{}}),{ready:u,cleanup:d}=Ao(a.port1,e,r),f={type:`kernel-worker-init`,kernelPort:a.port2,cdpPort:o.port2,localStorageSeed:i,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,syncFsBridgeEnabled:e.syncFsBridgeEnabled??!1,syncFsChannelNonce:e.syncFsChannelNonce??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null,pageBuildId:`6.162.2-mu4sha0n`,pageLoadedAt:globalThis.performance?.timeOrigin??Date.now(),flagFloat:e.flagFloat??null,appPageUrl:globalThis.location?.href??null};t.postMessage(f,[a.port2,o.port2]);let p=!1;return{client:c,ready:u,dispose(){if(!p){p=!0,d(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}}}function Mo(e){return jo({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-Cl5srBeR.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,reconnectCdp:e.reconnectCdp,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??ko(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError,onReadyStall:e.onReadyStall,readyStallLimit:e.readyStallLimit,onLateReady:e.onLateReady})}var No=1048576,Po=`r`;function Fo(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Io(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Lo(e,t,n){if(typeof e==`string`){n.push({pointer:t,value:e});return}if(Array.isArray(e)){for(let r=0;r<e.length;r++)Lo(e[r],`${t}/${r}`,n);return}if(Io(e))for(let[r,i]of Object.entries(e))Lo(i,`${t}/${Fo(r)}`,n)}function Ro(e,t,n){if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=Ro(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(Io(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=Ro(o,`${t}/${Fo(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function zo(e,t,n){if(Io(e))return Ro(e,t,n);if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=zo(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function Bo(e){let t=new Map;for(let n of e.matchAll(/⟦REDACTED:([^:⟧]+):([^⟧]+)⟧/g)){let e=n[0],r=t.get(e);r?r.count++:t.set(e,{category:n[1],id:n[2],count:1})}return t}async function Vo(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new S(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>No)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new S(`redaction-unavailable`)}if(c.length!==s.length)throw new S(`redaction-unavailable`);r.push(...c),i=o}return r}function Ho(e,t,n,r){let i=[],a=Bo(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=Bo(t);for(let[e,{category:t,id:r,count:s}]of o)s>(a.get(e)?.count??0)&&i.push({id:r,category:t,detector:`known-secret`,target:n});let{text:s,matches:c,nextId:l}=me(t,Po,r);for(let{id:e,category:t}of c)i.push({id:e,category:t,detector:`credential-pattern`,target:n});return{finalText:s,redactions:i,nextId:l}}function Uo(e,t,n){for(let{redactions:r}of e)for(let e of r)t.push(e),n[e.category]=(n[e.category]??0)+1}async function Wo(e,t,n,r){if(r?.aborted)throw new S(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];Lo(a,``,o);let s=o.filter(e=>!fe(e.pointer)),c=[...t.entries()],l=await Vo([...s.map(e=>e.value),...c.map(([,e])=>e)],n,r),u=[],d={},f=1,p=new Map,m=[];for(let e=0;e<s.length;e++){let t=s[e],n=Ho(t.value,l[e],{kind:`json`,pointer:t.pointer},f);f=n.nextId,n.finalText!==t.value&&p.set(t.pointer,n.finalText),m.push(n)}Uo(m,u,d);let h=new Map,g=s.length,_=[];for(let e=0;e<c.length;e++){let[t,n]=c[e],r=Ho(n,l[g+e],{kind:`attachment`,attachmentId:t},f);f=r.nextId,h.set(t,r.finalText),_.push(r)}Uo(_,u,d);let v=zo(e,``,p);return{document:{...v,privacy:{...v.privacy,redactionCounts:d,redactions:u}},textAttachments:h}}function Go(e,t){let n=e.startsWith(`text/`)||e===`application/json`,r=/\.(?:txt|md|json|csv|xml|ya?ml|js|mjs|cjs|ts|tsx|css|html)$/i.test(t);return n||r?`text-redacted`:`binary-unchanged`}async function Ko(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}var qo={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`,"image/svg+xml":`.svg`,"image/bmp":`.bmp`,"application/pdf":`.pdf`,"application/zip":`.zip`,"application/gzip":`.gz`,"application/json":`.json`,"text/plain":`.txt`,"text/markdown":`.md`,"text/csv":`.csv`,"text/html":`.html`,"text/xml":`.xml`,"application/xml":`.xml`};function Jo(e,t){return qo[e]??(t===`text-redacted`?`.txt`:`.bin`)}function Yo(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${Jo(t,n)}`}function Xo(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Zo(e){let t=[];for(let n of e.conversations){let e=0;for(let r of n.messages){let i=r.role;if(i!==`user`&&i!==`assistant`&&i!==`tool-result`)continue;let a=0;for(let o of r.content)o.type===`attachment-ref`&&(t.push({attachmentId:o.attachmentId,conversationId:n.id,messageId:r.id,role:i,userOrdinal:e,imgIndex:a}),a++);i===`user`&&e++}}return t}async function Qo(e,t,n,r,i){let a=Go(e.mimeType,e.name),o={attachmentId:t,originalName:e.name,mimeType:e.mimeType,handling:a,present:!0,sourceConversationId:n,sourceMessageId:r};if(a===`text-redacted`){let t;if(e.text!==void 0)t=e.text;else if(e.data!==void 0)t=new TextDecoder().decode(Xo(e.data));else if(e.path!==void 0&&i!==void 0)try{t=new TextDecoder().decode(await i(e.path))}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return t===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawText:t}}let s;if(e.data!==void 0)s=Xo(e.data);else if(e.path!==void 0&&i!==void 0)try{s=await i(e.path)}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return s===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawBytes:s}}function $o(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.role!==`user`){let e=n.get(s.attachmentId);e===void 0?i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId})):i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`image-${s.imgIndex}`,mimeType:e.mimeType,handling:`binary-unchanged`,rawBytes:Xo(e.data),present:!0,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let e=(t.get(s.conversationId)??[]).filter(e=>e.role===`user`)[s.userOrdinal];if(e===void 0){a.add(s.conversationId),i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-association-unavailable`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let c=(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:e})=>e.kind===`image`||e.kind===`file`&&e.data!==void 0)[s.imgIndex];if(c===void 0){i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}o.add(`${s.conversationId}:${e.id}:${c.i}`),i.push(Qo(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function es(e,t,n){return(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:r,i})=>(r.kind===`text`||r.kind===`file`&&(r.data!==void 0||r.path!==void 0))&&!n.has(`${t}:${e.id}:${i}`))}function ts(e,t,n,r,i,a,o){let s=es(t,n,i),c=[];for(let t=0;t<s.length;t++){let{a:i}=s[t],l=`${e.id}-file-${t}`;r.has(l)||(a.push(Qo(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function ns(e,t,n,r,i){let a=new Map,o=[];for(let s of e.conversations){let e=(t.get(s.id)??[]).filter(e=>e.role===`user`),c=0;for(let t of s.messages){if(t.role!==`user`)continue;let l=e[c];if(c++,l===void 0)continue;let u=ts(t,l,s.id,n,r,o,i);u.length>0&&(a.has(s.id)||a.set(s.id,new Map),a.get(s.id).set(t.id,[...t.content,...u]))}}return{updates:a,additionalPendingPromises:o}}function rs(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,Yo(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function is(e,t,n,r,i){let{rawAttachments:a,textMap:o}=rs(e,n),s,c;try{let e=await Wo({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof S?e:new S(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new S(`schema-invalid`);l.set(t.attachmentId,t)}let u=new Map,d=await Promise.all(s.attachments.map(async e=>{if(!e.present||!e.path)return e;let t=l.get(e.id);if(t===void 0)throw new S(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await Ko(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function as(e){let{document:t,chatMessagesByConversation:n,knownSecrets:r,signal:i}=e,a=e.canonicalImages??new Map,o=e.vfsReader,s=new Set,{pendingPromises:c,mismatchedConvIds:l,processedUiPositions:u}=$o(Zo(t),n,a,o);l.size>0&&s.add(`attachment-association-unavailable`);for(let e of t.conversations)e.messages.filter(e=>e.role===`user`).length>(n.get(e.id)??[]).filter(e=>e.role===`user`).length&&s.add(`attachment-association-unavailable`);let d=await Promise.all(c),{updates:f,additionalPendingPromises:p}=ns(t,n,new Set(d.map(e=>e.attachmentId)),u,o),m=await Promise.all(p),h=[...d,...m],g=t;f.size>0&&(g={...t,conversations:t.conversations.map(e=>{let t=f.get(e.id);return t?{...e,messages:e.messages.map(e=>{let n=t.get(e.id);return n?{...e,content:n}:e})}:e})});let{redactedDocument:_,bundleFiles:v}=await is(h,g,s,r,i),y=[..._.session.completeness.missing.filter(e=>!s.has(e)),...s];return{document:{..._,session:{..._.session,completeness:{status:y.length>0?`partial`:_.session.completeness.status,missing:y}}},bundleFiles:v}}var os=50;function ss(e){return zt(e)}function cs(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function ls(e,t,n,r){let i=new Map;for(let e of t)i.set(e.id,e);let a=new Map;for(let e of n)a.set(e.id,e);let o=[],s=new Map;for(let t of e){let e=r.getAgentMessages(t.jid)??i.get(t.jid)?.messages??[],n={id:t.jid,kind:A(t)?`cone`:`scoop`,name:t.name,...t.folder&&!A(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=ss(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function us(e,t,n={}){let r=e=>n.rootJid===void 0?e:Vt(e,n.rootJid);for(;;){let n=r(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(os,t),t?.aborted))throw new S(`transfer-aborted`);let i=cs(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new S(`transfer-aborted`);let s=r(e.listScoops());if(i===cs(s,e))return ls(s,a,o,e)}}function ds(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function fs(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function ps(e,t){if(typeof e==`string`)return e?[{type:`text`,text:e}]:[];let n=[],r=0;for(let i of e)i.type===`text`?i.text&&n.push({type:`text`,text:i.text}):i.type===`image`&&n.push(fs(t,r++));return n}function ms(e,t){let n=[],r=new Map,i=0,a=0;for(let o of e)if(o.type===`thinking`)i+=1;else if(o.type===`text`)o.text&&n.push({type:`text`,text:o.text});else if(o.type===`toolCall`)n.push({type:`tool-call`,id:o.id??``,name:o.name??``,input:o.arguments??{}});else if(o.type===`image`){let e=fs(t,a++);n.push(e),o.data&&o.mimeType&&r.set(e.attachmentId,{data:o.data,mimeType:o.mimeType})}return{blocks:n,excluded:i,images:r}}function hs(e,t){let n=[],r=new Map,i=0;for(let a of e)if(a.type===`text`)a.text&&n.push({type:`text`,text:a.text});else if(a.type===`image`){let e=fs(t,i++);n.push(e),a.data&&a.mimeType&&r.set(e.attachmentId,{data:a.data,mimeType:a.mimeType})}return{blocks:n,images:r}}function gs(e,t,n){let r=ds(t,n),i=ps(e.content,r);return{message:{id:r,sequence:n,role:`user`,timestamp:new Date(e.timestamp).toISOString(),content:i},excludedReasoningBlocks:0,images:new Map}}function _s(e,t,n){let r=ds(t,n),{blocks:i,excluded:a,images:o}=ms(e.content,r);return{message:{id:r,sequence:n,role:`assistant`,timestamp:new Date(e.timestamp).toISOString(),content:i,model:{provider:e.provider,id:e.model,api:e.api},usage:e.usage,stopReason:e.stopReason,...e.errorMessage?{error:e.errorMessage}:{}},excludedReasoningBlocks:a,images:o}}function vs(e,t,n){let r=ds(t,n),{blocks:i,images:a}=hs(e.content,r);return{message:{id:r,sequence:n,role:`tool-result`,timestamp:new Date(e.timestamp).toISOString(),content:i,toolCallId:e.toolCallId,isError:e.isError},excludedReasoningBlocks:0,images:a}}function ys(e,t,n){return e.role===`user`?gs(e,t,n):e.role===`assistant`?_s(e,t,n):e.role===`toolResult`?vs(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function bs(e){let t=[];for(let n of e){if(!n.parentConversationId)continue;let e={sourceConversationId:n.parentConversationId,targetConversationId:n.id};n.originToolCallId&&(e.toolCallId=n.originToolCallId),t.push(e)}return t}function xs(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=ys(r,e.id,i+1);t+=a.excludedReasoningBlocks;for(let[e,t]of a.images)n.set(e,t);return a.message?[a.message]:[]});return{id:e.id,kind:e.kind,name:e.name,...e.folder?{folder:e.folder}:{},...e.parentConversationId?{parentConversationId:e.parentConversationId}:{},...e.createdAt?{createdAt:e.createdAt}:{},...e.updatedAt?{updatedAt:e.updatedAt}:{},messages:r}}),delegations:bs(e),excludedReasoningBlocks:t,canonicalImages:n}}var Ss=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e})();function Cs(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^Ss[(t^e[n])&255];return~t>>>0}var ws=new TextEncoder;function J(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function Y(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255,e[t+2]=n>>>16&255,e[t+3]=n>>>24&255}function Ts(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,J(r,4,20),J(r,6,2048),J(r,8,0),J(r,10,0),J(r,12,0),Y(r,14,n),Y(r,18,t),Y(r,22,t),J(r,26,e.length),J(r,28,0),r.set(e,30),r}function Es(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,J(i,4,20),J(i,6,20),J(i,8,2048),J(i,10,0),J(i,12,0),J(i,14,0),Y(i,16,n),Y(i,20,t),Y(i,24,t),J(i,28,e.length),J(i,30,0),J(i,32,0),J(i,34,0),J(i,36,0),Y(i,38,0),Y(i,42,r),i.set(e,46),i}function Ds(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,J(r,4,0),J(r,6,0),J(r,8,e),J(r,10,e),Y(r,12,t),Y(r,16,n),J(r,20,0),r}function Os(e){if(!e||e.startsWith(`/`)||e.includes(`\0`)||e.includes(`\\`))return!1;for(let t of e.split(`/`))if(t===``||t===`.`||t===`..`)return!1;return!0}function ks(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${ue(e.session.title,{maxLen:40,fallback:`transcript`})}-${n}.zip`}async function*As(e,t,n,r,i){if(n?.aborted)throw i(new S(`transfer-aborted`)),new S(`transfer-aborted`);let a=()=>i(new S(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=et.create(),s=0,c=0,l=[],u=!1;function*d(e){o.update(e),s+=e.byteLength,c+=e.byteLength,yield e}try{let i=new TextEncoder().encode(JSON.stringify(e,null,2)),a=ws.encode(`transcript.json`),f=Cs(i),p=Ts(a,i.length,f);if(l.push({nameBytes:a,size:i.length,crc:f,localOffset:c}),n?.aborted||(yield*d(p),n?.aborted))throw new S(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new S(`transfer-aborted`);let t=ws.encode(e),i=Cs(r),a=Ts(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new S(`transfer-aborted`);yield*d(r)}let m=c;for(let e of l){if(n?.aborted)throw new S(`transfer-aborted`);yield*d(Es(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new S(`transfer-aborted`);yield*d(Ds(l.length,c-m,m)),u=!0,r({byteLength:s,sha256:o.hex()})}catch(e){throw u=!0,i(e),e}finally{n?.removeEventListener(`abort`,a),u||(u=!0,i(new S(`transfer-aborted`)))}}var js=4294967295,Ms=65535;function Ns(e,t,n){for(let e of t.keys())if(!Os(e))throw new S(`schema-invalid`);if(t.size+1>Ms)throw new S(`schema-invalid`);for(let e of t.values())if(e.byteLength>js)throw new S(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:ks(e),chunks:As(e,t,n,r,i),completion:a}}function Ps(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:pe},session:{id:e,title:t,state:n,completeness:{status:`complete`,missing:[]},...a},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:r.excludedReasoningBlocks,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:r.conversations,delegations:r.delegations,attachments:[]}}function Fs(e,t){let n=[],r=1;for(let i of e){if(i.role!==`user`&&i.role!==`assistant`)continue;let e=`${t}-msg-${String(r).padStart(6,`0`)}`;n.push({id:e,sequence:r++,role:i.role,timestamp:new Date(i.timestamp||0).toISOString(),content:i.content?[{type:`text`,text:i.content}]:[]})}return n}function Is(e){let t=de(e);if(!t.ok)throw new S(`schema-invalid`,t.error)}function Ls(e,t,n){let r=new Map;for(let i of e)if(!(!i.present||!i.path)){if(i.handling===`text-redacted`){let e=t.get(i.id);e!==void 0&&r.set(i.path,new TextEncoder().encode(e))}else{let e=n.get(i.path);e&&r.set(i.path,e)}}return r}async function Rs(e,t){return Promise.all(e.map(async e=>{if(!e.present||!e.path||e.handling!==`text-redacted`)return e;let n=t.get(e.path);if(!n)return e;let r=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength),i=await crypto.subtle.digest(`SHA-256`,r),a=Array.from(new Uint8Array(i)).map(e=>e.toString(16).padStart(2,`0`)).join(``);return{...e,byteLength:n.length,sha256:a}}))}function zs(e){let t=e.match(/^---\n([\s\S]*?)\n---\n/);if(!t)return{};let n=t[1],r={},i=n.match(/^createdAt:\s*(\d+)\s*$/m),a=n.match(/^updatedAt:\s*(\d+)\s*$/m);return i&&(r.createdAt=new Date(Number(i[1])).toISOString()),a&&(r.updatedAt=new Date(Number(a[1])).toISOString()),r}var Bs=class{deps;constructor(e){this.deps=e}async export(e,t={}){let{signal:n,onProgress:r}=t,i;return i=e.kind===`active`?await this.buildActiveSnapshot(n,r):await this.buildFrozenSnapshot(e.sessionId,n,r),Is(i.document),r?.({phase:`packaging`}),Ns(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await us(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=xs(n.sources),{document:i,bundleFiles:a}=await as({document:Ps(e.sessionId,e.title,`frozen`,r,this.deps.version,{frozenAt:e.frozenAt,createdAt:new Date(e.createdAt).toISOString(),updatedAt:new Date(e.updatedAt).toISOString()}),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});Is(i),await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a})}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await us(this.deps.collection,e),r=xs(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=Ps(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),as({document:o,chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:e})}async buildFrozenSnapshot(e,t,n){let r=await this.deps.snapshotStore.read(e);return r?(n?.({phase:`redacting`}),this.reredactStoredSnapshot(r,t)):this.buildLegacyPartial(e,t,n)}async reredactStoredSnapshot(e,t){let n=new Map;for(let t of e.document.attachments){if(t.handling!==`text-redacted`||!t.present||!t.path)continue;let r=e.attachments.get(t.path);r&&n.set(t.id,new TextDecoder().decode(r))}let r,i;try{let a=await Wo(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new S(`redaction-unavailable`)}let a=Ls(r.attachments,i,e.attachments),o=await Rs(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,t,n){let r=(await E(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!r)throw new S(`session-not-found`);let i;try{let e=await this.deps.vfs.readFile(`/sessions/${r.filename}`,{encoding:`utf-8`});i=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new S(`session-not-found`)}let{loadFrozenArchive:a}=await l(async()=>{let{loadFrozenArchive:e}=await import(`./session-jsonl-2bEZy533.js`).then(e=>e.i);return{loadFrozenArchive:e}},__vite__mapDeps([35,5,36,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,37,38])),{title:o,messages:s}=await a(this.deps.vfs,i,r.filename),c=`legacy-cone`,u=Fs(s,c),d=zs(i),f={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:pe},session:{id:e,title:o,state:`frozen`,...r.frozenAt?{frozenAt:r.frozenAt}:{},...d,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:c,kind:`cone`,name:o,messages:u}],delegations:[],attachments:[]},p=new Map([[c,s]]);return n?.({phase:`redacting`}),as({document:f,chatMessagesByConversation:p,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:t})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new S(`attachment-unreadable`);return t}},Vs=`/sessions/data`,Hs=`document.json`;async function Us(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function Ws(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new S(`session-not-found`)}function Gs(e){return`${Vs}/${e}`}function Ks(e){return`${Vs}/.tmp-${e}`}async function qs(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function Js(e,t){let n;try{n=await e.readDir(t)}catch{return}for(let r of n){let n=`${t}/${r.name}`;r.type===`directory`&&await Js(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function Ys(e,t,n){await qs(e,n);let r=await e.readDir(t);for(let i of r){let r=`${t}/${i.name}`,a=`${n}/${i.name}`;if(i.type===`directory`)await Ys(e,r,a);else{let t=await e.readFile(r,{encoding:`binary`});await e.writeFile(a,t)}}}async function Xs(e,t,n){Ws(t);let r=Ks(t),i=Gs(t),a=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!a.has(e))throw new S(`schema-invalid`);await Js(e,i),await qs(e,r);try{let t=[...n.document.attachments];for(let[e,r]of n.attachments){let n=await Us(r),i=a.get(e);if(i!==void 0){let e=t.indexOf(i);e!==-1&&(t[e]={...i,sha256:n,byteLength:r.length})}}let o={...n.document,attachments:t},s=JSON.stringify(o,null,2);if(await e.writeFile(`${r}/${Hs}`,s),n.attachments.size>0)for(let[t,i]of n.attachments){let n=`${r}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await qs(e,`${r}/${t.slice(0,a)}`),await e.writeFile(n,i)}await e.flush(),await Ys(e,r,i),await e.flush()}catch(t){throw await Js(e,r),t}await Js(e,r)}async function Zs(e,t){Ws(t);let n=Gs(t),r=`${n}/${Hs}`,i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new S(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new S(`schema-invalid`)}if(!de(a).ok)throw new S(`schema-invalid`);let o=new Map;for(let t of a.attachments){if(!t.present||!t.path)continue;let r=`${n}/${t.path}`,i;try{let t=await e.readFile(r,{encoding:`binary`});i=t instanceof Uint8Array?t:new TextEncoder().encode(t)}catch{throw new S(`transfer-corrupt`)}if(await Us(i)!==t.sha256)throw new S(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}function Qs(e){return`error`in e}function X(){throw new S(`redaction-unavailable`)}function $s(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&X(),e.texts}function ec(){return{async redact(e){let t;try{t=await fetch(Fe(`/api/secrets/redact-export`),{method:`POST`,headers:Ie({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{X()}t.ok||X();let n;try{n=await t.json()}catch{X()}return $s(n,e.length)}}}function tc(){return{async redact(e){let t;try{t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.redact-export`,texts:e},e=>{chrome.runtime.lastError,t(e??null)})})}catch{X()}return typeof t==`object`&&t&&Qs(t)&&X(),$s(t,e.length)}}}function nc(){return{async redact(e){let t;try{t=await Re(`secrets.redact-export`,{texts:e})}catch{X()}return t??X(),typeof t==`object`&&t&&Qs(t)&&X(),$s(t,e.length)}}}function rc(){return{async redact(e){X()}}}function ic(){let e=Le();return e===`connect`?rc():e===`extension-direct`?tc():e===`extension-delegate`?nc():ec()}function Z(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;default:return`idle`}}function ac(e,t={}){let n=Z(t.status),r=It(e);return{id:e.jid,parentId:e.parentJid,role:A(e)?`primary`:`child`,name:e.name,folder:e.folder,assistantLabel:e.assistantLabel,state:n,...n===`working`&&t.phase?{phase:t.phase}:{},...n===`idle`&&t.awaiting?{awaiting:!0}:{},fill:typeof t.fill==`number`?Math.round(t.fill*100):0,...typeof t.turns==`number`?{turns:t.turns}:{},...r?{model:r}:{},...e.trigger?{trigger:e.trigger}:{},...e.addedAt?{addedAt:e.addedAt}:{}}}function oc(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i=n?e.config:sc(e,r),a={jid:e.id??(n?`cone_${t()}`:`scoop_${r}_${t()}`),name:e.name,folder:r,requiresTrigger:!n,assistantLabel:n?`sliccy`:r,addedAt:new Date(t()).toISOString(),parentJid:e.parentId,...i?{config:i,configSchemaVersion:3}:{},...e.notifyOnComplete===!1?{notifyOnComplete:!1}:{},...!n&&e.onParentClose===`detach`?{onParentClose:`detach`}:{}};return n||(a.trigger=`@${r}`),a}function sc(e,t){let n=Rt(e.workspace?.mode??e.config?.workspaceMode),r=qr(n,t,{root:e.workspace?.from??`/workspace`},e.workspace?.from),i=e.config;return{...i,workspaceMode:n,visiblePaths:i?.visiblePaths===void 0?r.visiblePaths:i.visiblePaths,writablePaths:i?.writablePaths===void 0?r.writablePaths:i.writablePaths}}var cc=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,lc=`${cc}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,uc=`${cc}border:none;background:#d23;color:#fff;`,dc=`${cc}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function fc(e,t,n){return{...oc({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function pc(e,t){let n=e.createElement(`slicc-dialog`);n.setAttribute(`heading`,t.heading),n.append(t.body);for(let r of t.actions){let t=e.createElement(`button`);t.setAttribute(`slot`,`footer`),t.type=`button`,t.dataset.coneAction=r.data,t.textContent=r.text,t.style.cssText=r.style,t.addEventListener(`click`,r.onClick),n.append(t)}return n.addEventListener(`slicc-dialog-close`,()=>t.onDismiss(n)),n}function mc(e,t){let n=e.createElement(`form`);n.style.cssText=`display:flex;flex-direction:column;gap:0.5rem;padding:0.25rem 0;`;let r=`font-size:0.9375rem;padding:0.5rem 0.625rem;border:1px solid var(--s2-border-color,#e0e0e0);border-radius:0.375rem;background:transparent;color:inherit;font-family:inherit;`,i=e.createElement(`input`);i.type=`text`,i.name=`name`,i.placeholder=`Name`,i.setAttribute(`aria-label`,`Cone name`),i.maxLength=40,i.autocomplete=`off`,i.required=!0,i.style.cssText=r;let a=e.createElement(`textarea`);a.name=`brief`,a.placeholder=`What should it work on? (optional)`,a.setAttribute(`aria-label`,`What the cone should work on`),a.rows=3,a.style.cssText=`${r}resize:vertical;`,n.append(i,a);let o=()=>({name:i.value.trim(),brief:a.value.trim()});return n.addEventListener(`submit`,e=>{e.preventDefault(),t(o())}),a.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),t(o()))}),n.readDraft=o,n}function hc(e){let{freezer:t,client:n,log:r}=e,i=t.ownerDocument,a=null,o=!1,s=null,c=()=>t.querySelector(`slicc-freezer-new`),l=()=>gn(e.getUnits(),e.getSelected()),u=t=>e.getUnits().find(e=>e.id===t.jid)??ac(t),d=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},f=e=>{d();let t=pc(i,{...e,onDismiss:e=>{s===e&&(s=null),e.remove()}});s=t,i.body.append(t),t.show?.()},p=t=>{if(!t.name)return;d();let i=l(),o=fc(t.name,n.getScoops(),j(e.getUnits(),i?.id));a=t.name,n.registerScoop(o,t.brief?{description:t.brief,prompt:t.brief}:{}).catch(e=>r.warn(`WC cone create failed`,e)),_()},m=()=>{let e=mc(i,p);f({heading:`New cone`,body:e,actions:[{text:`Create`,style:lc,data:`create`,onClick:()=>p(e.readDraft())},{text:`Cancel`,style:dc,data:`cancel`,onClick:d}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},h=t=>{d();let i=O(n.getScoops()),a=i.find(e=>e.jid===t);if(!a||i.length<=1||o){_();return}o=!0,_(),(async()=>{try{await e.freezeCone(a)}catch(e){r.warn(`WC cone freeze before drop failed`,e)}let t=l()?.id===a.jid;try{await n.unregisterScoop(a.jid)}catch(e){r.warn(`WC cone drop failed`,e)}if(t){let t=O(n.getScoops()).find(e=>e.jid!==a.jid);t&&e.selectScoop(u(t))}o=!1,_()})()},g=e=>{let t=Cn(e),n=i.createElement(`p`);n.textContent=`Its chat goes to the Freezer.`,n.style.cssText=`font-size:0.875rem;margin:0;`,f({heading:`Drop ${t}?`,body:n,actions:[{text:`Drop`,style:uc,data:`drop`,onClick:()=>h(e.id)},{text:`Cancel`,style:dc,data:`cancel`,onClick:d}]})},_=()=>{let t=O(n.getScoops());if(a!==null){let n=t.find(e=>e.name===a&&!e.folder.startsWith(`cone-pending-`));n&&(a=null,e.getSelected()?.id!==n.jid&&e.selectScoop(u(n)))}let r=c();r?.setAttribute(`cones`,String(t.length)),r?.toggleAttribute(`busy`,o)};return t.addEventListener(`new-cone`,m),t.addEventListener(`drop-cone`,()=>{let e=l();!e||O(n.getScoops()).length<=1||o||g(e)}),_(),{refresh:_,dialog:()=>s}}var gc={"gelatiere-dismiss":{consume:!0,mode:`dismiss`},"gelatiere-install":{consume:!1,mode:`take`},"gelatiere-try":{consume:!1,mode:`take`}};function _c(e){return t=>{if(t.type!==`sprinkle`||t.sprinkleName!==`welcome`&&t.sprinkleName!==`inline`&&t.sprinkleName!==`suggestions`)return!1;let n=t.body,r=gc[typeof n?.action==`string`?n.action:``];if(!r)return!1;let i=n?.data,a=typeof i?.id==`string`&&i.id?i.id:null;return a&&e.openVfs().then(async e=>{let t=await l(()=>import(`./wc-shortcuts-CR8LRvqx.js`).then(e=>e.X),__vite__mapDeps([36,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));return r.mode===`dismiss`?t.dismissGelatiereSuggestion(e,a):t.takeGelatiereSuggestion(e,a)}).catch(t=>e.log.warn(`gelatiere card settlement failed`,t)),r.consume}}var vc=5e3,yc=class{deps;listListeners=new Set;unitListeners=new Map;lastSnapshots=new Map;orphanedReplays=new Map;retriedSnapshots=new Set;pendingSnapshots=new Map;constructor(e){this.deps=e}toSummary(e){return ac(e,{awaiting:this.deps.getAwaiting?.()===e.jid,fill:this.deps.fills.get(e.jid),phase:this.deps.phases.get(e.jid),status:this.deps.statuses.get(e.jid),turns:this.deps.turns?.get(e.jid)})}snapshotFor(e,t,n){let r=this.deps.getClient()?.getScoops().find(t=>t.jid===e);return r?{summary:this.toSummary(r),messages:t,...n?{queuedIds:n}:{}}:null}currentUnits(){return(this.deps.getClient()?.getScoops()??[]).map(e=>this.toSummary(e))}publishSnapshot(e,t){this.retriedSnapshots.delete(e),this.lastSnapshots.set(e,t),this.emit(e,{snapshot:t,type:`snapshot`});let n=this.pendingSnapshots.get(e);if(n){this.pendingSnapshots.delete(e);for(let e of n)e(t)}}drainOrphanedReplays(){for(let[e,t]of this.orphanedReplays){let n=this.snapshotFor(e,t.messages,t.queuedIds);n&&(this.orphanedReplays.delete(e),this.publishSnapshot(e,n))}}recoverUnanswered(e){if(this.unitListeners.has(e)){if(this.retriedSnapshots.has(e)){this.publishRecovery(e);return}this.retriedSnapshots.add(e),this.deps.getClient()?.requestScoopMessages(e),setTimeout(()=>{this.retriedSnapshots.has(e)&&this.publishRecovery(e)},vc)}}publishRecovery(e){if(!this.unitListeners.has(e))return;let t=this.lastSnapshots.get(e),n=this.deps.getClient()?.getScoops().find(t=>t.jid===e);this.emit(e,{snapshot:{messages:t?.messages??[],...n?{summary:this.toSummary(n)}:{}},type:`snapshot`})}forgetWaiter(e,t){let n=this.pendingSnapshots.get(e);n&&(n.delete(t),n.size===0&&this.pendingSnapshots.delete(e))}emitList(){if(this.drainOrphanedReplays(),this.listListeners.size===0)return;let e=this.currentUnits();for(let t of this.listListeners)t(e)}emit(e,t){let n=this.unitListeners.get(e);if(n)for(let e of n)e(t)}wrapCallbacks(e){return{...e,onStatusChange:(t,n)=>{e.onStatusChange(t,n),this.emit(t,{state:Z(n),type:`status`}),this.emitList()},onScoopCreated:t=>{e.onScoopCreated(t),this.emitList()},onScoopListUpdate:t=>{e.onScoopListUpdate(t),this.emitList()},onScoopPhaseChange:(t,n)=>{e.onScoopPhaseChange?.(t,n),this.emitList()},onIncomingMessage:(t,n)=>{e.onIncomingMessage(t,n),this.emit(t,{message:n,type:`message`})},onScoopMessagesReplaced:(t,n,r)=>{e.onScoopMessagesReplaced?.(t,n,r);let i=n,a=this.snapshotFor(t,i,r);a?this.publishSnapshot(t,a):this.orphanedReplays.set(t,{messages:i,queuedIds:r})}}}list(){return Promise.resolve(this.currentUnits())}subscribeList(e){return this.listListeners.add(e),e(this.currentUnits()),()=>{this.listListeners.delete(e)}}subscribe(e,t){let n=this.unitListeners.get(e)??new Set;n.add(t),this.unitListeners.set(e,n);let r=this.lastSnapshots.get(e);return this.pendingSnapshots.has(e)||(r?t({snapshot:r,type:`snapshot`}):this.deps.getClient()?.requestScoopMessages(e)),()=>{n.delete(t),n.size===0&&this.unitListeners.delete(e)}}snapshot(e){let t=this.deps.getClient();if(!t)return Promise.reject(Error(`kernel client not attached`));let n=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,n);let r=()=>{},i=new Promise(e=>{r=e,n.add(e)});t.setSelectedScoopJid(e),t.requestScoopMessages(e);let a,o=new Promise(t=>{a=setTimeout(()=>{a=void 0;let n=this.pendingSnapshots.get(e)?.has(r)===!0;this.forgetWaiter(e,r),n&&this.recoverUnanswered(e),t(this.snapshotFor(e,[],void 0))},vc)});return Promise.race([i.then(e=>(a!==void 0&&(clearTimeout(a),a=void 0),e)),o]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getClient();return n?(n.sendRaw({attachments:t.attachments,messageId:t.messageId??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,scoopJid:e,text:t.text,type:`user-message`,...t.steer?{steer:!0}:{},...t.guestGate?{guestGate:t.guestGate}:{}}),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}setModel(e,t){let n=this.deps.getClient();return n?n.setScoopModel(e,t):Promise.reject(Error(`kernel client not attached`))}signal(e,t){if(t!==`stop`)return Promise.resolve();let n=this.deps.getClient();return n?(n.stopScoop(e),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}};function Q(e){return e.workUnits??=new yc({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses,turns:e.turns}),e.workUnits}function bc(e){let t=Q(e),n=()=>e.refreshScoops?.(),r=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),i=()=>{if(e.getSelected()||r())return;let n=t.currentUnits(),i=e.pendingUrlContext;if(i?.startsWith(`freezer:`))return;if(i?.startsWith(`scoop:`)||i?.startsWith(`cone:`)){let t=_n(n,i);if(t){e.pendingUrlContext=null,e.selectScoop(t);return}}let a=En(n);a&&(e.pendingUrlContext=null,e.selectScoop(a))};return t.wrapCallbacks({onStatusChange:(t,r)=>{let i=e.statuses.get(t),a=r;e.statuses.set(t,a),a!==`ready`&&e.awaitingInput===t&&(e.awaitingInput=null),Z(i)===`working`&&Z(a)!==`working`&&e.turns.set(t,(e.turns.get(t)??0)+1),Z(i)!==Z(a)&&(n(),e.notifyScoopStateChanged?.()),e.getSelected()?.id===t&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:t=>{n(),!e.getSelected()&&!r()&&!e.pendingUrlContext&&e.selectScoop(ac(t,{fill:e.fills.get(t.jid),phase:e.phases.get(t.jid),status:e.statuses.get(t.jid)}))},onScoopListUpdate:t=>{let r=new Set(t.map(e=>e.jid));for(let t of e.lickBackpressure.keys())r.has(t)||e.lickBackpressure.delete(t);for(let t of e.turns.keys())r.has(t)||e.turns.delete(t);n(),i()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(t,r)=>{e.phases.set(t,r),n(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.id===t&&n.channel!==`web`&&qt(n.channel)&&e.getController()?.addLickMessage(n.id,n.content,n.channel,new Date(n.timestamp).getTime(),n.lickId)},onLickBackpressure:(t,n)=>{n.count<=0?e.lickBackpressure.delete(t):e.lickBackpressure.set(t,n);let r=e.getSelected();if(r?.id!==t)return;let i=Dn(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.id===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onReady:()=>{n(),i(),e.notifyReady?.()}})}var xc=`slicc:leader-local-model-state-changed`;function Sc(e=window){e.dispatchEvent(new Event(xc))}var Cc=`slicc:leader-model-catalog-changed`;function wc(e=window){e.dispatchEvent(new Event(Cc))}var Tc={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Ec={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function Dc(e){return e?Tc[e]:void 0}function Oc(e){return e===`max`?`max`:void 0}function kc(e,t){return t===`max`?`max`:(e&&Ec[e])??`off`}var Ac=2e3,jc=1e4,Mc=12e4;function Nc(e){let t=[],n=null,r=new Map,i=e.modelPickerEnabled!==!1,a=e.catalogRetryDelayMs??Ac,o=e.catalogRetryMaxDelayMs??jc,s=e.catalogRetryWindowMs??Mc,c=0,l=null,u=null,d=()=>{if(!i||u!==null)return;let t=Date.now();if(l===null&&(l=t+s),t>=l)return;let n=Math.min(a*2**c,o);u=setTimeout(()=>{u=null;let t=e.getSync();t?.requestModels&&(c+=1,t.requestModels())},n)},f=()=>{u!==null&&clearTimeout(u),u=null,c=0,l=null},p=e=>{if(e.length===0)return;let t=new Set(e.map(e=>e.id));for(let e of r.keys())t.has(e)||r.delete(e)},m=()=>{let t=e.getSelectedScoopJid(),i=e.getUnits();if(p(i),n&&(i.length===0||!t))return n.activeModelId;if(n&&t&&n.scoopJid===t){let e=Bt(n.activeModelId);return e&&r.set(t,e),n.activeModelId}let a=j(i,t,t?r.get(t):void 0);return t&&a&&r.set(t,a),a?Ut(a):void 0},h=()=>{let r=m(),a=r?t.find(e=>e.modelId===r):void 0;if(!i||!n||!a){e.composerMeta.style.display=`none`,d();return}e.composerMeta.model=a.modelName,e.composerMeta.setAttribute(`thinking`,kc(n.thinkingLevel,n.effortOverride)),e.composerMeta.toggleAttribute(`no-thinking`,!a.reasoning),e.composerMeta.style.removeProperty(`display`),f()},g=t=>{e.interceptLocalHandlers&&t.stopImmediatePropagation()},_=t=>{let i=e.getSync();if(!i)return;g(t);let a=t.detail?.id,o=e.getSelectedScoopJid()??n?.scoopJid,s=a?Bt(a):null;s&&o?(r.set(o,s),e.setModel(o,s)):a&&i.selectModel(a,o??void 0),h()};e.composerMeta.addEventListener(`model-change`,_,{capture:e.interceptLocalHandlers});let v=t=>{let r=e.getSync();if(!r)return;if(g(t),e.getLockedEffortLevel?.()){h();return}let i=t.detail?.thinking,a=Dc(i),o=e.getSelectedScoopJid()??n?.scoopJid;o&&a&&a!==`max`&&r.setThinkingLevel(o,a,Oc(i)),h()};e.composerMeta.addEventListener(`thinking-change`,v,{capture:e.interceptLocalHandlers});let y=()=>{t=[],n=null,r.clear(),f(),e.composerMeta.models=[],e.composerMeta.style.display=`none`};return y(),{onModelsList(n){t=n,e.composerMeta.models=n.map(e=>({id:e.modelId,name:e.modelName,provider:e.providerName})),h()},onModelState(e){n=e,h()},onShownUnitChanged(){h()},reset:y,dispose(){e.composerMeta.removeEventListener(`model-change`,_,{capture:e.interceptLocalHandlers}),e.composerMeta.removeEventListener(`thinking-change`,v,{capture:e.interceptLocalHandlers}),y(),e.composerMeta.style.removeProperty(`display`)}}}async function Pc(e,t,n,r,i=Sc){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function Fc(e,t){return wn(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||Pe(t.localStorage)}async function Ic(e,t,n,r,i){let a=bn(t),o=Sn(a);e.thread.setAttribute(`context`,Tn(t));let s=vn(t),c=Jt({isRoot:s,name:t.name});e.thread.setAttribute(`accent`,c),e.switcher.setAttribute(`active`,t.id),un(e,s?{kind:`cone`}:{kind:`scoop`,accent:c}),sn(e,o);let u=localStorage.getItem(`slicc_locked_effort_level`),d=r?.(t.id);if(d||u){let t=d?Lt(d):{};e.composerMeta.setAttribute(`thinking`,kc(u??t.level,t.effortOverride))}if(!i?.skipModelPill)try{let{resolveCurrentModel:r,resolveModelById:i}=await l(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-DXWS1IVz.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([39,5,40,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,41,42,43,44,45,46,47,48])),a=j(n,t.id),o=a?i(a.id,a.provider):r();e.composerMeta.setAttribute(`model`,o.name??o.id),e.composerMeta.toggleAttribute(`no-thinking`,o.reasoning!==!0||!!u)}catch{}}async function Lc(e){if(Fc(e.pendingUrlContext,e.win))return;let t=wn(e.pendingUrlContext);if(t===null)return;let{SessionStore:n}=await l(async()=>{let{SessionStore:e}=await Promise.resolve().then(()=>Mn);return{SessionStore:e}},void 0),r=new n;await r.init();let i=await r.load(zt({folder:t}));i&&i.messages.length>0&&!e.hasSelection()&&(e.loadMessages(i.messages),e.onHydrated())}function Rc(e){let{boot:t,client:n,openReader:r,log:i}=e,{refs:a}=t;l(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-B0ZCFAzV.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([49,13,36,5,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:a.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:a.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),Lc({pendingUrlContext:t.wiring.pendingUrlContext,win:window,hasSelection:()=>!!t.getSelected(),loadMessages:e=>t.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>i.warn(`WC session hydration failed`,e));let o=null;return l(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-DRX8nZSN.js`);return{wireWcAttach:e}},__vite__mapDeps([50,13,21,51])).then(({wireWcAttach:t})=>{o=t({inputCard:a.inputCard,freezer:a.freezer,composer:a.composer,openReader:r,openWriter:e.openWriter,secretEntry:!0,listConversations:async()=>{let{readSessionsIndex:e}=await l(async()=>{let{readSessionsIndex:e}=await Promise.resolve().then(()=>Ji);return{readSessionsIndex:e}},void 0);return(await e(await r())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:i})}).catch(e=>i.error(`WC add-menu wiring failed`,e)),l(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:a.thread,inputCard:a.inputCard})).catch(e=>i.error(`WC history nav wiring failed`,e)),a.composerMeta.addEventListener(`thinking-change`,e=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let r=e.detail?.thinking,a=Dc(r),o=Oc(r),s=t.getSelected();s&&a&&Pc(n,s.id,a,o).catch(e=>i.warn(`local thinking update failed`,e))}),{getAttachStage:()=>o}}var zc=`slicc:leader-run-new-session`,Bc=`slicc:leader-broadcast-snapshot`;function Vc(e){if(!(!e.cone||e.cone===`cone`))return e.coneLabel||e.cone.replace(/^cone-/,``)}function Hc(e){let t=`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`;return e.live?`${t} · in progress`:t}function Uc(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,Hc(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function Wc(e){let t=new Map;for(let n of e.entries){if(n.icon||n.pendingEnrichment)continue;let r=await e.pickIcon(`"${n.title}" — an archived chat session`);r&&t.set(n.filename,r)}if(t.size===0)return;let n=await Gc(e.reader);if(n===null||n.length===0)return;let r=n.map(e=>{let n=!e.icon&&t.has(e.filename)?t.get(e.filename):void 0;return n?{...e,icon:n}:e});await e.writer.writeFile(T,JSON.stringify(r,null,2));for(let n of e.freezer.querySelectorAll(`slicc-freezer-card`)){let e=t.get(n.getAttribute(`slug`)??``);e&&!n.hasAttribute(`icon`)&&n.setAttribute(`icon`,e)}}async function Gc(e){let t=await Kc(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function Kc(e){let t;try{let n=await e.readFile(T,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?{kind:`missing`}:{kind:`fault`}}try{let e=JSON.parse(t);return Array.isArray(e)?{kind:`ok`,entries:e}:{kind:`corrupt`}}catch{return{kind:`corrupt`}}}async function qc(e){let t;try{t=(await e.readDir(`/sessions`)).filter(e=>e.type===`file`&&e.name.endsWith(`.md`)).map(e=>e.name)}catch{return[]}let n=[];for(let r of t)try{let t=await e.readFile(`/sessions/${r}`,{encoding:`utf-8`}),i=typeof t==`string`?t:new TextDecoder().decode(t);n.push(Jc(r,i))}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function Jc(e,t){let n=t.slice(0,2e3),r=/^title:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??e,i=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??new Date(0).toISOString(),a=Number(/^messageCount:\s*(\d+)\s*$/m.exec(n)?.[1]??0),o=ge(t),s=e.startsWith(`pending-`)||e.startsWith(`live-`)&&!o.live;return{filename:e,title:r,frozenAt:i,messageCount:a,...o.cost?{cost:o.cost}:{},...o.models?{models:o.models}:{},...o.cone?{cone:o.cone}:{},...o.coneLabel?{coneLabel:o.coneLabel}:{},...o.memorySkipped?{memorySkipped:!0}:{},...o.live?{live:!0}:{},...o.live&&o.liveThrough?{liveThrough:o.liveThrough}:{},...o.live&&o.compactions?{compactions:o.compactions}:{},...o.id?{sessionId:o.id}:{},...s?{pendingEnrichment:!0}:{}}}function Yc(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(Uc))}async function Xc(e,t){let n=await e.readFile(Ae(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=await Ce(e,r,t.filename);return{title:i.title||t.title,messages:i.messages}}async function Zc(e,t){let{getTranscriptExportService:n}=await l(async()=>{let{getTranscriptExportService:e}=await Promise.resolve().then(()=>Ln);return{getTranscriptExportService:e}},void 0);await n().captureFrozen({sessionId:t.sessionId??t.archive.id,title:t.archive.title,frozenAt:t.archive.frozenAt,createdAt:t.archive.createdAt,updatedAt:t.archive.updatedAt,...e?{rootJid:e.jid}:{}})}function Qc(e,t){if(t)return e.getScoops().find(e=>e.jid===t.id)}function $c(e){return{folder:e.folder,label:Cn({assistantLabel:e.assistantLabel,name:e.name,role:A(e)?`primary`:`child`}),jid:e.jid}}async function el(e){let{root:t}=e,n=t?$c(t):void 0,r=e=>Zc(t,e),i=t=>{l(async()=>{let{notifyGelatiereOfSessionEnd:e}=await import(`./wc-gelatiere-Cs1F609G.js`);return{notifyGelatiereOfSessionEnd:e}},__vite__mapDeps([52,36,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,45])).then(({notifyGelatiereOfSessionEnd:r})=>r({client:e.client,vfs:e.writer,log:e.log,cone:n,archive:t?.filename})).catch(t=>e.log.warn(`gelatiere notification failed to load`,t))};if(e.action!==`save`){await e.runNewSessionFreezeQuick({vfs:e.writer,cone:n,captureCompleteSnapshot:r,onSessionSettled:i});return}await e.runNewSessionFreeze({vfs:e.writer,cone:n,agenticMemorySpawn:t=>e.client.spawnAgent(t),captureCompleteSnapshot:r,onSessionSettled:i,onProgress:t=>{let n=e.freezerNew();n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,String(t)))},onBackgroundEnriched:e.refreshFreezer})}async function tl(e,t){e!==`erase`&&await el({...t,action:e})}async function nl(e){try{await e.resetNewSessionTmp(e.writer,e.tmpDir)}catch(t){e.log.warn(`WC new session /tmp reset failed — clearing anyway`,t)}await e.client.clearAllMessages(e.root?.jid,e.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}),e.getController()?.loadMessages([]),window.dispatchEvent(new CustomEvent(Bc)),l(async()=>{let{resetDictationPriming:e}=await import(`./wc-shortcuts-CR8LRvqx.js`).then(e=>e.U);return{resetDictationPriming:e}},__vite__mapDeps([36,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function rl(e,t){(e.thread.inner??e.thread).prepend(il(e.thread.ownerDocument,t)),e.thread.setAttribute(`accent`,dn),un(e,{kind:`freezer`}),e.inputCard.setAttribute(`disabled`,``),e.switcher.removeAttribute(`active`)}function il(e,t){let n=t?Vc(t):void 0,r=e.createElement(`slicc-day-separator`);return r.setAttribute(`label`,n?`Frozen chat · from cone ${n}`:`Frozen chat`),r.setAttribute(`data-frozen-provenance`,n??``),r}function al(e){let{refs:t,openVfs:n,client:r,getController:i,getSelected:a,clearSelection:o,log:s}=e,c=[],u=null,d=t=>{u=null,e.selectScoop(t)},f=0,p=!1,m=()=>{let e=++f;n().then(async({reader:n,writer:r})=>{let i=await Gc(n);if(i===null){if((await Kc(n)).kind!==`corrupt`||(s.warn(`WC freezer index corrupt — rebuilding from archives`),i=await qc(n),i.length===0))return;await r.writeFile(T,JSON.stringify(i,null,2))}e===f&&(c=i,Yc(t.freezer,i),!p&&i.some(e=>!e.icon&&!e.pendingEnrichment)&&(p=!0,l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CzaiPeIX.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34])).then(({pickLucideIcon:e})=>Wc({reader:n,writer:r,freezer:t.freezer,entries:i,pickIcon:t=>e({subject:t})})).catch(e=>s.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{p=!1})))}).catch(e=>s.error(`WC freezer refresh failed`,e))},h=!1,g=()=>t.freezer.querySelector(`slicc-freezer-new`),_=t=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{let o=Qc(r,gn(e.getUnits(),a()));try{let{writer:a}=await n(),{resetNewSessionTmp:c,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}=await l(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-DXlnfPbx.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([53,12,5,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33]));await tl(t,{writer:a,root:o,client:r,freezerNew:g,refreshFreezer:m,runNewSessionFreeze:u,runNewSessionFreezeQuick:f,log:s}),await nl({writer:a,root:o,client:r,getController:i,log:s,resetNewSessionTmp:c,tmpDir:Wr(r.getScoops(),o),discardLiveSnapshot:t===`erase`}),m();let p=e.getUnits().find(e=>e.id===o?.jid)??En(e.getUnits());p&&d(p)}catch(e){s.error(`WC new session failed`,e)}finally{h=!1;let e=g();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])t.freezer.addEventListener(`new-chat-${e}`,()=>_(e));let v=async e=>{let{writer:t}=await n(),{runNewSessionArchiveOnly:r}=await l(async()=>{let{runNewSessionArchiveOnly:e}=await import(`./new-session-DXlnfPbx.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([53,12,5,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33]));await r({vfs:t,cone:$c(e),captureCompleteSnapshot:t=>Zc(e,t)}),m()};Ke(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(zc,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let y=async r=>{let l=c.find(e=>e.filename===r);try{let{reader:a}=await n();l||=(await Gc(a)??[]).find(e=>e.filename===r);let{messages:s}=await Xc(a,l??{filename:r,title:r,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${l?.filename??r}`),u=l?.sessionId??l?.filename??null,e.holdQueuedPile(),i()?.loadMessages(s),rl(t,l),o()}catch(t){if(s.error(`WC thaw failed`,t),!a()){let t=yn(e.getUnits(),l?.cone);t&&d(t)}}};return t.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&y(t)}),{refreshFreezer:m,openFrozen:y,getViewedFrozenSessionId:()=>u,freezeCone:v}}d(`scoops.tray-leave`),d(`scoops.tray-join`);var ol=null;function sl(e){ol=e}function cl(){return ol?.()??[]}var ll=null;function ul(e){ll=e}function dl(){return ll??void 0}var fl=`slicc.leaderTrayFollowers`;function pl(){return ml()}function ml(){if(ol)return ol();try{let e=globalThis.localStorage?.getItem(fl);if(e)return JSON.parse(e)}catch{}return[]}function hl(e,t=globalThis.localStorage){try{t?.setItem(fl,JSON.stringify(e))}catch{}}function gl(e){try{let t=JSON.parse(e);return{processes:(t.processes??[]).filter(e=>e.status===`running`||e.status===`pending`).map(e=>({pid:Number(e.pid??0),argv:String(e.argv??``),status:String(e.status??`unknown`)})),terminated:Number(t.stats?.terminated??0)}}catch{return{processes:[],terminated:0}}}function _l(e){let t=Ye();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:je(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=Mt();if(n.state!==`inactive`)return{role:`leader`,state:n.state,joinUrl:n.session?.joinUrl,sessionId:n.session?.trayId,workerBaseUrl:n.session?.workerBaseUrl};let r=null;try{r=Me(e.getItem(Ne))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function vl(e){let{client:t,openReader:r,storage:i}=e;return{getScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await l(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-BmmfZ-wo.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([54,5,1,22,13,21,23,24,3,43,41,42]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await l(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-BmmfZ-wo.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([54,5,1,22,13,21,23,24,3,43,41,42]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await l(async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e,loadMountHandle:t}},__vite__mapDeps([55,5])),n=await e();return Promise.all(n.map(async e=>{if(e.descriptor.kind!==`local`)return e;try{let n=await(await t(e.descriptor.idbHandleKey))?.queryPermission?.({mode:`readwrite`});return{...e,valid:n===`granted`}}catch{return{...e,valid:!1}}}))},getMcpServers:async()=>{try{let e=await(await r()).readFile(`/workspace/.mcp/servers.json`,{encoding:`utf-8`});return JSON.parse(typeof e==`string`?e:new TextDecoder().decode(e)).servers??{}}catch{return{}}},getOAuthProviders:()=>{try{let e=new Set,t=[];for(let r of a()){if(e.has(r.providerId))continue;if(e.add(r.providerId),!n(r.providerId)?.isOAuth){t.push({providerId:r.providerId});continue}let i=c(r.providerId),a=r.loggedOut?!1:i?!i.expired:!1;t.push({providerId:r.providerId,valid:a})}return t}catch{return[]}},getSessionStats:async()=>t.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await r()).readFile(`/proc/table`,{encoding:`utf-8`});return gl(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>_l(i),getConnectedFollowers:cl}}var yl=`sync-fs-nonce`;function bl(e={}){let t=e.navigator??(typeof navigator<`u`?navigator:void 0),n=e.document??(typeof document<`u`?document:void 0),r=e.window??(typeof window<`u`?window:void 0),i=e.randomUUID??(()=>crypto.randomUUID()),a=!!t?.serviceWorker?.controller,o=a?i():void 0;if(!o||!t?.serviceWorker)return{syncFsBridgeEnabled:a,syncFsChannelNonce:o};let s=t.serviceWorker,c={type:yl,nonce:o},l=()=>s.controller?.postMessage(c);return l(),s.addEventListener(`controllerchange`,l),s.addEventListener(`message`,e=>{e.data?.type===`sync-fs-need-nonce`&&l()}),n?.addEventListener(`visibilitychange`,()=>{n.visibilityState===`visible`&&l()}),r?.addEventListener(`focus`,l),{syncFsBridgeEnabled:a,syncFsChannelNonce:o}}var xl=class{#e=new Map;#t=new Map;#n=new Map;sync(e,t){let n=new Set;for(let r of e){if(!vn(r))continue;n.add(r.id);let e=this.#r(r);e>0&&r.id!==t&&this.#e.set(r.id,(this.#e.get(r.id)??0)+e)}t&&this.#e.delete(t);for(let e of[...this.#e.keys()])n.has(e)||this.#e.delete(e);for(let e of[...this.#t.keys()])n.has(e)||this.#t.delete(e);for(let e of[...this.#n.keys()])n.has(e)||this.#n.delete(e);return this.counts()}#r(e){let t=this.#t.get(e.id),n=this.#t.has(e.id);if(this.#t.set(e.id,e.state),typeof e.turns==`number`&&Number.isFinite(e.turns)){let t=this.#n.get(e.id)??(n?0:void 0);return this.#n.set(e.id,e.turns),t===void 0?0:e.turns>t?Math.floor(e.turns-t):0}return this.#n.delete(e.id),n&&t===`working`&&e.state!==`working`?1:0}counts(){return new Map(this.#e)}};function Sl(e,t){let n=e=>{t.onError?.(e instanceof Error?e.message:String(e))};return{sendMessage:(r,i,a,o)=>{let s=t.getSelectedId();if(!s){t.onError?.(`No scoop selected`);return}e.send(s,{text:r,...i?{messageId:i}:{},...a?{attachments:a}:{},...o?.steer?{steer:!0}:{},...o?.guestGate?{guestGate:o.guestGate}:{}}).catch(n)},onEvent:e=>t.onEvent(e),stop:()=>{let r=t.getSelectedId();r&&e.signal(r,`stop`).catch(n)}}}var Cl=`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`;function wl(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`assistant`&&!n.isStreaming&&!n.queued)return n.content}for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`)return e[t].content;return null}function Tl(e){let t=e.writeText??(e=>navigator.clipboard.writeText(e)),n=document.createElement(`div`);n.className=`wc-copy-row`,n.style.cssText=`display:flex;justify-content:flex-start;margin:-8px 0 14px;`;let r=document.createElement(`slicc-press-button`);r.setAttribute(`tooltip`,`Copy last response · hold to copy chat`),r.setAttribute(`label`,`Copy last response — hold to copy entire chat`),r.setAttribute(`disable-double-click`,``),r.style.cssText=`color:var(--txt-3);cursor:pointer;display:inline-flex;`;let i=document.createRange();r.append(i.createContextualFragment(Cl));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=wl(e.getMessages());await t(n??ye([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=ye([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function $(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function El(e){try{let t=new DOMParser().parseFromString(e,`text/html`).querySelector(`.sprinkle-action-card__header`);if(t){t.querySelector(`.sprinkle-badge`)?.remove(),t.querySelector(`.sprinkle-action-card__meta`)?.remove();let e=t.textContent?.trim();if(e)return e}}catch{}return`Approval requested`}function Dl(e){return`
|
|
422
422
|
<div class="sprinkle-action-card">
|
|
423
423
|
<div class="sprinkle-action-card__header">${xt(El(e))} <span class="sprinkle-badge sprinkle-badge--informative">pending</span></div>
|
|
424
424
|
<div class="sprinkle-action-card__body">Waiting for approval on the leader…</div>
|
|
425
425
|
</div>
|
|
426
|
-
`}function Ol(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var kl=class e{#e;#t;#n;#r;#i;#a=null;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y=[];#b=[];#x=null;#S=new Map;#C=null;#w=null;#T=``;#E=!1;#D=!1;#O=`thinking`;#k=0;#A=null;#j=new Set;#M=new Map;#N=new Map;#P=new Set;#F=!1;#I=null;constructor(e){this.#e=e.thread,this.#t=e.agent,this.#n=e.onProcessingChange,this.#r=e.onBusyPhaseChange,this.#i=e.onToolProgressChange,this.#o=e.onMessageRendered,this.#s=e.onMessageDisposed,this.#c=e.onTurnComplete,this.#l=e.resolveTelemetryContext,this.#u=e.onQueuedChange,this.#d=e.onLickBackpressureChange,this.#f=e.onQueuedCancel,this.#p=e.onToolUiAction,this.#m=e.readOnlyToolUi??!1,this.#h=e.agent.onEvent(e=>this.#q(e)),this.#v=e=>this.#me(e),this.#e.addEventListener(`slicc-error-retry`,this.#v)}dispose(){this.#h(),this.#e.removeEventListener(`slicc-error-retry`,this.#v);for(let e of[...this.#M.keys()])this.#pe(e);this.#N.clear(),this.#P.clear(),this.#fe()}setReadOnly(e){if(this.#F!==e&&(this.#F=e,e))for(let e of[...this.#M.keys()])this.#pe(e)}get readOnly(){return this.#F}get processing(){return this.#D}getMessages(){return this.#y.map(e=>({...e}))}setAgent(e){this.#h(),this.#t=e,this.#h=e.onEvent(e=>this.#q(e))}setOnLocalUserMessage(e){this.#g=e}setOnLocalProcessingChange(e){this.#_=e}addUserMessage(e,t,n){this.#_e({id:$(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(Ol)}removeQueuedMessage(e){let t=this.#b.filter(t=>t.id!==e);t.length!==this.#b.length&&(this.#b=t,this.#z())}stashQueued(){let e=this.#I??[];this.#I=null;let t=this.#b;return t.length===0?e:(this.#b=[],this.#z(),[...e,...t])}restoreQueued(e){this.#I=e.length>0?[...e]:null}heldBackendPendingIds(e){if(!this.#I||!e?.length)return new Set;let t=new Set(e);return new Set(this.#I.filter(e=>t.has(e.id)).map(e=>e.id))}#L(e,t){if(!this.#I)return;let n=this.heldBackendPendingIds(t),r=new Set(e.map(e=>e.id)),i=this.#I.filter(e=>!r.has(e.id)||n.has(e.id));if(this.#I=null,i.length===0)return;if(!t){this.#b=i,this.#z();return}let a=new Map(t.map((e,t)=>[e,t])),o=i.filter(e=>a.has(e.id)).sort((e,t)=>(a.get(e.id)??0)-(a.get(t.id)??0)),s=i.filter(e=>!a.has(e.id));if(this.#b=this.#D?o:[...o,...s],this.#z(),this.#D)for(let e of s)this.#_e(e)}#R(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#_e(t);this.#z()}#z(){this.#u?.(this.#b.map(Ol))}#B(){this.#d?.(this.#x)}setLickBackpressure(e,t,n){if(e<=0){if(!this.#x)return;this.#x=null,this.#B();return}this.#x={text:`${e} events waiting for the current turn`},this.#B();try{Be(n,t)}catch{}}addAssistantMessage(e){this.#_e({id:$(),role:`assistant`,content:e,timestamp:Date.now()})}loadMessages(e,t){for(let e of this.#S.keys())this.#s?.(e);for(let e of[...this.#M.keys()])this.#pe(e);this.#N.clear(),this.#P.clear(),this.#fe();let n=this.#b.length>0;if(this.#b.length>0){if(this.#f)for(let e of this.#b)try{this.#f(e.id)}catch(e){console.error(`onQueuedCancel hook threw`,e)}this.#b=[]}n&&this.#z();let r=this.heldBackendPendingIds(t),i=r.size>0?e.filter(e=>!r.has(e.id)):e;this.#y=ln(i);let a=[...this.#y].reverse().find(e=>e.isStreaming);this.#C=a?.id??null,a&&(this.#w=a.id),this.#T=``,this.#E=!1,this.#S.clear();let o=[],s=``;for(let e of this.#y){let t=new Date(e.timestamp).toDateString();t!==s&&(o.push(on(e.timestamp)),s=t);let n=this.#ge(e);this.#S.set(e.id,n),o.push(...n)}let c=this.#e;typeof c.replaceContent==`function`?c.replaceContent(...o):c.replaceChildren(...o),this.#xe();for(let e of this.#y)e.isStreaming||this.#o?.(e,this.#S.get(e.id)??[]);this.#K(),this.#Ce(),this.#V(),this.#L(e,t)}#V(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!Xe()||this.#D)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#me(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#H(r):r,a={id:$(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#D&&!n?.steer?(this.#b.push(a),this.#z()):this.#_e(a),n?.steer?this.#t.sendMessage(i,a.id,a.attachments,{steer:!0}):this.#t.sendMessage(i,a.id,a.attachments),this.#U();try{let e=n?.dictation?f(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#H(e){return g(e,p())}#U(){if(this.#l)try{let e=this.#l();if(!e)return;Ue(e.scoopName,e.model)}catch{}}addLickMessage(e,t,n,r,i){let a=this.#y[this.#y.length-1];if(!(i||a?.lickId)&&a&&a.source===`lick`&&a.channel===n){a.lickParts=[...a.lickParts??[a.content],t],a.lickCount=a.lickParts.length,a.content+=`\n\n${t}`,this.#ve(a);return}this.#_e({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#D?!0:void 0})}updateLickState(e,t){let n=this.#y.find(t=>t.lickId===e);n&&(n.lickState=t,this.#ve(n))}setProcessing(e){if(this.#D!==e){this.#D=e,e&&(this.#w=null),e&&(this.#k=0,this.#W(`thinking`)),e&&this.#R(),e||(this.#x&&(this.#x=null,this.#B()),this.#K()),this.#n?.(e);try{this.#_?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#G()}}#W(e){this.#O!==e&&(this.#O=e,this.#r?.(e))}#G(){let e=this.#w;if(this.#w=null,!this.#c)return;let t=e?this.#he(e):null;this.#c(t?{...t}:null)}#K(){let e=this.#y[this.#y.length-1];if(!(e?.role===`assistant`&&!e.isStreaming)){this.#A?.remove();return}this.#A??=Tl({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#A)}#q(e){switch(e.type){case`message_start`:this.#J(e.messageId);break;case`content_delta`:this.#Y(e.messageId,e.text);break;case`content_done`:this.#Z(e.messageId,e.model,e.usage);break;case`tool_use_start`:this.#$(e.messageId,e.toolName,e.toolInput,e.toolCallId);break;case`tool_result`:this.#te(e.messageId,e.toolName,e.result,e.isError,e.toolCallId);break;case`tool_ui`:this.#se(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#ce(e.requestId);break;case`tool_progress`:this.#le(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#ie(e.messageId);break;case`compaction_notice`:this.#ne(e.messageId,e.marker);break;case`error`:this.#ae(e.error)}}#J(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#_e({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#Y(e,t){this.#he(e)&&(this.#T+=t,!this.#E&&(this.#E=!0,requestAnimationFrame(()=>this.#X(e))))}#X(e){if(this.#E=!1,!this.#T)return;let t=this.#he(e);t&&(t.content+=this.#T,this.#T=``,this.#ve(t))}#Z(e,t,n){let r=this.#he(e);r&&(t&&(r.model=t),n&&(r.usage=n),this.#T&&this.#C===e&&(r.content+=this.#T),this.#T=``,this.#E=!1,r.isStreaming=!1,this.#ve(r))}static#Q(e,t){return`${e}:${t}`}#$(t,n,r,i){let a=this.#he(t);if(!a)return;a.toolCalls=a.toolCalls??[];let o=i?e.#Q(t,i):$();this.#P.add(o),a.toolCalls.push({id:o,name:n,input:r}),this.#k+=1,this.#W(`tool`),this.#ve(a)}#ee(t,n,r){let i=t?.toolCalls??[];if(r){let n=t?e.#Q(t.id,r):void 0;return i.find(e=>e.id===n)??i.find(e=>e.id===r)}return[...i].reverse().find(e=>e.name===n&&e.result===void 0)}#te(e,t,n,r,i){let a=this.#he(e),o=this.#ee(a,t,i);!a||!o||(o.result=n,o.isError=r,o.id&&(this.#N.delete(o.id),this.#fe()),this.#k=Math.max(0,this.#k-1),this.#k===0&&this.#W(`thinking`),this.#ve(a))}#ne(e,t){let n=this.#he(e);if(t.state===`discarded`){n&&this.#re(n);return}if(n){n.compaction=t,this.#ve(n);return}this.#_e({id:e,role:`assistant`,content:``,timestamp:Date.now(),compaction:t})}#re(e){this.#be(),this.#s?.(e.id);for(let t of this.#S.get(e.id)??[])t.remove();this.#S.delete(e.id),this.#y=this.#y.filter(t=>t!==e),this.#xe(),this.#de()}#ie(e){let t=this.#he(e);t?.isStreaming&&(t.isStreaming=!1,this.#ve(t)),this.#C=null,this.setProcessing(!1)}#ae(e){this.setProcessing(!1),this.#_e({id:$(),role:`assistant`,content:typeof e==`string`?e:He(e)??``,timestamp:Date.now(),error:!0}),this.#oe(e)}#oe(e){try{let t=typeof e==`string`?e:Ve(e);if(typeof t==`string`&&We(t))return;Ge(`error-card`,e)}catch{}}#se(e,t,n){if(this.#F)return;this.#pe(t);let r=document.createElement(`div`);if(r.className=`msg__dip`,r.setAttribute(`data-tool-ui-request`,t),(this.#e.inner??this.#e).append(r),this.#m){let e=z(r,Dl(n),()=>{},!1);this.#M.set(t,{instance:e,container:r});return}let i=z(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#M.set(t,{instance:i,container:r}),this.#p?.(t,ze,void 0)}#ce(e){this.#pe(e)}#le(e,t,n,r){let i=this.#he(e),a=this.#ee(i,t,r);a?.id&&(n.phase===`end`?this.#N.delete(a.id):this.#N.set(a.id,n),this.#ue(a.id),this.#fe())}#ue(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&en(t,this.#N.get(e)??null),this.#de()}#de(){let e=this.#e.querySelectorAll(`slicc-tool-cluster`);for(let t of e){let e=[...t.querySelectorAll(`slicc-action-row[data-tool-id]`)].filter(e=>e.dataset.toolId&&this.#P.has(e.dataset.toolId)).map(e=>{let t=e.dataset.toolId,n=e.getAttribute(`result`);return{done:n!==null&&n!==`…`,fraction:this.#N.get(t)?.fraction}});$t(t,fn(e))}}#fe(){let e=null,t=[...this.#N.values()];t.length>0&&t.every(e=>typeof e.fraction==`number`)&&(e=t.reduce((e,t)=>e+t.fraction,0)/t.length),e!==this.#a&&(this.#a=e,this.#i?.(e))}#pe(e){let t=this.#M.get(e);if(t){this.#M.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#me(e){if(this.#D)return;let t=e.detail?.messageId??null,n=this.#y.length;if(t){let e=this.#y.findIndex(e=>e.id===t);e>=0&&(n=e)}let r=n>0?this.#y[n-1]:void 0;if(r&&r.source===`lick`&&!r.queued){this.#t.sendMessage(r.content,$(),r.attachments);return}let i;for(let e=n-1;e>=0;e--){let t=this.#y[e];if(t.role===`user`&&t.source!==`lick`&&t.source!==`delegation`&&!t.queued){i=t;break}}i&&this.#t.sendMessage(i.content,$(),i.attachments)}#he(e){return this.#y.find(t=>t.id===e)}#ge(e){try{return nn(e,{readOnly:this.#F})}catch(t){console.error(`[wc-chat] message render failed — degrading to plain bubble`,t);let n=document.createElement(e.role===`assistant`?`slicc-agent-message`:`slicc-user-message`);return n.setAttribute(`text`,String(e.content??``)),[n]}}#_e(e){this.#be(),this.#y.push(e);let t=this.#ge(e);this.#S.set(e.id,t),this.#e.append(...t),this.#xe(),e.isStreaming||this.#o?.(e,t),e.role===`user`?this.#Ce():this.#we()}#ve(e){this.#be(),this.#s?.(e.id);let t=this.#S.get(e.id)??[],n=this.#ge(e),r=t[0]??null,i=r?.parentNode;if(i){for(let e of n)i.insertBefore(e,r);for(let e of t)e.remove()}else this.#e.append(...n);this.#S.set(e.id,n);for(let t of e.toolCalls??[])t.id&&this.#N.has(t.id)&&this.#ue(t.id);this.#xe(),this.#de(),e.isStreaming||this.#o?.(e,n),this.#we()}#ye(){return this.#e.inner??this.#e}#be(){Yt(this.#ye(),this.#j)}#xe(){tn(this.#ye(),{openClusterAnchors:this.#j,toolCallLookup:(e,t)=>this.#Se(e,t)})}#Se(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#Ce(){this.#e.scrollTop=this.#e.scrollHeight}#we(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#Ce()}};function Al(e,n,i,a,o,s){let c=new Map;l(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadDipStyles:e}},__vite__mapDeps([56,13])).then(({loadDipStyles:e})=>e()).catch(()=>void 0);let u=[];i.subscribeList(e=>{u=e});let d=()=>n.addressableUnitId?n.addressableUnitId():a()?.id??null,f=Sl(i,{getSelectedId:d,onError:e=>n.emitAgentError(e),onEvent:e=>n.onAgentEvent(e)});f.onEvent(t=>{(t.type===`tool_use_start`||t.type===`tool_result`)&&(t.type===`tool_result`&&t.isError&&e.switcher.glower(),l(async()=>{let{playCue:e}=await import(`./soundscape-DOntkegF.js`);return{playCue:e}},__vite__mapDeps([57,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let p=new kl({thread:e.thread,agent:f,resolveTelemetryContext:()=>{let e=a();if(!e)return null;let n=Dn(e);try{let i=j(u,e.id);return{scoopName:n,model:(i?r(i.id,i.provider):t()).id}}catch{return{scoopName:n,model:``}}},onTurnComplete:e=>{n.speaksReplies&&l(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-DD2mRwev.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([58,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,59,60,61,62,63])).then(async({consumeVoiceSubmission:t,speakReplyMarkdown:n})=>{if(!t())return;let{endVoiceTurn:r,setTtsActive:i}=await l(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-DOntkegF.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([57,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));try{if(e?.content){i(!0);try{await n(e.content)}finally{i(!1)}}}finally{r()}}).catch(()=>void 0)},onProcessingChange:t=>{e.frame.toggleAttribute(`data-processing`,t),e.inputCard.querySelector(`slicc-send-button`)?.toggleAttribute(`busy`,t),t||o?.()},onBusyPhaseChange:t=>{e.inputCard.querySelector(`slicc-send-button`)?.setAttribute(`phase`,t)},onToolProgressChange:t=>{let n=e.inputCard.querySelector(`slicc-send-button`);n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,t.toFixed(3)))},onMessageDisposed:e=>{let t=c.get(e);t&&(Tr(t),c.delete(e))},onMessageRendered:(e,t)=>{let r=t[0];if(!r)return;n.onMessageRendered?.(r);let i=d()??void 0;c.set(e.id,wr(r,(e,t)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:t}};s?.intercept?.(r)||n.sendSprinkleLick(`inline`,{action:e,data:t},void 0,i)}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,t,r)=>{n.sendToolUiAction(e,t,r)},onQueuedCancel:e=>{let t=a()?.id;t&&n.deleteQueuedMessage(t,e).catch(()=>void 0)},...n.readOnlyToolUi?{readOnlyToolUi:!0}:{}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let t=e.detail?.id;if(!t)return;p.removeQueuedMessage(t);let r=a()?.id;r&&n.deleteQueuedMessage(r,t).catch(()=>void 0)}),{controller:p,agentHandle:f}}function jl(e,t){let n=new xl,r=()=>{let r=t.currentUnits(),i=e.getSelected()?.id;e.refs.switcher.scoops=xn(r,i,Jt,n.sync(r,i)),e.refreshConeActions?.()};return e.refreshScoops=r,t.subscribeList(()=>r()),r}function Ml(e,t,n){let{refs:r}=e;e.setChatTransport(t,n);let{controller:i,agentHandle:a}=Al(r,n,t,()=>e.getSelected(),n.onTurnIdle,n.welcome);e.setController(i);let o=jl(e.wiring,t);return r.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.currentUnits().find(e=>e.id===r);i&&i.id!==e.getSelected()?.id&&e.selectScoop(i)}),r.switcher.setAttribute(`gaze-target`,`slicc-input-card`),r.inputCard.addEventListener(`input`,()=>{r.switcher.scrutinize(),r.switcher.wake()}),r.inputCard.addEventListener(`submit`,t=>{let a=cn(t),o=n.takeAttachments?.();if(!a&&!o?.length)return;e.wiring.awaitingInput=null,e.wiring.refreshScoops?.(),e.wiring.notifyScoopStateChanged?.();let s=t.detail?.source===`dictation`;s&&n.speaksReplies&&(l(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-DD2mRwev.js`);return{markVoiceSubmission:e}},__vite__mapDeps([58,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,59,60,61,62,63])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),l(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-DOntkegF.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([57,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),i.sendUserMessage(a??``,o,{dictation:s,steer:Xt(t)}),r.inputCard.clear?.();let c=e.getSelected()?.id;c&&(r.switcher.setAttribute(`attention`,c),e.wiring.lastActivity.set(c,(a??``).slice(0,600)))}),r.inputCard.addEventListener(`stop`,()=>{e.getController()?.processing&&a.stop()}),{agentHandle:a,controller:i,publishStrip:o}}var Nl=e({floatKindForRuntimeMode:()=>Il,floatLabelForKind:()=>Fl,resolveStandaloneFloatKind:()=>Ll}),Pl={"slicc-server":`sliccstart`,"slicc-node-server":`npx`};function Fl(e){return x(e)}function Il(e){switch(e){case`extension`:case`extension-detached`:return`extension`;case`cherry`:return`cherry`;case`hosted-leader`:return`hosted`;case`electron-overlay`:return`electron`;case`follower`:return`standalone`;default:return`standalone`}}async function Ll(e){let t=e?.fetchFn??fetch,n=e?.timeoutMs??1500;try{let e=new AbortController,r=setTimeout(()=>e.abort(),n),i=await t(Fe(`/api/status`),{cache:`no-store`,signal:e.signal,headers:Ie()}).finally(()=>clearTimeout(r));if(!i.ok)return`standalone`;let a=await i.json();return(a.service?Pl[a.service]:void 0)??`standalone`}catch{return`standalone`}}function Rl(e,t){let n=t.label??Fl(t.floatKind);e.setAttribute(`label`,n),e.setAttribute(`float-kind`,t.floatKind);let r=Mt(),i=Ye(),a=()=>{let t=zl(r,i);e.setAttribute(`connection`,t.connection),t.trayRole===`none`?e.removeAttribute(`tray-role`):e.setAttribute(`tray-role`,t.trayRole)},o=At(e=>{r=e,a()}),s=qe(e=>{i=e,a()});return a(),()=>{o(),s()}}function zl(e,t){return e.state===`inactive`?t.state===`inactive`?{connection:`offline`,trayRole:`none`}:{connection:Vl(t),trayRole:`follower`}:{connection:Bl(e),trayRole:`leader`}}function Bl(e){switch(e.state){case`connecting`:return`connecting`;case`leader`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}function Vl(e){if(e.stalled)return`stalled`;switch(e.state){case`connecting`:return`connecting`;case`connected`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}async function Hl(e,t,n){let r=n.floatLabel??Fl(n.floatKind),i=od(e,r);Rl(i.refs.floatbar,{floatKind:n.floatKind,label:r});let a=await n.connect(i),o=Ml(i,a.client,a.host);return await a.workbench?.(i,o),t.info(`WC shell mounted`,{floatKind:n.floatKind}),{boot:i,chat:o}}var Ul=36e5,Wl=2e3,Gl=class{#e=[];#t;#n;constructor(e=Ul,t=Wl){this.#t=Math.max(1,Math.floor(e)),this.#n=Math.max(2,Math.floor(t))}get windowMs(){return this.#t}push(e){this.#e.push(e);let t=e.at-this.#t;for(;this.#e.length>0&&this.#e[0].at<t;)this.#e.shift();for(;this.#e.length>this.#n;)this.#e.shift()}get size(){return this.#e.length}series(e){if(!(this.#e.length<2))return{points:this.#e.map(t=>({at:t.at,value:t[e]})),windowMs:this.#t}}peak(e){return this.#e.length===0?null:this.#e.reduce((t,n)=>Math.max(t,n[e]),-1/0)}windowLabel(){if(this.#e.length<2)return null;let e=this.#e[this.#e.length-1].at-this.#e[0].at,t=Math.max(1,Math.round(e/1e3));if(t<90)return`last ${t}s`;let n=Math.round(t/60);return n<90?`last ${n}m`:`last ${Math.round(n/60)}h`}};function Kl(e){return h(e,pn)}async function ql(e,t=B.memoryPath){let n=``;try{let r=await e.readFile(t,{encoding:`utf-8`});n=typeof r==`string`?r:new TextDecoder().decode(r)}catch{n=``}return Kl(n)}function Jl(e){let t=e.filter(e=>e.health===`stalled`).length,n=e.filter(e=>e.health!==`stalled`&&e.peerState===`connecting`).length,r=e.length-t-n,i=[r>0?`${r} connected`:``,n>0?`${n} connecting`:``,t>0?`${t} stalled`:``].filter(Boolean);return{id:`followers`,label:`Followers`,icon:`radio`,count:e.filter(e=>e.peerState===`connected`).length,meta:i.join(` · `)||`none paired`,accent:`cyan`,emptyText:`No followers connected yet. Pair a phone, tablet, or CLI follower to this tray.`,rows:e.map(e=>{let t=e.motd??e.runtime??`Connected follower`,n=e.hostOrigin?`${t} · ${e.hostOrigin}`:t,r=[e.exec?`ssh`:``,e.cdp?`playwright`:``].filter(Boolean);return{name:Qa(e),sublabel:n,meta:Xa(e),icon:qa(e),badges:r,status:Ya(e)}})}}function Yl(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function Xl(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function Zl(e){let t=Xl(e),n=e.sessionId?`Session ${Ga(e.sessionId)}`:null,r=e.workerBaseUrl?`Worker · ${e.workerBaseUrl}`:null;return{id:`tray`,label:`Tray`,icon:e.role===`follower`?`radio`:`cloud`,count:1,meta:`${e.role} · ${t}`,accent:`waffle`,status:Yl(e),rows:[{name:e.role[0].toUpperCase()+e.role.slice(1),sublabel:[n,r].filter(Boolean).join(` · `)||`No tray session`,meta:t,icon:e.role===`follower`?`radio`:`cloud`,badges:e.joinUrl?[`join URL`]:[],status:Yl(e)}]}}function Ql(e,t){let n=e.filter(e=>A(e)),r=t=>e.filter(e=>!A(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:A(e)?`${e.name||`sliccy`} (cone)`:e.name,meta:r?`working`:`idle`,active:r,depth:n}},a=n.flatMap(e=>[i(e,0),...r(e.jid).map(e=>i(e,1))]),o=new Set(a.map(e=>e.name));for(let t of e){let e=i(t,0);o.has(e.name)||a.push(e)}let s=e.filter(e=>t(e.jid)).length;return{id:`scoops`,label:`Scoops`,icon:`bot`,count:e.length,meta:`${e.length} · ${s} working`,accent:`violet`,status:`active`,emptyText:`Delegate a focused task and its scoop will show up here.`,rows:a}}function $l(e){let t=e.filter(e=>e.valid===!1).length;return{id:`mounts`,label:`Mounts`,icon:`hard-drive`,count:e.length,meta:t>0?`${e.length} · ${t} need${t===1?`s`:``} re-grant`:`${e.length} · all granted`,status:t>0?`warn`:`active`,emptyText:`Mount a folder to give the workspace access to files on disk.`,rows:e.map(e=>({name:e.targetPath,meta:e.valid===!1?`permission lost`:e.descriptor.kind,status:e.valid===!0?`active`:e.valid===!1?`warn`:`idle`}))}}function eu(e,t){let n=t.filter(e=>e.valid===!1).length,r=e.reduce((e,[,t])=>e+(t.tools?.length??0),0),i=[`${e.length} server${e.length===1?``:`s`}`,`${r} tool${r===1?``:`s`}`,n>0?`${n} account expired`:`${t.length} accounts valid`].join(` · `);return{id:`integrations`,label:`Integrations`,icon:`blocks`,count:e.length+t.length,meta:i,accent:`waffle`,status:n>0?`error`:`active`,emptyText:`Connect an MCP server or a provider account to extend the workspace.`,rows:[...e.map(([e,t])=>{let n=t.tools?.length??0;return{name:e,meta:`MCP · ${n} tool${n===1?``:`s`}`,status:`active`}}),...t.map(e=>({name:e.providerId,meta:e.valid===!1?`session expired`:`account`,status:e.valid===!0?`active`:e.valid===!1?`error`:`idle`}))]}}function tu(e,t){let n=[`${t.length} webhook${t.length===1?``:`s`}`,e.length>0?`${e.length} cron task${e.length===1?``:`s`}`:`no cron tasks`].join(` · `);return{id:`automations`,label:`Automations`,icon:`calendar-clock`,count:e.length+t.length,meta:n,accent:`amber`,emptyText:`Scheduled tasks and webhook-driven licks will appear here.`,rows:[...e.map(e=>({name:e.name,meta:e.cron,status:e.status===`active`?`active`:`idle`})),...t.map(e=>({name:e.name,meta:e.scoop?`→ ${e.scoop}`:`→ cone`,status:`idle`}))]}}function nu(e){let t=nt({percent:e.percent,status:e.status});return t===`critical`?`error`:t===`warn`?`warn`:`active`}function ru(e,t){let n=`${tt(e.percent)}% used`,r=D(e.resetsAt,t);return{name:`${e.window[0]?.toUpperCase()??``}${e.window.slice(1)} budget`,sublabel:e.providerId?`${e.providerId} · rolling window`:`rolling window`,meta:e.status===`rate-limited`?`rate-limited · ${n}`:n,badges:r?[r]:void 0,status:nu(e)}}function iu(e,t){let n=e?.budget,r=e?.models??[],i=e?`$${e.totalCost.toFixed(2)} across ${r.length} models`:``,a=n?[n.status===`rate-limited`?`rate-limited`:``,`${tt(n.percent)}% of ${n.window} budget`,i].filter(Boolean).join(` · `):e?i:`no spend yet`;return{id:`cost`,label:`Cost`,icon:`receipt`,count:r.length,meta:a,accent:`rose`,status:n?nu(n):void 0,emptyText:`Model usage will be summarized after the first turn.`,rows:[...n?[ru(n,t)]:[],...r.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))]}}function au(e){let t=[],n=ou(e.budget,e.now??Date.now());n&&t.push(n);for(let n of e.oauthProviders)n.valid===!1&&t.push({id:`oauth:${n.providerId}`,severity:`error`,icon:`key-round`,title:`${n.providerId} session expired`,detail:`Tool calls through this provider will fail until it is signed in again.`});let r=Yl(e.tray);(r===`error`||r===`warn`)&&t.push({id:`tray`,severity:r===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${Xl(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)Ya(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${Qa(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:Xa(n)});for(let n of e.mounts)n.valid===!1&&t.push({id:`mount:${n.targetPath}`,severity:`warn`,icon:`folder-lock`,title:`${n.targetPath} needs re-grant`,detail:`File System Access permission is no longer granted for this handle.`});return t.sort((e,t)=>e.severity===t.severity?0:e.severity===`error`?-1:1)}function ou(e,t){if(!e||nt({percent:e.percent,status:e.status})===`ok`)return null;let n=D(e.resetsAt,t),r=`${tt(e.percent)}%`;if(e.status===`rate-limited`)return{id:`budget:rate-limited`,severity:`error`,icon:`octagon-alert`,title:`${e.window} budget is rate-limited`,detail:`The provider is refusing calls until the window resets. ${r} of the allowance is used.`,age:n};let i=e.percent>=95;return{id:`budget:near-limit`,severity:i?`error`:`warn`,icon:`gauge`,title:`${r} of the ${e.window} budget used`,detail:i?`Past 95% of the allowance — calls may start being refused.`:`Past 80% of the allowance. Long runs may not finish before it resets.`,age:n}}function su(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function cu(e){let{stats:t,workingUnits:n,totalUnits:r,liveProcesses:i,terminated:a,history:o}=e,s=o?.windowLabel(),c=t?.burnRate??0,l=t?.fills??[],u=l.reduce((e,t)=>Math.max(e,t.fill),0),d=t?.budget,f=[{id:`burn`,label:`Burn rate`,value:su(c),unit:`/hour`,hero:!d,accent:d?`rose`:void 0,series:o?.series(`burnRate`),foot:[t?`$${t.totalCost.toFixed(2)} this session`:`no spend yet`,s].filter(Boolean).join(` · `)},{id:`load`,label:`Agent load`,value:String(n),unit:`of ${r} working`,accent:`violet`,series:o?.series(`workingUnits`),foot:s??void 0}];return d||f.push({id:`processes`,label:`Live processes`,value:String(i),unit:i===1?`process`:`processes`,accent:`cyan`,series:o?.series(`liveProcesses`),foot:a>0?`${a.toLocaleString()} exited this session`:s??void 0}),l.length>0&&f.push({id:`context`,label:`Context fill`,value:String(Math.round(u*100)),unit:`%`,ratio:u,markers:uu(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d?[lu(d,t,e.now??Date.now()),...f]:f}function lu(e,t,n){let r=nt({percent:e.percent,status:e.status});return{id:`budget`,label:`${e.window[0]?.toUpperCase()??``}${e.window.slice(1)} budget`,value:tt(e.percent),unit:`% used`,hero:!0,ratio:Math.min(1,Math.max(0,e.percent/100)),accent:r===`critical`?`rose`:r===`warn`?`amber`:`green`,foot:[e.status===`rate-limited`?`rate-limited`:``,D(e.resetsAt,n)??``,t?`$${t.totalCost.toFixed(2)} this session`:``].filter(Boolean).join(` · `)}}function uu(e,t){let n=new Map(t.map(e=>[e.jid,e]));return e.map(({jid:e,fill:t})=>{let r=n.get(e),i=r?A(r):!1,a=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:Jt({isRoot:i,name:a}),label:`${i?`${a} (cone)`:a} — ${Math.round(t*100)}% full`}})}var du={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function fu(e,t){if(!e)return;let n=Math.max(0,Math.round((t-e)/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m ${n%60}s`:`${Math.floor(r/60)}h ${r%60}m`}function pu(e,t){return{pid:e.pid,ppid:e.ppid,state:du[e.status]??`?`,status:e.status,command:e.argv,scoop:e.scoop,started:e.startedAt?new Date(e.startedAt).toTimeString().slice(0,5):void 0,elapsed:fu(e.startedAt,t)}}async function mu(e,t){let n=e.getScoops(),r=e.getTrayInfo(),i=e.getConnectedFollowers(),[a,o,s,c,l,u]=await Promise.all([e.getCronTasks().catch(()=>[]),e.getWebhooks().catch(()=>[]),e.getMounts().catch(()=>[]),e.getMcpServers().catch(()=>({})),e.getSessionStats().catch(()=>null),e.getProcesses().catch(()=>({processes:[],terminated:0}))]),{processes:d,terminated:f}=u,p=e.getOAuthProviders(),m=Object.entries(c),h=n.filter(t=>e.isProcessing(t.jid)).length,g=Date.now();return t?.push({at:g,burnRate:l?.burnRate??0,workingUnits:h,liveProcesses:d.length}),{updated:`Streaming · updated just now`,vitals:cu({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n,now:g}),alerts:au({tray:r,followers:i,mounts:s,oauthProviders:p,budget:l?.budget,now:g}),sections:[Zl(r),Jl(i),Ql(n,t=>e.isProcessing(t)),$l(s),eu(m,p),tu(a,o),iu(l,g)],processes:{rows:d.map(e=>pu(e,g)),terminated:f}}}var hu=`/shared`,gu=3,_u=200;async function vu(e,t,n){let r;try{r=await e.readDir(t)}catch{return[]}let i=r.filter(e=>e.type===`directory`).sort((e,t)=>e.name.localeCompare(t.name)),a=r.filter(e=>e.type===`file`).sort((e,t)=>e.name.localeCompare(t.name)),o=[...i,...a].slice(0,_u),s=new Map,c=[];for(let e of o){if(e.type!==`file`)continue;let n=`${t}/${e.name}`;e.size===void 0?c.push(n):s.set(n,e.size)}let l=await Promise.allSettled(c.map(t=>e.stat(t)));c.forEach((e,t)=>{let n=l[t];n?.status===`fulfilled`&&s.set(e,n.value.size)});let u=[];for(let r of o){let i=`${t}/${r.name}`;if(r.type===`directory`)u.push({kind:`dir`,id:i,label:r.name,children:n<gu?await vu(e,i,n+1):[]});else{let e=s.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function yu(e,t=B.root){let n=[];for(let r of[t,hu])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await vu(e,r,1)});return n}var bu=200,xu=1e3,Su=3e3,Cu=45e3;function wu(e){let t=null,n=!1,r=!1,i=!1,a=0,o=0,s=null,c=null,l=0,u=()=>{let t=++o;e.openFs().then(async n=>{let i=await yu(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,an({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:m,log:e.log})))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},d=()=>{if(!i)return;let e=Date.now();if(c==null)l=e;else if(e-l>=xu){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},bu)},f=()=>{t??=setInterval(u,Su)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,hu];e.openFs().then(async e=>{if(!e.watch){t===a&&i&&f();return}let r=await e.watch(n,d);if(t!==a||!i){r();return}s=r}).catch(n=>{e.log.error(`WC file tree watch failed — falling back to polling`,n),t===a&&i&&f()})},h=()=>{n=!1,i=!1,a++,s?.(),s=null,c!=null&&(clearTimeout(c),c=null),t!=null&&(clearInterval(t),t=null)};return{open(){h(),i=!0,n=!0,e.onKernelReady(()=>{n&&(n=!1,u(),p())})},close:h,repoint(){!i||n||(u(),p())}}}function Tu(e){let t=!1,n=!1,r=!1,i=0,a=null,o=new Gl,s=wu(e),c=()=>{a!=null&&(clearInterval(a),a=null)},l=()=>{let t=++i;e.openFs().then(async n=>{let r=await ql(n,e.getWorkspace().memoryPath);t===i&&(e.memoryHost.setRows?e.memoryHost.setRows(r):e.memoryHost.replaceChildren(...r))}).catch(t=>e.log.error(`WC memory refresh failed`,t))},u=()=>{(async()=>{try{e.monitor.model=await mu(e.getMonitorDeps(),o)}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};return e.monitor.addEventListener(`slicc-monitor-refresh`,u),{activate(i){if(i===`files`){s.open();return}if(i===`memory`){r=!0,l();return}if(i===`monitor`){c(),u(),a=setInterval(u,5e3);return}if(i===`term`&&!t){t=!0;let r=!1,i=n?null:setTimeout(()=>{r||(n=!0,t=!1,e.log.error(`WC terminal mount did not settle within ${Cu}ms; re-arming so the next term activation retries`))},Cu);e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}).finally(()=>{r=!0,i&&clearTimeout(i)})}},deactivate(e){e===`files`?s.close():e===`monitor`?c():e===`memory`&&(r=!1)},refreshMemory(){r&&l()},refreshFiles(){s.repoint()}}}var Eu=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],Du=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Ou=2e4,ku=12,Au=3e4;function ju(e){let t=e.trim();for(;t.startsWith(`./`)||t.startsWith(`../`);)t=t.slice(t.startsWith(`./`)?2:3);return t.startsWith(`~/`)&&(t=t.slice(2)),t.replace(/\/{2,}/g,`/`)}function Mu(e){return e.slice(e.lastIndexOf(`/`)+1)}function Nu(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function Pu(e,t){let n=ju(e);return t.includes(`/`)?Nu(n,t):Mu(n)===t}function Fu(e,t){let n=[],r=new Set;for(let i=t.length-1;i>=0;--i){let a=t[i];if(!(a===void 0||r.has(a))&&Pu(a,e)&&(r.add(a),n.push(ju(a)),n.length>=Iu))break}return n}var Iu=4,Lu=class{#e;#t;#n;#r;#i;#a;#o=0;#s=null;#c=null;#l=new Map;#u=new Map;constructor(e,t={}){this.#e=e,this.#t=t.roots??Eu,this.#n=t.ignoredDirs??Du,this.#r=t.maxEntries??Ou,this.#i=t.maxDepth??ku,this.#a=t.ttlMs??Au}resolve(e,t=[]){this.#g();let n=ju(e),r=this.#d(n),i=Fu(n,t);return i.length===0?r:this.#f(n,r,i)}resolveAll(e,t=[]){return Promise.all(e.map(e=>this.resolve(e,t)))}invalidate(){this.#s=null,this.#c=null,this.#l.clear(),this.#u.clear()}#d(e){let t=this.#l.get(e);if(t)return t;let n=this.#m(e).catch(()=>({query:e,matches:[]}));return this.#l.set(e,n),n}async#f(e,t,n){let{matches:r}=await t,i=new Set(r),a=[];for(let e of n)!e.startsWith(`/`)||i.has(e)||await this.#p(e)&&a.push(e);let o=e=>n.findIndex(t=>Nu(e,t)),s=r.filter(e=>o(e)>=0).sort((e,t)=>o(e)-o(t)),c=new Set(s),l=r.filter(e=>!c.has(e));return{query:e,matches:[...a,...s,...l]}}#p(e){let t=this.#u.get(e);if(t)return t;let n=this.#h(e);return this.#u.set(e,n),n}async#m(e){if(e.startsWith(`/`))return{query:e,matches:await this.#h(e)?[e]:[]};let t=(await this.#_()).get(Mu(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Nu(t,e)).sort(Ru)}:{query:e,matches:[...t].sort(Ru)}}async#h(e){try{return(await this.#e.stat(e)).type===`file`}catch{return!1}}#g(){!this.#s||this.#a===1/0||Date.now()-this.#o<this.#a||this.invalidate()}#_(){return this.#s?Promise.resolve(this.#s):(this.#c??=this.#v().then(e=>(this.#s=e,this.#o=Date.now(),e)),this.#c)}async#v(){let e=new Map,t={left:this.#r};for(let n of this.#t){if(t.left<=0)break;await this.#y(n,0,e,t)}return e}async#y(e,t,n,r){if(r.left<=0||t>this.#i)return;let i;try{i=await this.#e.readDir(e)}catch{return}let a=this.#b(e,i,n,r);for(let e of a){if(r.left<=0)break;await this.#y(e,t+1,n,r)}}#b(e,t,n,r){let i=[];for(let a of t){if(r.left<=0)break;let t=e===`/`?`/${a.name}`:`${e}/${a.name}`;if(a.type===`directory`){this.#n.has(a.name)||i.push(t);continue}let o=n.get(a.name);o?o.push(t):n.set(a.name,[t]),--r.left}return i}};function Ru(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var zu=`file-mention`,Bu=`data-file-mentions`;function Vu(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var Hu=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),Uu=`file-mention-open`;async function Wu(e,t,n=[]){let r=Vu(e);if(e.getAttribute(Bu)===r)return;let i=Gu(e);if(i.length===0){e.setAttribute(Bu,r);return}let a=[],o=new Set;for(let e of i){let t=mn(e.data);if(t.length!==0){a.push({node:e,mentions:t});for(let e of t)o.add(e.path)}}if(a.length===0){e.setAttribute(Bu,r);return}let s=[...o],c=await t.resolveAll(s,n),l=new Map(s.map((e,t)=>[e,c[t]?.matches??[]]));for(let{node:e,mentions:t}of a){if(!e.isConnected)continue;let n=t.filter(e=>(l.get(e.path)?.length??0)>0);n.length!==0&&Ku(e,n,l)}e.setAttribute(Bu,Vu(e))}function Gu(e){let t=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(t){if(!t.nodeValue||t.nodeValue.trim().length===0)return NodeFilter.FILTER_REJECT;for(let n=t.parentElement;n&&n!==e;n=n.parentElement)if(Hu.has(n.tagName)||n.classList.contains(`file-mention`))return NodeFilter.FILTER_REJECT;return NodeFilter.FILTER_ACCEPT}}),n=[];for(let e=t.nextNode();e!==null;e=t.nextNode())n.push(e);return n}function Ku(e,t,n){let r=e.ownerDocument,i=e.data,a=r.createDocumentFragment(),o=0;for(let e of t){let t=n.get(e.path)??[],s=t[0];s&&(e.start>o&&a.appendChild(r.createTextNode(i.slice(o,e.start))),a.appendChild(qu(r,i.slice(e.start,e.end),s,t,e.line)),o=e.end)}o<i.length&&a.appendChild(r.createTextNode(i.slice(o))),e.parentNode?.replaceChild(a,e)}function qu(e,t,n,r,i){let a=e.createElement(`a`);return a.className=zu,a.textContent=t,a.href=`#${n}`,a.dataset.path=n,i!==void 0&&(a.dataset.line=String(i)),a.title=r.length>1?`${n}\n(+${r.length-1} other match${r.length>2?`es`:``})`:n,a.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation();let t={path:n,alternatives:r,...i===void 0?{}:{line:i}};a.dispatchEvent(new CustomEvent(Uu,{detail:t,bubbles:!0,composed:!0}))}),a}var Ju=`slicc-agent-message`,Yu=`slicc-action-row[${hn}]`;function Xu(e,t){let n=[],r=e.querySelectorAll(Yu);for(let e of r){if(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING)break;n.push(e.getAttribute(`data-file-paths`)??``)}return n.slice(-40).flatMap(e=>Zt(e))}function Zu(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function Qu(e){try{return $u(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function $u(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new Lu(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;mn(n.textContent??``).length!==0&&Zu(()=>{let i=Xu(t,e);a().then(e=>Wu(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(Ju))o(t)};s(t);let c=new MutationObserver(e=>{for(let t of e){if(t.type===`attributes`){t.target instanceof HTMLElement&&o(t.target);continue}for(let e of t.addedNodes)e instanceof HTMLElement&&(e.tagName.toLowerCase()===Ju?o(e):s(e));let e=t.target?.closest?.(Ju);e&&o(e)}});c.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`streaming`]});let l=e=>{let{path:t,line:i}=e.detail;n().then(e=>Qt(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(Uu,l),()=>{c.disconnect(),t.removeEventListener(Uu,l)}}var ed=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>yd,DOCK_TREE_STORAGE_KEY:()=>vd,attachWcWorkbench:()=>Sd,bootLeaderFloat:()=>Cd,makeSprinkleAttachImage:()=>xd,prepareWcShell:()=>od,wireDockTreePersistence:()=>bd,wireWcChipTips:()=>pd,workspaceForSelection:()=>id});function td(e){let{controller:t,held:n,jid:r,roster:i}=e,a=t?.stashQueued()??[];if(a.length===0)return;let o=i.find(e=>e.id===r),s=o?gn(i,o)?.id??o.id:r;n.set(s,[...n.get(s)??[],...a])}function nd(e){let{controller:t,destination:n,held:r,previousJid:i,roster:a}=e;if(i&&i!==n&&td({controller:t,held:r,jid:i,roster:a}),a.some(e=>e.id===n))for(let e of[...r.keys()])a.some(t=>t.id===e)||r.delete(e);let o=r.get(n);o&&(r.delete(n),t?.restoreQueued(o))}function rd(e,t){let n=null,r=null;return{shownUnitId:()=>r,watch:i=>{r===i&&n||(n?.(),r=i,n=e().subscribe(i,e=>{e.type===`snapshot`&&r===i&&t(e.snapshot.messages,e.snapshot.queuedIds)}))}}}function id(e){let{client:t,selectedId:n}=e,r=n===void 0?void 0:t.getScoop(n);return n!==void 0&&!r&&e.clearSelection(),Gr(t.getScoops(),r)}function ad(e){let{refs:t}=e,n=null,r=new Map;return{clear:()=>{n=null},getSelected:()=>n,holdQueue:()=>{let t=n?.id;t&&td({controller:e.controller(),held:r,jid:t,roster:e.client().currentUnits()})},selectScoop:i=>{let a=n?.id??null;n=i;let o=Sn(bn(i)),s=e.host();nd({controller:e.controller(),destination:i.id,held:r,previousJid:a,roster:e.client().currentUnits()});let c=e.lickBackpressure.get(i.id);e.controller()?.setLickBackpressure(c?.count??0,c?.waitingMs??0,Dn(i)),e.controller()?.setReadOnly(o),o||t.inputCard.removeAttribute(`disabled`),Ic(t,i,e.client().currentUnits(),s.getRecord?.bind(s),{skipModelPill:s.ownsModelPill===!0}),e.client().snapshot(i.id).catch(()=>void 0),e.watchUnit(i.id),e.controller()?.setProcessing(e.client().currentUnits().find(e=>e.id===i.id)?.state===`working`),t.switcher.hasAttribute(`attention`)||t.switcher.setAttribute(`attention`,i.id),e.wiring().refreshScoops?.(),e.workbench()?.refreshMemory(),e.workbench()?.refreshFiles(),s.onSelectionApplied?.()}}}function od(e,t){let n=rn(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=vo,o=null,s=()=>o??Q(h),c=new Map,l=!1,u=null,d=new Set,f=rd(()=>s(),(e,t)=>{r?.loadMessages(e,t),a.onSnapshotRendered?.(e)}).watch,p=ad({client:s,controller:()=>r,host:()=>a,lickBackpressure:c,refs:n,watchUnit:f,wiring:()=>h,workbench:()=>u}),m=p.selectScoop,h={refs:n,statuses:new Map,fills:new Map,phases:new Map,turns:new Map,lickBackpressure:c,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>p.getSelected(),selectScoop:m,notifyReady:()=>{l=!0;for(let e of d)e()}};return{refs:n,wiring:h,setClient:e=>{i=e},setChatTransport:(e,t)=>{o=e,a=t},getChatHost:()=>a,selectScoop:m,getSelected:()=>p.getSelected(),clearSelection:()=>p.clear(),holdQueuedPile:()=>p.holdQueue(),watchUnit:f,getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{u=e;let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(l?e.activate(n):d.add(()=>e.activate(n)))},onClientReady:e=>{d.add(e),l&&e()}}}function sd(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([l(()=>import(`./remote-vfs-client-Dhv8nI7h.js`),__vite__mapDeps([64,38])),l(()=>import(`./writable-vfs-client-pZwewNEw.js`),__vite__mapDeps([65,38]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function cd(e,t,n,r,i){e.onClientReady(()=>{r.intercept||l(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-BzJ_AYGd.js`);return{wireWcOnboarding:e}},__vite__mapDeps([66,13,1,43,41,22,5,21,23,24,3,42,67])).then(({wireWcOnboarding:r})=>r({client:t,getController:()=>e.getController(),openVfs:n,log:i})).then(e=>{r.intercept=e.interceptWelcomeLick}).catch(e=>i.error(`WC onboarding wiring failed`,e))})}function ld(e,t){let n=()=>{t.getSessionStats?.().then(t=>{if(!t)return;e.refs.floatbar.setAttribute(`spent`,t.totalCost.toFixed(2)),typeof t.burnRate==`number`&&Number.isFinite(t.burnRate)?e.refs.floatbar.setAttribute(`rate`,t.burnRate.toFixed(2)):e.refs.floatbar.removeAttribute(`rate`);let n=e.refs.floatbar;t.models&&(n.costModels=t.models),t.scoops&&(n.costScoops=t.scoops),n.budget=t.budget?{percent:t.budget.percent,status:t.budget.status,window:t.budget.window,resets:D(t.budget.resetsAt)}:null,e.fills.clear();for(let n of t.fills)e.fills.set(n.jid,n.fill);e.refreshScoops?.()})};return setInterval(n,15e3),n}function ud(e,t,n){let r=t.standalone;r&&l(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-DO1Pnegi.js`);return{wireWcBrowser:e}},__vite__mapDeps([68,69,41,70,1,71])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function dd(e){return{assistantLabel:e.assistantLabel,name:e.name,role:A(e)?`primary`:`child`}}function fd(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.id;if(e.boot.wiring.awaitingInput=t??null,e.boot.wiring.refreshScoops?.(),e.boot.wiring.notifyScoopStateChanged?.(),e.refreshStats(),!t)return;e.boot.refs.switcher.setAttribute(`attention`,t);let n=e.boot.getController()?.getMessages().filter(e=>e.role===`assistant`).at(-1);n&&e.boot.wiring.lastActivity.set(t,String(n.content??``).slice(0,600))}}function pd(e){let t=new Map,n=new Set;e.switcher.addEventListener(`pointerover`,r=>{let i=r.target?.closest?.(`.slicc-agent-tabs__segment`);if(!i||!e.switcher.contains(i))return;let a=i.dataset.k??``,o=e.getScoops().find(e=>e.jid===a);if(!o)return;let s=e.lastActivity.get(a)??``,c=t.get(a);if(c&&c.activity===s){i.title=c.tip;return}i.title||=Cn(dd(o)),!(!s||n.has(a))&&(n.add(a),(async()=>{try{let n=await(e.labelFn??(await l(async()=>{let{quickLabel:e}=await import(`./quick-llm-DNfy_To7.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([11,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34]))).quickLabel)({system:`One line for a hover tooltip: at most 14 words, present tense, no quotes, no trailing period.`,prompt:`Summarize what this agent has been doing.\nAgent: ${A(o)?`${Cn(dd(o))} (a main agent)`:o.name}\nMost recent activity:\n${s}`,maxTokens:40});n&&(t.set(a,{activity:s,tip:n}),i.title=n)}finally{n.delete(a)}})())})}async function md(e,t,n){let{RemoteTerminalView:r}=await l(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-D4Ah4AQY.js`);return{RemoteTerminalView:e}},__vite__mapDeps([72,5,13,29,1,51,0,2,3,10,73,20,9,8,74,75])),{fetchSecretEnvVars:i}=await l(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-CDLWFhsq.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([76,1,22,5,13,21,23,24,3,25,26,27,28])),a=await i(),o=new r({client:t,cwd:`/`,env:Object.keys(a).length>0?a:void 0});await new Promise(t=>e.onClientReady(t)),await o.mount(n),globalThis.__slicc_terminal_view=o,window.addEventListener(`beforeunload`,()=>o.dispose(),{once:!0})}function hd(e,t,n){let r=t=>{if(t.startsWith(`freezer:`)){n(t.slice(8));return}let r=_n(Q(e.wiring).currentUnits(),t);r&&r.id!==e.getSelected()?.id&&e.selectScoop(r)};e.refs.thread.addEventListener(`slicc-url-context`,e=>{let t=e.detail?.context;t&&r(t)});let i=e.wiring.pendingUrlContext;i?.startsWith(`freezer:`)&&e.onClientReady(()=>{e.wiring.pendingUrlContext===i&&(e.wiring.pendingUrlContext=null,r(i))})}function gd(e,t,n,r){l(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-BsGMi4OQ.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([77,13,1,51])).then(async({installLeaderPermissionsSurface:r,installMountPendingConsumer:i})=>{let a=n.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:o,isExtensionRuntime:s}=await l(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-wSXekwkO.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([78,13,3]));r({runtimeMode:a,providers:await o(s()||a===`extension`||a===`extension-detached`)}),i({runShell:_d(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e)),(n.standalone?.runtimeMode??`standalone`)!==`cherry`&&l(async()=>{let{installSecretRequestSurface:e}=await import(`./wc-secret-request-BKh6eWsn.js`);return{installSecretRequestSurface:e}},__vite__mapDeps([79,12,5,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,36,34,80])).then(({installSecretRequestSurface:e})=>e()).catch(e=>r.warn(`WC secret request surface wiring failed`,e))}function _d(e,t){let n=null,r=()=>(n||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:n}=await l(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-ADzaWGFd.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([75,5])),r=new n({client:t,sid:`mount-drop-${Date.now()}`});return await r.open({cwd:`/workspace`}),r})().catch(e=>{throw n=null,e}),n);return async e=>(await r()).exec(e)}var vd=`slicc-dock-tree:default`,yd={zones:{top:null,left:{type:`leaf`,surfaceId:`chat`},middle:null,right:null,bottom:null},rowFr:{top:1,center:1,bottom:1},colFr:{left:3,middle:1,right:1}};function bd(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(vd,JSON.stringify(e))}catch{}};n.addEventListener(`dock-tree-change`,e=>{i(e.detail?.tree)}),n.addEventListener(`dock-tree-resize`,e=>{i(e.detail?.tree)});try{let e=localStorage.getItem(vd);r.setTree(e?JSON.parse(e):yd)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(yd)}}function xd(e,t){return(n,r,i)=>{let a=e.getAttachStage();if(!a){t.warn(`sprinkle attachImage dropped: composer stage not ready yet`);return}let o=n.match(/^data:(image\/[^;]+);base64,([A-Za-z0-9+/=]+)$/),s=o?o[2]:n,c=o?o[1]:i??`image/png`,l=c.split(`/`)[1]?.replace(`jpeg`,`jpg`).replace(`svg+xml`,`svg`)??`png`,u=r??`annotation-${Date.now()}.${l}`;a.add({id:`att-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:u,mimeType:c,size:Math.floor(s.length*3/4),kind:`image`,data:s})}}function Sd(e,t,n,r,i,a={}){l(async()=>{let{initTimestampPreference:e}=await import(`./wc-shortcuts-C_9hN2WU.js`).then(e=>e.R);return{initTimestampPreference:e}},__vite__mapDeps([36,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:o}=e;e.setClient(t),l(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-DFKCBK8N.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([81,5,82,1])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),l(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-B5SkYf3E.js`).then(e=>e.m);return{applyThemeOverrides:e}},__vite__mapDeps([82,5,1])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let s=Ke(`panel-layouts`);o.dockTree.tilesMovable=s,s||bd(o,i);let c=null,u=ld(e.wiring,t),d=()=>c?.(),f=r.welcome??{intercept:null},p=Q(e.wiring),{agentHandle:m}=n;e.onClientReady(u);let h=sd(t),g=async()=>(await h()).reader;a.standalone?.runtimeMode!==`cherry`&&a.standalone?.runtimeMode!==`hosted-leader`?cd(e,t,h,f,i):f.intercept=_c({openVfs:async()=>(await h()).writer,log:i});let _=Rc({boot:e,client:t,setRefreshPlaceholder:e=>{c=e},triggerPlaceholder:d,openReader:g,openWriter:async()=>(await h()).writer,log:i});r.setAttachmentSource(()=>_.getAttachStage()?.take()),r.setTurnIdleHook(fd({boot:e,triggerPlaceholder:d,refreshStats:u})),pd({switcher:o.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity}),ud(e,a,i),gd(e,t,a,i);let v=Tu({fileTree:o.fileTree,termSurface:o.termSurface,memoryHost:o.memoryHost,monitor:o.monitor,openFs:g,openWriter:async()=>(await h()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>vl({client:t,openReader:g,storage:window.localStorage}),getWorkspace:()=>id({client:t,clearSelection:e.clearSelection,selectedId:e.getSelected()?.id}),mountTerminal:n=>md(e,t,n),insertReference:e=>{let t=o.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:i});e.setActivateSurface(v),s&&l(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-Bh5E6MAZ.js`);return{panelizeShell:e}},__vite__mapDeps([83,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,84,85])).then(({panelizeShell:e})=>e(o,void 0,void 0,{onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e)})).catch(e=>i.error(`panelize failed — keeping the classic shell`,e)),Qu({thread:o.thread,openFs:g,log:i}),o.floatbar.addEventListener(`click`,()=>{let e=o.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let y=al({refs:o,openVfs:h,client:t,getUnits:()=>p.currentUnits(),getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,holdQueuedPile:e.holdQueuedPile,log:i}),{refreshFreezer:b,openFrozen:ee,getViewedFrozenSessionId:te}=y;if(b(),e.onClientReady(b),Ke(`multiple-cones`)){let n=hc({freezer:o.freezer,client:t,getSelected:()=>e.getSelected(),getUnits:()=>p.currentUnits(),selectScoop:e.selectScoop,freezeCone:y.freezeCone,log:i});e.wiring.refreshConeActions=n.refresh,e.onClientReady(n.refresh)}hd(e,t,ee),e.onClientReady(()=>{h().then(async({reader:e,writer:t})=>{let{loadShortcutConfig:n}=await l(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-BrQkmSXh.js`);return{loadShortcutConfig:e}},__vite__mapDeps([86,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await n({reader:e,writer:t,apply:({keymap:e,trigger:t})=>{o.shortcuts.setKeymap(e),o.shortcuts.setTrigger(t)}})}).catch(e=>i.warn(`WC shortcut config load failed`,e))}),h().then(async({reader:e})=>{let{installPreviewVfsResponder:t}=await l(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-Vn6wxJvK.js`);return{installPreviewVfsResponder:e}},[]);t({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:i})}).catch(e=>i.warn(`WC page-VFS support wiring failed`,e)),h().then(async({reader:n,writer:r})=>{let{createRemoteSprinkleVfs:s}=await l(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-D-Wz5t8k.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([87,88,89,38])),c=(await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-Bh5E6MAZ.js`);return{getPanelizedShell:e}},__vite__mapDeps([83,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,84,85]))).getPanelizedShell(),{wireWcSprinkles:u}=await l(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-DNMbbRJc.js`);return{wireWcSprinkles:e}},__vite__mapDeps([90,13,36,5,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,91,67])),d=await u({refs:o,client:t,getUnits:()=>p.currentUnits(),getSelected:()=>e.getSelected(),interceptWelcomeLick:e=>f.intercept?.(e)??!1,fs:s({reader:n,writer:r}),instanceId:a.instanceId,onAttachImage:xd(_,i),onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e),hostSprinkleSurface:c?(e,t)=>c.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:c?e=>c.removeSprinkleSurface(e):void 0,log:i});e.onClientReady(()=>void d.resync());let{getPanelizedShell:y}=await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-Bh5E6MAZ.js`);return{getPanelizedShell:e}},__vite__mapDeps([83,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,84,85])),b=y();if(b){let e=s({reader:n,writer:r});b.attachFs(e);let{registerAgentPanels:t}=await l(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-CgN-dDda.js`);return{registerAgentPanels:e}},__vite__mapDeps([92,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await t(e).catch(e=>i.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await l(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:t}=await l(async()=>{let{applyLayout:e}=await import(`./apply-layout-DP3s17A0.js`);return{applyLayout:e}},__vite__mapDeps([93,90,13,36,5,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,91,67]));e(e=>t(d.zone,e))}if(a.standalone&&a.instanceId){let{wireWcTray:n}=await l(async()=>{let{wireWcTray:e}=await import(`./wc-tray-CV3jmhFb.js`);return{wireWcTray:e}},__vite__mapDeps([94,12,5,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,36,34,69,41,95,96,97,10,9,98,8,74,62,63,81,82,46,99,67,100,101,43,42,39,40,44,45,47,48,51,89,75,54,71,102,103,104,105,106,91])),r=d.zone.callbacks(),s=await n({refs:o,client:t,browser:a.standalone.browser,realCdpTransport:a.standalone.realCdpTransport,instanceId:a.instanceId,runtimeMode:a.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>r.addSprinkle(e,t,n),removeSprinkle:e=>r.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.id??`cone`,agentHandle:m,workUnits:p,restoreLocalChrome:()=>{e.wiring.refreshScoops?.();let n=e.getSelected();n&&Ic(o,n,p.currentUnits(),e=>t.getScoop(e))},openFs:g,openWriter:async()=>(await h()).writer,window,log:i});e.wiring.notifyScoopStateChanged=()=>s.scheduleScoopsListBroadcast()}}).catch(e=>i.error(`WC sprinkle/tray wiring failed`,e));{let n=new jn,r=new In,i=Rn(new Bs({collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>n.loadAll(),loadUiChatSessions:async()=>{let e=await r.list();return(await Promise.all(e.map(e=>r.load(e)))).filter(e=>e!==null)},wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:ic(),snapshotStore:{read:async e=>{let{reader:t}=await h();return Zs(t,e)},write:async(e,t)=>{let{writer:n}=await h();return Xs(n,e,t)}},vfs:{readFile:async(e,t)=>(await h()).reader.readFile(e,t),readDir:async e=>(await h()).reader.readDir(e),stat:async e=>(await h()).reader.stat(e)},getActiveSessionInfo:()=>{let t=En(Q(e.wiring).currentUnits());return{id:t?.id??`session-${Date.now()}`,title:t?.name??`Active Session`}},version:`6.162.1`}));window.addEventListener(`unload`,i,{once:!0})}let x=!1,ne=()=>x?Promise.resolve():(x=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([l(()=>Promise.resolve().then(()=>Ln),void 0),l(()=>import(`./wc-transcript-export-IhJuoZxz.js`),__vite__mapDeps([107,13,95,100,101,5]))]),r=te(),i=r==null?{kind:`active`}:{kind:`frozen`,sessionId:r},a=await e().export(i,{}),{filename:o}=a;await n(await t(a),o)}catch(e){i.error(`Transcript export failed`,e),l(async()=>{let{showTranscriptExportFailure:e}=await import(`./wc-transcript-export-IhJuoZxz.js`);return{showTranscriptExportFailure:e}},__vite__mapDeps([107,13,95,100,101,5])).then(({showTranscriptExportFailure:t})=>t(e)).catch(e=>i.error(`Transcript export notice failed`,e))}finally{x=!1}})());if(l(async()=>{let{wireWcNav:e}=await import(`./wc-nav-C0xbSObA.js`);return{wireWcNav:e}},__vite__mapDeps([108,13,3,43,41,22,5,21,23,24,42,45,46,47,48,54,1,67,91])).then(({wireWcNav:e})=>e({refs:o,client:t,workUnits:p,getUnits:()=>p.currentUnits(),log:i,onExportTranscript:ne,shortcuts:o.shortcuts,persistKeyboardTrigger:async e=>{let{writer:t,reader:n}=await h(),{writeShortcutTrigger:r}=await l(async()=>{let{writeShortcutTrigger:e}=await import(`./wc-shortcut-config-BrQkmSXh.js`);return{writeShortcutTrigger:e}},__vite__mapDeps([86,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await r({reader:n,writer:t},e)}})).catch(e=>i.error(`WC nav wiring failed`,e)),l(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-ezxYnBa1.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([109,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,51,60,61,62,63,110])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=o.composer;t(a.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>i.error(`WC push-to-talk wiring failed`,e)),l(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-CaPXutfS.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([59,13,1,3,60,61,36,5,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34,62,63])).then(({setSpeakAssetsInstanceId:e})=>e(a.instanceId)).catch(e=>i.error(`WC say warmup wiring failed`,e)),a.standalone)return()=>{l(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-CIi79Tea.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([53,12,5,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await h()).writer,onComplete:b})).catch(e=>i.warn(`Pending session catch-up scheduling failed`,e))}}async function Cd(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:o,bridgeToken:s,localLickWsUrl:c,extensionDelegateId:u,attachLickForwardingClient:d}=await Qe({runtimeMode:n,envBaseUrl:null,window,log:t}),{floatKindForRuntimeMode:f,floatLabelForKind:p,resolveStandaloneFloatKind:m}=await l(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await Promise.resolve().then(()=>Nl);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},void 0),h=n===`standalone`?await m():f(n),g=p(h);a&&$e(a);let{syncFsBridgeEnabled:_,syncFsChannelNonce:v}=bl(),y=!1,b,ee,{boot:te}=await Hl(e,t,{floatKind:h,floatLabel:g,connect:e=>{b=Mo({realCdpTransport:i,reconnectCdp:()=>r.reconnectIfNeeded(),instanceId:a,makeClient:t=>new ho(bc(e.wiring),t),localApiBaseUrl:o,bridgeToken:s,syncFsBridgeEnabled:_,syncFsChannelNonce:v,localLickWsUrl:c,extensionDelegateId:u,flagFloat:n,onWorkerScriptError:()=>{Ze()},onReadyStall:e=>{y=!0,l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(t=>t.showBootStallOverlay(document,e)),[])},onLateReady:()=>{Ze()}}),xo({send:e=>b.client.sendRaw(e)}),d?.(b.client);let f=_o(b.client);return{client:Q(e.wiring),host:f,workbench:(e,o)=>{ee=Sd(e,b.client,o,f,t,{instanceId:a,standalone:{browser:r,floatKind:h,realCdpTransport:i,runtimeMode:n}})}}}}),{setupSudoStandalone:x}=await l(async()=>{let{setupSudoStandalone:e}=await import(`./main-CutwpQPv.js`).then(e=>e.i);return{setupSudoStandalone:e}},__vite__mapDeps([39,5,40,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,41,42,43,44,45,46,47,48]));await x({log:t});try{await b.ready}finally{y&&l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(e=>e.removeBootStallOverlay(document)),[])}te.wiring.notifyReady?.(),globalThis.__slicc_kernel_ready=!0,t.info(`WC live shell ready`,{scoops:b.client.getScoops().length}),ee?.();let{consumeAutoPrompt:ne}=await l(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),re=ne(window.location.search);re&&(te.getController()?.sendUserMessage(re),t.info(`Auto-prompt submitted`,{length:re.length}))}export{Qa as A,In as B,ho as C,qa as D,$a as E,Ua as F,wa as I,ir as L,ea as M,Ea as N,Xa as O,$i as P,Bn as R,_o as S,Za as T,Sc as _,xl as a,Q as b,dl as c,hl as d,Bc as f,Cc as g,xc as h,Sl as i,eo as j,Ya as k,sl as l,Nc as m,ed as n,cl as o,zc as p,Hl as r,pl as s,Sd as t,ul as u,wc as v,Wa as w,bo as x,bc as y,Ln as z};
|
|
426
|
+
`}function Ol(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var kl=class e{#e;#t;#n;#r;#i;#a=null;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y=[];#b=[];#x=null;#S=new Map;#C=null;#w=null;#T=``;#E=!1;#D=!1;#O=`thinking`;#k=0;#A=null;#j=new Set;#M=new Map;#N=new Map;#P=new Set;#F=!1;#I=null;constructor(e){this.#e=e.thread,this.#t=e.agent,this.#n=e.onProcessingChange,this.#r=e.onBusyPhaseChange,this.#i=e.onToolProgressChange,this.#o=e.onMessageRendered,this.#s=e.onMessageDisposed,this.#c=e.onTurnComplete,this.#l=e.resolveTelemetryContext,this.#u=e.onQueuedChange,this.#d=e.onLickBackpressureChange,this.#f=e.onQueuedCancel,this.#p=e.onToolUiAction,this.#m=e.readOnlyToolUi??!1,this.#h=e.agent.onEvent(e=>this.#q(e)),this.#v=e=>this.#me(e),this.#e.addEventListener(`slicc-error-retry`,this.#v)}dispose(){this.#h(),this.#e.removeEventListener(`slicc-error-retry`,this.#v);for(let e of[...this.#M.keys()])this.#pe(e);this.#N.clear(),this.#P.clear(),this.#fe()}setReadOnly(e){if(this.#F!==e&&(this.#F=e,e))for(let e of[...this.#M.keys()])this.#pe(e)}get readOnly(){return this.#F}get processing(){return this.#D}getMessages(){return this.#y.map(e=>({...e}))}setAgent(e){this.#h(),this.#t=e,this.#h=e.onEvent(e=>this.#q(e))}setOnLocalUserMessage(e){this.#g=e}setOnLocalProcessingChange(e){this.#_=e}addUserMessage(e,t,n){this.#_e({id:$(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(Ol)}removeQueuedMessage(e){let t=this.#b.filter(t=>t.id!==e);t.length!==this.#b.length&&(this.#b=t,this.#z())}stashQueued(){let e=this.#I??[];this.#I=null;let t=this.#b;return t.length===0?e:(this.#b=[],this.#z(),[...e,...t])}restoreQueued(e){this.#I=e.length>0?[...e]:null}heldBackendPendingIds(e){if(!this.#I||!e?.length)return new Set;let t=new Set(e);return new Set(this.#I.filter(e=>t.has(e.id)).map(e=>e.id))}#L(e,t){if(!this.#I)return;let n=this.heldBackendPendingIds(t),r=new Set(e.map(e=>e.id)),i=this.#I.filter(e=>!r.has(e.id)||n.has(e.id));if(this.#I=null,i.length===0)return;if(!t){this.#b=i,this.#z();return}let a=new Map(t.map((e,t)=>[e,t])),o=i.filter(e=>a.has(e.id)).sort((e,t)=>(a.get(e.id)??0)-(a.get(t.id)??0)),s=i.filter(e=>!a.has(e.id));if(this.#b=this.#D?o:[...o,...s],this.#z(),this.#D)for(let e of s)this.#_e(e)}#R(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#_e(t);this.#z()}#z(){this.#u?.(this.#b.map(Ol))}#B(){this.#d?.(this.#x)}setLickBackpressure(e,t,n){if(e<=0){if(!this.#x)return;this.#x=null,this.#B();return}this.#x={text:`${e} events waiting for the current turn`},this.#B();try{Be(n,t)}catch{}}addAssistantMessage(e){this.#_e({id:$(),role:`assistant`,content:e,timestamp:Date.now()})}loadMessages(e,t){for(let e of this.#S.keys())this.#s?.(e);for(let e of[...this.#M.keys()])this.#pe(e);this.#N.clear(),this.#P.clear(),this.#fe();let n=this.#b.length>0;if(this.#b.length>0){if(this.#f)for(let e of this.#b)try{this.#f(e.id)}catch(e){console.error(`onQueuedCancel hook threw`,e)}this.#b=[]}n&&this.#z();let r=this.heldBackendPendingIds(t),i=r.size>0?e.filter(e=>!r.has(e.id)):e;this.#y=ln(i);let a=[...this.#y].reverse().find(e=>e.isStreaming);this.#C=a?.id??null,a&&(this.#w=a.id),this.#T=``,this.#E=!1,this.#S.clear();let o=[],s=``;for(let e of this.#y){let t=new Date(e.timestamp).toDateString();t!==s&&(o.push(on(e.timestamp)),s=t);let n=this.#ge(e);this.#S.set(e.id,n),o.push(...n)}let c=this.#e;typeof c.replaceContent==`function`?c.replaceContent(...o):c.replaceChildren(...o),this.#xe();for(let e of this.#y)e.isStreaming||this.#o?.(e,this.#S.get(e.id)??[]);this.#K(),this.#Ce(),this.#V(),this.#L(e,t)}#V(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!Xe()||this.#D)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#me(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#H(r):r,a={id:$(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#D&&!n?.steer?(this.#b.push(a),this.#z()):this.#_e(a),n?.steer?this.#t.sendMessage(i,a.id,a.attachments,{steer:!0}):this.#t.sendMessage(i,a.id,a.attachments),this.#U();try{let e=n?.dictation?f(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#H(e){return g(e,p())}#U(){if(this.#l)try{let e=this.#l();if(!e)return;Ue(e.scoopName,e.model)}catch{}}addLickMessage(e,t,n,r,i){let a=this.#y[this.#y.length-1];if(!(i||a?.lickId)&&a&&a.source===`lick`&&a.channel===n){a.lickParts=[...a.lickParts??[a.content],t],a.lickCount=a.lickParts.length,a.content+=`\n\n${t}`,this.#ve(a);return}this.#_e({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#D?!0:void 0})}updateLickState(e,t){let n=this.#y.find(t=>t.lickId===e);n&&(n.lickState=t,this.#ve(n))}setProcessing(e){if(this.#D!==e){this.#D=e,e&&(this.#w=null),e&&(this.#k=0,this.#W(`thinking`)),e&&this.#R(),e||(this.#x&&(this.#x=null,this.#B()),this.#K()),this.#n?.(e);try{this.#_?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#G()}}#W(e){this.#O!==e&&(this.#O=e,this.#r?.(e))}#G(){let e=this.#w;if(this.#w=null,!this.#c)return;let t=e?this.#he(e):null;this.#c(t?{...t}:null)}#K(){let e=this.#y[this.#y.length-1];if(!(e?.role===`assistant`&&!e.isStreaming)){this.#A?.remove();return}this.#A??=Tl({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#A)}#q(e){switch(e.type){case`message_start`:this.#J(e.messageId);break;case`content_delta`:this.#Y(e.messageId,e.text);break;case`content_done`:this.#Z(e.messageId,e.model,e.usage);break;case`tool_use_start`:this.#$(e.messageId,e.toolName,e.toolInput,e.toolCallId);break;case`tool_result`:this.#te(e.messageId,e.toolName,e.result,e.isError,e.toolCallId);break;case`tool_ui`:this.#se(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#ce(e.requestId);break;case`tool_progress`:this.#le(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#ie(e.messageId);break;case`compaction_notice`:this.#ne(e.messageId,e.marker);break;case`error`:this.#ae(e.error)}}#J(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#_e({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#Y(e,t){this.#he(e)&&(this.#T+=t,!this.#E&&(this.#E=!0,requestAnimationFrame(()=>this.#X(e))))}#X(e){if(this.#E=!1,!this.#T)return;let t=this.#he(e);t&&(t.content+=this.#T,this.#T=``,this.#ve(t))}#Z(e,t,n){let r=this.#he(e);r&&(t&&(r.model=t),n&&(r.usage=n),this.#T&&this.#C===e&&(r.content+=this.#T),this.#T=``,this.#E=!1,r.isStreaming=!1,this.#ve(r))}static#Q(e,t){return`${e}:${t}`}#$(t,n,r,i){let a=this.#he(t);if(!a)return;a.toolCalls=a.toolCalls??[];let o=i?e.#Q(t,i):$();this.#P.add(o),a.toolCalls.push({id:o,name:n,input:r}),this.#k+=1,this.#W(`tool`),this.#ve(a)}#ee(t,n,r){let i=t?.toolCalls??[];if(r){let n=t?e.#Q(t.id,r):void 0;return i.find(e=>e.id===n)??i.find(e=>e.id===r)}return[...i].reverse().find(e=>e.name===n&&e.result===void 0)}#te(e,t,n,r,i){let a=this.#he(e),o=this.#ee(a,t,i);!a||!o||(o.result=n,o.isError=r,o.id&&(this.#N.delete(o.id),this.#fe()),this.#k=Math.max(0,this.#k-1),this.#k===0&&this.#W(`thinking`),this.#ve(a))}#ne(e,t){let n=this.#he(e);if(t.state===`discarded`){n&&this.#re(n);return}if(n){n.compaction=t,this.#ve(n);return}this.#_e({id:e,role:`assistant`,content:``,timestamp:Date.now(),compaction:t})}#re(e){this.#be(),this.#s?.(e.id);for(let t of this.#S.get(e.id)??[])t.remove();this.#S.delete(e.id),this.#y=this.#y.filter(t=>t!==e),this.#xe(),this.#de()}#ie(e){let t=this.#he(e);t?.isStreaming&&(t.isStreaming=!1,this.#ve(t)),this.#C=null,this.setProcessing(!1)}#ae(e){this.setProcessing(!1),this.#_e({id:$(),role:`assistant`,content:typeof e==`string`?e:He(e)??``,timestamp:Date.now(),error:!0}),this.#oe(e)}#oe(e){try{let t=typeof e==`string`?e:Ve(e);if(typeof t==`string`&&We(t))return;Ge(`error-card`,e)}catch{}}#se(e,t,n){if(this.#F)return;this.#pe(t);let r=document.createElement(`div`);if(r.className=`msg__dip`,r.setAttribute(`data-tool-ui-request`,t),(this.#e.inner??this.#e).append(r),this.#m){let e=z(r,Dl(n),()=>{},!1);this.#M.set(t,{instance:e,container:r});return}let i=z(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#M.set(t,{instance:i,container:r}),this.#p?.(t,ze,void 0)}#ce(e){this.#pe(e)}#le(e,t,n,r){let i=this.#he(e),a=this.#ee(i,t,r);a?.id&&(n.phase===`end`?this.#N.delete(a.id):this.#N.set(a.id,n),this.#ue(a.id),this.#fe())}#ue(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&en(t,this.#N.get(e)??null),this.#de()}#de(){let e=this.#e.querySelectorAll(`slicc-tool-cluster`);for(let t of e){let e=[...t.querySelectorAll(`slicc-action-row[data-tool-id]`)].filter(e=>e.dataset.toolId&&this.#P.has(e.dataset.toolId)).map(e=>{let t=e.dataset.toolId,n=e.getAttribute(`result`);return{done:n!==null&&n!==`…`,fraction:this.#N.get(t)?.fraction}});$t(t,fn(e))}}#fe(){let e=null,t=[...this.#N.values()];t.length>0&&t.every(e=>typeof e.fraction==`number`)&&(e=t.reduce((e,t)=>e+t.fraction,0)/t.length),e!==this.#a&&(this.#a=e,this.#i?.(e))}#pe(e){let t=this.#M.get(e);if(t){this.#M.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#me(e){if(this.#D)return;let t=e.detail?.messageId??null,n=this.#y.length;if(t){let e=this.#y.findIndex(e=>e.id===t);e>=0&&(n=e)}let r=n>0?this.#y[n-1]:void 0;if(r&&r.source===`lick`&&!r.queued){this.#t.sendMessage(r.content,$(),r.attachments);return}let i;for(let e=n-1;e>=0;e--){let t=this.#y[e];if(t.role===`user`&&t.source!==`lick`&&t.source!==`delegation`&&!t.queued){i=t;break}}i&&this.#t.sendMessage(i.content,$(),i.attachments)}#he(e){return this.#y.find(t=>t.id===e)}#ge(e){try{return nn(e,{readOnly:this.#F})}catch(t){console.error(`[wc-chat] message render failed — degrading to plain bubble`,t);let n=document.createElement(e.role===`assistant`?`slicc-agent-message`:`slicc-user-message`);return n.setAttribute(`text`,String(e.content??``)),[n]}}#_e(e){this.#be(),this.#y.push(e);let t=this.#ge(e);this.#S.set(e.id,t),this.#e.append(...t),this.#xe(),e.isStreaming||this.#o?.(e,t),e.role===`user`?this.#Ce():this.#we()}#ve(e){this.#be(),this.#s?.(e.id);let t=this.#S.get(e.id)??[],n=this.#ge(e),r=t[0]??null,i=r?.parentNode;if(i){for(let e of n)i.insertBefore(e,r);for(let e of t)e.remove()}else this.#e.append(...n);this.#S.set(e.id,n);for(let t of e.toolCalls??[])t.id&&this.#N.has(t.id)&&this.#ue(t.id);this.#xe(),this.#de(),e.isStreaming||this.#o?.(e,n),this.#we()}#ye(){return this.#e.inner??this.#e}#be(){Yt(this.#ye(),this.#j)}#xe(){tn(this.#ye(),{openClusterAnchors:this.#j,toolCallLookup:(e,t)=>this.#Se(e,t)})}#Se(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#Ce(){this.#e.scrollTop=this.#e.scrollHeight}#we(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#Ce()}};function Al(e,n,i,a,o,s){let c=new Map;l(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadDipStyles:e}},__vite__mapDeps([56,13])).then(({loadDipStyles:e})=>e()).catch(()=>void 0);let u=[];i.subscribeList(e=>{u=e});let d=()=>n.addressableUnitId?n.addressableUnitId():a()?.id??null,f=Sl(i,{getSelectedId:d,onError:e=>n.emitAgentError(e),onEvent:e=>n.onAgentEvent(e)});f.onEvent(t=>{(t.type===`tool_use_start`||t.type===`tool_result`)&&(t.type===`tool_result`&&t.isError&&e.switcher.glower(),l(async()=>{let{playCue:e}=await import(`./soundscape-CSdo0dZb.js`);return{playCue:e}},__vite__mapDeps([57,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let p=new kl({thread:e.thread,agent:f,resolveTelemetryContext:()=>{let e=a();if(!e)return null;let n=Dn(e);try{let i=j(u,e.id);return{scoopName:n,model:(i?r(i.id,i.provider):t()).id}}catch{return{scoopName:n,model:``}}},onTurnComplete:e=>{n.speaksReplies&&l(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-CV22AFT5.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([58,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,59,60,61,62,63])).then(async({consumeVoiceSubmission:t,speakReplyMarkdown:n})=>{if(!t())return;let{endVoiceTurn:r,setTtsActive:i}=await l(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-CSdo0dZb.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([57,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));try{if(e?.content){i(!0);try{await n(e.content)}finally{i(!1)}}}finally{r()}}).catch(()=>void 0)},onProcessingChange:t=>{e.frame.toggleAttribute(`data-processing`,t),e.inputCard.querySelector(`slicc-send-button`)?.toggleAttribute(`busy`,t),t||o?.()},onBusyPhaseChange:t=>{e.inputCard.querySelector(`slicc-send-button`)?.setAttribute(`phase`,t)},onToolProgressChange:t=>{let n=e.inputCard.querySelector(`slicc-send-button`);n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,t.toFixed(3)))},onMessageDisposed:e=>{let t=c.get(e);t&&(Tr(t),c.delete(e))},onMessageRendered:(e,t)=>{let r=t[0];if(!r)return;n.onMessageRendered?.(r);let i=d()??void 0;c.set(e.id,wr(r,(e,t)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:t}};s?.intercept?.(r)||n.sendSprinkleLick(`inline`,{action:e,data:t},void 0,i)}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,t,r)=>{n.sendToolUiAction(e,t,r)},onQueuedCancel:e=>{let t=a()?.id;t&&n.deleteQueuedMessage(t,e).catch(()=>void 0)},...n.readOnlyToolUi?{readOnlyToolUi:!0}:{}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let t=e.detail?.id;if(!t)return;p.removeQueuedMessage(t);let r=a()?.id;r&&n.deleteQueuedMessage(r,t).catch(()=>void 0)}),{controller:p,agentHandle:f}}function jl(e,t){let n=new xl,r=()=>{let r=t.currentUnits(),i=e.getSelected()?.id;e.refs.switcher.scoops=xn(r,i,Jt,n.sync(r,i)),e.refreshConeActions?.()};return e.refreshScoops=r,t.subscribeList(()=>r()),r}function Ml(e,t,n){let{refs:r}=e;e.setChatTransport(t,n);let{controller:i,agentHandle:a}=Al(r,n,t,()=>e.getSelected(),n.onTurnIdle,n.welcome);e.setController(i);let o=jl(e.wiring,t);return r.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.currentUnits().find(e=>e.id===r);i&&i.id!==e.getSelected()?.id&&e.selectScoop(i)}),r.switcher.setAttribute(`gaze-target`,`slicc-input-card`),r.inputCard.addEventListener(`input`,()=>{r.switcher.scrutinize(),r.switcher.wake()}),r.inputCard.addEventListener(`submit`,t=>{let a=cn(t),o=n.takeAttachments?.();if(!a&&!o?.length)return;e.wiring.awaitingInput=null,e.wiring.refreshScoops?.(),e.wiring.notifyScoopStateChanged?.();let s=t.detail?.source===`dictation`;s&&n.speaksReplies&&(l(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-CV22AFT5.js`);return{markVoiceSubmission:e}},__vite__mapDeps([58,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,59,60,61,62,63])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),l(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-CSdo0dZb.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([57,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),i.sendUserMessage(a??``,o,{dictation:s,steer:Xt(t)}),r.inputCard.clear?.();let c=e.getSelected()?.id;c&&(r.switcher.setAttribute(`attention`,c),e.wiring.lastActivity.set(c,(a??``).slice(0,600)))}),r.inputCard.addEventListener(`stop`,()=>{e.getController()?.processing&&a.stop()}),{agentHandle:a,controller:i,publishStrip:o}}var Nl=e({floatKindForRuntimeMode:()=>Il,floatLabelForKind:()=>Fl,resolveStandaloneFloatKind:()=>Ll}),Pl={"slicc-server":`sliccstart`,"slicc-node-server":`npx`};function Fl(e){return x(e)}function Il(e){switch(e){case`extension`:case`extension-detached`:return`extension`;case`cherry`:return`cherry`;case`hosted-leader`:return`hosted`;case`electron-overlay`:return`electron`;case`follower`:return`standalone`;default:return`standalone`}}async function Ll(e){let t=e?.fetchFn??fetch,n=e?.timeoutMs??1500;try{let e=new AbortController,r=setTimeout(()=>e.abort(),n),i=await t(Fe(`/api/status`),{cache:`no-store`,signal:e.signal,headers:Ie()}).finally(()=>clearTimeout(r));if(!i.ok)return`standalone`;let a=await i.json();return(a.service?Pl[a.service]:void 0)??`standalone`}catch{return`standalone`}}function Rl(e,t){let n=t.label??Fl(t.floatKind);e.setAttribute(`label`,n),e.setAttribute(`float-kind`,t.floatKind);let r=Mt(),i=Ye(),a=()=>{let t=zl(r,i);e.setAttribute(`connection`,t.connection),t.trayRole===`none`?e.removeAttribute(`tray-role`):e.setAttribute(`tray-role`,t.trayRole)},o=At(e=>{r=e,a()}),s=qe(e=>{i=e,a()});return a(),()=>{o(),s()}}function zl(e,t){return e.state===`inactive`?t.state===`inactive`?{connection:`offline`,trayRole:`none`}:{connection:Vl(t),trayRole:`follower`}:{connection:Bl(e),trayRole:`leader`}}function Bl(e){switch(e.state){case`connecting`:return`connecting`;case`leader`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}function Vl(e){if(e.stalled)return`stalled`;switch(e.state){case`connecting`:return`connecting`;case`connected`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}async function Hl(e,t,n){let r=n.floatLabel??Fl(n.floatKind),i=od(e,r);Rl(i.refs.floatbar,{floatKind:n.floatKind,label:r});let a=await n.connect(i),o=Ml(i,a.client,a.host);return await a.workbench?.(i,o),t.info(`WC shell mounted`,{floatKind:n.floatKind}),{boot:i,chat:o}}var Ul=36e5,Wl=2e3,Gl=class{#e=[];#t;#n;constructor(e=Ul,t=Wl){this.#t=Math.max(1,Math.floor(e)),this.#n=Math.max(2,Math.floor(t))}get windowMs(){return this.#t}push(e){this.#e.push(e);let t=e.at-this.#t;for(;this.#e.length>0&&this.#e[0].at<t;)this.#e.shift();for(;this.#e.length>this.#n;)this.#e.shift()}get size(){return this.#e.length}series(e){if(!(this.#e.length<2))return{points:this.#e.map(t=>({at:t.at,value:t[e]})),windowMs:this.#t}}peak(e){return this.#e.length===0?null:this.#e.reduce((t,n)=>Math.max(t,n[e]),-1/0)}windowLabel(){if(this.#e.length<2)return null;let e=this.#e[this.#e.length-1].at-this.#e[0].at,t=Math.max(1,Math.round(e/1e3));if(t<90)return`last ${t}s`;let n=Math.round(t/60);return n<90?`last ${n}m`:`last ${Math.round(n/60)}h`}};function Kl(e){return h(e,pn)}async function ql(e,t=B.memoryPath){let n=``;try{let r=await e.readFile(t,{encoding:`utf-8`});n=typeof r==`string`?r:new TextDecoder().decode(r)}catch{n=``}return Kl(n)}function Jl(e){let t=e.filter(e=>e.health===`stalled`).length,n=e.filter(e=>e.health!==`stalled`&&e.peerState===`connecting`).length,r=e.length-t-n,i=[r>0?`${r} connected`:``,n>0?`${n} connecting`:``,t>0?`${t} stalled`:``].filter(Boolean);return{id:`followers`,label:`Followers`,icon:`radio`,count:e.filter(e=>e.peerState===`connected`).length,meta:i.join(` · `)||`none paired`,accent:`cyan`,emptyText:`No followers connected yet. Pair a phone, tablet, or CLI follower to this tray.`,rows:e.map(e=>{let t=e.motd??e.runtime??`Connected follower`,n=e.hostOrigin?`${t} · ${e.hostOrigin}`:t,r=[e.exec?`ssh`:``,e.cdp?`playwright`:``].filter(Boolean);return{name:Qa(e),sublabel:n,meta:Xa(e),icon:qa(e),badges:r,status:Ya(e)}})}}function Yl(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function Xl(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function Zl(e){let t=Xl(e),n=e.sessionId?`Session ${Ga(e.sessionId)}`:null,r=e.workerBaseUrl?`Worker · ${e.workerBaseUrl}`:null;return{id:`tray`,label:`Tray`,icon:e.role===`follower`?`radio`:`cloud`,count:1,meta:`${e.role} · ${t}`,accent:`waffle`,status:Yl(e),rows:[{name:e.role[0].toUpperCase()+e.role.slice(1),sublabel:[n,r].filter(Boolean).join(` · `)||`No tray session`,meta:t,icon:e.role===`follower`?`radio`:`cloud`,badges:e.joinUrl?[`join URL`]:[],status:Yl(e)}]}}function Ql(e,t){let n=e.filter(e=>A(e)),r=t=>e.filter(e=>!A(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:A(e)?`${e.name||`sliccy`} (cone)`:e.name,meta:r?`working`:`idle`,active:r,depth:n}},a=n.flatMap(e=>[i(e,0),...r(e.jid).map(e=>i(e,1))]),o=new Set(a.map(e=>e.name));for(let t of e){let e=i(t,0);o.has(e.name)||a.push(e)}let s=e.filter(e=>t(e.jid)).length;return{id:`scoops`,label:`Scoops`,icon:`bot`,count:e.length,meta:`${e.length} · ${s} working`,accent:`violet`,status:`active`,emptyText:`Delegate a focused task and its scoop will show up here.`,rows:a}}function $l(e){let t=e.filter(e=>e.valid===!1).length;return{id:`mounts`,label:`Mounts`,icon:`hard-drive`,count:e.length,meta:t>0?`${e.length} · ${t} need${t===1?`s`:``} re-grant`:`${e.length} · all granted`,status:t>0?`warn`:`active`,emptyText:`Mount a folder to give the workspace access to files on disk.`,rows:e.map(e=>({name:e.targetPath,meta:e.valid===!1?`permission lost`:e.descriptor.kind,status:e.valid===!0?`active`:e.valid===!1?`warn`:`idle`}))}}function eu(e,t){let n=t.filter(e=>e.valid===!1).length,r=e.reduce((e,[,t])=>e+(t.tools?.length??0),0),i=[`${e.length} server${e.length===1?``:`s`}`,`${r} tool${r===1?``:`s`}`,n>0?`${n} account expired`:`${t.length} accounts valid`].join(` · `);return{id:`integrations`,label:`Integrations`,icon:`blocks`,count:e.length+t.length,meta:i,accent:`waffle`,status:n>0?`error`:`active`,emptyText:`Connect an MCP server or a provider account to extend the workspace.`,rows:[...e.map(([e,t])=>{let n=t.tools?.length??0;return{name:e,meta:`MCP · ${n} tool${n===1?``:`s`}`,status:`active`}}),...t.map(e=>({name:e.providerId,meta:e.valid===!1?`session expired`:`account`,status:e.valid===!0?`active`:e.valid===!1?`error`:`idle`}))]}}function tu(e,t){let n=[`${t.length} webhook${t.length===1?``:`s`}`,e.length>0?`${e.length} cron task${e.length===1?``:`s`}`:`no cron tasks`].join(` · `);return{id:`automations`,label:`Automations`,icon:`calendar-clock`,count:e.length+t.length,meta:n,accent:`amber`,emptyText:`Scheduled tasks and webhook-driven licks will appear here.`,rows:[...e.map(e=>({name:e.name,meta:e.cron,status:e.status===`active`?`active`:`idle`})),...t.map(e=>({name:e.name,meta:e.scoop?`→ ${e.scoop}`:`→ cone`,status:`idle`}))]}}function nu(e){let t=nt({percent:e.percent,status:e.status});return t===`critical`?`error`:t===`warn`?`warn`:`active`}function ru(e,t){let n=`${tt(e.percent)}% used`,r=D(e.resetsAt,t);return{name:`${e.window[0]?.toUpperCase()??``}${e.window.slice(1)} budget`,sublabel:e.providerId?`${e.providerId} · rolling window`:`rolling window`,meta:e.status===`rate-limited`?`rate-limited · ${n}`:n,badges:r?[r]:void 0,status:nu(e)}}function iu(e,t){let n=e?.budget,r=e?.models??[],i=e?`$${e.totalCost.toFixed(2)} across ${r.length} models`:``,a=n?[n.status===`rate-limited`?`rate-limited`:``,`${tt(n.percent)}% of ${n.window} budget`,i].filter(Boolean).join(` · `):e?i:`no spend yet`;return{id:`cost`,label:`Cost`,icon:`receipt`,count:r.length,meta:a,accent:`rose`,status:n?nu(n):void 0,emptyText:`Model usage will be summarized after the first turn.`,rows:[...n?[ru(n,t)]:[],...r.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))]}}function au(e){let t=[],n=ou(e.budget,e.now??Date.now());n&&t.push(n);for(let n of e.oauthProviders)n.valid===!1&&t.push({id:`oauth:${n.providerId}`,severity:`error`,icon:`key-round`,title:`${n.providerId} session expired`,detail:`Tool calls through this provider will fail until it is signed in again.`});let r=Yl(e.tray);(r===`error`||r===`warn`)&&t.push({id:`tray`,severity:r===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${Xl(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)Ya(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${Qa(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:Xa(n)});for(let n of e.mounts)n.valid===!1&&t.push({id:`mount:${n.targetPath}`,severity:`warn`,icon:`folder-lock`,title:`${n.targetPath} needs re-grant`,detail:`File System Access permission is no longer granted for this handle.`});return t.sort((e,t)=>e.severity===t.severity?0:e.severity===`error`?-1:1)}function ou(e,t){if(!e||nt({percent:e.percent,status:e.status})===`ok`)return null;let n=D(e.resetsAt,t),r=`${tt(e.percent)}%`;if(e.status===`rate-limited`)return{id:`budget:rate-limited`,severity:`error`,icon:`octagon-alert`,title:`${e.window} budget is rate-limited`,detail:`The provider is refusing calls until the window resets. ${r} of the allowance is used.`,age:n};let i=e.percent>=95;return{id:`budget:near-limit`,severity:i?`error`:`warn`,icon:`gauge`,title:`${r} of the ${e.window} budget used`,detail:i?`Past 95% of the allowance — calls may start being refused.`:`Past 80% of the allowance. Long runs may not finish before it resets.`,age:n}}function su(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function cu(e){let{stats:t,workingUnits:n,totalUnits:r,liveProcesses:i,terminated:a,history:o}=e,s=o?.windowLabel(),c=t?.burnRate??0,l=t?.fills??[],u=l.reduce((e,t)=>Math.max(e,t.fill),0),d=t?.budget,f=[{id:`burn`,label:`Burn rate`,value:su(c),unit:`/hour`,hero:!d,accent:d?`rose`:void 0,series:o?.series(`burnRate`),foot:[t?`$${t.totalCost.toFixed(2)} this session`:`no spend yet`,s].filter(Boolean).join(` · `)},{id:`load`,label:`Agent load`,value:String(n),unit:`of ${r} working`,accent:`violet`,series:o?.series(`workingUnits`),foot:s??void 0}];return d||f.push({id:`processes`,label:`Live processes`,value:String(i),unit:i===1?`process`:`processes`,accent:`cyan`,series:o?.series(`liveProcesses`),foot:a>0?`${a.toLocaleString()} exited this session`:s??void 0}),l.length>0&&f.push({id:`context`,label:`Context fill`,value:String(Math.round(u*100)),unit:`%`,ratio:u,markers:uu(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d?[lu(d,t,e.now??Date.now()),...f]:f}function lu(e,t,n){let r=nt({percent:e.percent,status:e.status});return{id:`budget`,label:`${e.window[0]?.toUpperCase()??``}${e.window.slice(1)} budget`,value:tt(e.percent),unit:`% used`,hero:!0,ratio:Math.min(1,Math.max(0,e.percent/100)),accent:r===`critical`?`rose`:r===`warn`?`amber`:`green`,foot:[e.status===`rate-limited`?`rate-limited`:``,D(e.resetsAt,n)??``,t?`$${t.totalCost.toFixed(2)} this session`:``].filter(Boolean).join(` · `)}}function uu(e,t){let n=new Map(t.map(e=>[e.jid,e]));return e.map(({jid:e,fill:t})=>{let r=n.get(e),i=r?A(r):!1,a=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:Jt({isRoot:i,name:a}),label:`${i?`${a} (cone)`:a} — ${Math.round(t*100)}% full`}})}var du={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function fu(e,t){if(!e)return;let n=Math.max(0,Math.round((t-e)/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m ${n%60}s`:`${Math.floor(r/60)}h ${r%60}m`}function pu(e,t){return{pid:e.pid,ppid:e.ppid,state:du[e.status]??`?`,status:e.status,command:e.argv,scoop:e.scoop,started:e.startedAt?new Date(e.startedAt).toTimeString().slice(0,5):void 0,elapsed:fu(e.startedAt,t)}}async function mu(e,t){let n=e.getScoops(),r=e.getTrayInfo(),i=e.getConnectedFollowers(),[a,o,s,c,l,u]=await Promise.all([e.getCronTasks().catch(()=>[]),e.getWebhooks().catch(()=>[]),e.getMounts().catch(()=>[]),e.getMcpServers().catch(()=>({})),e.getSessionStats().catch(()=>null),e.getProcesses().catch(()=>({processes:[],terminated:0}))]),{processes:d,terminated:f}=u,p=e.getOAuthProviders(),m=Object.entries(c),h=n.filter(t=>e.isProcessing(t.jid)).length,g=Date.now();return t?.push({at:g,burnRate:l?.burnRate??0,workingUnits:h,liveProcesses:d.length}),{updated:`Streaming · updated just now`,vitals:cu({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n,now:g}),alerts:au({tray:r,followers:i,mounts:s,oauthProviders:p,budget:l?.budget,now:g}),sections:[Zl(r),Jl(i),Ql(n,t=>e.isProcessing(t)),$l(s),eu(m,p),tu(a,o),iu(l,g)],processes:{rows:d.map(e=>pu(e,g)),terminated:f}}}var hu=`/shared`,gu=3,_u=200;async function vu(e,t,n){let r;try{r=await e.readDir(t)}catch{return[]}let i=r.filter(e=>e.type===`directory`).sort((e,t)=>e.name.localeCompare(t.name)),a=r.filter(e=>e.type===`file`).sort((e,t)=>e.name.localeCompare(t.name)),o=[...i,...a].slice(0,_u),s=new Map,c=[];for(let e of o){if(e.type!==`file`)continue;let n=`${t}/${e.name}`;e.size===void 0?c.push(n):s.set(n,e.size)}let l=await Promise.allSettled(c.map(t=>e.stat(t)));c.forEach((e,t)=>{let n=l[t];n?.status===`fulfilled`&&s.set(e,n.value.size)});let u=[];for(let r of o){let i=`${t}/${r.name}`;if(r.type===`directory`)u.push({kind:`dir`,id:i,label:r.name,children:n<gu?await vu(e,i,n+1):[]});else{let e=s.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function yu(e,t=B.root){let n=[];for(let r of[t,hu])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await vu(e,r,1)});return n}var bu=200,xu=1e3,Su=3e3,Cu=45e3;function wu(e){let t=null,n=!1,r=!1,i=!1,a=0,o=0,s=null,c=null,l=0,u=()=>{let t=++o;e.openFs().then(async n=>{let i=await yu(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,an({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:m,log:e.log})))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},d=()=>{if(!i)return;let e=Date.now();if(c==null)l=e;else if(e-l>=xu){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},bu)},f=()=>{t??=setInterval(u,Su)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,hu];e.openFs().then(async e=>{if(!e.watch){t===a&&i&&f();return}let r=await e.watch(n,d);if(t!==a||!i){r();return}s=r}).catch(n=>{e.log.error(`WC file tree watch failed — falling back to polling`,n),t===a&&i&&f()})},h=()=>{n=!1,i=!1,a++,s?.(),s=null,c!=null&&(clearTimeout(c),c=null),t!=null&&(clearInterval(t),t=null)};return{open(){h(),i=!0,n=!0,e.onKernelReady(()=>{n&&(n=!1,u(),p())})},close:h,repoint(){!i||n||(u(),p())}}}function Tu(e){let t=!1,n=!1,r=!1,i=0,a=null,o=new Gl,s=wu(e),c=()=>{a!=null&&(clearInterval(a),a=null)},l=()=>{let t=++i;e.openFs().then(async n=>{let r=await ql(n,e.getWorkspace().memoryPath);t===i&&(e.memoryHost.setRows?e.memoryHost.setRows(r):e.memoryHost.replaceChildren(...r))}).catch(t=>e.log.error(`WC memory refresh failed`,t))},u=()=>{(async()=>{try{e.monitor.model=await mu(e.getMonitorDeps(),o)}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};return e.monitor.addEventListener(`slicc-monitor-refresh`,u),{activate(i){if(i===`files`){s.open();return}if(i===`memory`){r=!0,l();return}if(i===`monitor`){c(),u(),a=setInterval(u,5e3);return}if(i===`term`&&!t){t=!0;let r=!1,i=n?null:setTimeout(()=>{r||(n=!0,t=!1,e.log.error(`WC terminal mount did not settle within ${Cu}ms; re-arming so the next term activation retries`))},Cu);e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}).finally(()=>{r=!0,i&&clearTimeout(i)})}},deactivate(e){e===`files`?s.close():e===`monitor`?c():e===`memory`&&(r=!1)},refreshMemory(){r&&l()},refreshFiles(){s.repoint()}}}var Eu=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],Du=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Ou=2e4,ku=12,Au=3e4;function ju(e){let t=e.trim();for(;t.startsWith(`./`)||t.startsWith(`../`);)t=t.slice(t.startsWith(`./`)?2:3);return t.startsWith(`~/`)&&(t=t.slice(2)),t.replace(/\/{2,}/g,`/`)}function Mu(e){return e.slice(e.lastIndexOf(`/`)+1)}function Nu(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function Pu(e,t){let n=ju(e);return t.includes(`/`)?Nu(n,t):Mu(n)===t}function Fu(e,t){let n=[],r=new Set;for(let i=t.length-1;i>=0;--i){let a=t[i];if(!(a===void 0||r.has(a))&&Pu(a,e)&&(r.add(a),n.push(ju(a)),n.length>=Iu))break}return n}var Iu=4,Lu=class{#e;#t;#n;#r;#i;#a;#o=0;#s=null;#c=null;#l=new Map;#u=new Map;constructor(e,t={}){this.#e=e,this.#t=t.roots??Eu,this.#n=t.ignoredDirs??Du,this.#r=t.maxEntries??Ou,this.#i=t.maxDepth??ku,this.#a=t.ttlMs??Au}resolve(e,t=[]){this.#g();let n=ju(e),r=this.#d(n),i=Fu(n,t);return i.length===0?r:this.#f(n,r,i)}resolveAll(e,t=[]){return Promise.all(e.map(e=>this.resolve(e,t)))}invalidate(){this.#s=null,this.#c=null,this.#l.clear(),this.#u.clear()}#d(e){let t=this.#l.get(e);if(t)return t;let n=this.#m(e).catch(()=>({query:e,matches:[]}));return this.#l.set(e,n),n}async#f(e,t,n){let{matches:r}=await t,i=new Set(r),a=[];for(let e of n)!e.startsWith(`/`)||i.has(e)||await this.#p(e)&&a.push(e);let o=e=>n.findIndex(t=>Nu(e,t)),s=r.filter(e=>o(e)>=0).sort((e,t)=>o(e)-o(t)),c=new Set(s),l=r.filter(e=>!c.has(e));return{query:e,matches:[...a,...s,...l]}}#p(e){let t=this.#u.get(e);if(t)return t;let n=this.#h(e);return this.#u.set(e,n),n}async#m(e){if(e.startsWith(`/`))return{query:e,matches:await this.#h(e)?[e]:[]};let t=(await this.#_()).get(Mu(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Nu(t,e)).sort(Ru)}:{query:e,matches:[...t].sort(Ru)}}async#h(e){try{return(await this.#e.stat(e)).type===`file`}catch{return!1}}#g(){!this.#s||this.#a===1/0||Date.now()-this.#o<this.#a||this.invalidate()}#_(){return this.#s?Promise.resolve(this.#s):(this.#c??=this.#v().then(e=>(this.#s=e,this.#o=Date.now(),e)),this.#c)}async#v(){let e=new Map,t={left:this.#r};for(let n of this.#t){if(t.left<=0)break;await this.#y(n,0,e,t)}return e}async#y(e,t,n,r){if(r.left<=0||t>this.#i)return;let i;try{i=await this.#e.readDir(e)}catch{return}let a=this.#b(e,i,n,r);for(let e of a){if(r.left<=0)break;await this.#y(e,t+1,n,r)}}#b(e,t,n,r){let i=[];for(let a of t){if(r.left<=0)break;let t=e===`/`?`/${a.name}`:`${e}/${a.name}`;if(a.type===`directory`){this.#n.has(a.name)||i.push(t);continue}let o=n.get(a.name);o?o.push(t):n.set(a.name,[t]),--r.left}return i}};function Ru(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var zu=`file-mention`,Bu=`data-file-mentions`;function Vu(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var Hu=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),Uu=`file-mention-open`;async function Wu(e,t,n=[]){let r=Vu(e);if(e.getAttribute(Bu)===r)return;let i=Gu(e);if(i.length===0){e.setAttribute(Bu,r);return}let a=[],o=new Set;for(let e of i){let t=mn(e.data);if(t.length!==0){a.push({node:e,mentions:t});for(let e of t)o.add(e.path)}}if(a.length===0){e.setAttribute(Bu,r);return}let s=[...o],c=await t.resolveAll(s,n),l=new Map(s.map((e,t)=>[e,c[t]?.matches??[]]));for(let{node:e,mentions:t}of a){if(!e.isConnected)continue;let n=t.filter(e=>(l.get(e.path)?.length??0)>0);n.length!==0&&Ku(e,n,l)}e.setAttribute(Bu,Vu(e))}function Gu(e){let t=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(t){if(!t.nodeValue||t.nodeValue.trim().length===0)return NodeFilter.FILTER_REJECT;for(let n=t.parentElement;n&&n!==e;n=n.parentElement)if(Hu.has(n.tagName)||n.classList.contains(`file-mention`))return NodeFilter.FILTER_REJECT;return NodeFilter.FILTER_ACCEPT}}),n=[];for(let e=t.nextNode();e!==null;e=t.nextNode())n.push(e);return n}function Ku(e,t,n){let r=e.ownerDocument,i=e.data,a=r.createDocumentFragment(),o=0;for(let e of t){let t=n.get(e.path)??[],s=t[0];s&&(e.start>o&&a.appendChild(r.createTextNode(i.slice(o,e.start))),a.appendChild(qu(r,i.slice(e.start,e.end),s,t,e.line)),o=e.end)}o<i.length&&a.appendChild(r.createTextNode(i.slice(o))),e.parentNode?.replaceChild(a,e)}function qu(e,t,n,r,i){let a=e.createElement(`a`);return a.className=zu,a.textContent=t,a.href=`#${n}`,a.dataset.path=n,i!==void 0&&(a.dataset.line=String(i)),a.title=r.length>1?`${n}\n(+${r.length-1} other match${r.length>2?`es`:``})`:n,a.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation();let t={path:n,alternatives:r,...i===void 0?{}:{line:i}};a.dispatchEvent(new CustomEvent(Uu,{detail:t,bubbles:!0,composed:!0}))}),a}var Ju=`slicc-agent-message`,Yu=`slicc-action-row[${hn}]`;function Xu(e,t){let n=[],r=e.querySelectorAll(Yu);for(let e of r){if(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING)break;n.push(e.getAttribute(`data-file-paths`)??``)}return n.slice(-40).flatMap(e=>Zt(e))}function Zu(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function Qu(e){try{return $u(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function $u(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new Lu(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;mn(n.textContent??``).length!==0&&Zu(()=>{let i=Xu(t,e);a().then(e=>Wu(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(Ju))o(t)};s(t);let c=new MutationObserver(e=>{for(let t of e){if(t.type===`attributes`){t.target instanceof HTMLElement&&o(t.target);continue}for(let e of t.addedNodes)e instanceof HTMLElement&&(e.tagName.toLowerCase()===Ju?o(e):s(e));let e=t.target?.closest?.(Ju);e&&o(e)}});c.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`streaming`]});let l=e=>{let{path:t,line:i}=e.detail;n().then(e=>Qt(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(Uu,l),()=>{c.disconnect(),t.removeEventListener(Uu,l)}}var ed=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>yd,DOCK_TREE_STORAGE_KEY:()=>vd,attachWcWorkbench:()=>Sd,bootLeaderFloat:()=>Cd,makeSprinkleAttachImage:()=>xd,prepareWcShell:()=>od,wireDockTreePersistence:()=>bd,wireWcChipTips:()=>pd,workspaceForSelection:()=>id});function td(e){let{controller:t,held:n,jid:r,roster:i}=e,a=t?.stashQueued()??[];if(a.length===0)return;let o=i.find(e=>e.id===r),s=o?gn(i,o)?.id??o.id:r;n.set(s,[...n.get(s)??[],...a])}function nd(e){let{controller:t,destination:n,held:r,previousJid:i,roster:a}=e;if(i&&i!==n&&td({controller:t,held:r,jid:i,roster:a}),a.some(e=>e.id===n))for(let e of[...r.keys()])a.some(t=>t.id===e)||r.delete(e);let o=r.get(n);o&&(r.delete(n),t?.restoreQueued(o))}function rd(e,t){let n=null,r=null;return{shownUnitId:()=>r,watch:i=>{r===i&&n||(n?.(),r=i,n=e().subscribe(i,e=>{e.type===`snapshot`&&r===i&&t(e.snapshot.messages,e.snapshot.queuedIds)}))}}}function id(e){let{client:t,selectedId:n}=e,r=n===void 0?void 0:t.getScoop(n);return n!==void 0&&!r&&e.clearSelection(),Gr(t.getScoops(),r)}function ad(e){let{refs:t}=e,n=null,r=new Map;return{clear:()=>{n=null},getSelected:()=>n,holdQueue:()=>{let t=n?.id;t&&td({controller:e.controller(),held:r,jid:t,roster:e.client().currentUnits()})},selectScoop:i=>{let a=n?.id??null;n=i;let o=Sn(bn(i)),s=e.host();nd({controller:e.controller(),destination:i.id,held:r,previousJid:a,roster:e.client().currentUnits()});let c=e.lickBackpressure.get(i.id);e.controller()?.setLickBackpressure(c?.count??0,c?.waitingMs??0,Dn(i)),e.controller()?.setReadOnly(o),o||t.inputCard.removeAttribute(`disabled`),Ic(t,i,e.client().currentUnits(),s.getRecord?.bind(s),{skipModelPill:s.ownsModelPill===!0}),e.client().snapshot(i.id).catch(()=>void 0),e.watchUnit(i.id),e.controller()?.setProcessing(e.client().currentUnits().find(e=>e.id===i.id)?.state===`working`),t.switcher.hasAttribute(`attention`)||t.switcher.setAttribute(`attention`,i.id),e.wiring().refreshScoops?.(),e.workbench()?.refreshMemory(),e.workbench()?.refreshFiles(),s.onSelectionApplied?.()}}}function od(e,t){let n=rn(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=vo,o=null,s=()=>o??Q(h),c=new Map,l=!1,u=null,d=new Set,f=rd(()=>s(),(e,t)=>{r?.loadMessages(e,t),a.onSnapshotRendered?.(e)}).watch,p=ad({client:s,controller:()=>r,host:()=>a,lickBackpressure:c,refs:n,watchUnit:f,wiring:()=>h,workbench:()=>u}),m=p.selectScoop,h={refs:n,statuses:new Map,fills:new Map,phases:new Map,turns:new Map,lickBackpressure:c,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>p.getSelected(),selectScoop:m,notifyReady:()=>{l=!0;for(let e of d)e()}};return{refs:n,wiring:h,setClient:e=>{i=e},setChatTransport:(e,t)=>{o=e,a=t},getChatHost:()=>a,selectScoop:m,getSelected:()=>p.getSelected(),clearSelection:()=>p.clear(),holdQueuedPile:()=>p.holdQueue(),watchUnit:f,getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{u=e;let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(l?e.activate(n):d.add(()=>e.activate(n)))},onClientReady:e=>{d.add(e),l&&e()}}}function sd(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([l(()=>import(`./remote-vfs-client-Dhv8nI7h.js`),__vite__mapDeps([64,38])),l(()=>import(`./writable-vfs-client-pZwewNEw.js`),__vite__mapDeps([65,38]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function cd(e,t,n,r,i){e.onClientReady(()=>{r.intercept||l(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-BY7ojkX0.js`);return{wireWcOnboarding:e}},__vite__mapDeps([66,13,1,43,41,22,5,21,23,24,3,42,67])).then(({wireWcOnboarding:r})=>r({client:t,getController:()=>e.getController(),openVfs:n,log:i})).then(e=>{r.intercept=e.interceptWelcomeLick}).catch(e=>i.error(`WC onboarding wiring failed`,e))})}function ld(e,t){let n=()=>{t.getSessionStats?.().then(t=>{if(!t)return;e.refs.floatbar.setAttribute(`spent`,t.totalCost.toFixed(2)),typeof t.burnRate==`number`&&Number.isFinite(t.burnRate)?e.refs.floatbar.setAttribute(`rate`,t.burnRate.toFixed(2)):e.refs.floatbar.removeAttribute(`rate`);let n=e.refs.floatbar;t.models&&(n.costModels=t.models),t.scoops&&(n.costScoops=t.scoops),n.budget=t.budget?{percent:t.budget.percent,status:t.budget.status,window:t.budget.window,resets:D(t.budget.resetsAt)}:null,e.fills.clear();for(let n of t.fills)e.fills.set(n.jid,n.fill);e.refreshScoops?.()})};return setInterval(n,15e3),n}function ud(e,t,n){let r=t.standalone;r&&l(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-DO1Pnegi.js`);return{wireWcBrowser:e}},__vite__mapDeps([68,69,41,70,1,71])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function dd(e){return{assistantLabel:e.assistantLabel,name:e.name,role:A(e)?`primary`:`child`}}function fd(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.id;if(e.boot.wiring.awaitingInput=t??null,e.boot.wiring.refreshScoops?.(),e.boot.wiring.notifyScoopStateChanged?.(),e.refreshStats(),!t)return;e.boot.refs.switcher.setAttribute(`attention`,t);let n=e.boot.getController()?.getMessages().filter(e=>e.role===`assistant`).at(-1);n&&e.boot.wiring.lastActivity.set(t,String(n.content??``).slice(0,600))}}function pd(e){let t=new Map,n=new Set;e.switcher.addEventListener(`pointerover`,r=>{let i=r.target?.closest?.(`.slicc-agent-tabs__segment`);if(!i||!e.switcher.contains(i))return;let a=i.dataset.k??``,o=e.getScoops().find(e=>e.jid===a);if(!o)return;let s=e.lastActivity.get(a)??``,c=t.get(a);if(c&&c.activity===s){i.title=c.tip;return}i.title||=Cn(dd(o)),!(!s||n.has(a))&&(n.add(a),(async()=>{try{let n=await(e.labelFn??(await l(async()=>{let{quickLabel:e}=await import(`./quick-llm-CzaiPeIX.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([11,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34]))).quickLabel)({system:`One line for a hover tooltip: at most 14 words, present tense, no quotes, no trailing period.`,prompt:`Summarize what this agent has been doing.\nAgent: ${A(o)?`${Cn(dd(o))} (a main agent)`:o.name}\nMost recent activity:\n${s}`,maxTokens:40});n&&(t.set(a,{activity:s,tip:n}),i.title=n)}finally{n.delete(a)}})())})}async function md(e,t,n){let{RemoteTerminalView:r}=await l(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-D4Ah4AQY.js`);return{RemoteTerminalView:e}},__vite__mapDeps([72,5,13,29,1,51,0,2,3,10,73,20,9,8,74,75])),{fetchSecretEnvVars:i}=await l(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-CDLWFhsq.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([76,1,22,5,13,21,23,24,3,25,26,27,28])),a=await i(),o=new r({client:t,cwd:`/`,env:Object.keys(a).length>0?a:void 0});await new Promise(t=>e.onClientReady(t)),await o.mount(n),globalThis.__slicc_terminal_view=o,window.addEventListener(`beforeunload`,()=>o.dispose(),{once:!0})}function hd(e,t,n){let r=t=>{if(t.startsWith(`freezer:`)){n(t.slice(8));return}let r=_n(Q(e.wiring).currentUnits(),t);r&&r.id!==e.getSelected()?.id&&e.selectScoop(r)};e.refs.thread.addEventListener(`slicc-url-context`,e=>{let t=e.detail?.context;t&&r(t)});let i=e.wiring.pendingUrlContext;i?.startsWith(`freezer:`)&&e.onClientReady(()=>{e.wiring.pendingUrlContext===i&&(e.wiring.pendingUrlContext=null,r(i))})}function gd(e,t,n,r){l(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-BsGMi4OQ.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([77,13,1,51])).then(async({installLeaderPermissionsSurface:r,installMountPendingConsumer:i})=>{let a=n.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:o,isExtensionRuntime:s}=await l(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-wSXekwkO.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([78,13,3]));r({runtimeMode:a,providers:await o(s()||a===`extension`||a===`extension-detached`)}),i({runShell:_d(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e)),(n.standalone?.runtimeMode??`standalone`)!==`cherry`&&l(async()=>{let{installSecretRequestSurface:e}=await import(`./wc-secret-request-DYq17svG.js`);return{installSecretRequestSurface:e}},__vite__mapDeps([79,12,5,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,36,34,80])).then(({installSecretRequestSurface:e})=>e()).catch(e=>r.warn(`WC secret request surface wiring failed`,e))}function _d(e,t){let n=null,r=()=>(n||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:n}=await l(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-ADzaWGFd.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([75,5])),r=new n({client:t,sid:`mount-drop-${Date.now()}`});return await r.open({cwd:`/workspace`}),r})().catch(e=>{throw n=null,e}),n);return async e=>(await r()).exec(e)}var vd=`slicc-dock-tree:default`,yd={zones:{top:null,left:{type:`leaf`,surfaceId:`chat`},middle:null,right:null,bottom:null},rowFr:{top:1,center:1,bottom:1},colFr:{left:3,middle:1,right:1}};function bd(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(vd,JSON.stringify(e))}catch{}};n.addEventListener(`dock-tree-change`,e=>{i(e.detail?.tree)}),n.addEventListener(`dock-tree-resize`,e=>{i(e.detail?.tree)});try{let e=localStorage.getItem(vd);r.setTree(e?JSON.parse(e):yd)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(yd)}}function xd(e,t){return(n,r,i)=>{let a=e.getAttachStage();if(!a){t.warn(`sprinkle attachImage dropped: composer stage not ready yet`);return}let o=n.match(/^data:(image\/[^;]+);base64,([A-Za-z0-9+/=]+)$/),s=o?o[2]:n,c=o?o[1]:i??`image/png`,l=c.split(`/`)[1]?.replace(`jpeg`,`jpg`).replace(`svg+xml`,`svg`)??`png`,u=r??`annotation-${Date.now()}.${l}`;a.add({id:`att-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:u,mimeType:c,size:Math.floor(s.length*3/4),kind:`image`,data:s})}}function Sd(e,t,n,r,i,a={}){l(async()=>{let{initTimestampPreference:e}=await import(`./wc-shortcuts-CR8LRvqx.js`).then(e=>e.R);return{initTimestampPreference:e}},__vite__mapDeps([36,5,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:o}=e;e.setClient(t),l(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-DFKCBK8N.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([81,5,82,1])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),l(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-B5SkYf3E.js`).then(e=>e.m);return{applyThemeOverrides:e}},__vite__mapDeps([82,5,1])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let s=Ke(`panel-layouts`);o.dockTree.tilesMovable=s,s||bd(o,i);let c=null,u=ld(e.wiring,t),d=()=>c?.(),f=r.welcome??{intercept:null},p=Q(e.wiring),{agentHandle:m}=n;e.onClientReady(u);let h=sd(t),g=async()=>(await h()).reader;a.standalone?.runtimeMode!==`cherry`&&a.standalone?.runtimeMode!==`hosted-leader`?cd(e,t,h,f,i):f.intercept=_c({openVfs:async()=>(await h()).writer,log:i});let _=Rc({boot:e,client:t,setRefreshPlaceholder:e=>{c=e},triggerPlaceholder:d,openReader:g,openWriter:async()=>(await h()).writer,log:i});r.setAttachmentSource(()=>_.getAttachStage()?.take()),r.setTurnIdleHook(fd({boot:e,triggerPlaceholder:d,refreshStats:u})),pd({switcher:o.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity}),ud(e,a,i),gd(e,t,a,i);let v=Tu({fileTree:o.fileTree,termSurface:o.termSurface,memoryHost:o.memoryHost,monitor:o.monitor,openFs:g,openWriter:async()=>(await h()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>vl({client:t,openReader:g,storage:window.localStorage}),getWorkspace:()=>id({client:t,clearSelection:e.clearSelection,selectedId:e.getSelected()?.id}),mountTerminal:n=>md(e,t,n),insertReference:e=>{let t=o.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:i});e.setActivateSurface(v),s&&l(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-C_Ae1Hog.js`);return{panelizeShell:e}},__vite__mapDeps([83,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,84,85])).then(({panelizeShell:e})=>e(o,void 0,void 0,{onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e)})).catch(e=>i.error(`panelize failed — keeping the classic shell`,e)),Qu({thread:o.thread,openFs:g,log:i}),o.floatbar.addEventListener(`click`,()=>{let e=o.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let y=al({refs:o,openVfs:h,client:t,getUnits:()=>p.currentUnits(),getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,holdQueuedPile:e.holdQueuedPile,log:i}),{refreshFreezer:b,openFrozen:ee,getViewedFrozenSessionId:te}=y;if(b(),e.onClientReady(b),Ke(`multiple-cones`)){let n=hc({freezer:o.freezer,client:t,getSelected:()=>e.getSelected(),getUnits:()=>p.currentUnits(),selectScoop:e.selectScoop,freezeCone:y.freezeCone,log:i});e.wiring.refreshConeActions=n.refresh,e.onClientReady(n.refresh)}hd(e,t,ee),e.onClientReady(()=>{h().then(async({reader:e,writer:t})=>{let{loadShortcutConfig:n}=await l(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-CUW0ZF38.js`);return{loadShortcutConfig:e}},__vite__mapDeps([86,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await n({reader:e,writer:t,apply:({keymap:e,trigger:t})=>{o.shortcuts.setKeymap(e),o.shortcuts.setTrigger(t)}})}).catch(e=>i.warn(`WC shortcut config load failed`,e))}),h().then(async({reader:e})=>{let{installPreviewVfsResponder:t}=await l(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-Vn6wxJvK.js`);return{installPreviewVfsResponder:e}},[]);t({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:i})}).catch(e=>i.warn(`WC page-VFS support wiring failed`,e)),h().then(async({reader:n,writer:r})=>{let{createRemoteSprinkleVfs:s}=await l(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-D-Wz5t8k.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([87,88,89,38])),c=(await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-C_Ae1Hog.js`);return{getPanelizedShell:e}},__vite__mapDeps([83,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,84,85]))).getPanelizedShell(),{wireWcSprinkles:u}=await l(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-aprFPdiB.js`);return{wireWcSprinkles:e}},__vite__mapDeps([90,13,36,5,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,91,67])),d=await u({refs:o,client:t,getUnits:()=>p.currentUnits(),getSelected:()=>e.getSelected(),interceptWelcomeLick:e=>f.intercept?.(e)??!1,fs:s({reader:n,writer:r}),instanceId:a.instanceId,onAttachImage:xd(_,i),onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e),hostSprinkleSurface:c?(e,t)=>c.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:c?e=>c.removeSprinkleSurface(e):void 0,log:i});e.onClientReady(()=>void d.resync());let{getPanelizedShell:y}=await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-C_Ae1Hog.js`);return{getPanelizedShell:e}},__vite__mapDeps([83,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,84,85])),b=y();if(b){let e=s({reader:n,writer:r});b.attachFs(e);let{registerAgentPanels:t}=await l(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-DDdDdmZs.js`);return{registerAgentPanels:e}},__vite__mapDeps([92,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await t(e).catch(e=>i.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await l(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:t}=await l(async()=>{let{applyLayout:e}=await import(`./apply-layout-DHWEDHF_.js`);return{applyLayout:e}},__vite__mapDeps([93,90,13,36,5,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,91,67]));e(e=>t(d.zone,e))}if(a.standalone&&a.instanceId){let{wireWcTray:n}=await l(async()=>{let{wireWcTray:e}=await import(`./wc-tray-XUqrQf3G.js`);return{wireWcTray:e}},__vite__mapDeps([94,12,5,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,36,34,69,41,95,96,97,10,9,98,8,74,62,63,81,82,46,99,67,100,101,43,42,39,40,44,45,47,48,51,89,75,54,71,102,103,104,105,106,91])),r=d.zone.callbacks(),s=await n({refs:o,client:t,browser:a.standalone.browser,realCdpTransport:a.standalone.realCdpTransport,instanceId:a.instanceId,runtimeMode:a.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>r.addSprinkle(e,t,n),removeSprinkle:e=>r.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.id??`cone`,agentHandle:m,workUnits:p,restoreLocalChrome:()=>{e.wiring.refreshScoops?.();let n=e.getSelected();n&&Ic(o,n,p.currentUnits(),e=>t.getScoop(e))},openFs:g,openWriter:async()=>(await h()).writer,window,log:i});e.wiring.notifyScoopStateChanged=()=>s.scheduleScoopsListBroadcast()}}).catch(e=>i.error(`WC sprinkle/tray wiring failed`,e));{let n=new jn,r=new In,i=Rn(new Bs({collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>n.loadAll(),loadUiChatSessions:async()=>{let e=await r.list();return(await Promise.all(e.map(e=>r.load(e)))).filter(e=>e!==null)},wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:ic(),snapshotStore:{read:async e=>{let{reader:t}=await h();return Zs(t,e)},write:async(e,t)=>{let{writer:n}=await h();return Xs(n,e,t)}},vfs:{readFile:async(e,t)=>(await h()).reader.readFile(e,t),readDir:async e=>(await h()).reader.readDir(e),stat:async e=>(await h()).reader.stat(e)},getActiveSessionInfo:()=>{let t=En(Q(e.wiring).currentUnits());return{id:t?.id??`session-${Date.now()}`,title:t?.name??`Active Session`}},version:`6.162.2`}));window.addEventListener(`unload`,i,{once:!0})}let x=!1,ne=()=>x?Promise.resolve():(x=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([l(()=>Promise.resolve().then(()=>Ln),void 0),l(()=>import(`./wc-transcript-export-B__1zmXE.js`),__vite__mapDeps([107,13,95,100,101,5]))]),r=te(),i=r==null?{kind:`active`}:{kind:`frozen`,sessionId:r},a=await e().export(i,{}),{filename:o}=a;await n(await t(a),o)}catch(e){i.error(`Transcript export failed`,e),l(async()=>{let{showTranscriptExportFailure:e}=await import(`./wc-transcript-export-B__1zmXE.js`);return{showTranscriptExportFailure:e}},__vite__mapDeps([107,13,95,100,101,5])).then(({showTranscriptExportFailure:t})=>t(e)).catch(e=>i.error(`Transcript export notice failed`,e))}finally{x=!1}})());if(l(async()=>{let{wireWcNav:e}=await import(`./wc-nav-CRy2Vt0U.js`);return{wireWcNav:e}},__vite__mapDeps([108,13,3,43,41,22,5,21,23,24,42,45,46,47,48,54,1,67,91])).then(({wireWcNav:e})=>e({refs:o,client:t,workUnits:p,getUnits:()=>p.currentUnits(),log:i,onExportTranscript:ne,shortcuts:o.shortcuts,persistKeyboardTrigger:async e=>{let{writer:t,reader:n}=await h(),{writeShortcutTrigger:r}=await l(async()=>{let{writeShortcutTrigger:e}=await import(`./wc-shortcut-config-CUW0ZF38.js`);return{writeShortcutTrigger:e}},__vite__mapDeps([86,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await r({reader:n,writer:t},e)}})).catch(e=>i.error(`WC nav wiring failed`,e)),l(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-CIH3Fy9C.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([109,1,36,5,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,51,60,61,62,63,110])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=o.composer;t(a.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>i.error(`WC push-to-talk wiring failed`,e)),l(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-Dm5sVk4x.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([59,13,1,3,60,61,36,5,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34,62,63])).then(({setSpeakAssetsInstanceId:e})=>e(a.instanceId)).catch(e=>i.error(`WC say warmup wiring failed`,e)),a.standalone)return()=>{l(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-DXlnfPbx.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([53,12,5,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await h()).writer,onComplete:b})).catch(e=>i.warn(`Pending session catch-up scheduling failed`,e))}}async function Cd(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:o,bridgeToken:s,localLickWsUrl:c,extensionDelegateId:u,attachLickForwardingClient:d}=await Qe({runtimeMode:n,envBaseUrl:null,window,log:t}),{floatKindForRuntimeMode:f,floatLabelForKind:p,resolveStandaloneFloatKind:m}=await l(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await Promise.resolve().then(()=>Nl);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},void 0),h=n===`standalone`?await m():f(n),g=p(h);a&&$e(a);let{syncFsBridgeEnabled:_,syncFsChannelNonce:v}=bl(),y=!1,b,ee,{boot:te}=await Hl(e,t,{floatKind:h,floatLabel:g,connect:e=>{b=Mo({realCdpTransport:i,reconnectCdp:()=>r.reconnectIfNeeded(),instanceId:a,makeClient:t=>new ho(bc(e.wiring),t),localApiBaseUrl:o,bridgeToken:s,syncFsBridgeEnabled:_,syncFsChannelNonce:v,localLickWsUrl:c,extensionDelegateId:u,flagFloat:n,onWorkerScriptError:()=>{Ze()},onReadyStall:e=>{y=!0,l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(t=>t.showBootStallOverlay(document,e)),[])},onLateReady:()=>{Ze()}}),xo({send:e=>b.client.sendRaw(e)}),d?.(b.client);let f=_o(b.client);return{client:Q(e.wiring),host:f,workbench:(e,o)=>{ee=Sd(e,b.client,o,f,t,{instanceId:a,standalone:{browser:r,floatKind:h,realCdpTransport:i,runtimeMode:n}})}}}}),{setupSudoStandalone:x}=await l(async()=>{let{setupSudoStandalone:e}=await import(`./main-DXWS1IVz.js`).then(e=>e.i);return{setupSudoStandalone:e}},__vite__mapDeps([39,5,40,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,41,42,43,44,45,46,47,48]));await x({log:t});try{await b.ready}finally{y&&l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(e=>e.removeBootStallOverlay(document)),[])}te.wiring.notifyReady?.(),globalThis.__slicc_kernel_ready=!0,t.info(`WC live shell ready`,{scoops:b.client.getScoops().length}),ee?.();let{consumeAutoPrompt:ne}=await l(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),re=ne(window.location.search);re&&(te.getController()?.sendUserMessage(re),t.info(`Auto-prompt submitted`,{length:re.length}))}export{Qa as A,In as B,ho as C,qa as D,$a as E,Ua as F,wa as I,ir as L,ea as M,Ea as N,Xa as O,$i as P,Bn as R,_o as S,Za as T,Sc as _,xl as a,Q as b,dl as c,hl as d,Bc as f,Cc as g,xc as h,Sl as i,eo as j,Ya as k,sl as l,Nc as m,ed as n,cl as o,zc as p,Hl as r,pl as s,Sd as t,ul as u,wc as v,Wa as w,bo as x,bc as y,Ln as z};
|