sliccy 6.110.2 → 6.110.3

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 (144) hide show
  1. package/README.md +1 -1
  2. package/dist/node-server/_cloud_core/src/cone-config/index.d.ts.map +1 -1
  3. package/dist/node-server/_cloud_core/src/cone-config/index.js +9 -6
  4. package/dist/node-server/electron-runtime.d.ts +9 -0
  5. package/dist/node-server/electron-runtime.js +3 -3
  6. package/dist/ui/.vite/manifest.json +173 -165
  7. package/dist/ui/assets/{account-store-Bg1KKHOx.js → account-store-8BBweMEe.js} +3 -3
  8. package/dist/ui/assets/{account-store-8sKKUZ8J.js → account-store-DaG5fzPt.js} +1 -1
  9. package/dist/ui/assets/{adobe-0CWIpyju.js → adobe-ShrE3fLm.js} +1 -1
  10. package/dist/ui/assets/{adobe-ChXsF6gw.js → adobe-lW1zO2xc.js} +2 -2
  11. package/dist/ui/assets/{agent-bridge-B43SVYcu.js → agent-bridge-DnjqW2rF.js} +1 -1
  12. package/dist/ui/assets/{agent-panels-9uCI5yeM.js → agent-panels-BUwuB3TG.js} +1 -1
  13. package/dist/ui/assets/{apply-layout-Bz-0rXhV.js → apply-layout-z0iSraqj.js} +1 -1
  14. package/dist/ui/assets/{apps-C16RztyU.js → apps-BJxy_wtK.js} +1 -1
  15. package/dist/ui/assets/{azure-openai-BCKGDF-y.js → azure-openai-BfsbnpvG.js} +1 -1
  16. package/dist/ui/assets/{azure-openai-DoQszniP.js → azure-openai-CtT9zy2b.js} +1 -1
  17. package/dist/ui/assets/{bsh-watchdog--Df_ThJG.js → bsh-watchdog-COvv_9Ni.js} +1 -1
  18. package/dist/ui/assets/{cdp-BzUC7d2h.js → cdp-D8RM1G3G.js} +1 -1
  19. package/dist/ui/assets/{cerebras-kH_bQsg2.js → cerebras-DPUsdgrQ.js} +1 -1
  20. package/dist/ui/assets/{cerebras-CQwhL4Ig.js → cerebras-b6VkvqMq.js} +1 -1
  21. package/dist/ui/assets/{connect-surface-BMrb-EnN.js → connect-surface-RDU90Juf.js} +1 -1
  22. package/dist/ui/assets/{directed-approval-zeD_orXz.js → directed-approval-DONBhcot.js} +1 -1
  23. package/dist/ui/assets/{follower-navigate-watcher-BoAzVfrf.js → follower-navigate-watcher-DKoozuvB.js} +1 -1
  24. package/dist/ui/assets/fs-CsuRlf5M.js +2 -0
  25. package/dist/ui/assets/{fs-DKRiXKHo.js → fs-DJCrdGnR.js} +1 -1
  26. package/dist/ui/assets/github-CAiprKij.js +1 -0
  27. package/dist/ui/assets/github-DWOc5kg-.js +2 -0
  28. package/dist/ui/assets/{github-copilot-DJf8cE1K.js → github-copilot-Bil4uk_l.js} +1 -1
  29. package/dist/ui/assets/{github-copilot-Xp2l1YxD.js → github-copilot-CJL7AnKr.js} +1 -1
  30. package/dist/ui/assets/{github-install-DRa8AaBY.js → github-install-CndOdb4D.js} +1 -1
  31. package/dist/ui/assets/{github-zip-BpPiUirA.js → github-zip-BY8CZlGS.js} +1 -1
  32. package/dist/ui/assets/intercepted-oauth-B0tP4D7f.js +1 -0
  33. package/dist/ui/assets/{js-realm-worker-D6DSLfXh.js → js-realm-worker-DlEUeX9A.js} +4 -4
  34. package/dist/ui/assets/{kernel-worker-DQDT4Cud.js → kernel-worker-bde26G1-.js} +645 -645
  35. package/dist/ui/assets/{lick-urls-51I5JBZv.js → lick-urls-CLl4eksX.js} +1 -1
  36. package/dist/ui/assets/lick-ws-bridge-BD2lQGbd.js +1 -0
  37. package/dist/ui/assets/{lick-ws-bridge-rxCk9AYw.js → lick-ws-bridge-HrxtV3Ht.js} +1 -1
  38. package/dist/ui/assets/{local-llm-OBHKAcNH.js → local-llm-C62wy8Df.js} +2 -2
  39. package/dist/ui/assets/local-llm-CWREzZ3O.js +2 -0
  40. package/dist/ui/assets/main-Cj0dR__R.js +22 -0
  41. package/dist/ui/assets/main-cherry-DR23QV8d.js +1 -0
  42. package/dist/ui/assets/{mount-BrQpW9eO.js → mount-DOTTHKHC.js} +1 -1
  43. package/dist/ui/assets/{mount-Rb9VVKip.js → mount-DPQd6tzy.js} +2 -2
  44. package/dist/ui/assets/{mount-recovery-Cb-AXW35.js → mount-recovery-VYeNQaYC.js} +1 -1
  45. package/dist/ui/assets/navigation-watcher-DLdGNtAZ.js +1 -0
  46. package/dist/ui/assets/new-session-CSBZYMGL.js +2 -0
  47. package/dist/ui/assets/oauth-bootstrap-DexuY7VO.js +2 -0
  48. package/dist/ui/assets/oauth-service-NaEg6KHx.js +1 -0
  49. package/dist/ui/assets/{oauth-service-CUpgufjo.js → oauth-service-TDESX_tk.js} +1 -1
  50. package/dist/ui/assets/{onboarding-orchestrator-Dmh6rOJl.js → onboarding-orchestrator-D0go0maQ.js} +1 -1
  51. package/dist/ui/assets/{openai-codex-DY_L0KSA.js → openai-codex-CHbj2YKL.js} +1 -1
  52. package/dist/ui/assets/{openai-codex-84EHUcAD.js → openai-codex-CO0FHasF.js} +1 -1
  53. package/dist/ui/assets/{openrouter-z7GGvxCM.js → openrouter-581ltIhi.js} +1 -1
  54. package/dist/ui/assets/{openrouter-meLV8ehE.js → openrouter-mBQeNixz.js} +1 -1
  55. package/dist/ui/assets/{openrouter-oauth-DudFNSW4.js → openrouter-oauth-GybmBe0R.js} +1 -1
  56. package/dist/ui/assets/{openrouter-oauth-CblQ27-K.js → openrouter-oauth-TZF0LEyZ.js} +1 -1
  57. package/dist/ui/assets/{panel-rpc-handlers-DmiAyTiy.js → panel-rpc-handlers-CRRp4c_O.js} +2 -2
  58. package/dist/ui/assets/{panelize-shell-65i9Hq7n.js → panelize-shell-Cqfllxbd.js} +1 -1
  59. package/dist/ui/assets/{provider-BE0mTIGf.js → provider-1riqfMR-.js} +1 -1
  60. package/dist/ui/assets/provider-CSdxYAI8.js +2 -0
  61. package/dist/ui/assets/provider-settings-ZgbgciKR.js +1 -0
  62. package/dist/ui/assets/provider-store-access-D_fJtNHf.js +1 -0
  63. package/dist/ui/assets/provider-store-access-YJf60jWB.js +1 -0
  64. package/dist/ui/assets/{providers-BlPz5ou6.js → providers-BZF0GlsK.js} +1 -1
  65. package/dist/ui/assets/providers-DpEbKMV3.js +2 -0
  66. package/dist/ui/assets/{quick-llm-CcFoANd_.js → quick-llm-Bs6a9ohB.js} +1 -1
  67. package/dist/ui/assets/{recovery-screen-44Uu5Cgy.js → recovery-screen-GaJzi_nj.js} +1 -1
  68. package/dist/ui/assets/{redirect-uri-C_VlH29S.js → redirect-uri-LEkhAfJa.js} +1 -1
  69. package/dist/ui/assets/{remote-terminal-view-vsJYhJKi.js → remote-terminal-view-HlQtiCdZ.js} +1 -1
  70. package/dist/ui/assets/{run-BQu73khp.js → run-BBmtyuxB.js} +1 -1
  71. package/dist/ui/assets/{secret-env-Hwyj0iR1.js → secret-env-CvkpMxjz.js} +1 -1
  72. package/dist/ui/assets/secrets-bridge-client-H8-Z1RVR.js +1 -0
  73. package/dist/ui/assets/{setup-feature-flags-remote-ITlSmr_i.js → setup-feature-flags-remote-CAAIusTL.js} +1 -1
  74. package/dist/ui/assets/sidecar-repair-CEmls84u.js +1 -0
  75. package/dist/ui/assets/{skills-B0o8gPTv.js → skills-C1BCxtxJ.js} +2 -2
  76. package/dist/ui/assets/slicc-version-CE2qd08F.js +1 -0
  77. package/dist/ui/assets/state-Cf1Y6pFo.js +42 -0
  78. package/dist/ui/assets/{store-C3RMRz9d.js → store-C5WIQl6U.js} +1 -1
  79. package/dist/ui/assets/{store-CzQ9Fvfr.js → store-DrDjrRj2.js} +1 -1
  80. package/dist/ui/assets/{sudo-CPH7ANoV.js → sudo-CCTcrBIJ.js} +1 -1
  81. package/dist/ui/assets/{sync-dialog-vSEl3KxP.js → sync-dialog-BRwkEszT.js} +1 -1
  82. package/dist/ui/assets/tool-ui-DCY2mIe9.js +1 -0
  83. package/dist/ui/assets/tray-leader-CHHSfFEB.js +1 -0
  84. package/dist/ui/assets/{tray-leave-runtime-3_wlFPFU.js → tray-leave-runtime-OxVT1X8O.js} +1 -1
  85. package/dist/ui/assets/tray-runtime-config-CjsIUSv2.js +1 -0
  86. package/dist/ui/assets/tray-runtime-config-CluPgaPA.js +1 -0
  87. package/dist/ui/assets/{tray-sidecar-BIcoXTJN.js → tray-sidecar-Bnp-I8VZ.js} +1 -1
  88. package/dist/ui/assets/tray-url-config-Cx0gvYq6.js +1 -0
  89. package/dist/ui/assets/{upgrade-detection-TsOPChOa.js → upgrade-detection-B-ic_s-w.js} +1 -1
  90. package/dist/ui/assets/{voice-reply-O_Z2C0eg.js → voice-reply-vHjs6Lwz.js} +1 -1
  91. package/dist/ui/assets/{wc-attach-DM5yRZRS.js → wc-attach-D1Wbe7BQ.js} +2 -2
  92. package/dist/ui/assets/wc-extension-K69BtExa.js +2 -0
  93. package/dist/ui/assets/{wc-float-label-Bmp3gmHN.js → wc-float-label-BLvU2814.js} +1 -1
  94. package/dist/ui/assets/wc-floatbar-online-WxVLXUuL.js +1 -0
  95. package/dist/ui/assets/wc-follower-MBwg6NpZ.js +17 -0
  96. package/dist/ui/assets/{wc-follower-oauth-D15d_vbh.js → wc-follower-oauth-DL2btuX4.js} +1 -1
  97. package/dist/ui/assets/{wc-live-CiwhsK8i.js → wc-live-D9C2qb2I.js} +6 -6
  98. package/dist/ui/assets/wc-nav-CUf1Z_Tr.js +2 -0
  99. package/dist/ui/assets/{wc-onboarding-DUBWYyMl.js → wc-onboarding-BOIXS806.js} +2 -2
  100. package/dist/ui/assets/{wc-permissions-CCJrTH49.js → wc-permissions-BxpV8lGq.js} +2 -2
  101. package/dist/ui/assets/{wc-placeholder-CPMV2eO3.js → wc-placeholder-CUfZIfzI.js} +3 -3
  102. package/dist/ui/assets/{wc-settings-M8e_JWQh.js → wc-settings-DhhxNWv_.js} +3 -3
  103. package/dist/ui/assets/{wc-shell-WlrdsROD.js → wc-shell-BU2i4AQi.js} +3 -3
  104. package/dist/ui/assets/{wc-shortcut-config-BftmZXGf.js → wc-shortcut-config-CtIiNVQ9.js} +1 -1
  105. package/dist/ui/assets/{wc-sprinkles-DhXJLTUO.js → wc-sprinkles-C9wtNI-h.js} +2 -2
  106. package/dist/ui/assets/wc-transcript-export-By3cf4BN.js +2 -0
  107. package/dist/ui/assets/{wc-tray-BdgbNPhM.js → wc-tray-BLqE4RP_.js} +4 -4
  108. package/dist/ui/assets/welcome-detection-e5PqkJPl.js +1 -0
  109. package/dist/ui/assets/{xai-grok-CVEtAfJK.js → xai-grok-B-Ekm4Mp.js} +1 -1
  110. package/dist/ui/assets/{xai-grok-DH1oX2E5.js → xai-grok-CHr7urYe.js} +1 -1
  111. package/dist/ui/index.html +6 -5
  112. package/dist/ui/packages/webapp/index.html +6 -5
  113. package/package.json +5 -4
  114. package/dist/ui/assets/fs-BsqtoiKD.js +0 -2
  115. package/dist/ui/assets/github-DGUqMidV.js +0 -1
  116. package/dist/ui/assets/github-DqsEulTB.js +0 -2
  117. package/dist/ui/assets/intercepted-oauth-BIKnTjZm.js +0 -1
  118. package/dist/ui/assets/lick-ws-bridge-1UPwiSVX.js +0 -1
  119. package/dist/ui/assets/local-llm-Cjzjpqa1.js +0 -2
  120. package/dist/ui/assets/logger-DQgFbfwx.js +0 -1
  121. package/dist/ui/assets/main-BK-7ArIz.js +0 -22
  122. package/dist/ui/assets/main-cherry-C6fqCnLL.js +0 -1
  123. package/dist/ui/assets/navigation-watcher-DrWMx-B4.js +0 -1
  124. package/dist/ui/assets/new-session-CF4YpiQ9.js +0 -2
  125. package/dist/ui/assets/oauth-bootstrap-YFOy1SIX.js +0 -2
  126. package/dist/ui/assets/oauth-service-DJuzPXsg.js +0 -1
  127. package/dist/ui/assets/provider-BLbTGk-_.js +0 -2
  128. package/dist/ui/assets/provider-settings-Dq-yRgMh.js +0 -1
  129. package/dist/ui/assets/provider-store-access-CJdYrcvf.js +0 -1
  130. package/dist/ui/assets/provider-store-access-NHOQWINx.js +0 -1
  131. package/dist/ui/assets/providers-B3OPYf2o.js +0 -2
  132. package/dist/ui/assets/secrets-bridge-client-CHZomqvU.js +0 -1
  133. package/dist/ui/assets/sidecar-repair-Ddcz9Mvv.js +0 -1
  134. package/dist/ui/assets/slicc-version-BrPYMXS9.js +0 -1
  135. package/dist/ui/assets/state-BSTmV4yO.js +0 -42
  136. package/dist/ui/assets/tray-leader-B_FxjW0d.js +0 -1
  137. package/dist/ui/assets/tray-runtime-config-Bpo7AZhY.js +0 -1
  138. package/dist/ui/assets/tray-runtime-config-Dv3NVv5v.js +0 -1
  139. package/dist/ui/assets/wc-extension-Dg5dOqTK.js +0 -2
  140. package/dist/ui/assets/wc-floatbar-online-B8ug4UwE.js +0 -1
  141. package/dist/ui/assets/wc-follower-G03aUmAn.js +0 -17
  142. package/dist/ui/assets/wc-nav-D8Bi3zRA.js +0 -2
  143. package/dist/ui/assets/wc-transcript-export-DjpmBvLP.js +0 -2
  144. package/dist/ui/assets/welcome-detection-0SaDZUV0.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-C4q1Q3pK.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/logger-DDBAeTLF.js","assets/picker-popup-bwFI7R4q.js","assets/runtime-env-Dlaokqg1.js","assets/runtime-env-E-i2SW1s.js","assets/src-CAWTvdAa.js","assets/usb-picker-D-B9HZ67.js","assets/picker-popup-Epy7NPEK.js","assets/serial-picker-Cfjtv7AL.js","assets/hid-picker-BcXVbHb2.js","assets/usb-device-registry-CRsCisej.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-device-registry-B2R-0rNt.js","assets/quick-llm-CcFoANd_.js","assets/account-store-Bg1KKHOx.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-C0HLsjny.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-BxrUfzom.js","assets/libesm-BypnjKEL.js","assets/proxied-fetch-CFWkfPNA.js","assets/base64-DJRlyqZu.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/float-topology-BYb7rxY5.js","assets/secret-topology-BE7Eyd3P.js","assets/secrets-bridge-client-CHZomqvU.js","assets/port-bridge-client-Cti-DmEY.js","assets/image-markers-CxJ9ZBgw.js","assets/tool-ui-DfXu6quJ.js","assets/providers-B3OPYf2o.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-ZLR7gmJ4.js","assets/main-BK-7ArIz.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/runtime-env-CgsZ7LTp.js","assets/telemetry-BVzuNdvW.js","assets/messages-BD4p8GuF.js","assets/feature-flags-ByMXaIc4.js","assets/tray-runtime-config-Bpo7AZhY.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/wc-placeholder-CPMV2eO3.js","assets/wc-shell-WlrdsROD.js","assets/mime-types-k2E6ulyv.js","assets/html-B_Hg2WOy.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/wc-shell-WkeczD9x.css","assets/wc-attach-DM5yRZRS.js","assets/permissions-surface-registry-CilCRwhh.js","assets/voice-reply-O_Z2C0eg.js","assets/speak-DW89OFqf.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-plTpP5Zy.js","assets/shared-2T6O01rS.js","assets/soundscape-TvriK11t.js","assets/legacy-styles-DcRu2WCJ.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/new-session-CF4YpiQ9.js","assets/tray-leader-B_FxjW0d.js","assets/mount-table-store-dY2IfQ5S.js","assets/remote-vfs-client-CN1pCs1m.js","assets/types-idfTVsM8.js","assets/writable-vfs-client-CuBjWhy3.js","assets/wc-onboarding-DUBWYyMl.js","assets/record-D153M47x.js","assets/wc-browser-CYph9bTu.js","assets/slicc-app-url-BsBryEhn.js","assets/tab-teleport-ChkQ1rYc.js","assets/teleport-storage-Beud1T6_.js","assets/remote-terminal-view-vsJYhJKi.js","assets/picker-approval-D89YhXsA.js","assets/browser-DGwroBSO.js","assets/terminal-session-client-ADzaWGFd.js","assets/secret-env-Hwyj0iR1.js","assets/wc-permissions-CCJrTH49.js","assets/wc-permissions-providers-CET8Rh_M.js","assets/panelize-shell-65i9Hq7n.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-shortcut-config-BftmZXGf.js","assets/remote-sprinkle-vfs-CawR6gXx.js","assets/wc-sprinkles-DhXJLTUO.js","assets/wc-unit-context-BaavrvD8.js","assets/agent-panels-9uCI5yeM.js","assets/apply-layout-Bz-0rXhV.js","assets/wc-tray-BdgbNPhM.js","assets/wc-follower-oauth-D15d_vbh.js","assets/remote-cdp-transport-DeDqT7I4.js","assets/pending-request-table-Dgn6qYdL.js","assets/sprinkle-renderer-C9L5ZRvl.js","assets/export-spool-Eul4J1RP.js","assets/src-BWaKqLvQ.js","assets/logger-BoSvu4mW.js","assets/handoff-link-BObMRgsx.js","assets/path-utils-DNJG-zQf.js","assets/synthetic-cdp-transport-Ds83IPjw.js","assets/sprinkle-instances-B8n7h-oP.js","assets/wc-transcript-export-DjpmBvLP.js","assets/wc-nav-D8Bi3zRA.js","assets/composer-speech-C08Pruqj.js","assets/whisper-session-B1agEx3i.js","assets/wc-float-label-Bmp3gmHN.js","assets/wc-floatbar-online-B8ug4UwE.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{C as t,L as n,Q as r,R as i,S as a,X as o,Z as s,d as c}from"./account-store-Bg1KKHOx.js";import{t as l}from"./preload-helper-Czpn1I53.js";import{o as u}from"./claude-model-version-C0HLsjny.js";import{t as d}from"./logger-DDBAeTLF.js";import{C as f,G as p,J as m,S as h,T as g,U as _,W as v,X as y,_ as ee,a as b,b as x,c as te,g as ne,h as re,i as ie,l as ae,m as oe,n as se,o as ce,p as le,r as ue,t as de,v as fe,w as pe,x as me,y as he}from"./wc-shell-WlrdsROD.js";import{r as ge,t as _e}from"./base64-DJRlyqZu.js";import{a as ve,n as ye,r as S,t as be}from"./src-CAWTvdAa.js";import"./proxied-fetch-CFWkfPNA.js";import{n as xe}from"./runtime-env-Dlaokqg1.js";import{i as Se,t as Ce}from"./api-endpoint-GRCyib6X.js";import{n as we}from"./float-topology-BYb7rxY5.js";import"./secret-topology-BE7Eyd3P.js";import{t as Te}from"./secrets-bridge-client-CHZomqvU.js";import{t as Ee}from"./tool-ui-DfXu6quJ.js";import"./runtime-env-CgsZ7LTp.js";import{a as De,c as Oe,l as ke,n as Ae,r as je,u as Me}from"./telemetry-BVzuNdvW.js";import{r as Ne}from"./feature-flags-ByMXaIc4.js";import{c as Pe,h as Fe,i as Ie,l as Le}from"./tray-runtime-config-Bpo7AZhY.js";import{i as Re,t as ze}from"./tray-follower-status-BAjnN7Ar.js";import{a as Be,o as Ve,r as He,s as Ue}from"./main-BK-7ArIz.js";import{n as We}from"./src-BWaKqLvQ.js";import{t as Ge}from"./permissions-surface-registry-CilCRwhh.js";import{t as Ke}from"./types-idfTVsM8.js";import{t as qe}from"./html-B_Hg2WOy.js";import{n as Je,r as Ye}from"./hid-device-registry-B2R-0rNt.js";import"./browser-DGwroBSO.js";import{a as Xe,i as Ze}from"./serial-port-registry-CCqklAEr.js";import{C as Qe,D as $e,E as et,S as tt,_ as nt,a as rt,g as it,h as at,k as ot,l as st,m as ct,n as lt,o as ut,s as dt,w as ft,x as pt,y as mt}from"./usb-operations-BBXJ4GF8.js";import{i as ht,r as gt}from"./usb-device-registry-CRsCisej.js";import{t as _t}from"./icons-ZLR7gmJ4.js";import{n as vt,r as yt}from"./tray-leader-B_FxjW0d.js";import{a as bt,c as C,d as xt,i as St,l as Ct,n as wt,o as Tt,r as Et,s as Dt,t as Ot,u as w}from"./record-D153M47x.js";import{n as kt}from"./shared-2T6O01rS.js";import{i as At,n as jt,r as Mt}from"./sprinkle-renderer-C9L5ZRvl.js";import{n as Nt}from"./sprinkle-bridge-D4YmJlZ6.js";import{a as Pt,n as Ft,r as It}from"./theme-CXRqxpw6.js";import{a as Lt,c as Rt,f as zt,i as Bt,l as Vt,m as Ht,n as Ut,o as T,p as Wt,r as Gt,s as Kt,t as qt,u as Jt}from"./wc-unit-context-BaavrvD8.js";var Yt=`agent-sessions`,Xt=1,E=`sessions`;function Zt(){return new Promise((e,t)=>{let n=indexedDB.open(Yt,Xt);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(E)||e.createObjectStore(E,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var Qt=class{dbPromise=null;getDB(){return this.dbPromise||=Zt().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(E,`readwrite`).objectStore(E).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(E,`readonly`).objectStore(E).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(E,`readwrite`).objectStore(E).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(E,`readonly`).objectStore(E).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(E,`readonly`).objectStore(E).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(E,`readwrite`).objectStore(E).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()}}},$t=e({SessionStore:()=>rn}),en=`browser-coding-agent`,tn=1,D=`sessions`;function nn(){return new Promise((e,t)=>{let n=indexedDB.open(en,tn);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(D)||e.createObjectStore(D,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var rn=class{db=null;async init(){await this.getDb()}async getDb(){if(!this.db){let e=await nn();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(D,`readwrite`);i.objectStore(D).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(D,`readonly`).objectStore(D).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(D,`readonly`).objectStore(D).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(D,`readwrite`);i.objectStore(D).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)}},an=e({getTranscriptExportService:()=>sn,registerTranscriptExportService:()=>on}),O=null;function on(e){return O=e,()=>{O===e&&(O=null)}}function sn(){if(!O)throw new S(`session-not-found`);return O}var cn=e({broadcastToDips:()=>Tn,disposeDips:()=>Kn,handleDipPickerAction:()=>qn,hydrateDips:()=>Gn,mountDip:()=>N,setDipExecHandler:()=>Dn}),ln=xe();async function un(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await pn(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 dn=null;function fn(){if(dn)return dn;if(typeof BroadcastChannel>`u`)return null;try{dn=new BroadcastChannel(`preview-vfs`)}catch{return null}return dn}async function pn(e,t,n){let r=fn();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 mn=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],hn=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function gn(e){return mn.some(t=>e.startsWith(t))}function _n(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:hn.some(t=>e.startsWith(t))}var k=new WeakSet,vn=`,
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-C4q1Q3pK.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/logger-DDBAeTLF.js","assets/picker-popup-bwFI7R4q.js","assets/runtime-env-Dlaokqg1.js","assets/runtime-env-E-i2SW1s.js","assets/src-CAWTvdAa.js","assets/usb-picker-D-B9HZ67.js","assets/picker-popup-Epy7NPEK.js","assets/serial-picker-Cfjtv7AL.js","assets/hid-picker-BcXVbHb2.js","assets/usb-device-registry-CRsCisej.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-device-registry-B2R-0rNt.js","assets/quick-llm-Bs6a9ohB.js","assets/account-store-8BBweMEe.js","assets/preload-helper-Czpn1I53.js","assets/claude-model-version-C0HLsjny.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-BxrUfzom.js","assets/libesm-BypnjKEL.js","assets/proxied-fetch-CFWkfPNA.js","assets/base64-DJRlyqZu.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/float-topology-BYb7rxY5.js","assets/secret-topology-BE7Eyd3P.js","assets/secrets-bridge-client-H8-Z1RVR.js","assets/port-bridge-client-Cti-DmEY.js","assets/image-markers-CxJ9ZBgw.js","assets/tool-ui-DCY2mIe9.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DpEbKMV3.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-ZLR7gmJ4.js","assets/main-Cj0dR__R.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/runtime-env-CgsZ7LTp.js","assets/telemetry-BVzuNdvW.js","assets/messages-BD4p8GuF.js","assets/feature-flags-ByMXaIc4.js","assets/tray-runtime-config-CluPgaPA.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/wc-placeholder-CUfZIfzI.js","assets/wc-shell-BU2i4AQi.js","assets/mime-types-k2E6ulyv.js","assets/html-B_Hg2WOy.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/wc-shell-WkeczD9x.css","assets/wc-attach-D1Wbe7BQ.js","assets/permissions-surface-registry-CilCRwhh.js","assets/voice-reply-vHjs6Lwz.js","assets/speak-DW89OFqf.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-plTpP5Zy.js","assets/shared-2T6O01rS.js","assets/soundscape-TvriK11t.js","assets/legacy-styles-DcRu2WCJ.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/new-session-CSBZYMGL.js","assets/tray-leader-CHHSfFEB.js","assets/mount-table-store-dY2IfQ5S.js","assets/remote-vfs-client-CN1pCs1m.js","assets/types-idfTVsM8.js","assets/writable-vfs-client-CuBjWhy3.js","assets/wc-onboarding-BOIXS806.js","assets/record-D153M47x.js","assets/wc-browser-CYph9bTu.js","assets/slicc-app-url-BsBryEhn.js","assets/tab-teleport-ChkQ1rYc.js","assets/teleport-storage-Beud1T6_.js","assets/remote-terminal-view-HlQtiCdZ.js","assets/picker-approval-D89YhXsA.js","assets/browser-DGwroBSO.js","assets/terminal-session-client-ADzaWGFd.js","assets/secret-env-CvkpMxjz.js","assets/wc-permissions-BxpV8lGq.js","assets/wc-permissions-providers-CET8Rh_M.js","assets/panelize-shell-Cqfllxbd.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-shortcut-config-CtIiNVQ9.js","assets/remote-sprinkle-vfs-CawR6gXx.js","assets/wc-sprinkles-C9wtNI-h.js","assets/wc-unit-context-BaavrvD8.js","assets/agent-panels-BUwuB3TG.js","assets/apply-layout-z0iSraqj.js","assets/wc-tray-BLqE4RP_.js","assets/wc-follower-oauth-DL2btuX4.js","assets/remote-cdp-transport-DeDqT7I4.js","assets/pending-request-table-Dgn6qYdL.js","assets/sprinkle-renderer-C9L5ZRvl.js","assets/export-spool-Eul4J1RP.js","assets/src-BWaKqLvQ.js","assets/logger-BoSvu4mW.js","assets/handoff-link-BObMRgsx.js","assets/path-utils-DNJG-zQf.js","assets/synthetic-cdp-transport-Ds83IPjw.js","assets/sprinkle-instances-B8n7h-oP.js","assets/wc-transcript-export-By3cf4BN.js","assets/wc-nav-CUf1Z_Tr.js","assets/composer-speech-C08Pruqj.js","assets/whisper-session-B1agEx3i.js","assets/wc-float-label-BLvU2814.js","assets/wc-floatbar-online-WxVLXUuL.js"])))=>i.map(i=>d[i]);
2
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{C as t,L as n,Q as r,R as i,S as a,X as o,Z as s,d as c}from"./account-store-8BBweMEe.js";import{t as l}from"./preload-helper-Czpn1I53.js";import{o as u}from"./claude-model-version-C0HLsjny.js";import{t as d}from"./logger-DDBAeTLF.js";import{C as f,G as p,J as m,S as h,T as g,U as _,W as v,X as y,_ as ee,a as b,b as x,c as te,g as ne,h as re,i as ie,l as ae,m as oe,n as se,o as ce,p as le,r as ue,t as de,v as fe,w as pe,x as me,y as he}from"./wc-shell-BU2i4AQi.js";import{r as ge,t as _e}from"./base64-DJRlyqZu.js";import{a as ve,n as ye,r as S,t as be}from"./src-CAWTvdAa.js";import"./proxied-fetch-CFWkfPNA.js";import{n as xe}from"./runtime-env-Dlaokqg1.js";import{i as Se,t as Ce}from"./api-endpoint-GRCyib6X.js";import{n as we}from"./float-topology-BYb7rxY5.js";import"./secret-topology-BE7Eyd3P.js";import{n as Te}from"./secrets-bridge-client-H8-Z1RVR.js";import{t as Ee}from"./tool-ui-DfXu6quJ.js";import"./tool-ui-DCY2mIe9.js";import"./runtime-env-CgsZ7LTp.js";import{a as De,c as Oe,l as ke,n as Ae,r as je,u as Me}from"./telemetry-BVzuNdvW.js";import{r as Ne}from"./feature-flags-ByMXaIc4.js";import{h as Pe,m as Fe,o as Ie,p as Le}from"./tray-runtime-config-CluPgaPA.js";import{i as Re,t as ze}from"./tray-follower-status-BAjnN7Ar.js";import{a as Be,o as Ve,r as He,s as Ue}from"./main-Cj0dR__R.js";import{n as We}from"./src-BWaKqLvQ.js";import{t as Ge}from"./permissions-surface-registry-CilCRwhh.js";import{t as Ke}from"./types-idfTVsM8.js";import{t as qe}from"./html-B_Hg2WOy.js";import{n as Je,r as Ye}from"./hid-device-registry-B2R-0rNt.js";import"./browser-DGwroBSO.js";import{a as Xe,i as Ze}from"./serial-port-registry-CCqklAEr.js";import{C as Qe,D as $e,E as et,S as tt,_ as nt,a as rt,g as it,h as at,k as ot,l as st,m as ct,n as lt,o as ut,s as dt,w as ft,x as pt,y as mt}from"./usb-operations-BBXJ4GF8.js";import{i as ht,r as gt}from"./usb-device-registry-CRsCisej.js";import{t as _t}from"./icons-ZLR7gmJ4.js";import{i as vt,r as yt}from"./tray-leader-CHHSfFEB.js";import{a as bt,c as C,d as xt,i as St,l as Ct,n as wt,o as Tt,r as Et,s as Dt,t as Ot,u as w}from"./record-D153M47x.js";import{n as kt}from"./shared-2T6O01rS.js";import{i as At,n as jt,r as Mt}from"./sprinkle-renderer-C9L5ZRvl.js";import{n as Nt}from"./sprinkle-bridge-D4YmJlZ6.js";import{a as Pt,n as Ft,r as It}from"./theme-CXRqxpw6.js";import{a as Lt,c as Rt,f as zt,i as Bt,l as Vt,m as Ht,n as Ut,o as T,p as Wt,r as Gt,s as Kt,t as qt,u as Jt}from"./wc-unit-context-BaavrvD8.js";var Yt=`agent-sessions`,Xt=1,E=`sessions`;function Zt(){return new Promise((e,t)=>{let n=indexedDB.open(Yt,Xt);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(E)||e.createObjectStore(E,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var Qt=class{dbPromise=null;getDB(){return this.dbPromise||=Zt().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(E,`readwrite`).objectStore(E).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(E,`readonly`).objectStore(E).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(E,`readwrite`).objectStore(E).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(E,`readonly`).objectStore(E).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(E,`readonly`).objectStore(E).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(E,`readwrite`).objectStore(E).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()}}},$t=e({SessionStore:()=>rn}),en=`browser-coding-agent`,tn=1,D=`sessions`;function nn(){return new Promise((e,t)=>{let n=indexedDB.open(en,tn);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(D)||e.createObjectStore(D,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var rn=class{db=null;async init(){await this.getDb()}async getDb(){if(!this.db){let e=await nn();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(D,`readwrite`);i.objectStore(D).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(D,`readonly`).objectStore(D).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(D,`readonly`).objectStore(D).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(D,`readwrite`);i.objectStore(D).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)}},an=e({getTranscriptExportService:()=>sn,registerTranscriptExportService:()=>on}),O=null;function on(e){return O=e,()=>{O===e&&(O=null)}}function sn(){if(!O)throw new S(`session-not-found`);return O}var cn=e({broadcastToDips:()=>Tn,disposeDips:()=>Kn,handleDipPickerAction:()=>qn,hydrateDips:()=>Gn,mountDip:()=>N,setDipExecHandler:()=>Dn}),ln=xe();async function un(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await pn(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 dn=null;function fn(){if(dn)return dn;if(typeof BroadcastChannel>`u`)return null;try{dn=new BroadcastChannel(`preview-vfs`)}catch{return null}return dn}async function pn(e,t,n){let r=fn();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 mn=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],hn=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function gn(e){return mn.some(t=>e.startsWith(t))}function _n(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:hn.some(t=>e.startsWith(t))}var k=new WeakSet,vn=`,
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) {
@@ -383,17 +383,17 @@ ${n}
383
383
  `}${o}\n`}async function Dr(e){if(!e.model||!e.apiKey)return{restructured:!1,reason:`no-llm`};let t=e.memoryPath??vr,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 Tr(e.vfs),i=Cr(r),a=i*_r;if(n.length<=a)return{restructured:!1,reason:`under-threshold`};mr.info(`Cone memory over threshold — restructuring`,{size:n.length,budget:i,threshold:a,sessionCount:r});try{let r=await Er({currentContent:n,budget:i,model:e.model,apiKey:e.apiKey,headers:e.headers,signal:e.signal});return await e.vfs.writeFile(t,r),mr.info(`Cone memory restructured`,{before:n.length,after:r.length}),{restructured:!0}}catch(e){return mr.warn(`Cone memory restructure failed — leaving appended content in place`,{error:e instanceof Error?e.message:String(e)}),{restructured:!1,reason:`error`}}}var Or=d(`agentic-memory`),kr=`/shared/MEMORY.md`,Ar=1200,jr=e=>[e.memoryPath],Mr=e=>[`/sessions/`,`/shared/`,...cr(e)],Nr=`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(`.`),Pr=new Set([`writablePaths`,`visiblePaths`,`allowedCommands`]),Fr=new Set([`model`,`timeoutSeconds`,`thinkingLevel`]),Ir=`medium`,Lr=3e4;function Rr(e){return e===`cone`?`memory-curator`:`memory-curator-${e}`}function zr(e){let t=Rr(e);return Br.test(t)?t:Rr(Ot)}var Br=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;function Vr(e){return`/scoops/agent-${zr(e)}`}var Hr=Vr(Ot);function Ur(e){return ir({parentJid:null,folder:e?.folder??`cone`})}function Wr(e,t){if(t.root===F.root)return e;if(e===F.memoryPath)return t.memoryPath;if(e===`/workspace/skills`||e.startsWith(`/workspace/skills/`))return e;let n=`${F.root}/`;return e===F.root?t.root:e.startsWith(n)?`${t.root}/${e.slice(n.length)}`:e}function Gr(e,t){let n=`${rr}/`,r=e=>e.some(e=>n.startsWith(e.endsWith(`/`)?e:`${e}/`)),i=e.map(e=>Wr(e,t));return r(e)&&!r(i)&&i.push(n),i}async function Kr(e){try{if(e.signal?.aborted)return{ok:!1,reason:`aborted`,legacyFallbackSafe:!1};let t=Ur(e.cone),n=Vr(e.cone?.folder??`cone`),r=await qr(e.vfs,t),i=si(e.sessionArchivePath);try{await li(e.vfs,t.memoryPath,e.sessionArchivePath)}catch(e){return{ok:!1,reason:`snapshot: ${L(e)}`,legacyFallbackSafe:!0}}let a=di(r,fi(pi(r.promptTemplate,{MEMORY_PATH:i,SESSION_ARCHIVE_PATH:e.sessionArchivePath,SESSION_COUNT:String(e.sessionCount),BUDGET_CHARS:String(Cr(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 mi(Promise.resolve().then(()=>e.spawn(a)),r.timeoutSeconds*1e3+Lr,e.signal);if(o.type===`timeout`)return Or.warn(`Agentic memory wait timed out past the in-run bound + grace`,{timeoutSeconds:r.timeoutSeconds,graceMs:Lr}),{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:L(o.error),legacyFallbackSafe:!0};if(o.result.exitCode!==0){let e=(o.result.finalText??``).startsWith(pr);return{ok:!1,reason:o.result.finalText||`exit-${o.result.exitCode}`,legacyFallbackSafe:!e}}return{ok:!0,report:o.result.finalText}}catch(e){return Or.warn(`Agentic memory pass failed`,{error:L(e)}),{ok:!1,reason:L(e),legacyFallbackSafe:!1}}}async function qr(e,t=F){try{let n=await e.readFile(kr,{encoding:`utf-8`});return Jr(typeof n==`string`?n:new TextDecoder().decode(n),t)}catch(e){return Or.warn(`Could not load valid MEMORY.md; using built-in default`,{error:L(e)}),Jr(tr,t)}}function Jr(e,t=F){let n=e.replace(/^\uFEFF/,``).replace(/\r\n?/g,`
384
384
  `).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=Xr(n[1]),i=ti(r,`writablePaths`,jr(t));if(i.length===0)throw Error(`writablePaths must not be empty`);ii(i,`writablePaths`);let a=ti(r,`visiblePaths`,Mr(t));ii(a,`visiblePaths`);let o=ri(r.timeoutSeconds),s=ni(r.model,`model`);return{writablePaths:i.map(e=>Wr(e,t)),visiblePaths:Gr(a,t),allowedCommands:[...new Set([...Nr,...ti(r,`allowedCommands`,[])])],...s?{model:s}:{},thinkingLevel:Yr(r.thinkingLevel),timeoutSeconds:o,promptTemplate:n[2].trim()}}function Yr(e){if(e===void 0)return Ir;if(typeof e!=`string`||!fr(e))throw Error(`thinkingLevel must be one of ${dr.join(`, `)}`);return e}function Xr(e){let t={},n=e.split(`
385
385
  `);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(Pr.has(a)){let r=Zr(n,e,o);t[a]=r.value,e=r.lastIndex}else if(Fr.has(a)&&o.trim())t[a]=ei(o);else throw Error(`Unsupported or empty frontmatter field: ${a}`)}return t}function Zr(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?Qr(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(ei($r(t[1]))),i=n}return{value:r,lastIndex:i}}function Qr(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(ei(e.slice(n,i))),n=i+1)}if(r)throw Error(`Unclosed quoted value`);return t.push(ei(e.slice(n))),t}function $r(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 ei(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 ti(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 ni(e,t){if(e!==void 0){if(typeof e!=`string`||!e)throw Error(`${t} is invalid`);return e}}function ri(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,Ar)}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 ai(e){return`/sessions/.curated/${e.slice(e.lastIndexOf(`/`)+1)}`}function I(e){return`/sessions/.curation/${e.slice(e.lastIndexOf(`/`)+1)}`}function oi(e){return`${I(e)}/base.md`}function si(e){return`${I(e)}/draft.md`}function ci(e){return`${I(e)}/status.json`}async function li(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(I(n),{recursive:!0}),await e.writeFile(oi(n),r),await e.writeFile(si(n),r)}function ui(e,t,n){let r=e.map(e=>e===t?n:e);return r.includes(n)?r:[...r,n]}function di(e,t,n,r,i){let a=e.model===`parent`||e.model===`cone`,o=oi(n),s=si(n);return{cwd:r.root,writablePaths:ui(e.writablePaths,r.memoryPath,s),visiblePaths:[...e.visiblePaths,`${I(n)}/`],allowedCommands:e.allowedCommands,prompt:t,thinkingLevel:e.thinkingLevel,persistSession:!0,name:zr(i?.folder??`cone`),...i?.jid?{parentJid:i.jid}:{},notifyOnComplete:!0,successReceiptPath:ai(n),mergeOnSuccess:{targetPath:r.memoryPath,basePath:o,draftPath:s},outcomeReceiptPath:ci(n),maxWallClockMs:e.timeoutSeconds*1e3,...!a&&e.model?{modelId:e.model}:{}}}function fi(e,t){return t===Hr?e:e.replaceAll(Hr,t)}function pi(e,t){let n=e;for(let[e,r]of Object.entries(t))n=n.replaceAll(`{{${e}}}`,r);return n}function mi(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 L(e){return e instanceof Error?e.message:String(e)}var R=`/sessions`,z=`/sessions/index.json`;async function B(e){try{let t=await e.readFile(z,{encoding:`utf-8`}),n=typeof t==`string`?t:new TextDecoder().decode(t),r=JSON.parse(n);return Array.isArray(r)?r:[]}catch{return[]}}function V(e){return`${R}/${e.filename}`}function H(e){let t=e,n=`Untitled`,r={},i=t.match(/^---\n([\s\S]*?)\n---\n+/);if(i){t=t.slice(i[0].length);let e=gi(i[1],`cost`),a=gi(i[1],`models`);e&&(r.cost=e),a&&(r.models=a);let o=i[1].match(/^cone:\s*(.+?)\s*$/m)?.[1];o&&(r.cone=o);let s=i[1].match(/^coneLabel:\s*(.+?)\s*$/m)?.[1];s&&(r.coneLabel=hi(s)),/^memorySkipped:\s*true\s*$/m.test(i[1])&&(r.memorySkipped=!0);let c=i[1].match(/^title:\s*(.+?)\s*$/m);c&&(n=hi(c[1]))}let a=t.match(/<!-- slicc:session-data\n([\s\S]*?)\n-->\n*/);if(a){try{let e=a[1].replace(/-- >/g,`-->`),t=JSON.parse(e);if(Array.isArray(t))return{title:n,messages:t,...r}}catch{}t=t.replace(/<!-- slicc:session-data\n[\s\S]*?\n-->\n*/,``)}return t=t.replace(/^#\s+[^\n]*\n+/,``),{title:n,messages:_i(t),...r}}function hi(e){let t=e.trim();if(!t.startsWith(`"`))return t;try{let e=JSON.parse(t);if(typeof e==`string`)return e}catch{}return t.replace(/^"|"$/g,``)}function gi(e,t){let n=RegExp(`^${t}:\\s*(.+?)\\s*$`,`m`).exec(e)?.[1];if(n)try{return JSON.parse(n)}catch{return}}function _i(e){let t=[],n=/^## (User|Assistant)\s*\n/gm,r=[],i;for(;(i=n.exec(e))!==null;)r.push({role:i[1]===`User`?`user`:`assistant`,start:i.index,bodyStart:i.index+i[0].length});for(let n=0;n<r.length;n++){let i=n+1<r.length?r[n+1].start:e.length,a=e.slice(r[n].bodyStart,i).trim();t.push({id:`frozen-${n}`,role:r[n].role,content:a,timestamp:0})}return t}function vi(e){let t=``;for(let n of e){let e=n.role===`user`?`User`:`Assistant`,r=n.role===`user`?m(n.content):n.content;if(t+=`## ${e}\n${r}\n\n`,n.attachments?.length&&(t+=`Attachments:\n${n.attachments.map(e=>`- ${y(e)}`).join(`
386
- `)}\n\n`),n.toolCalls)for(let e of n.toolCalls)t+=`### Tool: ${e.name}\nInput: ${JSON.stringify(e.input,null,2)}\nResult: ${e.result??``}\n\n`}return t}var yi=e({PENDING_SESSION_ATTEMPT_LIMIT:()=>3,SESSIONS_INDEX_PATH:()=>z,curateFrozenSessionMemories:()=>Ti,enrichPendingSession:()=>ia,freezeConeSession:()=>wi,listPendingEnrichments:()=>ta,markSnapshotUnavailable:()=>xa,processPendingSessions:()=>na,readSessionsIndex:()=>B}),U=d(`session-freezer`),bi=4,xi=2048,Si=40,Ci=`${R}/attachments`;async function wi(e){let t=await Hi(e.sessionStore,Bi(e));if(!t||t.messages.length<bi)return U.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=Ui(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);!e.agenticMemorySpawn&&e.memory!==`skip`&&await Oi(e,n,i);let a=await ki(e,n,i)||Yi(t.messages);return await Ai(e,t,a,r,i?await Ei(e,a):void 0,!!e.agenticMemorySpawn&&e.memory!==`skip`)}async function Ti(e,t){let n=Ui(t.archive.messages),r;try{r=await Kr({spawn:e.agenticMemorySpawn,vfs:e.vfs,sessionArchivePath:V(t),sessionCount:await Tr(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 ga(e.vfs,t.filename);return await sa(e.vfs,t.filename),n?(delete t.memoryPending,U.info(`Agentic memory pass completed`,{filename:t.filename}),n):(U.info(`Agentic memory pass completed; index entry already gone`,{filename:t.filename}),null)}return await va(e.vfs,t.filename,r.reason),r.legacyFallbackSafe?(U.warn(`Agentic memory pass failed after finishing — falling back to legacy extraction`,{filename:t.filename,reason:r.reason}),await Oi(e,n,!0),null):(U.warn(`Agentic memory pass unfinished — entry stays pending for boot catch-up`,{filename:t.filename,reason:r.reason,attemptLimit:3}),null)}async function Ei(e,t){try{return Di(await(e.pickIcon??(await l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CcFoANd_.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([14,1,15,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,38]))).pickLucideIcon)({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){U.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function Di(e){if(e)return _t(e)?e:void 0}async function Oi(e,t,n){if(!n){U.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let i=``;try{i=await r({messages:t,instruction:o,model:e.model,apiKey:e.apiKey,maxTokens:xi,headers:e.headers})}catch(e){U.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!i.trim()||i.trim()===`NONE`){U.info(`Memory extraction returned no durable memories`);return}try{await $i(e.vfs,Vi(Bi(e)),i.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),U.info(`Memory extracted and appended on new-session`)}catch(e){U.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function ki(e,t,n){if(!n)return``;try{return Ji(await r({messages:t,instruction:s,model:e.model,apiKey:e.apiKey,maxTokens:Si,headers:e.headers}))}catch(e){return U.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function Ai(e,t,n,r,i,a=!1){let o=new Date().toISOString(),s=crypto.randomUUID(),c=r===`quick`?`pending-${Zi()}.md`:`${o.replace(/[:.]/g,`-`)}-${Xi(n)}.md`,l=ji(t.messages),u=Bi(e),d={cone:u,...u!==`cone`&&e.cone?.label?{coneLabel:e.cone.label}:{}},f={filename:c,sessionId:s,title:n,frozenAt:o,messageCount:t.messages.length,...l??{},...d,...i?{icon:i}:{},...r===`quick`?{pendingEnrichment:!0}:{},...a?{memoryPending:!0}:{},...e.memory===`skip`?{memorySkipped:!0}:{}};try{await W(e.vfs,R);let r=await Pi(e.vfs,t.messages,c.replace(/\.md$/,``)),i={id:t.id,title:n,frozenAt:o,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:r,...l??{},...d,...e.memory===`skip`?{memorySkipped:!0}:{}},a=qi(i);return await e.vfs.writeFile(`${R}/${c}`,a),await ea(e.vfs,f),await e.vfs.flush(),U.info(`Cone session frozen`,{filename:c,title:n,cone:u,messageCount:t.messages.length}),{...f,archive:i}}catch(e){return U.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}function ji(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||!Ni(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 Mi(e){return typeof e==`number`&&Number.isFinite(e)}function Ni(e){let{cost:t}=e;return[e.input,e.output,e.cacheRead,e.cacheWrite].every(Mi)&&[t.input,t.output,t.cacheRead,t.cacheWrite,t.total].every(Mi)}async function Pi(e,t,n){let r={vfs:e,archiveDir:`${Ci}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(Li)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await Fi(r,n));i.push({...e,attachments:t})}return i}async function Fi(e,t){if(!Li(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await Ii(e.vfs,t.path);if(!r)return zi(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await W(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function Ii(e,t){try{if(!await Ri(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 Li(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function Ri(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 zi(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}function Bi(e){return e.cone?.folder||`cone`}function Vi(e){return ir({parentJid:null,folder:e}).memoryPath}async function Hi(e,t){let n=wt({folder:t});try{return await e.load(n)}catch(e){return U.warn(`Failed to load cone chat session`,{sessionId:n,error:e instanceof Error?e.message:String(e)}),null}}function Ui(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}var Wi=`<!-- slicc:session-data
386
+ `)}\n\n`),n.toolCalls)for(let e of n.toolCalls)t+=`### Tool: ${e.name}\nInput: ${JSON.stringify(e.input,null,2)}\nResult: ${e.result??``}\n\n`}return t}var yi=e({PENDING_SESSION_ATTEMPT_LIMIT:()=>3,SESSIONS_INDEX_PATH:()=>z,curateFrozenSessionMemories:()=>Ti,enrichPendingSession:()=>ia,freezeConeSession:()=>wi,listPendingEnrichments:()=>ta,markSnapshotUnavailable:()=>xa,processPendingSessions:()=>na,readSessionsIndex:()=>B}),U=d(`session-freezer`),bi=4,xi=2048,Si=40,Ci=`${R}/attachments`;async function wi(e){let t=await Hi(e.sessionStore,Bi(e));if(!t||t.messages.length<bi)return U.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=Ui(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);!e.agenticMemorySpawn&&e.memory!==`skip`&&await Oi(e,n,i);let a=await ki(e,n,i)||Yi(t.messages);return await Ai(e,t,a,r,i?await Ei(e,a):void 0,!!e.agenticMemorySpawn&&e.memory!==`skip`)}async function Ti(e,t){let n=Ui(t.archive.messages),r;try{r=await Kr({spawn:e.agenticMemorySpawn,vfs:e.vfs,sessionArchivePath:V(t),sessionCount:await Tr(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 ga(e.vfs,t.filename);return await sa(e.vfs,t.filename),n?(delete t.memoryPending,U.info(`Agentic memory pass completed`,{filename:t.filename}),n):(U.info(`Agentic memory pass completed; index entry already gone`,{filename:t.filename}),null)}return await va(e.vfs,t.filename,r.reason),r.legacyFallbackSafe?(U.warn(`Agentic memory pass failed after finishing — falling back to legacy extraction`,{filename:t.filename,reason:r.reason}),await Oi(e,n,!0),null):(U.warn(`Agentic memory pass unfinished — entry stays pending for boot catch-up`,{filename:t.filename,reason:r.reason,attemptLimit:3}),null)}async function Ei(e,t){try{return Di(await(e.pickIcon??(await l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-Bs6a9ohB.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([14,1,15,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,38,39]))).pickLucideIcon)({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){U.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function Di(e){if(e)return _t(e)?e:void 0}async function Oi(e,t,n){if(!n){U.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let i=``;try{i=await r({messages:t,instruction:o,model:e.model,apiKey:e.apiKey,maxTokens:xi,headers:e.headers})}catch(e){U.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!i.trim()||i.trim()===`NONE`){U.info(`Memory extraction returned no durable memories`);return}try{await $i(e.vfs,Vi(Bi(e)),i.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),U.info(`Memory extracted and appended on new-session`)}catch(e){U.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function ki(e,t,n){if(!n)return``;try{return Ji(await r({messages:t,instruction:s,model:e.model,apiKey:e.apiKey,maxTokens:Si,headers:e.headers}))}catch(e){return U.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function Ai(e,t,n,r,i,a=!1){let o=new Date().toISOString(),s=crypto.randomUUID(),c=r===`quick`?`pending-${Zi()}.md`:`${o.replace(/[:.]/g,`-`)}-${Xi(n)}.md`,l=ji(t.messages),u=Bi(e),d={cone:u,...u!==`cone`&&e.cone?.label?{coneLabel:e.cone.label}:{}},f={filename:c,sessionId:s,title:n,frozenAt:o,messageCount:t.messages.length,...l??{},...d,...i?{icon:i}:{},...r===`quick`?{pendingEnrichment:!0}:{},...a?{memoryPending:!0}:{},...e.memory===`skip`?{memorySkipped:!0}:{}};try{await W(e.vfs,R);let r=await Pi(e.vfs,t.messages,c.replace(/\.md$/,``)),i={id:t.id,title:n,frozenAt:o,createdAt:t.createdAt,updatedAt:t.updatedAt,messageCount:t.messages.length,messages:r,...l??{},...d,...e.memory===`skip`?{memorySkipped:!0}:{}},a=qi(i);return await e.vfs.writeFile(`${R}/${c}`,a),await ea(e.vfs,f),await e.vfs.flush(),U.info(`Cone session frozen`,{filename:c,title:n,cone:u,messageCount:t.messages.length}),{...f,archive:i}}catch(e){return U.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}function ji(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||!Ni(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 Mi(e){return typeof e==`number`&&Number.isFinite(e)}function Ni(e){let{cost:t}=e;return[e.input,e.output,e.cacheRead,e.cacheWrite].every(Mi)&&[t.input,t.output,t.cacheRead,t.cacheWrite,t.total].every(Mi)}async function Pi(e,t,n){let r={vfs:e,archiveDir:`${Ci}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(Li)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await Fi(r,n));i.push({...e,attachments:t})}return i}async function Fi(e,t){if(!Li(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await Ii(e.vfs,t.path);if(!r)return zi(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await W(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function Ii(e,t){try{if(!await Ri(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 Li(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function Ri(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 zi(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}function Bi(e){return e.cone?.folder||`cone`}function Vi(e){return ir({parentJid:null,folder:e}).memoryPath}async function Hi(e,t){let n=wt({folder:t});try{return await e.load(n)}catch(e){return U.warn(`Failed to load cone chat session`,{sessionId:n,error:e instanceof Error?e.message:String(e)}),null}}function Ui(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}var Wi=`<!-- slicc:session-data
387
387
  `,Gi=`
388
388
  -->`;function Ki(e){return e.map(e=>{let t={id:e.id,role:e.role,content:e.content,timestamp:e.timestamp};return e.attachments?.length&&(t.attachments=e.attachments),e.toolCalls?.length&&(t.toolCalls=e.toolCalls.map(e=>({id:e.id,name:e.name,input:e.input,...e.result===void 0?{}:{result:e.result},...e.isError?{isError:e.isError}:{}}))),e.source&&(t.source=e.source),e.channel&&(t.channel=e.channel),t})}function qi(e){let t=(e.cost?`cost: ${JSON.stringify(e.cost)}\n`:``)+(e.models?`models: ${JSON.stringify(e.models)}\n`:``),n=(e.cone?`cone: ${e.cone}\n`:``)+(e.coneLabel?`coneLabel: ${JSON.stringify(e.coneLabel)}\n`:``)+(e.memorySkipped?`memorySkipped: true
389
389
  `:``),r=`---\nid: ${e.id}\ntitle: ${JSON.stringify(e.title)}\nfrozenAt: ${e.frozenAt}\ncreatedAt: ${e.createdAt}\nupdatedAt: ${e.updatedAt}\nmessageCount: ${e.messageCount}\n`+t+n+`---
390
390
 
391
391
  `,i=`${Wi}${JSON.stringify(Ki(e.messages)).replace(/-->/g,`-- >`)}${Gi}\n\n`,a=`# ${e.title}\n\n`;return r+i+a+vi(e.messages)}function Ji(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}function Yi(e){let t=e.find(e=>e.role===`user`);if(!t?.content)return`untitled-session`;let n=t.content.trim().replace(/\s+/g,` `);return n.length>60?`${n.slice(0,60)}…`:n||`untitled-session`}function Xi(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,48)||`session`}function Zi(){return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,6)}`}function Qi(e){return e.startsWith(`pending-`)}async function W(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function $i(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 Ke)||t.code!==`ENOENT`)throw t;await W(e,a.slice(0,a.lastIndexOf(`/`)))}let s=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${r})`,c=`${o.length===0||o.endsWith(`
392
392
  `)?``:`
393
- `}\n${s}\n\n${n}\n`;await e.writeFile(a,o+c);try{await Dr({vfs:e,memoryPath:a,model:i?.model,apiKey:i?.apiKey,headers:i?.headers,signal:i?.signal})}catch(e){U.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function ea(e,t){let n=[];try{let t=await e.readFile(z,{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 Ke)||e.code!==`ENOENT`)throw e}let r=[t,...n.filter(e=>e.filename!==t.filename)];await e.writeFile(z,JSON.stringify(r,null,2))}async function ta(e){return(await B(e)).filter(e=>(e.pendingEnrichment===!0||e.memoryPending===!0)&&ra(e)<3)}async function na(e){let t={attempted:0,completed:0};if(!e.model||!e.apiKey)return t;try{for(let t of await B(e.vfs))t.memoryPending===!0&&t.memoryFailed===void 0&&ra(t)>=3&&await va(e.vfs,t.filename,`catch-up retries exhausted (3)`);let n=await ta(e.vfs);for(let r of n)try{let n=await _a(e.vfs,r.filename);if(!n)continue;t.attempted+=1,await ia(e.vfs,n,{model:e.model,apiKey:e.apiKey,headers:e.headers})&&(t.completed+=1)}catch(e){U.warn(`Pending session catch-up attempt failed`,{filename:r.filename,error:e instanceof Error?e.message:String(e)})}}catch(e){U.warn(`Pending session catch-up failed`,{error:e instanceof Error?e.message:String(e)})}return t}function ra(e){let t=e.pendingAttemptCount;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:0}async function ia(e,t,n){if(!t.pendingEnrichment&&!t.memoryPending)return null;let r=await la(e,t);if(r===null)return null;let i=ua(t,r);if(i===null)return null;let a=t.memoryPending===!0&&n.skipMemory!==!0&&await oa(e,t),o=a||t.memorySkipped===!0?{...n,skipMemory:!0}:n,s=await da(t,i,o);if(s===null)return null;let c=await ca(o,s.newTitle);await fa(e,t,s.bullets,o);let l=await ma(e,t,r,s.newTitle,c,n.skipMemory===!0);return l&&a&&(await sa(e,t.filename),await ya(e,l.filename),await aa(e,t.filename)),l}async function aa(e,t){for(let n of[oi(`/sessions/${t}`),si(`/sessions/${t}`)])try{await e.rm(n)}catch{}}async function oa(e,t){try{return await e.stat(ai(`/sessions/${t.filename}`)),!0}catch{return!1}}async function sa(e,t){try{await e.rm(ai(`/sessions/${t}`))}catch{}}async function ca(e,t){if(e.pickIcon)try{return await Di(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){U.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function la(e,t){try{let n=await e.readFile(V(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?U.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):U.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}function ua(e,t){let n;try{n=H(t).messages}catch(t){return U.warn(`Failed to parse pending archive — leaving entry intact`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return n.length===0?(U.info(`Pending archive has no messages — skipping enrichment`,{filename:e.filename}),null):Ui(n)}async function da(e,t,n){let i=``;if(!n.skipMemory)try{i=await r({messages:t,instruction:o,model:n.model,apiKey:n.apiKey,maxTokens:xi,headers:n.headers})}catch(t){return U.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let a=``;try{a=Ji(await r({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:Si,headers:n.headers}))}catch(t){return U.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return a?{bullets:i,newTitle:a}:(U.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function fa(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await $i(e,Vi(t.cone||`cone`),i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){U.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}function 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 ma(e,t,n,r,i,a=!1){let o=V(t),s=Qi(t.filename),c=s?r:t.title,l=s?`${t.frozenAt.replace(/[:.]/g,`-`)}-${Xi(r)}.md`:t.filename,u=`${R}/${l}`;if(s)try{await W(e,R),await e.writeFile(u,ha(n,c))}catch(e){return U.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 ba(e,t.filename,d)}catch(e){return U.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){U.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:o,error:e instanceof Error?e.message:String(e)})}try{await e.flush()}catch{}return U.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:l,title:c}),d}function ha(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}`}var G=Promise.resolve();async function ga(e,t){let n=null,r=async()=>{let r=await B(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(z,JSON.stringify(d,null,2)),await e.flush(),n=u},i=G.then(r,r);G=i.then(()=>void 0,()=>void 0);try{await i}catch(e){U.warn(`Failed to clear agentic memory pending marker`,{filename:t,error:e instanceof Error?e.message:String(e)})}return n}async function _a(e,t){let n=null,r=async()=>{let r=await B(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r[i];if(!a.pendingEnrichment&&!a.memoryPending)return;let o=ra(a);if(o>=3)return;n={...a,pendingAttemptCount:o+1};let s=r.slice();s[i]=n,await e.writeFile(z,JSON.stringify(s,null,2)),await e.flush()},i=G.then(r,r);return G=i.then(()=>void 0,()=>void 0),await i,n}async function va(e,t,n){let r=async()=>{let r=await B(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(z,JSON.stringify(a,null,2)),await e.flush()},i=G.then(r,r);G=i.then(()=>void 0,()=>void 0);try{await i}catch(e){U.warn(`Failed to record curator failure in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function ya(e,t){let n=async()=>{let n=await B(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(z,JSON.stringify(o,null,2)),await e.flush()},r=G.then(n,n);G=r.then(()=>void 0,()=>void 0);try{await r}catch(e){U.warn(`Failed to record curator completion in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function ba(e,t,n){let r=async()=>{let r=[];try{let t=await e.readFile(z,{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 Ke)||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(z,JSON.stringify(a,null,2))},i=G.then(r,r);return G=i.then(()=>void 0,()=>void 0),i}async function xa(e,t){let n=async()=>{let n=[];try{let t=await e.readFile(z,{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 Ke)||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(z,JSON.stringify(r,null,2))},r=G.then(n,n);return G=r.then(()=>void 0,()=>void 0),r}var Sa=`slicc:followers-changed`;function Ca(e){let t=e.replace(/^follower-/,``);return t.length>12?`${t.slice(0,8)}…`:t}function wa(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 Ta(e){return e.floatType===`ios`?`smartphone`:e.floatType===`electron`||e.floatType===`standalone`?`monitor`:e.floatType===`extension`?`blocks`:e.runtime?.includes(`cli`)?`terminal`:`radio`}function Ea(e,t=Date.now()){if(!e)return null;let n=new Date(e).getTime();if(!Number.isFinite(n))return null;let r=Math.max(0,Math.floor((t-n)/1e3));return r<60?`${r}s`:r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}d`}function Da(e){return e.health===`stalled`?`warn`:e.peerState===`connecting`?`idle`:e.peerState===`connected`&&e.health===`live`?`active`:`idle`}function Oa(e,t=Date.now()){let n=e.health===`stalled`?`stalled`:e.peerState===`connecting`?`connecting`:`connected`,r=Ea(e.connectedAt,t);return r?`${n} ${r}`:n}function ka(e){let t=[];return e.exec&&t.push(`can run commands`),e.cdp&&t.push(`hosts tabs`),t}function Aa(e){return`${wa(e)} · ${Ca(e.runtimeId)}`}function ja(e){return e.motd??e.runtime??void 0}function Ma(e,t=Date.now()){return e.map(e=>({id:e.runtimeId,icon:Ta(e),title:Aa(e),detail:ja(e),state:Da(e),stateText:Oa(e,t),chips:ka(e)}))}var Na=`__slicc_binary__`,Pa=`b64`;function Fa(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[Na]===Pa&&typeof t.data==`string`}function Ia(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function La(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!Fa(e)}function Ra(e){if(e instanceof Uint8Array)return{[Na]:Pa,data:ge(e)};if(Array.isArray(e))return e.map(Ra);if(Ia(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=Ra(r);return t}return e}function za(e){if(Fa(e))return _e(e.data);if(Array.isArray(e))return e.map(za);if(La(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=za(r);return t}return e}var Ba=d(`panel-transport`);function Va(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Ha(){return{onMessage:e=>{let t=(t,n,r)=>(Va(t)&&e(za(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=Ra(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{Ba.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var Ua=`unknown-parent`,Wa=2e3,K=d(`offscreen-client`),Ga=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;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){K.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??Ha(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}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(!C(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&&C(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-${q()}`,r=new Promise(e=>{this.pendingModelAcks.set(n,e)});return this.send({type:`set-scoop-model`,requestId:n,scoopJid:e,model:t}),Promise.race([r,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingModelAcks.delete(n))}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${q()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(e){let t=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingClearAcks.set(t,e)});this.send({type:`clear-chat`,requestId:t,...e?{scoopJid:e}:{}}),await Promise.race([n,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(t)}spawnAgent(e){let t=`agent-${q()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&K.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`}),t))]);return this.pendingSudoRequests.delete(n),i}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}K.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,originLabel:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}async sendWebhookEvent(e,t,n){let r=`wh-${q()}`,i=new Promise(e=>{this.pendingWebhookDeliveries.set(r,e)});this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n,requestId:r});try{return await Promise.race([i,new Promise(e=>setTimeout(()=>e(null),Wa))])}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?(K.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):K.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state),this.renderCompactionNotice(e.scoopJid,e.state);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??[]}));break}case`tray-runtime-status`:{let t=e;Ka(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){K.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}-${q()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});return}let t=this.currentMessageId.get(e.scoopJid);t&&(e.eventType===`tool_ui_done`?this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``}):e.progress&&this.emitToUI({type:`tool_progress`,messageId:t,toolName:e.toolName??``,progress:e.progress,toolCallId:e.toolCallId}))}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if((e.displayScoopJid??e.scoopJid)===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${q()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${q()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_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}-${q()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}renderCompactionNotice(e,t){if(e!==this.selectedScoopJid)return;let n;if(t===`summarizing`)n=`Context window almost exceeded — compacting history…`;else if(t===`fallback`)n=`Compaction summarization failed — continuing with older messages truncated.`;else return;let r=`compaction-${e}-${q()}`;this.emitToUI({type:`message_start`,messageId:r}),this.emitToUI({type:`content_delta`,messageId:r,text:n}),this.emitToUI({type:`content_done`,messageId:r})}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.coneJidFromRecords(this.scoops));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)}handleScoopModelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&(t.model=e.model?{...e.model}:void 0)}this.pendingModelAcks.get(e.requestId)?.(e.applied)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&Tt(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(t=>this.msgScoopToRegistered(t,this.coneJidFromWire(e.scoops)));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){K.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(t=>this.msgScoopToRegistered(t,this.coneJidFromWire(e.scoops)));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&Ka(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){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})}coneJidFromRecords(e){return e.find(e=>C(e))?.jid??null}coneJidFromWire(e){return e.find(e=>e.parentId===void 0?e.isCone:e.parentId===null)?.jid??null}msgScoopToRegistered(e,t){return bt({jid:e.jid,name:e.name,folder:e.folder,parentJid:e.parentId===void 0?e.isCone?null:t??Ua:e.parentId,requiresTrigger:!e.isCone,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}})}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){K.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function q(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function Ka(e,t){yt({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),Re({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 J(e){return!e.includes(`\0`)}function qa(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!J(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!J(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!J(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!J(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(J(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function Ja(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 Ya(e){let t=Ja(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function Xa(e,t,n,r){let i=e;if(i?.type){if(i.type===`cdp-cmd`){let r=e;try{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(i.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(i.type===`cdp-unsubscribe`){let n=e,i=r.get(n.event);if(!i)return;r.delete(n.event),t.off(n.event,i)}}}function Za(e,t){let n=Ja(e),r=new Map,i=n.onMessage(e=>{Xa(e,t,n,r)});return()=>{i();for(let[e,n]of r)t.off(e,n);r.clear()}}function Qa(){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 $a(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 eo(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=Ya(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Za(o.port1,n),{ready:u,cleanup:d}=$a(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.110.2-mte76qn3`,flagFloat:e.flagFloat??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 to(e){return eo({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-DQDT4Cud.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Qa(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError,onReadyStall:e.onReadyStall,readyStallLimit:e.readyStallLimit,onLateReady:e.onLateReady})}var no=1048576,ro=`r`;function io(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function ao(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function oo(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++)oo(e[r],`${t}/${r}`,n);return}if(ao(e))for(let[r,i]of Object.entries(e))oo(i,`${t}/${io(r)}`,n)}function so(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=so(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(ao(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=so(o,`${t}/${io(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function co(e,t,n){if(ao(e))return so(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=co(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function lo(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 uo(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new S(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>no)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new S(`redaction-unavailable`)}if(c.length!==s.length)throw new S(`redaction-unavailable`);r.push(...c),i=o}return r}function fo(e,t,n,r){let i=[],a=lo(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=lo(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}=be(t,ro,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 po(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 mo(e,t,n,r){if(r?.aborted)throw new S(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];oo(a,``,o);let s=[...t.entries()],c=await uo([...o.map(e=>e.value),...s.map(([,e])=>e)],n,r),l=[],u={},d=1,f=new Map,p=[];for(let e=0;e<o.length;e++){let t=o[e],n=fo(t.value,c[e],{kind:`json`,pointer:t.pointer},d);d=n.nextId,n.finalText!==t.value&&f.set(t.pointer,n.finalText),p.push(n)}po(p,l,u);let m=new Map,h=o.length,g=[];for(let e=0;e<s.length;e++){let[t,n]=s[e],r=fo(n,c[h+e],{kind:`attachment`,attachmentId:t},d);d=r.nextId,m.set(t,r.finalText),g.push(r)}po(g,l,u);let _=co(e,``,f);return{document:{..._,privacy:{..._.privacy,redactionCounts:u,redactions:l}},textAttachments:m}}function ho(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 _o={"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 vo(e,t){return _o[e]??(t===`text-redacted`?`.txt`:`.bin`)}function yo(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${vo(t,n)}`}function bo(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 So(e,t,n,r,i){let a=ho(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(bo(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=bo(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 Co(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:bo(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(So(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function wo(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 To(e,t,n,r,i,a,o){let s=wo(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(So(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function Eo(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=To(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 Do(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,yo(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function Oo(e,t,n,r,i){let{rawAttachments:a,textMap:o}=Do(e,n),s,c;try{let e=await mo({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof S?e:new S(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new S(`schema-invalid`);l.set(t.attachmentId,t)}let u=new Map,d=await Promise.all(s.attachments.map(async e=>{if(!e.present||!e.path)return e;let t=l.get(e.id);if(t===void 0)throw new S(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await go(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function ko(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}=Co(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}=Eo(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 Oo(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 Ao=50;function jo(e){return wt(e)}function Mo(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 No(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:C(t)?`cone`:`scoop`,name:t.name,...t.folder&&!C(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=jo(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function Po(e,t,n={}){let r=e=>n.rootJid===void 0?e:xt(e,n.rootJid);for(;;){let n=r(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(Ao,t),t?.aborted))throw new S(`transfer-aborted`);let i=Mo(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new S(`transfer-aborted`);let s=r(e.listScoops());if(i===Mo(s,e))return No(s,a,o,e)}}function Fo(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function Io(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function Lo(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(Io(t,r++));return n}function Ro(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=Io(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 zo(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=Io(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 Bo(e,t,n){let r=Fo(t,n),i=Lo(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 Vo(e,t,n){let r=Fo(t,n),{blocks:i,excluded:a,images:o}=Ro(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 Ho(e,t,n){let r=Fo(t,n),{blocks:i,images:a}=zo(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 Uo(e,t,n){return e.role===`user`?Bo(e,t,n):e.role===`assistant`?Vo(e,t,n):e.role===`toolResult`?Ho(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function Wo(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 Go(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=Uo(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:Wo(e),excludedReasoningBlocks:t,canonicalImages:n}}var Ko=(()=>{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 qo(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^Ko[(t^e[n])&255];return~t>>>0}var Jo=new TextEncoder;function Y(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function X(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 Yo(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,Y(r,4,20),Y(r,6,2048),Y(r,8,0),Y(r,10,0),Y(r,12,0),X(r,14,n),X(r,18,t),X(r,22,t),Y(r,26,e.length),Y(r,28,0),r.set(e,30),r}function Xo(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,Y(i,4,20),Y(i,6,20),Y(i,8,2048),Y(i,10,0),Y(i,12,0),Y(i,14,0),X(i,16,n),X(i,20,t),X(i,24,t),Y(i,28,e.length),Y(i,30,0),Y(i,32,0),Y(i,34,0),Y(i,36,0),X(i,38,0),X(i,42,r),i.set(e,46),i}function Zo(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,Y(r,4,0),Y(r,6,0),Y(r,8,e),Y(r,10,e),X(r,12,t),X(r,16,n),Y(r,20,0),r}function Qo(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 $o(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${e.session.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``).slice(0,40)||`transcript`}-${n}.zip`}async function*es(e,t,n,r,i){if(n?.aborted)throw i(new S(`transfer-aborted`)),new S(`transfer-aborted`);let a=()=>i(new S(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=We.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=Jo.encode(`transcript.json`),f=qo(i),p=Yo(a,i.length,f);if(l.push({nameBytes:a,size:i.length,crc:f,localOffset:c}),n?.aborted||(yield*d(p),n?.aborted))throw new S(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new S(`transfer-aborted`);let t=Jo.encode(e),i=qo(r),a=Yo(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new S(`transfer-aborted`);yield*d(r)}let m=c;for(let e of l){if(n?.aborted)throw new S(`transfer-aborted`);yield*d(Xo(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new S(`transfer-aborted`);yield*d(Zo(l.length,c-m,m)),u=!0,r({byteLength:s,sha256:o.hex()})}catch(e){throw u=!0,i(e),e}finally{n?.removeEventListener(`abort`,a),u||(u=!0,i(new S(`transfer-aborted`)))}}var ts=4294967295,ns=65535;function rs(e,t,n){for(let e of t.keys())if(!Qo(e))throw new S(`schema-invalid`);if(t.size+1>ns)throw new S(`schema-invalid`);for(let e of t.values())if(e.byteLength>ts)throw new S(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:$o(e),chunks:es(e,t,n,r,i),completion:a}}function is(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:ye},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 as(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 os(e){if(!ve(e).ok)throw new S(`schema-invalid`)}function ss(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 cs(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 ls(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 us=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),os(i.document),r?.({phase:`packaging`}),rs(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await Po(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=Go(n.sources),{document:i,bundleFiles:a}=await ko({document:is(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});os(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 Po(this.deps.collection,e),r=Go(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=is(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),ko({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 mo(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new S(`redaction-unavailable`)}let a=ss(r.attachments,i,e.attachments),o=await cs(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,t,n){let r=(await B(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!r)throw new S(`session-not-found`);let i;try{let e=await this.deps.vfs.readFile(`/sessions/${r.filename}`,{encoding:`utf-8`});i=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new S(`session-not-found`)}let{title:a,messages:o}=H(i),s=`legacy-cone`,c=as(o,s),l=ls(i),u={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:ye},session:{id:e,title:a,state:`frozen`,...r.frozenAt?{frozenAt:r.frozenAt}:{},...l,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:s,kind:`cone`,name:a,messages:c}],delegations:[],attachments:[]},d=new Map([[s,o]]);return n?.({phase:`redacting`}),ko({document:u,chatMessagesByConversation:d,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:t})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new S(`attachment-unreadable`);return t}},ds=`/sessions/data`,fs=`document.json`;async function ps(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 ms(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new S(`session-not-found`)}function hs(e){return`${ds}/${e}`}function gs(e){return`${ds}/.tmp-${e}`}async function _s(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function Z(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 Z(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function vs(e,t,n){await _s(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 vs(e,r,a);else{let t=await e.readFile(r,{encoding:`binary`});await e.writeFile(a,t)}}}async function ys(e,t,n){ms(t);let r=gs(t),i=hs(t),a=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!a.has(e))throw new S(`schema-invalid`);await Z(e,i),await _s(e,r);try{let t=[...n.document.attachments];for(let[e,r]of n.attachments){let n=await ps(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}/${fs}`,s),n.attachments.size>0)for(let[t,i]of n.attachments){let n=`${r}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await _s(e,`${r}/${t.slice(0,a)}`),await e.writeFile(n,i)}await e.flush(),await vs(e,r,i),await e.flush()}catch(t){throw await Z(e,r),t}await Z(e,r)}async function bs(e,t){ms(t);let n=hs(t),r=`${n}/${fs}`,i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new S(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new S(`schema-invalid`)}if(!ve(a).ok)throw new S(`schema-invalid`);let o=new Map;for(let t of a.attachments){if(!t.present||!t.path)continue;let r=`${n}/${t.path}`,i;try{let t=await e.readFile(r,{encoding:`binary`});i=t instanceof Uint8Array?t:new TextEncoder().encode(t)}catch{throw new S(`transfer-corrupt`)}if(await ps(i)!==t.sha256)throw new S(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}function xs(e){return`error`in e}function Q(){throw new S(`redaction-unavailable`)}function Ss(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&Q(),e.texts}function Cs(){return{async redact(e){let t;try{t=await fetch(Se(`/api/secrets/redact-export`),{method:`POST`,headers:Ce({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{Q()}t.ok||Q();let n;try{n=await t.json()}catch{Q()}return Ss(n,e.length)}}}function ws(){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{Q()}return typeof t==`object`&&t&&xs(t)&&Q(),Ss(t,e.length)}}}function Ts(){return{async redact(e){let t;try{t=await Te(`secrets.redact-export`,{texts:e})}catch{Q()}return t??Q(),typeof t==`object`&&t&&xs(t)&&Q(),Ss(t,e.length)}}}function Es(){return{async redact(e){Q()}}}function Ds(){let e=we();return e===`connect`?Es():e===`extension-direct`?ws():e===`extension-delegate`?Ts():Cs()}function Os(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i={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,...e.config?{config:e.config,configSchemaVersion:3}:{},...e.notifyOnComplete===!1?{notifyOnComplete:!1}:{}};return n||(i.trigger=`@${r}`),i}var ks=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,As=`${ks}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,js=`${ks}border:none;background:#d23;color:#fff;`,Ms=`${ks}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function Ns(e,t,n){return{...Os({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function Ps(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 Fs(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 Is(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=()=>Lt(n.getScoops(),e.getSelected()),u=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},d=e=>{u();let t=Ps(i,{...e,onDismiss:e=>{s===e&&(s=null),e.remove()}});s=t,i.body.append(t),t.show?.()},f=e=>{if(!e.name)return;u();let t=l(),i=Ns(e.name,n.getScoops(),t?St(t):void 0);a=e.name,n.registerScoop(i,e.brief?{description:e.brief,prompt:e.brief}:{}).catch(e=>r.warn(`WC cone create failed`,e)),g()},p=()=>{let e=Fs(i,f);d({heading:`New cone`,body:e,actions:[{text:`Create`,style:As,data:`create`,onClick:()=>f(e.readDraft())},{text:`Cancel`,style:Ms,data:`cancel`,onClick:u}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},m=t=>{u();let i=w(n.getScoops()),a=i.find(e=>e.jid===t);if(!a||i.length<=1||o){g();return}o=!0,g(),(async()=>{try{await e.freezeCone(a)}catch(e){r.warn(`WC cone freeze before drop failed`,e)}let t=l()?.jid===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(t)}o=!1,g()})()},h=e=>{let t=T(e),n=i.createElement(`p`);n.textContent=`Its chat goes to the Freezer.`,n.style.cssText=`font-size:0.875rem;margin:0;`,d({heading:`Drop ${t}?`,body:n,actions:[{text:`Drop`,style:js,data:`drop`,onClick:()=>m(e.jid)},{text:`Cancel`,style:Ms,data:`cancel`,onClick:u}]})},g=()=>{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()?.jid!==n.jid&&e.selectScoop(n))}let r=c();r?.setAttribute(`cones`,String(t.length)),r?.toggleAttribute(`busy`,o)};return t.addEventListener(`new-cone`,p),t.addEventListener(`drop-cone`,()=>{let e=l();!e||w(n.getScoops()).length<=1||o||h(e)}),g(),{refresh:g,dialog:()=>s}}var Ls=5e3,Rs=class{deps;listListeners=new Set;unitListeners=new Map;lastSnapshots=new Map;orphanedReplays=new Map;pendingSnapshots=new Map;constructor(e){this.deps=e}toSummary(e){return Ht(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)})}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.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))}}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:Wt(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 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=new Promise(t=>{setTimeout(()=>{this.forgetWaiter(e,r),t(this.snapshotFor(e,[],void 0))},Ls)});return Promise.race([i,a]).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:`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,scoopJid:e,text:t.text,type:`user-message`,...t.steer?{steer:!0}:{}}),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}signal(e,t){return t===`stop`&&this.deps.getClient()?.stopScoop(e),Promise.resolve()}};function zs(e,t,n,r,i,a){let o=e.map(e=>Ht(e,{awaiting:i===e.jid,fill:n?.get(e.jid),phase:r?.get(e.jid),status:t?.get(e.jid)}));return zt(o,a,g)}function Bs(e){let t=new Rs({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses});e.workUnits=t;let n=()=>{e.getClient()&&(e.refs.switcher.scoops=zt(t.currentUnits(),e.getSelected()?.jid,g)),e.refreshConeActions?.()};t.subscribeList(()=>n());let r=n;e.refreshScoops=r;let i=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),a=()=>{if(e.getSelected()||i())return;let t=e.getClient()?.getScoops()??[],n=e.pendingUrlContext;if(n?.startsWith(`freezer:`))return;if(n?.startsWith(`scoop:`)||n?.startsWith(`cone:`)){let r=Rt(t,n);if(r){e.pendingUrlContext=null,e.selectScoop(r);return}}let r=qt(t);r&&(e.pendingUrlContext=null,e.selectScoop(r))};return t.wrapCallbacks({onStatusChange:(t,n)=>{let i=e.statuses.get(t),a=n;e.statuses.set(t,a),a!==`ready`&&e.awaitingInput===t&&(e.awaitingInput=null),Wt(i)!==Wt(a)&&(r(),e.notifyScoopStateChanged?.()),e.getSelected()?.jid===t&&e.getController()?.setProcessing(n===`processing`)},onScoopCreated:t=>{r(),!e.getSelected()&&!i()&&!e.pendingUrlContext&&e.selectScoop(t)},onScoopListUpdate:t=>{let n=new Set(t.map(e=>e.jid));for(let t of e.lickBackpressure.keys())n.has(t)||e.lickBackpressure.delete(t);r(),a()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(t,n)=>{e.phases.set(t,n),r(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.jid===t&&n.channel!==`web`&&_(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?.jid!==t)return;let i=Jt(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.jid===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onScoopMessagesReplaced:(t,n,r)=>{e.getSelected()?.jid===t&&e.getController()?.loadMessages(n,r)},onReady:()=>{r(),a(),e.notifyReady?.()}})}var Vs=`slicc:leader-local-model-state-changed`;function Hs(e=window){e.dispatchEvent(new Event(Vs))}var Us=`slicc:leader-model-catalog-changed`;function Ws(e=window){e.dispatchEvent(new Event(Us))}var Gs={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Ks={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function qs(e){return e?Gs[e]:void 0}function Js(e){return e===`max`?`max`:void 0}function Ys(e,t){return t===`max`?`max`:(e&&Ks[e])??`off`}var Xs=2e3,Zs=1e4,Qs=12e4;function $s(e){let t=[],n=null,r=e.modelPickerEnabled!==!1,i=e.catalogRetryDelayMs??Xs,a=e.catalogRetryMaxDelayMs??Zs,o=e.catalogRetryWindowMs??Qs,s=0,c=null,l=null,u=()=>{if(!r||l!==null)return;let t=Date.now();if(c===null&&(c=t+o),t>=c)return;let n=Math.min(i*2**s,a);l=setTimeout(()=>{l=null;let t=e.getSync();t?.requestModels&&(s+=1,t.requestModels())},n)},d=()=>{l!==null&&clearTimeout(l),l=null,s=0,c=null},f=()=>{let i=n?t.find(e=>e.modelId===n?.activeModelId):void 0;if(!r||!n||!i){e.composerMeta.style.display=`none`,u();return}e.composerMeta.model=i.modelName,e.composerMeta.setAttribute(`thinking`,Ys(n.thinkingLevel,n.effortOverride)),e.composerMeta.toggleAttribute(`no-thinking`,!i.reasoning),e.composerMeta.style.removeProperty(`display`),d()},p=t=>{e.interceptLocalHandlers&&t.stopImmediatePropagation()};e.composerMeta.addEventListener(`model-change`,t=>{let r=e.getSync();if(!r)return;p(t);let i=t.detail?.id,a=e.getSelectedScoopJid()??n?.scoopJid;i&&r.selectModel(i,a??void 0),f()},{capture:e.interceptLocalHandlers}),e.composerMeta.addEventListener(`thinking-change`,t=>{let r=e.getSync();if(!r)return;if(p(t),e.getLockedEffortLevel?.()){f();return}let i=t.detail?.thinking,a=qs(i),o=e.getSelectedScoopJid()??n?.scoopJid;o&&a&&a!==`max`&&r.setThinkingLevel(o,a,Js(i)),f()},{capture:e.interceptLocalHandlers});let m=()=>{t=[],n=null,d(),e.composerMeta.models=[],e.composerMeta.style.display=`none`};return m(),{onModelsList(n){t=n,e.composerMeta.models=n.map(e=>({id:e.modelId,name:e.modelName,provider:e.providerName})),f()},onModelState(e){n=e,f()},reset:m}}async function ec(e,t,n,r,i=Hs){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function tc(e,t){return Gt(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||Pe(t.localStorage)}async function nc(e,t,n=[]){let r=Vt(t),i=Ut(r);e.thread.setAttribute(`context`,Kt(t));let a=C(t),o=g({isRoot:a,name:t.name});e.thread.setAttribute(`accent`,o),e.switcher.setAttribute(`active`,t.jid),ue(e,a?{kind:`cone`}:{kind:`scoop`,accent:o}),se(e,i);let s=localStorage.getItem(`slicc_locked_effort_level`),c=Dt(t);e.composerMeta.setAttribute(`thinking`,Ys(s??c.level,c.effortOverride));try{let{resolveCurrentModel:r,resolveModelById:i}=await l(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-BK-7ArIz.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([39,1,40,15,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,41,42,43,44,45,46,47,48])),a=St(Lt(n,t)??t),o=a?i(a.id,a.provider):r();e.composerMeta.setAttribute(`model`,o.name??o.id),e.composerMeta.toggleAttribute(`no-thinking`,o.reasoning!==!0||!!s)}catch{}}async function rc(e){if(tc(e.pendingUrlContext,e.win))return;let t=Gt(e.pendingUrlContext);if(t===null)return;let{SessionStore:n}=await l(async()=>{let{SessionStore:e}=await Promise.resolve().then(()=>$t);return{SessionStore:e}},void 0),r=new n;await r.init();let i=await r.load(wt({folder:t}));i&&i.messages.length>0&&!e.hasSelection()&&(e.loadMessages(i.messages),e.onHydrated())}function ic(e){let{boot:t,client:n,agentHandle:r,openReader:i,log:a}=e,{refs:o}=t;l(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-CPMV2eO3.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([49,16,50,1,2,51,25,6,32,42,4,41,5,52,38,53,54,55])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:o.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:o.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),rc({pendingUrlContext:t.wiring.pendingUrlContext,win:window,hasSelection:()=>!!t.getSelected(),loadMessages:e=>t.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>a.warn(`WC session hydration failed`,e));let s=null;return l(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-DM5yRZRS.js`);return{wireWcAttach:e}},__vite__mapDeps([56,16,25,6,57])).then(({wireWcAttach:t})=>{s=t({inputCard:o.inputCard,freezer:o.freezer,composer:o.composer,openReader:i,openWriter:e.openWriter,listConversations:async()=>{let{readSessionsIndex:e}=await l(async()=>{let{readSessionsIndex:e}=await Promise.resolve().then(()=>yi);return{readSessionsIndex:e}},void 0);return(await e(await i())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:a})}).catch(e=>a.error(`WC add-menu wiring failed`,e)),o.switcher.setAttribute(`gaze-target`,`slicc-input-card`),o.inputCard.addEventListener(`input`,()=>{o.switcher.scrutinize(),o.switcher.wake()}),o.inputCard.addEventListener(`submit`,e=>{let n=ce(e);if(!n)return;t.wiring.awaitingInput=null,t.wiring.refreshScoops?.(),t.wiring.notifyScoopStateChanged?.();let r=e.detail?.source===`dictation`;r&&(l(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-O_Z2C0eg.js`);return{markVoiceSubmission:e}},__vite__mapDeps([58,2,50,1,16,51,25,6,32,42,4,41,5,52,38,53,54,55,59,60,61,24,26,27,62])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),l(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-TvriK11t.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([63,2,54])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),t.getController()?.sendUserMessage(n,s?.take(),{dictation:r,steer:b(e)}),o.inputCard.clear?.();let i=t.getSelected()?.jid;i&&(o.switcher.setAttribute(`attention`,i),t.wiring.lastActivity.set(i,n.slice(0,600)))}),o.inputCard.addEventListener(`stop`,()=>{t.getController()?.processing&&r.stop()}),l(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:o.thread,inputCard:o.inputCard})).catch(e=>a.error(`WC history nav wiring failed`,e)),o.composerMeta.addEventListener(`thinking-change`,e=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let r=e.detail?.thinking,i=qs(r),o=Js(r),s=t.getSelected();s&&i&&ec(n,s.jid,i,o).catch(e=>a.warn(`local thinking update failed`,e))}),{getAttachStage:()=>s}}var ac=`<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 oc(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 sc(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(ac));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=oc(e.getMessages());await t(n??vi([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=vi([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function $(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function cc(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 lc(e){return`
393
+ `}\n${s}\n\n${n}\n`;await e.writeFile(a,o+c);try{await Dr({vfs:e,memoryPath:a,model:i?.model,apiKey:i?.apiKey,headers:i?.headers,signal:i?.signal})}catch(e){U.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function ea(e,t){let n=[];try{let t=await e.readFile(z,{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 Ke)||e.code!==`ENOENT`)throw e}let r=[t,...n.filter(e=>e.filename!==t.filename)];await e.writeFile(z,JSON.stringify(r,null,2))}async function ta(e){return(await B(e)).filter(e=>(e.pendingEnrichment===!0||e.memoryPending===!0)&&ra(e)<3)}async function na(e){let t={attempted:0,completed:0};if(!e.model||!e.apiKey)return t;try{for(let t of await B(e.vfs))t.memoryPending===!0&&t.memoryFailed===void 0&&ra(t)>=3&&await va(e.vfs,t.filename,`catch-up retries exhausted (3)`);let n=await ta(e.vfs);for(let r of n)try{let n=await _a(e.vfs,r.filename);if(!n)continue;t.attempted+=1,await ia(e.vfs,n,{model:e.model,apiKey:e.apiKey,headers:e.headers})&&(t.completed+=1)}catch(e){U.warn(`Pending session catch-up attempt failed`,{filename:r.filename,error:e instanceof Error?e.message:String(e)})}}catch(e){U.warn(`Pending session catch-up failed`,{error:e instanceof Error?e.message:String(e)})}return t}function ra(e){let t=e.pendingAttemptCount;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:0}async function ia(e,t,n){if(!t.pendingEnrichment&&!t.memoryPending)return null;let r=await la(e,t);if(r===null)return null;let i=ua(t,r);if(i===null)return null;let a=t.memoryPending===!0&&n.skipMemory!==!0&&await oa(e,t),o=a||t.memorySkipped===!0?{...n,skipMemory:!0}:n,s=await da(t,i,o);if(s===null)return null;let c=await ca(o,s.newTitle);await fa(e,t,s.bullets,o);let l=await ma(e,t,r,s.newTitle,c,n.skipMemory===!0);return l&&a&&(await sa(e,t.filename),await ya(e,l.filename),await aa(e,t.filename)),l}async function aa(e,t){for(let n of[oi(`/sessions/${t}`),si(`/sessions/${t}`)])try{await e.rm(n)}catch{}}async function oa(e,t){try{return await e.stat(ai(`/sessions/${t.filename}`)),!0}catch{return!1}}async function sa(e,t){try{await e.rm(ai(`/sessions/${t}`))}catch{}}async function ca(e,t){if(e.pickIcon)try{return await Di(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){U.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function la(e,t){try{let n=await e.readFile(V(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?U.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):U.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}function ua(e,t){let n;try{n=H(t).messages}catch(t){return U.warn(`Failed to parse pending archive — leaving entry intact`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return n.length===0?(U.info(`Pending archive has no messages — skipping enrichment`,{filename:e.filename}),null):Ui(n)}async function da(e,t,n){let i=``;if(!n.skipMemory)try{i=await r({messages:t,instruction:o,model:n.model,apiKey:n.apiKey,maxTokens:xi,headers:n.headers})}catch(t){return U.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let a=``;try{a=Ji(await r({messages:t,instruction:s,model:n.model,apiKey:n.apiKey,maxTokens:Si,headers:n.headers}))}catch(t){return U.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return a?{bullets:i,newTitle:a}:(U.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function fa(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await $i(e,Vi(t.cone||`cone`),i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){U.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}function 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 ma(e,t,n,r,i,a=!1){let o=V(t),s=Qi(t.filename),c=s?r:t.title,l=s?`${t.frozenAt.replace(/[:.]/g,`-`)}-${Xi(r)}.md`:t.filename,u=`${R}/${l}`;if(s)try{await W(e,R),await e.writeFile(u,ha(n,c))}catch(e){return U.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 ba(e,t.filename,d)}catch(e){return U.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){U.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:o,error:e instanceof Error?e.message:String(e)})}try{await e.flush()}catch{}return U.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:l,title:c}),d}function ha(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}`}var G=Promise.resolve();async function ga(e,t){let n=null,r=async()=>{let r=await B(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(z,JSON.stringify(d,null,2)),await e.flush(),n=u},i=G.then(r,r);G=i.then(()=>void 0,()=>void 0);try{await i}catch(e){U.warn(`Failed to clear agentic memory pending marker`,{filename:t,error:e instanceof Error?e.message:String(e)})}return n}async function _a(e,t){let n=null,r=async()=>{let r=await B(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r[i];if(!a.pendingEnrichment&&!a.memoryPending)return;let o=ra(a);if(o>=3)return;n={...a,pendingAttemptCount:o+1};let s=r.slice();s[i]=n,await e.writeFile(z,JSON.stringify(s,null,2)),await e.flush()},i=G.then(r,r);return G=i.then(()=>void 0,()=>void 0),await i,n}async function va(e,t,n){let r=async()=>{let r=await B(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(z,JSON.stringify(a,null,2)),await e.flush()},i=G.then(r,r);G=i.then(()=>void 0,()=>void 0);try{await i}catch(e){U.warn(`Failed to record curator failure in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function ya(e,t){let n=async()=>{let n=await B(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(z,JSON.stringify(o,null,2)),await e.flush()},r=G.then(n,n);G=r.then(()=>void 0,()=>void 0);try{await r}catch(e){U.warn(`Failed to record curator completion in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function ba(e,t,n){let r=async()=>{let r=[];try{let t=await e.readFile(z,{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 Ke)||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(z,JSON.stringify(a,null,2))},i=G.then(r,r);return G=i.then(()=>void 0,()=>void 0),i}async function xa(e,t){let n=async()=>{let n=[];try{let t=await e.readFile(z,{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 Ke)||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(z,JSON.stringify(r,null,2))},r=G.then(n,n);return G=r.then(()=>void 0,()=>void 0),r}var Sa=`slicc:followers-changed`;function Ca(e){let t=e.replace(/^follower-/,``);return t.length>12?`${t.slice(0,8)}…`:t}function wa(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 Ta(e){return e.floatType===`ios`?`smartphone`:e.floatType===`electron`||e.floatType===`standalone`?`monitor`:e.floatType===`extension`?`blocks`:e.runtime?.includes(`cli`)?`terminal`:`radio`}function Ea(e,t=Date.now()){if(!e)return null;let n=new Date(e).getTime();if(!Number.isFinite(n))return null;let r=Math.max(0,Math.floor((t-n)/1e3));return r<60?`${r}s`:r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}d`}function Da(e){return e.health===`stalled`?`warn`:e.peerState===`connecting`?`idle`:e.peerState===`connected`&&e.health===`live`?`active`:`idle`}function Oa(e,t=Date.now()){let n=e.health===`stalled`?`stalled`:e.peerState===`connecting`?`connecting`:`connected`,r=Ea(e.connectedAt,t);return r?`${n} ${r}`:n}function ka(e){let t=[];return e.exec&&t.push(`can run commands`),e.cdp&&t.push(`hosts tabs`),t}function Aa(e){return`${wa(e)} · ${Ca(e.runtimeId)}`}function ja(e){return e.motd??e.runtime??void 0}function Ma(e,t=Date.now()){return e.map(e=>({id:e.runtimeId,icon:Ta(e),title:Aa(e),detail:ja(e),state:Da(e),stateText:Oa(e,t),chips:ka(e)}))}var Na=`__slicc_binary__`,Pa=`b64`;function Fa(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[Na]===Pa&&typeof t.data==`string`}function Ia(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function La(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!Fa(e)}function Ra(e){if(e instanceof Uint8Array)return{[Na]:Pa,data:ge(e)};if(Array.isArray(e))return e.map(Ra);if(Ia(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=Ra(r);return t}return e}function za(e){if(Fa(e))return _e(e.data);if(Array.isArray(e))return e.map(za);if(La(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=za(r);return t}return e}var Ba=d(`panel-transport`);function Va(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function Ha(){return{onMessage:e=>{let t=(t,n,r)=>(Va(t)&&e(za(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=Ra(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{Ba.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var Ua=`unknown-parent`,Wa=2e3,K=d(`offscreen-client`),Ga=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;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){K.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??Ha(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}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(!C(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&&C(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-${q()}`,r=new Promise(e=>{this.pendingModelAcks.set(n,e)});return this.send({type:`set-scoop-model`,requestId:n,scoopJid:e,model:t}),Promise.race([r,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingModelAcks.delete(n))}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${q()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(e){let t=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingClearAcks.set(t,e)});this.send({type:`clear-chat`,requestId:t,...e?{scoopJid:e}:{}}),await Promise.race([n,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(t)}spawnAgent(e){let t=`agent-${q()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&K.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`}),t))]);return this.pendingSudoRequests.delete(n),i}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}K.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,originLabel:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}async sendWebhookEvent(e,t,n){let r=`wh-${q()}`,i=new Promise(e=>{this.pendingWebhookDeliveries.set(r,e)});this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n,requestId:r});try{return await Promise.race([i,new Promise(e=>setTimeout(()=>e(null),Wa))])}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?(K.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):K.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state),this.renderCompactionNotice(e.scoopJid,e.state);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??[]}));break}case`tray-runtime-status`:{let t=e;Ka(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){K.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}-${q()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});return}let t=this.currentMessageId.get(e.scoopJid);t&&(e.eventType===`tool_ui_done`?this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``}):e.progress&&this.emitToUI({type:`tool_progress`,messageId:t,toolName:e.toolName??``,progress:e.progress,toolCallId:e.toolCallId}))}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if((e.displayScoopJid??e.scoopJid)===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${q()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${q()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_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}-${q()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}renderCompactionNotice(e,t){if(e!==this.selectedScoopJid)return;let n;if(t===`summarizing`)n=`Context window almost exceeded — compacting history…`;else if(t===`fallback`)n=`Compaction summarization failed — continuing with older messages truncated.`;else return;let r=`compaction-${e}-${q()}`;this.emitToUI({type:`message_start`,messageId:r}),this.emitToUI({type:`content_delta`,messageId:r,text:n}),this.emitToUI({type:`content_done`,messageId:r})}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.coneJidFromRecords(this.scoops));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)}handleScoopModelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&(t.model=e.model?{...e.model}:void 0)}this.pendingModelAcks.get(e.requestId)?.(e.applied)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&Tt(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(t=>this.msgScoopToRegistered(t,this.coneJidFromWire(e.scoops)));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){K.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(t=>this.msgScoopToRegistered(t,this.coneJidFromWire(e.scoops)));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&Ka(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){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})}coneJidFromRecords(e){return e.find(e=>C(e))?.jid??null}coneJidFromWire(e){return e.find(e=>e.parentId===void 0?e.isCone:e.parentId===null)?.jid??null}msgScoopToRegistered(e,t){return bt({jid:e.jid,name:e.name,folder:e.folder,parentJid:e.parentId===void 0?e.isCone?null:t??Ua:e.parentId,requiresTrigger:!e.isCone,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}})}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){K.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function q(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function Ka(e,t){vt({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),Re({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 J(e){return!e.includes(`\0`)}function qa(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!J(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!J(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!J(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!J(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(J(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function Ja(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 Ya(e){let t=Ja(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function Xa(e,t,n,r){let i=e;if(i?.type){if(i.type===`cdp-cmd`){let r=e;try{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(i.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(i.type===`cdp-unsubscribe`){let n=e,i=r.get(n.event);if(!i)return;r.delete(n.event),t.off(n.event,i)}}}function Za(e,t){let n=Ja(e),r=new Map,i=n.onMessage(e=>{Xa(e,t,n,r)});return()=>{i();for(let[e,n]of r)t.off(e,n);r.clear()}}function Qa(){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 $a(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 eo(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=Ya(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Za(o.port1,n),{ready:u,cleanup:d}=$a(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.110.3-mteie2qz`,flagFloat:e.flagFloat??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 to(e){return eo({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-bde26G1-.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Qa(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError,onReadyStall:e.onReadyStall,readyStallLimit:e.readyStallLimit,onLateReady:e.onLateReady})}var no=1048576,ro=`r`;function io(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function ao(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function oo(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++)oo(e[r],`${t}/${r}`,n);return}if(ao(e))for(let[r,i]of Object.entries(e))oo(i,`${t}/${io(r)}`,n)}function so(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=so(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(ao(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=so(o,`${t}/${io(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function co(e,t,n){if(ao(e))return so(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=co(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function lo(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 uo(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new S(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>no)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new S(`redaction-unavailable`)}if(c.length!==s.length)throw new S(`redaction-unavailable`);r.push(...c),i=o}return r}function fo(e,t,n,r){let i=[],a=lo(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=lo(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}=be(t,ro,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 po(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 mo(e,t,n,r){if(r?.aborted)throw new S(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];oo(a,``,o);let s=[...t.entries()],c=await uo([...o.map(e=>e.value),...s.map(([,e])=>e)],n,r),l=[],u={},d=1,f=new Map,p=[];for(let e=0;e<o.length;e++){let t=o[e],n=fo(t.value,c[e],{kind:`json`,pointer:t.pointer},d);d=n.nextId,n.finalText!==t.value&&f.set(t.pointer,n.finalText),p.push(n)}po(p,l,u);let m=new Map,h=o.length,g=[];for(let e=0;e<s.length;e++){let[t,n]=s[e],r=fo(n,c[h+e],{kind:`attachment`,attachmentId:t},d);d=r.nextId,m.set(t,r.finalText),g.push(r)}po(g,l,u);let _=co(e,``,f);return{document:{..._,privacy:{..._.privacy,redactionCounts:u,redactions:l}},textAttachments:m}}function ho(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 _o={"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 vo(e,t){return _o[e]??(t===`text-redacted`?`.txt`:`.bin`)}function yo(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${vo(t,n)}`}function bo(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 So(e,t,n,r,i){let a=ho(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(bo(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=bo(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 Co(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:bo(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(So(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function wo(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 To(e,t,n,r,i,a,o){let s=wo(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(So(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function Eo(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=To(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 Do(e,t){let n=new Map,r=0,i=new Map;for(let t of e)t.handling===`text-redacted`&&t.rawText!==void 0&&n.set(t.attachmentId,t.rawText),t.present&&i.set(t.attachmentId,yo(r++,t.mimeType,t.handling));for(let n of e)!n.present&&n.missingReason!==void 0&&t.add(n.missingReason);return{rawAttachments:e.map(e=>e.present?{id:e.attachmentId,path:i.get(e.attachmentId),originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!0}:{id:e.attachmentId,path:``,originalName:e.originalName,mimeType:e.mimeType,byteLength:0,sha256:``,sourceConversationId:e.sourceConversationId,sourceMessageId:e.sourceMessageId,handling:e.handling,present:!1,missingReason:e.missingReason??`attachment-file-missing`}),textMap:n}}async function Oo(e,t,n,r,i){let{rawAttachments:a,textMap:o}=Do(e,n),s,c;try{let e=await mo({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof S?e:new S(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new S(`schema-invalid`);l.set(t.attachmentId,t)}let u=new Map,d=await Promise.all(s.attachments.map(async e=>{if(!e.present||!e.path)return e;let t=l.get(e.id);if(t===void 0)throw new S(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await go(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function ko(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}=Co(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}=Eo(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 Oo(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 Ao=50;function jo(e){return wt(e)}function Mo(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 No(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:C(t)?`cone`:`scoop`,name:t.name,...t.folder&&!C(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=jo(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function Po(e,t,n={}){let r=e=>n.rootJid===void 0?e:xt(e,n.rootJid);for(;;){let n=r(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(Ao,t),t?.aborted))throw new S(`transfer-aborted`);let i=Mo(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new S(`transfer-aborted`);let s=r(e.listScoops());if(i===Mo(s,e))return No(s,a,o,e)}}function Fo(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function Io(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function Lo(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(Io(t,r++));return n}function Ro(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=Io(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 zo(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=Io(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 Bo(e,t,n){let r=Fo(t,n),i=Lo(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 Vo(e,t,n){let r=Fo(t,n),{blocks:i,excluded:a,images:o}=Ro(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 Ho(e,t,n){let r=Fo(t,n),{blocks:i,images:a}=zo(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 Uo(e,t,n){return e.role===`user`?Bo(e,t,n):e.role===`assistant`?Vo(e,t,n):e.role===`toolResult`?Ho(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function Wo(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 Go(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=Uo(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:Wo(e),excludedReasoningBlocks:t,canonicalImages:n}}var Ko=(()=>{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 qo(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^Ko[(t^e[n])&255];return~t>>>0}var Jo=new TextEncoder;function Y(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function X(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 Yo(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,Y(r,4,20),Y(r,6,2048),Y(r,8,0),Y(r,10,0),Y(r,12,0),X(r,14,n),X(r,18,t),X(r,22,t),Y(r,26,e.length),Y(r,28,0),r.set(e,30),r}function Xo(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,Y(i,4,20),Y(i,6,20),Y(i,8,2048),Y(i,10,0),Y(i,12,0),Y(i,14,0),X(i,16,n),X(i,20,t),X(i,24,t),Y(i,28,e.length),Y(i,30,0),Y(i,32,0),Y(i,34,0),Y(i,36,0),X(i,38,0),X(i,42,r),i.set(e,46),i}function Zo(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,Y(r,4,0),Y(r,6,0),Y(r,8,e),Y(r,10,e),X(r,12,t),X(r,16,n),Y(r,20,0),r}function Qo(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 $o(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${e.session.title.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``).slice(0,40)||`transcript`}-${n}.zip`}async function*es(e,t,n,r,i){if(n?.aborted)throw i(new S(`transfer-aborted`)),new S(`transfer-aborted`);let a=()=>i(new S(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=We.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=Jo.encode(`transcript.json`),f=qo(i),p=Yo(a,i.length,f);if(l.push({nameBytes:a,size:i.length,crc:f,localOffset:c}),n?.aborted||(yield*d(p),n?.aborted))throw new S(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new S(`transfer-aborted`);let t=Jo.encode(e),i=qo(r),a=Yo(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new S(`transfer-aborted`);yield*d(r)}let m=c;for(let e of l){if(n?.aborted)throw new S(`transfer-aborted`);yield*d(Xo(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new S(`transfer-aborted`);yield*d(Zo(l.length,c-m,m)),u=!0,r({byteLength:s,sha256:o.hex()})}catch(e){throw u=!0,i(e),e}finally{n?.removeEventListener(`abort`,a),u||(u=!0,i(new S(`transfer-aborted`)))}}var ts=4294967295,ns=65535;function rs(e,t,n){for(let e of t.keys())if(!Qo(e))throw new S(`schema-invalid`);if(t.size+1>ns)throw new S(`schema-invalid`);for(let e of t.values())if(e.byteLength>ts)throw new S(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:$o(e),chunks:es(e,t,n,r,i),completion:a}}function is(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:ye},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 as(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 os(e){if(!ve(e).ok)throw new S(`schema-invalid`)}function ss(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 cs(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 ls(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 us=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),os(i.document),r?.({phase:`packaging`}),rs(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await Po(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=Go(n.sources),{document:i,bundleFiles:a}=await ko({document:is(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});os(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 Po(this.deps.collection,e),r=Go(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=is(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),ko({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 mo(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new S(`redaction-unavailable`)}let a=ss(r.attachments,i,e.attachments),o=await cs(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,t,n){let r=(await B(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!r)throw new S(`session-not-found`);let i;try{let e=await this.deps.vfs.readFile(`/sessions/${r.filename}`,{encoding:`utf-8`});i=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new S(`session-not-found`)}let{title:a,messages:o}=H(i),s=`legacy-cone`,c=as(o,s),l=ls(i),u={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:ye},session:{id:e,title:a,state:`frozen`,...r.frozenAt?{frozenAt:r.frozenAt}:{},...l,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:s,kind:`cone`,name:a,messages:c}],delegations:[],attachments:[]},d=new Map([[s,o]]);return n?.({phase:`redacting`}),ko({document:u,chatMessagesByConversation:d,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:t})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new S(`attachment-unreadable`);return t}},ds=`/sessions/data`,fs=`document.json`;async function ps(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 ms(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new S(`session-not-found`)}function hs(e){return`${ds}/${e}`}function gs(e){return`${ds}/.tmp-${e}`}async function _s(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function Z(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 Z(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function vs(e,t,n){await _s(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 vs(e,r,a);else{let t=await e.readFile(r,{encoding:`binary`});await e.writeFile(a,t)}}}async function ys(e,t,n){ms(t);let r=gs(t),i=hs(t),a=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!a.has(e))throw new S(`schema-invalid`);await Z(e,i),await _s(e,r);try{let t=[...n.document.attachments];for(let[e,r]of n.attachments){let n=await ps(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}/${fs}`,s),n.attachments.size>0)for(let[t,i]of n.attachments){let n=`${r}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await _s(e,`${r}/${t.slice(0,a)}`),await e.writeFile(n,i)}await e.flush(),await vs(e,r,i),await e.flush()}catch(t){throw await Z(e,r),t}await Z(e,r)}async function bs(e,t){ms(t);let n=hs(t),r=`${n}/${fs}`,i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new S(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new S(`schema-invalid`)}if(!ve(a).ok)throw new S(`schema-invalid`);let o=new Map;for(let t of a.attachments){if(!t.present||!t.path)continue;let r=`${n}/${t.path}`,i;try{let t=await e.readFile(r,{encoding:`binary`});i=t instanceof Uint8Array?t:new TextEncoder().encode(t)}catch{throw new S(`transfer-corrupt`)}if(await ps(i)!==t.sha256)throw new S(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}function xs(e){return`error`in e}function Q(){throw new S(`redaction-unavailable`)}function Ss(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&Q(),e.texts}function Cs(){return{async redact(e){let t;try{t=await fetch(Se(`/api/secrets/redact-export`),{method:`POST`,headers:Ce({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{Q()}t.ok||Q();let n;try{n=await t.json()}catch{Q()}return Ss(n,e.length)}}}function ws(){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{Q()}return typeof t==`object`&&t&&xs(t)&&Q(),Ss(t,e.length)}}}function Ts(){return{async redact(e){let t;try{t=await Te(`secrets.redact-export`,{texts:e})}catch{Q()}return t??Q(),typeof t==`object`&&t&&xs(t)&&Q(),Ss(t,e.length)}}}function Es(){return{async redact(e){Q()}}}function Ds(){let e=we();return e===`connect`?Es():e===`extension-direct`?ws():e===`extension-delegate`?Ts():Cs()}function Os(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i={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,...e.config?{config:e.config,configSchemaVersion:3}:{},...e.notifyOnComplete===!1?{notifyOnComplete:!1}:{}};return n||(i.trigger=`@${r}`),i}var ks=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,As=`${ks}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,js=`${ks}border:none;background:#d23;color:#fff;`,Ms=`${ks}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function Ns(e,t,n){return{...Os({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function Ps(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 Fs(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 Is(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=()=>Lt(n.getScoops(),e.getSelected()),u=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},d=e=>{u();let t=Ps(i,{...e,onDismiss:e=>{s===e&&(s=null),e.remove()}});s=t,i.body.append(t),t.show?.()},f=e=>{if(!e.name)return;u();let t=l(),i=Ns(e.name,n.getScoops(),t?St(t):void 0);a=e.name,n.registerScoop(i,e.brief?{description:e.brief,prompt:e.brief}:{}).catch(e=>r.warn(`WC cone create failed`,e)),g()},p=()=>{let e=Fs(i,f);d({heading:`New cone`,body:e,actions:[{text:`Create`,style:As,data:`create`,onClick:()=>f(e.readDraft())},{text:`Cancel`,style:Ms,data:`cancel`,onClick:u}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},m=t=>{u();let i=w(n.getScoops()),a=i.find(e=>e.jid===t);if(!a||i.length<=1||o){g();return}o=!0,g(),(async()=>{try{await e.freezeCone(a)}catch(e){r.warn(`WC cone freeze before drop failed`,e)}let t=l()?.jid===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(t)}o=!1,g()})()},h=e=>{let t=T(e),n=i.createElement(`p`);n.textContent=`Its chat goes to the Freezer.`,n.style.cssText=`font-size:0.875rem;margin:0;`,d({heading:`Drop ${t}?`,body:n,actions:[{text:`Drop`,style:js,data:`drop`,onClick:()=>m(e.jid)},{text:`Cancel`,style:Ms,data:`cancel`,onClick:u}]})},g=()=>{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()?.jid!==n.jid&&e.selectScoop(n))}let r=c();r?.setAttribute(`cones`,String(t.length)),r?.toggleAttribute(`busy`,o)};return t.addEventListener(`new-cone`,p),t.addEventListener(`drop-cone`,()=>{let e=l();!e||w(n.getScoops()).length<=1||o||h(e)}),g(),{refresh:g,dialog:()=>s}}var Ls=5e3,Rs=class{deps;listListeners=new Set;unitListeners=new Map;lastSnapshots=new Map;orphanedReplays=new Map;pendingSnapshots=new Map;constructor(e){this.deps=e}toSummary(e){return Ht(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)})}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.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))}}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:Wt(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 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=new Promise(t=>{setTimeout(()=>{this.forgetWaiter(e,r),t(this.snapshotFor(e,[],void 0))},Ls)});return Promise.race([i,a]).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:`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,scoopJid:e,text:t.text,type:`user-message`,...t.steer?{steer:!0}:{}}),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}signal(e,t){return t===`stop`&&this.deps.getClient()?.stopScoop(e),Promise.resolve()}};function zs(e,t,n,r,i,a){let o=e.map(e=>Ht(e,{awaiting:i===e.jid,fill:n?.get(e.jid),phase:r?.get(e.jid),status:t?.get(e.jid)}));return zt(o,a,g)}function Bs(e){let t=new Rs({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses});e.workUnits=t;let n=()=>{e.getClient()&&(e.refs.switcher.scoops=zt(t.currentUnits(),e.getSelected()?.jid,g)),e.refreshConeActions?.()};t.subscribeList(()=>n());let r=n;e.refreshScoops=r;let i=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),a=()=>{if(e.getSelected()||i())return;let t=e.getClient()?.getScoops()??[],n=e.pendingUrlContext;if(n?.startsWith(`freezer:`))return;if(n?.startsWith(`scoop:`)||n?.startsWith(`cone:`)){let r=Rt(t,n);if(r){e.pendingUrlContext=null,e.selectScoop(r);return}}let r=qt(t);r&&(e.pendingUrlContext=null,e.selectScoop(r))};return t.wrapCallbacks({onStatusChange:(t,n)=>{let i=e.statuses.get(t),a=n;e.statuses.set(t,a),a!==`ready`&&e.awaitingInput===t&&(e.awaitingInput=null),Wt(i)!==Wt(a)&&(r(),e.notifyScoopStateChanged?.()),e.getSelected()?.jid===t&&e.getController()?.setProcessing(n===`processing`)},onScoopCreated:t=>{r(),!e.getSelected()&&!i()&&!e.pendingUrlContext&&e.selectScoop(t)},onScoopListUpdate:t=>{let n=new Set(t.map(e=>e.jid));for(let t of e.lickBackpressure.keys())n.has(t)||e.lickBackpressure.delete(t);r(),a()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(t,n)=>{e.phases.set(t,n),r(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,String(n.content??``).slice(0,600)),e.getSelected()?.jid===t&&n.channel!==`web`&&_(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?.jid!==t)return;let i=Jt(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.jid===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onScoopMessagesReplaced:(t,n,r)=>{e.getSelected()?.jid===t&&e.getController()?.loadMessages(n,r)},onReady:()=>{r(),a(),e.notifyReady?.()}})}var Vs=`slicc:leader-local-model-state-changed`;function Hs(e=window){e.dispatchEvent(new Event(Vs))}var Us=`slicc:leader-model-catalog-changed`;function Ws(e=window){e.dispatchEvent(new Event(Us))}var Gs={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Ks={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function qs(e){return e?Gs[e]:void 0}function Js(e){return e===`max`?`max`:void 0}function Ys(e,t){return t===`max`?`max`:(e&&Ks[e])??`off`}var Xs=2e3,Zs=1e4,Qs=12e4;function $s(e){let t=[],n=null,r=e.modelPickerEnabled!==!1,i=e.catalogRetryDelayMs??Xs,a=e.catalogRetryMaxDelayMs??Zs,o=e.catalogRetryWindowMs??Qs,s=0,c=null,l=null,u=()=>{if(!r||l!==null)return;let t=Date.now();if(c===null&&(c=t+o),t>=c)return;let n=Math.min(i*2**s,a);l=setTimeout(()=>{l=null;let t=e.getSync();t?.requestModels&&(s+=1,t.requestModels())},n)},d=()=>{l!==null&&clearTimeout(l),l=null,s=0,c=null},f=()=>{let i=n?t.find(e=>e.modelId===n?.activeModelId):void 0;if(!r||!n||!i){e.composerMeta.style.display=`none`,u();return}e.composerMeta.model=i.modelName,e.composerMeta.setAttribute(`thinking`,Ys(n.thinkingLevel,n.effortOverride)),e.composerMeta.toggleAttribute(`no-thinking`,!i.reasoning),e.composerMeta.style.removeProperty(`display`),d()},p=t=>{e.interceptLocalHandlers&&t.stopImmediatePropagation()};e.composerMeta.addEventListener(`model-change`,t=>{let r=e.getSync();if(!r)return;p(t);let i=t.detail?.id,a=e.getSelectedScoopJid()??n?.scoopJid;i&&r.selectModel(i,a??void 0),f()},{capture:e.interceptLocalHandlers}),e.composerMeta.addEventListener(`thinking-change`,t=>{let r=e.getSync();if(!r)return;if(p(t),e.getLockedEffortLevel?.()){f();return}let i=t.detail?.thinking,a=qs(i),o=e.getSelectedScoopJid()??n?.scoopJid;o&&a&&a!==`max`&&r.setThinkingLevel(o,a,Js(i)),f()},{capture:e.interceptLocalHandlers});let m=()=>{t=[],n=null,d(),e.composerMeta.models=[],e.composerMeta.style.display=`none`};return m(),{onModelsList(n){t=n,e.composerMeta.models=n.map(e=>({id:e.modelId,name:e.modelName,provider:e.providerName})),f()},onModelState(e){n=e,f()},reset:m}}async function ec(e,t,n,r,i=Hs){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function tc(e,t){return Gt(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||Ie(t.localStorage)}async function nc(e,t,n=[]){let r=Vt(t),i=Ut(r);e.thread.setAttribute(`context`,Kt(t));let a=C(t),o=g({isRoot:a,name:t.name});e.thread.setAttribute(`accent`,o),e.switcher.setAttribute(`active`,t.jid),ue(e,a?{kind:`cone`}:{kind:`scoop`,accent:o}),se(e,i);let s=localStorage.getItem(`slicc_locked_effort_level`),c=Dt(t);e.composerMeta.setAttribute(`thinking`,Ys(s??c.level,c.effortOverride));try{let{resolveCurrentModel:r,resolveModelById:i}=await l(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-Cj0dR__R.js`).then(e=>e.t);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([40,1,41,15,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,42,43,44,45,46,47,48,49])),a=St(Lt(n,t)??t),o=a?i(a.id,a.provider):r();e.composerMeta.setAttribute(`model`,o.name??o.id),e.composerMeta.toggleAttribute(`no-thinking`,o.reasoning!==!0||!!s)}catch{}}async function rc(e){if(tc(e.pendingUrlContext,e.win))return;let t=Gt(e.pendingUrlContext);if(t===null)return;let{SessionStore:n}=await l(async()=>{let{SessionStore:e}=await Promise.resolve().then(()=>$t);return{SessionStore:e}},void 0),r=new n;await r.init();let i=await r.load(wt({folder:t}));i&&i.messages.length>0&&!e.hasSelection()&&(e.loadMessages(i.messages),e.onHydrated())}function ic(e){let{boot:t,client:n,agentHandle:r,openReader:i,log:a}=e,{refs:o}=t;l(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-CUfZIfzI.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([50,16,51,1,2,52,25,6,32,43,4,42,5,53,39,54,55,56])).then(({createPlaceholderRefresher:n})=>{e.setRefreshPlaceholder(n({inputCard:o.inputCard,getMessages:()=>t.getController()?.getMessages()??[],defaultPlaceholder:o.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),rc({pendingUrlContext:t.wiring.pendingUrlContext,win:window,hasSelection:()=>!!t.getSelected(),loadMessages:e=>t.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>a.warn(`WC session hydration failed`,e));let s=null;return l(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-D1Wbe7BQ.js`);return{wireWcAttach:e}},__vite__mapDeps([57,16,25,6,58])).then(({wireWcAttach:t})=>{s=t({inputCard:o.inputCard,freezer:o.freezer,composer:o.composer,openReader:i,openWriter:e.openWriter,listConversations:async()=>{let{readSessionsIndex:e}=await l(async()=>{let{readSessionsIndex:e}=await Promise.resolve().then(()=>yi);return{readSessionsIndex:e}},void 0);return(await e(await i())).map(e=>({id:e.filename,label:e.title,sub:`${e.messageCount} turns`}))},log:a})}).catch(e=>a.error(`WC add-menu wiring failed`,e)),o.switcher.setAttribute(`gaze-target`,`slicc-input-card`),o.inputCard.addEventListener(`input`,()=>{o.switcher.scrutinize(),o.switcher.wake()}),o.inputCard.addEventListener(`submit`,e=>{let n=ce(e);if(!n)return;t.wiring.awaitingInput=null,t.wiring.refreshScoops?.(),t.wiring.notifyScoopStateChanged?.();let r=e.detail?.source===`dictation`;r&&(l(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-vHjs6Lwz.js`);return{markVoiceSubmission:e}},__vite__mapDeps([59,2,51,1,16,52,25,6,32,43,4,42,5,53,39,54,55,56,60,61,62,24,26,27,63])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),l(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-TvriK11t.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([64,2,55])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),t.getController()?.sendUserMessage(n,s?.take(),{dictation:r,steer:b(e)}),o.inputCard.clear?.();let i=t.getSelected()?.jid;i&&(o.switcher.setAttribute(`attention`,i),t.wiring.lastActivity.set(i,n.slice(0,600)))}),o.inputCard.addEventListener(`stop`,()=>{t.getController()?.processing&&r.stop()}),l(async()=>{let{wireWcHistoryNav:e}=await import(`./wc-history-nav-C5w8ianG.js`);return{wireWcHistoryNav:e}},[]).then(({wireWcHistoryNav:e})=>e({thread:o.thread,inputCard:o.inputCard})).catch(e=>a.error(`WC history nav wiring failed`,e)),o.composerMeta.addEventListener(`thinking-change`,e=>{if(localStorage.getItem(`slicc_locked_effort_level`))return;let r=e.detail?.thinking,i=qs(r),o=Js(r),s=t.getSelected();s&&i&&ec(n,s.jid,i,o).catch(e=>a.warn(`local thinking update failed`,e))}),{getAttachStage:()=>s}}var ac=`<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 oc(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 sc(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(ac));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=oc(e.getMessages());await t(n??vi([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=vi([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function $(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function cc(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 lc(e){return`
394
394
  <div class="sprinkle-action-card">
395
395
  <div class="sprinkle-action-card__header">${qe(cc(e))} <span class="sprinkle-badge sprinkle-badge--informative">pending</span></div>
396
396
  <div class="sprinkle-action-card__body">Waiting for approval on the leader&hellip;</div>
397
397
  </div>
398
- `}function uc(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var dc=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.#fe(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.#de(e);this.#N.clear(),this.#P.clear(),this.#ue()}setReadOnly(e){if(this.#F!==e&&(this.#F=e,e))for(let e of[...this.#M.keys()])this.#de(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.#he({id:$(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(uc)}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.#b;return e.length===0?[]:(this.#b=[],this.#z(),e)}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.#he(e)}#R(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#he(t);this.#z()}#z(){this.#u?.(this.#b.map(uc))}#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{De(n,t)}catch{}}addAssistantMessage(e){this.#he({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.#de(e);this.#N.clear(),this.#P.clear(),this.#ue();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=ne(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(ee(e.timestamp)),s=t);let n=this.#me(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.#ye();for(let e of this.#y)e.isStreaming||this.#o?.(e,this.#S.get(e.id)??[]);this.#K(),this.#xe(),this.#V(),this.#L(e,t)}#V(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!Be()||this.#D)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#fe(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.#he(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?m(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#H(e){return v(e,p())}#U(){if(this.#l)try{let e=this.#l();if(!e)return;Ae(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.#ge(a);return}this.#he({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.#ge(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.#pe(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??=sc({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.#ae(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#oe(e.requestId);break;case`tool_progress`:this.#se(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#ne(e.messageId);break;case`error`:this.#re(e.error)}}#J(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#he({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#Y(e,t){this.#pe(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.#pe(e);t&&(t.content+=this.#T,this.#T=``,this.#ge(t))}#Z(e,t,n){let r=this.#pe(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.#ge(r))}static#Q(e,t){return`${e}:${t}`}#$(t,n,r,i){let a=this.#pe(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.#ge(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.#pe(e),o=this.#ee(a,t,i);!a||!o||(o.result=n,o.isError=r,o.id&&(this.#N.delete(o.id),this.#ue()),this.#k=Math.max(0,this.#k-1),this.#k===0&&this.#W(`thinking`),this.#ge(a))}#ne(e){let t=this.#pe(e);t?.isStreaming&&(t.isStreaming=!1,this.#ge(t)),this.#C=null,this.setProcessing(!1)}#re(e){this.setProcessing(!1),this.#he({id:$(),role:`assistant`,content:e,timestamp:Date.now(),error:!0}),this.#ie(e)}#ie(e){try{if(Me(e)||ke(e)||Oe(e))return;je(`error-card`,e)}catch{}}#ae(e,t,n){if(this.#F)return;this.#de(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=N(r,lc(n),()=>{},!1);this.#M.set(t,{instance:e,container:r});return}let i=N(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#M.set(t,{instance:i,container:r}),this.#p?.(t,Ee,void 0)}#oe(e){this.#de(e)}#se(e,t,n,r){let i=this.#pe(e),a=this.#ee(i,t,r);a?.id&&(n.phase===`end`?this.#N.delete(a.id):this.#N.set(a.id,n),this.#ce(a.id),this.#ue())}#ce(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&re(t,this.#N.get(e)??null),this.#le()}#le(){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}});oe(t,le(e))}}#ue(){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))}#de(e){let t=this.#M.get(e);if(t){this.#M.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#fe(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)}#pe(e){return this.#y.find(t=>t.id===e)}#me(e){try{return fe(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]}}#he(e){this.#ve(),this.#y.push(e);let t=this.#me(e);this.#S.set(e.id,t),this.#e.append(...t),this.#ye(),e.isStreaming||this.#o?.(e,t),e.role===`user`?this.#xe():this.#Se()}#ge(e){this.#ve(),this.#s?.(e.id);let t=this.#S.get(e.id)??[],n=this.#me(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.#ce(t.id);this.#ye(),this.#le(),e.isStreaming||this.#o?.(e,n),this.#Se()}#_e(){return this.#e.inner??this.#e}#ve(){x(this.#_e(),this.#j)}#ye(){he(this.#_e(),{openClusterAnchors:this.#j,toolCallLookup:(e,t)=>this.#be(e,t)})}#be(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#xe(){this.#e.scrollTop=this.#e.scrollHeight}#Se(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#xe()}};function fc(e,t,r,a,o){let s=new Map;l(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadDipStyles:e}},__vite__mapDeps([64,16])).then(({loadDipStyles:e})=>e()).catch(()=>void 0),l(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-CXRqxpw6.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([65,1,66,2])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),l(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-By4GU_Wc.js`).then(e=>e.p);return{applyThemeOverrides:e}},__vite__mapDeps([66,1,2])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let c=t.createAgentHandle();c.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-TvriK11t.js`);return{playCue:e}},__vite__mapDeps([63,2,54])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let u=new dc({thread:e.thread,agent:c,resolveTelemetryContext:()=>{let e=r();if(!e)return null;let t=Jt(e);try{let r=St(e);return{scoopName:t,model:(r?i(r.id,r.provider):n()).id}}catch{return{scoopName:t,model:``}}},onTurnComplete:e=>{l(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-O_Z2C0eg.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([58,2,50,1,16,51,25,6,32,42,4,41,5,52,38,53,54,55,59,60,61,24,26,27,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-TvriK11t.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([63,2,54]));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||a?.()},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=s.get(e);t&&(Kn(t),s.delete(e))},onMessageRendered:(e,n)=>{let r=n[0];r&&s.set(e.id,Gn(r,(e,n)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:n}};o?.intercept?.(r)||t.sendSprinkleLick(`inline`,{action:e,data:n})}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,n,r)=>{t.sendToolUiAction(e,n,r)},onQueuedCancel:e=>{let n=t.selectedScoopJid;n&&t.deleteQueuedMessage(n,e).catch(()=>void 0)}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let n=e.detail?.id;if(!n)return;u.removeQueuedMessage(n);let r=t.selectedScoopJid;r&&t.deleteQueuedMessage(r,n).catch(()=>void 0)}),{controller:u,agentHandle:c}}var pc=`slicc:leader-run-new-session`,mc=`slicc:leader-broadcast-snapshot`;function hc(e){if(!(!e.cone||e.cone===`cone`))return e.coneLabel||e.cone.replace(/^cone-/,``)}function gc(e){return`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`}function _c(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,gc(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 yc(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(z,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 yc(e){let t=await bc(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function bc(e){let t;try{let n=await e.readFile(z,{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 xc(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),a=i.slice(0,2e3),o=/^title:\s*"?(.*?)"?\s*$/m.exec(a)?.[1]??r,s=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(a)?.[1]??new Date(0).toISOString(),c=Number(/^messageCount:\s*(\d+)\s*$/m.exec(a)?.[1]??0),l=H(i);n.push({filename:r,title:o,frozenAt:s,messageCount:c,...l.cost?{cost:l.cost}:{},...l.models?{models:l.models}:{},...l.cone?{cone:l.cone}:{},...l.coneLabel?{coneLabel:l.coneLabel}:{},...l.memorySkipped?{memorySkipped:!0}:{},...r.startsWith(`pending-`)?{pendingEnrichment:!0}:{}})}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function Sc(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(_c))}async function Cc(e,t){let n=await e.readFile(V(t),{encoding:`utf-8`}),r=H(typeof n==`string`?n:new TextDecoder().decode(n));return{title:r.title||t.title,messages:r.messages}}async function wc(e,t){let{getTranscriptExportService:n}=await l(async()=>{let{getTranscriptExportService:e}=await Promise.resolve().then(()=>an);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}:{}})}async function Tc(e){let{root:t}=e,n=t?{folder:t.folder,label:T(t),jid:t.jid}:void 0,r=e=>wc(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 Ec(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.getController()?.loadMessages([]),window.dispatchEvent(new CustomEvent(mc)),l(async()=>{let{resetDictationPriming:e}=await import(`./wc-shell-WlrdsROD.js`).then(e=>e.K);return{resetDictationPriming:e}},__vite__mapDeps([50,1,16,2,51,25,6,32,42,4,41,5,52,38,53,54,55])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function Dc(e,t){let n=t?hc(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 Oc(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 yc(n);if(i===null){if((await bc(n)).kind!==`corrupt`||(s.warn(`WC freezer index corrupt — rebuilding from archives`),i=await xc(n),i.length===0))return;await r.writeFile(z,JSON.stringify(i,null,2))}e===f&&(c=i,Sc(t.freezer,i),!p&&i.some(e=>!e.icon&&!e.pendingEnrichment)&&(p=!0,l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CcFoANd_.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([14,1,15,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,38])).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`),_=e=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{let t=Lt(r.getScoops(),a());try{let{writer:a}=await n(),{resetNewSessionTmp:o,runNewSessionFreeze:c,runNewSessionFreezeQuick:u}=await l(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-CF4YpiQ9.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([67,15,1,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,44,39,40,41,42,43,45,46,47,48,37]));e!==`erase`&&await Tc({action:e,writer:a,root:t,client:r,freezerNew:g,refreshFreezer:m,runNewSessionFreeze:c,runNewSessionFreezeQuick:u}),await Ec({writer:a,root:t,client:r,getController:i,log:s,resetNewSessionTmp:o,tmpDir:or(r.getScoops(),t)}),m();let f=r.getScoops().find(e=>e.jid===t?.jid)??qt(r.getScoops());f&&d(f)}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-CF4YpiQ9.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([67,15,1,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,44,39,40,41,42,43,45,46,47,48,37]));await r({vfs:t,cone:{folder:e.folder,label:T(e),jid:e.jid},captureCompleteSnapshot:t=>wc(e,t)}),m()};Ne(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(pc,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let y=async e=>{let l=c.find(t=>t.filename===e);try{let{reader:r}=await n();l||=(await yc(r)??[]).find(t=>t.filename===e);let{messages:a}=await Cc(r,l??{filename:e,title:e,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${l?.filename??e}`),u=l?.sessionId??l?.filename??null,i()?.loadMessages(a),(t.thread.inner??t.thread).prepend(Dc(t.thread.ownerDocument,l)),t.thread.setAttribute(`accent`,de),ue(t,{kind:`freezer`}),t.inputCard.setAttribute(`disabled`,``),t.switcher.removeAttribute(`active`),o()}catch(e){if(s.error(`WC thaw failed`,e),!a()){let e=Bt(r.getScoops(),l?.cone);e&&d(e)}}};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 kc=null;function Ac(e){kc=e}function jc(){return kc?.()??[]}var Mc=null;function Nc(e){Mc=e}function Pc(){return Mc??void 0}var Fc=`slicc.leaderTrayFollowers`;function Ic(){return Lc()}function Lc(){if(kc)return kc();try{let e=globalThis.localStorage?.getItem(Fc);if(e)return JSON.parse(e)}catch{}return[]}function Rc(e,t=globalThis.localStorage){try{t?.setItem(Fc,JSON.stringify(e))}catch{}}function zc(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 Bc(e){let t=ze();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:Le(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=vt();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=Fe(e.getItem(Ie))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function Vc(e){let{client:n,openReader:r,storage:i}=e;return{getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await l(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-B_FxjW0d.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([68,1,2,24,16,25,6,4,26,27,41,5,45,43]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await l(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-B_FxjW0d.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([68,1,2,24,16,25,6,4,26,27,41,5,45,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([69,1])),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,n=[];for(let r of c()){if(e.has(r.providerId))continue;if(e.add(r.providerId),!t(r.providerId)?.isOAuth){n.push({providerId:r.providerId});continue}let i=a(r.providerId),o=r.loggedOut?!1:i?!i.expired:!1;n.push({providerId:r.providerId,valid:o})}return n}catch{return[]}},getSessionStats:async()=>n.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await r()).readFile(`/proc/table`,{encoding:`utf-8`});return zc(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>Bc(i),getConnectedFollowers:jc}}var Hc=`sync-fs-nonce`;function Uc(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:Hc,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 Wc=36e5,Gc=2e3,Kc=class{#e=[];#t;#n;constructor(e=Wc,t=Gc){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`}},qc=64,Jc=12,Yc=/\b(feedback|reviews?|corrections?|learnings?|observations?|testing|verification)\b/i,Xc=/\b(user|preferences?|identit(?:y|ies)|accounts?|personal|interface|working rhythm|keyboard|accessibility)\b/i,Zc=/^Auto-extracted \(/;function Qc(e){let t=document.createRange();return t.selectNodeContents(document.body),t.createContextualFragment(e)}function $c(e){return(Qc(me(e)).textContent??``).replace(/\s+/g,` `).trim()}function el(e){let t=$c(e);if(t.length<=qc)return{title:t,summary:``,titleEnd:t.length,summaryStart:t.length};let n=[];for(let e of t.matchAll(/[.!?](?:[*_`'")\]]*)\s+|\s+[—–]\s+|[:;](?:[*_`]*)\s+|,\s+(?=(?:and|but|because|while|when|then|so)\b)/g)){let r=/^\s+[—–]|^[:;]/.test(e[0]),i=e.index+(r?0:e[0].trimEnd().length),a=e.index+e[0].length;t.slice(0,i).trim().length>=Jc&&i<=96&&t.slice(a).trim()&&n.push({titleEnd:i,summaryStart:a})}let r=n.sort((e,t)=>Math.abs(e.titleEnd-qc)-Math.abs(t.titleEnd-qc))[0];if(r)return{title:t.slice(0,r.titleEnd).trim(),summary:t.slice(r.summaryStart).trim(),titleEnd:r.titleEnd,summaryStart:r.summaryStart};let i=t.slice(0,97).lastIndexOf(` `),a=i>=Jc?i:96,o=t.slice(a).trim();return{title:t.slice(0,a).trim(),summary:o,titleEnd:a,summaryStart:t.indexOf(o,a)}}function tl(e,t){let n=$c(e),r=Zc.test(t),i=r?n:`${t} ${n}`;return Yc.test(i)?`feedback`:Xc.test(i)?`user`:r?null:`project`}function nl(e,t){let n=el(e);return{title:n.title,summary:n.summary,section:t,tag:tl(e,t),bodyHtml:me(e),titleEnd:n.titleEnd,summaryStart:n.summaryStart}}function rl(e){let t=[],n=`Memory`,r=``,i=``,a=null,o=()=>[r||n,i].filter(Boolean).join(` / `),s=()=>{if(!a)return;let e=a.lines.join(` `).trim();e&&t.push(nl(e,a.section)),a=null};for(let t of e.split(`
399
- `)){let e=/^(#{1,6})\s+(.+?)\s*#*\s*$/.exec(t.trim());if(e){s();let t=$c(e[2]);e[1].length===1?(n=t||n,r=``,i=``):e[1].length===2?(r=t,i=``):e[1].length===3&&(i=t);continue}let c=/^\s*[-*]\s+(.*)$/.exec(t);c?(s(),a={lines:[c[1]],section:o()}):t.trim()?a?a.lines.push(t.trim()):a={lines:[t.trim()],section:o()}:s()}return s(),t}function il(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=0,i=!1,a=!1,o=null,s=n.nextNode();for(;s;){for(let e=0;e<s.data.length;e+=1){if(/\s/.test(s.data[e])){i&&!a&&(a=!0,o={node:s,offset:e});continue}if(a){if(r===t)return o;r+=1}if(a=!1,o=null,r===t)return{node:s,offset:e};r+=1,i=!0}s=n.nextNode()}return r===t?{node:e,offset:e.childNodes.length}:null}function al(e,t,n){let r=Qc(e),i=il(r,t),a=n==null?{node:r,offset:r.childNodes.length}:il(r,n);if(!i||!a)return document.createDocumentFragment();let o=document.createRange();o.setStart(i.node,i.offset),o.setEnd(a.node,a.offset);let s=o.cloneContents();for(let e of[...s.childNodes])e.nodeType===Node.TEXT_NODE&&!e.textContent?.trim()&&e.remove();let c=s.childNodes.length===1?s.firstChild:null;if(!(c instanceof HTMLParagraphElement))return s;let l=document.createDocumentFragment();return l.append(...c.childNodes),l}function ol(e){return rl(e).map(e=>{let t=document.createElement(`slicc-memrow`);return t.setAttribute(`heading`,e.title),e.summary&&t.setAttribute(`summary`,e.summary),t.setAttribute(`section`,e.section),e.tag&&t.setAttribute(`tag`,e.tag),t.setHeadingContent(al(e.bodyHtml,0,e.titleEnd)),e.summary&&t.setBodyContent(al(e.bodyHtml,e.summaryStart,null)),t})}async function sl(e,t=F.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 ol(n)}function cl(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:Aa(e),sublabel:n,meta:Oa(e),icon:Ta(e),badges:r,status:Da(e)}})}}function ll(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function ul(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function dl(e){let t=ul(e),n=e.sessionId?`Session ${Ca(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:ll(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:ll(e)}]}}function fl(e,t){let n=e.filter(e=>C(e)),r=t=>e.filter(e=>!C(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:C(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 pl(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 ml(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 hl(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 gl(e){return{id:`cost`,label:`Cost`,icon:`receipt`,count:e?.models.length??0,meta:e?`$${e.totalCost.toFixed(2)} across ${e.models.length} models`:`no spend yet`,accent:`rose`,emptyText:`Model usage will be summarized after the first turn.`,rows:e?.models.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))??[]}}function _l(e){let t=[];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 n=ll(e.tray);(n===`error`||n===`warn`)&&t.push({id:`tray`,severity:n===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${ul(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)Da(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${Aa(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:Oa(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 vl(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function yl(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=[{id:`burn`,label:`Burn rate`,value:vl(c),unit:`/hour`,hero:!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},{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}];return l.length>0&&d.push({id:`context`,label:`Context fill`,value:String(Math.round(u*100)),unit:`%`,ratio:u,markers:bl(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d}function bl(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?C(r):!1,a=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:g({isRoot:i,name:a}),label:`${i?`${a} (cone)`:a} — ${Math.round(t*100)}% full`}})}var xl={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function Sl(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 Cl(e,t){return{pid:e.pid,ppid:e.ppid,state:xl[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:Sl(e.startedAt,t)}}async function wl(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:yl({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n}),alerts:_l({tray:r,followers:i,mounts:s,oauthProviders:p}),sections:[dl(r),cl(i),fl(n,t=>e.isProcessing(t)),pl(s),ml(m,p),hl(a,o),gl(l)],processes:{rows:d.map(e=>Cl(e,g)),terminated:f}}}var Tl=`/shared`,El=3,Dl=200;async function Ol(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,Dl),s=o.filter(e=>e.type===`file`).map(e=>`${t}/${e.name}`),c=await Promise.allSettled(s.map(t=>e.stat(t))),l=new Map;s.forEach((e,t)=>{let n=c[t];n?.status===`fulfilled`&&l.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<El?await Ol(e,i,n+1):[]});else{let e=l.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function kl(e,t=F.root){let n=[];for(let r of[t,Tl])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await Ol(e,r,1)});return n}var Al=200,jl=1e3,Ml=3e3;function Nl(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 kl(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,ae({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:kt,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>=jl){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},Al)},f=()=>{t??=setInterval(u,Ml)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,Tl];e.openFs().then(async e=>{if(!e.watch){t===a&&i&&f();return}let r=await e.watch(n,d);if(t!==a||!i){r();return}s=r}).catch(n=>{e.log.error(`WC file tree watch failed — falling back to polling`,n),t===a&&i&&f()})},m=()=>{n=!1,i=!1,a++,s?.(),s=null,c!=null&&(clearTimeout(c),c=null),t!=null&&(clearInterval(t),t=null)};return{open(){m(),i=!0,n=!0,e.onKernelReady(()=>{n&&(n=!1,u(),p())})},close:m,repoint(){!i||n||(u(),p())}}}function Pl(e){let t=!1,n=!1,r=0,i=null,a=new Kc,o=Nl(e),s=()=>{i!=null&&(clearInterval(i),i=null)},c=()=>{let t=++r;e.openFs().then(async n=>{let i=await sl(n,e.getWorkspace().memoryPath);t===r&&(e.memoryHost.setRows?e.memoryHost.setRows(i):e.memoryHost.replaceChildren(...i))}).catch(t=>e.log.error(`WC memory refresh failed`,t))},l=()=>{(async()=>{try{e.monitor.model=await wl(e.getMonitorDeps(),a)}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};return e.monitor.addEventListener(`slicc-monitor-refresh`,l),{activate(r){if(r===`files`){o.open();return}if(r===`memory`){n=!0,c();return}if(r===`monitor`){s(),l(),i=setInterval(l,5e3);return}r===`term`&&!t&&(t=!0,e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}))},deactivate(e){e===`files`?o.close():e===`monitor`?s():e===`memory`&&(n=!1)},refreshMemory(){n&&c()},refreshFiles(){o.repoint()}}}var Fl=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],Il=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Ll=2e4,Rl=12,zl=3e4;function Bl(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 Vl(e){return e.slice(e.lastIndexOf(`/`)+1)}function Hl(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function Ul(e,t){let n=Bl(e);return t.includes(`/`)?Hl(n,t):Vl(n)===t}function Wl(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))&&Ul(a,e)&&(r.add(a),n.push(Bl(a)),n.length>=Gl))break}return n}var Gl=4,Kl=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??Fl,this.#n=t.ignoredDirs??Il,this.#r=t.maxEntries??Ll,this.#i=t.maxDepth??Rl,this.#a=t.ttlMs??zl}resolve(e,t=[]){this.#g();let n=Bl(e),r=this.#d(n),i=Wl(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=>Hl(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(Vl(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Hl(t,e)).sort(ql)}:{query:e,matches:[...t].sort(ql)}}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 ql(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var Jl=`file-mention`,Yl=`data-file-mentions`;function Xl(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var Zl=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),Ql=`file-mention-open`;async function $l(e,t,n=[]){let r=Xl(e);if(e.getAttribute(Yl)===r)return;let i=eu(e);if(i.length===0){e.setAttribute(Yl,r);return}let a=[],o=new Set;for(let e of i){let t=pe(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(Yl,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&&tu(e,n,l)}e.setAttribute(Yl,Xl(e))}function eu(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(Zl.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 tu(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(nu(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 nu(e,t,n,r,i){let a=e.createElement(`a`);return a.className=Jl,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(Ql,{detail:t,bubbles:!0,composed:!0}))}),a}var ru=`slicc-agent-message`,iu=`slicc-action-row[${h}]`;function au(e,t){let n=[],r=e.querySelectorAll(iu);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=>f(e))}function ou(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function su(e){try{return cu(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function cu(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new Kl(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;pe(n.textContent??``).length!==0&&ou(()=>{let i=au(t,e);a().then(e=>$l(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(ru))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()===ru?o(e):s(e));let e=t.target?.closest?.(ru);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=>te(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(Ql,l),()=>{c.disconnect(),t.removeEventListener(Ql,l)}}var lu=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>Cu,DOCK_TREE_STORAGE_KEY:()=>Su,attachWcClient:()=>Eu,makeSprinkleAttachImage:()=>Tu,mountWcUiLive:()=>Du,prepareWcShell:()=>uu,wireDockTreePersistence:()=>wu,wireWcChipTips:()=>_u});function uu(e,t){let n=ie(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=null,o=new Map,s=!1,c=null,l=new Set,u=null,d=e=>{if(a=e,!i)return;let t=Ut(Vt(e)),s=(e,t)=>{for(let n of t)i?.deleteQueuedMessage(e,n).catch(()=>void 0)},l=i.getScoops(),d=e=>{let t=e===void 0?void 0:l.find(t=>t.jid===e);return t?Lt(l,t)?.jid??t.jid:void 0},p=d(e.jid),m=i.selectedScoopJid;if(m&&m!==e.jid){let e=d(m);if(t&&p!==void 0&&p===e){let t=r?.stashQueued()??[];t.length>0&&(u={jid:e,items:t})}else s(m,(r?.getQueuedMessages()??[]).map(e=>e.id))}u&&(u.jid===e.jid?(r?.restoreQueued(u.items),u=null):p!==u.jid&&(s(u.jid,u.items.map(e=>e.id)),u=null));let h=o.get(e.jid);r?.setLickBackpressure(h?.count??0,h?.waitingMs??0,Jt(e)),i.setSelectedScoopJid(e.jid),r?.setReadOnly(t),t||n.inputCard.removeAttribute(`disabled`),nc(n,e,i.getScoops()),i.requestScoopMessages(e.jid),r?.setProcessing(i.isProcessing(e.jid)),n.switcher.hasAttribute(`attention`)||n.switcher.setAttribute(`attention`,e.jid),f.refreshScoops?.(),c?.refreshMemory(),c?.refreshFiles()},f={refs:n,statuses:new Map,fills:new Map,phases:new Map,lickBackpressure:o,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>a,selectScoop:d,notifyReady:()=>{s=!0;for(let e of l)e()}};return{refs:n,wiring:f,setClient:e=>{i=e},selectScoop:d,getSelected:()=>a,clearSelection:()=>{a=null},getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{c=e;let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(s?e.activate(n):l.add(()=>e.activate(n)))},onClientReady:e=>{l.add(e),s&&e()}}}function du(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([l(()=>import(`./remote-vfs-client-CN1pCs1m.js`),__vite__mapDeps([70,71])),l(()=>import(`./writable-vfs-client-CuBjWhy3.js`),__vite__mapDeps([72,71]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function fu(e,t,n,r,i){e.onClientReady(()=>{r.intercept||l(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-DUBWYyMl.js`);return{wireWcOnboarding:e}},__vite__mapDeps([73,16,2,45,6,24,1,25,4,26,27,43,74])).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 pu(e,t){let n=()=>{t.getSessionStats?.().then(n=>{if(!n)return;e.refs.floatbar.setAttribute(`spent`,n.totalCost.toFixed(2)),typeof n.burnRate==`number`&&Number.isFinite(n.burnRate)?e.refs.floatbar.setAttribute(`rate`,n.burnRate.toFixed(2)):e.refs.floatbar.removeAttribute(`rate`);let r=e.refs.floatbar;n.models&&(r.costModels=n.models),n.scoops&&(r.costScoops=n.scoops),e.fills.clear();for(let t of n.fills)e.fills.set(t.jid,t.fill);e.refs.switcher.scoops=zs(t.getScoops(),e.statuses,e.fills,e.phases,e.awaitingInput,e.getSelected()?.jid)})};return setInterval(n,15e3),n}function mu(e,t,n){let r=t.standalone;r&&l(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-CYph9bTu.js`);return{wireWcBrowser:e}},__vite__mapDeps([75,6,76,77,2,78])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function hu(e,t){let{refs:n}=e;n.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.getScoops().find(e=>e.jid===r);i&&i.jid!==e.getSelected()?.jid&&e.selectScoop(i)}),_u({switcher:n.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity})}function gu(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.jid;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 _u(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||=T(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-CcFoANd_.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([14,1,15,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,38]))).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: ${C(o)?`${T(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 vu(e,t,n){let{RemoteTerminalView:r}=await l(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-vsJYhJKi.js`);return{RemoteTerminalView:e}},__vite__mapDeps([79,1,16,33,2,57,80,52,0,3,4,5,6,13,81,23,12,9,8,10,11,7,82])),{fetchSecretEnvVars:i}=await l(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-Hwyj0iR1.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([83,2,24,1,16,25,6,4,26,27,28,5,29,30,31])),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 yu(e,t,n){let r=r=>{if(r.startsWith(`freezer:`)){n(r.slice(8));return}let i=Rt(t.getScoops(),r);i&&i.jid!==e.getSelected()?.jid&&e.selectScoop(i)};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 bu(e,t,n,r){l(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-CCJrTH49.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([84,16,2,57])).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-CET8Rh_M.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([85,16,4,41,5,6]));r({runtimeMode:a,providers:await o(s()||a===`extension`||a===`extension-detached`)}),i({runShell:xu(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e))}function xu(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([82,1])),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 Su=`slicc-dock-tree:default`,Cu={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 wu(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(Su,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(Su);r.setTree(e?JSON.parse(e):Cu)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(Cu)}}function Tu(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 Eu(e,t,n,r={}){l(async()=>{let{initTimestampPreference:e}=await import(`./wc-shell-WlrdsROD.js`).then(e=>e.H);return{initTimestampPreference:e}},__vite__mapDeps([50,1,16,2,51,25,6,32,42,4,41,5,52,38,53,54,55])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:i}=e;e.setClient(t);let a=Ne(`panel-layouts`);i.dockTree.tilesMovable=a,a||wu(i,n);let o=null,s=pu(e.wiring,t),c=()=>o?.(),u={intercept:null},{controller:d,agentHandle:f}=fc(i,t,()=>e.getSelected(),gu({boot:e,triggerPlaceholder:c,refreshStats:s}),u);e.setController(d),e.onClientReady(s);let p=du(t),m=async()=>(await p()).reader;r.standalone?.runtimeMode!==`cherry`&&r.standalone?.runtimeMode!==`hosted-leader`&&fu(e,t,p,u,n);let h=ic({boot:e,client:t,agentHandle:f,setRefreshPlaceholder:e=>{o=e},triggerPlaceholder:c,openReader:m,openWriter:async()=>(await p()).writer,log:n});hu(e,t),mu(e,r,n),bu(e,t,r,n);let g=Pl({fileTree:i.fileTree,termSurface:i.termSurface,memoryHost:i.memoryHost,monitor:i.monitor,openFs:m,openWriter:async()=>(await p()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>Vc({client:t,openReader:m,storage:window.localStorage}),getWorkspace:()=>sr(t.getScoops(),e.getSelected()??void 0),mountTerminal:n=>vu(e,t,n),insertReference:e=>{let t=i.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:n});e.setActivateSurface(g),a&&l(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-65i9Hq7n.js`);return{panelizeShell:e}},__vite__mapDeps([86,2,50,1,16,51,25,6,32,42,4,41,5,52,38,53,54,55,87,88])).then(({panelizeShell:e})=>e(i,void 0,void 0,{onToolPanelActivate:e=>g.activate(e),onToolPanelDeactivate:e=>g.deactivate(e)})).catch(e=>n.error(`panelize failed — keeping the classic shell`,e)),su({thread:i.thread,openFs:m,log:n}),i.floatbar.addEventListener(`click`,()=>{let e=i.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let _=Oc({refs:i,openVfs:p,client:t,getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,log:n}),{refreshFreezer:v,openFrozen:y,getViewedFrozenSessionId:ee}=_;if(v(),e.onClientReady(v),Ne(`multiple-cones`)){let r=Is({freezer:i.freezer,client:t,getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,freezeCone:_.freezeCone,log:n});e.wiring.refreshConeActions=r.refresh,e.onClientReady(r.refresh)}yu(e,t,y),e.onClientReady(()=>{p().then(async({reader:e,writer:t})=>{let{loadShortcutConfig:n}=await l(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-BftmZXGf.js`);return{loadShortcutConfig:e}},__vite__mapDeps([89,2,50,1,16,51,25,6,32,42,4,41,5,52,38,53,54,55]));await n({reader:e,writer:t,apply:i.shortcuts.setKeymap})}).catch(e=>n.warn(`WC shortcut config load failed`,e))}),p().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:n})}).catch(e=>n.warn(`WC page-VFS support wiring failed`,e)),p().then(async({reader:a,writer:o})=>{let{createRemoteSprinkleVfs:s}=await l(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-CawR6gXx.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([90,71])),c=(await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-65i9Hq7n.js`);return{getPanelizedShell:e}},__vite__mapDeps([86,2,50,1,16,51,25,6,32,42,4,41,5,52,38,53,54,55,87,88]))).getPanelizedShell(),{wireWcSprinkles:u}=await l(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-DhXJLTUO.js`);return{wireWcSprinkles:e}},__vite__mapDeps([91,16,4,41,5,6,92,74])),d=await u({refs:i,client:t,fs:s({reader:a,writer:o}),instanceId:r.instanceId,onAttachImage:Tu(h,n),onToolPanelActivate:e=>g.activate(e),onToolPanelDeactivate:e=>g.deactivate(e),hostSprinkleSurface:c?(e,t)=>c.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:c?e=>c.removeSprinkleSurface(e):void 0,log:n});e.onClientReady(()=>void d.resync());let{getPanelizedShell:_}=await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-65i9Hq7n.js`);return{getPanelizedShell:e}},__vite__mapDeps([86,2,50,1,16,51,25,6,32,42,4,41,5,52,38,53,54,55,87,88])),v=_();if(v){let e=s({reader:a,writer:o});v.attachFs(e);let{registerAgentPanels:t}=await l(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-9uCI5yeM.js`);return{registerAgentPanels:e}},__vite__mapDeps([93,2,50,1,16,51,25,6,32,42,4,41,5,52,38,53,54,55]));await t(e).catch(e=>n.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-Bz-0rXhV.js`);return{applyLayout:e}},__vite__mapDeps([94,91,16,4,41,5,6,92,74]));e(e=>t(d.zone,e))}if(r.standalone&&r.instanceId){let{wireWcTray:a}=await l(async()=>{let{wireWcTray:e}=await import(`./wc-tray-BdgbNPhM.js`);return{wireWcTray:e}},__vite__mapDeps([95,15,1,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,50,51,42,41,52,38,53,54,55,76,96,97,98,46,74,62,99,65,66,92,100,101,45,43,39,40,44,47,48,57,102,103,104,82,68,78,105,106])),o=d.zone.callbacks(),s=await a({refs:i,client:t,browser:r.standalone.browser,realCdpTransport:r.standalone.realCdpTransport,instanceId:r.instanceId,runtimeMode:r.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>o.addSprinkle(e,t,n),removeSprinkle:e=>o.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.jid??`cone`,agentHandle:f,openFs:m,openWriter:async()=>(await p()).writer,window,log:n});e.wiring.notifyScoopStateChanged=()=>s.scheduleScoopsListBroadcast()}}).catch(e=>n.error(`WC sprinkle/tray wiring failed`,e));{let e=new Qt,n=new rn,r=on(new us({collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>e.loadAll(),loadUiChatSessions:async()=>{let e=await n.list();return(await Promise.all(e.map(e=>n.load(e)))).filter(e=>e!==null)},wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:Ds(),snapshotStore:{read:async e=>{let{reader:t}=await p();return bs(t,e)},write:async(e,t)=>{let{writer:n}=await p();return ys(n,e,t)}},vfs:{readFile:async(e,t)=>(await p()).reader.readFile(e,t),readDir:async e=>(await p()).reader.readDir(e),stat:async e=>(await p()).reader.stat(e)},getActiveSessionInfo:()=>{let e=qt(t.getScoops());return{id:e?.jid??`session-${Date.now()}`,title:e?.name??`Active Session`}},version:`6.110.2`}));window.addEventListener(`unload`,r,{once:!0})}let b=!1,x=()=>b?Promise.resolve():(b=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([l(()=>Promise.resolve().then(()=>an),void 0),l(()=>import(`./wc-transcript-export-DjpmBvLP.js`),__vite__mapDeps([107,16,100,6,101,1]))]),r=ee(),i=r==null?{kind:`active`}:{kind:`frozen`,sessionId:r},a=await e().export(i,{}),{filename:o}=a;await n(await t(a),o)}catch(e){n.error(`Transcript export failed`,e)}finally{b=!1}})());if(l(async()=>{let{wireWcNav:e}=await import(`./wc-nav-D8Bi3zRA.js`);return{wireWcNav:e}},__vite__mapDeps([108,16,4,41,5,6,44,45,24,1,25,26,27,43,46,47,48,68,2,92,74])).then(({wireWcNav:e})=>e({refs:i,client:t,log:n,onExportTranscript:x,shortcuts:i.shortcuts})).catch(e=>n.error(`WC nav wiring failed`,e)),l(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-C08Pruqj.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([109,2,4,41,5,6,57,53,60,61,24,1,16,25,26,27,62,51,110])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=i.composer;t(r.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>n.error(`WC push-to-talk wiring failed`,e)),l(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-DW89OFqf.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([59,16,2,4,41,5,6,60,61,24,1,25,26,27,62,51])).then(({setSpeakAssetsInstanceId:e})=>e(r.instanceId)).catch(e=>n.error(`WC say warmup wiring failed`,e)),r.standalone)return()=>{l(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-CF4YpiQ9.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([67,15,1,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,44,39,40,41,42,43,45,46,47,48,37])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await p()).writer,onComplete:v})).catch(e=>n.warn(`Pending session catch-up scheduling failed`,e))}}async function Du(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:o,bridgeToken:s,localLickWsUrl:c,extensionDelegateId:u,attachLickForwardingClient:d}=await He({runtimeMode:n,envBaseUrl:null,window,log:t}),{floatKindForRuntimeMode:f,floatLabelForKind:p,resolveStandaloneFloatKind:m}=await l(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await import(`./wc-float-label-Bmp3gmHN.js`);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},__vite__mapDeps([111,50,1,16,2,51,25,6,32,42,4,41,5,52,38,53,54,55,24,26,27])),{installFloatbarStatus:h}=await l(async()=>{let{installFloatbarStatus:e}=await import(`./wc-floatbar-online-B8ug4UwE.js`);return{installFloatbarStatus:e}},__vite__mapDeps([112,46,68,1,2,24,16,25,6,4,26,27,41,5,45,43,111,50,51,32,42,52,38,53,54,55])),g=n===`standalone`?await m():f(n),_=p(g),v=uu(e,_);h(v.refs.floatbar,{floatKind:g,label:_}),a&&Ue(a);let{syncFsBridgeEnabled:y,syncFsChannelNonce:ee}=Uc(),b=!1,x=to({realCdpTransport:i,instanceId:a,makeClient:e=>new Ga(Bs(v.wiring),e),localApiBaseUrl:o,bridgeToken:s,syncFsBridgeEnabled:y,syncFsChannelNonce:ee,localLickWsUrl:c,extensionDelegateId:u,flagFloat:n,onWorkerScriptError:()=>{Ve()},onReadyStall:e=>{b=!0,l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(t=>t.showBootStallOverlay(document,e)),[])},onLateReady:()=>{Ve()}});qa({send:e=>x.client.sendRaw(e)}),d?.(x.client);let te=Eu(v,x.client,t,{instanceId:a,standalone:{browser:r,realCdpTransport:i,runtimeMode:n,floatKind:g}}),{setupSudoStandalone:ne}=await l(async()=>{let{setupSudoStandalone:e}=await import(`./main-BK-7ArIz.js`).then(e=>e.i);return{setupSudoStandalone:e}},__vite__mapDeps([39,1,40,15,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,41,42,43,44,45,46,47,48]));await ne({log:t});try{await x.ready}finally{b&&l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(e=>e.removeBootStallOverlay(document)),[])}v.wiring.notifyReady?.(),t.info(`WC live shell ready`,{scoops:x.client.getScoops().length}),te?.();let{consumeAutoPrompt:re}=await l(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),ie=re(window.location.search);ie&&(v.getController()?.sendUserMessage(ie),t.info(`Auto-prompt submitted`,{length:ie.length}))}export{wi as A,Ta as C,Ma as D,Aa as E,Kn as F,Gn as I,an as L,na as M,Tn as N,Ti as O,cn as P,rn as R,ja as S,Da as T,Ws as _,Ic as a,Sa as b,Nc as c,pc as d,dc as f,Hs as g,Us as h,jc as i,xa as j,ia as k,Rc as l,Vs as m,uu as n,Pc as o,$s as p,lu as r,Ac as s,Eu as t,mc as u,Bs as v,Oa as w,ka as x,Ga as y};
398
+ `}function uc(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var dc=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.#fe(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.#de(e);this.#N.clear(),this.#P.clear(),this.#ue()}setReadOnly(e){if(this.#F!==e&&(this.#F=e,e))for(let e of[...this.#M.keys()])this.#de(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.#he({id:$(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(uc)}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.#b;return e.length===0?[]:(this.#b=[],this.#z(),e)}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.#he(e)}#R(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#he(t);this.#z()}#z(){this.#u?.(this.#b.map(uc))}#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{De(n,t)}catch{}}addAssistantMessage(e){this.#he({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.#de(e);this.#N.clear(),this.#P.clear(),this.#ue();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=ne(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(ee(e.timestamp)),s=t);let n=this.#me(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.#ye();for(let e of this.#y)e.isStreaming||this.#o?.(e,this.#S.get(e.id)??[]);this.#K(),this.#xe(),this.#V(),this.#L(e,t)}#V(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!Be()||this.#D)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#fe(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.#he(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?m(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#H(e){return v(e,p())}#U(){if(this.#l)try{let e=this.#l();if(!e)return;Ae(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.#ge(a);return}this.#he({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.#ge(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.#pe(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??=sc({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.#ae(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#oe(e.requestId);break;case`tool_progress`:this.#se(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#ne(e.messageId);break;case`error`:this.#re(e.error)}}#J(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#he({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#Y(e,t){this.#pe(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.#pe(e);t&&(t.content+=this.#T,this.#T=``,this.#ge(t))}#Z(e,t,n){let r=this.#pe(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.#ge(r))}static#Q(e,t){return`${e}:${t}`}#$(t,n,r,i){let a=this.#pe(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.#ge(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.#pe(e),o=this.#ee(a,t,i);!a||!o||(o.result=n,o.isError=r,o.id&&(this.#N.delete(o.id),this.#ue()),this.#k=Math.max(0,this.#k-1),this.#k===0&&this.#W(`thinking`),this.#ge(a))}#ne(e){let t=this.#pe(e);t?.isStreaming&&(t.isStreaming=!1,this.#ge(t)),this.#C=null,this.setProcessing(!1)}#re(e){this.setProcessing(!1),this.#he({id:$(),role:`assistant`,content:e,timestamp:Date.now(),error:!0}),this.#ie(e)}#ie(e){try{if(Me(e)||ke(e)||Oe(e))return;je(`error-card`,e)}catch{}}#ae(e,t,n){if(this.#F)return;this.#de(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=N(r,lc(n),()=>{},!1);this.#M.set(t,{instance:e,container:r});return}let i=N(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#M.set(t,{instance:i,container:r}),this.#p?.(t,Ee,void 0)}#oe(e){this.#de(e)}#se(e,t,n,r){let i=this.#pe(e),a=this.#ee(i,t,r);a?.id&&(n.phase===`end`?this.#N.delete(a.id):this.#N.set(a.id,n),this.#ce(a.id),this.#ue())}#ce(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&re(t,this.#N.get(e)??null),this.#le()}#le(){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}});oe(t,le(e))}}#ue(){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))}#de(e){let t=this.#M.get(e);if(t){this.#M.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#fe(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)}#pe(e){return this.#y.find(t=>t.id===e)}#me(e){try{return fe(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]}}#he(e){this.#ve(),this.#y.push(e);let t=this.#me(e);this.#S.set(e.id,t),this.#e.append(...t),this.#ye(),e.isStreaming||this.#o?.(e,t),e.role===`user`?this.#xe():this.#Se()}#ge(e){this.#ve(),this.#s?.(e.id);let t=this.#S.get(e.id)??[],n=this.#me(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.#ce(t.id);this.#ye(),this.#le(),e.isStreaming||this.#o?.(e,n),this.#Se()}#_e(){return this.#e.inner??this.#e}#ve(){x(this.#_e(),this.#j)}#ye(){he(this.#_e(),{openClusterAnchors:this.#j,toolCallLookup:(e,t)=>this.#be(e,t)})}#be(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#xe(){this.#e.scrollTop=this.#e.scrollHeight}#Se(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#xe()}};function fc(e,t,r,a,o){let s=new Map;l(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadDipStyles:e}},__vite__mapDeps([65,16])).then(({loadDipStyles:e})=>e()).catch(()=>void 0),l(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-CXRqxpw6.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([66,1,67,2])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),l(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-By4GU_Wc.js`).then(e=>e.p);return{applyThemeOverrides:e}},__vite__mapDeps([67,1,2])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let c=t.createAgentHandle();c.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-TvriK11t.js`);return{playCue:e}},__vite__mapDeps([64,2,55])).then(({playCue:e})=>e(t.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let u=new dc({thread:e.thread,agent:c,resolveTelemetryContext:()=>{let e=r();if(!e)return null;let t=Jt(e);try{let r=St(e);return{scoopName:t,model:(r?i(r.id,r.provider):n()).id}}catch{return{scoopName:t,model:``}}},onTurnComplete:e=>{l(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-vHjs6Lwz.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([59,2,51,1,16,52,25,6,32,43,4,42,5,53,39,54,55,56,60,61,62,24,26,27,63])).then(async({consumeVoiceSubmission:t,speakReplyMarkdown:n})=>{if(!t())return;let{endVoiceTurn:r,setTtsActive:i}=await l(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-TvriK11t.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([64,2,55]));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||a?.()},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=s.get(e);t&&(Kn(t),s.delete(e))},onMessageRendered:(e,n)=>{let r=n[0];r&&s.set(e.id,Gn(r,(e,n)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:n}};o?.intercept?.(r)||t.sendSprinkleLick(`inline`,{action:e,data:n})}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,n,r)=>{t.sendToolUiAction(e,n,r)},onQueuedCancel:e=>{let n=t.selectedScoopJid;n&&t.deleteQueuedMessage(n,e).catch(()=>void 0)}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let n=e.detail?.id;if(!n)return;u.removeQueuedMessage(n);let r=t.selectedScoopJid;r&&t.deleteQueuedMessage(r,n).catch(()=>void 0)}),{controller:u,agentHandle:c}}var pc=`slicc:leader-run-new-session`,mc=`slicc:leader-broadcast-snapshot`;function hc(e){if(!(!e.cone||e.cone===`cone`))return e.coneLabel||e.cone.replace(/^cone-/,``)}function gc(e){return`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`}function _c(e){let t=document.createElement(`slicc-freezer-card`);return t.setAttribute(`title`,e.title),t.setAttribute(`meta`,gc(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 yc(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(z,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 yc(e){let t=await bc(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function bc(e){let t;try{let n=await e.readFile(z,{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 xc(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),a=i.slice(0,2e3),o=/^title:\s*"?(.*?)"?\s*$/m.exec(a)?.[1]??r,s=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(a)?.[1]??new Date(0).toISOString(),c=Number(/^messageCount:\s*(\d+)\s*$/m.exec(a)?.[1]??0),l=H(i);n.push({filename:r,title:o,frozenAt:s,messageCount:c,...l.cost?{cost:l.cost}:{},...l.models?{models:l.models}:{},...l.cone?{cone:l.cone}:{},...l.coneLabel?{coneLabel:l.coneLabel}:{},...l.memorySkipped?{memorySkipped:!0}:{},...r.startsWith(`pending-`)?{pendingEnrichment:!0}:{}})}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function Sc(e,t){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(_c))}async function Cc(e,t){let n=await e.readFile(V(t),{encoding:`utf-8`}),r=H(typeof n==`string`?n:new TextDecoder().decode(n));return{title:r.title||t.title,messages:r.messages}}async function wc(e,t){let{getTranscriptExportService:n}=await l(async()=>{let{getTranscriptExportService:e}=await Promise.resolve().then(()=>an);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}:{}})}async function Tc(e){let{root:t}=e,n=t?{folder:t.folder,label:T(t),jid:t.jid}:void 0,r=e=>wc(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 Ec(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.getController()?.loadMessages([]),window.dispatchEvent(new CustomEvent(mc)),l(async()=>{let{resetDictationPriming:e}=await import(`./wc-shell-BU2i4AQi.js`).then(e=>e.K);return{resetDictationPriming:e}},__vite__mapDeps([51,1,16,2,52,25,6,32,43,4,42,5,53,39,54,55,56])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function Dc(e,t){let n=t?hc(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 Oc(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 yc(n);if(i===null){if((await bc(n)).kind!==`corrupt`||(s.warn(`WC freezer index corrupt — rebuilding from archives`),i=await xc(n),i.length===0))return;await r.writeFile(z,JSON.stringify(i,null,2))}e===f&&(c=i,Sc(t.freezer,i),!p&&i.some(e=>!e.icon&&!e.pendingEnrichment)&&(p=!0,l(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-Bs6a9ohB.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([14,1,15,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,38,39])).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`),_=e=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{let t=Lt(r.getScoops(),a());try{let{writer:a}=await n(),{resetNewSessionTmp:o,runNewSessionFreeze:c,runNewSessionFreezeQuick:u}=await l(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-CSBZYMGL.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([68,15,1,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,45,40,41,42,43,44,46,47,48,49,38]));e!==`erase`&&await Tc({action:e,writer:a,root:t,client:r,freezerNew:g,refreshFreezer:m,runNewSessionFreeze:c,runNewSessionFreezeQuick:u}),await Ec({writer:a,root:t,client:r,getController:i,log:s,resetNewSessionTmp:o,tmpDir:or(r.getScoops(),t)}),m();let f=r.getScoops().find(e=>e.jid===t?.jid)??qt(r.getScoops());f&&d(f)}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-CSBZYMGL.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([68,15,1,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,45,40,41,42,43,44,46,47,48,49,38]));await r({vfs:t,cone:{folder:e.folder,label:T(e),jid:e.jid},captureCompleteSnapshot:t=>wc(e,t)}),m()};Ne(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(pc,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let y=async e=>{let l=c.find(t=>t.filename===e);try{let{reader:r}=await n();l||=(await yc(r)??[]).find(t=>t.filename===e);let{messages:a}=await Cc(r,l??{filename:e,title:e,frozenAt:``,messageCount:0});t.thread.setAttribute(`context`,`freezer:${l?.filename??e}`),u=l?.sessionId??l?.filename??null,i()?.loadMessages(a),(t.thread.inner??t.thread).prepend(Dc(t.thread.ownerDocument,l)),t.thread.setAttribute(`accent`,de),ue(t,{kind:`freezer`}),t.inputCard.setAttribute(`disabled`,``),t.switcher.removeAttribute(`active`),o()}catch(e){if(s.error(`WC thaw failed`,e),!a()){let e=Bt(r.getScoops(),l?.cone);e&&d(e)}}};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 kc=null;function Ac(e){kc=e}function jc(){return kc?.()??[]}var Mc=null;function Nc(e){Mc=e}function Pc(){return Mc??void 0}var Fc=`slicc.leaderTrayFollowers`;function Ic(){return Lc()}function Lc(){if(kc)return kc();try{let e=globalThis.localStorage?.getItem(Fc);if(e)return JSON.parse(e)}catch{}return[]}function Rc(e,t=globalThis.localStorage){try{t?.setItem(Fc,JSON.stringify(e))}catch{}}function zc(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 Bc(e){let t=ze();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:Fe(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=yt();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=Pe(e.getItem(Le))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function Vc(e){let{client:n,openReader:r,storage:i}=e;return{getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await l(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-CHHSfFEB.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([69,1,2,24,16,25,6,4,26,27,42,5,46,44]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await l(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-CHHSfFEB.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([69,1,2,24,16,25,6,4,26,27,42,5,46,44]));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([70,1])),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,n=[];for(let r of c()){if(e.has(r.providerId))continue;if(e.add(r.providerId),!t(r.providerId)?.isOAuth){n.push({providerId:r.providerId});continue}let i=a(r.providerId),o=r.loggedOut?!1:i?!i.expired:!1;n.push({providerId:r.providerId,valid:o})}return n}catch{return[]}},getSessionStats:async()=>n.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await r()).readFile(`/proc/table`,{encoding:`utf-8`});return zc(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>Bc(i),getConnectedFollowers:jc}}var Hc=`sync-fs-nonce`;function Uc(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:Hc,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 Wc=36e5,Gc=2e3,Kc=class{#e=[];#t;#n;constructor(e=Wc,t=Gc){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`}},qc=64,Jc=12,Yc=/\b(feedback|reviews?|corrections?|learnings?|observations?|testing|verification)\b/i,Xc=/\b(user|preferences?|identit(?:y|ies)|accounts?|personal|interface|working rhythm|keyboard|accessibility)\b/i,Zc=/^Auto-extracted \(/;function Qc(e){let t=document.createRange();return t.selectNodeContents(document.body),t.createContextualFragment(e)}function $c(e){return(Qc(me(e)).textContent??``).replace(/\s+/g,` `).trim()}function el(e){let t=$c(e);if(t.length<=qc)return{title:t,summary:``,titleEnd:t.length,summaryStart:t.length};let n=[];for(let e of t.matchAll(/[.!?](?:[*_`'")\]]*)\s+|\s+[—–]\s+|[:;](?:[*_`]*)\s+|,\s+(?=(?:and|but|because|while|when|then|so)\b)/g)){let r=/^\s+[—–]|^[:;]/.test(e[0]),i=e.index+(r?0:e[0].trimEnd().length),a=e.index+e[0].length;t.slice(0,i).trim().length>=Jc&&i<=96&&t.slice(a).trim()&&n.push({titleEnd:i,summaryStart:a})}let r=n.sort((e,t)=>Math.abs(e.titleEnd-qc)-Math.abs(t.titleEnd-qc))[0];if(r)return{title:t.slice(0,r.titleEnd).trim(),summary:t.slice(r.summaryStart).trim(),titleEnd:r.titleEnd,summaryStart:r.summaryStart};let i=t.slice(0,97).lastIndexOf(` `),a=i>=Jc?i:96,o=t.slice(a).trim();return{title:t.slice(0,a).trim(),summary:o,titleEnd:a,summaryStart:t.indexOf(o,a)}}function tl(e,t){let n=$c(e),r=Zc.test(t),i=r?n:`${t} ${n}`;return Yc.test(i)?`feedback`:Xc.test(i)?`user`:r?null:`project`}function nl(e,t){let n=el(e);return{title:n.title,summary:n.summary,section:t,tag:tl(e,t),bodyHtml:me(e),titleEnd:n.titleEnd,summaryStart:n.summaryStart}}function rl(e){let t=[],n=`Memory`,r=``,i=``,a=null,o=()=>[r||n,i].filter(Boolean).join(` / `),s=()=>{if(!a)return;let e=a.lines.join(` `).trim();e&&t.push(nl(e,a.section)),a=null};for(let t of e.split(`
399
+ `)){let e=/^(#{1,6})\s+(.+?)\s*#*\s*$/.exec(t.trim());if(e){s();let t=$c(e[2]);e[1].length===1?(n=t||n,r=``,i=``):e[1].length===2?(r=t,i=``):e[1].length===3&&(i=t);continue}let c=/^\s*[-*]\s+(.*)$/.exec(t);c?(s(),a={lines:[c[1]],section:o()}):t.trim()?a?a.lines.push(t.trim()):a={lines:[t.trim()],section:o()}:s()}return s(),t}function il(e,t){let n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=0,i=!1,a=!1,o=null,s=n.nextNode();for(;s;){for(let e=0;e<s.data.length;e+=1){if(/\s/.test(s.data[e])){i&&!a&&(a=!0,o={node:s,offset:e});continue}if(a){if(r===t)return o;r+=1}if(a=!1,o=null,r===t)return{node:s,offset:e};r+=1,i=!0}s=n.nextNode()}return r===t?{node:e,offset:e.childNodes.length}:null}function al(e,t,n){let r=Qc(e),i=il(r,t),a=n==null?{node:r,offset:r.childNodes.length}:il(r,n);if(!i||!a)return document.createDocumentFragment();let o=document.createRange();o.setStart(i.node,i.offset),o.setEnd(a.node,a.offset);let s=o.cloneContents();for(let e of[...s.childNodes])e.nodeType===Node.TEXT_NODE&&!e.textContent?.trim()&&e.remove();let c=s.childNodes.length===1?s.firstChild:null;if(!(c instanceof HTMLParagraphElement))return s;let l=document.createDocumentFragment();return l.append(...c.childNodes),l}function ol(e){return rl(e).map(e=>{let t=document.createElement(`slicc-memrow`);return t.setAttribute(`heading`,e.title),e.summary&&t.setAttribute(`summary`,e.summary),t.setAttribute(`section`,e.section),e.tag&&t.setAttribute(`tag`,e.tag),t.setHeadingContent(al(e.bodyHtml,0,e.titleEnd)),e.summary&&t.setBodyContent(al(e.bodyHtml,e.summaryStart,null)),t})}async function sl(e,t=F.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 ol(n)}function cl(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:Aa(e),sublabel:n,meta:Oa(e),icon:Ta(e),badges:r,status:Da(e)}})}}function ll(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function ul(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function dl(e){let t=ul(e),n=e.sessionId?`Session ${Ca(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:ll(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:ll(e)}]}}function fl(e,t){let n=e.filter(e=>C(e)),r=t=>e.filter(e=>!C(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:C(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 pl(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 ml(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 hl(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 gl(e){return{id:`cost`,label:`Cost`,icon:`receipt`,count:e?.models.length??0,meta:e?`$${e.totalCost.toFixed(2)} across ${e.models.length} models`:`no spend yet`,accent:`rose`,emptyText:`Model usage will be summarized after the first turn.`,rows:e?.models.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))??[]}}function _l(e){let t=[];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 n=ll(e.tray);(n===`error`||n===`warn`)&&t.push({id:`tray`,severity:n===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${ul(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)Da(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${Aa(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:Oa(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 vl(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function yl(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=[{id:`burn`,label:`Burn rate`,value:vl(c),unit:`/hour`,hero:!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},{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}];return l.length>0&&d.push({id:`context`,label:`Context fill`,value:String(Math.round(u*100)),unit:`%`,ratio:u,markers:bl(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d}function bl(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?C(r):!1,a=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:g({isRoot:i,name:a}),label:`${i?`${a} (cone)`:a} — ${Math.round(t*100)}% full`}})}var xl={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function Sl(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 Cl(e,t){return{pid:e.pid,ppid:e.ppid,state:xl[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:Sl(e.startedAt,t)}}async function wl(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:yl({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n}),alerts:_l({tray:r,followers:i,mounts:s,oauthProviders:p}),sections:[dl(r),cl(i),fl(n,t=>e.isProcessing(t)),pl(s),ml(m,p),hl(a,o),gl(l)],processes:{rows:d.map(e=>Cl(e,g)),terminated:f}}}var Tl=`/shared`,El=3,Dl=200;async function Ol(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,Dl),s=o.filter(e=>e.type===`file`).map(e=>`${t}/${e.name}`),c=await Promise.allSettled(s.map(t=>e.stat(t))),l=new Map;s.forEach((e,t)=>{let n=c[t];n?.status===`fulfilled`&&l.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<El?await Ol(e,i,n+1):[]});else{let e=l.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function kl(e,t=F.root){let n=[];for(let r of[t,Tl])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await Ol(e,r,1)});return n}var Al=200,jl=1e3,Ml=3e3;function Nl(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 kl(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,ae({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:kt,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>=jl){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},Al)},f=()=>{t??=setInterval(u,Ml)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,Tl];e.openFs().then(async e=>{if(!e.watch){t===a&&i&&f();return}let r=await e.watch(n,d);if(t!==a||!i){r();return}s=r}).catch(n=>{e.log.error(`WC file tree watch failed — falling back to polling`,n),t===a&&i&&f()})},m=()=>{n=!1,i=!1,a++,s?.(),s=null,c!=null&&(clearTimeout(c),c=null),t!=null&&(clearInterval(t),t=null)};return{open(){m(),i=!0,n=!0,e.onKernelReady(()=>{n&&(n=!1,u(),p())})},close:m,repoint(){!i||n||(u(),p())}}}function Pl(e){let t=!1,n=!1,r=0,i=null,a=new Kc,o=Nl(e),s=()=>{i!=null&&(clearInterval(i),i=null)},c=()=>{let t=++r;e.openFs().then(async n=>{let i=await sl(n,e.getWorkspace().memoryPath);t===r&&(e.memoryHost.setRows?e.memoryHost.setRows(i):e.memoryHost.replaceChildren(...i))}).catch(t=>e.log.error(`WC memory refresh failed`,t))},l=()=>{(async()=>{try{e.monitor.model=await wl(e.getMonitorDeps(),a)}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};return e.monitor.addEventListener(`slicc-monitor-refresh`,l),{activate(r){if(r===`files`){o.open();return}if(r===`memory`){n=!0,c();return}if(r===`monitor`){s(),l(),i=setInterval(l,5e3);return}r===`term`&&!t&&(t=!0,e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}))},deactivate(e){e===`files`?o.close():e===`monitor`?s():e===`memory`&&(n=!1)},refreshMemory(){n&&c()},refreshFiles(){o.repoint()}}}var Fl=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],Il=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Ll=2e4,Rl=12,zl=3e4;function Bl(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 Vl(e){return e.slice(e.lastIndexOf(`/`)+1)}function Hl(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function Ul(e,t){let n=Bl(e);return t.includes(`/`)?Hl(n,t):Vl(n)===t}function Wl(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))&&Ul(a,e)&&(r.add(a),n.push(Bl(a)),n.length>=Gl))break}return n}var Gl=4,Kl=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??Fl,this.#n=t.ignoredDirs??Il,this.#r=t.maxEntries??Ll,this.#i=t.maxDepth??Rl,this.#a=t.ttlMs??zl}resolve(e,t=[]){this.#g();let n=Bl(e),r=this.#d(n),i=Wl(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=>Hl(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(Vl(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>Hl(t,e)).sort(ql)}:{query:e,matches:[...t].sort(ql)}}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 ql(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var Jl=`file-mention`,Yl=`data-file-mentions`;function Xl(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var Zl=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),Ql=`file-mention-open`;async function $l(e,t,n=[]){let r=Xl(e);if(e.getAttribute(Yl)===r)return;let i=eu(e);if(i.length===0){e.setAttribute(Yl,r);return}let a=[],o=new Set;for(let e of i){let t=pe(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(Yl,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&&tu(e,n,l)}e.setAttribute(Yl,Xl(e))}function eu(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(Zl.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 tu(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(nu(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 nu(e,t,n,r,i){let a=e.createElement(`a`);return a.className=Jl,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(Ql,{detail:t,bubbles:!0,composed:!0}))}),a}var ru=`slicc-agent-message`,iu=`slicc-action-row[${h}]`;function au(e,t){let n=[],r=e.querySelectorAll(iu);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=>f(e))}function ou(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function su(e){try{return cu(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function cu(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new Kl(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;pe(n.textContent??``).length!==0&&ou(()=>{let i=au(t,e);a().then(e=>$l(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(ru))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()===ru?o(e):s(e));let e=t.target?.closest?.(ru);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=>te(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(Ql,l),()=>{c.disconnect(),t.removeEventListener(Ql,l)}}var lu=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>Cu,DOCK_TREE_STORAGE_KEY:()=>Su,attachWcClient:()=>Eu,makeSprinkleAttachImage:()=>Tu,mountWcUiLive:()=>Du,prepareWcShell:()=>uu,wireDockTreePersistence:()=>wu,wireWcChipTips:()=>_u});function uu(e,t){let n=ie(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=null,o=new Map,s=!1,c=null,l=new Set,u=null,d=e=>{if(a=e,!i)return;let t=Ut(Vt(e)),s=(e,t)=>{for(let n of t)i?.deleteQueuedMessage(e,n).catch(()=>void 0)},l=i.getScoops(),d=e=>{let t=e===void 0?void 0:l.find(t=>t.jid===e);return t?Lt(l,t)?.jid??t.jid:void 0},p=d(e.jid),m=i.selectedScoopJid;if(m&&m!==e.jid){let e=d(m);if(t&&p!==void 0&&p===e){let t=r?.stashQueued()??[];t.length>0&&(u={jid:e,items:t})}else s(m,(r?.getQueuedMessages()??[]).map(e=>e.id))}u&&(u.jid===e.jid?(r?.restoreQueued(u.items),u=null):p!==u.jid&&(s(u.jid,u.items.map(e=>e.id)),u=null));let h=o.get(e.jid);r?.setLickBackpressure(h?.count??0,h?.waitingMs??0,Jt(e)),i.setSelectedScoopJid(e.jid),r?.setReadOnly(t),t||n.inputCard.removeAttribute(`disabled`),nc(n,e,i.getScoops()),i.requestScoopMessages(e.jid),r?.setProcessing(i.isProcessing(e.jid)),n.switcher.hasAttribute(`attention`)||n.switcher.setAttribute(`attention`,e.jid),f.refreshScoops?.(),c?.refreshMemory(),c?.refreshFiles()},f={refs:n,statuses:new Map,fills:new Map,phases:new Map,lickBackpressure:o,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>a,selectScoop:d,notifyReady:()=>{s=!0;for(let e of l)e()}};return{refs:n,wiring:f,setClient:e=>{i=e},selectScoop:d,getSelected:()=>a,clearSelection:()=>{a=null},getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{c=e;let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(s?e.activate(n):l.add(()=>e.activate(n)))},onClientReady:e=>{l.add(e),s&&e()}}}function du(e){let t=null;return()=>(t??=(async()=>{let[{createRemoteVfsClient:t},{createRemoteWritableVfsClient:n}]=await Promise.all([l(()=>import(`./remote-vfs-client-CN1pCs1m.js`),__vite__mapDeps([71,72])),l(()=>import(`./writable-vfs-client-CuBjWhy3.js`),__vite__mapDeps([73,72]))]);return{reader:t({transport:e.getTransport()}),writer:n({transport:e.getTransport()})}})(),t)}function fu(e,t,n,r,i){e.onClientReady(()=>{r.intercept||l(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-BOIXS806.js`);return{wireWcOnboarding:e}},__vite__mapDeps([74,16,2,46,6,24,1,25,4,26,27,44,75])).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 pu(e,t){let n=()=>{t.getSessionStats?.().then(n=>{if(!n)return;e.refs.floatbar.setAttribute(`spent`,n.totalCost.toFixed(2)),typeof n.burnRate==`number`&&Number.isFinite(n.burnRate)?e.refs.floatbar.setAttribute(`rate`,n.burnRate.toFixed(2)):e.refs.floatbar.removeAttribute(`rate`);let r=e.refs.floatbar;n.models&&(r.costModels=n.models),n.scoops&&(r.costScoops=n.scoops),e.fills.clear();for(let t of n.fills)e.fills.set(t.jid,t.fill);e.refs.switcher.scoops=zs(t.getScoops(),e.statuses,e.fills,e.phases,e.awaitingInput,e.getSelected()?.jid)})};return setInterval(n,15e3),n}function mu(e,t,n){let r=t.standalone;r&&l(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-CYph9bTu.js`);return{wireWcBrowser:e}},__vite__mapDeps([76,6,77,78,2,79])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:r.browser,log:n})).catch(e=>n.error(`WC browser overlay wiring failed`,e))}function hu(e,t){let{refs:n}=e;n.switcher.addEventListener(`slicc-scoop-select`,n=>{let r=n.detail?.key,i=t.getScoops().find(e=>e.jid===r);i&&i.jid!==e.getSelected()?.jid&&e.selectScoop(i)}),_u({switcher:n.switcher,getScoops:()=>t.getScoops(),lastActivity:e.wiring.lastActivity})}function gu(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.jid;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 _u(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||=T(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-Bs6a9ohB.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([14,1,15,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,38,39]))).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: ${C(o)?`${T(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 vu(e,t,n){let{RemoteTerminalView:r}=await l(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-HlQtiCdZ.js`);return{RemoteTerminalView:e}},__vite__mapDeps([80,1,16,58,81,34,2,53,0,3,4,5,6,13,82,23,12,9,8,10,11,7,83])),{fetchSecretEnvVars:i}=await l(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-CvkpMxjz.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([84,2,24,1,16,25,6,4,26,27,28,5,29,30,31])),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 yu(e,t,n){let r=r=>{if(r.startsWith(`freezer:`)){n(r.slice(8));return}let i=Rt(t.getScoops(),r);i&&i.jid!==e.getSelected()?.jid&&e.selectScoop(i)};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 bu(e,t,n,r){l(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-BxpV8lGq.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([85,16,2,58])).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-CET8Rh_M.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([86,16,4,42,5,6]));r({runtimeMode:a,providers:await o(s()||a===`extension`||a===`extension-detached`)}),i({runShell:xu(e,t)})}).catch(e=>r.warn(`WC permissions surface wiring failed`,e))}function xu(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([83,1])),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 Su=`slicc-dock-tree:default`,Cu={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 wu(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(Su,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(Su);r.setTree(e?JSON.parse(e):Cu)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(Cu)}}function Tu(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 Eu(e,t,n,r={}){l(async()=>{let{initTimestampPreference:e}=await import(`./wc-shell-BU2i4AQi.js`).then(e=>e.H);return{initTimestampPreference:e}},__vite__mapDeps([51,1,16,2,52,25,6,32,43,4,42,5,53,39,54,55,56])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:i}=e;e.setClient(t);let a=Ne(`panel-layouts`);i.dockTree.tilesMovable=a,a||wu(i,n);let o=null,s=pu(e.wiring,t),c=()=>o?.(),u={intercept:null},{controller:d,agentHandle:f}=fc(i,t,()=>e.getSelected(),gu({boot:e,triggerPlaceholder:c,refreshStats:s}),u);e.setController(d),e.onClientReady(s);let p=du(t),m=async()=>(await p()).reader;r.standalone?.runtimeMode!==`cherry`&&r.standalone?.runtimeMode!==`hosted-leader`&&fu(e,t,p,u,n);let h=ic({boot:e,client:t,agentHandle:f,setRefreshPlaceholder:e=>{o=e},triggerPlaceholder:c,openReader:m,openWriter:async()=>(await p()).writer,log:n});hu(e,t),mu(e,r,n),bu(e,t,r,n);let g=Pl({fileTree:i.fileTree,termSurface:i.termSurface,memoryHost:i.memoryHost,monitor:i.monitor,openFs:m,openWriter:async()=>(await p()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>Vc({client:t,openReader:m,storage:window.localStorage}),getWorkspace:()=>sr(t.getScoops(),e.getSelected()??void 0),mountTerminal:n=>vu(e,t,n),insertReference:e=>{let t=i.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:n});e.setActivateSurface(g),a&&l(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-Cqfllxbd.js`);return{panelizeShell:e}},__vite__mapDeps([87,2,51,1,16,52,25,6,32,43,4,42,5,53,39,54,55,56,88,89])).then(({panelizeShell:e})=>e(i,void 0,void 0,{onToolPanelActivate:e=>g.activate(e),onToolPanelDeactivate:e=>g.deactivate(e)})).catch(e=>n.error(`panelize failed — keeping the classic shell`,e)),su({thread:i.thread,openFs:m,log:n}),i.floatbar.addEventListener(`click`,()=>{let e=i.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let _=Oc({refs:i,openVfs:p,client:t,getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,log:n}),{refreshFreezer:v,openFrozen:y,getViewedFrozenSessionId:ee}=_;if(v(),e.onClientReady(v),Ne(`multiple-cones`)){let r=Is({freezer:i.freezer,client:t,getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,freezeCone:_.freezeCone,log:n});e.wiring.refreshConeActions=r.refresh,e.onClientReady(r.refresh)}yu(e,t,y),e.onClientReady(()=>{p().then(async({reader:e,writer:t})=>{let{loadShortcutConfig:n}=await l(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-CtIiNVQ9.js`);return{loadShortcutConfig:e}},__vite__mapDeps([90,2,51,1,16,52,25,6,32,43,4,42,5,53,39,54,55,56]));await n({reader:e,writer:t,apply:i.shortcuts.setKeymap})}).catch(e=>n.warn(`WC shortcut config load failed`,e))}),p().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:n})}).catch(e=>n.warn(`WC page-VFS support wiring failed`,e)),p().then(async({reader:a,writer:o})=>{let{createRemoteSprinkleVfs:s}=await l(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-CawR6gXx.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([91,72])),c=(await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-Cqfllxbd.js`);return{getPanelizedShell:e}},__vite__mapDeps([87,2,51,1,16,52,25,6,32,43,4,42,5,53,39,54,55,56,88,89]))).getPanelizedShell(),{wireWcSprinkles:u}=await l(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-C9wtNI-h.js`);return{wireWcSprinkles:e}},__vite__mapDeps([92,16,4,42,5,6,93,75])),d=await u({refs:i,client:t,fs:s({reader:a,writer:o}),instanceId:r.instanceId,onAttachImage:Tu(h,n),onToolPanelActivate:e=>g.activate(e),onToolPanelDeactivate:e=>g.deactivate(e),hostSprinkleSurface:c?(e,t)=>c.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:c?e=>c.removeSprinkleSurface(e):void 0,log:n});e.onClientReady(()=>void d.resync());let{getPanelizedShell:_}=await l(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-Cqfllxbd.js`);return{getPanelizedShell:e}},__vite__mapDeps([87,2,51,1,16,52,25,6,32,43,4,42,5,53,39,54,55,56,88,89])),v=_();if(v){let e=s({reader:a,writer:o});v.attachFs(e);let{registerAgentPanels:t}=await l(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-BUwuB3TG.js`);return{registerAgentPanels:e}},__vite__mapDeps([94,2,51,1,16,52,25,6,32,43,4,42,5,53,39,54,55,56]));await t(e).catch(e=>n.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-z0iSraqj.js`);return{applyLayout:e}},__vite__mapDeps([95,92,16,4,42,5,6,93,75]));e(e=>t(d.zone,e))}if(r.standalone&&r.instanceId){let{wireWcTray:a}=await l(async()=>{let{wireWcTray:e}=await import(`./wc-tray-BLqE4RP_.js`);return{wireWcTray:e}},__vite__mapDeps([96,15,1,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,51,52,43,42,53,39,54,55,56,77,97,98,99,47,75,63,100,66,67,93,101,102,46,44,40,41,45,48,49,58,103,104,105,83,69,79,106,107])),o=d.zone.callbacks(),s=await a({refs:i,client:t,browser:r.standalone.browser,realCdpTransport:r.standalone.realCdpTransport,instanceId:r.instanceId,runtimeMode:r.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>o.addSprinkle(e,t,n),removeSprinkle:e=>o.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.jid??`cone`,agentHandle:f,openFs:m,openWriter:async()=>(await p()).writer,window,log:n});e.wiring.notifyScoopStateChanged=()=>s.scheduleScoopsListBroadcast()}}).catch(e=>n.error(`WC sprinkle/tray wiring failed`,e));{let e=new Qt,n=new rn,r=on(new us({collection:{listScoops:()=>t.getScoops(),isProcessing:e=>t.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>e.loadAll(),loadUiChatSessions:async()=>{let e=await n.list();return(await Promise.all(e.map(e=>n.load(e)))).filter(e=>e!==null)},wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:Ds(),snapshotStore:{read:async e=>{let{reader:t}=await p();return bs(t,e)},write:async(e,t)=>{let{writer:n}=await p();return ys(n,e,t)}},vfs:{readFile:async(e,t)=>(await p()).reader.readFile(e,t),readDir:async e=>(await p()).reader.readDir(e),stat:async e=>(await p()).reader.stat(e)},getActiveSessionInfo:()=>{let e=qt(t.getScoops());return{id:e?.jid??`session-${Date.now()}`,title:e?.name??`Active Session`}},version:`6.110.3`}));window.addEventListener(`unload`,r,{once:!0})}let b=!1,x=()=>b?Promise.resolve():(b=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:t,downloadTranscriptBlob:n}]=await Promise.all([l(()=>Promise.resolve().then(()=>an),void 0),l(()=>import(`./wc-transcript-export-By3cf4BN.js`),__vite__mapDeps([108,16,101,6,102,1]))]),r=ee(),i=r==null?{kind:`active`}:{kind:`frozen`,sessionId:r},a=await e().export(i,{}),{filename:o}=a;await n(await t(a),o)}catch(e){n.error(`Transcript export failed`,e)}finally{b=!1}})());if(l(async()=>{let{wireWcNav:e}=await import(`./wc-nav-CUf1Z_Tr.js`);return{wireWcNav:e}},__vite__mapDeps([109,16,4,42,5,6,45,46,24,1,25,26,27,44,47,48,49,69,2,93,75])).then(({wireWcNav:e})=>e({refs:i,client:t,log:n,onExportTranscript:x,shortcuts:i.shortcuts})).catch(e=>n.error(`WC nav wiring failed`,e)),l(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-C08Pruqj.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([110,2,4,42,5,6,58,54,61,62,24,1,16,25,26,27,63,52,111])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=i.composer;t(r.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>n.error(`WC push-to-talk wiring failed`,e)),l(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-DW89OFqf.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([60,16,2,4,42,5,6,61,62,24,1,25,26,27,63,52])).then(({setSpeakAssetsInstanceId:e})=>e(r.instanceId)).catch(e=>n.error(`WC say warmup wiring failed`,e)),r.standalone)return()=>{l(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-CSBZYMGL.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([68,15,1,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,45,40,41,42,43,44,46,47,48,49,38])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await p()).writer,onComplete:v})).catch(e=>n.warn(`Pending session catch-up scheduling failed`,e))}}async function Du(e,t,n=`standalone`){let{browser:r,realCdpTransport:i,instanceId:a,localApiBaseUrl:o,bridgeToken:s,localLickWsUrl:c,extensionDelegateId:u,attachLickForwardingClient:d}=await He({runtimeMode:n,envBaseUrl:null,window,log:t}),{floatKindForRuntimeMode:f,floatLabelForKind:p,resolveStandaloneFloatKind:m}=await l(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await import(`./wc-float-label-BLvU2814.js`);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},__vite__mapDeps([112,51,1,16,2,52,25,6,32,43,4,42,5,53,39,54,55,56,24,26,27])),{installFloatbarStatus:h}=await l(async()=>{let{installFloatbarStatus:e}=await import(`./wc-floatbar-online-WxVLXUuL.js`);return{installFloatbarStatus:e}},__vite__mapDeps([113,47,69,1,2,24,16,25,6,4,26,27,42,5,46,44,112,51,52,32,43,53,39,54,55,56])),g=n===`standalone`?await m():f(n),_=p(g),v=uu(e,_);h(v.refs.floatbar,{floatKind:g,label:_}),a&&Ue(a);let{syncFsBridgeEnabled:y,syncFsChannelNonce:ee}=Uc(),b=!1,x=to({realCdpTransport:i,instanceId:a,makeClient:e=>new Ga(Bs(v.wiring),e),localApiBaseUrl:o,bridgeToken:s,syncFsBridgeEnabled:y,syncFsChannelNonce:ee,localLickWsUrl:c,extensionDelegateId:u,flagFloat:n,onWorkerScriptError:()=>{Ve()},onReadyStall:e=>{b=!0,l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(t=>t.showBootStallOverlay(document,e)),[])},onLateReady:()=>{Ve()}});qa({send:e=>x.client.sendRaw(e)}),d?.(x.client);let te=Eu(v,x.client,t,{instanceId:a,standalone:{browser:r,realCdpTransport:i,runtimeMode:n,floatKind:g}}),{setupSudoStandalone:ne}=await l(async()=>{let{setupSudoStandalone:e}=await import(`./main-Cj0dR__R.js`).then(e=>e.i);return{setupSudoStandalone:e}},__vite__mapDeps([40,1,41,15,16,17,18,19,20,21,22,23,2,6,24,25,4,26,27,28,5,29,30,31,32,33,34,35,36,37,42,43,44,45,46,47,48,49]));await ne({log:t});try{await x.ready}finally{b&&l(()=>import(`./boot-stall-overlay-Pxp4nHfq.js`).then(e=>e.removeBootStallOverlay(document)),[])}v.wiring.notifyReady?.(),t.info(`WC live shell ready`,{scoops:x.client.getScoops().length}),te?.();let{consumeAutoPrompt:re}=await l(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),ie=re(window.location.search);ie&&(v.getController()?.sendUserMessage(ie),t.info(`Auto-prompt submitted`,{length:ie.length}))}export{wi as A,Ta as C,Ma as D,Aa as E,Kn as F,Gn as I,an as L,na as M,Tn as N,Ti as O,cn as P,rn as R,ja as S,Da as T,Ws as _,Ic as a,Sa as b,Nc as c,pc as d,dc as f,Hs as g,Us as h,jc as i,xa as j,ia as k,Rc as l,Vs as m,uu as n,Pc as o,$s as p,lu as r,Ac as s,Eu as t,mc as u,Bs as v,Oa as w,ka as x,Ga as y};