sliccy 6.243.2 → 6.243.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 (139) hide show
  1. package/dist/ui/.vite/manifest.json +215 -215
  2. package/dist/ui/assets/{account-store-XLm6U_oB.js → account-store-DavMHU4r.js} +1 -1
  3. package/dist/ui/assets/{account-store-CZxeDCj6.js → account-store-OAze3utw.js} +1 -1
  4. package/dist/ui/assets/{adobe-DP6TLAwd.js → adobe-CH34ZyZi.js} +1 -1
  5. package/dist/ui/assets/{adobe-4Lv-lEUy.js → adobe-D6OcJBBT.js} +1 -1
  6. package/dist/ui/assets/{agent-panels-BLkJvMDw.js → agent-panels-CelkEdi9.js} +1 -1
  7. package/dist/ui/assets/{almost-bash-shell-headless-McU6QzNw.js → almost-bash-shell-headless-65Yqm6IC.js} +12 -12
  8. package/dist/ui/assets/{apply-layout-DhAyX0Ov.js → apply-layout-DPEleZz2.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-DNomGJQA.js → azure-openai-32F2rdBU.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-DgQO_MPc.js → azure-openai-C8BzsUm0.js} +1 -1
  11. package/dist/ui/assets/{cdp-BPODO-v6.js → cdp-Br2ndzi3.js} +1 -1
  12. package/dist/ui/assets/{cerebras-BcnsNVTj.js → cerebras-DfpflWWB.js} +1 -1
  13. package/dist/ui/assets/{cerebras-DCbwMLZs.js → cerebras-DtLqBhyz.js} +1 -1
  14. package/dist/ui/assets/{composer-speech-DLpMUmHi.js → composer-speech-DK0XRoq3.js} +1 -1
  15. package/dist/ui/assets/{connect-surface-Dd6etMS1.js → connect-surface-BpnrnNX9.js} +1 -1
  16. package/dist/ui/assets/{directed-approval-CxGyqGmw.js → directed-approval-gXEtjPGM.js} +1 -1
  17. package/dist/ui/assets/{dist-BJx1GM3O.js → dist-CehypiRP.js} +1 -1
  18. package/dist/ui/assets/{dist-C66UNY2L.js → dist-Co7WrkVS.js} +1 -1
  19. package/dist/ui/assets/{dist--2RE4W9O.js → dist-CzUXmzlP.js} +1 -1
  20. package/dist/ui/assets/{dist-CqRNl2Ki.js → dist-OGhVX23P.js} +1 -1
  21. package/dist/ui/assets/{emscripten-vfs-hook-D5wuCcmd.js → emscripten-vfs-hook-C5ygtdNh.js} +1 -1
  22. package/dist/ui/assets/{frozen-archive-writer-Cl1Ysgmc.js → frozen-archive-writer-CxOraREp.js} +1 -1
  23. package/dist/ui/assets/{frozen-archive-writer-BMGO4Pl3.js → frozen-archive-writer-DxdIIiWU.js} +1 -1
  24. package/dist/ui/assets/{frozen-session-delete-BImwwqtA.js → frozen-session-delete-DRfrrQHj.js} +1 -1
  25. package/dist/ui/assets/{frozen-session-identity-cfIMH4Td.js → frozen-session-identity-DHkq6CVA.js} +1 -1
  26. package/dist/ui/assets/{frozen-session-identity-DpCAG3W1.js → frozen-session-identity-DN7rO8YY.js} +1 -1
  27. package/dist/ui/assets/{gelatiere-unit-DOXwGapU.js → gelatiere-unit-BWm1W4_I.js} +1 -1
  28. package/dist/ui/assets/{github-BzZw7TIs.js → github-BMnrT4Yf.js} +1 -1
  29. package/dist/ui/assets/{github-CsKFSSqV.js → github-DBWTr5xg.js} +1 -1
  30. package/dist/ui/assets/{github-copilot-C5z2PQ1P.js → github-copilot-CReg0FfB.js} +1 -1
  31. package/dist/ui/assets/{github-copilot-dtNkDvfZ.js → github-copilot-D6McKfnz.js} +1 -1
  32. package/dist/ui/assets/{hear-CMC1K5UA.js → hear-cwnbPcy1.js} +1 -1
  33. package/dist/ui/assets/{js-realm-worker-Ba8zud52.js → js-realm-worker-DexiS1kr.js} +2 -2
  34. package/dist/ui/assets/{jsh-executor-qDakdAS_.js → jsh-executor-BmjWQTfd.js} +2 -2
  35. package/dist/ui/assets/{kernel-worker-D1Q7ClUJ.js → kernel-worker-DmM9pRNV.js} +8 -8
  36. package/dist/ui/assets/{lick-ws-bridge-B5fuce_W.js → lick-ws-bridge-ClpYrG_z.js} +1 -1
  37. package/dist/ui/assets/{lick-ws-bridge-712p86v_.js → lick-ws-bridge-sowukdrb.js} +1 -1
  38. package/dist/ui/assets/{live-session-curation-BeUaBQ0O.js → live-session-curation-CDrfX18C.js} +1 -1
  39. package/dist/ui/assets/{live-session-curation-B0pppRPO.js → live-session-curation-zkh_Wkc7.js} +1 -1
  40. package/dist/ui/assets/{live-session-snapshot-g151JaRq.js → live-session-snapshot-BcRA8Xxe.js} +1 -1
  41. package/dist/ui/assets/{local-llm-BDORdmqg.js → local-llm-BXdO_Xjk.js} +1 -1
  42. package/dist/ui/assets/{local-llm-DJvkrQKj.js → local-llm-tCEdVhm-.js} +1 -1
  43. package/dist/ui/assets/{main-BsdSV37L.js → main-C90hD8JI.js} +3 -3
  44. package/dist/ui/assets/{main-cherry-CR-h4E9K.js → main-cherry-D0_KUuC2.js} +1 -1
  45. package/dist/ui/assets/{mcp-command-CWc3RewX.js → mcp-command-D1TQKEy4.js} +10 -10
  46. package/dist/ui/assets/{memory-curation-seam-DQycDeZC.js → memory-curation-seam-BCrJp59X.js} +1 -1
  47. package/dist/ui/assets/{memory-health-15TTx6Ic.js → memory-health-CFkCVATs.js} +1 -1
  48. package/dist/ui/assets/{memory-write-execute-DkPMw8VV.js → memory-write-execute-DJFsDfaR.js} +1 -1
  49. package/dist/ui/assets/{merge-folded-cost-into-frozen-DRJ6s4PX.js → merge-folded-cost-into-frozen-CMO0DoXu.js} +1 -1
  50. package/dist/ui/assets/{new-session-CUUn1ajO.js → new-session-65D5H5Af.js} +2 -2
  51. package/dist/ui/assets/{oauth-bootstrap-JLz985ZL.js → oauth-bootstrap-CVpyXhcC.js} +2 -2
  52. package/dist/ui/assets/{onboarding-orchestrator-EMPTI-j1.js → onboarding-orchestrator-Dfzs-pFR.js} +1 -1
  53. package/dist/ui/assets/{openai-codex-BfWZSHpB.js → openai-codex-C22er4Pe.js} +1 -1
  54. package/dist/ui/assets/{openai-codex-Q6PUT3gV.js → openai-codex-D-mUhIVy.js} +1 -1
  55. package/dist/ui/assets/{openrouter-BNtQ_P1J.js → openrouter-BAErbpit.js} +1 -1
  56. package/dist/ui/assets/{openrouter-DQNJ63yB.js → openrouter-BB8Y8x3t.js} +1 -1
  57. package/dist/ui/assets/{openrouter-free-BoYIz3XV.js → openrouter-free-BBShyP-b.js} +1 -1
  58. package/dist/ui/assets/{openrouter-free-G3JKrY_P.js → openrouter-free-GQPkxIFG.js} +1 -1
  59. package/dist/ui/assets/{openrouter-oauth-vUgEXXiX.js → openrouter-oauth-wqXJrvZA.js} +1 -1
  60. package/dist/ui/assets/{openrouter-oauth-DozNS5US.js → openrouter-oauth-y1sOSAEE.js} +1 -1
  61. package/dist/ui/assets/{panel-rpc-handlers-DJvPSTfc.js → panel-rpc-handlers-BD1IR7cj.js} +2 -2
  62. package/dist/ui/assets/{panelize-shell-BIA9fIYU.js → panelize-shell-I8zPEKJM.js} +1 -1
  63. package/dist/ui/assets/{pi-edit-execution-B0PqMqNv.js → pi-edit-execution-CYm_AVKO.js} +1 -1
  64. package/dist/ui/assets/{provider-D3ZCTHqJ.js → provider-Cr6BSFYJ.js} +1 -1
  65. package/dist/ui/assets/{provider-DL5HVsgz.js → provider-P--IxCQK.js} +1 -1
  66. package/dist/ui/assets/{provider-settings-D4-pVNMC.js → provider-settings-CdQOc0ui.js} +1 -1
  67. package/dist/ui/assets/provider-store-access-B9j5FUuy.js +1 -0
  68. package/dist/ui/assets/provider-store-access-Cg5pbLbN.js +1 -0
  69. package/dist/ui/assets/{providers-dzjrpTMk.js → providers-C4_lEdVe.js} +2 -2
  70. package/dist/ui/assets/{providers-BCV7QPpP.js → providers-CxPkFUlz.js} +1 -1
  71. package/dist/ui/assets/{quick-llm-DaP4ryRr.js → quick-llm-BEV4p0nB.js} +1 -1
  72. package/dist/ui/assets/{realm-inprocess-DnnpW3lX.js → realm-inprocess-DV-Xw5BZ.js} +2 -2
  73. package/dist/ui/assets/{realm-unhandled-rejections-Bpetsjkq.js → realm-unhandled-rejections-BxEidS8a.js} +1 -1
  74. package/dist/ui/assets/{realm-unhandled-rejections-CCuyDZV1.js → realm-unhandled-rejections-DBWhxPd7.js} +1 -1
  75. package/dist/ui/assets/{recovery-screen-7AXEx7XV.js → recovery-screen-CweL0z_8.js} +1 -1
  76. package/dist/ui/assets/{remote-terminal-view-DsZr87Ur.js → remote-terminal-view-hCBfSTM_.js} +2 -2
  77. package/dist/ui/assets/{restore-Cq90Gpjz.js → restore-p_0PYYqq.js} +1 -1
  78. package/dist/ui/assets/{run-BKLI816a.js → run-BIDp3M3h.js} +2 -2
  79. package/dist/ui/assets/{run-BLk5z5Fd.js → run-CW1TUsgu.js} +2 -2
  80. package/dist/ui/assets/{run-Kr2m1I2U.js → run-Cl1AE5gC.js} +1 -1
  81. package/dist/ui/assets/{run-C6C7wjY-.js → run-DWPGdwY8.js} +1 -1
  82. package/dist/ui/assets/{serve-command-CyZJk9MZ.js → serve-command-DpIfibWZ.js} +2 -2
  83. package/dist/ui/assets/{serve-runtime-CTBKr3Z7.js → serve-runtime-8nNpxK2U.js} +1 -1
  84. package/dist/ui/assets/{session-command-memory-Bqv2ix3h.js → session-command-memory-B8KumfcH.js} +2 -2
  85. package/dist/ui/assets/{session-jsonl-DY5vSsEY.js → session-jsonl-Aeyy6bYO.js} +1 -1
  86. package/dist/ui/assets/{session-jsonl-meQI1UV7.js → session-jsonl-fTJAJBSj.js} +1 -1
  87. package/dist/ui/assets/{session-search-index-BXkJ-N76.js → session-search-index-BBxWBvag.js} +1 -1
  88. package/dist/ui/assets/{setup-feature-flags-remote-r75qKqHJ.js → setup-feature-flags-remote-D47csfRr.js} +1 -1
  89. package/dist/ui/assets/{setup-model-catalog-ByEasP3_.js → setup-model-catalog-CZW4Je4-.js} +1 -1
  90. package/dist/ui/assets/{silent-renew-backoff-CASWtcNf.js → silent-renew-backoff-B15ufbQP.js} +1 -1
  91. package/dist/ui/assets/{slicc-editor-DvUervn4.js → slicc-editor-CdEm4LHg.js} +3 -3
  92. package/dist/ui/assets/slicc-editor-DAaLAf5t.js +1 -0
  93. package/dist/ui/assets/slicc-version-BwLtS93H.js +1 -0
  94. package/dist/ui/assets/{soundscape-zvfIWAUQ.js → soundscape-DW-72Z0Y.js} +1 -1
  95. package/dist/ui/assets/{speak-FFaf-I-F.js → speak-B35W0TfW.js} +1 -1
  96. package/dist/ui/assets/{sprinkle-manager-DBl0Qryg.js → sprinkle-manager-B_goFSKM.js} +1 -1
  97. package/dist/ui/assets/{sprinkle-renderer-OV3BTNWr.js → sprinkle-renderer-DrMbnBY8.js} +3 -3
  98. package/dist/ui/assets/{sudo-DJyP7dsU.js → sudo-DUfFewQM.js} +1 -1
  99. package/dist/ui/assets/{supervisor-BdTIArZU.js → supervisor-IVQpQaoF.js} +1 -1
  100. package/dist/ui/assets/{sync-dialog-Br_K5KpJ.js → sync-dialog-hpYw1TvP.js} +1 -1
  101. package/dist/ui/assets/{transformers-env-DLc7g3N6.js → transformers-env-CJUqiPAP.js} +1 -1
  102. package/dist/ui/assets/{tray-leader-Bv7S20n9.js → tray-leader-DlYEWBqw.js} +1 -1
  103. package/dist/ui/assets/{tray-leave-runtime-I7apUYzZ.js → tray-leave-runtime-C9mN6hrw.js} +1 -1
  104. package/dist/ui/assets/{tray-sidecar-M-r6mIft.js → tray-sidecar-ClkEe5Fi.js} +1 -1
  105. package/dist/ui/assets/{upgrade-detection-CeUiUHgY.js → upgrade-detection-C7F6yis9.js} +1 -1
  106. package/dist/ui/assets/{voice-reply-BJYe4UwJ.js → voice-reply-BUruZfw2.js} +1 -1
  107. package/dist/ui/assets/{wc-attach-DAZxEW7e.js → wc-attach-B9M8p68t.js} +2 -2
  108. package/dist/ui/assets/{wc-browser-CPqLSnWi.js → wc-browser-gzvFw0m9.js} +1 -1
  109. package/dist/ui/assets/{wc-computers-BSO6h83W.js → wc-computers-BxDAqYcl.js} +1 -1
  110. package/dist/ui/assets/{wc-detached-BTcUbqyC.js → wc-detached-BrZ2M-6i.js} +1 -1
  111. package/dist/ui/assets/{wc-extension-CZhf2w5M.js → wc-extension-Del7KWdu.js} +2 -2
  112. package/dist/ui/assets/{wc-follower-ClkUaYlS.js → wc-follower-J3wUyIaU.js} +3 -3
  113. package/dist/ui/assets/{wc-follower-oauth-BXQZ0Hj3.js → wc-follower-oauth-BuTKO9Gk.js} +1 -1
  114. package/dist/ui/assets/{wc-gelatiere-D_dcZETl.js → wc-gelatiere-IFw93RLp.js} +1 -1
  115. package/dist/ui/assets/{wc-live-CM0kJV-w.js → wc-live-DISxqg6I.js} +5 -5
  116. package/dist/ui/assets/{wc-nav-DMm0_AmC.js → wc-nav-CaScAx72.js} +2 -2
  117. package/dist/ui/assets/{wc-onboarding-DDUN43nx.js → wc-onboarding-C4vdCBGl.js} +2 -2
  118. package/dist/ui/assets/{wc-permissions-Dpvz8D7r.js → wc-permissions-CC3l81OG.js} +2 -2
  119. package/dist/ui/assets/{wc-placeholder-DUTpA2Ya.js → wc-placeholder-DolUSoJ8.js} +3 -3
  120. package/dist/ui/assets/{wc-secret-request-iNh1HLmJ.js → wc-secret-request-h-lUD0ld.js} +1 -1
  121. package/dist/ui/assets/{wc-settings-DLevZ4n0.js → wc-settings-4-zYg_pr.js} +3 -3
  122. package/dist/ui/assets/{wc-shell-BTbyNdYF.js → wc-shell-C6n7vd_q.js} +3 -3
  123. package/dist/ui/assets/{wc-shortcut-config-CB8hU7p1.js → wc-shortcut-config-BWd5_aec.js} +1 -1
  124. package/dist/ui/assets/{wc-sprinkles-D0rQnhwv.js → wc-sprinkles-DN29B4nE.js} +2 -2
  125. package/dist/ui/assets/{wc-transcript-export-COXpYoBX.js → wc-transcript-export-Dq42EPas.js} +2 -2
  126. package/dist/ui/assets/{wc-tray-CotD2fxR.js → wc-tray-D4fcmhCE.js} +4 -4
  127. package/dist/ui/assets/welcome-detection-CEIbJtw5.js +1 -0
  128. package/dist/ui/assets/{whisper-session-DGQAkJoW.js → whisper-session-D_xswc3a.js} +2 -2
  129. package/dist/ui/assets/{xai-grok-Bj8PAnmK.js → xai-grok-OcwjrOgK.js} +1 -1
  130. package/dist/ui/assets/{xai-grok-Cd9-MlJg.js → xai-grok-zmcXuGP7.js} +1 -1
  131. package/dist/ui/index.html +3 -3
  132. package/dist/ui/packages/webapp/index.html +3 -3
  133. package/dist/ui/slicc-editor.js +1 -1
  134. package/package.json +1 -1
  135. package/dist/ui/assets/provider-store-access-BbupGN5p.js +0 -1
  136. package/dist/ui/assets/provider-store-access-CeDf0OTu.js +0 -1
  137. package/dist/ui/assets/slicc-editor-ClPmdhB1.js +0 -1
  138. package/dist/ui/assets/slicc-version-kdyYkViZ.js +0 -1
  139. package/dist/ui/assets/welcome-detection-B6xiu7OK.js +0 -1
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-shell-BTbyNdYF.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-CZxeDCj6.js","assets/core-DzRw0pz2.js","assets/compat-0YnuwvMn.js","assets/models-D9KYIFyv.js","assets/diagnostics-B-5VkVir.js","assets/env-api-keys-BMbk-OAv.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-C88RzzVZ.js","assets/azure-openai-config--zABV6W_.js","assets/utf16-clip-CGL7omVm.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-dzjrpTMk.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-Df3uDddz.js","assets/claude-model-version-3MWQoaco.js","assets/renamed-providers-DDe6My59.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-BJTFywJo.js","assets/wc-shell-WkeczD9x.css","assets/mount-picker-popup-qcWGbpG5.js","assets/picker-popup-sQtXmfAo.js","assets/usb-picker-O-2gFMNl.js","assets/serial-picker-BQF_Eitc.js","assets/hid-picker-sFJ8vzUj.js","assets/usb-device-registry--JwKRTYp.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-device-registry-B2R-0rNt.js","assets/frozen-archive-writer-Cl1Ysgmc.js","assets/slugify-BYJ6QVAt.js","assets/frozen-session-identity-cfIMH4Td.js","assets/quick-llm-DaP4ryRr.js","assets/llm-session-id-bZQs6gBN.js","assets/session-jsonl-DY5vSsEY.js","assets/main-BsdSV37L.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/wc-placeholder-DUTpA2Ya.js","assets/wc-attach-DAZxEW7e.js","assets/permissions-surface-registry-CilCRwhh.js","assets/frozen-session-delete-BImwwqtA.js","assets/live-session-curation-B0pppRPO.js","assets/record-DtD74Jn0.js","assets/descriptor-1ECGTjSt.js","assets/thinking-level-DCJktR5U.js","assets/wc-gelatiere-D_dcZETl.js","assets/new-session-CUUn1ajO.js","assets/tray-leader-Bv7S20n9.js","assets/mount-table-store-dY2IfQ5S.js","assets/legacy-styles-B3nS5QUo.js","assets/soundscape-zvfIWAUQ.js","assets/voice-reply-BJYe4UwJ.js","assets/speak-FFaf-I-F.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-DLc7g3N6.js","assets/shared-DSEuryGJ.js","assets/remote-vfs-client-Cs1yUtQm.js","assets/writable-vfs-client-CQe6oZ75.js","assets/wc-onboarding-DDUN43nx.js","assets/wc-browser-CPqLSnWi.js","assets/slicc-app-url-BKHBBuTR.js","assets/tab-teleport-C8QSKgl0.js","assets/teleport-storage-CyYkSZfJ.js","assets/wc-computers-BSO6h83W.js","assets/scale-B8PGb3fG.js","assets/remote-terminal-view-DsZr87Ur.js","assets/browser-Chc3wUwj.js","assets/usb-operations-v1mGAdRY.js","assets/terminal-session-client-DmE-iBjP.js","assets/secret-env-z9SReONx.js","assets/wc-permissions-Dpvz8D7r.js","assets/wc-permissions-providers-DwX67umy.js","assets/wc-secret-request-iNh1HLmJ.js","assets/secret-request-registry-DrOMKR1H.js","assets/theme-CwPIBqJE.js","assets/theme-engine-ZV7CeqWw.js","assets/panelize-shell-BIA9fIYU.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-shortcut-config-CB8hU7p1.js","assets/remote-sprinkle-vfs-UzNBy5VJ.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/wc-sprinkles-D0rQnhwv.js","assets/wc-unit-context-D5liISq3.js","assets/agent-panels-BLkJvMDw.js","assets/apply-layout-DhAyX0Ov.js","assets/wc-tray-CotD2fxR.js","assets/transcript-export-DP-r8eDz.js","assets/wc-follower-oauth-BXQZ0Hj3.js","assets/sprinkle-renderer-OV3BTNWr.js","assets/hid-operations-C97SZtrY.js","assets/pending-request-table-k-D7ZZsL.js","assets/export-spool-CuNzzI8a.js","assets/src-BWaKqLvQ.js","assets/panel-rpc-sLZo8PD-.js","assets/types-DSxCdZw6.js","assets/synthetic-cdp-transport-OUVdC4zy.js","assets/sprinkle-instances-B8n7h-oP.js","assets/wc-transcript-export-COXpYoBX.js","assets/wc-nav-DMm0_AmC.js","assets/composer-speech-DLpMUmHi.js","assets/whisper-session-DGQAkJoW.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-Czpn1I53.js";import{t as n}from"./logger-DDBAeTLF.js";import{$ as r,A as i,C as a,D as o,E as s,I as c,O as l,P as u,S as d,T as f,a as p,at as m,b as h,c as g,ct as _,d as v,dt as y,ft as b,i as x,k as S,l as ee,n as te,nt as C,o as ne,pt as re,r as ie,t as ae,tt as oe,u as se,ut as ce,v as le,w as ue,x as de,y as fe}from"./wc-shell-BTbyNdYF.js";import{d as pe,l as me,u as he}from"./core-DzRw0pz2.js";import{t as ge}from"./utf16-clip-CGL7omVm.js";import{a as _e}from"./feature-flags-DvsApnS-.js";import{r as ve,t as ye}from"./base64-ELzoYfwP.js";import{a as be,c as xe,d as Se,f as Ce,l as we,n as Te,o as Ee,s as De,u as Oe}from"./sprinkle-renderer-OV3BTNWr.js";import{C as ke,H as Ae,T as je,V as Me,u as Ne}from"./account-store-CZxeDCj6.js";import"./proxied-fetch-4VBgrEIu.js";import{n as Pe}from"./same-file-identity-OexpsaSD.js";import{n as Fe}from"./runtime-env-Dlaokqg1.js";import{t as Ie}from"./slugify-BYJ6QVAt.js";import{a as Le,i as Re,n as w,t as ze}from"./transcript-export-DP-r8eDz.js";import{_ as Be,a as Ve,c as T,f as He,g as Ue,h as E,i as We,l as Ge,m as D,n as Ke,o as qe,s as Je,t as Ye,u as Xe,v as O,x as Ze,y as Qe}from"./frozen-archive-writer-Cl1Ysgmc.js";import{d as $e,o as et,s as tt,t as nt}from"./api-endpoint-DuEQRZ4g.js";import{n as rt}from"./float-topology-C_iRKPQK.js";import"./secret-topology-hMRoGGjt.js";import{n as it}from"./secrets-bridge-client-D734Xx8G.js";import{t as at}from"./tool-ui-eSQ1g2I1.js";import{a as ot,c as st,l as ct,n as lt,p as ut,r as dt}from"./telemetry-B0sKnLBU.js";import{a as ft,i as pt,t as mt}from"./tray-follower-status-BAjnN7Ar.js";import{D as ht,T as gt,b as _t,f as vt,j as yt,m as bt,p as xt,s as St}from"./main-BsdSV37L.js";import{n as Ct}from"./src-BWaKqLvQ.js";import{n as wt,r as Tt,t as Et}from"./provider-budget-LCzMPlKv.js";import{t as Dt}from"./permissions-surface-registry-CilCRwhh.js";import{t as Ot}from"./types-D8gIX-W-.js";import{n as kt,r as At}from"./hid-device-registry-B2R-0rNt.js";import"./browser-Chc3wUwj.js";import{a as jt,i as Mt}from"./serial-port-registry-CCqklAEr.js";import{c as Nt,d as Pt,g as Ft,i as It,l as Lt,m as Rt,n as zt,o as Bt,p as Vt,r as Ht,t as Ut,u as Wt}from"./hid-operations-C97SZtrY.js";import{a as Gt,t as Kt}from"./icons-BJTFywJo.js";import{a as qt,i as Jt}from"./usb-device-registry--JwKRTYp.js";import{f as Yt,i as Xt,l as Zt,s as Qt,u as $t}from"./usb-operations-v1mGAdRY.js";import{a as en,i as tn,r as nn}from"./tray-leader-Bv7S20n9.js";import{a as rn,c as an,f as on,h as sn,i as cn,l as ln,m as un,n as dn,o as fn,s as pn,u as k}from"./record-DtD74Jn0.js";import{a as mn,o as hn,r as gn,s as _n,t as vn}from"./descriptor-1ECGTjSt.js";import{n as yn,t as A}from"./types-CFfBWsH5.js";import"./shared-DSEuryGJ.js";import{r as bn}from"./frozen-session-identity-cfIMH4Td.js";import{a as xn,n as Sn,r as Cn,t as wn}from"./session-jsonl-DY5vSsEY.js";import{a as Tn,n as En,r as Dn}from"./theme-CwPIBqJE.js";import{a as On,c as kn,d as An,i as jn,l as Mn,n as Nn,r as Pn,s as Fn,u as In}from"./live-session-curation-B0pppRPO.js";import{_ as Ln,a as Rn,d as zn,f as Bn,g as Vn,h as Hn,i as Un,l as Wn,n as Gn,o as Kn,p as qn,r as Jn,u as Yn}from"./wc-unit-context-D5liISq3.js";var Xn=new Set([`summarized`,`fallback`]);function Zn(e){if(!A(e)||e===null||e.origin!==`agent-history`)return[];let t=[];for(let n of e.entries)n.kind!==`tool-call`&&n.message&&t.push(n.message);return t}async function Qn(e,n={}){if(!A(e)||e===null)return[];if(e.origin===`ui-projection`){let t=[];for(let n of e.entries)n.kind!==`tool-call`&&n.chat&&t.push(n.chat);return er(t,e.markers)}let r=e.projectionPrefix??[],i=Zn(e);if(i.length===0)return er([...r],e.markers);let{agentMessagesToChatMessages:a}=await t(async()=>{let{agentMessagesToChatMessages:e}=await import(`./wc-shell-BTbyNdYF.js`).then(e=>e.lt);return{agentMessagesToChatMessages:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),o=$n(a(i,n),e.attachments);return er([...r,...o],e.markers)}function $n(e,t){if(!t?.length)return e;let n=[...t].sort((e,t)=>e.timestamp-t.timestamp),r=new Set;return e.map(e=>{if(e.role!==`user`||e.attachments?.length)return e;let t=e.content.trim(),i=n.findIndex((e,n)=>!r.has(n)&&e.body.trim()===t);return i<0?e:(r.add(i),{...e,attachments:n[i].attachments})})}function er(e,t){let n=(t??[]).filter(e=>e.kind!==`compaction`||Xn.has(e.compaction.state));if(n.length===0)return e;let r=[...n].sort((e,t)=>e.timestamp-t.timestamp),i=[],a=0;for(let t of e){let e=tr(t);for(;a<r.length&&r[a].timestamp<=e;)i.push(nr(r[a++]));i.push(t)}for(;a<r.length;)i.push(nr(r[a++]));return i}function tr(e){let t=e.timestamp;if(typeof t==`number`&&Number.isFinite(t))return t;if(typeof t==`string`){let e=Date.parse(t);if(!Number.isNaN(e))return e}return-1/0}function nr(e){return e.kind===`error`?{id:e.id,role:`assistant`,content:e.text,timestamp:e.timestamp,error:!0}:{id:e.id,role:`assistant`,content:``,timestamp:e.timestamp,compaction:e.compaction}}var rr=e({CanonicalSessionReader:()=>or,agentSessionFromRecord:()=>ar,chatSessionFromRecord:()=>ir});async function ir(e){return{id:e.legacyKeys.chatSessionId,messages:await Qn(e),createdAt:e.createdAt,updatedAt:e.updatedAt}}function ar(e){return{id:e.workUnitId,messages:Zn(e),config:{},createdAt:e.createdAt,updatedAt:e.updatedAt}}var or=class{store;constructor(e){this.store=e}async loadAgentSessions(){return(await this.latestPerUnit()).map(ar)}async loadChatSessions(){return Promise.all((await this.latestPerUnit()).map(ir))}async latestPerUnit(){let e=new Map;for(let t of await this.store.loadAll()){let n=e.get(t.workUnitId);(!n||t.updatedAt>n.updatedAt)&&e.set(t.workUnitId,t)}return[...e.values()]}async loadRootChatSession(e){let t=await this.store.loadLatestInWorkspace(_n({parentJid:null,folder:e}).root);return t?ir(t):null}async load(e){return e.startsWith(`session-`)?this.loadRootChatSession(e.slice(8)):null}},sr=new Set([`scoop-notify`,`scoop-idle`,`scoop-wait`]);function cr(e){return`e${e}`}function lr(e){let t=[];for(let n of e){let e=dr(n),r=pr(n);if(e===`assistant`){let e=t.length,i=cr(e);t.push({id:i,seq:e,kind:`assistant`,timestamp:r,text:hr(n),message:n,model:mr(n)});for(let e of gr(n)){let n=t.length;t.push({id:cr(n),seq:n,kind:`tool-call`,timestamp:r,toolCallId:e.id,name:e.name,assistantEntryId:i})}continue}if(e===`toolResult`){let e=n,i=t.length;t.push({id:cr(i),seq:i,kind:`tool-result`,timestamp:r,text:hr(n),message:n,toolCallId:e.toolCallId??``,isError:e.isError});continue}let i=hr(n),a=e===`user`?ur(i):null,o=t.length,s=cr(o);a===null?t.push({id:s,seq:o,kind:`user`,timestamp:r,text:i,message:n}):sr.has(a)?t.push({id:s,seq:o,kind:`child-result`,timestamp:r,text:i,message:n,channel:a}):t.push({id:s,seq:o,kind:`external-event`,timestamp:r,text:i,message:n,channel:a})}return t}function ur(e){for(let t of b(e)){let e=(t.sender?y(t.sender):null)??ce(t.body);if(e)return e}return null}function dr(e){return e.role??``}function fr(e){if(typeof e==`number`)return e;if(typeof e==`string`){let t=Date.parse(e);return Number.isNaN(t)?0:t}return e instanceof Date?e.getTime():0}function pr(e){return fr(e.timestamp)}function mr(e){let t=e.model;return typeof t==`string`?t:void 0}function hr(e){let t=e.content;if(typeof t==`string`)return t;if(!Array.isArray(t))return``;let n=[];for(let e of t)e?.type===`text`&&n.push(e.text);return n.join(``)}function gr(e){let t=e.content;if(!Array.isArray(t))return[];let n=[];for(let e of t){if(e?.type!==`toolCall`)continue;let t=e;n.push({id:t.id??``,name:t.name??``})}return n}var _r=e({CONVERSATION_DB_NAME:()=>vr,WorkUnitConversationStore:()=>br}),j=n(`work-unit-conversation`),vr=`slicc-work-units`,yr=1,M=`conversations`,N=`migrations`,br=class{dbPromise=null;dbName;writeChains=new Map;constructor(e={}){this.dbName=e.dbName??`slicc-work-units`}async load(e){let t=await this.read(e);return t.status===`ok`?t.record:null}async read(e){try{let t=await P((await this.getDb()).transaction(M,`readonly`).objectStore(M).get(e));return t?A(t)?Array.isArray(t.entries)?{status:`ok`,record:t}:(j.warn(`Conversation record has no entry list`,{key:e}),{status:`malformed`,reason:`entries is not a list`}):(j.warn(`Ignoring conversation record from a newer schema`,{key:e,version:t.version}),{status:`incompatible`,version:t.version}):{status:`absent`}}catch(t){return j.warn(`Conversation record read failed`,{key:e,error:F(t)}),{status:`error`,reason:F(t)}}}async save(e){let t=e.version>2?e.version:yn(e),n={...e,version:t},r=(await this.getDb()).transaction(M,`readwrite`);return r.objectStore(M).put(n),await Dr(r),n}delete(e){return this.serialize(e,async()=>{try{let t=(await this.getDb()).transaction(M,`readwrite`);t.objectStore(M).delete(e),await Dr(t)}catch(t){j.warn(`Conversation record delete failed`,{key:e,error:F(t)})}})}async rekey(e,t){if(e!==t.key)try{let n=await this.read(e);if(n.status!==`ok`)return;let r=await this.read(t.key);if(r.status===`incompatible`||r.status===`error`){j.warn(`Conversation rekey refused: target is not writable`,{fromKey:e,toKey:t.key,status:r.status});return}let i=Date.now();await this.save({...n.record,key:t.key,workUnitId:t.workUnitId,workspaceId:t.workspaceId,folder:t.folder,legacyKeys:t.legacyKeys,updatedAt:i}),await this.delete(e)}catch(n){j.warn(`Conversation rekey failed`,{fromKey:e,toKey:t.key,error:F(n)})}}async loadAll(){try{return(await P((await this.getDb()).transaction(M,`readonly`).objectStore(M).getAll())).filter(e=>A(e)&&Array.isArray(e.entries))}catch(e){return j.warn(`Conversation record listing failed`,{error:F(e)}),[]}}async loadLatestInWorkspace(e){try{let t=`${e}::`,n=await P((await this.getDb()).transaction(M,`readonly`).objectStore(M).getAll(IDBKeyRange.bound(t,`${t}\uffff`))),r=null;for(let e of n)!A(e)||!Array.isArray(e.entries)||(!r||e.updatedAt>r.updatedAt)&&(r=e);return r}catch(t){return j.warn(`Conversation workspace lookup failed`,{workspaceId:e,error:F(t)}),null}}async listKeys(){try{return(await P((await this.getDb()).transaction(M,`readonly`).objectStore(M).getAllKeys())).map(String)}catch(e){return j.warn(`Conversation key listing failed`,{error:F(e)}),[]}}async syncAgentMessages(e,t,n={}){let r=n.now??Date.now(),i=lr(t);return this.serialize(e.key,()=>this.ingestEntries(e,i,n,r))}async ingestEntries(e,t,n,r){try{let i=await this.read(e.key);if(i.status===`incompatible`||i.status===`error`)return null;let a=i.status===`ok`?i.record:null,o=xr(a,t,e,`agent-history`,{createdAt:n.createdAt??r,now:r});return o?await this.save(o):a}catch(t){return j.warn(`Conversation record write failed`,{key:e.key,error:F(t)}),null}}async putMarker(e,t,n={}){return this.withRecord(e,n.createWith,e=>{let n=(e.markers??[]).filter(e=>e.id!==t.id);return n.push(t),n.sort((e,t)=>e.timestamp-t.timestamp),{...e,markers:n.slice(-64)}})}async putAttachments(e,t){if(t.length===0)return!1;let n=new Set(t.map(e=>e.id));return this.withRecord(e.key,e,e=>({...e,attachments:[...(e.attachments??[]).filter(e=>!n.has(e.id)),...t].sort((e,t)=>e.timestamp-t.timestamp).slice(-256)}))}async deleteMarker(e,t){return this.withRecord(e,void 0,e=>{let n=(e.markers??[]).filter(e=>e.id!==t);return n.length===(e.markers?.length??0)?null:{...e,markers:n}})}withRecord(e,t,n){return this.serialize(e,()=>this.mutateRecord(e,t,n))}async mutateRecord(e,t,n){try{let r=await this.read(e),i=r.status===`ok`?r.record:r.status===`absent`&&t?Sr(t,Date.now()):null;if(!i)return!1;let a=n(i);return a?(await this.save({...a,updatedAt:Date.now()}),!0):!1}catch(t){return j.warn(`Conversation marker write failed`,{key:e,error:F(t)}),!1}}serialize(e,t){let n=(this.writeChains.get(e)??Promise.resolve()).then(t,t),r=n.then(()=>void 0,()=>void 0);return this.writeChains.set(e,r),r.then(()=>{this.writeChains.get(e)===r&&this.writeChains.delete(e)}),n}async getMigrationState(e){try{return await P((await this.getDb()).transaction(N,`readonly`).objectStore(N).get(e))??null}catch(t){return j.warn(`Migration state read failed`,{id:e,error:F(t)}),null}}async putMigrationState(e){try{let t=(await this.getDb()).transaction(N,`readwrite`);t.objectStore(N).put(e),await Dr(t)}catch(t){j.warn(`Migration state write failed`,{id:e.id,error:F(t)})}}async clearAll(){let e=(await this.getDb()).transaction([M,N],`readwrite`);e.objectStore(M).clear(),e.objectStore(N).clear(),await Dr(e)}getDb(){return this.dbPromise||(this.dbPromise=Er(this.dbName).then(e=>(e.onversionchange=()=>{e.close(),this.dbPromise=null},e.onclose=()=>{this.dbPromise=null},e)),this.dbPromise.catch(()=>{this.dbPromise=null})),this.dbPromise}};function xr(e,t,n,r,i){if(!e)return t.length===0?null:{key:n.key,version:2,workUnitId:n.workUnitId,workspaceId:n.workspaceId,folder:n.folder,origin:r,entries:t,createdAt:i.createdAt,updatedAt:i.now,legacyKeys:n.legacyKeys};if(e.origin===`ui-projection`&&r===`agent-history`)return t.length===0?null:{...e,version:2,origin:r,entries:t,projectionPrefix:[...e.projectionPrefix??[],...Cr(e)],updatedAt:i.now,legacyKeys:n.legacyKeys};let a=e.entries;if(t.length===a.length&&wr(a,t))return null;let o=t.length>a.length&&wr(a,t);return{...e,version:2,origin:r,entries:t,updatedAt:i.now,rewrites:o?e.rewrites:(e.rewrites??0)+1,legacyKeys:n.legacyKeys}}function Sr(e,t){return{key:e.key,version:2,workUnitId:e.workUnitId,workspaceId:e.workspaceId,folder:e.folder,origin:`agent-history`,entries:[],createdAt:t,updatedAt:t,legacyKeys:e.legacyKeys}}function Cr(e){let t=[];for(let n of e.entries)n.kind!==`tool-call`&&n.chat&&t.push(n.chat);return t}function wr(e,t){if(e.length>t.length)return!1;for(let n=0;n<e.length;n++)if(!Tr(e[n],t[n]))return!1;return!0}function Tr(e,t){return e.kind!==t.kind||e.seq!==t.seq?!1:e.kind===`tool-call`&&t.kind===`tool-call`?e.toolCallId===t.toolCallId&&e.name===t.name:(`text`in e?e.text:``)===(`text`in t?t.text:``)}function Er(e){return new Promise((t,n)=>{let r=indexedDB.open(e,yr);r.onupgradeneeded=()=>{let e=r.result;e.objectStoreNames.contains(M)||e.createObjectStore(M,{keyPath:`key`}),e.objectStoreNames.contains(N)||e.createObjectStore(N,{keyPath:`id`})},r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}function P(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Dr(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function F(e){return e instanceof Error?e.message:String(e)}var Or=e({getTranscriptExportService:()=>jr,registerTranscriptExportService:()=>Ar}),kr=null;function Ar(e){return kr=e,()=>{kr===e&&(kr=null)}}function jr(){if(!kr)throw new w(`session-not-found`);return kr}var Mr=e({broadcastToDips:()=>Xr,disposeDips:()=>xi,handleDipPickerAction:()=>Si,hydrateDips:()=>bi,mountDip:()=>B,setDipExecHandler:()=>Qr}),Nr=Fe();t(()=>import(`./screen-share-approval-live-D388fVD9.js`).then(e=>{e.listenScreenShareApprovalChannel()}),[]);function Pr(e){if(typeof e!=`object`||!e||Array.isArray(e))return[];let t=e.filters;return Array.isArray(t)?t:[]}async function Fr(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await Rr(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 Ir=null;function Lr(){if(Ir)return Ir;if(typeof BroadcastChannel>`u`)return null;try{Ir=new BroadcastChannel(`preview-vfs`)}catch{return null}return Ir}async function Rr(e,t,n){let r=Lr();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 zr=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],Br=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function Vr(e){return zr.some(t=>e.startsWith(t))}function Hr(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:Br.some(t=>e.startsWith(t))}var I=new WeakSet,Ur=`,
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-shell-C6n7vd_q.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-OAze3utw.js","assets/core-DzRw0pz2.js","assets/compat-0YnuwvMn.js","assets/models-D9KYIFyv.js","assets/diagnostics-B-5VkVir.js","assets/env-api-keys-BMbk-OAv.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-C88RzzVZ.js","assets/azure-openai-config--zABV6W_.js","assets/utf16-clip-CGL7omVm.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-C4_lEdVe.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-Df3uDddz.js","assets/claude-model-version-3MWQoaco.js","assets/renamed-providers-DDe6My59.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-BJTFywJo.js","assets/wc-shell-WkeczD9x.css","assets/mount-picker-popup-qcWGbpG5.js","assets/picker-popup-sQtXmfAo.js","assets/usb-picker-O-2gFMNl.js","assets/serial-picker-BQF_Eitc.js","assets/hid-picker-sFJ8vzUj.js","assets/usb-device-registry--JwKRTYp.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-device-registry-B2R-0rNt.js","assets/frozen-archive-writer-CxOraREp.js","assets/slugify-BYJ6QVAt.js","assets/frozen-session-identity-DHkq6CVA.js","assets/quick-llm-BEV4p0nB.js","assets/llm-session-id-bZQs6gBN.js","assets/session-jsonl-Aeyy6bYO.js","assets/main-C90hD8JI.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/wc-placeholder-DolUSoJ8.js","assets/wc-attach-B9M8p68t.js","assets/permissions-surface-registry-CilCRwhh.js","assets/frozen-session-delete-DRfrrQHj.js","assets/live-session-curation-zkh_Wkc7.js","assets/record-DtD74Jn0.js","assets/descriptor-1ECGTjSt.js","assets/thinking-level-DCJktR5U.js","assets/wc-gelatiere-IFw93RLp.js","assets/new-session-65D5H5Af.js","assets/tray-leader-DlYEWBqw.js","assets/mount-table-store-dY2IfQ5S.js","assets/legacy-styles-B3nS5QUo.js","assets/soundscape-DW-72Z0Y.js","assets/voice-reply-BUruZfw2.js","assets/speak-B35W0TfW.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-CJUqiPAP.js","assets/shared-DSEuryGJ.js","assets/remote-vfs-client-Cs1yUtQm.js","assets/writable-vfs-client-CQe6oZ75.js","assets/wc-onboarding-C4vdCBGl.js","assets/wc-browser-gzvFw0m9.js","assets/slicc-app-url-BKHBBuTR.js","assets/tab-teleport-C8QSKgl0.js","assets/teleport-storage-CyYkSZfJ.js","assets/wc-computers-BxDAqYcl.js","assets/scale-B8PGb3fG.js","assets/remote-terminal-view-hCBfSTM_.js","assets/browser-Chc3wUwj.js","assets/usb-operations-v1mGAdRY.js","assets/terminal-session-client-DmE-iBjP.js","assets/secret-env-z9SReONx.js","assets/wc-permissions-CC3l81OG.js","assets/wc-permissions-providers-DwX67umy.js","assets/wc-secret-request-h-lUD0ld.js","assets/secret-request-registry-DrOMKR1H.js","assets/theme-CwPIBqJE.js","assets/theme-engine-ZV7CeqWw.js","assets/panelize-shell-I8zPEKJM.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-shortcut-config-BWd5_aec.js","assets/remote-sprinkle-vfs-UzNBy5VJ.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/wc-sprinkles-DN29B4nE.js","assets/wc-unit-context-D5liISq3.js","assets/agent-panels-CelkEdi9.js","assets/apply-layout-DPEleZz2.js","assets/wc-tray-D4fcmhCE.js","assets/transcript-export-DP-r8eDz.js","assets/wc-follower-oauth-BuTKO9Gk.js","assets/sprinkle-renderer-DrMbnBY8.js","assets/hid-operations-C97SZtrY.js","assets/pending-request-table-k-D7ZZsL.js","assets/export-spool-CuNzzI8a.js","assets/src-BWaKqLvQ.js","assets/panel-rpc-sLZo8PD-.js","assets/types-DSxCdZw6.js","assets/synthetic-cdp-transport-OUVdC4zy.js","assets/sprinkle-instances-B8n7h-oP.js","assets/wc-transcript-export-Dq42EPas.js","assets/wc-nav-CaScAx72.js","assets/composer-speech-DK0XRoq3.js","assets/whisper-session-D_xswc3a.js"])))=>i.map(i=>d[i]);
2
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-Czpn1I53.js";import{t as n}from"./logger-DDBAeTLF.js";import{$ as r,A as i,C as a,D as o,E as s,I as c,O as l,P as u,S as d,T as f,a as p,at as m,b as h,c as g,ct as _,d as v,dt as y,ft as b,i as x,k as S,l as ee,n as te,nt as C,o as ne,pt as re,r as ie,t as ae,tt as oe,u as se,ut as ce,v as le,w as ue,x as de,y as fe}from"./wc-shell-C6n7vd_q.js";import{d as pe,l as me,u as he}from"./core-DzRw0pz2.js";import{t as ge}from"./utf16-clip-CGL7omVm.js";import{a as _e}from"./feature-flags-DvsApnS-.js";import{r as ve,t as ye}from"./base64-ELzoYfwP.js";import{a as be,c as xe,d as Se,f as Ce,l as we,n as Te,o as Ee,s as De,u as Oe}from"./sprinkle-renderer-DrMbnBY8.js";import{C as ke,H as Ae,T as je,V as Me,u as Ne}from"./account-store-OAze3utw.js";import"./proxied-fetch-4VBgrEIu.js";import{n as Pe}from"./same-file-identity-OexpsaSD.js";import{n as Fe}from"./runtime-env-Dlaokqg1.js";import{t as Ie}from"./slugify-BYJ6QVAt.js";import{a as Le,i as Re,n as w,t as ze}from"./transcript-export-DP-r8eDz.js";import{_ as Be,a as Ve,c as T,f as He,g as Ue,h as E,i as We,l as Ge,m as D,n as Ke,o as qe,s as Je,t as Ye,u as Xe,v as O,x as Ze,y as Qe}from"./frozen-archive-writer-CxOraREp.js";import{d as $e,o as et,s as tt,t as nt}from"./api-endpoint-DuEQRZ4g.js";import{n as rt}from"./float-topology-C_iRKPQK.js";import"./secret-topology-hMRoGGjt.js";import{n as it}from"./secrets-bridge-client-D734Xx8G.js";import{t as at}from"./tool-ui-eSQ1g2I1.js";import{a as ot,c as st,l as ct,n as lt,p as ut,r as dt}from"./telemetry-B0sKnLBU.js";import{a as ft,i as pt,t as mt}from"./tray-follower-status-BAjnN7Ar.js";import{D as ht,T as gt,b as _t,f as vt,j as yt,m as bt,p as xt,s as St}from"./main-C90hD8JI.js";import{n as Ct}from"./src-BWaKqLvQ.js";import{n as wt,r as Tt,t as Et}from"./provider-budget-LCzMPlKv.js";import{t as Dt}from"./permissions-surface-registry-CilCRwhh.js";import{t as Ot}from"./types-D8gIX-W-.js";import{n as kt,r as At}from"./hid-device-registry-B2R-0rNt.js";import"./browser-Chc3wUwj.js";import{a as jt,i as Mt}from"./serial-port-registry-CCqklAEr.js";import{c as Nt,d as Pt,g as Ft,i as It,l as Lt,m as Rt,n as zt,o as Bt,p as Vt,r as Ht,t as Ut,u as Wt}from"./hid-operations-C97SZtrY.js";import{a as Gt,t as Kt}from"./icons-BJTFywJo.js";import{a as qt,i as Jt}from"./usb-device-registry--JwKRTYp.js";import{f as Yt,i as Xt,l as Zt,s as Qt,u as $t}from"./usb-operations-v1mGAdRY.js";import{a as en,i as tn,r as nn}from"./tray-leader-DlYEWBqw.js";import{a as rn,c as an,f as on,h as sn,i as cn,l as ln,m as un,n as dn,o as fn,s as pn,u as k}from"./record-DtD74Jn0.js";import{a as mn,o as hn,r as gn,s as _n,t as vn}from"./descriptor-1ECGTjSt.js";import{n as yn,t as A}from"./types-CFfBWsH5.js";import"./shared-DSEuryGJ.js";import{r as bn}from"./frozen-session-identity-DHkq6CVA.js";import{a as xn,n as Sn,r as Cn,t as wn}from"./session-jsonl-Aeyy6bYO.js";import{a as Tn,n as En,r as Dn}from"./theme-CwPIBqJE.js";import{a as On,c as kn,d as An,i as jn,l as Mn,n as Nn,r as Pn,s as Fn,u as In}from"./live-session-curation-zkh_Wkc7.js";import{_ as Ln,a as Rn,d as zn,f as Bn,g as Vn,h as Hn,i as Un,l as Wn,n as Gn,o as Kn,p as qn,r as Jn,u as Yn}from"./wc-unit-context-D5liISq3.js";var Xn=new Set([`summarized`,`fallback`]);function Zn(e){if(!A(e)||e===null||e.origin!==`agent-history`)return[];let t=[];for(let n of e.entries)n.kind!==`tool-call`&&n.message&&t.push(n.message);return t}async function Qn(e,n={}){if(!A(e)||e===null)return[];if(e.origin===`ui-projection`){let t=[];for(let n of e.entries)n.kind!==`tool-call`&&n.chat&&t.push(n.chat);return er(t,e.markers)}let r=e.projectionPrefix??[],i=Zn(e);if(i.length===0)return er([...r],e.markers);let{agentMessagesToChatMessages:a}=await t(async()=>{let{agentMessagesToChatMessages:e}=await import(`./wc-shell-C6n7vd_q.js`).then(e=>e.lt);return{agentMessagesToChatMessages:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),o=$n(a(i,n),e.attachments);return er([...r,...o],e.markers)}function $n(e,t){if(!t?.length)return e;let n=[...t].sort((e,t)=>e.timestamp-t.timestamp),r=new Set;return e.map(e=>{if(e.role!==`user`||e.attachments?.length)return e;let t=e.content.trim(),i=n.findIndex((e,n)=>!r.has(n)&&e.body.trim()===t);return i<0?e:(r.add(i),{...e,attachments:n[i].attachments})})}function er(e,t){let n=(t??[]).filter(e=>e.kind!==`compaction`||Xn.has(e.compaction.state));if(n.length===0)return e;let r=[...n].sort((e,t)=>e.timestamp-t.timestamp),i=[],a=0;for(let t of e){let e=tr(t);for(;a<r.length&&r[a].timestamp<=e;)i.push(nr(r[a++]));i.push(t)}for(;a<r.length;)i.push(nr(r[a++]));return i}function tr(e){let t=e.timestamp;if(typeof t==`number`&&Number.isFinite(t))return t;if(typeof t==`string`){let e=Date.parse(t);if(!Number.isNaN(e))return e}return-1/0}function nr(e){return e.kind===`error`?{id:e.id,role:`assistant`,content:e.text,timestamp:e.timestamp,error:!0}:{id:e.id,role:`assistant`,content:``,timestamp:e.timestamp,compaction:e.compaction}}var rr=e({CanonicalSessionReader:()=>or,agentSessionFromRecord:()=>ar,chatSessionFromRecord:()=>ir});async function ir(e){return{id:e.legacyKeys.chatSessionId,messages:await Qn(e),createdAt:e.createdAt,updatedAt:e.updatedAt}}function ar(e){return{id:e.workUnitId,messages:Zn(e),config:{},createdAt:e.createdAt,updatedAt:e.updatedAt}}var or=class{store;constructor(e){this.store=e}async loadAgentSessions(){return(await this.latestPerUnit()).map(ar)}async loadChatSessions(){return Promise.all((await this.latestPerUnit()).map(ir))}async latestPerUnit(){let e=new Map;for(let t of await this.store.loadAll()){let n=e.get(t.workUnitId);(!n||t.updatedAt>n.updatedAt)&&e.set(t.workUnitId,t)}return[...e.values()]}async loadRootChatSession(e){let t=await this.store.loadLatestInWorkspace(_n({parentJid:null,folder:e}).root);return t?ir(t):null}async load(e){return e.startsWith(`session-`)?this.loadRootChatSession(e.slice(8)):null}},sr=new Set([`scoop-notify`,`scoop-idle`,`scoop-wait`]);function cr(e){return`e${e}`}function lr(e){let t=[];for(let n of e){let e=dr(n),r=pr(n);if(e===`assistant`){let e=t.length,i=cr(e);t.push({id:i,seq:e,kind:`assistant`,timestamp:r,text:hr(n),message:n,model:mr(n)});for(let e of gr(n)){let n=t.length;t.push({id:cr(n),seq:n,kind:`tool-call`,timestamp:r,toolCallId:e.id,name:e.name,assistantEntryId:i})}continue}if(e===`toolResult`){let e=n,i=t.length;t.push({id:cr(i),seq:i,kind:`tool-result`,timestamp:r,text:hr(n),message:n,toolCallId:e.toolCallId??``,isError:e.isError});continue}let i=hr(n),a=e===`user`?ur(i):null,o=t.length,s=cr(o);a===null?t.push({id:s,seq:o,kind:`user`,timestamp:r,text:i,message:n}):sr.has(a)?t.push({id:s,seq:o,kind:`child-result`,timestamp:r,text:i,message:n,channel:a}):t.push({id:s,seq:o,kind:`external-event`,timestamp:r,text:i,message:n,channel:a})}return t}function ur(e){for(let t of b(e)){let e=(t.sender?y(t.sender):null)??ce(t.body);if(e)return e}return null}function dr(e){return e.role??``}function fr(e){if(typeof e==`number`)return e;if(typeof e==`string`){let t=Date.parse(e);return Number.isNaN(t)?0:t}return e instanceof Date?e.getTime():0}function pr(e){return fr(e.timestamp)}function mr(e){let t=e.model;return typeof t==`string`?t:void 0}function hr(e){let t=e.content;if(typeof t==`string`)return t;if(!Array.isArray(t))return``;let n=[];for(let e of t)e?.type===`text`&&n.push(e.text);return n.join(``)}function gr(e){let t=e.content;if(!Array.isArray(t))return[];let n=[];for(let e of t){if(e?.type!==`toolCall`)continue;let t=e;n.push({id:t.id??``,name:t.name??``})}return n}var _r=e({CONVERSATION_DB_NAME:()=>vr,WorkUnitConversationStore:()=>br}),j=n(`work-unit-conversation`),vr=`slicc-work-units`,yr=1,M=`conversations`,N=`migrations`,br=class{dbPromise=null;dbName;writeChains=new Map;constructor(e={}){this.dbName=e.dbName??`slicc-work-units`}async load(e){let t=await this.read(e);return t.status===`ok`?t.record:null}async read(e){try{let t=await P((await this.getDb()).transaction(M,`readonly`).objectStore(M).get(e));return t?A(t)?Array.isArray(t.entries)?{status:`ok`,record:t}:(j.warn(`Conversation record has no entry list`,{key:e}),{status:`malformed`,reason:`entries is not a list`}):(j.warn(`Ignoring conversation record from a newer schema`,{key:e,version:t.version}),{status:`incompatible`,version:t.version}):{status:`absent`}}catch(t){return j.warn(`Conversation record read failed`,{key:e,error:F(t)}),{status:`error`,reason:F(t)}}}async save(e){let t=e.version>2?e.version:yn(e),n={...e,version:t},r=(await this.getDb()).transaction(M,`readwrite`);return r.objectStore(M).put(n),await Dr(r),n}delete(e){return this.serialize(e,async()=>{try{let t=(await this.getDb()).transaction(M,`readwrite`);t.objectStore(M).delete(e),await Dr(t)}catch(t){j.warn(`Conversation record delete failed`,{key:e,error:F(t)})}})}async rekey(e,t){if(e!==t.key)try{let n=await this.read(e);if(n.status!==`ok`)return;let r=await this.read(t.key);if(r.status===`incompatible`||r.status===`error`){j.warn(`Conversation rekey refused: target is not writable`,{fromKey:e,toKey:t.key,status:r.status});return}let i=Date.now();await this.save({...n.record,key:t.key,workUnitId:t.workUnitId,workspaceId:t.workspaceId,folder:t.folder,legacyKeys:t.legacyKeys,updatedAt:i}),await this.delete(e)}catch(n){j.warn(`Conversation rekey failed`,{fromKey:e,toKey:t.key,error:F(n)})}}async loadAll(){try{return(await P((await this.getDb()).transaction(M,`readonly`).objectStore(M).getAll())).filter(e=>A(e)&&Array.isArray(e.entries))}catch(e){return j.warn(`Conversation record listing failed`,{error:F(e)}),[]}}async loadLatestInWorkspace(e){try{let t=`${e}::`,n=await P((await this.getDb()).transaction(M,`readonly`).objectStore(M).getAll(IDBKeyRange.bound(t,`${t}\uffff`))),r=null;for(let e of n)!A(e)||!Array.isArray(e.entries)||(!r||e.updatedAt>r.updatedAt)&&(r=e);return r}catch(t){return j.warn(`Conversation workspace lookup failed`,{workspaceId:e,error:F(t)}),null}}async listKeys(){try{return(await P((await this.getDb()).transaction(M,`readonly`).objectStore(M).getAllKeys())).map(String)}catch(e){return j.warn(`Conversation key listing failed`,{error:F(e)}),[]}}async syncAgentMessages(e,t,n={}){let r=n.now??Date.now(),i=lr(t);return this.serialize(e.key,()=>this.ingestEntries(e,i,n,r))}async ingestEntries(e,t,n,r){try{let i=await this.read(e.key);if(i.status===`incompatible`||i.status===`error`)return null;let a=i.status===`ok`?i.record:null,o=xr(a,t,e,`agent-history`,{createdAt:n.createdAt??r,now:r});return o?await this.save(o):a}catch(t){return j.warn(`Conversation record write failed`,{key:e.key,error:F(t)}),null}}async putMarker(e,t,n={}){return this.withRecord(e,n.createWith,e=>{let n=(e.markers??[]).filter(e=>e.id!==t.id);return n.push(t),n.sort((e,t)=>e.timestamp-t.timestamp),{...e,markers:n.slice(-64)}})}async putAttachments(e,t){if(t.length===0)return!1;let n=new Set(t.map(e=>e.id));return this.withRecord(e.key,e,e=>({...e,attachments:[...(e.attachments??[]).filter(e=>!n.has(e.id)),...t].sort((e,t)=>e.timestamp-t.timestamp).slice(-256)}))}async deleteMarker(e,t){return this.withRecord(e,void 0,e=>{let n=(e.markers??[]).filter(e=>e.id!==t);return n.length===(e.markers?.length??0)?null:{...e,markers:n}})}withRecord(e,t,n){return this.serialize(e,()=>this.mutateRecord(e,t,n))}async mutateRecord(e,t,n){try{let r=await this.read(e),i=r.status===`ok`?r.record:r.status===`absent`&&t?Sr(t,Date.now()):null;if(!i)return!1;let a=n(i);return a?(await this.save({...a,updatedAt:Date.now()}),!0):!1}catch(t){return j.warn(`Conversation marker write failed`,{key:e,error:F(t)}),!1}}serialize(e,t){let n=(this.writeChains.get(e)??Promise.resolve()).then(t,t),r=n.then(()=>void 0,()=>void 0);return this.writeChains.set(e,r),r.then(()=>{this.writeChains.get(e)===r&&this.writeChains.delete(e)}),n}async getMigrationState(e){try{return await P((await this.getDb()).transaction(N,`readonly`).objectStore(N).get(e))??null}catch(t){return j.warn(`Migration state read failed`,{id:e,error:F(t)}),null}}async putMigrationState(e){try{let t=(await this.getDb()).transaction(N,`readwrite`);t.objectStore(N).put(e),await Dr(t)}catch(t){j.warn(`Migration state write failed`,{id:e.id,error:F(t)})}}async clearAll(){let e=(await this.getDb()).transaction([M,N],`readwrite`);e.objectStore(M).clear(),e.objectStore(N).clear(),await Dr(e)}getDb(){return this.dbPromise||(this.dbPromise=Er(this.dbName).then(e=>(e.onversionchange=()=>{e.close(),this.dbPromise=null},e.onclose=()=>{this.dbPromise=null},e)),this.dbPromise.catch(()=>{this.dbPromise=null})),this.dbPromise}};function xr(e,t,n,r,i){if(!e)return t.length===0?null:{key:n.key,version:2,workUnitId:n.workUnitId,workspaceId:n.workspaceId,folder:n.folder,origin:r,entries:t,createdAt:i.createdAt,updatedAt:i.now,legacyKeys:n.legacyKeys};if(e.origin===`ui-projection`&&r===`agent-history`)return t.length===0?null:{...e,version:2,origin:r,entries:t,projectionPrefix:[...e.projectionPrefix??[],...Cr(e)],updatedAt:i.now,legacyKeys:n.legacyKeys};let a=e.entries;if(t.length===a.length&&wr(a,t))return null;let o=t.length>a.length&&wr(a,t);return{...e,version:2,origin:r,entries:t,updatedAt:i.now,rewrites:o?e.rewrites:(e.rewrites??0)+1,legacyKeys:n.legacyKeys}}function Sr(e,t){return{key:e.key,version:2,workUnitId:e.workUnitId,workspaceId:e.workspaceId,folder:e.folder,origin:`agent-history`,entries:[],createdAt:t,updatedAt:t,legacyKeys:e.legacyKeys}}function Cr(e){let t=[];for(let n of e.entries)n.kind!==`tool-call`&&n.chat&&t.push(n.chat);return t}function wr(e,t){if(e.length>t.length)return!1;for(let n=0;n<e.length;n++)if(!Tr(e[n],t[n]))return!1;return!0}function Tr(e,t){return e.kind!==t.kind||e.seq!==t.seq?!1:e.kind===`tool-call`&&t.kind===`tool-call`?e.toolCallId===t.toolCallId&&e.name===t.name:(`text`in e?e.text:``)===(`text`in t?t.text:``)}function Er(e){return new Promise((t,n)=>{let r=indexedDB.open(e,yr);r.onupgradeneeded=()=>{let e=r.result;e.objectStoreNames.contains(M)||e.createObjectStore(M,{keyPath:`key`}),e.objectStoreNames.contains(N)||e.createObjectStore(N,{keyPath:`id`})},r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}function P(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Dr(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function F(e){return e instanceof Error?e.message:String(e)}var Or=e({getTranscriptExportService:()=>jr,registerTranscriptExportService:()=>Ar}),kr=null;function Ar(e){return kr=e,()=>{kr===e&&(kr=null)}}function jr(){if(!kr)throw new w(`session-not-found`);return kr}var Mr=e({broadcastToDips:()=>Xr,disposeDips:()=>xi,handleDipPickerAction:()=>Si,hydrateDips:()=>bi,mountDip:()=>B,setDipExecHandler:()=>Qr}),Nr=Fe();t(()=>import(`./screen-share-approval-live-D388fVD9.js`).then(e=>{e.listenScreenShareApprovalChannel()}),[]);function Pr(e){if(typeof e!=`object`||!e||Array.isArray(e))return[];let t=e.filters;return Array.isArray(t)?t:[]}async function Fr(e,t){if(t?.aborted)throw new DOMException(`aborted`,`AbortError`);let n=await Rr(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 Ir=null;function Lr(){if(Ir)return Ir;if(typeof BroadcastChannel>`u`)return null;try{Ir=new BroadcastChannel(`preview-vfs`)}catch{return null}return Ir}async function Rr(e,t,n){let r=Lr();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 zr=[`/shared/sprinkles/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`],Br=[`/shared/`,`/workspace/skills/sprinkles/`,`/workspace/sprinkles/`];function Vr(e){return zr.some(t=>e.startsWith(t))}function Hr(e){return typeof e!=`string`||!e.startsWith(`/`)||e.includes(`..`)?!1:Br.some(t=>e.startsWith(t))}var I=new WeakSet,Ur=`,
3
3
  exec: Object.assign(function(cmd) {
4
4
  return _vfsCall('dip-exec', { cmd: cmd }, function(m) { return m.result; });
5
5
  }, { spawn: function(argv) {
@@ -238,11 +238,11 @@ ${o?`<script src="/slicc-diff.js"><\/script>`:``}
238
238
  <script src="/lucide-icons.js"><\/script>
239
239
  </head>
240
240
  <body class="sprinkle-inline">${e}</body></html>`}var L=new Set;function Xr(e){if(typeof e?.type!=`string`||e.type.indexOf(`slicc-`)!==0)throw Error(`broadcastToDips: payload.type must start with 'slicc-'`);for(let t of L)try{t.postMessage(e,`*`)}catch{}}var Zr;function Qr(e){Zr=e}function R(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}function $r(e,t){let n=t?.cwd??`.`,r=t?.allowedCommands??`*`,i=[`agent`];return t?.model&&i.push(`--model`,R(t.model)),t?.thinking&&i.push(`--thinking`,R(t.thinking)),t?.readOnly&&i.push(`--read-only`,R(t.readOnly)),i.push(R(n),R(r),R(e)),i.join(` `)}async function ei(e){if(!Zr)return{stdout:``,stderr:`exec: shell bridge not available
241
- `,exitCode:127};try{return await Zr(e)}catch(e){return{stdout:``,stderr:`exec: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function ti(e,t){let n=await ei($r(e,t));return{stdout:n.stdout||n.stderr,exitCode:n.exitCode}}async function ni(e,t){let n=await be(ei,e,t);if(e===`fetch`){let e=n,t=atob(e.bodyBase64),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return{...e,body:new TextDecoder(`utf-8`).decode(r)}}return n}var z=new WeakMap;function ri(e,t){try{e.postMessage({type:`dip-device-event`,channel:`hid:inputreport`,payload:t},`*`)}catch{}}async function ii(e,t){let n=z.get(e);if(n||(n=new Map,z.set(e,n)),n.has(t))return;let r=await Lt(At(),t,n=>{let r=n.bytes instanceof Uint8Array?n.bytes:new Uint8Array(n.bytes);ri(e,{handle:t,reportId:n.reportId,data:r})});n.set(t,r)}async function ai(e,t){let n=z.get(e);if(!n)return;let r=n.get(t);if(r){n.delete(t);try{await Promise.resolve(r())}catch{}}n.size===0&&z.delete(e)}function oi(e){let t=z.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}z.delete(e)}}function si(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}if(Array.isArray(e))return new Uint8Array(e);throw Error(`expected Uint8Array, ArrayBuffer, or number[]`)}async function ci(e,t,n){let r=At();switch(t){case`list`:{let e=kt();if(!e)throw Error(`WebHID is unavailable in this browser`);return Ht(r,e)}case`request`:{let e=kt();if(!e)throw Error(`WebHID is unavailable in this browser`);return Bt(r,Ee(e),n[0]??[])}case`info`:return zt(r,n[0]);case`open`:{let t=n[0];return await It(r,t),await ii(e,t),{ok:!0}}case`close`:{let t=n[0];return await ai(e,t),await Ut(r,t),{ok:!0}}case`sendReport`:{let e=n[0],t=n[1],i=si(n[2]),a=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);return await Nt(r,e,t,a),{ok:!0}}default:throw Error(`hid: unknown op '${t}'`)}}async function li(e,t){let n=jt();switch(e){case`list`:{let e=Mt();if(!e)throw Error(`Web Serial is unavailable in this browser`);return Vt(n,e)}case`request`:{let e=Mt();if(!e)throw Error(`Web Serial is unavailable in this browser`);return Ft(n,De(e),t[0]??[])}case`info`:return Pt(n,t[0]);case`open`:{let e=t[0],r=t[1]??{baudRate:9600};return await Rt(n,e,r),{ok:!0}}case`close`:return await Wt(n,t[0]),{ok:!0};default:throw Error(`serial: unknown op '${e}'`)}}async function ui(e,t){let n=qt();switch(e){case`list`:{let e=Jt();if(!e)throw Error(`WebUSB is unavailable in this browser`);return Zt(n,e)}case`request`:{let e=Jt();if(!e)throw Error(`WebUSB is unavailable in this browser`);return Yt(n,xe(e),t[0]??[])}case`info`:return Qt(n,t[0]);case`open`:return await $t(n,t[0]),{ok:!0};case`close`:return await Xt(n,t[0]),{ok:!0};default:throw Error(`usb: unknown op '${e}'`)}}async function di(e,t,n,r){switch(t){case`hid`:return ci(e,n,r);case`serial`:return li(n,r);case`usb`:return ui(n,r);default:throw Error(`unknown device channel '${t}'`)}}async function fi(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!I.has(e))return n({type:`dip-device-op-response`,error:`device access not allowed for this dip`}),!0;let r=t.channel;if(r!==`hid`&&r!==`serial`&&r!==`usb`)return n({type:`dip-device-op-response`,error:`unknown device channel '${r}'`}),!0;try{n({type:`dip-device-op-response`,result:await di(e,r,typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-device-op-response`,error:e instanceof Error?e.message:String(e)})}return!0}async function pi(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!I.has(e))return n({type:`${t.type}-response`,error:`exec not allowed for this dip`}),!0;if(t.type===`dip-exec`)return n({type:`dip-exec-response`,result:await ei(typeof t.cmd==`string`?t.cmd:``)}),!0;if(t.type===`dip-agent`)return n({type:`dip-agent-response`,result:await ti(typeof t.prompt==`string`?t.prompt:``,t.opts)}),!0;if(t.type===`dip-jsh`){try{n({type:`dip-jsh-response`,result:await ni(typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-jsh-response`,error:e instanceof Error?e.message:String(e)})}return!0}return!1}function B(e,t,n,r=!1){let i=Yr(t,!1,r);if(Nr)return ki(e,i,n,r);let a=document.createElement(`iframe`);a.setAttribute(`sandbox`,`allow-scripts allow-same-origin`),a.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,a.srcdoc=i,e.appendChild(a),a.contentWindow&&(Dn(a.contentWindow),L.add(a.contentWindow),r&&I.add(a.contentWindow)),a.addEventListener(`load`,()=>{Dn(a.contentWindow),a.contentWindow&&(L.add(a.contentWindow),r&&I.add(a.contentWindow)),Se()&&Ce(a)},{once:!0});let o=e=>{if(e.source!==a.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?a.style.height=t.height+`px`:t.type===`dip-open-link`?hi(t.url):t.type===`dip-picker-action`?Si(t,n):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?mi(a.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?pi(a.contentWindow,t):t.type===`dip-device-op`&&fi(a.contentWindow,t))};window.addEventListener(`message`,o);let s=null;if(Se()&&typeof IntersectionObserver<`u`){let e=!1,t=new IntersectionObserver(n=>{if(n[n.length-1].isIntersecting){if(e){e=!1;return}t.unobserve(a),Ce(a,()=>{e=!0,t.observe(a)})}});s=t,t.observe(a)}return{dispose(){s?.disconnect(),window.removeEventListener(`message`,o),Tn(a.contentWindow),a.contentWindow&&(L.delete(a.contentWindow),I.delete(a.contentWindow),oi(a.contentWindow)),a.remove()}}}async function mi(e,t){if(!e||typeof t.id!=`number`)return!1;let n=typeof t.path==`string`?t.path:``,r=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!I.has(e))return r({type:`${t.type}-response`,error:`VFS access not allowed for this dip`}),!0;if(!Hr(n))return r({type:`${t.type}-response`,error:`VFS path not allowed: ${n}`}),!0;if(t.type===`dip-readfile`){let e=await Rr(n,!0);return e===null?(r({type:`dip-readfile-response`,error:`Read failed`}),!0):(r({type:`dip-readfile-response`,content:typeof e==`string`?e:new TextDecoder().decode(e)}),!0)}if(t.type===`dip-exists`)return r({type:`dip-exists-response`,exists:await Rr(n,!0)!==null}),!0;if(t.type===`dip-stat`){let e=await Rr(n,!1);return e===null?(r({type:`dip-stat-response`,error:`Stat failed`}),!0):(r({type:`dip-stat-response`,stat:{isFile:!0,isDirectory:!1,size:typeof e==`string`?e.length:e.byteLength,mtimeMs:0}}),!0)}return!1}function hi(e){if(!(typeof e!=`string`||!e)&&/^(https?:|mailto:)/i.test(e))try{window.open(e,`_blank`,`noopener,noreferrer`)}catch{}}var gi=new WeakMap;function _i(){return typeof Element.prototype.moveBefore==`function`}function vi(e,t,n){let r=e.findIndex(e=>{let n=gi.get(e);return n?.key===t&&n.wrapper.isConnected}),i=e[r],a=i&&gi.get(i);if(!a)return null;try{n.parentNode.moveBefore(a.wrapper,n)}catch{return null}return n.remove(),e.splice(r,1),i}function yi(e,t,n){return gi.set(e,{key:t,wrapper:n}),e}function bi(e,t,n={}){let i=[],a=[...n.previous??[]],o=_i(),s=n.streaming===!0&&!o,c=e.querySelectorAll(`pre > code.language-shtml`);for(let e of c){let n=e.parentElement,c=e.textContent??``,l=`shtml:${c}`;if(s){n.replaceWith(n.ownerDocument.createRange().createContextualFragment(r));continue}let u=o?vi(a,l,n):null;if(u){i.push(u);continue}let d=document.createElement(`div`);d.className=`msg__dip`,n.replaceWith(d),i.push(yi(B(d,c,t,!1),l,d))}let l=e.querySelectorAll(`img[src$=".shtml"]`);for(let e of l){let n=e.getAttribute(`src`);if(!n||s)continue;let r=`img:${n}`,c=o?vi(a,r,e):null;if(c){i.push(c);continue}let l=document.createElement(`div`);l.className=`msg__dip`,e.alt&&l.setAttribute(`title`,e.alt),e.replaceWith(l);let u=new AbortController,d=null,f=!1;i.push(yi({dispose(){f=!0,u.abort(),d&&=(d.dispose(),null)}},r,l));let p=n.startsWith(`/`),m=typeof navigator<`u`&&!!navigator.serviceWorker?.controller,h=p?`/preview${n}`:n,g=async()=>{if(p&&!m)return Fr(n,u.signal);let e;try{e=await fetch(h,{signal:u.signal})}catch(e){if(e?.name===`AbortError`)throw e;if(p)return Fr(n,u.signal);throw e}if(e.ok)return e.text();if(p)return Fr(n,u.signal);throw Error(`HTTP ${e.status}`)},_=p&&Vr(n);g().then(e=>{f||!l.isConnected||(d=B(l,e,t,_))}).catch(e=>{f||e?.name===`AbortError`||(l.textContent=`Failed to load dip: ${n}`,l.style.cssText=`padding:8px;font-size:12px;color:var(--s2-negative);font-family:var(--s2-font-mono)`)})}return xi(a),i}function xi(e){for(let t of e)try{t.dispose()}catch{}e.length=0}async function Si(e,t){let n=Pr(e.data);if(e.picker===`screenshare`){await wi(e.action,t);return}if(Nr){await Ci(e.picker,e.action,n,t);return}switch(e.picker){case`directory`:await Ti(e.action,t);return;case`usb-device`:await Ei(e.action,n,t);return;case`serial-port`:await Di(e.action,n,t);return;case`hid-device`:await Oi(e.action,n,t);return;default:t(e.action,e.data);return}}async function Ci(e,n,r,i){try{switch(e){case`directory`:{let{openMountPickerPopup:e}=await t(async()=>{let{openMountPickerPopup:e}=await import(`./mount-picker-popup-qcWGbpG5.js`);return{openMountPickerPopup:e}},__vite__mapDeps([41,3,42,22])),r=await e();r.cancelled?i(n,{cancelled:!0}):r.error?i(n,{error:r.error}):r.idbKey?i(n,{handleInIdb:!0,idbKey:r.idbKey,dirName:r.dirName??``}):i(n,{error:`mount picker returned no handle key`});return}case`usb-device`:{let{openUsbPickerPopup:e}=await t(async()=>{let{openUsbPickerPopup:e}=await import(`./usb-picker-O-2gFMNl.js`).then(e=>e.t);return{openUsbPickerPopup:e}},__vite__mapDeps([43,1,42,22])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}case`serial-port`:{let{openSerialPickerPopup:e}=await t(async()=>{let{openSerialPickerPopup:e}=await import(`./serial-picker-BQF_Eitc.js`);return{openSerialPickerPopup:e}},__vite__mapDeps([44,42,22])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}case`hid-device`:{let{openHidPickerPopup:e}=await t(async()=>{let{openHidPickerPopup:e}=await import(`./hid-picker-sFJ8vzUj.js`);return{openHidPickerPopup:e}},__vite__mapDeps([45,42,22])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}default:i(n,{error:`unknown picker kind: ${e??`(none)`}`});return}}catch(e){i(n,{error:e instanceof Error?e.message:String(e)})}}async function V(e,t){let n=Dt();if(!n)return null;let r={current:null},i=t=>{let n=t.detail;n.kind===e&&(r.current=n)};n.addEventListener(`slicc-permission-deny`,i);try{let i=await n.request(e,t);if(i)return{ok:!0,grant:i};let a=r.current;return{ok:!1,reason:a?.reason??`error`,...a?.message?{message:a.message}:{}}}finally{n.removeEventListener(`slicc-permission-deny`,i)}}function H(e,t,n,r){if(t.reason===`cancelled`){r(e,{cancelled:!0});return}if(t.reason===`unavailable`){r(e,{error:n});return}r(e,{error:t.message??`unknown error`})}async function wi(e,n){let r=await V(`screenshare`,{constraints:{video:!0}});if(!r){n(e,{error:`screen capture is not available`});return}if(!r.ok){H(e,r,`screen capture is not available`,n);return}let i=r.grant,{adoptDisplayStream:a,displaySessions:o}=await t(async()=>{let{adoptDisplayStream:e,displaySessions:t}=await import(`./screencapture-media-BxRLHqjA.js`);return{adoptDisplayStream:e,displaySessions:t}},[]);try{let r=await a(i.stream);if(!r.handle){n(e,{error:`screen share produced no handle`});return}let{keepAdoptedScreenShare:s}=await t(async()=>{let{keepAdoptedScreenShare:e}=await import(`./screen-share-approval-live-D388fVD9.js`);return{keepAdoptedScreenShare:e}},[]);if(!s(r.handle,e=>o.stop(e))){n(e,{cancelled:!0});return}n(e,{granted:!0,handle:r.handle})}catch(t){n(e,{error:t instanceof Error?t.message:String(t)})}}async function Ti(e,n){let r=await V(`filesystem`);if(!r){n(e,{error:`File System Access API not available`});return}if(!r.ok){H(e,r,`File System Access API not available`,n);return}let i=r.grant.handle,a=`pendingMount:dip-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;try{let{storePendingHandle:e}=await t(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-qcWGbpG5.js`);return{storePendingHandle:e}},__vite__mapDeps([41,3,42,22]));await e(a,i)}catch(t){n(e,{error:`failed to store directory handle: ${t instanceof Error?t.message:String(t)}`});return}n(e,{handleInIdb:!0,idbKey:a,dirName:i.name})}async function Ei(e,n,r){let i=await V(`usb`,{filters:n});if(!i){r(e,{error:`WebUSB is not available`});return}if(!i.ok){H(e,i,`WebUSB is not available`,r);return}let a=i.grant,{getSharedUsbRegistry:o,deviceToInfo:s}=await t(async()=>{let{getSharedUsbRegistry:e,deviceToInfo:t}=await import(`./usb-device-registry--JwKRTYp.js`).then(e=>e.c);return{getSharedUsbRegistry:e,deviceToInfo:t}},__vite__mapDeps([46,1])),c=o().register(a.device);r(e,{granted:!0,handle:c,info:s(c,a.device)})}async function Di(e,n,r){let i=await V(`serial`,n.length?{filters:n}:void 0);if(!i){r(e,{error:`Web Serial is not available`});return}if(!i.ok){H(e,i,`Web Serial is not available`,r);return}let a=i.grant,o=await t(()=>import(`./serial-port-registry-CCqklAEr.js`).then(e=>e.o),__vite__mapDeps([47,1])),s=o.getSharedSerialRegistry(),c=s.register(a.port),l=s.get(c);r(e,{granted:!0,handle:c,info:l?o.deviceToInfo(c,l):{handle:c}})}async function Oi(e,n,r){let i=await V(`hid`,{filters:n});if(!i){r(e,{error:`WebHID is not available`});return}if(!i.ok){H(e,i,`WebHID is not available`,r);return}let a=i.grant,{getSharedHidRegistry:o,hidDeviceToInfo:s}=await t(async()=>{let{getSharedHidRegistry:e,hidDeviceToInfo:t}=await import(`./hid-device-registry-B2R-0rNt.js`).then(e=>e.a);return{getSharedHidRegistry:e,hidDeviceToInfo:t}},__vite__mapDeps([48,1])),c=o(),l=a.devices.map(e=>{let t=c.register(e);return s(t,e)}),u=l[0];r(e,{granted:!0,handle:u.handle,info:u,devices:l})}function ki(e,t,n,r=!1){let i=document.createElement(`iframe`);i.src=chrome.runtime.getURL(`sprinkle-sandbox.html`),i.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,e.appendChild(i);let a=e=>{if(e.source!==i.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?i.style.height=t.height+`px`:t.type===`dip-open-link`?hi(t.url):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?mi(i.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?pi(i.contentWindow,t):t.type===`dip-device-op`?fi(i.contentWindow,t):t.type===`dip-picker-action`&&Si(t,n))};return window.addEventListener(`message`,a),i.addEventListener(`load`,()=>{Dn(i.contentWindow),i.contentWindow&&(L.add(i.contentWindow),r&&I.add(i.contentWindow)),i.contentWindow?.postMessage({type:`dip-render`,srcdoc:t,isLight:En()},`*`)},{once:!0}),{dispose(){window.removeEventListener(`message`,a),Tn(i.contentWindow),i.contentWindow&&(L.delete(i.contentWindow),I.delete(i.contentWindow),oi(i.contentWindow)),i.remove()}}}var Ai=`/sessions/data`,ji=`document.json`,Mi=`.publishing`;function U(e){if(e?.aborted)throw new w(`transfer-aborted`)}function Ni(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new w(`session-not-found`)}function Pi(e){return`${Ai}/${e}`}function Fi(e){return`${Ai}/.tmp-${e}`}async function Ii(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function Li(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 Li(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function Ri(e,t){let n=await e.readDir(t);for(let r of n){if(r.name===Mi)continue;let n=`${t}/${r.name}`;r.type===`directory`?await Li(e,n):await e.rm(n)}}async function zi(e,t,n,r){U(r),await Ii(e,n);let i=await e.readDir(t);for(let a of i){U(r);let i=`${t}/${a.name}`,o=`${n}/${a.name}`;if(a.type===`directory`)await zi(e,i,o,r);else{let t=await e.readFile(i,{encoding:`binary`});await e.writeFile(o,t)}}}async function Bi(e,t,n,r){Ni(t);let i=Fi(t),a=Pi(t),o=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!o.has(e))throw new w(`schema-invalid`);U(r),await Ii(e,i);let s=!1;try{let t=[...n.document.attachments];for(let[e,i]of n.attachments){U(r);let n=await Pe(i),a=o.get(e);if(a!==void 0){let e=t.indexOf(a);e!==-1&&(t[e]={...a,sha256:n,byteLength:i.length})}}let c={...n.document,attachments:t},l=JSON.stringify(c,null,2);if(await e.writeFile(`${i}/${ji}`,l),n.attachments.size>0)for(let[t,r]of n.attachments){let n=`${i}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await Ii(e,`${i}/${t.slice(0,a)}`),await e.writeFile(n,r)}await e.flush(),U(r),await Ii(e,a),s=!0,await e.writeFile(`${a}/${Mi}`,`in-progress`),await Ri(e,a),U(r),await zi(e,i,a,r),await e.flush(),U(r),await e.rm(`${a}/${Mi}`)}catch(t){if(s)try{await Ri(e,a)}catch{}throw await Li(e,i),t}await Li(e,i)}async function Vi(e,t){Ni(t);for(let n of[Pi(t),Fi(t)])try{await e.rm(n,{recursive:!0})}catch(e){if(e?.code!==`ENOENT`)throw e}}async function Hi(e,n){let[{serializeIndexWrite:r},{readIndexForPresence:i}]=await Promise.all([t(()=>import(`./frozen-archive-writer-Cl1Ysgmc.js`).then(e=>e.r),__vite__mapDeps([49,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50])),t(()=>import(`./frozen-session-identity-cfIMH4Td.js`).then(e=>e.n),__vite__mapDeps([51,1,49,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50]))]);return r(async()=>{let t=await i(e);return t===null||t.some(e=>e.sessionId===n)?!1:(await Vi(e,n),!0)})}async function Ui(e,t){Ni(t);let n=Pi(t),r=`${n}/${ji}`;try{throw await e.stat(`${n}/${Mi}`),new w(`session-not-found`)}catch(e){if(e instanceof w||e.code!==`ENOENT`)throw e}let i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new w(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new w(`schema-invalid`)}if(!Le(a).ok)throw new w(`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 w(`transfer-corrupt`)}if(await Pe(i)!==t.sha256)throw new w(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}var Wi=e({PENDING_SESSION_ATTEMPT_LIMIT:()=>3,SESSIONS_INDEX_PATH:()=>E,curateFrozenSessionMemories:()=>Xi,enrichPendingSession:()=>Ca,freezeConeSession:()=>Yi,listPendingEnrichments:()=>ba,markSnapshotUnavailable:()=>qa,processPendingSessions:()=>xa,readSessionsIndex:()=>O}),W=n(`session-freezer`),Gi=4,Ki=2048,qi=40,Ji=`${D}/attachments`;async function Yi(e){let t=await ma(e.sessionStore,fa(e));if(!t||t.messages.length<Gi)return W.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=ga(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);!e.agenticMemorySpawn&&e.memory!==`skip`&&await ea(e,n,i);let a=await ta(e,n,i)||We(t.messages);return await na(e,t,a,r,i?await Qi(e,a):void 0,!!e.agenticMemorySpawn&&e.memory!==`skip`)}async function Xi(e,t){let n=await Pn(e.vfs,{sessionId:t.sessionId||t.filename.replace(/\.md$/i,``),filename:t.filename,title:t.title,frozenAt:t.frozenAt,cone:t.cone,coneLabel:t.coneLabel,curatedThrough:t.curatedThrough,messages:t.archive.messages});if(n.kind===`covered`)return Zi(e,t,null);let r=n.kind===`delta`?n.path:Ue(t),i=n.kind===`delta`?n.messages:t.archive.messages,a;try{a=await Mn({spawn:e.agenticMemorySpawn,vfs:e.vfs,sessionArchivePath:r,sessionCount:await An(e.vfs),...e.cone?{cone:e.cone}:{}})}catch(e){a={ok:!1,reason:e instanceof Error?e.message:String(e),legacyFallbackSafe:!1}}return a.ok?(n.kind===`delta`&&await Nn(e.vfs,t.filename,n.through),Zi(e,t,r)):(await za(e.vfs,t.filename,a.reason),a.legacyFallbackSafe?(W.warn(`Agentic memory pass failed after finishing — falling back to legacy extraction`,{filename:t.filename,reason:a.reason}),await ea(e,ga(i),!0),null):(W.warn(`Agentic memory pass unfinished — entry stays pending for boot catch-up`,{filename:t.filename,reason:a.reason,attemptLimit:3}),null))}async function Zi(e,t,n){let r=await La(e.vfs,t.filename);if(n){let t=n.slice(n.lastIndexOf(`/`)+1);await Ea(e.vfs,t)}return r?(delete t.memoryPending,W.info(`Agentic memory pass completed`,{filename:t.filename}),r):(W.info(`Agentic memory pass completed; index entry already gone`,{filename:t.filename}),null)}async function Qi(e,n){try{return $i(await(e.pickIcon??(await t(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-DaP4ryRr.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([52,1,9,10,11,2,12,13,14,15,16,3,17,7,8,18,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,53,39]))).pickLucideIcon)({subject:`"${n}" — an archived chat session`})??void 0)}catch(e){W.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function $i(e){if(e)return Kt(e)?e:void 0}async function ea(e,t,n){if(!n){W.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let r=``;try{r=await pe({messages:t,instruction:me,model:e.model,apiKey:e.apiKey,maxTokens:Ki,headers:e.headers})}catch(e){W.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!r.trim()||r.trim()===`NONE`){W.info(`Memory extraction returned no durable memories`);return}try{await ya(e.vfs,pa(fa(e)),r.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),W.info(`Memory extracted and appended on new-session`)}catch(e){W.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function ta(e,t,n){if(!n)return``;try{return _a(await pe({messages:t,instruction:he,model:e.model,apiKey:e.apiKey,maxTokens:qi,headers:e.headers}))}catch(e){return W.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function na(e,n,r,i,a,o=!1){let s=new Date().toISOString(),c=fa(e),l=await ha(e.vfs,c),u=l?.sessionId??crypto.randomUUID(),d=l?.filename??(i===`quick`?`pending-${Ge()}.md`:`${s.replace(/[:.]/g,`-`)}-${Xe(r)}.md`),f=ra(n.messages),p={cone:c,...c!==`cone`&&e.cone?.label?{coneLabel:e.cone.label}:{}},m={filename:d,sessionId:u,title:r,frozenAt:s,messageCount:n.messages.length,...f??{},...p,...a?{icon:a}:{},...i===`quick`||l?{pendingEnrichment:!0}:{},...o?{memoryPending:!0}:{},...e.memory===`skip`?{memorySkipped:!0}:{},...l?.curatedThrough?{curatedThrough:l.curatedThrough}:{}};try{await va(e.vfs,D);let i=d.replace(/\.md$/,``),a=await oa(e.vfs,n.messages,i),o={id:n.id,sessionId:u,attachmentsKey:i,title:r,frozenAt:s,createdAt:n.createdAt,updatedAt:n.updatedAt,messageCount:n.messages.length,messages:a,...f??{},...p,...e.memory===`skip`?{memorySkipped:!0}:{},...l?.curatedThrough?{curatedThrough:l.curatedThrough}:{}};if(_e(`memory-v2`)){let{writeArchiveBundle:n}=await t(async()=>{let{writeArchiveBundle:e}=await import(`./session-jsonl-DY5vSsEY.js`).then(e=>e.i);return{writeArchiveBundle:e}},__vite__mapDeps([54,1,49,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50]));await n(e.vfs,d,o)}else await e.vfs.writeFile(`${D}/${d}`,Ke(o));return await He(e.vfs,m),await e.vfs.flush(),W.info(`Cone session frozen`,{filename:d,title:r,cone:c,messageCount:n.messages.length,completedLiveSnapshot:!!l}),{...m,archive:o}}catch(e){return W.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}function ra(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||!aa(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 ia(e){return typeof e==`number`&&Number.isFinite(e)}function aa(e){let{cost:t}=e;return[e.input,e.output,e.cacheRead,e.cacheWrite].every(ia)&&[t.input,t.output,t.cacheRead,t.cacheWrite,t.total].every(ia)}async function oa(e,t,n){let r={vfs:e,archiveDir:`${Ji}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(la)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await sa(r,n));i.push({...e,attachments:t})}return i}async function sa(e,t){if(!la(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await ca(e.vfs,t.path);if(!r)return da(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await va(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function ca(e,t){try{if(!await ua(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 la(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function ua(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 da(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}function fa(e){return e.cone?.folder||`cone`}function pa(e){return _n({parentJid:null,folder:e}).memoryPath}async function ma(e,t){let n=dn({folder:t});try{return await e.load(n)}catch(e){return W.warn(`Failed to load cone chat session`,{sessionId:n,error:e instanceof Error?e.message:String(e)}),null}}async function ha(e,t){try{return Ye(await qe(e),t)}catch(e){W.warn(`Sessions index unreadable while looking for a live snapshot`,{error:e instanceof Error?e.message:String(e)});return}}function ga(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}function _a(e){let t=e.trim();return t=t.replace(/^["'`]+|["'`]+$/g,``).trim(),t=t.replace(/\s+/g,` `),t.length>80&&(t=t.slice(0,80).trimEnd()),t}async function va(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function ya(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 Ot)||t.code!==`ENOENT`)throw t;await va(e,a.slice(0,a.lastIndexOf(`/`)))}let s=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${r})`,c=`${o.length===0||o.endsWith(`
241
+ `,exitCode:127};try{return await Zr(e)}catch(e){return{stdout:``,stderr:`exec: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function ti(e,t){let n=await ei($r(e,t));return{stdout:n.stdout||n.stderr,exitCode:n.exitCode}}async function ni(e,t){let n=await be(ei,e,t);if(e===`fetch`){let e=n,t=atob(e.bodyBase64),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return{...e,body:new TextDecoder(`utf-8`).decode(r)}}return n}var z=new WeakMap;function ri(e,t){try{e.postMessage({type:`dip-device-event`,channel:`hid:inputreport`,payload:t},`*`)}catch{}}async function ii(e,t){let n=z.get(e);if(n||(n=new Map,z.set(e,n)),n.has(t))return;let r=await Lt(At(),t,n=>{let r=n.bytes instanceof Uint8Array?n.bytes:new Uint8Array(n.bytes);ri(e,{handle:t,reportId:n.reportId,data:r})});n.set(t,r)}async function ai(e,t){let n=z.get(e);if(!n)return;let r=n.get(t);if(r){n.delete(t);try{await Promise.resolve(r())}catch{}}n.size===0&&z.delete(e)}function oi(e){let t=z.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}z.delete(e)}}function si(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}if(Array.isArray(e))return new Uint8Array(e);throw Error(`expected Uint8Array, ArrayBuffer, or number[]`)}async function ci(e,t,n){let r=At();switch(t){case`list`:{let e=kt();if(!e)throw Error(`WebHID is unavailable in this browser`);return Ht(r,e)}case`request`:{let e=kt();if(!e)throw Error(`WebHID is unavailable in this browser`);return Bt(r,Ee(e),n[0]??[])}case`info`:return zt(r,n[0]);case`open`:{let t=n[0];return await It(r,t),await ii(e,t),{ok:!0}}case`close`:{let t=n[0];return await ai(e,t),await Ut(r,t),{ok:!0}}case`sendReport`:{let e=n[0],t=n[1],i=si(n[2]),a=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);return await Nt(r,e,t,a),{ok:!0}}default:throw Error(`hid: unknown op '${t}'`)}}async function li(e,t){let n=jt();switch(e){case`list`:{let e=Mt();if(!e)throw Error(`Web Serial is unavailable in this browser`);return Vt(n,e)}case`request`:{let e=Mt();if(!e)throw Error(`Web Serial is unavailable in this browser`);return Ft(n,De(e),t[0]??[])}case`info`:return Pt(n,t[0]);case`open`:{let e=t[0],r=t[1]??{baudRate:9600};return await Rt(n,e,r),{ok:!0}}case`close`:return await Wt(n,t[0]),{ok:!0};default:throw Error(`serial: unknown op '${e}'`)}}async function ui(e,t){let n=qt();switch(e){case`list`:{let e=Jt();if(!e)throw Error(`WebUSB is unavailable in this browser`);return Zt(n,e)}case`request`:{let e=Jt();if(!e)throw Error(`WebUSB is unavailable in this browser`);return Yt(n,xe(e),t[0]??[])}case`info`:return Qt(n,t[0]);case`open`:return await $t(n,t[0]),{ok:!0};case`close`:return await Xt(n,t[0]),{ok:!0};default:throw Error(`usb: unknown op '${e}'`)}}async function di(e,t,n,r){switch(t){case`hid`:return ci(e,n,r);case`serial`:return li(n,r);case`usb`:return ui(n,r);default:throw Error(`unknown device channel '${t}'`)}}async function fi(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!I.has(e))return n({type:`dip-device-op-response`,error:`device access not allowed for this dip`}),!0;let r=t.channel;if(r!==`hid`&&r!==`serial`&&r!==`usb`)return n({type:`dip-device-op-response`,error:`unknown device channel '${r}'`}),!0;try{n({type:`dip-device-op-response`,result:await di(e,r,typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-device-op-response`,error:e instanceof Error?e.message:String(e)})}return!0}async function pi(e,t){if(!e||typeof t.id!=`number`)return!1;let n=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!I.has(e))return n({type:`${t.type}-response`,error:`exec not allowed for this dip`}),!0;if(t.type===`dip-exec`)return n({type:`dip-exec-response`,result:await ei(typeof t.cmd==`string`?t.cmd:``)}),!0;if(t.type===`dip-agent`)return n({type:`dip-agent-response`,result:await ti(typeof t.prompt==`string`?t.prompt:``,t.opts)}),!0;if(t.type===`dip-jsh`){try{n({type:`dip-jsh-response`,result:await ni(typeof t.op==`string`?t.op:``,Array.isArray(t.args)?t.args:[])})}catch(e){n({type:`dip-jsh-response`,error:e instanceof Error?e.message:String(e)})}return!0}return!1}function B(e,t,n,r=!1){let i=Yr(t,!1,r);if(Nr)return ki(e,i,n,r);let a=document.createElement(`iframe`);a.setAttribute(`sandbox`,`allow-scripts allow-same-origin`),a.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,a.srcdoc=i,e.appendChild(a),a.contentWindow&&(Dn(a.contentWindow),L.add(a.contentWindow),r&&I.add(a.contentWindow)),a.addEventListener(`load`,()=>{Dn(a.contentWindow),a.contentWindow&&(L.add(a.contentWindow),r&&I.add(a.contentWindow)),Se()&&Ce(a)},{once:!0});let o=e=>{if(e.source!==a.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?a.style.height=t.height+`px`:t.type===`dip-open-link`?hi(t.url):t.type===`dip-picker-action`?Si(t,n):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?mi(a.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?pi(a.contentWindow,t):t.type===`dip-device-op`&&fi(a.contentWindow,t))};window.addEventListener(`message`,o);let s=null;if(Se()&&typeof IntersectionObserver<`u`){let e=!1,t=new IntersectionObserver(n=>{if(n[n.length-1].isIntersecting){if(e){e=!1;return}t.unobserve(a),Ce(a,()=>{e=!0,t.observe(a)})}});s=t,t.observe(a)}return{dispose(){s?.disconnect(),window.removeEventListener(`message`,o),Tn(a.contentWindow),a.contentWindow&&(L.delete(a.contentWindow),I.delete(a.contentWindow),oi(a.contentWindow)),a.remove()}}}async function mi(e,t){if(!e||typeof t.id!=`number`)return!1;let n=typeof t.path==`string`?t.path:``,r=n=>{try{e.postMessage({...n,id:t.id},`*`)}catch{}};if(!I.has(e))return r({type:`${t.type}-response`,error:`VFS access not allowed for this dip`}),!0;if(!Hr(n))return r({type:`${t.type}-response`,error:`VFS path not allowed: ${n}`}),!0;if(t.type===`dip-readfile`){let e=await Rr(n,!0);return e===null?(r({type:`dip-readfile-response`,error:`Read failed`}),!0):(r({type:`dip-readfile-response`,content:typeof e==`string`?e:new TextDecoder().decode(e)}),!0)}if(t.type===`dip-exists`)return r({type:`dip-exists-response`,exists:await Rr(n,!0)!==null}),!0;if(t.type===`dip-stat`){let e=await Rr(n,!1);return e===null?(r({type:`dip-stat-response`,error:`Stat failed`}),!0):(r({type:`dip-stat-response`,stat:{isFile:!0,isDirectory:!1,size:typeof e==`string`?e.length:e.byteLength,mtimeMs:0}}),!0)}return!1}function hi(e){if(!(typeof e!=`string`||!e)&&/^(https?:|mailto:)/i.test(e))try{window.open(e,`_blank`,`noopener,noreferrer`)}catch{}}var gi=new WeakMap;function _i(){return typeof Element.prototype.moveBefore==`function`}function vi(e,t,n){let r=e.findIndex(e=>{let n=gi.get(e);return n?.key===t&&n.wrapper.isConnected}),i=e[r],a=i&&gi.get(i);if(!a)return null;try{n.parentNode.moveBefore(a.wrapper,n)}catch{return null}return n.remove(),e.splice(r,1),i}function yi(e,t,n){return gi.set(e,{key:t,wrapper:n}),e}function bi(e,t,n={}){let i=[],a=[...n.previous??[]],o=_i(),s=n.streaming===!0&&!o,c=e.querySelectorAll(`pre > code.language-shtml`);for(let e of c){let n=e.parentElement,c=e.textContent??``,l=`shtml:${c}`;if(s){n.replaceWith(n.ownerDocument.createRange().createContextualFragment(r));continue}let u=o?vi(a,l,n):null;if(u){i.push(u);continue}let d=document.createElement(`div`);d.className=`msg__dip`,n.replaceWith(d),i.push(yi(B(d,c,t,!1),l,d))}let l=e.querySelectorAll(`img[src$=".shtml"]`);for(let e of l){let n=e.getAttribute(`src`);if(!n||s)continue;let r=`img:${n}`,c=o?vi(a,r,e):null;if(c){i.push(c);continue}let l=document.createElement(`div`);l.className=`msg__dip`,e.alt&&l.setAttribute(`title`,e.alt),e.replaceWith(l);let u=new AbortController,d=null,f=!1;i.push(yi({dispose(){f=!0,u.abort(),d&&=(d.dispose(),null)}},r,l));let p=n.startsWith(`/`),m=typeof navigator<`u`&&!!navigator.serviceWorker?.controller,h=p?`/preview${n}`:n,g=async()=>{if(p&&!m)return Fr(n,u.signal);let e;try{e=await fetch(h,{signal:u.signal})}catch(e){if(e?.name===`AbortError`)throw e;if(p)return Fr(n,u.signal);throw e}if(e.ok)return e.text();if(p)return Fr(n,u.signal);throw Error(`HTTP ${e.status}`)},_=p&&Vr(n);g().then(e=>{f||!l.isConnected||(d=B(l,e,t,_))}).catch(e=>{f||e?.name===`AbortError`||(l.textContent=`Failed to load dip: ${n}`,l.style.cssText=`padding:8px;font-size:12px;color:var(--s2-negative);font-family:var(--s2-font-mono)`)})}return xi(a),i}function xi(e){for(let t of e)try{t.dispose()}catch{}e.length=0}async function Si(e,t){let n=Pr(e.data);if(e.picker===`screenshare`){await wi(e.action,t);return}if(Nr){await Ci(e.picker,e.action,n,t);return}switch(e.picker){case`directory`:await Ti(e.action,t);return;case`usb-device`:await Ei(e.action,n,t);return;case`serial-port`:await Di(e.action,n,t);return;case`hid-device`:await Oi(e.action,n,t);return;default:t(e.action,e.data);return}}async function Ci(e,n,r,i){try{switch(e){case`directory`:{let{openMountPickerPopup:e}=await t(async()=>{let{openMountPickerPopup:e}=await import(`./mount-picker-popup-qcWGbpG5.js`);return{openMountPickerPopup:e}},__vite__mapDeps([41,3,42,22])),r=await e();r.cancelled?i(n,{cancelled:!0}):r.error?i(n,{error:r.error}):r.idbKey?i(n,{handleInIdb:!0,idbKey:r.idbKey,dirName:r.dirName??``}):i(n,{error:`mount picker returned no handle key`});return}case`usb-device`:{let{openUsbPickerPopup:e}=await t(async()=>{let{openUsbPickerPopup:e}=await import(`./usb-picker-O-2gFMNl.js`).then(e=>e.t);return{openUsbPickerPopup:e}},__vite__mapDeps([43,1,42,22])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}case`serial-port`:{let{openSerialPickerPopup:e}=await t(async()=>{let{openSerialPickerPopup:e}=await import(`./serial-picker-BQF_Eitc.js`);return{openSerialPickerPopup:e}},__vite__mapDeps([44,42,22])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}case`hid-device`:{let{openHidPickerPopup:e}=await t(async()=>{let{openHidPickerPopup:e}=await import(`./hid-picker-sFJ8vzUj.js`);return{openHidPickerPopup:e}},__vite__mapDeps([45,42,22])),a=await e(r);`cancelled`in a?i(n,{cancelled:!0}):`error`in a?i(n,{error:a.error}):i(n,{granted:!0,info:a.info});return}default:i(n,{error:`unknown picker kind: ${e??`(none)`}`});return}}catch(e){i(n,{error:e instanceof Error?e.message:String(e)})}}async function V(e,t){let n=Dt();if(!n)return null;let r={current:null},i=t=>{let n=t.detail;n.kind===e&&(r.current=n)};n.addEventListener(`slicc-permission-deny`,i);try{let i=await n.request(e,t);if(i)return{ok:!0,grant:i};let a=r.current;return{ok:!1,reason:a?.reason??`error`,...a?.message?{message:a.message}:{}}}finally{n.removeEventListener(`slicc-permission-deny`,i)}}function H(e,t,n,r){if(t.reason===`cancelled`){r(e,{cancelled:!0});return}if(t.reason===`unavailable`){r(e,{error:n});return}r(e,{error:t.message??`unknown error`})}async function wi(e,n){let r=await V(`screenshare`,{constraints:{video:!0}});if(!r){n(e,{error:`screen capture is not available`});return}if(!r.ok){H(e,r,`screen capture is not available`,n);return}let i=r.grant,{adoptDisplayStream:a,displaySessions:o}=await t(async()=>{let{adoptDisplayStream:e,displaySessions:t}=await import(`./screencapture-media-BxRLHqjA.js`);return{adoptDisplayStream:e,displaySessions:t}},[]);try{let r=await a(i.stream);if(!r.handle){n(e,{error:`screen share produced no handle`});return}let{keepAdoptedScreenShare:s}=await t(async()=>{let{keepAdoptedScreenShare:e}=await import(`./screen-share-approval-live-D388fVD9.js`);return{keepAdoptedScreenShare:e}},[]);if(!s(r.handle,e=>o.stop(e))){n(e,{cancelled:!0});return}n(e,{granted:!0,handle:r.handle})}catch(t){n(e,{error:t instanceof Error?t.message:String(t)})}}async function Ti(e,n){let r=await V(`filesystem`);if(!r){n(e,{error:`File System Access API not available`});return}if(!r.ok){H(e,r,`File System Access API not available`,n);return}let i=r.grant.handle,a=`pendingMount:dip-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;try{let{storePendingHandle:e}=await t(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-qcWGbpG5.js`);return{storePendingHandle:e}},__vite__mapDeps([41,3,42,22]));await e(a,i)}catch(t){n(e,{error:`failed to store directory handle: ${t instanceof Error?t.message:String(t)}`});return}n(e,{handleInIdb:!0,idbKey:a,dirName:i.name})}async function Ei(e,n,r){let i=await V(`usb`,{filters:n});if(!i){r(e,{error:`WebUSB is not available`});return}if(!i.ok){H(e,i,`WebUSB is not available`,r);return}let a=i.grant,{getSharedUsbRegistry:o,deviceToInfo:s}=await t(async()=>{let{getSharedUsbRegistry:e,deviceToInfo:t}=await import(`./usb-device-registry--JwKRTYp.js`).then(e=>e.c);return{getSharedUsbRegistry:e,deviceToInfo:t}},__vite__mapDeps([46,1])),c=o().register(a.device);r(e,{granted:!0,handle:c,info:s(c,a.device)})}async function Di(e,n,r){let i=await V(`serial`,n.length?{filters:n}:void 0);if(!i){r(e,{error:`Web Serial is not available`});return}if(!i.ok){H(e,i,`Web Serial is not available`,r);return}let a=i.grant,o=await t(()=>import(`./serial-port-registry-CCqklAEr.js`).then(e=>e.o),__vite__mapDeps([47,1])),s=o.getSharedSerialRegistry(),c=s.register(a.port),l=s.get(c);r(e,{granted:!0,handle:c,info:l?o.deviceToInfo(c,l):{handle:c}})}async function Oi(e,n,r){let i=await V(`hid`,{filters:n});if(!i){r(e,{error:`WebHID is not available`});return}if(!i.ok){H(e,i,`WebHID is not available`,r);return}let a=i.grant,{getSharedHidRegistry:o,hidDeviceToInfo:s}=await t(async()=>{let{getSharedHidRegistry:e,hidDeviceToInfo:t}=await import(`./hid-device-registry-B2R-0rNt.js`).then(e=>e.a);return{getSharedHidRegistry:e,hidDeviceToInfo:t}},__vite__mapDeps([48,1])),c=o(),l=a.devices.map(e=>{let t=c.register(e);return s(t,e)}),u=l[0];r(e,{granted:!0,handle:u.handle,info:u,devices:l})}function ki(e,t,n,r=!1){let i=document.createElement(`iframe`);i.src=chrome.runtime.getURL(`sprinkle-sandbox.html`),i.style.cssText=`width:100%;border:none;overflow:hidden;display:block;`,e.appendChild(i);let a=e=>{if(e.source!==i.contentWindow)return;let t=e.data;t?.type&&(t.type===`dip-lick`?n(t.action,t.data):t.type===`dip-height`?i.style.height=t.height+`px`:t.type===`dip-open-link`?hi(t.url):t.type===`dip-readfile`||t.type===`dip-exists`||t.type===`dip-stat`?mi(i.contentWindow,t):t.type===`dip-exec`||t.type===`dip-agent`||t.type===`dip-jsh`?pi(i.contentWindow,t):t.type===`dip-device-op`?fi(i.contentWindow,t):t.type===`dip-picker-action`&&Si(t,n))};return window.addEventListener(`message`,a),i.addEventListener(`load`,()=>{Dn(i.contentWindow),i.contentWindow&&(L.add(i.contentWindow),r&&I.add(i.contentWindow)),i.contentWindow?.postMessage({type:`dip-render`,srcdoc:t,isLight:En()},`*`)},{once:!0}),{dispose(){window.removeEventListener(`message`,a),Tn(i.contentWindow),i.contentWindow&&(L.delete(i.contentWindow),I.delete(i.contentWindow),oi(i.contentWindow)),i.remove()}}}var Ai=`/sessions/data`,ji=`document.json`,Mi=`.publishing`;function U(e){if(e?.aborted)throw new w(`transfer-aborted`)}function Ni(e){if(e.length===0||/[/\\\x00]/.test(e)||e===`..`||e===`.`||e.includes(`..`)||!/^[a-zA-Z0-9._-]+$/.test(e))throw new w(`session-not-found`)}function Pi(e){return`${Ai}/${e}`}function Fi(e){return`${Ai}/.tmp-${e}`}async function Ii(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function Li(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 Li(e,n);try{await e.rm(n)}catch{}}try{await e.rm(t)}catch{}}async function Ri(e,t){let n=await e.readDir(t);for(let r of n){if(r.name===Mi)continue;let n=`${t}/${r.name}`;r.type===`directory`?await Li(e,n):await e.rm(n)}}async function zi(e,t,n,r){U(r),await Ii(e,n);let i=await e.readDir(t);for(let a of i){U(r);let i=`${t}/${a.name}`,o=`${n}/${a.name}`;if(a.type===`directory`)await zi(e,i,o,r);else{let t=await e.readFile(i,{encoding:`binary`});await e.writeFile(o,t)}}}async function Bi(e,t,n,r){Ni(t);let i=Fi(t),a=Pi(t),o=new Map(n.document.attachments.filter(e=>e.present&&e.path).map(e=>[e.path,e]));for(let[e]of n.attachments)if(!o.has(e))throw new w(`schema-invalid`);U(r),await Ii(e,i);let s=!1;try{let t=[...n.document.attachments];for(let[e,i]of n.attachments){U(r);let n=await Pe(i),a=o.get(e);if(a!==void 0){let e=t.indexOf(a);e!==-1&&(t[e]={...a,sha256:n,byteLength:i.length})}}let c={...n.document,attachments:t},l=JSON.stringify(c,null,2);if(await e.writeFile(`${i}/${ji}`,l),n.attachments.size>0)for(let[t,r]of n.attachments){let n=`${i}/${t}`,a=t.lastIndexOf(`/`);a!==-1&&await Ii(e,`${i}/${t.slice(0,a)}`),await e.writeFile(n,r)}await e.flush(),U(r),await Ii(e,a),s=!0,await e.writeFile(`${a}/${Mi}`,`in-progress`),await Ri(e,a),U(r),await zi(e,i,a,r),await e.flush(),U(r),await e.rm(`${a}/${Mi}`)}catch(t){if(s)try{await Ri(e,a)}catch{}throw await Li(e,i),t}await Li(e,i)}async function Vi(e,t){Ni(t);for(let n of[Pi(t),Fi(t)])try{await e.rm(n,{recursive:!0})}catch(e){if(e?.code!==`ENOENT`)throw e}}async function Hi(e,n){let[{serializeIndexWrite:r},{readIndexForPresence:i}]=await Promise.all([t(()=>import(`./frozen-archive-writer-CxOraREp.js`).then(e=>e.r),__vite__mapDeps([49,1,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50])),t(()=>import(`./frozen-session-identity-DHkq6CVA.js`).then(e=>e.n),__vite__mapDeps([51,1,49,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50]))]);return r(async()=>{let t=await i(e);return t===null||t.some(e=>e.sessionId===n)?!1:(await Vi(e,n),!0)})}async function Ui(e,t){Ni(t);let n=Pi(t),r=`${n}/${ji}`;try{throw await e.stat(`${n}/${Mi}`),new w(`session-not-found`)}catch(e){if(e instanceof w||e.code!==`ENOENT`)throw e}let i;try{let t=await e.readFile(r,{encoding:`utf-8`});i=typeof t==`string`?t:new TextDecoder().decode(t)}catch{throw new w(`session-not-found`)}let a;try{a=JSON.parse(i)}catch{throw new w(`schema-invalid`)}if(!Le(a).ok)throw new w(`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 w(`transfer-corrupt`)}if(await Pe(i)!==t.sha256)throw new w(`transfer-corrupt`);o.set(t.path,i)}return{document:a,attachments:o}}var Wi=e({PENDING_SESSION_ATTEMPT_LIMIT:()=>3,SESSIONS_INDEX_PATH:()=>E,curateFrozenSessionMemories:()=>Xi,enrichPendingSession:()=>Ca,freezeConeSession:()=>Yi,listPendingEnrichments:()=>ba,markSnapshotUnavailable:()=>qa,processPendingSessions:()=>xa,readSessionsIndex:()=>O}),W=n(`session-freezer`),Gi=4,Ki=2048,qi=40,Ji=`${D}/attachments`;async function Yi(e){let t=await ma(e.sessionStore,fa(e));if(!t||t.messages.length<Gi)return W.info(`Skipping freeze: session below threshold or missing`,{messageCount:t?.messages.length??0}),null;let n=ga(t.messages),r=e.mode??`full`,i=r===`full`&&!!(e.apiKey&&e.model);!e.agenticMemorySpawn&&e.memory!==`skip`&&await ea(e,n,i);let a=await ta(e,n,i)||We(t.messages);return await na(e,t,a,r,i?await Qi(e,a):void 0,!!e.agenticMemorySpawn&&e.memory!==`skip`)}async function Xi(e,t){let n=await Pn(e.vfs,{sessionId:t.sessionId||t.filename.replace(/\.md$/i,``),filename:t.filename,title:t.title,frozenAt:t.frozenAt,cone:t.cone,coneLabel:t.coneLabel,curatedThrough:t.curatedThrough,messages:t.archive.messages});if(n.kind===`covered`)return Zi(e,t,null);let r=n.kind===`delta`?n.path:Ue(t),i=n.kind===`delta`?n.messages:t.archive.messages,a;try{a=await Mn({spawn:e.agenticMemorySpawn,vfs:e.vfs,sessionArchivePath:r,sessionCount:await An(e.vfs),...e.cone?{cone:e.cone}:{}})}catch(e){a={ok:!1,reason:e instanceof Error?e.message:String(e),legacyFallbackSafe:!1}}return a.ok?(n.kind===`delta`&&await Nn(e.vfs,t.filename,n.through),Zi(e,t,r)):(await za(e.vfs,t.filename,a.reason),a.legacyFallbackSafe?(W.warn(`Agentic memory pass failed after finishing — falling back to legacy extraction`,{filename:t.filename,reason:a.reason}),await ea(e,ga(i),!0),null):(W.warn(`Agentic memory pass unfinished — entry stays pending for boot catch-up`,{filename:t.filename,reason:a.reason,attemptLimit:3}),null))}async function Zi(e,t,n){let r=await La(e.vfs,t.filename);if(n){let t=n.slice(n.lastIndexOf(`/`)+1);await Ea(e.vfs,t)}return r?(delete t.memoryPending,W.info(`Agentic memory pass completed`,{filename:t.filename}),r):(W.info(`Agentic memory pass completed; index entry already gone`,{filename:t.filename}),null)}async function Qi(e,n){try{return $i(await(e.pickIcon??(await t(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-BEV4p0nB.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([52,1,9,10,11,2,12,13,14,15,16,3,17,7,8,18,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,53,39]))).pickLucideIcon)({subject:`"${n}" — an archived chat session`})??void 0)}catch(e){W.warn(`Icon pick failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}}function $i(e){if(e)return Kt(e)?e:void 0}async function ea(e,t,n){if(!n){W.info(`LLM unavailable — skipping memory extraction; freezing anyway`);return}let r=``;try{r=await pe({messages:t,instruction:me,model:e.model,apiKey:e.apiKey,maxTokens:Ki,headers:e.headers})}catch(e){W.warn(`Memory extraction call failed (freeze still proceeds)`,{error:e instanceof Error?e.message:String(e)});return}if(!r.trim()||r.trim()===`NONE`){W.info(`Memory extraction returned no durable memories`);return}try{await ya(e.vfs,pa(fa(e)),r.trim(),`new-session`,{model:e.model,apiKey:e.apiKey,headers:e.headers}),W.info(`Memory extracted and appended on new-session`)}catch(e){W.warn(`Memory append failed`,{error:e instanceof Error?e.message:String(e)})}}async function ta(e,t,n){if(!n)return``;try{return _a(await pe({messages:t,instruction:he,model:e.model,apiKey:e.apiKey,maxTokens:qi,headers:e.headers}))}catch(e){return W.warn(`Title generation call failed (using heuristic)`,{error:e instanceof Error?e.message:String(e)}),``}}async function na(e,n,r,i,a,o=!1){let s=new Date().toISOString(),c=fa(e),l=await ha(e.vfs,c),u=l?.sessionId??crypto.randomUUID(),d=l?.filename??(i===`quick`?`pending-${Ge()}.md`:`${s.replace(/[:.]/g,`-`)}-${Xe(r)}.md`),f=ra(n.messages),p={cone:c,...c!==`cone`&&e.cone?.label?{coneLabel:e.cone.label}:{}},m={filename:d,sessionId:u,title:r,frozenAt:s,messageCount:n.messages.length,...f??{},...p,...a?{icon:a}:{},...i===`quick`||l?{pendingEnrichment:!0}:{},...o?{memoryPending:!0}:{},...e.memory===`skip`?{memorySkipped:!0}:{},...l?.curatedThrough?{curatedThrough:l.curatedThrough}:{}};try{await va(e.vfs,D);let i=d.replace(/\.md$/,``),a=await oa(e.vfs,n.messages,i),o={id:n.id,sessionId:u,attachmentsKey:i,title:r,frozenAt:s,createdAt:n.createdAt,updatedAt:n.updatedAt,messageCount:n.messages.length,messages:a,...f??{},...p,...e.memory===`skip`?{memorySkipped:!0}:{},...l?.curatedThrough?{curatedThrough:l.curatedThrough}:{}};if(_e(`memory-v2`)){let{writeArchiveBundle:n}=await t(async()=>{let{writeArchiveBundle:e}=await import(`./session-jsonl-Aeyy6bYO.js`).then(e=>e.i);return{writeArchiveBundle:e}},__vite__mapDeps([54,1,49,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50]));await n(e.vfs,d,o)}else await e.vfs.writeFile(`${D}/${d}`,Ke(o));return await He(e.vfs,m),await e.vfs.flush(),W.info(`Cone session frozen`,{filename:d,title:r,cone:c,messageCount:n.messages.length,completedLiveSnapshot:!!l}),{...m,archive:o}}catch(e){return W.warn(`Failed to write frozen session to VFS`,{error:e instanceof Error?e.message:String(e)}),null}}function ra(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||!aa(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 ia(e){return typeof e==`number`&&Number.isFinite(e)}function aa(e){let{cost:t}=e;return[e.input,e.output,e.cacheRead,e.cacheWrite].every(ia)&&[t.input,t.output,t.cacheRead,t.cacheWrite,t.total].every(ia)}async function oa(e,t,n){let r={vfs:e,archiveDir:`${Ji}/${n}`,copiedPaths:new Map,fileIndex:0},i=[];for(let e of t){if(!e.attachments?.some(la)){i.push(e);continue}let t=[];for(let n of e.attachments)t.push(await sa(r,n));i.push({...e,attachments:t})}return i}async function sa(e,t){if(!la(t))return t;let n=e.copiedPaths.get(t.path);if(n)return{...t,path:n};let r=await ca(e.vfs,t.path);if(!r)return da(t);let i=t.name.replace(/[^A-Za-z0-9._-]+/g,`_`)||`attachment`,a=`${e.archiveDir}/${e.fileIndex++}-${i}`;return await va(e.vfs,e.archiveDir),await e.vfs.writeFile(a,r),e.copiedPaths.set(t.path,a),{...t,path:a}}async function ca(e,t){try{if(!await ua(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 la(e){return typeof e.path==`string`&&e.path.startsWith(`/tmp/`)&&e.data===void 0&&e.text===void 0}async function ua(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 da(e){let{path:t,...n}=e;return{...n,error:e.error??`Archived attachment file is missing or unsafe to preserve.`}}function fa(e){return e.cone?.folder||`cone`}function pa(e){return _n({parentJid:null,folder:e}).memoryPath}async function ma(e,t){let n=dn({folder:t});try{return await e.load(n)}catch(e){return W.warn(`Failed to load cone chat session`,{sessionId:n,error:e instanceof Error?e.message:String(e)}),null}}async function ha(e,t){try{return Ye(await qe(e),t)}catch(e){W.warn(`Sessions index unreadable while looking for a live snapshot`,{error:e instanceof Error?e.message:String(e)});return}}function ga(e){return e.map(e=>({role:e.role,content:[{type:`text`,text:e.content}],timestamp:e.timestamp}))}function _a(e){let t=e.trim();return t=t.replace(/^["'`]+|["'`]+$/g,``).trim(),t=t.replace(/\s+/g,` `),t.length>80&&(t=t.slice(0,80).trimEnd()),t}async function va(e,t){try{await e.mkdir(t,{recursive:!0})}catch{}}async function ya(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 Ot)||t.code!==`ENOENT`)throw t;await va(e,a.slice(0,a.lastIndexOf(`/`)))}let s=`## Auto-extracted (${new Date().toISOString().slice(0,10)}, ${r})`,c=`${o.length===0||o.endsWith(`
242
242
  `)?``:`
243
- `}\n${s}\n\n${n}\n`;await e.writeFile(a,o+c);try{await In({vfs:e,memoryPath:a,model:i?.model,apiKey:i?.apiKey,headers:i?.headers,signal:i?.signal})}catch(e){W.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function ba(e){return(await O(e)).filter(e=>(e.pendingEnrichment===!0||e.memoryPending===!0)&&Sa(e)<3)}async function xa(e){let t={attempted:0,completed:0};if(!e.model||!e.apiKey)return t;try{for(let t of await O(e.vfs))t.memoryPending===!0&&t.memoryFailed===void 0&&Sa(t)>=3&&await za(e.vfs,t.filename,`catch-up retries exhausted (3)`);let n=await ba(e.vfs);for(let r of n)try{let n=await Ra(e.vfs,r.filename);if(!n)continue;t.attempted+=1,await Ca(e.vfs,n,{model:e.model,apiKey:e.apiKey,headers:e.headers})&&(t.completed+=1)}catch(e){W.warn(`Pending session catch-up attempt failed`,{filename:r.filename,error:e instanceof Error?e.message:String(e)})}}catch(e){W.warn(`Pending session catch-up failed`,{error:e instanceof Error?e.message:String(e)})}return t}function Sa(e){let t=e.pendingAttemptCount;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:0}async function Ca(e,t,n){if(!t.pendingEnrichment&&!t.memoryPending)return null;let r=await Oa(e,t);if(r===null)return null;let i=await ka(e,t,r);if(i===null)return null;let{agentMessages:a}=i,o=await Aa(e,t,i.chatMessages,n),s=o.curatorAlreadyRan,c=s||t.memorySkipped===!0?{...n,skipMemory:!0}:n,l=await Ma(t,a,c,o.memoryMessages);if(l===null)return null;let u=await Da(c,l.newTitle);await Na(e,t,l.bullets,c);let d=await Fa(e,t,r,l.newTitle,u,n.skipMemory===!0);return d&&s&&(await Ea(e,t.filename),await Ba(e,d.filename),await wa(e,t.filename)),d}async function wa(e,t){for(let n of[On(`/sessions/${t}`),Fn(`/sessions/${t}`)])try{await e.rm(n)}catch{}}async function Ta(e,t){try{return await e.stat(kn(`/sessions/${t.filename}`)),!0}catch{return!1}}async function Ea(e,t){try{await e.rm(kn(`/sessions/${t}`))}catch{}}async function Da(e,t){if(e.pickIcon)try{return await $i(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){W.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function Oa(e,t){try{let n=await e.readFile(Ue(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?W.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):W.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}async function ka(e,t,n){let r;try{r=(await Sn(e,n,t.filename)).messages}catch(e){return W.warn(`Failed to parse pending archive — leaving entry intact`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}return r.length===0?(W.info(`Pending archive has no messages — skipping enrichment`,{filename:t.filename}),null):{agentMessages:ga(r),chatMessages:r}}async function Aa(e,t,n,r){let i=ga([...n]);if(r.skipMemory===!0||t.memoryPending!==!0)return{curatorAlreadyRan:!1,memoryMessages:i};if(await Ta(e,t))return{curatorAlreadyRan:!0,memoryMessages:i};let a=await jn(e,t,n);return a.caughtUp?{curatorAlreadyRan:!0,memoryMessages:i}:a.through>0?{curatorAlreadyRan:!1,memoryMessages:i.filter(e=>ja(e)>a.through)}:{curatorAlreadyRan:!1,memoryMessages:i}}function ja(e){let t=e.timestamp;return typeof t==`number`?t:0}async function Ma(e,t,n,r=t){let i=``;if(!n.skipMemory)try{i=await pe({messages:r,instruction:me,model:n.model,apiKey:n.apiKey,maxTokens:Ki,headers:n.headers})}catch(t){return W.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let a=``;try{a=_a(await pe({messages:t,instruction:he,model:n.model,apiKey:n.apiKey,maxTokens:qi,headers:n.headers}))}catch(t){return W.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return a?{bullets:i,newTitle:a}:(W.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function Na(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await ya(e,pa(t.cone||`cone`),i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){W.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}function Pa(e,t,n,r,i){let a=r??e.icon;return{filename:t,title:n,frozenAt:e.frozenAt,messageCount:e.messageCount,...e.cost?{cost:e.cost}:{},...e.models?{models:e.models}:{},...e.cone?{cone:e.cone}:{},...e.coneLabel?{coneLabel:e.coneLabel}:{},...e.sessionId?{sessionId:e.sessionId}:{},...e.curatedThrough?{curatedThrough:e.curatedThrough}:{},...a?{icon:a}:{},...e.completeSnapshotUnavailable?{completeSnapshotUnavailable:!0}:{},...i&&e.memoryPending?{memoryPending:!0}:{},...e.memorySkipped?{memorySkipped:!0}:{}}}async function Fa(e,t,n,r,i,a=!1){let o=Ue(t),s=Ve(t.filename),c=s?r:t.title,l=s?`${t.frozenAt.replace(/[:.]/g,`-`)}-${Xe(r)}.md`:t.filename,u=`${D}/${l}`;if(s)try{await va(e,D);let r=Ia(n,c),i=xn(t.filename),a=xn(l),s=Je(r,o,u);if(s=Je(s,i,a),i!==a){let e=i.slice(i.lastIndexOf(`/`)+1),t=a.slice(a.lastIndexOf(`/`)+1);s=s.split(`sidecar: ${e}`).join(`sidecar: ${t}`)}await e.writeFile(u,s),await wn(e,t.filename,l)}catch(e){return W.warn(`Enrichment write failed (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}let d=Pa(t,l,c,i,a);if(!await Ka(e,t,d))return null;if(u!==o){try{await e.rm(o)}catch(e){W.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:o,error:e instanceof Error?e.message:String(e)})}try{await Cn(e,t.filename)}catch(e){W.info(`Stale pending sidecar cleanup failed (harmless)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}try{await e.flush()}catch{}return W.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:l,title:c}),d}function Ia(e,t){let n=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!n)return e;let r=n[1].replace(/^title:\s*.+$/m,`title: ${JSON.stringify(t)}`),i=n[2];return i=i.replace(/^#\s+[^\n]*$/m,`# ${t}`),`---\n${r}\n---\n${i}`}async function La(e,t){let n=null,r=T(async()=>{let r=await O(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(E,JSON.stringify(d,null,2)),await e.flush(),n=u});try{await r}catch(e){W.warn(`Failed to clear agentic memory pending marker`,{filename:t,error:e instanceof Error?e.message:String(e)})}return n}async function Ra(e,t){let n=null;return await T(async()=>{let r=await O(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r[i];if(!a.pendingEnrichment&&!a.memoryPending)return;let o=Sa(a);if(o>=3)return;n={...a,pendingAttemptCount:o+1};let s=r.slice();s[i]=n,await e.writeFile(E,JSON.stringify(s,null,2)),await e.flush()}),n}async function za(e,t,n){let r=T(async()=>{let r=await O(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(E,JSON.stringify(a,null,2)),await e.flush()});try{await r}catch(e){W.warn(`Failed to record curator failure in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Ba(e,t){let n=T(async()=>{let n=await O(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(E,JSON.stringify(o,null,2)),await e.flush()});try{await n}catch(e){W.warn(`Failed to record curator completion in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Va(e,t,n){return T(async()=>{let r=await Ha(e),i=r.findIndex(e=>e.filename===t);if(i!==-1){let t=r.slice();t[i]=n;let a=t.filter((e,t)=>t===i||e.filename!==n.filename);return await e.writeFile(E,JSON.stringify(a,null,2)),`replaced`}let a=await Ua(e,r,t,n);if(a===`prepended`){let t=[n,...r.filter(e=>e.filename!==n.filename)];await e.writeFile(E,JSON.stringify(t,null,2))}else if(a===`replaced`){let t=r.map(e=>e.filename===n.filename?n:e);await e.writeFile(E,JSON.stringify(t,null,2))}else await Ga(e,r,t,n.filename);return a})}async function Ha(e){try{let t=await e.readFile(E,{encoding:`utf-8`}),n=JSON.parse(typeof t==`string`?t:new TextDecoder().decode(t));return Array.isArray(n)?n:[]}catch(e){if(!(e instanceof Ot)||e.code!==`ENOENT`)throw e;return[]}}async function Ua(e,t,n,r){if(t.some(e=>e.filename===r.filename))return`replaced`;let i=r.sessionId;return(i&&!bn(i)?t.filter(e=>e.sessionId===i):[]).length===1?`superseded`:await Wa(e,`/sessions/${n}`)?`prepended`:`deleted`}async function Wa(e,t){try{return await e.stat(t),!0}catch(e){return e?.code!==`ENOENT`}}async function Ga(e,t,n,r){if(r===n||t.some(e=>e.filename===r))return;let i=`${D}/${r}`;try{await e.rm(i)}catch(e){e?.code!==`ENOENT`&&W.warn(`Enrichment could not drop its renamed copy`,{path:i,error:e})}let a=xn(r);try{await Cn(e,r)}catch(e){e?.code!==`ENOENT`&&W.warn(`Enrichment could not drop its renamed copy`,{path:a,error:e})}}async function Ka(e,t,n){let r;try{r=await Va(e,t.filename,n)}catch(e){return W.warn(`Enrichment index update failed (entry may stay pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),!1}return r===`superseded`||r===`deleted`?(W.info(`Enrichment dropped — the session changed during the pass`,{filename:t.filename,outcome:r}),!1):!0}async function qa(e,t){return T(async()=>{let n=[];try{let t=await e.readFile(E,{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 Ot)||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(E,JSON.stringify(r,null,2))})}var Ja=`slicc:followers-changed`;function Ya(e){let t=e.replace(/^follower-/,``);return t.length>12?`${t.slice(0,8)}…`:t}function Xa(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 Za(e){return e.floatType===`ios`?`smartphone`:e.floatType===`electron`||e.floatType===`standalone`?`monitor`:e.floatType===`extension`?`blocks`:e.runtime?.includes(`cli`)?`terminal`:`radio`}function Qa(e,t=Date.now()){if(!e)return null;let n=new Date(e).getTime();if(!Number.isFinite(n))return null;let r=Math.max(0,Math.floor((t-n)/1e3));return r<60?`${r}s`:r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}d`}function $a(e){return e.health===`stalled`?`warn`:e.peerState===`connecting`?`idle`:e.peerState===`connected`&&e.health===`live`?`active`:`idle`}function eo(e,t=Date.now()){let n=e.health===`stalled`?`stalled`:e.peerState===`connecting`?`connecting`:`connected`,r=Qa(e.connectedAt,t);return r?`${n} ${r}`:n}function to(e){let t=[];return e.exec&&t.push(`can run commands`),e.computer&&t.push(`native screen`),e.cdp&&t.push(`hosts tabs`),t}function no(e){return`${Xa(e)} · ${Ya(e.runtimeId)}`}function ro(e){return e.motd??e.runtime??void 0}function io(e,t=Date.now()){return e.map(e=>({id:e.runtimeId,icon:Za(e),title:no(e),detail:ro(e),state:$a(e),stateText:eo(e,t),chips:to(e)}))}function ao(e){return e.length>=8&&e[0]===137&&e[1]===80&&e[2]===78?`image/png`:e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255?`image/jpeg`:null}function oo(e){if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}if(e instanceof ArrayBuffer)return new Uint8Array(e.slice(0));if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength))}return Array.isArray(e)?Uint8Array.from(e):e&&typeof e==`object`?co(e):new Uint8Array}function so(e){if(typeof e.byteLength==`number`)return e.byteLength;if(typeof e.length==`number`)return e.length;let t=-1;for(let n of Object.keys(e)){if(!/^\d+$/.test(n))continue;let e=Number(n);e>t&&(t=e)}return t+1}function co(e){let t=so(e),n=new Uint8Array(t);for(let r=0;r<t;r++){let t=e[r];typeof t==`number`&&(n[r]=t&255)}return n}var lo=2,uo=768,fo=class{computers=[];frames=new Map;listListeners=new Set;frameListeners=new Set;invocationListeners=new Set;sender=null;watchSubs=new Map;kernelWatch=new Map;nextWatchToken=1;invocations=new Map;list(){return this.computers.slice()}get(e){return this.computers.find(t=>t.id===e)??null}lastFrame(e){return this.frames.get(e)??null}onList(e){return this.listListeners.add(e),()=>this.listListeners.delete(e)}onFrame(e){return this.frameListeners.add(e),()=>this.frameListeners.delete(e)}onInvocations(e){return this.invocationListeners.add(e),()=>this.invocationListeners.delete(e)}setSender(e){this.sender=e}isWatching(e){return(this.watchSubs.get(e)?.length??0)>0}watchRefCount(e){return this.watchSubs.get(e)?.length??0}watch(e,t=lo,n=uo){if(!this.sender)throw Error(`computers store has no kernel sender`);let r=this.nextWatchToken++,i=this.watchSubs.get(e)??[];return i.push({token:r,fps:t,maxWidth:n}),this.watchSubs.set(e,i),this.syncKernelWatch(e),r}unwatch(e,t){if(!this.sender)throw Error(`computers store has no kernel sender`);let n=this.watchSubs.get(e);if(!n?.length)return;let r=t===void 0?n.length-1:n.findIndex(e=>e.token===t);if(!(r<0)){if(n.splice(r,1),n.length===0){this.watchSubs.delete(e),this.kernelWatch.delete(e),this.sender({type:`computer-unwatch`,id:e});return}this.syncKernelWatch(e)}}syncKernelWatch(e){let t=this.watchSubs.get(e);if(!t?.length||!this.sender)return;let n=Math.max(...t.map(e=>e.fps)),r=Math.max(...t.map(e=>e.maxWidth)),i=this.kernelWatch.get(e);i&&i.fps===n&&i.maxWidth===r||(this.kernelWatch.set(e,{fps:n,maxWidth:r}),this.sender({type:`computer-watch`,id:e,fps:n,maxWidth:r}))}input(e,t){if(!this.sender)throw Error(`computers store has no kernel sender`);this.sender({type:`computer-input`,id:e,events:t})}recordInvocation(e,t){this.invocations.set(e,t);for(let e of[...this.invocationListeners])e()}newestInvocation(e){return this.invocations.get(e)??null}applyList(e){this.computers=e.computers.slice();let t=new Set(this.computers.map(e=>e.id));for(let e of[...this.invocations.keys()])t.has(e)||this.invocations.delete(e);for(let e of[...this.frames.keys()])t.has(e)||this.frames.delete(e);for(let e of[...this.listListeners])e(this.computers)}applyFrame(e){let t=this.frames.get(e.id);if(t&&t.seq>e.seq)return;let n={seq:e.seq,mime:e.mime,width:e.width,height:e.height,bytes:oo(e.bytes),...e.overCap?{overCap:!0}:{}};this.frames.set(e.id,n);for(let t of[...this.frameListeners])t(e.id,n)}},po=null;function mo(){return po||=new fo,po}var ho=`__slicc_binary__`,go=`b64`;function _o(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[ho]===go&&typeof t.data==`string`}function vo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function yo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!_o(e)}function bo(e){if(e instanceof Uint8Array)return{[ho]:go,data:ve(e)};if(Array.isArray(e))return e.map(bo);if(vo(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=bo(r);return t}return e}function xo(e){if(_o(e))return ye(e.data);if(Array.isArray(e))return e.map(xo);if(yo(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=xo(r);return t}return e}var So=n(`panel-transport`);function Co(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function wo(){return{onMessage:e=>{let t=(t,n,r)=>(Co(t)&&e(xo(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=bo(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{So.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var To={summarizing:`summarizing`,fallback:`fallback`,cancelled:`discarded`,idle:`summarized`},Eo=class{mintId;open=new Map;settled=new Map;constructor(e){this.mintId=e}apply(e,t,n,r){if(t===`extracting-memory`)return null;let i=this.open.get(e)??this.lateRetraction(e,t,n)??r;if(t!==`summarizing`&&!i)return null;t!==`summarizing`&&(this.open.delete(e),this.settled.delete(e));let a=i??this.mintId(e);if(t===`summarizing`&&this.open.set(e,a),(t===`idle`||t===`fallback`)&&n.roundId&&this.settled.set(e,{messageId:a,roundId:n.roundId}),t===`cancelled`)return{kind:`retract`,messageId:a};let o={trigger:n.trigger,state:To[t],...n.transcriptPath?{transcriptPath:n.transcriptPath}:{}};return t===`summarizing`?{kind:`open`,messageId:a,marker:o}:{kind:`settle`,messageId:a,marker:o}}forget(e){this.open.delete(e),this.settled.delete(e)}lateRetraction(e,t,n){if(t!==`cancelled`||!n.roundId)return;let r=this.settled.get(e);return r?.roundId===n.roundId?r.messageId:void 0}},Do=2e3,Oo=5e3,G=n(`offscreen-client`),ko=class{eventListeners=new Set;backgroundEventListeners=new Set;backgroundMessageId=new Map;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;compactionRows=new Eo(e=>`compaction-${e}-${K()}`);toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingWebhookDeliveries=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;streamThinkingByUnit=new Map;pendingModelAcks=new Map;pendingUserMessageAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=new Map;pendingStatsRequests=new Map;pendingSudoRequests=new Map;transport;_selectedScoopJid=null;get selectedScoopJid(){return this._selectedScoopJid}scoopSelectedListeners=new Set;onScoopSelected(e){return this.scoopSelectedListeners.add(e),()=>{this.scoopSelectedListeners.delete(e)}}setSelectedScoopJid(e){if(this._selectedScoopJid!==e&&(this.handOverOpenMessages(this._selectedScoopJid,e),this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){G.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??wo(),this.setupMessageListener(),mo().setSender(e=>this.send(e))}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}emitAgentError(e){this.emitToUI({type:`error`,error:e})}createAgentHandle(){return{sendMessage:(e,t,n,r)=>{if(!this.selectedScoopJid){this.emitToUI({type:`error`,error:`No scoop selected`});return}this.send({type:`user-message`,scoopJid:this.selectedScoopJid,text:e,attachments:n,messageId:t??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,...r?.steer?{steer:!0}:{},...r?.guestGate?{guestGate:r.guestGate}:{}})},onEvent:e=>(this.eventListeners.add(e),()=>this.eventListeners.delete(e)),stop:()=>{this.selectedScoopJid&&this.send({type:`abort`,scoopJid:this.selectedScoopJid})}}}sendUserMessage(e){if(this.locked)return Promise.reject(Error(`This window is detached. Close it and use the detached tab.`));let t=`um-${K()}`,n=new Promise((e,n)=>{this.pendingUserMessageAcks.set(t,{resolve:e,reject:n})});this.send({type:`user-message`,requestId:t,scoopJid:e.scoopJid,text:e.text,messageId:e.messageId,...e.attachments?{attachments:[...e.attachments]}:{},...e.steer?{steer:!0}:{},...e.guestGate?{guestGate:e.guestGate}:{}});let r,i=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`the kernel did not answer in time`)),Oo)});return Promise.race([n,i]).finally(()=>{r!==void 0&&clearTimeout(r),this.pendingUserMessageAcks.delete(t)})}getScoops(){return this.scoops}getScoop(e){return this.scoops.find(t=>t.jid===e)}isProcessing(e){return this.scoopStatuses.get(e)===`processing`}async registerScoop(e,t={}){if(!k(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&&k(t)&&on(this.scoops).length<=1)throw Error(`Cannot remove the last cone`);this.send({type:`scoop-drop`,scoopJid:e}),this.scoops=this.scoops.filter(t=>t.jid!==e),this.scoopStatuses.delete(e)}createScoopTab(e){}async getGlobalMemory(){if(!this.localFs)return``;try{let e=await this.localFs.readFile(`/shared/CLAUDE.md`,{encoding:`utf-8`});return typeof e==`string`?e:new TextDecoder().decode(e)}catch{return``}}getScoopContext(e){if(this.localFs)return{getFS:()=>this.localFs}}getSharedFS(){return this.localFs}stopScoop(e){this.send({type:`abort`,scoopJid:e})}async clearQueuedMessages(e){}async deleteQueuedMessage(e,t){this.send({type:`delete-queued-message`,scoopJid:e,messageId:t})}updateModel(){this.send({type:`refresh-model`})}setScoopModel(e,t){let n=`model-${K()}`,r=new Promise(e=>{this.pendingModelAcks.set(n,e)});return this.send({type:`set-scoop-model`,requestId:n,scoopJid:e,model:t}),Promise.race([r,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingModelAcks.delete(n))}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${K()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(e,t={}){let n=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingClearAcks.set(n,e)});this.send({type:`clear-chat`,requestId:n,...e?{scoopJid:e}:{},...t.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}}),await Promise.race([r,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(n)}spawnAgent(e){let t=`agent-${K()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&G.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`,reason:`unavailable`}),t))]);return this.pendingSudoRequests.delete(n),i}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}G.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,origin:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}async sendWebhookEvent(e,t,n){let r=`wh-${K()}`,i=new Promise(e=>{this.pendingWebhookDeliveries.set(r,e)});this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n,requestId:r});try{return await Promise.race([i,new Promise(e=>setTimeout(()=>e(null),Do))])}finally{this.pendingWebhookDeliveries.delete(r)}}sendSetFollowerForwarding(e){this.send({type:`set-follower-forwarding`,enabled:e})}sendForwardedLick(e){this.send({type:`inject-forwarded-lick`,event:e})}setForwardLickHandler(e){this.forwardLickHandler=e}sendCherryHostEvent(e,t,n){this.send({type:`lick-cherry-host-event`,cherryRuntimeId:e,name:t,detail:n})}sendPreviewLick(e){this.send({type:`lick-preview`,event:e})}setSprinkleOpHandler(e){this.sprinkleOpHandler=e}sendRaw(e){this.send(e)}setupMessageListener(){this.transport.onMessage(e=>{if(e.source!==`offscreen`)return;let t=e.payload;t?.type===`sprinkle-op`&&this.sprinkleOpHandler?this.sprinkleOpHandler(t):this.handleOffscreenMessage(e.payload)})}handleOffscreenMessage(e){if(!this.applySurfacePush(e))switch(e.type){case`offscreen-ready`:this.ready?(G.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):G.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.handleCompactionState(e);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`lick-webhook-delivery`:{let t=this.pendingWebhookDeliveries.get(e.requestId);t&&(this.pendingWebhookDeliveries.delete(e.requestId),t(e.disposition));break}case`agent-spawn-result`:this.handleAgentSpawnResult(e);break;case`set-scoop-model-ack`:this.handleScoopModelAck(e);break;case`set-thinking-level-ack`:this.handleThinkingLevelAck(e);break;case`user-message-ack`:this.handleUserMessageAck(e);break;case`scoop-created`:this.handleScoopCreated(e);break;case`scoop-list`:this.handleScoopList(e);break;case`state-snapshot`:this.handleStateSnapshot(e);break;case`error`:this.handleError(e);break;case`lick-backpressure`:this.callbacks.onLickBackpressure?.(e.scoopJid,{count:e.count,waitingMs:e.waitingMs});break;case`incoming-message`:this.handleIncomingMessage(e);break;case`message-updated`:this.handleMessageUpdated(e);break;case`scoop-messages-replaced`:{let t=e;this.resyncStreamPointer(t.scoopJid,t.messages),this.callbacks.onScoopMessagesReplaced?.(t.scoopJid,t.messages,t.queuedIds);break}case`scoop-transcript`:{let t=e,n=this.pendingTranscriptRequests.get(t.requestId);n&&(this.pendingTranscriptRequests.delete(t.requestId),n(t.transcript));break}case`scoop-chat-messages`:{let t=e,n=this.pendingChatMessagesRequests.get(t.requestId);n&&(this.pendingChatMessagesRequests.delete(t.requestId),n(t.messages));break}case`sudo-approval`:{let t=e,n=this.pendingSudoRequests.get(t.requestId);n&&(this.pendingSudoRequests.delete(t.requestId),n(t.decision));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,burnRate:t.burnRate,fills:t.fills,models:t.models??[],scoops:t.scoops??[],...t.budget?{budget:t.budget}:{}}));break}case`tray-runtime-status`:{let t=e;Ao(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event)}}applySurfacePush(e){if(e.type===`computers`)return mo().applyList(e),!0;if(e.type===`computer-frame`)return mo().applyFrame(e),!0;switch(e.type){case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:case`terminal-mode`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){G.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}return!0;default:return!1}}handleAgentSpawnResult(e){let t=this.pendingAgentSpawnRequests.get(e.requestId);t&&(this.pendingAgentSpawnRequests.delete(e.requestId),e.ok?t.resolve(e.result):t.reject(Error(e.error)))}terminalEventListeners=new Set;onTerminalEvent(e){return this.terminalEventListeners.add(e),()=>this.terminalEventListeners.delete(e)}resyncStreamPointer(e,t){let n;for(let e=t.length-1;e>=0;e--){let r=t[e];if(r.role===`assistant`&&r.isStreaming){n=r.id;break}}n===void 0?this.currentMessageId.delete(e):this.currentMessageId.set(e,n)}trackToolPhase(e,t){let n=this.toolDepth.get(e)??0,r=t===null?0:Math.max(0,n+t);r===0?this.toolDepth.delete(e):this.toolDepth.set(e,r),n>0!=r>0&&this.callbacks.onScoopPhaseChange?.(e,r>0?`tool`:`thinking`)}handleToolUiAgentEvent(e){if(e.displayScoopJid){let t=`tool-ui-${e.requestId??``}`;e.eventType===`tool_ui`?this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``}):e.eventType===`tool_ui_done`&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});return}if(e.eventType===`tool_ui`){let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});return}let t=this.currentMessageId.get(e.scoopJid);t&&(e.eventType===`tool_ui_done`?this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``}):e.progress&&this.emitToUI({type:`tool_progress`,messageId:t,toolName:e.toolName??``,progress:e.progress,toolCallId:e.toolCallId}))}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if((e.displayScoopJid??e.scoopJid)!==this.selectedScoopJid){this.translateTranscriptEvent(e,this.backgroundMessageId,t=>this.emitBackground(e.scoopJid,t));return}switch(e.eventType){case`tool_ui`:case`tool_ui_done`:case`tool_progress`:this.handleToolUiAgentEvent(e);break;default:this.translateTranscriptEvent(e,this.currentMessageId,e=>this.emitToUI(e))}}translateTranscriptEvent(e,t,n){let r=()=>{let r=t.get(e.scoopJid);return r||(r=`scoop-${e.scoopJid}-${K()}`,t.set(e.scoopJid,r),n({type:`message_start`,messageId:r})),r};switch(e.eventType){case`text_delta`:n({type:`content_delta`,messageId:r(),text:e.text??``});break;case`tool_start`:n({type:`tool_use_start`,messageId:r(),toolName:e.toolName??``,toolInput:e.toolInput,toolCallId:e.toolCallId});break;case`tool_end`:{let r=t.get(e.scoopJid);r&&n({type:`tool_result`,messageId:r,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError,toolCallId:e.toolCallId});break}case`response_done`:{let r=t.get(e.scoopJid);r&&(n({type:`content_done`,messageId:r,model:e.model,usage:e.usage}),t.delete(e.scoopJid));break}case`turn_end`:{let r=t.get(e.scoopJid)??`done-${e.scoopJid}-${K()}`;t.delete(e.scoopJid),n({type:`turn_end`,messageId:r});break}}}handOverOpenMessages(e,t){let n=(e,t)=>{t&&this.emitBackground(e,{type:`content_done`,messageId:t})};e&&n(e,this.currentMessageId.get(e)),t&&(n(t,this.backgroundMessageId.get(t)),this.backgroundMessageId.delete(t))}onBackgroundUnitEvent(e){return this.backgroundEventListeners.add(e),()=>this.backgroundEventListeners.delete(e)}emitBackground(e,t){for(let n of this.backgroundEventListeners)try{n(e,t)}catch(e){G.error(`Background listener error`,{error:e instanceof Error?e.message:String(e)})}}renderCompactionNotice(e,t,n,r){let i=this.compactionRows.apply(e,t,n,r);i&&e===this.selectedScoopJid&&this.emitToUI({type:`compaction_notice`,messageId:i.messageId,marker:i.kind===`retract`?{trigger:n.trigger,state:`discarded`}:i.marker})}handleCompactionState(e){let t={trigger:e.trigger??`threshold`,...e.transcriptPath?{transcriptPath:e.transcriptPath}:{},...e.failure?{failure:e.failure}:{},...e.roundId?{roundId:e.roundId}:{}};this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state,t),this.renderCompactionNotice(e.scoopJid,e.state,t,e.rowId)}handleScoopStatus(e){let t=this.scoopStatuses.get(e.scoopJid);this.scoopStatuses.set(e.scoopJid,e.status),t!==e.status&&this.trackToolPhase(e.scoopJid,null),this.callbacks.onStatusChange(e.scoopJid,e.status)}handleScoopCreated(e){let t=this.msgScoopToRegistered(e.scoop);this.scoops=this.scoops.filter(e=>e.name!==t.name||e.jid===t.jid),this.scoops.find(e=>e.jid===t.jid)||this.scoops.push(t),this.scoopStatuses.set(t.jid,e.scoop.status),this.callbacks.onScoopCreated(t)}wireScoops(){return this.scoops.map(e=>{let t=cn(e),n=ln(e),r={...e.config,...t?{modelId:t.id,modelProviderId:t.provider}:{},...n.level?{thinkingLevel:n.level}:{},...n.effortOverride?{effortOverride:n.effortOverride}:{}};return{jid:e.jid,name:e.name,folder:e.folder,parentId:e.parentJid,assistantLabel:e.assistantLabel,status:this.scoopStatuses.get(e.jid)??`ready`,...Object.keys(r).length>0?{config:r}:{}}})}handleScoopModelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&(t.model=e.model?{...e.model}:void 0,this.callbacks.onScoopListUpdate(this.wireScoops()))}this.pendingModelAcks.get(e.requestId)?.(e.applied)}getStreamThinking(e){return this.streamThinkingByUnit.get(e)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&an(t,e.level===void 0?void 0:{level:e.level,effortOverride:e.effortOverride}),e.resolvedLevel&&this.streamThinkingByUnit.set(e.scoopJid,{level:e.resolvedLevel===`max`?`xhigh`:e.resolvedLevel,...e.resolvedEffortOverride?{effortOverride:e.resolvedEffortOverride}:{}})}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}handleUserMessageAck(e){let t=this.pendingUserMessageAcks.get(e.requestId);t&&(e.ok?t.resolve():t.reject(Error(e.error?.trim()||`the kernel refused the message`)))}handleScoopList(e){this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){G.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&Ao(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){let t={type:`error`,error:e.error,...e.endTurn===!1?{endTurn:!1}:{}};e.scoopJid===this.selectedScoopJid?this.emitToUI(t):e.scoopJid&&this.emitBackground(e.scoopJid,t)}handleIncomingMessage(e){this.callbacks.onIncomingMessage(e.scoopJid,e.message)}handleMessageUpdated(e){this.callbacks.onMessageUpdate?.(e.scoopJid,{messageId:e.messageId,lickId:e.lickId,lickState:e.lickState})}msgScoopToRegistered(e){return rn({jid:e.jid,name:e.name,folder:e.folder,parentJid:e.parentId,requiresTrigger:e.parentId!==null,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}})}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){G.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function K(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function Ao(e,t){tn({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),pt({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 jo(e){let t=e.createAgentHandle(),n=null,r=null;return{onAgentEvent:e=>t.onEvent(e),sendSprinkleLick:(t,n,r,i)=>e.sendSprinkleLick(t,n,r,i?{unitJid:i}:void 0),sendToolUiAction:(t,n,r)=>e.sendToolUiAction(t,n,r),deleteQueuedMessage:(t,n)=>e.deleteQueuedMessage(t,n),emitAgentError:t=>e.emitAgentError(t),getRecord:t=>e.getScoops().find(e=>e.jid===t),speaksReplies:!0,takeAttachments:()=>n?.(),onTurnIdle:()=>r?.(),welcome:{intercept:null},setAttachmentSource:e=>{n=e},setTurnIdleHook:e=>{r=e}}}var Mo={onAgentEvent:()=>()=>void 0,sendSprinkleLick:()=>void 0,sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.resolve(),emitAgentError:()=>void 0},No=`A follower cannot cancel the leader’s queued message`;function Po(e){return{onAgentEvent:e.onAgentEvent,sendSprinkleLick:(t,n,r)=>e.getSync()?.sendSprinkleLick(t,n,r),sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.reject(Error(No)),emitAgentError:e.onAgentError,readOnlyToolUi:!0}}function q(e){return!e.includes(`\0`)}function Fo(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!q(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!q(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(q(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function Io(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 Lo(e){let t=Io(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function Ro(e,t,n,r,i,a){let o=e;if(o?.type){if(o.type===`cdp-cmd`){let r=e;if((r.gen??a())<a()){n.send({type:`cdp-response`,id:r.id,error:`dropped: command crossed a CDP connection reset in flight`});return}try{i&&t.state!==`connected`&&t.superseded!==!0&&await i();let e=await t.send(r.method,r.params,r.sessionId);n.send({type:`cdp-response`,id:r.id,result:e})}catch(e){n.send({type:`cdp-response`,id:r.id,error:e instanceof Error?e.message:String(e)})}return}if(o.type===`cdp-subscribe`){let i=e;if(r.has(i.event))return;let a=e=>{n.send({type:`cdp-event`,method:i.event,params:e})};r.set(i.event,a),t.on(i.event,a);return}if(o.type===`cdp-unsubscribe`){let n=e,i=r.get(n.event);if(!i)return;r.delete(n.event),t.off(n.event,i)}}}function zo(e,t){for(let[n,r]of t)e.off(n,r),e.on(n,r)}var Bo=1e4;function Vo(e){return new Promise((t,n)=>{let r=!1,i=null,a=null,o=e=>{r||(r=!0,clearTimeout(s),a&&clearInterval(a),i?.(),e?n(e):t())},s=setTimeout(()=>o(Error(`page CDP client is still connecting`)),Bo),c=e=>{e===`connected`?o():e===`disconnected`&&o(Error(`page CDP client failed to reconnect`))};e.onStateChange?i=e.onStateChange(e=>c(e)):a=setInterval(()=>c(e.state),50),c(e.state)})}function Ho(e,t,n={}){let r=Io(e),i=null,a=n.reconnect?()=>(i||=(t.state===`connecting`?Vo(t):n.reconnect()).finally(()=>{i=null}),i):null,o=new Map,s=r.onMessage(e=>{Ro(e,t,r,o,a,()=>l)}),c=t.state,l=0,u=t.onStateChange?.((e,n)=>{if(e!==c){if(c=e,e===`disconnected`){l+=1,r.send({type:`cdp-reset`,reason:n??`page CDP client disconnected`});return}e===`connected`&&(zo(t,o),r.send({type:`cdp-ready`}))}});return()=>{s(),u?.();for(let[e,n]of o)t.off(e,n);o.clear()}}function Uo(){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 Wo(e){let t=null,n=!1,r=!1,i=!1,a=0,o=Date.now(),s,c=()=>{t!==null&&(clearTimeout(t),t=null)},l=()=>{c(),!(n||r||i)&&(t=setTimeout(()=>{if(n||r||i)return;if(a+=1,a<e.readyStallLimit){e.onReadyStall?.({elapsedMs:Date.now()-o,stalls:a,stage:s}),l();return}i=!0,c();let t=e.readyTimeoutMs*e.readyStallLimit,u=s?` (last progress: ${s})`:``;e.onExhausted(`Kernel worker did not signal ready within ${t}ms${u}`)},e.readyTimeoutMs))};return{pause(){r||i||(n=!0,c())},restart(){r||i||(n=!1,a=0,o=Date.now(),l())},arm:l,clear(){r=!0,c()},noteProgress(t){r||i||(t&&(s=t,e.onBootProgress?.(t)),!n&&(a=0,l()))},timedOut:()=>i}}function Go(e,t,n){let r=()=>{},i=()=>{},a=()=>{};return{ready:new Promise((o,s)=>{let c=null,l=Wo({readyTimeoutMs:n,readyStallLimit:Math.max(1,t.readyStallLimit??(t.onReadyStall?3:1)),onReadyStall:t.onReadyStall,onBootProgress:t.onBootProgress,onExhausted:e=>{t.onLateReady||r(),s(Error(e))}});i=()=>l.pause(),a=()=>l.restart(),r=()=>{c!==null&&(e.removeEventListener(`message`,c),c=null),l.clear()},c=e=>{let n=e.data;if(n?.type===`kernel-worker-boot-progress`){l.noteProgress(n.stage);return}if(n?.type===`kernel-worker-ready`){if(r(),l.timedOut()){t.onLateReady?.();return}o();return}if(n?.type===`kernel-worker-boot-error`){r();let e=n.message??`unknown error`,t=n.code,i=Error(`Kernel worker boot failed: ${e}`);t&&(i.code=t),s(i)}},e.addEventListener(`message`,c),l.arm()}),cleanup:()=>r(),pauseReadyDeadline:()=>i(),restartReadyDeadline:()=>a()}}function Ko(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=Lo(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Ho(o.port1,n,{...e.reconnectCdp?{reconnect:e.reconnectCdp}:{}}),{ready:u,cleanup:d,pauseReadyDeadline:f,restartReadyDeadline:p}=Go(a.port1,e,r),m={type:`kernel-worker-init`,kernelPort:a.port2,cdpPort:o.port2,localStorageSeed:i,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,syncFsBridgeEnabled:e.syncFsBridgeEnabled??!1,syncFsChannelNonce:e.syncFsChannelNonce??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null,pageBuildId:`6.243.2-mv0ei84x`,pageLoadedAt:globalThis.performance?.timeOrigin??Date.now(),flagFloat:e.flagFloat??null,appPageUrl:globalThis.location?.href??null};t.postMessage(m,[a.port2,o.port2]);let h=!1;return{client:c,ready:u,pauseReadyDeadline:f,restartReadyDeadline:p,dispose(){if(!h){h=!0,d(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}}}function qo(e){return Ko({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-D1Q7ClUJ.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,reconnectCdp:e.reconnectCdp,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Uo(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError,onReadyStall:e.onReadyStall,readyStallLimit:e.readyStallLimit,onLateReady:e.onLateReady,onBootProgress:e.onBootProgress})}var Jo=1048576,Yo=`r`;function Xo(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Zo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Qo(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++)Qo(e[r],`${t}/${r}`,n);return}if(Zo(e))for(let[r,i]of Object.entries(e))Qo(i,`${t}/${Xo(r)}`,n)}function $o(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=$o(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(Zo(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=$o(o,`${t}/${Xo(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function es(e,t,n){if(Zo(e))return $o(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=es(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function ts(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 ns(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new w(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>Jo)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new w(`redaction-unavailable`)}if(c.length!==s.length)throw new w(`redaction-unavailable`);r.push(...c),i=o}return r}function rs(e,t,n,r){let i=[],a=ts(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=ts(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}=Ze(t,Yo,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 is(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 as(e,t,n,r){if(r?.aborted)throw new w(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];Qo(a,``,o);let s=o.filter(e=>!Re(e.pointer)),c=[...t.entries()],l=await ns([...s.map(e=>e.value),...c.map(([,e])=>e)],n,r),u=[],d={},f=1,p=new Map,m=[];for(let e=0;e<s.length;e++){let t=s[e],n=rs(t.value,l[e],{kind:`json`,pointer:t.pointer},f);f=n.nextId,n.finalText!==t.value&&p.set(t.pointer,n.finalText),m.push(n)}is(m,u,d);let h=new Map,g=s.length,_=[];for(let e=0;e<c.length;e++){let[t,n]=c[e],r=rs(n,l[g+e],{kind:`attachment`,attachmentId:t},f);f=r.nextId,h.set(t,r.finalText),_.push(r)}is(_,u,d);let v=es(e,``,p);return{document:{...v,privacy:{...v.privacy,redactionCounts:d,redactions:u}},textAttachments:h}}function os(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`}var ss={"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 cs(e,t){return ss[e]??(t===`text-redacted`?`.txt`:`.bin`)}function ls(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${cs(t,n)}`}function us(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 ds(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 fs(e,t,n,r,i){let a=os(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(us(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=us(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 ps(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:us(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(fs(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function ms(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 hs(e,t,n,r,i,a,o){let s=ms(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(fs(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function gs(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=hs(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 _s(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,ls(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 vs(e,t,n,r,i){let{rawAttachments:a,textMap:o}=_s(e,n),s,c;try{let e=await as({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof w?e:new w(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new w(`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 w(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await Pe(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function ys(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}=ps(ds(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}=gs(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 vs(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 bs=50;function xs(e){return dn(e)}function Ss(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function Cs(e,t,n,r){let i=new Map;for(let e of t)i.set(e.id,e);let a=new Map;for(let e of n)a.set(e.id,e);let o=[],s=new Map;for(let t of e){let e=r.getAgentMessages(t.jid)??i.get(t.jid)?.messages??[],n={id:t.jid,kind:k(t)?`cone`:`scoop`,name:t.name,...t.folder&&!k(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=xs(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function ws(e,t,n={}){let r=e=>n.rootJid===void 0?e:un(e,n.rootJid);for(;;){let n=r(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(bs,t),t?.aborted))throw new w(`transfer-aborted`);let i=Ss(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new w(`transfer-aborted`);let s=r(e.listScoops());if(i===Ss(s,e))return Cs(s,a,o,e)}}function Ts(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function Es(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function Ds(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(Es(t,r++));return n}function Os(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=Es(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 ks(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=Es(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 As(e,t,n){let r=Ts(t,n),i=Ds(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 js(e,t,n){let r=Ts(t,n),{blocks:i,excluded:a,images:o}=Os(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 Ms(e,t,n){let r=Ts(t,n),{blocks:i,images:a}=ks(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 Ns(e,t,n){return e.role===`user`?As(e,t,n):e.role===`assistant`?js(e,t,n):e.role===`toolResult`?Ms(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function Ps(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 Fs(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=Ns(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:Ps(e),excludedReasoningBlocks:t,canonicalImages:n}}var Is=(()=>{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 Ls(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^Is[(t^e[n])&255];return~t>>>0}var Rs=new TextEncoder;function J(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function Y(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255,e[t+2]=n>>>16&255,e[t+3]=n>>>24&255}function zs(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,J(r,4,20),J(r,6,2048),J(r,8,0),J(r,10,0),J(r,12,0),Y(r,14,n),Y(r,18,t),Y(r,22,t),J(r,26,e.length),J(r,28,0),r.set(e,30),r}function Bs(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,J(i,4,20),J(i,6,20),J(i,8,2048),J(i,10,0),J(i,12,0),J(i,14,0),Y(i,16,n),Y(i,20,t),Y(i,24,t),J(i,28,e.length),J(i,30,0),J(i,32,0),J(i,34,0),J(i,36,0),Y(i,38,0),Y(i,42,r),i.set(e,46),i}function Vs(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,J(r,4,0),J(r,6,0),J(r,8,e),J(r,10,e),Y(r,12,t),Y(r,16,n),J(r,20,0),r}function Hs(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 Us(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${Ie(e.session.title,{maxLen:40,fallback:`transcript`})}-${n}.zip`}async function*Ws(e,t,n,r,i){if(n?.aborted)throw i(new w(`transfer-aborted`)),new w(`transfer-aborted`);let a=()=>i(new w(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=Ct.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=Rs.encode(`transcript.json`),f=Ls(i),p=zs(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 w(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new w(`transfer-aborted`);let t=Rs.encode(e),i=Ls(r),a=zs(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new w(`transfer-aborted`);yield*d(r)}let m=c;for(let e of l){if(n?.aborted)throw new w(`transfer-aborted`);yield*d(Bs(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new w(`transfer-aborted`);yield*d(Vs(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 w(`transfer-aborted`)))}}var Gs=4294967295,Ks=65535;function qs(e,t,n){for(let e of t.keys())if(!Hs(e))throw new w(`schema-invalid`);if(t.size+1>Ks)throw new w(`schema-invalid`);for(let e of t.values())if(e.byteLength>Gs)throw new w(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:Us(e),chunks:Ws(e,t,n,r,i),completion:a}}function Js(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:ze},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 Ys(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 Xs(e){let t=Le(e);if(!t.ok)throw new w(`schema-invalid`,t.error)}function Zs(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 Qs(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);return n?{...e,byteLength:n.length,sha256:await Pe(n)}:e}))}function $s(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 ec=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),Xs(i.document),r?.({phase:`packaging`}),qs(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await ws(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=Fs(n.sources),{document:i,bundleFiles:a}=await ys({document:Js(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});if(Xs(i),t?.aborted)throw new w(`transfer-aborted`);try{await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a},t)}finally{this.deps.snapshotStore.discardIfUnindexed?.(e.sessionId)?.catch(()=>void 0)}}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await ws(this.deps.collection,e),r=Fs(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=Js(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),ys({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;try{r=await this.deps.snapshotStore.read(e)}catch(e){if(!(e instanceof w)||e.code!==`session-not-found`)throw e;r=null}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 as(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new w(`redaction-unavailable`)}let a=Zs(r.attachments,i,e.attachments),o=await Qs(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,n,r){let i=(await O(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!i)throw new w(`session-not-found`);let a;try{let e=await this.deps.vfs.readFile(`/sessions/${i.filename}`,{encoding:`utf-8`});a=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new w(`session-not-found`)}let{loadFrozenArchive:o}=await t(async()=>{let{loadFrozenArchive:e}=await import(`./session-jsonl-DY5vSsEY.js`).then(e=>e.i);return{loadFrozenArchive:e}},__vite__mapDeps([54,1,49,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50])),{title:s,messages:c}=await o(this.deps.vfs,a,i.filename),l=`legacy-cone`,u=Ys(c,l),d=$s(a),f={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:ze},session:{id:e,title:s,state:`frozen`,...i.frozenAt?{frozenAt:i.frozenAt}:{},...d,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:l,kind:`cone`,name:s,messages:u}],delegations:[],attachments:[]},p=new Map([[l,c]]);return r?.({phase:`redacting`}),ys({document:f,chatMessagesByConversation:p,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:n})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new w(`attachment-unreadable`);return t}};function tc(e){return`error`in e}function X(){throw new w(`redaction-unavailable`)}function nc(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&X(),e.texts}function rc(){return{async redact(e){let t;try{t=await fetch(tt(`/api/secrets/redact-export`),{method:`POST`,headers:nt({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{X()}t.ok||X();let n;try{n=await t.json()}catch{X()}return nc(n,e.length)}}}function ic(){return{async redact(e){let t;try{t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.redact-export`,texts:e},e=>{chrome.runtime.lastError,t(e??null)})})}catch{X()}return typeof t==`object`&&t&&tc(t)&&X(),nc(t,e.length)}}}function ac(){return{async redact(e){let t;try{t=await it(`secrets.redact-export`,{texts:e})}catch{X()}return t??X(),typeof t==`object`&&t&&tc(t)&&X(),nc(t,e.length)}}}function oc(){return{async redact(e){X()}}}function sc(){let e=rt();return e===`connect`?oc():e===`extension-direct`?ic():e===`extension-delegate`?ac():rc()}var cc=`Restoring session…`,lc=`slicc-restoring-session`;function uc(e){let t=e.querySelector(`:scope > .slicc-thread__inner`)??e;for(let e of t.children)if(!e.classList.contains(lc))return!1;return!0}function dc(e,t){let n=e.querySelector(`:scope > .slicc-thread__inner`)??e,r=n.querySelector(`:scope > .${lc}`);if(!t){r?.remove();return}if(r)return;let i=e.ownerDocument.createElement(`p`);i.className=lc,i.textContent=cc,n.append(i)}function Z(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;default:return`idle`}}function fc(e,t={}){let n=Z(t.status),r=cn(e);return{id:e.jid,parentId:e.parentJid,role:k(e)?`primary`:`child`,name:e.name,folder:e.folder,assistantLabel:e.assistantLabel,state:n,...n===`working`&&t.phase?{phase:t.phase}:{},...n===`idle`&&t.awaiting?{awaiting:!0}:{},fill:typeof t.fill==`number`?Math.round(t.fill*100):0,...typeof t.turns==`number`?{turns:t.turns}:{},...r?{model:r}:{},...e.trigger?{trigger:e.trigger}:{},...e.addedAt?{addedAt:e.addedAt}:{}}}function pc(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i=n?e.config:mc(e,r),a={jid:e.id??(n?`cone_${t()}`:`scoop_${r}_${t()}`),name:e.name,folder:r,requiresTrigger:!n,assistantLabel:n?`sliccy`:r,addedAt:new Date(t()).toISOString(),parentJid:e.parentId,...i?{config:i,configSchemaVersion:3}:{},...e.notifyOnComplete===!1?{notifyOnComplete:!1}:{},...!n&&e.onParentClose===`detach`?{onParentClose:`detach`}:{}};return n||(a.trigger=`@${r}`),a}function mc(e,t){let n=sn(e.workspace?.mode??e.config?.workspaceMode),r=e.workspace?.from??`/workspace`,i=gn(n,t,{root:r},e.workspace?.from),a=e.config;return{...a,workspaceMode:n,visiblePaths:a?.visiblePaths===void 0?i.visiblePaths:a.visiblePaths,writablePaths:a?.writablePaths===void 0?i.writablePaths:a.writablePaths}}var hc=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,gc=`${hc}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,_c=`${hc}border:none;background:#d23;color:#fff;`,vc=`${hc}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function yc(e,t,n){return{...pc({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function bc(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 xc(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 Sc(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=()=>Kn(e.getUnits(),e.getSelected()),u=t=>e.getUnits().find(e=>e.id===t.jid)??fc(t),d=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},f=e=>{d();let t=bc(i,{...e,onDismiss:e=>{s===e&&(s=null),e.remove()}});s=t,i.body.append(t),t.show?.()},p=t=>{if(!t.name)return;d();let i=l(),o=yc(t.name,n.getScoops(),Vn(e.getUnits(),i?.id));a=t.name,n.registerScoop(o,t.brief?{description:t.brief,prompt:t.brief}:{}).catch(e=>r.warn(`WC cone create failed`,e)),_()},m=()=>{let e=xc(i,p);f({heading:`New cone`,body:e,actions:[{text:`Create`,style:gc,data:`create`,onClick:()=>p(e.readDraft())},{text:`Cancel`,style:vc,data:`cancel`,onClick:d}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},h=t=>{d();let i=on(n.getScoops()),a=i.find(e=>e.jid===t);if(!a||i.length<=1||o){_();return}o=!0,_(),(async()=>{try{await e.freezeCone(a)}catch(e){r.warn(`WC cone freeze before drop failed`,e)}let t=l()?.id===a.jid;try{await n.unregisterScoop(a.jid)}catch(e){r.warn(`WC cone drop failed`,e)}if(t){let t=on(n.getScoops()).find(e=>e.jid!==a.jid);t&&e.selectScoop(u(t))}o=!1,_()})()},g=e=>{let t=Wn(e),n=i.createElement(`p`);n.textContent=`Its chat goes to the Freezer.`,n.style.cssText=`font-size:0.875rem;margin:0;`,f({heading:`Drop ${t}?`,body:n,actions:[{text:`Drop`,style:_c,data:`drop`,onClick:()=>h(e.id)},{text:`Cancel`,style:vc,data:`cancel`,onClick:d}]})},_=()=>{let t=on(n.getScoops());if(a!==null){let n=t.find(e=>e.name===a&&!e.folder.startsWith(`cone-pending-`));n&&(a=null,e.getSelected()?.id!==n.jid&&e.selectScoop(u(n)))}let r=c();r?.setAttribute(`cones`,String(t.length)),r?.toggleAttribute(`busy`,o)};return t.addEventListener(`new-cone`,m),t.addEventListener(`drop-cone`,()=>{let e=l();!e||on(n.getScoops()).length<=1||o||g(e)}),_(),{refresh:_,dialog:()=>s}}var Cc={"gelatiere-dismiss":{consume:!0,mode:`dismiss`},"gelatiere-install":{consume:!1,mode:`take`},"gelatiere-try":{consume:!1,mode:`take`}};function wc(e){return n=>{if(n.type!==`sprinkle`||n.sprinkleName!==`welcome`&&n.sprinkleName!==`inline`&&n.sprinkleName!==`suggestions`)return!1;let r=n.body,i=Cc[typeof r?.action==`string`?r.action:``];if(!i)return!1;let a=r?.data,o=typeof a?.id==`string`&&a.id?a.id:null;return o&&e.openVfs().then(async e=>{let n=await t(()=>import(`./wc-shell-BTbyNdYF.js`).then(e=>e.mt),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));return i.mode===`dismiss`?n.dismissGelatiereSuggestion(e,o):n.takeGelatiereSuggestion(e,o)}).catch(t=>e.log.warn(`gelatiere card settlement failed`,t)),i.consume}}var Tc=5e3,Ec=class{deps;listListeners=new Set;unitListeners=new Map;lastSnapshots=new Map;orphanedReplays=new Map;retriedSnapshots=new Set;pendingSnapshots=new Map;constructor(e){this.deps=e}toSummary(e){return fc(e,{awaiting:this.deps.getAwaiting?.()===e.jid,fill:this.deps.fills.get(e.jid),phase:this.deps.phases.get(e.jid),status:this.deps.statuses.get(e.jid),turns:this.deps.turns?.get(e.jid)})}snapshotFor(e,t,n){let r=this.deps.getClient()?.getScoops().find(t=>t.jid===e);return r?{summary:this.toSummary(r),messages:t,...n?{queuedIds:n}:{}}:null}currentUnits(){return(this.deps.getClient()?.getScoops()??[]).map(e=>this.toSummary(e))}publishSnapshot(e,t){this.retriedSnapshots.delete(e),this.lastSnapshots.set(e,t),this.emit(e,{snapshot:t,type:`snapshot`});let n=this.pendingSnapshots.get(e);if(n){this.pendingSnapshots.delete(e);for(let e of n)e(t)}}drainOrphanedReplays(){for(let[e,t]of this.orphanedReplays){let n=this.snapshotFor(e,t.messages,t.queuedIds);n&&(this.orphanedReplays.delete(e),this.publishSnapshot(e,n))}}recoverUnanswered(e){if(this.unitListeners.has(e)){if(this.retriedSnapshots.has(e)){this.publishRecovery(e);return}this.retriedSnapshots.add(e),this.deps.getClient()?.requestScoopMessages(e),setTimeout(()=>{this.retriedSnapshots.has(e)&&this.publishRecovery(e)},Tc)}}publishRecovery(e){if(!this.unitListeners.has(e))return;let t=this.lastSnapshots.get(e),n=this.deps.getClient()?.getScoops().find(t=>t.jid===e);this.emit(e,{snapshot:{messages:t?.messages??[],...n?{summary:this.toSummary(n)}:{}},type:`snapshot`})}forgetWaiter(e,t){let n=this.pendingSnapshots.get(e);n&&(n.delete(t),n.size===0&&this.pendingSnapshots.delete(e))}emitList(){if(this.drainOrphanedReplays(),this.listListeners.size===0)return;let e=this.currentUnits();for(let t of this.listListeners)t(e)}emit(e,t){let n=this.unitListeners.get(e);if(n)for(let e of n)e(t)}wrapCallbacks(e){return{...e,onStatusChange:(t,n)=>{e.onStatusChange(t,n),this.emit(t,{state:Z(n),type:`status`}),this.emitList()},onScoopCreated:t=>{e.onScoopCreated(t),this.emitList()},onScoopListUpdate:t=>{e.onScoopListUpdate(t),this.emitList()},onScoopPhaseChange:(t,n)=>{e.onScoopPhaseChange?.(t,n),this.emitList()},onIncomingMessage:(t,n)=>{e.onIncomingMessage(t,n),this.emit(t,{message:n,type:`message`})},onScoopMessagesReplaced:(t,n,r)=>{e.onScoopMessagesReplaced?.(t,n,r);let i=n,a=this.snapshotFor(t,i,r);a?this.publishSnapshot(t,a):this.orphanedReplays.set(t,{messages:i,queuedIds:r})}}}list(){return Promise.resolve(this.currentUnits())}subscribeList(e){return this.listListeners.add(e),e(this.currentUnits()),()=>{this.listListeners.delete(e)}}subscribe(e,t){let n=this.unitListeners.get(e)??new Set;n.add(t),this.unitListeners.set(e,n);let r=this.lastSnapshots.get(e);return this.pendingSnapshots.has(e)||(r?t({snapshot:r,type:`snapshot`}):this.deps.getClient()?.requestScoopMessages(e)),()=>{n.delete(t),n.size===0&&this.unitListeners.delete(e)}}takeArrivedReplay(e){let t=this.orphanedReplays.get(e);if(!t)return null;let n=this.snapshotFor(e,t.messages,t.queuedIds);return n?(this.orphanedReplays.delete(e),this.lastSnapshots.set(e,n),n):null}snapshot(e){let t=this.deps.getClient();if(!t)return Promise.reject(Error(`kernel client not attached`));let n=this.takeArrivedReplay(e);if(n)return t.setSelectedScoopJid(e),Promise.resolve(n);let r=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,r);let i=()=>{},a=new Promise(e=>{i=e,r.add(e)});t.setSelectedScoopJid(e),t.requestScoopMessages(e);let o,s=new Promise(t=>{o=setTimeout(()=>{o=void 0;let n=this.pendingSnapshots.get(e)?.has(i)===!0;this.forgetWaiter(e,i),n&&this.recoverUnanswered(e),t(this.snapshotFor(e,[],void 0))},Tc)});return Promise.race([a.then(e=>(o!==void 0&&(clearTimeout(o),o=void 0),e)),s]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getClient();if(!n)return Promise.reject(Error(`kernel client not attached`));let r=t.messageId??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return n.sendUserMessage({scoopJid:e,text:t.text,messageId:r,...t.attachments?{attachments:t.attachments}:{},...t.steer?{steer:!0}:{},...t.guestGate?{guestGate:t.guestGate}:{}})}setModel(e,t){let n=this.deps.getClient();return n?n.setScoopModel(e,t):Promise.reject(Error(`kernel client not attached`))}signal(e,t){if(t!==`stop`)return Promise.resolve();let n=this.deps.getClient();return n?(n.stopScoop(e),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}};function Q(e){return e.workUnits??=new Ec({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses,turns:e.turns}),e.workUnits}function Dc(e){let t=Q(e),n=()=>e.refreshScoops?.(),r=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),i=()=>{if(e.getSelected()||r())return;let n=t.currentUnits(),i=e.pendingUrlContext;if(i?.startsWith(`freezer:`))return;if(i?.startsWith(`scoop:`)||i?.startsWith(`cone:`)){let t=zn(n,i);if(t){e.pendingUrlContext=null,e.selectScoop(t);return}}let a=Gn(n);a&&(e.pendingUrlContext=null,e.selectScoop(a))};return t.wrapCallbacks({onStatusChange:(t,r)=>{let i=e.statuses.get(t),a=r;e.statuses.set(t,a),i!==a&&e.notifyUnitStatus?.(t,a),a!==`ready`&&e.awaitingInput===t&&(e.awaitingInput=null),Z(i)===`working`&&Z(a)!==`working`&&e.turns.set(t,(e.turns.get(t)??0)+1),Z(i)!==Z(a)&&(n(),e.notifyScoopStateChanged?.()),e.getSelected()?.id===t&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:t=>{n(),!e.getSelected()&&!r()&&!e.pendingUrlContext&&e.selectScoop(fc(t,{fill:e.fills.get(t.jid),phase:e.phases.get(t.jid),status:e.statuses.get(t.jid)}))},onScoopListUpdate:t=>{let r=new Set(t.map(e=>e.jid));for(let t of e.lickBackpressure.keys())r.has(t)||e.lickBackpressure.delete(t);for(let t of e.turns.keys())r.has(t)||e.turns.delete(t);n(),i()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(t,r)=>{e.phases.set(t,r),n(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,ge(String(n.content??``),600)),e.getSelected()?.id===t&&n.channel!==`web`&&re(n.channel)&&e.getController()?.addLickMessage(n.id,n.content,n.channel,new Date(n.timestamp).getTime(),n.lickId)},onLickBackpressure:(t,n)=>{n.count<=0?e.lickBackpressure.delete(t):e.lickBackpressure.set(t,n);let r=e.getSelected();if(r?.id!==t)return;let i=qn(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.id===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onReady:()=>{n(),i(),e.notifyReady?.()}})}var Oc=`slicc:leader-local-model-state-changed`;function kc(e=window){e.dispatchEvent(new Event(Oc))}var Ac=`slicc:leader-model-catalog-changed`;function jc(e=window){e.dispatchEvent(new Event(Ac))}var Mc={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Nc={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function Pc(e){return e?Mc[e]:void 0}function Fc(e){return e===`max`?`max`:void 0}function Ic(e,t){return t===`max`?`max`:(e&&Nc[e])??`off`}var Lc=2e3,Rc=1e4,zc=12e4;function Bc(e){let t=[],n=null,r=new Map,i=e.modelPickerEnabled!==!1,a=e.catalogRetryDelayMs??Lc,o=e.catalogRetryMaxDelayMs??Rc,s=e.catalogRetryWindowMs??zc,c=0,l=null,u=null,d=()=>{if(!i||u!==null)return;let t=Date.now();if(l===null&&(l=t+s),t>=l)return;let n=Math.min(a*2**c,o);u=setTimeout(()=>{u=null;let t=e.getSync();t?.requestModels&&(c+=1,t.requestModels())},n)},f=()=>{u!==null&&clearTimeout(u),u=null,c=0,l=null},p=e=>{if(e.length===0)return;let t=new Set(e.map(e=>e.id));for(let e of r.keys())t.has(e)||r.delete(e)},m=()=>{let t=e.getSelectedScoopJid(),i=e.getUnits();if(p(i),n&&(i.length===0||!t))return n.activeModelId;if(n&&t&&n.scoopJid===t){let e=fn(n.activeModelId);return e&&r.set(t,e),n.activeModelId}let a=Vn(i,t,t?r.get(t):void 0);return t&&a&&r.set(t,a),a?pn(a):void 0},h=()=>{let r=m(),a=r?t.find(e=>e.modelId===r):void 0;if(!i||!n||!a){e.composerMeta.style.display=`none`,d();return}e.composerMeta.model=a.modelName,e.composerMeta.setAttribute(`thinking`,Ic(n.thinkingLevel,n.effortOverride)),e.composerMeta.toggleAttribute(`no-thinking`,!a.reasoning),e.composerMeta.style.removeProperty(`display`),f()},g=t=>{e.interceptLocalHandlers&&t.stopImmediatePropagation()},_=t=>{let i=e.getSync();if(!i)return;g(t);let a=t.detail?.id,o=e.getSelectedScoopJid()??n?.scoopJid,s=a?fn(a):null;s&&o?(r.set(o,s),e.setModel(o,s)):a&&i.selectModel(a,o??void 0),h()};e.composerMeta.addEventListener(`model-change`,_,{capture:e.interceptLocalHandlers});let v=t=>{let r=e.getSync();if(!r)return;if(g(t),e.getLockedEffortLevel?.()){h();return}let i=t.detail?.thinking,a=Pc(i),o=e.getSelectedScoopJid()??n?.scoopJid;o&&a&&a!==`max`&&r.setThinkingLevel(o,a,Fc(i)),h()};e.composerMeta.addEventListener(`thinking-change`,v,{capture:e.interceptLocalHandlers});let y=()=>{t=[],n=null,r.clear(),f(),e.composerMeta.models=[],e.composerMeta.style.display=`none`};return y(),{onModelsList(n){t=n,e.composerMeta.models=n.map(e=>({id:e.modelId,name:e.modelName,provider:e.providerName})),h()},onModelState(e){n=e,h()},onShownUnitChanged(){h()},reset:y,dispose(){e.composerMeta.removeEventListener(`model-change`,_,{capture:e.interceptLocalHandlers}),e.composerMeta.removeEventListener(`thinking-change`,v,{capture:e.interceptLocalHandlers}),y(),e.composerMeta.style.removeProperty(`display`)}}}async function Vc(e,t,n,r,i=kc){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function Hc(e,t){return Un(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||_t(t.localStorage)}async function Uc(e,n,r,a,o){let s=Bn(n),c=Jn(s);e.thread.setAttribute(`context`,Yn(n));let l=Hn(n),u=i({isRoot:l,name:n.name});e.thread.setAttribute(`accent`,u),e.switcher.setAttribute(`active`,n.id),ie(e,l?{kind:`cone`}:{kind:`scoop`,accent:u}),te(e,c);let d=localStorage.getItem(`slicc_locked_effort_level`),f=a?.(n.id);if(f||d){let t=f?ln(f):{};e.composerMeta.setAttribute(`thinking`,Ic(d??t.level,t.effortOverride))}if(!o?.skipModelPill)try{let{resolveCurrentModel:i,resolveModelById:a}=await t(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-BsdSV37L.js`).then(e=>e.i);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([55,1,56,2,3,8,9,10,11,12,13,14,15,16,17,18,19,5,20,21,22,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,57,58])),o=Vn(r,n.id),s=o?a(o.id,o.provider):i();e.composerMeta.setAttribute(`model`,s.name??s.id),e.composerMeta.toggleAttribute(`no-thinking`,s.reasoning!==!0||!!d)}catch{}}async function Wc(e){if(Hc(e.pendingUrlContext,e.win))return;let n=Un(e.pendingUrlContext);if(n===null)return;let[{CanonicalSessionReader:r},{WorkUnitConversationStore:i}]=await Promise.all([t(()=>Promise.resolve().then(()=>rr),void 0),t(()=>Promise.resolve().then(()=>_r),void 0)]),a=await new r(new i).loadRootChatSession(n);a&&a.messages.length>0&&!e.hasSelection()&&(e.loadMessages(a.messages),e.onHydrated())}function Gc(e){let{boot:n,client:r,openReader:i,log:a}=e,{refs:o}=n;t(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-DUTpA2Ya.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([59,2,0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({createPlaceholderRefresher:t})=>{e.setRefreshPlaceholder(t({inputCard:o.inputCard,getMessages:()=>n.getController()?.getMessages()??[],defaultPlaceholder:o.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),Wc({pendingUrlContext:n.wiring.pendingUrlContext,win:window,hasSelection:()=>!!n.getSelected(),loadMessages:e=>n.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>a.warn(`WC session hydration failed`,e));let s=null;return t(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-DAZxEW7e.js`);return{wireWcAttach:e}},__vite__mapDeps([60,2,5,61])).then(({wireWcAttach:n})=>{s=n({inputCard:o.inputCard,freezer:o.freezer,composer:o.composer,openReader:i,openWriter:e.openWriter,secretEntry:!0,listConversations:async()=>{let{readSessionsIndex:e}=await t(async()=>{let{readSessionsIndex:e}=await Promise.resolve().then(()=>Wi);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)),t(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 t=e.detail?.thinking,i=Pc(t),o=Fc(t),s=n.getSelected();s&&i&&Vc(r,s.id,i,o).catch(e=>a.warn(`local thinking update failed`,e))}),{getAttachStage:()=>s}}var Kc=`slicc:leader-run-new-session`,qc=`slicc:leader-broadcast-snapshot`;function Jc(e){if(!(!e.cone||e.cone===`cone`))return e.coneLabel||e.cone.replace(/^cone-/,``)}function Yc(e){let t=`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`;return e.live?`${t} · in progress`:t}function Xc(e,t={}){let n=document.createElement(`slicc-freezer-card`);return n.setAttribute(`title`,e.title),n.setAttribute(`meta`,Yc(e)),n.setAttribute(`slug`,e.filename),e.icon&&n.setAttribute(`icon`,e.icon),t.deletable&&!e.live&&n.setAttribute(`deletable`,``),n}async function Zc(e){let t=new Map;for(let n of e.entries){if(n.icon||n.pendingEnrichment)continue;let r=await e.pickIcon(`"${n.title}" — an archived chat session`);r&&t.set(n.filename,r)}if(t.size!==0&&await T(async()=>{let n=await Qc(e.reader);if(n===null||n.length===0)return!1;let r=n.map(e=>{let n=!e.icon&&t.has(e.filename)?t.get(e.filename):void 0;return n?{...e,icon:n}:e});return await e.writer.writeFile(`/sessions/index.json`,JSON.stringify(r,null,2)),!0}))for(let n of e.freezer.querySelectorAll(`slicc-freezer-card`)){let e=t.get(n.getAttribute(`slug`)??``);e&&!n.hasAttribute(`icon`)&&n.setAttribute(`icon`,e)}}async function Qc(e){let t=await $c(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function $c(e){let t;try{let n=await e.readFile(E,{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 el(e){let t;try{t=(await e.readDir(`/sessions`)).filter(e=>e.type===`file`&&e.name.endsWith(`.md`)).map(e=>e.name)}catch{return[]}let n=[];for(let r of t)try{let t=await e.readFile(`/sessions/${r}`,{encoding:`utf-8`}),i=typeof t==`string`?t:new TextDecoder().decode(t);n.push(nl(r,i))}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function tl(e,t){return T(async()=>{let n=await $c(e);if(n.kind===`ok`)return n.entries;if(n.kind!==`corrupt`)return null;let r=await el(e);return r.length===0?null:(await t.writeFile(E,JSON.stringify(r,null,2)),r)})}function nl(e,t){let n=t.slice(0,2e3),r=/^title:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??e,i=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??new Date(0).toISOString(),a=Number(/^messageCount:\s*(\d+)\s*$/m.exec(n)?.[1]??0),o=Be(t),s=e.startsWith(`pending-`)||e.startsWith(`live-`)&&!o.live;return{filename:e,title:r,frozenAt:i,messageCount:a,...o.cost?{cost:o.cost}:{},...o.models?{models:o.models}:{},...o.cone?{cone:o.cone}:{},...o.coneLabel?{coneLabel:o.coneLabel}:{},...o.memorySkipped?{memorySkipped:!0}:{},...o.live?{live:!0}:{},...o.live&&o.liveThrough?{liveThrough:o.liveThrough}:{},...o.live&&o.compactions?{compactions:o.compactions}:{},...o.curatedThrough?{curatedThrough:o.curatedThrough}:{},...o.sessionId?{sessionId:o.sessionId}:{},...s?{pendingEnrichment:!0}:{}}}function rl(e,t,n={}){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(e=>Xc(e,n)))}async function il(e,t){let n=await e.readFile(Ue(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=await Sn(e,r,t.filename);return{title:i.title||t.title,messages:i.messages}}var al=`Couldn't delete everything — try again.`;function ol(e,t){let n=e.createElement(`p`);return n.textContent=`“${t}” and its transcript will be deleted. Memories already learned from it are kept.`,n.style.cssText=`font-size:0.875rem;margin:0;`,n}function sl(e){let t=e.parentElement?.querySelector(`[data-freezer-delete-error]`);t||(t=e.ownerDocument.createElement(`p`),t.setAttribute(`data-freezer-delete-error`,``),t.setAttribute(`role`,`alert`),t.style.cssText=`font-size:0.8125rem;margin:0.5rem 0 0;color:var(--s2-negative-color, #d23);`,e.after(t)),t.textContent=al}function cl(e,t){let n=e.ownerDocument;n.activeElement&&n.activeElement!==n.body||Array.from(e.querySelectorAll(`slicc-freezer-card`)).find(e=>e.getAttribute(`slug`)===t)?.querySelector(`.slicc-fzcard__delete`)?.focus()}function ll(e){return e.sessionId?{filename:e.filename,sessionId:e.sessionId}:{filename:e.filename}}function ul(e){let n=e.freezer.ownerDocument,r=null,i=new Set,a=()=>{if(!r)return;let{slug:t,dialog:n}=r;r=null,n.hide?.(),n.remove(),cl(e.freezer,t)},o=async(n,o,s)=>{let c=Array.from(o.querySelectorAll(`button[slot="footer"]`));for(let e of c)e.disabled=!0;i.add(n.filename);try{let{writer:i}=await e.openVfs(),{deleteFrozenSession:s}=await t(async()=>{let{deleteFrozenSession:e}=await import(`./frozen-session-delete-BImwwqtA.js`);return{deleteFrozenSession:e}},__vite__mapDeps([62,3,49,1,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50,51,54,63,64,65,66])),c=await s(i,ll(n));if(c.status===`failed`)throw Error(c.errors.join(`; `));c.status===`deleted`?e.isViewing(n)&&e.leaveViewed(n):e.log.warn(`WC frozen chat delete skipped`,{filename:n.filename,...c}),r?.dialog===o&&a(),e.refreshFreezer()}catch(t){e.log.error(`WC frozen chat delete failed`,t),sl(s);for(let e of c)e.disabled=!1}finally{i.delete(n.filename)}},s=t=>{if(r?.slug===t||i.has(t))return;let s=e.getEntries().find(e=>e.filename===t);if(!s||s.live)return;a();let c=ol(n,s.title),l=bc(n,{heading:`Delete frozen chat?`,body:c,actions:[{text:`Delete`,style:_c,data:`delete`,onClick:()=>void o(s,l,c)},{text:`Cancel`,style:vc,data:`cancel`,onClick:a}],onDismiss:n=>{r?.dialog===n&&(r=null),n.remove(),cl(e.freezer,t)}});r={slug:t,dialog:l},n.body.append(l),l.show?.()};return e.freezer.addEventListener(`freezer-card-delete`,e=>{let t=e.detail?.slug;t&&s(t)}),{dialog:()=>r?.dialog??null}}async function dl(e,n,r){let{getTranscriptExportService:i}=await t(async()=>{let{getTranscriptExportService:e}=await Promise.resolve().then(()=>Or);return{getTranscriptExportService:e}},void 0);await i().captureFrozen({sessionId:n.sessionId??n.archive.sessionId??n.filename.replace(/\.md$/i,``),title:n.archive.title,frozenAt:n.archive.frozenAt,createdAt:n.archive.createdAt,updatedAt:n.archive.updatedAt,...e?{rootJid:e.jid}:{}},r)}function fl(e,t){if(t)return e.getScoops().find(e=>e.jid===t.id)}function pl(e){return{folder:e.folder,label:Wn({assistantLabel:e.assistantLabel,name:e.name,role:k(e)?`primary`:`child`}),jid:e.jid}}async function ml(e){let{root:n}=e,r=n?pl(n):void 0,i=(e,t)=>dl(n,e,t),a=n=>{t(async()=>{let{notifyGelatiereOfSessionEnd:e}=await import(`./wc-gelatiere-D_dcZETl.js`);return{notifyGelatiereOfSessionEnd:e}},__vite__mapDeps([67,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({notifyGelatiereOfSessionEnd:t})=>t({client:e.client,vfs:e.writer,log:e.log,cone:r,archive:n?.filename})).catch(t=>e.log.warn(`gelatiere notification failed to load`,t))};if(e.action!==`save`){await e.runNewSessionFreezeQuick({vfs:e.writer,cone:r,captureCompleteSnapshot:i,onSessionSettled:a});return}await e.runNewSessionFreeze({vfs:e.writer,cone:r,agenticMemorySpawn:t=>e.client.spawnAgent(t),captureCompleteSnapshot:i,onSessionSettled:a,onProgress:t=>{let n=e.freezerNew();n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,String(t)))},onBackgroundEnriched:e.refreshFreezer})}async function hl(e,t){e!==`erase`&&await ml({...t,action:e})}async function gl(e){try{await e.resetNewSessionTmp(e.writer,e.tmpDir)}catch(t){e.log.warn(`WC new session /tmp reset failed — clearing anyway`,t)}await e.client.clearAllMessages(e.root?.jid,e.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}),e.getController()?.loadMessages([]),window.dispatchEvent(new CustomEvent(qc)),t(async()=>{let{resetDictationPriming:e}=await import(`./wc-shell-BTbyNdYF.js`).then(e=>e.rt);return{resetDictationPriming:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function _l(e,t){(e.thread.inner??e.thread).prepend(vl(e.thread.ownerDocument,t)),e.thread.setAttribute(`accent`,ae),ie(e,{kind:`freezer`}),e.inputCard.setAttribute(`disabled`,``),e.switcher.removeAttribute(`active`)}function vl(e,t){let n=t?Jc(t):void 0,r=e.createElement(`slicc-day-separator`);return r.setAttribute(`label`,n?`Frozen chat · from cone ${n}`:`Frozen chat`),r.setAttribute(`data-frozen-provenance`,n??``),r}async function yl(e,t,n){let r=await Qc(e);return r===null?(await $c(e)).kind===`corrupt`?(n.warn(`WC freezer index corrupt — rebuilding from archives`),tl(e,t)):null:r}function bl(e,n,r){e.busy||!r.some(e=>!e.icon&&!e.pendingEnrichment)||(e.busy=!0,t(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-DaP4ryRr.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([52,1,9,10,11,2,12,13,14,15,16,3,17,7,8,18,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,53,39])).then(({pickLucideIcon:e})=>Zc({reader:n.reader,writer:n.writer,freezer:n.freezer,entries:r,pickIcon:t=>e({subject:t})})).catch(e=>n.log.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{e.busy=!1}))}function xl(e,t,n){let r=e.getAttribute(`context`)??``;return r===`freezer:${t.filename}`||r.startsWith(`freezer:`)&&!!t.sessionId&&!bn(t.sessionId)&&n===t.sessionId}function Sl(e){let{refs:n,openVfs:r,client:i,getController:a,getSelected:o,clearSelection:s,log:c}=e,l=[],u=null,d=t=>{u=null,e.selectScoop(t)},f=0,p={busy:!1},m=()=>{let e=++f;r().then(async({reader:t,writer:r})=>{let i=await yl(t,r,c);i!==null&&e===f&&(l=i,rl(n.freezer,i,{deletable:!0}),bl(p,{reader:t,writer:r,freezer:n.freezer,log:c},i))}).catch(e=>c.error(`WC freezer refresh failed`,e))},h=!1,g=()=>n.freezer.querySelector(`slicc-freezer-new`),_=n=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{let s=fl(i,Kn(e.getUnits(),o()));try{let{writer:o}=await r(),{resetNewSessionTmp:l,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}=await t(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-CUUn1ajO.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([68,2,3,18,7,8,9,10,11,12,13,14,1,15,16,17,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,55,56,6,37,57,58,53,62,49,0,4,36,38,39,40,50,51,54,63,64,65,66]));await hl(n,{writer:o,root:s,client:i,freezerNew:g,refreshFreezer:m,runNewSessionFreeze:u,runNewSessionFreezeQuick:f,log:c}),await gl({writer:o,root:s,client:i,getController:a,log:c,resetNewSessionTmp:l,tmpDir:hn(i.getScoops(),s),discardLiveSnapshot:n===`erase`}),m();let p=e.getUnits().find(e=>e.id===s?.jid)??Gn(e.getUnits());p&&d(p)}catch(e){c.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`])n.freezer.addEventListener(`new-chat-${e}`,()=>_(e));let v=async e=>{let{writer:n}=await r(),{runNewSessionArchiveOnly:i}=await t(async()=>{let{runNewSessionArchiveOnly:e}=await import(`./new-session-CUUn1ajO.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([68,2,3,18,7,8,9,10,11,12,13,14,1,15,16,17,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,55,56,6,37,57,58,53,62,49,0,4,36,38,39,40,50,51,54,63,64,65,66]));await i({vfs:n,cone:pl(e),captureCompleteSnapshot:(t,n)=>dl(e,t,n)}),m()};_e(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(Kc,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let y=async t=>{let i=l.find(e=>e.filename===t);try{let{reader:o}=await r();i||=(await Qc(o)??[]).find(e=>e.filename===t);let{messages:c}=await il(o,i??{filename:t,title:t,frozenAt:``,messageCount:0});n.thread.setAttribute(`context`,`freezer:${i?.filename??t}`),u=i?.sessionId??i?.filename??null,e.holdQueuedPile(),a()?.loadMessages(c),_l(n,i),s()}catch(t){if(c.error(`WC thaw failed`,t),!o()){let t=Rn(e.getUnits(),i?.cone);t&&d(t)}}};return n.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&y(t)}),ul({freezer:n.freezer,openVfs:r,getEntries:()=>l,isViewing:e=>xl(n.thread,e,u),leaveViewed:t=>{a()?.loadMessages([]),u=null;let n=Rn(e.getUnits(),t.cone);n&&d(n)},refreshFreezer:m,log:c}),{refreshFreezer:m,openFrozen:y,getViewedFrozenSessionId:()=>u,freezeCone:v}}n(`scoops.tray-leave`),n(`scoops.tray-join`);var Cl=null;function wl(e){Cl=e}function Tl(){return Cl?.()??[]}var El=null;function Dl(e){El=e}function Ol(){return El??void 0}var kl=`slicc.leaderTrayFollowers`;function Al(){return jl()}function jl(){if(Cl)return Cl();try{let e=globalThis.localStorage?.getItem(kl);if(e)return JSON.parse(e)}catch{}return[]}function Ml(e,t=globalThis.localStorage){try{t?.setItem(kl,JSON.stringify(e))}catch{}}function Nl(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 Pl(e){let t=mt();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:gt(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=nn();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=yt(e.getItem(ht))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function Fl(e){let{client:n,openReader:r,storage:i}=e;return{getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await t(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-Bv7S20n9.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([69,1,3,20,21,22,55,56,2,8,9,10,11,12,13,14,15,16,17,18,19,5,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,57,58]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await t(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-Bv7S20n9.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([69,1,3,20,21,22,55,56,2,8,9,10,11,12,13,14,15,16,17,18,19,5,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,57,58]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:n}=await t(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])),r=await e();return Promise.all(r.map(async e=>{if(e.descriptor.kind!==`local`)return e;try{let t=await(await n(e.descriptor.idbHandleKey))?.queryPermission?.({mode:`readwrite`});return{...e,valid:t===`granted`}}catch{return{...e,valid:!1}}}))},getMcpServers:async()=>{try{let e=await(await r()).readFile(`/workspace/.mcp/servers.json`,{encoding:`utf-8`});return JSON.parse(typeof e==`string`?e:new TextDecoder().decode(e)).servers??{}}catch{return{}}},getOAuthProviders:()=>{try{let e=new Set,t=[];for(let n of Ne()){if(e.has(n.providerId))continue;if(e.add(n.providerId),!je(n.providerId)?.isOAuth){t.push({providerId:n.providerId});continue}let r=ke(n.providerId),i=n.loggedOut?!1:r?!r.expired:!1;t.push({providerId:n.providerId,valid:i})}return t}catch{return[]}},getSessionStats:async()=>n.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await r()).readFile(`/proc/table`,{encoding:`utf-8`});return Nl(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>Pl(i),getConnectedFollowers:Tl}}var Il=`sync-fs-nonce`;function Ll(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:Il,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 Rl=class{#e=new Map;#t=new Map;#n=new Map;sync(e,t){let n=new Set;for(let r of e){if(!Hn(r))continue;n.add(r.id);let e=this.#r(r);e>0&&r.id!==t&&this.#e.set(r.id,(this.#e.get(r.id)??0)+e)}t&&this.#e.delete(t);for(let e of[...this.#e.keys()])n.has(e)||this.#e.delete(e);for(let e of[...this.#t.keys()])n.has(e)||this.#t.delete(e);for(let e of[...this.#n.keys()])n.has(e)||this.#n.delete(e);return this.counts()}#r(e){let t=this.#t.get(e.id),n=this.#t.has(e.id);if(this.#t.set(e.id,e.state),typeof e.turns==`number`&&Number.isFinite(e.turns)){let t=this.#n.get(e.id)??(n?0:void 0);return this.#n.set(e.id,e.turns),t===void 0?0:e.turns>t?Math.floor(e.turns-t):0}return this.#n.delete(e.id),n&&t===`working`&&e.state!==`working`?1:0}counts(){return new Map(this.#e)}};function zl(e,t){let n=e=>{t.onError?.(e instanceof Error?e.message:String(e))};return{sendMessage:(r,i,a,o)=>{let s=t.getSelectedId();if(!s){t.onError?.(`No scoop selected`);return}e.send(s,{text:r,...i?{messageId:i}:{},...a?{attachments:a}:{},...o?.steer?{steer:!0}:{},...o?.guestGate?{guestGate:o.guestGate}:{}}).catch(n)},onEvent:e=>t.onEvent(e),stop:()=>{let r=t.getSelectedId();r&&e.signal(r,`stop`).catch(n)}}}var Bl=`question`;function Vl(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||void 0}catch{return}}function Hl(e,t,n){let r=e=>{let r=e.detail;if(!r||typeof r.answer!=`string`)return;let{question:i,kind:a,answer:o}=r,s=a===`datetime`||a===`date`?Vl():void 0;t(Bl,{action:`answer`,data:{question:i,kind:a,answer:o,...s?{timeZone:s}:{}}},void 0,n()??void 0)};return e.addEventListener(ee,r),()=>e.removeEventListener(ee,r)}var Ul=`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`;function Wl(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`assistant`&&!n.isStreaming&&!n.queued)return n.content}for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`)return e[t].content;return null}function Gl(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(Ul));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=Wl(e.getMessages());await t(n??Qe([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=Qe([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function $(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Kl(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 ql(e){return`
243
+ `}\n${s}\n\n${n}\n`;await e.writeFile(a,o+c);try{await In({vfs:e,memoryPath:a,model:i?.model,apiKey:i?.apiKey,headers:i?.headers,signal:i?.signal})}catch(e){W.warn(`Cone memory budget step threw (append already committed)`,{error:e instanceof Error?e.message:String(e)})}}async function ba(e){return(await O(e)).filter(e=>(e.pendingEnrichment===!0||e.memoryPending===!0)&&Sa(e)<3)}async function xa(e){let t={attempted:0,completed:0};if(!e.model||!e.apiKey)return t;try{for(let t of await O(e.vfs))t.memoryPending===!0&&t.memoryFailed===void 0&&Sa(t)>=3&&await za(e.vfs,t.filename,`catch-up retries exhausted (3)`);let n=await ba(e.vfs);for(let r of n)try{let n=await Ra(e.vfs,r.filename);if(!n)continue;t.attempted+=1,await Ca(e.vfs,n,{model:e.model,apiKey:e.apiKey,headers:e.headers})&&(t.completed+=1)}catch(e){W.warn(`Pending session catch-up attempt failed`,{filename:r.filename,error:e instanceof Error?e.message:String(e)})}}catch(e){W.warn(`Pending session catch-up failed`,{error:e instanceof Error?e.message:String(e)})}return t}function Sa(e){let t=e.pendingAttemptCount;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:0}async function Ca(e,t,n){if(!t.pendingEnrichment&&!t.memoryPending)return null;let r=await Oa(e,t);if(r===null)return null;let i=await ka(e,t,r);if(i===null)return null;let{agentMessages:a}=i,o=await Aa(e,t,i.chatMessages,n),s=o.curatorAlreadyRan,c=s||t.memorySkipped===!0?{...n,skipMemory:!0}:n,l=await Ma(t,a,c,o.memoryMessages);if(l===null)return null;let u=await Da(c,l.newTitle);await Na(e,t,l.bullets,c);let d=await Fa(e,t,r,l.newTitle,u,n.skipMemory===!0);return d&&s&&(await Ea(e,t.filename),await Ba(e,d.filename),await wa(e,t.filename)),d}async function wa(e,t){for(let n of[On(`/sessions/${t}`),Fn(`/sessions/${t}`)])try{await e.rm(n)}catch{}}async function Ta(e,t){try{return await e.stat(kn(`/sessions/${t.filename}`)),!0}catch{return!1}}async function Ea(e,t){try{await e.rm(kn(`/sessions/${t}`))}catch{}}async function Da(e,t){if(e.pickIcon)try{return await $i(await e.pickIcon({subject:`"${t}" — an archived chat session`})??void 0)}catch(e){W.warn(`Enrichment icon pick failed (continuing without icon)`,{error:e instanceof Error?e.message:String(e)});return}}async function Oa(e,t){try{let n=await e.readFile(Ue(t),{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}catch(e){return e?.code===`ENOENT`?W.info(`Pending archive missing — treating as already enriched`,{filename:t.filename}):W.warn(`Failed to read pending archive (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}}async function ka(e,t,n){let r;try{r=(await Sn(e,n,t.filename)).messages}catch(e){return W.warn(`Failed to parse pending archive — leaving entry intact`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}return r.length===0?(W.info(`Pending archive has no messages — skipping enrichment`,{filename:t.filename}),null):{agentMessages:ga(r),chatMessages:r}}async function Aa(e,t,n,r){let i=ga([...n]);if(r.skipMemory===!0||t.memoryPending!==!0)return{curatorAlreadyRan:!1,memoryMessages:i};if(await Ta(e,t))return{curatorAlreadyRan:!0,memoryMessages:i};let a=await jn(e,t,n);return a.caughtUp?{curatorAlreadyRan:!0,memoryMessages:i}:a.through>0?{curatorAlreadyRan:!1,memoryMessages:i.filter(e=>ja(e)>a.through)}:{curatorAlreadyRan:!1,memoryMessages:i}}function ja(e){let t=e.timestamp;return typeof t==`number`?t:0}async function Ma(e,t,n,r=t){let i=``;if(!n.skipMemory)try{i=await pe({messages:r,instruction:me,model:n.model,apiKey:n.apiKey,maxTokens:Ki,headers:n.headers})}catch(t){return W.warn(`Enrichment memory call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}let a=``;try{a=_a(await pe({messages:t,instruction:he,model:n.model,apiKey:n.apiKey,maxTokens:qi,headers:n.headers}))}catch(t){return W.warn(`Enrichment title call failed (entry stays pending)`,{filename:e.filename,error:t instanceof Error?t.message:String(t)}),null}return a?{bullets:i,newTitle:a}:(W.info(`Enrichment title call returned empty — entry stays pending`,{filename:e.filename}),null)}async function Na(e,t,n,r){let i=n.trim();if(!(!i||i===`NONE`))try{await ya(e,pa(t.cone||`cone`),i,`pending-enrichment`,{model:r.model,apiKey:r.apiKey,headers:r.headers})}catch(e){W.warn(`Enrichment memory append failed (continuing with title rewrite)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}function Pa(e,t,n,r,i){let a=r??e.icon;return{filename:t,title:n,frozenAt:e.frozenAt,messageCount:e.messageCount,...e.cost?{cost:e.cost}:{},...e.models?{models:e.models}:{},...e.cone?{cone:e.cone}:{},...e.coneLabel?{coneLabel:e.coneLabel}:{},...e.sessionId?{sessionId:e.sessionId}:{},...e.curatedThrough?{curatedThrough:e.curatedThrough}:{},...a?{icon:a}:{},...e.completeSnapshotUnavailable?{completeSnapshotUnavailable:!0}:{},...i&&e.memoryPending?{memoryPending:!0}:{},...e.memorySkipped?{memorySkipped:!0}:{}}}async function Fa(e,t,n,r,i,a=!1){let o=Ue(t),s=Ve(t.filename),c=s?r:t.title,l=s?`${t.frozenAt.replace(/[:.]/g,`-`)}-${Xe(r)}.md`:t.filename,u=`${D}/${l}`;if(s)try{await va(e,D);let r=Ia(n,c),i=xn(t.filename),a=xn(l),s=Je(r,o,u);if(s=Je(s,i,a),i!==a){let e=i.slice(i.lastIndexOf(`/`)+1),t=a.slice(a.lastIndexOf(`/`)+1);s=s.split(`sidecar: ${e}`).join(`sidecar: ${t}`)}await e.writeFile(u,s),await wn(e,t.filename,l)}catch(e){return W.warn(`Enrichment write failed (entry stays pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),null}let d=Pa(t,l,c,i,a);if(!await Ka(e,t,d))return null;if(u!==o){try{await e.rm(o)}catch(e){W.info(`Stale pending archive cleanup failed (harmless)`,{oldPath:o,error:e instanceof Error?e.message:String(e)})}try{await Cn(e,t.filename)}catch(e){W.info(`Stale pending sidecar cleanup failed (harmless)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}}try{await e.flush()}catch{}return W.info(`Pending session enriched`,{oldFilename:t.filename,newFilename:l,title:c}),d}function Ia(e,t){let n=e.match(/^---\n([\s\S]*?)\n---\n([\s\S]*)$/);if(!n)return e;let r=n[1].replace(/^title:\s*.+$/m,`title: ${JSON.stringify(t)}`),i=n[2];return i=i.replace(/^#\s+[^\n]*$/m,`# ${t}`),`---\n${r}\n---\n${i}`}async function La(e,t){let n=null,r=T(async()=>{let r=await O(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(E,JSON.stringify(d,null,2)),await e.flush(),n=u});try{await r}catch(e){W.warn(`Failed to clear agentic memory pending marker`,{filename:t,error:e instanceof Error?e.message:String(e)})}return n}async function Ra(e,t){let n=null;return await T(async()=>{let r=await O(e),i=r.findIndex(e=>e.filename===t);if(i===-1)return;let a=r[i];if(!a.pendingEnrichment&&!a.memoryPending)return;let o=Sa(a);if(o>=3)return;n={...a,pendingAttemptCount:o+1};let s=r.slice();s[i]=n,await e.writeFile(E,JSON.stringify(s,null,2)),await e.flush()}),n}async function za(e,t,n){let r=T(async()=>{let r=await O(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(E,JSON.stringify(a,null,2)),await e.flush()});try{await r}catch(e){W.warn(`Failed to record curator failure in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Ba(e,t){let n=T(async()=>{let n=await O(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(E,JSON.stringify(o,null,2)),await e.flush()});try{await n}catch(e){W.warn(`Failed to record curator completion in sessions index`,{filename:t,error:e instanceof Error?e.message:String(e)})}}async function Va(e,t,n){return T(async()=>{let r=await Ha(e),i=r.findIndex(e=>e.filename===t);if(i!==-1){let t=r.slice();t[i]=n;let a=t.filter((e,t)=>t===i||e.filename!==n.filename);return await e.writeFile(E,JSON.stringify(a,null,2)),`replaced`}let a=await Ua(e,r,t,n);if(a===`prepended`){let t=[n,...r.filter(e=>e.filename!==n.filename)];await e.writeFile(E,JSON.stringify(t,null,2))}else if(a===`replaced`){let t=r.map(e=>e.filename===n.filename?n:e);await e.writeFile(E,JSON.stringify(t,null,2))}else await Ga(e,r,t,n.filename);return a})}async function Ha(e){try{let t=await e.readFile(E,{encoding:`utf-8`}),n=JSON.parse(typeof t==`string`?t:new TextDecoder().decode(t));return Array.isArray(n)?n:[]}catch(e){if(!(e instanceof Ot)||e.code!==`ENOENT`)throw e;return[]}}async function Ua(e,t,n,r){if(t.some(e=>e.filename===r.filename))return`replaced`;let i=r.sessionId;return(i&&!bn(i)?t.filter(e=>e.sessionId===i):[]).length===1?`superseded`:await Wa(e,`/sessions/${n}`)?`prepended`:`deleted`}async function Wa(e,t){try{return await e.stat(t),!0}catch(e){return e?.code!==`ENOENT`}}async function Ga(e,t,n,r){if(r===n||t.some(e=>e.filename===r))return;let i=`${D}/${r}`;try{await e.rm(i)}catch(e){e?.code!==`ENOENT`&&W.warn(`Enrichment could not drop its renamed copy`,{path:i,error:e})}let a=xn(r);try{await Cn(e,r)}catch(e){e?.code!==`ENOENT`&&W.warn(`Enrichment could not drop its renamed copy`,{path:a,error:e})}}async function Ka(e,t,n){let r;try{r=await Va(e,t.filename,n)}catch(e){return W.warn(`Enrichment index update failed (entry may stay pending)`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),!1}return r===`superseded`||r===`deleted`?(W.info(`Enrichment dropped — the session changed during the pass`,{filename:t.filename,outcome:r}),!1):!0}async function qa(e,t){return T(async()=>{let n=[];try{let t=await e.readFile(E,{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 Ot)||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(E,JSON.stringify(r,null,2))})}var Ja=`slicc:followers-changed`;function Ya(e){let t=e.replace(/^follower-/,``);return t.length>12?`${t.slice(0,8)}…`:t}function Xa(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 Za(e){return e.floatType===`ios`?`smartphone`:e.floatType===`electron`||e.floatType===`standalone`?`monitor`:e.floatType===`extension`?`blocks`:e.runtime?.includes(`cli`)?`terminal`:`radio`}function Qa(e,t=Date.now()){if(!e)return null;let n=new Date(e).getTime();if(!Number.isFinite(n))return null;let r=Math.max(0,Math.floor((t-n)/1e3));return r<60?`${r}s`:r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}d`}function $a(e){return e.health===`stalled`?`warn`:e.peerState===`connecting`?`idle`:e.peerState===`connected`&&e.health===`live`?`active`:`idle`}function eo(e,t=Date.now()){let n=e.health===`stalled`?`stalled`:e.peerState===`connecting`?`connecting`:`connected`,r=Qa(e.connectedAt,t);return r?`${n} ${r}`:n}function to(e){let t=[];return e.exec&&t.push(`can run commands`),e.computer&&t.push(`native screen`),e.cdp&&t.push(`hosts tabs`),t}function no(e){return`${Xa(e)} · ${Ya(e.runtimeId)}`}function ro(e){return e.motd??e.runtime??void 0}function io(e,t=Date.now()){return e.map(e=>({id:e.runtimeId,icon:Za(e),title:no(e),detail:ro(e),state:$a(e),stateText:eo(e,t),chips:to(e)}))}function ao(e){return e.length>=8&&e[0]===137&&e[1]===80&&e[2]===78?`image/png`:e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255?`image/jpeg`:null}function oo(e){if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}if(e instanceof ArrayBuffer)return new Uint8Array(e.slice(0));if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength))}return Array.isArray(e)?Uint8Array.from(e):e&&typeof e==`object`?co(e):new Uint8Array}function so(e){if(typeof e.byteLength==`number`)return e.byteLength;if(typeof e.length==`number`)return e.length;let t=-1;for(let n of Object.keys(e)){if(!/^\d+$/.test(n))continue;let e=Number(n);e>t&&(t=e)}return t+1}function co(e){let t=so(e),n=new Uint8Array(t);for(let r=0;r<t;r++){let t=e[r];typeof t==`number`&&(n[r]=t&255)}return n}var lo=2,uo=768,fo=class{computers=[];frames=new Map;listListeners=new Set;frameListeners=new Set;invocationListeners=new Set;sender=null;watchSubs=new Map;kernelWatch=new Map;nextWatchToken=1;invocations=new Map;list(){return this.computers.slice()}get(e){return this.computers.find(t=>t.id===e)??null}lastFrame(e){return this.frames.get(e)??null}onList(e){return this.listListeners.add(e),()=>this.listListeners.delete(e)}onFrame(e){return this.frameListeners.add(e),()=>this.frameListeners.delete(e)}onInvocations(e){return this.invocationListeners.add(e),()=>this.invocationListeners.delete(e)}setSender(e){this.sender=e}isWatching(e){return(this.watchSubs.get(e)?.length??0)>0}watchRefCount(e){return this.watchSubs.get(e)?.length??0}watch(e,t=lo,n=uo){if(!this.sender)throw Error(`computers store has no kernel sender`);let r=this.nextWatchToken++,i=this.watchSubs.get(e)??[];return i.push({token:r,fps:t,maxWidth:n}),this.watchSubs.set(e,i),this.syncKernelWatch(e),r}unwatch(e,t){if(!this.sender)throw Error(`computers store has no kernel sender`);let n=this.watchSubs.get(e);if(!n?.length)return;let r=t===void 0?n.length-1:n.findIndex(e=>e.token===t);if(!(r<0)){if(n.splice(r,1),n.length===0){this.watchSubs.delete(e),this.kernelWatch.delete(e),this.sender({type:`computer-unwatch`,id:e});return}this.syncKernelWatch(e)}}syncKernelWatch(e){let t=this.watchSubs.get(e);if(!t?.length||!this.sender)return;let n=Math.max(...t.map(e=>e.fps)),r=Math.max(...t.map(e=>e.maxWidth)),i=this.kernelWatch.get(e);i&&i.fps===n&&i.maxWidth===r||(this.kernelWatch.set(e,{fps:n,maxWidth:r}),this.sender({type:`computer-watch`,id:e,fps:n,maxWidth:r}))}input(e,t){if(!this.sender)throw Error(`computers store has no kernel sender`);this.sender({type:`computer-input`,id:e,events:t})}recordInvocation(e,t){this.invocations.set(e,t);for(let e of[...this.invocationListeners])e()}newestInvocation(e){return this.invocations.get(e)??null}applyList(e){this.computers=e.computers.slice();let t=new Set(this.computers.map(e=>e.id));for(let e of[...this.invocations.keys()])t.has(e)||this.invocations.delete(e);for(let e of[...this.frames.keys()])t.has(e)||this.frames.delete(e);for(let e of[...this.listListeners])e(this.computers)}applyFrame(e){let t=this.frames.get(e.id);if(t&&t.seq>e.seq)return;let n={seq:e.seq,mime:e.mime,width:e.width,height:e.height,bytes:oo(e.bytes),...e.overCap?{overCap:!0}:{}};this.frames.set(e.id,n);for(let t of[...this.frameListeners])t(e.id,n)}},po=null;function mo(){return po||=new fo,po}var ho=`__slicc_binary__`,go=`b64`;function _o(e){if(!e||typeof e!=`object`)return!1;let t=e;return t[ho]===go&&typeof t.data==`string`}function vo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)}function yo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Uint8Array)&&!_o(e)}function bo(e){if(e instanceof Uint8Array)return{[ho]:go,data:ve(e)};if(Array.isArray(e))return e.map(bo);if(vo(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=bo(r);return t}return e}function xo(e){if(_o(e))return ye(e.data);if(Array.isArray(e))return e.map(xo);if(yo(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=xo(r);return t}return e}var So=n(`panel-transport`);function Co(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function wo(){return{onMessage:e=>{let t=(t,n,r)=>(Co(t)&&e(xo(t)),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:(e,t)=>{let n=bo(e);chrome.runtime.sendMessage({source:`panel`,payload:n}).catch(e=>{So.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var To={summarizing:`summarizing`,fallback:`fallback`,cancelled:`discarded`,idle:`summarized`},Eo=class{mintId;open=new Map;settled=new Map;constructor(e){this.mintId=e}apply(e,t,n,r){if(t===`extracting-memory`)return null;let i=this.open.get(e)??this.lateRetraction(e,t,n)??r;if(t!==`summarizing`&&!i)return null;t!==`summarizing`&&(this.open.delete(e),this.settled.delete(e));let a=i??this.mintId(e);if(t===`summarizing`&&this.open.set(e,a),(t===`idle`||t===`fallback`)&&n.roundId&&this.settled.set(e,{messageId:a,roundId:n.roundId}),t===`cancelled`)return{kind:`retract`,messageId:a};let o={trigger:n.trigger,state:To[t],...n.transcriptPath?{transcriptPath:n.transcriptPath}:{}};return t===`summarizing`?{kind:`open`,messageId:a,marker:o}:{kind:`settle`,messageId:a,marker:o}}forget(e){this.open.delete(e),this.settled.delete(e)}lateRetraction(e,t,n){if(t!==`cancelled`||!n.roundId)return;let r=this.settled.get(e);return r?.roundId===n.roundId?r.messageId:void 0}},Do=2e3,Oo=5e3,G=n(`offscreen-client`),ko=class{eventListeners=new Set;backgroundEventListeners=new Set;backgroundMessageId=new Map;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;compactionRows=new Eo(e=>`compaction-${e}-${K()}`);toolDepth=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;pendingWebhookDeliveries=new Map;pendingAgentSpawnRequests=new Map;pendingThinkingAcks=new Map;streamThinkingByUnit=new Map;pendingModelAcks=new Map;pendingUserMessageAcks=new Map;pendingTranscriptRequests=new Map;pendingChatMessagesRequests=new Map;pendingStatsRequests=new Map;pendingSudoRequests=new Map;transport;_selectedScoopJid=null;get selectedScoopJid(){return this._selectedScoopJid}scoopSelectedListeners=new Set;onScoopSelected(e){return this.scoopSelectedListeners.add(e),()=>{this.scoopSelectedListeners.delete(e)}}setSelectedScoopJid(e){if(this._selectedScoopJid!==e&&(this.handOverOpenMessages(this._selectedScoopJid,e),this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){G.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??wo(),this.setupMessageListener(),mo().setSender(e=>this.send(e))}setLocalFS(e){this.localFs=e}getTransport(){return this.transport}emitAgentError(e){this.emitToUI({type:`error`,error:e})}createAgentHandle(){return{sendMessage:(e,t,n,r)=>{if(!this.selectedScoopJid){this.emitToUI({type:`error`,error:`No scoop selected`});return}this.send({type:`user-message`,scoopJid:this.selectedScoopJid,text:e,attachments:n,messageId:t??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,...r?.steer?{steer:!0}:{},...r?.guestGate?{guestGate:r.guestGate}:{}})},onEvent:e=>(this.eventListeners.add(e),()=>this.eventListeners.delete(e)),stop:()=>{this.selectedScoopJid&&this.send({type:`abort`,scoopJid:this.selectedScoopJid})}}}sendUserMessage(e){if(this.locked)return Promise.reject(Error(`This window is detached. Close it and use the detached tab.`));let t=`um-${K()}`,n=new Promise((e,n)=>{this.pendingUserMessageAcks.set(t,{resolve:e,reject:n})});this.send({type:`user-message`,requestId:t,scoopJid:e.scoopJid,text:e.text,messageId:e.messageId,...e.attachments?{attachments:[...e.attachments]}:{},...e.steer?{steer:!0}:{},...e.guestGate?{guestGate:e.guestGate}:{}});let r,i=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`the kernel did not answer in time`)),Oo)});return Promise.race([n,i]).finally(()=>{r!==void 0&&clearTimeout(r),this.pendingUserMessageAcks.delete(t)})}getScoops(){return this.scoops}getScoop(e){return this.scoops.find(t=>t.jid===e)}isProcessing(e){return this.scoopStatuses.get(e)===`processing`}async registerScoop(e,t={}){if(!k(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&&k(t)&&on(this.scoops).length<=1)throw Error(`Cannot remove the last cone`);this.send({type:`scoop-drop`,scoopJid:e}),this.scoops=this.scoops.filter(t=>t.jid!==e),this.scoopStatuses.delete(e)}createScoopTab(e){}async getGlobalMemory(){if(!this.localFs)return``;try{let e=await this.localFs.readFile(`/shared/CLAUDE.md`,{encoding:`utf-8`});return typeof e==`string`?e:new TextDecoder().decode(e)}catch{return``}}getScoopContext(e){if(this.localFs)return{getFS:()=>this.localFs}}getSharedFS(){return this.localFs}stopScoop(e){this.send({type:`abort`,scoopJid:e})}async clearQueuedMessages(e){}async deleteQueuedMessage(e,t){this.send({type:`delete-queued-message`,scoopJid:e,messageId:t})}updateModel(){this.send({type:`refresh-model`})}setScoopModel(e,t){let n=`model-${K()}`,r=new Promise(e=>{this.pendingModelAcks.set(n,e)});return this.send({type:`set-scoop-model`,requestId:n,scoopJid:e,model:t}),Promise.race([r,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingModelAcks.delete(n))}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t,n){let r=`thinking-${K()}`,i=new Promise(e=>{this.pendingThinkingAcks.set(r,e)});return this.send({type:`set-thinking-level`,requestId:r,scoopJid:e,level:t,effortOverride:n}),Promise.race([i,new Promise(e=>setTimeout(()=>e(!1),5e3))]).finally(()=>this.pendingThinkingAcks.delete(r))}async clearAllMessages(e,t={}){let n=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingClearAcks.set(n,e)});this.send({type:`clear-chat`,requestId:n,...e?{scoopJid:e}:{},...t.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}}),await Promise.race([r,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(n)}spawnAgent(e){let t=`agent-${K()}`,n=new Promise((e,n)=>{this.pendingAgentSpawnRequests.set(t,{resolve:e,reject:n})}),{signal:r,...i}=e;return this.send({type:`agent-spawn-request`,requestId:t,options:i}),r&&(r.aborted?this.send({type:`agent-spawn-abort`,requestId:t}):r.addEventListener(`abort`,()=>this.send({type:`agent-spawn-abort`,requestId:t}),{once:!0})),n}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}async getScoopTranscript(e){let t=`tr-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingTranscriptRequests.set(t,e)});this.send({type:`request-scoop-transcript`,requestId:t,scoopJid:e});let r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(``),5e3))]);return this.pendingTranscriptRequests.delete(t),r}async getMessagesForScoop(e){let t=`cm-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,n=new Promise(e=>{this.pendingChatMessagesRequests.set(t,e)});this.send({type:`request-scoop-chat-messages`,requestId:t,scoopJid:e});let r=!1,i=await Promise.race([n,new Promise(e=>setTimeout(()=>{r=!0,e([])},5e3))]);return this.pendingChatMessagesRequests.delete(t),r&&G.warn(`getMessagesForScoop timed out`,{scoopJid:e}),i}async requestSudoApproval(e,t=6e5){let n=`sudo-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=new Promise(e=>{this.pendingSudoRequests.set(n,e)});this.send({type:`request-sudo-approval`,requestId:n,request:e});let i=await Promise.race([r,new Promise(e=>setTimeout(()=>e({decision:`deny`,reason:`unavailable`}),t))]);return this.pendingSudoRequests.delete(n),i}async getSessionStats(){let e=`st-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingStatsRequests.set(e,t)});this.send({type:`request-session-stats`,requestId:e});let n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(null),5e3))]);return this.pendingStatsRequests.delete(e),n}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}G.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;forwardLickHandler=null;sendSprinkleLick(e,t,n,r){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n,origin:r})}sendToolUiAction(e,t,n){this.send({type:`tool-ui-action`,requestId:e,action:t,data:n})}async sendWebhookEvent(e,t,n){let r=`wh-${K()}`,i=new Promise(e=>{this.pendingWebhookDeliveries.set(r,e)});this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n,requestId:r});try{return await Promise.race([i,new Promise(e=>setTimeout(()=>e(null),Do))])}finally{this.pendingWebhookDeliveries.delete(r)}}sendSetFollowerForwarding(e){this.send({type:`set-follower-forwarding`,enabled:e})}sendForwardedLick(e){this.send({type:`inject-forwarded-lick`,event:e})}setForwardLickHandler(e){this.forwardLickHandler=e}sendCherryHostEvent(e,t,n){this.send({type:`lick-cherry-host-event`,cherryRuntimeId:e,name:t,detail:n})}sendPreviewLick(e){this.send({type:`lick-preview`,event:e})}setSprinkleOpHandler(e){this.sprinkleOpHandler=e}sendRaw(e){this.send(e)}setupMessageListener(){this.transport.onMessage(e=>{if(e.source!==`offscreen`)return;let t=e.payload;t?.type===`sprinkle-op`&&this.sprinkleOpHandler?this.sprinkleOpHandler(t):this.handleOffscreenMessage(e.payload)})}handleOffscreenMessage(e){if(!this.applySurfacePush(e))switch(e.type){case`offscreen-ready`:this.ready?(G.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):G.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.handleCompactionState(e);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`lick-webhook-delivery`:{let t=this.pendingWebhookDeliveries.get(e.requestId);t&&(this.pendingWebhookDeliveries.delete(e.requestId),t(e.disposition));break}case`agent-spawn-result`:this.handleAgentSpawnResult(e);break;case`set-scoop-model-ack`:this.handleScoopModelAck(e);break;case`set-thinking-level-ack`:this.handleThinkingLevelAck(e);break;case`user-message-ack`:this.handleUserMessageAck(e);break;case`scoop-created`:this.handleScoopCreated(e);break;case`scoop-list`:this.handleScoopList(e);break;case`state-snapshot`:this.handleStateSnapshot(e);break;case`error`:this.handleError(e);break;case`lick-backpressure`:this.callbacks.onLickBackpressure?.(e.scoopJid,{count:e.count,waitingMs:e.waitingMs});break;case`incoming-message`:this.handleIncomingMessage(e);break;case`message-updated`:this.handleMessageUpdated(e);break;case`scoop-messages-replaced`:{let t=e;this.resyncStreamPointer(t.scoopJid,t.messages),this.callbacks.onScoopMessagesReplaced?.(t.scoopJid,t.messages,t.queuedIds);break}case`scoop-transcript`:{let t=e,n=this.pendingTranscriptRequests.get(t.requestId);n&&(this.pendingTranscriptRequests.delete(t.requestId),n(t.transcript));break}case`scoop-chat-messages`:{let t=e,n=this.pendingChatMessagesRequests.get(t.requestId);n&&(this.pendingChatMessagesRequests.delete(t.requestId),n(t.messages));break}case`sudo-approval`:{let t=e,n=this.pendingSudoRequests.get(t.requestId);n&&(this.pendingSudoRequests.delete(t.requestId),n(t.decision));break}case`session-stats`:{let t=e,n=this.pendingStatsRequests.get(t.requestId);n&&(this.pendingStatsRequests.delete(t.requestId),n({totalCost:t.totalCost,burnRate:t.burnRate,fills:t.fills,models:t.models??[],scoops:t.scoops??[],...t.budget?{budget:t.budget}:{}}));break}case`tray-runtime-status`:{let t=e;Ao(t.leader,t.follower);break}case`forward-lick`:this.forwardLickHandler?.(e.event)}}applySurfacePush(e){if(e.type===`computers`)return mo().applyList(e),!0;if(e.type===`computer-frame`)return mo().applyFrame(e),!0;switch(e.type){case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:case`terminal-mode`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){G.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}return!0;default:return!1}}handleAgentSpawnResult(e){let t=this.pendingAgentSpawnRequests.get(e.requestId);t&&(this.pendingAgentSpawnRequests.delete(e.requestId),e.ok?t.resolve(e.result):t.reject(Error(e.error)))}terminalEventListeners=new Set;onTerminalEvent(e){return this.terminalEventListeners.add(e),()=>this.terminalEventListeners.delete(e)}resyncStreamPointer(e,t){let n;for(let e=t.length-1;e>=0;e--){let r=t[e];if(r.role===`assistant`&&r.isStreaming){n=r.id;break}}n===void 0?this.currentMessageId.delete(e):this.currentMessageId.set(e,n)}trackToolPhase(e,t){let n=this.toolDepth.get(e)??0,r=t===null?0:Math.max(0,n+t);r===0?this.toolDepth.delete(e):this.toolDepth.set(e,r),n>0!=r>0&&this.callbacks.onScoopPhaseChange?.(e,r>0?`tool`:`thinking`)}handleToolUiAgentEvent(e){if(e.displayScoopJid){let t=`tool-ui-${e.requestId??``}`;e.eventType===`tool_ui`?this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``}):e.eventType===`tool_ui_done`&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});return}if(e.eventType===`tool_ui`){let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${K()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});return}let t=this.currentMessageId.get(e.scoopJid);t&&(e.eventType===`tool_ui_done`?this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``}):e.progress&&this.emitToUI({type:`tool_progress`,messageId:t,toolName:e.toolName??``,progress:e.progress,toolCallId:e.toolCallId}))}handleAgentEvent(e){switch(e.eventType){case`text_delta`:case`tool_start`:case`tool_ui`:case`turn_end`:this.callbacks.onScoopActivity?.(e.scoopJid)}switch(e.eventType){case`tool_start`:this.trackToolPhase(e.scoopJid,1);break;case`tool_end`:this.trackToolPhase(e.scoopJid,-1);break;case`turn_end`:this.trackToolPhase(e.scoopJid,null)}if((e.displayScoopJid??e.scoopJid)!==this.selectedScoopJid){this.translateTranscriptEvent(e,this.backgroundMessageId,t=>this.emitBackground(e.scoopJid,t));return}switch(e.eventType){case`tool_ui`:case`tool_ui_done`:case`tool_progress`:this.handleToolUiAgentEvent(e);break;default:this.translateTranscriptEvent(e,this.currentMessageId,e=>this.emitToUI(e))}}translateTranscriptEvent(e,t,n){let r=()=>{let r=t.get(e.scoopJid);return r||(r=`scoop-${e.scoopJid}-${K()}`,t.set(e.scoopJid,r),n({type:`message_start`,messageId:r})),r};switch(e.eventType){case`text_delta`:n({type:`content_delta`,messageId:r(),text:e.text??``});break;case`tool_start`:n({type:`tool_use_start`,messageId:r(),toolName:e.toolName??``,toolInput:e.toolInput,toolCallId:e.toolCallId});break;case`tool_end`:{let r=t.get(e.scoopJid);r&&n({type:`tool_result`,messageId:r,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError,toolCallId:e.toolCallId});break}case`response_done`:{let r=t.get(e.scoopJid);r&&(n({type:`content_done`,messageId:r,model:e.model,usage:e.usage}),t.delete(e.scoopJid));break}case`turn_end`:{let r=t.get(e.scoopJid)??`done-${e.scoopJid}-${K()}`;t.delete(e.scoopJid),n({type:`turn_end`,messageId:r});break}}}handOverOpenMessages(e,t){let n=(e,t)=>{t&&this.emitBackground(e,{type:`content_done`,messageId:t})};e&&n(e,this.currentMessageId.get(e)),t&&(n(t,this.backgroundMessageId.get(t)),this.backgroundMessageId.delete(t))}onBackgroundUnitEvent(e){return this.backgroundEventListeners.add(e),()=>this.backgroundEventListeners.delete(e)}emitBackground(e,t){for(let n of this.backgroundEventListeners)try{n(e,t)}catch(e){G.error(`Background listener error`,{error:e instanceof Error?e.message:String(e)})}}renderCompactionNotice(e,t,n,r){let i=this.compactionRows.apply(e,t,n,r);i&&e===this.selectedScoopJid&&this.emitToUI({type:`compaction_notice`,messageId:i.messageId,marker:i.kind===`retract`?{trigger:n.trigger,state:`discarded`}:i.marker})}handleCompactionState(e){let t={trigger:e.trigger??`threshold`,...e.transcriptPath?{transcriptPath:e.transcriptPath}:{},...e.failure?{failure:e.failure}:{},...e.roundId?{roundId:e.roundId}:{}};this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state,t),this.renderCompactionNotice(e.scoopJid,e.state,t,e.rowId)}handleScoopStatus(e){let t=this.scoopStatuses.get(e.scoopJid);this.scoopStatuses.set(e.scoopJid,e.status),t!==e.status&&this.trackToolPhase(e.scoopJid,null),this.callbacks.onStatusChange(e.scoopJid,e.status)}handleScoopCreated(e){let t=this.msgScoopToRegistered(e.scoop);this.scoops=this.scoops.filter(e=>e.name!==t.name||e.jid===t.jid),this.scoops.find(e=>e.jid===t.jid)||this.scoops.push(t),this.scoopStatuses.set(t.jid,e.scoop.status),this.callbacks.onScoopCreated(t)}wireScoops(){return this.scoops.map(e=>{let t=cn(e),n=ln(e),r={...e.config,...t?{modelId:t.id,modelProviderId:t.provider}:{},...n.level?{thinkingLevel:n.level}:{},...n.effortOverride?{effortOverride:n.effortOverride}:{}};return{jid:e.jid,name:e.name,folder:e.folder,parentId:e.parentJid,assistantLabel:e.assistantLabel,status:this.scoopStatuses.get(e.jid)??`ready`,...Object.keys(r).length>0?{config:r}:{}}})}handleScoopModelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&(t.model=e.model?{...e.model}:void 0,this.callbacks.onScoopListUpdate(this.wireScoops()))}this.pendingModelAcks.get(e.requestId)?.(e.applied)}getStreamThinking(e){return this.streamThinkingByUnit.get(e)}handleThinkingLevelAck(e){if(e.applied){let t=this.getScoop(e.scoopJid);t&&an(t,e.level===void 0?void 0:{level:e.level,effortOverride:e.effortOverride}),e.resolvedLevel&&this.streamThinkingByUnit.set(e.scoopJid,{level:e.resolvedLevel===`max`?`xhigh`:e.resolvedLevel,...e.resolvedEffortOverride?{effortOverride:e.resolvedEffortOverride}:{}})}this.pendingThinkingAcks.get(e.requestId)?.(e.applied)}handleUserMessageAck(e){let t=this.pendingUserMessageAcks.get(e.requestId);t&&(e.ok?t.resolve():t.reject(Error(e.error?.trim()||`the kernel refused the message`)))}handleScoopList(e){this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){G.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&Ao(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){let t={type:`error`,error:e.error,...e.endTurn===!1?{endTurn:!1}:{}};e.scoopJid===this.selectedScoopJid?this.emitToUI(t):e.scoopJid&&this.emitBackground(e.scoopJid,t)}handleIncomingMessage(e){this.callbacks.onIncomingMessage(e.scoopJid,e.message)}handleMessageUpdated(e){this.callbacks.onMessageUpdate?.(e.scoopJid,{messageId:e.messageId,lickId:e.lickId,lickState:e.lickState})}msgScoopToRegistered(e){return rn({jid:e.jid,name:e.name,folder:e.folder,parentJid:e.parentId,requiresTrigger:e.parentId!==null,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}})}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){G.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function K(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function Ao(e,t){tn({state:e.state,error:e.error,reconnectAttempts:e.reconnectAttempts,session:e.session?{...e.session}:null}),pt({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 jo(e){let t=e.createAgentHandle(),n=null,r=null;return{onAgentEvent:e=>t.onEvent(e),sendSprinkleLick:(t,n,r,i)=>e.sendSprinkleLick(t,n,r,i?{unitJid:i}:void 0),sendToolUiAction:(t,n,r)=>e.sendToolUiAction(t,n,r),deleteQueuedMessage:(t,n)=>e.deleteQueuedMessage(t,n),emitAgentError:t=>e.emitAgentError(t),getRecord:t=>e.getScoops().find(e=>e.jid===t),speaksReplies:!0,takeAttachments:()=>n?.(),onTurnIdle:()=>r?.(),welcome:{intercept:null},setAttachmentSource:e=>{n=e},setTurnIdleHook:e=>{r=e}}}var Mo={onAgentEvent:()=>()=>void 0,sendSprinkleLick:()=>void 0,sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.resolve(),emitAgentError:()=>void 0},No=`A follower cannot cancel the leader’s queued message`;function Po(e){return{onAgentEvent:e.onAgentEvent,sendSprinkleLick:(t,n,r)=>e.getSync()?.sendSprinkleLick(t,n,r),sendToolUiAction:()=>void 0,deleteQueuedMessage:()=>Promise.reject(Error(No)),emitAgentError:e.onAgentError,readOnlyToolUi:!0}}function q(e){return!e.includes(`\0`)}function Fo(e){if(typeof window>`u`||window.localStorage===void 0)return()=>void 0;let t=window.localStorage,n=typeof Storage<`u`&&t instanceof Storage,r=n?Storage.prototype.setItem:t.setItem.bind(t),i=n?Storage.prototype.removeItem:t.removeItem.bind(t),a=n?Storage.prototype.clear:t.clear.bind(t);if(n){let n=Storage.prototype;n.setItem=function(n,i){if(r.call(this,n,i),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,n);return}e.send({type:`local-storage-set`,key:n,value:i})}},n.removeItem=function(n){if(i.call(this,n),this===t){if(!q(n)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,n);return}e.send({type:`local-storage-remove`,key:n})}},n.clear=function(){a.call(this),this===t&&e.send({type:`local-storage-clear`})}}else{let n=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};n(`setItem`,(t,n)=>{if(r(t,n),!q(t)){console.warn(`[page-storage-sync] dropping localStorage write with NUL in key`,t);return}e.send({type:`local-storage-set`,key:t,value:n})}),n(`removeItem`,t=>{if(i(t),!q(t)){console.warn(`[page-storage-sync] dropping localStorage remove with NUL in key`,t);return}e.send({type:`local-storage-remove`,key:t})}),n(`clear`,()=>{a(),e.send({type:`local-storage-clear`})})}let o=n=>{if(n.storageArea===t){if(n.key===null){e.send({type:`local-storage-clear`});return}if(q(n.key)){if(n.newValue===null){e.send({type:`local-storage-remove`,key:n.key});return}e.send({type:`local-storage-set`,key:n.key,value:n.newValue})}}};return window.addEventListener(`storage`,o),()=>{if(n)Storage.prototype.setItem=r,Storage.prototype.removeItem=i,Storage.prototype.clear=a;else{let e=(e,n)=>{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0,enumerable:!1})};e(`setItem`,r),e(`removeItem`,i),e(`clear`,a)}window.removeEventListener(`storage`,o)}}function Io(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 Lo(e){let t=Io(e);return{onMessage:e=>t.onMessage(e),send:(e,n)=>{t.send({source:`panel`,payload:e},n)}}}async function Ro(e,t,n,r,i,a){let o=e;if(o?.type){if(o.type===`cdp-cmd`){let r=e;if((r.gen??a())<a()){n.send({type:`cdp-response`,id:r.id,error:`dropped: command crossed a CDP connection reset in flight`});return}try{i&&t.state!==`connected`&&t.superseded!==!0&&await i();let e=await t.send(r.method,r.params,r.sessionId);n.send({type:`cdp-response`,id:r.id,result:e})}catch(e){n.send({type:`cdp-response`,id:r.id,error:e instanceof Error?e.message:String(e)})}return}if(o.type===`cdp-subscribe`){let i=e;if(r.has(i.event))return;let a=e=>{n.send({type:`cdp-event`,method:i.event,params:e})};r.set(i.event,a),t.on(i.event,a);return}if(o.type===`cdp-unsubscribe`){let n=e,i=r.get(n.event);if(!i)return;r.delete(n.event),t.off(n.event,i)}}}function zo(e,t){for(let[n,r]of t)e.off(n,r),e.on(n,r)}var Bo=1e4;function Vo(e){return new Promise((t,n)=>{let r=!1,i=null,a=null,o=e=>{r||(r=!0,clearTimeout(s),a&&clearInterval(a),i?.(),e?n(e):t())},s=setTimeout(()=>o(Error(`page CDP client is still connecting`)),Bo),c=e=>{e===`connected`?o():e===`disconnected`&&o(Error(`page CDP client failed to reconnect`))};e.onStateChange?i=e.onStateChange(e=>c(e)):a=setInterval(()=>c(e.state),50),c(e.state)})}function Ho(e,t,n={}){let r=Io(e),i=null,a=n.reconnect?()=>(i||=(t.state===`connecting`?Vo(t):n.reconnect()).finally(()=>{i=null}),i):null,o=new Map,s=r.onMessage(e=>{Ro(e,t,r,o,a,()=>l)}),c=t.state,l=0,u=t.onStateChange?.((e,n)=>{if(e!==c){if(c=e,e===`disconnected`){l+=1,r.send({type:`cdp-reset`,reason:n??`page CDP client disconnected`});return}e===`connected`&&(zo(t,o),r.send({type:`cdp-ready`}))}});return()=>{s(),u?.();for(let[e,n]of o)t.off(e,n);o.clear()}}function Uo(){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 Wo(e){let t=null,n=!1,r=!1,i=!1,a=0,o=Date.now(),s,c=()=>{t!==null&&(clearTimeout(t),t=null)},l=()=>{c(),!(n||r||i)&&(t=setTimeout(()=>{if(n||r||i)return;if(a+=1,a<e.readyStallLimit){e.onReadyStall?.({elapsedMs:Date.now()-o,stalls:a,stage:s}),l();return}i=!0,c();let t=e.readyTimeoutMs*e.readyStallLimit,u=s?` (last progress: ${s})`:``;e.onExhausted(`Kernel worker did not signal ready within ${t}ms${u}`)},e.readyTimeoutMs))};return{pause(){r||i||(n=!0,c())},restart(){r||i||(n=!1,a=0,o=Date.now(),l())},arm:l,clear(){r=!0,c()},noteProgress(t){r||i||(t&&(s=t,e.onBootProgress?.(t)),!n&&(a=0,l()))},timedOut:()=>i}}function Go(e,t,n){let r=()=>{},i=()=>{},a=()=>{};return{ready:new Promise((o,s)=>{let c=null,l=Wo({readyTimeoutMs:n,readyStallLimit:Math.max(1,t.readyStallLimit??(t.onReadyStall?3:1)),onReadyStall:t.onReadyStall,onBootProgress:t.onBootProgress,onExhausted:e=>{t.onLateReady||r(),s(Error(e))}});i=()=>l.pause(),a=()=>l.restart(),r=()=>{c!==null&&(e.removeEventListener(`message`,c),c=null),l.clear()},c=e=>{let n=e.data;if(n?.type===`kernel-worker-boot-progress`){l.noteProgress(n.stage);return}if(n?.type===`kernel-worker-ready`){if(r(),l.timedOut()){t.onLateReady?.();return}o();return}if(n?.type===`kernel-worker-boot-error`){r();let e=n.message??`unknown error`,t=n.code,i=Error(`Kernel worker boot failed: ${e}`);t&&(i.code=t),s(i)}},e.addEventListener(`message`,c),l.arm()}),cleanup:()=>r(),pauseReadyDeadline:()=>i(),restartReadyDeadline:()=>a()}}function Ko(e){let{worker:t,realCdpTransport:n}=e,r=e.readyTimeoutMs??3e4,i=e.localStorageSeed??{},a=new MessageChannel,o=new MessageChannel,s=Lo(a.port1),c=e.makeClient(s);e.onWorkerScriptError&&e.worker.addEventListener?.(`error`,()=>e.onWorkerScriptError());let l=Ho(o.port1,n,{...e.reconnectCdp?{reconnect:e.reconnectCdp}:{}}),{ready:u,cleanup:d,pauseReadyDeadline:f,restartReadyDeadline:p}=Go(a.port1,e,r),m={type:`kernel-worker-init`,kernelPort:a.port2,cdpPort:o.port2,localStorageSeed:i,instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl??null,bridgeToken:e.bridgeToken??null,syncFsBridgeEnabled:e.syncFsBridgeEnabled??!1,syncFsChannelNonce:e.syncFsChannelNonce??null,localLickWsUrl:e.localLickWsUrl??null,extensionDelegateId:e.extensionDelegateId??null,pageBuildId:`6.243.3-mv0g70ow`,pageLoadedAt:globalThis.performance?.timeOrigin??Date.now(),flagFloat:e.flagFloat??null,appPageUrl:globalThis.location?.href??null};t.postMessage(m,[a.port2,o.port2]);let h=!1;return{client:c,ready:u,pauseReadyDeadline:f,restartReadyDeadline:p,dispose(){if(!h){h=!0,d(),l();try{t.postMessage({type:`kernel-worker-shutdown`})}catch{}t.terminate(),a.port1.close(),o.port1.close()}}}}function qo(e){return Ko({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-DmM9pRNV.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,reconnectCdp:e.reconnectCdp,makeClient:e.makeClient,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??Uo(),instanceId:e.instanceId,localApiBaseUrl:e.localApiBaseUrl,bridgeToken:e.bridgeToken,syncFsBridgeEnabled:e.syncFsBridgeEnabled,syncFsChannelNonce:e.syncFsChannelNonce,localLickWsUrl:e.localLickWsUrl,extensionDelegateId:e.extensionDelegateId,flagFloat:e.flagFloat,onWorkerScriptError:e.onWorkerScriptError,onReadyStall:e.onReadyStall,readyStallLimit:e.readyStallLimit,onLateReady:e.onLateReady,onBootProgress:e.onBootProgress})}var Jo=1048576,Yo=`r`;function Xo(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Zo(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Qo(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++)Qo(e[r],`${t}/${r}`,n);return}if(Zo(e))for(let[r,i]of Object.entries(e))Qo(i,`${t}/${Xo(r)}`,n)}function $o(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=$o(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}if(Zo(e)){let r=!1,i={};for(let[a,o]of Object.entries(e)){let e=$o(o,`${t}/${Xo(a)}`,n);e!==o&&(r=!0),i[a]=e}return r?i:e}return e}function es(e,t,n){if(Zo(e))return $o(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=es(e[a],`${t}/${a}`,n);o!==e[a]&&(r=!0),i.push(o)}return r?i:e}return e}function ts(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 ns(e,t,n){let r=[],i=0;for(;i<e.length;){if(n?.aborted)throw new w(`redaction-unavailable`);let a=0,o=i;for(;o<e.length;){let t=e[o].length;if(o>i&&a+t>Jo)break;a+=t,o++}let s=e.slice(i,o),c;try{c=await t.redact(s,n)}catch{throw new w(`redaction-unavailable`)}if(c.length!==s.length)throw new w(`redaction-unavailable`);r.push(...c),i=o}return r}function rs(e,t,n,r){let i=[],a=ts(e);for(let{category:e,id:t}of a.values())i.push({id:t,category:e,detector:`pre-obfuscated`,target:n});let o=ts(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}=Ze(t,Yo,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 is(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 as(e,t,n,r){if(r?.aborted)throw new w(`redaction-unavailable`);let{privacy:i,...a}=e,o=[];Qo(a,``,o);let s=o.filter(e=>!Re(e.pointer)),c=[...t.entries()],l=await ns([...s.map(e=>e.value),...c.map(([,e])=>e)],n,r),u=[],d={},f=1,p=new Map,m=[];for(let e=0;e<s.length;e++){let t=s[e],n=rs(t.value,l[e],{kind:`json`,pointer:t.pointer},f);f=n.nextId,n.finalText!==t.value&&p.set(t.pointer,n.finalText),m.push(n)}is(m,u,d);let h=new Map,g=s.length,_=[];for(let e=0;e<c.length;e++){let[t,n]=c[e],r=rs(n,l[g+e],{kind:`attachment`,attachmentId:t},f);f=r.nextId,h.set(t,r.finalText),_.push(r)}is(_,u,d);let v=es(e,``,p);return{document:{...v,privacy:{...v.privacy,redactionCounts:d,redactions:u}},textAttachments:h}}function os(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`}var ss={"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 cs(e,t){return ss[e]??(t===`text-redacted`?`.txt`:`.bin`)}function ls(e,t,n){return`attachments/att-${String(e+1).padStart(4,`0`)}${cs(t,n)}`}function us(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 ds(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 fs(e,t,n,r,i){let a=os(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(us(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=us(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 ps(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:us(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(fs(c.a,s.attachmentId,s.conversationId,s.messageId,r))}return{pendingPromises:i,mismatchedConvIds:a,processedUiPositions:o}}function ms(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 hs(e,t,n,r,i,a,o){let s=ms(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(fs(i,l,n,e.id,o)),c.push({type:`attachment-ref`,attachmentId:l}))}return c}function gs(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=hs(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 _s(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,ls(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 vs(e,t,n,r,i){let{rawAttachments:a,textMap:o}=_s(e,n),s,c;try{let e=await as({...t,attachments:a},o,r,i);s=e.document,c=e.textAttachments}catch(e){throw e instanceof w?e:new w(`attachment-unreadable`)}let l=new Map;for(let t of e){if(l.has(t.attachmentId))throw new w(`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 w(`schema-invalid`);let n=t.handling===`text-redacted`?new TextEncoder().encode(c.get(t.attachmentId)??t.rawText??``):t.rawBytes,r=await Pe(n);return u.set(e.path,n),{...e,byteLength:n.length,sha256:r}}));return{redactedDocument:{...s,attachments:d},bundleFiles:u}}async function ys(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}=ps(ds(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}=gs(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 vs(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 bs=50;function xs(e){return dn(e)}function Ss(e,t){return e.map(e=>{let n=t.isProcessing(e.jid)?`1`:`0`,r=t.getAgentMessages(e.jid);if(r===null)return`${e.jid}:${n}:null`;let i=r.length,a=r[i-1],o=a?.role??``,s=a&&`timestamp`in a?a.timestamp:-1,c=a&&`toolCallId`in a?a.toolCallId:``;return`${e.jid}:${n}:${i}:${o}:${s}:${c}`}).join(`,`)}function Cs(e,t,n,r){let i=new Map;for(let e of t)i.set(e.id,e);let a=new Map;for(let e of n)a.set(e.id,e);let o=[],s=new Map;for(let t of e){let e=r.getAgentMessages(t.jid)??i.get(t.jid)?.messages??[],n={id:t.jid,kind:k(t)?`cone`:`scoop`,name:t.name,...t.folder&&!k(t)?{folder:t.folder}:{},...t.parentJid?{parentConversationId:t.parentJid}:{},...t.originToolCallId?{originToolCallId:t.originToolCallId}:{},messages:e};o.push(n);let c=xs(t),l=a.get(c);l&&s.set(t.jid,l.messages)}return{sources:o,chatMessagesByConversation:s}}async function ws(e,t,n={}){let r=e=>n.rootJid===void 0?e:un(e,n.rootJid);for(;;){let n=r(e.listScoops());for(;n.some(t=>e.isProcessing(t.jid));)if(t?.aborted||(await e.wait(bs,t),t?.aborted))throw new w(`transfer-aborted`);let i=Ss(n,e),[a,o]=await Promise.all([e.loadPersistedSessions(),e.loadUiChatSessions()]);if(t?.aborted)throw new w(`transfer-aborted`);let s=r(e.listScoops());if(i===Ss(s,e))return Cs(s,a,o,e)}}function Ts(e,t){return`${e}-msg-${t.toString().padStart(6,`0`)}`}function Es(e,t){return{type:`attachment-ref`,attachmentId:`${e}-img-${t}`}}function Ds(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(Es(t,r++));return n}function Os(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=Es(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 ks(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=Es(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 As(e,t,n){let r=Ts(t,n),i=Ds(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 js(e,t,n){let r=Ts(t,n),{blocks:i,excluded:a,images:o}=Os(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 Ms(e,t,n){let r=Ts(t,n),{blocks:i,images:a}=ks(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 Ns(e,t,n){return e.role===`user`?As(e,t,n):e.role===`assistant`?js(e,t,n):e.role===`toolResult`?Ms(e,t,n):{message:null,excludedReasoningBlocks:0,images:new Map}}function Ps(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 Fs(e){let t=0,n=new Map;return{conversations:e.map(e=>{let r=e.messages.flatMap((r,i)=>{let a=Ns(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:Ps(e),excludedReasoningBlocks:t,canonicalImages:n}}var Is=(()=>{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 Ls(e){let t=-1>>>0;for(let n=0;n<e.length;n++)t=t>>>8^Is[(t^e[n])&255];return~t>>>0}var Rs=new TextEncoder;function J(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255}function Y(e,t,n){e[t]=n&255,e[t+1]=n>>>8&255,e[t+2]=n>>>16&255,e[t+3]=n>>>24&255}function zs(e,t,n){let r=new Uint8Array(30+e.length);return r[0]=80,r[1]=75,r[2]=3,r[3]=4,J(r,4,20),J(r,6,2048),J(r,8,0),J(r,10,0),J(r,12,0),Y(r,14,n),Y(r,18,t),Y(r,22,t),J(r,26,e.length),J(r,28,0),r.set(e,30),r}function Bs(e,t,n,r){let i=new Uint8Array(46+e.length);return i[0]=80,i[1]=75,i[2]=1,i[3]=2,J(i,4,20),J(i,6,20),J(i,8,2048),J(i,10,0),J(i,12,0),J(i,14,0),Y(i,16,n),Y(i,20,t),Y(i,24,t),J(i,28,e.length),J(i,30,0),J(i,32,0),J(i,34,0),J(i,36,0),Y(i,38,0),Y(i,42,r),i.set(e,46),i}function Vs(e,t,n){let r=new Uint8Array(22);return r[0]=80,r[1]=75,r[2]=5,r[3]=6,J(r,4,0),J(r,6,0),J(r,8,e),J(r,10,e),Y(r,12,t),Y(r,16,n),J(r,20,0),r}function Hs(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 Us(e){let t=e.export.generatedAt.slice(0,10),n=e.export.id.slice(0,8);return`slicc-${t}-${Ie(e.session.title,{maxLen:40,fallback:`transcript`})}-${n}.zip`}async function*Ws(e,t,n,r,i){if(n?.aborted)throw i(new w(`transfer-aborted`)),new w(`transfer-aborted`);let a=()=>i(new w(`transfer-aborted`));n?.addEventListener(`abort`,a,{once:!0});let o=Ct.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=Rs.encode(`transcript.json`),f=Ls(i),p=zs(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 w(`transfer-aborted`);yield*d(i);for(let[e,r]of t){if(n?.aborted)throw new w(`transfer-aborted`);let t=Rs.encode(e),i=Ls(r),a=zs(t,r.length,i);if(l.push({nameBytes:t,size:r.length,crc:i,localOffset:c}),yield*d(a),n?.aborted)throw new w(`transfer-aborted`);yield*d(r)}let m=c;for(let e of l){if(n?.aborted)throw new w(`transfer-aborted`);yield*d(Bs(e.nameBytes,e.size,e.crc,e.localOffset))}if(n?.aborted)throw new w(`transfer-aborted`);yield*d(Vs(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 w(`transfer-aborted`)))}}var Gs=4294967295,Ks=65535;function qs(e,t,n){for(let e of t.keys())if(!Hs(e))throw new w(`schema-invalid`);if(t.size+1>Ks)throw new w(`schema-invalid`);for(let e of t.values())if(e.byteLength>Gs)throw new w(`schema-invalid`);let r,i,a=new Promise((e,t)=>{r=e,i=t});return{filename:Us(e),chunks:Ws(e,t,n,r,i),completion:a}}function Js(e,t,n,r,i,a={}){return{schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:i},format:ze},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 Ys(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 Xs(e){let t=Le(e);if(!t.ok)throw new w(`schema-invalid`,t.error)}function Zs(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 Qs(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);return n?{...e,byteLength:n.length,sha256:await Pe(n)}:e}))}function $s(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 ec=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),Xs(i.document),r?.({phase:`packaging`}),qs(i.document,i.bundleFiles,n)}async captureFrozen(e,t){let n=await ws(this.deps.collection,t,{...e.rootJid?{rootJid:e.rootJid}:{}});if(e.rootJid&&n.sources.length===0)return;let r=Fs(n.sources),{document:i,bundleFiles:a}=await ys({document:Js(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});if(Xs(i),t?.aborted)throw new w(`transfer-aborted`);try{await this.deps.snapshotStore.write(e.sessionId,{document:i,attachments:a},t)}finally{this.deps.snapshotStore.discardIfUnindexed?.(e.sessionId)?.catch(()=>void 0)}}async buildActiveSnapshot(e,t){t?.({phase:`waiting-for-conversations`}),t?.({phase:`collecting`});let n=await ws(this.deps.collection,e),r=Fs(n.sources),{id:i,title:a}=this.deps.getActiveSessionInfo(),o=Js(i,a,`active`,r,this.deps.version);return t?.({phase:`redacting`}),ys({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;try{r=await this.deps.snapshotStore.read(e)}catch(e){if(!(e instanceof w)||e.code!==`session-not-found`)throw e;r=null}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 as(e.document,n,this.deps.knownSecrets,t);r=a.document,i=a.textAttachments}catch{throw new w(`redaction-unavailable`)}let a=Zs(r.attachments,i,e.attachments),o=await Qs(r.attachments,a);return{document:{...r,attachments:o},bundleFiles:a}}async buildLegacyPartial(e,n,r){let i=(await O(this.deps.vfs)).find(t=>t.sessionId===e||!t.sessionId&&t.filename===e);if(!i)throw new w(`session-not-found`);let a;try{let e=await this.deps.vfs.readFile(`/sessions/${i.filename}`,{encoding:`utf-8`});a=typeof e==`string`?e:new TextDecoder().decode(e)}catch{throw new w(`session-not-found`)}let{loadFrozenArchive:o}=await t(async()=>{let{loadFrozenArchive:e}=await import(`./session-jsonl-Aeyy6bYO.js`).then(e=>e.i);return{loadFrozenArchive:e}},__vite__mapDeps([54,1,49,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50])),{title:s,messages:c}=await o(this.deps.vfs,a,i.filename),l=`legacy-cone`,u=Ys(c,l),d=$s(a),f={schemaVersion:1,export:{id:crypto.randomUUID(),generatedAt:new Date().toISOString(),producer:{application:`slicc`,version:this.deps.version},format:ze},session:{id:e,title:s,state:`frozen`,...i.frozenAt?{frozenAt:i.frozenAt}:{},...d,completeness:{status:`partial`,missing:[`complete-snapshot-unavailable`,`canonical-agent-history-unavailable`]}},privacy:{reasoningExcluded:!0,excludedReasoningBlocks:0,binaryAttachments:`included-unchanged`,redactionCounts:{},redactions:[]},conversations:[{id:l,kind:`cone`,name:s,messages:u}],delegations:[],attachments:[]},p=new Map([[l,c]]);return r?.({phase:`redacting`}),ys({document:f,chatMessagesByConversation:p,knownSecrets:this.deps.knownSecrets,vfsReader:e=>this.readBinaryFromVfs(e),signal:n})}async readBinaryFromVfs(e){let t=await this.deps.vfs.readFile(e,{encoding:`binary`});if(!(t instanceof Uint8Array))throw new w(`attachment-unreadable`);return t}};function tc(e){return`error`in e}function X(){throw new w(`redaction-unavailable`)}function nc(e,t){return(typeof e!=`object`||!e||!Array.isArray(e.texts)||e.texts.length!==t)&&X(),e.texts}function rc(){return{async redact(e){let t;try{t=await fetch(tt(`/api/secrets/redact-export`),{method:`POST`,headers:nt({"content-type":`application/json`}),body:JSON.stringify({texts:e})})}catch{X()}t.ok||X();let n;try{n=await t.json()}catch{X()}return nc(n,e.length)}}}function ic(){return{async redact(e){let t;try{t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.redact-export`,texts:e},e=>{chrome.runtime.lastError,t(e??null)})})}catch{X()}return typeof t==`object`&&t&&tc(t)&&X(),nc(t,e.length)}}}function ac(){return{async redact(e){let t;try{t=await it(`secrets.redact-export`,{texts:e})}catch{X()}return t??X(),typeof t==`object`&&t&&tc(t)&&X(),nc(t,e.length)}}}function oc(){return{async redact(e){X()}}}function sc(){let e=rt();return e===`connect`?oc():e===`extension-direct`?ic():e===`extension-delegate`?ac():rc()}var cc=`Restoring session…`,lc=`slicc-restoring-session`;function uc(e){let t=e.querySelector(`:scope > .slicc-thread__inner`)??e;for(let e of t.children)if(!e.classList.contains(lc))return!1;return!0}function dc(e,t){let n=e.querySelector(`:scope > .slicc-thread__inner`)??e,r=n.querySelector(`:scope > .${lc}`);if(!t){r?.remove();return}if(r)return;let i=e.ownerDocument.createElement(`p`);i.className=lc,i.textContent=cc,n.append(i)}function Z(e){switch(e){case`processing`:return`working`;case`error`:return`broken`;case`initializing`:return`initializing`;default:return`idle`}}function fc(e,t={}){let n=Z(t.status),r=cn(e);return{id:e.jid,parentId:e.parentJid,role:k(e)?`primary`:`child`,name:e.name,folder:e.folder,assistantLabel:e.assistantLabel,state:n,...n===`working`&&t.phase?{phase:t.phase}:{},...n===`idle`&&t.awaiting?{awaiting:!0}:{},fill:typeof t.fill==`number`?Math.round(t.fill*100):0,...typeof t.turns==`number`?{turns:t.turns}:{},...r?{model:r}:{},...e.trigger?{trigger:e.trigger}:{},...e.addedAt?{addedAt:e.addedAt}:{}}}function pc(e,t=Date.now){let n=e.parentId===null,r=e.folder??e.name,i=n?e.config:mc(e,r),a={jid:e.id??(n?`cone_${t()}`:`scoop_${r}_${t()}`),name:e.name,folder:r,requiresTrigger:!n,assistantLabel:n?`sliccy`:r,addedAt:new Date(t()).toISOString(),parentJid:e.parentId,...i?{config:i,configSchemaVersion:3}:{},...e.notifyOnComplete===!1?{notifyOnComplete:!1}:{},...!n&&e.onParentClose===`detach`?{onParentClose:`detach`}:{}};return n||(a.trigger=`@${r}`),a}function mc(e,t){let n=sn(e.workspace?.mode??e.config?.workspaceMode),r=e.workspace?.from??`/workspace`,i=gn(n,t,{root:r},e.workspace?.from),a=e.config;return{...a,workspaceMode:n,visiblePaths:a?.visiblePaths===void 0?i.visiblePaths:a.visiblePaths,writablePaths:a?.writablePaths===void 0?i.writablePaths:a.writablePaths}}var hc=`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;font:inherit;font-size:0.875rem;`,gc=`${hc}border:none;background:var(--s2-accent-color,#0265dc);color:#fff;`,_c=`${hc}border:none;background:#d23;color:#fff;`,vc=`${hc}background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);color:inherit;`;function yc(e,t,n){return{...pc({parentId:null,name:e,folder:`cone-pending-${t.length+1}`}),assistantLabel:e,...n?{model:n}:{}}}function bc(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 xc(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 Sc(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=()=>Kn(e.getUnits(),e.getSelected()),u=t=>e.getUnits().find(e=>e.id===t.jid)??fc(t),d=()=>{if(!s)return;let e=s;s=null,e.hide?.(),e.remove()},f=e=>{d();let t=bc(i,{...e,onDismiss:e=>{s===e&&(s=null),e.remove()}});s=t,i.body.append(t),t.show?.()},p=t=>{if(!t.name)return;d();let i=l(),o=yc(t.name,n.getScoops(),Vn(e.getUnits(),i?.id));a=t.name,n.registerScoop(o,t.brief?{description:t.brief,prompt:t.brief}:{}).catch(e=>r.warn(`WC cone create failed`,e)),_()},m=()=>{let e=xc(i,p);f({heading:`New cone`,body:e,actions:[{text:`Create`,style:gc,data:`create`,onClick:()=>p(e.readDraft())},{text:`Cancel`,style:vc,data:`cancel`,onClick:d}]}),queueMicrotask(()=>e.querySelector(`input`)?.focus())},h=t=>{d();let i=on(n.getScoops()),a=i.find(e=>e.jid===t);if(!a||i.length<=1||o){_();return}o=!0,_(),(async()=>{try{await e.freezeCone(a)}catch(e){r.warn(`WC cone freeze before drop failed`,e)}let t=l()?.id===a.jid;try{await n.unregisterScoop(a.jid)}catch(e){r.warn(`WC cone drop failed`,e)}if(t){let t=on(n.getScoops()).find(e=>e.jid!==a.jid);t&&e.selectScoop(u(t))}o=!1,_()})()},g=e=>{let t=Wn(e),n=i.createElement(`p`);n.textContent=`Its chat goes to the Freezer.`,n.style.cssText=`font-size:0.875rem;margin:0;`,f({heading:`Drop ${t}?`,body:n,actions:[{text:`Drop`,style:_c,data:`drop`,onClick:()=>h(e.id)},{text:`Cancel`,style:vc,data:`cancel`,onClick:d}]})},_=()=>{let t=on(n.getScoops());if(a!==null){let n=t.find(e=>e.name===a&&!e.folder.startsWith(`cone-pending-`));n&&(a=null,e.getSelected()?.id!==n.jid&&e.selectScoop(u(n)))}let r=c();r?.setAttribute(`cones`,String(t.length)),r?.toggleAttribute(`busy`,o)};return t.addEventListener(`new-cone`,m),t.addEventListener(`drop-cone`,()=>{let e=l();!e||on(n.getScoops()).length<=1||o||g(e)}),_(),{refresh:_,dialog:()=>s}}var Cc={"gelatiere-dismiss":{consume:!0,mode:`dismiss`},"gelatiere-install":{consume:!1,mode:`take`},"gelatiere-try":{consume:!1,mode:`take`}};function wc(e){return n=>{if(n.type!==`sprinkle`||n.sprinkleName!==`welcome`&&n.sprinkleName!==`inline`&&n.sprinkleName!==`suggestions`)return!1;let r=n.body,i=Cc[typeof r?.action==`string`?r.action:``];if(!i)return!1;let a=r?.data,o=typeof a?.id==`string`&&a.id?a.id:null;return o&&e.openVfs().then(async e=>{let n=await t(()=>import(`./wc-shell-C6n7vd_q.js`).then(e=>e.mt),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));return i.mode===`dismiss`?n.dismissGelatiereSuggestion(e,o):n.takeGelatiereSuggestion(e,o)}).catch(t=>e.log.warn(`gelatiere card settlement failed`,t)),i.consume}}var Tc=5e3,Ec=class{deps;listListeners=new Set;unitListeners=new Map;lastSnapshots=new Map;orphanedReplays=new Map;retriedSnapshots=new Set;pendingSnapshots=new Map;constructor(e){this.deps=e}toSummary(e){return fc(e,{awaiting:this.deps.getAwaiting?.()===e.jid,fill:this.deps.fills.get(e.jid),phase:this.deps.phases.get(e.jid),status:this.deps.statuses.get(e.jid),turns:this.deps.turns?.get(e.jid)})}snapshotFor(e,t,n){let r=this.deps.getClient()?.getScoops().find(t=>t.jid===e);return r?{summary:this.toSummary(r),messages:t,...n?{queuedIds:n}:{}}:null}currentUnits(){return(this.deps.getClient()?.getScoops()??[]).map(e=>this.toSummary(e))}publishSnapshot(e,t){this.retriedSnapshots.delete(e),this.lastSnapshots.set(e,t),this.emit(e,{snapshot:t,type:`snapshot`});let n=this.pendingSnapshots.get(e);if(n){this.pendingSnapshots.delete(e);for(let e of n)e(t)}}drainOrphanedReplays(){for(let[e,t]of this.orphanedReplays){let n=this.snapshotFor(e,t.messages,t.queuedIds);n&&(this.orphanedReplays.delete(e),this.publishSnapshot(e,n))}}recoverUnanswered(e){if(this.unitListeners.has(e)){if(this.retriedSnapshots.has(e)){this.publishRecovery(e);return}this.retriedSnapshots.add(e),this.deps.getClient()?.requestScoopMessages(e),setTimeout(()=>{this.retriedSnapshots.has(e)&&this.publishRecovery(e)},Tc)}}publishRecovery(e){if(!this.unitListeners.has(e))return;let t=this.lastSnapshots.get(e),n=this.deps.getClient()?.getScoops().find(t=>t.jid===e);this.emit(e,{snapshot:{messages:t?.messages??[],...n?{summary:this.toSummary(n)}:{}},type:`snapshot`})}forgetWaiter(e,t){let n=this.pendingSnapshots.get(e);n&&(n.delete(t),n.size===0&&this.pendingSnapshots.delete(e))}emitList(){if(this.drainOrphanedReplays(),this.listListeners.size===0)return;let e=this.currentUnits();for(let t of this.listListeners)t(e)}emit(e,t){let n=this.unitListeners.get(e);if(n)for(let e of n)e(t)}wrapCallbacks(e){return{...e,onStatusChange:(t,n)=>{e.onStatusChange(t,n),this.emit(t,{state:Z(n),type:`status`}),this.emitList()},onScoopCreated:t=>{e.onScoopCreated(t),this.emitList()},onScoopListUpdate:t=>{e.onScoopListUpdate(t),this.emitList()},onScoopPhaseChange:(t,n)=>{e.onScoopPhaseChange?.(t,n),this.emitList()},onIncomingMessage:(t,n)=>{e.onIncomingMessage(t,n),this.emit(t,{message:n,type:`message`})},onScoopMessagesReplaced:(t,n,r)=>{e.onScoopMessagesReplaced?.(t,n,r);let i=n,a=this.snapshotFor(t,i,r);a?this.publishSnapshot(t,a):this.orphanedReplays.set(t,{messages:i,queuedIds:r})}}}list(){return Promise.resolve(this.currentUnits())}subscribeList(e){return this.listListeners.add(e),e(this.currentUnits()),()=>{this.listListeners.delete(e)}}subscribe(e,t){let n=this.unitListeners.get(e)??new Set;n.add(t),this.unitListeners.set(e,n);let r=this.lastSnapshots.get(e);return this.pendingSnapshots.has(e)||(r?t({snapshot:r,type:`snapshot`}):this.deps.getClient()?.requestScoopMessages(e)),()=>{n.delete(t),n.size===0&&this.unitListeners.delete(e)}}takeArrivedReplay(e){let t=this.orphanedReplays.get(e);if(!t)return null;let n=this.snapshotFor(e,t.messages,t.queuedIds);return n?(this.orphanedReplays.delete(e),this.lastSnapshots.set(e,n),n):null}snapshot(e){let t=this.deps.getClient();if(!t)return Promise.reject(Error(`kernel client not attached`));let n=this.takeArrivedReplay(e);if(n)return t.setSelectedScoopJid(e),Promise.resolve(n);let r=this.pendingSnapshots.get(e)??new Set;this.pendingSnapshots.set(e,r);let i=()=>{},a=new Promise(e=>{i=e,r.add(e)});t.setSelectedScoopJid(e),t.requestScoopMessages(e);let o,s=new Promise(t=>{o=setTimeout(()=>{o=void 0;let n=this.pendingSnapshots.get(e)?.has(i)===!0;this.forgetWaiter(e,i),n&&this.recoverUnanswered(e),t(this.snapshotFor(e,[],void 0))},Tc)});return Promise.race([a.then(e=>(o!==void 0&&(clearTimeout(o),o=void 0),e)),s]).then(t=>{if(!t)throw Error(`unknown work unit: ${e}`);return t})}send(e,t){let n=this.deps.getClient();if(!n)return Promise.reject(Error(`kernel client not attached`));let r=t.messageId??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return n.sendUserMessage({scoopJid:e,text:t.text,messageId:r,...t.attachments?{attachments:t.attachments}:{},...t.steer?{steer:!0}:{},...t.guestGate?{guestGate:t.guestGate}:{}})}setModel(e,t){let n=this.deps.getClient();return n?n.setScoopModel(e,t):Promise.reject(Error(`kernel client not attached`))}signal(e,t){if(t!==`stop`)return Promise.resolve();let n=this.deps.getClient();return n?(n.stopScoop(e),Promise.resolve()):Promise.reject(Error(`kernel client not attached`))}};function Q(e){return e.workUnits??=new Ec({fills:e.fills,getAwaiting:()=>e.awaitingInput,getClient:()=>e.getClient(),phases:e.phases,statuses:e.statuses,turns:e.turns}),e.workUnits}function Dc(e){let t=Q(e),n=()=>e.refreshScoops?.(),r=()=>(e.refs.thread.getAttribute(`context`)??``).startsWith(`freezer:`),i=()=>{if(e.getSelected()||r())return;let n=t.currentUnits(),i=e.pendingUrlContext;if(i?.startsWith(`freezer:`))return;if(i?.startsWith(`scoop:`)||i?.startsWith(`cone:`)){let t=zn(n,i);if(t){e.pendingUrlContext=null,e.selectScoop(t);return}}let a=Gn(n);a&&(e.pendingUrlContext=null,e.selectScoop(a))};return t.wrapCallbacks({onStatusChange:(t,r)=>{let i=e.statuses.get(t),a=r;e.statuses.set(t,a),i!==a&&e.notifyUnitStatus?.(t,a),a!==`ready`&&e.awaitingInput===t&&(e.awaitingInput=null),Z(i)===`working`&&Z(a)!==`working`&&e.turns.set(t,(e.turns.get(t)??0)+1),Z(i)!==Z(a)&&(n(),e.notifyScoopStateChanged?.()),e.getSelected()?.id===t&&e.getController()?.setProcessing(r===`processing`)},onScoopCreated:t=>{n(),!e.getSelected()&&!r()&&!e.pendingUrlContext&&e.selectScoop(fc(t,{fill:e.fills.get(t.jid),phase:e.phases.get(t.jid),status:e.statuses.get(t.jid)}))},onScoopListUpdate:t=>{let r=new Set(t.map(e=>e.jid));for(let t of e.lickBackpressure.keys())r.has(t)||e.lickBackpressure.delete(t);for(let t of e.turns.keys())r.has(t)||e.turns.delete(t);n(),i()},onScoopActivity:t=>{e.refs.switcher.setAttribute(`attention`,t)},onScoopPhaseChange:(t,r)=>{e.phases.set(t,r),n(),e.notifyScoopStateChanged?.()},onIncomingMessage:(t,n)=>{e.refs.switcher.setAttribute(`attention`,t),e.lastActivity.set(t,ge(String(n.content??``),600)),e.getSelected()?.id===t&&n.channel!==`web`&&re(n.channel)&&e.getController()?.addLickMessage(n.id,n.content,n.channel,new Date(n.timestamp).getTime(),n.lickId)},onLickBackpressure:(t,n)=>{n.count<=0?e.lickBackpressure.delete(t):e.lickBackpressure.set(t,n);let r=e.getSelected();if(r?.id!==t)return;let i=qn(r);e.getController()?.setLickBackpressure(n.count,n.waitingMs,i)},onMessageUpdate:(t,n)=>{e.getSelected()?.id===t&&n.lickId&&n.lickState&&e.getController()?.updateLickState(n.lickId,n.lickState)},onReady:()=>{n(),i(),e.notifyReady?.()}})}var Oc=`slicc:leader-local-model-state-changed`;function kc(e=window){e.dispatchEvent(new Event(Oc))}var Ac=`slicc:leader-model-catalog-changed`;function jc(e=window){e.dispatchEvent(new Event(Ac))}var Mc={off:`off`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:`xhigh`},Nc={off:`off`,minimal:`low`,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`};function Pc(e){return e?Mc[e]:void 0}function Fc(e){return e===`max`?`max`:void 0}function Ic(e,t){return t===`max`?`max`:(e&&Nc[e])??`off`}var Lc=2e3,Rc=1e4,zc=12e4;function Bc(e){let t=[],n=null,r=new Map,i=e.modelPickerEnabled!==!1,a=e.catalogRetryDelayMs??Lc,o=e.catalogRetryMaxDelayMs??Rc,s=e.catalogRetryWindowMs??zc,c=0,l=null,u=null,d=()=>{if(!i||u!==null)return;let t=Date.now();if(l===null&&(l=t+s),t>=l)return;let n=Math.min(a*2**c,o);u=setTimeout(()=>{u=null;let t=e.getSync();t?.requestModels&&(c+=1,t.requestModels())},n)},f=()=>{u!==null&&clearTimeout(u),u=null,c=0,l=null},p=e=>{if(e.length===0)return;let t=new Set(e.map(e=>e.id));for(let e of r.keys())t.has(e)||r.delete(e)},m=()=>{let t=e.getSelectedScoopJid(),i=e.getUnits();if(p(i),n&&(i.length===0||!t))return n.activeModelId;if(n&&t&&n.scoopJid===t){let e=fn(n.activeModelId);return e&&r.set(t,e),n.activeModelId}let a=Vn(i,t,t?r.get(t):void 0);return t&&a&&r.set(t,a),a?pn(a):void 0},h=()=>{let r=m(),a=r?t.find(e=>e.modelId===r):void 0;if(!i||!n||!a){e.composerMeta.style.display=`none`,d();return}e.composerMeta.model=a.modelName,e.composerMeta.setAttribute(`thinking`,Ic(n.thinkingLevel,n.effortOverride)),e.composerMeta.toggleAttribute(`no-thinking`,!a.reasoning),e.composerMeta.style.removeProperty(`display`),f()},g=t=>{e.interceptLocalHandlers&&t.stopImmediatePropagation()},_=t=>{let i=e.getSync();if(!i)return;g(t);let a=t.detail?.id,o=e.getSelectedScoopJid()??n?.scoopJid,s=a?fn(a):null;s&&o?(r.set(o,s),e.setModel(o,s)):a&&i.selectModel(a,o??void 0),h()};e.composerMeta.addEventListener(`model-change`,_,{capture:e.interceptLocalHandlers});let v=t=>{let r=e.getSync();if(!r)return;if(g(t),e.getLockedEffortLevel?.()){h();return}let i=t.detail?.thinking,a=Pc(i),o=e.getSelectedScoopJid()??n?.scoopJid;o&&a&&a!==`max`&&r.setThinkingLevel(o,a,Fc(i)),h()};e.composerMeta.addEventListener(`thinking-change`,v,{capture:e.interceptLocalHandlers});let y=()=>{t=[],n=null,r.clear(),f(),e.composerMeta.models=[],e.composerMeta.style.display=`none`};return y(),{onModelsList(n){t=n,e.composerMeta.models=n.map(e=>({id:e.modelId,name:e.modelName,provider:e.providerName})),h()},onModelState(e){n=e,h()},onShownUnitChanged(){h()},reset:y,dispose(){e.composerMeta.removeEventListener(`model-change`,_,{capture:e.interceptLocalHandlers}),e.composerMeta.removeEventListener(`thinking-change`,v,{capture:e.interceptLocalHandlers}),y(),e.composerMeta.style.removeProperty(`display`)}}}async function Vc(e,t,n,r,i=kc){let a=await e.setScoopThinkingLevel(t,n,r);return a&&i(),a}function Hc(e,t){return Un(e)===null||new URL(t.location.href).searchParams.get(`cherry`)===`1`||_t(t.localStorage)}async function Uc(e,n,r,a,o){let s=Bn(n),c=Jn(s);e.thread.setAttribute(`context`,Yn(n));let l=Hn(n),u=i({isRoot:l,name:n.name});e.thread.setAttribute(`accent`,u),e.switcher.setAttribute(`active`,n.id),ie(e,l?{kind:`cone`}:{kind:`scoop`,accent:u}),te(e,c);let d=localStorage.getItem(`slicc_locked_effort_level`),f=a?.(n.id);if(f||d){let t=f?ln(f):{};e.composerMeta.setAttribute(`thinking`,Ic(d??t.level,t.effortOverride))}if(!o?.skipModelPill)try{let{resolveCurrentModel:i,resolveModelById:a}=await t(async()=>{let{resolveCurrentModel:e,resolveModelById:t}=await import(`./main-C90hD8JI.js`).then(e=>e.i);return{resolveCurrentModel:e,resolveModelById:t}},__vite__mapDeps([55,1,56,2,3,8,9,10,11,12,13,14,15,16,17,18,19,5,20,21,22,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,57,58])),o=Vn(r,n.id),s=o?a(o.id,o.provider):i();e.composerMeta.setAttribute(`model`,s.name??s.id),e.composerMeta.toggleAttribute(`no-thinking`,s.reasoning!==!0||!!d)}catch{}}async function Wc(e){if(Hc(e.pendingUrlContext,e.win))return;let n=Un(e.pendingUrlContext);if(n===null)return;let[{CanonicalSessionReader:r},{WorkUnitConversationStore:i}]=await Promise.all([t(()=>Promise.resolve().then(()=>rr),void 0),t(()=>Promise.resolve().then(()=>_r),void 0)]),a=await new r(new i).loadRootChatSession(n);a&&a.messages.length>0&&!e.hasSelection()&&(e.loadMessages(a.messages),e.onHydrated())}function Gc(e){let{boot:n,client:r,openReader:i,log:a}=e,{refs:o}=n;t(async()=>{let{createPlaceholderRefresher:e}=await import(`./wc-placeholder-DolUSoJ8.js`);return{createPlaceholderRefresher:e}},__vite__mapDeps([59,2,0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({createPlaceholderRefresher:t})=>{e.setRefreshPlaceholder(t({inputCard:o.inputCard,getMessages:()=>n.getController()?.getMessages()??[],defaultPlaceholder:o.inputCard.getAttribute(`placeholder`)??`Ask sliccy, or describe a change…`}))}),Wc({pendingUrlContext:n.wiring.pendingUrlContext,win:window,hasSelection:()=>!!n.getSelected(),loadMessages:e=>n.getController()?.loadMessages(e),onHydrated:e.triggerPlaceholder}).catch(e=>a.warn(`WC session hydration failed`,e));let s=null;return t(async()=>{let{wireWcAttach:e}=await import(`./wc-attach-B9M8p68t.js`);return{wireWcAttach:e}},__vite__mapDeps([60,2,5,61])).then(({wireWcAttach:n})=>{s=n({inputCard:o.inputCard,freezer:o.freezer,composer:o.composer,openReader:i,openWriter:e.openWriter,secretEntry:!0,listConversations:async()=>{let{readSessionsIndex:e}=await t(async()=>{let{readSessionsIndex:e}=await Promise.resolve().then(()=>Wi);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)),t(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 t=e.detail?.thinking,i=Pc(t),o=Fc(t),s=n.getSelected();s&&i&&Vc(r,s.id,i,o).catch(e=>a.warn(`local thinking update failed`,e))}),{getAttachStage:()=>s}}var Kc=`slicc:leader-run-new-session`,qc=`slicc:leader-broadcast-snapshot`;function Jc(e){if(!(!e.cone||e.cone===`cone`))return e.coneLabel||e.cone.replace(/^cone-/,``)}function Yc(e){let t=`${new Date(e.frozenAt).toLocaleDateString(void 0,{month:`short`,day:`numeric`})} · ${e.messageCount} turns`;return e.live?`${t} · in progress`:t}function Xc(e,t={}){let n=document.createElement(`slicc-freezer-card`);return n.setAttribute(`title`,e.title),n.setAttribute(`meta`,Yc(e)),n.setAttribute(`slug`,e.filename),e.icon&&n.setAttribute(`icon`,e.icon),t.deletable&&!e.live&&n.setAttribute(`deletable`,``),n}async function Zc(e){let t=new Map;for(let n of e.entries){if(n.icon||n.pendingEnrichment)continue;let r=await e.pickIcon(`"${n.title}" — an archived chat session`);r&&t.set(n.filename,r)}if(t.size!==0&&await T(async()=>{let n=await Qc(e.reader);if(n===null||n.length===0)return!1;let r=n.map(e=>{let n=!e.icon&&t.has(e.filename)?t.get(e.filename):void 0;return n?{...e,icon:n}:e});return await e.writer.writeFile(`/sessions/index.json`,JSON.stringify(r,null,2)),!0}))for(let n of e.freezer.querySelectorAll(`slicc-freezer-card`)){let e=t.get(n.getAttribute(`slug`)??``);e&&!n.hasAttribute(`icon`)&&n.setAttribute(`icon`,e)}}async function Qc(e){let t=await $c(e);return t.kind===`ok`?t.entries:t.kind===`missing`?[]:null}async function $c(e){let t;try{let n=await e.readFile(E,{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 el(e){let t;try{t=(await e.readDir(`/sessions`)).filter(e=>e.type===`file`&&e.name.endsWith(`.md`)).map(e=>e.name)}catch{return[]}let n=[];for(let r of t)try{let t=await e.readFile(`/sessions/${r}`,{encoding:`utf-8`}),i=typeof t==`string`?t:new TextDecoder().decode(t);n.push(nl(r,i))}catch{}return n.sort((e,t)=>t.frozenAt.localeCompare(e.frozenAt)),n}function tl(e,t){return T(async()=>{let n=await $c(e);if(n.kind===`ok`)return n.entries;if(n.kind!==`corrupt`)return null;let r=await el(e);return r.length===0?null:(await t.writeFile(E,JSON.stringify(r,null,2)),r)})}function nl(e,t){let n=t.slice(0,2e3),r=/^title:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??e,i=/^frozenAt:\s*"?(.*?)"?\s*$/m.exec(n)?.[1]??new Date(0).toISOString(),a=Number(/^messageCount:\s*(\d+)\s*$/m.exec(n)?.[1]??0),o=Be(t),s=e.startsWith(`pending-`)||e.startsWith(`live-`)&&!o.live;return{filename:e,title:r,frozenAt:i,messageCount:a,...o.cost?{cost:o.cost}:{},...o.models?{models:o.models}:{},...o.cone?{cone:o.cone}:{},...o.coneLabel?{coneLabel:o.coneLabel}:{},...o.memorySkipped?{memorySkipped:!0}:{},...o.live?{live:!0}:{},...o.live&&o.liveThrough?{liveThrough:o.liveThrough}:{},...o.live&&o.compactions?{compactions:o.compactions}:{},...o.curatedThrough?{curatedThrough:o.curatedThrough}:{},...o.sessionId?{sessionId:o.sessionId}:{},...s?{pendingEnrichment:!0}:{}}}function rl(e,t,n={}){for(let t of Array.from(e.querySelectorAll(`slicc-freezer-card`)))t.remove();e.append(...t.map(e=>Xc(e,n)))}async function il(e,t){let n=await e.readFile(Ue(t),{encoding:`utf-8`}),r=typeof n==`string`?n:new TextDecoder().decode(n),i=await Sn(e,r,t.filename);return{title:i.title||t.title,messages:i.messages}}var al=`Couldn't delete everything — try again.`;function ol(e,t){let n=e.createElement(`p`);return n.textContent=`“${t}” and its transcript will be deleted. Memories already learned from it are kept.`,n.style.cssText=`font-size:0.875rem;margin:0;`,n}function sl(e){let t=e.parentElement?.querySelector(`[data-freezer-delete-error]`);t||(t=e.ownerDocument.createElement(`p`),t.setAttribute(`data-freezer-delete-error`,``),t.setAttribute(`role`,`alert`),t.style.cssText=`font-size:0.8125rem;margin:0.5rem 0 0;color:var(--s2-negative-color, #d23);`,e.after(t)),t.textContent=al}function cl(e,t){let n=e.ownerDocument;n.activeElement&&n.activeElement!==n.body||Array.from(e.querySelectorAll(`slicc-freezer-card`)).find(e=>e.getAttribute(`slug`)===t)?.querySelector(`.slicc-fzcard__delete`)?.focus()}function ll(e){return e.sessionId?{filename:e.filename,sessionId:e.sessionId}:{filename:e.filename}}function ul(e){let n=e.freezer.ownerDocument,r=null,i=new Set,a=()=>{if(!r)return;let{slug:t,dialog:n}=r;r=null,n.hide?.(),n.remove(),cl(e.freezer,t)},o=async(n,o,s)=>{let c=Array.from(o.querySelectorAll(`button[slot="footer"]`));for(let e of c)e.disabled=!0;i.add(n.filename);try{let{writer:i}=await e.openVfs(),{deleteFrozenSession:s}=await t(async()=>{let{deleteFrozenSession:e}=await import(`./frozen-session-delete-DRfrrQHj.js`);return{deleteFrozenSession:e}},__vite__mapDeps([62,3,49,1,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,50,51,54,63,64,65,66])),c=await s(i,ll(n));if(c.status===`failed`)throw Error(c.errors.join(`; `));c.status===`deleted`?e.isViewing(n)&&e.leaveViewed(n):e.log.warn(`WC frozen chat delete skipped`,{filename:n.filename,...c}),r?.dialog===o&&a(),e.refreshFreezer()}catch(t){e.log.error(`WC frozen chat delete failed`,t),sl(s);for(let e of c)e.disabled=!1}finally{i.delete(n.filename)}},s=t=>{if(r?.slug===t||i.has(t))return;let s=e.getEntries().find(e=>e.filename===t);if(!s||s.live)return;a();let c=ol(n,s.title),l=bc(n,{heading:`Delete frozen chat?`,body:c,actions:[{text:`Delete`,style:_c,data:`delete`,onClick:()=>void o(s,l,c)},{text:`Cancel`,style:vc,data:`cancel`,onClick:a}],onDismiss:n=>{r?.dialog===n&&(r=null),n.remove(),cl(e.freezer,t)}});r={slug:t,dialog:l},n.body.append(l),l.show?.()};return e.freezer.addEventListener(`freezer-card-delete`,e=>{let t=e.detail?.slug;t&&s(t)}),{dialog:()=>r?.dialog??null}}async function dl(e,n,r){let{getTranscriptExportService:i}=await t(async()=>{let{getTranscriptExportService:e}=await Promise.resolve().then(()=>Or);return{getTranscriptExportService:e}},void 0);await i().captureFrozen({sessionId:n.sessionId??n.archive.sessionId??n.filename.replace(/\.md$/i,``),title:n.archive.title,frozenAt:n.archive.frozenAt,createdAt:n.archive.createdAt,updatedAt:n.archive.updatedAt,...e?{rootJid:e.jid}:{}},r)}function fl(e,t){if(t)return e.getScoops().find(e=>e.jid===t.id)}function pl(e){return{folder:e.folder,label:Wn({assistantLabel:e.assistantLabel,name:e.name,role:k(e)?`primary`:`child`}),jid:e.jid}}async function ml(e){let{root:n}=e,r=n?pl(n):void 0,i=(e,t)=>dl(n,e,t),a=n=>{t(async()=>{let{notifyGelatiereOfSessionEnd:e}=await import(`./wc-gelatiere-IFw93RLp.js`);return{notifyGelatiereOfSessionEnd:e}},__vite__mapDeps([67,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({notifyGelatiereOfSessionEnd:t})=>t({client:e.client,vfs:e.writer,log:e.log,cone:r,archive:n?.filename})).catch(t=>e.log.warn(`gelatiere notification failed to load`,t))};if(e.action!==`save`){await e.runNewSessionFreezeQuick({vfs:e.writer,cone:r,captureCompleteSnapshot:i,onSessionSettled:a});return}await e.runNewSessionFreeze({vfs:e.writer,cone:r,agenticMemorySpawn:t=>e.client.spawnAgent(t),captureCompleteSnapshot:i,onSessionSettled:a,onProgress:t=>{let n=e.freezerNew();n&&(t===null?n.removeAttribute(`progress`):n.setAttribute(`progress`,String(t)))},onBackgroundEnriched:e.refreshFreezer})}async function hl(e,t){e!==`erase`&&await ml({...t,action:e})}async function gl(e){try{await e.resetNewSessionTmp(e.writer,e.tmpDir)}catch(t){e.log.warn(`WC new session /tmp reset failed — clearing anyway`,t)}await e.client.clearAllMessages(e.root?.jid,e.discardLiveSnapshot?{discardLiveSnapshot:!0}:{}),e.getController()?.loadMessages([]),window.dispatchEvent(new CustomEvent(qc)),t(async()=>{let{resetDictationPriming:e}=await import(`./wc-shell-C6n7vd_q.js`).then(e=>e.rt);return{resetDictationPriming:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({resetDictationPriming:e})=>e()).catch(()=>void 0)}function _l(e,t){(e.thread.inner??e.thread).prepend(vl(e.thread.ownerDocument,t)),e.thread.setAttribute(`accent`,ae),ie(e,{kind:`freezer`}),e.inputCard.setAttribute(`disabled`,``),e.switcher.removeAttribute(`active`)}function vl(e,t){let n=t?Jc(t):void 0,r=e.createElement(`slicc-day-separator`);return r.setAttribute(`label`,n?`Frozen chat · from cone ${n}`:`Frozen chat`),r.setAttribute(`data-frozen-provenance`,n??``),r}async function yl(e,t,n){let r=await Qc(e);return r===null?(await $c(e)).kind===`corrupt`?(n.warn(`WC freezer index corrupt — rebuilding from archives`),tl(e,t)):null:r}function bl(e,n,r){e.busy||!r.some(e=>!e.icon&&!e.pendingEnrichment)||(e.busy=!0,t(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-BEV4p0nB.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([52,1,9,10,11,2,12,13,14,15,16,3,17,7,8,18,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,53,39])).then(({pickLucideIcon:e})=>Zc({reader:n.reader,writer:n.writer,freezer:n.freezer,entries:r,pickIcon:t=>e({subject:t})})).catch(e=>n.log.warn(`WC freezer icon enrichment failed`,e)).finally(()=>{e.busy=!1}))}function xl(e,t,n){let r=e.getAttribute(`context`)??``;return r===`freezer:${t.filename}`||r.startsWith(`freezer:`)&&!!t.sessionId&&!bn(t.sessionId)&&n===t.sessionId}function Sl(e){let{refs:n,openVfs:r,client:i,getController:a,getSelected:o,clearSelection:s,log:c}=e,l=[],u=null,d=t=>{u=null,e.selectScoop(t)},f=0,p={busy:!1},m=()=>{let e=++f;r().then(async({reader:t,writer:r})=>{let i=await yl(t,r,c);i!==null&&e===f&&(l=i,rl(n.freezer,i,{deletable:!0}),bl(p,{reader:t,writer:r,freezer:n.freezer,log:c},i))}).catch(e=>c.error(`WC freezer refresh failed`,e))},h=!1,g=()=>n.freezer.querySelector(`slicc-freezer-new`),_=n=>{h||(h=!0,g()?.setAttribute(`busy`,``),(async()=>{let s=fl(i,Kn(e.getUnits(),o()));try{let{writer:o}=await r(),{resetNewSessionTmp:l,runNewSessionFreeze:u,runNewSessionFreezeQuick:f}=await t(async()=>{let{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}=await import(`./new-session-65D5H5Af.js`);return{resetNewSessionTmp:e,runNewSessionFreeze:t,runNewSessionFreezeQuick:n}},__vite__mapDeps([68,2,3,18,7,8,9,10,11,12,13,14,1,15,16,17,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,55,56,6,37,57,58,53,62,49,0,4,36,38,39,40,50,51,54,63,64,65,66]));await hl(n,{writer:o,root:s,client:i,freezerNew:g,refreshFreezer:m,runNewSessionFreeze:u,runNewSessionFreezeQuick:f,log:c}),await gl({writer:o,root:s,client:i,getController:a,log:c,resetNewSessionTmp:l,tmpDir:hn(i.getScoops(),s),discardLiveSnapshot:n===`erase`}),m();let p=e.getUnits().find(e=>e.id===s?.jid)??Gn(e.getUnits());p&&d(p)}catch(e){c.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`])n.freezer.addEventListener(`new-chat-${e}`,()=>_(e));let v=async e=>{let{writer:n}=await r(),{runNewSessionArchiveOnly:i}=await t(async()=>{let{runNewSessionArchiveOnly:e}=await import(`./new-session-65D5H5Af.js`);return{runNewSessionArchiveOnly:e}},__vite__mapDeps([68,2,3,18,7,8,9,10,11,12,13,14,1,15,16,17,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,55,56,6,37,57,58,53,62,49,0,4,36,38,39,40,50,51,54,63,64,65,66]));await i({vfs:n,cone:pl(e),captureCompleteSnapshot:(t,n)=>dl(e,t,n)}),m()};_e(`agentic-memory`)&&g()?.setAttribute(`no-skip`,``),window.addEventListener(Kc,e=>{let t=e.detail?.action;(t===`save`||t===`skip`||t===`erase`)&&_(t)});let y=async t=>{let i=l.find(e=>e.filename===t);try{let{reader:o}=await r();i||=(await Qc(o)??[]).find(e=>e.filename===t);let{messages:c}=await il(o,i??{filename:t,title:t,frozenAt:``,messageCount:0});n.thread.setAttribute(`context`,`freezer:${i?.filename??t}`),u=i?.sessionId??i?.filename??null,e.holdQueuedPile(),a()?.loadMessages(c),_l(n,i),s()}catch(t){if(c.error(`WC thaw failed`,t),!o()){let t=Rn(e.getUnits(),i?.cone);t&&d(t)}}};return n.freezer.addEventListener(`freezer-card-select`,e=>{let t=e.detail?.slug;t&&y(t)}),ul({freezer:n.freezer,openVfs:r,getEntries:()=>l,isViewing:e=>xl(n.thread,e,u),leaveViewed:t=>{a()?.loadMessages([]),u=null;let n=Rn(e.getUnits(),t.cone);n&&d(n)},refreshFreezer:m,log:c}),{refreshFreezer:m,openFrozen:y,getViewedFrozenSessionId:()=>u,freezeCone:v}}n(`scoops.tray-leave`),n(`scoops.tray-join`);var Cl=null;function wl(e){Cl=e}function Tl(){return Cl?.()??[]}var El=null;function Dl(e){El=e}function Ol(){return El??void 0}var kl=`slicc.leaderTrayFollowers`;function Al(){return jl()}function jl(){if(Cl)return Cl();try{let e=globalThis.localStorage?.getItem(kl);if(e)return JSON.parse(e)}catch{}return[]}function Ml(e,t=globalThis.localStorage){try{t?.setItem(kl,JSON.stringify(e))}catch{}}function Nl(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 Pl(e){let t=mt();if(t.state!==`inactive`)return{role:`follower`,state:t.state,joinUrl:t.joinUrl,sessionId:t.trayId,workerBaseUrl:gt(t.joinUrl)?.workerBaseUrl??null,stalled:t.stalled};let n=nn();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=yt(e.getItem(ht))}catch{}return{role:`standalone`,state:`inactive`,workerBaseUrl:r}}function Fl(e){let{client:n,openReader:r,storage:i}=e;return{getScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getCronTasks:async()=>{let{getAllCronTasks:e}=await t(async()=>{let{getAllCronTasks:e}=await import(`./tray-leader-DlYEWBqw.js`).then(e=>e.o);return{getAllCronTasks:e}},__vite__mapDeps([69,1,3,20,21,22,55,56,2,8,9,10,11,12,13,14,15,16,17,18,19,5,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,57,58]));return e()},getWebhooks:async()=>{let{getAllWebhooks:e}=await t(async()=>{let{getAllWebhooks:e}=await import(`./tray-leader-DlYEWBqw.js`).then(e=>e.o);return{getAllWebhooks:e}},__vite__mapDeps([69,1,3,20,21,22,55,56,2,8,9,10,11,12,13,14,15,16,17,18,19,5,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,57,58]));return e()},getMounts:async()=>{let{getAllMountEntries:e,loadMountHandle:n}=await t(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])),r=await e();return Promise.all(r.map(async e=>{if(e.descriptor.kind!==`local`)return e;try{let t=await(await n(e.descriptor.idbHandleKey))?.queryPermission?.({mode:`readwrite`});return{...e,valid:t===`granted`}}catch{return{...e,valid:!1}}}))},getMcpServers:async()=>{try{let e=await(await r()).readFile(`/workspace/.mcp/servers.json`,{encoding:`utf-8`});return JSON.parse(typeof e==`string`?e:new TextDecoder().decode(e)).servers??{}}catch{return{}}},getOAuthProviders:()=>{try{let e=new Set,t=[];for(let n of Ne()){if(e.has(n.providerId))continue;if(e.add(n.providerId),!je(n.providerId)?.isOAuth){t.push({providerId:n.providerId});continue}let r=ke(n.providerId),i=n.loggedOut?!1:r?!r.expired:!1;t.push({providerId:n.providerId,valid:i})}return t}catch{return[]}},getSessionStats:async()=>n.getSessionStats?.()??null,getProcesses:async()=>{try{let e=await(await r()).readFile(`/proc/table`,{encoding:`utf-8`});return Nl(typeof e==`string`?e:new TextDecoder().decode(e))}catch{return{processes:[],terminated:0}}},getTrayInfo:()=>Pl(i),getConnectedFollowers:Tl}}var Il=`sync-fs-nonce`;function Ll(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:Il,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 Rl=class{#e=new Map;#t=new Map;#n=new Map;sync(e,t){let n=new Set;for(let r of e){if(!Hn(r))continue;n.add(r.id);let e=this.#r(r);e>0&&r.id!==t&&this.#e.set(r.id,(this.#e.get(r.id)??0)+e)}t&&this.#e.delete(t);for(let e of[...this.#e.keys()])n.has(e)||this.#e.delete(e);for(let e of[...this.#t.keys()])n.has(e)||this.#t.delete(e);for(let e of[...this.#n.keys()])n.has(e)||this.#n.delete(e);return this.counts()}#r(e){let t=this.#t.get(e.id),n=this.#t.has(e.id);if(this.#t.set(e.id,e.state),typeof e.turns==`number`&&Number.isFinite(e.turns)){let t=this.#n.get(e.id)??(n?0:void 0);return this.#n.set(e.id,e.turns),t===void 0?0:e.turns>t?Math.floor(e.turns-t):0}return this.#n.delete(e.id),n&&t===`working`&&e.state!==`working`?1:0}counts(){return new Map(this.#e)}};function zl(e,t){let n=e=>{t.onError?.(e instanceof Error?e.message:String(e))};return{sendMessage:(r,i,a,o)=>{let s=t.getSelectedId();if(!s){t.onError?.(`No scoop selected`);return}e.send(s,{text:r,...i?{messageId:i}:{},...a?{attachments:a}:{},...o?.steer?{steer:!0}:{},...o?.guestGate?{guestGate:o.guestGate}:{}}).catch(n)},onEvent:e=>t.onEvent(e),stop:()=>{let r=t.getSelectedId();r&&e.signal(r,`stop`).catch(n)}}}var Bl=`question`;function Vl(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||void 0}catch{return}}function Hl(e,t,n){let r=e=>{let r=e.detail;if(!r||typeof r.answer!=`string`)return;let{question:i,kind:a,answer:o}=r,s=a===`datetime`||a===`date`?Vl():void 0;t(Bl,{action:`answer`,data:{question:i,kind:a,answer:o,...s?{timeZone:s}:{}}},void 0,n()??void 0)};return e.addEventListener(ee,r),()=>e.removeEventListener(ee,r)}var Ul=`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`;function Wl(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.role===`assistant`&&!n.isStreaming&&!n.queued)return n.content}for(let t=e.length-1;t>=0;t--)if(e[t].role===`assistant`)return e[t].content;return null}function Gl(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(Ul));let a=()=>{r.style.color=`var(--green)`,setTimeout(()=>{r.style.color=`var(--txt-3)`},1500)};return r.addEventListener(`short-click`,()=>{(async()=>{let n=Wl(e.getMessages());await t(n??Qe([...e.getMessages()])),a()})()}),r.addEventListener(`long-press`,()=>{(async()=>{let n=Qe([...e.getMessages()]);n&&(await t(n),a())})()}),n.append(r),n}function $(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Kl(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 ql(e){return`
244
244
  <div class="sprinkle-action-card">
245
245
  <div class="sprinkle-action-card__header">${Gt(Kl(e))} <span class="sprinkle-badge sprinkle-badge--informative">pending</span></div>
246
246
  <div class="sprinkle-action-card__body">Waiting for approval on the leader&hellip;</div>
247
247
  </div>
248
- `}function Jl(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var Yl=class e{#e;#t;#n;#r;#i;#a=null;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y=[];#b=[];#x=null;#S=new Map;#C=null;#w=null;#T=``;#E=null;#D=null;#O=!1;#k=`thinking`;#A=0;#j=null;#M=new Set;#N=new Map;#P=new Map;#F=new Set;#I=!1;#L=null;constructor(e){this.#e=e.thread,this.#t=e.agent,this.#n=e.onProcessingChange,this.#r=e.onBusyPhaseChange,this.#i=e.onToolProgressChange,this.#o=e.onMessageRendered,this.#s=e.onMessageDisposed,this.#c=e.onTurnComplete,this.#l=e.resolveTelemetryContext,this.#u=e.onQueuedChange,this.#d=e.onLickBackpressureChange,this.#f=e.onQueuedCancel,this.#p=e.onToolUiAction,this.#m=e.readOnlyToolUi??!1,this.#h=e.agent.onEvent(e=>this.#J(e)),this.#v=e=>this.#ge(e),this.#e.addEventListener(`slicc-error-retry`,this.#v)}dispose(){this.#h(),this.#e.removeEventListener(`slicc-error-retry`,this.#v);for(let e of[...this.#N.keys()])this.#he(e);this.#P.clear(),this.#F.clear(),this.#me()}setReadOnly(e){if(this.#I!==e&&(this.#I=e,e))for(let e of[...this.#N.keys()])this.#he(e)}get readOnly(){return this.#I}get processing(){return this.#O}getMessages(){return this.#y.map(e=>({...e}))}setAgent(e){this.#h(),this.#t=e,this.#h=e.onEvent(e=>this.#J(e))}setOnLocalUserMessage(e){this.#g=e}setOnLocalProcessingChange(e){this.#_=e}addUserMessage(e,t,n){this.#ye({id:$(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(Jl)}removeQueuedMessage(e){let t=this.#b.filter(t=>t.id!==e);t.length!==this.#b.length&&(this.#b=t,this.#B())}stashQueued(){let e=this.#L??[];this.#L=null;let t=this.#b;return t.length===0?e:(this.#b=[],this.#B(),[...e,...t])}restoreQueued(e){this.#L=e.length>0?[...e]:null}heldBackendPendingIds(e){if(!this.#L||!e?.length)return new Set;let t=new Set(e);return new Set(this.#L.filter(e=>t.has(e.id)).map(e=>e.id))}#R(e,t){if(!this.#L)return;let n=this.heldBackendPendingIds(t),r=new Set(e.map(e=>e.id)),i=this.#L.filter(e=>!r.has(e.id)||n.has(e.id));if(this.#L=null,i.length===0)return;if(!t){this.#b=i,this.#B();return}let a=new Map(t.map((e,t)=>[e,t])),o=i.filter(e=>a.has(e.id)).sort((e,t)=>(a.get(e.id)??0)-(a.get(t.id)??0)),s=i.filter(e=>!a.has(e.id));if(this.#b=this.#O?o:[...o,...s],this.#B(),this.#O)for(let e of s)this.#ye(e)}#z(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#ye(t);this.#B()}#B(){this.#u?.(this.#b.map(Jl))}#V(){this.#d?.(this.#x)}setLickBackpressure(e,t,n){if(e<=0){if(!this.#x)return;this.#x=null,this.#V();return}this.#x={text:`${e} events waiting for the current turn`},this.#V();try{ot(n,t)}catch{}}addAssistantMessage(e){this.#ye({id:$(),role:`assistant`,content:e,timestamp:Date.now()})}loadMessages(e,t){for(let e of this.#S.keys())this.#s?.(e);for(let e of[...this.#N.keys()])this.#he(e);this.#P.clear(),this.#F.clear(),this.#me();let n=this.#b.length>0;if(this.#b.length>0){if(this.#f)for(let e of this.#b)try{this.#f(e.id)}catch(e){console.error(`onQueuedCancel hook threw`,e)}this.#b=[]}n&&this.#B();let r=this.heldBackendPendingIds(t),i=r.size>0?e.filter(e=>!r.has(e.id)):e;this.#y=de(i);let a=[...this.#y].reverse().find(e=>e.isStreaming);this.#C=a?.id??null,a&&(this.#w=a.id),this.#Q(),this.#S.clear();let o=[],s=``;for(let e of this.#y){let t=new Date(e.timestamp).toDateString();t!==s&&(o.push(d(e.timestamp)),s=t);let n=this.#ve(e);this.#S.set(e.id,n),o.push(...n)}let c=this.#e;typeof c.replaceContent==`function`?c.replaceContent(...o):c.replaceChildren(...o),this.#Ce();for(let e of this.#y)this.#o?.(e,this.#S.get(e.id)??[]);this.#q(),this.#Te(),this.#H(),this.#R(e,t)}#H(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!vt()||this.#O)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#ge(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#U(r):r,a={id:$(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#O&&!n?.steer?(this.#b.push(a),this.#B()):this.#ye(a),n?.steer?this.#t.sendMessage(i,a.id,a.attachments,{steer:!0}):this.#t.sendMessage(i,a.id,a.attachments),this.#W();try{let e=n?.dictation?m(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#U(e){return oe(e,C())}#W(){if(this.#l)try{let e=this.#l();if(!e)return;lt(e.scoopName,e.model)}catch{}}addLickMessage(e,t,n,r,i){let a=this.#y[this.#y.length-1];if(!(i||a?.lickId)&&a&&a.source===`lick`&&a.channel===n){a.lickParts=[...a.lickParts??[a.content],t],a.lickCount=a.lickParts.length,a.content+=`\n\n${t}`,this.#be(a);return}this.#ye({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#O?!0:void 0})}updateLickState(e,t){let n=this.#y.find(t=>t.lickId===e);n&&(n.lickState=t,this.#be(n))}setProcessing(e){if(this.#O!==e){this.#O=e,e&&(this.#w=null),e&&(this.#A=0,this.#G(`thinking`)),e&&this.#z(),e||(this.#x&&(this.#x=null,this.#V()),this.#q()),this.#n?.(e);try{this.#_?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#K()}}#G(e){this.#k!==e&&(this.#k=e,this.#r?.(e))}#K(){let e=this.#w;if(this.#w=null,!this.#c)return;let t=e?this.#_e(e):null;this.#c(t?{...t}:null)}#q(){let e=this.#y[this.#y.length-1];if(!(e?.role===`assistant`&&!e.isStreaming)){this.#j?.remove();return}this.#j??=Gl({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#j)}#J(e){switch(e.type){case`message_start`:this.#Y(e.messageId);break;case`content_delta`:this.#X(e.messageId,e.text);break;case`content_done`:this.#$(e.messageId,e.model,e.usage);break;case`tool_use_start`:this.#te(e.messageId,e.toolName,e.toolInput,e.toolCallId);break;case`tool_result`:this.#re(e.messageId,e.toolName,e.result,e.isError,e.toolCallId);break;case`tool_ui`:this.#le(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#ue(e.requestId);break;case`tool_progress`:this.#de(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#oe(e.messageId);break;case`compaction_notice`:this.#ie(e.messageId,e.marker);break;case`error`:this.#se(e.error,e.endTurn!==!1)}}#Y(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#ye({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#X(e,t){this.#_e(e)&&(this.#E!==e&&this.#Z(),this.#E=e,this.#T+=t,this.#D??=requestAnimationFrame(()=>this.#Z()))}#Z(){let e=this.#E,t=this.#T;this.#Q();let n=t&&e?this.#_e(e):void 0;n&&(n.content+=t,this.#be(n))}#Q(){this.#D!==null&&cancelAnimationFrame(this.#D),this.#D=null,this.#T=``,this.#E=null}#$(e,t,n){let r=this.#_e(e);r&&(t&&(r.model=t),n&&(r.usage=n),this.#E===e&&(r.content+=this.#T,this.#Q()),r.isStreaming=!1,this.#be(r))}static#ee(e,t){return`${e}:${t}`}#te(t,n,r,i){let a=this.#_e(t);if(!a)return;a.toolCalls=a.toolCalls??[];let o=i?e.#ee(t,i):$();this.#F.add(o),a.toolCalls.push({id:o,name:n,input:r}),this.#A+=1,this.#G(`tool`),this.#be(a)}#ne(t,n,r){let i=t?.toolCalls??[];if(r){let n=t?e.#ee(t.id,r):void 0;return i.find(e=>e.id===n)??i.find(e=>e.id===r)}return[...i].reverse().find(e=>e.name===n&&e.result===void 0)}#re(e,t,n,r,i){let a=this.#_e(e),o=this.#ne(a,t,i);!a||!o||(o.result=n,o.isError=r,o.id&&(this.#P.delete(o.id),this.#me()),this.#A=Math.max(0,this.#A-1),this.#A===0&&this.#G(`thinking`),this.#be(a))}#ie(e,t){let n=this.#_e(e);if(t.state===`discarded`){n&&this.#ae(n);return}if(n){n.compaction=t,this.#be(n);return}this.#ye({id:e,role:`assistant`,content:``,timestamp:Date.now(),compaction:t})}#ae(e){this.#Se(),this.#s?.(e.id);for(let t of this.#S.get(e.id)??[])t.remove();this.#S.delete(e.id),this.#y=this.#y.filter(t=>t!==e),this.#Ce(),this.#pe()}#oe(e){let t=this.#_e(e);t?.isStreaming&&(t.isStreaming=!1,this.#be(t)),this.#C=null,this.setProcessing(!1)}#se(e,t=!0){t&&this.setProcessing(!1),this.#ye({id:$(),role:`assistant`,content:typeof e==`string`?e:ct(e)??``,timestamp:Date.now(),error:!0}),this.#ce(e)}#ce(e){try{let t=typeof e==`string`?e:st(e);if(typeof t==`string`&&ut(t))return;dt(`error-card`,e)}catch{}}#le(e,t,n){if(this.#I)return;this.#he(t);let r=document.createElement(`div`);if(r.className=`msg__dip`,r.setAttribute(`data-tool-ui-request`,t),(this.#e.inner??this.#e).append(r),this.#m){let e=B(r,ql(n),()=>{},!1);this.#N.set(t,{instance:e,container:r});return}let i=B(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#N.set(t,{instance:i,container:r}),this.#p?.(t,at,void 0)}#ue(e){this.#he(e)}#de(e,t,n,r){let i=this.#_e(e),a=this.#ne(i,t,r);a?.id&&(n.phase===`end`?this.#P.delete(a.id):this.#P.set(a.id,n),this.#fe(a.id),this.#me())}#fe(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&h(t,this.#P.get(e)??null),this.#pe()}#pe(){let e=this.#e.querySelectorAll(`slicc-tool-cluster`);for(let t of e){let e=[...t.querySelectorAll(`slicc-action-row[data-tool-id]`)].filter(e=>e.dataset.toolId&&this.#F.has(e.dataset.toolId)).map(e=>{let t=e.dataset.toolId,n=e.getAttribute(`result`);return{done:n!==null&&n!==`…`,fraction:this.#P.get(t)?.fraction}});fe(t,le(e))}}#me(){let e=null,t=[...this.#P.values()];t.length>0&&t.every(e=>typeof e.fraction==`number`)&&(e=t.reduce((e,t)=>e+t.fraction,0)/t.length),e!==this.#a&&(this.#a=e,this.#i?.(e))}#he(e){let t=this.#N.get(e);if(t){this.#N.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#ge(e){if(this.#O)return;let t=e.detail?.messageId??null,n=this.#y.length;if(t){let e=this.#y.findIndex(e=>e.id===t);e>=0&&(n=e)}let r=n>0?this.#y[n-1]:void 0;if(r&&r.source===`lick`&&!r.queued){this.#t.sendMessage(r.content,$(),r.attachments);return}let i;for(let e=n-1;e>=0;e--){let t=this.#y[e];if(t.role===`user`&&t.source!==`lick`&&t.source!==`delegation`&&!t.queued){i=t;break}}i&&this.#t.sendMessage(i.content,$(),i.attachments)}#_e(e){return this.#y.find(t=>t.id===e)}#ve(e){try{return a(e,{readOnly:this.#I})}catch(t){console.error(`[wc-chat] message render failed — degrading to plain bubble`,t);let n=document.createElement(e.role===`assistant`?`slicc-agent-message`:`slicc-user-message`);return n.setAttribute(`text`,String(e.content??``)),[n]}}#ye(e){this.#Se(),this.#y.push(e);let t=this.#ve(e);this.#S.set(e.id,t),this.#e.append(...t),this.#Ce(),this.#o?.(e,t),e.role===`user`?this.#Te():this.#Ee()}#be(e){this.#Se();let t=this.#S.get(e.id)??[],n=this.#ve(e),r=t[0]??null,i=r?.parentNode;if(i)for(let e of n)i.insertBefore(e,r);else this.#e.append(...n);this.#S.set(e.id,n),this.#o?.(e,n);for(let e of t)e.remove();for(let t of e.toolCalls??[])t.id&&this.#P.has(t.id)&&this.#fe(t.id);this.#Ce(),this.#pe(),this.#Ee()}#xe(){return this.#e.inner??this.#e}#Se(){f(this.#xe(),this.#M)}#Ce(){ue(this.#xe(),{openClusterAnchors:this.#M,toolCallLookup:(e,t)=>this.#we(e,t)})}#we(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#Te(){this.#e.scrollTop=this.#e.scrollHeight}#Ee(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#Te()}};function Xl(e,n,r,i,a,o){let s=new Map;t(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadDipStyles:e}},__vite__mapDeps([71,2])).then(({loadDipStyles:e})=>e()).catch(()=>void 0);let c=[];r.subscribeList(e=>{c=e});let l=()=>n.addressableUnitId?n.addressableUnitId():i()?.id??null,u=zl(r,{getSelectedId:l,onError:e=>n.emitAgentError(e),onEvent:e=>n.onAgentEvent(e)});u.onEvent(n=>{(n.type===`tool_use_start`||n.type===`tool_result`)&&(n.type===`tool_result`&&n.isError&&e.switcher.glower(),t(async()=>{let{playCue:e}=await import(`./soundscape-zvfIWAUQ.js`);return{playCue:e}},__vite__mapDeps([72,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({playCue:e})=>e(n.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let d=new Yl({thread:e.thread,agent:u,resolveTelemetryContext:()=>{let e=i();if(!e)return null;let t=qn(e);try{let n=Vn(c,e.id);return{scoopName:t,model:(n?Ae(n.id,n.provider):Me()).id}}catch{return{scoopName:t,model:``}}},onTurnComplete:e=>{n.speaksReplies&&t(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-BJYe4UwJ.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([73,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,74,75,76,77])).then(async({consumeVoiceSubmission:n,speakReplyMarkdown:r})=>{if(!n())return;let{endVoiceTurn:i,setTtsActive:a}=await t(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-zvfIWAUQ.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([72,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));try{if(e?.content){a(!0);try{await r(e.content)}finally{a(!1)}}}finally{i()}}).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&&(xi(t),s.delete(e))},onMessageRendered:(e,t)=>{let r=s.get(e.id),i=t[0];if(!i){r&&xi(r),s.delete(e.id);return}n.onMessageRendered?.(i);let a=l()??void 0;s.set(e.id,bi(i,(e,t)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:t}};o?.intercept?.(r)||n.sendSprinkleLick(`inline`,{action:e,data:t},void 0,a)},{previous:r,streaming:e.isStreaming===!0}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,t,r)=>{n.sendToolUiAction(e,t,r)},onQueuedCancel:e=>{let t=i()?.id;t&&n.deleteQueuedMessage(t,e).catch(()=>void 0)},...n.readOnlyToolUi?{readOnlyToolUi:!0}:{}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let t=e.detail?.id;if(!t)return;d.removeQueuedMessage(t);let r=i()?.id;r&&n.deleteQueuedMessage(r,t).catch(()=>void 0)}),Hl(e.thread,(e,t,r,i)=>n.sendSprinkleLick(e,t,r,i),l),{controller:d,agentHandle:u}}function Zl(e,t){let n=new Rl,r=()=>{let r=t.currentUnits(),a=e.getSelected()?.id;e.refs.switcher.scoops=Ln(r,a,i,n.sync(r,a)),e.refreshConeActions?.()};return e.refreshScoops=r,t.subscribeList(()=>r()),r}function Ql(e,n,r){let{refs:i}=e;e.setChatTransport(n,r);let{controller:a,agentHandle:o}=Xl(i,r,n,()=>e.getSelected(),r.onTurnIdle,r.welcome);e.setController(a);let s=Zl(e.wiring,n);return i.switcher.addEventListener(`slicc-scoop-select`,t=>{let r=t.detail?.key,i=n.currentUnits().find(e=>e.id===r);i&&i.id!==e.getSelected()?.id&&e.selectScoop(i)}),i.switcher.setAttribute(`gaze-target`,`slicc-input-card`),i.inputCard.addEventListener(`input`,()=>{i.switcher.scrutinize(),i.switcher.wake()}),i.inputCard.addEventListener(`submit`,n=>{let o=ne(n),s=r.takeAttachments?.();if(!o&&!s?.length)return;e.wiring.awaitingInput=null,e.wiring.refreshScoops?.(),e.wiring.notifyScoopStateChanged?.();let c=n.detail?.source===`dictation`;c&&r.speaksReplies&&(t(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-BJYe4UwJ.js`);return{markVoiceSubmission:e}},__vite__mapDeps([73,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,74,75,76,77])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),t(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-zvfIWAUQ.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([72,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),a.sendUserMessage(o??``,s,{dictation:c,steer:p(n)}),i.inputCard.clear?.();let l=e.getSelected()?.id;l&&(i.switcher.setAttribute(`attention`,l),e.wiring.lastActivity.set(l,ge(o??``,600)))}),i.inputCard.addEventListener(`stop`,()=>{e.getController()?.processing&&o.stop()}),{agentHandle:o,controller:a,publishStrip:s}}var $l=e({floatKindForRuntimeMode:()=>nu,floatLabelForKind:()=>tu,resolveStandaloneFloatKind:()=>ru}),eu={"slicc-server":`sliccstart`,"slicc-node-server":`npx`};function tu(e){return u(e)}function nu(e){switch(e){case`extension`:case`extension-detached`:return`extension`;case`cherry`:return`cherry`;case`hosted-leader`:return`hosted`;case`electron-overlay`:return`electron`;case`follower`:return`standalone`;default:return`standalone`}}async function ru(e){let t=e?.fetchFn??fetch,n=e?.timeoutMs??1500;try{let e=new AbortController,r=setTimeout(()=>e.abort(),n),i=await t(tt(`/api/status`),{cache:`no-store`,signal:e.signal,headers:nt()}).finally(()=>clearTimeout(r));if(await $e(i),!i.ok)return`standalone`;let a=await i.json();return(a.service?eu[a.service]:void 0)??`standalone`}catch(e){if(et(e))throw e;return`standalone`}}function iu(e,t){let n=t.label??tu(t.floatKind);e.setAttribute(`label`,n),e.setAttribute(`float-kind`,t.floatKind);let r=nn(),i=mt(),a=()=>{let t=au(r,i);e.setAttribute(`connection`,t.connection),t.trayRole===`none`?e.removeAttribute(`tray-role`):e.setAttribute(`tray-role`,t.trayRole)},o=en(e=>{r=e,a()}),s=ft(e=>{i=e,a()});return a(),()=>{o(),s()}}function au(e,t){return e.state===`inactive`?t.state===`inactive`?{connection:`offline`,trayRole:`none`}:{connection:su(t),trayRole:`follower`}:{connection:ou(e),trayRole:`leader`}}function ou(e){switch(e.state){case`connecting`:return`connecting`;case`leader`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}function su(e){if(e.stalled)return`stalled`;switch(e.state){case`connecting`:return`connecting`;case`connected`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}async function cu(e,t,n){let r=n.floatLabel??tu(n.floatKind),i=Ed(e,r);iu(i.refs.floatbar,{floatKind:n.floatKind,label:r});let a=await n.connect(i),o=Ql(i,a.client,a.host);return await a.workbench?.(i,o),t.info(`WC shell mounted`,{floatKind:n.floatKind}),{boot:i,chat:o}}var lu=36e5,uu=2e3,du=class{#e=[];#t;#n;constructor(e=lu,t=uu){this.#t=Math.max(1,Math.floor(e)),this.#n=Math.max(2,Math.floor(t))}get windowMs(){return this.#t}push(e){this.#e.push(e);let t=e.at-this.#t;for(;this.#e.length>0&&this.#e[0].at<t;)this.#e.shift();for(;this.#e.length>this.#n;)this.#e.shift()}get size(){return this.#e.length}series(e){if(!(this.#e.length<2))return{points:this.#e.map(t=>({at:t.at,value:t[e]})),windowMs:this.#t}}peak(e){return this.#e.length===0?null:this.#e.reduce((t,n)=>Math.max(t,n[e]),-1/0)}windowLabel(){if(this.#e.length<2)return null;let e=this.#e[this.#e.length-1].at-this.#e[0].at,t=Math.max(1,Math.round(e/1e3));if(t<90)return`last ${t}s`;let n=Math.round(t/60);return n<90?`last ${n}m`:`last ${Math.round(n/60)}h`}};function fu(e){return c(e,s)}async function pu(e,t=vn.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 fu(n)}function mu(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:no(e),sublabel:n,meta:eo(e),icon:Za(e),badges:r,status:$a(e)}})}}function hu(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function gu(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function _u(e){let t=gu(e),n=e.sessionId?`Session ${Ya(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:hu(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:hu(e)}]}}function vu(e,t){let n=e.filter(e=>k(e)),r=t=>e.filter(e=>!k(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:k(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 yu(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 bu(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 xu(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 Su(e){let t=Et({percent:e.percent,status:e.status});return t===`critical`?`error`:t===`warn`?`warn`:`active`}function Cu(e,t){let n=`${wt(e.percent)}% used`,r=Tt(e.resetsAt,t);return{name:`${e.window[0]?.toUpperCase()??``}${e.window.slice(1)} budget`,sublabel:e.providerId?`${e.providerId} · rolling window`:`rolling window`,meta:e.status===`rate-limited`?`rate-limited · ${n}`:n,badges:r?[r]:void 0,status:Su(e)}}function wu(e,t){let n=e?.budget,r=e?.models??[],i=e?`$${e.totalCost.toFixed(2)} across ${r.length} models`:``,a=n?[n.status===`rate-limited`?`rate-limited`:``,`${wt(n.percent)}% of ${n.window} budget`,i].filter(Boolean).join(` · `):e?i:`no spend yet`;return{id:`cost`,label:`Cost`,icon:`receipt`,count:r.length,meta:a,accent:`rose`,status:n?Su(n):void 0,emptyText:`Model usage will be summarized after the first turn.`,rows:[...n?[Cu(n,t)]:[],...r.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))]}}function Tu(e){let t=[],n=Eu(e.budget,e.now??Date.now());n&&t.push(n);for(let n of e.oauthProviders)n.valid===!1&&t.push({id:`oauth:${n.providerId}`,severity:`error`,icon:`key-round`,title:`${n.providerId} session expired`,detail:`Tool calls through this provider will fail until it is signed in again.`});let r=hu(e.tray);(r===`error`||r===`warn`)&&t.push({id:`tray`,severity:r===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${gu(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)$a(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${no(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:eo(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 Eu(e,t){if(!e||Et({percent:e.percent,status:e.status})===`ok`)return null;let n=Tt(e.resetsAt,t),r=`${wt(e.percent)}%`;if(e.status===`rate-limited`)return{id:`budget:rate-limited`,severity:`error`,icon:`octagon-alert`,title:`${e.window} budget is rate-limited`,detail:`The provider is refusing calls until the window resets. ${r} of the allowance is used.`,age:n};let i=e.percent>=95;return{id:`budget:near-limit`,severity:i?`error`:`warn`,icon:`gauge`,title:`${r} of the ${e.window} budget used`,detail:i?`Past 95% of the allowance — calls may start being refused.`:`Past 80% of the allowance. Long runs may not finish before it resets.`,age:n}}function Du(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function Ou(e){let{stats:t,workingUnits:n,totalUnits:r,liveProcesses:i,terminated:a,history:o}=e,s=o?.windowLabel(),c=t?.burnRate??0,l=t?.fills??[],u=l.reduce((e,t)=>Math.max(e,t.fill),0),d=t?.budget,f=[{id:`burn`,label:`Burn rate`,value:Du(c),unit:`/hour`,hero:!d,accent:d?`rose`:void 0,series:o?.series(`burnRate`),foot:[t?`$${t.totalCost.toFixed(2)} this session`:`no spend yet`,s].filter(Boolean).join(` · `)},{id:`load`,label:`Agent load`,value:String(n),unit:`of ${r} working`,accent:`violet`,series:o?.series(`workingUnits`),foot:s??void 0}];return d||f.push({id:`processes`,label:`Live processes`,value:String(i),unit:i===1?`process`:`processes`,accent:`cyan`,series:o?.series(`liveProcesses`),foot:a>0?`${a.toLocaleString()} exited this session`:s??void 0}),l.length>0&&f.push({id:`context`,label:`Context fill`,value:String(Math.round(u*100)),unit:`%`,ratio:u,markers:Au(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d?[ku(d,t,e.now??Date.now()),...f]:f}function ku(e,t,n){let r=Et({percent:e.percent,status:e.status});return{id:`budget`,label:`${e.window[0]?.toUpperCase()??``}${e.window.slice(1)} budget`,value:wt(e.percent),unit:`% used`,hero:!0,ratio:Math.min(1,Math.max(0,e.percent/100)),accent:r===`critical`?`rose`:r===`warn`?`amber`:`green`,foot:[e.status===`rate-limited`?`rate-limited`:``,Tt(e.resetsAt,n)??``,t?`$${t.totalCost.toFixed(2)} this session`:``].filter(Boolean).join(` · `)}}function Au(e,t){let n=new Map(t.map(e=>[e.jid,e]));return e.map(({jid:e,fill:t})=>{let r=n.get(e),a=r?k(r):!1,o=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:i({isRoot:a,name:o}),label:`${a?`${o} (cone)`:o} — ${Math.round(t*100)}% full`}})}var ju={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function Mu(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 Nu(e,t){return{pid:e.pid,ppid:e.ppid,state:ju[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:Mu(e.startedAt,t)}}async function Pu(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:Ou({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n,now:g}),alerts:Tu({tray:r,followers:i,mounts:s,oauthProviders:p,budget:l?.budget,now:g}),sections:[_u(r),mu(i),vu(n,t=>e.isProcessing(t)),yu(s),bu(m,p),xu(a,o),wu(l,g)],processes:{rows:d.map(e=>Nu(e,g)),terminated:f}}}var Fu=`/shared`,Iu=3,Lu=200;async function Ru(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,Lu),s=new Map,c=[];for(let e of o){if(e.type!==`file`)continue;let n=`${t}/${e.name}`;e.size===void 0?c.push(n):s.set(n,e.size)}let l=await Promise.allSettled(c.map(t=>e.stat(t)));c.forEach((e,t)=>{let n=l[t];n?.status===`fulfilled`&&s.set(e,n.value.size)});let u=[];for(let r of o){let i=`${t}/${r.name}`;if(r.type===`directory`)u.push({kind:`dir`,id:i,label:r.name,children:n<Iu?await Ru(e,i,n+1):[]});else{let e=s.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function zu(e,t=vn.root){let n=[];for(let r of[t,Fu])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await Ru(e,r,1)});return n}var Bu=200,Vu=1e3,Hu=3e3,Uu=45e3;function Wu(e){let t=null,n=!1,r=!1,i=!1,a=0,o=0,s=null,c=null,l=0,u=()=>{let t=++o;e.openFs().then(async n=>{let i=await zu(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,v({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:_,log:e.log})))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},d=()=>{if(!i)return;let e=Date.now();if(c==null)l=e;else if(e-l>=Vu){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},Bu)},f=()=>{t??=setInterval(u,Hu)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,Fu];e.openFs().then(async e=>{if(!e.watch){t===a&&i&&f();return}let r=await e.watch(n,d);if(t!==a||!i){r();return}s=r}).catch(n=>{e.log.error(`WC file tree watch failed — falling back to polling`,n),t===a&&i&&f()})},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 Gu(e){let t=!1,n=!1,r=!1,i=0,a=null,o=new du,s=Wu(e),c=()=>{a!=null&&(clearInterval(a),a=null)},l=()=>{let t=++i;e.openFs().then(async n=>{let r=await pu(n,e.getWorkspace().memoryPath);t===i&&(e.memoryHost.setRows?e.memoryHost.setRows(r):e.memoryHost.replaceChildren(...r))}).catch(t=>e.log.error(`WC memory refresh failed`,t))},u=()=>{(async()=>{try{e.monitor.model=await Pu(e.getMonitorDeps(),o)}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};return e.monitor.addEventListener(`slicc-monitor-refresh`,u),{activate(i){if(i===`files`){s.open();return}if(i===`memory`){r=!0,l();return}if(i===`monitor`){c(),u(),a=setInterval(u,5e3);return}if(i===`term`&&!t){t=!0;let r=!1,i=n?null:setTimeout(()=>{r||(n=!0,t=!1,e.log.error(`WC terminal mount did not settle within ${Uu}ms; re-arming so the next term activation retries`))},Uu);e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}).finally(()=>{r=!0,i&&clearTimeout(i)})}},deactivate(e){e===`files`?s.close():e===`monitor`?c():e===`memory`&&(r=!1)},refreshMemory(){r&&l()},refreshFiles(){s.repoint()}}}var Ku=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],qu=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Ju=2e4,Yu=12,Xu=3e4;function Zu(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 Qu(e){return e.slice(e.lastIndexOf(`/`)+1)}function $u(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function ed(e,t){let n=Zu(e);return t.includes(`/`)?$u(n,t):Qu(n)===t}function td(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))&&ed(a,e)&&(r.add(a),n.push(Zu(a)),n.length>=nd))break}return n}var nd=4,rd=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??Ku,this.#n=t.ignoredDirs??qu,this.#r=t.maxEntries??Ju,this.#i=t.maxDepth??Yu,this.#a=t.ttlMs??Xu}resolve(e,t=[]){this.#g();let n=Zu(e),r=this.#d(n),i=td(n,t);return i.length===0?r:this.#f(n,r,i)}resolveAll(e,t=[]){return Promise.all(e.map(e=>this.resolve(e,t)))}invalidate(){this.#s=null,this.#c=null,this.#l.clear(),this.#u.clear()}#d(e){let t=this.#l.get(e);if(t!=null)return t;let n=this.#m(e).catch(()=>({query:e,matches:[]}));return this.#l.set(e,n),n}async#f(e,t,n){let{matches:r}=await t,i=new Set(r),a=[];for(let e of n)!e.startsWith(`/`)||i.has(e)||await this.#p(e)&&a.push(e);let o=e=>n.findIndex(t=>$u(e,t)),s=r.filter(e=>o(e)>=0).sort((e,t)=>o(e)-o(t)),c=new Set(s),l=r.filter(e=>!c.has(e));return{query:e,matches:[...a,...s,...l]}}#p(e){let t=this.#u.get(e);if(t!=null)return t;let n=this.#h(e);return this.#u.set(e,n),n}async#m(e){if(e.startsWith(`/`))return{query:e,matches:await this.#h(e)?[e]:[]};let t=(await this.#_()).get(Qu(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>$u(t,e)).sort(id)}:{query:e,matches:[...t].sort(id)}}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 id(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var ad=`file-mention`,od=`data-file-mentions`;function sd(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var cd=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),ld=`file-mention-open`;async function ud(e,t,n=[]){let r=sd(e);if(e.getAttribute(od)===r)return;let i=dd(e);if(i.length===0){e.setAttribute(od,r);return}let a=[],o=new Set;for(let e of i){let t=S(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(od,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&&fd(e,n,l)}e.setAttribute(od,sd(e))}function dd(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(cd.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 fd(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(pd(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 pd(e,t,n,r,i){let a=e.createElement(`a`);return a.className=ad,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(ld,{detail:t,bubbles:!0,composed:!0}))}),a}var md=`slicc-agent-message`,hd=`slicc-action-row[${o}]`;function gd(e,t){let n=[],r=e.querySelectorAll(hd);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=>l(e))}function _d(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function vd(e){try{return yd(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function yd(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new rd(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;S(n.textContent??``).length!==0&&_d(()=>{let i=gd(t,e);a().then(e=>ud(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(md))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()===md?o(e):s(e));let e=t.target?.closest?.(md);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=>se(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(ld,l),()=>{c.disconnect(),t.removeEventListener(ld,l)}}var bd=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>zd,DOCK_TREE_STORAGE_KEY:()=>Rd,attachWcWorkbench:()=>Hd,bootLeaderFloat:()=>Wd,makeSprinkleAttachImage:()=>Vd,prepareWcShell:()=>Ed,wireDockTreePersistence:()=>Bd,wireWcChipTips:()=>Nd,workspaceForSelection:()=>wd});function xd(e){let{controller:t,held:n,jid:r,roster:i}=e,a=t?.stashQueued()??[];if(a.length===0)return;let o=i.find(e=>e.id===r),s=o?Kn(i,o)?.id??o.id:r;n.set(s,[...n.get(s)??[],...a])}function Sd(e){let{controller:t,destination:n,held:r,previousJid:i,roster:a}=e;if(i&&i!==n&&xd({controller:t,held:r,jid:i,roster:a}),a.some(e=>e.id===n))for(let e of[...r.keys()])a.some(t=>t.id===e)||r.delete(e);let o=r.get(n);o&&(r.delete(n),t?.restoreQueued(o))}function Cd(e,t){let n=null,r=null;return{shownUnitId:()=>r,watch:i=>{r===i&&n||(n?.(),r=i,n=e().subscribe(i,e=>{e.type===`snapshot`&&r===i&&t(e.snapshot.messages,e.snapshot.queuedIds)}))}}}function wd(e){let{client:t,selectedId:n}=e,r=n===void 0?void 0:t.getScoop(n);return n!==void 0&&!r&&e.clearSelection(),mn(t.getScoops(),r)}function Td(e){let{refs:t}=e,n=null,r=new Map;return{clear:()=>{n=null},getSelected:()=>n,holdQueue:()=>{let t=n?.id;t&&xd({controller:e.controller(),held:r,jid:t,roster:e.client().currentUnits()})},selectScoop:i=>{let a=n?.id??null;n=i;let o=Jn(Bn(i)),s=e.host();Sd({controller:e.controller(),destination:i.id,held:r,previousJid:a,roster:e.client().currentUnits()});let c=e.lickBackpressure.get(i.id);e.controller()?.setLickBackpressure(c?.count??0,c?.waitingMs??0,qn(i)),e.controller()?.setReadOnly(o),o||t.inputCard.removeAttribute(`disabled`),Uc(t,i,e.client().currentUnits(),s.getRecord?.bind(s),{skipModelPill:s.ownsModelPill===!0}),e.client().snapshot(i.id).catch(()=>void 0),e.watchUnit(i.id),e.controller()?.setProcessing(e.client().currentUnits().find(e=>e.id===i.id)?.state===`working`),t.switcher.hasAttribute(`attention`)||t.switcher.setAttribute(`attention`,i.id),e.wiring().refreshScoops?.(),e.workbench()?.refreshMemory(),e.workbench()?.refreshFiles(),s.onSelectionApplied?.()}}}function Ed(e,t){let n=x(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=Mo,o=null,s=()=>o??Q(g),c=new Map,l=!1,u=null,d=!1,f=new Set,p=Cd(()=>s(),(e,t)=>{r?.loadMessages(e,t),dc(n.thread,e.length===0&&d),a.onSnapshotRendered?.(e)}).watch,m=Td({client:s,controller:()=>r,host:()=>a,lickBackpressure:c,refs:n,watchUnit:p,wiring:()=>g,workbench:()=>u}),h=m.selectScoop,g={refs:n,statuses:new Map,fills:new Map,phases:new Map,turns:new Map,lickBackpressure:c,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>m.getSelected(),selectScoop:h,notifyReady:()=>{l=!0;for(let e of f)e()}};return{refs:n,wiring:g,setClient:e=>{i=e},setChatTransport:(e,t)=>{o=e,a=t},getChatHost:()=>a,selectScoop:h,getSelected:()=>m.getSelected(),clearSelection:()=>m.clear(),holdQueuedPile:()=>m.holdQueue(),watchUnit:p,getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{u=e;let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(l?e.activate(n):f.add(()=>e.activate(n)))},onClientReady:e=>{f.add(e),l&&e()},setRestoringSessions:e=>{d=e,dc(n.thread,e&&uc(n.thread))}}}function Dd(e){let n=null;return()=>(n??=(async()=>{let[{createRemoteVfsClient:n},{createRemoteWritableVfsClient:r}]=await Promise.all([t(()=>import(`./remote-vfs-client-Cs1yUtQm.js`),__vite__mapDeps([78,38])),t(()=>import(`./writable-vfs-client-CQe6oZ75.js`),__vite__mapDeps([79,38]))]);return{reader:n({transport:e.getTransport()}),writer:r({transport:e.getTransport()})}})(),n)}function Od(e,n,r,i,a){e.onClientReady(()=>{i.intercept||t(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-DDUN43nx.js`);return{wireWcOnboarding:e}},__vite__mapDeps([80,2,3,55,1,56,8,9,10,11,12,13,14,15,16,17,18,19,5,20,21,22,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,57,58,64])).then(({wireWcOnboarding:t})=>t({client:n,getController:()=>e.getController(),openVfs:r,log:a})).then(e=>{i.intercept=e.interceptWelcomeLick}).catch(e=>a.error(`WC onboarding wiring failed`,e))})}function kd(e,t){let n=()=>{t.getSessionStats?.().then(t=>{if(!t)return;e.refs.floatbar.setAttribute(`spent`,t.totalCost.toFixed(2)),typeof t.burnRate==`number`&&Number.isFinite(t.burnRate)?e.refs.floatbar.setAttribute(`rate`,t.burnRate.toFixed(2)):e.refs.floatbar.removeAttribute(`rate`);let n=e.refs.floatbar;t.models&&(n.costModels=t.models),t.scoops&&(n.costScoops=t.scoops),n.budget=t.budget?{percent:t.budget.percent,status:t.budget.status,window:t.budget.window,resets:Tt(t.budget.resetsAt)}:null,e.fills.clear();for(let n of t.fills)e.fills.set(n.jid,n.fill);e.refreshScoops?.()})};return setInterval(n,15e3),n}function Ad(e,n,r){let i=n.standalone;i&&t(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-CPqLSnWi.js`);return{wireWcBrowser:e}},__vite__mapDeps([81,82,6,83,3,84,85,0,1,2,4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,86])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:i.browser,log:r})).catch(e=>r.error(`WC browser overlay wiring failed`,e))}function jd(e){return{assistantLabel:e.assistantLabel,name:e.name,role:k(e)?`primary`:`child`}}function Md(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.id;if(e.boot.wiring.awaitingInput=t??null,e.boot.wiring.refreshScoops?.(),e.boot.wiring.notifyScoopStateChanged?.(),e.refreshStats(),!t)return;e.boot.refs.switcher.setAttribute(`attention`,t);let n=e.boot.getController()?.getMessages().filter(e=>e.role===`assistant`).at(-1);n&&e.boot.wiring.lastActivity.set(t,ge(String(n.content??``),600))}}function Nd(e){let n=new Map,r=new Set;e.switcher.addEventListener(`pointerover`,i=>{let a=i.target?.closest?.(`.slicc-agent-tabs__segment`);if(!a||!e.switcher.contains(a))return;let o=a.dataset.k??``,s=e.getScoops().find(e=>e.jid===o);if(!s)return;let c=e.lastActivity.get(o)??``,l=n.get(o);if(l&&l.activity===c){a.title=l.tip;return}a.title||=Wn(jd(s)),!(!c||r.has(o))&&(r.add(o),(async()=>{try{let r=await(e.labelFn??(await t(async()=>{let{quickLabel:e}=await import(`./quick-llm-DaP4ryRr.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([52,1,9,10,11,2,12,13,14,15,16,3,17,7,8,18,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,53,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: ${k(s)?`${Wn(jd(s))} (a main agent)`:s.name}\nMost recent activity:\n${c}`,maxTokens:40});r&&(n.set(o,{activity:c,tip:r}),a.title=r)}finally{r.delete(o)}})())})}async function Pd(e,n,r,i){let{RemoteTerminalView:a}=await t(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-DsZr87Ur.js`);return{RemoteTerminalView:e}},__vite__mapDeps([87,2,29,3,61,41,42,22,48,1,88,47,46,89,90])),{fetchSecretEnvVars:o}=await t(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-z9SReONx.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([91,3,19,1,2,5,20,21,22,24,23,25,26,27])),s=await o(),c=new a({client:n,cwd:`/`,env:Object.keys(s).length>0?s:void 0});if(await new Promise(t=>e.onClientReady(t)),await c.mount(r),globalThis.__slicc_terminal_view=c,window.addEventListener(`beforeunload`,()=>c.dispose(),{once:!0}),new URLSearchParams(location.search).has(`wterm-image-demo`)){let e=await fetch(`/logos/sliccy-color-10scoops-128x128.png`);if(!e.ok)throw Error(`wterm demo image: HTTP ${e.status}`);let t=new Uint8Array(await e.arrayBuffer());await(await i()).writeFile(`/tmp/wterm-graphics-demo.png`,t);let n=await c.executeCommandInTerminal(`imgcat /tmp/wterm-graphics-demo.png`);if(n.exitCode!==0)throw Error(`wterm demo image: ${n.stderr}`)}}function Fd(e,t,n){let r=t=>{if(t.startsWith(`freezer:`)){n(t.slice(8));return}let r=zn(Q(e.wiring).currentUnits(),t);r&&r.id!==e.getSelected()?.id&&e.selectScoop(r)};e.refs.thread.addEventListener(`slicc-url-context`,e=>{let t=e.detail?.context;t&&r(t)});let i=e.wiring.pendingUrlContext;i?.startsWith(`freezer:`)&&e.onClientReady(()=>{e.wiring.pendingUrlContext===i&&(e.wiring.pendingUrlContext=null,r(i))})}function Id(e,n,r,i){t(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-Dpvz8D7r.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([92,2,3,61])).then(async({installLeaderPermissionsSurface:i,installMountPendingConsumer:a})=>{let o=r.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:s,isExtensionRuntime:c}=await t(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-DwX67umy.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([93,2,22]));i({runtimeMode:o,providers:await s(c()||o===`extension`||o===`extension-detached`)}),a({runShell:Ld(e,n)})}).catch(e=>i.warn(`WC permissions surface wiring failed`,e)),(r.standalone?.runtimeMode??`standalone`)!==`cherry`&&t(async()=>{let{installSecretRequestSurface:e}=await import(`./wc-secret-request-iNh1HLmJ.js`);return{installSecretRequestSurface:e}},__vite__mapDeps([94,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,95])).then(({installSecretRequestSurface:e})=>e()).catch(e=>i.warn(`WC secret request surface wiring failed`,e))}function Ld(e,n){let r=null,i=()=>(r||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:r}=await t(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-DmE-iBjP.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([90,1])),i=new r({client:n,sid:`mount-drop-${Date.now()}`});return await i.open({cwd:`/workspace`}),i})().catch(e=>{throw r=null,e}),r);return async e=>(await i()).exec(e)}var Rd=`slicc-dock-tree:default`,zd={zones:{top:null,left:{type:`leaf`,surfaceId:`chat`},middle:null,right:null,bottom:null},rowFr:{top:1,center:1,bottom:1},colFr:{left:3,middle:1,right:1}};function Bd(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(Rd,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(Rd);r.setTree(e?JSON.parse(e):zd)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(zd)}}function Vd(e,t){return(n,r,i)=>{let a=e.getAttachStage();if(!a){t.warn(`sprinkle attachImage dropped: composer stage not ready yet`);return}let o=n.match(/^data:(image\/[^;]+);base64,([A-Za-z0-9+/=]+)$/),s=o?o[2]:n,c=o?o[1]:i??`image/png`,l=c.split(`/`)[1]?.replace(`jpeg`,`jpg`).replace(`svg+xml`,`svg`)??`png`,u=r??`annotation-${Date.now()}.${l}`;a.add({id:`att-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:u,mimeType:c,size:Math.floor(s.length*3/4),kind:`image`,data:s})}}function Hd(e,n,r,i,a,o={}){t(async()=>{let{initTimestampPreference:e}=await import(`./wc-shell-BTbyNdYF.js`).then(e=>e.Q);return{initTimestampPreference:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:s}=e;e.setClient(n),t(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-CwPIBqJE.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([96,1,97,3])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),t(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-ZV7CeqWw.js`).then(e=>e._);return{applyThemeOverrides:e}},__vite__mapDeps([97,1,3])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let c=_e(`panel-layouts`);s.dockTree.tilesMovable=c,c||Bd(s,a);let l=null,u=kd(e.wiring,n),d=()=>l?.(),f=i.welcome??{intercept:null},p=Q(e.wiring),{agentHandle:m}=r;e.onClientReady(u);let h=Dd(n),_=async()=>(await h()).reader;o.standalone?.runtimeMode!==`cherry`&&o.standalone?.runtimeMode!==`hosted-leader`?Od(e,n,h,f,a):f.intercept=wc({openVfs:async()=>(await h()).writer,log:a});let v=Gc({boot:e,client:n,setRefreshPlaceholder:e=>{l=e},triggerPlaceholder:d,openReader:_,openWriter:async()=>(await h()).writer,log:a});i.setAttachmentSource(()=>v.getAttachStage()?.take()),i.setTurnIdleHook(Md({boot:e,triggerPlaceholder:d,refreshStats:u})),Nd({switcher:s.switcher,getScoops:()=>n.getScoops(),lastActivity:e.wiring.lastActivity}),Ad(e,o,a),t(async()=>{let{installWcComputers:e}=await import(`./wc-computers-BSO6h83W.js`);return{installWcComputers:e}},__vite__mapDeps([85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,86])).then(({installWcComputers:e})=>e({openFs:_,log:a})).catch(e=>a.error(`WC computers wiring failed`,e)),Id(e,n,o,a);let y=Gu({fileTree:s.fileTree,termSurface:s.termSurface,memoryHost:s.memoryHost,monitor:s.monitor,openFs:_,openWriter:async()=>(await h()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>Fl({client:n,openReader:_,storage:window.localStorage}),getWorkspace:()=>wd({client:n,clearSelection:e.clearSelection,selectedId:e.getSelected()?.id}),mountTerminal:t=>Pd(e,n,t,async()=>(await h()).writer),insertReference:e=>{let t=s.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:a});e.setActivateSurface(y),c&&t(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-BIA9fIYU.js`);return{panelizeShell:e}},__vite__mapDeps([98,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,99,100])).then(({panelizeShell:e})=>e(s,void 0,void 0,{onToolPanelActivate:e=>y.activate(e),onToolPanelDeactivate:e=>y.deactivate(e)})).catch(e=>a.error(`panelize failed — keeping the classic shell`,e)),vd({thread:s.thread,openFs:_,log:a}),g(s.thread,_),s.floatbar.addEventListener(`click`,()=>{let e=s.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let b=Sl({refs:s,openVfs:h,client:n,getUnits:()=>p.currentUnits(),getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,holdQueuedPile:e.holdQueuedPile,log:a}),{refreshFreezer:x,openFrozen:S,getViewedFrozenSessionId:ee}=b;if(x(),e.onClientReady(x),_e(`multiple-cones`)){let t=Sc({freezer:s.freezer,client:n,getSelected:()=>e.getSelected(),getUnits:()=>p.currentUnits(),selectScoop:e.selectScoop,freezeCone:b.freezeCone,log:a});e.wiring.refreshConeActions=t.refresh,e.onClientReady(t.refresh)}Fd(e,n,S),e.onClientReady(()=>{h().then(async({reader:e,writer:n})=>{let{loadShortcutConfig:r}=await t(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-CB8hU7p1.js`);return{loadShortcutConfig:e}},__vite__mapDeps([101,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));await r({reader:e,writer:n,apply:({keymap:e,trigger:t})=>{s.shortcuts.setKeymap(e),s.shortcuts.setTrigger(t)}})}).catch(e=>a.warn(`WC shortcut config load failed`,e))}),h().then(async({reader:e})=>{let{installPreviewVfsResponder:n}=await t(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-Vn6wxJvK.js`);return{installPreviewVfsResponder:e}},[]);n({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:a})}).catch(e=>a.warn(`WC page-VFS support wiring failed`,e)),h().then(async({reader:r,writer:i})=>{let{createRemoteSprinkleVfs:c}=await t(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-UzNBy5VJ.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([102,38,103,104])),l=(await t(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-BIA9fIYU.js`);return{getPanelizedShell:e}},__vite__mapDeps([98,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,99,100]))).getPanelizedShell(),{wireWcSprinkles:u}=await t(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-D0rQnhwv.js`);return{wireWcSprinkles:e}},__vite__mapDeps([105,2,0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,106,64])),d=await u({refs:s,client:n,getUnits:()=>p.currentUnits(),getSelected:()=>e.getSelected(),selectScoop:t=>e.selectScoop(t),interceptWelcomeLick:e=>f.intercept?.(e)??!1,fs:c({reader:r,writer:i}),instanceId:o.instanceId,onAttachImage:Vd(v,a),onToolPanelActivate:e=>y.activate(e),onToolPanelDeactivate:e=>y.deactivate(e),hostSprinkleSurface:l?(e,t)=>l.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:l?e=>l.removeSprinkleSurface(e):void 0,log:a});e.onClientReady(()=>void d.resync());let{getPanelizedShell:g}=await t(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-BIA9fIYU.js`);return{getPanelizedShell:e}},__vite__mapDeps([98,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,99,100])),b=g();if(b){let e=c({reader:r,writer:i});b.attachFs(e);let{registerAgentPanels:n}=await t(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-BLkJvMDw.js`);return{registerAgentPanels:e}},__vite__mapDeps([107,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));await n(e).catch(e=>a.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await t(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:n}=await t(async()=>{let{applyLayout:e}=await import(`./apply-layout-DhAyX0Ov.js`);return{applyLayout:e}},__vite__mapDeps([108,105,2,0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,106,64]));e(e=>n(d.zone,e))}if(o.standalone&&o.instanceId){let{wireWcTray:r}=await t(async()=>{let{wireWcTray:e}=await import(`./wc-tray-CotD2fxR.js`);return{wireWcTray:e}},__vite__mapDeps([109,10,11,2,9,12,13,14,1,15,16,3,0,4,5,6,7,8,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,82,110,111,112,61,48,47,113,46,89,77,96,97,57,114,64,115,116,117,55,56,58,104,90,69,84,118,66,119,120,106])),i=d.zone.callbacks(),c=await r({refs:s,client:n,browser:o.standalone.browser,realCdpTransport:o.standalone.realCdpTransport,instanceId:o.instanceId,runtimeMode:o.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>i.addSprinkle(e,t,n),removeSprinkle:e=>i.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.id??`cone`,agentHandle:m,workUnits:p,restoreLocalChrome:()=>{e.wiring.refreshScoops?.();let t=e.getSelected();t&&Uc(s,t,p.currentUnits(),e=>n.getScoop(e))},openFs:_,openWriter:async()=>(await h()).writer,window,log:a,kernelReadyDeadline:o.kernelReadyDeadline});e.wiring.notifyScoopStateChanged=()=>c.scheduleScoopsListBroadcast(),e.wiring.notifyUnitStatus=(e,t)=>c.broadcastUnitStatus(e,t===`processing`?`processing`:`ready`)}}).catch(e=>a.error(`WC sprinkle/tray wiring failed`,e));{let t=new or(new br),r=Ar(new ec({collection:{listScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>t.loadAgentSessions(),loadUiChatSessions:()=>t.loadChatSessions(),wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:sc(),snapshotStore:{read:async e=>{let{reader:t}=await h();return Ui(t,e)},write:async(e,t,n)=>{let{writer:r}=await h();return Bi(r,e,t,n)},discardIfUnindexed:async e=>{let{writer:t}=await h();return Hi(t,e)}},vfs:{readFile:async(e,t)=>(await h()).reader.readFile(e,t),readDir:async e=>(await h()).reader.readDir(e),stat:async e=>(await h()).reader.stat(e)},getActiveSessionInfo:()=>{let t=Gn(Q(e.wiring).currentUnits());return{id:t?.id??`session-${Date.now()}`,title:t?.name??`Active Session`}},version:`6.243.2`}));window.addEventListener(`unload`,r,{once:!0})}let te=!1,C=()=>te?Promise.resolve():(te=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:n,downloadTranscriptBlob:r}]=await Promise.all([t(()=>Promise.resolve().then(()=>Or),void 0),t(()=>import(`./wc-transcript-export-COXpYoBX.js`),__vite__mapDeps([121,2,110,115,116,1]))]),i=ee(),a=i==null?{kind:`active`}:{kind:`frozen`,sessionId:i},o=await e().export(a,{}),{filename:s}=o;await r(await n(o),s)}catch(e){a.error(`Transcript export failed`,e),t(async()=>{let{showTranscriptExportFailure:e}=await import(`./wc-transcript-export-COXpYoBX.js`);return{showTranscriptExportFailure:e}},__vite__mapDeps([121,2,110,115,116,1])).then(({showTranscriptExportFailure:t})=>t(e)).catch(e=>a.error(`Transcript export notice failed`,e))}finally{te=!1}})());if(t(async()=>{let{wireWcNav:e}=await import(`./wc-nav-DMm0_AmC.js`);return{wireWcNav:e}},__vite__mapDeps([122,2,18,22,57,58,1,55,56,3,8,9,10,11,12,13,14,15,16,17,19,5,20,21,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,69,64,106])).then(({wireWcNav:e})=>e({refs:s,client:n,workUnits:p,getUnits:()=>p.currentUnits(),log:a,onExportTranscript:C,shortcuts:s.shortcuts,persistKeyboardTrigger:async e=>{let{writer:n,reader:r}=await h(),{writeShortcutTrigger:i}=await t(async()=>{let{writeShortcutTrigger:e}=await import(`./wc-shortcut-config-CB8hU7p1.js`);return{writeShortcutTrigger:e}},__vite__mapDeps([101,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));await i({reader:r,writer:n},e)}})).catch(e=>a.error(`WC nav wiring failed`,e)),t(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-DLpMUmHi.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([123,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,61,75,76,77,124])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=s.composer;t(o.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>a.error(`WC push-to-talk wiring failed`,e)),t(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-FFaf-I-F.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([74,2,3,22,75,76,0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,77])).then(({setSpeakAssetsInstanceId:e})=>e(o.instanceId)).catch(e=>a.error(`WC say warmup wiring failed`,e)),o.standalone)return()=>{t(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-CUUn1ajO.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([68,2,3,18,7,8,9,10,11,12,13,14,1,15,16,17,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,55,56,6,37,57,58,53,62,49,0,4,36,38,39,40,50,51,54,63,64,65,66])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await h()).writer,onComplete:x})).catch(e=>a.warn(`Pending session catch-up scheduling failed`,e))}}function Ud(e){let n=!1,r=()=>t(()=>import(`./boot-stall-overlay-Cs-FNlf8.js`),[]);return{onBootProgress:t=>{n=!0,r().then(n=>n.showBootStage(e,t))},onReadyStall:t=>{n=!0,r().then(n=>n.showBootStallOverlay(e,t))},dismiss:()=>{n&&r().then(t=>{t.removeBootStallOverlay(e),t.removeBootStage(e)})}}}async function Wd(e,n,r=`standalone`){let{browser:i,realCdpTransport:a,instanceId:o,localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,attachLickForwardingClient:d}=await St({runtimeMode:r,envBaseUrl:null,window,log:n}),{floatKindForRuntimeMode:f,floatLabelForKind:p,resolveStandaloneFloatKind:m}=await t(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await Promise.resolve().then(()=>$l);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},void 0),h=r===`standalone`?await m():f(r),g=p(h);o&&bt(o);let{syncFsBridgeEnabled:_,syncFsChannelNonce:v}=Ll(),y=Ud(document),b,x,{boot:S}=await cu(e,n,{floatKind:h,floatLabel:g,connect:e=>{b=qo({realCdpTransport:a,reconnectCdp:()=>i.reconnectIfNeeded(),instanceId:o,makeClient:t=>new ko(Dc(e.wiring),t),localApiBaseUrl:s,bridgeToken:c,syncFsBridgeEnabled:_,syncFsChannelNonce:v,localLickWsUrl:l,extensionDelegateId:u,flagFloat:r,onWorkerScriptError:()=>{xt()},onBootProgress:y.onBootProgress,onReadyStall:y.onReadyStall,onLateReady:()=>{xt()}}),Fo({send:e=>b.client.sendRaw(e)}),d?.(b.client);let t=jo(b.client);return{client:Q(e.wiring),host:t,workbench:(e,s)=>{x=Hd(e,b.client,s,t,n,{instanceId:o,standalone:{browser:i,floatKind:h,realCdpTransport:a,runtimeMode:r},kernelReadyDeadline:{pause:()=>b.pauseReadyDeadline(),restart:()=>b.restartReadyDeadline()}})}}}});S.setRestoringSessions(!0);let{setupSudoStandalone:ee}=await t(async()=>{let{setupSudoStandalone:e}=await import(`./main-BsdSV37L.js`).then(e=>e.c);return{setupSudoStandalone:e}},__vite__mapDeps([55,1,56,2,3,8,9,10,11,12,13,14,15,16,17,18,19,5,20,21,22,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,57,58]));await ee({log:n});try{await b.ready}finally{y.dismiss()}S.wiring.notifyReady?.(),S.setRestoringSessions(!1),globalThis.__slicc_kernel_ready=!0,n.info(`WC live shell ready`,{scoops:b.client.getScoops().length}),x?.();let{consumeAutoPrompt:te}=await t(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),C=te(window.location.search);C&&(S.getController()?.sendUserMessage(C),n.info(`Auto-prompt submitted`,{length:C.length}))}export{Za as A,Vi as B,ko as C,Ja as D,ao as E,Xi as F,or as G,Mr as H,Ca as I,Yi as L,$a as M,no as N,to as O,io as P,qa as R,jo as S,oo as T,Or as U,Xr as V,br as W,kc as _,Rl as a,Q as b,Ol as c,Ml as d,qc as f,Ac as g,Oc as h,zl as i,eo as j,ro as k,wl as l,Bc as m,bd as n,Tl as o,Kc as p,cu as r,Al as s,Hd as t,Dl as u,jc as v,mo as w,Po as x,Dc as y,xa as z};
248
+ `}function Jl(e){let t={id:e.id,text:e.content};return e.attachments?.length&&(t.attachments=e.attachments.length),t}var Yl=class e{#e;#t;#n;#r;#i;#a=null;#o;#s;#c;#l;#u;#d;#f;#p;#m;#h;#g;#_;#v;#y=[];#b=[];#x=null;#S=new Map;#C=null;#w=null;#T=``;#E=null;#D=null;#O=!1;#k=`thinking`;#A=0;#j=null;#M=new Set;#N=new Map;#P=new Map;#F=new Set;#I=!1;#L=null;constructor(e){this.#e=e.thread,this.#t=e.agent,this.#n=e.onProcessingChange,this.#r=e.onBusyPhaseChange,this.#i=e.onToolProgressChange,this.#o=e.onMessageRendered,this.#s=e.onMessageDisposed,this.#c=e.onTurnComplete,this.#l=e.resolveTelemetryContext,this.#u=e.onQueuedChange,this.#d=e.onLickBackpressureChange,this.#f=e.onQueuedCancel,this.#p=e.onToolUiAction,this.#m=e.readOnlyToolUi??!1,this.#h=e.agent.onEvent(e=>this.#J(e)),this.#v=e=>this.#ge(e),this.#e.addEventListener(`slicc-error-retry`,this.#v)}dispose(){this.#h(),this.#e.removeEventListener(`slicc-error-retry`,this.#v);for(let e of[...this.#N.keys()])this.#he(e);this.#P.clear(),this.#F.clear(),this.#me()}setReadOnly(e){if(this.#I!==e&&(this.#I=e,e))for(let e of[...this.#N.keys()])this.#he(e)}get readOnly(){return this.#I}get processing(){return this.#O}getMessages(){return this.#y.map(e=>({...e}))}setAgent(e){this.#h(),this.#t=e,this.#h=e.onEvent(e=>this.#J(e))}setOnLocalUserMessage(e){this.#g=e}setOnLocalProcessingChange(e){this.#_=e}addUserMessage(e,t,n){this.#ye({id:$(),role:`user`,content:e,timestamp:Date.now(),...n?{source:n}:{}})}getQueuedMessages(){return this.#b.map(Jl)}removeQueuedMessage(e){let t=this.#b.filter(t=>t.id!==e);t.length!==this.#b.length&&(this.#b=t,this.#B())}stashQueued(){let e=this.#L??[];this.#L=null;let t=this.#b;return t.length===0?e:(this.#b=[],this.#B(),[...e,...t])}restoreQueued(e){this.#L=e.length>0?[...e]:null}heldBackendPendingIds(e){if(!this.#L||!e?.length)return new Set;let t=new Set(e);return new Set(this.#L.filter(e=>t.has(e.id)).map(e=>e.id))}#R(e,t){if(!this.#L)return;let n=this.heldBackendPendingIds(t),r=new Set(e.map(e=>e.id)),i=this.#L.filter(e=>!r.has(e.id)||n.has(e.id));if(this.#L=null,i.length===0)return;if(!t){this.#b=i,this.#B();return}let a=new Map(t.map((e,t)=>[e,t])),o=i.filter(e=>a.has(e.id)).sort((e,t)=>(a.get(e.id)??0)-(a.get(t.id)??0)),s=i.filter(e=>!a.has(e.id));if(this.#b=this.#O?o:[...o,...s],this.#B(),this.#O)for(let e of s)this.#ye(e)}#z(){if(this.#b.length===0)return;let e=this.#b;this.#b=[];for(let t of e)this.#ye(t);this.#B()}#B(){this.#u?.(this.#b.map(Jl))}#V(){this.#d?.(this.#x)}setLickBackpressure(e,t,n){if(e<=0){if(!this.#x)return;this.#x=null,this.#V();return}this.#x={text:`${e} events waiting for the current turn`},this.#V();try{ot(n,t)}catch{}}addAssistantMessage(e){this.#ye({id:$(),role:`assistant`,content:e,timestamp:Date.now()})}loadMessages(e,t){for(let e of this.#S.keys())this.#s?.(e);for(let e of[...this.#N.keys()])this.#he(e);this.#P.clear(),this.#F.clear(),this.#me();let n=this.#b.length>0;if(this.#b.length>0){if(this.#f)for(let e of this.#b)try{this.#f(e.id)}catch(e){console.error(`onQueuedCancel hook threw`,e)}this.#b=[]}n&&this.#B();let r=this.heldBackendPendingIds(t),i=r.size>0?e.filter(e=>!r.has(e.id)):e;this.#y=de(i);let a=[...this.#y].reverse().find(e=>e.isStreaming);this.#C=a?.id??null,a&&(this.#w=a.id),this.#Q(),this.#S.clear();let o=[],s=``;for(let e of this.#y){let t=new Date(e.timestamp).toDateString();t!==s&&(o.push(d(e.timestamp)),s=t);let n=this.#ve(e);this.#S.set(e.id,n),o.push(...n)}let c=this.#e;typeof c.replaceContent==`function`?c.replaceContent(...o):c.replaceChildren(...o),this.#Ce();for(let e of this.#y)this.#o?.(e,this.#S.get(e.id)??[]);this.#q(),this.#Te(),this.#H(),this.#R(e,t)}#H(){if(this.#e.getAttribute(`context`)!==`cone`||this.#y.length===0||!vt()||this.#O)return;let e=this.#y[this.#y.length-1];e.role!==`user`||e.source===`lick`||e.source===`delegation`||e.queued||this.#ge(new Event(`slicc-error-retry`))}sendUserMessage(e,t,n){let r=e.trim();if(!r&&!t?.length)return;let i=n?.dictation?this.#U(r):r,a={id:$(),role:`user`,content:i,timestamp:Date.now(),attachments:t?.length?t:void 0};this.#O&&!n?.steer?(this.#b.push(a),this.#B()):this.#ye(a),n?.steer?this.#t.sendMessage(i,a.id,a.attachments,{steer:!0}):this.#t.sendMessage(i,a.id,a.attachments),this.#W();try{let e=n?.dictation?m(i):i;this.#g?.(e,a.id,a.attachments)}catch(e){console.error(`onLocalUserMessage hook threw`,e)}}#U(e){return oe(e,C())}#W(){if(this.#l)try{let e=this.#l();if(!e)return;lt(e.scoopName,e.model)}catch{}}addLickMessage(e,t,n,r,i){let a=this.#y[this.#y.length-1];if(!(i||a?.lickId)&&a&&a.source===`lick`&&a.channel===n){a.lickParts=[...a.lickParts??[a.content],t],a.lickCount=a.lickParts.length,a.content+=`\n\n${t}`,this.#be(a);return}this.#ye({id:e,role:`user`,content:t,timestamp:r,source:`lick`,channel:n,lickId:i,lickState:i?`pending`:void 0,queued:this.#O?!0:void 0})}updateLickState(e,t){let n=this.#y.find(t=>t.lickId===e);n&&(n.lickState=t,this.#be(n))}setProcessing(e){if(this.#O!==e){this.#O=e,e&&(this.#w=null),e&&(this.#A=0,this.#G(`thinking`)),e&&this.#z(),e||(this.#x&&(this.#x=null,this.#V()),this.#q()),this.#n?.(e);try{this.#_?.(e)}catch(e){console.error(`onLocalProcessingChange hook threw`,e)}e||this.#K()}}#G(e){this.#k!==e&&(this.#k=e,this.#r?.(e))}#K(){let e=this.#w;if(this.#w=null,!this.#c)return;let t=e?this.#_e(e):null;this.#c(t?{...t}:null)}#q(){let e=this.#y[this.#y.length-1];if(!(e?.role===`assistant`&&!e.isStreaming)){this.#j?.remove();return}this.#j??=Gl({getMessages:()=>this.getMessages()}),(this.#e.inner??this.#e).append(this.#j)}#J(e){switch(e.type){case`message_start`:this.#Y(e.messageId);break;case`content_delta`:this.#X(e.messageId,e.text);break;case`content_done`:this.#$(e.messageId,e.model,e.usage);break;case`tool_use_start`:this.#te(e.messageId,e.toolName,e.toolInput,e.toolCallId);break;case`tool_result`:this.#re(e.messageId,e.toolName,e.result,e.isError,e.toolCallId);break;case`tool_ui`:this.#le(e.messageId,e.requestId,e.html);break;case`tool_ui_done`:this.#ue(e.requestId);break;case`tool_progress`:this.#de(e.messageId,e.toolName,e.progress,e.toolCallId);break;case`turn_end`:this.#oe(e.messageId);break;case`compaction_notice`:this.#ie(e.messageId,e.marker);break;case`error`:this.#se(e.error,e.endTurn!==!1)}}#Y(e){this.setProcessing(!0),this.#C=e,this.#w=e,this.#ye({id:e,role:`assistant`,content:``,timestamp:Date.now(),isStreaming:!0,toolCalls:[]})}#X(e,t){this.#_e(e)&&(this.#E!==e&&this.#Z(),this.#E=e,this.#T+=t,this.#D??=requestAnimationFrame(()=>this.#Z()))}#Z(){let e=this.#E,t=this.#T;this.#Q();let n=t&&e?this.#_e(e):void 0;n&&(n.content+=t,this.#be(n))}#Q(){this.#D!==null&&cancelAnimationFrame(this.#D),this.#D=null,this.#T=``,this.#E=null}#$(e,t,n){let r=this.#_e(e);r&&(t&&(r.model=t),n&&(r.usage=n),this.#E===e&&(r.content+=this.#T,this.#Q()),r.isStreaming=!1,this.#be(r))}static#ee(e,t){return`${e}:${t}`}#te(t,n,r,i){let a=this.#_e(t);if(!a)return;a.toolCalls=a.toolCalls??[];let o=i?e.#ee(t,i):$();this.#F.add(o),a.toolCalls.push({id:o,name:n,input:r}),this.#A+=1,this.#G(`tool`),this.#be(a)}#ne(t,n,r){let i=t?.toolCalls??[];if(r){let n=t?e.#ee(t.id,r):void 0;return i.find(e=>e.id===n)??i.find(e=>e.id===r)}return[...i].reverse().find(e=>e.name===n&&e.result===void 0)}#re(e,t,n,r,i){let a=this.#_e(e),o=this.#ne(a,t,i);!a||!o||(o.result=n,o.isError=r,o.id&&(this.#P.delete(o.id),this.#me()),this.#A=Math.max(0,this.#A-1),this.#A===0&&this.#G(`thinking`),this.#be(a))}#ie(e,t){let n=this.#_e(e);if(t.state===`discarded`){n&&this.#ae(n);return}if(n){n.compaction=t,this.#be(n);return}this.#ye({id:e,role:`assistant`,content:``,timestamp:Date.now(),compaction:t})}#ae(e){this.#Se(),this.#s?.(e.id);for(let t of this.#S.get(e.id)??[])t.remove();this.#S.delete(e.id),this.#y=this.#y.filter(t=>t!==e),this.#Ce(),this.#pe()}#oe(e){let t=this.#_e(e);t?.isStreaming&&(t.isStreaming=!1,this.#be(t)),this.#C=null,this.setProcessing(!1)}#se(e,t=!0){t&&this.setProcessing(!1),this.#ye({id:$(),role:`assistant`,content:typeof e==`string`?e:ct(e)??``,timestamp:Date.now(),error:!0}),this.#ce(e)}#ce(e){try{let t=typeof e==`string`?e:st(e);if(typeof t==`string`&&ut(t))return;dt(`error-card`,e)}catch{}}#le(e,t,n){if(this.#I)return;this.#he(t);let r=document.createElement(`div`);if(r.className=`msg__dip`,r.setAttribute(`data-tool-ui-request`,t),(this.#e.inner??this.#e).append(r),this.#m){let e=B(r,ql(n),()=>{},!1);this.#N.set(t,{instance:e,container:r});return}let i=B(r,n,(e,n)=>{this.#p?.(t,e,n)},!1);this.#N.set(t,{instance:i,container:r}),this.#p?.(t,at,void 0)}#ue(e){this.#he(e)}#de(e,t,n,r){let i=this.#_e(e),a=this.#ne(i,t,r);a?.id&&(n.phase===`end`?this.#P.delete(a.id):this.#P.set(a.id,n),this.#fe(a.id),this.#me())}#fe(e){let t=this.#e.querySelector(`slicc-action-row[data-tool-id="${CSS.escape(e)}"]`);t&&h(t,this.#P.get(e)??null),this.#pe()}#pe(){let e=this.#e.querySelectorAll(`slicc-tool-cluster`);for(let t of e){let e=[...t.querySelectorAll(`slicc-action-row[data-tool-id]`)].filter(e=>e.dataset.toolId&&this.#F.has(e.dataset.toolId)).map(e=>{let t=e.dataset.toolId,n=e.getAttribute(`result`);return{done:n!==null&&n!==`…`,fraction:this.#P.get(t)?.fraction}});fe(t,le(e))}}#me(){let e=null,t=[...this.#P.values()];t.length>0&&t.every(e=>typeof e.fraction==`number`)&&(e=t.reduce((e,t)=>e+t.fraction,0)/t.length),e!==this.#a&&(this.#a=e,this.#i?.(e))}#he(e){let t=this.#N.get(e);if(t){this.#N.delete(e);try{t.instance.dispose()}catch{}t.container.remove()}}#ge(e){if(this.#O)return;let t=e.detail?.messageId??null,n=this.#y.length;if(t){let e=this.#y.findIndex(e=>e.id===t);e>=0&&(n=e)}let r=n>0?this.#y[n-1]:void 0;if(r&&r.source===`lick`&&!r.queued){this.#t.sendMessage(r.content,$(),r.attachments);return}let i;for(let e=n-1;e>=0;e--){let t=this.#y[e];if(t.role===`user`&&t.source!==`lick`&&t.source!==`delegation`&&!t.queued){i=t;break}}i&&this.#t.sendMessage(i.content,$(),i.attachments)}#_e(e){return this.#y.find(t=>t.id===e)}#ve(e){try{return a(e,{readOnly:this.#I})}catch(t){console.error(`[wc-chat] message render failed — degrading to plain bubble`,t);let n=document.createElement(e.role===`assistant`?`slicc-agent-message`:`slicc-user-message`);return n.setAttribute(`text`,String(e.content??``)),[n]}}#ye(e){this.#Se(),this.#y.push(e);let t=this.#ve(e);this.#S.set(e.id,t),this.#e.append(...t),this.#Ce(),this.#o?.(e,t),e.role===`user`?this.#Te():this.#Ee()}#be(e){this.#Se();let t=this.#S.get(e.id)??[],n=this.#ve(e),r=t[0]??null,i=r?.parentNode;if(i)for(let e of n)i.insertBefore(e,r);else this.#e.append(...n);this.#S.set(e.id,n),this.#o?.(e,n);for(let e of t)e.remove();for(let t of e.toolCalls??[])t.id&&this.#P.has(t.id)&&this.#fe(t.id);this.#Ce(),this.#pe(),this.#Ee()}#xe(){return this.#e.inner??this.#e}#Se(){f(this.#xe(),this.#M)}#Ce(){ue(this.#xe(),{openClusterAnchors:this.#M,toolCallLookup:(e,t)=>this.#we(e,t)})}#we(e,t){return this.#y.find(t=>t.id===e)?.toolCalls?.find(e=>e.id===t)}#Te(){this.#e.scrollTop=this.#e.scrollHeight}#Ee(){let e=this.#e;typeof e.requestFollow==`function`?e.requestFollow():this.#Te()}};function Xl(e,n,r,i,a,o){let s=new Map;t(async()=>{let{loadDipStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadDipStyles:e}},__vite__mapDeps([71,2])).then(({loadDipStyles:e})=>e()).catch(()=>void 0);let c=[];r.subscribeList(e=>{c=e});let l=()=>n.addressableUnitId?n.addressableUnitId():i()?.id??null,u=zl(r,{getSelectedId:l,onError:e=>n.emitAgentError(e),onEvent:e=>n.onAgentEvent(e)});u.onEvent(n=>{(n.type===`tool_use_start`||n.type===`tool_result`)&&(n.type===`tool_result`&&n.isError&&e.switcher.glower(),t(async()=>{let{playCue:e}=await import(`./soundscape-DW-72Z0Y.js`);return{playCue:e}},__vite__mapDeps([72,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({playCue:e})=>e(n.type===`tool_use_start`?`tool-start`:`tool-finish`)).catch(()=>void 0))});let d=new Yl({thread:e.thread,agent:u,resolveTelemetryContext:()=>{let e=i();if(!e)return null;let t=qn(e);try{let n=Vn(c,e.id);return{scoopName:t,model:(n?Ae(n.id,n.provider):Me()).id}}catch{return{scoopName:t,model:``}}},onTurnComplete:e=>{n.speaksReplies&&t(async()=>{let{consumeVoiceSubmission:e,speakReplyMarkdown:t}=await import(`./voice-reply-BUruZfw2.js`);return{consumeVoiceSubmission:e,speakReplyMarkdown:t}},__vite__mapDeps([73,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,74,75,76,77])).then(async({consumeVoiceSubmission:n,speakReplyMarkdown:r})=>{if(!n())return;let{endVoiceTurn:i,setTtsActive:a}=await t(async()=>{let{endVoiceTurn:e,setTtsActive:t}=await import(`./soundscape-DW-72Z0Y.js`);return{endVoiceTurn:e,setTtsActive:t}},__vite__mapDeps([72,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));try{if(e?.content){a(!0);try{await r(e.content)}finally{a(!1)}}}finally{i()}}).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&&(xi(t),s.delete(e))},onMessageRendered:(e,t)=>{let r=s.get(e.id),i=t[0];if(!i){r&&xi(r),s.delete(e.id);return}n.onMessageRendered?.(i);let a=l()??void 0;s.set(e.id,bi(i,(e,t)=>{let r={type:`sprinkle`,sprinkleName:`inline`,timestamp:new Date().toISOString(),body:{action:e,data:t}};o?.intercept?.(r)||n.sendSprinkleLick(`inline`,{action:e,data:t},void 0,a)},{previous:r,streaming:e.isStreaming===!0}))},onQueuedChange:t=>e.queuedStack.setMessages(t),onLickBackpressureChange:t=>{e.lickBackpressureNotice.textContent=t?.text??``,e.lickBackpressureNotice.toggleAttribute(`hidden`,t===null)},onToolUiAction:(e,t,r)=>{n.sendToolUiAction(e,t,r)},onQueuedCancel:e=>{let t=i()?.id;t&&n.deleteQueuedMessage(t,e).catch(()=>void 0)},...n.readOnlyToolUi?{readOnlyToolUi:!0}:{}});return e.queuedStack.addEventListener(`slicc-queued-remove`,e=>{let t=e.detail?.id;if(!t)return;d.removeQueuedMessage(t);let r=i()?.id;r&&n.deleteQueuedMessage(r,t).catch(()=>void 0)}),Hl(e.thread,(e,t,r,i)=>n.sendSprinkleLick(e,t,r,i),l),{controller:d,agentHandle:u}}function Zl(e,t){let n=new Rl,r=()=>{let r=t.currentUnits(),a=e.getSelected()?.id;e.refs.switcher.scoops=Ln(r,a,i,n.sync(r,a)),e.refreshConeActions?.()};return e.refreshScoops=r,t.subscribeList(()=>r()),r}function Ql(e,n,r){let{refs:i}=e;e.setChatTransport(n,r);let{controller:a,agentHandle:o}=Xl(i,r,n,()=>e.getSelected(),r.onTurnIdle,r.welcome);e.setController(a);let s=Zl(e.wiring,n);return i.switcher.addEventListener(`slicc-scoop-select`,t=>{let r=t.detail?.key,i=n.currentUnits().find(e=>e.id===r);i&&i.id!==e.getSelected()?.id&&e.selectScoop(i)}),i.switcher.setAttribute(`gaze-target`,`slicc-input-card`),i.inputCard.addEventListener(`input`,()=>{i.switcher.scrutinize(),i.switcher.wake()}),i.inputCard.addEventListener(`submit`,n=>{let o=ne(n),s=r.takeAttachments?.();if(!o&&!s?.length)return;e.wiring.awaitingInput=null,e.wiring.refreshScoops?.(),e.wiring.notifyScoopStateChanged?.();let c=n.detail?.source===`dictation`;c&&r.speaksReplies&&(t(async()=>{let{markVoiceSubmission:e}=await import(`./voice-reply-BUruZfw2.js`);return{markVoiceSubmission:e}},__vite__mapDeps([73,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,74,75,76,77])).then(({markVoiceSubmission:e})=>e()).catch(()=>void 0),t(async()=>{let{beginVoiceTurn:e,playCue:t}=await import(`./soundscape-DW-72Z0Y.js`);return{beginVoiceTurn:e,playCue:t}},__vite__mapDeps([72,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({beginVoiceTurn:e,playCue:t})=>{e(),t(`sent`)}).catch(()=>void 0)),a.sendUserMessage(o??``,s,{dictation:c,steer:p(n)}),i.inputCard.clear?.();let l=e.getSelected()?.id;l&&(i.switcher.setAttribute(`attention`,l),e.wiring.lastActivity.set(l,ge(o??``,600)))}),i.inputCard.addEventListener(`stop`,()=>{e.getController()?.processing&&o.stop()}),{agentHandle:o,controller:a,publishStrip:s}}var $l=e({floatKindForRuntimeMode:()=>nu,floatLabelForKind:()=>tu,resolveStandaloneFloatKind:()=>ru}),eu={"slicc-server":`sliccstart`,"slicc-node-server":`npx`};function tu(e){return u(e)}function nu(e){switch(e){case`extension`:case`extension-detached`:return`extension`;case`cherry`:return`cherry`;case`hosted-leader`:return`hosted`;case`electron-overlay`:return`electron`;case`follower`:return`standalone`;default:return`standalone`}}async function ru(e){let t=e?.fetchFn??fetch,n=e?.timeoutMs??1500;try{let e=new AbortController,r=setTimeout(()=>e.abort(),n),i=await t(tt(`/api/status`),{cache:`no-store`,signal:e.signal,headers:nt()}).finally(()=>clearTimeout(r));if(await $e(i),!i.ok)return`standalone`;let a=await i.json();return(a.service?eu[a.service]:void 0)??`standalone`}catch(e){if(et(e))throw e;return`standalone`}}function iu(e,t){let n=t.label??tu(t.floatKind);e.setAttribute(`label`,n),e.setAttribute(`float-kind`,t.floatKind);let r=nn(),i=mt(),a=()=>{let t=au(r,i);e.setAttribute(`connection`,t.connection),t.trayRole===`none`?e.removeAttribute(`tray-role`):e.setAttribute(`tray-role`,t.trayRole)},o=en(e=>{r=e,a()}),s=ft(e=>{i=e,a()});return a(),()=>{o(),s()}}function au(e,t){return e.state===`inactive`?t.state===`inactive`?{connection:`offline`,trayRole:`none`}:{connection:su(t),trayRole:`follower`}:{connection:ou(e),trayRole:`leader`}}function ou(e){switch(e.state){case`connecting`:return`connecting`;case`leader`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}function su(e){if(e.stalled)return`stalled`;switch(e.state){case`connecting`:return`connecting`;case`connected`:return`live`;case`reconnecting`:return`reconnecting`;case`error`:return`error`;default:return`offline`}}async function cu(e,t,n){let r=n.floatLabel??tu(n.floatKind),i=Ed(e,r);iu(i.refs.floatbar,{floatKind:n.floatKind,label:r});let a=await n.connect(i),o=Ql(i,a.client,a.host);return await a.workbench?.(i,o),t.info(`WC shell mounted`,{floatKind:n.floatKind}),{boot:i,chat:o}}var lu=36e5,uu=2e3,du=class{#e=[];#t;#n;constructor(e=lu,t=uu){this.#t=Math.max(1,Math.floor(e)),this.#n=Math.max(2,Math.floor(t))}get windowMs(){return this.#t}push(e){this.#e.push(e);let t=e.at-this.#t;for(;this.#e.length>0&&this.#e[0].at<t;)this.#e.shift();for(;this.#e.length>this.#n;)this.#e.shift()}get size(){return this.#e.length}series(e){if(!(this.#e.length<2))return{points:this.#e.map(t=>({at:t.at,value:t[e]})),windowMs:this.#t}}peak(e){return this.#e.length===0?null:this.#e.reduce((t,n)=>Math.max(t,n[e]),-1/0)}windowLabel(){if(this.#e.length<2)return null;let e=this.#e[this.#e.length-1].at-this.#e[0].at,t=Math.max(1,Math.round(e/1e3));if(t<90)return`last ${t}s`;let n=Math.round(t/60);return n<90?`last ${n}m`:`last ${Math.round(n/60)}h`}};function fu(e){return c(e,s)}async function pu(e,t=vn.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 fu(n)}function mu(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:no(e),sublabel:n,meta:eo(e),icon:Za(e),badges:r,status:$a(e)}})}}function hu(e){return e.stalled||e.state===`reconnecting`?`warn`:e.state===`error`?`error`:e.state===`leader`||e.state===`connected`?`active`:`idle`}function gu(e){return e.stalled?`stalled`:e.state===`leader`?`connected`:e.state}function _u(e){let t=gu(e),n=e.sessionId?`Session ${Ya(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:hu(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:hu(e)}]}}function vu(e,t){let n=e.filter(e=>k(e)),r=t=>e.filter(e=>!k(e)&&e.parentJid===t),i=(e,n)=>{let r=t(e.jid);return{name:k(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 yu(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 bu(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 xu(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 Su(e){let t=Et({percent:e.percent,status:e.status});return t===`critical`?`error`:t===`warn`?`warn`:`active`}function Cu(e,t){let n=`${wt(e.percent)}% used`,r=Tt(e.resetsAt,t);return{name:`${e.window[0]?.toUpperCase()??``}${e.window.slice(1)} budget`,sublabel:e.providerId?`${e.providerId} · rolling window`:`rolling window`,meta:e.status===`rate-limited`?`rate-limited · ${n}`:n,badges:r?[r]:void 0,status:Su(e)}}function wu(e,t){let n=e?.budget,r=e?.models??[],i=e?`$${e.totalCost.toFixed(2)} across ${r.length} models`:``,a=n?[n.status===`rate-limited`?`rate-limited`:``,`${wt(n.percent)}% of ${n.window} budget`,i].filter(Boolean).join(` · `):e?i:`no spend yet`;return{id:`cost`,label:`Cost`,icon:`receipt`,count:r.length,meta:a,accent:`rose`,status:n?Su(n):void 0,emptyText:`Model usage will be summarized after the first turn.`,rows:[...n?[Cu(n,t)]:[],...r.map(e=>({name:e.model,meta:`$${e.cost.toFixed(4)}`,status:`idle`}))]}}function Tu(e){let t=[],n=Eu(e.budget,e.now??Date.now());n&&t.push(n);for(let n of e.oauthProviders)n.valid===!1&&t.push({id:`oauth:${n.providerId}`,severity:`error`,icon:`key-round`,title:`${n.providerId} session expired`,detail:`Tool calls through this provider will fail until it is signed in again.`});let r=hu(e.tray);(r===`error`||r===`warn`)&&t.push({id:`tray`,severity:r===`error`?`error`:`warn`,icon:`cloud-off`,title:`Tray ${gu(e.tray)}`,detail:e.tray.workerBaseUrl?`Worker · ${e.tray.workerBaseUrl}`:`No tray session is established.`});for(let n of e.followers)$a(n)===`warn`&&t.push({id:`follower:${n.runtimeId}`,severity:`warn`,icon:`radio`,title:`${no(n)} stopped answering`,detail:n.motd??n.runtime??`No heartbeat from this follower.`,age:eo(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 Eu(e,t){if(!e||Et({percent:e.percent,status:e.status})===`ok`)return null;let n=Tt(e.resetsAt,t),r=`${wt(e.percent)}%`;if(e.status===`rate-limited`)return{id:`budget:rate-limited`,severity:`error`,icon:`octagon-alert`,title:`${e.window} budget is rate-limited`,detail:`The provider is refusing calls until the window resets. ${r} of the allowance is used.`,age:n};let i=e.percent>=95;return{id:`budget:near-limit`,severity:i?`error`:`warn`,icon:`gauge`,title:`${r} of the ${e.window} budget used`,detail:i?`Past 95% of the allowance — calls may start being refused.`:`Past 80% of the allowance. Long runs may not finish before it resets.`,age:n}}function Du(e){return e>=100?`$${Math.round(e)}`:`$${e.toFixed(2)}`}function Ou(e){let{stats:t,workingUnits:n,totalUnits:r,liveProcesses:i,terminated:a,history:o}=e,s=o?.windowLabel(),c=t?.burnRate??0,l=t?.fills??[],u=l.reduce((e,t)=>Math.max(e,t.fill),0),d=t?.budget,f=[{id:`burn`,label:`Burn rate`,value:Du(c),unit:`/hour`,hero:!d,accent:d?`rose`:void 0,series:o?.series(`burnRate`),foot:[t?`$${t.totalCost.toFixed(2)} this session`:`no spend yet`,s].filter(Boolean).join(` · `)},{id:`load`,label:`Agent load`,value:String(n),unit:`of ${r} working`,accent:`violet`,series:o?.series(`workingUnits`),foot:s??void 0}];return d||f.push({id:`processes`,label:`Live processes`,value:String(i),unit:i===1?`process`:`processes`,accent:`cyan`,series:o?.series(`liveProcesses`),foot:a>0?`${a.toLocaleString()} exited this session`:s??void 0}),l.length>0&&f.push({id:`context`,label:`Context fill`,value:String(Math.round(u*100)),unit:`%`,ratio:u,markers:Au(l,e.units??[]),accent:u>=.9?`rose`:u>=.7?`amber`:`green`,foot:`fullest of ${l.length} context window${l.length===1?``:`s`}`}),d?[ku(d,t,e.now??Date.now()),...f]:f}function ku(e,t,n){let r=Et({percent:e.percent,status:e.status});return{id:`budget`,label:`${e.window[0]?.toUpperCase()??``}${e.window.slice(1)} budget`,value:wt(e.percent),unit:`% used`,hero:!0,ratio:Math.min(1,Math.max(0,e.percent/100)),accent:r===`critical`?`rose`:r===`warn`?`amber`:`green`,foot:[e.status===`rate-limited`?`rate-limited`:``,Tt(e.resetsAt,n)??``,t?`$${t.totalCost.toFixed(2)} this session`:``].filter(Boolean).join(` · `)}}function Au(e,t){let n=new Map(t.map(e=>[e.jid,e]));return e.map(({jid:e,fill:t})=>{let r=n.get(e),a=r?k(r):!1,o=r?.name||(r?`sliccy`:e);return{id:e,ratio:t,color:i({isRoot:a,name:o}),label:`${a?`${o} (cone)`:o} — ${Math.round(t*100)}% full`}})}var ju={running:`R`,pending:`S`,exited:`Z`,killed:`K`};function Mu(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 Nu(e,t){return{pid:e.pid,ppid:e.ppid,state:ju[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:Mu(e.startedAt,t)}}async function Pu(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:Ou({stats:l,workingUnits:h,totalUnits:n.length,liveProcesses:d.length,terminated:f,history:t,units:n,now:g}),alerts:Tu({tray:r,followers:i,mounts:s,oauthProviders:p,budget:l?.budget,now:g}),sections:[_u(r),mu(i),vu(n,t=>e.isProcessing(t)),yu(s),bu(m,p),xu(a,o),wu(l,g)],processes:{rows:d.map(e=>Nu(e,g)),terminated:f}}}var Fu=`/shared`,Iu=3,Lu=200;async function Ru(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,Lu),s=new Map,c=[];for(let e of o){if(e.type!==`file`)continue;let n=`${t}/${e.name}`;e.size===void 0?c.push(n):s.set(n,e.size)}let l=await Promise.allSettled(c.map(t=>e.stat(t)));c.forEach((e,t)=>{let n=l[t];n?.status===`fulfilled`&&s.set(e,n.value.size)});let u=[];for(let r of o){let i=`${t}/${r.name}`;if(r.type===`directory`)u.push({kind:`dir`,id:i,label:r.name,children:n<Iu?await Ru(e,i,n+1):[]});else{let e=s.get(i);u.push({kind:`file`,id:i,label:r.name,path:i,size:e})}}return u}async function zu(e,t=vn.root){let n=[];for(let r of[t,Fu])n.push({kind:`dir`,id:r,label:r.replace(/^\/(cones\/)?/,``),open:!0,children:await Ru(e,r,1)});return n}var Bu=200,Vu=1e3,Hu=3e3,Uu=45e3;function Wu(e){let t=null,n=!1,r=!1,i=!1,a=0,o=0,s=null,c=null,l=0,u=()=>{let t=++o;e.openFs().then(async n=>{let i=await zu(n,e.getWorkspace().root);t===o&&(e.fileTree.items=i,r||(r=!0,v({fileTree:e.fileTree,openFs:e.openFs,openWriter:e.openWriter,insertReference:e.insertReference,toPreviewUrl:_,log:e.log})))}).catch(t=>e.log.error(`WC file tree refresh failed`,t))},d=()=>{if(!i)return;let e=Date.now();if(c==null)l=e;else if(e-l>=Vu){clearTimeout(c),c=null,u();return}c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},Bu)},f=()=>{t??=setInterval(u,Hu)},p=()=>{let t=++a;s?.(),s=null;let n=[e.getWorkspace().root,Fu];e.openFs().then(async e=>{if(!e.watch){t===a&&i&&f();return}let r=await e.watch(n,d);if(t!==a||!i){r();return}s=r}).catch(n=>{e.log.error(`WC file tree watch failed — falling back to polling`,n),t===a&&i&&f()})},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 Gu(e){let t=!1,n=!1,r=!1,i=0,a=null,o=new du,s=Wu(e),c=()=>{a!=null&&(clearInterval(a),a=null)},l=()=>{let t=++i;e.openFs().then(async n=>{let r=await pu(n,e.getWorkspace().memoryPath);t===i&&(e.memoryHost.setRows?e.memoryHost.setRows(r):e.memoryHost.replaceChildren(...r))}).catch(t=>e.log.error(`WC memory refresh failed`,t))},u=()=>{(async()=>{try{e.monitor.model=await Pu(e.getMonitorDeps(),o)}catch(t){e.log.error(`WC monitor refresh failed`,t)}})()};return e.monitor.addEventListener(`slicc-monitor-refresh`,u),{activate(i){if(i===`files`){s.open();return}if(i===`memory`){r=!0,l();return}if(i===`monitor`){c(),u(),a=setInterval(u,5e3);return}if(i===`term`&&!t){t=!0;let r=!1,i=n?null:setTimeout(()=>{r||(n=!0,t=!1,e.log.error(`WC terminal mount did not settle within ${Uu}ms; re-arming so the next term activation retries`))},Uu);e.mountTerminal(e.termSurface).catch(n=>{t=!1,e.log.error(`WC terminal mount failed`,n)}).finally(()=>{r=!0,i&&clearTimeout(i)})}},deactivate(e){e===`files`?s.close():e===`monitor`?c():e===`memory`&&(r=!1)},refreshMemory(){r&&l()},refreshFiles(){s.repoint()}}}var Ku=[`/workspace`,`/shared`,`/memory`,`/scoops`,`/mnt`],qu=new Set([`node_modules`,`.git`,`dist`,`build`,`out`,`coverage`,`.cache`,`.venv`,`venv`,`__pycache__`,`target`,`vendor`,`.next`,`.turbo`,`python_wheels`]),Ju=2e4,Yu=12,Xu=3e4;function Zu(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 Qu(e){return e.slice(e.lastIndexOf(`/`)+1)}function $u(e,t){return e===t?!0:e.endsWith(t)?e[e.length-t.length-1]===`/`:!1}function ed(e,t){let n=Zu(e);return t.includes(`/`)?$u(n,t):Qu(n)===t}function td(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))&&ed(a,e)&&(r.add(a),n.push(Zu(a)),n.length>=nd))break}return n}var nd=4,rd=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??Ku,this.#n=t.ignoredDirs??qu,this.#r=t.maxEntries??Ju,this.#i=t.maxDepth??Yu,this.#a=t.ttlMs??Xu}resolve(e,t=[]){this.#g();let n=Zu(e),r=this.#d(n),i=td(n,t);return i.length===0?r:this.#f(n,r,i)}resolveAll(e,t=[]){return Promise.all(e.map(e=>this.resolve(e,t)))}invalidate(){this.#s=null,this.#c=null,this.#l.clear(),this.#u.clear()}#d(e){let t=this.#l.get(e);if(t!=null)return t;let n=this.#m(e).catch(()=>({query:e,matches:[]}));return this.#l.set(e,n),n}async#f(e,t,n){let{matches:r}=await t,i=new Set(r),a=[];for(let e of n)!e.startsWith(`/`)||i.has(e)||await this.#p(e)&&a.push(e);let o=e=>n.findIndex(t=>$u(e,t)),s=r.filter(e=>o(e)>=0).sort((e,t)=>o(e)-o(t)),c=new Set(s),l=r.filter(e=>!c.has(e));return{query:e,matches:[...a,...s,...l]}}#p(e){let t=this.#u.get(e);if(t!=null)return t;let n=this.#h(e);return this.#u.set(e,n),n}async#m(e){if(e.startsWith(`/`))return{query:e,matches:await this.#h(e)?[e]:[]};let t=(await this.#_()).get(Qu(e))??[];return e.includes(`/`)?{query:e,matches:t.filter(t=>$u(t,e)).sort(id)}:{query:e,matches:[...t].sort(id)}}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 id(e,t){let n=e.split(`/`).length,r=t.split(`/`).length;return n===r?e.localeCompare(t):n-r}var ad=`file-mention`,od=`data-file-mentions`;function sd(e){return`${e.childNodes.length}:${e.textContent?.length??0}`}var cd=new Set([`A`,`PRE`,`SCRIPT`,`STYLE`,`TEXTAREA`]),ld=`file-mention-open`;async function ud(e,t,n=[]){let r=sd(e);if(e.getAttribute(od)===r)return;let i=dd(e);if(i.length===0){e.setAttribute(od,r);return}let a=[],o=new Set;for(let e of i){let t=S(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(od,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&&fd(e,n,l)}e.setAttribute(od,sd(e))}function dd(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(cd.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 fd(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(pd(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 pd(e,t,n,r,i){let a=e.createElement(`a`);return a.className=ad,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(ld,{detail:t,bubbles:!0,composed:!0}))}),a}var md=`slicc-agent-message`,hd=`slicc-action-row[${o}]`;function gd(e,t){let n=[],r=e.querySelectorAll(hd);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=>l(e))}function _d(e){let t=globalThis.requestIdleCallback;typeof t==`function`?t(e):setTimeout(e,0)}function vd(e){try{return yd(e)}catch(t){return e.log.error(`File mention wiring failed; continuing without it`,t),()=>{}}}function yd(e){let{thread:t,openFs:n,log:r}=e;if(!(t instanceof Node))return()=>{};let i=null,a=()=>(i??=n().then(e=>new rd(e)),i),o=e=>{if(!(e instanceof HTMLElement)||e.hasAttribute(`streaming`))return;let n=e.querySelector(`.body`)??e;S(n.textContent??``).length!==0&&_d(()=>{let i=gd(t,e);a().then(e=>ud(n,e,i)).catch(e=>r.error(`File mention linking failed`,e))})},s=e=>{for(let t of e.querySelectorAll(md))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()===md?o(e):s(e));let e=t.target?.closest?.(md);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=>se(e,t,i===void 0?{}:{line:i})).catch(e=>r.error(`File mention preview failed`,e))};return t.addEventListener(ld,l),()=>{c.disconnect(),t.removeEventListener(ld,l)}}var bd=e({DEFAULT_DOCK_TREE_ON_BOOT:()=>zd,DOCK_TREE_STORAGE_KEY:()=>Rd,attachWcWorkbench:()=>Hd,bootLeaderFloat:()=>Wd,makeSprinkleAttachImage:()=>Vd,prepareWcShell:()=>Ed,wireDockTreePersistence:()=>Bd,wireWcChipTips:()=>Nd,workspaceForSelection:()=>wd});function xd(e){let{controller:t,held:n,jid:r,roster:i}=e,a=t?.stashQueued()??[];if(a.length===0)return;let o=i.find(e=>e.id===r),s=o?Kn(i,o)?.id??o.id:r;n.set(s,[...n.get(s)??[],...a])}function Sd(e){let{controller:t,destination:n,held:r,previousJid:i,roster:a}=e;if(i&&i!==n&&xd({controller:t,held:r,jid:i,roster:a}),a.some(e=>e.id===n))for(let e of[...r.keys()])a.some(t=>t.id===e)||r.delete(e);let o=r.get(n);o&&(r.delete(n),t?.restoreQueued(o))}function Cd(e,t){let n=null,r=null;return{shownUnitId:()=>r,watch:i=>{r===i&&n||(n?.(),r=i,n=e().subscribe(i,e=>{e.type===`snapshot`&&r===i&&t(e.snapshot.messages,e.snapshot.queuedIds)}))}}}function wd(e){let{client:t,selectedId:n}=e,r=n===void 0?void 0:t.getScoop(n);return n!==void 0&&!r&&e.clearSelection(),mn(t.getScoops(),r)}function Td(e){let{refs:t}=e,n=null,r=new Map;return{clear:()=>{n=null},getSelected:()=>n,holdQueue:()=>{let t=n?.id;t&&xd({controller:e.controller(),held:r,jid:t,roster:e.client().currentUnits()})},selectScoop:i=>{let a=n?.id??null;n=i;let o=Jn(Bn(i)),s=e.host();Sd({controller:e.controller(),destination:i.id,held:r,previousJid:a,roster:e.client().currentUnits()});let c=e.lickBackpressure.get(i.id);e.controller()?.setLickBackpressure(c?.count??0,c?.waitingMs??0,qn(i)),e.controller()?.setReadOnly(o),o||t.inputCard.removeAttribute(`disabled`),Uc(t,i,e.client().currentUnits(),s.getRecord?.bind(s),{skipModelPill:s.ownsModelPill===!0}),e.client().snapshot(i.id).catch(()=>void 0),e.watchUnit(i.id),e.controller()?.setProcessing(e.client().currentUnits().find(e=>e.id===i.id)?.state===`working`),t.switcher.hasAttribute(`attention`)||t.switcher.setAttribute(`attention`,i.id),e.wiring().refreshScoops?.(),e.workbench()?.refreshMemory(),e.workbench()?.refreshFiles(),s.onSelectionApplied?.()}}}function Ed(e,t){let n=x(e,{messages:[],scoops:[],floatLabel:t,placeholder:`Ask sliccy, or describe a change…`,urlState:!0}),r=null,i=null,a=Mo,o=null,s=()=>o??Q(g),c=new Map,l=!1,u=null,d=!1,f=new Set,p=Cd(()=>s(),(e,t)=>{r?.loadMessages(e,t),dc(n.thread,e.length===0&&d),a.onSnapshotRendered?.(e)}).watch,m=Td({client:s,controller:()=>r,host:()=>a,lickBackpressure:c,refs:n,watchUnit:p,wiring:()=>g,workbench:()=>u}),h=m.selectScoop,g={refs:n,statuses:new Map,fills:new Map,phases:new Map,turns:new Map,lickBackpressure:c,lastActivity:new Map,pendingUrlContext:n.thread.urlContext??null,getController:()=>r,getClient:()=>i,getSelected:()=>m.getSelected(),selectScoop:h,notifyReady:()=>{l=!0;for(let e of f)e()}};return{refs:n,wiring:g,setClient:e=>{i=e},setChatTransport:(e,t)=>{o=e,a=t},getChatHost:()=>a,selectScoop:h,getSelected:()=>m.getSelected(),clearSelection:()=>m.clear(),holdQueuedPile:()=>m.holdQueue(),watchUnit:p,getController:()=>r,setController:e=>{r=e},setActivateSurface:e=>{u=e;let t=new Set(n.dockTree.getSurfaceIds());for(let n of[`files`,`term`,`memory`,`monitor`])t.has(n)&&(l?e.activate(n):f.add(()=>e.activate(n)))},onClientReady:e=>{f.add(e),l&&e()},setRestoringSessions:e=>{d=e,dc(n.thread,e&&uc(n.thread))}}}function Dd(e){let n=null;return()=>(n??=(async()=>{let[{createRemoteVfsClient:n},{createRemoteWritableVfsClient:r}]=await Promise.all([t(()=>import(`./remote-vfs-client-Cs1yUtQm.js`),__vite__mapDeps([78,38])),t(()=>import(`./writable-vfs-client-CQe6oZ75.js`),__vite__mapDeps([79,38]))]);return{reader:n({transport:e.getTransport()}),writer:r({transport:e.getTransport()})}})(),n)}function Od(e,n,r,i,a){e.onClientReady(()=>{i.intercept||t(async()=>{let{wireWcOnboarding:e}=await import(`./wc-onboarding-C4vdCBGl.js`);return{wireWcOnboarding:e}},__vite__mapDeps([80,2,3,55,1,56,8,9,10,11,12,13,14,15,16,17,18,19,5,20,21,22,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,57,58,64])).then(({wireWcOnboarding:t})=>t({client:n,getController:()=>e.getController(),openVfs:r,log:a})).then(e=>{i.intercept=e.interceptWelcomeLick}).catch(e=>a.error(`WC onboarding wiring failed`,e))})}function kd(e,t){let n=()=>{t.getSessionStats?.().then(t=>{if(!t)return;e.refs.floatbar.setAttribute(`spent`,t.totalCost.toFixed(2)),typeof t.burnRate==`number`&&Number.isFinite(t.burnRate)?e.refs.floatbar.setAttribute(`rate`,t.burnRate.toFixed(2)):e.refs.floatbar.removeAttribute(`rate`);let n=e.refs.floatbar;t.models&&(n.costModels=t.models),t.scoops&&(n.costScoops=t.scoops),n.budget=t.budget?{percent:t.budget.percent,status:t.budget.status,window:t.budget.window,resets:Tt(t.budget.resetsAt)}:null,e.fills.clear();for(let n of t.fills)e.fills.set(n.jid,n.fill);e.refreshScoops?.()})};return setInterval(n,15e3),n}function Ad(e,n,r){let i=n.standalone;i&&t(async()=>{let{wireWcBrowser:e}=await import(`./wc-browser-gzvFw0m9.js`);return{wireWcBrowser:e}},__vite__mapDeps([81,82,6,83,3,84,85,0,1,2,4,5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,86])).then(({wireWcBrowser:t})=>t({refs:e.refs,browser:i.browser,log:r})).catch(e=>r.error(`WC browser overlay wiring failed`,e))}function jd(e){return{assistantLabel:e.assistantLabel,name:e.name,role:k(e)?`primary`:`child`}}function Md(e){return()=>{e.triggerPlaceholder();let t=e.boot.getSelected()?.id;if(e.boot.wiring.awaitingInput=t??null,e.boot.wiring.refreshScoops?.(),e.boot.wiring.notifyScoopStateChanged?.(),e.refreshStats(),!t)return;e.boot.refs.switcher.setAttribute(`attention`,t);let n=e.boot.getController()?.getMessages().filter(e=>e.role===`assistant`).at(-1);n&&e.boot.wiring.lastActivity.set(t,ge(String(n.content??``),600))}}function Nd(e){let n=new Map,r=new Set;e.switcher.addEventListener(`pointerover`,i=>{let a=i.target?.closest?.(`.slicc-agent-tabs__segment`);if(!a||!e.switcher.contains(a))return;let o=a.dataset.k??``,s=e.getScoops().find(e=>e.jid===o);if(!s)return;let c=e.lastActivity.get(o)??``,l=n.get(o);if(l&&l.activity===c){a.title=l.tip;return}a.title||=Wn(jd(s)),!(!c||r.has(o))&&(r.add(o),(async()=>{try{let r=await(e.labelFn??(await t(async()=>{let{quickLabel:e}=await import(`./quick-llm-BEV4p0nB.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([52,1,9,10,11,2,12,13,14,15,16,3,17,7,8,18,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,53,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: ${k(s)?`${Wn(jd(s))} (a main agent)`:s.name}\nMost recent activity:\n${c}`,maxTokens:40});r&&(n.set(o,{activity:c,tip:r}),a.title=r)}finally{r.delete(o)}})())})}async function Pd(e,n,r,i){let{RemoteTerminalView:a}=await t(async()=>{let{RemoteTerminalView:e}=await import(`./remote-terminal-view-hCBfSTM_.js`);return{RemoteTerminalView:e}},__vite__mapDeps([87,2,29,3,61,41,42,22,48,1,88,47,46,89,90])),{fetchSecretEnvVars:o}=await t(async()=>{let{fetchSecretEnvVars:e}=await import(`./secret-env-z9SReONx.js`);return{fetchSecretEnvVars:e}},__vite__mapDeps([91,3,19,1,2,5,20,21,22,24,23,25,26,27])),s=await o(),c=new a({client:n,cwd:`/`,env:Object.keys(s).length>0?s:void 0});if(await new Promise(t=>e.onClientReady(t)),await c.mount(r),globalThis.__slicc_terminal_view=c,window.addEventListener(`beforeunload`,()=>c.dispose(),{once:!0}),new URLSearchParams(location.search).has(`wterm-image-demo`)){let e=await fetch(`/logos/sliccy-color-10scoops-128x128.png`);if(!e.ok)throw Error(`wterm demo image: HTTP ${e.status}`);let t=new Uint8Array(await e.arrayBuffer());await(await i()).writeFile(`/tmp/wterm-graphics-demo.png`,t);let n=await c.executeCommandInTerminal(`imgcat /tmp/wterm-graphics-demo.png`);if(n.exitCode!==0)throw Error(`wterm demo image: ${n.stderr}`)}}function Fd(e,t,n){let r=t=>{if(t.startsWith(`freezer:`)){n(t.slice(8));return}let r=zn(Q(e.wiring).currentUnits(),t);r&&r.id!==e.getSelected()?.id&&e.selectScoop(r)};e.refs.thread.addEventListener(`slicc-url-context`,e=>{let t=e.detail?.context;t&&r(t)});let i=e.wiring.pendingUrlContext;i?.startsWith(`freezer:`)&&e.onClientReady(()=>{e.wiring.pendingUrlContext===i&&(e.wiring.pendingUrlContext=null,r(i))})}function Id(e,n,r,i){t(async()=>{let{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}=await import(`./wc-permissions-CC3l81OG.js`);return{installLeaderPermissionsSurface:e,installMountPendingConsumer:t}},__vite__mapDeps([92,2,3,61])).then(async({installLeaderPermissionsSurface:i,installMountPendingConsumer:a})=>{let o=r.standalone?.runtimeMode??`standalone`,{buildLeaderPermissionProviders:s,isExtensionRuntime:c}=await t(async()=>{let{buildLeaderPermissionProviders:e,isExtensionRuntime:t}=await import(`./wc-permissions-providers-DwX67umy.js`);return{buildLeaderPermissionProviders:e,isExtensionRuntime:t}},__vite__mapDeps([93,2,22]));i({runtimeMode:o,providers:await s(c()||o===`extension`||o===`extension-detached`)}),a({runShell:Ld(e,n)})}).catch(e=>i.warn(`WC permissions surface wiring failed`,e)),(r.standalone?.runtimeMode??`standalone`)!==`cherry`&&t(async()=>{let{installSecretRequestSurface:e}=await import(`./wc-secret-request-h-lUD0ld.js`);return{installSecretRequestSurface:e}},__vite__mapDeps([94,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,95])).then(({installSecretRequestSurface:e})=>e()).catch(e=>i.warn(`WC secret request surface wiring failed`,e))}function Ld(e,n){let r=null,i=()=>(r||=(async()=>{await new Promise(t=>e.onClientReady(t));let{TerminalSessionClient:r}=await t(async()=>{let{TerminalSessionClient:e}=await import(`./terminal-session-client-DmE-iBjP.js`).then(e=>e.n);return{TerminalSessionClient:e}},__vite__mapDeps([90,1])),i=new r({client:n,sid:`mount-drop-${Date.now()}`});return await i.open({cwd:`/workspace`}),i})().catch(e=>{throw r=null,e}),r);return async e=>(await i()).exec(e)}var Rd=`slicc-dock-tree:default`,zd={zones:{top:null,left:{type:`leaf`,surfaceId:`chat`},middle:null,right:null,bottom:null},rowFr:{top:1,center:1,bottom:1},colFr:{left:3,middle:1,right:1}};function Bd(e,t){let n=e.dockTree,r=e.dockTree,i=e=>{try{localStorage.setItem(Rd,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(Rd);r.setTree(e?JSON.parse(e):zd)}catch(e){t.warn(`WC dock-tree restore failed — seeding the default layout`,e),r.setTree(zd)}}function Vd(e,t){return(n,r,i)=>{let a=e.getAttachStage();if(!a){t.warn(`sprinkle attachImage dropped: composer stage not ready yet`);return}let o=n.match(/^data:(image\/[^;]+);base64,([A-Za-z0-9+/=]+)$/),s=o?o[2]:n,c=o?o[1]:i??`image/png`,l=c.split(`/`)[1]?.replace(`jpeg`,`jpg`).replace(`svg+xml`,`svg`)??`png`,u=r??`annotation-${Date.now()}.${l}`;a.add({id:`att-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,name:u,mimeType:c,size:Math.floor(s.length*3/4),kind:`image`,data:s})}}function Hd(e,n,r,i,a,o={}){t(async()=>{let{initTimestampPreference:e}=await import(`./wc-shell-C6n7vd_q.js`).then(e=>e.Q);return{initTimestampPreference:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({initTimestampPreference:e})=>e()).catch(()=>void 0);let{refs:s}=e;e.setClient(n),t(async()=>{let{watchSprinkleThemeBroadcast:e}=await import(`./theme-CwPIBqJE.js`).then(e=>e.i);return{watchSprinkleThemeBroadcast:e}},__vite__mapDeps([96,1,97,3])).then(({watchSprinkleThemeBroadcast:e})=>e()).catch(()=>void 0),t(async()=>{let{applyThemeOverrides:e}=await import(`./theme-engine-ZV7CeqWw.js`).then(e=>e._);return{applyThemeOverrides:e}},__vite__mapDeps([97,1,3])).then(({applyThemeOverrides:e})=>e()).catch(()=>void 0);let c=_e(`panel-layouts`);s.dockTree.tilesMovable=c,c||Bd(s,a);let l=null,u=kd(e.wiring,n),d=()=>l?.(),f=i.welcome??{intercept:null},p=Q(e.wiring),{agentHandle:m}=r;e.onClientReady(u);let h=Dd(n),_=async()=>(await h()).reader;o.standalone?.runtimeMode!==`cherry`&&o.standalone?.runtimeMode!==`hosted-leader`?Od(e,n,h,f,a):f.intercept=wc({openVfs:async()=>(await h()).writer,log:a});let v=Gc({boot:e,client:n,setRefreshPlaceholder:e=>{l=e},triggerPlaceholder:d,openReader:_,openWriter:async()=>(await h()).writer,log:a});i.setAttachmentSource(()=>v.getAttachStage()?.take()),i.setTurnIdleHook(Md({boot:e,triggerPlaceholder:d,refreshStats:u})),Nd({switcher:s.switcher,getScoops:()=>n.getScoops(),lastActivity:e.wiring.lastActivity}),Ad(e,o,a),t(async()=>{let{installWcComputers:e}=await import(`./wc-computers-BxDAqYcl.js`);return{installWcComputers:e}},__vite__mapDeps([85,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,86])).then(({installWcComputers:e})=>e({openFs:_,log:a})).catch(e=>a.error(`WC computers wiring failed`,e)),Id(e,n,o,a);let y=Gu({fileTree:s.fileTree,termSurface:s.termSurface,memoryHost:s.memoryHost,monitor:s.monitor,openFs:_,openWriter:async()=>(await h()).writer,onKernelReady:t=>e.onClientReady(t),getMonitorDeps:()=>Fl({client:n,openReader:_,storage:window.localStorage}),getWorkspace:()=>wd({client:n,clearSelection:e.clearSelection,selectedId:e.getSelected()?.id}),mountTerminal:t=>Pd(e,n,t,async()=>(await h()).writer),insertReference:e=>{let t=s.inputCard,n=t.value.trim();t.value=n?`${n} @${e}`:`@${e}`,t.focus()},log:a});e.setActivateSurface(y),c&&t(async()=>{let{panelizeShell:e}=await import(`./panelize-shell-I8zPEKJM.js`);return{panelizeShell:e}},__vite__mapDeps([98,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,99,100])).then(({panelizeShell:e})=>e(s,void 0,void 0,{onToolPanelActivate:e=>y.activate(e),onToolPanelDeactivate:e=>y.deactivate(e)})).catch(e=>a.error(`panelize failed — keeping the classic shell`,e)),vd({thread:s.thread,openFs:_,log:a}),g(s.thread,_),s.floatbar.addEventListener(`click`,()=>{let e=s.dock;e.active===`monitor`?e.collapse():e.selectItem(`monitor`)});let b=Sl({refs:s,openVfs:h,client:n,getUnits:()=>p.currentUnits(),getController:()=>e.getController(),getSelected:()=>e.getSelected(),selectScoop:e.selectScoop,clearSelection:e.clearSelection,holdQueuedPile:e.holdQueuedPile,log:a}),{refreshFreezer:x,openFrozen:S,getViewedFrozenSessionId:ee}=b;if(x(),e.onClientReady(x),_e(`multiple-cones`)){let t=Sc({freezer:s.freezer,client:n,getSelected:()=>e.getSelected(),getUnits:()=>p.currentUnits(),selectScoop:e.selectScoop,freezeCone:b.freezeCone,log:a});e.wiring.refreshConeActions=t.refresh,e.onClientReady(t.refresh)}Fd(e,n,S),e.onClientReady(()=>{h().then(async({reader:e,writer:n})=>{let{loadShortcutConfig:r}=await t(async()=>{let{loadShortcutConfig:e}=await import(`./wc-shortcut-config-BWd5_aec.js`);return{loadShortcutConfig:e}},__vite__mapDeps([101,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));await r({reader:e,writer:n,apply:({keymap:e,trigger:t})=>{s.shortcuts.setKeymap(e),s.shortcuts.setTrigger(t)}})}).catch(e=>a.warn(`WC shortcut config load failed`,e))}),h().then(async({reader:e})=>{let{installPreviewVfsResponder:n}=await t(async()=>{let{installPreviewVfsResponder:e}=await import(`./preview-vfs-responder-Vn6wxJvK.js`);return{installPreviewVfsResponder:e}},[]);n({channel:new BroadcastChannel(`preview-vfs`),getReader:()=>e,logger:a})}).catch(e=>a.warn(`WC page-VFS support wiring failed`,e)),h().then(async({reader:r,writer:i})=>{let{createRemoteSprinkleVfs:c}=await t(async()=>{let{createRemoteSprinkleVfs:e}=await import(`./remote-sprinkle-vfs-UzNBy5VJ.js`);return{createRemoteSprinkleVfs:e}},__vite__mapDeps([102,38,103,104])),l=(await t(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-I8zPEKJM.js`);return{getPanelizedShell:e}},__vite__mapDeps([98,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,99,100]))).getPanelizedShell(),{wireWcSprinkles:u}=await t(async()=>{let{wireWcSprinkles:e}=await import(`./wc-sprinkles-DN29B4nE.js`);return{wireWcSprinkles:e}},__vite__mapDeps([105,2,0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,106,64])),d=await u({refs:s,client:n,getUnits:()=>p.currentUnits(),getSelected:()=>e.getSelected(),selectScoop:t=>e.selectScoop(t),interceptWelcomeLick:e=>f.intercept?.(e)??!1,fs:c({reader:r,writer:i}),instanceId:o.instanceId,onAttachImage:Vd(v,a),onToolPanelActivate:e=>y.activate(e),onToolPanelDeactivate:e=>y.deactivate(e),hostSprinkleSurface:l?(e,t)=>l.hostSprinkleSurface(e,t):void 0,removeSprinkleSurface:l?e=>l.removeSprinkleSurface(e):void 0,log:a});e.onClientReady(()=>void d.resync());let{getPanelizedShell:g}=await t(async()=>{let{getPanelizedShell:e}=await import(`./panelize-shell-I8zPEKJM.js`);return{getPanelizedShell:e}},__vite__mapDeps([98,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,99,100])),b=g();if(b){let e=c({reader:r,writer:i});b.attachFs(e);let{registerAgentPanels:n}=await t(async()=>{let{registerAgentPanels:e}=await import(`./agent-panels-CelkEdi9.js`);return{registerAgentPanels:e}},__vite__mapDeps([107,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));await n(e).catch(e=>a.warn(`agent panel discovery failed`,e))}else{let{setLayoutApplier:e}=await t(async()=>{let{setLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{setLayoutApplier:e}},[]),{applyLayout:n}=await t(async()=>{let{applyLayout:e}=await import(`./apply-layout-DPEleZz2.js`);return{applyLayout:e}},__vite__mapDeps([108,105,2,0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,106,64]));e(e=>n(d.zone,e))}if(o.standalone&&o.instanceId){let{wireWcTray:r}=await t(async()=>{let{wireWcTray:e}=await import(`./wc-tray-D4fcmhCE.js`);return{wireWcTray:e}},__vite__mapDeps([109,10,11,2,9,12,13,14,1,15,16,3,0,4,5,6,7,8,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,82,110,111,112,61,48,47,113,46,89,77,96,97,57,114,64,115,116,117,55,56,58,104,90,69,84,118,66,119,120,106])),i=d.zone.callbacks(),c=await r({refs:s,client:n,browser:o.standalone.browser,realCdpTransport:o.standalone.realCdpTransport,instanceId:o.instanceId,runtimeMode:o.standalone.runtimeMode,sprinkleManager:d.manager,addSprinkle:(e,t,n)=>i.addSprinkle(e,t,n),removeSprinkle:e=>i.removeSprinkle(e),getController:()=>e.getController(),getSelectedJid:()=>e.getSelected()?.id??`cone`,agentHandle:m,workUnits:p,restoreLocalChrome:()=>{e.wiring.refreshScoops?.();let t=e.getSelected();t&&Uc(s,t,p.currentUnits(),e=>n.getScoop(e))},openFs:_,openWriter:async()=>(await h()).writer,window,log:a,kernelReadyDeadline:o.kernelReadyDeadline});e.wiring.notifyScoopStateChanged=()=>c.scheduleScoopsListBroadcast(),e.wiring.notifyUnitStatus=(e,t)=>c.broadcastUnitStatus(e,t===`processing`?`processing`:`ready`)}}).catch(e=>a.error(`WC sprinkle/tray wiring failed`,e));{let t=new or(new br),r=Ar(new ec({collection:{listScoops:()=>n.getScoops(),isProcessing:e=>n.isProcessing(e),getAgentMessages:()=>null,loadPersistedSessions:()=>t.loadAgentSessions(),loadUiChatSessions:()=>t.loadChatSessions(),wait:e=>new Promise(t=>setTimeout(t,e))},knownSecrets:sc(),snapshotStore:{read:async e=>{let{reader:t}=await h();return Ui(t,e)},write:async(e,t,n)=>{let{writer:r}=await h();return Bi(r,e,t,n)},discardIfUnindexed:async e=>{let{writer:t}=await h();return Hi(t,e)}},vfs:{readFile:async(e,t)=>(await h()).reader.readFile(e,t),readDir:async e=>(await h()).reader.readDir(e),stat:async e=>(await h()).reader.stat(e)},getActiveSessionInfo:()=>{let t=Gn(Q(e.wiring).currentUnits());return{id:t?.id??`session-${Date.now()}`,title:t?.name??`Active Session`}},version:`6.243.3`}));window.addEventListener(`unload`,r,{once:!0})}let te=!1,C=()=>te?Promise.resolve():(te=!0,(async()=>{try{let[{getTranscriptExportService:e},{transcriptZipToBlob:n,downloadTranscriptBlob:r}]=await Promise.all([t(()=>Promise.resolve().then(()=>Or),void 0),t(()=>import(`./wc-transcript-export-Dq42EPas.js`),__vite__mapDeps([121,2,110,115,116,1]))]),i=ee(),a=i==null?{kind:`active`}:{kind:`frozen`,sessionId:i},o=await e().export(a,{}),{filename:s}=o;await r(await n(o),s)}catch(e){a.error(`Transcript export failed`,e),t(async()=>{let{showTranscriptExportFailure:e}=await import(`./wc-transcript-export-Dq42EPas.js`);return{showTranscriptExportFailure:e}},__vite__mapDeps([121,2,110,115,116,1])).then(({showTranscriptExportFailure:t})=>t(e)).catch(e=>a.error(`Transcript export notice failed`,e))}finally{te=!1}})());if(t(async()=>{let{wireWcNav:e}=await import(`./wc-nav-CaScAx72.js`);return{wireWcNav:e}},__vite__mapDeps([122,2,18,22,57,58,1,55,56,3,8,9,10,11,12,13,14,15,16,17,19,5,20,21,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,69,64,106])).then(({wireWcNav:e})=>e({refs:s,client:n,workUnits:p,getUnits:()=>p.currentUnits(),log:a,onExportTranscript:C,shortcuts:s.shortcuts,persistKeyboardTrigger:async e=>{let{writer:n,reader:r}=await h(),{writeShortcutTrigger:i}=await t(async()=>{let{writeShortcutTrigger:e}=await import(`./wc-shortcut-config-BWd5_aec.js`);return{writeShortcutTrigger:e}},__vite__mapDeps([101,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]));await i({reader:r,writer:n},e)}})).catch(e=>a.error(`WC nav wiring failed`,e)),t(async()=>{let{getComposerSpeech:e,setComposerSpeechInstanceId:t}=await import(`./composer-speech-DK0XRoq3.js`);return{getComposerSpeech:e,setComposerSpeechInstanceId:t}},__vite__mapDeps([123,3,0,1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,61,75,76,77,124])).then(({getComposerSpeech:e,setComposerSpeechInstanceId:t})=>{let n=s.composer;t(o.instanceId),n.speech=e(),n.setAttribute(`ptt`,``)}).catch(e=>a.error(`WC push-to-talk wiring failed`,e)),t(async()=>{let{setSpeakAssetsInstanceId:e}=await import(`./speak-B35W0TfW.js`);return{setSpeakAssetsInstanceId:e}},__vite__mapDeps([74,2,3,22,75,76,0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,77])).then(({setSpeakAssetsInstanceId:e})=>e(o.instanceId)).catch(e=>a.error(`WC say warmup wiring failed`,e)),o.standalone)return()=>{t(async()=>{let{schedulePendingSessionCatchup:e}=await import(`./new-session-65D5H5Af.js`);return{schedulePendingSessionCatchup:e}},__vite__mapDeps([68,2,3,18,7,8,9,10,11,12,13,14,1,15,16,17,19,5,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,55,56,6,37,57,58,53,62,49,0,4,36,38,39,40,50,51,54,63,64,65,66])).then(({schedulePendingSessionCatchup:e})=>e({openVfs:async()=>(await h()).writer,onComplete:x})).catch(e=>a.warn(`Pending session catch-up scheduling failed`,e))}}function Ud(e){let n=!1,r=()=>t(()=>import(`./boot-stall-overlay-Cs-FNlf8.js`),[]);return{onBootProgress:t=>{n=!0,r().then(n=>n.showBootStage(e,t))},onReadyStall:t=>{n=!0,r().then(n=>n.showBootStallOverlay(e,t))},dismiss:()=>{n&&r().then(t=>{t.removeBootStallOverlay(e),t.removeBootStage(e)})}}}async function Wd(e,n,r=`standalone`){let{browser:i,realCdpTransport:a,instanceId:o,localApiBaseUrl:s,bridgeToken:c,localLickWsUrl:l,extensionDelegateId:u,attachLickForwardingClient:d}=await St({runtimeMode:r,envBaseUrl:null,window,log:n}),{floatKindForRuntimeMode:f,floatLabelForKind:p,resolveStandaloneFloatKind:m}=await t(async()=>{let{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}=await Promise.resolve().then(()=>$l);return{floatKindForRuntimeMode:e,floatLabelForKind:t,resolveStandaloneFloatKind:n}},void 0),h=r===`standalone`?await m():f(r),g=p(h);o&&bt(o);let{syncFsBridgeEnabled:_,syncFsChannelNonce:v}=Ll(),y=Ud(document),b,x,{boot:S}=await cu(e,n,{floatKind:h,floatLabel:g,connect:e=>{b=qo({realCdpTransport:a,reconnectCdp:()=>i.reconnectIfNeeded(),instanceId:o,makeClient:t=>new ko(Dc(e.wiring),t),localApiBaseUrl:s,bridgeToken:c,syncFsBridgeEnabled:_,syncFsChannelNonce:v,localLickWsUrl:l,extensionDelegateId:u,flagFloat:r,onWorkerScriptError:()=>{xt()},onBootProgress:y.onBootProgress,onReadyStall:y.onReadyStall,onLateReady:()=>{xt()}}),Fo({send:e=>b.client.sendRaw(e)}),d?.(b.client);let t=jo(b.client);return{client:Q(e.wiring),host:t,workbench:(e,s)=>{x=Hd(e,b.client,s,t,n,{instanceId:o,standalone:{browser:i,floatKind:h,realCdpTransport:a,runtimeMode:r},kernelReadyDeadline:{pause:()=>b.pauseReadyDeadline(),restart:()=>b.restartReadyDeadline()}})}}}});S.setRestoringSessions(!0);let{setupSudoStandalone:ee}=await t(async()=>{let{setupSudoStandalone:e}=await import(`./main-C90hD8JI.js`).then(e=>e.c);return{setupSudoStandalone:e}},__vite__mapDeps([55,1,56,2,3,8,9,10,11,12,13,14,15,16,17,18,19,5,20,21,22,23,24,25,26,27,28,29,6,7,30,31,32,33,34,35,37,57,58]));await ee({log:n});try{await b.ready}finally{y.dismiss()}S.wiring.notifyReady?.(),S.setRestoringSessions(!1),globalThis.__slicc_kernel_ready=!0,n.info(`WC live shell ready`,{scoops:b.client.getScoops().length}),x?.();let{consumeAutoPrompt:te}=await t(async()=>{let{consumeAutoPrompt:e}=await import(`./auto-prompt-Mj-vUQeB.js`);return{consumeAutoPrompt:e}},[]),C=te(window.location.search);C&&(S.getController()?.sendUserMessage(C),n.info(`Auto-prompt submitted`,{length:C.length}))}export{Za as A,Vi as B,ko as C,Ja as D,ao as E,Xi as F,or as G,Mr as H,Ca as I,Yi as L,$a as M,no as N,to as O,io as P,qa as R,jo as S,oo as T,Or as U,Xr as V,br as W,kc as _,Rl as a,Q as b,Ol as c,Ml as d,qc as f,Ac as g,Oc as h,zl as i,eo as j,ro as k,wl as l,Bc as m,bd as n,Tl as o,Kc as p,cu as r,Al as s,Hd as t,Dl as u,jc as v,mo as w,Po as x,Dc as y,xa as z};