sliccy 6.256.20 → 6.256.21
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 +180 -180
- package/dist/ui/assets/{account-store-CuQyRnib.js → account-store--QH_gRlz.js} +1 -1
- package/dist/ui/assets/{account-store-CEqw_XTp.js → account-store-CbKQrU_A.js} +1 -1
- package/dist/ui/assets/{adobe-DLwRzZCw.js → adobe-BBZZjXPq.js} +1 -1
- package/dist/ui/assets/{adobe-B4Y2A2AD.js → adobe-D6tf-vd0.js} +1 -1
- package/dist/ui/assets/{agent-panels-DrtCqAV-.js → agent-panels-DwoeuEZJ.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-pwdOe3YW.js → almost-bash-shell-headless-IexVAylq.js} +11 -11
- package/dist/ui/assets/{apply-layout-CH3UhXCP.js → apply-layout-DyJWDEg0.js} +1 -1
- package/dist/ui/assets/{azure-openai-CxZFHgjG.js → azure-openai-DfNYV355.js} +1 -1
- package/dist/ui/assets/{azure-openai-5qDnHBYT.js → azure-openai-mzyA6ec_.js} +1 -1
- package/dist/ui/assets/{cdp-C8HHv5qA.js → cdp-D4hCZeiK.js} +3 -3
- package/dist/ui/assets/{cerebras-Czbq-0qg.js → cerebras-DCpB0UlY.js} +1 -1
- package/dist/ui/assets/{cerebras-B1cY7cfF.js → cerebras-nIWXceol.js} +1 -1
- package/dist/ui/assets/{composer-speech-DeLPAAnL.js → composer-speech-tLlsFK5D.js} +1 -1
- package/dist/ui/assets/{connect-surface-Du9dcsgG.js → connect-surface-XwtqAfeO.js} +1 -1
- package/dist/ui/assets/{directed-approval-Ch4rtrAp.js → directed-approval-BHC1QE2R.js} +1 -1
- package/dist/ui/assets/{emscripten-vfs-hook-BYpqS-pK.js → emscripten-vfs-hook-D27gwwXv.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-CXRaBKpe.js → frozen-archive-writer-Cixi7_NJ.js} +1 -1
- package/dist/ui/assets/{frozen-session-delete-Cd8Hp2Od.js → frozen-session-delete-2eh2Yhbl.js} +1 -1
- package/dist/ui/assets/{frozen-session-identity-XzcVW8UL.js → frozen-session-identity-DoWKIEpR.js} +1 -1
- package/dist/ui/assets/{gelatiere-unit-BIIKTgS2.js → gelatiere-unit-BqTcFkxk.js} +1 -1
- package/dist/ui/assets/{github-DOfti7_n.js → github-BhZHOxKc.js} +1 -1
- package/dist/ui/assets/{github-D0xw3eYJ.js → github-DN2OBZNS.js} +1 -1
- package/dist/ui/assets/{github-copilot-BVDlkmAY.js → github-copilot-CQhrDhDZ.js} +1 -1
- package/dist/ui/assets/{github-copilot-C1c9Cctf.js → github-copilot-Dgi-j2_O.js} +1 -1
- package/dist/ui/assets/{hear-Bf5HwOni.js → hear-BDUAwa28.js} +1 -1
- package/dist/ui/assets/{hidden-page-input-DDEF33JC.js → hidden-page-input-01CnfmMB.js} +1 -1
- package/dist/ui/assets/{hidden-page-input-A06qdSVm.js → hidden-page-input-CBbLsDx2.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-CemAn96I.js → js-realm-worker-CDJhvYJx.js} +2 -2
- package/dist/ui/assets/{jsh-executor-DGOAl5iJ.js → jsh-executor-BVFFU-rP.js} +3 -3
- package/dist/ui/assets/{kernel-worker-DQZWnLpe.js → kernel-worker-965_891X.js} +9 -9
- package/dist/ui/assets/{lick-ws-bridge-B-61k0Zh.js → lick-ws-bridge-D4PsA45A.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-DbJ8yf-k.js → lick-ws-bridge-DuAP_Xb5.js} +1 -1
- package/dist/ui/assets/{live-session-curation-zfkDVdK3.js → live-session-curation-BB61f9E8.js} +1 -1
- package/dist/ui/assets/{live-session-curation-CLbx1I_X.js → live-session-curation-CGxamyw3.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-3Eb9FMGE.js → live-session-snapshot-BDyBgtvN.js} +1 -1
- package/dist/ui/assets/{local-llm-D2S0cCYP.js → local-llm-CEQQXhGE.js} +1 -1
- package/dist/ui/assets/{local-llm-RFZ66ynj.js → local-llm-Cy5E3lJo.js} +1 -1
- package/dist/ui/assets/{main-CN0eXvpe.js → main-C8hdX5_E.js} +3 -3
- package/dist/ui/assets/{main-cherry-CsLIn0Jy.js → main-cherry-ykXNeN9-.js} +1 -1
- package/dist/ui/assets/{mcp-command-Co4BM7rI.js → mcp-command-w6OUcgfO.js} +10 -10
- package/dist/ui/assets/{memory-curation-seam-DitfDTyZ.js → memory-curation-seam-C4r6A-jq.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-DnPv8AaN.js → memory-write-execute-C_0rryC9.js} +1 -1
- package/dist/ui/assets/{merge-folded-cost-into-frozen-C24isZFN.js → merge-folded-cost-into-frozen-C9I1ykhe.js} +1 -1
- package/dist/ui/assets/{new-session-Bz-zsmnA.js → new-session-k7LcBmG5.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-CowVQxka.js → oauth-bootstrap-qTw880dW.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-BW5xLMjU.js → onboarding-orchestrator-B5XUC4QP.js} +1 -1
- package/dist/ui/assets/{openai-codex-D-mRHUJ_.js → openai-codex-BpfRFQ9A.js} +1 -1
- package/dist/ui/assets/{openai-codex-BIUq5T-M.js → openai-codex-BtEdGRUK.js} +1 -1
- package/dist/ui/assets/{openrouter-B8wWwNw8.js → openrouter-CGkUkGLm.js} +1 -1
- package/dist/ui/assets/{openrouter-euDNOeLU.js → openrouter-D9PB_Wxr.js} +1 -1
- package/dist/ui/assets/{openrouter-free-CxpCaBRA.js → openrouter-free-BfihlWk1.js} +1 -1
- package/dist/ui/assets/{openrouter-free-DF0yibHR.js → openrouter-free-Brc9YCWo.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-BfiowYVD.js → openrouter-oauth-DIBlm_UZ.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-cciCymss.js → openrouter-oauth-DdrrVt3S.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-B3eqfWJ0.js → panel-rpc-handlers-BmON86n5.js} +2 -2
- package/dist/ui/assets/{panelize-shell-BfSgnfgs.js → panelize-shell-Dt3FXNpB.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-ji-kHMKJ.js → pi-edit-execution-iaL4Mz3u.js} +1 -1
- package/dist/ui/assets/{provider-BKtPDkWZ.js → provider-B8I1Mys2.js} +1 -1
- package/dist/ui/assets/{provider-CSI-1cw8.js → provider-CN-5jpvI.js} +1 -1
- package/dist/ui/assets/{provider-settings-CjUgLZVJ.js → provider-settings-B5CKyKdE.js} +1 -1
- package/dist/ui/assets/provider-store-access-D3cir6Mf.js +1 -0
- package/dist/ui/assets/provider-store-access-DruVrLP2.js +1 -0
- package/dist/ui/assets/{providers-BME8SM7Y.js → providers-CnawElFK.js} +1 -1
- package/dist/ui/assets/{providers-DUsi8UJy.js → providers-s2pRjrQo.js} +2 -2
- package/dist/ui/assets/{quick-llm-BgX8DGOf.js → quick-llm-DcceQmkj.js} +1 -1
- package/dist/ui/assets/{realm-inprocess-B-o6MXXm.js → realm-inprocess-48bEemKF.js} +2 -2
- package/dist/ui/assets/{realm-unhandled-rejections--yOMYML4.js → realm-unhandled-rejections-BqWjiqaB.js} +1 -1
- package/dist/ui/assets/{realm-unhandled-rejections-B_sD1Eqh.js → realm-unhandled-rejections-DpKKv_Sg.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-D95a_lGP.js → remote-terminal-view-ML6zl31u.js} +2 -2
- package/dist/ui/assets/{restore-BUvJhiTF.js → restore-Uo3FkyTn.js} +1 -1
- package/dist/ui/assets/{run-BwR10Tfc.js → run-7BBLWyxm.js} +2 -2
- package/dist/ui/assets/{run-DX49FiKl.js → run-BZUVJe9B.js} +2 -2
- package/dist/ui/assets/{run-b9uA0T1r.js → run-tb90H7t4.js} +1 -1
- package/dist/ui/assets/{serve-command-B5HZS1FV.js → serve-command-C1oMKVa-.js} +2 -2
- package/dist/ui/assets/{serve-runtime-CqUYUISo.js → serve-runtime-BMkuNcbl.js} +1 -1
- package/dist/ui/assets/{session-command-memory-c8nM2oAl.js → session-command-memory-lm81X-Is.js} +2 -2
- package/dist/ui/assets/{session-jsonl-BwJt_n1u.js → session-jsonl-eXAElh6W.js} +1 -1
- package/dist/ui/assets/{session-search-index-DumLK4vT.js → session-search-index-ByisDLR5.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-CIolNdqX.js → setup-feature-flags-remote-z293EM8V.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-D5oj1TnB.js → setup-model-catalog-DFfU37vS.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-BwsIHdH7.js → silent-renew-backoff-B0lMVNh5.js} +1 -1
- package/dist/ui/assets/slicc-version-DGCQeyP5.js +1 -0
- package/dist/ui/assets/{soundscape-gX8pyQsR.js → soundscape-DHszzPsM.js} +1 -1
- package/dist/ui/assets/{speak-DUmL0M9L.js → speak-DZZSpSqs.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-el_STA97.js → sprinkle-manager-CMAEGvh9.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-C9fr3WHR.js → sprinkle-renderer-DcsYmznT.js} +1 -1
- package/dist/ui/assets/{sudo-ZExTT5ER.js → sudo-YyLShRTX.js} +1 -1
- package/dist/ui/assets/{supervisor-CuK_w37s.js → supervisor-BJNQ0Sie.js} +1 -1
- package/dist/ui/assets/{sync-dialog-Y1I8wtI7.js → sync-dialog-OIBe84rb.js} +1 -1
- package/dist/ui/assets/{transformers-env-CFMmsFPt.js → transformers-env-DlTQEcvy.js} +1 -1
- package/dist/ui/assets/{tray-leader-WA8nmGPu.js → tray-leader-x0HDgpHa.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-Dnbn_g0R.js → tray-leave-runtime-B6ZqjKqA.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-D5lGknCp.js → tray-sidecar-C08eb6rV.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-B_0cdTwX.js → upgrade-detection-BZOEx1T3.js} +1 -1
- package/dist/ui/assets/{upgrade-to-seven-YOHOuBIz.js → upgrade-to-seven-Pi7N3s4V.js} +1 -1
- package/dist/ui/assets/{voice-reply-Du8td5dw.js → voice-reply-D0KspY5L.js} +1 -1
- package/dist/ui/assets/{wc-attach-BQmRGrD1.js → wc-attach-C--w91hS.js} +2 -2
- package/dist/ui/assets/{wc-browser-mLBbjD7x.js → wc-browser-Bwwt12VY.js} +1 -1
- package/dist/ui/assets/{wc-computers-D4cVXfw8.js → wc-computers-CEYTEbzK.js} +1 -1
- package/dist/ui/assets/{wc-detached-DJvs-BOI.js → wc-detached-BMfwyvTN.js} +1 -1
- package/dist/ui/assets/{wc-extension-C8pEK7qU.js → wc-extension-WVBzb68j.js} +2 -2
- package/dist/ui/assets/{wc-follower-DH7hCy3x.js → wc-follower-CfQXvNqW.js} +3 -3
- package/dist/ui/assets/{wc-follower-oauth-DKRGLBWN.js → wc-follower-oauth-CRA3bG2x.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-CJpfn7Ca.js → wc-gelatiere-CFupkA18.js} +1 -1
- package/dist/ui/assets/{wc-live-mNieNNOh.js → wc-live-jfkgv1D5.js} +5 -5
- package/dist/ui/assets/{wc-nav-mcV-muIN.js → wc-nav-CMmiK8CR.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-DhNdAmF2.js → wc-onboarding-DwK2Xo_f.js} +2 -2
- package/dist/ui/assets/{wc-permissions-DfXcDHFY.js → wc-permissions-sEzYJY5L.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-BO7LIBQk.js → wc-placeholder-dACLWYRH.js} +2 -2
- package/dist/ui/assets/{wc-profile-export-K9m6pZBL.js → wc-profile-export-0_MWQlQi.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-DFNuYRtA.js → wc-secret-request-Bj6AEfhW.js} +1 -1
- package/dist/ui/assets/{wc-settings-KPmFCSeh.js → wc-settings-D36d5og0.js} +3 -3
- package/dist/ui/assets/{wc-shell-DUnQ3yem.js → wc-shell-Dviry0M3.js} +3 -3
- package/dist/ui/assets/{wc-shortcut-config-_FC-kTdg.js → wc-shortcut-config-BEJ7hCGM.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-CGU4-WKU.js → wc-sprinkles-CCEvPCsZ.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-BXCZhTfg.js → wc-transcript-export-BLZIE8ep.js} +2 -2
- package/dist/ui/assets/{wc-tray-B4fcMI28.js → wc-tray-Bpsl7Mew.js} +4 -4
- package/dist/ui/assets/welcome-detection-CWqP_ofb.js +1 -0
- package/dist/ui/assets/{whisper-session-B4xkoupa.js → whisper-session-CmQR_O2N.js} +2 -2
- package/dist/ui/assets/{xai-grok-BJ0tBHY1.js → xai-grok-BjEcnSUJ.js} +1 -1
- package/dist/ui/assets/{xai-grok-DA654XhD.js → xai-grok-DNyRhPcB.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/ui/packages/webapp/index.html +3 -3
- package/dist/ui/packages/webapp/upgrade-to-seven.html +1 -1
- package/dist/ui/upgrade-to-seven.html +1 -1
- package/package.json +2 -2
- package/dist/ui/assets/provider-store-access-B8DHQMsm.js +0 -1
- package/dist/ui/assets/provider-store-access-DR6dk4La.js +0 -1
- package/dist/ui/assets/slicc-version-DtrTeMyR.js +0 -1
- package/dist/ui/assets/welcome-detection-JV0kEwvY.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-DE6OgmCv.js","assets/logger-dqckiMJt.js","assets/picker-popup-DioAkr8b.js","assets/api-endpoint-CNqFa-M3.js","assets/usb-picker-Dl5JWkcW.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/serial-picker-fazP7oMX.js","assets/hid-picker-CBnnaoh4.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{t}from"./logger-dqckiMJt.js";import{d as n,f as r,m as i,p as a,t as o}from"./core-BXRpM6QF.js";import{t as s}from"./preload-helper-BLdHbfdN.js";import{a as c,n as l,t as u}from"./dictation-priming-BHJC0hch.js";import{a as d,s as f}from"./feature-flags-DDJdMcuw.js";import{r as p,t as m}from"./base64-ELzoYfwP.js";import"./proxied-fetch-2sdz8vNB.js";import{a as h,c as g,d as _,f as v,l as y,n as b,o as x,s as S,u as ee}from"./sprinkle-renderer-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-DE6OgmCv.js","assets/logger-dqckiMJt.js","assets/picker-popup-DioAkr8b.js","assets/api-endpoint-CNqFa-M3.js","assets/usb-picker-Dl5JWkcW.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/serial-picker-fazP7oMX.js","assets/hid-picker-CBnnaoh4.js","assets/usb-device-registry--JwKRTYp.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-device-registry-B2R-0rNt.js","assets/quick-llm-DcceQmkj.js","assets/core-BXRpM6QF.js","assets/preload-helper-BLdHbfdN.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/feature-flags-DDJdMcuw.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BD4AHTxg.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/account-store-CbKQrU_A.js","assets/stored-accounts-CdMZdZUa.js","assets/providers-s2pRjrQo.js","assets/renamed-providers-d0bAaa0l.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-Bn0sfTur.js","assets/session-jsonl-CJO46TfW.js","assets/zip-stream-DZF8sKOl.js","assets/transcript-export-DTRO8k03.js","assets/types-D8gIX-W-.js","assets/frozen-archive-writer-d8c53vzV.js","assets/dictation-priming-BHJC0hch.js","assets/wc-shell-Dviry0M3.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-C52CnDIj.js","assets/sha256-DynDhwRL.js","assets/telemetry-kqkj0A7x.js","assets/GELATIERE-CLK_MA5a.js","assets/same-file-identity-DuEcSmPX.js","assets/message-envelope-BPSSjJbW.js","assets/agent-message-to-chat-BiZHDYFR.js","assets/wc-shell-WkeczD9x.css","assets/main-C8hdX5_E.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/sessions-Bd6uu3F5.js","assets/types-CFfBWsH5.js","assets/store-DP4F8FwF.js","assets/entries-ChYQ3OMf.js","assets/wc-placeholder-dACLWYRH.js","assets/wc-attach-C--w91hS.js","assets/permissions-surface-registry-CilCRwhh.js","assets/frozen-session-delete-2eh2Yhbl.js","assets/frozen-session-identity-D__hHRHh.js","assets/snapshot-store-DYh_oG7o.js","assets/live-session-curation-BB61f9E8.js","assets/MEMORY-B9cGngY_.js","assets/thinking-level-DCJktR5U.js","assets/wc-gelatiere-CFupkA18.js","assets/new-session-k7LcBmG5.js","assets/db-CIXZItfi.js","assets/mount-table-store-dY2IfQ5S.js","assets/legacy-styles-CGcVbQni.js","assets/soundscape-DHszzPsM.js","assets/voice-reply-D0KspY5L.js","assets/speak-DZZSpSqs.js","assets/speech-assets-bridge-DtbOauCq.js","assets/transformers-env-DlTQEcvy.js","assets/shared-DSEuryGJ.js","assets/remote-vfs-client-Cs1yUtQm.js","assets/writable-vfs-client-CQe6oZ75.js","assets/wc-onboarding-DwK2Xo_f.js","assets/wc-browser-Bwwt12VY.js","assets/slicc-app-url-BKHBBuTR.js","assets/tab-teleport-D2HEqVTq.js","assets/teleport-storage-vNIjArpc.js","assets/wc-computers-CEYTEbzK.js","assets/scale-DGaWcXnU.js","assets/remote-terminal-view-ML6zl31u.js","assets/browser-OXhgs9Cl.js","assets/usb-operations-Dx9QXlZ0.js","assets/terminal-session-client-DmE-iBjP.js","assets/secret-env-B5BchABJ.js","assets/wc-permissions-sEzYJY5L.js","assets/wc-permissions-providers-DvV2aZfl.js","assets/wc-secret-request-Bj6AEfhW.js","assets/secret-request-registry-DrOMKR1H.js","assets/secret-backends-BVrvI2vY.js","assets/wc-profile-export-0_MWQlQi.js","assets/wc-seven-banner-BitWulyq.js","assets/theme-CmogKzdP.js","assets/theme-engine-CwaY1aIr.js","assets/warm-wterm-snqvCS0-.js","assets/panelize-shell-Dt3FXNpB.js","assets/sudoers-BkuPh2_Q.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-shortcut-config-BEJ7hCGM.js","assets/keys-BMebW-sj.js","assets/remote-sprinkle-vfs-UzNBy5VJ.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/wc-sprinkles-CCEvPCsZ.js","assets/lick-target-match-mT46VVD2.js","assets/wc-unit-context-DDyqslj4.js","assets/agent-panels-DwoeuEZJ.js","assets/apply-layout-DyJWDEg0.js","assets/dock-tree-spec-D-vXUz3b.js","assets/wc-tray-Bpsl7Mew.js","assets/wc-follower-oauth-CRA3bG2x.js","assets/sprinkle-renderer-DcsYmznT.js","assets/hid-operations-C97SZtrY.js","assets/pending-request-table-k-D7ZZsL.js","assets/export-spool-RoQF-YEe.js","assets/panel-rpc-sLZo8PD-.js","assets/tray-leader-x0HDgpHa.js","assets/types-DSxCdZw6.js","assets/synthetic-cdp-transport-OUVdC4zy.js","assets/sprinkle-instances-B8n7h-oP.js","assets/wc-transcript-export-BLZIE8ep.js","assets/wc-nav-CMmiK8CR.js","assets/composer-speech-tLlsFK5D.js","assets/whisper-session-CmQR_O2N.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-dqckiMJt.js";import{d as n,f as r,m as i,p as a,t as o}from"./core-BXRpM6QF.js";import{t as s}from"./preload-helper-BLdHbfdN.js";import{a as c,n as l,t as u}from"./dictation-priming-BHJC0hch.js";import{a as d,s as f}from"./feature-flags-DDJdMcuw.js";import{r as p,t as m}from"./base64-ELzoYfwP.js";import"./proxied-fetch-2sdz8vNB.js";import{a as h,c as g,d as _,f as v,l as y,n as b,o as x,s as S,u as ee}from"./sprinkle-renderer-DcsYmznT.js";import{C,H as w,T as te,V as ne,u as re}from"./account-store-CbKQrU_A.js";import{d as ie,o as ae,p as oe,s as se,t as ce}from"./api-endpoint-CNqFa-M3.js";import{A as le,B as T,D as ue,E as de,F as fe,I as pe,L as me,N as he,O as ge,P as _e,R as ve,S as ye,U as be,f as xe,m as Se,p as Ce,u as E,w as we,y as Te,z as D}from"./zip-stream-DZF8sKOl.js";import{n as Ee}from"./transcript-export-DTRO8k03.js";import{r as De}from"./secret-topology-BuXN_6_0.js";import{t as Oe}from"./secrets-bridge-client-BD4AHTxg.js";import{a as ke,c as Ae,l as je,n as Me,p as Ne,r as Pe}from"./telemetry-kqkj0A7x.js";import{l as Fe}from"./renamed-providers-d0bAaa0l.js";import{a as Ie,i as Le,t as Re}from"./tray-follower-status-BAjnN7Ar.js";import{C as ze,D as Be,d as Ve,g as He,i as Ue,k as We,l as Ge,u as Ke,x as qe}from"./main-C8hdX5_E.js";import{n as Je,r as Ye,t as Xe}from"./provider-budget-LCzMPlKv.js";import{t as Ze}from"./permissions-surface-registry-CilCRwhh.js";import{t as Qe}from"./types-D8gIX-W-.js";import{$ as $e,A as et,C as tt,D as nt,E as rt,I as it,O as at,P as ot,S as st,T as ct,a as lt,b as ut,c as dt,d as ft,i as pt,k as mt,l as ht,n as gt,nt as _t,o as vt,r as yt,t as bt,u as xt,v as St,w as Ct,x as wt,y as Tt}from"./wc-shell-Dviry0M3.js";import{n as Et,r as Dt}from"./hid-device-registry-B2R-0rNt.js";import"./browser-OXhgs9Cl.js";import{a as Ot,i as kt}from"./serial-port-registry-CCqklAEr.js";import{c as At,d as jt,g as Mt,i as Nt,l as Pt,m as Ft,n as It,o as Lt,p as Rt,r as zt,t as Bt,u as Vt}from"./hid-operations-C97SZtrY.js";import{a as Ht,t as Ut}from"./icons-Bn0sfTur.js";import{a as Wt,i as Gt}from"./usb-device-registry--JwKRTYp.js";import{f as Kt,i as qt,l as Jt,s as Yt,u as Xt}from"./usb-operations-Dx9QXlZ0.js";import{a as Zt}from"./message-envelope-BPSSjJbW.js";import{a as Qt,i as $t,r as en}from"./tray-leader-x0HDgpHa.js";import{t as tn}from"./sessions-Bd6uu3F5.js";import{t as nn}from"./store-DP4F8FwF.js";import"./shared-DSEuryGJ.js";import{a as rn,c as an,d as on,h as sn,i as cn,l as O,m as k,n as ln,o as A,p as un,s as dn,t as fn,u as pn}from"./frozen-archive-writer-d8c53vzV.js";import{r as mn}from"./frozen-session-identity-D__hHRHh.js";import{a as hn,n as gn,r as _n,t as vn}from"./session-jsonl-CJO46TfW.js";import{a as yn,n as bn,t as xn}from"./snapshot-store-DYh_oG7o.js";import{a as Sn,n as Cn,r as wn}from"./theme-CmogKzdP.js";import{a as Tn,c as En,d as Dn,i as On,l as kn,n as An,r as jn,s as Mn,u as Nn}from"./live-session-curation-BB61f9E8.js";import{n as Pn,t as Fn}from"./profile-export-deps-BE2w_fD3.js";import{_ as In,a as Ln,d as Rn,f as zn,g as Bn,h as Vn,i as Hn,l as j,n as Un,o as Wn,p as Gn,r as Kn,u as qn}from"./wc-unit-context-DDyqslj4.js";var Jn=e({getTranscriptExportService:()=>Xn,registerTranscriptExportService:()=>Yn}),M=null;function Yn(e){return M=e,()=>{M===e&&(M=null)}}function Xn(){if(!M)throw new Ee(`session-not-found`);return M}var Zn=e({broadcastToDips:()=>pr,disposeDips:()=>B,handleDipPickerAction:()=>Rr,hydrateDips:()=>Lr,mountDip:()=>z,setDipExecHandler:()=>hr}),Qn=oe();s(()=>import(`./screen-share-approval-live-D388fVD9.js`).then(e=>{e.listenScreenShareApprovalChannel()}),[]);function $n(e){if(typeof e!=`object`||!e||Array.isArray(e))return[];let t=e.filters;return Array.isArray(t)?t:[]}async function er(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await P(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 N=null;function tr(){if(N)return N;if(typeof BroadcastChannel>`u`)return null;try{N=new BroadcastChannel(`preview-vfs`)}catch{return null}return N}async function P(e,t,n){let r=tr();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 nr=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],rr=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function ir(e){return nr.some(t=>e.startsWith(t))}function ar(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:rr.some(t=>e.startsWith(t))}var F=new WeakSet,or=`,
|
|
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) {
|
|
@@ -238,11 +238,11 @@ ${o?`<script src="/slicc-diff.js"><\/script>`:``}
|
|
|
238
238
|
<script src="/lucide-icons.js"><\/script>
|
|
239
239
|
</head>
|
|
240
240
|
<body class="sprinkle-inline">${e}</body></html>`}var I=new Set;function pr(e){if(typeof e?.type!=`string`||e.type.indexOf(`slicc-`)!==0)throw Error(`broadcastToDips: payload.type must start with 'slicc-'`);for(let t of I)try{t.postMessage(e,`*`)}catch{}}var mr;function hr(e){mr=e}function L(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}function gr(e,t){let n=t?.cwd??`.`,r=t?.allowedCommands??`*`,i=[`agent`];return t?.model&&i.push(`--model`,L(t.model)),t?.thinking&&i.push(`--thinking`,L(t.thinking)),t?.readOnly&&i.push(`--read-only`,L(t.readOnly)),i.push(L(n),L(r),L(e)),i.join(` `)}async function _r(e){if(!mr)return{stdout:``,stderr:`exec: shell bridge not available
|
|
241
|
-
`,exitCode:127};try{return await mr(e)}catch(e){return{stdout:``,stderr:`exec: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function vr(e,t){let n=await _r(gr(e,t));return{stdout:n.stdout||n.stderr,exitCode:n.exitCode}}async function yr(e,t){let n=await h(_r,e,t);if(e===`fetch`){let e=n,t=atob(e.bodyBase64),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return{...e,body:new TextDecoder(`utf-8`).decode(r)}}return n}var R=new WeakMap;function br(e,t){try{e.postMessage({type:`dip-device-event`,channel:`hid:inputreport`,payload:t},`*`)}catch{}}async function xr(e,t){let n=R.get(e);if(n||(n=new Map,R.set(e,n)),n.has(t))return;let r=await Pt(Dt(),t,n=>{let r=n.bytes instanceof Uint8Array?n.bytes:new Uint8Array(n.bytes);br(e,{handle:t,reportId:n.reportId,data:r})});n.set(t,r)}async function Sr(e,t){let n=R.get(e);if(!n)return;let r=n.get(t);if(r){n.delete(t);try{await Promise.resolve(r())}catch{}}n.size===0&&R.delete(e)}function Cr(e){let t=R.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}R.delete(e)}}function wr(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}if(Array.isArray(e))return new Uint8Array(e);throw Error(`expected Uint8Array, ArrayBuffer, or number[]`)}async function Tr(e,t,n){let r=Dt();switch(t){case`list`:{let e=Et();if(!e)throw Error(`WebHID is unavailable in this browser`);return zt(r,e)}case`request`:{let e=Et();if(!e)throw Error(`WebHID is unavailable in this browser`);return Lt(r,x(e),n[0]??[])}case`info`:return It(r,n[0]);case`open`:{let t=n[0];return await Nt(r,t),await xr(e,t),{ok:!0}}case`close`:{let t=n[0];return await Sr(e,t),await Bt(r,t),{ok:!0}}case`sendReport`:{let e=n[0],t=n[1],i=wr(n[2]),a=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);return await At(r,e,t,a),{ok:!0}}default:throw Error(`hid: unknown op '${t}'`)}}async function Er(e,t){let n=Ot();switch(e){case`list`:{let e=kt();if(!e)throw Error(`Web Serial is unavailable in this browser`);return Rt(n,e)}case`request`:{let e=kt();if(!e)throw Error(`Web Serial is unavailable in this browser`);return Mt(n,S(e),t[0]??[])}case`info`:return jt(n,t[0]);case`open`:{let e=t[0],r=t[1]??{baudRate:9600};return await Ft(n,e,r),{ok:!0}}case`close`:return await Vt(n,t[0]),{ok:!0};default:throw Error(`serial: unknown op '${e}'`)}}async function Dr(e,t){let n=Wt();switch(e){case`list`:{let e=Gt();if(!e)throw Error(`WebUSB is unavailable in this browser`);return Jt(n,e)}case`request`:{let e=Gt();if(!e)throw Error(`WebUSB is unavailable in this browser`);return Kt(n,g(e),t[0]??[])}case`info`:return Yt(n,t[0]);case`open`:return await Xt(n,t[0]),{ok:!0};case`close`:return await qt(n,t[0]),{ok:!0};default:throw Error(`usb: unknown op '${e}'`)}}async function Or(e,t,n,r){switch(t){case`hid`:return Tr(e,n,r);case`serial`:return Er(n,r);case`usb`:return Dr(n,r);default:throw Error(`unknown device channel '${t}'`)}}async function kr(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!F.has(e))return n({type:`dip-device-op-response`,error:`device access not allowed for this dip`}),!0;let r=t.channel;if(r!==`hid`&&r!==`serial`&&r!==`usb`)return n({type:`dip-device-op-response`,error:`unknown device channel '${r}'`}),!0;try{n({type:`dip-device-op-response`,result:await Or(e,r,typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-device-op-response`,error:e instanceof Error?e.message:String(e)})}return!0}async function Ar(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!F.has(e))return n({type:`${t.type}-response`,error:`exec not allowed for this dip`}),!0;if(t.type===`dip-exec`)return n({type:`dip-exec-response`,result:await _r(typeof t.cmd==`string`?t.cmd:``)}),!0;if(t.type===`dip-agent`)return n({type:`dip-agent-response`,result:await vr(typeof t.prompt==`string`?t.prompt:``,t.opts)}),!0;if(t.type===`dip-jsh`){try{n({type:`dip-jsh-response`,result:await yr(typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-jsh-response`,error:e instanceof Error?e.message:String(e)})}return!0}return!1}function z(e,t,n,r=!1){let i=fr(t,!1,r);if(Qn)return Gr(e,i,n,r);let a=document.createElement(`iframe`);a.setAttribute(`sandbox`,`allow-scripts allow-same-origin`),a.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,a.srcdoc=i,e.appendChild(a),a.contentWindow&&(wn(a.contentWindow),I.add(a.contentWindow),r&&F.add(a.contentWindow)),a.addEventListener(`load`,()=>{wn(a.contentWindow),a.contentWindow&&(I.add(a.contentWindow),r&&F.add(a.contentWindow)),_()&&v(a)},{once:!0});let o=e=>{if(e.source!==a.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?a.style.height=t.height+`px`:t.type===`dip-open-link`?Mr(t.url):t.type===`dip-picker-action`?Rr(t,n):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?jr(a.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Ar(a.contentWindow,t):t.type===`dip-device-op`&&kr(a.contentWindow,t))};window.addEventListener(`message`,o);let s=null;if(_()&&typeof IntersectionObserver<`u`){let e=!1,t=new IntersectionObserver(n=>{if(n[n.length-1].isIntersecting){if(e){e=!1;return}t.unobserve(a),v(a,()=>{e=!0,t.observe(a)})}});s=t,t.observe(a)}return{dispose(){s?.disconnect(),window.removeEventListener(`message`,o),Sn(a.contentWindow),a.contentWindow&&(I.delete(a.contentWindow),F.delete(a.contentWindow),Cr(a.contentWindow)),a.remove()}}}async function jr(e,t){if(!e||typeof t.id!=`number`)return!1;let n=typeof t.path==`string`?t.path:``,r=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!F.has(e))return r({type:`${t.type}-response`,error:`VFS access not allowed for this dip`}),!0;if(!ar(n))return r({type:`${t.type}-response`,error:`VFS path not allowed: ${n}`}),!0;if(t.type===`dip-readfile`){let e=await P(n,!0);return e===null?(r({type:`dip-readfile-response`,error:`Read failed`}),!0):(r({type:`dip-readfile-response`,content:typeof e==`string`?e:new TextDecoder().decode(e)}),!0)}if(t.type===`dip-exists`)return r({type:`dip-exists-response`,exists:await P(n,!0)!==null}),!0;if(t.type===`dip-stat`){let e=await P(n,!1);return e===null?(r({type:`dip-stat-response`,error:`Stat failed`}),!0):(r({type:`dip-stat-response`,stat:{isFile:!0,isDirectory:!1,size:typeof e==`string`?e.length:e.byteLength,mtimeMs:0}}),!0)}return!1}function Mr(e){if(typeof e==`string`&&e&&/^(https?:|mailto:)/i.test(e))try{window.open(e,`_blank`,`noopener,noreferrer`)}catch{}}var Nr=new WeakMap;function Pr(){return typeof Element.prototype.moveBefore==`function`}function Fr(e,t,n){let r=e.findIndex(e=>{let n=Nr.get(e);return n?.key===t&&n.wrapper.isConnected}),i=e[r],a=i&&Nr.get(i);if(!a)return null;try{n.parentNode.moveBefore(a.wrapper,n)}catch{return null}return n.remove(),e.splice(r,1),i}function Ir(e,t,n){return Nr.set(e,{key:t,wrapper:n}),e}function Lr(e,t,n={}){let r=[],i=[...n.previous??[]],a=Pr(),o=n.streaming===!0&&!a,s=e.querySelectorAll(`pre > code.language-shtml`);for(let e of s){let n=e.parentElement,s=e.textContent??``,c=`shtml:${s}`;if(o){n.replaceWith(n.ownerDocument.createRange().createContextualFragment($e));continue}let l=a?Fr(i,c,n):null;if(l){r.push(l);continue}let u=document.createElement(`div`);u.className=`msg__dip`,n.replaceWith(u),r.push(Ir(z(u,s,t,!1),c,u))}let c=e.querySelectorAll(`img[src$=".shtml"]`);for(let e of c){let n=e.getAttribute(`src`);if(!n||o)continue;let s=`img:${n}`,c=a?Fr(i,s,e):null;if(c){r.push(c);continue}let l=document.createElement(`div`);l.className=`msg__dip`,e.alt&&l.setAttribute(`title`,e.alt),e.replaceWith(l);let u=new AbortController,d=null,f=!1;r.push(Ir({dispose(){f=!0,u.abort(),d&&=(d.dispose(),null)}},s,l));let p=n.startsWith(`/`),m=typeof navigator<`u`&&!!navigator.serviceWorker?.controller,h=p?`/preview${n}`:n,g=async()=>{if(p&&!m)return er(n,u.signal);let e;try{e=await fetch(h,{signal:u.signal})}catch(e){if(e?.name===`AbortError`)throw e;if(p)return er(n,u.signal);throw e}if(e.ok)return e.text();if(p)return er(n,u.signal);throw Error(`HTTP ${e.status}`)},_=p&&ir(n);g().then(e=>{!f&&l.isConnected&&(d=z(l,e,t,_))}).catch(e=>{f||e?.name===`AbortError`||(l.textContent=`Failed to load dip: ${n}`,l.style.cssText=`padding:8px;font-size:12px;color:var(--s2-negative);font-family:var(--s2-font-mono)`)})}return B(i),r}function B(e){for(let t of e)try{t.dispose()}catch{}e.length=0}async function Rr(e,t){let n=$n(e.data);if(e.picker===`screenshare`){await Br(e.action,t);return}if(Qn){await zr(e.picker,e.action,n,t);return}switch(e.picker){case`directory`:await Vr(e.action,t);return;case`usb-device`:await Hr(e.action,n,t);return;case`serial-port`:await Ur(e.action,n,t);return;case`hid-device`:await Wr(e.action,n,t);return;default:t(e.action,e.data);return}}async function zr(e,t,n,r){try{switch(e){case`directory`:{let{openMountPickerPopup:e}=await s(async()=>{let{openMountPickerPopup:e}=await import(`./mount-picker-popup-DE6OgmCv.js`);return{openMountPickerPopup:e}},__vite__mapDeps([0,1,2,3])),n=await e();n.cancelled?r(t,{cancelled:!0}):n.error?r(t,{error:n.error}):n.idbKey?r(t,{handleInIdb:!0,idbKey:n.idbKey,dirName:n.dirName??``}):r(t,{error:`mount picker returned no handle key`});return}case`usb-device`:{let{openUsbPickerPopup:e}=await s(async()=>{let{openUsbPickerPopup:e}=await import(`./usb-picker-Dl5JWkcW.js`).then(e=>e.t);return{openUsbPickerPopup:e}},__vite__mapDeps([4,5,2,3])),i=await e(n);`cancelled`in i?r(t,{cancelled:!0}):`error`in i?r(t,{error:i.error}):r(t,{granted:!0,info:i.info});return}case`serial-port`:{let{openSerialPickerPopup:e}=await s(async()=>{let{openSerialPickerPopup:e}=await import(`./serial-picker-fazP7oMX.js`);return{openSerialPickerPopup:e}},__vite__mapDeps([6,2,3])),i=await e(n);`cancelled`in i?r(t,{cancelled:!0}):`error`in i?r(t,{error:i.error}):r(t,{granted:!0,info:i.info});return}case`hid-device`:{let{openHidPickerPopup:e}=await s(async()=>{let{openHidPickerPopup:e}=await import(`./hid-picker-CBnnaoh4.js`);return{openHidPickerPopup:e}},__vite__mapDeps([7,2,3])),i=await e(n);`cancelled`in i?r(t,{cancelled:!0}):`error`in i?r(t,{error:i.error}):r(t,{granted:!0,info:i.info});return}default:r(t,{error:`unknown picker kind: ${e??`(none)`}`});return}}catch(e){r(t,{error:e instanceof Error?e.message:String(e)})}}async function V(e,t){let n=Ze();if(!n)return null;let r={current:null},i=t=>{let n=t.detail;n.kind===e&&(r.current=n)};n.addEventListener(`slicc-permission-deny`,i);try{let i=await n.request(e,t);if(i)return{ok:!0,grant:i};let a=r.current;return{ok:!1,reason:a?.reason??`error`,...a?.message?{message:a.message}:{}}}finally{n.removeEventListener(`slicc-permission-deny`,i)}}function H(e,t,n,r){if(t.reason===`cancelled`){r(e,{cancelled:!0});return}if(t.reason===`unavailable`){r(e,{error:n});return}r(e,{error:t.message??`unknown error`})}async function Br(e,t){let n=await V(`screenshare`,{constraints:{video:!0}});if(!n){t(e,{error:`screen capture is not available`});return}if(!n.ok){H(e,n,`screen capture is not available`,t);return}let r=n.grant,{adoptDisplayStream:i,displaySessions:a}=await s(async()=>{let{adoptDisplayStream:e,displaySessions:t}=await import(`./screencapture-media-BxRLHqjA.js`);return{adoptDisplayStream:e,displaySessions:t}},[]);try{let n=await i(r.stream);if(!n.handle){t(e,{error:`screen share produced no handle`});return}let{keepAdoptedScreenShare:o}=await s(async()=>{let{keepAdoptedScreenShare:e}=await import(`./screen-share-approval-live-D388fVD9.js`);return{keepAdoptedScreenShare:e}},[]);if(!o(n.handle,e=>a.stop(e))){t(e,{cancelled:!0});return}t(e,{granted:!0,handle:n.handle})}catch(n){t(e,{error:n instanceof Error?n.message:String(n)})}}async function Vr(e,t){let n=await V(`filesystem`);if(!n){t(e,{error:`File System Access API not available`});return}if(!n.ok){H(e,n,`File System Access API not available`,t);return}let r=n.grant.handle,i=`pendingMount:dip-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;try{let{storePendingHandle:e}=await s(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-DE6OgmCv.js`);return{storePendingHandle:e}},__vite__mapDeps([0,1,2,3]));await e(i,r)}catch(n){t(e,{error:`failed to store directory handle: ${n instanceof Error?n.message:String(n)}`});return}t(e,{handleInIdb:!0,idbKey:i,dirName:r.name})}async function Hr(e,t,n){let r=await V(`usb`,{filters:t});if(!r){n(e,{error:`WebUSB is not available`});return}if(!r.ok){H(e,r,`WebUSB is not available`,n);return}let i=r.grant,{getSharedUsbRegistry:a,deviceToInfo:o}=await s(async()=>{let{getSharedUsbRegistry:e,deviceToInfo:t}=await import(`./usb-device-registry--JwKRTYp.js`).then(e=>e.c);return{getSharedUsbRegistry:e,deviceToInfo:t}},__vite__mapDeps([8,5])),c=a().register(i.device);n(e,{granted:!0,handle:c,info:o(c,i.device)})}async function Ur(e,t,n){let r=await V(`serial`,t.length?{filters:t}:void 0);if(!r){n(e,{error:`Web Serial is not available`});return}if(!r.ok){H(e,r,`Web Serial is not available`,n);return}let i=r.grant,a=await s(()=>import(`./serial-port-registry-CCqklAEr.js`).then(e=>e.o),__vite__mapDeps([9,5])),o=a.getSharedSerialRegistry(),c=o.register(i.port),l=o.get(c);n(e,{granted:!0,handle:c,info:l?a.deviceToInfo(c,l):{handle:c}})}async function Wr(e,t,n){let r=await V(`hid`,{filters:t});if(!r){n(e,{error:`WebHID is not available`});return}if(!r.ok){H(e,r,`WebHID is not available`,n);return}let i=r.grant,{getSharedHidRegistry:a,hidDeviceToInfo:o}=await s(async()=>{let{getSharedHidRegistry:e,hidDeviceToInfo:t}=await import(`./hid-device-registry-B2R-0rNt.js`).then(e=>e.a);return{getSharedHidRegistry:e,hidDeviceToInfo:t}},__vite__mapDeps([10,5])),c=a(),l=i.devices.map(e=>{let t=c.register(e);return o(t,e)}),u=l[0];n(e,{granted:!0,handle:u.handle,info:u,devices:l})}function Gr(e,t,n,r=!1){let i=document.createElement(`iframe`);i.src=chrome.runtime.getURL(`sprinkle-sandbox.html`),i.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,e.appendChild(i);let a=e=>{if(e.source!==i.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?i.style.height=t.height+`px`:t.type===`dip-open-link`?Mr(t.url):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?jr(i.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Ar(i.contentWindow,t):t.type===`dip-device-op`?kr(i.contentWindow,t):t.type===`dip-picker-action`&&Rr(t,n))};return window.addEventListener(`message`,a),i.addEventListener(`load`,()=>{wn(i.contentWindow),i.contentWindow&&(I.add(i.contentWindow),r&&F.add(i.contentWindow)),i.contentWindow?.postMessage({type:`dip-render`,srcdoc:t,isLight:Cn()},`*`)},{once:!0}),{dispose(){window.removeEventListener(`message`,a),Sn(i.contentWindow),i.contentWindow&&(I.delete(i.contentWindow),F.delete(i.contentWindow),Cr(i.contentWindow)),i.remove()}}}var Kr=e({PENDING_SESSION_ATTEMPT_LIMIT:()=>3,SESSIONS_INDEX_PATH:()=>SESSIONS_INDEX_PATH,curateFrozenSessionMemories:()=>Qr,enrichPendingSession:()=>Ei,freezeConeSession:()=>Zr,listPendingEnrichments:()=>Ci,markSnapshotUnavailable:()=>Yi,processPendingSessions:()=>wi,readSessionsIndex:()=>Te}),U=t(`session-freezer`),qr=4,Jr=2048,Yr=40,Xr=`${E}/attachments`;async function Zr(e){let t=await gi(e.sessionStore,mi(e));if(!t||t.messages.length<qr)return U.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=yi(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);!e.agenticMemorySpawn&&e.memory!==`skip`&&await ni(e,n,i);let a=await ri(e,n,i)||cn(t.messages);return await ii(e,t,a,r,i?await ei(e,a):void 0,!!e.agenticMemorySpawn&&e.memory!==`skip`)}async function Qr(e,t){let n=await jn(e.vfs,{sessionId:t.sessionId||t.filename.replace(/\.md$/i,``),filename:t.filename,title:t.title,frozenAt:t.frozenAt,cone:t.cone,coneLabel:t.coneLabel,curatedThrough:t.curatedThrough,messages:t.archive.messages});if(n.kind===`covered`)return $r(e,t,null);let r=n.kind===`delta`?n.path:Se(t),i=n.kind===`delta`?n.messages:t.archive.messages,a;try{a=await kn({spawn:e.agenticMemorySpawn,vfs:e.vfs,sessionArchivePath:r,sessionCount:await Dn(e.vfs),...e.cone?{cone:e.cone}:{}})}catch(e){a={ok:!1,reason:e instanceof Error?e.message:String(e),legacyFallbackSafe:!1}}return a.ok?(n.kind===`delta`&&await An(e.vfs,t.filename,n.through),$r(e,t,r)):(await Hi(e.vfs,t.filename,a.reason),a.legacyFallbackSafe?(U.warn(`Agentic memory pass failed after finishing — falling back to legacy extraction`,{filename:t.filename,reason:a.reason}),await ni(e,yi(i),!0),null):(U.warn(`Agentic memory pass unfinished — entry stays pending for boot catch-up`,{filename:t.filename,reason:a.reason,attemptLimit:3}),null))}async function $r(e,t,n){let r=await Bi(e.vfs,t.filename);if(n){let t=n.slice(n.lastIndexOf(`/`)+1);await ki(e.vfs,t)}return r?(delete t.memoryPending,U.info(`Agentic memory pass completed`,{filename:t.filename}),r):(U.info(`Agentic memory pass completed; index entry already gone`,{filename:t.filename}),null)}async function ei(e,t){try{return ti(await(e.pickIcon??(await s(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-BgX8DGOf.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,5,1,12,13,14,15,16,17,18,3,19,20,21,22,23,24,25,26,27,28,29,30,31]))).pickLucideIcon)({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){U.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function ti(e){if(e)return Ut(e)?e:void 0}async function ni(e,t,r){if(!r){U.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let i=``;try{i=await a({messages:t,instruction:n,model:e.model,apiKey:e.apiKey,maxTokens:Jr,headers:e.headers})}catch(e){U.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!i.trim()||i.trim()===`NONE`){U.info(`Memory extraction returned no durable memories`);return}try{await Si(e.vfs,hi(mi(e)),i.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),U.info(`Memory extracted and appended on new-session`)}catch(e){U.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function ri(e,t,n){if(!n)return``;try{return bi(await a({messages:t,instruction:r,model:e.model,apiKey:e.apiKey,maxTokens:Yr,headers:e.headers}))}catch(e){return U.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function ii(e,t,n,r,i,a=!1){let o=new Date().toISOString(),c=mi(e),l=await _i(e.vfs,c),u=await vi(e.vfs,l),f=l?.sessionId??crypto.randomUUID(),p=l?.filename??(r===`quick`?`pending-${pn()}.md`:`${o.replace(/[:.]/g,`-`)}-${on(n)}.md`),m=ai(t.messages),h={cone:c,...c!==`cone`&&e.cone?.label?{coneLabel:e.cone.label}:{}},g={filename:p,sessionId:f,title:n,frozenAt:o,messageCount:t.messages.length,...m??{},...h,...i?{icon:i}:{},...r===`quick`||l?{pendingEnrichment:!0}:{},...a?{memoryPending:!0}:{},...xe(l),...e.memory===`skip`?{memorySkipped:!0}:{}};try{await xi(e.vfs,E);let r=p.replace(/\.md$/,``),i=await ci(e.vfs,t.messages,r),a={id:t.id,sessionId:f,attachmentsKey:r,title:n,frozenAt:o,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:i,...m??{},...h,...e.memory===`skip`?{memorySkipped:!0}:{},...l?.curatedThrough?{curatedThrough:l.curatedThrough}:{},...u.length?{damagedSnapshots:u}:{}};if(d(`memory-v2`)){let{writeArchiveBundle:t}=await s(async()=>{let{writeArchiveBundle:e}=await import(`./session-jsonl-CJO46TfW.js`).then(e=>e.i);return{writeArchiveBundle:e}},__vite__mapDeps([32,5,33,34,26,1,35,36,37]));await t(e.vfs,p,a)}else await e.vfs.writeFile(`${E}/${p}`,ln(a));return await un(e.vfs,g),await e.vfs.flush(),U.info(`Cone session frozen`,{filename:p,title:n,cone:c,messageCount:t.messages.length,completedLiveSnapshot:!!l}),{...g,archive:a}}catch(e){return U.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}function ai(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||!si(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 oi(e){return typeof e==`number`&&Number.isFinite(e)}function si(e){let{cost:t}=e;return[e.input,e.output,e.cacheRead,e.cacheWrite].every(oi)&&[t.input,t.output,t.cacheRead,t.cacheWrite,t.total].every(oi)}async function ci(e,t,n){let r={vfs:e,archiveDir:`${Xr}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(di)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await li(r,n));i.push({...e,attachments:t})}return i}async function li(e,t){if(!di(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await ui(e.vfs,t.path);if(!r)return pi(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await xi(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function ui(e,t){try{if(!await fi(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 di(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function fi(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 pi(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}function mi(e){return e.cone?.folder||`cone`}function hi(e){return ge({parentJid:null,folder:e}).memoryPath}async function gi(e,t){let n=le({folder:t});try{return await e.load(n)}catch(e){return U.warn(`Failed to load cone chat session`,{sessionId:n,error:e instanceof Error?e.message:String(e)}),null}}async function _i(e,t){try{return fn(await A(e),t)}catch(e){U.warn(`Sessions index unreadable while looking for a live snapshot`,{error:e instanceof Error?e.message:String(e)});return}}async function vi(e,t){if(!t)return[];let n=`${E}/${t.filename}`;try{let t=await e.readFile(n,{encoding:`utf-8`});return Ce(typeof t==`string`?t:new TextDecoder().decode(t))}catch(e){return(!(e instanceof Qe)||e.code!==`ENOENT`)&&U.warn(`Live snapshot unreadable; freezing without its damaged bytes`,{path:n,error:e instanceof Error?e.message:String(e)}),[]}}function yi(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}function bi(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 xi(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function Si(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 Qe)||t.code!==`ENOENT`)throw t;await xi(e,a.slice(0,a.lastIndexOf(`/`)))}let s=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${r})`,c=`${o.length===0||o.endsWith(`
|
|
241
|
+
`,exitCode:127};try{return await mr(e)}catch(e){return{stdout:``,stderr:`exec: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function vr(e,t){let n=await _r(gr(e,t));return{stdout:n.stdout||n.stderr,exitCode:n.exitCode}}async function yr(e,t){let n=await h(_r,e,t);if(e===`fetch`){let e=n,t=atob(e.bodyBase64),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return{...e,body:new TextDecoder(`utf-8`).decode(r)}}return n}var R=new WeakMap;function br(e,t){try{e.postMessage({type:`dip-device-event`,channel:`hid:inputreport`,payload:t},`*`)}catch{}}async function xr(e,t){let n=R.get(e);if(n||(n=new Map,R.set(e,n)),n.has(t))return;let r=await Pt(Dt(),t,n=>{let r=n.bytes instanceof Uint8Array?n.bytes:new Uint8Array(n.bytes);br(e,{handle:t,reportId:n.reportId,data:r})});n.set(t,r)}async function Sr(e,t){let n=R.get(e);if(!n)return;let r=n.get(t);if(r){n.delete(t);try{await Promise.resolve(r())}catch{}}n.size===0&&R.delete(e)}function Cr(e){let t=R.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}R.delete(e)}}function wr(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}if(Array.isArray(e))return new Uint8Array(e);throw Error(`expected Uint8Array, ArrayBuffer, or number[]`)}async function Tr(e,t,n){let r=Dt();switch(t){case`list`:{let e=Et();if(!e)throw Error(`WebHID is unavailable in this browser`);return zt(r,e)}case`request`:{let e=Et();if(!e)throw Error(`WebHID is unavailable in this browser`);return Lt(r,x(e),n[0]??[])}case`info`:return It(r,n[0]);case`open`:{let t=n[0];return await Nt(r,t),await xr(e,t),{ok:!0}}case`close`:{let t=n[0];return await Sr(e,t),await Bt(r,t),{ok:!0}}case`sendReport`:{let e=n[0],t=n[1],i=wr(n[2]),a=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);return await At(r,e,t,a),{ok:!0}}default:throw Error(`hid: unknown op '${t}'`)}}async function Er(e,t){let n=Ot();switch(e){case`list`:{let e=kt();if(!e)throw Error(`Web Serial is unavailable in this browser`);return Rt(n,e)}case`request`:{let e=kt();if(!e)throw Error(`Web Serial is unavailable in this browser`);return Mt(n,S(e),t[0]??[])}case`info`:return jt(n,t[0]);case`open`:{let e=t[0],r=t[1]??{baudRate:9600};return await Ft(n,e,r),{ok:!0}}case`close`:return await Vt(n,t[0]),{ok:!0};default:throw Error(`serial: unknown op '${e}'`)}}async function Dr(e,t){let n=Wt();switch(e){case`list`:{let e=Gt();if(!e)throw Error(`WebUSB is unavailable in this browser`);return Jt(n,e)}case`request`:{let e=Gt();if(!e)throw Error(`WebUSB is unavailable in this browser`);return Kt(n,g(e),t[0]??[])}case`info`:return Yt(n,t[0]);case`open`:return await Xt(n,t[0]),{ok:!0};case`close`:return await qt(n,t[0]),{ok:!0};default:throw Error(`usb: unknown op '${e}'`)}}async function Or(e,t,n,r){switch(t){case`hid`:return Tr(e,n,r);case`serial`:return Er(n,r);case`usb`:return Dr(n,r);default:throw Error(`unknown device channel '${t}'`)}}async function kr(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!F.has(e))return n({type:`dip-device-op-response`,error:`device access not allowed for this dip`}),!0;let r=t.channel;if(r!==`hid`&&r!==`serial`&&r!==`usb`)return n({type:`dip-device-op-response`,error:`unknown device channel '${r}'`}),!0;try{n({type:`dip-device-op-response`,result:await Or(e,r,typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-device-op-response`,error:e instanceof Error?e.message:String(e)})}return!0}async function Ar(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!F.has(e))return n({type:`${t.type}-response`,error:`exec not allowed for this dip`}),!0;if(t.type===`dip-exec`)return n({type:`dip-exec-response`,result:await _r(typeof t.cmd==`string`?t.cmd:``)}),!0;if(t.type===`dip-agent`)return n({type:`dip-agent-response`,result:await vr(typeof t.prompt==`string`?t.prompt:``,t.opts)}),!0;if(t.type===`dip-jsh`){try{n({type:`dip-jsh-response`,result:await yr(typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-jsh-response`,error:e instanceof Error?e.message:String(e)})}return!0}return!1}function z(e,t,n,r=!1){let i=fr(t,!1,r);if(Qn)return Gr(e,i,n,r);let a=document.createElement(`iframe`);a.setAttribute(`sandbox`,`allow-scripts allow-same-origin`),a.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,a.srcdoc=i,e.appendChild(a),a.contentWindow&&(wn(a.contentWindow),I.add(a.contentWindow),r&&F.add(a.contentWindow)),a.addEventListener(`load`,()=>{wn(a.contentWindow),a.contentWindow&&(I.add(a.contentWindow),r&&F.add(a.contentWindow)),_()&&v(a)},{once:!0});let o=e=>{if(e.source!==a.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?a.style.height=t.height+`px`:t.type===`dip-open-link`?Mr(t.url):t.type===`dip-picker-action`?Rr(t,n):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?jr(a.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Ar(a.contentWindow,t):t.type===`dip-device-op`&&kr(a.contentWindow,t))};window.addEventListener(`message`,o);let s=null;if(_()&&typeof IntersectionObserver<`u`){let e=!1,t=new IntersectionObserver(n=>{if(n[n.length-1].isIntersecting){if(e){e=!1;return}t.unobserve(a),v(a,()=>{e=!0,t.observe(a)})}});s=t,t.observe(a)}return{dispose(){s?.disconnect(),window.removeEventListener(`message`,o),Sn(a.contentWindow),a.contentWindow&&(I.delete(a.contentWindow),F.delete(a.contentWindow),Cr(a.contentWindow)),a.remove()}}}async function jr(e,t){if(!e||typeof t.id!=`number`)return!1;let n=typeof t.path==`string`?t.path:``,r=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!F.has(e))return r({type:`${t.type}-response`,error:`VFS access not allowed for this dip`}),!0;if(!ar(n))return r({type:`${t.type}-response`,error:`VFS path not allowed: ${n}`}),!0;if(t.type===`dip-readfile`){let e=await P(n,!0);return e===null?(r({type:`dip-readfile-response`,error:`Read failed`}),!0):(r({type:`dip-readfile-response`,content:typeof e==`string`?e:new TextDecoder().decode(e)}),!0)}if(t.type===`dip-exists`)return r({type:`dip-exists-response`,exists:await P(n,!0)!==null}),!0;if(t.type===`dip-stat`){let e=await P(n,!1);return e===null?(r({type:`dip-stat-response`,error:`Stat failed`}),!0):(r({type:`dip-stat-response`,stat:{isFile:!0,isDirectory:!1,size:typeof e==`string`?e.length:e.byteLength,mtimeMs:0}}),!0)}return!1}function Mr(e){if(typeof e==`string`&&e&&/^(https?:|mailto:)/i.test(e))try{window.open(e,`_blank`,`noopener,noreferrer`)}catch{}}var Nr=new WeakMap;function Pr(){return typeof Element.prototype.moveBefore==`function`}function Fr(e,t,n){let r=e.findIndex(e=>{let n=Nr.get(e);return n?.key===t&&n.wrapper.isConnected}),i=e[r],a=i&&Nr.get(i);if(!a)return null;try{n.parentNode.moveBefore(a.wrapper,n)}catch{return null}return n.remove(),e.splice(r,1),i}function Ir(e,t,n){return Nr.set(e,{key:t,wrapper:n}),e}function Lr(e,t,n={}){let r=[],i=[...n.previous??[]],a=Pr(),o=n.streaming===!0&&!a,s=e.querySelectorAll(`pre > code.language-shtml`);for(let e of s){let n=e.parentElement,s=e.textContent??``,c=`shtml:${s}`;if(o){n.replaceWith(n.ownerDocument.createRange().createContextualFragment($e));continue}let l=a?Fr(i,c,n):null;if(l){r.push(l);continue}let u=document.createElement(`div`);u.className=`msg__dip`,n.replaceWith(u),r.push(Ir(z(u,s,t,!1),c,u))}let c=e.querySelectorAll(`img[src$=".shtml"]`);for(let e of c){let n=e.getAttribute(`src`);if(!n||o)continue;let s=`img:${n}`,c=a?Fr(i,s,e):null;if(c){r.push(c);continue}let l=document.createElement(`div`);l.className=`msg__dip`,e.alt&&l.setAttribute(`title`,e.alt),e.replaceWith(l);let u=new AbortController,d=null,f=!1;r.push(Ir({dispose(){f=!0,u.abort(),d&&=(d.dispose(),null)}},s,l));let p=n.startsWith(`/`),m=typeof navigator<`u`&&!!navigator.serviceWorker?.controller,h=p?`/preview${n}`:n,g=async()=>{if(p&&!m)return er(n,u.signal);let e;try{e=await fetch(h,{signal:u.signal})}catch(e){if(e?.name===`AbortError`)throw e;if(p)return er(n,u.signal);throw e}if(e.ok)return e.text();if(p)return er(n,u.signal);throw Error(`HTTP ${e.status}`)},_=p&&ir(n);g().then(e=>{!f&&l.isConnected&&(d=z(l,e,t,_))}).catch(e=>{f||e?.name===`AbortError`||(l.textContent=`Failed to load dip: ${n}`,l.style.cssText=`padding:8px;font-size:12px;color:var(--s2-negative);font-family:var(--s2-font-mono)`)})}return B(i),r}function B(e){for(let t of e)try{t.dispose()}catch{}e.length=0}async function Rr(e,t){let n=$n(e.data);if(e.picker===`screenshare`){await Br(e.action,t);return}if(Qn){await zr(e.picker,e.action,n,t);return}switch(e.picker){case`directory`:await Vr(e.action,t);return;case`usb-device`:await Hr(e.action,n,t);return;case`serial-port`:await Ur(e.action,n,t);return;case`hid-device`:await Wr(e.action,n,t);return;default:t(e.action,e.data);return}}async function zr(e,t,n,r){try{switch(e){case`directory`:{let{openMountPickerPopup:e}=await s(async()=>{let{openMountPickerPopup:e}=await import(`./mount-picker-popup-DE6OgmCv.js`);return{openMountPickerPopup:e}},__vite__mapDeps([0,1,2,3])),n=await e();n.cancelled?r(t,{cancelled:!0}):n.error?r(t,{error:n.error}):n.idbKey?r(t,{handleInIdb:!0,idbKey:n.idbKey,dirName:n.dirName??``}):r(t,{error:`mount picker returned no handle key`});return}case`usb-device`:{let{openUsbPickerPopup:e}=await s(async()=>{let{openUsbPickerPopup:e}=await import(`./usb-picker-Dl5JWkcW.js`).then(e=>e.t);return{openUsbPickerPopup:e}},__vite__mapDeps([4,5,2,3])),i=await e(n);`cancelled`in i?r(t,{cancelled:!0}):`error`in i?r(t,{error:i.error}):r(t,{granted:!0,info:i.info});return}case`serial-port`:{let{openSerialPickerPopup:e}=await s(async()=>{let{openSerialPickerPopup:e}=await import(`./serial-picker-fazP7oMX.js`);return{openSerialPickerPopup:e}},__vite__mapDeps([6,2,3])),i=await e(n);`cancelled`in i?r(t,{cancelled:!0}):`error`in i?r(t,{error:i.error}):r(t,{granted:!0,info:i.info});return}case`hid-device`:{let{openHidPickerPopup:e}=await s(async()=>{let{openHidPickerPopup:e}=await import(`./hid-picker-CBnnaoh4.js`);return{openHidPickerPopup:e}},__vite__mapDeps([7,2,3])),i=await e(n);`cancelled`in i?r(t,{cancelled:!0}):`error`in i?r(t,{error:i.error}):r(t,{granted:!0,info:i.info});return}default:r(t,{error:`unknown picker kind: ${e??`(none)`}`});return}}catch(e){r(t,{error:e instanceof Error?e.message:String(e)})}}async function V(e,t){let n=Ze();if(!n)return null;let r={current:null},i=t=>{let n=t.detail;n.kind===e&&(r.current=n)};n.addEventListener(`slicc-permission-deny`,i);try{let i=await n.request(e,t);if(i)return{ok:!0,grant:i};let a=r.current;return{ok:!1,reason:a?.reason??`error`,...a?.message?{message:a.message}:{}}}finally{n.removeEventListener(`slicc-permission-deny`,i)}}function H(e,t,n,r){if(t.reason===`cancelled`){r(e,{cancelled:!0});return}if(t.reason===`unavailable`){r(e,{error:n});return}r(e,{error:t.message??`unknown error`})}async function Br(e,t){let n=await V(`screenshare`,{constraints:{video:!0}});if(!n){t(e,{error:`screen capture is not available`});return}if(!n.ok){H(e,n,`screen capture is not available`,t);return}let r=n.grant,{adoptDisplayStream:i,displaySessions:a}=await s(async()=>{let{adoptDisplayStream:e,displaySessions:t}=await import(`./screencapture-media-BxRLHqjA.js`);return{adoptDisplayStream:e,displaySessions:t}},[]);try{let n=await i(r.stream);if(!n.handle){t(e,{error:`screen share produced no handle`});return}let{keepAdoptedScreenShare:o}=await s(async()=>{let{keepAdoptedScreenShare:e}=await import(`./screen-share-approval-live-D388fVD9.js`);return{keepAdoptedScreenShare:e}},[]);if(!o(n.handle,e=>a.stop(e))){t(e,{cancelled:!0});return}t(e,{granted:!0,handle:n.handle})}catch(n){t(e,{error:n instanceof Error?n.message:String(n)})}}async function Vr(e,t){let n=await V(`filesystem`);if(!n){t(e,{error:`File System Access API not available`});return}if(!n.ok){H(e,n,`File System Access API not available`,t);return}let r=n.grant.handle,i=`pendingMount:dip-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;try{let{storePendingHandle:e}=await s(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-DE6OgmCv.js`);return{storePendingHandle:e}},__vite__mapDeps([0,1,2,3]));await e(i,r)}catch(n){t(e,{error:`failed to store directory handle: ${n instanceof Error?n.message:String(n)}`});return}t(e,{handleInIdb:!0,idbKey:i,dirName:r.name})}async function Hr(e,t,n){let r=await V(`usb`,{filters:t});if(!r){n(e,{error:`WebUSB is not available`});return}if(!r.ok){H(e,r,`WebUSB is not available`,n);return}let i=r.grant,{getSharedUsbRegistry:a,deviceToInfo:o}=await s(async()=>{let{getSharedUsbRegistry:e,deviceToInfo:t}=await import(`./usb-device-registry--JwKRTYp.js`).then(e=>e.c);return{getSharedUsbRegistry:e,deviceToInfo:t}},__vite__mapDeps([8,5])),c=a().register(i.device);n(e,{granted:!0,handle:c,info:o(c,i.device)})}async function Ur(e,t,n){let r=await V(`serial`,t.length?{filters:t}:void 0);if(!r){n(e,{error:`Web Serial is not available`});return}if(!r.ok){H(e,r,`Web Serial is not available`,n);return}let i=r.grant,a=await s(()=>import(`./serial-port-registry-CCqklAEr.js`).then(e=>e.o),__vite__mapDeps([9,5])),o=a.getSharedSerialRegistry(),c=o.register(i.port),l=o.get(c);n(e,{granted:!0,handle:c,info:l?a.deviceToInfo(c,l):{handle:c}})}async function Wr(e,t,n){let r=await V(`hid`,{filters:t});if(!r){n(e,{error:`WebHID is not available`});return}if(!r.ok){H(e,r,`WebHID is not available`,n);return}let i=r.grant,{getSharedHidRegistry:a,hidDeviceToInfo:o}=await s(async()=>{let{getSharedHidRegistry:e,hidDeviceToInfo:t}=await import(`./hid-device-registry-B2R-0rNt.js`).then(e=>e.a);return{getSharedHidRegistry:e,hidDeviceToInfo:t}},__vite__mapDeps([10,5])),c=a(),l=i.devices.map(e=>{let t=c.register(e);return o(t,e)}),u=l[0];n(e,{granted:!0,handle:u.handle,info:u,devices:l})}function Gr(e,t,n,r=!1){let i=document.createElement(`iframe`);i.src=chrome.runtime.getURL(`sprinkle-sandbox.html`),i.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,e.appendChild(i);let a=e=>{if(e.source!==i.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?i.style.height=t.height+`px`:t.type===`dip-open-link`?Mr(t.url):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?jr(i.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?Ar(i.contentWindow,t):t.type===`dip-device-op`?kr(i.contentWindow,t):t.type===`dip-picker-action`&&Rr(t,n))};return window.addEventListener(`message`,a),i.addEventListener(`load`,()=>{wn(i.contentWindow),i.contentWindow&&(I.add(i.contentWindow),r&&F.add(i.contentWindow)),i.contentWindow?.postMessage({type:`dip-render`,srcdoc:t,isLight:Cn()},`*`)},{once:!0}),{dispose(){window.removeEventListener(`message`,a),Sn(i.contentWindow),i.contentWindow&&(I.delete(i.contentWindow),F.delete(i.contentWindow),Cr(i.contentWindow)),i.remove()}}}var Kr=e({PENDING_SESSION_ATTEMPT_LIMIT:()=>3,SESSIONS_INDEX_PATH:()=>SESSIONS_INDEX_PATH,curateFrozenSessionMemories:()=>Qr,enrichPendingSession:()=>Ei,freezeConeSession:()=>Zr,listPendingEnrichments:()=>Ci,markSnapshotUnavailable:()=>Yi,processPendingSessions:()=>wi,readSessionsIndex:()=>Te}),U=t(`session-freezer`),qr=4,Jr=2048,Yr=40,Xr=`${E}/attachments`;async function Zr(e){let t=await gi(e.sessionStore,mi(e));if(!t||t.messages.length<qr)return U.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=yi(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);!e.agenticMemorySpawn&&e.memory!==`skip`&&await ni(e,n,i);let a=await ri(e,n,i)||cn(t.messages);return await ii(e,t,a,r,i?await ei(e,a):void 0,!!e.agenticMemorySpawn&&e.memory!==`skip`)}async function Qr(e,t){let n=await jn(e.vfs,{sessionId:t.sessionId||t.filename.replace(/\.md$/i,``),filename:t.filename,title:t.title,frozenAt:t.frozenAt,cone:t.cone,coneLabel:t.coneLabel,curatedThrough:t.curatedThrough,messages:t.archive.messages});if(n.kind===`covered`)return $r(e,t,null);let r=n.kind===`delta`?n.path:Se(t),i=n.kind===`delta`?n.messages:t.archive.messages,a;try{a=await kn({spawn:e.agenticMemorySpawn,vfs:e.vfs,sessionArchivePath:r,sessionCount:await Dn(e.vfs),...e.cone?{cone:e.cone}:{}})}catch(e){a={ok:!1,reason:e instanceof Error?e.message:String(e),legacyFallbackSafe:!1}}return a.ok?(n.kind===`delta`&&await An(e.vfs,t.filename,n.through),$r(e,t,r)):(await Hi(e.vfs,t.filename,a.reason),a.legacyFallbackSafe?(U.warn(`Agentic memory pass failed after finishing — falling back to legacy extraction`,{filename:t.filename,reason:a.reason}),await ni(e,yi(i),!0),null):(U.warn(`Agentic memory pass unfinished — entry stays pending for boot catch-up`,{filename:t.filename,reason:a.reason,attemptLimit:3}),null))}async function $r(e,t,n){let r=await Bi(e.vfs,t.filename);if(n){let t=n.slice(n.lastIndexOf(`/`)+1);await ki(e.vfs,t)}return r?(delete t.memoryPending,U.info(`Agentic memory pass completed`,{filename:t.filename}),r):(U.info(`Agentic memory pass completed; index entry already gone`,{filename:t.filename}),null)}async function ei(e,t){try{return ti(await(e.pickIcon??(await s(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-DcceQmkj.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,5,1,12,13,14,15,16,17,18,3,19,20,21,22,23,24,25,26,27,28,29,30,31]))).pickLucideIcon)({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){U.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function ti(e){if(e)return Ut(e)?e:void 0}async function ni(e,t,r){if(!r){U.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let i=``;try{i=await a({messages:t,instruction:n,model:e.model,apiKey:e.apiKey,maxTokens:Jr,headers:e.headers})}catch(e){U.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!i.trim()||i.trim()===`NONE`){U.info(`Memory extraction returned no durable memories`);return}try{await Si(e.vfs,hi(mi(e)),i.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),U.info(`Memory extracted and appended on new-session`)}catch(e){U.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function ri(e,t,n){if(!n)return``;try{return bi(await a({messages:t,instruction:r,model:e.model,apiKey:e.apiKey,maxTokens:Yr,headers:e.headers}))}catch(e){return U.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function ii(e,t,n,r,i,a=!1){let o=new Date().toISOString(),c=mi(e),l=await _i(e.vfs,c),u=await vi(e.vfs,l),f=l?.sessionId??crypto.randomUUID(),p=l?.filename??(r===`quick`?`pending-${pn()}.md`:`${o.replace(/[:.]/g,`-`)}-${on(n)}.md`),m=ai(t.messages),h={cone:c,...c!==`cone`&&e.cone?.label?{coneLabel:e.cone.label}:{}},g={filename:p,sessionId:f,title:n,frozenAt:o,messageCount:t.messages.length,...m??{},...h,...i?{icon:i}:{},...r===`quick`||l?{pendingEnrichment:!0}:{},...a?{memoryPending:!0}:{},...xe(l),...e.memory===`skip`?{memorySkipped:!0}:{}};try{await xi(e.vfs,E);let r=p.replace(/\.md$/,``),i=await ci(e.vfs,t.messages,r),a={id:t.id,sessionId:f,attachmentsKey:r,title:n,frozenAt:o,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:i,...m??{},...h,...e.memory===`skip`?{memorySkipped:!0}:{},...l?.curatedThrough?{curatedThrough:l.curatedThrough}:{},...u.length?{damagedSnapshots:u}:{}};if(d(`memory-v2`)){let{writeArchiveBundle:t}=await s(async()=>{let{writeArchiveBundle:e}=await import(`./session-jsonl-CJO46TfW.js`).then(e=>e.i);return{writeArchiveBundle:e}},__vite__mapDeps([32,5,33,34,26,1,35,36,37]));await t(e.vfs,p,a)}else await e.vfs.writeFile(`${E}/${p}`,ln(a));return await un(e.vfs,g),await e.vfs.flush(),U.info(`Cone session frozen`,{filename:p,title:n,cone:c,messageCount:t.messages.length,completedLiveSnapshot:!!l}),{...g,archive:a}}catch(e){return U.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}function ai(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||!si(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 oi(e){return typeof e==`number`&&Number.isFinite(e)}function si(e){let{cost:t}=e;return[e.input,e.output,e.cacheRead,e.cacheWrite].every(oi)&&[t.input,t.output,t.cacheRead,t.cacheWrite,t.total].every(oi)}async function ci(e,t,n){let r={vfs:e,archiveDir:`${Xr}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(di)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await li(r,n));i.push({...e,attachments:t})}return i}async function li(e,t){if(!di(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await ui(e.vfs,t.path);if(!r)return pi(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await xi(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function ui(e,t){try{if(!await fi(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 di(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function fi(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 pi(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}function mi(e){return e.cone?.folder||`cone`}function hi(e){return ge({parentJid:null,folder:e}).memoryPath}async function gi(e,t){let n=le({folder:t});try{return await e.load(n)}catch(e){return U.warn(`Failed to load cone chat session`,{sessionId:n,error:e instanceof Error?e.message:String(e)}),null}}async function _i(e,t){try{return fn(await A(e),t)}catch(e){U.warn(`Sessions index unreadable while looking for a live snapshot`,{error:e instanceof Error?e.message:String(e)});return}}async function vi(e,t){if(!t)return[];let n=`${E}/${t.filename}`;try{let t=await e.readFile(n,{encoding:`utf-8`});return Ce(typeof t==`string`?t:new TextDecoder().decode(t))}catch(e){return(!(e instanceof Qe)||e.code!==`ENOENT`)&&U.warn(`Live snapshot unreadable; freezing without its damaged bytes`,{path:n,error:e instanceof Error?e.message:String(e)}),[]}}function yi(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}function bi(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 xi(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function Si(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 Qe)||t.code!==`ENOENT`)throw t;await xi(e,a.slice(0,a.lastIndexOf(`/`)))}let s=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${r})`,c=`${o.length===0||o.endsWith(`
|
|
242
242
|
`)?``:`
|
|
243
|
-
`}\n${s}\n\n${n}\n`;await e.writeFile(a,o+c);try{await Nn({vfs:e,memoryPath:a,model:i?.model,apiKey:i?.apiKey,headers:i?.headers,signal:i?.signal})}catch(e){U.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function Ci(e){return(await Te(e)).filter(e=>(e.pendingEnrichment===!0||e.memoryPending===!0)&&Ti(e)<3)}async function wi(e){let t={attempted:0,completed:0};if(!e.model||!e.apiKey)return t;try{for(let t of await Te(e.vfs))t.memoryPending===!0&&t.memoryFailed===void 0&&Ti(t)>=3&&await Hi(e.vfs,t.filename,`catch-up retries exhausted (3)`);let n=await Ci(e.vfs);for(let r of n)try{let n=await Vi(e.vfs,r.filename);if(!n)continue;t.attempted+=1,await Ei(e.vfs,n,{model:e.model,apiKey:e.apiKey,headers:e.headers})&&(t.completed+=1)}catch(e){U.warn(`Pending session catch-up attempt failed`,{filename:r.filename,error:e instanceof Error?e.message:String(e)})}}catch(e){U.warn(`Pending session catch-up failed`,{error:e instanceof Error?e.message:String(e)})}return t}function Ti(e){let t=e.pendingAttemptCount;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:0}async function Ei(e,t,n){if(!t.pendingEnrichment&&!t.memoryPending)return null;let r=await ji(e,t);if(r===null)return null;let i=await Mi(e,t,r);if(i===null)return null;let{agentMessages:a}=i,o=await Ni(e,t,i.chatMessages,n),s=o.curatorAlreadyRan,c=s||t.memorySkipped===!0?{...n,skipMemory:!0}:n,l=await Fi(t,a,c,o.memoryMessages);if(l===null)return null;let u=await Ai(c,l.newTitle);await Ii(e,t,l.bullets,c);let d=await Ri(e,t,r,l.newTitle,u,n.skipMemory===!0,c.skipMemory!==!0);return d&&s&&(await ki(e,t.filename),await Ui(e,d.filename),await Di(e,t.filename)),d}async function Di(e,t){for(let n of[Tn(`/sessions/${t}`),Mn(`/sessions/${t}`)])try{await e.rm(n)}catch{}}async function Oi(e,t){try{return await e.stat(En(`/sessions/${t.filename}`)),!0}catch{return!1}}async function ki(e,t){try{await e.rm(En(`/sessions/${t}`))}catch{}}async function Ai(e,t){if(e.pickIcon)try{return await ti(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){U.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function ji(e,t){try{let n=await e.readFile(Se(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?U.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):U.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}async function Mi(e,t,n){let r;try{r=(await gn(e,n,t.filename)).messages}catch(e){return U.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?(U.info(`Pending archive has no messages — skipping enrichment`,{filename:t.filename}),null):{agentMessages:yi(r),chatMessages:r}}async function Ni(e,t,n,r){let i=yi([...n]);if(r.skipMemory===!0||t.memoryPending!==!0)return{curatorAlreadyRan:!1,memoryMessages:i};if(await Oi(e,t))return{curatorAlreadyRan:!0,memoryMessages:i};let a=await On(e,t,n);return a.caughtUp?{curatorAlreadyRan:!0,memoryMessages:i}:a.through>0?{curatorAlreadyRan:!1,memoryMessages:i.filter(e=>Pi(e)>a.through)}:{curatorAlreadyRan:!1,memoryMessages:i}}function Pi(e){let t=e.timestamp;return typeof t==`number`?t:0}async function Fi(e,t,i,o=t){let s=``;if(!i.skipMemory)try{s=await a({messages:o,instruction:n,model:i.model,apiKey:i.apiKey,maxTokens:Jr,headers:i.headers})}catch(t){return U.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let c=``;try{c=bi(await a({messages:t,instruction:r,model:i.model,apiKey:i.apiKey,maxTokens:Yr,headers:i.headers}))}catch(t){return U.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return c?{bullets:s,newTitle:c}:(U.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function Ii(e,t,n,r){let i=n.trim();if(i&&i!==`NONE`)try{await Si(e,hi(t.cone||`cone`),i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){U.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}function Li(e,t,n,r,i,a){let o=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}:{},...xe(e,{dropFailure:a}),...o?{icon:o}:{},...e.completeSnapshotUnavailable?{completeSnapshotUnavailable:!0}:{},...i&&e.memoryPending?{memoryPending:!0}:{}}}async function Ri(e,t,n,r,i,a=!1,o=!1){let s=Se(t),c=rn(t.filename),l=c?r:t.title,u=c?`${t.frozenAt.replace(/[:.]/g,`-`)}-${on(r)}.md`:t.filename,d=`${E}/${u}`;if(c)try{await xi(e,E);let r=zi(n,l),i=hn(t.filename),a=hn(u),o=an(r,s,d);if(o=an(o,i,a),i!==a){let e=i.slice(i.lastIndexOf(`/`)+1),t=a.slice(a.lastIndexOf(`/`)+1);o=o.split(`sidecar: ${e}`).join(`sidecar: ${t}`)}await e.writeFile(d,o),await vn(e,t.filename,u)}catch(e){return U.warn(`Enrichment write failed (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}let f=Li(t,u,l,i,a,o);if(!await Ji(e,t,f))return null;if(d!==s){try{await e.rm(s)}catch(e){U.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:s,error:e instanceof Error?e.message:String(e)})}try{await _n(e,t.filename)}catch(e){U.info(`Stale pending sidecar cleanup failed (harmless)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}try{await e.flush()}catch{}return U.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:u,title:l}),f}function zi(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 Bi(e,t){let n=null,r=O(async()=>{let r=await A(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 k(e,d),await e.flush(),n=u});try{await r}catch(e){U.warn(`Failed to clear agentic memory pending marker`,{filename:t,error:e instanceof Error?e.message:String(e)})}return n}async function Vi(e,t){let n=null;return await O(async()=>{let r=await A(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r[i];if(!a.pendingEnrichment&&!a.memoryPending)return;let o=Ti(a);if(o>=3)return;n={...a,pendingAttemptCount:o+1};let s=r.slice();s[i]=n,await k(e,s),await e.flush()}),n}async function Hi(e,t,n){let r=O(async()=>{let r=await A(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 k(e,a),await e.flush()});try{await r}catch(e){U.warn(`Failed to record curator failure in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Ui(e,t){let n=O(async()=>{let n=await A(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 k(e,o),await e.flush()});try{await n}catch(e){U.warn(`Failed to record curator completion in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Wi(e,t,n){return O(async()=>{let r=await A(e),i=r.findIndex(e=>e.filename===t);if(i!==-1){let t=r.slice();t[i]=n;let a=t.filter((e,t)=>t===i||e.filename!==n.filename);return await k(e,a),`replaced`}let a=await Gi(e,r,t,n);if(a===`prepended`){let t=[n,...r.filter(e=>e.filename!==n.filename)];await k(e,t)}else if(a===`replaced`){let t=r.map(e=>e.filename===n.filename?n:e);await k(e,t)}else await qi(e,r,t,n.filename);return a})}async function Gi(e,t,n,r){if(t.some(e=>e.filename===r.filename))return`replaced`;let i=r.sessionId;return(i&&!mn(i)?t.filter(e=>e.sessionId===i):[]).length===1?`superseded`:await Ki(e,`/sessions/${n}`)?`prepended`:`deleted`}async function Ki(e,t){try{return await e.stat(t),!0}catch(e){return e?.code!==`ENOENT`}}async function qi(e,t,n,r){if(r===n||t.some(e=>e.filename===r))return;let i=`${E}/${r}`;try{await e.rm(i)}catch(e){e?.code!==`ENOENT`&&U.warn(`Enrichment could not drop its renamed copy`,{path:i,error:e})}let a=hn(r);try{await _n(e,r)}catch(e){e?.code!==`ENOENT`&&U.warn(`Enrichment could not drop its renamed copy`,{path:a,error:e})}}async function Ji(e,t,n){let r;try{r=await Wi(e,t.filename,n)}catch(e){return U.warn(`Enrichment index update failed (entry may stay pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),!1}return r===`superseded`||r===`deleted`?(U.info(`Enrichment dropped — the session changed during the pass`,{filename:t.filename,outcome:r}),!1):!0}async function Yi(e,t){return O(async()=>{let n=await A(e);if(!n.find(e=>e.filename===t))return;let r=n.map(e=>e.filename===t?{...e,completeSnapshotUnavailable:!0}:e);await k(e,r)})}var Xi=`slicc:followers-changed`;function Zi(e){let t=e.replace(/^follower-/,``);return t.length>12?`${t.slice(0,8)}…`:t}function Qi(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 $i(e){return e.floatType===`ios`?`smartphone`:e.floatType===`electron`||e.floatType===`standalone`?`monitor`:e.floatType===`extension`?`blocks`:e.runtime?.includes(`cli`)?`terminal`:`radio`}function ea(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 W(e){return e.health===`stalled`?`warn`:e.peerState===`connecting`?`idle`:e.peerState===`connected`&&e.health===`live`?`active`:`idle`}function ta(e,t=Date.now()){let n=e.health===`stalled`?`stalled`:e.peerState===`connecting`?`connecting`:`connected`,r=ea(e.connectedAt,t);return r?`${n} ${r}`:n}function na(e){let t=[];return e.exec&&t.push(`can run commands`),e.computer&&t.push(`native screen`),e.cdp&&t.push(`hosts tabs`),t}function ra(e){return`${Qi(e)} · ${Zi(e.runtimeId)}`}function ia(e){return e.motd??e.runtime??void 0}function aa(e,t=Date.now()){return e.map(e=>({id:e.runtimeId,icon:$i(e),title:ra(e),detail:ia(e),state:W(e),stateText:ta(e,t),chips:na(e)}))}function oa(e){return e.length>=8&&e[0]===137&&e[1]===80&&e[2]===78?`image/png`:e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255?`image/jpeg`:null}function sa(e){if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}if(e instanceof ArrayBuffer)return new Uint8Array(e.slice(0));if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength))}return Array.isArray(e)?Uint8Array.from(e):e&&typeof e==`object`?la(e):new Uint8Array}function ca(e){if(typeof e.byteLength==`number`)return e.byteLength;if(typeof e.length==`number`)return e.length;let t=-1;for(let n of Object.keys(e)){if(!/^\d+$/.test(n))continue;let e=Number(n);e>t&&(t=e)}return t+1}function la(e){let t=ca(e),n=new Uint8Array(t);for(let r=0;r<t;r++){let t=e[r];typeof t==`number`&&(n[r]=t&255)}return n}var ua=2,da=768,fa=class{computers=[];frames=new Map;listListeners=new Set;frameListeners=new Set;invocationListeners=new Set;sender=null;watchSubs=new Map;kernelWatch=new Map;nextWatchToken=1;invocations=new Map;list(){return this.computers.slice()}get(e){return this.computers.find(t=>t.id===e)??null}lastFrame(e){return this.frames.get(e)??null}onList(e){return this.listListeners.add(e),()=>this.listListeners.delete(e)}onFrame(e){return this.frameListeners.add(e),()=>this.frameListeners.delete(e)}onInvocations(e){return this.invocationListeners.add(e),()=>this.invocationListeners.delete(e)}setSender(e){this.sender=e}isWatching(e){return(this.watchSubs.get(e)?.length??0)>0}watchRefCount(e){return this.watchSubs.get(e)?.length??0}watch(e,t=ua,n=da){if(!this.sender)throw Error(`computers store has no kernel sender`);let r=this.nextWatchToken++,i=this.watchSubs.get(e)??[];return i.push({token:r,fps:t,maxWidth:n}),this.watchSubs.set(e,i),this.syncKernelWatch(e),r}unwatch(e,t){if(!this.sender)throw Error(`computers store has no kernel sender`);let n=this.watchSubs.get(e);if(!n?.length)return;let r=t===void 0?n.length-1:n.findIndex(e=>e.token===t);if(!(r<0)){if(n.splice(r,1),n.length===0){this.watchSubs.delete(e),this.kernelWatch.delete(e),this.sender({type:`computer-unwatch`,id:e});return}this.syncKernelWatch(e)}}syncKernelWatch(e){let t=this.watchSubs.get(e);if(!t?.length||!this.sender)return;let n=Math.max(...t.map(e=>e.fps)),r=Math.max(...t.map(e=>e.maxWidth)),i=this.kernelWatch.get(e);i&&i.fps===n&&i.maxWidth===r||(this.kernelWatch.set(e,{fps:n,maxWidth:r}),this.sender({type:`computer-watch`,id:e,fps:n,maxWidth:r}))}input(e,t){if(!this.sender)throw Error(`computers store has no kernel sender`);this.sender({type:`computer-input`,id:e,events:t})}recordInvocation(e,t){this.invocations.set(e,t);for(let e of[...this.invocationListeners])e()}newestInvocation(e){return this.invocations.get(e)??null}applyList(e){this.computers=e.computers.slice();let t=new Set(this.computers.map(e=>e.id));for(let e of[...this.invocations.keys()])t.has(e)||this.invocations.delete(e);for(let e of[...this.frames.keys()])t.has(e)||this.frames.delete(e);for(let e of[...this.listListeners])e(this.computers)}applyFrame(e){let t=this.frames.get(e.id);if(t&&t.seq>e.seq)return;let n={seq:e.seq,mime:e.mime,width:e.width,height:e.height,bytes:sa(e.bytes),...e.overCap?{overCap:!0}:{}};this.frames.set(e.id,n);for(let t of[...this.frameListeners])t(e.id,n)}},pa=null;function G(){return pa||=new fa,pa}var ma=`__slicc_binary__`,ha=`b64`;function ga(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[ma]===ha&&typeof t.data==`string`}function _a(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function va(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!ga(e)}function ya(e){if(e instanceof Uint8Array)return{[ma]:ha,data:p(e)};if(Array.isArray(e))return e.map(ya);if(_a(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=ya(r);return t}return e}function ba(e){if(ga(e))return m(e.data);if(Array.isArray(e))return e.map(ba);if(va(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=ba(r);return t}return e}var xa=t(`panel-transport`);function Sa(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Ca(){return{onMessage:e=>{let t=(t,n,r)=>(Sa(t)&&e(ba(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=ya(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{xa.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var wa={summarizing:`summarizing`,fallback:`fallback`,cancelled:`discarded`,idle:`summarized`},Ta=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:wa[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}},Ea=2e3,Da=5e3,K=t(`offscreen-client`),Oa=class{eventListeners=new Set;backgroundEventListeners=new Set;backgroundMessageId=new Map;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;compactionRows=new Ta(e=>`compaction-${e}-${q()}`);toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingWebhookDeliveries=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;streamThinkingByUnit=new Map;pendingModelAcks=new Map;pendingUserMessageAcks=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.handOverOpenMessages(this._selectedScoopJid,e),this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){K.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??Ca(),this.setupMessageListener(),G().setSender(e=>this.send(e))}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})}}}sendUserMessage(e){if(this.locked)return Promise.reject(Error(`This window is detached. Close it and use the detached tab.`));let t=`um-${q()}`,n=new Promise((e,n)=>{this.pendingUserMessageAcks.set(t,{resolve:e,reject:n})});this.send({type:`user-message`,requestId:t,scoopJid:e.scoopJid,text:e.text,messageId:e.messageId,...e.attachments?{attachments:[...e.attachments]}:{},...e.steer?{steer:!0}:{},...e.guestGate?{guestGate:e.guestGate}:{}});let r,i=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`the kernel did not answer in time`)),Da)});return Promise.race([n,i]).finally(()=>{r!==void 0&&clearTimeout(r),this.pendingUserMessageAcks.delete(t)})}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(!D(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&&D(t)&&T(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`})}reloadSkills(){this.send({type:`reload-skills`})}setScoopModel(e,t){let n=`model-${q()}`,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-${q()}`,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-${q()}`,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&&K.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`,reason:`unavailable`}),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}K.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-${q()}`,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),Ea))])}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){if(!this.applySurfacePush(e))switch(e.type){case`offscreen-ready`:this.ready?(K.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):K.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`user-message-ack`:this.handleUserMessageAck(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;ka(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event)}}applySurfacePush(e){if(e.type===`computers`)return G().applyList(e),!0;if(e.type===`computer-frame`)return G().applyFrame(e),!0;switch(e.type){case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:case`terminal-mode`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){K.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}return!0;default:return!1}}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}-${q()}`,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){this.translateTranscriptEvent(e,this.backgroundMessageId,t=>this.emitBackground(e.scoopJid,t));return}switch(e.eventType){case`tool_ui`:case`tool_ui_done`:case`tool_progress`:this.handleToolUiAgentEvent(e);break;default:this.translateTranscriptEvent(e,this.currentMessageId,e=>this.emitToUI(e))}}translateTranscriptEvent(e,t,n){let r=()=>{let r=t.get(e.scoopJid);return r||(r=`scoop-${e.scoopJid}-${q()}`,t.set(e.scoopJid,r),n({type:`message_start`,messageId:r})),r};switch(e.eventType){case`text_delta`:n({type:`content_delta`,messageId:r(),text:e.text??``});break;case`tool_start`:n({type:`tool_use_start`,messageId:r(),toolName:e.toolName??``,toolInput:e.toolInput,toolCallId:e.toolCallId});break;case`tool_end`:{let r=t.get(e.scoopJid);r&&n({type:`tool_result`,messageId:r,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError,toolCallId:e.toolCallId});break}case`response_done`:{let r=t.get(e.scoopJid);r&&(n({type:`content_done`,messageId:r,model:e.model,usage:e.usage}),t.delete(e.scoopJid));break}case`turn_end`:{let r=t.get(e.scoopJid)??`done-${e.scoopJid}-${q()}`;t.delete(e.scoopJid),n({type:`turn_end`,messageId:r});break}}}handOverOpenMessages(e,t){let n=(e,t)=>{t&&this.emitBackground(e,{type:`content_done`,messageId:t})};e&&n(e,this.currentMessageId.get(e)),t&&(n(t,this.backgroundMessageId.get(t)),this.backgroundMessageId.delete(t))}onBackgroundUnitEvent(e){return this.backgroundEventListeners.add(e),()=>this.backgroundEventListeners.delete(e)}emitBackground(e,t){for(let n of this.backgroundEventListeners)try{n(e,t)}catch(e){K.error(`Background listener error`,{error:e instanceof Error?e.message:String(e)})}}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.failure?{failure:e.failure}:{},...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=he(e),n=ve(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)}getStreamThinking(e){return this.streamThinkingByUnit.get(e)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&me(t,e.level===void 0?void 0:{level:e.level,effortOverride:e.effortOverride}),e.resolvedLevel&&this.streamThinkingByUnit.set(e.scoopJid,{level:e.resolvedLevel===`max`?`xhigh`:e.resolvedLevel,...e.resolvedEffortOverride?{effortOverride:e.resolvedEffortOverride}:{}})}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}handleUserMessageAck(e){let t=this.pendingUserMessageAcks.get(e.requestId);t&&(e.ok?t.resolve():t.reject(Error(e.error?.trim()||`the kernel refused the message`)))}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){K.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&&ka(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){let t={type:`error`,error:e.error,...e.endTurn===!1?{endTurn:!1}:{}};e.scoopJid===this.selectedScoopJid?this.emitToUI(t):e.scoopJid&&this.emitBackground(e.scoopJid,t)}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 _e({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){K.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 q(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function ka(e,t){$t({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),Le({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 Aa(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 ja={onAgentEvent:()=>()=>void 0,sendSprinkleLick:()=>void 0,sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.resolve(),emitAgentError:()=>void 0},Ma=`A follower cannot cancel the leader’s queued message`;function Na(e){return{onAgentEvent:e.onAgentEvent,sendSprinkleLick:(t,n,r)=>e.getSync()?.sendSprinkleLick(t,n,r),sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.reject(Error(Ma)),emitAgentError:e.onAgentError,readOnlyToolUi:!0}}function J(e){return!e.includes(`\0`)}function Pa(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(!J(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(!J(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),!J(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),!J(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(J(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 Fa(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 Ia(e){let t=Fa(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function La(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 Ra(e,t){for(let[n,r]of t)e.off(n,r),e.on(n,r)}var za=1e4;function Ba(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`)),za),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 Va(e,t,n={}){let r=Fa(e),i=null,a=n.reconnect?()=>(i||=(t.state===`connecting`?Ba(t):n.reconnect()).finally(()=>{i=null}),i):null,o=new Map,s=r.onMessage(e=>{La(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`&&(Ra(t,o),r.send({type:`cdp-ready`}))}});return()=>{s(),u?.();for(let[e,n]of o)t.off(e,n);o.clear()}}function Ha(){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}var Ua=5e3;function Wa(e){let t=null,n=!1,r=!1,i=!1,a=0,o=Date.now(),s,c=()=>{t!==null&&(clearTimeout(t),t=null)},l=()=>{c(),!(n||r||i)&&(t=setTimeout(()=>{if(n||r||i)return;if(a+=1,a<e.readyStallLimit){e.onReadyStall?.({elapsedMs:Date.now()-o,stalls:a,stage:s}),l();return}i=!0,c();let t=e.readyTimeoutMs*e.readyStallLimit,u=s?` (last progress: ${s})`:``;e.onExhausted(`Kernel worker did not signal ready within ${t}ms${u}`)},e.readyTimeoutMs))};return{pause(){r||i||(n=!0,c())},restart(){r||i||(n=!1,a=0,o=Date.now(),l())},arm:l,clear(){r=!0,c()},noteProgress(t){r||i||(t&&(s=t,e.onBootProgress?.(t)),!n&&(a=0,l()))},timedOut:()=>i}}function Ga(e,t,n){let r=()=>{},i=()=>{},a=()=>{};return{ready:new Promise((o,s)=>{let c=null,l=Wa({readyTimeoutMs:n,readyStallLimit:Math.max(1,t.readyStallLimit??(t.onReadyStall?3:1)),onReadyStall:t.onReadyStall,onBootProgress:t.onBootProgress,onExhausted:e=>{t.onLateReady||r(),s(Error(e))}});i=()=>l.pause(),a=()=>l.restart(),r=()=>{c!==null&&(e.removeEventListener(`message`,c),c=null),l.clear()},c=e=>{let n=e.data;if(n?.type===`kernel-worker-boot-progress`){l.noteProgress(n.stage);return}if(n?.type===`kernel-worker-ready`){if(r(),l.timedOut()){t.onLateReady?.();return}o();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),s(i)}},e.addEventListener(`message`,c),l.arm()}),cleanup:()=>r(),pauseReadyDeadline:()=>i(),restartReadyDeadline:()=>a()}}function Ka(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=Ia(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Va(o.port1,n,{...e.reconnectCdp?{reconnect:e.reconnectCdp}:{}}),{ready:u,cleanup:d,pauseReadyDeadline:f,restartReadyDeadline:p}=Ga(a.port1,e,r),m={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.256.20-mvu1ba38`,pageLoadedAt:globalThis.performance?.timeOrigin??Date.now(),flagFloat:e.flagFloat??null,appPageUrl:globalThis.location?.href??null};t.postMessage(m,[a.port2,o.port2]);let h=!1,g={client:c,ready:u,pauseReadyDeadline:f,restartReadyDeadline:p,drain:(e=Ua)=>qa(t,e,h).then(e=>(g.dispose(),e)),dispose(){if(!h){h=!0,d(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}};return g}function qa(e,t,n){if(n)return Promise.resolve(!0);if(typeof MessageChannel!=`function`)return Promise.resolve(!1);let r=new MessageChannel;return new Promise(n=>{let i=e=>{clearTimeout(a),r.port1.close(),n(e)},a=setTimeout(()=>i(!1),t);r.port1.onmessage=e=>{let t=e.data;t?.type===`kernel-worker-drained`&&i(t.ok===!0)};try{e.postMessage({type:`kernel-worker-drain`},[r.port2])}catch{i(!1)}})}function Ja(e){return Ka({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-DQZWnLpe.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,reconnectCdp:e.reconnectCdp,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Ha(),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,onBootProgress:e.onBootProgress})}var Y=null;function Ya(e){return Y=e,()=>{Y===e&&(Y=null)}}function Xa(){if(!Y)throw Error(`Export for SLICC 7 is only available in the SLICC 6 leader tab.`);return Y()}var Za=null;function Qa(e){return Za=e,()=>{Za===e&&(Za=null)}}function $a(e){return`error`in e}function X(){throw new Ee(`redaction-unavailable`)}function eo(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&X(),e.texts}function to(){return{async redact(e){let t;try{t=await fetch(se(`/api/secrets/redact-export`),{method:`POST`,headers:ce({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{X()}t.ok||X();let n;try{n=await t.json()}catch{X()}return eo(n,e.length)}}}function no(){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&&$a(t)&&X(),eo(t,e.length)}}}function ro(){return{async redact(e){let t;try{t=await Oe(`secrets.redact-export`,{texts:e})}catch{X()}return t??X(),typeof t==`object`&&t&&$a(t)&&X(),eo(t,e.length)}}}function io(){return{async redact(e){X()}}}function ao(){let e=De();return e===`connect`?io():e===`extension-direct`?no():e===`extension-delegate`?ro():to()}var oo=`Restoring session…`,so=`slicc-restoring-session`;function co(e){let t=e.querySelector(`:scope > .slicc-thread__inner`)??e;for(let e of t.children)if(!e.classList.contains(so))return!1;return!0}function lo(e,t){let n=e.querySelector(`:scope > .slicc-thread__inner`)??e,r=n.querySelector(`:scope > .${so}`);if(!t){r?.remove();return}if(r)return;let i=e.ownerDocument.createElement(`p`);i.className=so,i.textContent=oo,n.append(i)}function Z(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;default:return`idle`}}function uo(e,t={}){let n=Z(t.status),r=he(e);return{id:e.jid,parentId:e.parentJid,role:D(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 fo(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i=n?e.config:po(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 po(e,t){let n=be(e.workspace?.mode??e.config?.workspaceMode),r=e.workspace?.from??`/workspace`,i=we(n,t,{root:r},e.workspace?.from),a=e.config;return{...a,workspaceMode:n,visiblePaths:a?.visiblePaths===void 0?i.visiblePaths:a.visiblePaths,writablePaths:a?.writablePaths===void 0?i.writablePaths:a.writablePaths}}var mo=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,ho=`${mo}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,go=`${mo}border:none;background:#d23;color:#fff;`,_o=`${mo}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function vo(e,t,n){return{...fo({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function yo(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 bo(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 xo(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=()=>Wn(e.getUnits(),e.getSelected()),u=t=>e.getUnits().find(e=>e.id===t.jid)??uo(t),d=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},f=e=>{d();let t=yo(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=vo(t.name,n.getScoops(),Bn(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=bo(i,p);f({heading:`New cone`,body:e,actions:[{text:`Create`,style:ho,data:`create`,onClick:()=>p(e.readDraft())},{text:`Cancel`,style:_o,data:`cancel`,onClick:d}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},h=t=>{d();let i=T(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=T(n.getScoops()).find(e=>e.jid!==a.jid);t&&e.selectScoop(u(t))}o=!1,_()})()},g=e=>{let t=j(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:go,data:`drop`,onClick:()=>h(e.id)},{text:`Cancel`,style:_o,data:`cancel`,onClick:d}]})},_=()=>{let t=T(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||T(n.getScoops()).length<=1||o||g(e)}),_(),{refresh:_,dialog:()=>s}}var So={"gelatiere-dismiss":{consume:!0,mode:`dismiss`},"gelatiere-install":{consume:!1,mode:`take`},"gelatiere-try":{consume:!1,mode:`take`}};function Co(e){return t=>{if(t.type!==`sprinkle`||t.sprinkleName!==`welcome`&&t.sprinkleName!==`inline`&&t.sprinkleName!==`suggestions`)return!1;let n=t.body,r=So[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 s(()=>import(`./wc-shell-DUnQ3yem.js`).then(e=>e.rt),__vite__mapDeps([38,5,1,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47]));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 wo=5e3,To=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 uo(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)},wo)}}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)}}takeArrivedReplay(e){let t=this.orphanedReplays.get(e);if(!t)return null;let n=this.snapshotFor(e,t.messages,t.queuedIds);return n?(this.orphanedReplays.delete(e),this.lastSnapshots.set(e,n),n):null}snapshot(e){let t=this.deps.getClient();if(!t)return Promise.reject(Error(`kernel client not attached`));let n=this.takeArrivedReplay(e);if(n)return t.setSelectedScoopJid(e),Promise.resolve(n);let r=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,r);let i=()=>{},a=new Promise(e=>{i=e,r.add(e)});t.setSelectedScoopJid(e),t.requestScoopMessages(e);let o,s=new Promise(t=>{o=setTimeout(()=>{o=void 0;let n=this.pendingSnapshots.get(e)?.has(i)===!0;this.forgetWaiter(e,i),n&&this.recoverUnanswered(e),t(this.snapshotFor(e,[],void 0))},wo)});return Promise.race([a.then(e=>(o!==void 0&&(clearTimeout(o),o=void 0),e)),s]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getClient();if(!n)return Promise.reject(Error(`kernel client not attached`));let r=t.messageId??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return n.sendUserMessage({scoopJid:e,text:t.text,messageId:r,...t.attachments?{attachments:t.attachments}:{},...t.steer?{steer:!0}:{},...t.guestGate?{guestGate:t.guestGate}:{}})}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 To({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses,turns:e.turns}),e.workUnits}function Eo(e){let t=Q(e),n=()=>e.refreshScoops?.(),r=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),a=()=>{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=Rn(n,i);if(t){e.pendingUrlContext=null,e.selectScoop(t);return}}let a=Un(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),i!==a&&e.notifyUnitStatus?.(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(uo(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(),a()},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,i(String(n.content??``),600)),e.getSelected()?.id===t&&n.channel!==`web`&&Zt(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=Gn(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(),a(),e.notifyReady?.()}})}var Do=`slicc:leader-local-model-state-changed`;function Oo(e=window){e.dispatchEvent(new Event(Do))}var ko=`slicc:leader-model-catalog-changed`;function Ao(e=window){e.dispatchEvent(new Event(ko))}var jo={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Mo={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function No(e){return e?jo[e]:void 0}function Po(e){return e===`max`?`max`:void 0}function Fo(e,t){return t===`max`?`max`:(e&&Mo[e])??`off`}var Io=2e3,Lo=1e4,Ro=12e4;function zo(e){let t=[],n=null,r=new Map,i=e.modelPickerEnabled!==!1,a=e.catalogRetryDelayMs??Io,o=e.catalogRetryMaxDelayMs??Lo,s=e.catalogRetryWindowMs??Ro,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=We({attempt:c,baseMs:a,capMs: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=fe(n.activeModelId);return e&&r.set(t,e),n.activeModelId}let a=Bn(i,t,t?r.get(t):void 0);return t&&a&&r.set(t,a),a?pe(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`,Fo(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?fe(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=No(i),o=e.getSelectedScoopJid()??n?.scoopJid;o&&a&&a!==`max`&&r.setThinkingLevel(o,a,Po(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 Bo(e,t,n,r,i=Oo){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function Vo(e,t){return Hn(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||He(t.localStorage)}async function Ho(e,t,n,r,i){let a=zn(t),o=Kn(a);e.thread.setAttribute(`context`,qn(t));let c=Vn(t),l=et({isRoot:c,name:t.name});e.thread.setAttribute(`accent`,l),e.switcher.setAttribute(`active`,t.id),yt(e,c?{kind:`cone`}:{kind:`scoop`,accent:l}),gt(e,o);let u=localStorage.getItem(`slicc_locked_effort_level`),d=r?.(t.id);if(d||u){let t=d?ve(d):{};e.composerMeta.setAttribute(`thinking`,Fo(u??t.level,t.effortOverride))}if(!i?.skipModelPill)try{let{resolveCurrentModel:r,resolveModelById:i}=await s(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-CN0eXvpe.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([48,5,1,12,13,14,15,16,17,18,3,19,20,21,22,40,24,23,25,26,27,28,29,42,49,50])),a=Bn(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 Uo(e){if(Vo(e.pendingUrlContext,e.win))return;let t=Hn(e.pendingUrlContext);if(t===null)return;let[{CanonicalSessionReader:n},{WorkUnitConversationStore:r}]=await Promise.all([s(()=>import(`./sessions-Bd6uu3F5.js`).then(e=>e.n),__vite__mapDeps([51,5,13,33,34,26,1,52])),s(()=>import(`./store-DP4F8FwF.js`).then(e=>e.n),__vite__mapDeps([53,5,1,12,13,14,15,16,17,18,3,19,20,21,22,52,54,45]))]),i=await new n(new r).loadRootChatSession(t);i&&i.messages.length>0&&!e.hasSelection()&&(e.loadMessages(i.messages),e.onHydrated())}function Wo(e){let{boot:t,client:n,openReader:r,log:i}=e,{refs:a}=t;s(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-BO7LIBQk.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([55,12,5,1,13,14,15,16,17,18,3,19,20,21,22,37])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:a.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:a.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),Uo({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 s(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-BQmRGrD1.js`);return{wireWcAttach:e}},__vite__mapDeps([56,13,18,57])).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 s(async()=>{let{readSessionsIndex:e}=await Promise.resolve().then(()=>Kr);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)),s(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=No(r),o=Po(r),s=t.getSelected();s&&a&&Bo(n,s.id,a,o).catch(e=>i.warn(`local thinking update failed`,e))}),{getAttachStage:()=>o}}var Go=`slicc:leader-run-new-session`,Ko=`slicc:leader-broadcast-snapshot`;function qo(e){if(e.cone&&e.cone!==`cone`)return e.coneLabel||e.cone.replace(/^cone-/,``)}function Jo(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 Yo(e,t={}){let n=document.createElement(`slicc-freezer-card`);return n.setAttribute(`title`,e.title),n.setAttribute(`meta`,Jo(e)),n.setAttribute(`slug`,e.filename),e.icon&&n.setAttribute(`icon`,e.icon),t.deletable&&!e.live&&n.setAttribute(`deletable`,``),n}async function Xo(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&&await O(async()=>{let n=await A(e.reader);if(n.length===0)return!1;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});return await k(e.writer,r),!0}))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 Zo(e){let t=await Qo(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function Qo(e){try{return await dn(e)}catch{return{kind:`fault`}}}function $o(e,t){return O(async()=>{let n=await Qo(e);if(n.kind===`ok`)return n.entries;if(n.kind!==`corrupt`)return null;let r;try{r=await A(e)}catch{return null}return r.length===0?null:(await k(t,r),r)})}function es(e,t,n={}){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(e=>Yo(e,n)))}async function ts(e,t){let n=await e.readFile(Se(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=await gn(e,r,t.filename);return{title:i.title||t.title,messages:i.messages}}var ns=`Couldn't delete everything — try again.`;function rs(e,t){let n=e.createElement(`p`);return n.textContent=`“${t}” and its transcript will be deleted. Memories already learned from it are kept.`,n.style.cssText=`font-size:0.875rem;margin:0;`,n}function is(e){let t=e.parentElement?.querySelector(`[data-freezer-delete-error]`);t||(t=e.ownerDocument.createElement(`p`),t.setAttribute(`data-freezer-delete-error`,``),t.setAttribute(`role`,`alert`),t.style.cssText=`font-size:0.8125rem;margin:0.5rem 0 0;color:var(--s2-negative-color, #d23);`,e.after(t)),t.textContent=ns}function as(e,t){let n=e.ownerDocument;n.activeElement&&n.activeElement!==n.body||Array.from(e.querySelectorAll(`slicc-freezer-card`)).find(e=>e.getAttribute(`slug`)===t)?.querySelector(`.slicc-fzcard__delete`)?.focus()}function os(e){return e.sessionId?{filename:e.filename,sessionId:e.sessionId}:{filename:e.filename}}function ss(e){let t=e.freezer.ownerDocument,n=null,r=new Set,i=()=>{if(!n)return;let{slug:t,dialog:r}=n;n=null,r.hide?.(),r.remove(),as(e.freezer,t)},a=async(t,a,o)=>{let c=Array.from(a.querySelectorAll(`button[slot="footer"]`));for(let e of c)e.disabled=!0;r.add(t.filename);try{let{writer:r}=await e.openVfs(),{deleteFrozenSession:o}=await s(async()=>{let{deleteFrozenSession:e}=await import(`./frozen-session-delete-Cd8Hp2Od.js`);return{deleteFrozenSession:e}},__vite__mapDeps([58,1,33,5,34,26,36,37,59,32,35,60,13,41,61,12,14,15,16,17,18,3,19,20,21,22,23,24,25,27,28,29,62,38,39,40,42,43,44,31,45,46,47,63])),c=await o(r,os(t));if(c.status===`failed`)throw Error(c.errors.join(`; `));c.status===`deleted`?e.isViewing(t)&&e.leaveViewed(t):e.log.warn(`WC frozen chat delete skipped`,{filename:t.filename,...c}),n?.dialog===a&&i(),e.refreshFreezer()}catch(t){e.log.error(`WC frozen chat delete failed`,t),is(o);for(let e of c)e.disabled=!1}finally{r.delete(t.filename)}},o=o=>{if(n?.slug===o||r.has(o))return;let s=e.getEntries().find(e=>e.filename===o);if(!s||s.live)return;i();let c=rs(t,s.title),l=yo(t,{heading:`Delete frozen chat?`,body:c,actions:[{text:`Delete`,style:go,data:`delete`,onClick:()=>void a(s,l,c)},{text:`Cancel`,style:_o,data:`cancel`,onClick:i}],onDismiss:t=>{n?.dialog===t&&(n=null),t.remove(),as(e.freezer,o)}});n={slug:o,dialog:l},t.body.append(l),l.show?.()};return e.freezer.addEventListener(`freezer-card-delete`,e=>{let t=e.detail?.slug;t&&o(t)}),{dialog:()=>n?.dialog??null}}async function cs(e,t,n){let{getTranscriptExportService:r}=await s(async()=>{let{getTranscriptExportService:e}=await Promise.resolve().then(()=>Jn);return{getTranscriptExportService:e}},void 0);await r().captureFrozen({sessionId:t.sessionId??t.archive.sessionId??t.filename.replace(/\.md$/i,``),title:t.archive.title,frozenAt:t.archive.frozenAt,createdAt:t.archive.createdAt,updatedAt:t.archive.updatedAt,...e?{rootJid:e.jid}:{}},n)}function ls(e,t){if(t)return e.getScoops().find(e=>e.jid===t.id)}function us(e){return{folder:e.folder,label:j({assistantLabel:e.assistantLabel,name:e.name,role:D(e)?`primary`:`child`}),jid:e.jid}}async function ds(e){let{root:t}=e,n=t?us(t):void 0,r=(e,n)=>cs(t,e,n),i=t=>{try{e.client.reloadSkills()}catch(t){e.log.warn(`post-settle prompt reload failed`,t)}s(async()=>{let{notifyGelatiereOfSessionEnd:e}=await import(`./wc-gelatiere-CJpfn7Ca.js`);return{notifyGelatiereOfSessionEnd:e}},__vite__mapDeps([64,16,38,5,1,13,37,39,18,40,23,12,14,15,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47])).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 fs(e,t){e!==`erase`&&await ds({...t,action:e})}async function ps(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(Ko)),s(async()=>{let{resetDictationPriming:e}=await import(`./dictation-priming-BHJC0hch.js`).then(e=>e.r);return{resetDictationPriming:e}},__vite__mapDeps([37,5])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function ms(e,t){(e.thread.inner??e.thread).prepend(hs(e.thread.ownerDocument,t)),e.thread.setAttribute(`accent`,bt),yt(e,{kind:`freezer`}),e.inputCard.setAttribute(`disabled`,``),e.switcher.removeAttribute(`active`)}function hs(e,t){let n=t?qo(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}async function gs(e,t,n){let r=await Zo(e);return r===null?(await Qo(e)).kind===`corrupt`?(n.warn(`WC freezer index corrupt — rebuilding from archives`),$o(e,t)):null:r}function _s(e,t,n){!e.busy&&n.some(e=>!e.icon&&!e.pendingEnrichment)&&(e.busy=!0,s(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-BgX8DGOf.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,5,1,12,13,14,15,16,17,18,3,19,20,21,22,23,24,25,26,27,28,29,30,31])).then(({pickLucideIcon:e})=>Xo({reader:t.reader,writer:t.writer,freezer:t.freezer,entries:n,pickIcon:t=>e({subject:t})})).catch(e=>t.log.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{e.busy=!1}))}function vs(e,t,n){let r=e.getAttribute(`context`)??``;return r===`freezer:${t.filename}`||r.startsWith(`freezer:`)&&!!t.sessionId&&!mn(t.sessionId)&&n===t.sessionId}function ys(e){let{refs:t,openVfs:n,client:r,getController:i,getSelected:a,clearSelection:o,log:c}=e,l=[],u=null,f=t=>{u=null,e.selectScoop(t)},p=0,m={busy:!1},h=()=>{let e=++p;n().then(async({reader:n,writer:r})=>{let i=await gs(n,r,c);i!==null&&e===p&&(l=i,es(t.freezer,i,{deletable:!0}),_s(m,{reader:n,writer:r,freezer:t.freezer,log:c},i))}).catch(e=>c.error(`WC freezer refresh failed`,e))},g=!1,_=()=>t.freezer.querySelector(`slicc-freezer-new`),v=t=>{g||(g=!0,_()?.setAttribute(`busy`,``),(async()=>{let o=ls(r,Wn(e.getUnits(),a()));try{let{writer:a}=await n(),{resetNewSessionTmp:l,runNewSessionFreeze:u,runNewSessionFreezeQuick:d}=await s(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-Bz-zsmnA.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([65,1,13,16,23,12,5,14,15,17,18,3,19,20,21,22,24,25,26,27,28,29,48,40,42,49,50,30,51,33,34,52,53,54,45,58,36,37,59,32,35,60,41,61,62,38,39,43,44,31,46,47,63]));await fs(t,{writer:a,root:o,client:r,freezerNew:_,refreshFreezer:h,runNewSessionFreeze:u,runNewSessionFreezeQuick:d,log:c}),await ps({writer:a,root:o,client:r,getController:i,log:c,resetNewSessionTmp:l,tmpDir:ue(r.getScoops(),o),discardLiveSnapshot:t===`erase`}),h();let p=e.getUnits().find(e=>e.id===o?.jid)??Un(e.getUnits());p&&f(p)}catch(e){c.error(`WC new session failed`,e)}finally{g=!1;let e=_();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])t.freezer.addEventListener(`new-chat-${e}`,()=>v(e));let y=async e=>{let{writer:t}=await n(),{runNewSessionArchiveOnly:r}=await s(async()=>{let{runNewSessionArchiveOnly:e}=await import(`./new-session-Bz-zsmnA.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([65,1,13,16,23,12,5,14,15,17,18,3,19,20,21,22,24,25,26,27,28,29,48,40,42,49,50,30,51,33,34,52,53,54,45,58,36,37,59,32,35,60,41,61,62,38,39,43,44,31,46,47,63]));await r({vfs:t,cone:us(e),captureCompleteSnapshot:(t,n)=>cs(e,t,n)}),h()};d(`agentic-memory`)&&_()?.setAttribute(`no-skip`,``),window.addEventListener(Go,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&v(t)});let b=async r=>{let s=l.find(e=>e.filename===r);try{let{reader:a}=await n();s||=(await Zo(a)??[]).find(e=>e.filename===r);let{messages:c}=await ts(a,s??{filename:r,title:r,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${s?.filename??r}`),u=s?.sessionId??s?.filename??null,e.holdQueuedPile(),i()?.loadMessages(c),ms(t,s),o()}catch(t){if(c.error(`WC thaw failed`,t),!a()){let t=Ln(e.getUnits(),s?.cone);t&&f(t)}}};return t.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&b(t)}),ss({freezer:t.freezer,openVfs:n,getEntries:()=>l,isViewing:e=>vs(t.thread,e,u),leaveViewed:t=>{i()?.loadMessages([]),u=null;let n=Ln(e.getUnits(),t.cone);n&&f(n)},refreshFreezer:h,log:c}),{refreshFreezer:h,openFrozen:b,getViewedFrozenSessionId:()=>u,freezeCone:y}}t(`scoops.tray-leave`),t(`scoops.tray-join`);var bs=null;function xs(e){bs=e}function Ss(){return bs?.()??[]}var Cs=null;function ws(e){Cs=e}function Ts(){return Cs??void 0}var Es=`slicc.leaderTrayFollowers`;function Ds(){return Os()}function Os(){if(bs)return bs();try{let e=globalThis.localStorage?.getItem(Es);if(e)return JSON.parse(e)}catch{}return[]}function ks(e,t=globalThis.localStorage){try{t?.setItem(Es,JSON.stringify(e))}catch{}}function As(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 js(e){let t=Re();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:qe(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=en();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=Be(e.getItem(ze))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function Ms(e){let{client:t,openReader:n,storage:r}=e;return{getScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await s(async()=>{let{getAllCronTasks:e}=await import(`./db-CIXZItfi.js`).then(e=>e.n);return{getAllCronTasks:e}},__vite__mapDeps([66,5]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await s(async()=>{let{getAllWebhooks:e}=await import(`./db-CIXZItfi.js`).then(e=>e.n);return{getAllWebhooks:e}},__vite__mapDeps([66,5]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await s(async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e,loadMountHandle:t}},__vite__mapDeps([67,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 n()).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 n of re()){if(e.has(n.providerId))continue;if(e.add(n.providerId),!te(n.providerId)?.isOAuth){t.push({providerId:n.providerId});continue}let r=C(n.providerId),i=n.loggedOut?!1:r?!r.expired:!1;t.push({providerId:n.providerId,valid:i})}return t}catch{return[]}},getSessionStats:async()=>t.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await n()).readFile(`/proc/table`,{encoding:`utf-8`});return As(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>js(r),getConnectedFollowers:Ss}}var Ns=`sync-fs-nonce`;function Ps(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:Ns,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 Fs=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 Is(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 Ls=`question`;function Rs(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||void 0}catch{return}}function zs(e,t,n){let r=e=>{let r=e.detail;if(!r||typeof r.answer!=`string`)return;let{question:i,kind:a,answer:o}=r,s=a===`datetime`||a===`date`?Rs():void 0;t(Ls,{action:`answer`,data:{question:i,kind:a,answer:o,...s?{timeZone:s}:{}}},void 0,n()??void 0)};return e.addEventListener(ht,r),()=>e.removeEventListener(ht,r)}var Bs=`<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 Vs(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 Hs(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(Bs));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=Vs(e.getMessages());await t(n??sn([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=sn([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function $(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Us(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 Ws(e){return`
|
|
243
|
+
`}\n${s}\n\n${n}\n`;await e.writeFile(a,o+c);try{await Nn({vfs:e,memoryPath:a,model:i?.model,apiKey:i?.apiKey,headers:i?.headers,signal:i?.signal})}catch(e){U.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function Ci(e){return(await Te(e)).filter(e=>(e.pendingEnrichment===!0||e.memoryPending===!0)&&Ti(e)<3)}async function wi(e){let t={attempted:0,completed:0};if(!e.model||!e.apiKey)return t;try{for(let t of await Te(e.vfs))t.memoryPending===!0&&t.memoryFailed===void 0&&Ti(t)>=3&&await Hi(e.vfs,t.filename,`catch-up retries exhausted (3)`);let n=await Ci(e.vfs);for(let r of n)try{let n=await Vi(e.vfs,r.filename);if(!n)continue;t.attempted+=1,await Ei(e.vfs,n,{model:e.model,apiKey:e.apiKey,headers:e.headers})&&(t.completed+=1)}catch(e){U.warn(`Pending session catch-up attempt failed`,{filename:r.filename,error:e instanceof Error?e.message:String(e)})}}catch(e){U.warn(`Pending session catch-up failed`,{error:e instanceof Error?e.message:String(e)})}return t}function Ti(e){let t=e.pendingAttemptCount;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:0}async function Ei(e,t,n){if(!t.pendingEnrichment&&!t.memoryPending)return null;let r=await ji(e,t);if(r===null)return null;let i=await Mi(e,t,r);if(i===null)return null;let{agentMessages:a}=i,o=await Ni(e,t,i.chatMessages,n),s=o.curatorAlreadyRan,c=s||t.memorySkipped===!0?{...n,skipMemory:!0}:n,l=await Fi(t,a,c,o.memoryMessages);if(l===null)return null;let u=await Ai(c,l.newTitle);await Ii(e,t,l.bullets,c);let d=await Ri(e,t,r,l.newTitle,u,n.skipMemory===!0,c.skipMemory!==!0);return d&&s&&(await ki(e,t.filename),await Ui(e,d.filename),await Di(e,t.filename)),d}async function Di(e,t){for(let n of[Tn(`/sessions/${t}`),Mn(`/sessions/${t}`)])try{await e.rm(n)}catch{}}async function Oi(e,t){try{return await e.stat(En(`/sessions/${t.filename}`)),!0}catch{return!1}}async function ki(e,t){try{await e.rm(En(`/sessions/${t}`))}catch{}}async function Ai(e,t){if(e.pickIcon)try{return await ti(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){U.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function ji(e,t){try{let n=await e.readFile(Se(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?U.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):U.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}async function Mi(e,t,n){let r;try{r=(await gn(e,n,t.filename)).messages}catch(e){return U.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?(U.info(`Pending archive has no messages — skipping enrichment`,{filename:t.filename}),null):{agentMessages:yi(r),chatMessages:r}}async function Ni(e,t,n,r){let i=yi([...n]);if(r.skipMemory===!0||t.memoryPending!==!0)return{curatorAlreadyRan:!1,memoryMessages:i};if(await Oi(e,t))return{curatorAlreadyRan:!0,memoryMessages:i};let a=await On(e,t,n);return a.caughtUp?{curatorAlreadyRan:!0,memoryMessages:i}:a.through>0?{curatorAlreadyRan:!1,memoryMessages:i.filter(e=>Pi(e)>a.through)}:{curatorAlreadyRan:!1,memoryMessages:i}}function Pi(e){let t=e.timestamp;return typeof t==`number`?t:0}async function Fi(e,t,i,o=t){let s=``;if(!i.skipMemory)try{s=await a({messages:o,instruction:n,model:i.model,apiKey:i.apiKey,maxTokens:Jr,headers:i.headers})}catch(t){return U.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let c=``;try{c=bi(await a({messages:t,instruction:r,model:i.model,apiKey:i.apiKey,maxTokens:Yr,headers:i.headers}))}catch(t){return U.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return c?{bullets:s,newTitle:c}:(U.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function Ii(e,t,n,r){let i=n.trim();if(i&&i!==`NONE`)try{await Si(e,hi(t.cone||`cone`),i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){U.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}function Li(e,t,n,r,i,a){let o=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}:{},...xe(e,{dropFailure:a}),...o?{icon:o}:{},...e.completeSnapshotUnavailable?{completeSnapshotUnavailable:!0}:{},...i&&e.memoryPending?{memoryPending:!0}:{}}}async function Ri(e,t,n,r,i,a=!1,o=!1){let s=Se(t),c=rn(t.filename),l=c?r:t.title,u=c?`${t.frozenAt.replace(/[:.]/g,`-`)}-${on(r)}.md`:t.filename,d=`${E}/${u}`;if(c)try{await xi(e,E);let r=zi(n,l),i=hn(t.filename),a=hn(u),o=an(r,s,d);if(o=an(o,i,a),i!==a){let e=i.slice(i.lastIndexOf(`/`)+1),t=a.slice(a.lastIndexOf(`/`)+1);o=o.split(`sidecar: ${e}`).join(`sidecar: ${t}`)}await e.writeFile(d,o),await vn(e,t.filename,u)}catch(e){return U.warn(`Enrichment write failed (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}let f=Li(t,u,l,i,a,o);if(!await Ji(e,t,f))return null;if(d!==s){try{await e.rm(s)}catch(e){U.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:s,error:e instanceof Error?e.message:String(e)})}try{await _n(e,t.filename)}catch(e){U.info(`Stale pending sidecar cleanup failed (harmless)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}try{await e.flush()}catch{}return U.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:u,title:l}),f}function zi(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 Bi(e,t){let n=null,r=O(async()=>{let r=await A(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 k(e,d),await e.flush(),n=u});try{await r}catch(e){U.warn(`Failed to clear agentic memory pending marker`,{filename:t,error:e instanceof Error?e.message:String(e)})}return n}async function Vi(e,t){let n=null;return await O(async()=>{let r=await A(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r[i];if(!a.pendingEnrichment&&!a.memoryPending)return;let o=Ti(a);if(o>=3)return;n={...a,pendingAttemptCount:o+1};let s=r.slice();s[i]=n,await k(e,s),await e.flush()}),n}async function Hi(e,t,n){let r=O(async()=>{let r=await A(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 k(e,a),await e.flush()});try{await r}catch(e){U.warn(`Failed to record curator failure in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Ui(e,t){let n=O(async()=>{let n=await A(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 k(e,o),await e.flush()});try{await n}catch(e){U.warn(`Failed to record curator completion in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Wi(e,t,n){return O(async()=>{let r=await A(e),i=r.findIndex(e=>e.filename===t);if(i!==-1){let t=r.slice();t[i]=n;let a=t.filter((e,t)=>t===i||e.filename!==n.filename);return await k(e,a),`replaced`}let a=await Gi(e,r,t,n);if(a===`prepended`){let t=[n,...r.filter(e=>e.filename!==n.filename)];await k(e,t)}else if(a===`replaced`){let t=r.map(e=>e.filename===n.filename?n:e);await k(e,t)}else await qi(e,r,t,n.filename);return a})}async function Gi(e,t,n,r){if(t.some(e=>e.filename===r.filename))return`replaced`;let i=r.sessionId;return(i&&!mn(i)?t.filter(e=>e.sessionId===i):[]).length===1?`superseded`:await Ki(e,`/sessions/${n}`)?`prepended`:`deleted`}async function Ki(e,t){try{return await e.stat(t),!0}catch(e){return e?.code!==`ENOENT`}}async function qi(e,t,n,r){if(r===n||t.some(e=>e.filename===r))return;let i=`${E}/${r}`;try{await e.rm(i)}catch(e){e?.code!==`ENOENT`&&U.warn(`Enrichment could not drop its renamed copy`,{path:i,error:e})}let a=hn(r);try{await _n(e,r)}catch(e){e?.code!==`ENOENT`&&U.warn(`Enrichment could not drop its renamed copy`,{path:a,error:e})}}async function Ji(e,t,n){let r;try{r=await Wi(e,t.filename,n)}catch(e){return U.warn(`Enrichment index update failed (entry may stay pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),!1}return r===`superseded`||r===`deleted`?(U.info(`Enrichment dropped — the session changed during the pass`,{filename:t.filename,outcome:r}),!1):!0}async function Yi(e,t){return O(async()=>{let n=await A(e);if(!n.find(e=>e.filename===t))return;let r=n.map(e=>e.filename===t?{...e,completeSnapshotUnavailable:!0}:e);await k(e,r)})}var Xi=`slicc:followers-changed`;function Zi(e){let t=e.replace(/^follower-/,``);return t.length>12?`${t.slice(0,8)}…`:t}function Qi(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 $i(e){return e.floatType===`ios`?`smartphone`:e.floatType===`electron`||e.floatType===`standalone`?`monitor`:e.floatType===`extension`?`blocks`:e.runtime?.includes(`cli`)?`terminal`:`radio`}function ea(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 W(e){return e.health===`stalled`?`warn`:e.peerState===`connecting`?`idle`:e.peerState===`connected`&&e.health===`live`?`active`:`idle`}function ta(e,t=Date.now()){let n=e.health===`stalled`?`stalled`:e.peerState===`connecting`?`connecting`:`connected`,r=ea(e.connectedAt,t);return r?`${n} ${r}`:n}function na(e){let t=[];return e.exec&&t.push(`can run commands`),e.computer&&t.push(`native screen`),e.cdp&&t.push(`hosts tabs`),t}function ra(e){return`${Qi(e)} · ${Zi(e.runtimeId)}`}function ia(e){return e.motd??e.runtime??void 0}function aa(e,t=Date.now()){return e.map(e=>({id:e.runtimeId,icon:$i(e),title:ra(e),detail:ia(e),state:W(e),stateText:ta(e,t),chips:na(e)}))}function oa(e){return e.length>=8&&e[0]===137&&e[1]===80&&e[2]===78?`image/png`:e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255?`image/jpeg`:null}function sa(e){if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}if(e instanceof ArrayBuffer)return new Uint8Array(e.slice(0));if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength))}return Array.isArray(e)?Uint8Array.from(e):e&&typeof e==`object`?la(e):new Uint8Array}function ca(e){if(typeof e.byteLength==`number`)return e.byteLength;if(typeof e.length==`number`)return e.length;let t=-1;for(let n of Object.keys(e)){if(!/^\d+$/.test(n))continue;let e=Number(n);e>t&&(t=e)}return t+1}function la(e){let t=ca(e),n=new Uint8Array(t);for(let r=0;r<t;r++){let t=e[r];typeof t==`number`&&(n[r]=t&255)}return n}var ua=2,da=768,fa=class{computers=[];frames=new Map;listListeners=new Set;frameListeners=new Set;invocationListeners=new Set;sender=null;watchSubs=new Map;kernelWatch=new Map;nextWatchToken=1;invocations=new Map;list(){return this.computers.slice()}get(e){return this.computers.find(t=>t.id===e)??null}lastFrame(e){return this.frames.get(e)??null}onList(e){return this.listListeners.add(e),()=>this.listListeners.delete(e)}onFrame(e){return this.frameListeners.add(e),()=>this.frameListeners.delete(e)}onInvocations(e){return this.invocationListeners.add(e),()=>this.invocationListeners.delete(e)}setSender(e){this.sender=e}isWatching(e){return(this.watchSubs.get(e)?.length??0)>0}watchRefCount(e){return this.watchSubs.get(e)?.length??0}watch(e,t=ua,n=da){if(!this.sender)throw Error(`computers store has no kernel sender`);let r=this.nextWatchToken++,i=this.watchSubs.get(e)??[];return i.push({token:r,fps:t,maxWidth:n}),this.watchSubs.set(e,i),this.syncKernelWatch(e),r}unwatch(e,t){if(!this.sender)throw Error(`computers store has no kernel sender`);let n=this.watchSubs.get(e);if(!n?.length)return;let r=t===void 0?n.length-1:n.findIndex(e=>e.token===t);if(!(r<0)){if(n.splice(r,1),n.length===0){this.watchSubs.delete(e),this.kernelWatch.delete(e),this.sender({type:`computer-unwatch`,id:e});return}this.syncKernelWatch(e)}}syncKernelWatch(e){let t=this.watchSubs.get(e);if(!t?.length||!this.sender)return;let n=Math.max(...t.map(e=>e.fps)),r=Math.max(...t.map(e=>e.maxWidth)),i=this.kernelWatch.get(e);i&&i.fps===n&&i.maxWidth===r||(this.kernelWatch.set(e,{fps:n,maxWidth:r}),this.sender({type:`computer-watch`,id:e,fps:n,maxWidth:r}))}input(e,t){if(!this.sender)throw Error(`computers store has no kernel sender`);this.sender({type:`computer-input`,id:e,events:t})}recordInvocation(e,t){this.invocations.set(e,t);for(let e of[...this.invocationListeners])e()}newestInvocation(e){return this.invocations.get(e)??null}applyList(e){this.computers=e.computers.slice();let t=new Set(this.computers.map(e=>e.id));for(let e of[...this.invocations.keys()])t.has(e)||this.invocations.delete(e);for(let e of[...this.frames.keys()])t.has(e)||this.frames.delete(e);for(let e of[...this.listListeners])e(this.computers)}applyFrame(e){let t=this.frames.get(e.id);if(t&&t.seq>e.seq)return;let n={seq:e.seq,mime:e.mime,width:e.width,height:e.height,bytes:sa(e.bytes),...e.overCap?{overCap:!0}:{}};this.frames.set(e.id,n);for(let t of[...this.frameListeners])t(e.id,n)}},pa=null;function G(){return pa||=new fa,pa}var ma=`__slicc_binary__`,ha=`b64`;function ga(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[ma]===ha&&typeof t.data==`string`}function _a(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function va(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!ga(e)}function ya(e){if(e instanceof Uint8Array)return{[ma]:ha,data:p(e)};if(Array.isArray(e))return e.map(ya);if(_a(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=ya(r);return t}return e}function ba(e){if(ga(e))return m(e.data);if(Array.isArray(e))return e.map(ba);if(va(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=ba(r);return t}return e}var xa=t(`panel-transport`);function Sa(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Ca(){return{onMessage:e=>{let t=(t,n,r)=>(Sa(t)&&e(ba(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=ya(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{xa.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var wa={summarizing:`summarizing`,fallback:`fallback`,cancelled:`discarded`,idle:`summarized`},Ta=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:wa[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}},Ea=2e3,Da=5e3,K=t(`offscreen-client`),Oa=class{eventListeners=new Set;backgroundEventListeners=new Set;backgroundMessageId=new Map;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;compactionRows=new Ta(e=>`compaction-${e}-${q()}`);toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingWebhookDeliveries=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;streamThinkingByUnit=new Map;pendingModelAcks=new Map;pendingUserMessageAcks=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.handOverOpenMessages(this._selectedScoopJid,e),this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){K.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??Ca(),this.setupMessageListener(),G().setSender(e=>this.send(e))}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})}}}sendUserMessage(e){if(this.locked)return Promise.reject(Error(`This window is detached. Close it and use the detached tab.`));let t=`um-${q()}`,n=new Promise((e,n)=>{this.pendingUserMessageAcks.set(t,{resolve:e,reject:n})});this.send({type:`user-message`,requestId:t,scoopJid:e.scoopJid,text:e.text,messageId:e.messageId,...e.attachments?{attachments:[...e.attachments]}:{},...e.steer?{steer:!0}:{},...e.guestGate?{guestGate:e.guestGate}:{}});let r,i=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`the kernel did not answer in time`)),Da)});return Promise.race([n,i]).finally(()=>{r!==void 0&&clearTimeout(r),this.pendingUserMessageAcks.delete(t)})}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(!D(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&&D(t)&&T(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`})}reloadSkills(){this.send({type:`reload-skills`})}setScoopModel(e,t){let n=`model-${q()}`,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-${q()}`,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-${q()}`,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&&K.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`,reason:`unavailable`}),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}K.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-${q()}`,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),Ea))])}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){if(!this.applySurfacePush(e))switch(e.type){case`offscreen-ready`:this.ready?(K.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):K.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`user-message-ack`:this.handleUserMessageAck(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;ka(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event)}}applySurfacePush(e){if(e.type===`computers`)return G().applyList(e),!0;if(e.type===`computer-frame`)return G().applyFrame(e),!0;switch(e.type){case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:case`terminal-mode`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){K.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}return!0;default:return!1}}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}-${q()}`,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){this.translateTranscriptEvent(e,this.backgroundMessageId,t=>this.emitBackground(e.scoopJid,t));return}switch(e.eventType){case`tool_ui`:case`tool_ui_done`:case`tool_progress`:this.handleToolUiAgentEvent(e);break;default:this.translateTranscriptEvent(e,this.currentMessageId,e=>this.emitToUI(e))}}translateTranscriptEvent(e,t,n){let r=()=>{let r=t.get(e.scoopJid);return r||(r=`scoop-${e.scoopJid}-${q()}`,t.set(e.scoopJid,r),n({type:`message_start`,messageId:r})),r};switch(e.eventType){case`text_delta`:n({type:`content_delta`,messageId:r(),text:e.text??``});break;case`tool_start`:n({type:`tool_use_start`,messageId:r(),toolName:e.toolName??``,toolInput:e.toolInput,toolCallId:e.toolCallId});break;case`tool_end`:{let r=t.get(e.scoopJid);r&&n({type:`tool_result`,messageId:r,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError,toolCallId:e.toolCallId});break}case`response_done`:{let r=t.get(e.scoopJid);r&&(n({type:`content_done`,messageId:r,model:e.model,usage:e.usage}),t.delete(e.scoopJid));break}case`turn_end`:{let r=t.get(e.scoopJid)??`done-${e.scoopJid}-${q()}`;t.delete(e.scoopJid),n({type:`turn_end`,messageId:r});break}}}handOverOpenMessages(e,t){let n=(e,t)=>{t&&this.emitBackground(e,{type:`content_done`,messageId:t})};e&&n(e,this.currentMessageId.get(e)),t&&(n(t,this.backgroundMessageId.get(t)),this.backgroundMessageId.delete(t))}onBackgroundUnitEvent(e){return this.backgroundEventListeners.add(e),()=>this.backgroundEventListeners.delete(e)}emitBackground(e,t){for(let n of this.backgroundEventListeners)try{n(e,t)}catch(e){K.error(`Background listener error`,{error:e instanceof Error?e.message:String(e)})}}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.failure?{failure:e.failure}:{},...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=he(e),n=ve(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)}getStreamThinking(e){return this.streamThinkingByUnit.get(e)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&me(t,e.level===void 0?void 0:{level:e.level,effortOverride:e.effortOverride}),e.resolvedLevel&&this.streamThinkingByUnit.set(e.scoopJid,{level:e.resolvedLevel===`max`?`xhigh`:e.resolvedLevel,...e.resolvedEffortOverride?{effortOverride:e.resolvedEffortOverride}:{}})}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}handleUserMessageAck(e){let t=this.pendingUserMessageAcks.get(e.requestId);t&&(e.ok?t.resolve():t.reject(Error(e.error?.trim()||`the kernel refused the message`)))}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){K.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&&ka(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){let t={type:`error`,error:e.error,...e.endTurn===!1?{endTurn:!1}:{}};e.scoopJid===this.selectedScoopJid?this.emitToUI(t):e.scoopJid&&this.emitBackground(e.scoopJid,t)}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 _e({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){K.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 q(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function ka(e,t){$t({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),Le({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 Aa(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 ja={onAgentEvent:()=>()=>void 0,sendSprinkleLick:()=>void 0,sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.resolve(),emitAgentError:()=>void 0},Ma=`A follower cannot cancel the leader’s queued message`;function Na(e){return{onAgentEvent:e.onAgentEvent,sendSprinkleLick:(t,n,r)=>e.getSync()?.sendSprinkleLick(t,n,r),sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.reject(Error(Ma)),emitAgentError:e.onAgentError,readOnlyToolUi:!0}}function J(e){return!e.includes(`\0`)}function Pa(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(!J(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(!J(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),!J(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),!J(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(J(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 Fa(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 Ia(e){let t=Fa(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function La(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 Ra(e,t){for(let[n,r]of t)e.off(n,r),e.on(n,r)}var za=1e4;function Ba(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`)),za),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 Va(e,t,n={}){let r=Fa(e),i=null,a=n.reconnect?()=>(i||=(t.state===`connecting`?Ba(t):n.reconnect()).finally(()=>{i=null}),i):null,o=new Map,s=r.onMessage(e=>{La(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`&&(Ra(t,o),r.send({type:`cdp-ready`}))}});return()=>{s(),u?.();for(let[e,n]of o)t.off(e,n);o.clear()}}function Ha(){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}var Ua=5e3;function Wa(e){let t=null,n=!1,r=!1,i=!1,a=0,o=Date.now(),s,c=()=>{t!==null&&(clearTimeout(t),t=null)},l=()=>{c(),!(n||r||i)&&(t=setTimeout(()=>{if(n||r||i)return;if(a+=1,a<e.readyStallLimit){e.onReadyStall?.({elapsedMs:Date.now()-o,stalls:a,stage:s}),l();return}i=!0,c();let t=e.readyTimeoutMs*e.readyStallLimit,u=s?` (last progress: ${s})`:``;e.onExhausted(`Kernel worker did not signal ready within ${t}ms${u}`)},e.readyTimeoutMs))};return{pause(){r||i||(n=!0,c())},restart(){r||i||(n=!1,a=0,o=Date.now(),l())},arm:l,clear(){r=!0,c()},noteProgress(t){r||i||(t&&(s=t,e.onBootProgress?.(t)),!n&&(a=0,l()))},timedOut:()=>i}}function Ga(e,t,n){let r=()=>{},i=()=>{},a=()=>{};return{ready:new Promise((o,s)=>{let c=null,l=Wa({readyTimeoutMs:n,readyStallLimit:Math.max(1,t.readyStallLimit??(t.onReadyStall?3:1)),onReadyStall:t.onReadyStall,onBootProgress:t.onBootProgress,onExhausted:e=>{t.onLateReady||r(),s(Error(e))}});i=()=>l.pause(),a=()=>l.restart(),r=()=>{c!==null&&(e.removeEventListener(`message`,c),c=null),l.clear()},c=e=>{let n=e.data;if(n?.type===`kernel-worker-boot-progress`){l.noteProgress(n.stage);return}if(n?.type===`kernel-worker-ready`){if(r(),l.timedOut()){t.onLateReady?.();return}o();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),s(i)}},e.addEventListener(`message`,c),l.arm()}),cleanup:()=>r(),pauseReadyDeadline:()=>i(),restartReadyDeadline:()=>a()}}function Ka(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=Ia(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Va(o.port1,n,{...e.reconnectCdp?{reconnect:e.reconnectCdp}:{}}),{ready:u,cleanup:d,pauseReadyDeadline:f,restartReadyDeadline:p}=Ga(a.port1,e,r),m={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.256.21-mvu6vi8j`,pageLoadedAt:globalThis.performance?.timeOrigin??Date.now(),flagFloat:e.flagFloat??null,appPageUrl:globalThis.location?.href??null};t.postMessage(m,[a.port2,o.port2]);let h=!1,g={client:c,ready:u,pauseReadyDeadline:f,restartReadyDeadline:p,drain:(e=Ua)=>qa(t,e,h).then(e=>(g.dispose(),e)),dispose(){if(!h){h=!0,d(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}};return g}function qa(e,t,n){if(n)return Promise.resolve(!0);if(typeof MessageChannel!=`function`)return Promise.resolve(!1);let r=new MessageChannel;return new Promise(n=>{let i=e=>{clearTimeout(a),r.port1.close(),n(e)},a=setTimeout(()=>i(!1),t);r.port1.onmessage=e=>{let t=e.data;t?.type===`kernel-worker-drained`&&i(t.ok===!0)};try{e.postMessage({type:`kernel-worker-drain`},[r.port2])}catch{i(!1)}})}function Ja(e){return Ka({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-965_891X.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,reconnectCdp:e.reconnectCdp,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Ha(),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,onBootProgress:e.onBootProgress})}var Y=null;function Ya(e){return Y=e,()=>{Y===e&&(Y=null)}}function Xa(){if(!Y)throw Error(`Export for SLICC 7 is only available in the SLICC 6 leader tab.`);return Y()}var Za=null;function Qa(e){return Za=e,()=>{Za===e&&(Za=null)}}function $a(e){return`error`in e}function X(){throw new Ee(`redaction-unavailable`)}function eo(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&X(),e.texts}function to(){return{async redact(e){let t;try{t=await fetch(se(`/api/secrets/redact-export`),{method:`POST`,headers:ce({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{X()}t.ok||X();let n;try{n=await t.json()}catch{X()}return eo(n,e.length)}}}function no(){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&&$a(t)&&X(),eo(t,e.length)}}}function ro(){return{async redact(e){let t;try{t=await Oe(`secrets.redact-export`,{texts:e})}catch{X()}return t??X(),typeof t==`object`&&t&&$a(t)&&X(),eo(t,e.length)}}}function io(){return{async redact(e){X()}}}function ao(){let e=De();return e===`connect`?io():e===`extension-direct`?no():e===`extension-delegate`?ro():to()}var oo=`Restoring session…`,so=`slicc-restoring-session`;function co(e){let t=e.querySelector(`:scope > .slicc-thread__inner`)??e;for(let e of t.children)if(!e.classList.contains(so))return!1;return!0}function lo(e,t){let n=e.querySelector(`:scope > .slicc-thread__inner`)??e,r=n.querySelector(`:scope > .${so}`);if(!t){r?.remove();return}if(r)return;let i=e.ownerDocument.createElement(`p`);i.className=so,i.textContent=oo,n.append(i)}function Z(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;default:return`idle`}}function uo(e,t={}){let n=Z(t.status),r=he(e);return{id:e.jid,parentId:e.parentJid,role:D(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 fo(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i=n?e.config:po(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 po(e,t){let n=be(e.workspace?.mode??e.config?.workspaceMode),r=e.workspace?.from??`/workspace`,i=we(n,t,{root:r},e.workspace?.from),a=e.config;return{...a,workspaceMode:n,visiblePaths:a?.visiblePaths===void 0?i.visiblePaths:a.visiblePaths,writablePaths:a?.writablePaths===void 0?i.writablePaths:a.writablePaths}}var mo=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,ho=`${mo}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,go=`${mo}border:none;background:#d23;color:#fff;`,_o=`${mo}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function vo(e,t,n){return{...fo({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function yo(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 bo(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 xo(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=()=>Wn(e.getUnits(),e.getSelected()),u=t=>e.getUnits().find(e=>e.id===t.jid)??uo(t),d=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},f=e=>{d();let t=yo(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=vo(t.name,n.getScoops(),Bn(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=bo(i,p);f({heading:`New cone`,body:e,actions:[{text:`Create`,style:ho,data:`create`,onClick:()=>p(e.readDraft())},{text:`Cancel`,style:_o,data:`cancel`,onClick:d}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},h=t=>{d();let i=T(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=T(n.getScoops()).find(e=>e.jid!==a.jid);t&&e.selectScoop(u(t))}o=!1,_()})()},g=e=>{let t=j(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:go,data:`drop`,onClick:()=>h(e.id)},{text:`Cancel`,style:_o,data:`cancel`,onClick:d}]})},_=()=>{let t=T(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||T(n.getScoops()).length<=1||o||g(e)}),_(),{refresh:_,dialog:()=>s}}var So={"gelatiere-dismiss":{consume:!0,mode:`dismiss`},"gelatiere-install":{consume:!1,mode:`take`},"gelatiere-try":{consume:!1,mode:`take`}};function Co(e){return t=>{if(t.type!==`sprinkle`||t.sprinkleName!==`welcome`&&t.sprinkleName!==`inline`&&t.sprinkleName!==`suggestions`)return!1;let n=t.body,r=So[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 s(()=>import(`./wc-shell-Dviry0M3.js`).then(e=>e.rt),__vite__mapDeps([38,5,1,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47]));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 wo=5e3,To=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 uo(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)},wo)}}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)}}takeArrivedReplay(e){let t=this.orphanedReplays.get(e);if(!t)return null;let n=this.snapshotFor(e,t.messages,t.queuedIds);return n?(this.orphanedReplays.delete(e),this.lastSnapshots.set(e,n),n):null}snapshot(e){let t=this.deps.getClient();if(!t)return Promise.reject(Error(`kernel client not attached`));let n=this.takeArrivedReplay(e);if(n)return t.setSelectedScoopJid(e),Promise.resolve(n);let r=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,r);let i=()=>{},a=new Promise(e=>{i=e,r.add(e)});t.setSelectedScoopJid(e),t.requestScoopMessages(e);let o,s=new Promise(t=>{o=setTimeout(()=>{o=void 0;let n=this.pendingSnapshots.get(e)?.has(i)===!0;this.forgetWaiter(e,i),n&&this.recoverUnanswered(e),t(this.snapshotFor(e,[],void 0))},wo)});return Promise.race([a.then(e=>(o!==void 0&&(clearTimeout(o),o=void 0),e)),s]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getClient();if(!n)return Promise.reject(Error(`kernel client not attached`));let r=t.messageId??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return n.sendUserMessage({scoopJid:e,text:t.text,messageId:r,...t.attachments?{attachments:t.attachments}:{},...t.steer?{steer:!0}:{},...t.guestGate?{guestGate:t.guestGate}:{}})}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 To({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses,turns:e.turns}),e.workUnits}function Eo(e){let t=Q(e),n=()=>e.refreshScoops?.(),r=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),a=()=>{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=Rn(n,i);if(t){e.pendingUrlContext=null,e.selectScoop(t);return}}let a=Un(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),i!==a&&e.notifyUnitStatus?.(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(uo(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(),a()},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,i(String(n.content??``),600)),e.getSelected()?.id===t&&n.channel!==`web`&&Zt(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=Gn(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(),a(),e.notifyReady?.()}})}var Do=`slicc:leader-local-model-state-changed`;function Oo(e=window){e.dispatchEvent(new Event(Do))}var ko=`slicc:leader-model-catalog-changed`;function Ao(e=window){e.dispatchEvent(new Event(ko))}var jo={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Mo={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function No(e){return e?jo[e]:void 0}function Po(e){return e===`max`?`max`:void 0}function Fo(e,t){return t===`max`?`max`:(e&&Mo[e])??`off`}var Io=2e3,Lo=1e4,Ro=12e4;function zo(e){let t=[],n=null,r=new Map,i=e.modelPickerEnabled!==!1,a=e.catalogRetryDelayMs??Io,o=e.catalogRetryMaxDelayMs??Lo,s=e.catalogRetryWindowMs??Ro,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=We({attempt:c,baseMs:a,capMs: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=fe(n.activeModelId);return e&&r.set(t,e),n.activeModelId}let a=Bn(i,t,t?r.get(t):void 0);return t&&a&&r.set(t,a),a?pe(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`,Fo(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?fe(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=No(i),o=e.getSelectedScoopJid()??n?.scoopJid;o&&a&&a!==`max`&&r.setThinkingLevel(o,a,Po(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 Bo(e,t,n,r,i=Oo){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function Vo(e,t){return Hn(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||He(t.localStorage)}async function Ho(e,t,n,r,i){let a=zn(t),o=Kn(a);e.thread.setAttribute(`context`,qn(t));let c=Vn(t),l=et({isRoot:c,name:t.name});e.thread.setAttribute(`accent`,l),e.switcher.setAttribute(`active`,t.id),yt(e,c?{kind:`cone`}:{kind:`scoop`,accent:l}),gt(e,o);let u=localStorage.getItem(`slicc_locked_effort_level`),d=r?.(t.id);if(d||u){let t=d?ve(d):{};e.composerMeta.setAttribute(`thinking`,Fo(u??t.level,t.effortOverride))}if(!i?.skipModelPill)try{let{resolveCurrentModel:r,resolveModelById:i}=await s(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-C8hdX5_E.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([48,5,1,12,13,14,15,16,17,18,3,19,20,21,22,40,24,23,25,26,27,28,29,42,49,50])),a=Bn(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 Uo(e){if(Vo(e.pendingUrlContext,e.win))return;let t=Hn(e.pendingUrlContext);if(t===null)return;let[{CanonicalSessionReader:n},{WorkUnitConversationStore:r}]=await Promise.all([s(()=>import(`./sessions-Bd6uu3F5.js`).then(e=>e.n),__vite__mapDeps([51,5,13,33,34,26,1,52])),s(()=>import(`./store-DP4F8FwF.js`).then(e=>e.n),__vite__mapDeps([53,5,1,12,13,14,15,16,17,18,3,19,20,21,22,52,54,45]))]),i=await new n(new r).loadRootChatSession(t);i&&i.messages.length>0&&!e.hasSelection()&&(e.loadMessages(i.messages),e.onHydrated())}function Wo(e){let{boot:t,client:n,openReader:r,log:i}=e,{refs:a}=t;s(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-dACLWYRH.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([55,12,5,1,13,14,15,16,17,18,3,19,20,21,22,37])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:a.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:a.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),Uo({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 s(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-C--w91hS.js`);return{wireWcAttach:e}},__vite__mapDeps([56,13,18,57])).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 s(async()=>{let{readSessionsIndex:e}=await Promise.resolve().then(()=>Kr);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)),s(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=No(r),o=Po(r),s=t.getSelected();s&&a&&Bo(n,s.id,a,o).catch(e=>i.warn(`local thinking update failed`,e))}),{getAttachStage:()=>o}}var Go=`slicc:leader-run-new-session`,Ko=`slicc:leader-broadcast-snapshot`;function qo(e){if(e.cone&&e.cone!==`cone`)return e.coneLabel||e.cone.replace(/^cone-/,``)}function Jo(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 Yo(e,t={}){let n=document.createElement(`slicc-freezer-card`);return n.setAttribute(`title`,e.title),n.setAttribute(`meta`,Jo(e)),n.setAttribute(`slug`,e.filename),e.icon&&n.setAttribute(`icon`,e.icon),t.deletable&&!e.live&&n.setAttribute(`deletable`,``),n}async function Xo(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&&await O(async()=>{let n=await A(e.reader);if(n.length===0)return!1;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});return await k(e.writer,r),!0}))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 Zo(e){let t=await Qo(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function Qo(e){try{return await dn(e)}catch{return{kind:`fault`}}}function $o(e,t){return O(async()=>{let n=await Qo(e);if(n.kind===`ok`)return n.entries;if(n.kind!==`corrupt`)return null;let r;try{r=await A(e)}catch{return null}return r.length===0?null:(await k(t,r),r)})}function es(e,t,n={}){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(e=>Yo(e,n)))}async function ts(e,t){let n=await e.readFile(Se(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=await gn(e,r,t.filename);return{title:i.title||t.title,messages:i.messages}}var ns=`Couldn't delete everything — try again.`;function rs(e,t){let n=e.createElement(`p`);return n.textContent=`“${t}” and its transcript will be deleted. Memories already learned from it are kept.`,n.style.cssText=`font-size:0.875rem;margin:0;`,n}function is(e){let t=e.parentElement?.querySelector(`[data-freezer-delete-error]`);t||(t=e.ownerDocument.createElement(`p`),t.setAttribute(`data-freezer-delete-error`,``),t.setAttribute(`role`,`alert`),t.style.cssText=`font-size:0.8125rem;margin:0.5rem 0 0;color:var(--s2-negative-color, #d23);`,e.after(t)),t.textContent=ns}function as(e,t){let n=e.ownerDocument;n.activeElement&&n.activeElement!==n.body||Array.from(e.querySelectorAll(`slicc-freezer-card`)).find(e=>e.getAttribute(`slug`)===t)?.querySelector(`.slicc-fzcard__delete`)?.focus()}function os(e){return e.sessionId?{filename:e.filename,sessionId:e.sessionId}:{filename:e.filename}}function ss(e){let t=e.freezer.ownerDocument,n=null,r=new Set,i=()=>{if(!n)return;let{slug:t,dialog:r}=n;n=null,r.hide?.(),r.remove(),as(e.freezer,t)},a=async(t,a,o)=>{let c=Array.from(a.querySelectorAll(`button[slot="footer"]`));for(let e of c)e.disabled=!0;r.add(t.filename);try{let{writer:r}=await e.openVfs(),{deleteFrozenSession:o}=await s(async()=>{let{deleteFrozenSession:e}=await import(`./frozen-session-delete-2eh2Yhbl.js`);return{deleteFrozenSession:e}},__vite__mapDeps([58,1,33,5,34,26,36,37,59,32,35,60,13,41,61,12,14,15,16,17,18,3,19,20,21,22,23,24,25,27,28,29,62,38,39,40,42,43,44,31,45,46,47,63])),c=await o(r,os(t));if(c.status===`failed`)throw Error(c.errors.join(`; `));c.status===`deleted`?e.isViewing(t)&&e.leaveViewed(t):e.log.warn(`WC frozen chat delete skipped`,{filename:t.filename,...c}),n?.dialog===a&&i(),e.refreshFreezer()}catch(t){e.log.error(`WC frozen chat delete failed`,t),is(o);for(let e of c)e.disabled=!1}finally{r.delete(t.filename)}},o=o=>{if(n?.slug===o||r.has(o))return;let s=e.getEntries().find(e=>e.filename===o);if(!s||s.live)return;i();let c=rs(t,s.title),l=yo(t,{heading:`Delete frozen chat?`,body:c,actions:[{text:`Delete`,style:go,data:`delete`,onClick:()=>void a(s,l,c)},{text:`Cancel`,style:_o,data:`cancel`,onClick:i}],onDismiss:t=>{n?.dialog===t&&(n=null),t.remove(),as(e.freezer,o)}});n={slug:o,dialog:l},t.body.append(l),l.show?.()};return e.freezer.addEventListener(`freezer-card-delete`,e=>{let t=e.detail?.slug;t&&o(t)}),{dialog:()=>n?.dialog??null}}async function cs(e,t,n){let{getTranscriptExportService:r}=await s(async()=>{let{getTranscriptExportService:e}=await Promise.resolve().then(()=>Jn);return{getTranscriptExportService:e}},void 0);await r().captureFrozen({sessionId:t.sessionId??t.archive.sessionId??t.filename.replace(/\.md$/i,``),title:t.archive.title,frozenAt:t.archive.frozenAt,createdAt:t.archive.createdAt,updatedAt:t.archive.updatedAt,...e?{rootJid:e.jid}:{}},n)}function ls(e,t){if(t)return e.getScoops().find(e=>e.jid===t.id)}function us(e){return{folder:e.folder,label:j({assistantLabel:e.assistantLabel,name:e.name,role:D(e)?`primary`:`child`}),jid:e.jid}}async function ds(e){let{root:t}=e,n=t?us(t):void 0,r=(e,n)=>cs(t,e,n),i=t=>{try{e.client.reloadSkills()}catch(t){e.log.warn(`post-settle prompt reload failed`,t)}s(async()=>{let{notifyGelatiereOfSessionEnd:e}=await import(`./wc-gelatiere-CFupkA18.js`);return{notifyGelatiereOfSessionEnd:e}},__vite__mapDeps([64,16,38,5,1,13,37,39,18,40,23,12,14,15,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47])).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 fs(e,t){e!==`erase`&&await ds({...t,action:e})}async function ps(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(Ko)),s(async()=>{let{resetDictationPriming:e}=await import(`./dictation-priming-BHJC0hch.js`).then(e=>e.r);return{resetDictationPriming:e}},__vite__mapDeps([37,5])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function ms(e,t){(e.thread.inner??e.thread).prepend(hs(e.thread.ownerDocument,t)),e.thread.setAttribute(`accent`,bt),yt(e,{kind:`freezer`}),e.inputCard.setAttribute(`disabled`,``),e.switcher.removeAttribute(`active`)}function hs(e,t){let n=t?qo(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}async function gs(e,t,n){let r=await Zo(e);return r===null?(await Qo(e)).kind===`corrupt`?(n.warn(`WC freezer index corrupt — rebuilding from archives`),$o(e,t)):null:r}function _s(e,t,n){!e.busy&&n.some(e=>!e.icon&&!e.pendingEnrichment)&&(e.busy=!0,s(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-DcceQmkj.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,5,1,12,13,14,15,16,17,18,3,19,20,21,22,23,24,25,26,27,28,29,30,31])).then(({pickLucideIcon:e})=>Xo({reader:t.reader,writer:t.writer,freezer:t.freezer,entries:n,pickIcon:t=>e({subject:t})})).catch(e=>t.log.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{e.busy=!1}))}function vs(e,t,n){let r=e.getAttribute(`context`)??``;return r===`freezer:${t.filename}`||r.startsWith(`freezer:`)&&!!t.sessionId&&!mn(t.sessionId)&&n===t.sessionId}function ys(e){let{refs:t,openVfs:n,client:r,getController:i,getSelected:a,clearSelection:o,log:c}=e,l=[],u=null,f=t=>{u=null,e.selectScoop(t)},p=0,m={busy:!1},h=()=>{let e=++p;n().then(async({reader:n,writer:r})=>{let i=await gs(n,r,c);i!==null&&e===p&&(l=i,es(t.freezer,i,{deletable:!0}),_s(m,{reader:n,writer:r,freezer:t.freezer,log:c},i))}).catch(e=>c.error(`WC freezer refresh failed`,e))},g=!1,_=()=>t.freezer.querySelector(`slicc-freezer-new`),v=t=>{g||(g=!0,_()?.setAttribute(`busy`,``),(async()=>{let o=ls(r,Wn(e.getUnits(),a()));try{let{writer:a}=await n(),{resetNewSessionTmp:l,runNewSessionFreeze:u,runNewSessionFreezeQuick:d}=await s(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-k7LcBmG5.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([65,1,13,16,23,12,5,14,15,17,18,3,19,20,21,22,24,25,26,27,28,29,48,40,42,49,50,30,51,33,34,52,53,54,45,58,36,37,59,32,35,60,41,61,62,38,39,43,44,31,46,47,63]));await fs(t,{writer:a,root:o,client:r,freezerNew:_,refreshFreezer:h,runNewSessionFreeze:u,runNewSessionFreezeQuick:d,log:c}),await ps({writer:a,root:o,client:r,getController:i,log:c,resetNewSessionTmp:l,tmpDir:ue(r.getScoops(),o),discardLiveSnapshot:t===`erase`}),h();let p=e.getUnits().find(e=>e.id===o?.jid)??Un(e.getUnits());p&&f(p)}catch(e){c.error(`WC new session failed`,e)}finally{g=!1;let e=_();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])t.freezer.addEventListener(`new-chat-${e}`,()=>v(e));let y=async e=>{let{writer:t}=await n(),{runNewSessionArchiveOnly:r}=await s(async()=>{let{runNewSessionArchiveOnly:e}=await import(`./new-session-k7LcBmG5.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([65,1,13,16,23,12,5,14,15,17,18,3,19,20,21,22,24,25,26,27,28,29,48,40,42,49,50,30,51,33,34,52,53,54,45,58,36,37,59,32,35,60,41,61,62,38,39,43,44,31,46,47,63]));await r({vfs:t,cone:us(e),captureCompleteSnapshot:(t,n)=>cs(e,t,n)}),h()};d(`agentic-memory`)&&_()?.setAttribute(`no-skip`,``),window.addEventListener(Go,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&v(t)});let b=async r=>{let s=l.find(e=>e.filename===r);try{let{reader:a}=await n();s||=(await Zo(a)??[]).find(e=>e.filename===r);let{messages:c}=await ts(a,s??{filename:r,title:r,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${s?.filename??r}`),u=s?.sessionId??s?.filename??null,e.holdQueuedPile(),i()?.loadMessages(c),ms(t,s),o()}catch(t){if(c.error(`WC thaw failed`,t),!a()){let t=Ln(e.getUnits(),s?.cone);t&&f(t)}}};return t.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&b(t)}),ss({freezer:t.freezer,openVfs:n,getEntries:()=>l,isViewing:e=>vs(t.thread,e,u),leaveViewed:t=>{i()?.loadMessages([]),u=null;let n=Ln(e.getUnits(),t.cone);n&&f(n)},refreshFreezer:h,log:c}),{refreshFreezer:h,openFrozen:b,getViewedFrozenSessionId:()=>u,freezeCone:y}}t(`scoops.tray-leave`),t(`scoops.tray-join`);var bs=null;function xs(e){bs=e}function Ss(){return bs?.()??[]}var Cs=null;function ws(e){Cs=e}function Ts(){return Cs??void 0}var Es=`slicc.leaderTrayFollowers`;function Ds(){return Os()}function Os(){if(bs)return bs();try{let e=globalThis.localStorage?.getItem(Es);if(e)return JSON.parse(e)}catch{}return[]}function ks(e,t=globalThis.localStorage){try{t?.setItem(Es,JSON.stringify(e))}catch{}}function As(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 js(e){let t=Re();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:qe(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=en();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=Be(e.getItem(ze))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function Ms(e){let{client:t,openReader:n,storage:r}=e;return{getScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await s(async()=>{let{getAllCronTasks:e}=await import(`./db-CIXZItfi.js`).then(e=>e.n);return{getAllCronTasks:e}},__vite__mapDeps([66,5]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await s(async()=>{let{getAllWebhooks:e}=await import(`./db-CIXZItfi.js`).then(e=>e.n);return{getAllWebhooks:e}},__vite__mapDeps([66,5]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await s(async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e,loadMountHandle:t}},__vite__mapDeps([67,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 n()).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 n of re()){if(e.has(n.providerId))continue;if(e.add(n.providerId),!te(n.providerId)?.isOAuth){t.push({providerId:n.providerId});continue}let r=C(n.providerId),i=n.loggedOut?!1:r?!r.expired:!1;t.push({providerId:n.providerId,valid:i})}return t}catch{return[]}},getSessionStats:async()=>t.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await n()).readFile(`/proc/table`,{encoding:`utf-8`});return As(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>js(r),getConnectedFollowers:Ss}}var Ns=`sync-fs-nonce`;function Ps(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:Ns,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 Fs=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 Is(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 Ls=`question`;function Rs(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||void 0}catch{return}}function zs(e,t,n){let r=e=>{let r=e.detail;if(!r||typeof r.answer!=`string`)return;let{question:i,kind:a,answer:o}=r,s=a===`datetime`||a===`date`?Rs():void 0;t(Ls,{action:`answer`,data:{question:i,kind:a,answer:o,...s?{timeZone:s}:{}}},void 0,n()??void 0)};return e.addEventListener(ht,r),()=>e.removeEventListener(ht,r)}var Bs=`<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 Vs(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 Hs(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(Bs));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=Vs(e.getMessages());await t(n??sn([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=sn([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function $(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Us(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 Ws(e){return`
|
|
244
244
|
<div class="sprinkle-action-card">
|
|
245
245
|
<div class="sprinkle-action-card__header">${Ht(Us(e))} <span class="sprinkle-badge sprinkle-badge--informative">pending</span></div>
|
|
246
246
|
<div class="sprinkle-action-card__body">Waiting for approval on the leader…</div>
|
|
247
247
|
</div>
|
|
248
|
-
`}function Gs(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var Ks=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=null;#D=null;#O=!1;#k=`thinking`;#A=0;#j=null;#M=new Set;#N=new Map;#P=new Map;#F=new Set;#I=!1;#L=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.#J(e)),this.#v=e=>this.#ge(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.#N.keys()])this.#he(e);this.#P.clear(),this.#F.clear(),this.#me()}setReadOnly(e){if(this.#I!==e&&(this.#I=e,e))for(let e of[...this.#N.keys()])this.#he(e)}get readOnly(){return this.#I}get processing(){return this.#O}getMessages(){return this.#y.map(e=>({...e}))}setAgent(e){this.#h(),this.#t=e,this.#h=e.onEvent(e=>this.#J(e))}setOnLocalUserMessage(e){this.#g=e}setOnLocalProcessingChange(e){this.#_=e}addUserMessage(e,t,n){this.#ye({id:$(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(Gs)}removeQueuedMessage(e){let t=this.#b.filter(t=>t.id!==e);t.length!==this.#b.length&&(this.#b=t,this.#B())}stashQueued(){let e=this.#L??[];this.#L=null;let t=this.#b;return t.length===0?e:(this.#b=[],this.#B(),[...e,...t])}restoreQueued(e){this.#L=e.length>0?[...e]:null}heldBackendPendingIds(e){if(!this.#L||!e?.length)return new Set;let t=new Set(e);return new Set(this.#L.filter(e=>t.has(e.id)).map(e=>e.id))}#R(e,t){if(!this.#L)return;let n=this.heldBackendPendingIds(t),r=new Set(e.map(e=>e.id)),i=this.#L.filter(e=>!r.has(e.id)||n.has(e.id));if(this.#L=null,i.length===0)return;if(!t){this.#b=i,this.#B();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.#O?o:[...o,...s],this.#B(),this.#O)for(let e of s)this.#ye(e)}#z(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#ye(t);this.#B()}#B(){this.#u?.(this.#b.map(Gs))}#V(){this.#d?.(this.#x)}setLickBackpressure(e,t,n){if(e<=0){if(!this.#x)return;this.#x=null,this.#V();return}this.#x={text:`${e} events waiting for the current turn`},this.#V();try{ke(n,t)}catch{}}addAssistantMessage(e){this.#ye({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.#N.keys()])this.#he(e);this.#P.clear(),this.#F.clear(),this.#me();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.#B();let r=this.heldBackendPendingIds(t),i=r.size>0?e.filter(e=>!r.has(e.id)):e;this.#y=wt(i);let a=[...this.#y].reverse().find(e=>e.isStreaming);this.#C=a?.id??null,a&&(this.#w=a.id),this.#Q(),this.#S.clear();let o=[],s=``;for(let e of this.#y){let t=new Date(e.timestamp).toDateString();t!==s&&(o.push(st(e.timestamp)),s=t);let n=this.#ve(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.#Ce();for(let e of this.#y)this.#o?.(e,this.#S.get(e.id)??[]);this.#q(),this.#Te(),this.#H(),this.#R(e,t)}#H(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!Ge()||this.#O)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#ge(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#U(r):r,a={id:$(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#O&&!n?.steer?(this.#b.push(a),this.#B()):this.#ye(a),n?.steer?this.#t.sendMessage(i,a.id,a.attachments,{steer:!0}):this.#t.sendMessage(i,a.id,a.attachments),this.#W();try{let e=n?.dictation?c(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#U(e){return u(e,l())}#W(){if(this.#l)try{let e=this.#l();if(!e)return;Me(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.#be(a);return}this.#ye({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#O?!0:void 0})}updateLickState(e,t){let n=this.#y.find(t=>t.lickId===e);n&&(n.lickState=t,this.#be(n))}setProcessing(e){if(this.#O!==e){this.#O=e,e&&(this.#w=null),e&&(this.#A=0,this.#G(`thinking`)),e&&this.#z(),e||(this.#x&&(this.#x=null,this.#V()),this.#q()),this.#n?.(e);try{this.#_?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#K()}}#G(e){this.#k!==e&&(this.#k=e,this.#r?.(e))}#K(){let e=this.#w;if(this.#w=null,!this.#c)return;let t=e?this.#_e(e):null;this.#c(t?{...t}:null)}#q(){let e=this.#y[this.#y.length-1];if(e?.role!==`assistant`||e.isStreaming){this.#j?.remove();return}this.#j??=Hs({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#j)}#J(e){switch(e.type){case`message_start`:this.#Y(e.messageId);break;case`content_delta`:this.#X(e.messageId,e.text);break;case`content_done`:this.#$(e.messageId,e.model,e.usage);break;case`tool_use_start`:this.#te(e.messageId,e.toolName,e.toolInput,e.toolCallId);break;case`tool_result`:this.#re(e.messageId,e.toolName,e.result,e.isError,e.toolCallId);break;case`tool_ui`:this.#le(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#ue(e.requestId);break;case`tool_progress`:this.#de(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#oe(e.messageId);break;case`compaction_notice`:this.#ie(e.messageId,e.marker);break;case`error`:this.#se(e.error,e.endTurn!==!1)}}#Y(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#ye({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#X(e,t){this.#_e(e)&&(this.#E!==e&&this.#Z(),this.#E=e,this.#T+=t,this.#D??=requestAnimationFrame(()=>this.#Z()))}#Z(){let e=this.#E,t=this.#T;this.#Q();let n=t&&e?this.#_e(e):void 0;n&&(n.content+=t,this.#be(n))}#Q(){this.#D!==null&&cancelAnimationFrame(this.#D),this.#D=null,this.#T=``,this.#E=null}#$(e,t,n){let r=this.#_e(e);r&&(t&&(r.model=t),n&&(r.usage=n),this.#E===e&&(r.content+=this.#T,this.#Q()),r.isStreaming=!1,this.#be(r))}static#ee(e,t){return`${e}:${t}`}#te(t,n,r,i){let a=this.#_e(t);if(!a)return;a.toolCalls=a.toolCalls??[];let o=i?e.#ee(t,i):$();this.#F.add(o),a.toolCalls.push({id:o,name:n,input:r}),this.#A+=1,this.#G(`tool`),this.#be(a)}#ne(t,n,r){let i=t?.toolCalls??[];if(r){let n=t?e.#ee(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)}#re(e,t,n,r,i){let a=this.#_e(e),o=this.#ne(a,t,i);a&&o&&(o.result=n,o.isError=r,o.id&&(this.#P.delete(o.id),this.#me()),this.#A=Math.max(0,this.#A-1),this.#A===0&&this.#G(`thinking`),this.#be(a))}#ie(e,t){let n=this.#_e(e);if(t.state===`discarded`){n&&this.#ae(n);return}if(n){n.compaction=t,this.#be(n);return}this.#ye({id:e,role:`assistant`,content:``,timestamp:Date.now(),compaction:t})}#ae(e){this.#Se(),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.#Ce(),this.#pe()}#oe(e){let t=this.#_e(e);t?.isStreaming&&(t.isStreaming=!1,this.#be(t)),this.#C=null,this.setProcessing(!1)}#se(e,t=!0){t&&this.setProcessing(!1),this.#ye({id:$(),role:`assistant`,content:typeof e==`string`?e:je(e)??``,timestamp:Date.now(),error:!0}),this.#ce(e)}#ce(e){try{let t=typeof e==`string`?e:Ae(e);if(typeof t==`string`&&Ne(t))return;Pe(`error-card`,e)}catch{}}#le(e,t,n){if(this.#I)return;this.#he(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,Ws(n),()=>{},!1);this.#N.set(t,{instance:e,container:r});return}let i=z(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#N.set(t,{instance:i,container:r}),this.#p?.(t,o,void 0)}#ue(e){this.#he(e)}#de(e,t,n,r){let i=this.#_e(e),a=this.#ne(i,t,r);a?.id&&(n.phase===`end`?this.#P.delete(a.id):this.#P.set(a.id,n),this.#fe(a.id),this.#me())}#fe(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&ut(t,this.#P.get(e)??null),this.#pe()}#pe(){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.#F.has(e.dataset.toolId)).map(e=>{let t=e.dataset.toolId,n=e.getAttribute(`result`);return{done:n!==null&&n!==`…`,fraction:this.#P.get(t)?.fraction}});Tt(t,St(e))}}#me(){let e=null,t=[...this.#P.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))}#he(e){let t=this.#N.get(e);if(t){this.#N.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#ge(e){if(this.#O)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)}#_e(e){return this.#y.find(t=>t.id===e)}#ve(e){try{return tt(e,{readOnly:this.#I})}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]}}#ye(e){this.#Se(),this.#y.push(e);let t=this.#ve(e);this.#S.set(e.id,t),this.#e.append(...t),this.#Ce(),this.#o?.(e,t),e.role===`user`?this.#Te():this.#Ee()}#be(e){this.#Se();let t=this.#S.get(e.id)??[],n=this.#ve(e),r=t[0]??null,i=r?.parentNode;if(i)for(let e of n)i.insertBefore(e,r);else this.#e.append(...n);this.#S.set(e.id,n),this.#o?.(e,n);for(let e of t)e.remove();for(let t of e.toolCalls??[])t.id&&this.#P.has(t.id)&&this.#fe(t.id);this.#Ce(),this.#pe(),this.#Ee()}#xe(){return this.#e.inner??this.#e}#Se(){ct(this.#xe(),this.#M)}#Ce(){Ct(this.#xe(),{openClusterAnchors:this.#M,toolCallLookup:(e,t)=>this.#we(e,t)})}#we(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#Te(){this.#e.scrollTop=this.#e.scrollHeight}#Ee(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#Te()}};function qs(e,t,n,r,i,a){let o=new Map;s(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-CGcVbQni.js`);return{loadDipStyles:e}},__vite__mapDeps([68,13])).then(({loadDipStyles:e})=>e()).catch(()=>void 0);let c=[];n.subscribeList(e=>{c=e});let l=()=>t.addressableUnitId?t.addressableUnitId():r()?.id??null,u=Is(n,{getSelectedId:l,onError:e=>t.emitAgentError(e),onEvent:e=>t.onAgentEvent(e)});u.onEvent(t=>{(t.type===`tool_use_start`||t.type===`tool_result`)&&(t.type===`tool_result`&&t.isError&&e.switcher.glower(),s(async()=>{let{playCue:e}=await import(`./soundscape-gX8pyQsR.js`);return{playCue:e}},__vite__mapDeps([69,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let d=new Ks({thread:e.thread,agent:u,resolveTelemetryContext:()=>{let e=r();if(!e)return null;let t=Gn(e);try{let n=Bn(c,e.id);return{scoopName:t,model:(n?w(n.id,n.provider):ne()).id}}catch{return{scoopName:t,model:``}}},onTurnComplete:e=>{t.speaksReplies&&s(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-Du8td5dw.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([70,1,37,5,71,13,3,72,73,17,18,38,39,40,23,12,14,15,16,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,74])).then(async({consumeVoiceSubmission:t,speakReplyMarkdown:n})=>{if(!t())return;let{endVoiceTurn:r,setTtsActive:i}=await s(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-gX8pyQsR.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([69,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47]));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||i?.()},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=o.get(e);t&&(B(t),o.delete(e))},onMessageRendered:(e,n)=>{let r=o.get(e.id),i=n[0];if(!i){r&&B(r),o.delete(e.id);return}t.onMessageRendered?.(i);let s=l()??void 0;o.set(e.id,Lr(i,(e,n)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:n}};a?.intercept?.(r)||t.sendSprinkleLick(`inline`,{action:e,data:n},void 0,s)},{previous:r,streaming:e.isStreaming===!0}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,n,r)=>{t.sendToolUiAction(e,n,r)},onQueuedCancel:e=>{let n=r()?.id;n&&t.deleteQueuedMessage(n,e).catch(()=>void 0)},...t.readOnlyToolUi?{readOnlyToolUi:!0}:{}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let n=e.detail?.id;if(!n)return;d.removeQueuedMessage(n);let i=r()?.id;i&&t.deleteQueuedMessage(i,n).catch(()=>void 0)}),zs(e.thread,(e,n,r,i)=>t.sendSprinkleLick(e,n,r,i),l),{controller:d,agentHandle:u}}function Js(e,t){let n=new Fs,r=()=>{let r=t.currentUnits(),i=e.getSelected()?.id;e.refs.switcher.scoops=In(r,i,et,n.sync(r,i)),e.refreshConeActions?.()};return e.refreshScoops=r,t.subscribeList(()=>r()),r}function Ys(e,t,n){let{refs:r}=e;e.setChatTransport(t,n);let{controller:a,agentHandle:o}=qs(r,n,t,()=>e.getSelected(),n.onTurnIdle,n.welcome);e.setController(a);let c=Js(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 o=vt(t),c=n.takeAttachments?.();if(!o&&!c?.length)return;e.wiring.awaitingInput=null,e.wiring.refreshScoops?.(),e.wiring.notifyScoopStateChanged?.();let l=t.detail?.source===`dictation`;l&&n.speaksReplies&&(s(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-Du8td5dw.js`);return{markVoiceSubmission:e}},__vite__mapDeps([70,1,37,5,71,13,3,72,73,17,18,38,39,40,23,12,14,15,16,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,74])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),s(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-gX8pyQsR.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([69,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),a.sendUserMessage(o??``,c,{dictation:l,steer:lt(t)}),r.inputCard.clear?.();let u=e.getSelected()?.id;u&&(r.switcher.setAttribute(`attention`,u),e.wiring.lastActivity.set(u,i(o??``,600)))}),r.inputCard.addEventListener(`stop`,()=>{e.getController()?.processing&&o.stop()}),{agentHandle:o,controller:a,publishStrip:c}}var Xs=e({floatKindForRuntimeMode:()=>$s,floatLabelForKind:()=>Qs,resolveStandaloneFloatKind:()=>ec}),Zs={"slicc-server":`sliccstart`,"slicc-node-server":`npx`};function Qs(e){return ot(e)}function $s(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 ec(e){let t=e?.fetchFn??fetch,n=e?.timeoutMs??1500;try{let e=new AbortController,r=setTimeout(()=>e.abort(),n),i=await t(se(`/api/status`),{cache:`no-store`,signal:e.signal,headers:ce()}).finally(()=>clearTimeout(r));if(await ie(i),!i.ok)return`standalone`;let a=await i.json();return(a.service?Zs[a.service]:void 0)??`standalone`}catch(e){if(ae(e))throw e;return`standalone`}}function tc(e,t){let n=t.label??Qs(t.floatKind);e.setAttribute(`label`,n),e.setAttribute(`float-kind`,t.floatKind);let r=en(),i=Re(),a=()=>{let t=nc(r,i);e.setAttribute(`connection`,t.connection),t.trayRole===`none`?e.removeAttribute(`tray-role`):e.setAttribute(`tray-role`,t.trayRole)},o=Qt(e=>{r=e,a()}),s=Ie(e=>{i=e,a()});return a(),()=>{o(),s()}}function nc(e,t){return e.state===`inactive`?t.state===`inactive`?{connection:`offline`,trayRole:`none`}:{connection:ic(t),trayRole:`follower`}:{connection:rc(e),trayRole:`leader`}}function rc(e){switch(e.state){case`connecting`:return`connecting`;case`leader`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}function ic(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 ac(e,t,n){let r=n.floatLabel??Qs(n.floatKind),i=Cl(e,r);tc(i.refs.floatbar,{floatKind:n.floatKind,label:r});let a=await n.connect(i),o=Ys(i,a.client,a.host);return await a.workbench?.(i,o),t.info(`WC shell mounted`,{floatKind:n.floatKind}),{boot:i,chat:o}}var oc=36e5,sc=2e3,cc=class{#e=[];#t;#n;constructor(e=oc,t=sc){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 lc(e){return it(e,rt)}async function uc(e,t=ye.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 lc(n)}function dc(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:ra(e),sublabel:n,meta:ta(e),icon:$i(e),badges:r,status:W(e)}})}}function fc(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function pc(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function mc(e){let t=pc(e),n=e.sessionId?`Session ${Zi(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:fc(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:fc(e)}]}}function hc(e,t){let n=e.filter(e=>D(e)),r=t=>e.filter(e=>!D(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:D(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 gc(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 _c(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 vc(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 yc(e){let t=Xe({percent:e.percent,status:e.status});return t===`critical`?`error`:t===`warn`?`warn`:`active`}function bc(e,t){let n=`${Je(e.percent)}% used`,r=Ye(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:yc(e)}}function xc(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`:``,`${Je(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?yc(n):void 0,emptyText:`Model usage will be summarized after the first turn.`,rows:[...n?[bc(n,t)]:[],...r.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))]}}function Sc(e){let t=[],n=Cc(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=fc(e.tray);(r===`error`||r===`warn`)&&t.push({id:`tray`,severity:r===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${pc(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)W(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${ra(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:ta(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 Cc(e,t){if(!e||Xe({percent:e.percent,status:e.status})===`ok`)return null;let n=Ye(e.resetsAt,t),r=`${Je(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 wc(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function Tc(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:wc(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:Dc(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d?[Ec(d,t,e.now??Date.now()),...f]:f}function Ec(e,t,n){let r=Xe({percent:e.percent,status:e.status});return{id:`budget`,label:`${e.window[0]?.toUpperCase()??``}${e.window.slice(1)} budget`,value:Je(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`:``,Ye(e.resetsAt,n)??``,t?`$${t.totalCost.toFixed(2)} this session`:``].filter(Boolean).join(` · `)}}function Dc(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?D(r):!1,a=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:et({isRoot:i,name:a}),label:`${i?`${a} (cone)`:a} — ${Math.round(t*100)}% full`}})}var Oc={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function kc(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 Ac(e,t){return{pid:e.pid,ppid:e.ppid,state:Oc[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:kc(e.startedAt,t)}}async function jc(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:Tc({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n,now:g}),alerts:Sc({tray:r,followers:i,mounts:s,oauthProviders:p,budget:l?.budget,now:g}),sections:[mc(r),dc(i),hc(n,t=>e.isProcessing(t)),gc(s),_c(m,p),vc(a,o),xc(l,g)],processes:{rows:d.map(e=>Ac(e,g)),terminated:f}}}var Mc=`/shared`,Nc=3,Pc=200;async function Fc(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,Pc),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<Nc?await Fc(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 Ic(e,t=ye.root){let n=[];for(let r of[t,Mc])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await Fc(e,r,1)});return n}var Lc=200,Rc=1e3,zc=3e3,Bc=45e3;function Vc(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 Ic(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,ft({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:_t,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>=Rc){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},Lc)},f=()=>{t??=setInterval(u,zc)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,Mc];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()})},m=()=>{n=!1,i=!1,a++,s?.(),s=null,c!=null&&(clearTimeout(c),c=null),t!=null&&(clearInterval(t),t=null)};return{open(){m(),i=!0,n=!0,e.onKernelReady(()=>{n&&(n=!1,u(),p())})},close:m,repoint(){i&&!n&&(u(),p())}}}function Hc(e){let t=!1,n=!1,r=!1,i=0,a=null,o=new cc,s=Vc(e),c=()=>{a!=null&&(clearInterval(a),a=null)},l=()=>{let t=++i;e.openFs().then(async n=>{let r=await uc(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 jc(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 ${Bc}ms; re-arming so the next term activation retries`))},Bc);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 Uc=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],Wc=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Gc=2e4,Kc=12,qc=3e4;function Jc(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 Yc(e){return e.slice(e.lastIndexOf(`/`)+1)}function Xc(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function Zc(e,t){let n=Jc(e);return t.includes(`/`)?Xc(n,t):Yc(n)===t}function Qc(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))&&Zc(a,e)&&(r.add(a),n.push(Jc(a)),n.length>=$c))break}return n}var $c=4,el=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??Uc,this.#n=t.ignoredDirs??Wc,this.#r=t.maxEntries??Gc,this.#i=t.maxDepth??Kc,this.#a=t.ttlMs??qc}resolve(e,t=[]){this.#g();let n=Jc(e),r=this.#d(n),i=Qc(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!=null)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=>Xc(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!=null)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(Yc(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Xc(t,e)).sort(tl)}:{query:e,matches:[...t].sort(tl)}}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 tl(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var nl=`file-mention`,rl=`data-file-mentions`;function il(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var al=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),ol=`file-mention-open`;async function sl(e,t,n=[]){let r=il(e);if(e.getAttribute(rl)===r)return;let i=cl(e);if(i.length===0){e.setAttribute(rl,r);return}let a=[],o=new Set;for(let e of i){let t=mt(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(rl,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&&ll(e,n,l)}e.setAttribute(rl,il(e))}function cl(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(al.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 ll(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(ul(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 ul(e,t,n,r,i){let a=e.createElement(`a`);return a.className=nl,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(ol,{detail:t,bubbles:!0,composed:!0}))}),a}var dl=`slicc-agent-message`,fl=`slicc-action-row[${nt}]`;function pl(e,t){let n=[],r=e.querySelectorAll(fl);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=>at(e))}function ml(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function hl(e){try{return gl(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function gl(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new el(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;mt(n.textContent??``).length!==0&&ml(()=>{let i=pl(t,e);a().then(e=>sl(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(dl))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()===dl?o(e):s(e));let e=t.target?.closest?.(dl);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=>xt(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(ol,l),()=>{c.disconnect(),t.removeEventListener(ol,l)}}var _l=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>Il,DOCK_TREE_STORAGE_KEY:()=>Fl,attachWcWorkbench:()=>Vl,bootLeaderFloat:()=>Ul,makeSprinkleAttachImage:()=>Bl,mountSevenBannerInShell:()=>Rl,prepareWcShell:()=>Cl,wireDockTreePersistence:()=>zl,wireWcChipTips:()=>Al,workspaceForSelection:()=>xl});function vl(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?Wn(i,o)?.id??o.id:r;n.set(s,[...n.get(s)??[],...a])}function yl(e){let{controller:t,destination:n,held:r,previousJid:i,roster:a}=e;if(i&&i!==n&&vl({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 bl(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 xl(e){let{client:t,selectedId:n}=e,r=n===void 0?void 0:t.getScoop(n);return n!==void 0&&!r&&e.clearSelection(),de(t.getScoops(),r)}function Sl(e){let{refs:t}=e,n=null,r=new Map;return{clear:()=>{n=null},getSelected:()=>n,holdQueue:()=>{let t=n?.id;t&&vl({controller:e.controller(),held:r,jid:t,roster:e.client().currentUnits()})},selectScoop:i=>{let a=n?.id??null;n=i;let o=Kn(zn(i)),s=e.host();yl({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,Gn(i)),e.controller()?.setReadOnly(o),o||t.inputCard.removeAttribute(`disabled`),Ho(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 Cl(e,t){let n=pt(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=ja,o=null,s=()=>o??Q(g),c=new Map,l=!1,u=null,d=!1,f=new Set,p=bl(()=>s(),(e,t)=>{r?.loadMessages(e,t),lo(n.thread,e.length===0&&d),a.onSnapshotRendered?.(e)}).watch,m=Sl({client:s,controller:()=>r,host:()=>a,lickBackpressure:c,refs:n,watchUnit:p,wiring:()=>g,workbench:()=>u}),h=m.selectScoop,g={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:()=>m.getSelected(),selectScoop:h,notifyReady:()=>{l=!0;for(let e of f)e()}};return{refs:n,wiring:g,setClient:e=>{i=e},setChatTransport:(e,t)=>{o=e,a=t},getChatHost:()=>a,selectScoop:h,getSelected:()=>m.getSelected(),clearSelection:()=>m.clear(),holdQueuedPile:()=>m.holdQueue(),watchUnit:p,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):f.add(()=>e.activate(n)))},onClientReady:e=>{f.add(e),l&&e()},setRestoringSessions:e=>{d=e,lo(n.thread,e&&co(n.thread))}}}function wl(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([s(()=>import(`./remote-vfs-client-Cs1yUtQm.js`),__vite__mapDeps([75,35])),s(()=>import(`./writable-vfs-client-CQe6oZ75.js`),__vite__mapDeps([76,35]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function Tl(e,t,n,r,i){e.onClientReady(()=>{r.intercept||s(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-DhNdAmF2.js`);return{wireWcOnboarding:e}},__vite__mapDeps([77,1,13,33,5,34,26,48,12,14,15,16,17,18,3,19,20,21,22,40,24,23,25,27,28,29,42,49,50,51,52,53,54,45])).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 El(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:Ye(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 Dl(e,t,n){let r=t.standalone;r&&s(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-mLBbjD7x.js`);return{wireWcBrowser:e}},__vite__mapDeps([78,79,40,80,1,81,82,18,22,38,5,13,37,39,23,12,14,15,16,17,3,19,20,21,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,83])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function Ol(e){return{assistantLabel:e.assistantLabel,name:e.name,role:D(e)?`primary`:`child`}}function kl(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,i(String(n.content??``),600))}}function Al(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 c=e.lastActivity.get(a)??``,l=t.get(a);if(l&&l.activity===c){i.title=l.tip;return}i.title||=j(Ol(o)),c&&!n.has(a)&&(n.add(a),(async()=>{try{let n=await(e.labelFn??(await s(async()=>{let{quickLabel:e}=await import(`./quick-llm-BgX8DGOf.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([11,5,1,12,13,14,15,16,17,18,3,19,20,21,22,23,24,25,26,27,28,29,30,31]))).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: ${D(o)?`${j(Ol(o))} (a main agent)`:o.name}\nMost recent activity:\n${c}`,maxTokens:40});n&&(t.set(a,{activity:c,tip:n}),i.title=n)}finally{n.delete(a)}})())})}async function jl(e,t,n,r){let{RemoteTerminalView:i}=await s(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-D95a_lGP.js`);return{RemoteTerminalView:e}},__vite__mapDeps([84,12,5,1,13,14,15,16,17,18,3,19,20,21,22,57,0,2,10,85,9,8,86,87])),{fetchSecretEnvVars:a}=await s(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-B5BchABJ.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([88,1,12,5,13,14,15,16,17,18,3,19,20,21,22])),o=await a(),c=new i({client:t,cwd:`/`,env:Object.keys(o).length>0?o:void 0});if(await new Promise(t=>e.onClientReady(t)),await c.mount(n),globalThis.__slicc_terminal_view=c,window.addEventListener(`beforeunload`,()=>c.dispose(),{once:!0}),new URLSearchParams(location.search).has(`wterm-image-demo`)){let e=await fetch(`/logos/sliccy-color-10scoops-128x128.png`);if(!e.ok)throw Error(`wterm demo image: HTTP ${e.status}`);let t=new Uint8Array(await e.arrayBuffer());await(await r()).writeFile(`/tmp/wterm-graphics-demo.png`,t);let n=await c.executeCommandInTerminal(`imgcat /tmp/wterm-graphics-demo.png`);if(n.exitCode!==0)throw Error(`wterm demo image: ${n.stderr}`)}}function Ml(e,t,n){let r=t=>{if(t.startsWith(`freezer:`)){n(t.slice(8));return}let r=Rn(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 Nl(e,t,n,r){s(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-DfXcDHFY.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([89,1,13,57])).then(async({installLeaderPermissionsSurface:r,installMountPendingConsumer:i})=>{let a=n.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:o,isExtensionRuntime:c}=await s(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-DvV2aZfl.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([90,13,3]));r({runtimeMode:a,providers:await o(c()||a===`extension`||a===`extension-detached`)}),i({runShell:Pl(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e)),(n.standalone?.runtimeMode??`standalone`)!==`cherry`&&s(async()=>{let{installSecretRequestSurface:e}=await import(`./wc-secret-request-DFNuYRtA.js`);return{installSecretRequestSurface:e}},__vite__mapDeps([91,1,23,12,5,13,14,15,16,17,18,3,19,20,21,22,24,25,26,27,28,29,38,37,39,40,41,42,43,35,44,31,45,46,47,92,93])).then(({installSecretRequestSurface:e})=>e()).catch(e=>r.warn(`WC secret request surface wiring failed`,e))}function Pl(e,t){let n=null,r=()=>(n||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:n}=await s(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-DmE-iBjP.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([87,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 Fl=`slicc-dock-tree:default`,Il={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 Ll(e){s(async()=>{let{showProfileExportDialog:e}=await import(`./wc-profile-export-K9m6pZBL.js`);return{showProfileExportDialog:e}},__vite__mapDeps([94,13])).then(({showProfileExportDialog:e})=>e()).catch(t=>e.error(`Export for SLICC 7 dialog failed`,t))}function Rl(e){let t,n=()=>{if(!d(`seven-banner`)){t&&document.getElementById(t.SEVEN_BANNER_ID)?.remove();return}s(()=>import(`./wc-seven-banner-BitWulyq.js`).then(n=>{t=n;let r=document.querySelector(`.wcui-appcol`);r&&d(`seven-banner`)&&n.mountSevenBanner(document,r,r.querySelector(`:scope > slicc-shell`),{onExport:()=>Ll(e),moveHref:n.sevenInPlaceHref(location.origin)})}),__vite__mapDeps([95,40])).catch(t=>e.error(`SLICC 7 banner failed`,t))};return n(),f(n)}function zl(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(Fl,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(Fl);r.setTree(e?JSON.parse(e):Il)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(Il)}}function Bl(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 Vl(e,t,n,r,i,a={}){s(async()=>{let{initTimestampPreference:e}=await import(`./wc-shell-DUnQ3yem.js`).then(e=>e.Q);return{initTimestampPreference:e}},__vite__mapDeps([38,5,1,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:o}=e;e.setClient(t),s(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-CmogKzdP.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([96,5,97,1])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),s(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-CwaY1aIr.js`).then(e=>e._);return{applyThemeOverrides:e}},__vite__mapDeps([97,5,1])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let c=d(`panel-layouts`);o.dockTree.tilesMovable=c,c||zl(o,i);let l=null,u=El(e.wiring,t),f=()=>l?.(),p=r.welcome??{intercept:null},m=Q(e.wiring),{agentHandle:h}=n;e.onClientReady(u);let g=wl(t),_=async()=>(await g()).reader;a.standalone?.runtimeMode!==`cherry`&&a.standalone?.runtimeMode!==`hosted-leader`?Tl(e,t,g,p,i):p.intercept=Co({openVfs:async()=>(await g()).writer,log:i});let v=Wo({boot:e,client:t,setRefreshPlaceholder:e=>{l=e},triggerPlaceholder:f,openReader:_,openWriter:async()=>(await g()).writer,log:i});r.setAttachmentSource(()=>v.getAttachStage()?.take()),r.setTurnIdleHook(kl({boot:e,triggerPlaceholder:f,refreshStats:u})),Al({switcher:o.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity}),Dl(e,a,i),s(async()=>{let{installWcComputers:e}=await import(`./wc-computers-D4cVXfw8.js`);return{installWcComputers:e}},__vite__mapDeps([82,18,22,38,5,1,13,37,39,40,23,12,14,15,16,17,3,19,20,21,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,83])).then(({installWcComputers:e})=>e({openFs:_,log:i})).catch(e=>i.error(`WC computers wiring failed`,e)),Nl(e,t,a,i);let y=Hc({fileTree:o.fileTree,termSurface:o.termSurface,memoryHost:o.memoryHost,monitor:o.monitor,openFs:_,openWriter:async()=>(await g()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>Ms({client:t,openReader:_,storage:window.localStorage}),getWorkspace:()=>xl({client:t,clearSelection:e.clearSelection,selectedId:e.getSelected()?.id}),mountTerminal:n=>jl(e,t,n,async()=>(await g()).writer),insertReference:e=>{let t=o.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:i});e.setActivateSurface(y),e.onClientReady(()=>{window.setTimeout(()=>{s(async()=>{let{warmWterm:e}=await import(`./warm-wterm-snqvCS0-.js`);return{warmWterm:e}},__vite__mapDeps([98,13])).then(({warmWterm:e})=>e()).catch(e=>i.warn(`wterm WASM warm-up failed`,e))},2500)}),c&&s(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-BfSgnfgs.js`);return{panelizeShell:e}},__vite__mapDeps([99,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,100,101,102])).then(({panelizeShell:e})=>e(o,void 0,void 0,{onToolPanelActivate:e=>y.activate(e),onToolPanelDeactivate:e=>y.deactivate(e)})).catch(e=>i.error(`panelize failed — keeping the classic shell`,e)),hl({thread:o.thread,openFs:_,log:i}),dt(o.thread,_),o.floatbar.addEventListener(`click`,()=>{let e=o.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let b=ys({refs:o,openVfs:g,client:t,getUnits:()=>m.currentUnits(),getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,holdQueuedPile:e.holdQueuedPile,log:i}),{refreshFreezer:x,openFrozen:S,getViewedFrozenSessionId:ee}=b;if(x(),e.onClientReady(x),d(`multiple-cones`)){let n=xo({freezer:o.freezer,client:t,getSelected:()=>e.getSelected(),getUnits:()=>m.currentUnits(),selectScoop:e.selectScoop,freezeCone:b.freezeCone,log:i});e.wiring.refreshConeActions=n.refresh,e.onClientReady(n.refresh)}Ml(e,t,S),e.onClientReady(()=>{g().then(async({reader:e,writer:t})=>{let{loadShortcutConfig:n}=await s(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-_FC-kTdg.js`);return{loadShortcutConfig:e}},__vite__mapDeps([103,1,104,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47]));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))}),g().then(async({reader:e})=>{let{installPreviewVfsResponder:t}=await s(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)),g().then(async({reader:n,writer:r})=>{let{createRemoteSprinkleVfs:c}=await s(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-UzNBy5VJ.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([105,35,106,107])),l=(await s(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-BfSgnfgs.js`);return{getPanelizedShell:e}},__vite__mapDeps([99,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,100,101,102]))).getPanelizedShell(),{wireWcSprinkles:u}=await s(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-CGU4-WKU.js`);return{wireWcSprinkles:e}},__vite__mapDeps([108,13,3,109,38,5,1,37,39,18,40,23,12,14,15,16,17,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,110,33,34])),d=await u({refs:o,client:t,getUnits:()=>m.currentUnits(),getSelected:()=>e.getSelected(),selectScoop:t=>e.selectScoop(t),interceptWelcomeLick:e=>p.intercept?.(e)??!1,fs:c({reader:n,writer:r}),instanceId:a.instanceId,onAttachImage:Bl(v,i),onToolPanelActivate:e=>y.activate(e),onToolPanelDeactivate:e=>y.deactivate(e),hostSprinkleSurface:l?(e,t)=>l.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:l?e=>l.removeSprinkleSurface(e):void 0,log:i});e.onClientReady(()=>void d.resync());let{getPanelizedShell:f}=await s(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-BfSgnfgs.js`);return{getPanelizedShell:e}},__vite__mapDeps([99,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,100,101,102])),b=f();if(b){let e=c({reader:n,writer:r});b.attachFs(e);let{registerAgentPanels:t}=await s(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-DrtCqAV-.js`);return{registerAgentPanels:e}},__vite__mapDeps([111,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47]));await t(e).catch(e=>i.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await s(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:t}=await s(async()=>{let{applyLayout:e}=await import(`./apply-layout-CH3UhXCP.js`);return{applyLayout:e}},__vite__mapDeps([112,113,108,13,3,109,38,5,1,37,39,18,40,23,12,14,15,16,17,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,110,33,34]));e(e=>t(d.zone,e))}if(a.standalone&&a.instanceId){let{wireWcTray:n}=await s(async()=>{let{wireWcTray:e}=await import(`./wc-tray-B4fcMI28.js`);return{wireWcTray:e}},__vite__mapDeps([114,1,12,5,13,14,15,16,17,18,3,19,20,21,22,37,40,23,24,25,26,27,28,29,41,79,33,34,115,116,57,38,39,42,43,35,44,31,45,46,47,10,9,117,8,86,74,96,97,49,118,119,120,48,50,107,87,121,66,81,122,63,123,124,110])),r=d.zone.callbacks(),c=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:h,workUnits:m,restoreLocalChrome:()=>{e.wiring.refreshScoops?.();let n=e.getSelected();n&&Ho(o,n,m.currentUnits(),e=>t.getScoop(e))},openFs:_,openWriter:async()=>(await g()).writer,window,log:i,kernelReadyDeadline:a.kernelReadyDeadline});e.wiring.notifyScoopStateChanged=()=>c.scheduleScoopsListBroadcast(),e.wiring.notifyUnitStatus=(e,t)=>c.broadcastUnitStatus(e,t===`processing`?`processing`:`ready`)}}).catch(e=>i.error(`WC sprinkle/tray wiring failed`,e));{let n=new tn(new nn),r={collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>n.loadAgentSessions(),loadUiChatSessions:()=>n.loadChatSessions(),wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:ao(),snapshotStore:{read:async e=>{let{reader:t}=await g();return bn(t,e)},write:async(e,t,n)=>{let{writer:r}=await g();return yn(r,e,t,n)},discardIfUnindexed:async e=>{let{writer:t}=await g();return xn(t,e)}},vfs:{readFile:async(e,t)=>(await g()).reader.readFile(e,t),readDir:async e=>(await g()).reader.readDir(e),stat:async e=>(await g()).reader.stat(e)},getActiveSessionInfo:()=>{let t=Un(Q(e.wiring).currentUnits());return{id:t?.id??`session-${Date.now()}`,title:t?.name??`Active Session`}},version:`6.256.20`},a=Yn(new Pn(r));window.addEventListener(`unload`,a,{once:!0});let o=Ya(()=>Fn({serviceDeps:r,listUnits:()=>t.getScoops(),version:`6.256.20`})),c=Qa(async e=>{let{runProfileExportHeadless:t}=await s(async()=>{let{runProfileExportHeadless:e}=await import(`./wc-profile-export-K9m6pZBL.js`);return{runProfileExportHeadless:e}},__vite__mapDeps([94,13]));return t(e)});window.addEventListener(`unload`,o,{once:!0}),window.addEventListener(`unload`,c,{once:!0}),window.addEventListener(`unload`,Rl(i),{once:!0})}let C=!1,w=()=>C?Promise.resolve():(C=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([s(()=>Promise.resolve().then(()=>Jn),void 0),s(()=>import(`./wc-transcript-export-BXCZhTfg.js`),__vite__mapDeps([125,13,34,119,33,5,26,1]))]),r=ee(),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),s(async()=>{let{showTranscriptExportFailure:e}=await import(`./wc-transcript-export-BXCZhTfg.js`);return{showTranscriptExportFailure:e}},__vite__mapDeps([125,13,34,119,33,5,26,1])).then(({showTranscriptExportFailure:t})=>t(e)).catch(e=>i.error(`Transcript export notice failed`,e))}finally{C=!1}})());if(s(async()=>{let{wireWcNav:e}=await import(`./wc-nav-mcV-muIN.js`);return{wireWcNav:e}},__vite__mapDeps([126,13,16,3,33,5,34,26,1,49,50,48,12,14,15,17,18,19,20,21,22,40,24,23,25,27,28,29,42,121,66,110])).then(({wireWcNav:e})=>e({refs:o,client:t,workUnits:m,getUnits:()=>m.currentUnits(),log:i,onExportTranscript:w,shortcuts:o.shortcuts,persistKeyboardTrigger:async e=>{let{writer:t,reader:n}=await g(),{writeShortcutTrigger:r}=await s(async()=>{let{writeShortcutTrigger:e}=await import(`./wc-shortcut-config-_FC-kTdg.js`);return{writeShortcutTrigger:e}},__vite__mapDeps([103,1,104,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47]));await r({reader:n,writer:t},e)}})).catch(e=>i.error(`WC nav wiring failed`,e)),s(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-DeLPAAnL.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([127,1,3,57,38,5,13,37,39,18,40,23,12,14,15,16,17,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,72,73,74,128])).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)),s(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-DUmL0M9L.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([71,1,13,3,72,73,17,5,18,38,37,39,40,23,12,14,15,16,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,74])).then(({setSpeakAssetsInstanceId:e})=>e(a.instanceId)).catch(e=>i.error(`WC say warmup wiring failed`,e)),a.standalone)return()=>{s(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-Bz-zsmnA.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([65,1,13,16,23,12,5,14,15,17,18,3,19,20,21,22,24,25,26,27,28,29,48,40,42,49,50,30,51,33,34,52,53,54,45,58,36,37,59,32,35,60,41,61,62,38,39,43,44,31,46,47,63])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await g()).writer,onComplete:e=>{x(),e.attempted>0&&t.reloadSkills()}})).catch(e=>i.warn(`Pending session catch-up scheduling failed`,e))}}function Hl(e){let t=!1,n=()=>s(()=>import(`./boot-stall-overlay-Cs-FNlf8.js`),[]);return{onBootProgress:r=>{t=!0,n().then(t=>t.showBootStage(e,r))},onReadyStall:r=>{t=!0,n().then(t=>t.showBootStallOverlay(e,r))},dismiss:()=>{t&&n().then(t=>{t.removeBootStallOverlay(e),t.removeBootStage(e)})}}}async function Ul(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:o,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,attachLickForwardingClient:d}=await Ue({runtimeMode:n,envBaseUrl:null,window,log:t}),{floatKindForRuntimeMode:f,floatLabelForKind:p,resolveStandaloneFloatKind:m}=await s(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await Promise.resolve().then(()=>Xs);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},void 0),h=n===`standalone`?await m():f(n),g=p(h);a&&Ve(a);let{syncFsBridgeEnabled:_,syncFsChannelNonce:v}=Ps(),y=Hl(document),b,x,{boot:S}=await ac(e,t,{floatKind:h,floatLabel:g,connect:e=>{b=Ja({realCdpTransport:i,reconnectCdp:()=>r.reconnectIfNeeded(),instanceId:a,makeClient:t=>new Oa(Eo(e.wiring),t),localApiBaseUrl:o,bridgeToken:c,syncFsBridgeEnabled:_,syncFsChannelNonce:v,localLickWsUrl:l,extensionDelegateId:u,flagFloat:n,onWorkerScriptError:()=>{Ke()},onBootProgress:y.onBootProgress,onReadyStall:y.onReadyStall,onLateReady:()=>{Ke()}}),Fe({drain:()=>b.drain(),terminate:()=>b.dispose()}),Pa({send:e=>b.client.sendRaw(e)}),d?.(b.client);let s=Aa(b.client);return{client:Q(e.wiring),host:s,workbench:(e,o)=>{x=Vl(e,b.client,o,s,t,{instanceId:a,standalone:{browser:r,floatKind:h,realCdpTransport:i,runtimeMode:n},kernelReadyDeadline:{pause:()=>b.pauseReadyDeadline(),restart:()=>b.restartReadyDeadline()}})}}}});S.setRestoringSessions(!0);let{setupSudoStandalone:ee}=await s(async()=>{let{setupSudoStandalone:e}=await import(`./main-CN0eXvpe.js`).then(e=>e.a);return{setupSudoStandalone:e}},__vite__mapDeps([48,5,1,12,13,14,15,16,17,18,3,19,20,21,22,40,24,23,25,26,27,28,29,42,49,50]));await ee({log:t});try{await b.ready}finally{y.dismiss()}S.wiring.notifyReady?.(),S.setRestoringSessions(!1),globalThis.__slicc_kernel_ready=!0,t.info(`WC live shell ready`,{scoops:b.client.getScoops().length}),x?.();let{consumeAutoPrompt:C}=await s(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),w=C(window.location.search);w&&(S.getController()?.sendUserMessage(w),t.info(`Auto-prompt submitted`,{length:w.length}))}export{ia as A,wi as B,Aa as C,oa as D,sa as E,aa as F,Zn as H,Qr as I,Ei as L,ta as M,W as N,Xi as O,ra as P,Zr as R,Na as S,G as T,Jn as U,pr as V,Oo as _,Fs as a,Q as b,Ts as c,ks as d,Ko as f,ko as g,Do as h,Is as i,$i as j,na as k,xs as l,zo as m,_l as n,Ss as o,Go as p,ac as r,Ds as s,Vl as t,ws as u,Ao as v,Oa as w,Xa as x,Eo as y,Yi as z};
|
|
248
|
+
`}function Gs(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var Ks=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=null;#D=null;#O=!1;#k=`thinking`;#A=0;#j=null;#M=new Set;#N=new Map;#P=new Map;#F=new Set;#I=!1;#L=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.#J(e)),this.#v=e=>this.#ge(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.#N.keys()])this.#he(e);this.#P.clear(),this.#F.clear(),this.#me()}setReadOnly(e){if(this.#I!==e&&(this.#I=e,e))for(let e of[...this.#N.keys()])this.#he(e)}get readOnly(){return this.#I}get processing(){return this.#O}getMessages(){return this.#y.map(e=>({...e}))}setAgent(e){this.#h(),this.#t=e,this.#h=e.onEvent(e=>this.#J(e))}setOnLocalUserMessage(e){this.#g=e}setOnLocalProcessingChange(e){this.#_=e}addUserMessage(e,t,n){this.#ye({id:$(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(Gs)}removeQueuedMessage(e){let t=this.#b.filter(t=>t.id!==e);t.length!==this.#b.length&&(this.#b=t,this.#B())}stashQueued(){let e=this.#L??[];this.#L=null;let t=this.#b;return t.length===0?e:(this.#b=[],this.#B(),[...e,...t])}restoreQueued(e){this.#L=e.length>0?[...e]:null}heldBackendPendingIds(e){if(!this.#L||!e?.length)return new Set;let t=new Set(e);return new Set(this.#L.filter(e=>t.has(e.id)).map(e=>e.id))}#R(e,t){if(!this.#L)return;let n=this.heldBackendPendingIds(t),r=new Set(e.map(e=>e.id)),i=this.#L.filter(e=>!r.has(e.id)||n.has(e.id));if(this.#L=null,i.length===0)return;if(!t){this.#b=i,this.#B();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.#O?o:[...o,...s],this.#B(),this.#O)for(let e of s)this.#ye(e)}#z(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#ye(t);this.#B()}#B(){this.#u?.(this.#b.map(Gs))}#V(){this.#d?.(this.#x)}setLickBackpressure(e,t,n){if(e<=0){if(!this.#x)return;this.#x=null,this.#V();return}this.#x={text:`${e} events waiting for the current turn`},this.#V();try{ke(n,t)}catch{}}addAssistantMessage(e){this.#ye({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.#N.keys()])this.#he(e);this.#P.clear(),this.#F.clear(),this.#me();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.#B();let r=this.heldBackendPendingIds(t),i=r.size>0?e.filter(e=>!r.has(e.id)):e;this.#y=wt(i);let a=[...this.#y].reverse().find(e=>e.isStreaming);this.#C=a?.id??null,a&&(this.#w=a.id),this.#Q(),this.#S.clear();let o=[],s=``;for(let e of this.#y){let t=new Date(e.timestamp).toDateString();t!==s&&(o.push(st(e.timestamp)),s=t);let n=this.#ve(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.#Ce();for(let e of this.#y)this.#o?.(e,this.#S.get(e.id)??[]);this.#q(),this.#Te(),this.#H(),this.#R(e,t)}#H(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!Ge()||this.#O)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#ge(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#U(r):r,a={id:$(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#O&&!n?.steer?(this.#b.push(a),this.#B()):this.#ye(a),n?.steer?this.#t.sendMessage(i,a.id,a.attachments,{steer:!0}):this.#t.sendMessage(i,a.id,a.attachments),this.#W();try{let e=n?.dictation?c(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#U(e){return u(e,l())}#W(){if(this.#l)try{let e=this.#l();if(!e)return;Me(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.#be(a);return}this.#ye({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#O?!0:void 0})}updateLickState(e,t){let n=this.#y.find(t=>t.lickId===e);n&&(n.lickState=t,this.#be(n))}setProcessing(e){if(this.#O!==e){this.#O=e,e&&(this.#w=null),e&&(this.#A=0,this.#G(`thinking`)),e&&this.#z(),e||(this.#x&&(this.#x=null,this.#V()),this.#q()),this.#n?.(e);try{this.#_?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#K()}}#G(e){this.#k!==e&&(this.#k=e,this.#r?.(e))}#K(){let e=this.#w;if(this.#w=null,!this.#c)return;let t=e?this.#_e(e):null;this.#c(t?{...t}:null)}#q(){let e=this.#y[this.#y.length-1];if(e?.role!==`assistant`||e.isStreaming){this.#j?.remove();return}this.#j??=Hs({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#j)}#J(e){switch(e.type){case`message_start`:this.#Y(e.messageId);break;case`content_delta`:this.#X(e.messageId,e.text);break;case`content_done`:this.#$(e.messageId,e.model,e.usage);break;case`tool_use_start`:this.#te(e.messageId,e.toolName,e.toolInput,e.toolCallId);break;case`tool_result`:this.#re(e.messageId,e.toolName,e.result,e.isError,e.toolCallId);break;case`tool_ui`:this.#le(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#ue(e.requestId);break;case`tool_progress`:this.#de(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#oe(e.messageId);break;case`compaction_notice`:this.#ie(e.messageId,e.marker);break;case`error`:this.#se(e.error,e.endTurn!==!1)}}#Y(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#ye({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#X(e,t){this.#_e(e)&&(this.#E!==e&&this.#Z(),this.#E=e,this.#T+=t,this.#D??=requestAnimationFrame(()=>this.#Z()))}#Z(){let e=this.#E,t=this.#T;this.#Q();let n=t&&e?this.#_e(e):void 0;n&&(n.content+=t,this.#be(n))}#Q(){this.#D!==null&&cancelAnimationFrame(this.#D),this.#D=null,this.#T=``,this.#E=null}#$(e,t,n){let r=this.#_e(e);r&&(t&&(r.model=t),n&&(r.usage=n),this.#E===e&&(r.content+=this.#T,this.#Q()),r.isStreaming=!1,this.#be(r))}static#ee(e,t){return`${e}:${t}`}#te(t,n,r,i){let a=this.#_e(t);if(!a)return;a.toolCalls=a.toolCalls??[];let o=i?e.#ee(t,i):$();this.#F.add(o),a.toolCalls.push({id:o,name:n,input:r}),this.#A+=1,this.#G(`tool`),this.#be(a)}#ne(t,n,r){let i=t?.toolCalls??[];if(r){let n=t?e.#ee(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)}#re(e,t,n,r,i){let a=this.#_e(e),o=this.#ne(a,t,i);a&&o&&(o.result=n,o.isError=r,o.id&&(this.#P.delete(o.id),this.#me()),this.#A=Math.max(0,this.#A-1),this.#A===0&&this.#G(`thinking`),this.#be(a))}#ie(e,t){let n=this.#_e(e);if(t.state===`discarded`){n&&this.#ae(n);return}if(n){n.compaction=t,this.#be(n);return}this.#ye({id:e,role:`assistant`,content:``,timestamp:Date.now(),compaction:t})}#ae(e){this.#Se(),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.#Ce(),this.#pe()}#oe(e){let t=this.#_e(e);t?.isStreaming&&(t.isStreaming=!1,this.#be(t)),this.#C=null,this.setProcessing(!1)}#se(e,t=!0){t&&this.setProcessing(!1),this.#ye({id:$(),role:`assistant`,content:typeof e==`string`?e:je(e)??``,timestamp:Date.now(),error:!0}),this.#ce(e)}#ce(e){try{let t=typeof e==`string`?e:Ae(e);if(typeof t==`string`&&Ne(t))return;Pe(`error-card`,e)}catch{}}#le(e,t,n){if(this.#I)return;this.#he(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,Ws(n),()=>{},!1);this.#N.set(t,{instance:e,container:r});return}let i=z(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#N.set(t,{instance:i,container:r}),this.#p?.(t,o,void 0)}#ue(e){this.#he(e)}#de(e,t,n,r){let i=this.#_e(e),a=this.#ne(i,t,r);a?.id&&(n.phase===`end`?this.#P.delete(a.id):this.#P.set(a.id,n),this.#fe(a.id),this.#me())}#fe(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&ut(t,this.#P.get(e)??null),this.#pe()}#pe(){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.#F.has(e.dataset.toolId)).map(e=>{let t=e.dataset.toolId,n=e.getAttribute(`result`);return{done:n!==null&&n!==`…`,fraction:this.#P.get(t)?.fraction}});Tt(t,St(e))}}#me(){let e=null,t=[...this.#P.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))}#he(e){let t=this.#N.get(e);if(t){this.#N.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#ge(e){if(this.#O)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)}#_e(e){return this.#y.find(t=>t.id===e)}#ve(e){try{return tt(e,{readOnly:this.#I})}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]}}#ye(e){this.#Se(),this.#y.push(e);let t=this.#ve(e);this.#S.set(e.id,t),this.#e.append(...t),this.#Ce(),this.#o?.(e,t),e.role===`user`?this.#Te():this.#Ee()}#be(e){this.#Se();let t=this.#S.get(e.id)??[],n=this.#ve(e),r=t[0]??null,i=r?.parentNode;if(i)for(let e of n)i.insertBefore(e,r);else this.#e.append(...n);this.#S.set(e.id,n),this.#o?.(e,n);for(let e of t)e.remove();for(let t of e.toolCalls??[])t.id&&this.#P.has(t.id)&&this.#fe(t.id);this.#Ce(),this.#pe(),this.#Ee()}#xe(){return this.#e.inner??this.#e}#Se(){ct(this.#xe(),this.#M)}#Ce(){Ct(this.#xe(),{openClusterAnchors:this.#M,toolCallLookup:(e,t)=>this.#we(e,t)})}#we(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#Te(){this.#e.scrollTop=this.#e.scrollHeight}#Ee(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#Te()}};function qs(e,t,n,r,i,a){let o=new Map;s(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-CGcVbQni.js`);return{loadDipStyles:e}},__vite__mapDeps([68,13])).then(({loadDipStyles:e})=>e()).catch(()=>void 0);let c=[];n.subscribeList(e=>{c=e});let l=()=>t.addressableUnitId?t.addressableUnitId():r()?.id??null,u=Is(n,{getSelectedId:l,onError:e=>t.emitAgentError(e),onEvent:e=>t.onAgentEvent(e)});u.onEvent(t=>{(t.type===`tool_use_start`||t.type===`tool_result`)&&(t.type===`tool_result`&&t.isError&&e.switcher.glower(),s(async()=>{let{playCue:e}=await import(`./soundscape-DHszzPsM.js`);return{playCue:e}},__vite__mapDeps([69,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let d=new Ks({thread:e.thread,agent:u,resolveTelemetryContext:()=>{let e=r();if(!e)return null;let t=Gn(e);try{let n=Bn(c,e.id);return{scoopName:t,model:(n?w(n.id,n.provider):ne()).id}}catch{return{scoopName:t,model:``}}},onTurnComplete:e=>{t.speaksReplies&&s(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-D0KspY5L.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([70,1,37,5,71,13,3,72,73,17,18,38,39,40,23,12,14,15,16,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,74])).then(async({consumeVoiceSubmission:t,speakReplyMarkdown:n})=>{if(!t())return;let{endVoiceTurn:r,setTtsActive:i}=await s(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-DHszzPsM.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([69,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47]));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||i?.()},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=o.get(e);t&&(B(t),o.delete(e))},onMessageRendered:(e,n)=>{let r=o.get(e.id),i=n[0];if(!i){r&&B(r),o.delete(e.id);return}t.onMessageRendered?.(i);let s=l()??void 0;o.set(e.id,Lr(i,(e,n)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:n}};a?.intercept?.(r)||t.sendSprinkleLick(`inline`,{action:e,data:n},void 0,s)},{previous:r,streaming:e.isStreaming===!0}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,n,r)=>{t.sendToolUiAction(e,n,r)},onQueuedCancel:e=>{let n=r()?.id;n&&t.deleteQueuedMessage(n,e).catch(()=>void 0)},...t.readOnlyToolUi?{readOnlyToolUi:!0}:{}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let n=e.detail?.id;if(!n)return;d.removeQueuedMessage(n);let i=r()?.id;i&&t.deleteQueuedMessage(i,n).catch(()=>void 0)}),zs(e.thread,(e,n,r,i)=>t.sendSprinkleLick(e,n,r,i),l),{controller:d,agentHandle:u}}function Js(e,t){let n=new Fs,r=()=>{let r=t.currentUnits(),i=e.getSelected()?.id;e.refs.switcher.scoops=In(r,i,et,n.sync(r,i)),e.refreshConeActions?.()};return e.refreshScoops=r,t.subscribeList(()=>r()),r}function Ys(e,t,n){let{refs:r}=e;e.setChatTransport(t,n);let{controller:a,agentHandle:o}=qs(r,n,t,()=>e.getSelected(),n.onTurnIdle,n.welcome);e.setController(a);let c=Js(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 o=vt(t),c=n.takeAttachments?.();if(!o&&!c?.length)return;e.wiring.awaitingInput=null,e.wiring.refreshScoops?.(),e.wiring.notifyScoopStateChanged?.();let l=t.detail?.source===`dictation`;l&&n.speaksReplies&&(s(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-D0KspY5L.js`);return{markVoiceSubmission:e}},__vite__mapDeps([70,1,37,5,71,13,3,72,73,17,18,38,39,40,23,12,14,15,16,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,74])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),s(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-DHszzPsM.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([69,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),a.sendUserMessage(o??``,c,{dictation:l,steer:lt(t)}),r.inputCard.clear?.();let u=e.getSelected()?.id;u&&(r.switcher.setAttribute(`attention`,u),e.wiring.lastActivity.set(u,i(o??``,600)))}),r.inputCard.addEventListener(`stop`,()=>{e.getController()?.processing&&o.stop()}),{agentHandle:o,controller:a,publishStrip:c}}var Xs=e({floatKindForRuntimeMode:()=>$s,floatLabelForKind:()=>Qs,resolveStandaloneFloatKind:()=>ec}),Zs={"slicc-server":`sliccstart`,"slicc-node-server":`npx`};function Qs(e){return ot(e)}function $s(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 ec(e){let t=e?.fetchFn??fetch,n=e?.timeoutMs??1500;try{let e=new AbortController,r=setTimeout(()=>e.abort(),n),i=await t(se(`/api/status`),{cache:`no-store`,signal:e.signal,headers:ce()}).finally(()=>clearTimeout(r));if(await ie(i),!i.ok)return`standalone`;let a=await i.json();return(a.service?Zs[a.service]:void 0)??`standalone`}catch(e){if(ae(e))throw e;return`standalone`}}function tc(e,t){let n=t.label??Qs(t.floatKind);e.setAttribute(`label`,n),e.setAttribute(`float-kind`,t.floatKind);let r=en(),i=Re(),a=()=>{let t=nc(r,i);e.setAttribute(`connection`,t.connection),t.trayRole===`none`?e.removeAttribute(`tray-role`):e.setAttribute(`tray-role`,t.trayRole)},o=Qt(e=>{r=e,a()}),s=Ie(e=>{i=e,a()});return a(),()=>{o(),s()}}function nc(e,t){return e.state===`inactive`?t.state===`inactive`?{connection:`offline`,trayRole:`none`}:{connection:ic(t),trayRole:`follower`}:{connection:rc(e),trayRole:`leader`}}function rc(e){switch(e.state){case`connecting`:return`connecting`;case`leader`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}function ic(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 ac(e,t,n){let r=n.floatLabel??Qs(n.floatKind),i=Cl(e,r);tc(i.refs.floatbar,{floatKind:n.floatKind,label:r});let a=await n.connect(i),o=Ys(i,a.client,a.host);return await a.workbench?.(i,o),t.info(`WC shell mounted`,{floatKind:n.floatKind}),{boot:i,chat:o}}var oc=36e5,sc=2e3,cc=class{#e=[];#t;#n;constructor(e=oc,t=sc){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 lc(e){return it(e,rt)}async function uc(e,t=ye.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 lc(n)}function dc(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:ra(e),sublabel:n,meta:ta(e),icon:$i(e),badges:r,status:W(e)}})}}function fc(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function pc(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function mc(e){let t=pc(e),n=e.sessionId?`Session ${Zi(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:fc(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:fc(e)}]}}function hc(e,t){let n=e.filter(e=>D(e)),r=t=>e.filter(e=>!D(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:D(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 gc(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 _c(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 vc(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 yc(e){let t=Xe({percent:e.percent,status:e.status});return t===`critical`?`error`:t===`warn`?`warn`:`active`}function bc(e,t){let n=`${Je(e.percent)}% used`,r=Ye(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:yc(e)}}function xc(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`:``,`${Je(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?yc(n):void 0,emptyText:`Model usage will be summarized after the first turn.`,rows:[...n?[bc(n,t)]:[],...r.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))]}}function Sc(e){let t=[],n=Cc(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=fc(e.tray);(r===`error`||r===`warn`)&&t.push({id:`tray`,severity:r===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${pc(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)W(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${ra(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:ta(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 Cc(e,t){if(!e||Xe({percent:e.percent,status:e.status})===`ok`)return null;let n=Ye(e.resetsAt,t),r=`${Je(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 wc(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function Tc(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:wc(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:Dc(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d?[Ec(d,t,e.now??Date.now()),...f]:f}function Ec(e,t,n){let r=Xe({percent:e.percent,status:e.status});return{id:`budget`,label:`${e.window[0]?.toUpperCase()??``}${e.window.slice(1)} budget`,value:Je(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`:``,Ye(e.resetsAt,n)??``,t?`$${t.totalCost.toFixed(2)} this session`:``].filter(Boolean).join(` · `)}}function Dc(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?D(r):!1,a=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:et({isRoot:i,name:a}),label:`${i?`${a} (cone)`:a} — ${Math.round(t*100)}% full`}})}var Oc={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function kc(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 Ac(e,t){return{pid:e.pid,ppid:e.ppid,state:Oc[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:kc(e.startedAt,t)}}async function jc(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:Tc({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n,now:g}),alerts:Sc({tray:r,followers:i,mounts:s,oauthProviders:p,budget:l?.budget,now:g}),sections:[mc(r),dc(i),hc(n,t=>e.isProcessing(t)),gc(s),_c(m,p),vc(a,o),xc(l,g)],processes:{rows:d.map(e=>Ac(e,g)),terminated:f}}}var Mc=`/shared`,Nc=3,Pc=200;async function Fc(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,Pc),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<Nc?await Fc(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 Ic(e,t=ye.root){let n=[];for(let r of[t,Mc])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await Fc(e,r,1)});return n}var Lc=200,Rc=1e3,zc=3e3,Bc=45e3;function Vc(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 Ic(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,ft({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:_t,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>=Rc){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},Lc)},f=()=>{t??=setInterval(u,zc)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,Mc];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()})},m=()=>{n=!1,i=!1,a++,s?.(),s=null,c!=null&&(clearTimeout(c),c=null),t!=null&&(clearInterval(t),t=null)};return{open(){m(),i=!0,n=!0,e.onKernelReady(()=>{n&&(n=!1,u(),p())})},close:m,repoint(){i&&!n&&(u(),p())}}}function Hc(e){let t=!1,n=!1,r=!1,i=0,a=null,o=new cc,s=Vc(e),c=()=>{a!=null&&(clearInterval(a),a=null)},l=()=>{let t=++i;e.openFs().then(async n=>{let r=await uc(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 jc(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 ${Bc}ms; re-arming so the next term activation retries`))},Bc);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 Uc=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],Wc=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Gc=2e4,Kc=12,qc=3e4;function Jc(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 Yc(e){return e.slice(e.lastIndexOf(`/`)+1)}function Xc(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function Zc(e,t){let n=Jc(e);return t.includes(`/`)?Xc(n,t):Yc(n)===t}function Qc(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))&&Zc(a,e)&&(r.add(a),n.push(Jc(a)),n.length>=$c))break}return n}var $c=4,el=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??Uc,this.#n=t.ignoredDirs??Wc,this.#r=t.maxEntries??Gc,this.#i=t.maxDepth??Kc,this.#a=t.ttlMs??qc}resolve(e,t=[]){this.#g();let n=Jc(e),r=this.#d(n),i=Qc(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!=null)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=>Xc(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!=null)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(Yc(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Xc(t,e)).sort(tl)}:{query:e,matches:[...t].sort(tl)}}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 tl(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var nl=`file-mention`,rl=`data-file-mentions`;function il(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var al=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),ol=`file-mention-open`;async function sl(e,t,n=[]){let r=il(e);if(e.getAttribute(rl)===r)return;let i=cl(e);if(i.length===0){e.setAttribute(rl,r);return}let a=[],o=new Set;for(let e of i){let t=mt(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(rl,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&&ll(e,n,l)}e.setAttribute(rl,il(e))}function cl(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(al.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 ll(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(ul(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 ul(e,t,n,r,i){let a=e.createElement(`a`);return a.className=nl,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(ol,{detail:t,bubbles:!0,composed:!0}))}),a}var dl=`slicc-agent-message`,fl=`slicc-action-row[${nt}]`;function pl(e,t){let n=[],r=e.querySelectorAll(fl);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=>at(e))}function ml(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function hl(e){try{return gl(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function gl(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new el(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;mt(n.textContent??``).length!==0&&ml(()=>{let i=pl(t,e);a().then(e=>sl(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(dl))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()===dl?o(e):s(e));let e=t.target?.closest?.(dl);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=>xt(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(ol,l),()=>{c.disconnect(),t.removeEventListener(ol,l)}}var _l=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>Il,DOCK_TREE_STORAGE_KEY:()=>Fl,attachWcWorkbench:()=>Vl,bootLeaderFloat:()=>Ul,makeSprinkleAttachImage:()=>Bl,mountSevenBannerInShell:()=>Rl,prepareWcShell:()=>Cl,wireDockTreePersistence:()=>zl,wireWcChipTips:()=>Al,workspaceForSelection:()=>xl});function vl(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?Wn(i,o)?.id??o.id:r;n.set(s,[...n.get(s)??[],...a])}function yl(e){let{controller:t,destination:n,held:r,previousJid:i,roster:a}=e;if(i&&i!==n&&vl({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 bl(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 xl(e){let{client:t,selectedId:n}=e,r=n===void 0?void 0:t.getScoop(n);return n!==void 0&&!r&&e.clearSelection(),de(t.getScoops(),r)}function Sl(e){let{refs:t}=e,n=null,r=new Map;return{clear:()=>{n=null},getSelected:()=>n,holdQueue:()=>{let t=n?.id;t&&vl({controller:e.controller(),held:r,jid:t,roster:e.client().currentUnits()})},selectScoop:i=>{let a=n?.id??null;n=i;let o=Kn(zn(i)),s=e.host();yl({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,Gn(i)),e.controller()?.setReadOnly(o),o||t.inputCard.removeAttribute(`disabled`),Ho(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 Cl(e,t){let n=pt(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=ja,o=null,s=()=>o??Q(g),c=new Map,l=!1,u=null,d=!1,f=new Set,p=bl(()=>s(),(e,t)=>{r?.loadMessages(e,t),lo(n.thread,e.length===0&&d),a.onSnapshotRendered?.(e)}).watch,m=Sl({client:s,controller:()=>r,host:()=>a,lickBackpressure:c,refs:n,watchUnit:p,wiring:()=>g,workbench:()=>u}),h=m.selectScoop,g={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:()=>m.getSelected(),selectScoop:h,notifyReady:()=>{l=!0;for(let e of f)e()}};return{refs:n,wiring:g,setClient:e=>{i=e},setChatTransport:(e,t)=>{o=e,a=t},getChatHost:()=>a,selectScoop:h,getSelected:()=>m.getSelected(),clearSelection:()=>m.clear(),holdQueuedPile:()=>m.holdQueue(),watchUnit:p,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):f.add(()=>e.activate(n)))},onClientReady:e=>{f.add(e),l&&e()},setRestoringSessions:e=>{d=e,lo(n.thread,e&&co(n.thread))}}}function wl(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([s(()=>import(`./remote-vfs-client-Cs1yUtQm.js`),__vite__mapDeps([75,35])),s(()=>import(`./writable-vfs-client-CQe6oZ75.js`),__vite__mapDeps([76,35]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function Tl(e,t,n,r,i){e.onClientReady(()=>{r.intercept||s(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-DwK2Xo_f.js`);return{wireWcOnboarding:e}},__vite__mapDeps([77,1,13,33,5,34,26,48,12,14,15,16,17,18,3,19,20,21,22,40,24,23,25,27,28,29,42,49,50,51,52,53,54,45])).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 El(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:Ye(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 Dl(e,t,n){let r=t.standalone;r&&s(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-Bwwt12VY.js`);return{wireWcBrowser:e}},__vite__mapDeps([78,79,40,80,1,81,82,18,22,38,5,13,37,39,23,12,14,15,16,17,3,19,20,21,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,83])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function Ol(e){return{assistantLabel:e.assistantLabel,name:e.name,role:D(e)?`primary`:`child`}}function kl(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,i(String(n.content??``),600))}}function Al(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 c=e.lastActivity.get(a)??``,l=t.get(a);if(l&&l.activity===c){i.title=l.tip;return}i.title||=j(Ol(o)),c&&!n.has(a)&&(n.add(a),(async()=>{try{let n=await(e.labelFn??(await s(async()=>{let{quickLabel:e}=await import(`./quick-llm-DcceQmkj.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([11,5,1,12,13,14,15,16,17,18,3,19,20,21,22,23,24,25,26,27,28,29,30,31]))).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: ${D(o)?`${j(Ol(o))} (a main agent)`:o.name}\nMost recent activity:\n${c}`,maxTokens:40});n&&(t.set(a,{activity:c,tip:n}),i.title=n)}finally{n.delete(a)}})())})}async function jl(e,t,n,r){let{RemoteTerminalView:i}=await s(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-ML6zl31u.js`);return{RemoteTerminalView:e}},__vite__mapDeps([84,12,5,1,13,14,15,16,17,18,3,19,20,21,22,57,0,2,10,85,9,8,86,87])),{fetchSecretEnvVars:a}=await s(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-B5BchABJ.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([88,1,12,5,13,14,15,16,17,18,3,19,20,21,22])),o=await a(),c=new i({client:t,cwd:`/`,env:Object.keys(o).length>0?o:void 0});if(await new Promise(t=>e.onClientReady(t)),await c.mount(n),globalThis.__slicc_terminal_view=c,window.addEventListener(`beforeunload`,()=>c.dispose(),{once:!0}),new URLSearchParams(location.search).has(`wterm-image-demo`)){let e=await fetch(`/logos/sliccy-color-10scoops-128x128.png`);if(!e.ok)throw Error(`wterm demo image: HTTP ${e.status}`);let t=new Uint8Array(await e.arrayBuffer());await(await r()).writeFile(`/tmp/wterm-graphics-demo.png`,t);let n=await c.executeCommandInTerminal(`imgcat /tmp/wterm-graphics-demo.png`);if(n.exitCode!==0)throw Error(`wterm demo image: ${n.stderr}`)}}function Ml(e,t,n){let r=t=>{if(t.startsWith(`freezer:`)){n(t.slice(8));return}let r=Rn(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 Nl(e,t,n,r){s(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-sEzYJY5L.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([89,1,13,57])).then(async({installLeaderPermissionsSurface:r,installMountPendingConsumer:i})=>{let a=n.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:o,isExtensionRuntime:c}=await s(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-DvV2aZfl.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([90,13,3]));r({runtimeMode:a,providers:await o(c()||a===`extension`||a===`extension-detached`)}),i({runShell:Pl(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e)),(n.standalone?.runtimeMode??`standalone`)!==`cherry`&&s(async()=>{let{installSecretRequestSurface:e}=await import(`./wc-secret-request-Bj6AEfhW.js`);return{installSecretRequestSurface:e}},__vite__mapDeps([91,1,23,12,5,13,14,15,16,17,18,3,19,20,21,22,24,25,26,27,28,29,38,37,39,40,41,42,43,35,44,31,45,46,47,92,93])).then(({installSecretRequestSurface:e})=>e()).catch(e=>r.warn(`WC secret request surface wiring failed`,e))}function Pl(e,t){let n=null,r=()=>(n||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:n}=await s(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-DmE-iBjP.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([87,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 Fl=`slicc-dock-tree:default`,Il={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 Ll(e){s(async()=>{let{showProfileExportDialog:e}=await import(`./wc-profile-export-0_MWQlQi.js`);return{showProfileExportDialog:e}},__vite__mapDeps([94,13])).then(({showProfileExportDialog:e})=>e()).catch(t=>e.error(`Export for SLICC 7 dialog failed`,t))}function Rl(e){let t,n=()=>{if(!d(`seven-banner`)){t&&document.getElementById(t.SEVEN_BANNER_ID)?.remove();return}s(()=>import(`./wc-seven-banner-BitWulyq.js`).then(n=>{t=n;let r=document.querySelector(`.wcui-appcol`);r&&d(`seven-banner`)&&n.mountSevenBanner(document,r,r.querySelector(`:scope > slicc-shell`),{onExport:()=>Ll(e),moveHref:n.sevenInPlaceHref(location.origin)})}),__vite__mapDeps([95,40])).catch(t=>e.error(`SLICC 7 banner failed`,t))};return n(),f(n)}function zl(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(Fl,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(Fl);r.setTree(e?JSON.parse(e):Il)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(Il)}}function Bl(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 Vl(e,t,n,r,i,a={}){s(async()=>{let{initTimestampPreference:e}=await import(`./wc-shell-Dviry0M3.js`).then(e=>e.Q);return{initTimestampPreference:e}},__vite__mapDeps([38,5,1,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:o}=e;e.setClient(t),s(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-CmogKzdP.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([96,5,97,1])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),s(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-CwaY1aIr.js`).then(e=>e._);return{applyThemeOverrides:e}},__vite__mapDeps([97,5,1])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let c=d(`panel-layouts`);o.dockTree.tilesMovable=c,c||zl(o,i);let l=null,u=El(e.wiring,t),f=()=>l?.(),p=r.welcome??{intercept:null},m=Q(e.wiring),{agentHandle:h}=n;e.onClientReady(u);let g=wl(t),_=async()=>(await g()).reader;a.standalone?.runtimeMode!==`cherry`&&a.standalone?.runtimeMode!==`hosted-leader`?Tl(e,t,g,p,i):p.intercept=Co({openVfs:async()=>(await g()).writer,log:i});let v=Wo({boot:e,client:t,setRefreshPlaceholder:e=>{l=e},triggerPlaceholder:f,openReader:_,openWriter:async()=>(await g()).writer,log:i});r.setAttachmentSource(()=>v.getAttachStage()?.take()),r.setTurnIdleHook(kl({boot:e,triggerPlaceholder:f,refreshStats:u})),Al({switcher:o.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity}),Dl(e,a,i),s(async()=>{let{installWcComputers:e}=await import(`./wc-computers-CEYTEbzK.js`);return{installWcComputers:e}},__vite__mapDeps([82,18,22,38,5,1,13,37,39,40,23,12,14,15,16,17,3,19,20,21,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,83])).then(({installWcComputers:e})=>e({openFs:_,log:i})).catch(e=>i.error(`WC computers wiring failed`,e)),Nl(e,t,a,i);let y=Hc({fileTree:o.fileTree,termSurface:o.termSurface,memoryHost:o.memoryHost,monitor:o.monitor,openFs:_,openWriter:async()=>(await g()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>Ms({client:t,openReader:_,storage:window.localStorage}),getWorkspace:()=>xl({client:t,clearSelection:e.clearSelection,selectedId:e.getSelected()?.id}),mountTerminal:n=>jl(e,t,n,async()=>(await g()).writer),insertReference:e=>{let t=o.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:i});e.setActivateSurface(y),e.onClientReady(()=>{window.setTimeout(()=>{s(async()=>{let{warmWterm:e}=await import(`./warm-wterm-snqvCS0-.js`);return{warmWterm:e}},__vite__mapDeps([98,13])).then(({warmWterm:e})=>e()).catch(e=>i.warn(`wterm WASM warm-up failed`,e))},2500)}),c&&s(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-Dt3FXNpB.js`);return{panelizeShell:e}},__vite__mapDeps([99,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,100,101,102])).then(({panelizeShell:e})=>e(o,void 0,void 0,{onToolPanelActivate:e=>y.activate(e),onToolPanelDeactivate:e=>y.deactivate(e)})).catch(e=>i.error(`panelize failed — keeping the classic shell`,e)),hl({thread:o.thread,openFs:_,log:i}),dt(o.thread,_),o.floatbar.addEventListener(`click`,()=>{let e=o.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let b=ys({refs:o,openVfs:g,client:t,getUnits:()=>m.currentUnits(),getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,holdQueuedPile:e.holdQueuedPile,log:i}),{refreshFreezer:x,openFrozen:S,getViewedFrozenSessionId:ee}=b;if(x(),e.onClientReady(x),d(`multiple-cones`)){let n=xo({freezer:o.freezer,client:t,getSelected:()=>e.getSelected(),getUnits:()=>m.currentUnits(),selectScoop:e.selectScoop,freezeCone:b.freezeCone,log:i});e.wiring.refreshConeActions=n.refresh,e.onClientReady(n.refresh)}Ml(e,t,S),e.onClientReady(()=>{g().then(async({reader:e,writer:t})=>{let{loadShortcutConfig:n}=await s(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-BEJ7hCGM.js`);return{loadShortcutConfig:e}},__vite__mapDeps([103,1,104,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47]));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))}),g().then(async({reader:e})=>{let{installPreviewVfsResponder:t}=await s(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)),g().then(async({reader:n,writer:r})=>{let{createRemoteSprinkleVfs:c}=await s(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-UzNBy5VJ.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([105,35,106,107])),l=(await s(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-Dt3FXNpB.js`);return{getPanelizedShell:e}},__vite__mapDeps([99,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,100,101,102]))).getPanelizedShell(),{wireWcSprinkles:u}=await s(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-CCEvPCsZ.js`);return{wireWcSprinkles:e}},__vite__mapDeps([108,13,3,109,38,5,1,37,39,18,40,23,12,14,15,16,17,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,110,33,34])),d=await u({refs:o,client:t,getUnits:()=>m.currentUnits(),getSelected:()=>e.getSelected(),selectScoop:t=>e.selectScoop(t),interceptWelcomeLick:e=>p.intercept?.(e)??!1,fs:c({reader:n,writer:r}),instanceId:a.instanceId,onAttachImage:Bl(v,i),onToolPanelActivate:e=>y.activate(e),onToolPanelDeactivate:e=>y.deactivate(e),hostSprinkleSurface:l?(e,t)=>l.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:l?e=>l.removeSprinkleSurface(e):void 0,log:i});e.onClientReady(()=>void d.resync());let{getPanelizedShell:f}=await s(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-Dt3FXNpB.js`);return{getPanelizedShell:e}},__vite__mapDeps([99,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,100,101,102])),b=f();if(b){let e=c({reader:n,writer:r});b.attachFs(e);let{registerAgentPanels:t}=await s(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-DwoeuEZJ.js`);return{registerAgentPanels:e}},__vite__mapDeps([111,1,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47]));await t(e).catch(e=>i.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await s(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:t}=await s(async()=>{let{applyLayout:e}=await import(`./apply-layout-DyJWDEg0.js`);return{applyLayout:e}},__vite__mapDeps([112,113,108,13,3,109,38,5,1,37,39,18,40,23,12,14,15,16,17,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,110,33,34]));e(e=>t(d.zone,e))}if(a.standalone&&a.instanceId){let{wireWcTray:n}=await s(async()=>{let{wireWcTray:e}=await import(`./wc-tray-Bpsl7Mew.js`);return{wireWcTray:e}},__vite__mapDeps([114,1,12,5,13,14,15,16,17,18,3,19,20,21,22,37,40,23,24,25,26,27,28,29,41,79,33,34,115,116,57,38,39,42,43,35,44,31,45,46,47,10,9,117,8,86,74,96,97,49,118,119,120,48,50,107,87,121,66,81,122,63,123,124,110])),r=d.zone.callbacks(),c=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:h,workUnits:m,restoreLocalChrome:()=>{e.wiring.refreshScoops?.();let n=e.getSelected();n&&Ho(o,n,m.currentUnits(),e=>t.getScoop(e))},openFs:_,openWriter:async()=>(await g()).writer,window,log:i,kernelReadyDeadline:a.kernelReadyDeadline});e.wiring.notifyScoopStateChanged=()=>c.scheduleScoopsListBroadcast(),e.wiring.notifyUnitStatus=(e,t)=>c.broadcastUnitStatus(e,t===`processing`?`processing`:`ready`)}}).catch(e=>i.error(`WC sprinkle/tray wiring failed`,e));{let n=new tn(new nn),r={collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>n.loadAgentSessions(),loadUiChatSessions:()=>n.loadChatSessions(),wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:ao(),snapshotStore:{read:async e=>{let{reader:t}=await g();return bn(t,e)},write:async(e,t,n)=>{let{writer:r}=await g();return yn(r,e,t,n)},discardIfUnindexed:async e=>{let{writer:t}=await g();return xn(t,e)}},vfs:{readFile:async(e,t)=>(await g()).reader.readFile(e,t),readDir:async e=>(await g()).reader.readDir(e),stat:async e=>(await g()).reader.stat(e)},getActiveSessionInfo:()=>{let t=Un(Q(e.wiring).currentUnits());return{id:t?.id??`session-${Date.now()}`,title:t?.name??`Active Session`}},version:`6.256.21`},a=Yn(new Pn(r));window.addEventListener(`unload`,a,{once:!0});let o=Ya(()=>Fn({serviceDeps:r,listUnits:()=>t.getScoops(),version:`6.256.21`})),c=Qa(async e=>{let{runProfileExportHeadless:t}=await s(async()=>{let{runProfileExportHeadless:e}=await import(`./wc-profile-export-0_MWQlQi.js`);return{runProfileExportHeadless:e}},__vite__mapDeps([94,13]));return t(e)});window.addEventListener(`unload`,o,{once:!0}),window.addEventListener(`unload`,c,{once:!0}),window.addEventListener(`unload`,Rl(i),{once:!0})}let C=!1,w=()=>C?Promise.resolve():(C=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([s(()=>Promise.resolve().then(()=>Jn),void 0),s(()=>import(`./wc-transcript-export-BLZIE8ep.js`),__vite__mapDeps([125,13,34,119,33,5,26,1]))]),r=ee(),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),s(async()=>{let{showTranscriptExportFailure:e}=await import(`./wc-transcript-export-BLZIE8ep.js`);return{showTranscriptExportFailure:e}},__vite__mapDeps([125,13,34,119,33,5,26,1])).then(({showTranscriptExportFailure:t})=>t(e)).catch(e=>i.error(`Transcript export notice failed`,e))}finally{C=!1}})());if(s(async()=>{let{wireWcNav:e}=await import(`./wc-nav-CMmiK8CR.js`);return{wireWcNav:e}},__vite__mapDeps([126,13,16,3,33,5,34,26,1,49,50,48,12,14,15,17,18,19,20,21,22,40,24,23,25,27,28,29,42,121,66,110])).then(({wireWcNav:e})=>e({refs:o,client:t,workUnits:m,getUnits:()=>m.currentUnits(),log:i,onExportTranscript:w,shortcuts:o.shortcuts,persistKeyboardTrigger:async e=>{let{writer:t,reader:n}=await g(),{writeShortcutTrigger:r}=await s(async()=>{let{writeShortcutTrigger:e}=await import(`./wc-shortcut-config-BEJ7hCGM.js`);return{writeShortcutTrigger:e}},__vite__mapDeps([103,1,104,38,5,13,37,39,18,40,23,12,14,15,16,17,3,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47]));await r({reader:n,writer:t},e)}})).catch(e=>i.error(`WC nav wiring failed`,e)),s(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-tLlsFK5D.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([127,1,3,57,38,5,13,37,39,18,40,23,12,14,15,16,17,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,72,73,74,128])).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)),s(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-DZZSpSqs.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([71,1,13,3,72,73,17,5,18,38,37,39,40,23,12,14,15,16,19,20,21,22,24,25,26,27,28,29,41,42,43,35,44,31,45,46,47,74])).then(({setSpeakAssetsInstanceId:e})=>e(a.instanceId)).catch(e=>i.error(`WC say warmup wiring failed`,e)),a.standalone)return()=>{s(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-k7LcBmG5.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([65,1,13,16,23,12,5,14,15,17,18,3,19,20,21,22,24,25,26,27,28,29,48,40,42,49,50,30,51,33,34,52,53,54,45,58,36,37,59,32,35,60,41,61,62,38,39,43,44,31,46,47,63])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await g()).writer,onComplete:e=>{x(),e.attempted>0&&t.reloadSkills()}})).catch(e=>i.warn(`Pending session catch-up scheduling failed`,e))}}function Hl(e){let t=!1,n=()=>s(()=>import(`./boot-stall-overlay-Cs-FNlf8.js`),[]);return{onBootProgress:r=>{t=!0,n().then(t=>t.showBootStage(e,r))},onReadyStall:r=>{t=!0,n().then(t=>t.showBootStallOverlay(e,r))},dismiss:()=>{t&&n().then(t=>{t.removeBootStallOverlay(e),t.removeBootStage(e)})}}}async function Ul(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:o,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,attachLickForwardingClient:d}=await Ue({runtimeMode:n,envBaseUrl:null,window,log:t}),{floatKindForRuntimeMode:f,floatLabelForKind:p,resolveStandaloneFloatKind:m}=await s(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await Promise.resolve().then(()=>Xs);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},void 0),h=n===`standalone`?await m():f(n),g=p(h);a&&Ve(a);let{syncFsBridgeEnabled:_,syncFsChannelNonce:v}=Ps(),y=Hl(document),b,x,{boot:S}=await ac(e,t,{floatKind:h,floatLabel:g,connect:e=>{b=Ja({realCdpTransport:i,reconnectCdp:()=>r.reconnectIfNeeded(),instanceId:a,makeClient:t=>new Oa(Eo(e.wiring),t),localApiBaseUrl:o,bridgeToken:c,syncFsBridgeEnabled:_,syncFsChannelNonce:v,localLickWsUrl:l,extensionDelegateId:u,flagFloat:n,onWorkerScriptError:()=>{Ke()},onBootProgress:y.onBootProgress,onReadyStall:y.onReadyStall,onLateReady:()=>{Ke()}}),Fe({drain:()=>b.drain(),terminate:()=>b.dispose()}),Pa({send:e=>b.client.sendRaw(e)}),d?.(b.client);let s=Aa(b.client);return{client:Q(e.wiring),host:s,workbench:(e,o)=>{x=Vl(e,b.client,o,s,t,{instanceId:a,standalone:{browser:r,floatKind:h,realCdpTransport:i,runtimeMode:n},kernelReadyDeadline:{pause:()=>b.pauseReadyDeadline(),restart:()=>b.restartReadyDeadline()}})}}}});S.setRestoringSessions(!0);let{setupSudoStandalone:ee}=await s(async()=>{let{setupSudoStandalone:e}=await import(`./main-C8hdX5_E.js`).then(e=>e.a);return{setupSudoStandalone:e}},__vite__mapDeps([48,5,1,12,13,14,15,16,17,18,3,19,20,21,22,40,24,23,25,26,27,28,29,42,49,50]));await ee({log:t});try{await b.ready}finally{y.dismiss()}S.wiring.notifyReady?.(),S.setRestoringSessions(!1),globalThis.__slicc_kernel_ready=!0,t.info(`WC live shell ready`,{scoops:b.client.getScoops().length}),x?.();let{consumeAutoPrompt:C}=await s(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),w=C(window.location.search);w&&(S.getController()?.sendUserMessage(w),t.info(`Auto-prompt submitted`,{length:w.length}))}export{ia as A,wi as B,Aa as C,oa as D,sa as E,aa as F,Zn as H,Qr as I,Ei as L,ta as M,W as N,Xi as O,ra as P,Zr as R,Na as S,G as T,Jn as U,pr as V,Oo as _,Fs as a,Q as b,Ts as c,ks as d,Ko as f,ko as g,Do as h,Is as i,$i as j,na as k,xs as l,zo as m,_l as n,Ss as o,Go as p,ac as r,Ds as s,Vl as t,ws as u,Ao as v,Oa as w,Xa as x,Eo as y,Yi as z};
|