sliccy 6.148.0 → 6.148.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/node-server/_shared/extension-message.d.ts +14 -0
  2. package/dist/node-server/_shared/extension-message.d.ts.map +1 -0
  3. package/dist/node-server/_shared/extension-message.js +17 -0
  4. package/dist/node-server/_shared/extension-message.js.map +1 -0
  5. package/dist/node-server/_shared/index.d.ts +1 -0
  6. package/dist/node-server/_shared/index.d.ts.map +1 -1
  7. package/dist/node-server/_shared/index.js +1 -0
  8. package/dist/node-server/_shared/index.js.map +1 -1
  9. package/dist/ui/.vite/manifest.json +197 -197
  10. package/dist/ui/assets/{account-store-XgB99oYW.js → account-store-Aw7W0gwW.js} +1 -1
  11. package/dist/ui/assets/{account-store-Dbqt9Kva.js → account-store-DMpIiOiI.js} +1 -1
  12. package/dist/ui/assets/{adobe-BykSqQj5.js → adobe-C4i_NmiJ.js} +1 -1
  13. package/dist/ui/assets/{adobe-CsjVi3su.js → adobe-l_MrrOWS.js} +1 -1
  14. package/dist/ui/assets/{agent-bridge-DdehWUk8.js → agent-bridge-D7Gcaow8.js} +1 -1
  15. package/dist/ui/assets/{agent-panels-BPo0obl6.js → agent-panels-CaWLC0fq.js} +1 -1
  16. package/dist/ui/assets/{apply-layout-Bu_GuoAp.js → apply-layout-BNaJAOQK.js} +1 -1
  17. package/dist/ui/assets/{apps-naDr1jWQ.js → apps-BLiEHzuv.js} +1 -1
  18. package/dist/ui/assets/{azure-openai-CEEFp-dr.js → azure-openai-BPN1a7Zy.js} +1 -1
  19. package/dist/ui/assets/{azure-openai-C1XKDFdL.js → azure-openai-C0pS3OXm.js} +1 -1
  20. package/dist/ui/assets/{budget-usage-source-BiKhZa8p.js → budget-usage-source-DNfcPJKS.js} +1 -1
  21. package/dist/ui/assets/{cdp-CumPn_Bu.js → cdp-Dpj2rd5a.js} +1 -1
  22. package/dist/ui/assets/{cerebras-CbJenrti.js → cerebras-DS0p5Epm.js} +1 -1
  23. package/dist/ui/assets/{cerebras-D3QCQ2Xs.js → cerebras-Dx-FmsXk.js} +1 -1
  24. package/dist/ui/assets/{composer-speech-C8_igkXn.js → composer-speech-B40vFKAl.js} +1 -1
  25. package/dist/ui/assets/{connect-surface-Ik4H2Nt-.js → connect-surface-BpEKP5us.js} +1 -1
  26. package/dist/ui/assets/{directed-approval-ZZl212XX.js → directed-approval-aU8_P0VT.js} +1 -1
  27. package/dist/ui/assets/{fs-DbBj34eG.js → fs-BHd1nofE.js} +2 -2
  28. package/dist/ui/assets/{fs-4P0cFRGu.js → fs-C8KikTj8.js} +1 -1
  29. package/dist/ui/assets/{github-CanTa9az.js → github-BVvP-LNK.js} +1 -1
  30. package/dist/ui/assets/{github-copilot-CdnimgmU.js → github-copilot-CTUsCa6b.js} +1 -1
  31. package/dist/ui/assets/{github-copilot-CTRbBPYg.js → github-copilot-CevSjOGv.js} +1 -1
  32. package/dist/ui/assets/{github-install-CK3kP5Cj.js → github-install-5lPzHSRD.js} +1 -1
  33. package/dist/ui/assets/{github-Dct8SmGY.js → github-xcC_k94p.js} +2 -2
  34. package/dist/ui/assets/{github-zip-DdcmIuvx.js → github-zip-DzQcfLSu.js} +1 -1
  35. package/dist/ui/assets/{hear-CMKf6d4h.js → hear-BNYxlfXV.js} +1 -1
  36. package/dist/ui/assets/{help-DxxCP28X.js → help-jmgezjC4.js} +1 -1
  37. package/dist/ui/assets/{js-realm-worker-BcS9fBlj.js → js-realm-worker-CeAP3WDN.js} +1 -1
  38. package/dist/ui/assets/{kernel-worker-GCLi0q6K.js → kernel-worker-B-5xP3eg.js} +32 -32
  39. package/dist/ui/assets/{lick-ws-bridge-kNThwPRX.js → lick-ws-bridge-DlghqmSh.js} +1 -1
  40. package/dist/ui/assets/{local-llm-Bv_SOich.js → local-llm-CrBntLgJ.js} +1 -1
  41. package/dist/ui/assets/{local-llm-_8rOwUyP.js → local-llm-Dw9qX3Vf.js} +1 -1
  42. package/dist/ui/assets/{main-8KCjPtIS.js → main-BO4_JFRB.js} +3 -3
  43. package/dist/ui/assets/{main-cherry-B2klD0Vl.js → main-cherry-B35rDYl2.js} +1 -1
  44. package/dist/ui/assets/messages-zAgr7E2T.js +1 -0
  45. package/dist/ui/assets/{mount-BLekjufZ.js → mount-Cxua9BXP.js} +3 -3
  46. package/dist/ui/assets/{mount-DkcXu_m_.js → mount-DCL1umb4.js} +1 -1
  47. package/dist/ui/assets/{mount-recovery-CVDNfd6T.js → mount-recovery-DX4nq3Uw.js} +1 -1
  48. package/dist/ui/assets/{new-session-xUM_fWqK.js → new-session-DOOiZScV.js} +2 -2
  49. package/dist/ui/assets/{oauth-bootstrap-DJJRm6z0.js → oauth-bootstrap-CAoWWFrO.js} +2 -2
  50. package/dist/ui/assets/{onboarding-orchestrator-tORzQvtN.js → onboarding-orchestrator-ufKz0jNY.js} +1 -1
  51. package/dist/ui/assets/{openai-codex-CvzmSXrv.js → openai-codex-CB_yET-D.js} +1 -1
  52. package/dist/ui/assets/{openai-codex-DDgigWTx.js → openai-codex-DVLOObkT.js} +1 -1
  53. package/dist/ui/assets/{openrouter-Mbkbbj4E.js → openrouter-D0cwI7IZ.js} +1 -1
  54. package/dist/ui/assets/{openrouter-Di7Bh6is.js → openrouter-DS1HsPvV.js} +1 -1
  55. package/dist/ui/assets/{openrouter-free-BlZKl3-x.js → openrouter-free-BKxl80tF.js} +1 -1
  56. package/dist/ui/assets/{openrouter-free-Dl89mXnG.js → openrouter-free-nGFIfvER.js} +1 -1
  57. package/dist/ui/assets/{openrouter-oauth-CkqG41E1.js → openrouter-oauth-D-7Bscfa.js} +1 -1
  58. package/dist/ui/assets/{openrouter-oauth-BzCJ_wok.js → openrouter-oauth-QBhR5wuY.js} +1 -1
  59. package/dist/ui/assets/{panel-rpc-handlers-Cla1yWpb.js → panel-rpc-handlers-Bv-62AX-.js} +2 -2
  60. package/dist/ui/assets/{panelize-shell-Bq0MeDBq.js → panelize-shell-CPXvykp_.js} +1 -1
  61. package/dist/ui/assets/{provider-DuVxT4PS.js → provider-A8__z2g_.js} +2 -2
  62. package/dist/ui/assets/{provider-CApHEq5a.js → provider-DjeqVk3H.js} +1 -1
  63. package/dist/ui/assets/provider-settings-CWpe4nlz.js +1 -0
  64. package/dist/ui/assets/provider-store-access-C5aZdxay.js +1 -0
  65. package/dist/ui/assets/provider-store-access-Oo9pdPkM.js +1 -0
  66. package/dist/ui/assets/{providers-BDgaau8W.js → providers-BEIKKGnG.js} +2 -2
  67. package/dist/ui/assets/{providers-0Rp-h-1K.js → providers-Cw8lL69T.js} +1 -1
  68. package/dist/ui/assets/{quick-llm-IiyM8x1t.js → quick-llm-BY73FPEQ.js} +1 -1
  69. package/dist/ui/assets/{recovery-screen-vbqiGNnR.js → recovery-screen-DvGdRFbw.js} +1 -1
  70. package/dist/ui/assets/{run-CmDsnqR1.js → run-9ZxjSmhe.js} +1 -1
  71. package/dist/ui/assets/{run-CrQ4ly-1.js → run-BK2CfrPY.js} +1 -1
  72. package/dist/ui/assets/{run-DrEb656e.js → run-EqD3boWX.js} +2 -2
  73. package/dist/ui/assets/{session-jsonl-DtPzFkWE.js → session-jsonl-DMhh9wiJ.js} +1 -1
  74. package/dist/ui/assets/{setup-feature-flags-remote-BxGWGgdq.js → setup-feature-flags-remote-CPu69Hgf.js} +1 -1
  75. package/dist/ui/assets/sidecar-repair-BS7sG5eD.js +1 -0
  76. package/dist/ui/assets/{silent-renew-backoff-C2_BdHLc.js → silent-renew-backoff-DCsWUgDY.js} +1 -1
  77. package/dist/ui/assets/{skills-BGzlLmf6.js → skills-BvUsUr51.js} +1 -1
  78. package/dist/ui/assets/slicc-version-D0fknxPo.js +1 -0
  79. package/dist/ui/assets/{snapshot-Bl0tRPt1.js → snapshot-BhaLm80u.js} +1 -1
  80. package/dist/ui/assets/{snapshot-features-DE30WQYf.js → snapshot-features-qOPfgclS.js} +1 -1
  81. package/dist/ui/assets/{soundscape-BEaW_yzs.js → soundscape-BVxub-gT.js} +1 -1
  82. package/dist/ui/assets/{speak-Cwe6fV4Y.js → speak-3PC8TFgJ.js} +1 -1
  83. package/dist/ui/assets/{sprinkle-manager-CaV9czpy.js → sprinkle-manager-_KbaFnY4.js} +1 -1
  84. package/dist/ui/assets/{sprinkle-renderer-BBA2Tk5I.js → sprinkle-renderer-B1iJHkD9.js} +1 -1
  85. package/dist/ui/assets/{state-AQGALGuB.js → state-BW8r7FCS.js} +1 -1
  86. package/dist/ui/assets/{store-D7Vr3z3q.js → store-BP23Ashq.js} +1 -1
  87. package/dist/ui/assets/{store-Cto6i1mx.js → store-CcjVLt5n.js} +1 -1
  88. package/dist/ui/assets/{sudo-B1lA85pU.js → sudo-CsdkU3oB.js} +1 -1
  89. package/dist/ui/assets/{sync-dialog-BvlmWwhj.js → sync-dialog-EyMUZaZc.js} +1 -1
  90. package/dist/ui/assets/{transformers-env-BjMJ7G8g.js → transformers-env-CNA-BREe.js} +1 -1
  91. package/dist/ui/assets/{tray-leader-DxB_xkTl.js → tray-leader-CDhsXeeJ.js} +1 -1
  92. package/dist/ui/assets/{tray-leave-runtime-R-KcYamc.js → tray-leave-runtime-BzWg_T_W.js} +1 -1
  93. package/dist/ui/assets/{tray-runtime-config-DB2KZRBg.js → tray-runtime-config-B9jN9kUJ.js} +1 -1
  94. package/dist/ui/assets/{tray-sidecar-BI5kscxy.js → tray-sidecar-DF_qDZYs.js} +1 -1
  95. package/dist/ui/assets/{upgrade-detection-7yEAegqG.js → upgrade-detection-DPZ0y1du.js} +1 -1
  96. package/dist/ui/assets/{voice-reply-IpbV8RAE.js → voice-reply-aYVnSyLQ.js} +1 -1
  97. package/dist/ui/assets/{wc-attach-fh44PDSZ.js → wc-attach-DqfdSHpF.js} +2 -2
  98. package/dist/ui/assets/{wc-detached-B3WCbbZT.js → wc-detached-F7FTH1YG.js} +1 -1
  99. package/dist/ui/assets/{wc-extension-BNMRbSvr.js → wc-extension-BrNh9Pvc.js} +2 -2
  100. package/dist/ui/assets/{wc-follower-C-KQcs6n.js → wc-follower-BTeMEW1K.js} +3 -3
  101. package/dist/ui/assets/{wc-follower-oauth-BCMOJcW4.js → wc-follower-oauth-CtxFaLMK.js} +1 -1
  102. package/dist/ui/assets/{wc-live-D980raix.js → wc-live-Yj9CGTrq.js} +5 -5
  103. package/dist/ui/assets/{wc-nav-DeI2cbnA.js → wc-nav-vVq21h7b.js} +2 -2
  104. package/dist/ui/assets/{wc-onboarding-sRwOtQ-M.js → wc-onboarding-D7zKLorY.js} +2 -2
  105. package/dist/ui/assets/{wc-placeholder-3gL1LnrF.js → wc-placeholder-BlqQbAQy.js} +3 -3
  106. package/dist/ui/assets/{wc-secret-request-ERAUYiL3.js → wc-secret-request-B2SeNIeK.js} +1 -1
  107. package/dist/ui/assets/{wc-settings-C1LVY-FF.js → wc-settings-DjtlTFab.js} +3 -3
  108. package/dist/ui/assets/{wc-shell-DQrLQSfh.js → wc-shell-bkAGrNvA.js} +3 -3
  109. package/dist/ui/assets/{wc-shortcut-config-C4wKDIGy.js → wc-shortcut-config-DpaIIBLD.js} +1 -1
  110. package/dist/ui/assets/{wc-shortcuts-DQJ0fGGR.js → wc-shortcuts-DbF2yAIY.js} +1 -1
  111. package/dist/ui/assets/{wc-sprinkles-D3RWrsVN.js → wc-sprinkles-BUV2QBdc.js} +2 -2
  112. package/dist/ui/assets/{wc-transcript-export-CK2kIZM4.js → wc-transcript-export-DBn50D92.js} +2 -2
  113. package/dist/ui/assets/{wc-tray-C0cWDh4f.js → wc-tray-B5kjbryB.js} +4 -4
  114. package/dist/ui/assets/welcome-detection-BtW1mAxN.js +1 -0
  115. package/dist/ui/assets/{whisper-session-3hT-TuvX.js → whisper-session-DrBMssQj.js} +2 -2
  116. package/dist/ui/assets/{xai-grok-DnoSC48b.js → xai-grok-CkLcw1IM.js} +1 -1
  117. package/dist/ui/assets/{xai-grok-ClvYdGpR.js → xai-grok-I3KqJiuL.js} +1 -1
  118. package/dist/ui/index.html +5 -5
  119. package/dist/ui/packages/webapp/index.html +5 -5
  120. package/package.json +1 -1
  121. package/dist/ui/assets/messages-BD4p8GuF.js +0 -1
  122. package/dist/ui/assets/provider-settings-DnSWyXQ5.js +0 -1
  123. package/dist/ui/assets/provider-store-access-BlUyQJK4.js +0 -1
  124. package/dist/ui/assets/provider-store-access-WVwkL8EH.js +0 -1
  125. package/dist/ui/assets/sidecar-repair-9stXMqlA.js +0 -1
  126. package/dist/ui/assets/slicc-version-GPVhYy7u.js +0 -1
  127. package/dist/ui/assets/welcome-detection-CvprPtFS.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup--ijSfN8u.js","assets/logger-DDBAeTLF.js","assets/picker-popup-sQtXmfAo.js","assets/runtime-env-Dlaokqg1.js","assets/usb-picker-Cbm0jfjl.js","assets/serial-picker-BQF_Eitc.js","assets/hid-picker-sFJ8vzUj.js","assets/usb-device-registry-DmUBqrA-.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-device-registry-B2R-0rNt.js","assets/quick-llm-IiyM8x1t.js","assets/account-store-XgB99oYW.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-DyBveeCl.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DGxXvrur.js","assets/float-topology-YtctpJaG.js","assets/secret-topology-DLJBhHOi.js","assets/secrets-bridge-client--VZ3E0yk.js","assets/port-bridge-client-Dn8JtUyP.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-BDgaau8W.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-Btz9xfZH.js","assets/session-jsonl-DtPzFkWE.js","assets/wc-shortcuts-DQJ0fGGR.js","assets/slugify-BYJ6QVAt.js","assets/types-Dgm4REV3.js","assets/main-8KCjPtIS.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/bridge-protocol-06nbmp2X.js","assets/tray-runtime-config-DB2KZRBg.js","assets/messages-BD4p8GuF.js","assets/telemetry-DJyRzh6X.js","assets/feature-flags-a-IfHs0F.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/wc-placeholder-3gL1LnrF.js","assets/wc-attach-fh44PDSZ.js","assets/permissions-surface-registry-CilCRwhh.js","assets/new-session-xUM_fWqK.js","assets/tray-leader-DxB_xkTl.js","assets/mount-table-store-dY2IfQ5S.js","assets/legacy-styles-B3nS5QUo.js","assets/soundscape-BEaW_yzs.js","assets/voice-reply-IpbV8RAE.js","assets/speak-Cwe6fV4Y.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-BjMJ7G8g.js","assets/shared-mBEktoxE.js","assets/mime-types-D0xZwlMO.js","assets/remote-vfs-client-DdFPlnwq.js","assets/writable-vfs-client-Czpbtd8Y.js","assets/wc-onboarding-sRwOtQ-M.js","assets/record-CCQFJXn_.js","assets/wc-browser-DO1Pnegi.js","assets/slicc-app-url-B9OxaBDe.js","assets/tab-teleport-BimzPYfT.js","assets/teleport-storage-CyYkSZfJ.js","assets/remote-terminal-view-D0AXaUk6.js","assets/browser-DGwroBSO.js","assets/terminal-session-client-ADzaWGFd.js","assets/secret-env-CDLWFhsq.js","assets/wc-permissions-Ch85s0Vv.js","assets/wc-permissions-providers-CVe-8jSH.js","assets/wc-secret-request-ERAUYiL3.js","assets/secret-request-registry-DrOMKR1H.js","assets/theme-DFKCBK8N.js","assets/theme-engine-B5SkYf3E.js","assets/panelize-shell-Bq0MeDBq.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-shortcut-config-C4wKDIGy.js","assets/remote-sprinkle-vfs-BY9A-xsx.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/wc-sprinkles-D3RWrsVN.js","assets/wc-unit-context-DhQqWVxs.js","assets/agent-panels-BPo0obl6.js","assets/apply-layout-Bu_GuoAp.js","assets/wc-tray-C0cWDh4f.js","assets/transcript-export-DP-r8eDz.js","assets/wc-follower-oauth-BCMOJcW4.js","assets/sprinkle-renderer-BBA2Tk5I.js","assets/usb-operations-BsAiCAWF.js","assets/pending-request-table-k-D7ZZsL.js","assets/export-spool-CuNzzI8a.js","assets/src-BWaKqLvQ.js","assets/synthetic-cdp-transport-OUVdC4zy.js","assets/wc-shell-DQrLQSfh.js","assets/wc-shell-WkeczD9x.css","assets/sprinkle-instances-B8n7h-oP.js","assets/wc-transcript-export-CK2kIZM4.js","assets/wc-nav-DeI2cbnA.js","assets/composer-speech-C8_igkXn.js","assets/whisper-session-3hT-TuvX.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{B as t,T as n,V as r,et as i,f as a,nt as o,tt as s,w as c}from"./account-store-XgB99oYW.js";import{t as l}from"./preload-helper-Czpn1I53.js";import{s as u}from"./claude-model-version-CSATLzrT.js";import{t as d}from"./logger-DDBAeTLF.js";import{G as f,H as p,J as m,S as h,V as g,y as _}from"./wc-shortcuts-DQJ0fGGR.js";import{r as v,t as y}from"./base64-DJRlyqZu.js";import"./proxied-fetch-DyBveeCl.js";import{a as b,i as x,n as ee,o as S,s as te}from"./sprinkle-renderer-BBA2Tk5I.js";import{n as ne}from"./runtime-env-Dlaokqg1.js";import{t as re}from"./slugify-BYJ6QVAt.js";import{a as ie,i as ae,n as C,t as oe}from"./transcript-export-DP-r8eDz.js";import{f as se,h as ce,m as le,o as ue}from"./tray-runtime-config-DB2KZRBg.js";import{a as de,t as fe}from"./api-endpoint-DGxXvrur.js";import{n as pe}from"./float-topology-YtctpJaG.js";import"./secret-topology-DLJBhHOi.js";import{n as me}from"./secrets-bridge-client--VZ3E0yk.js";import{t as he}from"./tool-ui-eSQ1g2I1.js";import{a as ge,c as _e,l as ve,n as ye,p as be,r as xe}from"./telemetry-DJyRzh6X.js";import{r as Se}from"./feature-flags-a-IfHs0F.js";import{a as Ce,i as we,t as Te}from"./tray-follower-status-BAjnN7Ar.js";import{a as Ee,o as De,r as Oe,s as ke}from"./main-8KCjPtIS.js";import{n as Ae}from"./src-BWaKqLvQ.js";import{n as je,r as Me,t as Ne}from"./provider-budget-LCzMPlKv.js";import{t as Pe}from"./permissions-surface-registry-CilCRwhh.js";import{t as Fe}from"./types-Dgm4REV3.js";import{n as Ie,r as Le}from"./hid-device-registry-B2R-0rNt.js";import"./browser-DGwroBSO.js";import{a as Re,i as ze}from"./serial-port-registry-CCqklAEr.js";import{A as Be,C as Ve,D as He,O as Ue,S as We,T as Ge,_ as Ke,b as qe,c as Je,g as Ye,h as Xe,o as Ze,r as Qe,s as $e,u as et,v as tt,w as nt}from"./usb-operations-BsAiCAWF.js";import{a as rt,t as it}from"./icons-Btz9xfZH.js";import{i as at,r as ot}from"./usb-device-registry-DmUBqrA-.js";import{a as st,i as ct,r as lt}from"./tray-leader-DxB_xkTl.js";import{a as ut,c as dt,d as ft,f as w,i as pt,l as mt,m as ht,n as gt,o as _t,p as vt,r as yt,s as bt,t as xt,u as T}from"./record-CCQFJXn_.js";import"./shared-mBEktoxE.js";import{_ as E,a as St,b as Ct,c as wt,d as Tt,f as D,g as Et,h as Dt,l as Ot,m as kt,n as At,o as jt,p as Mt,r as Nt,s as Pt,t as Ft,u as It,v as O,x as k,y as Lt}from"./session-jsonl-DtPzFkWE.js";import{a as Rt,n as zt,r as Bt}from"./theme-DFKCBK8N.js";import{C as Vt,S as Ht,_ as Ut,a as Wt,b as Gt,c as Kt,d as qt,f as Jt,g as Yt,h as Xt,i as Zt,l as Qt,m as $t,n as en,o as tn,p as nn,r as rn,t as an,u as on,v as sn,x as cn,y as ln}from"./wc-shell-DQrLQSfh.js";import{a as un,c as dn,f as fn,i as pn,l as mn,m as hn,n as gn,o as _n,p as vn,r as yn,s as bn,t as xn,u as Sn}from"./wc-unit-context-DhQqWVxs.js";var Cn=[{category:`jwt`,source:String.raw`ey[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+`,flags:`g`},{category:`private-key`,source:`-----BEGIN [A-Z ]* PRIVATE KEY-----`+String.raw`[\s\S]*?`+`-----END [A-Z ]* PRIVATE KEY-----`,flags:`g`},{category:`bearer-token`,source:`Bearer [A-Za-z0-9._~+/=!-]+`,flags:`gi`},{category:`api-key`,source:`(?:sk-(?:live|test|prod|proj)-[A-Za-z0-9]{8,}|sk-ant-[A-Za-z0-9-]{8,}|xoxb-[A-Za-z0-9-]{10,}|xoxp-[A-Za-z0-9-]{10,}|AKIA[A-Z0-9]{16}|ghp_[A-Za-z0-9]{36}|hf_[A-Za-z0-9]{34})`,flags:`g`},{category:`password`,source:String.raw`\b(?:password|passwd|token|secret|api_key)\s*[=:]\s*\S+`,flags:`gi`}],wn=`⟦REDACTED:[^⟧]*⟧`;function Tn(e,t){return e.start<t.end&&t.start<e.end}function En(e){let t=[];for(let n of e.matchAll(new RegExp(wn,`g`))){let e=n.index;e!==void 0&&t.push({start:e,end:e+n[0].length})}return t}function Dn(e,t,n=1){let r=En(e),i=[],a=n;for(let{category:n,source:o,flags:s}of Cn)for(let c of e.matchAll(new RegExp(o,s))){let e=c.index;if(e===void 0)continue;let o={start:e,end:e+c[0].length};r.some(e=>Tn(e,o))||i.some(e=>Tn(e,o))||i.push({...o,id:`${t}${a++}`,category:n})}i.sort((e,t)=>e.start-t.start);let o=``,s=0;for(let{start:t,end:n,id:r,category:a}of i)o+=e.slice(s,t),o+=`⟦REDACTED:${a}:${r}⟧`,s=n;return o+=e.slice(s),{text:o,matches:i.map(({id:e,category:t})=>({id:e,category:t})),nextId:a}}var On=`agent-sessions`,kn=1,A=`sessions`;function An(){return new Promise((e,t)=>{let n=indexedDB.open(On,kn);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(A)||e.createObjectStore(A,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var jn=class{dbPromise=null;getDB(){return this.dbPromise||=An().then(e=>(e.onversionchange=()=>{e.close(),this.dbPromise=null},e.onclose=()=>{this.dbPromise=null},e)),this.dbPromise}async save(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(A,`readwrite`).objectStore(A).put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(A,`readonly`).objectStore(A).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async delete(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(A,`readwrite`).objectStore(A).delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async loadAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(A,`readonly`).objectStore(A).getAll();r.onsuccess=()=>t(r.result??[]),r.onerror=()=>n(r.error)})}async list(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(A,`readonly`).objectStore(A).getAll();r.onsuccess=()=>{t((r.result??[]).map(e=>({id:e.id,updatedAt:e.updatedAt})))},r.onerror=()=>n(r.error)})}async clearAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(A,`readwrite`).objectStore(A).clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}static newId(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}static createSession(e,t){let n=Date.now();return{id:e,messages:[],config:t,createdAt:n,updatedAt:n}}static updateMessages(e,t){return{...e,messages:t,updatedAt:Date.now()}}},Mn=e({SessionStore:()=>In}),Nn=`browser-coding-agent`,Pn=1,j=`sessions`;function Fn(){return new Promise((e,t)=>{let n=indexedDB.open(Nn,Pn);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(j)||e.createObjectStore(j,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var In=class{db=null;async init(){await this.getDb()}async getDb(){if(!this.db){let e=await Fn();e.onversionchange=()=>{e.close(),this.db=null},e.onclose=()=>{this.db=null},this.db=e}return this.db}async save(e){let t=await this.getDb();return new Promise((n,r)=>{let i=t.transaction(j,`readwrite`);i.objectStore(j).put(e),i.oncomplete=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDb();return new Promise((n,r)=>{let i=t.transaction(j,`readonly`).objectStore(j).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async list(){let e=await this.getDb();return new Promise((t,n)=>{let r=e.transaction(j,`readonly`).objectStore(j).getAll();r.onsuccess=()=>{t(r.result.sort((e,t)=>t.updatedAt-e.updatedAt).map(e=>e.id))},r.onerror=()=>n(r.error)})}async delete(e){let t=await this.getDb();return new Promise((n,r)=>{let i=t.transaction(j,`readwrite`);i.objectStore(j).delete(e),i.oncomplete=()=>n(),i.onerror=()=>r(i.error)})}async saveMessages(e,t){let n=await this.load(e),r=n?{...n,messages:t,updatedAt:Date.now()}:{id:e,messages:t,createdAt:Date.now(),updatedAt:Date.now()};await this.save(r)}},Ln=e({getTranscriptExportService:()=>zn,registerTranscriptExportService:()=>Rn}),M=null;function Rn(e){return M=e,()=>{M===e&&(M=null)}}function zn(){if(!M)throw new C(`session-not-found`);return M}var Bn=e({broadcastToDips:()=>nr,disposeDips:()=>Cr,handleDipPickerAction:()=>wr,hydrateDips:()=>Sr,mountDip:()=>z,setDipExecHandler:()=>ir}),Vn=ne();function Hn(e){if(typeof e!=`object`||!e||Array.isArray(e))return[];let t=e.filters;return Array.isArray(t)?t:[]}async function Un(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await 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 Wn(){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=Wn();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 Gn=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],Kn=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function qn(e){return Gn.some(t=>e.startsWith(t))}function Jn(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:Kn.some(t=>e.startsWith(t))}var F=new WeakSet,Yn=`,
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup--ijSfN8u.js","assets/logger-DDBAeTLF.js","assets/picker-popup-sQtXmfAo.js","assets/runtime-env-Dlaokqg1.js","assets/usb-picker-Cbm0jfjl.js","assets/serial-picker-BQF_Eitc.js","assets/hid-picker-sFJ8vzUj.js","assets/usb-device-registry-DmUBqrA-.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-device-registry-B2R-0rNt.js","assets/quick-llm-BY73FPEQ.js","assets/account-store-Aw7W0gwW.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-CSATLzrT.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/base64-DJRlyqZu.js","assets/proxied-fetch-DyBveeCl.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DGxXvrur.js","assets/float-topology-YtctpJaG.js","assets/secret-topology-DLJBhHOi.js","assets/secrets-bridge-client--VZ3E0yk.js","assets/port-bridge-client-Dn8JtUyP.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-BEIKKGnG.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-BeCSBUrZ.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-Btz9xfZH.js","assets/session-jsonl-DMhh9wiJ.js","assets/wc-shortcuts-DbF2yAIY.js","assets/slugify-BYJ6QVAt.js","assets/types-Dgm4REV3.js","assets/main-BO4_JFRB.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/bridge-protocol-06nbmp2X.js","assets/messages-zAgr7E2T.js","assets/tray-runtime-config-B9jN9kUJ.js","assets/telemetry-DJyRzh6X.js","assets/feature-flags-a-IfHs0F.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/wc-placeholder-BlqQbAQy.js","assets/wc-attach-DqfdSHpF.js","assets/permissions-surface-registry-CilCRwhh.js","assets/new-session-DOOiZScV.js","assets/tray-leader-CDhsXeeJ.js","assets/mount-table-store-dY2IfQ5S.js","assets/legacy-styles-B3nS5QUo.js","assets/soundscape-BVxub-gT.js","assets/voice-reply-aYVnSyLQ.js","assets/speak-3PC8TFgJ.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-CNA-BREe.js","assets/shared-mBEktoxE.js","assets/mime-types-D0xZwlMO.js","assets/remote-vfs-client-DdFPlnwq.js","assets/writable-vfs-client-Czpbtd8Y.js","assets/wc-onboarding-D7zKLorY.js","assets/record-CCQFJXn_.js","assets/wc-browser-DO1Pnegi.js","assets/slicc-app-url-B9OxaBDe.js","assets/tab-teleport-BimzPYfT.js","assets/teleport-storage-CyYkSZfJ.js","assets/remote-terminal-view-D0AXaUk6.js","assets/browser-DGwroBSO.js","assets/terminal-session-client-ADzaWGFd.js","assets/secret-env-CDLWFhsq.js","assets/wc-permissions-Ch85s0Vv.js","assets/wc-permissions-providers-CVe-8jSH.js","assets/wc-secret-request-B2SeNIeK.js","assets/secret-request-registry-DrOMKR1H.js","assets/theme-DFKCBK8N.js","assets/theme-engine-B5SkYf3E.js","assets/panelize-shell-CPXvykp_.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-shortcut-config-DpaIIBLD.js","assets/remote-sprinkle-vfs-BY9A-xsx.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/wc-sprinkles-BUV2QBdc.js","assets/wc-unit-context-DhQqWVxs.js","assets/agent-panels-CaWLC0fq.js","assets/apply-layout-BNaJAOQK.js","assets/wc-tray-B5kjbryB.js","assets/transcript-export-DP-r8eDz.js","assets/wc-follower-oauth-CtxFaLMK.js","assets/sprinkle-renderer-B1iJHkD9.js","assets/usb-operations-BsAiCAWF.js","assets/pending-request-table-k-D7ZZsL.js","assets/export-spool-CuNzzI8a.js","assets/src-BWaKqLvQ.js","assets/synthetic-cdp-transport-OUVdC4zy.js","assets/wc-shell-bkAGrNvA.js","assets/wc-shell-WkeczD9x.css","assets/sprinkle-instances-B8n7h-oP.js","assets/wc-transcript-export-DBn50D92.js","assets/wc-nav-vVq21h7b.js","assets/composer-speech-B40vFKAl.js","assets/whisper-session-DrBMssQj.js"])))=>i.map(i=>d[i]);
2
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{B as t,T as n,V as r,et as i,f as a,nt as o,tt as s,w as c}from"./account-store-Aw7W0gwW.js";import{t as l}from"./preload-helper-Czpn1I53.js";import{s as u}from"./claude-model-version-CSATLzrT.js";import{t as d}from"./logger-DDBAeTLF.js";import{G as f,H as p,J as m,S as h,V as g,y as _}from"./wc-shortcuts-DbF2yAIY.js";import{r as v,t as y}from"./base64-DJRlyqZu.js";import"./proxied-fetch-DyBveeCl.js";import{a as b,i as x,n as ee,o as S,s as te}from"./sprinkle-renderer-B1iJHkD9.js";import{n as ne}from"./runtime-env-Dlaokqg1.js";import{t as re}from"./slugify-BYJ6QVAt.js";import{a as ie,i as ae,n as C,t as oe}from"./transcript-export-DP-r8eDz.js";import{f as se,h as ce,m as le,o as ue}from"./tray-runtime-config-B9jN9kUJ.js";import{a as de,t as fe}from"./api-endpoint-DGxXvrur.js";import{n as pe}from"./float-topology-YtctpJaG.js";import"./secret-topology-DLJBhHOi.js";import{n as me}from"./secrets-bridge-client--VZ3E0yk.js";import{t as he}from"./tool-ui-eSQ1g2I1.js";import{a as ge,c as _e,l as ve,n as ye,p as be,r as xe}from"./telemetry-DJyRzh6X.js";import{r as Se}from"./feature-flags-a-IfHs0F.js";import{a as Ce,i as we,t as Te}from"./tray-follower-status-BAjnN7Ar.js";import{a as Ee,o as De,r as Oe,s as ke}from"./main-BO4_JFRB.js";import{n as Ae}from"./src-BWaKqLvQ.js";import{n as je,r as Me,t as Ne}from"./provider-budget-LCzMPlKv.js";import{t as Pe}from"./permissions-surface-registry-CilCRwhh.js";import{t as Fe}from"./types-Dgm4REV3.js";import{n as Ie,r as Le}from"./hid-device-registry-B2R-0rNt.js";import"./browser-DGwroBSO.js";import{a as Re,i as ze}from"./serial-port-registry-CCqklAEr.js";import{A as Be,C as Ve,D as He,O as Ue,S as We,T as Ge,_ as Ke,b as qe,c as Je,g as Ye,h as Xe,o as Ze,r as Qe,s as $e,u as et,v as tt,w as nt}from"./usb-operations-BsAiCAWF.js";import{a as rt,t as it}from"./icons-Btz9xfZH.js";import{i as at,r as ot}from"./usb-device-registry-DmUBqrA-.js";import{a as st,i as ct,r as lt}from"./tray-leader-CDhsXeeJ.js";import{a as ut,c as dt,d as ft,f as w,i as pt,l as mt,m as ht,n as gt,o as _t,p as vt,r as yt,s as bt,t as xt,u as T}from"./record-CCQFJXn_.js";import"./shared-mBEktoxE.js";import{_ as E,a as St,b as Ct,c as wt,d as Tt,f as D,g as Et,h as Dt,l as Ot,m as kt,n as At,o as jt,p as Mt,r as Nt,s as Pt,t as Ft,u as It,v as O,x as k,y as Lt}from"./session-jsonl-DMhh9wiJ.js";import{a as Rt,n as zt,r as Bt}from"./theme-DFKCBK8N.js";import{C as Vt,S as Ht,_ as Ut,a as Wt,b as Gt,c as Kt,d as qt,f as Jt,g as Yt,h as Xt,i as Zt,l as Qt,m as $t,n as en,o as tn,p as nn,r as rn,t as an,u as on,v as sn,x as cn,y as ln}from"./wc-shell-bkAGrNvA.js";import{a as un,c as dn,f as fn,i as pn,l as mn,m as hn,n as gn,o as _n,p as vn,r as yn,s as bn,t as xn,u as Sn}from"./wc-unit-context-DhQqWVxs.js";var Cn=[{category:`jwt`,source:String.raw`ey[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+`,flags:`g`},{category:`private-key`,source:`-----BEGIN [A-Z ]* PRIVATE KEY-----`+String.raw`[\s\S]*?`+`-----END [A-Z ]* PRIVATE KEY-----`,flags:`g`},{category:`bearer-token`,source:`Bearer [A-Za-z0-9._~+/=!-]+`,flags:`gi`},{category:`api-key`,source:`(?:sk-(?:live|test|prod|proj)-[A-Za-z0-9]{8,}|sk-ant-[A-Za-z0-9-]{8,}|xoxb-[A-Za-z0-9-]{10,}|xoxp-[A-Za-z0-9-]{10,}|AKIA[A-Z0-9]{16}|ghp_[A-Za-z0-9]{36}|hf_[A-Za-z0-9]{34})`,flags:`g`},{category:`password`,source:String.raw`\b(?:password|passwd|token|secret|api_key)\s*[=:]\s*\S+`,flags:`gi`}],wn=`⟦REDACTED:[^⟧]*⟧`;function Tn(e,t){return e.start<t.end&&t.start<e.end}function En(e){let t=[];for(let n of e.matchAll(new RegExp(wn,`g`))){let e=n.index;e!==void 0&&t.push({start:e,end:e+n[0].length})}return t}function Dn(e,t,n=1){let r=En(e),i=[],a=n;for(let{category:n,source:o,flags:s}of Cn)for(let c of e.matchAll(new RegExp(o,s))){let e=c.index;if(e===void 0)continue;let o={start:e,end:e+c[0].length};r.some(e=>Tn(e,o))||i.some(e=>Tn(e,o))||i.push({...o,id:`${t}${a++}`,category:n})}i.sort((e,t)=>e.start-t.start);let o=``,s=0;for(let{start:t,end:n,id:r,category:a}of i)o+=e.slice(s,t),o+=`⟦REDACTED:${a}:${r}⟧`,s=n;return o+=e.slice(s),{text:o,matches:i.map(({id:e,category:t})=>({id:e,category:t})),nextId:a}}var On=`agent-sessions`,kn=1,A=`sessions`;function An(){return new Promise((e,t)=>{let n=indexedDB.open(On,kn);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(A)||e.createObjectStore(A,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var jn=class{dbPromise=null;getDB(){return this.dbPromise||=An().then(e=>(e.onversionchange=()=>{e.close(),this.dbPromise=null},e.onclose=()=>{this.dbPromise=null},e)),this.dbPromise}async save(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(A,`readwrite`).objectStore(A).put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(A,`readonly`).objectStore(A).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async delete(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(A,`readwrite`).objectStore(A).delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async loadAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(A,`readonly`).objectStore(A).getAll();r.onsuccess=()=>t(r.result??[]),r.onerror=()=>n(r.error)})}async list(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(A,`readonly`).objectStore(A).getAll();r.onsuccess=()=>{t((r.result??[]).map(e=>({id:e.id,updatedAt:e.updatedAt})))},r.onerror=()=>n(r.error)})}async clearAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(A,`readwrite`).objectStore(A).clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}static newId(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}static createSession(e,t){let n=Date.now();return{id:e,messages:[],config:t,createdAt:n,updatedAt:n}}static updateMessages(e,t){return{...e,messages:t,updatedAt:Date.now()}}},Mn=e({SessionStore:()=>In}),Nn=`browser-coding-agent`,Pn=1,j=`sessions`;function Fn(){return new Promise((e,t)=>{let n=indexedDB.open(Nn,Pn);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(j)||e.createObjectStore(j,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var In=class{db=null;async init(){await this.getDb()}async getDb(){if(!this.db){let e=await Fn();e.onversionchange=()=>{e.close(),this.db=null},e.onclose=()=>{this.db=null},this.db=e}return this.db}async save(e){let t=await this.getDb();return new Promise((n,r)=>{let i=t.transaction(j,`readwrite`);i.objectStore(j).put(e),i.oncomplete=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDb();return new Promise((n,r)=>{let i=t.transaction(j,`readonly`).objectStore(j).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async list(){let e=await this.getDb();return new Promise((t,n)=>{let r=e.transaction(j,`readonly`).objectStore(j).getAll();r.onsuccess=()=>{t(r.result.sort((e,t)=>t.updatedAt-e.updatedAt).map(e=>e.id))},r.onerror=()=>n(r.error)})}async delete(e){let t=await this.getDb();return new Promise((n,r)=>{let i=t.transaction(j,`readwrite`);i.objectStore(j).delete(e),i.oncomplete=()=>n(),i.onerror=()=>r(i.error)})}async saveMessages(e,t){let n=await this.load(e),r=n?{...n,messages:t,updatedAt:Date.now()}:{id:e,messages:t,createdAt:Date.now(),updatedAt:Date.now()};await this.save(r)}},Ln=e({getTranscriptExportService:()=>zn,registerTranscriptExportService:()=>Rn}),M=null;function Rn(e){return M=e,()=>{M===e&&(M=null)}}function zn(){if(!M)throw new C(`session-not-found`);return M}var Bn=e({broadcastToDips:()=>nr,disposeDips:()=>Cr,handleDipPickerAction:()=>wr,hydrateDips:()=>Sr,mountDip:()=>z,setDipExecHandler:()=>ir}),Vn=ne();function Hn(e){if(typeof e!=`object`||!e||Array.isArray(e))return[];let t=e.filters;return Array.isArray(t)?t:[]}async function Un(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await 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 Wn(){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=Wn();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 Gn=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],Kn=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function qn(e){return Gn.some(t=>e.startsWith(t))}function Jn(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:Kn.some(t=>e.startsWith(t))}var F=new WeakSet,Yn=`,
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) {
@@ -389,11 +389,11 @@ ${n}
389
389
  `)?``:`
390
390
  `}${o}\n`}async function ai(e){if(!e.model||!e.apiKey)return{restructured:!1,reason:`no-llm`};let t=e.memoryPath??Xr,n=``;try{let r=await e.vfs.readFile(t,{encoding:`utf-8`});n=typeof r==`string`?r:new TextDecoder().decode(r)}catch{return{restructured:!1,reason:`missing-file`}}let r=await ri(e.vfs),i=ti(r),a=i*Yr;if(n.length<=a)return{restructured:!1,reason:`under-threshold`};Kr.info(`Cone memory over threshold — restructuring`,{size:n.length,budget:i,threshold:a,sessionCount:r});try{let r=await ii({currentContent:n,budget:i,model:e.model,apiKey:e.apiKey,headers:e.headers,signal:e.signal});return await e.vfs.writeFile(t,r),Kr.info(`Cone memory restructured`,{before:n.length,after:r.length}),{restructured:!0}}catch(e){return Kr.warn(`Cone memory restructure failed — leaving appended content in place`,{error:e instanceof Error?e.message:String(e)}),{restructured:!1,reason:`error`}}}var oi=d(`agentic-memory`),si=`/shared/MEMORY.md`,ci=1200,li=e=>[e.memoryPath],ui=e=>[`/sessions/`,`/shared/`,...zr(e)],di=`awk.cat.cp.cut.date.diff.du.echo.file.find.grep.head.jq.ls.mkdir.mount.mv.nl.od.printf.readlink.sed.sort.stat.tail.touch.tr.uniq.upskill.wc.xxd`.split(`.`),fi=new Set([`writablePaths`,`visiblePaths`,`allowedCommands`]),pi=new Set([`model`,`timeoutSeconds`,`thinkingLevel`]),mi=`medium`,hi=3e4;function gi(e){return e===`cone`?`memory-curator`:`memory-curator-${e}`}function _i(e){let t=gi(e);return vi.test(t)?t:gi(xt)}var vi=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;function yi(e){return`/scoops/agent-${_i(e)}`}var bi=yi(xt);function xi(e){return B({parentJid:null,folder:e?.folder??`cone`})}function Si(e,t){if(t.root===V.root)return e;if(e===V.memoryPath)return t.memoryPath;if(e===`/workspace/skills`||e.startsWith(`/workspace/skills/`))return e;let n=`${V.root}/`;return e===V.root?t.root:e.startsWith(n)?`${t.root}/${e.slice(n.length)}`:e}function Ci(e,t){let n=`${Fr}/`,r=e=>e.some(e=>n.startsWith(e.endsWith(`/`)?e:`${e}/`)),i=e.map(e=>Si(e,t));return r(e)&&!r(i)&&i.push(n),i}async function wi(e){try{if(e.signal?.aborted)return{ok:!1,reason:`aborted`,legacyFallbackSafe:!1};let t=xi(e.cone),n=yi(e.cone?.folder??`cone`),r=await Ti(e.vfs,t),i=zi(e.sessionArchivePath);try{await Vi(e.vfs,t.memoryPath,e.sessionArchivePath)}catch(e){return{ok:!1,reason:`snapshot: ${U(e)}`,legacyFallbackSafe:!0}}let a=Ui(r,Wi(Gi(r.promptTemplate,{MEMORY_PATH:i,SESSION_ARCHIVE_PATH:e.sessionArchivePath,SESSION_COUNT:String(e.sessionCount),BUDGET_CHARS:String(ti(e.sessionCount)),SCRATCH_DIR:n,TODAY:e.today??new Date().toISOString().slice(0,10)}),n),e.sessionArchivePath,t,e.cone);e.signal&&(a.signal=e.signal);let o=await Ki(Promise.resolve().then(()=>e.spawn(a)),r.timeoutSeconds*1e3+hi,e.signal);if(o.type===`timeout`)return oi.warn(`Agentic memory wait timed out past the in-run bound + grace`,{timeoutSeconds:r.timeoutSeconds,graceMs:hi}),{ok:!1,reason:`timeout`,legacyFallbackSafe:!1};if(o.type===`aborted`)return{ok:!1,reason:`aborted`,legacyFallbackSafe:!1};if(o.type===`error`)return{ok:!1,reason:U(o.error),legacyFallbackSafe:!0};if(o.result.exitCode!==0){let e=(o.result.finalText??``).startsWith(Gr);return{ok:!1,reason:o.result.finalText||`exit-${o.result.exitCode}`,legacyFallbackSafe:!e}}return{ok:!0,report:o.result.finalText}}catch(e){return oi.warn(`Agentic memory pass failed`,{error:U(e)}),{ok:!1,reason:U(e),legacyFallbackSafe:!1}}}async function Ti(e,t=V){try{let n=await e.readFile(si,{encoding:`utf-8`});return Ei(typeof n==`string`?n:new TextDecoder().decode(n),t)}catch(e){return oi.warn(`Could not load valid MEMORY.md; using built-in default`,{error:U(e)}),Ei(Nr,t)}}function Ei(e,t=V){let n=e.replace(/^\uFEFF/,``).replace(/\r\n?/g,`
391
391
  `).match(/^---\s*\n([\s\S]*?)\n---\s*\n([\s\S]*)$/);if(!n?.[2].trim())throw Error(`MEMORY.md requires frontmatter and a prompt`);let r=Oi(n[1]),i=Ni(r,`writablePaths`,li(t));if(i.length===0)throw Error(`writablePaths must not be empty`);Ii(i,`writablePaths`);let a=Ni(r,`visiblePaths`,ui(t));Ii(a,`visiblePaths`);let o=Fi(r.timeoutSeconds),s=Pi(r.model,`model`);return{writablePaths:i.map(e=>Si(e,t)),visiblePaths:Ci(a,t),allowedCommands:[...new Set([...di,...Ni(r,`allowedCommands`,[])])],...s?{model:s}:{},thinkingLevel:Di(r.thinkingLevel),timeoutSeconds:o,promptTemplate:n[2].trim()}}function Di(e){if(e===void 0)return mi;if(typeof e!=`string`||!Wr(e))throw Error(`thinkingLevel must be one of ${Ur.join(`, `)}`);return e}function Oi(e){let t={},n=e.split(`
392
- `);for(let e=0;e<n.length;e+=1){let r=n[e];if(!r.trim()||r.trimStart().startsWith(`#`))continue;let i=r.match(/^([A-Za-z][A-Za-z0-9]*):\s*(.*)$/);if(!i)throw Error(`Invalid frontmatter line: ${r}`);let[,a,o]=i;if(fi.has(a)){let r=ki(n,e,o);t[a]=r.value,e=r.lastIndex}else if(pi.has(a)&&o.trim())t[a]=Mi(o);else throw Error(`Unsupported or empty frontmatter field: ${a}`)}return t}function ki(e,t,n){if(n.trim()){let e=n.trim();if(!e.startsWith(`[`)||!e.endsWith(`]`))throw Error(`Expected an array`);let r=e.slice(1,-1).trim();return{value:r?Ai(r):[],lastIndex:t}}let r=[],i=t;for(let n=t+1;n<e.length;n+=1){let t=e[n].match(/^\s+-\s+(.+)$/);if(!t)break;r.push(Mi(ji(t[1]))),i=n}return{value:r,lastIndex:i}}function Ai(e){let t=[],n=0,r;for(let i=0;i<e.length;i+=1){let a=e[i];a===`"`||a===`'`?r=r===a?void 0:r??a:a===`,`&&!r&&(t.push(Mi(e.slice(n,i))),n=i+1)}if(r)throw Error(`Unclosed quoted value`);return t.push(Mi(e.slice(n))),t}function ji(e){let t;for(let n=0;n<e.length;n+=1){let r=e[n];if(r===`"`||r===`'`)t=t===r?void 0:t??r;else if(r===`#`&&!t&&(n===0||/\s/.test(e[n-1])))return e.slice(0,n).trimEnd()}return e}function Mi(e){let t=e.trim();if(!t)throw Error(`Empty frontmatter value`);let n=t[0];if((n===`"`||n===`'`)&&t.at(-1)===n)return t.slice(1,-1);if(n===`"`||n===`'`)throw Error(`Unclosed quoted value`);return t}function Ni(e,t,n){let r=e[t];if(r===void 0)return[...n];if(!Array.isArray(r)||r.some(e=>!e))throw Error(`${t} is invalid`);return[...r]}function Pi(e,t){if(e!==void 0){if(typeof e!=`string`||!e)throw Error(`${t} is invalid`);return e}}function Fi(e){if(e===void 0)return 600;if(typeof e!=`string`)throw Error(`timeoutSeconds is invalid`);let t=Number(e);if(!Number.isFinite(t)||t<=0)throw Error(`timeoutSeconds must be positive`);return Math.min(t,ci)}function Ii(e,t){if(e.some(e=>!e.startsWith(`/`)||e.includes(`\0`)||t===`writablePaths`&&e===`/`))throw Error(`${t} must contain absolute VFS paths`)}function Li(e){return`/sessions/.curated/${e.slice(e.lastIndexOf(`/`)+1)}`}function H(e){return`/sessions/.curation/${e.slice(e.lastIndexOf(`/`)+1)}`}function Ri(e){return`${H(e)}/base.md`}function zi(e){return`${H(e)}/draft.md`}function Bi(e){return`${H(e)}/status.json`}async function Vi(e,t,n){let r=``;try{let n=await e.readFile(t,{encoding:`utf-8`});r=typeof n==`string`?n:new TextDecoder().decode(n)}catch{}await e.mkdir(H(n),{recursive:!0}),await e.writeFile(Ri(n),r),await e.writeFile(zi(n),r)}function Hi(e,t,n){let r=e.map(e=>e===t?n:e);return r.includes(n)?r:[...r,n]}function Ui(e,t,n,r,i){let a=e.model===`parent`||e.model===`cone`,o=Ri(n),s=zi(n);return{cwd:r.root,writablePaths:Hi(e.writablePaths,r.memoryPath,s),visiblePaths:[...e.visiblePaths,`${H(n)}/`],allowedCommands:e.allowedCommands,prompt:t,thinkingLevel:e.thinkingLevel,persistSession:!0,name:_i(i?.folder??`cone`),...i?.jid?{parentJid:i.jid}:{},notifyOnComplete:!0,successReceiptPath:Li(n),mergeOnSuccess:{targetPath:r.memoryPath,basePath:o,draftPath:s},outcomeReceiptPath:Bi(n),maxWallClockMs:e.timeoutSeconds*1e3,...!a&&e.model?{modelId:e.model}:{}}}function Wi(e,t){if(t===bi)return e;let n=`\0SCRATCH\0`;return e.replaceAll(t,n).replaceAll(bi,t).replaceAll(n,t)}function Gi(e,t){let n=e;for(let[e,r]of Object.entries(t))n=n.replaceAll(`{{${e}}}`,r);return n}function Ki(e,t,n){return new Promise(r=>{let i=!1,a=e=>{i||(i=!0,clearTimeout(s),n?.removeEventListener(`abort`,o),r(e))},o=()=>a({type:`aborted`}),s=setTimeout(()=>a({type:`timeout`}),t);n?.addEventListener(`abort`,o,{once:!0}),e.then(e=>a({type:`result`,result:e}),e=>a({type:`error`,error:e}))})}function U(e){return e instanceof Error?e.message:String(e)}var qi=e({PENDING_SESSION_ATTEMPT_LIMIT:()=>3,SESSIONS_INDEX_PATH:()=>O,curateFrozenSessionMemories:()=>$i,enrichPendingSession:()=>Ta,freezeConeSession:()=>Qi,listPendingEnrichments:()=>Sa,markSnapshotUnavailable:()=>Ha,processPendingSessions:()=>Ca,readSessionsIndex:()=>k}),W=d(`session-freezer`),Ji=4,Yi=2048,Xi=40,Zi=`${E}/attachments`;async function Qi(e){let t=await ga(e.sessionStore,ma(e));if(!t||t.messages.length<Ji)return W.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=va(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);!e.agenticMemorySpawn&&e.memory!==`skip`&&await na(e,n,i);let a=await ra(e,n,i)||wt(t.messages);return await ia(e,t,a,r,i?await ea(e,a):void 0,!!e.agenticMemorySpawn&&e.memory!==`skip`)}async function $i(e,t){let n=va(t.archive.messages),r;try{r=await wi({spawn:e.agenticMemorySpawn,vfs:e.vfs,sessionArchivePath:Lt(t),sessionCount:await ri(e.vfs),...e.cone?{cone:e.cone}:{}})}catch(e){r={ok:!1,reason:e instanceof Error?e.message:String(e),legacyFallbackSafe:!1}}if(r.ok){let n=await La(e.vfs,t.filename);return await Oa(e.vfs,t.filename),n?(delete t.memoryPending,W.info(`Agentic memory pass completed`,{filename:t.filename}),n):(W.info(`Agentic memory pass completed; index entry already gone`,{filename:t.filename}),null)}return await za(e.vfs,t.filename,r.reason),r.legacyFallbackSafe?(W.warn(`Agentic memory pass failed after finishing — falling back to legacy extraction`,{filename:t.filename,reason:r.reason}),await na(e,n,!0),null):(W.warn(`Agentic memory pass unfinished — entry stays pending for boot catch-up`,{filename:t.filename,reason:r.reason,attemptLimit:3}),null)}async function ea(e,t){try{return ta(await(e.pickIcon??(await l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-IiyM8x1t.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,8,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34]))).pickLucideIcon)({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){W.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function ta(e){if(e)return it(e)?e:void 0}async function na(e,t,n){if(!n){W.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let r=``;try{r=await o({messages:t,instruction:i,model:e.model,apiKey:e.apiKey,maxTokens:Yi,headers:e.headers})}catch(e){W.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!r.trim()||r.trim()===`NONE`){W.info(`Memory extraction returned no durable memories`);return}try{await xa(e.vfs,ha(ma(e)),r.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),W.info(`Memory extracted and appended on new-session`)}catch(e){W.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function ra(e,t,n){if(!n)return``;try{return ya(await o({messages:t,instruction:s,model:e.model,apiKey:e.apiKey,maxTokens:Xi,headers:e.headers}))}catch(e){return W.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function ia(e,t,n,r,i,a=!1){let o=new Date().toISOString(),s=ma(e),c=await _a(e.vfs,s),u=c?.sessionId??crypto.randomUUID(),d=c?.filename??(r===`quick`?`pending-${Mt()}.md`:`${o.replace(/[:.]/g,`-`)}-${kt(n)}.md`),f=aa(t.messages),p={cone:s,...s!==`cone`&&e.cone?.label?{coneLabel:e.cone.label}:{}},m={filename:d,sessionId:u,title:n,frozenAt:o,messageCount:t.messages.length,...f??{},...p,...i?{icon:i}:{},...r===`quick`||c?{pendingEnrichment:!0}:{},...a?{memoryPending:!0}:{},...e.memory===`skip`?{memorySkipped:!0}:{}};try{await ba(e.vfs,E);let r=await ca(e.vfs,t.messages,d.replace(/\.md$/,``)),i={id:t.id,title:n,frozenAt:o,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:r,...f??{},...p,...e.memory===`skip`?{memorySkipped:!0}:{}};if(Se(`memory-v2`)){let{writeArchiveBundle:t}=await l(async()=>{let{writeArchiveBundle:e}=await import(`./session-jsonl-DtPzFkWE.js`).then(e=>e.i);return{writeArchiveBundle:e}},__vite__mapDeps([35,8,36,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,37,38]));await t(e.vfs,d,i)}else await e.vfs.writeFile(`${E}/${d}`,Pt(i));return await Dt(e.vfs,m),await e.vfs.flush(),W.info(`Cone session frozen`,{filename:d,title:n,cone:s,messageCount:t.messages.length,completedLiveSnapshot:!!c}),{...m,archive:i}}catch(e){return W.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}function aa(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||!sa(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 oa(e){return typeof e==`number`&&Number.isFinite(e)}function sa(e){let{cost:t}=e;return[e.input,e.output,e.cacheRead,e.cacheWrite].every(oa)&&[t.input,t.output,t.cacheRead,t.cacheWrite,t.total].every(oa)}async function ca(e,t,n){let r={vfs:e,archiveDir:`${Zi}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(da)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await la(r,n));i.push({...e,attachments:t})}return i}async function la(e,t){if(!da(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await ua(e.vfs,t.path);if(!r)return pa(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await ba(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function ua(e,t){try{if(!await fa(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 da(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function fa(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 pa(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}function ma(e){return e.cone?.folder||`cone`}function ha(e){return B({parentJid:null,folder:e}).memoryPath}async function ga(e,t){let n=gt({folder:t});try{return await e.load(n)}catch(e){return W.warn(`Failed to load cone chat session`,{sessionId:n,error:e instanceof Error?e.message:String(e)}),null}}async function _a(e,t){try{return jt(await It(e),t)}catch(e){W.warn(`Sessions index unreadable while looking for a live snapshot`,{error:e instanceof Error?e.message:String(e)});return}}function va(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}function ya(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 ba(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function xa(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 Fe)||t.code!==`ENOENT`)throw t;await ba(e,a.slice(0,a.lastIndexOf(`/`)))}let s=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${r})`,c=`${o.length===0||o.endsWith(`
392
+ `);for(let e=0;e<n.length;e+=1){let r=n[e];if(!r.trim()||r.trimStart().startsWith(`#`))continue;let i=r.match(/^([A-Za-z][A-Za-z0-9]*):\s*(.*)$/);if(!i)throw Error(`Invalid frontmatter line: ${r}`);let[,a,o]=i;if(fi.has(a)){let r=ki(n,e,o);t[a]=r.value,e=r.lastIndex}else if(pi.has(a)&&o.trim())t[a]=Mi(o);else throw Error(`Unsupported or empty frontmatter field: ${a}`)}return t}function ki(e,t,n){if(n.trim()){let e=n.trim();if(!e.startsWith(`[`)||!e.endsWith(`]`))throw Error(`Expected an array`);let r=e.slice(1,-1).trim();return{value:r?Ai(r):[],lastIndex:t}}let r=[],i=t;for(let n=t+1;n<e.length;n+=1){let t=e[n].match(/^\s+-\s+(.+)$/);if(!t)break;r.push(Mi(ji(t[1]))),i=n}return{value:r,lastIndex:i}}function Ai(e){let t=[],n=0,r;for(let i=0;i<e.length;i+=1){let a=e[i];a===`"`||a===`'`?r=r===a?void 0:r??a:a===`,`&&!r&&(t.push(Mi(e.slice(n,i))),n=i+1)}if(r)throw Error(`Unclosed quoted value`);return t.push(Mi(e.slice(n))),t}function ji(e){let t;for(let n=0;n<e.length;n+=1){let r=e[n];if(r===`"`||r===`'`)t=t===r?void 0:t??r;else if(r===`#`&&!t&&(n===0||/\s/.test(e[n-1])))return e.slice(0,n).trimEnd()}return e}function Mi(e){let t=e.trim();if(!t)throw Error(`Empty frontmatter value`);let n=t[0];if((n===`"`||n===`'`)&&t.at(-1)===n)return t.slice(1,-1);if(n===`"`||n===`'`)throw Error(`Unclosed quoted value`);return t}function Ni(e,t,n){let r=e[t];if(r===void 0)return[...n];if(!Array.isArray(r)||r.some(e=>!e))throw Error(`${t} is invalid`);return[...r]}function Pi(e,t){if(e!==void 0){if(typeof e!=`string`||!e)throw Error(`${t} is invalid`);return e}}function Fi(e){if(e===void 0)return 600;if(typeof e!=`string`)throw Error(`timeoutSeconds is invalid`);let t=Number(e);if(!Number.isFinite(t)||t<=0)throw Error(`timeoutSeconds must be positive`);return Math.min(t,ci)}function Ii(e,t){if(e.some(e=>!e.startsWith(`/`)||e.includes(`\0`)||t===`writablePaths`&&e===`/`))throw Error(`${t} must contain absolute VFS paths`)}function Li(e){return`/sessions/.curated/${e.slice(e.lastIndexOf(`/`)+1)}`}function H(e){return`/sessions/.curation/${e.slice(e.lastIndexOf(`/`)+1)}`}function Ri(e){return`${H(e)}/base.md`}function zi(e){return`${H(e)}/draft.md`}function Bi(e){return`${H(e)}/status.json`}async function Vi(e,t,n){let r=``;try{let n=await e.readFile(t,{encoding:`utf-8`});r=typeof n==`string`?n:new TextDecoder().decode(n)}catch{}await e.mkdir(H(n),{recursive:!0}),await e.writeFile(Ri(n),r),await e.writeFile(zi(n),r)}function Hi(e,t,n){let r=e.map(e=>e===t?n:e);return r.includes(n)?r:[...r,n]}function Ui(e,t,n,r,i){let a=e.model===`parent`||e.model===`cone`,o=Ri(n),s=zi(n);return{cwd:r.root,writablePaths:Hi(e.writablePaths,r.memoryPath,s),visiblePaths:[...e.visiblePaths,`${H(n)}/`],allowedCommands:e.allowedCommands,prompt:t,thinkingLevel:e.thinkingLevel,persistSession:!0,name:_i(i?.folder??`cone`),...i?.jid?{parentJid:i.jid}:{},notifyOnComplete:!0,successReceiptPath:Li(n),mergeOnSuccess:{targetPath:r.memoryPath,basePath:o,draftPath:s},outcomeReceiptPath:Bi(n),maxWallClockMs:e.timeoutSeconds*1e3,...!a&&e.model?{modelId:e.model}:{}}}function Wi(e,t){if(t===bi)return e;let n=`\0SCRATCH\0`;return e.replaceAll(t,n).replaceAll(bi,t).replaceAll(n,t)}function Gi(e,t){let n=e;for(let[e,r]of Object.entries(t))n=n.replaceAll(`{{${e}}}`,r);return n}function Ki(e,t,n){return new Promise(r=>{let i=!1,a=e=>{i||(i=!0,clearTimeout(s),n?.removeEventListener(`abort`,o),r(e))},o=()=>a({type:`aborted`}),s=setTimeout(()=>a({type:`timeout`}),t);n?.addEventListener(`abort`,o,{once:!0}),e.then(e=>a({type:`result`,result:e}),e=>a({type:`error`,error:e}))})}function U(e){return e instanceof Error?e.message:String(e)}var qi=e({PENDING_SESSION_ATTEMPT_LIMIT:()=>3,SESSIONS_INDEX_PATH:()=>O,curateFrozenSessionMemories:()=>$i,enrichPendingSession:()=>Ta,freezeConeSession:()=>Qi,listPendingEnrichments:()=>Sa,markSnapshotUnavailable:()=>Ha,processPendingSessions:()=>Ca,readSessionsIndex:()=>k}),W=d(`session-freezer`),Ji=4,Yi=2048,Xi=40,Zi=`${E}/attachments`;async function Qi(e){let t=await ga(e.sessionStore,ma(e));if(!t||t.messages.length<Ji)return W.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=va(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);!e.agenticMemorySpawn&&e.memory!==`skip`&&await na(e,n,i);let a=await ra(e,n,i)||wt(t.messages);return await ia(e,t,a,r,i?await ea(e,a):void 0,!!e.agenticMemorySpawn&&e.memory!==`skip`)}async function $i(e,t){let n=va(t.archive.messages),r;try{r=await wi({spawn:e.agenticMemorySpawn,vfs:e.vfs,sessionArchivePath:Lt(t),sessionCount:await ri(e.vfs),...e.cone?{cone:e.cone}:{}})}catch(e){r={ok:!1,reason:e instanceof Error?e.message:String(e),legacyFallbackSafe:!1}}if(r.ok){let n=await La(e.vfs,t.filename);return await Oa(e.vfs,t.filename),n?(delete t.memoryPending,W.info(`Agentic memory pass completed`,{filename:t.filename}),n):(W.info(`Agentic memory pass completed; index entry already gone`,{filename:t.filename}),null)}return await za(e.vfs,t.filename,r.reason),r.legacyFallbackSafe?(W.warn(`Agentic memory pass failed after finishing — falling back to legacy extraction`,{filename:t.filename,reason:r.reason}),await na(e,n,!0),null):(W.warn(`Agentic memory pass unfinished — entry stays pending for boot catch-up`,{filename:t.filename,reason:r.reason,attemptLimit:3}),null)}async function ea(e,t){try{return ta(await(e.pickIcon??(await l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-BY73FPEQ.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,8,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34]))).pickLucideIcon)({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){W.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function ta(e){if(e)return it(e)?e:void 0}async function na(e,t,n){if(!n){W.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let r=``;try{r=await o({messages:t,instruction:i,model:e.model,apiKey:e.apiKey,maxTokens:Yi,headers:e.headers})}catch(e){W.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!r.trim()||r.trim()===`NONE`){W.info(`Memory extraction returned no durable memories`);return}try{await xa(e.vfs,ha(ma(e)),r.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),W.info(`Memory extracted and appended on new-session`)}catch(e){W.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function ra(e,t,n){if(!n)return``;try{return ya(await o({messages:t,instruction:s,model:e.model,apiKey:e.apiKey,maxTokens:Xi,headers:e.headers}))}catch(e){return W.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function ia(e,t,n,r,i,a=!1){let o=new Date().toISOString(),s=ma(e),c=await _a(e.vfs,s),u=c?.sessionId??crypto.randomUUID(),d=c?.filename??(r===`quick`?`pending-${Mt()}.md`:`${o.replace(/[:.]/g,`-`)}-${kt(n)}.md`),f=aa(t.messages),p={cone:s,...s!==`cone`&&e.cone?.label?{coneLabel:e.cone.label}:{}},m={filename:d,sessionId:u,title:n,frozenAt:o,messageCount:t.messages.length,...f??{},...p,...i?{icon:i}:{},...r===`quick`||c?{pendingEnrichment:!0}:{},...a?{memoryPending:!0}:{},...e.memory===`skip`?{memorySkipped:!0}:{}};try{await ba(e.vfs,E);let r=await ca(e.vfs,t.messages,d.replace(/\.md$/,``)),i={id:t.id,title:n,frozenAt:o,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:r,...f??{},...p,...e.memory===`skip`?{memorySkipped:!0}:{}};if(Se(`memory-v2`)){let{writeArchiveBundle:t}=await l(async()=>{let{writeArchiveBundle:e}=await import(`./session-jsonl-DMhh9wiJ.js`).then(e=>e.i);return{writeArchiveBundle:e}},__vite__mapDeps([35,8,36,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,37,38]));await t(e.vfs,d,i)}else await e.vfs.writeFile(`${E}/${d}`,Pt(i));return await Dt(e.vfs,m),await e.vfs.flush(),W.info(`Cone session frozen`,{filename:d,title:n,cone:s,messageCount:t.messages.length,completedLiveSnapshot:!!c}),{...m,archive:i}}catch(e){return W.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}function aa(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||!sa(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 oa(e){return typeof e==`number`&&Number.isFinite(e)}function sa(e){let{cost:t}=e;return[e.input,e.output,e.cacheRead,e.cacheWrite].every(oa)&&[t.input,t.output,t.cacheRead,t.cacheWrite,t.total].every(oa)}async function ca(e,t,n){let r={vfs:e,archiveDir:`${Zi}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(da)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await la(r,n));i.push({...e,attachments:t})}return i}async function la(e,t){if(!da(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await ua(e.vfs,t.path);if(!r)return pa(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await ba(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function ua(e,t){try{if(!await fa(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 da(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function fa(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 pa(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}function ma(e){return e.cone?.folder||`cone`}function ha(e){return B({parentJid:null,folder:e}).memoryPath}async function ga(e,t){let n=gt({folder:t});try{return await e.load(n)}catch(e){return W.warn(`Failed to load cone chat session`,{sessionId:n,error:e instanceof Error?e.message:String(e)}),null}}async function _a(e,t){try{return jt(await It(e),t)}catch(e){W.warn(`Sessions index unreadable while looking for a live snapshot`,{error:e instanceof Error?e.message:String(e)});return}}function va(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}function ya(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 ba(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function xa(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 Fe)||t.code!==`ENOENT`)throw t;await ba(e,a.slice(0,a.lastIndexOf(`/`)))}let s=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${r})`,c=`${o.length===0||o.endsWith(`
393
393
  `)?``:`
394
- `}\n${s}\n\n${n}\n`;await e.writeFile(a,o+c);try{await ai({vfs:e,memoryPath:a,model:i?.model,apiKey:i?.apiKey,headers:i?.headers,signal:i?.signal})}catch(e){W.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function Sa(e){return(await k(e)).filter(e=>(e.pendingEnrichment===!0||e.memoryPending===!0)&&wa(e)<3)}async function Ca(e){let t={attempted:0,completed:0};if(!e.model||!e.apiKey)return t;try{for(let t of await k(e.vfs))t.memoryPending===!0&&t.memoryFailed===void 0&&wa(t)>=3&&await za(e.vfs,t.filename,`catch-up retries exhausted (3)`);let n=await Sa(e.vfs);for(let r of n)try{let n=await Ra(e.vfs,r.filename);if(!n)continue;t.attempted+=1,await Ta(e.vfs,n,{model:e.model,apiKey:e.apiKey,headers:e.headers})&&(t.completed+=1)}catch(e){W.warn(`Pending session catch-up attempt failed`,{filename:r.filename,error:e instanceof Error?e.message:String(e)})}}catch(e){W.warn(`Pending session catch-up failed`,{error:e instanceof Error?e.message:String(e)})}return t}function wa(e){let t=e.pendingAttemptCount;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:0}async function Ta(e,t,n){if(!t.pendingEnrichment&&!t.memoryPending)return null;let r=await Aa(e,t);if(r===null)return null;let i=await ja(e,t,r);if(i===null)return null;let a=t.memoryPending===!0&&n.skipMemory!==!0&&await Da(e,t),o=a||t.memorySkipped===!0?{...n,skipMemory:!0}:n,s=await Ma(t,i,o);if(s===null)return null;let c=await ka(o,s.newTitle);await Na(e,t,s.bullets,o);let l=await Fa(e,t,r,s.newTitle,c,n.skipMemory===!0);return l&&a&&(await Oa(e,t.filename),await Ba(e,l.filename),await Ea(e,t.filename)),l}async function Ea(e,t){for(let n of[Ri(`/sessions/${t}`),zi(`/sessions/${t}`)])try{await e.rm(n)}catch{}}async function Da(e,t){try{return await e.stat(Li(`/sessions/${t.filename}`)),!0}catch{return!1}}async function Oa(e,t){try{await e.rm(Li(`/sessions/${t}`))}catch{}}async function ka(e,t){if(e.pickIcon)try{return await ta(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){W.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function Aa(e,t){try{let n=await e.readFile(Lt(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?W.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):W.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}async function ja(e,t,n){let r;try{r=(await At(e,n,t.filename)).messages}catch(e){return W.warn(`Failed to parse pending archive — leaving entry intact`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}return r.length===0?(W.info(`Pending archive has no messages — skipping enrichment`,{filename:t.filename}),null):va(r)}async function Ma(e,t,n){let r=``;if(!n.skipMemory)try{r=await o({messages:t,instruction:i,model:n.model,apiKey:n.apiKey,maxTokens:Yi,headers:n.headers})}catch(t){return W.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let a=``;try{a=ya(await o({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:Xi,headers:n.headers}))}catch(t){return W.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return a?{bullets:r,newTitle:a}:(W.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function Na(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await xa(e,ha(t.cone||`cone`),i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){W.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}function Pa(e,t,n,r,i){let a=r??e.icon;return{filename:t,title:n,frozenAt:e.frozenAt,messageCount:e.messageCount,...e.cost?{cost:e.cost}:{},...e.models?{models:e.models}:{},...e.cone?{cone:e.cone}:{},...e.coneLabel?{coneLabel:e.coneLabel}:{},...e.sessionId?{sessionId:e.sessionId}:{},...a?{icon:a}:{},...e.completeSnapshotUnavailable?{completeSnapshotUnavailable:!0}:{},...i&&e.memoryPending?{memoryPending:!0}:{},...e.memorySkipped?{memorySkipped:!0}:{}}}async function Fa(e,t,n,r,i,a=!1){let o=Lt(t),s=Ot(t.filename),c=s?r:t.title,l=s?`${t.frozenAt.replace(/[:.]/g,`-`)}-${kt(r)}.md`:t.filename,u=`${E}/${l}`;if(s)try{await ba(e,E);let r=Ia(n,c),i=St(t.filename),a=St(l),s=Tt(r,o,u);if(s=Tt(s,i,a),i!==a){let e=i.slice(i.lastIndexOf(`/`)+1),t=a.slice(a.lastIndexOf(`/`)+1);s=s.split(`sidecar: ${e}`).join(`sidecar: ${t}`)}await e.writeFile(u,s),await Ft(e,t.filename,l)}catch(e){return W.warn(`Enrichment write failed (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}let d=Pa(t,l,c,i,a);try{await Va(e,t.filename,d)}catch(e){return W.warn(`Enrichment index update failed (entry may stay pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}if(u!==o){try{await e.rm(o)}catch(e){W.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:o,error:e instanceof Error?e.message:String(e)})}try{await Nt(e,t.filename)}catch(e){W.info(`Stale pending sidecar cleanup failed (harmless)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}try{await e.flush()}catch{}return W.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:l,title:c}),d}function Ia(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 La(e,t){let n=null,r=D(async()=>{let r=await k(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let{memoryPending:a,pendingEnrichment:o,pendingAttemptCount:s,memoryFailed:c,...l}=r[i],u={...l,memoryCuratedAt:new Date().toISOString()},d=r.slice();d[i]=u,await e.writeFile(O,JSON.stringify(d,null,2)),await e.flush(),n=u});try{await r}catch(e){W.warn(`Failed to clear agentic memory pending marker`,{filename:t,error:e instanceof Error?e.message:String(e)})}return n}async function Ra(e,t){let n=null;return await D(async()=>{let r=await k(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r[i];if(!a.pendingEnrichment&&!a.memoryPending)return;let o=wa(a);if(o>=3)return;n={...a,pendingAttemptCount:o+1};let s=r.slice();s[i]=n,await e.writeFile(O,JSON.stringify(s,null,2)),await e.flush()}),n}async function za(e,t,n){let r=D(async()=>{let r=await k(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r.slice();a[i]={...r[i],memoryFailed:n.slice(0,300)},await e.writeFile(O,JSON.stringify(a,null,2)),await e.flush()});try{await r}catch(e){W.warn(`Failed to record curator failure in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Ba(e,t){let n=D(async()=>{let n=await k(e),r=n.findIndex(e=>e.filename===t);if(r===-1)return;let{memoryFailed:i,...a}=n[r],o=n.slice();o[r]={...a,memoryCuratedAt:new Date().toISOString()},await e.writeFile(O,JSON.stringify(o,null,2)),await e.flush()});try{await n}catch(e){W.warn(`Failed to record curator completion in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Va(e,t,n){return D(async()=>{let r=[];try{let t=await e.readFile(O,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(n);Array.isArray(i)&&(r=i)}catch(e){if(!(e instanceof Fe)||e.code!==`ENOENT`)throw e}let i=r.findIndex(e=>e.filename===t),a;i===-1?a=[n,...r.filter(e=>e.filename!==n.filename)]:(a=r.slice(),a[i]=n,a=a.filter((e,t)=>t===i||e.filename!==n.filename)),await e.writeFile(O,JSON.stringify(a,null,2))})}async function Ha(e,t){return D(async()=>{let n=[];try{let t=await e.readFile(O,{encoding:`utf-8`}),r=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(r);Array.isArray(i)&&(n=i)}catch(e){if(!(e instanceof Fe)||e.code!==`ENOENT`)throw e;return}if(!n.find(e=>e.filename===t))return;let r=n.map(e=>e.filename===t?{...e,completeSnapshotUnavailable:!0}:e);await e.writeFile(O,JSON.stringify(r,null,2))})}var Ua=`slicc:followers-changed`;function Wa(e){let t=e.replace(/^follower-/,``);return t.length>12?`${t.slice(0,8)}…`:t}function Ga(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 Ka(e){return e.floatType===`ios`?`smartphone`:e.floatType===`electron`||e.floatType===`standalone`?`monitor`:e.floatType===`extension`?`blocks`:e.runtime?.includes(`cli`)?`terminal`:`radio`}function qa(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 Ja(e){return e.health===`stalled`?`warn`:e.peerState===`connecting`?`idle`:e.peerState===`connected`&&e.health===`live`?`active`:`idle`}function Ya(e,t=Date.now()){let n=e.health===`stalled`?`stalled`:e.peerState===`connecting`?`connecting`:`connected`,r=qa(e.connectedAt,t);return r?`${n} ${r}`:n}function Xa(e){let t=[];return e.exec&&t.push(`can run commands`),e.cdp&&t.push(`hosts tabs`),t}function Za(e){return`${Ga(e)} · ${Wa(e.runtimeId)}`}function Qa(e){return e.motd??e.runtime??void 0}function $a(e,t=Date.now()){return e.map(e=>({id:e.runtimeId,icon:Ka(e),title:Za(e),detail:Qa(e),state:Ja(e),stateText:Ya(e,t),chips:Xa(e)}))}var eo=`__slicc_binary__`,to=`b64`;function no(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[eo]===to&&typeof t.data==`string`}function ro(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function io(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!no(e)}function ao(e){if(e instanceof Uint8Array)return{[eo]:to,data:v(e)};if(Array.isArray(e))return e.map(ao);if(ro(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=ao(r);return t}return e}function oo(e){if(no(e))return y(e.data);if(Array.isArray(e))return e.map(oo);if(io(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=oo(r);return t}return e}var so=d(`panel-transport`);function co(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function lo(){return{onMessage:e=>{let t=(t,n,r)=>(co(t)&&e(oo(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=ao(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{so.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var uo={summarizing:`summarizing`,fallback:`fallback`,cancelled:`discarded`,idle:`summarized`},fo=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:uo[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}},po=2e3,G=d(`offscreen-client`),mo=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;compactionRows=new fo(e=>`compaction-${e}-${K()}`);toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingWebhookDeliveries=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;pendingModelAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=new Map;pendingStatsRequests=new Map;pendingSudoRequests=new Map;transport;_selectedScoopJid=null;get selectedScoopJid(){return this._selectedScoopJid}scoopSelectedListeners=new Set;onScoopSelected(e){return this.scoopSelectedListeners.add(e),()=>{this.scoopSelectedListeners.delete(e)}}setSelectedScoopJid(e){if(this._selectedScoopJid!==e&&(this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){G.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??lo(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}emitAgentError(e){this.emitToUI({type:`error`,error:e})}createAgentHandle(){return{sendMessage:(e,t,n,r)=>{if(!this.selectedScoopJid){this.emitToUI({type:`error`,error:`No scoop selected`});return}this.send({type:`user-message`,scoopJid:this.selectedScoopJid,text:e,attachments:n,messageId:t??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,...r?.steer?{steer:!0}:{},...r?.guestGate?{guestGate:r.guestGate}:{}})},onEvent:e=>(this.eventListeners.add(e),()=>this.eventListeners.delete(e)),stop:()=>{this.selectedScoopJid&&this.send({type:`abort`,scoopJid:this.selectedScoopJid})}}}getScoops(){return this.scoops}getScoop(e){return this.scoops.find(t=>t.jid===e)}isProcessing(e){return this.scoopStatuses.get(e)===`processing`}async registerScoop(e,t={}){if(!T(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&&T(t)&&w(this.scoops).length<=1)throw Error(`Cannot remove the last cone`);this.send({type:`scoop-drop`,scoopJid:e}),this.scoops=this.scoops.filter(t=>t.jid!==e),this.scoopStatuses.delete(e)}createScoopTab(e){}async getGlobalMemory(){if(!this.localFs)return``;try{let e=await this.localFs.readFile(`/shared/CLAUDE.md`,{encoding:`utf-8`});return typeof e==`string`?e:new TextDecoder().decode(e)}catch{return``}}getScoopContext(e){if(this.localFs)return{getFS:()=>this.localFs}}getSharedFS(){return this.localFs}stopScoop(e){this.send({type:`abort`,scoopJid:e})}async clearQueuedMessages(e){}async deleteQueuedMessage(e,t){this.send({type:`delete-queued-message`,scoopJid:e,messageId:t})}updateModel(){this.send({type:`refresh-model`})}setScoopModel(e,t){let n=`model-${K()}`,r=new Promise(e=>{this.pendingModelAcks.set(n,e)});return this.send({type:`set-scoop-model`,requestId:n,scoopJid:e,model:t}),Promise.race([r,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingModelAcks.delete(n))}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${K()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(e,t={}){let n=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingClearAcks.set(n,e)});this.send({type:`clear-chat`,requestId:n,...e?{scoopJid:e}:{},...t.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}}),await Promise.race([r,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(n)}spawnAgent(e){let t=`agent-${K()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&G.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`}),t))]);return this.pendingSudoRequests.delete(n),i}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}G.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,origin:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}async sendWebhookEvent(e,t,n){let r=`wh-${K()}`,i=new Promise(e=>{this.pendingWebhookDeliveries.set(r,e)});this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n,requestId:r});try{return await Promise.race([i,new Promise(e=>setTimeout(()=>e(null),po))])}finally{this.pendingWebhookDeliveries.delete(r)}}sendSetFollowerForwarding(e){this.send({type:`set-follower-forwarding`,enabled:e})}sendForwardedLick(e){this.send({type:`inject-forwarded-lick`,event:e})}setForwardLickHandler(e){this.forwardLickHandler=e}sendCherryHostEvent(e,t,n){this.send({type:`lick-cherry-host-event`,cherryRuntimeId:e,name:t,detail:n})}sendPreviewLick(e){this.send({type:`lick-preview`,event:e})}setSprinkleOpHandler(e){this.sprinkleOpHandler=e}sendRaw(e){this.send(e)}setupMessageListener(){this.transport.onMessage(e=>{if(e.source!==`offscreen`)return;let t=e.payload;t?.type===`sprinkle-op`&&this.sprinkleOpHandler?this.sprinkleOpHandler(t):this.handleOffscreenMessage(e.payload)})}handleOffscreenMessage(e){switch(e.type){case`offscreen-ready`:this.ready?(G.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):G.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.handleCompactionState(e);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`lick-webhook-delivery`:{let t=this.pendingWebhookDeliveries.get(e.requestId);t&&(this.pendingWebhookDeliveries.delete(e.requestId),t(e.disposition));break}case`agent-spawn-result`:this.handleAgentSpawnResult(e);break;case`set-scoop-model-ack`:this.handleScoopModelAck(e);break;case`set-thinking-level-ack`:this.handleThinkingLevelAck(e);break;case`scoop-created`:this.handleScoopCreated(e);break;case`scoop-list`:this.handleScoopList(e);break;case`state-snapshot`:this.handleStateSnapshot(e);break;case`error`:this.handleError(e);break;case`lick-backpressure`:this.callbacks.onLickBackpressure?.(e.scoopJid,{count:e.count,waitingMs:e.waitingMs});break;case`incoming-message`:this.handleIncomingMessage(e);break;case`message-updated`:this.handleMessageUpdated(e);break;case`scoop-messages-replaced`:{let t=e;this.resyncStreamPointer(t.scoopJid,t.messages),this.callbacks.onScoopMessagesReplaced?.(t.scoopJid,t.messages,t.queuedIds);break}case`scoop-transcript`:{let t=e,n=this.pendingTranscriptRequests.get(t.requestId);n&&(this.pendingTranscriptRequests.delete(t.requestId),n(t.transcript));break}case`scoop-chat-messages`:{let t=e,n=this.pendingChatMessagesRequests.get(t.requestId);n&&(this.pendingChatMessagesRequests.delete(t.requestId),n(t.messages));break}case`sudo-approval`:{let t=e,n=this.pendingSudoRequests.get(t.requestId);n&&(this.pendingSudoRequests.delete(t.requestId),n(t.decision));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,burnRate:t.burnRate,fills:t.fills,models:t.models??[],scoops:t.scoops??[],...t.budget?{budget:t.budget}:{}}));break}case`tray-runtime-status`:{let t=e;ho(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event);break;case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){G.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}}}handleAgentSpawnResult(e){let t=this.pendingAgentSpawnRequests.get(e.requestId);t&&(this.pendingAgentSpawnRequests.delete(e.requestId),e.ok?t.resolve(e.result):t.reject(Error(e.error)))}terminalEventListeners=new Set;onTerminalEvent(e){return this.terminalEventListeners.add(e),()=>this.terminalEventListeners.delete(e)}resyncStreamPointer(e,t){let n;for(let e=t.length-1;e>=0;e--){let r=t[e];if(r.role===`assistant`&&r.isStreaming){n=r.id;break}}n===void 0?this.currentMessageId.delete(e):this.currentMessageId.set(e,n)}trackToolPhase(e,t){let n=this.toolDepth.get(e)??0,r=t===null?0:Math.max(0,n+t);r===0?this.toolDepth.delete(e):this.toolDepth.set(e,r),n>0!=r>0&&this.callbacks.onScoopPhaseChange?.(e,r>0?`tool`:`thinking`)}handleToolUiAgentEvent(e){if(e.displayScoopJid){let t=`tool-ui-${e.requestId??``}`;e.eventType===`tool_ui`?this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``}):e.eventType===`tool_ui_done`&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});return}if(e.eventType===`tool_ui`){let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});return}let t=this.currentMessageId.get(e.scoopJid);t&&(e.eventType===`tool_ui_done`?this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``}):e.progress&&this.emitToUI({type:`tool_progress`,messageId:t,toolName:e.toolName??``,progress:e.progress,toolCallId:e.toolCallId}))}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if((e.displayScoopJid??e.scoopJid)===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_use_start`,messageId:t,toolName:e.toolName??``,toolInput:e.toolInput,toolCallId:e.toolCallId});break}case`tool_end`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_result`,messageId:t,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError,toolCallId:e.toolCallId});break}case`tool_ui`:case`tool_ui_done`:case`tool_progress`:this.handleToolUiAgentEvent(e);break;case`response_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&(this.emitToUI({type:`content_done`,messageId:t,model:e.model,usage:e.usage}),this.currentMessageId.delete(e.scoopJid));break}case`turn_end`:{let t=this.currentMessageId.get(e.scoopJid)??`done-${e.scoopJid}-${K()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}renderCompactionNotice(e,t,n,r){let i=this.compactionRows.apply(e,t,n,r);i&&e===this.selectedScoopJid&&this.emitToUI({type:`compaction_notice`,messageId:i.messageId,marker:i.kind===`retract`?{trigger:n.trigger,state:`discarded`}:i.marker})}handleCompactionState(e){let t={trigger:e.trigger??`threshold`,...e.transcriptPath?{transcriptPath:e.transcriptPath}:{},...e.roundId?{roundId:e.roundId}:{}};this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state,t),this.renderCompactionNotice(e.scoopJid,e.state,t,e.rowId)}handleScoopStatus(e){let t=this.scoopStatuses.get(e.scoopJid);this.scoopStatuses.set(e.scoopJid,e.status),t!==e.status&&this.trackToolPhase(e.scoopJid,null),this.callbacks.onStatusChange(e.scoopJid,e.status)}handleScoopCreated(e){let t=this.msgScoopToRegistered(e.scoop);this.scoops=this.scoops.filter(e=>e.name!==t.name||e.jid===t.jid),this.scoops.find(e=>e.jid===t.jid)||this.scoops.push(t),this.scoopStatuses.set(t.jid,e.scoop.status),this.callbacks.onScoopCreated(t)}wireScoops(){return this.scoops.map(e=>{let t=pt(e),n=mt(e),r={...e.config,...t?{modelId:t.id,modelProviderId:t.provider}:{},...n.level?{thinkingLevel:n.level}:{},...n.effortOverride?{effortOverride:n.effortOverride}:{}};return{jid:e.jid,name:e.name,folder:e.folder,parentId:e.parentJid,assistantLabel:e.assistantLabel,status:this.scoopStatuses.get(e.jid)??`ready`,...Object.keys(r).length>0?{config:r}:{}}})}handleScoopModelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&(t.model=e.model?{...e.model}:void 0,this.callbacks.onScoopListUpdate(this.wireScoops()))}this.pendingModelAcks.get(e.requestId)?.(e.applied)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&dt(t,e.level===void 0?void 0:{level:e.level,effortOverride:e.effortOverride})}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}handleScoopList(e){this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){G.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&ho(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){e.scoopJid===this.selectedScoopJid&&this.emitToUI({type:`error`,error:e.error})}handleIncomingMessage(e){this.callbacks.onIncomingMessage(e.scoopJid,e.message)}handleMessageUpdated(e){this.callbacks.onMessageUpdate?.(e.scoopJid,{messageId:e.messageId,lickId:e.lickId,lickState:e.lickState})}msgScoopToRegistered(e){return ut({jid:e.jid,name:e.name,folder:e.folder,parentJid:e.parentId,requiresTrigger:e.parentId!==null,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}})}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){G.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function K(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function ho(e,t){ct({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),we({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 go(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 _o={onAgentEvent:()=>()=>void 0,sendSprinkleLick:()=>void 0,sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.resolve(),emitAgentError:()=>void 0},vo=`A follower cannot cancel the leader’s queued message`;function yo(e){return{onAgentEvent:e.onAgentEvent,sendSprinkleLick:(t,n,r)=>e.getSync()?.sendSprinkleLick(t,n,r),sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.reject(Error(vo)),emitAgentError:e.onAgentError,readOnlyToolUi:!0}}function q(e){return!e.includes(`\0`)}function bo(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!q(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!q(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(q(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function xo(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 So(e){let t=xo(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function Co(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 wo(e,t){for(let[n,r]of t)e.off(n,r),e.on(n,r)}var To=1e4;function Eo(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`)),To),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 Do(e,t,n={}){let r=xo(e),i=null,a=n.reconnect?()=>(i||=(t.state===`connecting`?Eo(t):n.reconnect()).finally(()=>{i=null}),i):null,o=new Map,s=r.onMessage(e=>{Co(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`&&(wo(t,o),r.send({type:`cdp-ready`}))}});return()=>{s(),u?.();for(let[e,n]of o)t.off(e,n);o.clear()}}function Oo(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function ko(e,t,n){let r=()=>{};return{ready:new Promise((i,a)=>{let o=null,s=null,c=()=>{o!==null&&(clearTimeout(o),o=null)},l=Math.max(1,t.readyStallLimit??(t.onReadyStall?3:1)),u=Date.now(),d=0,f=!1,p=()=>{c(),o=setTimeout(()=>{if(d+=1,d<l){t.onReadyStall?.({elapsedMs:Date.now()-u,stalls:d}),p();return}t.onLateReady?c():r(),f=!0,a(Error(`Kernel worker did not signal ready within ${n*l}ms`))},n)};r=()=>{s!==null&&(e.removeEventListener(`message`,s),s=null),c()},s=e=>{let n=e.data;if(n?.type===`kernel-worker-boot-progress`){d=0,p();return}if(n?.type===`kernel-worker-ready`){if(r(),f){t.onLateReady?.();return}i();return}if(n?.type===`kernel-worker-boot-error`){r();let e=n.message??`unknown error`,t=n.code,i=Error(`Kernel worker boot failed: ${e}`);t&&(i.code=t),a(i)}},e.addEventListener(`message`,s),p()}),cleanup:()=>r()}}function Ao(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=So(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Do(o.port1,n,{...e.reconnectCdp?{reconnect:e.reconnectCdp}:{}}),{ready:u,cleanup:d}=ko(a.port1,e,r),f={type:`kernel-worker-init`,kernelPort:a.port2,cdpPort:o.port2,localStorageSeed:i,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,syncFsBridgeEnabled:e.syncFsBridgeEnabled??!1,syncFsChannelNonce:e.syncFsChannelNonce??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null,pageBuildId:`6.148.0-mtvy9l1w`,pageLoadedAt:globalThis.performance?.timeOrigin??Date.now(),flagFloat:e.flagFloat??null,appPageUrl:globalThis.location?.href??null};t.postMessage(f,[a.port2,o.port2]);let p=!1;return{client:c,ready:u,dispose(){if(!p){p=!0,d(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}}}function jo(e){return Ao({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-GCLi0q6K.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,reconnectCdp:e.reconnectCdp,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Oo(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError,onReadyStall:e.onReadyStall,readyStallLimit:e.readyStallLimit,onLateReady:e.onLateReady})}var Mo=1048576,No=`r`;function Po(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Fo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Io(e,t,n){if(typeof e==`string`){n.push({pointer:t,value:e});return}if(Array.isArray(e)){for(let r=0;r<e.length;r++)Io(e[r],`${t}/${r}`,n);return}if(Fo(e))for(let[r,i]of Object.entries(e))Io(i,`${t}/${Po(r)}`,n)}function Lo(e,t,n){if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=Lo(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(Fo(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=Lo(o,`${t}/${Po(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function Ro(e,t,n){if(Fo(e))return Lo(e,t,n);if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=Ro(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function zo(e){let t=new Map;for(let n of e.matchAll(/⟦REDACTED:([^:⟧]+):([^⟧]+)⟧/g)){let e=n[0],r=t.get(e);r?r.count++:t.set(e,{category:n[1],id:n[2],count:1})}return t}async function Bo(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new C(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>Mo)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new C(`redaction-unavailable`)}if(c.length!==s.length)throw new C(`redaction-unavailable`);r.push(...c),i=o}return r}function Vo(e,t,n,r){let i=[],a=zo(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=zo(t);for(let[e,{category:t,id:r,count:s}]of o)s>(a.get(e)?.count??0)&&i.push({id:r,category:t,detector:`known-secret`,target:n});let{text:s,matches:c,nextId:l}=Dn(t,No,r);for(let{id:e,category:t}of c)i.push({id:e,category:t,detector:`credential-pattern`,target:n});return{finalText:s,redactions:i,nextId:l}}function Ho(e,t,n){for(let{redactions:r}of e)for(let e of r)t.push(e),n[e.category]=(n[e.category]??0)+1}async function Uo(e,t,n,r){if(r?.aborted)throw new C(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];Io(a,``,o);let s=o.filter(e=>!ae(e.pointer)),c=[...t.entries()],l=await Bo([...s.map(e=>e.value),...c.map(([,e])=>e)],n,r),u=[],d={},f=1,p=new Map,m=[];for(let e=0;e<s.length;e++){let t=s[e],n=Vo(t.value,l[e],{kind:`json`,pointer:t.pointer},f);f=n.nextId,n.finalText!==t.value&&p.set(t.pointer,n.finalText),m.push(n)}Ho(m,u,d);let h=new Map,g=s.length,_=[];for(let e=0;e<c.length;e++){let[t,n]=c[e],r=Vo(n,l[g+e],{kind:`attachment`,attachmentId:t},f);f=r.nextId,h.set(t,r.finalText),_.push(r)}Ho(_,u,d);let v=Ro(e,``,p);return{document:{...v,privacy:{...v.privacy,redactionCounts:d,redactions:u}},textAttachments:h}}function Wo(e,t){let n=e.startsWith(`text/`)||e===`application/json`,r=/\.(?:txt|md|json|csv|xml|ya?ml|js|mjs|cjs|ts|tsx|css|html)$/i.test(t);return n||r?`text-redacted`:`binary-unchanged`}async function Go(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}var Ko={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`,"image/svg+xml":`.svg`,"image/bmp":`.bmp`,"application/pdf":`.pdf`,"application/zip":`.zip`,"application/gzip":`.gz`,"application/json":`.json`,"text/plain":`.txt`,"text/markdown":`.md`,"text/csv":`.csv`,"text/html":`.html`,"text/xml":`.xml`,"application/xml":`.xml`};function qo(e,t){return Ko[e]??(t===`text-redacted`?`.txt`:`.bin`)}function Jo(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${qo(t,n)}`}function Yo(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Xo(e){let t=[];for(let n of e.conversations){let e=0;for(let r of n.messages){let i=r.role;if(i!==`user`&&i!==`assistant`&&i!==`tool-result`)continue;let a=0;for(let o of r.content)o.type===`attachment-ref`&&(t.push({attachmentId:o.attachmentId,conversationId:n.id,messageId:r.id,role:i,userOrdinal:e,imgIndex:a}),a++);i===`user`&&e++}}return t}async function Zo(e,t,n,r,i){let a=Wo(e.mimeType,e.name),o={attachmentId:t,originalName:e.name,mimeType:e.mimeType,handling:a,present:!0,sourceConversationId:n,sourceMessageId:r};if(a===`text-redacted`){let t;if(e.text!==void 0)t=e.text;else if(e.data!==void 0)t=new TextDecoder().decode(Yo(e.data));else if(e.path!==void 0&&i!==void 0)try{t=new TextDecoder().decode(await i(e.path))}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return t===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawText:t}}let s;if(e.data!==void 0)s=Yo(e.data);else if(e.path!==void 0&&i!==void 0)try{s=await i(e.path)}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return s===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawBytes:s}}function Qo(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.role!==`user`){let e=n.get(s.attachmentId);e===void 0?i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId})):i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`image-${s.imgIndex}`,mimeType:e.mimeType,handling:`binary-unchanged`,rawBytes:Yo(e.data),present:!0,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let e=(t.get(s.conversationId)??[]).filter(e=>e.role===`user`)[s.userOrdinal];if(e===void 0){a.add(s.conversationId),i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-association-unavailable`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let c=(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:e})=>e.kind===`image`||e.kind===`file`&&e.data!==void 0)[s.imgIndex];if(c===void 0){i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}o.add(`${s.conversationId}:${e.id}:${c.i}`),i.push(Zo(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function $o(e,t,n){return(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:r,i})=>(r.kind===`text`||r.kind===`file`&&(r.data!==void 0||r.path!==void 0))&&!n.has(`${t}:${e.id}:${i}`))}function es(e,t,n,r,i,a,o){let s=$o(t,n,i),c=[];for(let t=0;t<s.length;t++){let{a:i}=s[t],l=`${e.id}-file-${t}`;r.has(l)||(a.push(Zo(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function ts(e,t,n,r,i){let a=new Map,o=[];for(let s of e.conversations){let e=(t.get(s.id)??[]).filter(e=>e.role===`user`),c=0;for(let t of s.messages){if(t.role!==`user`)continue;let l=e[c];if(c++,l===void 0)continue;let u=es(t,l,s.id,n,r,o,i);u.length>0&&(a.has(s.id)||a.set(s.id,new Map),a.get(s.id).set(t.id,[...t.content,...u]))}}return{updates:a,additionalPendingPromises:o}}function ns(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,Jo(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function rs(e,t,n,r,i){let{rawAttachments:a,textMap:o}=ns(e,n),s,c;try{let e=await Uo({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof C?e:new C(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new C(`schema-invalid`);l.set(t.attachmentId,t)}let u=new Map,d=await Promise.all(s.attachments.map(async e=>{if(!e.present||!e.path)return e;let t=l.get(e.id);if(t===void 0)throw new C(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await Go(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function is(e){let{document:t,chatMessagesByConversation:n,knownSecrets:r,signal:i}=e,a=e.canonicalImages??new Map,o=e.vfsReader,s=new Set,{pendingPromises:c,mismatchedConvIds:l,processedUiPositions:u}=Qo(Xo(t),n,a,o);l.size>0&&s.add(`attachment-association-unavailable`);for(let e of t.conversations)e.messages.filter(e=>e.role===`user`).length>(n.get(e.id)??[]).filter(e=>e.role===`user`).length&&s.add(`attachment-association-unavailable`);let d=await Promise.all(c),{updates:f,additionalPendingPromises:p}=ts(t,n,new Set(d.map(e=>e.attachmentId)),u,o),m=await Promise.all(p),h=[...d,...m],g=t;f.size>0&&(g={...t,conversations:t.conversations.map(e=>{let t=f.get(e.id);return t?{...e,messages:e.messages.map(e=>{let n=t.get(e.id);return n?{...e,content:n}:e})}:e})});let{redactedDocument:_,bundleFiles:v}=await rs(h,g,s,r,i),y=[..._.session.completeness.missing.filter(e=>!s.has(e)),...s];return{document:{..._,session:{..._.session,completeness:{status:y.length>0?`partial`:_.session.completeness.status,missing:y}}},bundleFiles:v}}var as=50;function os(e){return gt(e)}function ss(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function cs(e,t,n,r){let i=new Map;for(let e of t)i.set(e.id,e);let a=new Map;for(let e of n)a.set(e.id,e);let o=[],s=new Map;for(let t of e){let e=r.getAgentMessages(t.jid)??i.get(t.jid)?.messages??[],n={id:t.jid,kind:T(t)?`cone`:`scoop`,name:t.name,...t.folder&&!T(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=os(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function ls(e,t,n={}){let r=e=>n.rootJid===void 0?e:vt(e,n.rootJid);for(;;){let n=r(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(as,t),t?.aborted))throw new C(`transfer-aborted`);let i=ss(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new C(`transfer-aborted`);let s=r(e.listScoops());if(i===ss(s,e))return cs(s,a,o,e)}}function us(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function ds(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function fs(e,t){if(typeof e==`string`)return e?[{type:`text`,text:e}]:[];let n=[],r=0;for(let i of e)i.type===`text`?i.text&&n.push({type:`text`,text:i.text}):i.type===`image`&&n.push(ds(t,r++));return n}function ps(e,t){let n=[],r=new Map,i=0,a=0;for(let o of e)if(o.type===`thinking`)i+=1;else if(o.type===`text`)o.text&&n.push({type:`text`,text:o.text});else if(o.type===`toolCall`)n.push({type:`tool-call`,id:o.id??``,name:o.name??``,input:o.arguments??{}});else if(o.type===`image`){let e=ds(t,a++);n.push(e),o.data&&o.mimeType&&r.set(e.attachmentId,{data:o.data,mimeType:o.mimeType})}return{blocks:n,excluded:i,images:r}}function ms(e,t){let n=[],r=new Map,i=0;for(let a of e)if(a.type===`text`)a.text&&n.push({type:`text`,text:a.text});else if(a.type===`image`){let e=ds(t,i++);n.push(e),a.data&&a.mimeType&&r.set(e.attachmentId,{data:a.data,mimeType:a.mimeType})}return{blocks:n,images:r}}function hs(e,t,n){let r=us(t,n),i=fs(e.content,r);return{message:{id:r,sequence:n,role:`user`,timestamp:new Date(e.timestamp).toISOString(),content:i},excludedReasoningBlocks:0,images:new Map}}function gs(e,t,n){let r=us(t,n),{blocks:i,excluded:a,images:o}=ps(e.content,r);return{message:{id:r,sequence:n,role:`assistant`,timestamp:new Date(e.timestamp).toISOString(),content:i,model:{provider:e.provider,id:e.model,api:e.api},usage:e.usage,stopReason:e.stopReason,...e.errorMessage?{error:e.errorMessage}:{}},excludedReasoningBlocks:a,images:o}}function _s(e,t,n){let r=us(t,n),{blocks:i,images:a}=ms(e.content,r);return{message:{id:r,sequence:n,role:`tool-result`,timestamp:new Date(e.timestamp).toISOString(),content:i,toolCallId:e.toolCallId,isError:e.isError},excludedReasoningBlocks:0,images:a}}function vs(e,t,n){return e.role===`user`?hs(e,t,n):e.role===`assistant`?gs(e,t,n):e.role===`toolResult`?_s(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function ys(e){let t=[];for(let n of e){if(!n.parentConversationId)continue;let e={sourceConversationId:n.parentConversationId,targetConversationId:n.id};n.originToolCallId&&(e.toolCallId=n.originToolCallId),t.push(e)}return t}function bs(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=vs(r,e.id,i+1);t+=a.excludedReasoningBlocks;for(let[e,t]of a.images)n.set(e,t);return a.message?[a.message]:[]});return{id:e.id,kind:e.kind,name:e.name,...e.folder?{folder:e.folder}:{},...e.parentConversationId?{parentConversationId:e.parentConversationId}:{},...e.createdAt?{createdAt:e.createdAt}:{},...e.updatedAt?{updatedAt:e.updatedAt}:{},messages:r}}),delegations:ys(e),excludedReasoningBlocks:t,canonicalImages:n}}var xs=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e})();function Ss(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^xs[(t^e[n])&255];return~t>>>0}var Cs=new TextEncoder;function J(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function Y(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255,e[t+2]=n>>>16&255,e[t+3]=n>>>24&255}function ws(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,J(r,4,20),J(r,6,2048),J(r,8,0),J(r,10,0),J(r,12,0),Y(r,14,n),Y(r,18,t),Y(r,22,t),J(r,26,e.length),J(r,28,0),r.set(e,30),r}function Ts(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,J(i,4,20),J(i,6,20),J(i,8,2048),J(i,10,0),J(i,12,0),J(i,14,0),Y(i,16,n),Y(i,20,t),Y(i,24,t),J(i,28,e.length),J(i,30,0),J(i,32,0),J(i,34,0),J(i,36,0),Y(i,38,0),Y(i,42,r),i.set(e,46),i}function Es(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,J(r,4,0),J(r,6,0),J(r,8,e),J(r,10,e),Y(r,12,t),Y(r,16,n),J(r,20,0),r}function Ds(e){if(!e||e.startsWith(`/`)||e.includes(`\0`)||e.includes(`\\`))return!1;for(let t of e.split(`/`))if(t===``||t===`.`||t===`..`)return!1;return!0}function Os(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${re(e.session.title,{maxLen:40,fallback:`transcript`})}-${n}.zip`}async function*ks(e,t,n,r,i){if(n?.aborted)throw i(new C(`transfer-aborted`)),new C(`transfer-aborted`);let a=()=>i(new C(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=Ae.create(),s=0,c=0,l=[],u=!1;function*d(e){o.update(e),s+=e.byteLength,c+=e.byteLength,yield e}try{let i=new TextEncoder().encode(JSON.stringify(e,null,2)),a=Cs.encode(`transcript.json`),f=Ss(i),p=ws(a,i.length,f);if(l.push({nameBytes:a,size:i.length,crc:f,localOffset:c}),n?.aborted||(yield*d(p),n?.aborted))throw new C(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new C(`transfer-aborted`);let t=Cs.encode(e),i=Ss(r),a=ws(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new C(`transfer-aborted`);yield*d(r)}let m=c;for(let e of l){if(n?.aborted)throw new C(`transfer-aborted`);yield*d(Ts(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new C(`transfer-aborted`);yield*d(Es(l.length,c-m,m)),u=!0,r({byteLength:s,sha256:o.hex()})}catch(e){throw u=!0,i(e),e}finally{n?.removeEventListener(`abort`,a),u||(u=!0,i(new C(`transfer-aborted`)))}}var As=4294967295,js=65535;function Ms(e,t,n){for(let e of t.keys())if(!Ds(e))throw new C(`schema-invalid`);if(t.size+1>js)throw new C(`schema-invalid`);for(let e of t.values())if(e.byteLength>As)throw new C(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:Os(e),chunks:ks(e,t,n,r,i),completion:a}}function Ns(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:oe},session:{id:e,title:t,state:n,completeness:{status:`complete`,missing:[]},...a},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:r.excludedReasoningBlocks,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:r.conversations,delegations:r.delegations,attachments:[]}}function Ps(e,t){let n=[],r=1;for(let i of e){if(i.role!==`user`&&i.role!==`assistant`)continue;let e=`${t}-msg-${String(r).padStart(6,`0`)}`;n.push({id:e,sequence:r++,role:i.role,timestamp:new Date(i.timestamp||0).toISOString(),content:i.content?[{type:`text`,text:i.content}]:[]})}return n}function Fs(e){let t=ie(e);if(!t.ok)throw new C(`schema-invalid`,t.error)}function Is(e,t,n){let r=new Map;for(let i of e)if(!(!i.present||!i.path)){if(i.handling===`text-redacted`){let e=t.get(i.id);e!==void 0&&r.set(i.path,new TextEncoder().encode(e))}else{let e=n.get(i.path);e&&r.set(i.path,e)}}return r}async function Ls(e,t){return Promise.all(e.map(async e=>{if(!e.present||!e.path||e.handling!==`text-redacted`)return e;let n=t.get(e.path);if(!n)return e;let r=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength),i=await crypto.subtle.digest(`SHA-256`,r),a=Array.from(new Uint8Array(i)).map(e=>e.toString(16).padStart(2,`0`)).join(``);return{...e,byteLength:n.length,sha256:a}}))}function Rs(e){let t=e.match(/^---\n([\s\S]*?)\n---\n/);if(!t)return{};let n=t[1],r={},i=n.match(/^createdAt:\s*(\d+)\s*$/m),a=n.match(/^updatedAt:\s*(\d+)\s*$/m);return i&&(r.createdAt=new Date(Number(i[1])).toISOString()),a&&(r.updatedAt=new Date(Number(a[1])).toISOString()),r}var zs=class{deps;constructor(e){this.deps=e}async export(e,t={}){let{signal:n,onProgress:r}=t,i;return i=e.kind===`active`?await this.buildActiveSnapshot(n,r):await this.buildFrozenSnapshot(e.sessionId,n,r),Fs(i.document),r?.({phase:`packaging`}),Ms(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await ls(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=bs(n.sources),{document:i,bundleFiles:a}=await is({document:Ns(e.sessionId,e.title,`frozen`,r,this.deps.version,{frozenAt:e.frozenAt,createdAt:new Date(e.createdAt).toISOString(),updatedAt:new Date(e.updatedAt).toISOString()}),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});Fs(i),await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a})}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await ls(this.deps.collection,e),r=bs(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=Ns(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),is({document:o,chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:e})}async buildFrozenSnapshot(e,t,n){let r=await this.deps.snapshotStore.read(e);return r?(n?.({phase:`redacting`}),this.reredactStoredSnapshot(r,t)):this.buildLegacyPartial(e,t,n)}async reredactStoredSnapshot(e,t){let n=new Map;for(let t of e.document.attachments){if(t.handling!==`text-redacted`||!t.present||!t.path)continue;let r=e.attachments.get(t.path);r&&n.set(t.id,new TextDecoder().decode(r))}let r,i;try{let a=await Uo(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new C(`redaction-unavailable`)}let a=Is(r.attachments,i,e.attachments),o=await Ls(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,t,n){let r=(await k(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!r)throw new C(`session-not-found`);let i;try{let e=await this.deps.vfs.readFile(`/sessions/${r.filename}`,{encoding:`utf-8`});i=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new C(`session-not-found`)}let{loadFrozenArchive:a}=await l(async()=>{let{loadFrozenArchive:e}=await import(`./session-jsonl-DtPzFkWE.js`).then(e=>e.i);return{loadFrozenArchive:e}},__vite__mapDeps([35,8,36,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,37,38])),{title:o,messages:s}=await a(this.deps.vfs,i,r.filename),c=`legacy-cone`,u=Ps(s,c),d=Rs(i),f={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:oe},session:{id:e,title:o,state:`frozen`,...r.frozenAt?{frozenAt:r.frozenAt}:{},...d,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:c,kind:`cone`,name:o,messages:u}],delegations:[],attachments:[]},p=new Map([[c,s]]);return n?.({phase:`redacting`}),is({document:f,chatMessagesByConversation:p,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:t})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new C(`attachment-unreadable`);return t}},Bs=`/sessions/data`,Vs=`document.json`;async function Hs(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function Us(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new C(`session-not-found`)}function Ws(e){return`${Bs}/${e}`}function Gs(e){return`${Bs}/.tmp-${e}`}async function Ks(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function qs(e,t){let n;try{n=await e.readDir(t)}catch{return}for(let r of n){let n=`${t}/${r.name}`;r.type===`directory`&&await qs(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function Js(e,t,n){await Ks(e,n);let r=await e.readDir(t);for(let i of r){let r=`${t}/${i.name}`,a=`${n}/${i.name}`;if(i.type===`directory`)await Js(e,r,a);else{let t=await e.readFile(r,{encoding:`binary`});await e.writeFile(a,t)}}}async function Ys(e,t,n){Us(t);let r=Gs(t),i=Ws(t),a=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!a.has(e))throw new C(`schema-invalid`);await qs(e,i),await Ks(e,r);try{let t=[...n.document.attachments];for(let[e,r]of n.attachments){let n=await Hs(r),i=a.get(e);if(i!==void 0){let e=t.indexOf(i);e!==-1&&(t[e]={...i,sha256:n,byteLength:r.length})}}let o={...n.document,attachments:t},s=JSON.stringify(o,null,2);if(await e.writeFile(`${r}/${Vs}`,s),n.attachments.size>0)for(let[t,i]of n.attachments){let n=`${r}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await Ks(e,`${r}/${t.slice(0,a)}`),await e.writeFile(n,i)}await e.flush(),await Js(e,r,i),await e.flush()}catch(t){throw await qs(e,r),t}await qs(e,r)}async function Xs(e,t){Us(t);let n=Ws(t),r=`${n}/${Vs}`,i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new C(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new C(`schema-invalid`)}if(!ie(a).ok)throw new C(`schema-invalid`);let o=new Map;for(let t of a.attachments){if(!t.present||!t.path)continue;let r=`${n}/${t.path}`,i;try{let t=await e.readFile(r,{encoding:`binary`});i=t instanceof Uint8Array?t:new TextEncoder().encode(t)}catch{throw new C(`transfer-corrupt`)}if(await Hs(i)!==t.sha256)throw new C(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}function Zs(e){return`error`in e}function X(){throw new C(`redaction-unavailable`)}function Qs(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&X(),e.texts}function $s(){return{async redact(e){let t;try{t=await fetch(de(`/api/secrets/redact-export`),{method:`POST`,headers:fe({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{X()}t.ok||X();let n;try{n=await t.json()}catch{X()}return Qs(n,e.length)}}}function ec(){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&&Zs(t)&&X(),Qs(t,e.length)}}}function tc(){return{async redact(e){let t;try{t=await me(`secrets.redact-export`,{texts:e})}catch{X()}return t??X(),typeof t==`object`&&t&&Zs(t)&&X(),Qs(t,e.length)}}}function nc(){return{async redact(e){X()}}}function rc(){let e=pe();return e===`connect`?nc():e===`extension-direct`?ec():e===`extension-delegate`?tc():$s()}function Z(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;default:return`idle`}}function ic(e,t={}){let n=Z(t.status),r=pt(e);return{id:e.jid,parentId:e.parentJid,role:T(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 ac(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i=n?e.config:oc(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 oc(e,t){let n=ht(e.workspace?.mode??e.config?.workspaceMode),r=Br(n,t,{root:e.workspace?.from??`/workspace`},e.workspace?.from),i=e.config;return{...i,workspaceMode:n,visiblePaths:i?.visiblePaths===void 0?r.visiblePaths:i.visiblePaths,writablePaths:i?.writablePaths===void 0?r.writablePaths:i.writablePaths}}var sc=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,cc=`${sc}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,lc=`${sc}border:none;background:#d23;color:#fff;`,uc=`${sc}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function dc(e,t,n){return{...ac({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function fc(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 pc(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 mc(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=()=>un(e.getUnits(),e.getSelected()),u=t=>e.getUnits().find(e=>e.id===t.jid)??ic(t),d=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},f=e=>{d();let t=fc(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=dc(t.name,n.getScoops(),vn(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=pc(i,p);f({heading:`New cone`,body:e,actions:[{text:`Create`,style:cc,data:`create`,onClick:()=>p(e.readDraft())},{text:`Cancel`,style:uc,data:`cancel`,onClick:d}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},h=t=>{d();let i=w(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=w(n.getScoops()).find(e=>e.jid!==a.jid);t&&e.selectScoop(u(t))}o=!1,_()})()},g=e=>{let t=_n(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:lc,data:`drop`,onClick:()=>h(e.id)},{text:`Cancel`,style:uc,data:`cancel`,onClick:d}]})},_=()=>{let t=w(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||w(n.getScoops()).length<=1||o||g(e)}),_(),{refresh:_,dialog:()=>s}}var hc=5e3,gc=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 ic(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)},hc)}}publishRecovery(e){if(!this.unitListeners.has(e))return;let t=this.lastSnapshots.get(e),n=this.deps.getClient()?.getScoops().find(t=>t.jid===e);this.emit(e,{snapshot:{messages:t?.messages??[],...n?{summary:this.toSummary(n)}:{}},type:`snapshot`})}forgetWaiter(e,t){let n=this.pendingSnapshots.get(e);n&&(n.delete(t),n.size===0&&this.pendingSnapshots.delete(e))}emitList(){if(this.drainOrphanedReplays(),this.listListeners.size===0)return;let e=this.currentUnits();for(let t of this.listListeners)t(e)}emit(e,t){let n=this.unitListeners.get(e);if(n)for(let e of n)e(t)}wrapCallbacks(e){return{...e,onStatusChange:(t,n)=>{e.onStatusChange(t,n),this.emit(t,{state:Z(n),type:`status`}),this.emitList()},onScoopCreated:t=>{e.onScoopCreated(t),this.emitList()},onScoopListUpdate:t=>{e.onScoopListUpdate(t),this.emitList()},onScoopPhaseChange:(t,n)=>{e.onScoopPhaseChange?.(t,n),this.emitList()},onIncomingMessage:(t,n)=>{e.onIncomingMessage(t,n),this.emit(t,{message:n,type:`message`})},onScoopMessagesReplaced:(t,n,r)=>{e.onScoopMessagesReplaced?.(t,n,r);let i=n,a=this.snapshotFor(t,i,r);a?this.publishSnapshot(t,a):this.orphanedReplays.set(t,{messages:i,queuedIds:r})}}}list(){return Promise.resolve(this.currentUnits())}subscribeList(e){return this.listListeners.add(e),e(this.currentUnits()),()=>{this.listListeners.delete(e)}}subscribe(e,t){let n=this.unitListeners.get(e)??new Set;n.add(t),this.unitListeners.set(e,n);let r=this.lastSnapshots.get(e);return this.pendingSnapshots.has(e)||(r?t({snapshot:r,type:`snapshot`}):this.deps.getClient()?.requestScoopMessages(e)),()=>{n.delete(t),n.size===0&&this.unitListeners.delete(e)}}snapshot(e){let t=this.deps.getClient();if(!t)return Promise.reject(Error(`kernel client not attached`));let n=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,n);let r=()=>{},i=new Promise(e=>{r=e,n.add(e)});t.setSelectedScoopJid(e),t.requestScoopMessages(e);let a,o=new Promise(t=>{a=setTimeout(()=>{a=void 0;let n=this.pendingSnapshots.get(e)?.has(r)===!0;this.forgetWaiter(e,r),n&&this.recoverUnanswered(e),t(this.snapshotFor(e,[],void 0))},hc)});return Promise.race([i.then(e=>(a!==void 0&&(clearTimeout(a),a=void 0),e)),o]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getClient();return n?(n.sendRaw({attachments:t.attachments,messageId:t.messageId??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,scoopJid:e,text:t.text,type:`user-message`,...t.steer?{steer:!0}:{},...t.guestGate?{guestGate:t.guestGate}:{}}),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}setModel(e,t){let n=this.deps.getClient();return n?n.setScoopModel(e,t):Promise.reject(Error(`kernel client not attached`))}signal(e,t){if(t!==`stop`)return Promise.resolve();let n=this.deps.getClient();return n?(n.stopScoop(e),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}};function Q(e){return e.workUnits??=new gc({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses,turns:e.turns}),e.workUnits}function _c(e){let t=Q(e),n=()=>e.refreshScoops?.(),r=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),i=()=>{if(e.getSelected()||r())return;let n=t.currentUnits(),i=e.pendingUrlContext;if(i?.startsWith(`freezer:`))return;if(i?.startsWith(`scoop:`)||i?.startsWith(`cone:`)){let t=dn(n,i);if(t){e.pendingUrlContext=null,e.selectScoop(t);return}}let a=xn(n);a&&(e.pendingUrlContext=null,e.selectScoop(a))};return t.wrapCallbacks({onStatusChange:(t,r)=>{let i=e.statuses.get(t),a=r;e.statuses.set(t,a),a!==`ready`&&e.awaitingInput===t&&(e.awaitingInput=null),Z(i)===`working`&&Z(a)!==`working`&&e.turns.set(t,(e.turns.get(t)??0)+1),Z(i)!==Z(a)&&(n(),e.notifyScoopStateChanged?.()),e.getSelected()?.id===t&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:t=>{n(),!e.getSelected()&&!r()&&!e.pendingUrlContext&&e.selectScoop(ic(t,{fill:e.fills.get(t.jid),phase:e.phases.get(t.jid),status:e.statuses.get(t.jid)}))},onScoopListUpdate:t=>{let r=new Set(t.map(e=>e.jid));for(let t of e.lickBackpressure.keys())r.has(t)||e.lickBackpressure.delete(t);for(let t of e.turns.keys())r.has(t)||e.turns.delete(t);n(),i()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(t,r)=>{e.phases.set(t,r),n(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.id===t&&n.channel!==`web`&&Vt(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=Sn(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.id===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onReady:()=>{n(),i(),e.notifyReady?.()}})}var vc=`slicc:leader-local-model-state-changed`;function yc(e=window){e.dispatchEvent(new Event(vc))}var bc=`slicc:leader-model-catalog-changed`;function xc(e=window){e.dispatchEvent(new Event(bc))}var Sc={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Cc={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function wc(e){return e?Sc[e]:void 0}function Tc(e){return e===`max`?`max`:void 0}function Ec(e,t){return t===`max`?`max`:(e&&Cc[e])??`off`}var Dc=2e3,Oc=1e4,kc=12e4;function Ac(e){let t=[],n=null,r=new Map,i=e.modelPickerEnabled!==!1,a=e.catalogRetryDelayMs??Dc,o=e.catalogRetryMaxDelayMs??Oc,s=e.catalogRetryWindowMs??kc,c=0,l=null,u=null,d=()=>{if(!i||u!==null)return;let t=Date.now();if(l===null&&(l=t+s),t>=l)return;let n=Math.min(a*2**c,o);u=setTimeout(()=>{u=null;let t=e.getSync();t?.requestModels&&(c+=1,t.requestModels())},n)},f=()=>{u!==null&&clearTimeout(u),u=null,c=0,l=null},p=e=>{if(e.length===0)return;let t=new Set(e.map(e=>e.id));for(let e of r.keys())t.has(e)||r.delete(e)},m=()=>{let t=e.getSelectedScoopJid(),i=e.getUnits();if(p(i),n&&(i.length===0||!t))return n.activeModelId;if(n&&t&&n.scoopJid===t){let e=_t(n.activeModelId);return e&&r.set(t,e),n.activeModelId}let a=vn(i,t,t?r.get(t):void 0);return t&&a&&r.set(t,a),a?bt(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`,Ec(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?_t(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=wc(i),o=e.getSelectedScoopJid()??n?.scoopJid;o&&a&&a!==`max`&&r.setThinkingLevel(o,a,Tc(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 jc(e,t,n,r,i=yc){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function Mc(e,t){return yn(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||ue(t.localStorage)}async function Nc(e,t,n,r,i){let a=mn(t),o=gn(a);e.thread.setAttribute(`context`,bn(t));let s=fn(t),c=Ht({isRoot:s,name:t.name});e.thread.setAttribute(`accent`,c),e.switcher.setAttribute(`active`,t.id),rn(e,s?{kind:`cone`}:{kind:`scoop`,accent:c}),en(e,o);let u=localStorage.getItem(`slicc_locked_effort_level`),d=r?.(t.id);if(d||u){let t=d?mt(d):{};e.composerMeta.setAttribute(`thinking`,Ec(u??t.level,t.effortOverride))}if(!i?.skipModelPill)try{let{resolveCurrentModel:r,resolveModelById:i}=await l(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-8KCjPtIS.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([39,8,40,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,41,42,43,44,45,46,47,48])),a=vn(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 Pc(e){if(Mc(e.pendingUrlContext,e.win))return;let t=yn(e.pendingUrlContext);if(t===null)return;let{SessionStore:n}=await l(async()=>{let{SessionStore:e}=await Promise.resolve().then(()=>Mn);return{SessionStore:e}},void 0),r=new n;await r.init();let i=await r.load(gt({folder:t}));i&&i.messages.length>0&&!e.hasSelection()&&(e.loadMessages(i.messages),e.onHydrated())}function Fc(e){let{boot:t,client:n,openReader:r,log:i}=e,{refs:a}=t;l(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-3gL1LnrF.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([49,13,36,8,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:a.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:a.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),Pc({pendingUrlContext:t.wiring.pendingUrlContext,win:window,hasSelection:()=>!!t.getSelected(),loadMessages:e=>t.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>i.warn(`WC session hydration failed`,e));let o=null;return l(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-fh44PDSZ.js`);return{wireWcAttach:e}},__vite__mapDeps([50,13,21,51])).then(({wireWcAttach:t})=>{o=t({inputCard:a.inputCard,freezer:a.freezer,composer:a.composer,openReader:r,openWriter:e.openWriter,secretEntry:!0,listConversations:async()=>{let{readSessionsIndex:e}=await l(async()=>{let{readSessionsIndex:e}=await Promise.resolve().then(()=>qi);return{readSessionsIndex:e}},void 0);return(await e(await r())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:i})}).catch(e=>i.error(`WC add-menu wiring failed`,e)),l(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:a.thread,inputCard:a.inputCard})).catch(e=>i.error(`WC history nav wiring failed`,e)),a.composerMeta.addEventListener(`thinking-change`,e=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let r=e.detail?.thinking,a=wc(r),o=Tc(r),s=t.getSelected();s&&a&&jc(n,s.id,a,o).catch(e=>i.warn(`local thinking update failed`,e))}),{getAttachStage:()=>o}}var Ic=`slicc:leader-run-new-session`,Lc=`slicc:leader-broadcast-snapshot`;function Rc(e){if(!(!e.cone||e.cone===`cone`))return e.coneLabel||e.cone.replace(/^cone-/,``)}function zc(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 Bc(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,zc(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function Vc(e){let t=new Map;for(let n of e.entries){if(n.icon||n.pendingEnrichment)continue;let r=await e.pickIcon(`"${n.title}" — an archived chat session`);r&&t.set(n.filename,r)}if(t.size===0)return;let n=await Hc(e.reader);if(n===null||n.length===0)return;let r=n.map(e=>{let n=!e.icon&&t.has(e.filename)?t.get(e.filename):void 0;return n?{...e,icon:n}:e});await e.writer.writeFile(O,JSON.stringify(r,null,2));for(let n of e.freezer.querySelectorAll(`slicc-freezer-card`)){let e=t.get(n.getAttribute(`slug`)??``);e&&!n.hasAttribute(`icon`)&&n.setAttribute(`icon`,e)}}async function Hc(e){let t=await Uc(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function Uc(e){let t;try{let n=await e.readFile(O,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?{kind:`missing`}:{kind:`fault`}}try{let e=JSON.parse(t);return Array.isArray(e)?{kind:`ok`,entries:e}:{kind:`corrupt`}}catch{return{kind:`corrupt`}}}async function Wc(e){let t;try{t=(await e.readDir(`/sessions`)).filter(e=>e.type===`file`&&e.name.endsWith(`.md`)).map(e=>e.name)}catch{return[]}let n=[];for(let r of t)try{let t=await e.readFile(`/sessions/${r}`,{encoding:`utf-8`}),i=typeof t==`string`?t:new TextDecoder().decode(t);n.push(Gc(r,i))}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function Gc(e,t){let n=t.slice(0,2e3),r=/^title:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??e,i=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??new Date(0).toISOString(),a=Number(/^messageCount:\s*(\d+)\s*$/m.exec(n)?.[1]??0),o=Ct(t),s=e.startsWith(`pending-`)||e.startsWith(`live-`)&&!o.live;return{filename:e,title:r,frozenAt:i,messageCount:a,...o.cost?{cost:o.cost}:{},...o.models?{models:o.models}:{},...o.cone?{cone:o.cone}:{},...o.coneLabel?{coneLabel:o.coneLabel}:{},...o.memorySkipped?{memorySkipped:!0}:{},...o.live?{live:!0}:{},...o.live&&o.liveThrough?{liveThrough:o.liveThrough}:{},...o.live&&o.compactions?{compactions:o.compactions}:{},...o.id?{sessionId:o.id}:{},...s?{pendingEnrichment:!0}:{}}}function Kc(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(Bc))}async function qc(e,t){let n=await e.readFile(Lt(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=await At(e,r,t.filename);return{title:i.title||t.title,messages:i.messages}}async function Jc(e,t){let{getTranscriptExportService:n}=await l(async()=>{let{getTranscriptExportService:e}=await Promise.resolve().then(()=>Ln);return{getTranscriptExportService:e}},void 0);await n().captureFrozen({sessionId:t.sessionId??t.archive.id,title:t.archive.title,frozenAt:t.archive.frozenAt,createdAt:t.archive.createdAt,updatedAt:t.archive.updatedAt,...e?{rootJid:e.jid}:{}})}function Yc(e,t){if(t)return e.getScoops().find(e=>e.jid===t.id)}function Xc(e){return{folder:e.folder,label:_n({assistantLabel:e.assistantLabel,name:e.name,role:T(e)?`primary`:`child`}),jid:e.jid}}async function Zc(e){let{root:t}=e,n=t?Xc(t):void 0,r=e=>Jc(t,e);if(e.action!==`save`){await e.runNewSessionFreezeQuick({vfs:e.writer,cone:n,captureCompleteSnapshot:r});return}await e.runNewSessionFreeze({vfs:e.writer,cone:n,agenticMemorySpawn:t=>e.client.spawnAgent(t),captureCompleteSnapshot:r,onProgress:t=>{let n=e.freezerNew();n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,String(t)))},onBackgroundEnriched:e.refreshFreezer})}async function Qc(e,t){e!==`erase`&&await Zc({...t,action:e})}async function $c(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(Lc)),l(async()=>{let{resetDictationPriming:e}=await import(`./wc-shortcuts-DQJ0fGGR.js`).then(e=>e.U);return{resetDictationPriming:e}},__vite__mapDeps([36,8,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function el(e,t){(e.thread.inner??e.thread).prepend(tl(e.thread.ownerDocument,t)),e.thread.setAttribute(`accent`,an),rn(e,{kind:`freezer`}),e.inputCard.setAttribute(`disabled`,``),e.switcher.removeAttribute(`active`)}function tl(e,t){let n=t?Rc(t):void 0,r=e.createElement(`slicc-day-separator`);return r.setAttribute(`label`,n?`Frozen chat · from cone ${n}`:`Frozen chat`),r.setAttribute(`data-frozen-provenance`,n??``),r}function nl(e){let{refs:t,openVfs:n,client:r,getController:i,getSelected:a,clearSelection:o,log:s}=e,c=[],u=null,d=t=>{u=null,e.selectScoop(t)},f=0,p=!1,m=()=>{let e=++f;n().then(async({reader:n,writer:r})=>{let i=await Hc(n);if(i===null){if((await Uc(n)).kind!==`corrupt`||(s.warn(`WC freezer index corrupt — rebuilding from archives`),i=await Wc(n),i.length===0))return;await r.writeFile(O,JSON.stringify(i,null,2))}e===f&&(c=i,Kc(t.freezer,i),!p&&i.some(e=>!e.icon&&!e.pendingEnrichment)&&(p=!0,l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-IiyM8x1t.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,8,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34])).then(({pickLucideIcon:e})=>Vc({reader:n,writer:r,freezer:t.freezer,entries:i,pickIcon:t=>e({subject:t})})).catch(e=>s.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{p=!1})))}).catch(e=>s.error(`WC freezer refresh failed`,e))},h=!1,g=()=>t.freezer.querySelector(`slicc-freezer-new`),_=t=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{let o=Yc(r,un(e.getUnits(),a()));try{let{writer:a}=await n(),{resetNewSessionTmp:c,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}=await l(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-xUM_fWqK.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([52,12,8,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33]));await Qc(t,{writer:a,root:o,client:r,freezerNew:g,refreshFreezer:m,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}),await $c({writer:a,root:o,client:r,getController:i,log:s,resetNewSessionTmp:c,tmpDir:Lr(r.getScoops(),o),discardLiveSnapshot:t===`erase`}),m();let p=e.getUnits().find(e=>e.id===o?.jid)??xn(e.getUnits());p&&d(p)}catch(e){s.error(`WC new session failed`,e)}finally{h=!1;let e=g();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])t.freezer.addEventListener(`new-chat-${e}`,()=>_(e));let v=async e=>{let{writer:t}=await n(),{runNewSessionArchiveOnly:r}=await l(async()=>{let{runNewSessionArchiveOnly:e}=await import(`./new-session-xUM_fWqK.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([52,12,8,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33]));await r({vfs:t,cone:Xc(e),captureCompleteSnapshot:t=>Jc(e,t)}),m()};Se(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(Ic,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let y=async r=>{let l=c.find(e=>e.filename===r);try{let{reader:a}=await n();l||=(await Hc(a)??[]).find(e=>e.filename===r);let{messages:s}=await qc(a,l??{filename:r,title:r,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${l?.filename??r}`),u=l?.sessionId??l?.filename??null,e.holdQueuedPile(),i()?.loadMessages(s),el(t,l),o()}catch(t){if(s.error(`WC thaw failed`,t),!a()){let t=pn(e.getUnits(),l?.cone);t&&d(t)}}};return t.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&y(t)}),{refreshFreezer:m,openFrozen:y,getViewedFrozenSessionId:()=>u,freezeCone:v}}d(`scoops.tray-leave`),d(`scoops.tray-join`);var rl=null;function il(e){rl=e}function al(){return rl?.()??[]}var ol=null;function sl(e){ol=e}function cl(){return ol??void 0}var ll=`slicc.leaderTrayFollowers`;function ul(){return dl()}function dl(){if(rl)return rl();try{let e=globalThis.localStorage?.getItem(ll);if(e)return JSON.parse(e)}catch{}return[]}function fl(e,t=globalThis.localStorage){try{t?.setItem(ll,JSON.stringify(e))}catch{}}function pl(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 ml(e){let t=Te();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:se(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=lt();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=ce(e.getItem(le))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function hl(e){let{client:t,openReader:r,storage:i}=e;return{getScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await l(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-DxB_xkTl.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([53,8,1,22,13,21,23,24,3,42,41,43]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await l(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-DxB_xkTl.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([53,8,1,22,13,21,23,24,3,42,41,43]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await l(async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e,loadMountHandle:t}},__vite__mapDeps([54,8])),n=await e();return Promise.all(n.map(async e=>{if(e.descriptor.kind!==`local`)return e;try{let n=await(await t(e.descriptor.idbHandleKey))?.queryPermission?.({mode:`readwrite`});return{...e,valid:n===`granted`}}catch{return{...e,valid:!1}}}))},getMcpServers:async()=>{try{let e=await(await r()).readFile(`/workspace/.mcp/servers.json`,{encoding:`utf-8`});return JSON.parse(typeof e==`string`?e:new TextDecoder().decode(e)).servers??{}}catch{return{}}},getOAuthProviders:()=>{try{let e=new Set,t=[];for(let r of a()){if(e.has(r.providerId))continue;if(e.add(r.providerId),!n(r.providerId)?.isOAuth){t.push({providerId:r.providerId});continue}let i=c(r.providerId),a=r.loggedOut?!1:i?!i.expired:!1;t.push({providerId:r.providerId,valid:a})}return t}catch{return[]}},getSessionStats:async()=>t.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await r()).readFile(`/proc/table`,{encoding:`utf-8`});return pl(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>ml(i),getConnectedFollowers:al}}var gl=`sync-fs-nonce`;function _l(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:gl,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 vl=class{#e=new Map;#t=new Map;#n=new Map;sync(e,t){let n=new Set;for(let r of e){if(!fn(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 yl(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 bl=`<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 xl(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 Sl(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(bl));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=xl(e.getMessages());await t(n??Et([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=Et([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function $(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Cl(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 wl(e){return`
394
+ `}\n${s}\n\n${n}\n`;await e.writeFile(a,o+c);try{await ai({vfs:e,memoryPath:a,model:i?.model,apiKey:i?.apiKey,headers:i?.headers,signal:i?.signal})}catch(e){W.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function Sa(e){return(await k(e)).filter(e=>(e.pendingEnrichment===!0||e.memoryPending===!0)&&wa(e)<3)}async function Ca(e){let t={attempted:0,completed:0};if(!e.model||!e.apiKey)return t;try{for(let t of await k(e.vfs))t.memoryPending===!0&&t.memoryFailed===void 0&&wa(t)>=3&&await za(e.vfs,t.filename,`catch-up retries exhausted (3)`);let n=await Sa(e.vfs);for(let r of n)try{let n=await Ra(e.vfs,r.filename);if(!n)continue;t.attempted+=1,await Ta(e.vfs,n,{model:e.model,apiKey:e.apiKey,headers:e.headers})&&(t.completed+=1)}catch(e){W.warn(`Pending session catch-up attempt failed`,{filename:r.filename,error:e instanceof Error?e.message:String(e)})}}catch(e){W.warn(`Pending session catch-up failed`,{error:e instanceof Error?e.message:String(e)})}return t}function wa(e){let t=e.pendingAttemptCount;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:0}async function Ta(e,t,n){if(!t.pendingEnrichment&&!t.memoryPending)return null;let r=await Aa(e,t);if(r===null)return null;let i=await ja(e,t,r);if(i===null)return null;let a=t.memoryPending===!0&&n.skipMemory!==!0&&await Da(e,t),o=a||t.memorySkipped===!0?{...n,skipMemory:!0}:n,s=await Ma(t,i,o);if(s===null)return null;let c=await ka(o,s.newTitle);await Na(e,t,s.bullets,o);let l=await Fa(e,t,r,s.newTitle,c,n.skipMemory===!0);return l&&a&&(await Oa(e,t.filename),await Ba(e,l.filename),await Ea(e,t.filename)),l}async function Ea(e,t){for(let n of[Ri(`/sessions/${t}`),zi(`/sessions/${t}`)])try{await e.rm(n)}catch{}}async function Da(e,t){try{return await e.stat(Li(`/sessions/${t.filename}`)),!0}catch{return!1}}async function Oa(e,t){try{await e.rm(Li(`/sessions/${t}`))}catch{}}async function ka(e,t){if(e.pickIcon)try{return await ta(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){W.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function Aa(e,t){try{let n=await e.readFile(Lt(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?W.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):W.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}async function ja(e,t,n){let r;try{r=(await At(e,n,t.filename)).messages}catch(e){return W.warn(`Failed to parse pending archive — leaving entry intact`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}return r.length===0?(W.info(`Pending archive has no messages — skipping enrichment`,{filename:t.filename}),null):va(r)}async function Ma(e,t,n){let r=``;if(!n.skipMemory)try{r=await o({messages:t,instruction:i,model:n.model,apiKey:n.apiKey,maxTokens:Yi,headers:n.headers})}catch(t){return W.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let a=``;try{a=ya(await o({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:Xi,headers:n.headers}))}catch(t){return W.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return a?{bullets:r,newTitle:a}:(W.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function Na(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await xa(e,ha(t.cone||`cone`),i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){W.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}function Pa(e,t,n,r,i){let a=r??e.icon;return{filename:t,title:n,frozenAt:e.frozenAt,messageCount:e.messageCount,...e.cost?{cost:e.cost}:{},...e.models?{models:e.models}:{},...e.cone?{cone:e.cone}:{},...e.coneLabel?{coneLabel:e.coneLabel}:{},...e.sessionId?{sessionId:e.sessionId}:{},...a?{icon:a}:{},...e.completeSnapshotUnavailable?{completeSnapshotUnavailable:!0}:{},...i&&e.memoryPending?{memoryPending:!0}:{},...e.memorySkipped?{memorySkipped:!0}:{}}}async function Fa(e,t,n,r,i,a=!1){let o=Lt(t),s=Ot(t.filename),c=s?r:t.title,l=s?`${t.frozenAt.replace(/[:.]/g,`-`)}-${kt(r)}.md`:t.filename,u=`${E}/${l}`;if(s)try{await ba(e,E);let r=Ia(n,c),i=St(t.filename),a=St(l),s=Tt(r,o,u);if(s=Tt(s,i,a),i!==a){let e=i.slice(i.lastIndexOf(`/`)+1),t=a.slice(a.lastIndexOf(`/`)+1);s=s.split(`sidecar: ${e}`).join(`sidecar: ${t}`)}await e.writeFile(u,s),await Ft(e,t.filename,l)}catch(e){return W.warn(`Enrichment write failed (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}let d=Pa(t,l,c,i,a);try{await Va(e,t.filename,d)}catch(e){return W.warn(`Enrichment index update failed (entry may stay pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}if(u!==o){try{await e.rm(o)}catch(e){W.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:o,error:e instanceof Error?e.message:String(e)})}try{await Nt(e,t.filename)}catch(e){W.info(`Stale pending sidecar cleanup failed (harmless)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}try{await e.flush()}catch{}return W.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:l,title:c}),d}function Ia(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 La(e,t){let n=null,r=D(async()=>{let r=await k(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let{memoryPending:a,pendingEnrichment:o,pendingAttemptCount:s,memoryFailed:c,...l}=r[i],u={...l,memoryCuratedAt:new Date().toISOString()},d=r.slice();d[i]=u,await e.writeFile(O,JSON.stringify(d,null,2)),await e.flush(),n=u});try{await r}catch(e){W.warn(`Failed to clear agentic memory pending marker`,{filename:t,error:e instanceof Error?e.message:String(e)})}return n}async function Ra(e,t){let n=null;return await D(async()=>{let r=await k(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r[i];if(!a.pendingEnrichment&&!a.memoryPending)return;let o=wa(a);if(o>=3)return;n={...a,pendingAttemptCount:o+1};let s=r.slice();s[i]=n,await e.writeFile(O,JSON.stringify(s,null,2)),await e.flush()}),n}async function za(e,t,n){let r=D(async()=>{let r=await k(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r.slice();a[i]={...r[i],memoryFailed:n.slice(0,300)},await e.writeFile(O,JSON.stringify(a,null,2)),await e.flush()});try{await r}catch(e){W.warn(`Failed to record curator failure in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Ba(e,t){let n=D(async()=>{let n=await k(e),r=n.findIndex(e=>e.filename===t);if(r===-1)return;let{memoryFailed:i,...a}=n[r],o=n.slice();o[r]={...a,memoryCuratedAt:new Date().toISOString()},await e.writeFile(O,JSON.stringify(o,null,2)),await e.flush()});try{await n}catch(e){W.warn(`Failed to record curator completion in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Va(e,t,n){return D(async()=>{let r=[];try{let t=await e.readFile(O,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(n);Array.isArray(i)&&(r=i)}catch(e){if(!(e instanceof Fe)||e.code!==`ENOENT`)throw e}let i=r.findIndex(e=>e.filename===t),a;i===-1?a=[n,...r.filter(e=>e.filename!==n.filename)]:(a=r.slice(),a[i]=n,a=a.filter((e,t)=>t===i||e.filename!==n.filename)),await e.writeFile(O,JSON.stringify(a,null,2))})}async function Ha(e,t){return D(async()=>{let n=[];try{let t=await e.readFile(O,{encoding:`utf-8`}),r=typeof t==`string`?t:new TextDecoder().decode(t),i=JSON.parse(r);Array.isArray(i)&&(n=i)}catch(e){if(!(e instanceof Fe)||e.code!==`ENOENT`)throw e;return}if(!n.find(e=>e.filename===t))return;let r=n.map(e=>e.filename===t?{...e,completeSnapshotUnavailable:!0}:e);await e.writeFile(O,JSON.stringify(r,null,2))})}var Ua=`slicc:followers-changed`;function Wa(e){let t=e.replace(/^follower-/,``);return t.length>12?`${t.slice(0,8)}…`:t}function Ga(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 Ka(e){return e.floatType===`ios`?`smartphone`:e.floatType===`electron`||e.floatType===`standalone`?`monitor`:e.floatType===`extension`?`blocks`:e.runtime?.includes(`cli`)?`terminal`:`radio`}function qa(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 Ja(e){return e.health===`stalled`?`warn`:e.peerState===`connecting`?`idle`:e.peerState===`connected`&&e.health===`live`?`active`:`idle`}function Ya(e,t=Date.now()){let n=e.health===`stalled`?`stalled`:e.peerState===`connecting`?`connecting`:`connected`,r=qa(e.connectedAt,t);return r?`${n} ${r}`:n}function Xa(e){let t=[];return e.exec&&t.push(`can run commands`),e.cdp&&t.push(`hosts tabs`),t}function Za(e){return`${Ga(e)} · ${Wa(e.runtimeId)}`}function Qa(e){return e.motd??e.runtime??void 0}function $a(e,t=Date.now()){return e.map(e=>({id:e.runtimeId,icon:Ka(e),title:Za(e),detail:Qa(e),state:Ja(e),stateText:Ya(e,t),chips:Xa(e)}))}var eo=`__slicc_binary__`,to=`b64`;function no(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[eo]===to&&typeof t.data==`string`}function ro(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function io(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!no(e)}function ao(e){if(e instanceof Uint8Array)return{[eo]:to,data:v(e)};if(Array.isArray(e))return e.map(ao);if(ro(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=ao(r);return t}return e}function oo(e){if(no(e))return y(e.data);if(Array.isArray(e))return e.map(oo);if(io(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=oo(r);return t}return e}var so=d(`panel-transport`);function co(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function lo(){return{onMessage:e=>{let t=(t,n,r)=>(co(t)&&e(oo(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=ao(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{so.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var uo={summarizing:`summarizing`,fallback:`fallback`,cancelled:`discarded`,idle:`summarized`},fo=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:uo[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}},po=2e3,G=d(`offscreen-client`),mo=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;compactionRows=new fo(e=>`compaction-${e}-${K()}`);toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingWebhookDeliveries=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;pendingModelAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=new Map;pendingStatsRequests=new Map;pendingSudoRequests=new Map;transport;_selectedScoopJid=null;get selectedScoopJid(){return this._selectedScoopJid}scoopSelectedListeners=new Set;onScoopSelected(e){return this.scoopSelectedListeners.add(e),()=>{this.scoopSelectedListeners.delete(e)}}setSelectedScoopJid(e){if(this._selectedScoopJid!==e&&(this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){G.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??lo(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}emitAgentError(e){this.emitToUI({type:`error`,error:e})}createAgentHandle(){return{sendMessage:(e,t,n,r)=>{if(!this.selectedScoopJid){this.emitToUI({type:`error`,error:`No scoop selected`});return}this.send({type:`user-message`,scoopJid:this.selectedScoopJid,text:e,attachments:n,messageId:t??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,...r?.steer?{steer:!0}:{},...r?.guestGate?{guestGate:r.guestGate}:{}})},onEvent:e=>(this.eventListeners.add(e),()=>this.eventListeners.delete(e)),stop:()=>{this.selectedScoopJid&&this.send({type:`abort`,scoopJid:this.selectedScoopJid})}}}getScoops(){return this.scoops}getScoop(e){return this.scoops.find(t=>t.jid===e)}isProcessing(e){return this.scoopStatuses.get(e)===`processing`}async registerScoop(e,t={}){if(!T(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&&T(t)&&w(this.scoops).length<=1)throw Error(`Cannot remove the last cone`);this.send({type:`scoop-drop`,scoopJid:e}),this.scoops=this.scoops.filter(t=>t.jid!==e),this.scoopStatuses.delete(e)}createScoopTab(e){}async getGlobalMemory(){if(!this.localFs)return``;try{let e=await this.localFs.readFile(`/shared/CLAUDE.md`,{encoding:`utf-8`});return typeof e==`string`?e:new TextDecoder().decode(e)}catch{return``}}getScoopContext(e){if(this.localFs)return{getFS:()=>this.localFs}}getSharedFS(){return this.localFs}stopScoop(e){this.send({type:`abort`,scoopJid:e})}async clearQueuedMessages(e){}async deleteQueuedMessage(e,t){this.send({type:`delete-queued-message`,scoopJid:e,messageId:t})}updateModel(){this.send({type:`refresh-model`})}setScoopModel(e,t){let n=`model-${K()}`,r=new Promise(e=>{this.pendingModelAcks.set(n,e)});return this.send({type:`set-scoop-model`,requestId:n,scoopJid:e,model:t}),Promise.race([r,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingModelAcks.delete(n))}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${K()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(e,t={}){let n=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingClearAcks.set(n,e)});this.send({type:`clear-chat`,requestId:n,...e?{scoopJid:e}:{},...t.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}}),await Promise.race([r,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(n)}spawnAgent(e){let t=`agent-${K()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&G.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`}),t))]);return this.pendingSudoRequests.delete(n),i}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}G.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,origin:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}async sendWebhookEvent(e,t,n){let r=`wh-${K()}`,i=new Promise(e=>{this.pendingWebhookDeliveries.set(r,e)});this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n,requestId:r});try{return await Promise.race([i,new Promise(e=>setTimeout(()=>e(null),po))])}finally{this.pendingWebhookDeliveries.delete(r)}}sendSetFollowerForwarding(e){this.send({type:`set-follower-forwarding`,enabled:e})}sendForwardedLick(e){this.send({type:`inject-forwarded-lick`,event:e})}setForwardLickHandler(e){this.forwardLickHandler=e}sendCherryHostEvent(e,t,n){this.send({type:`lick-cherry-host-event`,cherryRuntimeId:e,name:t,detail:n})}sendPreviewLick(e){this.send({type:`lick-preview`,event:e})}setSprinkleOpHandler(e){this.sprinkleOpHandler=e}sendRaw(e){this.send(e)}setupMessageListener(){this.transport.onMessage(e=>{if(e.source!==`offscreen`)return;let t=e.payload;t?.type===`sprinkle-op`&&this.sprinkleOpHandler?this.sprinkleOpHandler(t):this.handleOffscreenMessage(e.payload)})}handleOffscreenMessage(e){switch(e.type){case`offscreen-ready`:this.ready?(G.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):G.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.handleCompactionState(e);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`lick-webhook-delivery`:{let t=this.pendingWebhookDeliveries.get(e.requestId);t&&(this.pendingWebhookDeliveries.delete(e.requestId),t(e.disposition));break}case`agent-spawn-result`:this.handleAgentSpawnResult(e);break;case`set-scoop-model-ack`:this.handleScoopModelAck(e);break;case`set-thinking-level-ack`:this.handleThinkingLevelAck(e);break;case`scoop-created`:this.handleScoopCreated(e);break;case`scoop-list`:this.handleScoopList(e);break;case`state-snapshot`:this.handleStateSnapshot(e);break;case`error`:this.handleError(e);break;case`lick-backpressure`:this.callbacks.onLickBackpressure?.(e.scoopJid,{count:e.count,waitingMs:e.waitingMs});break;case`incoming-message`:this.handleIncomingMessage(e);break;case`message-updated`:this.handleMessageUpdated(e);break;case`scoop-messages-replaced`:{let t=e;this.resyncStreamPointer(t.scoopJid,t.messages),this.callbacks.onScoopMessagesReplaced?.(t.scoopJid,t.messages,t.queuedIds);break}case`scoop-transcript`:{let t=e,n=this.pendingTranscriptRequests.get(t.requestId);n&&(this.pendingTranscriptRequests.delete(t.requestId),n(t.transcript));break}case`scoop-chat-messages`:{let t=e,n=this.pendingChatMessagesRequests.get(t.requestId);n&&(this.pendingChatMessagesRequests.delete(t.requestId),n(t.messages));break}case`sudo-approval`:{let t=e,n=this.pendingSudoRequests.get(t.requestId);n&&(this.pendingSudoRequests.delete(t.requestId),n(t.decision));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,burnRate:t.burnRate,fills:t.fills,models:t.models??[],scoops:t.scoops??[],...t.budget?{budget:t.budget}:{}}));break}case`tray-runtime-status`:{let t=e;ho(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event);break;case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){G.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}}}handleAgentSpawnResult(e){let t=this.pendingAgentSpawnRequests.get(e.requestId);t&&(this.pendingAgentSpawnRequests.delete(e.requestId),e.ok?t.resolve(e.result):t.reject(Error(e.error)))}terminalEventListeners=new Set;onTerminalEvent(e){return this.terminalEventListeners.add(e),()=>this.terminalEventListeners.delete(e)}resyncStreamPointer(e,t){let n;for(let e=t.length-1;e>=0;e--){let r=t[e];if(r.role===`assistant`&&r.isStreaming){n=r.id;break}}n===void 0?this.currentMessageId.delete(e):this.currentMessageId.set(e,n)}trackToolPhase(e,t){let n=this.toolDepth.get(e)??0,r=t===null?0:Math.max(0,n+t);r===0?this.toolDepth.delete(e):this.toolDepth.set(e,r),n>0!=r>0&&this.callbacks.onScoopPhaseChange?.(e,r>0?`tool`:`thinking`)}handleToolUiAgentEvent(e){if(e.displayScoopJid){let t=`tool-ui-${e.requestId??``}`;e.eventType===`tool_ui`?this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``}):e.eventType===`tool_ui_done`&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});return}if(e.eventType===`tool_ui`){let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});return}let t=this.currentMessageId.get(e.scoopJid);t&&(e.eventType===`tool_ui_done`?this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``}):e.progress&&this.emitToUI({type:`tool_progress`,messageId:t,toolName:e.toolName??``,progress:e.progress,toolCallId:e.toolCallId}))}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if((e.displayScoopJid??e.scoopJid)===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_use_start`,messageId:t,toolName:e.toolName??``,toolInput:e.toolInput,toolCallId:e.toolCallId});break}case`tool_end`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_result`,messageId:t,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError,toolCallId:e.toolCallId});break}case`tool_ui`:case`tool_ui_done`:case`tool_progress`:this.handleToolUiAgentEvent(e);break;case`response_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&(this.emitToUI({type:`content_done`,messageId:t,model:e.model,usage:e.usage}),this.currentMessageId.delete(e.scoopJid));break}case`turn_end`:{let t=this.currentMessageId.get(e.scoopJid)??`done-${e.scoopJid}-${K()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}renderCompactionNotice(e,t,n,r){let i=this.compactionRows.apply(e,t,n,r);i&&e===this.selectedScoopJid&&this.emitToUI({type:`compaction_notice`,messageId:i.messageId,marker:i.kind===`retract`?{trigger:n.trigger,state:`discarded`}:i.marker})}handleCompactionState(e){let t={trigger:e.trigger??`threshold`,...e.transcriptPath?{transcriptPath:e.transcriptPath}:{},...e.roundId?{roundId:e.roundId}:{}};this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state,t),this.renderCompactionNotice(e.scoopJid,e.state,t,e.rowId)}handleScoopStatus(e){let t=this.scoopStatuses.get(e.scoopJid);this.scoopStatuses.set(e.scoopJid,e.status),t!==e.status&&this.trackToolPhase(e.scoopJid,null),this.callbacks.onStatusChange(e.scoopJid,e.status)}handleScoopCreated(e){let t=this.msgScoopToRegistered(e.scoop);this.scoops=this.scoops.filter(e=>e.name!==t.name||e.jid===t.jid),this.scoops.find(e=>e.jid===t.jid)||this.scoops.push(t),this.scoopStatuses.set(t.jid,e.scoop.status),this.callbacks.onScoopCreated(t)}wireScoops(){return this.scoops.map(e=>{let t=pt(e),n=mt(e),r={...e.config,...t?{modelId:t.id,modelProviderId:t.provider}:{},...n.level?{thinkingLevel:n.level}:{},...n.effortOverride?{effortOverride:n.effortOverride}:{}};return{jid:e.jid,name:e.name,folder:e.folder,parentId:e.parentJid,assistantLabel:e.assistantLabel,status:this.scoopStatuses.get(e.jid)??`ready`,...Object.keys(r).length>0?{config:r}:{}}})}handleScoopModelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&(t.model=e.model?{...e.model}:void 0,this.callbacks.onScoopListUpdate(this.wireScoops()))}this.pendingModelAcks.get(e.requestId)?.(e.applied)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&dt(t,e.level===void 0?void 0:{level:e.level,effortOverride:e.effortOverride})}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}handleScoopList(e){this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){G.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&ho(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){e.scoopJid===this.selectedScoopJid&&this.emitToUI({type:`error`,error:e.error})}handleIncomingMessage(e){this.callbacks.onIncomingMessage(e.scoopJid,e.message)}handleMessageUpdated(e){this.callbacks.onMessageUpdate?.(e.scoopJid,{messageId:e.messageId,lickId:e.lickId,lickState:e.lickState})}msgScoopToRegistered(e){return ut({jid:e.jid,name:e.name,folder:e.folder,parentJid:e.parentId,requiresTrigger:e.parentId!==null,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}})}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){G.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function K(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function ho(e,t){ct({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),we({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 go(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 _o={onAgentEvent:()=>()=>void 0,sendSprinkleLick:()=>void 0,sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.resolve(),emitAgentError:()=>void 0},vo=`A follower cannot cancel the leader’s queued message`;function yo(e){return{onAgentEvent:e.onAgentEvent,sendSprinkleLick:(t,n,r)=>e.getSync()?.sendSprinkleLick(t,n,r),sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.reject(Error(vo)),emitAgentError:e.onAgentError,readOnlyToolUi:!0}}function q(e){return!e.includes(`\0`)}function bo(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!q(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!q(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(q(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function xo(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 So(e){let t=xo(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function Co(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 wo(e,t){for(let[n,r]of t)e.off(n,r),e.on(n,r)}var To=1e4;function Eo(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`)),To),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 Do(e,t,n={}){let r=xo(e),i=null,a=n.reconnect?()=>(i||=(t.state===`connecting`?Eo(t):n.reconnect()).finally(()=>{i=null}),i):null,o=new Map,s=r.onMessage(e=>{Co(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`&&(wo(t,o),r.send({type:`cdp-ready`}))}});return()=>{s(),u?.();for(let[e,n]of o)t.off(e,n);o.clear()}}function Oo(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function ko(e,t,n){let r=()=>{};return{ready:new Promise((i,a)=>{let o=null,s=null,c=()=>{o!==null&&(clearTimeout(o),o=null)},l=Math.max(1,t.readyStallLimit??(t.onReadyStall?3:1)),u=Date.now(),d=0,f=!1,p=()=>{c(),o=setTimeout(()=>{if(d+=1,d<l){t.onReadyStall?.({elapsedMs:Date.now()-u,stalls:d}),p();return}t.onLateReady?c():r(),f=!0,a(Error(`Kernel worker did not signal ready within ${n*l}ms`))},n)};r=()=>{s!==null&&(e.removeEventListener(`message`,s),s=null),c()},s=e=>{let n=e.data;if(n?.type===`kernel-worker-boot-progress`){d=0,p();return}if(n?.type===`kernel-worker-ready`){if(r(),f){t.onLateReady?.();return}i();return}if(n?.type===`kernel-worker-boot-error`){r();let e=n.message??`unknown error`,t=n.code,i=Error(`Kernel worker boot failed: ${e}`);t&&(i.code=t),a(i)}},e.addEventListener(`message`,s),p()}),cleanup:()=>r()}}function Ao(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=So(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Do(o.port1,n,{...e.reconnectCdp?{reconnect:e.reconnectCdp}:{}}),{ready:u,cleanup:d}=ko(a.port1,e,r),f={type:`kernel-worker-init`,kernelPort:a.port2,cdpPort:o.port2,localStorageSeed:i,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,syncFsBridgeEnabled:e.syncFsBridgeEnabled??!1,syncFsChannelNonce:e.syncFsChannelNonce??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null,pageBuildId:`6.148.2-mtwpdfqf`,pageLoadedAt:globalThis.performance?.timeOrigin??Date.now(),flagFloat:e.flagFloat??null,appPageUrl:globalThis.location?.href??null};t.postMessage(f,[a.port2,o.port2]);let p=!1;return{client:c,ready:u,dispose(){if(!p){p=!0,d(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}}}function jo(e){return Ao({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-B-5xP3eg.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,reconnectCdp:e.reconnectCdp,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Oo(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError,onReadyStall:e.onReadyStall,readyStallLimit:e.readyStallLimit,onLateReady:e.onLateReady})}var Mo=1048576,No=`r`;function Po(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Fo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Io(e,t,n){if(typeof e==`string`){n.push({pointer:t,value:e});return}if(Array.isArray(e)){for(let r=0;r<e.length;r++)Io(e[r],`${t}/${r}`,n);return}if(Fo(e))for(let[r,i]of Object.entries(e))Io(i,`${t}/${Po(r)}`,n)}function Lo(e,t,n){if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=Lo(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(Fo(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=Lo(o,`${t}/${Po(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function Ro(e,t,n){if(Fo(e))return Lo(e,t,n);if(typeof e==`string`)return n.get(t)??e;if(Array.isArray(e)){let r=!1,i=[];for(let a=0;a<e.length;a++){let o=Ro(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function zo(e){let t=new Map;for(let n of e.matchAll(/⟦REDACTED:([^:⟧]+):([^⟧]+)⟧/g)){let e=n[0],r=t.get(e);r?r.count++:t.set(e,{category:n[1],id:n[2],count:1})}return t}async function Bo(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new C(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>Mo)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new C(`redaction-unavailable`)}if(c.length!==s.length)throw new C(`redaction-unavailable`);r.push(...c),i=o}return r}function Vo(e,t,n,r){let i=[],a=zo(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=zo(t);for(let[e,{category:t,id:r,count:s}]of o)s>(a.get(e)?.count??0)&&i.push({id:r,category:t,detector:`known-secret`,target:n});let{text:s,matches:c,nextId:l}=Dn(t,No,r);for(let{id:e,category:t}of c)i.push({id:e,category:t,detector:`credential-pattern`,target:n});return{finalText:s,redactions:i,nextId:l}}function Ho(e,t,n){for(let{redactions:r}of e)for(let e of r)t.push(e),n[e.category]=(n[e.category]??0)+1}async function Uo(e,t,n,r){if(r?.aborted)throw new C(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];Io(a,``,o);let s=o.filter(e=>!ae(e.pointer)),c=[...t.entries()],l=await Bo([...s.map(e=>e.value),...c.map(([,e])=>e)],n,r),u=[],d={},f=1,p=new Map,m=[];for(let e=0;e<s.length;e++){let t=s[e],n=Vo(t.value,l[e],{kind:`json`,pointer:t.pointer},f);f=n.nextId,n.finalText!==t.value&&p.set(t.pointer,n.finalText),m.push(n)}Ho(m,u,d);let h=new Map,g=s.length,_=[];for(let e=0;e<c.length;e++){let[t,n]=c[e],r=Vo(n,l[g+e],{kind:`attachment`,attachmentId:t},f);f=r.nextId,h.set(t,r.finalText),_.push(r)}Ho(_,u,d);let v=Ro(e,``,p);return{document:{...v,privacy:{...v.privacy,redactionCounts:d,redactions:u}},textAttachments:h}}function Wo(e,t){let n=e.startsWith(`text/`)||e===`application/json`,r=/\.(?:txt|md|json|csv|xml|ya?ml|js|mjs|cjs|ts|tsx|css|html)$/i.test(t);return n||r?`text-redacted`:`binary-unchanged`}async function Go(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}var Ko={"image/png":`.png`,"image/jpeg":`.jpg`,"image/gif":`.gif`,"image/webp":`.webp`,"image/svg+xml":`.svg`,"image/bmp":`.bmp`,"application/pdf":`.pdf`,"application/zip":`.zip`,"application/gzip":`.gz`,"application/json":`.json`,"text/plain":`.txt`,"text/markdown":`.md`,"text/csv":`.csv`,"text/html":`.html`,"text/xml":`.xml`,"application/xml":`.xml`};function qo(e,t){return Ko[e]??(t===`text-redacted`?`.txt`:`.bin`)}function Jo(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${qo(t,n)}`}function Yo(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Xo(e){let t=[];for(let n of e.conversations){let e=0;for(let r of n.messages){let i=r.role;if(i!==`user`&&i!==`assistant`&&i!==`tool-result`)continue;let a=0;for(let o of r.content)o.type===`attachment-ref`&&(t.push({attachmentId:o.attachmentId,conversationId:n.id,messageId:r.id,role:i,userOrdinal:e,imgIndex:a}),a++);i===`user`&&e++}}return t}async function Zo(e,t,n,r,i){let a=Wo(e.mimeType,e.name),o={attachmentId:t,originalName:e.name,mimeType:e.mimeType,handling:a,present:!0,sourceConversationId:n,sourceMessageId:r};if(a===`text-redacted`){let t;if(e.text!==void 0)t=e.text;else if(e.data!==void 0)t=new TextDecoder().decode(Yo(e.data));else if(e.path!==void 0&&i!==void 0)try{t=new TextDecoder().decode(await i(e.path))}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return t===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawText:t}}let s;if(e.data!==void 0)s=Yo(e.data);else if(e.path!==void 0&&i!==void 0)try{s=await i(e.path)}catch{return{...o,present:!1,missingReason:`attachment-file-missing`}}return s===void 0?{...o,present:!1,missingReason:`attachment-file-missing`}:{...o,rawBytes:s}}function Qo(e,t,n,r){let i=[],a=new Set,o=new Set;for(let s of e){if(s.role!==`user`){let e=n.get(s.attachmentId);e===void 0?i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId})):i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`image-${s.imgIndex}`,mimeType:e.mimeType,handling:`binary-unchanged`,rawBytes:Yo(e.data),present:!0,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let e=(t.get(s.conversationId)??[]).filter(e=>e.role===`user`)[s.userOrdinal];if(e===void 0){a.add(s.conversationId),i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-association-unavailable`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}let c=(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:e})=>e.kind===`image`||e.kind===`file`&&e.data!==void 0)[s.imgIndex];if(c===void 0){i.push(Promise.resolve({attachmentId:s.attachmentId,originalName:`unknown`,mimeType:`application/octet-stream`,handling:`binary-unchanged`,present:!1,missingReason:`attachment-file-missing`,sourceConversationId:s.conversationId,sourceMessageId:s.messageId}));continue}o.add(`${s.conversationId}:${e.id}:${c.i}`),i.push(Zo(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function $o(e,t,n){return(e.attachments??[]).map((e,t)=>({a:e,i:t})).filter(({a:r,i})=>(r.kind===`text`||r.kind===`file`&&(r.data!==void 0||r.path!==void 0))&&!n.has(`${t}:${e.id}:${i}`))}function es(e,t,n,r,i,a,o){let s=$o(t,n,i),c=[];for(let t=0;t<s.length;t++){let{a:i}=s[t],l=`${e.id}-file-${t}`;r.has(l)||(a.push(Zo(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function ts(e,t,n,r,i){let a=new Map,o=[];for(let s of e.conversations){let e=(t.get(s.id)??[]).filter(e=>e.role===`user`),c=0;for(let t of s.messages){if(t.role!==`user`)continue;let l=e[c];if(c++,l===void 0)continue;let u=es(t,l,s.id,n,r,o,i);u.length>0&&(a.has(s.id)||a.set(s.id,new Map),a.get(s.id).set(t.id,[...t.content,...u]))}}return{updates:a,additionalPendingPromises:o}}function ns(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,Jo(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function rs(e,t,n,r,i){let{rawAttachments:a,textMap:o}=ns(e,n),s,c;try{let e=await Uo({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof C?e:new C(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new C(`schema-invalid`);l.set(t.attachmentId,t)}let u=new Map,d=await Promise.all(s.attachments.map(async e=>{if(!e.present||!e.path)return e;let t=l.get(e.id);if(t===void 0)throw new C(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await Go(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function is(e){let{document:t,chatMessagesByConversation:n,knownSecrets:r,signal:i}=e,a=e.canonicalImages??new Map,o=e.vfsReader,s=new Set,{pendingPromises:c,mismatchedConvIds:l,processedUiPositions:u}=Qo(Xo(t),n,a,o);l.size>0&&s.add(`attachment-association-unavailable`);for(let e of t.conversations)e.messages.filter(e=>e.role===`user`).length>(n.get(e.id)??[]).filter(e=>e.role===`user`).length&&s.add(`attachment-association-unavailable`);let d=await Promise.all(c),{updates:f,additionalPendingPromises:p}=ts(t,n,new Set(d.map(e=>e.attachmentId)),u,o),m=await Promise.all(p),h=[...d,...m],g=t;f.size>0&&(g={...t,conversations:t.conversations.map(e=>{let t=f.get(e.id);return t?{...e,messages:e.messages.map(e=>{let n=t.get(e.id);return n?{...e,content:n}:e})}:e})});let{redactedDocument:_,bundleFiles:v}=await rs(h,g,s,r,i),y=[..._.session.completeness.missing.filter(e=>!s.has(e)),...s];return{document:{..._,session:{..._.session,completeness:{status:y.length>0?`partial`:_.session.completeness.status,missing:y}}},bundleFiles:v}}var as=50;function os(e){return gt(e)}function ss(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function cs(e,t,n,r){let i=new Map;for(let e of t)i.set(e.id,e);let a=new Map;for(let e of n)a.set(e.id,e);let o=[],s=new Map;for(let t of e){let e=r.getAgentMessages(t.jid)??i.get(t.jid)?.messages??[],n={id:t.jid,kind:T(t)?`cone`:`scoop`,name:t.name,...t.folder&&!T(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=os(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function ls(e,t,n={}){let r=e=>n.rootJid===void 0?e:vt(e,n.rootJid);for(;;){let n=r(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(as,t),t?.aborted))throw new C(`transfer-aborted`);let i=ss(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new C(`transfer-aborted`);let s=r(e.listScoops());if(i===ss(s,e))return cs(s,a,o,e)}}function us(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function ds(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function fs(e,t){if(typeof e==`string`)return e?[{type:`text`,text:e}]:[];let n=[],r=0;for(let i of e)i.type===`text`?i.text&&n.push({type:`text`,text:i.text}):i.type===`image`&&n.push(ds(t,r++));return n}function ps(e,t){let n=[],r=new Map,i=0,a=0;for(let o of e)if(o.type===`thinking`)i+=1;else if(o.type===`text`)o.text&&n.push({type:`text`,text:o.text});else if(o.type===`toolCall`)n.push({type:`tool-call`,id:o.id??``,name:o.name??``,input:o.arguments??{}});else if(o.type===`image`){let e=ds(t,a++);n.push(e),o.data&&o.mimeType&&r.set(e.attachmentId,{data:o.data,mimeType:o.mimeType})}return{blocks:n,excluded:i,images:r}}function ms(e,t){let n=[],r=new Map,i=0;for(let a of e)if(a.type===`text`)a.text&&n.push({type:`text`,text:a.text});else if(a.type===`image`){let e=ds(t,i++);n.push(e),a.data&&a.mimeType&&r.set(e.attachmentId,{data:a.data,mimeType:a.mimeType})}return{blocks:n,images:r}}function hs(e,t,n){let r=us(t,n),i=fs(e.content,r);return{message:{id:r,sequence:n,role:`user`,timestamp:new Date(e.timestamp).toISOString(),content:i},excludedReasoningBlocks:0,images:new Map}}function gs(e,t,n){let r=us(t,n),{blocks:i,excluded:a,images:o}=ps(e.content,r);return{message:{id:r,sequence:n,role:`assistant`,timestamp:new Date(e.timestamp).toISOString(),content:i,model:{provider:e.provider,id:e.model,api:e.api},usage:e.usage,stopReason:e.stopReason,...e.errorMessage?{error:e.errorMessage}:{}},excludedReasoningBlocks:a,images:o}}function _s(e,t,n){let r=us(t,n),{blocks:i,images:a}=ms(e.content,r);return{message:{id:r,sequence:n,role:`tool-result`,timestamp:new Date(e.timestamp).toISOString(),content:i,toolCallId:e.toolCallId,isError:e.isError},excludedReasoningBlocks:0,images:a}}function vs(e,t,n){return e.role===`user`?hs(e,t,n):e.role===`assistant`?gs(e,t,n):e.role===`toolResult`?_s(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function ys(e){let t=[];for(let n of e){if(!n.parentConversationId)continue;let e={sourceConversationId:n.parentConversationId,targetConversationId:n.id};n.originToolCallId&&(e.toolCallId=n.originToolCallId),t.push(e)}return t}function bs(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=vs(r,e.id,i+1);t+=a.excludedReasoningBlocks;for(let[e,t]of a.images)n.set(e,t);return a.message?[a.message]:[]});return{id:e.id,kind:e.kind,name:e.name,...e.folder?{folder:e.folder}:{},...e.parentConversationId?{parentConversationId:e.parentConversationId}:{},...e.createdAt?{createdAt:e.createdAt}:{},...e.updatedAt?{updatedAt:e.updatedAt}:{},messages:r}}),delegations:ys(e),excludedReasoningBlocks:t,canonicalImages:n}}var xs=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n}return e})();function Ss(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^xs[(t^e[n])&255];return~t>>>0}var Cs=new TextEncoder;function J(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function Y(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255,e[t+2]=n>>>16&255,e[t+3]=n>>>24&255}function ws(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,J(r,4,20),J(r,6,2048),J(r,8,0),J(r,10,0),J(r,12,0),Y(r,14,n),Y(r,18,t),Y(r,22,t),J(r,26,e.length),J(r,28,0),r.set(e,30),r}function Ts(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,J(i,4,20),J(i,6,20),J(i,8,2048),J(i,10,0),J(i,12,0),J(i,14,0),Y(i,16,n),Y(i,20,t),Y(i,24,t),J(i,28,e.length),J(i,30,0),J(i,32,0),J(i,34,0),J(i,36,0),Y(i,38,0),Y(i,42,r),i.set(e,46),i}function Es(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,J(r,4,0),J(r,6,0),J(r,8,e),J(r,10,e),Y(r,12,t),Y(r,16,n),J(r,20,0),r}function Ds(e){if(!e||e.startsWith(`/`)||e.includes(`\0`)||e.includes(`\\`))return!1;for(let t of e.split(`/`))if(t===``||t===`.`||t===`..`)return!1;return!0}function Os(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${re(e.session.title,{maxLen:40,fallback:`transcript`})}-${n}.zip`}async function*ks(e,t,n,r,i){if(n?.aborted)throw i(new C(`transfer-aborted`)),new C(`transfer-aborted`);let a=()=>i(new C(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=Ae.create(),s=0,c=0,l=[],u=!1;function*d(e){o.update(e),s+=e.byteLength,c+=e.byteLength,yield e}try{let i=new TextEncoder().encode(JSON.stringify(e,null,2)),a=Cs.encode(`transcript.json`),f=Ss(i),p=ws(a,i.length,f);if(l.push({nameBytes:a,size:i.length,crc:f,localOffset:c}),n?.aborted||(yield*d(p),n?.aborted))throw new C(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new C(`transfer-aborted`);let t=Cs.encode(e),i=Ss(r),a=ws(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new C(`transfer-aborted`);yield*d(r)}let m=c;for(let e of l){if(n?.aborted)throw new C(`transfer-aborted`);yield*d(Ts(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new C(`transfer-aborted`);yield*d(Es(l.length,c-m,m)),u=!0,r({byteLength:s,sha256:o.hex()})}catch(e){throw u=!0,i(e),e}finally{n?.removeEventListener(`abort`,a),u||(u=!0,i(new C(`transfer-aborted`)))}}var As=4294967295,js=65535;function Ms(e,t,n){for(let e of t.keys())if(!Ds(e))throw new C(`schema-invalid`);if(t.size+1>js)throw new C(`schema-invalid`);for(let e of t.values())if(e.byteLength>As)throw new C(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:Os(e),chunks:ks(e,t,n,r,i),completion:a}}function Ns(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:oe},session:{id:e,title:t,state:n,completeness:{status:`complete`,missing:[]},...a},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:r.excludedReasoningBlocks,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:r.conversations,delegations:r.delegations,attachments:[]}}function Ps(e,t){let n=[],r=1;for(let i of e){if(i.role!==`user`&&i.role!==`assistant`)continue;let e=`${t}-msg-${String(r).padStart(6,`0`)}`;n.push({id:e,sequence:r++,role:i.role,timestamp:new Date(i.timestamp||0).toISOString(),content:i.content?[{type:`text`,text:i.content}]:[]})}return n}function Fs(e){let t=ie(e);if(!t.ok)throw new C(`schema-invalid`,t.error)}function Is(e,t,n){let r=new Map;for(let i of e)if(!(!i.present||!i.path)){if(i.handling===`text-redacted`){let e=t.get(i.id);e!==void 0&&r.set(i.path,new TextEncoder().encode(e))}else{let e=n.get(i.path);e&&r.set(i.path,e)}}return r}async function Ls(e,t){return Promise.all(e.map(async e=>{if(!e.present||!e.path||e.handling!==`text-redacted`)return e;let n=t.get(e.path);if(!n)return e;let r=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength),i=await crypto.subtle.digest(`SHA-256`,r),a=Array.from(new Uint8Array(i)).map(e=>e.toString(16).padStart(2,`0`)).join(``);return{...e,byteLength:n.length,sha256:a}}))}function Rs(e){let t=e.match(/^---\n([\s\S]*?)\n---\n/);if(!t)return{};let n=t[1],r={},i=n.match(/^createdAt:\s*(\d+)\s*$/m),a=n.match(/^updatedAt:\s*(\d+)\s*$/m);return i&&(r.createdAt=new Date(Number(i[1])).toISOString()),a&&(r.updatedAt=new Date(Number(a[1])).toISOString()),r}var zs=class{deps;constructor(e){this.deps=e}async export(e,t={}){let{signal:n,onProgress:r}=t,i;return i=e.kind===`active`?await this.buildActiveSnapshot(n,r):await this.buildFrozenSnapshot(e.sessionId,n,r),Fs(i.document),r?.({phase:`packaging`}),Ms(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await ls(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=bs(n.sources),{document:i,bundleFiles:a}=await is({document:Ns(e.sessionId,e.title,`frozen`,r,this.deps.version,{frozenAt:e.frozenAt,createdAt:new Date(e.createdAt).toISOString(),updatedAt:new Date(e.updatedAt).toISOString()}),chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:t});Fs(i),await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a})}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await ls(this.deps.collection,e),r=bs(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=Ns(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),is({document:o,chatMessagesByConversation:n.chatMessagesByConversation,knownSecrets:this.deps.knownSecrets,canonicalImages:r.canonicalImages,vfsReader:e=>this.readBinaryFromVfs(e),signal:e})}async buildFrozenSnapshot(e,t,n){let r=await this.deps.snapshotStore.read(e);return r?(n?.({phase:`redacting`}),this.reredactStoredSnapshot(r,t)):this.buildLegacyPartial(e,t,n)}async reredactStoredSnapshot(e,t){let n=new Map;for(let t of e.document.attachments){if(t.handling!==`text-redacted`||!t.present||!t.path)continue;let r=e.attachments.get(t.path);r&&n.set(t.id,new TextDecoder().decode(r))}let r,i;try{let a=await Uo(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new C(`redaction-unavailable`)}let a=Is(r.attachments,i,e.attachments),o=await Ls(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,t,n){let r=(await k(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!r)throw new C(`session-not-found`);let i;try{let e=await this.deps.vfs.readFile(`/sessions/${r.filename}`,{encoding:`utf-8`});i=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new C(`session-not-found`)}let{loadFrozenArchive:a}=await l(async()=>{let{loadFrozenArchive:e}=await import(`./session-jsonl-DMhh9wiJ.js`).then(e=>e.i);return{loadFrozenArchive:e}},__vite__mapDeps([35,8,36,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,37,38])),{title:o,messages:s}=await a(this.deps.vfs,i,r.filename),c=`legacy-cone`,u=Ps(s,c),d=Rs(i),f={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:oe},session:{id:e,title:o,state:`frozen`,...r.frozenAt?{frozenAt:r.frozenAt}:{},...d,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:c,kind:`cone`,name:o,messages:u}],delegations:[],attachments:[]},p=new Map([[c,s]]);return n?.({phase:`redacting`}),is({document:f,chatMessagesByConversation:p,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:t})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new C(`attachment-unreadable`);return t}},Bs=`/sessions/data`,Vs=`document.json`;async function Hs(e){let t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function Us(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new C(`session-not-found`)}function Ws(e){return`${Bs}/${e}`}function Gs(e){return`${Bs}/.tmp-${e}`}async function Ks(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function qs(e,t){let n;try{n=await e.readDir(t)}catch{return}for(let r of n){let n=`${t}/${r.name}`;r.type===`directory`&&await qs(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function Js(e,t,n){await Ks(e,n);let r=await e.readDir(t);for(let i of r){let r=`${t}/${i.name}`,a=`${n}/${i.name}`;if(i.type===`directory`)await Js(e,r,a);else{let t=await e.readFile(r,{encoding:`binary`});await e.writeFile(a,t)}}}async function Ys(e,t,n){Us(t);let r=Gs(t),i=Ws(t),a=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!a.has(e))throw new C(`schema-invalid`);await qs(e,i),await Ks(e,r);try{let t=[...n.document.attachments];for(let[e,r]of n.attachments){let n=await Hs(r),i=a.get(e);if(i!==void 0){let e=t.indexOf(i);e!==-1&&(t[e]={...i,sha256:n,byteLength:r.length})}}let o={...n.document,attachments:t},s=JSON.stringify(o,null,2);if(await e.writeFile(`${r}/${Vs}`,s),n.attachments.size>0)for(let[t,i]of n.attachments){let n=`${r}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await Ks(e,`${r}/${t.slice(0,a)}`),await e.writeFile(n,i)}await e.flush(),await Js(e,r,i),await e.flush()}catch(t){throw await qs(e,r),t}await qs(e,r)}async function Xs(e,t){Us(t);let n=Ws(t),r=`${n}/${Vs}`,i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new C(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new C(`schema-invalid`)}if(!ie(a).ok)throw new C(`schema-invalid`);let o=new Map;for(let t of a.attachments){if(!t.present||!t.path)continue;let r=`${n}/${t.path}`,i;try{let t=await e.readFile(r,{encoding:`binary`});i=t instanceof Uint8Array?t:new TextEncoder().encode(t)}catch{throw new C(`transfer-corrupt`)}if(await Hs(i)!==t.sha256)throw new C(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}function Zs(e){return`error`in e}function X(){throw new C(`redaction-unavailable`)}function Qs(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&X(),e.texts}function $s(){return{async redact(e){let t;try{t=await fetch(de(`/api/secrets/redact-export`),{method:`POST`,headers:fe({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{X()}t.ok||X();let n;try{n=await t.json()}catch{X()}return Qs(n,e.length)}}}function ec(){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&&Zs(t)&&X(),Qs(t,e.length)}}}function tc(){return{async redact(e){let t;try{t=await me(`secrets.redact-export`,{texts:e})}catch{X()}return t??X(),typeof t==`object`&&t&&Zs(t)&&X(),Qs(t,e.length)}}}function nc(){return{async redact(e){X()}}}function rc(){let e=pe();return e===`connect`?nc():e===`extension-direct`?ec():e===`extension-delegate`?tc():$s()}function Z(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;default:return`idle`}}function ic(e,t={}){let n=Z(t.status),r=pt(e);return{id:e.jid,parentId:e.parentJid,role:T(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 ac(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i=n?e.config:oc(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 oc(e,t){let n=ht(e.workspace?.mode??e.config?.workspaceMode),r=Br(n,t,{root:e.workspace?.from??`/workspace`},e.workspace?.from),i=e.config;return{...i,workspaceMode:n,visiblePaths:i?.visiblePaths===void 0?r.visiblePaths:i.visiblePaths,writablePaths:i?.writablePaths===void 0?r.writablePaths:i.writablePaths}}var sc=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,cc=`${sc}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,lc=`${sc}border:none;background:#d23;color:#fff;`,uc=`${sc}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function dc(e,t,n){return{...ac({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function fc(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 pc(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 mc(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=()=>un(e.getUnits(),e.getSelected()),u=t=>e.getUnits().find(e=>e.id===t.jid)??ic(t),d=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},f=e=>{d();let t=fc(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=dc(t.name,n.getScoops(),vn(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=pc(i,p);f({heading:`New cone`,body:e,actions:[{text:`Create`,style:cc,data:`create`,onClick:()=>p(e.readDraft())},{text:`Cancel`,style:uc,data:`cancel`,onClick:d}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},h=t=>{d();let i=w(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=w(n.getScoops()).find(e=>e.jid!==a.jid);t&&e.selectScoop(u(t))}o=!1,_()})()},g=e=>{let t=_n(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:lc,data:`drop`,onClick:()=>h(e.id)},{text:`Cancel`,style:uc,data:`cancel`,onClick:d}]})},_=()=>{let t=w(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||w(n.getScoops()).length<=1||o||g(e)}),_(),{refresh:_,dialog:()=>s}}var hc=5e3,gc=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 ic(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)},hc)}}publishRecovery(e){if(!this.unitListeners.has(e))return;let t=this.lastSnapshots.get(e),n=this.deps.getClient()?.getScoops().find(t=>t.jid===e);this.emit(e,{snapshot:{messages:t?.messages??[],...n?{summary:this.toSummary(n)}:{}},type:`snapshot`})}forgetWaiter(e,t){let n=this.pendingSnapshots.get(e);n&&(n.delete(t),n.size===0&&this.pendingSnapshots.delete(e))}emitList(){if(this.drainOrphanedReplays(),this.listListeners.size===0)return;let e=this.currentUnits();for(let t of this.listListeners)t(e)}emit(e,t){let n=this.unitListeners.get(e);if(n)for(let e of n)e(t)}wrapCallbacks(e){return{...e,onStatusChange:(t,n)=>{e.onStatusChange(t,n),this.emit(t,{state:Z(n),type:`status`}),this.emitList()},onScoopCreated:t=>{e.onScoopCreated(t),this.emitList()},onScoopListUpdate:t=>{e.onScoopListUpdate(t),this.emitList()},onScoopPhaseChange:(t,n)=>{e.onScoopPhaseChange?.(t,n),this.emitList()},onIncomingMessage:(t,n)=>{e.onIncomingMessage(t,n),this.emit(t,{message:n,type:`message`})},onScoopMessagesReplaced:(t,n,r)=>{e.onScoopMessagesReplaced?.(t,n,r);let i=n,a=this.snapshotFor(t,i,r);a?this.publishSnapshot(t,a):this.orphanedReplays.set(t,{messages:i,queuedIds:r})}}}list(){return Promise.resolve(this.currentUnits())}subscribeList(e){return this.listListeners.add(e),e(this.currentUnits()),()=>{this.listListeners.delete(e)}}subscribe(e,t){let n=this.unitListeners.get(e)??new Set;n.add(t),this.unitListeners.set(e,n);let r=this.lastSnapshots.get(e);return this.pendingSnapshots.has(e)||(r?t({snapshot:r,type:`snapshot`}):this.deps.getClient()?.requestScoopMessages(e)),()=>{n.delete(t),n.size===0&&this.unitListeners.delete(e)}}snapshot(e){let t=this.deps.getClient();if(!t)return Promise.reject(Error(`kernel client not attached`));let n=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,n);let r=()=>{},i=new Promise(e=>{r=e,n.add(e)});t.setSelectedScoopJid(e),t.requestScoopMessages(e);let a,o=new Promise(t=>{a=setTimeout(()=>{a=void 0;let n=this.pendingSnapshots.get(e)?.has(r)===!0;this.forgetWaiter(e,r),n&&this.recoverUnanswered(e),t(this.snapshotFor(e,[],void 0))},hc)});return Promise.race([i.then(e=>(a!==void 0&&(clearTimeout(a),a=void 0),e)),o]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getClient();return n?(n.sendRaw({attachments:t.attachments,messageId:t.messageId??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,scoopJid:e,text:t.text,type:`user-message`,...t.steer?{steer:!0}:{},...t.guestGate?{guestGate:t.guestGate}:{}}),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}setModel(e,t){let n=this.deps.getClient();return n?n.setScoopModel(e,t):Promise.reject(Error(`kernel client not attached`))}signal(e,t){if(t!==`stop`)return Promise.resolve();let n=this.deps.getClient();return n?(n.stopScoop(e),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}};function Q(e){return e.workUnits??=new gc({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses,turns:e.turns}),e.workUnits}function _c(e){let t=Q(e),n=()=>e.refreshScoops?.(),r=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),i=()=>{if(e.getSelected()||r())return;let n=t.currentUnits(),i=e.pendingUrlContext;if(i?.startsWith(`freezer:`))return;if(i?.startsWith(`scoop:`)||i?.startsWith(`cone:`)){let t=dn(n,i);if(t){e.pendingUrlContext=null,e.selectScoop(t);return}}let a=xn(n);a&&(e.pendingUrlContext=null,e.selectScoop(a))};return t.wrapCallbacks({onStatusChange:(t,r)=>{let i=e.statuses.get(t),a=r;e.statuses.set(t,a),a!==`ready`&&e.awaitingInput===t&&(e.awaitingInput=null),Z(i)===`working`&&Z(a)!==`working`&&e.turns.set(t,(e.turns.get(t)??0)+1),Z(i)!==Z(a)&&(n(),e.notifyScoopStateChanged?.()),e.getSelected()?.id===t&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:t=>{n(),!e.getSelected()&&!r()&&!e.pendingUrlContext&&e.selectScoop(ic(t,{fill:e.fills.get(t.jid),phase:e.phases.get(t.jid),status:e.statuses.get(t.jid)}))},onScoopListUpdate:t=>{let r=new Set(t.map(e=>e.jid));for(let t of e.lickBackpressure.keys())r.has(t)||e.lickBackpressure.delete(t);for(let t of e.turns.keys())r.has(t)||e.turns.delete(t);n(),i()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(t,r)=>{e.phases.set(t,r),n(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.id===t&&n.channel!==`web`&&Vt(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=Sn(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.id===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onReady:()=>{n(),i(),e.notifyReady?.()}})}var vc=`slicc:leader-local-model-state-changed`;function yc(e=window){e.dispatchEvent(new Event(vc))}var bc=`slicc:leader-model-catalog-changed`;function xc(e=window){e.dispatchEvent(new Event(bc))}var Sc={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Cc={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function wc(e){return e?Sc[e]:void 0}function Tc(e){return e===`max`?`max`:void 0}function Ec(e,t){return t===`max`?`max`:(e&&Cc[e])??`off`}var Dc=2e3,Oc=1e4,kc=12e4;function Ac(e){let t=[],n=null,r=new Map,i=e.modelPickerEnabled!==!1,a=e.catalogRetryDelayMs??Dc,o=e.catalogRetryMaxDelayMs??Oc,s=e.catalogRetryWindowMs??kc,c=0,l=null,u=null,d=()=>{if(!i||u!==null)return;let t=Date.now();if(l===null&&(l=t+s),t>=l)return;let n=Math.min(a*2**c,o);u=setTimeout(()=>{u=null;let t=e.getSync();t?.requestModels&&(c+=1,t.requestModels())},n)},f=()=>{u!==null&&clearTimeout(u),u=null,c=0,l=null},p=e=>{if(e.length===0)return;let t=new Set(e.map(e=>e.id));for(let e of r.keys())t.has(e)||r.delete(e)},m=()=>{let t=e.getSelectedScoopJid(),i=e.getUnits();if(p(i),n&&(i.length===0||!t))return n.activeModelId;if(n&&t&&n.scoopJid===t){let e=_t(n.activeModelId);return e&&r.set(t,e),n.activeModelId}let a=vn(i,t,t?r.get(t):void 0);return t&&a&&r.set(t,a),a?bt(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`,Ec(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?_t(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=wc(i),o=e.getSelectedScoopJid()??n?.scoopJid;o&&a&&a!==`max`&&r.setThinkingLevel(o,a,Tc(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 jc(e,t,n,r,i=yc){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function Mc(e,t){return yn(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||ue(t.localStorage)}async function Nc(e,t,n,r,i){let a=mn(t),o=gn(a);e.thread.setAttribute(`context`,bn(t));let s=fn(t),c=Ht({isRoot:s,name:t.name});e.thread.setAttribute(`accent`,c),e.switcher.setAttribute(`active`,t.id),rn(e,s?{kind:`cone`}:{kind:`scoop`,accent:c}),en(e,o);let u=localStorage.getItem(`slicc_locked_effort_level`),d=r?.(t.id);if(d||u){let t=d?mt(d):{};e.composerMeta.setAttribute(`thinking`,Ec(u??t.level,t.effortOverride))}if(!i?.skipModelPill)try{let{resolveCurrentModel:r,resolveModelById:i}=await l(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-BO4_JFRB.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([39,8,40,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,41,42,43,44,45,46,47,48])),a=vn(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 Pc(e){if(Mc(e.pendingUrlContext,e.win))return;let t=yn(e.pendingUrlContext);if(t===null)return;let{SessionStore:n}=await l(async()=>{let{SessionStore:e}=await Promise.resolve().then(()=>Mn);return{SessionStore:e}},void 0),r=new n;await r.init();let i=await r.load(gt({folder:t}));i&&i.messages.length>0&&!e.hasSelection()&&(e.loadMessages(i.messages),e.onHydrated())}function Fc(e){let{boot:t,client:n,openReader:r,log:i}=e,{refs:a}=t;l(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-BlqQbAQy.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([49,13,36,8,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:a.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:a.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),Pc({pendingUrlContext:t.wiring.pendingUrlContext,win:window,hasSelection:()=>!!t.getSelected(),loadMessages:e=>t.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>i.warn(`WC session hydration failed`,e));let o=null;return l(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-DqfdSHpF.js`);return{wireWcAttach:e}},__vite__mapDeps([50,13,21,51])).then(({wireWcAttach:t})=>{o=t({inputCard:a.inputCard,freezer:a.freezer,composer:a.composer,openReader:r,openWriter:e.openWriter,secretEntry:!0,listConversations:async()=>{let{readSessionsIndex:e}=await l(async()=>{let{readSessionsIndex:e}=await Promise.resolve().then(()=>qi);return{readSessionsIndex:e}},void 0);return(await e(await r())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:i})}).catch(e=>i.error(`WC add-menu wiring failed`,e)),l(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:a.thread,inputCard:a.inputCard})).catch(e=>i.error(`WC history nav wiring failed`,e)),a.composerMeta.addEventListener(`thinking-change`,e=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let r=e.detail?.thinking,a=wc(r),o=Tc(r),s=t.getSelected();s&&a&&jc(n,s.id,a,o).catch(e=>i.warn(`local thinking update failed`,e))}),{getAttachStage:()=>o}}var Ic=`slicc:leader-run-new-session`,Lc=`slicc:leader-broadcast-snapshot`;function Rc(e){if(!(!e.cone||e.cone===`cone`))return e.coneLabel||e.cone.replace(/^cone-/,``)}function zc(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 Bc(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,zc(e)),t.setAttribute(`slug`,e.filename),e.icon&&t.setAttribute(`icon`,e.icon),t}async function Vc(e){let t=new Map;for(let n of e.entries){if(n.icon||n.pendingEnrichment)continue;let r=await e.pickIcon(`"${n.title}" — an archived chat session`);r&&t.set(n.filename,r)}if(t.size===0)return;let n=await Hc(e.reader);if(n===null||n.length===0)return;let r=n.map(e=>{let n=!e.icon&&t.has(e.filename)?t.get(e.filename):void 0;return n?{...e,icon:n}:e});await e.writer.writeFile(O,JSON.stringify(r,null,2));for(let n of e.freezer.querySelectorAll(`slicc-freezer-card`)){let e=t.get(n.getAttribute(`slug`)??``);e&&!n.hasAttribute(`icon`)&&n.setAttribute(`icon`,e)}}async function Hc(e){let t=await Uc(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function Uc(e){let t;try{let n=await e.readFile(O,{encoding:`utf-8`});t=typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?{kind:`missing`}:{kind:`fault`}}try{let e=JSON.parse(t);return Array.isArray(e)?{kind:`ok`,entries:e}:{kind:`corrupt`}}catch{return{kind:`corrupt`}}}async function Wc(e){let t;try{t=(await e.readDir(`/sessions`)).filter(e=>e.type===`file`&&e.name.endsWith(`.md`)).map(e=>e.name)}catch{return[]}let n=[];for(let r of t)try{let t=await e.readFile(`/sessions/${r}`,{encoding:`utf-8`}),i=typeof t==`string`?t:new TextDecoder().decode(t);n.push(Gc(r,i))}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function Gc(e,t){let n=t.slice(0,2e3),r=/^title:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??e,i=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??new Date(0).toISOString(),a=Number(/^messageCount:\s*(\d+)\s*$/m.exec(n)?.[1]??0),o=Ct(t),s=e.startsWith(`pending-`)||e.startsWith(`live-`)&&!o.live;return{filename:e,title:r,frozenAt:i,messageCount:a,...o.cost?{cost:o.cost}:{},...o.models?{models:o.models}:{},...o.cone?{cone:o.cone}:{},...o.coneLabel?{coneLabel:o.coneLabel}:{},...o.memorySkipped?{memorySkipped:!0}:{},...o.live?{live:!0}:{},...o.live&&o.liveThrough?{liveThrough:o.liveThrough}:{},...o.live&&o.compactions?{compactions:o.compactions}:{},...o.id?{sessionId:o.id}:{},...s?{pendingEnrichment:!0}:{}}}function Kc(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(Bc))}async function qc(e,t){let n=await e.readFile(Lt(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=await At(e,r,t.filename);return{title:i.title||t.title,messages:i.messages}}async function Jc(e,t){let{getTranscriptExportService:n}=await l(async()=>{let{getTranscriptExportService:e}=await Promise.resolve().then(()=>Ln);return{getTranscriptExportService:e}},void 0);await n().captureFrozen({sessionId:t.sessionId??t.archive.id,title:t.archive.title,frozenAt:t.archive.frozenAt,createdAt:t.archive.createdAt,updatedAt:t.archive.updatedAt,...e?{rootJid:e.jid}:{}})}function Yc(e,t){if(t)return e.getScoops().find(e=>e.jid===t.id)}function Xc(e){return{folder:e.folder,label:_n({assistantLabel:e.assistantLabel,name:e.name,role:T(e)?`primary`:`child`}),jid:e.jid}}async function Zc(e){let{root:t}=e,n=t?Xc(t):void 0,r=e=>Jc(t,e);if(e.action!==`save`){await e.runNewSessionFreezeQuick({vfs:e.writer,cone:n,captureCompleteSnapshot:r});return}await e.runNewSessionFreeze({vfs:e.writer,cone:n,agenticMemorySpawn:t=>e.client.spawnAgent(t),captureCompleteSnapshot:r,onProgress:t=>{let n=e.freezerNew();n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,String(t)))},onBackgroundEnriched:e.refreshFreezer})}async function Qc(e,t){e!==`erase`&&await Zc({...t,action:e})}async function $c(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(Lc)),l(async()=>{let{resetDictationPriming:e}=await import(`./wc-shortcuts-DbF2yAIY.js`).then(e=>e.U);return{resetDictationPriming:e}},__vite__mapDeps([36,8,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function el(e,t){(e.thread.inner??e.thread).prepend(tl(e.thread.ownerDocument,t)),e.thread.setAttribute(`accent`,an),rn(e,{kind:`freezer`}),e.inputCard.setAttribute(`disabled`,``),e.switcher.removeAttribute(`active`)}function tl(e,t){let n=t?Rc(t):void 0,r=e.createElement(`slicc-day-separator`);return r.setAttribute(`label`,n?`Frozen chat · from cone ${n}`:`Frozen chat`),r.setAttribute(`data-frozen-provenance`,n??``),r}function nl(e){let{refs:t,openVfs:n,client:r,getController:i,getSelected:a,clearSelection:o,log:s}=e,c=[],u=null,d=t=>{u=null,e.selectScoop(t)},f=0,p=!1,m=()=>{let e=++f;n().then(async({reader:n,writer:r})=>{let i=await Hc(n);if(i===null){if((await Uc(n)).kind!==`corrupt`||(s.warn(`WC freezer index corrupt — rebuilding from archives`),i=await Wc(n),i.length===0))return;await r.writeFile(O,JSON.stringify(i,null,2))}e===f&&(c=i,Kc(t.freezer,i),!p&&i.some(e=>!e.icon&&!e.pendingEnrichment)&&(p=!0,l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-BY73FPEQ.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([11,8,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34])).then(({pickLucideIcon:e})=>Vc({reader:n,writer:r,freezer:t.freezer,entries:i,pickIcon:t=>e({subject:t})})).catch(e=>s.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{p=!1})))}).catch(e=>s.error(`WC freezer refresh failed`,e))},h=!1,g=()=>t.freezer.querySelector(`slicc-freezer-new`),_=t=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{let o=Yc(r,un(e.getUnits(),a()));try{let{writer:a}=await n(),{resetNewSessionTmp:c,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}=await l(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-DOOiZScV.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([52,12,8,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33]));await Qc(t,{writer:a,root:o,client:r,freezerNew:g,refreshFreezer:m,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}),await $c({writer:a,root:o,client:r,getController:i,log:s,resetNewSessionTmp:c,tmpDir:Lr(r.getScoops(),o),discardLiveSnapshot:t===`erase`}),m();let p=e.getUnits().find(e=>e.id===o?.jid)??xn(e.getUnits());p&&d(p)}catch(e){s.error(`WC new session failed`,e)}finally{h=!1;let e=g();e?.removeAttribute(`busy`),e?.removeAttribute(`progress`)}})())};for(let e of[`save`,`skip`,`erase`])t.freezer.addEventListener(`new-chat-${e}`,()=>_(e));let v=async e=>{let{writer:t}=await n(),{runNewSessionArchiveOnly:r}=await l(async()=>{let{runNewSessionArchiveOnly:e}=await import(`./new-session-DOOiZScV.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([52,12,8,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33]));await r({vfs:t,cone:Xc(e),captureCompleteSnapshot:t=>Jc(e,t)}),m()};Se(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(Ic,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let y=async r=>{let l=c.find(e=>e.filename===r);try{let{reader:a}=await n();l||=(await Hc(a)??[]).find(e=>e.filename===r);let{messages:s}=await qc(a,l??{filename:r,title:r,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${l?.filename??r}`),u=l?.sessionId??l?.filename??null,e.holdQueuedPile(),i()?.loadMessages(s),el(t,l),o()}catch(t){if(s.error(`WC thaw failed`,t),!a()){let t=pn(e.getUnits(),l?.cone);t&&d(t)}}};return t.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&y(t)}),{refreshFreezer:m,openFrozen:y,getViewedFrozenSessionId:()=>u,freezeCone:v}}d(`scoops.tray-leave`),d(`scoops.tray-join`);var rl=null;function il(e){rl=e}function al(){return rl?.()??[]}var ol=null;function sl(e){ol=e}function cl(){return ol??void 0}var ll=`slicc.leaderTrayFollowers`;function ul(){return dl()}function dl(){if(rl)return rl();try{let e=globalThis.localStorage?.getItem(ll);if(e)return JSON.parse(e)}catch{}return[]}function fl(e,t=globalThis.localStorage){try{t?.setItem(ll,JSON.stringify(e))}catch{}}function pl(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 ml(e){let t=Te();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:se(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=lt();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=ce(e.getItem(le))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function hl(e){let{client:t,openReader:r,storage:i}=e;return{getScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await l(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-CDhsXeeJ.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([53,8,1,22,13,21,23,24,3,43,41,42]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await l(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-CDhsXeeJ.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([53,8,1,22,13,21,23,24,3,43,41,42]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await l(async()=>{let{getAllMountEntries:e,loadMountHandle:t}=await import(`./mount-table-store-dY2IfQ5S.js`).then(e=>e.r);return{getAllMountEntries:e,loadMountHandle:t}},__vite__mapDeps([54,8])),n=await e();return Promise.all(n.map(async e=>{if(e.descriptor.kind!==`local`)return e;try{let n=await(await t(e.descriptor.idbHandleKey))?.queryPermission?.({mode:`readwrite`});return{...e,valid:n===`granted`}}catch{return{...e,valid:!1}}}))},getMcpServers:async()=>{try{let e=await(await r()).readFile(`/workspace/.mcp/servers.json`,{encoding:`utf-8`});return JSON.parse(typeof e==`string`?e:new TextDecoder().decode(e)).servers??{}}catch{return{}}},getOAuthProviders:()=>{try{let e=new Set,t=[];for(let r of a()){if(e.has(r.providerId))continue;if(e.add(r.providerId),!n(r.providerId)?.isOAuth){t.push({providerId:r.providerId});continue}let i=c(r.providerId),a=r.loggedOut?!1:i?!i.expired:!1;t.push({providerId:r.providerId,valid:a})}return t}catch{return[]}},getSessionStats:async()=>t.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await r()).readFile(`/proc/table`,{encoding:`utf-8`});return pl(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>ml(i),getConnectedFollowers:al}}var gl=`sync-fs-nonce`;function _l(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:gl,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 vl=class{#e=new Map;#t=new Map;#n=new Map;sync(e,t){let n=new Set;for(let r of e){if(!fn(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 yl(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 bl=`<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 xl(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 Sl(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(bl));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=xl(e.getMessages());await t(n??Et([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=Et([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function $(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Cl(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 wl(e){return`
395
395
  <div class="sprinkle-action-card">
396
396
  <div class="sprinkle-action-card__header">${rt(Cl(e))} <span class="sprinkle-badge sprinkle-badge--informative">pending</span></div>
397
397
  <div class="sprinkle-action-card__body">Waiting for approval on the leader&hellip;</div>
398
398
  </div>
399
- `}function Tl(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var El=class e{#e;#t;#n;#r;#i;#a=null;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y=[];#b=[];#x=null;#S=new Map;#C=null;#w=null;#T=``;#E=!1;#D=!1;#O=`thinking`;#k=0;#A=null;#j=new Set;#M=new Map;#N=new Map;#P=new Set;#F=!1;#I=null;constructor(e){this.#e=e.thread,this.#t=e.agent,this.#n=e.onProcessingChange,this.#r=e.onBusyPhaseChange,this.#i=e.onToolProgressChange,this.#o=e.onMessageRendered,this.#s=e.onMessageDisposed,this.#c=e.onTurnComplete,this.#l=e.resolveTelemetryContext,this.#u=e.onQueuedChange,this.#d=e.onLickBackpressureChange,this.#f=e.onQueuedCancel,this.#p=e.onToolUiAction,this.#m=e.readOnlyToolUi??!1,this.#h=e.agent.onEvent(e=>this.#q(e)),this.#v=e=>this.#me(e),this.#e.addEventListener(`slicc-error-retry`,this.#v)}dispose(){this.#h(),this.#e.removeEventListener(`slicc-error-retry`,this.#v);for(let e of[...this.#M.keys()])this.#pe(e);this.#N.clear(),this.#P.clear(),this.#fe()}setReadOnly(e){if(this.#F!==e&&(this.#F=e,e))for(let e of[...this.#M.keys()])this.#pe(e)}get readOnly(){return this.#F}get processing(){return this.#D}getMessages(){return this.#y.map(e=>({...e}))}setAgent(e){this.#h(),this.#t=e,this.#h=e.onEvent(e=>this.#q(e))}setOnLocalUserMessage(e){this.#g=e}setOnLocalProcessingChange(e){this.#_=e}addUserMessage(e,t,n){this.#_e({id:$(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(Tl)}removeQueuedMessage(e){let t=this.#b.filter(t=>t.id!==e);t.length!==this.#b.length&&(this.#b=t,this.#z())}stashQueued(){let e=this.#I??[];this.#I=null;let t=this.#b;return t.length===0?e:(this.#b=[],this.#z(),[...e,...t])}restoreQueued(e){this.#I=e.length>0?[...e]:null}heldBackendPendingIds(e){if(!this.#I||!e?.length)return new Set;let t=new Set(e);return new Set(this.#I.filter(e=>t.has(e.id)).map(e=>e.id))}#L(e,t){if(!this.#I)return;let n=this.heldBackendPendingIds(t),r=new Set(e.map(e=>e.id)),i=this.#I.filter(e=>!r.has(e.id)||n.has(e.id));if(this.#I=null,i.length===0)return;if(!t){this.#b=i,this.#z();return}let a=new Map(t.map((e,t)=>[e,t])),o=i.filter(e=>a.has(e.id)).sort((e,t)=>(a.get(e.id)??0)-(a.get(t.id)??0)),s=i.filter(e=>!a.has(e.id));if(this.#b=this.#D?o:[...o,...s],this.#z(),this.#D)for(let e of s)this.#_e(e)}#R(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#_e(t);this.#z()}#z(){this.#u?.(this.#b.map(Tl))}#B(){this.#d?.(this.#x)}setLickBackpressure(e,t,n){if(e<=0){if(!this.#x)return;this.#x=null,this.#B();return}this.#x={text:`${e} events waiting for the current turn`},this.#B();try{ge(n,t)}catch{}}addAssistantMessage(e){this.#_e({id:$(),role:`assistant`,content:e,timestamp:Date.now()})}loadMessages(e,t){for(let e of this.#S.keys())this.#s?.(e);for(let e of[...this.#M.keys()])this.#pe(e);this.#N.clear(),this.#P.clear(),this.#fe();let n=this.#b.length>0;if(this.#b.length>0){if(this.#f)for(let e of this.#b)try{this.#f(e.id)}catch(e){console.error(`onQueuedCancel hook threw`,e)}this.#b=[]}n&&this.#z();let r=this.heldBackendPendingIds(t),i=r.size>0?e.filter(e=>!r.has(e.id)):e;this.#y=nn(i);let a=[...this.#y].reverse().find(e=>e.isStreaming);this.#C=a?.id??null,a&&(this.#w=a.id),this.#T=``,this.#E=!1,this.#S.clear();let o=[],s=``;for(let e of this.#y){let t=new Date(e.timestamp).toDateString();t!==s&&(o.push($t(e.timestamp)),s=t);let n=this.#ge(e);this.#S.set(e.id,n),o.push(...n)}let c=this.#e;typeof c.replaceContent==`function`?c.replaceContent(...o):c.replaceChildren(...o),this.#xe();for(let e of this.#y)e.isStreaming||this.#o?.(e,this.#S.get(e.id)??[]);this.#K(),this.#Ce(),this.#V(),this.#L(e,t)}#V(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!Ee()||this.#D)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#me(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#H(r):r,a={id:$(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#D&&!n?.steer?(this.#b.push(a),this.#z()):this.#_e(a),n?.steer?this.#t.sendMessage(i,a.id,a.attachments,{steer:!0}):this.#t.sendMessage(i,a.id,a.attachments),this.#U();try{let e=n?.dictation?f(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#H(e){return g(e,p())}#U(){if(this.#l)try{let e=this.#l();if(!e)return;ye(e.scoopName,e.model)}catch{}}addLickMessage(e,t,n,r,i){let a=this.#y[this.#y.length-1];if(!(i||a?.lickId)&&a&&a.source===`lick`&&a.channel===n){a.lickParts=[...a.lickParts??[a.content],t],a.lickCount=a.lickParts.length,a.content+=`\n\n${t}`,this.#ve(a);return}this.#_e({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#D?!0:void 0})}updateLickState(e,t){let n=this.#y.find(t=>t.lickId===e);n&&(n.lickState=t,this.#ve(n))}setProcessing(e){if(this.#D!==e){this.#D=e,e&&(this.#w=null),e&&(this.#k=0,this.#W(`thinking`)),e&&this.#R(),e||(this.#x&&(this.#x=null,this.#B()),this.#K()),this.#n?.(e);try{this.#_?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#G()}}#W(e){this.#O!==e&&(this.#O=e,this.#r?.(e))}#G(){let e=this.#w;if(this.#w=null,!this.#c)return;let t=e?this.#he(e):null;this.#c(t?{...t}:null)}#K(){let e=this.#y[this.#y.length-1];if(!(e?.role===`assistant`&&!e.isStreaming)){this.#A?.remove();return}this.#A??=Sl({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#A)}#q(e){switch(e.type){case`message_start`:this.#J(e.messageId);break;case`content_delta`:this.#Y(e.messageId,e.text);break;case`content_done`:this.#Z(e.messageId,e.model,e.usage);break;case`tool_use_start`:this.#$(e.messageId,e.toolName,e.toolInput,e.toolCallId);break;case`tool_result`:this.#te(e.messageId,e.toolName,e.result,e.isError,e.toolCallId);break;case`tool_ui`:this.#se(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#ce(e.requestId);break;case`tool_progress`:this.#le(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#ie(e.messageId);break;case`compaction_notice`:this.#ne(e.messageId,e.marker);break;case`error`:this.#ae(e.error)}}#J(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#_e({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#Y(e,t){this.#he(e)&&(this.#T+=t,!this.#E&&(this.#E=!0,requestAnimationFrame(()=>this.#X(e))))}#X(e){if(this.#E=!1,!this.#T)return;let t=this.#he(e);t&&(t.content+=this.#T,this.#T=``,this.#ve(t))}#Z(e,t,n){let r=this.#he(e);r&&(t&&(r.model=t),n&&(r.usage=n),this.#T&&this.#C===e&&(r.content+=this.#T),this.#T=``,this.#E=!1,r.isStreaming=!1,this.#ve(r))}static#Q(e,t){return`${e}:${t}`}#$(t,n,r,i){let a=this.#he(t);if(!a)return;a.toolCalls=a.toolCalls??[];let o=i?e.#Q(t,i):$();this.#P.add(o),a.toolCalls.push({id:o,name:n,input:r}),this.#k+=1,this.#W(`tool`),this.#ve(a)}#ee(t,n,r){let i=t?.toolCalls??[];if(r){let n=t?e.#Q(t.id,r):void 0;return i.find(e=>e.id===n)??i.find(e=>e.id===r)}return[...i].reverse().find(e=>e.name===n&&e.result===void 0)}#te(e,t,n,r,i){let a=this.#he(e),o=this.#ee(a,t,i);!a||!o||(o.result=n,o.isError=r,o.id&&(this.#N.delete(o.id),this.#fe()),this.#k=Math.max(0,this.#k-1),this.#k===0&&this.#W(`thinking`),this.#ve(a))}#ne(e,t){let n=this.#he(e);if(t.state===`discarded`){n&&this.#re(n);return}if(n){n.compaction=t,this.#ve(n);return}this.#_e({id:e,role:`assistant`,content:``,timestamp:Date.now(),compaction:t})}#re(e){this.#be(),this.#s?.(e.id);for(let t of this.#S.get(e.id)??[])t.remove();this.#S.delete(e.id),this.#y=this.#y.filter(t=>t!==e),this.#xe(),this.#de()}#ie(e){let t=this.#he(e);t?.isStreaming&&(t.isStreaming=!1,this.#ve(t)),this.#C=null,this.setProcessing(!1)}#ae(e){this.setProcessing(!1),this.#_e({id:$(),role:`assistant`,content:typeof e==`string`?e:ve(e)??``,timestamp:Date.now(),error:!0}),this.#oe(e)}#oe(e){try{let t=typeof e==`string`?e:_e(e);if(typeof t==`string`&&be(t))return;xe(`error-card`,e)}catch{}}#se(e,t,n){if(this.#F)return;this.#pe(t);let r=document.createElement(`div`);if(r.className=`msg__dip`,r.setAttribute(`data-tool-ui-request`,t),(this.#e.inner??this.#e).append(r),this.#m){let e=z(r,wl(n),()=>{},!1);this.#M.set(t,{instance:e,container:r});return}let i=z(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#M.set(t,{instance:i,container:r}),this.#p?.(t,he,void 0)}#ce(e){this.#pe(e)}#le(e,t,n,r){let i=this.#he(e),a=this.#ee(i,t,r);a?.id&&(n.phase===`end`?this.#N.delete(a.id):this.#N.set(a.id,n),this.#ue(a.id),this.#fe())}#ue(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&Jt(t,this.#N.get(e)??null),this.#de()}#de(){let e=this.#e.querySelectorAll(`slicc-tool-cluster`);for(let t of e){let e=[...t.querySelectorAll(`slicc-action-row[data-tool-id]`)].filter(e=>e.dataset.toolId&&this.#P.has(e.dataset.toolId)).map(e=>{let t=e.dataset.toolId,n=e.getAttribute(`result`);return{done:n!==null&&n!==`…`,fraction:this.#N.get(t)?.fraction}});qt(t,on(e))}}#fe(){let e=null,t=[...this.#N.values()];t.length>0&&t.every(e=>typeof e.fraction==`number`)&&(e=t.reduce((e,t)=>e+t.fraction,0)/t.length),e!==this.#a&&(this.#a=e,this.#i?.(e))}#pe(e){let t=this.#M.get(e);if(t){this.#M.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#me(e){if(this.#D)return;let t=e.detail?.messageId??null,n=this.#y.length;if(t){let e=this.#y.findIndex(e=>e.id===t);e>=0&&(n=e)}let r=n>0?this.#y[n-1]:void 0;if(r&&r.source===`lick`&&!r.queued){this.#t.sendMessage(r.content,$(),r.attachments);return}let i;for(let e=n-1;e>=0;e--){let t=this.#y[e];if(t.role===`user`&&t.source!==`lick`&&t.source!==`delegation`&&!t.queued){i=t;break}}i&&this.#t.sendMessage(i.content,$(),i.attachments)}#he(e){return this.#y.find(t=>t.id===e)}#ge(e){try{return Xt(e,{readOnly:this.#F})}catch(t){console.error(`[wc-chat] message render failed — degrading to plain bubble`,t);let n=document.createElement(e.role===`assistant`?`slicc-agent-message`:`slicc-user-message`);return n.setAttribute(`text`,String(e.content??``)),[n]}}#_e(e){this.#be(),this.#y.push(e);let t=this.#ge(e);this.#S.set(e.id,t),this.#e.append(...t),this.#xe(),e.isStreaming||this.#o?.(e,t),e.role===`user`?this.#Ce():this.#we()}#ve(e){this.#be(),this.#s?.(e.id);let t=this.#S.get(e.id)??[],n=this.#ge(e),r=t[0]??null,i=r?.parentNode;if(i){for(let e of n)i.insertBefore(e,r);for(let e of t)e.remove()}else this.#e.append(...n);this.#S.set(e.id,n);for(let t of e.toolCalls??[])t.id&&this.#N.has(t.id)&&this.#ue(t.id);this.#xe(),this.#de(),e.isStreaming||this.#o?.(e,n),this.#we()}#ye(){return this.#e.inner??this.#e}#be(){Ut(this.#ye(),this.#j)}#xe(){Yt(this.#ye(),{openClusterAnchors:this.#j,toolCallLookup:(e,t)=>this.#Se(e,t)})}#Se(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#Ce(){this.#e.scrollTop=this.#e.scrollHeight}#we(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#Ce()}};function Dl(e,n,i,a,o,s){let c=new Map;l(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadDipStyles:e}},__vite__mapDeps([55,13])).then(({loadDipStyles:e})=>e()).catch(()=>void 0);let u=[];i.subscribeList(e=>{u=e});let d=()=>n.addressableUnitId?n.addressableUnitId():a()?.id??null,f=yl(i,{getSelectedId:d,onError:e=>n.emitAgentError(e),onEvent:e=>n.onAgentEvent(e)});f.onEvent(t=>{(t.type===`tool_use_start`||t.type===`tool_result`)&&(t.type===`tool_result`&&t.isError&&e.switcher.glower(),l(async()=>{let{playCue:e}=await import(`./soundscape-BEaW_yzs.js`);return{playCue:e}},__vite__mapDeps([56,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let p=new El({thread:e.thread,agent:f,resolveTelemetryContext:()=>{let e=a();if(!e)return null;let n=Sn(e);try{let i=vn(u,e.id);return{scoopName:n,model:(i?r(i.id,i.provider):t()).id}}catch{return{scoopName:n,model:``}}},onTurnComplete:e=>{n.speaksReplies&&l(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-IpbV8RAE.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([57,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,58,59,60,61,62])).then(async({consumeVoiceSubmission:t,speakReplyMarkdown:n})=>{if(!t())return;let{endVoiceTurn:r,setTtsActive:i}=await l(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-BEaW_yzs.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([56,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));try{if(e?.content){i(!0);try{await n(e.content)}finally{i(!1)}}}finally{r()}}).catch(()=>void 0)},onProcessingChange:t=>{e.frame.toggleAttribute(`data-processing`,t),e.inputCard.querySelector(`slicc-send-button`)?.toggleAttribute(`busy`,t),t||o?.()},onBusyPhaseChange:t=>{e.inputCard.querySelector(`slicc-send-button`)?.setAttribute(`phase`,t)},onToolProgressChange:t=>{let n=e.inputCard.querySelector(`slicc-send-button`);n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,t.toFixed(3)))},onMessageDisposed:e=>{let t=c.get(e);t&&(Cr(t),c.delete(e))},onMessageRendered:(e,t)=>{let r=t[0];if(!r)return;n.onMessageRendered?.(r);let i=d()??void 0;c.set(e.id,Sr(r,(e,t)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:t}};s?.intercept?.(r)||n.sendSprinkleLick(`inline`,{action:e,data:t},void 0,i)}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,t,r)=>{n.sendToolUiAction(e,t,r)},onQueuedCancel:e=>{let t=a()?.id;t&&n.deleteQueuedMessage(t,e).catch(()=>void 0)},...n.readOnlyToolUi?{readOnlyToolUi:!0}:{}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let t=e.detail?.id;if(!t)return;p.removeQueuedMessage(t);let r=a()?.id;r&&n.deleteQueuedMessage(r,t).catch(()=>void 0)}),{controller:p,agentHandle:f}}function Ol(e,t){let n=new vl,r=()=>{let r=t.currentUnits(),i=e.getSelected()?.id;e.refs.switcher.scoops=hn(r,i,Ht,n.sync(r,i)),e.refreshConeActions?.()};return e.refreshScoops=r,t.subscribeList(()=>r()),r}function kl(e,t,n){let{refs:r}=e;e.setChatTransport(t,n);let{controller:i,agentHandle:a}=Dl(r,n,t,()=>e.getSelected(),n.onTurnIdle,n.welcome);e.setController(i);let o=Ol(e.wiring,t);return r.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.currentUnits().find(e=>e.id===r);i&&i.id!==e.getSelected()?.id&&e.selectScoop(i)}),r.switcher.setAttribute(`gaze-target`,`slicc-input-card`),r.inputCard.addEventListener(`input`,()=>{r.switcher.scrutinize(),r.switcher.wake()}),r.inputCard.addEventListener(`submit`,t=>{let a=tn(t),o=n.takeAttachments?.();if(!a&&!o?.length)return;e.wiring.awaitingInput=null,e.wiring.refreshScoops?.(),e.wiring.notifyScoopStateChanged?.();let s=t.detail?.source===`dictation`;s&&n.speaksReplies&&(l(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-IpbV8RAE.js`);return{markVoiceSubmission:e}},__vite__mapDeps([57,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,58,59,60,61,62])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),l(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-BEaW_yzs.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([56,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),i.sendUserMessage(a??``,o,{dictation:s,steer:Wt(t)}),r.inputCard.clear?.();let c=e.getSelected()?.id;c&&(r.switcher.setAttribute(`attention`,c),e.wiring.lastActivity.set(c,(a??``).slice(0,600)))}),r.inputCard.addEventListener(`stop`,()=>{e.getController()?.processing&&a.stop()}),{agentHandle:a,controller:i,publishStrip:o}}var Al=e({floatKindForRuntimeMode:()=>Nl,floatLabelForKind:()=>Ml,resolveStandaloneFloatKind:()=>Pl}),jl={"slicc-server":`sliccstart`,"slicc-node-server":`npx`};function Ml(e){return _(e)}function Nl(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 Pl(e){let t=e?.fetchFn??fetch,n=e?.timeoutMs??1500;try{let e=new AbortController,r=setTimeout(()=>e.abort(),n),i=await t(de(`/api/status`),{cache:`no-store`,signal:e.signal,headers:fe()}).finally(()=>clearTimeout(r));if(!i.ok)return`standalone`;let a=await i.json();return(a.service?jl[a.service]:void 0)??`standalone`}catch{return`standalone`}}function Fl(e,t){let n=t.label??Ml(t.floatKind);e.setAttribute(`label`,n),e.setAttribute(`float-kind`,t.floatKind);let r=lt(),i=Te(),a=()=>{let t=Il(r,i);e.setAttribute(`connection`,t.connection),t.trayRole===`none`?e.removeAttribute(`tray-role`):e.setAttribute(`tray-role`,t.trayRole)},o=st(e=>{r=e,a()}),s=Ce(e=>{i=e,a()});return a(),()=>{o(),s()}}function Il(e,t){return e.state===`inactive`?t.state===`inactive`?{connection:`offline`,trayRole:`none`}:{connection:Rl(t),trayRole:`follower`}:{connection:Ll(e),trayRole:`leader`}}function Ll(e){switch(e.state){case`connecting`:return`connecting`;case`leader`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}function Rl(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 zl(e,t,n){let r=n.floatLabel??Ml(n.floatKind),i=rd(e,r);Fl(i.refs.floatbar,{floatKind:n.floatKind,label:r});let a=await n.connect(i),o=kl(i,a.client,a.host);return await a.workbench?.(i,o),t.info(`WC shell mounted`,{floatKind:n.floatKind}),{boot:i,chat:o}}var Bl=36e5,Vl=2e3,Hl=class{#e=[];#t;#n;constructor(e=Bl,t=Vl){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 Ul(e){return h(e,sn)}async function Wl(e,t=V.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 Ul(n)}function Gl(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:Za(e),sublabel:n,meta:Ya(e),icon:Ka(e),badges:r,status:Ja(e)}})}}function Kl(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function ql(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function Jl(e){let t=ql(e),n=e.sessionId?`Session ${Wa(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:Kl(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:Kl(e)}]}}function Yl(e,t){let n=e.filter(e=>T(e)),r=t=>e.filter(e=>!T(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:T(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 Xl(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 Zl(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 Ql(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 $l(e){let t=Ne({percent:e.percent,status:e.status});return t===`critical`?`error`:t===`warn`?`warn`:`active`}function eu(e,t){let n=`${je(e.percent)}% used`,r=Me(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:$l(e)}}function tu(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?$l(n):void 0,emptyText:`Model usage will be summarized after the first turn.`,rows:[...n?[eu(n,t)]:[],...r.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))]}}function nu(e){let t=[],n=ru(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=Kl(e.tray);(r===`error`||r===`warn`)&&t.push({id:`tray`,severity:r===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${ql(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)Ja(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${Za(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:Ya(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 ru(e,t){if(!e||Ne({percent:e.percent,status:e.status})===`ok`)return null;let n=Me(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 iu(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function au(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:iu(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:su(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d?[ou(d,t,e.now??Date.now()),...f]:f}function ou(e,t,n){let r=Ne({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`:``,Me(e.resetsAt,n)??``,t?`$${t.totalCost.toFixed(2)} this session`:``].filter(Boolean).join(` · `)}}function su(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?T(r):!1,a=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:Ht({isRoot:i,name:a}),label:`${i?`${a} (cone)`:a} — ${Math.round(t*100)}% full`}})}var cu={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function lu(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 uu(e,t){return{pid:e.pid,ppid:e.ppid,state:cu[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:lu(e.startedAt,t)}}async function du(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:au({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n,now:g}),alerts:nu({tray:r,followers:i,mounts:s,oauthProviders:p,budget:l?.budget,now:g}),sections:[Jl(r),Gl(i),Yl(n,t=>e.isProcessing(t)),Xl(s),Zl(m,p),Ql(a,o),tu(l,g)],processes:{rows:d.map(e=>uu(e,g)),terminated:f}}}var fu=`/shared`,pu=3,mu=200;async function hu(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,mu),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<pu?await hu(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 gu(e,t=V.root){let n=[];for(let r of[t,fu])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await hu(e,r,1)});return n}var _u=200,vu=1e3,yu=3e3,bu=45e3;function xu(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 gu(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,Qt({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:m,log:e.log})))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},d=()=>{if(!i)return;let e=Date.now();if(c==null)l=e;else if(e-l>=vu){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},_u)},f=()=>{t??=setInterval(u,yu)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,fu];e.openFs().then(async e=>{if(!e.watch){t===a&&i&&f();return}let r=await e.watch(n,d);if(t!==a||!i){r();return}s=r}).catch(n=>{e.log.error(`WC file tree watch failed — falling back to polling`,n),t===a&&i&&f()})},h=()=>{n=!1,i=!1,a++,s?.(),s=null,c!=null&&(clearTimeout(c),c=null),t!=null&&(clearInterval(t),t=null)};return{open(){h(),i=!0,n=!0,e.onKernelReady(()=>{n&&(n=!1,u(),p())})},close:h,repoint(){!i||n||(u(),p())}}}function Su(e){let t=!1,n=!1,r=!1,i=0,a=null,o=new Hl,s=xu(e),c=()=>{a!=null&&(clearInterval(a),a=null)},l=()=>{let t=++i;e.openFs().then(async n=>{let r=await Wl(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 du(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 ${bu}ms; re-arming so the next term activation retries`))},bu);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 Cu=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],wu=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Tu=2e4,Eu=12,Du=3e4;function Ou(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 ku(e){return e.slice(e.lastIndexOf(`/`)+1)}function Au(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function ju(e,t){let n=Ou(e);return t.includes(`/`)?Au(n,t):ku(n)===t}function Mu(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))&&ju(a,e)&&(r.add(a),n.push(Ou(a)),n.length>=Nu))break}return n}var Nu=4,Pu=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??Cu,this.#n=t.ignoredDirs??wu,this.#r=t.maxEntries??Tu,this.#i=t.maxDepth??Eu,this.#a=t.ttlMs??Du}resolve(e,t=[]){this.#g();let n=Ou(e),r=this.#d(n),i=Mu(n,t);return i.length===0?r:this.#f(n,r,i)}resolveAll(e,t=[]){return Promise.all(e.map(e=>this.resolve(e,t)))}invalidate(){this.#s=null,this.#c=null,this.#l.clear(),this.#u.clear()}#d(e){let t=this.#l.get(e);if(t)return t;let n=this.#m(e).catch(()=>({query:e,matches:[]}));return this.#l.set(e,n),n}async#f(e,t,n){let{matches:r}=await t,i=new Set(r),a=[];for(let e of n)!e.startsWith(`/`)||i.has(e)||await this.#p(e)&&a.push(e);let o=e=>n.findIndex(t=>Au(e,t)),s=r.filter(e=>o(e)>=0).sort((e,t)=>o(e)-o(t)),c=new Set(s),l=r.filter(e=>!c.has(e));return{query:e,matches:[...a,...s,...l]}}#p(e){let t=this.#u.get(e);if(t)return t;let n=this.#h(e);return this.#u.set(e,n),n}async#m(e){if(e.startsWith(`/`))return{query:e,matches:await this.#h(e)?[e]:[]};let t=(await this.#_()).get(ku(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Au(t,e)).sort(Fu)}:{query:e,matches:[...t].sort(Fu)}}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 Fu(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var Iu=`file-mention`,Lu=`data-file-mentions`;function Ru(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var zu=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),Bu=`file-mention-open`;async function Vu(e,t,n=[]){let r=Ru(e);if(e.getAttribute(Lu)===r)return;let i=Hu(e);if(i.length===0){e.setAttribute(Lu,r);return}let a=[],o=new Set;for(let e of i){let t=cn(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(Lu,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&&Uu(e,n,l)}e.setAttribute(Lu,Ru(e))}function Hu(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(zu.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 Uu(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(Wu(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 Wu(e,t,n,r,i){let a=e.createElement(`a`);return a.className=Iu,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(Bu,{detail:t,bubbles:!0,composed:!0}))}),a}var Gu=`slicc-agent-message`,Ku=`slicc-action-row[${ln}]`;function qu(e,t){let n=[],r=e.querySelectorAll(Ku);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=>Gt(e))}function Ju(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function Yu(e){try{return Xu(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function Xu(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new Pu(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;cn(n.textContent??``).length!==0&&Ju(()=>{let i=qu(t,e);a().then(e=>Vu(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(Gu))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()===Gu?o(e):s(e));let e=t.target?.closest?.(Gu);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=>Kt(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(Bu,l),()=>{c.disconnect(),t.removeEventListener(Bu,l)}}var Zu=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>gd,DOCK_TREE_STORAGE_KEY:()=>hd,attachWcWorkbench:()=>yd,bootLeaderFloat:()=>bd,makeSprinkleAttachImage:()=>vd,prepareWcShell:()=>rd,wireDockTreePersistence:()=>_d,wireWcChipTips:()=>ud,workspaceForSelection:()=>td});function Qu(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?un(i,o)?.id??o.id:r;n.set(s,[...n.get(s)??[],...a])}function $u(e){let{controller:t,destination:n,held:r,previousJid:i,roster:a}=e;if(i&&i!==n&&Qu({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 ed(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 td(e){let{client:t,selectedId:n}=e,r=n===void 0?void 0:t.getScoop(n);return n!==void 0&&!r&&e.clearSelection(),Rr(t.getScoops(),r)}function nd(e){let{refs:t}=e,n=null,r=new Map;return{clear:()=>{n=null},getSelected:()=>n,holdQueue:()=>{let t=n?.id;t&&Qu({controller:e.controller(),held:r,jid:t,roster:e.client().currentUnits()})},selectScoop:i=>{let a=n?.id??null;n=i;let o=gn(mn(i)),s=e.host();$u({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,Sn(i)),e.controller()?.setReadOnly(o),o||t.inputCard.removeAttribute(`disabled`),Nc(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 rd(e,t){let n=Zt(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=_o,o=null,s=()=>o??Q(h),c=new Map,l=!1,u=null,d=new Set,f=ed(()=>s(),(e,t)=>{r?.loadMessages(e,t),a.onSnapshotRendered?.(e)}).watch,p=nd({client:s,controller:()=>r,host:()=>a,lickBackpressure:c,refs:n,watchUnit:f,wiring:()=>h,workbench:()=>u}),m=p.selectScoop,h={refs:n,statuses:new Map,fills:new Map,phases:new Map,turns:new Map,lickBackpressure:c,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>p.getSelected(),selectScoop:m,notifyReady:()=>{l=!0;for(let e of d)e()}};return{refs:n,wiring:h,setClient:e=>{i=e},setChatTransport:(e,t)=>{o=e,a=t},getChatHost:()=>a,selectScoop:m,getSelected:()=>p.getSelected(),clearSelection:()=>p.clear(),holdQueuedPile:()=>p.holdQueue(),watchUnit:f,getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{u=e;let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(l?e.activate(n):d.add(()=>e.activate(n)))},onClientReady:e=>{d.add(e),l&&e()}}}function id(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([l(()=>import(`./remote-vfs-client-DdFPlnwq.js`),__vite__mapDeps([63,38])),l(()=>import(`./writable-vfs-client-Czpbtd8Y.js`),__vite__mapDeps([64,38]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function ad(e,t,n,r,i){e.onClientReady(()=>{r.intercept||l(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-sRwOtQ-M.js`);return{wireWcOnboarding:e}},__vite__mapDeps([65,13,1,42,41,22,8,21,23,24,3,43,66])).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 od(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:Me(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 sd(e,t,n){let r=t.standalone;r&&l(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-DO1Pnegi.js`);return{wireWcBrowser:e}},__vite__mapDeps([67,68,41,69,1,70])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function cd(e){return{assistantLabel:e.assistantLabel,name:e.name,role:T(e)?`primary`:`child`}}function ld(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.id;if(e.boot.wiring.awaitingInput=t??null,e.boot.wiring.refreshScoops?.(),e.boot.wiring.notifyScoopStateChanged?.(),e.refreshStats(),!t)return;e.boot.refs.switcher.setAttribute(`attention`,t);let n=e.boot.getController()?.getMessages().filter(e=>e.role===`assistant`).at(-1);n&&e.boot.wiring.lastActivity.set(t,String(n.content??``).slice(0,600))}}function ud(e){let t=new Map,n=new Set;e.switcher.addEventListener(`pointerover`,r=>{let i=r.target?.closest?.(`.slicc-agent-tabs__segment`);if(!i||!e.switcher.contains(i))return;let a=i.dataset.k??``,o=e.getScoops().find(e=>e.jid===a);if(!o)return;let s=e.lastActivity.get(a)??``,c=t.get(a);if(c&&c.activity===s){i.title=c.tip;return}i.title||=_n(cd(o)),!(!s||n.has(a))&&(n.add(a),(async()=>{try{let n=await(e.labelFn??(await l(async()=>{let{quickLabel:e}=await import(`./quick-llm-IiyM8x1t.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([11,8,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34]))).quickLabel)({system:`One line for a hover tooltip: at most 14 words, present tense, no quotes, no trailing period.`,prompt:`Summarize what this agent has been doing.\nAgent: ${T(o)?`${_n(cd(o))} (a main agent)`:o.name}\nMost recent activity:\n${s}`,maxTokens:40});n&&(t.set(a,{activity:s,tip:n}),i.title=n)}finally{n.delete(a)}})())})}async function dd(e,t,n){let{RemoteTerminalView:r}=await l(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-D0AXaUk6.js`);return{RemoteTerminalView:e}},__vite__mapDeps([71,8,13,29,1,51,0,2,3,10,72,20,9,7,73])),{fetchSecretEnvVars:i}=await l(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-CDLWFhsq.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([74,1,22,8,13,21,23,24,3,25,26,27,28])),a=await i(),o=new r({client:t,cwd:`/`,env:Object.keys(a).length>0?a:void 0});await new Promise(t=>e.onClientReady(t)),await o.mount(n),globalThis.__slicc_terminal_view=o,window.addEventListener(`beforeunload`,()=>o.dispose(),{once:!0})}function fd(e,t,n){let r=t=>{if(t.startsWith(`freezer:`)){n(t.slice(8));return}let r=dn(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 pd(e,t,n,r){l(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-Ch85s0Vv.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([75,13,1,51])).then(async({installLeaderPermissionsSurface:r,installMountPendingConsumer:i})=>{let a=n.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:o,isExtensionRuntime:s}=await l(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-CVe-8jSH.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([76,13,3]));r({runtimeMode:a,providers:await o(s()||a===`extension`||a===`extension-detached`)}),i({runShell:md(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e)),(n.standalone?.runtimeMode??`standalone`)!==`cherry`&&l(async()=>{let{installSecretRequestSurface:e}=await import(`./wc-secret-request-ERAUYiL3.js`);return{installSecretRequestSurface:e}},__vite__mapDeps([77,12,8,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,36,34,78])).then(({installSecretRequestSurface:e})=>e()).catch(e=>r.warn(`WC secret request surface wiring failed`,e))}function md(e,t){let n=null,r=()=>(n||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:n}=await l(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-ADzaWGFd.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([73,8])),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 hd=`slicc-dock-tree:default`,gd={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 _d(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(hd,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(hd);r.setTree(e?JSON.parse(e):gd)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(gd)}}function vd(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 yd(e,t,n,r,i,a={}){l(async()=>{let{initTimestampPreference:e}=await import(`./wc-shortcuts-DQJ0fGGR.js`).then(e=>e.R);return{initTimestampPreference:e}},__vite__mapDeps([36,8,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:o}=e;e.setClient(t),l(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-DFKCBK8N.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([79,8,80,1])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),l(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-B5SkYf3E.js`).then(e=>e.m);return{applyThemeOverrides:e}},__vite__mapDeps([80,8,1])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let s=Se(`panel-layouts`);o.dockTree.tilesMovable=s,s||_d(o,i);let c=null,u=od(e.wiring,t),d=()=>c?.(),f=r.welcome??{intercept:null},p=Q(e.wiring),{agentHandle:m}=n;e.onClientReady(u);let h=id(t),g=async()=>(await h()).reader;a.standalone?.runtimeMode!==`cherry`&&a.standalone?.runtimeMode!==`hosted-leader`&&ad(e,t,h,f,i);let _=Fc({boot:e,client:t,setRefreshPlaceholder:e=>{c=e},triggerPlaceholder:d,openReader:g,openWriter:async()=>(await h()).writer,log:i});r.setAttachmentSource(()=>_.getAttachStage()?.take()),r.setTurnIdleHook(ld({boot:e,triggerPlaceholder:d,refreshStats:u})),ud({switcher:o.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity}),sd(e,a,i),pd(e,t,a,i);let v=Su({fileTree:o.fileTree,termSurface:o.termSurface,memoryHost:o.memoryHost,monitor:o.monitor,openFs:g,openWriter:async()=>(await h()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>hl({client:t,openReader:g,storage:window.localStorage}),getWorkspace:()=>td({client:t,clearSelection:e.clearSelection,selectedId:e.getSelected()?.id}),mountTerminal:n=>dd(e,t,n),insertReference:e=>{let t=o.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:i});e.setActivateSurface(v),s&&l(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-Bq0MeDBq.js`);return{panelizeShell:e}},__vite__mapDeps([81,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,82,83])).then(({panelizeShell:e})=>e(o,void 0,void 0,{onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e)})).catch(e=>i.error(`panelize failed — keeping the classic shell`,e)),Yu({thread:o.thread,openFs:g,log:i}),o.floatbar.addEventListener(`click`,()=>{let e=o.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let y=nl({refs:o,openVfs:h,client:t,getUnits:()=>p.currentUnits(),getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,holdQueuedPile:e.holdQueuedPile,log:i}),{refreshFreezer:b,openFrozen:x,getViewedFrozenSessionId:ee}=y;if(b(),e.onClientReady(b),Se(`multiple-cones`)){let n=mc({freezer:o.freezer,client:t,getSelected:()=>e.getSelected(),getUnits:()=>p.currentUnits(),selectScoop:e.selectScoop,freezeCone:y.freezeCone,log:i});e.wiring.refreshConeActions=n.refresh,e.onClientReady(n.refresh)}fd(e,t,x),e.onClientReady(()=>{h().then(async({reader:e,writer:t})=>{let{loadShortcutConfig:n}=await l(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-C4wKDIGy.js`);return{loadShortcutConfig:e}},__vite__mapDeps([84,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await n({reader:e,writer:t,apply:({keymap:e,trigger:t})=>{o.shortcuts.setKeymap(e),o.shortcuts.setTrigger(t)}})}).catch(e=>i.warn(`WC shortcut config load failed`,e))}),h().then(async({reader:e})=>{let{installPreviewVfsResponder:t}=await l(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-CluNpFQR.js`);return{installPreviewVfsResponder:e}},[]);t({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:i})}).catch(e=>i.warn(`WC page-VFS support wiring failed`,e)),h().then(async({reader:n,writer:r})=>{let{createRemoteSprinkleVfs:s}=await l(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-BY9A-xsx.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([85,86,87,38])),c=(await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-Bq0MeDBq.js`);return{getPanelizedShell:e}},__vite__mapDeps([81,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,82,83]))).getPanelizedShell(),{wireWcSprinkles:u}=await l(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-D3RWrsVN.js`);return{wireWcSprinkles:e}},__vite__mapDeps([88,13,36,8,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,89,66])),d=await u({refs:o,client:t,getUnits:()=>p.currentUnits(),fs:s({reader:n,writer:r}),instanceId:a.instanceId,onAttachImage:vd(_,i),onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e),hostSprinkleSurface:c?(e,t)=>c.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:c?e=>c.removeSprinkleSurface(e):void 0,log:i});e.onClientReady(()=>void d.resync());let{getPanelizedShell:f}=await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-Bq0MeDBq.js`);return{getPanelizedShell:e}},__vite__mapDeps([81,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,82,83])),y=f();if(y){let e=s({reader:n,writer:r});y.attachFs(e);let{registerAgentPanels:t}=await l(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-BPo0obl6.js`);return{registerAgentPanels:e}},__vite__mapDeps([90,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await t(e).catch(e=>i.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await l(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:t}=await l(async()=>{let{applyLayout:e}=await import(`./apply-layout-Bu_GuoAp.js`);return{applyLayout:e}},__vite__mapDeps([91,88,13,36,8,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,89,66]));e(e=>t(d.zone,e))}if(a.standalone&&a.instanceId){let{wireWcTray:n}=await l(async()=>{let{wireWcTray:e}=await import(`./wc-tray-C0cWDh4f.js`);return{wireWcTray:e}},__vite__mapDeps([92,12,8,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,36,34,68,41,93,94,95,10,9,96,7,61,62,79,80,46,97,66,98,99,42,43,39,40,44,45,47,48,51,87,73,53,70,100,101,102,103,89])),r=d.zone.callbacks(),s=await n({refs:o,client:t,browser:a.standalone.browser,realCdpTransport:a.standalone.realCdpTransport,instanceId:a.instanceId,runtimeMode:a.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>r.addSprinkle(e,t,n),removeSprinkle:e=>r.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.id??`cone`,agentHandle:m,workUnits:p,restoreLocalChrome:()=>{e.wiring.refreshScoops?.();let n=e.getSelected();n&&Nc(o,n,p.currentUnits(),e=>t.getScoop(e))},openFs:g,openWriter:async()=>(await h()).writer,window,log:i});e.wiring.notifyScoopStateChanged=()=>s.scheduleScoopsListBroadcast()}}).catch(e=>i.error(`WC sprinkle/tray wiring failed`,e));{let n=new jn,r=new In,i=Rn(new zs({collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>n.loadAll(),loadUiChatSessions:async()=>{let e=await r.list();return(await Promise.all(e.map(e=>r.load(e)))).filter(e=>e!==null)},wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:rc(),snapshotStore:{read:async e=>{let{reader:t}=await h();return Xs(t,e)},write:async(e,t)=>{let{writer:n}=await h();return Ys(n,e,t)}},vfs:{readFile:async(e,t)=>(await h()).reader.readFile(e,t),readDir:async e=>(await h()).reader.readDir(e),stat:async e=>(await h()).reader.stat(e)},getActiveSessionInfo:()=>{let t=xn(Q(e.wiring).currentUnits());return{id:t?.id??`session-${Date.now()}`,title:t?.name??`Active Session`}},version:`6.148.0`}));window.addEventListener(`unload`,i,{once:!0})}let S=!1,te=()=>S?Promise.resolve():(S=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([l(()=>Promise.resolve().then(()=>Ln),void 0),l(()=>import(`./wc-transcript-export-CK2kIZM4.js`),__vite__mapDeps([104,13,93,98,99,8]))]),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),l(async()=>{let{showTranscriptExportFailure:e}=await import(`./wc-transcript-export-CK2kIZM4.js`);return{showTranscriptExportFailure:e}},__vite__mapDeps([104,13,93,98,99,8])).then(({showTranscriptExportFailure:t})=>t(e)).catch(e=>i.error(`Transcript export notice failed`,e))}finally{S=!1}})());if(l(async()=>{let{wireWcNav:e}=await import(`./wc-nav-DeI2cbnA.js`);return{wireWcNav:e}},__vite__mapDeps([105,13,3,42,41,22,8,21,23,24,43,45,46,47,48,53,1,66,89])).then(({wireWcNav:e})=>e({refs:o,client:t,workUnits:p,getUnits:()=>p.currentUnits(),log:i,onExportTranscript:te,shortcuts:o.shortcuts,persistKeyboardTrigger:async e=>{let{writer:t,reader:n}=await h(),{writeShortcutTrigger:r}=await l(async()=>{let{writeShortcutTrigger:e}=await import(`./wc-shortcut-config-C4wKDIGy.js`);return{writeShortcutTrigger:e}},__vite__mapDeps([84,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await r({reader:n,writer:t},e)}})).catch(e=>i.error(`WC nav wiring failed`,e)),l(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-C8_igkXn.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([106,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,51,59,60,61,62,107])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=o.composer;t(a.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>i.error(`WC push-to-talk wiring failed`,e)),l(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-Cwe6fV4Y.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([58,13,1,3,59,60,36,8,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34,61,62])).then(({setSpeakAssetsInstanceId:e})=>e(a.instanceId)).catch(e=>i.error(`WC say warmup wiring failed`,e)),a.standalone)return()=>{l(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-xUM_fWqK.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([52,12,8,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await h()).writer,onComplete:b})).catch(e=>i.warn(`Pending session catch-up scheduling failed`,e))}}async function bd(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:o,bridgeToken:s,localLickWsUrl:c,extensionDelegateId:u,attachLickForwardingClient:d}=await Oe({runtimeMode:n,envBaseUrl:null,window,log:t}),{floatKindForRuntimeMode:f,floatLabelForKind:p,resolveStandaloneFloatKind:m}=await l(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await Promise.resolve().then(()=>Al);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},void 0),h=n===`standalone`?await m():f(n),g=p(h);a&&ke(a);let{syncFsBridgeEnabled:_,syncFsChannelNonce:v}=_l(),y=!1,b,x,{boot:ee}=await zl(e,t,{floatKind:h,floatLabel:g,connect:e=>{b=jo({realCdpTransport:i,reconnectCdp:()=>r.reconnectIfNeeded(),instanceId:a,makeClient:t=>new mo(_c(e.wiring),t),localApiBaseUrl:o,bridgeToken:s,syncFsBridgeEnabled:_,syncFsChannelNonce:v,localLickWsUrl:c,extensionDelegateId:u,flagFloat:n,onWorkerScriptError:()=>{De()},onReadyStall:e=>{y=!0,l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(t=>t.showBootStallOverlay(document,e)),[])},onLateReady:()=>{De()}}),bo({send:e=>b.client.sendRaw(e)}),d?.(b.client);let f=go(b.client);return{client:Q(e.wiring),host:f,workbench:(e,o)=>{x=yd(e,b.client,o,f,t,{instanceId:a,standalone:{browser:r,floatKind:h,realCdpTransport:i,runtimeMode:n}})}}}}),{setupSudoStandalone:S}=await l(async()=>{let{setupSudoStandalone:e}=await import(`./main-8KCjPtIS.js`).then(e=>e.i);return{setupSudoStandalone:e}},__vite__mapDeps([39,8,40,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,41,42,43,44,45,46,47,48]));await S({log:t});try{await b.ready}finally{y&&l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(e=>e.removeBootStallOverlay(document)),[])}ee.wiring.notifyReady?.(),t.info(`WC live shell ready`,{scoops:b.client.getScoops().length}),x?.();let{consumeAutoPrompt:te}=await l(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),ne=te(window.location.search);ne&&(ee.getController()?.sendUserMessage(ne),t.info(`Auto-prompt submitted`,{length:ne.length}))}export{Za as A,In as B,mo as C,Ka as D,Qa as E,Ha as F,Ca as I,nr as L,$i as M,Ta as N,Ya as O,Qi as P,Bn as R,go as S,Xa as T,yc as _,vl as a,Q as b,cl as c,fl as d,Lc as f,bc as g,vc as h,yl as i,$a as j,Ja as k,il as l,Ac as m,Zu as n,al as o,Ic as p,zl as r,ul as s,yd as t,sl as u,xc as v,Ua as w,yo as x,_c as y,Ln as z};
399
+ `}function Tl(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var El=class e{#e;#t;#n;#r;#i;#a=null;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y=[];#b=[];#x=null;#S=new Map;#C=null;#w=null;#T=``;#E=!1;#D=!1;#O=`thinking`;#k=0;#A=null;#j=new Set;#M=new Map;#N=new Map;#P=new Set;#F=!1;#I=null;constructor(e){this.#e=e.thread,this.#t=e.agent,this.#n=e.onProcessingChange,this.#r=e.onBusyPhaseChange,this.#i=e.onToolProgressChange,this.#o=e.onMessageRendered,this.#s=e.onMessageDisposed,this.#c=e.onTurnComplete,this.#l=e.resolveTelemetryContext,this.#u=e.onQueuedChange,this.#d=e.onLickBackpressureChange,this.#f=e.onQueuedCancel,this.#p=e.onToolUiAction,this.#m=e.readOnlyToolUi??!1,this.#h=e.agent.onEvent(e=>this.#q(e)),this.#v=e=>this.#me(e),this.#e.addEventListener(`slicc-error-retry`,this.#v)}dispose(){this.#h(),this.#e.removeEventListener(`slicc-error-retry`,this.#v);for(let e of[...this.#M.keys()])this.#pe(e);this.#N.clear(),this.#P.clear(),this.#fe()}setReadOnly(e){if(this.#F!==e&&(this.#F=e,e))for(let e of[...this.#M.keys()])this.#pe(e)}get readOnly(){return this.#F}get processing(){return this.#D}getMessages(){return this.#y.map(e=>({...e}))}setAgent(e){this.#h(),this.#t=e,this.#h=e.onEvent(e=>this.#q(e))}setOnLocalUserMessage(e){this.#g=e}setOnLocalProcessingChange(e){this.#_=e}addUserMessage(e,t,n){this.#_e({id:$(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(Tl)}removeQueuedMessage(e){let t=this.#b.filter(t=>t.id!==e);t.length!==this.#b.length&&(this.#b=t,this.#z())}stashQueued(){let e=this.#I??[];this.#I=null;let t=this.#b;return t.length===0?e:(this.#b=[],this.#z(),[...e,...t])}restoreQueued(e){this.#I=e.length>0?[...e]:null}heldBackendPendingIds(e){if(!this.#I||!e?.length)return new Set;let t=new Set(e);return new Set(this.#I.filter(e=>t.has(e.id)).map(e=>e.id))}#L(e,t){if(!this.#I)return;let n=this.heldBackendPendingIds(t),r=new Set(e.map(e=>e.id)),i=this.#I.filter(e=>!r.has(e.id)||n.has(e.id));if(this.#I=null,i.length===0)return;if(!t){this.#b=i,this.#z();return}let a=new Map(t.map((e,t)=>[e,t])),o=i.filter(e=>a.has(e.id)).sort((e,t)=>(a.get(e.id)??0)-(a.get(t.id)??0)),s=i.filter(e=>!a.has(e.id));if(this.#b=this.#D?o:[...o,...s],this.#z(),this.#D)for(let e of s)this.#_e(e)}#R(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#_e(t);this.#z()}#z(){this.#u?.(this.#b.map(Tl))}#B(){this.#d?.(this.#x)}setLickBackpressure(e,t,n){if(e<=0){if(!this.#x)return;this.#x=null,this.#B();return}this.#x={text:`${e} events waiting for the current turn`},this.#B();try{ge(n,t)}catch{}}addAssistantMessage(e){this.#_e({id:$(),role:`assistant`,content:e,timestamp:Date.now()})}loadMessages(e,t){for(let e of this.#S.keys())this.#s?.(e);for(let e of[...this.#M.keys()])this.#pe(e);this.#N.clear(),this.#P.clear(),this.#fe();let n=this.#b.length>0;if(this.#b.length>0){if(this.#f)for(let e of this.#b)try{this.#f(e.id)}catch(e){console.error(`onQueuedCancel hook threw`,e)}this.#b=[]}n&&this.#z();let r=this.heldBackendPendingIds(t),i=r.size>0?e.filter(e=>!r.has(e.id)):e;this.#y=nn(i);let a=[...this.#y].reverse().find(e=>e.isStreaming);this.#C=a?.id??null,a&&(this.#w=a.id),this.#T=``,this.#E=!1,this.#S.clear();let o=[],s=``;for(let e of this.#y){let t=new Date(e.timestamp).toDateString();t!==s&&(o.push($t(e.timestamp)),s=t);let n=this.#ge(e);this.#S.set(e.id,n),o.push(...n)}let c=this.#e;typeof c.replaceContent==`function`?c.replaceContent(...o):c.replaceChildren(...o),this.#xe();for(let e of this.#y)e.isStreaming||this.#o?.(e,this.#S.get(e.id)??[]);this.#K(),this.#Ce(),this.#V(),this.#L(e,t)}#V(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!Ee()||this.#D)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#me(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#H(r):r,a={id:$(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#D&&!n?.steer?(this.#b.push(a),this.#z()):this.#_e(a),n?.steer?this.#t.sendMessage(i,a.id,a.attachments,{steer:!0}):this.#t.sendMessage(i,a.id,a.attachments),this.#U();try{let e=n?.dictation?f(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#H(e){return g(e,p())}#U(){if(this.#l)try{let e=this.#l();if(!e)return;ye(e.scoopName,e.model)}catch{}}addLickMessage(e,t,n,r,i){let a=this.#y[this.#y.length-1];if(!(i||a?.lickId)&&a&&a.source===`lick`&&a.channel===n){a.lickParts=[...a.lickParts??[a.content],t],a.lickCount=a.lickParts.length,a.content+=`\n\n${t}`,this.#ve(a);return}this.#_e({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#D?!0:void 0})}updateLickState(e,t){let n=this.#y.find(t=>t.lickId===e);n&&(n.lickState=t,this.#ve(n))}setProcessing(e){if(this.#D!==e){this.#D=e,e&&(this.#w=null),e&&(this.#k=0,this.#W(`thinking`)),e&&this.#R(),e||(this.#x&&(this.#x=null,this.#B()),this.#K()),this.#n?.(e);try{this.#_?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#G()}}#W(e){this.#O!==e&&(this.#O=e,this.#r?.(e))}#G(){let e=this.#w;if(this.#w=null,!this.#c)return;let t=e?this.#he(e):null;this.#c(t?{...t}:null)}#K(){let e=this.#y[this.#y.length-1];if(!(e?.role===`assistant`&&!e.isStreaming)){this.#A?.remove();return}this.#A??=Sl({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#A)}#q(e){switch(e.type){case`message_start`:this.#J(e.messageId);break;case`content_delta`:this.#Y(e.messageId,e.text);break;case`content_done`:this.#Z(e.messageId,e.model,e.usage);break;case`tool_use_start`:this.#$(e.messageId,e.toolName,e.toolInput,e.toolCallId);break;case`tool_result`:this.#te(e.messageId,e.toolName,e.result,e.isError,e.toolCallId);break;case`tool_ui`:this.#se(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#ce(e.requestId);break;case`tool_progress`:this.#le(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#ie(e.messageId);break;case`compaction_notice`:this.#ne(e.messageId,e.marker);break;case`error`:this.#ae(e.error)}}#J(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#_e({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#Y(e,t){this.#he(e)&&(this.#T+=t,!this.#E&&(this.#E=!0,requestAnimationFrame(()=>this.#X(e))))}#X(e){if(this.#E=!1,!this.#T)return;let t=this.#he(e);t&&(t.content+=this.#T,this.#T=``,this.#ve(t))}#Z(e,t,n){let r=this.#he(e);r&&(t&&(r.model=t),n&&(r.usage=n),this.#T&&this.#C===e&&(r.content+=this.#T),this.#T=``,this.#E=!1,r.isStreaming=!1,this.#ve(r))}static#Q(e,t){return`${e}:${t}`}#$(t,n,r,i){let a=this.#he(t);if(!a)return;a.toolCalls=a.toolCalls??[];let o=i?e.#Q(t,i):$();this.#P.add(o),a.toolCalls.push({id:o,name:n,input:r}),this.#k+=1,this.#W(`tool`),this.#ve(a)}#ee(t,n,r){let i=t?.toolCalls??[];if(r){let n=t?e.#Q(t.id,r):void 0;return i.find(e=>e.id===n)??i.find(e=>e.id===r)}return[...i].reverse().find(e=>e.name===n&&e.result===void 0)}#te(e,t,n,r,i){let a=this.#he(e),o=this.#ee(a,t,i);!a||!o||(o.result=n,o.isError=r,o.id&&(this.#N.delete(o.id),this.#fe()),this.#k=Math.max(0,this.#k-1),this.#k===0&&this.#W(`thinking`),this.#ve(a))}#ne(e,t){let n=this.#he(e);if(t.state===`discarded`){n&&this.#re(n);return}if(n){n.compaction=t,this.#ve(n);return}this.#_e({id:e,role:`assistant`,content:``,timestamp:Date.now(),compaction:t})}#re(e){this.#be(),this.#s?.(e.id);for(let t of this.#S.get(e.id)??[])t.remove();this.#S.delete(e.id),this.#y=this.#y.filter(t=>t!==e),this.#xe(),this.#de()}#ie(e){let t=this.#he(e);t?.isStreaming&&(t.isStreaming=!1,this.#ve(t)),this.#C=null,this.setProcessing(!1)}#ae(e){this.setProcessing(!1),this.#_e({id:$(),role:`assistant`,content:typeof e==`string`?e:ve(e)??``,timestamp:Date.now(),error:!0}),this.#oe(e)}#oe(e){try{let t=typeof e==`string`?e:_e(e);if(typeof t==`string`&&be(t))return;xe(`error-card`,e)}catch{}}#se(e,t,n){if(this.#F)return;this.#pe(t);let r=document.createElement(`div`);if(r.className=`msg__dip`,r.setAttribute(`data-tool-ui-request`,t),(this.#e.inner??this.#e).append(r),this.#m){let e=z(r,wl(n),()=>{},!1);this.#M.set(t,{instance:e,container:r});return}let i=z(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#M.set(t,{instance:i,container:r}),this.#p?.(t,he,void 0)}#ce(e){this.#pe(e)}#le(e,t,n,r){let i=this.#he(e),a=this.#ee(i,t,r);a?.id&&(n.phase===`end`?this.#N.delete(a.id):this.#N.set(a.id,n),this.#ue(a.id),this.#fe())}#ue(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&Jt(t,this.#N.get(e)??null),this.#de()}#de(){let e=this.#e.querySelectorAll(`slicc-tool-cluster`);for(let t of e){let e=[...t.querySelectorAll(`slicc-action-row[data-tool-id]`)].filter(e=>e.dataset.toolId&&this.#P.has(e.dataset.toolId)).map(e=>{let t=e.dataset.toolId,n=e.getAttribute(`result`);return{done:n!==null&&n!==`…`,fraction:this.#N.get(t)?.fraction}});qt(t,on(e))}}#fe(){let e=null,t=[...this.#N.values()];t.length>0&&t.every(e=>typeof e.fraction==`number`)&&(e=t.reduce((e,t)=>e+t.fraction,0)/t.length),e!==this.#a&&(this.#a=e,this.#i?.(e))}#pe(e){let t=this.#M.get(e);if(t){this.#M.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#me(e){if(this.#D)return;let t=e.detail?.messageId??null,n=this.#y.length;if(t){let e=this.#y.findIndex(e=>e.id===t);e>=0&&(n=e)}let r=n>0?this.#y[n-1]:void 0;if(r&&r.source===`lick`&&!r.queued){this.#t.sendMessage(r.content,$(),r.attachments);return}let i;for(let e=n-1;e>=0;e--){let t=this.#y[e];if(t.role===`user`&&t.source!==`lick`&&t.source!==`delegation`&&!t.queued){i=t;break}}i&&this.#t.sendMessage(i.content,$(),i.attachments)}#he(e){return this.#y.find(t=>t.id===e)}#ge(e){try{return Xt(e,{readOnly:this.#F})}catch(t){console.error(`[wc-chat] message render failed — degrading to plain bubble`,t);let n=document.createElement(e.role===`assistant`?`slicc-agent-message`:`slicc-user-message`);return n.setAttribute(`text`,String(e.content??``)),[n]}}#_e(e){this.#be(),this.#y.push(e);let t=this.#ge(e);this.#S.set(e.id,t),this.#e.append(...t),this.#xe(),e.isStreaming||this.#o?.(e,t),e.role===`user`?this.#Ce():this.#we()}#ve(e){this.#be(),this.#s?.(e.id);let t=this.#S.get(e.id)??[],n=this.#ge(e),r=t[0]??null,i=r?.parentNode;if(i){for(let e of n)i.insertBefore(e,r);for(let e of t)e.remove()}else this.#e.append(...n);this.#S.set(e.id,n);for(let t of e.toolCalls??[])t.id&&this.#N.has(t.id)&&this.#ue(t.id);this.#xe(),this.#de(),e.isStreaming||this.#o?.(e,n),this.#we()}#ye(){return this.#e.inner??this.#e}#be(){Ut(this.#ye(),this.#j)}#xe(){Yt(this.#ye(),{openClusterAnchors:this.#j,toolCallLookup:(e,t)=>this.#Se(e,t)})}#Se(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#Ce(){this.#e.scrollTop=this.#e.scrollHeight}#we(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#Ce()}};function Dl(e,n,i,a,o,s){let c=new Map;l(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadDipStyles:e}},__vite__mapDeps([55,13])).then(({loadDipStyles:e})=>e()).catch(()=>void 0);let u=[];i.subscribeList(e=>{u=e});let d=()=>n.addressableUnitId?n.addressableUnitId():a()?.id??null,f=yl(i,{getSelectedId:d,onError:e=>n.emitAgentError(e),onEvent:e=>n.onAgentEvent(e)});f.onEvent(t=>{(t.type===`tool_use_start`||t.type===`tool_result`)&&(t.type===`tool_result`&&t.isError&&e.switcher.glower(),l(async()=>{let{playCue:e}=await import(`./soundscape-BVxub-gT.js`);return{playCue:e}},__vite__mapDeps([56,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let p=new El({thread:e.thread,agent:f,resolveTelemetryContext:()=>{let e=a();if(!e)return null;let n=Sn(e);try{let i=vn(u,e.id);return{scoopName:n,model:(i?r(i.id,i.provider):t()).id}}catch{return{scoopName:n,model:``}}},onTurnComplete:e=>{n.speaksReplies&&l(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-aYVnSyLQ.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([57,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,58,59,60,61,62])).then(async({consumeVoiceSubmission:t,speakReplyMarkdown:n})=>{if(!t())return;let{endVoiceTurn:r,setTtsActive:i}=await l(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-BVxub-gT.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([56,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));try{if(e?.content){i(!0);try{await n(e.content)}finally{i(!1)}}}finally{r()}}).catch(()=>void 0)},onProcessingChange:t=>{e.frame.toggleAttribute(`data-processing`,t),e.inputCard.querySelector(`slicc-send-button`)?.toggleAttribute(`busy`,t),t||o?.()},onBusyPhaseChange:t=>{e.inputCard.querySelector(`slicc-send-button`)?.setAttribute(`phase`,t)},onToolProgressChange:t=>{let n=e.inputCard.querySelector(`slicc-send-button`);n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,t.toFixed(3)))},onMessageDisposed:e=>{let t=c.get(e);t&&(Cr(t),c.delete(e))},onMessageRendered:(e,t)=>{let r=t[0];if(!r)return;n.onMessageRendered?.(r);let i=d()??void 0;c.set(e.id,Sr(r,(e,t)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:t}};s?.intercept?.(r)||n.sendSprinkleLick(`inline`,{action:e,data:t},void 0,i)}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,t,r)=>{n.sendToolUiAction(e,t,r)},onQueuedCancel:e=>{let t=a()?.id;t&&n.deleteQueuedMessage(t,e).catch(()=>void 0)},...n.readOnlyToolUi?{readOnlyToolUi:!0}:{}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let t=e.detail?.id;if(!t)return;p.removeQueuedMessage(t);let r=a()?.id;r&&n.deleteQueuedMessage(r,t).catch(()=>void 0)}),{controller:p,agentHandle:f}}function Ol(e,t){let n=new vl,r=()=>{let r=t.currentUnits(),i=e.getSelected()?.id;e.refs.switcher.scoops=hn(r,i,Ht,n.sync(r,i)),e.refreshConeActions?.()};return e.refreshScoops=r,t.subscribeList(()=>r()),r}function kl(e,t,n){let{refs:r}=e;e.setChatTransport(t,n);let{controller:i,agentHandle:a}=Dl(r,n,t,()=>e.getSelected(),n.onTurnIdle,n.welcome);e.setController(i);let o=Ol(e.wiring,t);return r.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.currentUnits().find(e=>e.id===r);i&&i.id!==e.getSelected()?.id&&e.selectScoop(i)}),r.switcher.setAttribute(`gaze-target`,`slicc-input-card`),r.inputCard.addEventListener(`input`,()=>{r.switcher.scrutinize(),r.switcher.wake()}),r.inputCard.addEventListener(`submit`,t=>{let a=tn(t),o=n.takeAttachments?.();if(!a&&!o?.length)return;e.wiring.awaitingInput=null,e.wiring.refreshScoops?.(),e.wiring.notifyScoopStateChanged?.();let s=t.detail?.source===`dictation`;s&&n.speaksReplies&&(l(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-aYVnSyLQ.js`);return{markVoiceSubmission:e}},__vite__mapDeps([57,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,58,59,60,61,62])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),l(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-BVxub-gT.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([56,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),i.sendUserMessage(a??``,o,{dictation:s,steer:Wt(t)}),r.inputCard.clear?.();let c=e.getSelected()?.id;c&&(r.switcher.setAttribute(`attention`,c),e.wiring.lastActivity.set(c,(a??``).slice(0,600)))}),r.inputCard.addEventListener(`stop`,()=>{e.getController()?.processing&&a.stop()}),{agentHandle:a,controller:i,publishStrip:o}}var Al=e({floatKindForRuntimeMode:()=>Nl,floatLabelForKind:()=>Ml,resolveStandaloneFloatKind:()=>Pl}),jl={"slicc-server":`sliccstart`,"slicc-node-server":`npx`};function Ml(e){return _(e)}function Nl(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 Pl(e){let t=e?.fetchFn??fetch,n=e?.timeoutMs??1500;try{let e=new AbortController,r=setTimeout(()=>e.abort(),n),i=await t(de(`/api/status`),{cache:`no-store`,signal:e.signal,headers:fe()}).finally(()=>clearTimeout(r));if(!i.ok)return`standalone`;let a=await i.json();return(a.service?jl[a.service]:void 0)??`standalone`}catch{return`standalone`}}function Fl(e,t){let n=t.label??Ml(t.floatKind);e.setAttribute(`label`,n),e.setAttribute(`float-kind`,t.floatKind);let r=lt(),i=Te(),a=()=>{let t=Il(r,i);e.setAttribute(`connection`,t.connection),t.trayRole===`none`?e.removeAttribute(`tray-role`):e.setAttribute(`tray-role`,t.trayRole)},o=st(e=>{r=e,a()}),s=Ce(e=>{i=e,a()});return a(),()=>{o(),s()}}function Il(e,t){return e.state===`inactive`?t.state===`inactive`?{connection:`offline`,trayRole:`none`}:{connection:Rl(t),trayRole:`follower`}:{connection:Ll(e),trayRole:`leader`}}function Ll(e){switch(e.state){case`connecting`:return`connecting`;case`leader`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}function Rl(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 zl(e,t,n){let r=n.floatLabel??Ml(n.floatKind),i=rd(e,r);Fl(i.refs.floatbar,{floatKind:n.floatKind,label:r});let a=await n.connect(i),o=kl(i,a.client,a.host);return await a.workbench?.(i,o),t.info(`WC shell mounted`,{floatKind:n.floatKind}),{boot:i,chat:o}}var Bl=36e5,Vl=2e3,Hl=class{#e=[];#t;#n;constructor(e=Bl,t=Vl){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 Ul(e){return h(e,sn)}async function Wl(e,t=V.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 Ul(n)}function Gl(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:Za(e),sublabel:n,meta:Ya(e),icon:Ka(e),badges:r,status:Ja(e)}})}}function Kl(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function ql(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function Jl(e){let t=ql(e),n=e.sessionId?`Session ${Wa(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:Kl(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:Kl(e)}]}}function Yl(e,t){let n=e.filter(e=>T(e)),r=t=>e.filter(e=>!T(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:T(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 Xl(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 Zl(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 Ql(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 $l(e){let t=Ne({percent:e.percent,status:e.status});return t===`critical`?`error`:t===`warn`?`warn`:`active`}function eu(e,t){let n=`${je(e.percent)}% used`,r=Me(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:$l(e)}}function tu(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?$l(n):void 0,emptyText:`Model usage will be summarized after the first turn.`,rows:[...n?[eu(n,t)]:[],...r.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))]}}function nu(e){let t=[],n=ru(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=Kl(e.tray);(r===`error`||r===`warn`)&&t.push({id:`tray`,severity:r===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${ql(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)Ja(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${Za(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:Ya(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 ru(e,t){if(!e||Ne({percent:e.percent,status:e.status})===`ok`)return null;let n=Me(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 iu(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function au(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:iu(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:su(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d?[ou(d,t,e.now??Date.now()),...f]:f}function ou(e,t,n){let r=Ne({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`:``,Me(e.resetsAt,n)??``,t?`$${t.totalCost.toFixed(2)} this session`:``].filter(Boolean).join(` · `)}}function su(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?T(r):!1,a=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:Ht({isRoot:i,name:a}),label:`${i?`${a} (cone)`:a} — ${Math.round(t*100)}% full`}})}var cu={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function lu(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 uu(e,t){return{pid:e.pid,ppid:e.ppid,state:cu[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:lu(e.startedAt,t)}}async function du(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:au({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n,now:g}),alerts:nu({tray:r,followers:i,mounts:s,oauthProviders:p,budget:l?.budget,now:g}),sections:[Jl(r),Gl(i),Yl(n,t=>e.isProcessing(t)),Xl(s),Zl(m,p),Ql(a,o),tu(l,g)],processes:{rows:d.map(e=>uu(e,g)),terminated:f}}}var fu=`/shared`,pu=3,mu=200;async function hu(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,mu),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<pu?await hu(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 gu(e,t=V.root){let n=[];for(let r of[t,fu])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await hu(e,r,1)});return n}var _u=200,vu=1e3,yu=3e3,bu=45e3;function xu(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 gu(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,Qt({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:m,log:e.log})))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},d=()=>{if(!i)return;let e=Date.now();if(c==null)l=e;else if(e-l>=vu){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},_u)},f=()=>{t??=setInterval(u,yu)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,fu];e.openFs().then(async e=>{if(!e.watch){t===a&&i&&f();return}let r=await e.watch(n,d);if(t!==a||!i){r();return}s=r}).catch(n=>{e.log.error(`WC file tree watch failed — falling back to polling`,n),t===a&&i&&f()})},h=()=>{n=!1,i=!1,a++,s?.(),s=null,c!=null&&(clearTimeout(c),c=null),t!=null&&(clearInterval(t),t=null)};return{open(){h(),i=!0,n=!0,e.onKernelReady(()=>{n&&(n=!1,u(),p())})},close:h,repoint(){!i||n||(u(),p())}}}function Su(e){let t=!1,n=!1,r=!1,i=0,a=null,o=new Hl,s=xu(e),c=()=>{a!=null&&(clearInterval(a),a=null)},l=()=>{let t=++i;e.openFs().then(async n=>{let r=await Wl(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 du(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 ${bu}ms; re-arming so the next term activation retries`))},bu);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 Cu=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],wu=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Tu=2e4,Eu=12,Du=3e4;function Ou(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 ku(e){return e.slice(e.lastIndexOf(`/`)+1)}function Au(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function ju(e,t){let n=Ou(e);return t.includes(`/`)?Au(n,t):ku(n)===t}function Mu(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))&&ju(a,e)&&(r.add(a),n.push(Ou(a)),n.length>=Nu))break}return n}var Nu=4,Pu=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??Cu,this.#n=t.ignoredDirs??wu,this.#r=t.maxEntries??Tu,this.#i=t.maxDepth??Eu,this.#a=t.ttlMs??Du}resolve(e,t=[]){this.#g();let n=Ou(e),r=this.#d(n),i=Mu(n,t);return i.length===0?r:this.#f(n,r,i)}resolveAll(e,t=[]){return Promise.all(e.map(e=>this.resolve(e,t)))}invalidate(){this.#s=null,this.#c=null,this.#l.clear(),this.#u.clear()}#d(e){let t=this.#l.get(e);if(t)return t;let n=this.#m(e).catch(()=>({query:e,matches:[]}));return this.#l.set(e,n),n}async#f(e,t,n){let{matches:r}=await t,i=new Set(r),a=[];for(let e of n)!e.startsWith(`/`)||i.has(e)||await this.#p(e)&&a.push(e);let o=e=>n.findIndex(t=>Au(e,t)),s=r.filter(e=>o(e)>=0).sort((e,t)=>o(e)-o(t)),c=new Set(s),l=r.filter(e=>!c.has(e));return{query:e,matches:[...a,...s,...l]}}#p(e){let t=this.#u.get(e);if(t)return t;let n=this.#h(e);return this.#u.set(e,n),n}async#m(e){if(e.startsWith(`/`))return{query:e,matches:await this.#h(e)?[e]:[]};let t=(await this.#_()).get(ku(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Au(t,e)).sort(Fu)}:{query:e,matches:[...t].sort(Fu)}}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 Fu(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var Iu=`file-mention`,Lu=`data-file-mentions`;function Ru(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var zu=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),Bu=`file-mention-open`;async function Vu(e,t,n=[]){let r=Ru(e);if(e.getAttribute(Lu)===r)return;let i=Hu(e);if(i.length===0){e.setAttribute(Lu,r);return}let a=[],o=new Set;for(let e of i){let t=cn(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(Lu,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&&Uu(e,n,l)}e.setAttribute(Lu,Ru(e))}function Hu(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(zu.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 Uu(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(Wu(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 Wu(e,t,n,r,i){let a=e.createElement(`a`);return a.className=Iu,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(Bu,{detail:t,bubbles:!0,composed:!0}))}),a}var Gu=`slicc-agent-message`,Ku=`slicc-action-row[${ln}]`;function qu(e,t){let n=[],r=e.querySelectorAll(Ku);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=>Gt(e))}function Ju(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function Yu(e){try{return Xu(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function Xu(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new Pu(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;cn(n.textContent??``).length!==0&&Ju(()=>{let i=qu(t,e);a().then(e=>Vu(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(Gu))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()===Gu?o(e):s(e));let e=t.target?.closest?.(Gu);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=>Kt(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(Bu,l),()=>{c.disconnect(),t.removeEventListener(Bu,l)}}var Zu=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>gd,DOCK_TREE_STORAGE_KEY:()=>hd,attachWcWorkbench:()=>yd,bootLeaderFloat:()=>bd,makeSprinkleAttachImage:()=>vd,prepareWcShell:()=>rd,wireDockTreePersistence:()=>_d,wireWcChipTips:()=>ud,workspaceForSelection:()=>td});function Qu(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?un(i,o)?.id??o.id:r;n.set(s,[...n.get(s)??[],...a])}function $u(e){let{controller:t,destination:n,held:r,previousJid:i,roster:a}=e;if(i&&i!==n&&Qu({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 ed(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 td(e){let{client:t,selectedId:n}=e,r=n===void 0?void 0:t.getScoop(n);return n!==void 0&&!r&&e.clearSelection(),Rr(t.getScoops(),r)}function nd(e){let{refs:t}=e,n=null,r=new Map;return{clear:()=>{n=null},getSelected:()=>n,holdQueue:()=>{let t=n?.id;t&&Qu({controller:e.controller(),held:r,jid:t,roster:e.client().currentUnits()})},selectScoop:i=>{let a=n?.id??null;n=i;let o=gn(mn(i)),s=e.host();$u({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,Sn(i)),e.controller()?.setReadOnly(o),o||t.inputCard.removeAttribute(`disabled`),Nc(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 rd(e,t){let n=Zt(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=_o,o=null,s=()=>o??Q(h),c=new Map,l=!1,u=null,d=new Set,f=ed(()=>s(),(e,t)=>{r?.loadMessages(e,t),a.onSnapshotRendered?.(e)}).watch,p=nd({client:s,controller:()=>r,host:()=>a,lickBackpressure:c,refs:n,watchUnit:f,wiring:()=>h,workbench:()=>u}),m=p.selectScoop,h={refs:n,statuses:new Map,fills:new Map,phases:new Map,turns:new Map,lickBackpressure:c,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>p.getSelected(),selectScoop:m,notifyReady:()=>{l=!0;for(let e of d)e()}};return{refs:n,wiring:h,setClient:e=>{i=e},setChatTransport:(e,t)=>{o=e,a=t},getChatHost:()=>a,selectScoop:m,getSelected:()=>p.getSelected(),clearSelection:()=>p.clear(),holdQueuedPile:()=>p.holdQueue(),watchUnit:f,getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{u=e;let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(l?e.activate(n):d.add(()=>e.activate(n)))},onClientReady:e=>{d.add(e),l&&e()}}}function id(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([l(()=>import(`./remote-vfs-client-DdFPlnwq.js`),__vite__mapDeps([63,38])),l(()=>import(`./writable-vfs-client-Czpbtd8Y.js`),__vite__mapDeps([64,38]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function ad(e,t,n,r,i){e.onClientReady(()=>{r.intercept||l(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-D7zKLorY.js`);return{wireWcOnboarding:e}},__vite__mapDeps([65,13,1,43,41,22,8,21,23,24,3,42,66])).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 od(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:Me(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 sd(e,t,n){let r=t.standalone;r&&l(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-DO1Pnegi.js`);return{wireWcBrowser:e}},__vite__mapDeps([67,68,41,69,1,70])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function cd(e){return{assistantLabel:e.assistantLabel,name:e.name,role:T(e)?`primary`:`child`}}function ld(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.id;if(e.boot.wiring.awaitingInput=t??null,e.boot.wiring.refreshScoops?.(),e.boot.wiring.notifyScoopStateChanged?.(),e.refreshStats(),!t)return;e.boot.refs.switcher.setAttribute(`attention`,t);let n=e.boot.getController()?.getMessages().filter(e=>e.role===`assistant`).at(-1);n&&e.boot.wiring.lastActivity.set(t,String(n.content??``).slice(0,600))}}function ud(e){let t=new Map,n=new Set;e.switcher.addEventListener(`pointerover`,r=>{let i=r.target?.closest?.(`.slicc-agent-tabs__segment`);if(!i||!e.switcher.contains(i))return;let a=i.dataset.k??``,o=e.getScoops().find(e=>e.jid===a);if(!o)return;let s=e.lastActivity.get(a)??``,c=t.get(a);if(c&&c.activity===s){i.title=c.tip;return}i.title||=_n(cd(o)),!(!s||n.has(a))&&(n.add(a),(async()=>{try{let n=await(e.labelFn??(await l(async()=>{let{quickLabel:e}=await import(`./quick-llm-BY73FPEQ.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([11,8,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,33,34]))).quickLabel)({system:`One line for a hover tooltip: at most 14 words, present tense, no quotes, no trailing period.`,prompt:`Summarize what this agent has been doing.\nAgent: ${T(o)?`${_n(cd(o))} (a main agent)`:o.name}\nMost recent activity:\n${s}`,maxTokens:40});n&&(t.set(a,{activity:s,tip:n}),i.title=n)}finally{n.delete(a)}})())})}async function dd(e,t,n){let{RemoteTerminalView:r}=await l(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-D0AXaUk6.js`);return{RemoteTerminalView:e}},__vite__mapDeps([71,8,13,29,1,51,0,2,3,10,72,20,9,7,73])),{fetchSecretEnvVars:i}=await l(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-CDLWFhsq.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([74,1,22,8,13,21,23,24,3,25,26,27,28])),a=await i(),o=new r({client:t,cwd:`/`,env:Object.keys(a).length>0?a:void 0});await new Promise(t=>e.onClientReady(t)),await o.mount(n),globalThis.__slicc_terminal_view=o,window.addEventListener(`beforeunload`,()=>o.dispose(),{once:!0})}function fd(e,t,n){let r=t=>{if(t.startsWith(`freezer:`)){n(t.slice(8));return}let r=dn(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 pd(e,t,n,r){l(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-Ch85s0Vv.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([75,13,1,51])).then(async({installLeaderPermissionsSurface:r,installMountPendingConsumer:i})=>{let a=n.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:o,isExtensionRuntime:s}=await l(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-CVe-8jSH.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([76,13,3]));r({runtimeMode:a,providers:await o(s()||a===`extension`||a===`extension-detached`)}),i({runShell:md(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e)),(n.standalone?.runtimeMode??`standalone`)!==`cherry`&&l(async()=>{let{installSecretRequestSurface:e}=await import(`./wc-secret-request-B2SeNIeK.js`);return{installSecretRequestSurface:e}},__vite__mapDeps([77,12,8,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,36,34,78])).then(({installSecretRequestSurface:e})=>e()).catch(e=>r.warn(`WC secret request surface wiring failed`,e))}function md(e,t){let n=null,r=()=>(n||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:n}=await l(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-ADzaWGFd.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([73,8])),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 hd=`slicc-dock-tree:default`,gd={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 _d(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(hd,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(hd);r.setTree(e?JSON.parse(e):gd)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(gd)}}function vd(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 yd(e,t,n,r,i,a={}){l(async()=>{let{initTimestampPreference:e}=await import(`./wc-shortcuts-DbF2yAIY.js`).then(e=>e.R);return{initTimestampPreference:e}},__vite__mapDeps([36,8,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:o}=e;e.setClient(t),l(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-DFKCBK8N.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([79,8,80,1])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),l(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-B5SkYf3E.js`).then(e=>e.m);return{applyThemeOverrides:e}},__vite__mapDeps([80,8,1])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let s=Se(`panel-layouts`);o.dockTree.tilesMovable=s,s||_d(o,i);let c=null,u=od(e.wiring,t),d=()=>c?.(),f=r.welcome??{intercept:null},p=Q(e.wiring),{agentHandle:m}=n;e.onClientReady(u);let h=id(t),g=async()=>(await h()).reader;a.standalone?.runtimeMode!==`cherry`&&a.standalone?.runtimeMode!==`hosted-leader`&&ad(e,t,h,f,i);let _=Fc({boot:e,client:t,setRefreshPlaceholder:e=>{c=e},triggerPlaceholder:d,openReader:g,openWriter:async()=>(await h()).writer,log:i});r.setAttachmentSource(()=>_.getAttachStage()?.take()),r.setTurnIdleHook(ld({boot:e,triggerPlaceholder:d,refreshStats:u})),ud({switcher:o.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity}),sd(e,a,i),pd(e,t,a,i);let v=Su({fileTree:o.fileTree,termSurface:o.termSurface,memoryHost:o.memoryHost,monitor:o.monitor,openFs:g,openWriter:async()=>(await h()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>hl({client:t,openReader:g,storage:window.localStorage}),getWorkspace:()=>td({client:t,clearSelection:e.clearSelection,selectedId:e.getSelected()?.id}),mountTerminal:n=>dd(e,t,n),insertReference:e=>{let t=o.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:i});e.setActivateSurface(v),s&&l(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-CPXvykp_.js`);return{panelizeShell:e}},__vite__mapDeps([81,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,82,83])).then(({panelizeShell:e})=>e(o,void 0,void 0,{onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e)})).catch(e=>i.error(`panelize failed — keeping the classic shell`,e)),Yu({thread:o.thread,openFs:g,log:i}),o.floatbar.addEventListener(`click`,()=>{let e=o.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let y=nl({refs:o,openVfs:h,client:t,getUnits:()=>p.currentUnits(),getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,holdQueuedPile:e.holdQueuedPile,log:i}),{refreshFreezer:b,openFrozen:x,getViewedFrozenSessionId:ee}=y;if(b(),e.onClientReady(b),Se(`multiple-cones`)){let n=mc({freezer:o.freezer,client:t,getSelected:()=>e.getSelected(),getUnits:()=>p.currentUnits(),selectScoop:e.selectScoop,freezeCone:y.freezeCone,log:i});e.wiring.refreshConeActions=n.refresh,e.onClientReady(n.refresh)}fd(e,t,x),e.onClientReady(()=>{h().then(async({reader:e,writer:t})=>{let{loadShortcutConfig:n}=await l(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-DpaIIBLD.js`);return{loadShortcutConfig:e}},__vite__mapDeps([84,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await n({reader:e,writer:t,apply:({keymap:e,trigger:t})=>{o.shortcuts.setKeymap(e),o.shortcuts.setTrigger(t)}})}).catch(e=>i.warn(`WC shortcut config load failed`,e))}),h().then(async({reader:e})=>{let{installPreviewVfsResponder:t}=await l(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-CluNpFQR.js`);return{installPreviewVfsResponder:e}},[]);t({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:i})}).catch(e=>i.warn(`WC page-VFS support wiring failed`,e)),h().then(async({reader:n,writer:r})=>{let{createRemoteSprinkleVfs:s}=await l(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-BY9A-xsx.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([85,86,87,38])),c=(await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-CPXvykp_.js`);return{getPanelizedShell:e}},__vite__mapDeps([81,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,82,83]))).getPanelizedShell(),{wireWcSprinkles:u}=await l(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-BUV2QBdc.js`);return{wireWcSprinkles:e}},__vite__mapDeps([88,13,36,8,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,89,66])),d=await u({refs:o,client:t,getUnits:()=>p.currentUnits(),fs:s({reader:n,writer:r}),instanceId:a.instanceId,onAttachImage:vd(_,i),onToolPanelActivate:e=>v.activate(e),onToolPanelDeactivate:e=>v.deactivate(e),hostSprinkleSurface:c?(e,t)=>c.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:c?e=>c.removeSprinkleSurface(e):void 0,log:i});e.onClientReady(()=>void d.resync());let{getPanelizedShell:f}=await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-CPXvykp_.js`);return{getPanelizedShell:e}},__vite__mapDeps([81,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,82,83])),y=f();if(y){let e=s({reader:n,writer:r});y.attachFs(e);let{registerAgentPanels:t}=await l(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-CaWLC0fq.js`);return{registerAgentPanels:e}},__vite__mapDeps([90,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await t(e).catch(e=>i.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await l(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:t}=await l(async()=>{let{applyLayout:e}=await import(`./apply-layout-BNaJAOQK.js`);return{applyLayout:e}},__vite__mapDeps([91,88,13,36,8,12,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,34,89,66]));e(e=>t(d.zone,e))}if(a.standalone&&a.instanceId){let{wireWcTray:n}=await l(async()=>{let{wireWcTray:e}=await import(`./wc-tray-B5kjbryB.js`);return{wireWcTray:e}},__vite__mapDeps([92,12,8,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,36,34,68,41,93,94,95,10,9,96,7,61,62,79,80,46,97,66,98,99,43,42,39,40,44,45,47,48,51,87,73,53,70,100,101,102,103,89])),r=d.zone.callbacks(),s=await n({refs:o,client:t,browser:a.standalone.browser,realCdpTransport:a.standalone.realCdpTransport,instanceId:a.instanceId,runtimeMode:a.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>r.addSprinkle(e,t,n),removeSprinkle:e=>r.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.id??`cone`,agentHandle:m,workUnits:p,restoreLocalChrome:()=>{e.wiring.refreshScoops?.();let n=e.getSelected();n&&Nc(o,n,p.currentUnits(),e=>t.getScoop(e))},openFs:g,openWriter:async()=>(await h()).writer,window,log:i});e.wiring.notifyScoopStateChanged=()=>s.scheduleScoopsListBroadcast()}}).catch(e=>i.error(`WC sprinkle/tray wiring failed`,e));{let n=new jn,r=new In,i=Rn(new zs({collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>n.loadAll(),loadUiChatSessions:async()=>{let e=await r.list();return(await Promise.all(e.map(e=>r.load(e)))).filter(e=>e!==null)},wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:rc(),snapshotStore:{read:async e=>{let{reader:t}=await h();return Xs(t,e)},write:async(e,t)=>{let{writer:n}=await h();return Ys(n,e,t)}},vfs:{readFile:async(e,t)=>(await h()).reader.readFile(e,t),readDir:async e=>(await h()).reader.readDir(e),stat:async e=>(await h()).reader.stat(e)},getActiveSessionInfo:()=>{let t=xn(Q(e.wiring).currentUnits());return{id:t?.id??`session-${Date.now()}`,title:t?.name??`Active Session`}},version:`6.148.2`}));window.addEventListener(`unload`,i,{once:!0})}let S=!1,te=()=>S?Promise.resolve():(S=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([l(()=>Promise.resolve().then(()=>Ln),void 0),l(()=>import(`./wc-transcript-export-DBn50D92.js`),__vite__mapDeps([104,13,93,98,99,8]))]),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),l(async()=>{let{showTranscriptExportFailure:e}=await import(`./wc-transcript-export-DBn50D92.js`);return{showTranscriptExportFailure:e}},__vite__mapDeps([104,13,93,98,99,8])).then(({showTranscriptExportFailure:t})=>t(e)).catch(e=>i.error(`Transcript export notice failed`,e))}finally{S=!1}})());if(l(async()=>{let{wireWcNav:e}=await import(`./wc-nav-vVq21h7b.js`);return{wireWcNav:e}},__vite__mapDeps([105,13,3,43,41,22,8,21,23,24,42,45,46,47,48,53,1,66,89])).then(({wireWcNav:e})=>e({refs:o,client:t,workUnits:p,getUnits:()=>p.currentUnits(),log:i,onExportTranscript:te,shortcuts:o.shortcuts,persistKeyboardTrigger:async e=>{let{writer:t,reader:n}=await h(),{writeShortcutTrigger:r}=await l(async()=>{let{writeShortcutTrigger:e}=await import(`./wc-shortcut-config-DpaIIBLD.js`);return{writeShortcutTrigger:e}},__vite__mapDeps([84,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34]));await r({reader:n,writer:t},e)}})).catch(e=>i.error(`WC nav wiring failed`,e)),l(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-B40vFKAl.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([106,1,36,8,12,13,14,15,16,17,18,19,20,21,22,23,24,3,25,26,27,28,29,30,31,32,34,51,59,60,61,62,107])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=o.composer;t(a.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>i.error(`WC push-to-talk wiring failed`,e)),l(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-3PC8TFgJ.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([58,13,1,3,59,60,36,8,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,34,61,62])).then(({setSpeakAssetsInstanceId:e})=>e(a.instanceId)).catch(e=>i.error(`WC say warmup wiring failed`,e)),a.standalone)return()=>{l(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-DOOiZScV.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([52,12,8,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,45,39,40,41,42,43,44,46,47,48,33])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await h()).writer,onComplete:b})).catch(e=>i.warn(`Pending session catch-up scheduling failed`,e))}}async function bd(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:o,bridgeToken:s,localLickWsUrl:c,extensionDelegateId:u,attachLickForwardingClient:d}=await Oe({runtimeMode:n,envBaseUrl:null,window,log:t}),{floatKindForRuntimeMode:f,floatLabelForKind:p,resolveStandaloneFloatKind:m}=await l(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await Promise.resolve().then(()=>Al);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},void 0),h=n===`standalone`?await m():f(n),g=p(h);a&&ke(a);let{syncFsBridgeEnabled:_,syncFsChannelNonce:v}=_l(),y=!1,b,x,{boot:ee}=await zl(e,t,{floatKind:h,floatLabel:g,connect:e=>{b=jo({realCdpTransport:i,reconnectCdp:()=>r.reconnectIfNeeded(),instanceId:a,makeClient:t=>new mo(_c(e.wiring),t),localApiBaseUrl:o,bridgeToken:s,syncFsBridgeEnabled:_,syncFsChannelNonce:v,localLickWsUrl:c,extensionDelegateId:u,flagFloat:n,onWorkerScriptError:()=>{De()},onReadyStall:e=>{y=!0,l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(t=>t.showBootStallOverlay(document,e)),[])},onLateReady:()=>{De()}}),bo({send:e=>b.client.sendRaw(e)}),d?.(b.client);let f=go(b.client);return{client:Q(e.wiring),host:f,workbench:(e,o)=>{x=yd(e,b.client,o,f,t,{instanceId:a,standalone:{browser:r,floatKind:h,realCdpTransport:i,runtimeMode:n}})}}}}),{setupSudoStandalone:S}=await l(async()=>{let{setupSudoStandalone:e}=await import(`./main-BO4_JFRB.js`).then(e=>e.i);return{setupSudoStandalone:e}},__vite__mapDeps([39,8,40,12,13,14,15,16,17,18,19,20,1,21,22,23,24,3,25,26,27,28,29,30,31,32,41,42,43,44,45,46,47,48]));await S({log:t});try{await b.ready}finally{y&&l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(e=>e.removeBootStallOverlay(document)),[])}ee.wiring.notifyReady?.(),t.info(`WC live shell ready`,{scoops:b.client.getScoops().length}),x?.();let{consumeAutoPrompt:te}=await l(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),ne=te(window.location.search);ne&&(ee.getController()?.sendUserMessage(ne),t.info(`Auto-prompt submitted`,{length:ne.length}))}export{Za as A,In as B,mo as C,Ka as D,Qa as E,Ha as F,Ca as I,nr as L,$i as M,Ta as N,Ya as O,Qi as P,Bn as R,go as S,Xa as T,yc as _,vl as a,Q as b,cl as c,fl as d,Lc as f,bc as g,vc as h,yl as i,$a as j,Ja as k,il as l,Ac as m,Zu as n,al as o,Ic as p,zl as r,ul as s,yd as t,sl as u,xc as v,Ua as w,yo as x,_c as y,Ln as z};