sliccy 6.239.0 → 6.240.0

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 (143) hide show
  1. package/dist/ui/.vite/manifest.json +213 -206
  2. package/dist/ui/assets/{account-store-D8_Dfaay.js → account-store-Co7p6uLK.js} +1 -1
  3. package/dist/ui/assets/{account-store-DIwBWa5E.js → account-store-Dcuv1CAr.js} +1 -1
  4. package/dist/ui/assets/{adobe-Dhbax_Br.js → adobe-C8D8r5Fe.js} +1 -1
  5. package/dist/ui/assets/{adobe-4yG5Jojo.js → adobe-DScuixZ8.js} +1 -1
  6. package/dist/ui/assets/{agent-panels-C29MoSl4.js → agent-panels-O5YJfC1_.js} +1 -1
  7. package/dist/ui/assets/{almost-bash-shell-headless-2CLmgbnr.js → almost-bash-shell-headless-C4AVF2S6.js} +488 -488
  8. package/dist/ui/assets/{apply-layout-Tf3-paMF.js → apply-layout-BZ9iuS4D.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-CV-fQjTG.js → azure-openai-DGNroO-7.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-Bun6vpyO.js → azure-openai-jPUEdFGb.js} +1 -1
  11. package/dist/ui/assets/{cdp-LW6tWTA_.js → cdp-DfHqMmOw.js} +1 -1
  12. package/dist/ui/assets/{cerebras-CyKW7bZ0.js → cerebras--GK0UhYQ.js} +1 -1
  13. package/dist/ui/assets/{cerebras-yHe16lDC.js → cerebras-DJsSEczS.js} +1 -1
  14. package/dist/ui/assets/{composer-speech-DlI-Cx5J.js → composer-speech-Bdzozil9.js} +1 -1
  15. package/dist/ui/assets/{connect-surface-DeAt_ZAc.js → connect-surface-BQ_yaiI0.js} +1 -1
  16. package/dist/ui/assets/{directed-approval-C5pWtjRZ.js → directed-approval-CM6zsUB_.js} +1 -1
  17. package/dist/ui/assets/{emscripten-vfs-hook-DWEcz7cK.js → emscripten-vfs-hook-BykczwZL.js} +1 -1
  18. package/dist/ui/assets/{frozen-archive-writer-CMu6TvYW.js → frozen-archive-writer-BoBWoTrh.js} +1 -1
  19. package/dist/ui/assets/{frozen-archive-writer-BPn5tRZ0.js → frozen-archive-writer-DHqVNK3z.js} +1 -1
  20. package/dist/ui/assets/{frozen-session-delete-D3Nn1hnH.js → frozen-session-delete-CmVE8uz7.js} +1 -1
  21. package/dist/ui/assets/{frozen-session-identity-BftVqDgr.js → frozen-session-identity-CRTDWmSN.js} +1 -1
  22. package/dist/ui/assets/{frozen-session-identity-Cjcq_2LL.js → frozen-session-identity-ChrV93y5.js} +1 -1
  23. package/dist/ui/assets/{gelatiere-unit-DSTJIump.js → gelatiere-unit-Dnug4wB5.js} +1 -1
  24. package/dist/ui/assets/{github-BOEXMP5I.js → github-B2Jmtl5T.js} +1 -1
  25. package/dist/ui/assets/{github-CDLDVvae.js → github-DBHS2Dqt.js} +1 -1
  26. package/dist/ui/assets/{github-copilot-DmRSv3eX.js → github-copilot-Cb-AGqlO.js} +1 -1
  27. package/dist/ui/assets/{github-copilot-GWf8yFqj.js → github-copilot-jU2_bitu.js} +1 -1
  28. package/dist/ui/assets/{go-driver-CvHJRpyw.js → go-driver-Bl_pd-vs.js} +1 -1
  29. package/dist/ui/assets/{hear-COy7lJi8.js → hear-C8rKY1FP.js} +1 -1
  30. package/dist/ui/assets/icons-BJTFywJo.js +1 -0
  31. package/dist/ui/assets/{js-realm-worker-BX6sSVEP.js → js-realm-worker-kX5NT2rg.js} +2 -2
  32. package/dist/ui/assets/{jsh-executor-DMD5ddFz.js → jsh-executor-BVRmWOcY.js} +2 -2
  33. package/dist/ui/assets/{kernel-worker-C4MiASR-.js → kernel-worker-B8dQ6oD2.js} +8 -8
  34. package/dist/ui/assets/{lick-ws-bridge-CNTM_E_X.js → lick-ws-bridge-B55KMh7y.js} +1 -1
  35. package/dist/ui/assets/{lick-ws-bridge-C6ESiukL.js → lick-ws-bridge-xmS7PfYb.js} +1 -1
  36. package/dist/ui/assets/{live-session-curation-B2cEWodJ.js → live-session-curation-BNMM5Cko.js} +1 -1
  37. package/dist/ui/assets/{live-session-curation-BlJB9qzA.js → live-session-curation-C8WI_jMh.js} +1 -1
  38. package/dist/ui/assets/{live-session-snapshot-BctAuI5m.js → live-session-snapshot-BW_iWuYO.js} +1 -1
  39. package/dist/ui/assets/{local-llm-B7q3J_L2.js → local-llm-BTE5kJfp.js} +1 -1
  40. package/dist/ui/assets/{local-llm-BdiGwRPz.js → local-llm-CJUTJaEr.js} +1 -1
  41. package/dist/ui/assets/main-Cxb1a5Uz.js +22 -0
  42. package/dist/ui/assets/{main-cherry-Cs1Ann97.js → main-cherry-Oc5q4aB-.js} +1 -1
  43. package/dist/ui/assets/{mcp-command-CXofTqGH.js → mcp-command-CwuwVp6r.js} +9 -9
  44. package/dist/ui/assets/{memory-curation-seam-BrcfUyLE.js → memory-curation-seam-BMeMHKkg.js} +1 -1
  45. package/dist/ui/assets/{memory-health-C9R7SlKi.js → memory-health-Bvv6LYKB.js} +1 -1
  46. package/dist/ui/assets/{memory-write-execute-B5dvOReg.js → memory-write-execute-CPixKZV3.js} +1 -1
  47. package/dist/ui/assets/{merge-folded-cost-into-frozen-lQrAjo3y.js → merge-folded-cost-into-frozen-hv0-jK2p.js} +1 -1
  48. package/dist/ui/assets/new-session-DspiDGrn.js +2 -0
  49. package/dist/ui/assets/{oauth-bootstrap-CHIy6Gm9.js → oauth-bootstrap-Dya1IvMk.js} +2 -2
  50. package/dist/ui/assets/{onboarding-orchestrator-BFvm2xiq.js → onboarding-orchestrator-DkOtMT6l.js} +1 -1
  51. package/dist/ui/assets/{openai-codex-B7o_kfeG.js → openai-codex-DPx8bB-I.js} +1 -1
  52. package/dist/ui/assets/{openai-codex-C0v0bADZ.js → openai-codex-DqI-LV1p.js} +1 -1
  53. package/dist/ui/assets/{openrouter-BvYuCJyw.js → openrouter-Bm5NKbSA.js} +1 -1
  54. package/dist/ui/assets/{openrouter-CjK8QxpD.js → openrouter-CX8Bzh4-.js} +1 -1
  55. package/dist/ui/assets/{openrouter-free-Ckg5PGJI.js → openrouter-free-BtMhJjpj.js} +1 -1
  56. package/dist/ui/assets/{openrouter-free-CpnGXHOt.js → openrouter-free-Dio8R8YY.js} +1 -1
  57. package/dist/ui/assets/{openrouter-oauth-B7SPH2rM.js → openrouter-oauth-CYyzK9z-.js} +1 -1
  58. package/dist/ui/assets/{openrouter-oauth-Bn-kidmO.js → openrouter-oauth-DTvqvfHg.js} +1 -1
  59. package/dist/ui/assets/{panel-rpc-handlers-Cz6BSSZA.js → panel-rpc-handlers-DfSkY8OF.js} +2 -2
  60. package/dist/ui/assets/{panelize-shell-DuYIEVZp.js → panelize-shell-BF3KcP4C.js} +1 -1
  61. package/dist/ui/assets/{pi-edit-execution-DG6p7-5P.js → pi-edit-execution-2UPU8l9Z.js} +1 -1
  62. package/dist/ui/assets/{process-worker-Qo-KJQnm.js → process-worker-B_jMhtwi.js} +1 -1
  63. package/dist/ui/assets/{provider-9ZUgiMpB.js → provider-BVH2DJ2j.js} +1 -1
  64. package/dist/ui/assets/{provider-D2ZYPo-w.js → provider-C8H2Tzfg.js} +1 -1
  65. package/dist/ui/assets/{provider-settings-CQlHJFH1.js → provider-settings-SY82ESoD.js} +1 -1
  66. package/dist/ui/assets/provider-store-access-Cd8AQEiQ.js +1 -0
  67. package/dist/ui/assets/provider-store-access-DbDmDCT_.js +1 -0
  68. package/dist/ui/assets/{providers-o3PSAZzA.js → providers-CefzTaF8.js} +1 -1
  69. package/dist/ui/assets/{providers-BH5jcsI3.js → providers-DollmArp.js} +2 -2
  70. package/dist/ui/assets/quick-llm-DiEAuzzI.js +1 -0
  71. package/dist/ui/assets/{realm-inprocess-liML3utD.js → realm-inprocess-Cc3228-9.js} +2 -2
  72. package/dist/ui/assets/{realm-unhandled-rejections-BK0JhQwR.js → realm-unhandled-rejections-BcZm-Y2j.js} +1 -1
  73. package/dist/ui/assets/{realm-unhandled-rejections-cG6AguM7.js → realm-unhandled-rejections-TLpLRRgO.js} +1 -1
  74. package/dist/ui/assets/{recovery-screen-DBCfk0t-.js → recovery-screen-Cl89ahLT.js} +1 -1
  75. package/dist/ui/assets/{remote-terminal-view-BdwibNDb.js → remote-terminal-view-D82qMvNy.js} +2 -2
  76. package/dist/ui/assets/{restore-DKKWE7qo.js → restore-yq1C_osw.js} +1 -1
  77. package/dist/ui/assets/{run-CSqBGpbN.js → run-BPeIvqOM.js} +1 -1
  78. package/dist/ui/assets/{run-DPb-_GVl.js → run-Cu8PtYCw.js} +2 -2
  79. package/dist/ui/assets/{run-DKWaudm_.js → run-DW65sPip.js} +12 -12
  80. package/dist/ui/assets/{run-CBmNeNV5.js → run-DZrK_oOt.js} +2 -2
  81. package/dist/ui/assets/{run-DCCKDraC.js → run-tc2VFBej.js} +1 -1
  82. package/dist/ui/assets/{session-command-memory-a5EZNUwp.js → session-command-memory-CDOmbg5g.js} +2 -2
  83. package/dist/ui/assets/{session-jsonl-_QWNiZX3.js → session-jsonl-C4593KNn.js} +1 -1
  84. package/dist/ui/assets/{session-jsonl-DUdZghbY.js → session-jsonl-D_UZgGp5.js} +1 -1
  85. package/dist/ui/assets/{session-search-index-B-R--ndE.js → session-search-index-CUPFfLvv.js} +1 -1
  86. package/dist/ui/assets/{setup-feature-flags-remote-DxCLsJ3k.js → setup-feature-flags-remote-cYu5aVbG.js} +1 -1
  87. package/dist/ui/assets/{setup-model-catalog-CeqAS8Mo.js → setup-model-catalog-CR19K3-A.js} +1 -1
  88. package/dist/ui/assets/{silent-renew-backoff-jTgRXFkn.js → silent-renew-backoff-Bvrf2Hhh.js} +1 -1
  89. package/dist/ui/assets/slicc-version-BxghrDTL.js +1 -0
  90. package/dist/ui/assets/{soundscape-DRNmNI9R.js → soundscape-DxIHlkzy.js} +1 -1
  91. package/dist/ui/assets/{speak-BhmMqs9a.js → speak-DkUF9yAq.js} +1 -1
  92. package/dist/ui/assets/{sprinkle-manager-DvWj32Aj.js → sprinkle-manager-UTFA1mfr.js} +1 -1
  93. package/dist/ui/assets/{sprinkle-renderer-CDi2K0Gg.js → sprinkle-renderer-Cr1UxyZz.js} +1 -1
  94. package/dist/ui/assets/{sudo-BDyQV9Rk.js → sudo-SwaFp2JP.js} +1 -1
  95. package/dist/ui/assets/{supervisor-c8DDwpCe.js → supervisor-DvFfdQZG.js} +1 -1
  96. package/dist/ui/assets/{sync-dialog-DiBKt4y_.js → sync-dialog-89X_eADs.js} +1 -1
  97. package/dist/ui/assets/{transformers-env-DkclSft7.js → transformers-env-C6jpYwFE.js} +1 -1
  98. package/dist/ui/assets/{tray-leader-DhQw8Vyo.js → tray-leader-2nVEUays.js} +1 -1
  99. package/dist/ui/assets/{tray-leave-runtime-CgYC8lzC.js → tray-leave-runtime-Bn1GC9Cf.js} +1 -1
  100. package/dist/ui/assets/{tray-sidecar-CTXFReb_.js → tray-sidecar-DmR9wMCP.js} +1 -1
  101. package/dist/ui/assets/{upgrade-detection-DJkzgh_V.js → upgrade-detection-CHMH6iyk.js} +1 -1
  102. package/dist/ui/assets/utf16-clip-CGL7omVm.js +1 -0
  103. package/dist/ui/assets/{voice-reply-BDxhQxq3.js → voice-reply-BSouYhfc.js} +1 -1
  104. package/dist/ui/assets/{wasi-runtime-D50sf0fY.js → wasi-runtime-BBxEcrtW.js} +5 -5
  105. package/dist/ui/assets/{wc-attach-Cz4Segxp.js → wc-attach-4HlzE8yC.js} +2 -2
  106. package/dist/ui/assets/{wc-browser-DACcAKyw.js → wc-browser-_YDya6R4.js} +1 -1
  107. package/dist/ui/assets/{wc-computers-DwbsWvJk.js → wc-computers-DsTSGd08.js} +1 -1
  108. package/dist/ui/assets/{wc-detached-qHwBVBrK.js → wc-detached-Cnh8X5Wm.js} +1 -1
  109. package/dist/ui/assets/{wc-extension-Z4I4Bju7.js → wc-extension-CTg_a4Zu.js} +2 -2
  110. package/dist/ui/assets/wc-follower-CpxmTt8d.js +17 -0
  111. package/dist/ui/assets/{wc-follower-oauth-B7k4jnu8.js → wc-follower-oauth-D8E_ti39.js} +1 -1
  112. package/dist/ui/assets/{wc-gelatiere-D-U3dAxD.js → wc-gelatiere-BCuLQnrY.js} +1 -1
  113. package/dist/ui/assets/wc-live-1-EV8_qk.js +248 -0
  114. package/dist/ui/assets/{wc-nav-nmgBtf5f.js → wc-nav-BJ5I51NK.js} +2 -2
  115. package/dist/ui/assets/{wc-onboarding-BHk8sSaZ.js → wc-onboarding-myCW-Onf.js} +2 -2
  116. package/dist/ui/assets/{wc-permissions-DAdJvlP4.js → wc-permissions-Baf4WNdK.js} +2 -2
  117. package/dist/ui/assets/wc-placeholder-C0mKH-Yt.js +4 -0
  118. package/dist/ui/assets/{wc-secret-request-bhtsXEeR.js → wc-secret-request-DLrIa256.js} +1 -1
  119. package/dist/ui/assets/{wc-settings-BoCRAYwI.js → wc-settings-C14VLbGh.js} +3 -3
  120. package/dist/ui/assets/{wc-shell-CuOqCSKv.js → wc-shell-BTfKKBgo.js} +4 -4
  121. package/dist/ui/assets/{wc-shortcut-config-5vUzFHFF.js → wc-shortcut-config-BvDHKCy0.js} +1 -1
  122. package/dist/ui/assets/{wc-sprinkles-HdCnSQzK.js → wc-sprinkles-ZL0xE_Cs.js} +2 -2
  123. package/dist/ui/assets/{wc-transcript-export-Bg4-Bg4b.js → wc-transcript-export-CyRiKnwi.js} +2 -2
  124. package/dist/ui/assets/{wc-tray-wYtpqxqQ.js → wc-tray-jeohKKcJ.js} +4 -4
  125. package/dist/ui/assets/welcome-detection-CuDKZAa8.js +1 -0
  126. package/dist/ui/assets/{whisper-session-u58K2Q3y.js → whisper-session-Ch8cDNVc.js} +2 -2
  127. package/dist/ui/assets/{xai-grok-B_xnricm.js → xai-grok-BFykbO4p.js} +1 -1
  128. package/dist/ui/assets/{xai-grok-COiWlii6.js → xai-grok-CpBrt9ak.js} +1 -1
  129. package/dist/ui/index.html +3 -3
  130. package/dist/ui/lucide-icons.js +358 -355
  131. package/dist/ui/packages/webapp/index.html +3 -3
  132. package/package.json +3 -3
  133. package/dist/ui/assets/icons-2DY2vYOc.js +0 -1
  134. package/dist/ui/assets/main-CslAwAF2.js +0 -22
  135. package/dist/ui/assets/new-session-Dp8xDbm-.js +0 -2
  136. package/dist/ui/assets/provider-store-access-CD0n5Juv.js +0 -1
  137. package/dist/ui/assets/provider-store-access-CNt__qng.js +0 -1
  138. package/dist/ui/assets/quick-llm-CcF7noc9.js +0 -1
  139. package/dist/ui/assets/slicc-version-CzxKLup1.js +0 -1
  140. package/dist/ui/assets/wc-follower-CGMjE8mK.js +0 -17
  141. package/dist/ui/assets/wc-live-CrWRbzvC.js +0 -248
  142. package/dist/ui/assets/wc-placeholder-CegeCuXU.js +0 -4
  143. package/dist/ui/assets/welcome-detection-C8enaOAA.js +0 -1
@@ -1,22 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/setup-feature-flags-remote-DxCLsJ3k.js","assets/feature-flags-DvsApnS-.js","assets/sudo-BDyQV9Rk.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/quick-llm-CcF7noc9.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/compat-BAGLwgqY.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DHpsqCCC.js","assets/account-store-DIwBWa5E.js","assets/core-Cx9N3lmn.js","assets/libesm-BypnjKEL.js","assets/proxied-fetch-4VBgrEIu.js","assets/base64-ELzoYfwP.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-BH5jcsI3.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-2DY2vYOc.js","assets/types-DSxCdZw6.js","assets/approval-decision-BvumWm-U.js","assets/capability-6V-AYPSJ.js","assets/page-approval-service-ja6kjLj8.js","assets/extension-bridge-transport-B-i9vQpb.js","assets/pending-request-table-k-D7ZZsL.js","assets/lick-ws-bridge-CNTM_E_X.js","assets/tray-leader-DhQw8Vyo.js","assets/logger-BoSvu4mW.js","assets/cdp-LW6tWTA_.js","assets/navigation-watcher-CPcnZL9l.js","assets/bridge-protocol-C52CnDIj.js","assets/wc-follower-oauth-B7k4jnu8.js","assets/wc-shell-CuOqCSKv.js","assets/mime-types-D0xZwlMO.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/wc-shell-WkeczD9x.css","assets/sprinkle-renderer-CDi2K0Gg.js","assets/permissions-surface-registry-CilCRwhh.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-operations-C97SZtrY.js","assets/usb-device-registry--JwKRTYp.js","assets/usb-operations-v1mGAdRY.js","assets/shared-DSEuryGJ.js","assets/theme-CwPIBqJE.js","assets/theme-engine-ZV7CeqWw.js","assets/slicc-app-url-BKHBBuTR.js","assets/transcript-export-DP-r8eDz.js","assets/tray-follower-status-BAjnN7Ar.js","assets/record-CBv8rWFt.js","assets/export-spool-CuNzzI8a.js","assets/src-BWaKqLvQ.js","assets/main-cherry-Cs1Ann97.js","assets/synthetic-cdp-transport-OUVdC4zy.js","assets/oauth-service-GpUOM3Aw.js","assets/setup-model-catalog-CeqAS8Mo.js","assets/wc-follower-CGMjE8mK.js","assets/wc-live-CrWRbzvC.js","assets/slugify-BYJ6QVAt.js","assets/frozen-archive-writer-BPn5tRZ0.js","assets/provider-budget-LCzMPlKv.js","assets/browser-BhTdBqdp.js","assets/descriptor-CuhPBdq8.js","assets/types-CFfBWsH5.js","assets/frozen-session-identity-Cjcq_2LL.js","assets/session-jsonl-DUdZghbY.js","assets/live-session-curation-BlJB9qzA.js","assets/thinking-level-DCJktR5U.js","assets/wc-unit-context-CZro7UrY.js","assets/wc-sprinkles-HdCnSQzK.js","assets/wc-attach-Cz4Segxp.js","assets/wc-permissions-DAdJvlP4.js","assets/oauth-bootstrap-CHIy6Gm9.js","assets/legacy-styles-B3nS5QUo.js","assets/connect-surface-DeAt_ZAc.js","assets/wc-extension-Z4I4Bju7.js","assets/wc-detached-qHwBVBrK.js","assets/recovery-screen-DBCfk0t-.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import"./modulepreload-polyfill-P2Xu9kJm.js";import"./core-Cx9N3lmn.js";import{t}from"./preload-helper-Czpn1I53.js";import{t as n}from"./logger-DDBAeTLF.js";import{i as r}from"./feature-flags-DvsApnS-.js";import{a as i,i as a,n as o,o as s,r as c,t as l}from"./bridge-protocol-C52CnDIj.js";import{A as u,B as d,C as f,D as p,E as m,F as h,G as g,H as _,I as v,J as y,K as b,L as x,M as S,N as C,O as ee,P as te,R as w,S as ne,T as re,U as ie,V as ae,W as oe,X as se,Y as ce,_ as le,a as ue,b as de,c as fe,d as pe,f as me,g as he,h as ge,i as _e,j as ve,k as ye,l as be,m as xe,n as T,o as Se,p as Ce,q as we,r as Te,s as Ee,t as De,u as E,v as Oe,w as D,x as ke,y as Ae,z as je}from"./account-store-DIwBWa5E.js";import"./proxied-fetch-4VBgrEIu.js";import{n as O,t as Me}from"./runtime-env-Dlaokqg1.js";import{c as Ne,d as Pe,l as Fe,n as Ie,o as Le,s as Re,t as ze,u as Be}from"./api-endpoint-DuEQRZ4g.js";import{o as Ve,t as He}from"./telemetry-B0sKnLBU.js";import{a as Ue}from"./providers-BH5jcsI3.js";import{t as We}from"./stored-accounts-ChNHYF68.js";import{t as Ge}from"./tray-follower-status-BAjnN7Ar.js";import{n as Ke}from"./clipboard-eqmn97SP.js";var qe=`role`;function Je(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e&&typeof e.source==`string`}function Ye(e){if(!e)return!1;let t=e.startsWith(`[`)&&e.endsWith(`]`)?e.slice(1,-1):e;return!!(t===`localhost`||t===`::1`||/^127(\.\d{1,3}){3}$/.test(t))}var k=`tray`,Xe=`trayWorkerUrl`,Ze=`lead`;function A(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``,t.pathname!==`/`&&(t.pathname=t.pathname.replace(/\/+$/,``)||`/`);let n=t.toString();return n.endsWith(`/`)?n.slice(0,-1):n}catch{return null}}function Qe(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``;let n=t.toString(),r=t.pathname.split(`/`).filter(Boolean);if(r.length<2||r.at(-2)!==`join`)return null;let[i,a,...o]=decodeURIComponent(r.at(-1)).split(`.`);if(!i||!a||o.length>0)return null;r.splice(-2,2),t.pathname=r.length>0?`/${r.join(`/`)}`:`/`;let s=A(t.toString());return s?{workerBaseUrl:s,trayId:i,joinUrl:n}:null}catch{return null}}function $e(e,t){let n=new URL(e);return n.searchParams.delete(Xe),n.searchParams.delete(Ze),n.searchParams.set(k,t),n.toString()}function et(e){try{let t=new URL(e);return`${t.protocol===`wss:`?`https:`:`http:`}//${t.host}`}catch{return null}}function tt(e){try{let t=new URL(e);return`${t.protocol}//${t.host}/licks-ws`}catch{return null}}function nt(e){let t;try{t=new URLSearchParams(e)}catch{return null}let n=t.get(a),r=t.get(c);if(!n||!r||!/^wss?:\/\//.test(n))return null;let i;try{i=new URL(n).hostname}catch{return null}if(!Ye(i))return null;let o=t.get(qe),s=o===`leader`||o===`follower`?o:null;return{url:n,subprotocol:`${l}${r}`,token:r,apiBaseUrl:et(n),lickWsUrl:tt(n),role:s}}var rt=`slicc:bridge-config`,it=`slicc:extension-delegate-config`;function at(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.type===`slicc:ext-fetch`&&typeof t.extensionId==`string`&&!!t.request&&typeof t.request==`object`}var ot=n(`boot/ext-fetch-delegate`);function st(){let e=globalThis.chrome?.runtime;return e&&typeof e.connect==`function`?e:null}function ct(e,t,n){let r=st();if(!r){try{t.postMessage({type:`response-error`,error:`extension-delegate: chrome.runtime.connect unavailable`})}catch{}t.close();return}let i=e.extensionId||n,a;try{a=r.connect(i,{name:`fetch-proxy.fetch`})}catch(e){try{t.postMessage({type:`response-error`,error:`extension-delegate: connect failed — ${e instanceof Error?e.message:String(e)}`})}catch{}t.close();return}let o=!1,s=()=>{o=!0;try{a.disconnect()}catch{}try{t.close()}catch{}};a.onMessage.addListener(e=>{if(o)return;let n=e;try{t.postMessage(n)}catch{}(n.type===`response-end`||n.type===`response-error`)&&s()}),a.onDisconnect.addListener(()=>{if(!o){try{t.postMessage({type:`response-error`,error:`extension-delegate: fetch-proxy port disconnected`})}catch{}s()}}),a.postMessage({type:`request`,...e.request})}function lt(e){typeof navigator>`u`||!navigator.serviceWorker||navigator.serviceWorker.addEventListener(`message`,t=>{if(!at(t.data))return;let n=t.ports?.[0];if(!n){ot.warn(`delegated fetch envelope arrived without a response port`);return}ct(t.data,n,e)})}var ut=`slicc_feature_flags_remote`;function dt(e){return`${ut}:${e}`}function ft(e,t){let n=mt(t);r(e,ht(n,e)??{})}function pt(e,t,n){try{e?.setItem(dt(t),JSON.stringify(n))}catch{}}function mt(e){if(e!==void 0)return e;try{let e=globalThis.localStorage;return typeof e?.getItem!=`function`||typeof e.setItem!=`function`?void 0:e}catch{return}}function ht(e,t){try{let n=e?.getItem(dt(t));return n?gt(JSON.parse(n)):null}catch{return null}}function gt(e){return!_t(e)||Object.values(e).some(e=>typeof e!=`string`)?null:e}function _t(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function vt(e){return Je(e)}var j=`slicc.trayWorkerBaseUrl`,M=`slicc.trayJoinUrl`;function N(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``;let n=t.pathname.split(`/`).filter(Boolean),r=null;if(n.length>=2&&n.at(-2)===`tray`)r=decodeURIComponent(n.at(-1)),n.splice(-2,2),t.pathname=n.length>0?`/${n.join(`/`)}`:`/`;else if(n.length>=2&&n.at(-2)===`join`)return Qe(t.toString());let i=A(t.toString());return i?{workerBaseUrl:i,trayId:r,joinUrl:null}:null}catch{return null}}function P(e){let t=N(e);return t?.joinUrl?t:null}var yt=i,bt=s;function xt(e,t){let n=A(e);if(!n)throw Error(`Invalid tray worker base URL: ${e}`);let r=t.replace(/^\/+/,``);return new URL(r,`${n}/`).toString()}function F(e,t){let n=P(t);return n?(e.setItem(M,n.joinUrl),e.setItem(j,n.workerBaseUrl),n):null}function St(e){return!!P(e?.getItem(`slicc.trayJoinUrl`)??null)}function Ct(e,t){let n=!1;try{let t=new URL(e),r=t.searchParams.get(k);if(r!==null){n=!0;let e=N(r);if(e?.joinUrl)return e.joinUrl}t.searchParams.get(`slicc`)===`leader`&&(n=!0)}catch{}let r=N(e);return r?.joinUrl?r.joinUrl:(r?.trayId&&(n=!0),n?null:P(t?.getItem(`slicc.trayJoinUrl`)??null)?.joinUrl??null)}function wt(e){try{let t=new URL(e);t.searchParams.delete(k);let n=t.pathname.split(`/`).filter(Boolean);return n.length>=2&&n.at(-2)===`join`&&(n.splice(-2,2),t.pathname=n.length>0?`/${n.join(`/`)}`:`/`),t.toString()}catch{return e}}function Tt(e,t){let n=A(e);if(!n)throw Error(`Invalid tray worker base URL: ${e}`);let r=t?.trim();return r?new URL(`tray/${encodeURIComponent(r)}`,`${n}/`).toString():n}function Et(e,t,n){return $e(e,Tt(t,n))}async function Dt(e){let t=At(e.locationHref);if(t)return e.storage&&(t.joinUrl&&e.storage.setItem(M,t.joinUrl),e.storage.setItem(j,t.workerBaseUrl)),t;let n=P(e.storage?.getItem(`slicc.trayJoinUrl`)??null);if(n)return e.storage&&e.storage.setItem(j,n.workerBaseUrl),n;let r=e.runtimeConfigFetcher?await jt(e.runtimeConfigFetcher):null;if(r?.joinConfig)return e.storage&&(e.storage.setItem(M,r.joinConfig.joinUrl),e.storage.setItem(j,r.joinConfig.workerBaseUrl)),r.joinConfig;let i=r?.workerBaseUrl??null,a=A(e.storage?.getItem(`slicc.trayWorkerBaseUrl`)??null),o=A(e.envBaseUrl??null),s=A(e.defaultWorkerBaseUrl??null),c=i??a??o??s;return c?(e.storage&&e.storage.setItem(j,c),{workerBaseUrl:c,trayId:null,joinUrl:null}):null}async function Ot(e){return(await Dt(e))?.workerBaseUrl??null}async function kt(e=fetch){try{let t=await e(Re(`/api/runtime-config`),{cache:`no-store`,headers:ze()});return await Pe(t),t.ok?await t.json():null}catch(e){if(Le(e))throw e;return null}}function At(e){try{let t=new URL(e),n=N(t.searchParams.get(k));if(n)return n;let r=N(t.searchParams.get(Ze));if(r)return r;let i=A(t.searchParams.get(Xe));return i?{workerBaseUrl:i,trayId:null,joinUrl:null}:Qe(e)||null}catch{return null}}async function jt(e){let t=await e();if(!t)return null;let n=P(t.trayJoinUrl??null);return{workerBaseUrl:A(t.trayWorkerBaseUrl??null),joinConfig:n}}function Mt(e,t,n){if(t){try{if(new URL(e).searchParams.has(`detached`))return`extension-detached`}catch{}return`extension`}try{let t=new URL(e);return t.searchParams.get(`connect`)===`1`?`connect`:t.searchParams.get(`runtime`)===`hosted-leader`?`hosted-leader`:t.searchParams.get(`cherry`)===`1`?`cherry`:Ct(e,n===void 0?typeof window<`u`?window.localStorage:null:n)?`follower`:Pt(t)?`electron-overlay`:`standalone`}catch{return`standalone`}}function Nt(e,t){return e===`electron-overlay`||e===`hosted-leader`||e===`standalone`&&t}function Pt(e){return e.pathname===`/electron`||e.pathname===`/electron/`||e.searchParams.get(`runtime`)===`electron-overlay`}function Ft(e,n){ft(e,n.storage),t(async()=>{let{refreshFeatureFlagsForPage:e,scheduleFeatureFlagsRefresh:t}=await import(`./setup-feature-flags-remote-DxCLsJ3k.js`);return{refreshFeatureFlagsForPage:e,scheduleFeatureFlagsRefresh:t}},__vite__mapDeps([0,1])).then(({refreshFeatureFlagsForPage:t,scheduleFeatureFlagsRefresh:r})=>(r(e,n),t(e,n))).catch(()=>{})}function It(e){let t=Mt(e.locationHref,e.isExtension,e.storage);return Ft(t,e),t}function Lt(){if(O())return;let e=new Blob([`
3
- let lastPong = Date.now();
4
- let frozen = false;
5
- setInterval(() => {
6
- postMessage({ type: 'ping' });
7
- const elapsed = Date.now() - lastPong;
8
- if (elapsed > 5000 && !frozen) {
9
- frozen = true;
10
- postMessage({ type: 'freeze-detected', elapsed });
11
- }
12
- }, 2000);
13
- self.onmessage = (e) => {
14
- if (e.data.type === 'pong') {
15
- lastPong = Date.now();
16
- if (frozen) {
17
- frozen = false;
18
- postMessage({ type: 'freeze-recovered' });
19
- }
20
- }
21
- };
22
- `],{type:`application/javascript`}),t=URL.createObjectURL(e),n=new Worker(t);URL.revokeObjectURL(t),n.onmessage=e=>{if(e.data.type===`ping`)n.postMessage({type:`pong`});else if(e.data.type===`freeze-detected`)console.error(`[freeze-watchdog] Main thread blocked for ${e.data.elapsed}ms — capturing trace on recovery`);else if(e.data.type===`freeze-recovered`){console.error(`[freeze-watchdog] Main thread recovered. Stack trace at recovery point:`),console.trace(`[freeze-watchdog] recovery stack`);let e=performance.getEntriesByType(`longtask`);e.length>0&&console.error(`[freeze-watchdog] Long tasks:`,e.map(e=>({duration:e.duration,startTime:e.startTime,name:e.name})))}},window.addEventListener(`beforeunload`,()=>{n.terminate()},{once:!0})}var Rt=`slicc-nuke-control`,zt=[`slicc:welcome-flow-fired`,`slicc.trayJoinUrl`,`slicc.trayWorkerBaseUrl`];function Bt(e=()=>location.reload()){if(typeof BroadcastChannel!=`function`)return()=>{};let t=new BroadcastChannel(Rt),n=t=>{let n=t.data;if(n?.type===`nuke-reload`){if(Array.isArray(n.keysToRemove)){for(let e of n.keysToRemove)if(typeof e==`string`)try{localStorage.removeItem(e)}catch{}}e()}};return t.addEventListener(`message`,n),()=>{t.removeEventListener(`message`,n),t.close()}}var I=null;function Vt(){return I||(I=Bt(),I)}n(`stale-asset`);var Ht=`slicc-stale-asset-reload`;function Ut(e,t){if(typeof BroadcastChannel!=`function`)return()=>{};let n=new BroadcastChannel(Ht),r=n=>{let r=n.data;r?.type===`stale-asset-reload`&&r.instanceId===e&&t(r.replayTurn===!0)};return n.addEventListener(`message`,r),()=>{n.removeEventListener(`message`,r),n.close()}}var Wt=`slicc:stale-asset-reloaded-at`,Gt=6e4,L=`slicc:stale-asset-replay`;function Kt(e=window.sessionStorage){try{e.setItem(L,`1`)}catch{}}function qt(e=window.sessionStorage){try{return e.getItem(L)===`1`&&(e.removeItem(L),!0)}catch{return!1}}function Jt(){return{reload:()=>window.location.reload(),storage:window.sessionStorage,now:()=>Date.now(),windowMs:Gt,storageKey:Wt}}function Yt(e,t,n){return e===null||t-e>=n}function R(e=Jt()){let t;try{t=e.storage.getItem(e.storageKey)}catch{return!1}let n=t===null?null:Number(t),r=n!==null&&Number.isFinite(n)?n:null,i=e.now();if(!Yt(r,i,e.windowMs))return!1;try{e.storage.setItem(e.storageKey,String(i))}catch{return!1}return e.reload(),!0}var z=null,B=null;function Xt(e){z||(B={...Jt(),...e},z=e=>{R(B)&&e.preventDefault()},window.addEventListener(`vite:preloadError`,z))}var V=null;function Zt(e){return V||(V=Ut(e,e=>{e&&Kt(),R(B??void 0)}),V)}var Qt=3e4,$t=.2,en=`CDP bridge rejected the session token (bridge-token-required). Open SLICC again from Sliccstart to pick up a fresh token.`,tn=class extends Error{constructor(e=en){super(e),this.name=`CdpBridgeRejectedError`}},nn=class extends Error{constructor(){super(`CDP reconnect is backing off`),this.name=`CdpReconnectBackoffError`}};function rn(e,t=Math.random){let n=Math.min(Qt,250*2**Math.min(Math.max(0,e),16)),r=Math.round(n*$t*t());return Math.min(Qt,n+r)}function an(e){try{let t=new URL(e);return t.protocol!==`ws:`&&t.protocol!==`wss:`?null:`${t.protocol===`wss:`?`https:`:`http:`}//${t.host}`}catch{return null}}function on(e){let t=(e===void 0?[]:Array.isArray(e)?e:[e]).find(e=>e.startsWith(l));if(!t)return null;let n=t.slice(l.length);return n.length>0?n:null}async function sn(e,t=globalThis.fetch){let n=on(e.protocols),r=an(e.url);if(!n||!r||typeof t!=`function`)return`transient`;try{let e=await t(`${r}/api/status`,{method:`GET`,headers:{[o]:n},cache:`no-store`,signal:AbortSignal.timeout(1e3)}),i=await e.text();return e.status===403&&i.includes(`bridge-token-required`)?`terminal`:`transient`}catch{return`transient`}}var H=`slicc-cdp-superseded-banner`,cn=`slicc-cdp-bridge-rejected-banner`,ln=[`position:fixed`,`left:0`,`right:0`,`z-index:2147483647`,`padding:10px 16px`,`background:#b3261e`,`color:#fff`,`font:13px/1.4 system-ui,sans-serif`,`text-align:center`,`box-shadow:0 1px 4px rgba(0,0,0,0.3)`].join(`;`);function un(e){if(e.getElementById(H))return;let t=e.createElement(`div`);t.id=H,t.setAttribute(`role`,`alert`),t.textContent=`Another SLICC tab or window has taken control of this browser instance. Only one tab can drive the browser per instance — close the other tabs, then reload this page to resume.`,t.style.cssText=`top:0;${ln}`,e.body.appendChild(t)}function dn(e){if(e.getElementById(cn))return;let t=e.createElement(`div`);t.id=cn,t.setAttribute(`role`,`alert`),t.textContent=`The bridge token for this tab was rejected by the local SLICC server. Open SLICC again from Sliccstart so the tab picks up a fresh token.`;let n=e.getElementById(H)?`top:44px;`:`top:0;`;t.style.cssText=`${n}${ln}`,e.body.appendChild(t)}var fn=e({setupSudoExtension:()=>mn,setupSudoStandalone:()=>pn});async function pn(e){let{createSudoBroker:n,installSudoTestHook:r}=await t(async()=>{let{createSudoBroker:e,installSudoTestHook:t}=await import(`./sudo-BDyQV9Rk.js`);return{createSudoBroker:e,installSudoTestHook:t}},__vite__mapDeps([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),{createRestCapabilityBroker:i}=await t(async()=>{let{createRestCapabilityBroker:e}=await import(`./capability-6V-AYPSJ.js`).then(e=>e.t);return{createRestCapabilityBroker:e}},__vite__mapDeps([38,6,3]));r(n(i()))}async function mn(e){let{installPanelSudoResponder:n}=await t(async()=>{let{installPanelSudoResponder:e}=await import(`./sudo-BDyQV9Rk.js`);return{installPanelSudoResponder:e}},__vite__mapDeps([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]));n()}function hn(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`slicc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function gn(e){let t;try{t=new URLSearchParams(e)}catch{return null}if(t.get(`slicc`)!==`leader`)return null;let n=t.get(`ext`);return n?{extensionId:n}:null}var _n=[100,200,400,800,1600];async function vn(e,t,n,r=_n,i=e=>new Promise(t=>setTimeout(t,e))){let a=r.length+1,o=null;for(let s=0;s<a;s++)try{await e.connect(t),s>0&&n.info(`CDP bridge connect succeeded after retry`,{attempt:s+1});return}catch(e){if(o=e,e instanceof tn){n.error(`CDP bridge rejected the session token; stopped reconnecting`,e.message);return}s<r.length&&await i(r[s]??0)}n.warn(`Initial CDP connect failed after retries; worker-forwarded commands will retry on demand`,o instanceof Error?o.message:String(o))}async function yn(e,n,r){let{ExtensionBridgeTransport:i}=await t(async()=>{let{ExtensionBridgeTransport:e}=await import(`./extension-bridge-transport-B-i9vQpb.js`);return{ExtensionBridgeTransport:e}},__vite__mapDeps([40,4,41])),{mapDiscoveryPayloadToLickEvent:a,mapNavigatePayloadToLickEvent:o}=await t(async()=>{let{mapDiscoveryPayloadToLickEvent:e,mapNavigatePayloadToLickEvent:t}=await import(`./lick-ws-bridge-CNTM_E_X.js`);return{mapDiscoveryPayloadToLickEvent:e,mapNavigatePayloadToLickEvent:t}},__vite__mapDeps([42,4,43,6,19,20,21,44])),s=null,c=[],l=!1,u=e=>{s=e;for(let t of c)e.sendForwardedLick(t);c.length=0},d=e=>{if(e){if(s){s.sendForwardedLick(e);return}c.length>=50&&(c.shift(),l||(l=!0,r.warn(`extension-bridge lick buffer overflow (cap 50); dropping oldest pending licks until the kernel client attaches`))),c.push(e)}},f=new e(new i({extensionId:n,onLick:e=>{d(o(e))},onDiscovery:e=>{d(a(e))},onOpenSettings:()=>{globalThis.dispatchEvent(new CustomEvent(`slicc:open-settings-from-panel`))}}));return await vn(f,void 0,r),{browser:f,attachLickForwardingClient:u}}async function bn(e){let{browser:t,bridge:n,log:r,document:i,sleep:a}=e;t.setCdpConnectFailureClassifier(sn),t.setCdpBridgeRejectedHandler(()=>dn(i)),n&&r.info(`Routing CDP through local standalone bridge`,{url:n.url,role:n.role??`(unset)`});let o=n?{url:n.url,protocols:n.subprotocol}:void 0;if(n?.role===`follower`){r.info(`Skipping CDP connect for follower overlay tab`),t.primeConnectOptions(o);return}await vn(t,o,r,void 0,a),t.setCdpSupersededHandler(()=>un(i))}async function xn(e){let{runtimeMode:n,envBaseUrl:r,window:i,log:a,sleep:o}=e,s=n===`electron-overlay`;a.info(`setting up standalone page runtime (BrowserAPI + CDP)`,{runtimeMode:n});let{BrowserAPI:c}=await t(async()=>{let{BrowserAPI:e}=await import(`./cdp-LW6tWTA_.js`);return{BrowserAPI:e}},__vite__mapDeps([45,4,46,47,48,6,3,49,50,18,14,15,7,8,9,10,11,12,13,16,1,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,51,52,53,35,54,55,56,57,58,59,60,61,62,63,64,65,66,67,41,68,69,70]));await pn({log:a});let l,u,d,f=null,p=null,m=null,h=null,g,_=n===`cherry`?null:gn(i.location.search),v=!!_&&Me(),y=n===`cherry`||v?null:nt(i.location.search);y?.apiBaseUrl&&(f=y.apiBaseUrl,Be(y.apiBaseUrl),p=y.token,Ne(y.token)),y?.lickWsUrl&&(m=y.lickWsUrl);let b=n===`cherry`||v||y!==null,x=await kt(),S=Nt(n,x!==null)?yt:null;if(await Dt({locationHref:i.location.href,storage:i.localStorage,envBaseUrl:r,defaultWorkerBaseUrl:S,runtimeConfigFetcher:async()=>x}),n===`cherry`){let{setupCherryFollower:e}=await t(async()=>{let{setupCherryFollower:e}=await import(`./main-cherry-Cs1Ann97.js`);return{setupCherryFollower:e}},__vite__mapDeps([71,4,66,41,45,46,47,48,6,3,49,50,18,14,15,7,8,9,10,11,12,13,16,1,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,51,52,53,35,54,55,56,57,58,59,60,61,62,63,64,65,67,68,69,70,72])),n=await e();l=n.browser,u=n.joinUrl,d=n.transport}else if(_&&Me()){a.info(`Routing CDP through the extension bridge (leader tab)`);let e=await yn(c,_.extensionId,a);l=e.browser,g=e.attachLickForwardingClient,h=_.extensionId,Fe(_.extensionId)}else l=new c,await bn({browser:l,bridge:y,log:a,document:i.document,sleep:o});let C=l.getUnderlyingTransport();return globalThis.__slicc_browser=l,{browser:l,realCdpTransport:C,hasLocalCdpSurface:b,cherryJoinUrl:u,cherryTransport:d,instanceId:hn(),isElectronOverlay:s,localApiBaseUrl:f,bridgeToken:p,localLickWsUrl:m,extensionDelegateId:h,attachLickForwardingClient:g}}var U=n(`storage-persist`);function Sn(){try{return globalThis.navigator?.storage}catch{return}}async function Cn(e=Sn()){try{return typeof e?.persist==`function`?typeof e.persisted==`function`&&await e.persisted()?`already-persisted`:await e.persist()?`granted`:`denied`:`unsupported`}catch(e){return U.warn(`storage persistence check failed`,e),`failed`}}var wn=!1;function Tn(){wn||(wn=!0,Cn().then(e=>{switch(e){case`granted`:U.info(`OPFS marked persistent — SLICC data is now exempt from disk-pressure eviction`);break;case`already-persisted`:U.debug(`OPFS already persistent`);break;case`denied`:U.warn(`Browser declined persistent storage — SLICC data can be evicted if the disk fills up`);break;case`unsupported`:U.debug(`navigator.storage.persist() unavailable in this runtime`)}}).catch(()=>{}))}var W=n(`boot/sw-registration`);async function En(e=null,t=null){let n=(()=>{try{return new URL(window.location.href).searchParams.get(`connect`)===`1`}catch{return!1}})();if(`serviceWorker`in navigator&&n&&await kn())return`reload-pending`;if(!(`serviceWorker`in navigator)||n)return`ready`;try{if(await navigator.serviceWorker.register(`/preview-sw.js`,{scope:`/preview/`}),W.info(`Preview SW registered`),!O())try{await navigator.serviceWorker.register(`/llm-proxy-sw.js`,{scope:`/`}),W.info(`LLM-proxy SW registered`)}catch(e){W.error(`LLM-proxy SW registration failed — cross-origin LLM calls will hit CORS`,e)}if(navigator.serviceWorker.controller||await Promise.race([new Promise(e=>navigator.serviceWorker.addEventListener(`controllerchange`,()=>e(),{once:!0})),new Promise(e=>setTimeout(e,1500))]),!navigator.serviceWorker.controller&&!sessionStorage.getItem(`slicc-sw-reloaded`))return sessionStorage.setItem(`slicc-sw-reloaded`,`1`),W.info(`Reloading once to gain SW control`),location.reload(),`reload-pending`;sessionStorage.removeItem(`slicc-sw-reloaded`),e&&(Dn(e),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{Dn(e)})),t&&(On(t),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{On(t)}))}catch(e){W.error(`Preview SW registration failed — preview feature will not work`,e)}return`ready`}function Dn(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:rt,apiBaseUrl:e.apiBaseUrl,token:e.token};try{t.postMessage(n)}catch(e){W.warn(`LLM-proxy SW bridge-config postMessage failed`,e)}}function On(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:it,extensionId:e.extensionId};try{t.postMessage(n)}catch(e){W.warn(`LLM-proxy SW extension-delegate postMessage failed`,e)}}async function kn(){try{let e=await navigator.serviceWorker.getRegistrations();if(await Promise.all(e.map(e=>e.unregister().catch(()=>!1))),navigator.serviceWorker.controller&&!sessionStorage.getItem(`slicc-connect-sw-cleared`))return sessionStorage.setItem(`slicc-connect-sw-cleared`,`1`),W.info(`connect mode: detaching from service worker (no proxy on worker origin)`),location.reload(),!0;sessionStorage.removeItem(`slicc-connect-sw-cleared`)}catch(e){W.error(`connect-mode SW cleanup failed`,e)}return!1}function An(e,t){if(e.state===`inactive`&&t.state===`inactive`)return{kind:`leader-offer`,label:`Enable multi-browser sync`,caption:`Connect another browser to this session.`};if(e.state===`leader`&&e.session?.joinUrl)return{kind:`leader-copy`,joinUrl:e.session.joinUrl,label:`Enable multi-browser sync`,caption:`Share this URL to connect more browsers.`};if(e.state!==`inactive`){let t=e.state===`connecting`?`Setting up multi-browser sync…`:e.state===`reconnecting`?`Reconnecting…`:`Sync service unreachable.`;return{kind:`leader-pending`,label:`Multi-browser sync`,caption:e.error??t}}return{kind:`follower`,label:`Multi-browser sync`,caption:t.error??t.lastError??jn(t.state)??`Mirroring another browser.`}}function jn(e){switch(e){case`connected`:return`Connected — mirroring another browser.`;case`connecting`:return`Connecting to the other browser…`;case`reconnecting`:return`Reconnecting…`;case`disconnected`:return`Disconnected from the other browser.`;default:return null}}function Mn(e){let t=e.trim();if(!t)return`Paste a sync URL to continue.`;let n=null;try{n=new URL(t)}catch{return`That doesn’t look like a URL. Paste the full https://… link from the other browser.`}return n.protocol!==`https:`&&n.protocol!==`http:`?`Sync URLs must start with https://.`:n.pathname.includes(`/join/`)?`That sync URL is malformed. Re-copy it from the other browser and try again.`:`This URL is missing the /join/… capability. Use “Enable multi-browser sync” on the other browser.`}var Nn=e({ACCOUNTS_KEY:()=>We,__test__:()=>De,addAccount:()=>T,applyProviderDefaults:()=>Te,clearAllSettings:()=>_e,clearApiKey:()=>ue,clearBaseUrl:()=>Se,clearSelectedProvider:()=>Ee,describeInvalidJoinUrl:()=>Mn,downloadProviders:()=>Ln,ensureOAuthMaskReplica:()=>fe,exportProviders:()=>be,getAccounts:()=>E,getAllAvailableModels:()=>pe,getAllExtraOAuthDomains:()=>me,getAlternativeModelProviders:()=>Ce,getApiKey:()=>xe,getApiKeyForProvider:()=>ge,getApiVersionForProvider:()=>he,getAvailableProviders:()=>le,getBaseUrl:()=>Oe,getBaseUrlForProvider:()=>Ae,getDeploymentForProvider:()=>de,getExtraOAuthDomains:()=>ke,getModelCatalogProviderIds:()=>ne,getOAuthAccountInfo:()=>f,getProviderConfig:()=>D,getProviderModels:()=>re,getRawApiKeyForProvider:()=>m,getSelectedModelId:()=>p,getSelectedProvider:()=>ee,isModelHiddenFromPicker:()=>ye,isUsableOAuthMaskReplica:()=>u,logoutOAuthAccount:()=>ve,maskOAuthTokenWithRetry:()=>S,migrateLegacyAuthOnlySelection:()=>C,modelRunsOnProvider:()=>te,persistOAuthMaskViaServiceWorker:()=>h,policyVisible:()=>v,providerOffersLlmModels:()=>x,reloginOAuthAccount:()=>Un,removeAccount:()=>w,resolveCurrentModel:()=>je,resolveModelById:()=>d,resolveModelByShorthand:()=>ae,resolveModelIdForScoop:()=>_,resolveModelSelectionForScoop:()=>ie,saveOAuthAccount:()=>oe,setApiKey:()=>g,setBaseUrl:()=>b,setExtraOAuthDomains:()=>we,setExtraOAuthDomainsAsync:()=>y,setSelectedModelId:()=>ce,setSelectedProvider:()=>se,showProviderSettings:()=>lr,testOnlyDispatchTrayJoinWithFailureFeedback:()=>Fn}),Pn=n(`provider-settings`);function Fn(e,t){return In(e,t)}function In(e,t){let n=`tray-join-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,r=!1,i,a=()=>{r||(r=!0,i!==void 0&&clearTimeout(i),window.removeEventListener(`slicc:tray-join-failed`,o))},o=r=>{let i=r.detail;if(i.requestId!==void 0&&i.requestId!==n)return;if(a(),!t.isConnected){Pn.error(`Tray-join failure arrived after dialog dismissed (UX swallowed half-state)`,{joinUrl:e,error:i.error,requestId:n});return}let o=t.dataset.dismissTimer;if(o){let e=Number(o);Number.isFinite(e)&&clearTimeout(e),delete t.dataset.dismissTimer}t.textContent=`Sync failed: ${i.error}. Reload the page and try again.`,t.style.color=`var(--slicc-cone)`};return window.addEventListener(`slicc:tray-join-failed`,o),i=setTimeout(a,1e4),window.dispatchEvent(new CustomEvent(`slicc:tray-join`,{detail:{joinUrl:e,requestId:n}})),a}function Ln(){let e=JSON.stringify(be(),null,2),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`providers.json`,r.click(),URL.revokeObjectURL(n)}function Rn(e){return e.length<=10?`****`:e.slice(0,4)+`...`+e.slice(-4)}function G(e){let t=`http://www.w3.org/2000/svg`,n=document.createElementNS(t,`svg`);n.setAttribute(`width`,`14`),n.setAttribute(`height`,`14`),n.setAttribute(`viewBox`,`0 0 20 20`),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`1.5`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`);for(let r of e){let e=document.createElementNS(t,`path`);e.setAttribute(`d`,r),n.appendChild(e)}return n}var K={pen:[`M14.3 3.3a1.5 1.5 0 0 1 2.1 0l.3.3a1.5 1.5 0 0 1 0 2.1L7.7 14.8l-3.2.7.7-3.2z`],trash:[`M4 6h12`,`M8 6V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2`,`M6 6v10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6`],logout:[`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,`M16 17l5-5-5-5`,`M21 12H9`],login:[`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`,`M10 17l5-5-5-5`,`M15 12H3`]},zn=`background: transparent; border: 1px solid var(--s2-border-subtle); color: var(--s2-content-secondary); border-radius: var(--s2-radius-s); padding: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: color 0.15s, border-color 0.15s;`;function q(e,t){e.addEventListener(`mouseenter`,()=>{e.style.color=t,e.style.borderColor=t}),e.addEventListener(`mouseleave`,()=>{e.style.color=`var(--s2-content-secondary)`,e.style.borderColor=`var(--s2-border-subtle)`})}function Bn(e){e.overlay.remove(),e.resolve((localStorage.getItem(`slicc_accounts`)??``)!==e.accountsBefore)}function Vn(e){e.options?.startInAddAccount?Bn(e):J(e)}function Hn(e){let t=document.createElement(`div`);return t.style.cssText=`font-size: 11px; color: var(--s2-content-disabled); font-family: monospace; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;`,e.loggedOut?(t.textContent=e.userName?`Logged out — was ${e.userName}`:`Logged out`,t.style.color=`var(--s2-content-disabled)`):t.textContent=e.userName?e.userName:e.accessToken?`Logged in`:Rn(e.apiKey),e.baseUrl&&(t.textContent+=` • `+e.baseUrl),t}async function Un(e,n){let{createOAuthLauncher:r,createInterceptingOAuthLauncherForCurrentRuntime:i}=await t(async()=>{let{createOAuthLauncher:e,createInterceptingOAuthLauncherForCurrentRuntime:t}=await import(`./oauth-service-GpUOM3Aw.js`);return{createOAuthLauncher:e,createInterceptingOAuthLauncherForCurrentRuntime:t}},__vite__mapDeps([73,3,17,6,18,19,20,21,26,56])),a={forceReauth:!0};if(e.onOAuthLoginIntercepted){let t=await i();t&&await e.onOAuthLoginIntercepted(t,n,a)}else if(e.onOAuthLogin){let t=r();await e.onOAuthLogin(t,n,a)}}function Wn(e,t){let n=document.createElement(`button`);return n.style.cssText=zn,n.setAttribute(`aria-label`,`Edit account`),n.appendChild(G(K.pen)),q(n,`var(--s2-accent)`),n.addEventListener(`click`,()=>Y(e,t)),n}function Gn(e,t,n){let r=document.createElement(`button`);return r.style.cssText=zn,t.loggedOut===!0?(r.setAttribute(`aria-label`,`Log in`),r.setAttribute(`title`,`Log in`),r.appendChild(G(K.login)),q(r,`var(--s2-accent)`),r.addEventListener(`click`,()=>{Un(n,()=>J(e))})):(r.setAttribute(`aria-label`,`Log out`),r.setAttribute(`title`,`Log out`),r.appendChild(G(K.logout)),q(r,`var(--s2-warning, #f59e0b)`),r.addEventListener(`click`,()=>{(async()=>{await ve(t.providerId),J(e)})()})),r}function Kn(e,t){let n=document.createElement(`button`);return n.style.cssText=zn,n.setAttribute(`aria-label`,`Remove account`),n.appendChild(G(K.trash)),q(n,`var(--s2-negative)`),n.addEventListener(`click`,()=>{(async()=>{await w(t.providerId),J(e)})()}),n}function qn(e,t){let n=D(t.providerId),r=document.createElement(`div`);r.style.cssText=`display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; background: var(--s2-bg-layer-2); border-radius: var(--s2-radius-default); margin-bottom: 8px; border: 1px solid var(--s2-border-subtle);`;let i=document.createElement(`div`);i.style.cssText=`flex: 1; min-width: 0;`;let a=document.createElement(`div`);a.style.cssText=`font-size: 14px; font-weight: 600; color: var(--s2-content-default);`,a.textContent=n.name,i.appendChild(a),i.appendChild(Hn(t)),r.appendChild(i);let o=document.createElement(`div`);return o.style.cssText=`display: flex; gap: 4px; margin-left: 12px; flex-shrink: 0;`,o.appendChild(Wn(e,t)),n.isOAuth&&o.appendChild(Gn(e,t,n)),o.appendChild(Kn(e,t)),r.appendChild(o),r}function Jn(e){let t=document.createDocumentFragment(),n=document.createElement(`hr`);n.style.cssText=`border: none; border-top: 1px solid var(--s2-border-subtle); margin: 16px 0;`,t.appendChild(n);let r=document.createElement(`div`);r.className=`dialog__desc`,r.style.cssText=`font-weight: 600; margin-bottom: 8px;`,r.textContent=`Tray`,t.appendChild(r);let i=Ge(),a=i.state!==`inactive`,o=St(window.localStorage);if(a||o){let e=document.createElement(`div`);e.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px;`,e.textContent=`Follower: ${a?i.state:`configured`}`,i.error&&(e.textContent+=` — ${i.error}`,e.style.color=`var(--slicc-cone)`),t.appendChild(e)}let s=document.createElement(`button`);return s.className=`dialog__btn dialog__btn--secondary`,s.textContent=a||o?`Reconnect to other browser`:`Connect to another browser`,s.addEventListener(`click`,()=>X(e)),t.appendChild(s),t}function J(e){let{dialog:t}=e;t.innerHTML=``;let n=document.createElement(`div`);n.className=`dialog__title`,n.textContent=`Accounts`,t.appendChild(n);let r=E();if(r.length===0){let e=document.createElement(`div`);e.className=`dialog__desc`,e.textContent=`No accounts configured.`,t.appendChild(e)}else{let n=document.createElement(`div`);n.style.cssText=`margin-bottom: 16px;`;for(let t of r)n.appendChild(qn(e,t));t.appendChild(n)}let i=document.createElement(`div`);i.style.cssText=`display: flex; gap: 8px;`;let a=document.createElement(`button`);a.className=r.length>0?`dialog__btn dialog__btn--secondary`:`dialog__btn`,a.style.flex=`1`,a.textContent=`Add Account`,a.addEventListener(`click`,()=>Y(e)),i.appendChild(a);let o=document.createElement(`button`);o.className=`dialog__btn dialog__btn--secondary`,o.style.flex=`1`,o.textContent=`Export`,o.addEventListener(`click`,()=>Ln()),i.appendChild(o),t.appendChild(i),t.appendChild(Jn(e));let s=document.createElement(`hr`);s.style.cssText=`border: none; border-top: 1px solid var(--s2-border-subtle); margin: 16px 0;`,t.appendChild(s);let c=document.createElement(`button`);c.className=`dialog__btn`,c.textContent=`Get Started`,c.addEventListener(`click`,()=>Bn(e)),t.appendChild(c)}function Yn(e,t){let n=document.createElement(`select`);if(n.className=`dialog__input`,n.style.marginBottom=`8px`,t){let e=D(t.providerId),r=document.createElement(`option`);return r.value=t.providerId,r.textContent=e.name,n.appendChild(r),n.disabled=!0,n.style.opacity=`0.7`,n}let r=document.createElement(`option`);r.value=``,r.textContent=`Select a provider…`,r.disabled=!0,r.selected=!0,r.hidden=!0,n.appendChild(r);let i=new Set(E().map(e=>e.providerId)),a=[...le()].sort((e,t)=>D(e).name.localeCompare(D(t).name));for(let t of a){if(i.has(t))continue;if(e?.providerFilter){if(!e.providerFilter(t))continue}else if(!x(t))continue;let r=document.createElement(`option`);r.value=t,r.textContent=D(t).name,n.appendChild(r)}return n}function Xn(e,t){let n=Yn(e,t),r=document.createElement(`div`);r.className=`dialog__desc`,r.style.cssText=`font-size: 12px; color: var(--s2-content-tertiary); margin-bottom: 16px; margin-top: -4px;`;let i=document.createElement(`div`);i.style.cssText=`margin-bottom: 16px; display: none;`;let a=document.createElement(`button`);a.className=`dialog__btn`,a.textContent=`Login`,a.style.cssText=`width: 100%; margin-bottom: 8px;`,i.appendChild(a);let o=document.createElement(`div`);o.className=`dialog__desc`,o.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); text-align: center;`,i.appendChild(o);let s=document.createElement(`div`),c=document.createElement(`div`);c.className=`dialog__desc`,s.appendChild(c);let l=document.createElement(`input`);l.className=`dialog__input`,l.type=`password`,l.autocomplete=`off`,l.spellcheck=!1,t&&(l.value=t.apiKey),s.appendChild(l);let u=document.createElement(`div`),d=document.createElement(`div`);d.className=`dialog__desc`,d.textContent=`Base URL:`,u.appendChild(d);let f=document.createElement(`input`);f.className=`dialog__input`,f.type=`text`,f.autocomplete=`off`,f.spellcheck=!1,t?.baseUrl&&(f.value=t.baseUrl),u.appendChild(f);let p=document.createElement(`div`);p.className=`dialog__desc`,p.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,u.appendChild(p);let m=document.createElement(`div`);m.style.display=`none`;let h=document.createElement(`div`);h.className=`dialog__desc`,h.textContent=`Deployment:`,m.appendChild(h);let g=document.createElement(`input`);g.className=`dialog__input`,g.type=`text`,g.autocomplete=`off`,g.spellcheck=!1,t?.deployment&&(g.value=t.deployment),m.appendChild(g);let _=document.createElement(`div`);_.className=`dialog__desc`,_.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,m.appendChild(_);let v=document.createElement(`div`);v.style.display=`none`;let y=document.createElement(`div`);y.className=`dialog__desc`,y.textContent=`API Version:`,v.appendChild(y);let b=document.createElement(`input`);b.className=`dialog__input`,b.type=`text`,b.autocomplete=`off`,b.spellcheck=!1,t?.apiVersion&&(b.value=t.apiVersion),v.appendChild(b);let x=document.createElement(`div`);x.className=`dialog__desc`,x.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,v.appendChild(x);let S=document.createElement(`div`);S.style.cssText=`color: var(--slicc-cone); font-size: 12px; margin-bottom: 8px; display: none;`;let C=document.createElement(`button`);return C.className=`dialog__btn`,C.textContent=t?`Save`:`Add`,{providerSelect:n,providerDesc:r,oauth:{section:i,loginBtn:a,status:o},apiKeySection:s,apiKeyLabel:c,apiKeyInput:l,baseUrlSection:u,baseUrlInput:f,baseUrlDesc:p,deploymentSection:m,deploymentInput:g,deploymentDesc:_,apiVersionSection:v,apiVersionInput:b,apiVersionDesc:x,errorEl:S,saveBtn:C}}function Zn(e){let t=document.createElement(`div`);t.setAttribute(`data-slicc-device-code-prompt`,``),t.style.cssText=`display:flex;flex-direction:column;gap:8px`;let n=document.createElement(`div`);n.className=`dialog__desc`,n.textContent=`Verification code`,n.style.cssText=`font-size: 11px; color: var(--s2-content-tertiary);`;let r=document.createElement(`div`);r.textContent=e,r.style.cssText=[`font: 600 22px ui-monospace, SFMono-Regular, Menlo, monospace`,`letter-spacing: 2px`,`color: var(--s2-content-primary, #e6edf3)`,`background: var(--s2-bg-secondary, #161b22)`,`border: 1px solid var(--s2-border, #30363d)`,`border-radius: 6px`,`padding: 10px 12px`,`text-align: center`,`user-select: all`,`cursor: text`].join(`;`);let i=document.createElement(`div`);i.className=`dialog__desc`,i.style.cssText=`font-size: 12px; color: var(--s2-content-secondary);`,i.textContent=`Click Copy & Continue — we will open the GitHub authorization page in a new tab. Paste this code there if it is not already filled in.`;let a=document.createElement(`div`);a.style.cssText=`display:flex;gap:8px;justify-content:flex-end;margin-top:4px`;let o=document.createElement(`button`);o.type=`button`,o.className=`dialog__btn`,o.textContent=`Cancel`;let s=document.createElement(`button`);return s.type=`button`,s.className=`dialog__btn dialog__btn--primary`,s.textContent=`Copy & Continue`,a.appendChild(o),a.appendChild(s),t.appendChild(n),t.appendChild(r),t.appendChild(i),t.appendChild(a),{prompt:t,cancelBtn:o,continueBtn:s}}function Qn(e){return t=>new Promise(n=>{let r=e.loginBtn.style.display,i=e.status.style.display;e.loginBtn.style.display=`none`,e.status.style.display=`none`;let{prompt:a,cancelBtn:o,continueBtn:s}=Zn(t.userCode),c=()=>{try{a.remove()}catch{}e.loginBtn.style.display=r,e.status.style.display=i};o.addEventListener(`click`,()=>{c(),n(`cancel`)}),s.addEventListener(`click`,()=>{(async()=>{try{await Ke(t.userCode)}catch{}c(),e.status.style.display=i,e.status.textContent=`Waiting for you to authorize in the new tab…`,n(`continue`)})()}),e.section.appendChild(a)})}async function $n(e,n){let r=n.providerSelect.value;if(!r)return;let i=D(r);if(!i.onOAuthLogin&&!i.onOAuthLoginIntercepted)return;let{status:a}=n.oauth,o=E().some(e=>e.providerId===r),s=Ae(r);if(i.requiresBaseUrl&&!n.baseUrlInput.value.trim()&&!s){a.textContent=`Base URL is required.`,a.style.color=`var(--slicc-cone)`,n.baseUrlInput.focus();return}i.requiresBaseUrl&&n.baseUrlInput.value.trim()&&T(r,``,n.baseUrlInput.value.trim()),a.textContent=`Opening login window...`;try{if(i.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:r}=await t(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([73,3,17,6,18,19,20,21,26,56])),a=await r();if(!a)throw Error(`No controlled-browser CDP transport available — open SLICC in standalone mode or the Chrome extension.`);await i.onOAuthLoginIntercepted(a,()=>Vn(e),{presentDeviceCode:Qn(n.oauth)})}else if(i.onOAuthLogin){let{createOAuthLauncher:n}=await t(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{createOAuthLauncher:e}},__vite__mapDeps([73,3,17,6,18,19,20,21,26,56])),r=n();await i.onOAuthLogin(r,()=>Vn(e))}}catch(e){if(!o)try{await w(r)}catch{}Pn.error(`OAuth login failed`,{providerId:r,error:e instanceof Error?e.message:String(e)}),a.textContent=`Login failed: ${e instanceof Error?e.message:String(e)}`}}function er(e,t){if(t.isOAuth){e.oauth.section.style.display=``,e.apiKeySection.style.display=`none`,e.baseUrlSection.style.display=t.requiresBaseUrl?``:`none`,t.requiresBaseUrl&&(e.baseUrlInput.placeholder=t.baseUrlPlaceholder||`https://...`,e.baseUrlDesc.textContent=t.baseUrlDescription||``),e.oauth.loginBtn.textContent=`Login with ${t.name}`,e.saveBtn.style.display=`none`;return}e.oauth.section.style.display=`none`;let n=t.requiresApiKey?`API Key`:`API Key (optional)`;e.apiKeyLabel.textContent=`${n}${t.apiKeyEnvVar?` (${t.apiKeyEnvVar})`:``}:`,e.apiKeyInput.placeholder=t.apiKeyPlaceholder||`API key`,e.apiKeySection.style.display=t.requiresApiKey||t.optionalApiKey?``:`none`,e.baseUrlInput.placeholder=t.baseUrlPlaceholder||`https://...`,e.baseUrlDesc.textContent=t.baseUrlDescription||``,e.baseUrlSection.style.display=t.requiresBaseUrl?``:`none`,e.saveBtn.style.display=``}function tr(e,t){t.requiresDeployment?(e.deploymentSection.style.display=``,e.deploymentInput.placeholder=t.deploymentPlaceholder||`deployment-name`,e.deploymentDesc.textContent=t.deploymentDescription||``):e.deploymentSection.style.display=`none`}function nr(e,t){t.requiresApiVersion?(e.apiVersionSection.style.display=``,!e.apiVersionInput.value&&t.apiVersionDefault&&(e.apiVersionInput.value=t.apiVersionDefault),e.apiVersionInput.placeholder=t.apiVersionDefault||`api-version`,e.apiVersionDesc.textContent=t.apiVersionDescription||``):e.apiVersionSection.style.display=`none`}function rr(e){let t=e.providerSelect.value;if(!t){e.providerDesc.textContent=``,e.oauth.section.style.display=`none`,e.apiKeySection.style.display=`none`,e.baseUrlSection.style.display=`none`,e.deploymentSection.style.display=`none`,e.apiVersionSection.style.display=`none`,e.saveBtn.style.display=`none`;return}let n=D(t);e.providerDesc.textContent=n.description,er(e,n),tr(e,n),nr(e,n)}function ir(e,t){let n=t.providerSelect.value;if(!n)return;let r=D(n),i=(e,n)=>{t.errorEl.textContent=e,t.errorEl.style.display=``,n.focus()};if(r.requiresApiKey&&t.apiKeyInput.value.trim().length<5){i(`API key is required (at least 5 characters).`,t.apiKeyInput);return}if(r.requiresBaseUrl&&!t.baseUrlInput.value.trim()){i(`Base URL is required for this provider.`,t.baseUrlInput);return}if(r.requiresDeployment&&!t.deploymentInput.value.trim()){i(`Deployment name is required for this provider.`,t.deploymentInput);return}T(n,t.apiKeyInput.value.trim(),t.baseUrlInput.value.trim()||void 0,t.deploymentInput.value.trim()||void 0,t.apiVersionInput.value.trim()||void 0),Vn(e)}function ar(e,t){let{dialog:n,options:r}=e,i=E().length>0;if(r?.startInAddAccount){let t=document.createElement(`button`);t.className=`dialog__btn dialog__btn--secondary`,t.style.marginTop=`8px`,t.textContent=`Cancel`,t.addEventListener(`click`,()=>Bn(e)),n.appendChild(t)}else if(!t&&!i){let t=document.createElement(`button`);t.className=`dialog__btn dialog__btn--secondary`,t.style.marginTop=`8px`,t.textContent=`Connect to another browser`,t.addEventListener(`click`,()=>X(e)),n.appendChild(t)}else if(i){let t=document.createElement(`button`);t.className=`dialog__btn dialog__btn--secondary`,t.style.marginTop=`8px`,t.textContent=`Back`,t.addEventListener(`click`,()=>J(e)),n.appendChild(t)}}function Y(e,t){let{dialog:n}=e;n.innerHTML=``;let r=document.createElement(`div`);r.className=`dialog__title`,r.textContent=t?`Edit Account`:`Add Account`,n.appendChild(r);let i=document.createElement(`div`);i.className=`dialog__desc`,i.textContent=`Provider:`,n.appendChild(i);let a=Xn(e.options,t);n.appendChild(a.providerSelect),n.appendChild(a.providerDesc),a.oauth.loginBtn.addEventListener(`click`,()=>{$n(e,a)}),t?.userName&&(a.oauth.status.textContent=`Logged in as ${t.userName}`,a.oauth.loginBtn.textContent=`Re-login`),n.appendChild(a.oauth.section),n.appendChild(a.apiKeySection),n.appendChild(a.baseUrlSection),n.appendChild(a.deploymentSection),n.appendChild(a.apiVersionSection),n.appendChild(a.errorEl),a.providerSelect.addEventListener(`change`,()=>{a.errorEl.style.display=`none`,rr(a)}),rr(a),a.saveBtn.addEventListener(`click`,()=>ir(e,a));let o=t=>{t.key===`Enter`&&ir(e,a)};a.apiKeyInput.addEventListener(`keydown`,o),a.baseUrlInput.addEventListener(`keydown`,o),a.deploymentInput.addEventListener(`keydown`,o),a.apiVersionInput.addEventListener(`keydown`,o),n.appendChild(a.saveBtn),ar(e,!!t),requestAnimationFrame(()=>{let e=a.providerSelect.value;if(!e)return;let t=D(e);t.requiresApiKey?a.apiKeyInput.focus():t.requiresBaseUrl&&a.baseUrlInput.focus()})}function or(e,t,n){In(t,n),n.textContent=`Connecting…`,n.style.display=``,n.style.color=`var(--s2-content-secondary)`;let r=setTimeout(()=>{e.overlay.remove(),e.resolve(!1)},800);n.dataset.dismissTimer=String(r)}function sr(e,t){let{dialog:n}=e;n.innerHTML=``;let r=document.createElement(`div`);r.className=`dialog__title`,r.textContent=`Connect this browser?`,n.appendChild(r);let i=document.createElement(`div`);i.className=`dialog__desc`,i.style.marginBottom=`12px`,i.textContent=`You’ve been invited to mirror another SLICC browser. Click below to start syncing.`,n.appendChild(i);let a=document.createElement(`div`);a.className=`dialog__desc`,a.style.cssText=`font-family: monospace; font-size: 11px; color: var(--s2-content-secondary); word-break: break-all; margin-bottom: 16px; padding: 8px; background: var(--s2-bg-secondary); border-radius: 4px;`,a.textContent=t.length>80?t.slice(0,40)+`…`+t.slice(-37):t,n.appendChild(a);let o=document.createElement(`div`);o.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`,n.appendChild(o);let s=document.createElement(`button`);s.className=`dialog__btn`,s.textContent=`Connect`,s.addEventListener(`click`,()=>{let n=F(window.localStorage,t);if(!n){o.textContent=`Invalid sync URL.`,o.style.display=``,o.style.color=`var(--slicc-cone)`;return}or(e,n.joinUrl,o)}),n.appendChild(s);let c=document.createElement(`button`);c.className=`dialog__btn dialog__btn--secondary`,c.style.marginTop=`8px`,c.textContent=`Set up an account instead`,c.addEventListener(`click`,()=>Y(e)),n.appendChild(c)}function cr(){let e=document.createElement(`details`);e.style.cssText=`margin-bottom: 12px; font-size: 12px; color: var(--s2-content-secondary);`;let t=document.createElement(`summary`);t.style.cssText=`cursor: pointer; user-select: none; color: var(--s2-content-secondary);`,t.textContent=`How do I get the sync URL?`,e.appendChild(t);let n=document.createElement(`div`);n.style.cssText=`margin-top: 8px; padding: 10px 12px; background: var(--s2-bg-layer-2); border-radius: var(--s2-radius-default); border: 1px solid var(--s2-border-subtle); line-height: 1.5;`;let r=document.createElement(`ol`);r.style.cssText=`margin: 0; padding-left: 20px;`;for(let e of[`On the other SLICC, click the avatar (top right).`,`Choose “Enable multi-browser sync” — the URL is copied automatically.`,`Paste it below. Both browsers must be on the same SLICC version.`]){let t=document.createElement(`li`);t.textContent=e,r.appendChild(t)}return n.appendChild(r),e.appendChild(n),e}function X(e){let{dialog:t}=e;t.innerHTML=``;let n=document.createElement(`div`);n.className=`dialog__title`,n.textContent=`Connect to another browser`,t.appendChild(n);let r=document.createElement(`div`);r.className=`dialog__desc`,r.style.marginBottom=`12px`,r.textContent=`Paste a multi-browser sync URL to mirror another SLICC browser.`,t.appendChild(r),t.appendChild(cr());let a=document.createElement(`div`);a.className=`dialog__desc`,a.textContent=`Sync URL:`,t.appendChild(a);let o=document.createElement(`input`);o.className=`dialog__input`,o.type=`text`,o.autocomplete=`off`,o.spellcheck=!1,o.placeholder=`${i}/join/<token>`,t.appendChild(o);let s=document.createElement(`div`);s.style.cssText=`color: var(--slicc-cone); font-size: 12px; margin-bottom: 8px; display: none;`,t.appendChild(s);let c=document.createElement(`div`);c.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`;let l=document.createElement(`button`);l.className=`dialog__btn`,l.textContent=`Connect`,l.addEventListener(`click`,()=>{let t=o.value.trim();if(!t){s.textContent=`Paste a sync URL to continue.`,s.style.display=``,o.focus();return}let n=F(window.localStorage,t);if(!n){s.textContent=Mn(t),s.style.display=``,o.focus();return}or(e,n.joinUrl,c)}),t.appendChild(l),t.appendChild(c);let u=document.createElement(`button`);u.className=`dialog__btn dialog__btn--secondary`,u.style.marginTop=`8px`,u.textContent=`Back`,u.addEventListener(`click`,()=>Y(e)),t.appendChild(u),o.addEventListener(`input`,()=>{s.style.display=`none`}),o.addEventListener(`keydown`,e=>{e.key===`Enter`&&l.click()}),requestAnimationFrame(()=>o.focus())}function lr(e){return Ve(`button`),new Promise(t=>{let n=document.createElement(`div`);n.className=`dialog-overlay`;let r=document.createElement(`div`);r.className=`dialog`,r.style.cssText=`max-width: 480px; width: 90vw; padding: 32px;`;let i={overlay:n,dialog:r,options:e,accountsBefore:localStorage.getItem(`slicc_accounts`)??``,resolve:t};e?.startInAddAccount?Y(i):E().length>0?J(i):e?.autoJoinUrl?sr(i,e.autoJoinUrl):e?.preferTrayJoin?X(i):Y(i),n.appendChild(r),document.body.appendChild(n)})}var ur=n(`tray-leader-lock`),dr=!1,Z=null,Q=null;function fr(e){let t=()=>{Z===t&&(Z=null),e()};return Z=t,t}function pr(e){Q=e}function mr(){return dr}function hr(){dr=!0;let e=Q;Q=null;try{e?.()}catch(e){ur.error(`Fatal-boot leader teardown threw`,e)}let t=Z;Z=null,t?.()}var $=n(`main`);function gr(e){try{return new URL(e).searchParams.has(`ui-fixture`)}catch{return!1}}function _r(){t(async()=>{let{setupModelCatalog:e}=await import(`./setup-model-catalog-CeqAS8Mo.js`);return{setupModelCatalog:e}},__vite__mapDeps([74,15,6,7,8,9,3,10,11,12,13,16,4,1,17,18,19,20,21,22,23,24,25,26,27,28,14,29,30,31,32,33,0])).then(({setupModelCatalog:e})=>e({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,isDev:!1})).catch(()=>{})}async function vr(){Xt();let e=document.getElementById(`app`);if(!e)throw Error(`#app element not found`);let n=O(),r=It({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,isDev:!1,isExtension:n});if(gr(window.location.href)){let{mountWcUiPreview:n}=await t(async()=>{let{mountWcUiPreview:e}=await import(`./wc-shell-CuOqCSKv.js`).then(e=>e.s);return{mountWcUiPreview:e}},__vite__mapDeps([49,6,3,4,50,18,47,14,15,7,8,9,10,11,12,13,16,1,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,51,52,53,35,54]));n(e);return}Lt(),Vt(),Tn(),r!==`connect`&&He({isExtensionRealm:n}).catch(()=>{});let i=nt(window.location.search),a=r===`cherry`?null:gn(window.location.search),o=!!a&&Me();if(await En(i?{apiBaseUrl:i.apiBaseUrl,token:i.token}:null,o&&a?{extensionId:a.extensionId}:null)===`reload-pending`)return;if(!n&&(r===`follower`||r===`cherry`)){let{bootFollowerFloat:n}=await t(async()=>{let{bootFollowerFloat:e}=await import(`./wc-follower-CGMjE8mK.js`);return{bootFollowerFloat:e}},__vite__mapDeps([75,3,4,1,66,48,6,49,50,18,47,14,15,7,8,9,10,11,12,13,16,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,51,52,53,35,54,55,56,57,58,59,60,61,62,63,64,65,67,41,68,69,70,76,77,78,79,80,43,81,82,83,84,85,86,87,88,89,90]));return n(e,$,r)}await Ue(),Te(),_r(),i?.apiBaseUrl&&!o&&(Be(i.apiBaseUrl),Ne(i.token),await Ie());let{bootstrapOAuthReplicas:s}=await t(async()=>{let{bootstrapOAuthReplicas:e}=await import(`./oauth-bootstrap-CHIy6Gm9.js`);return{bootstrapOAuthReplicas:e}},__vite__mapDeps([91,3,4,14,15,6,7,8,9,10,11,12,13,16,1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,44]));if(await Promise.race([s().catch(e=>{$.error(`OAuth bootstrap failed`,e)}),new Promise(e=>setTimeout(e,1e4))]),r===`connect`){globalThis.__slicc_connect_mode=!0;let{loadLegacyStyles:n}=await t(async()=>{let{loadLegacyStyles:e}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadLegacyStyles:e}},__vite__mapDeps([92,3]));await n();let{mountConnectSurface:r}=await t(async()=>{let{mountConnectSurface:e}=await import(`./connect-surface-DeAt_ZAc.js`);return{mountConnectSurface:e}},__vite__mapDeps([93,14,15,6,7,8,9,3,10,11,12,13,16,4,1,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]));await r(e);return}if(n){let{bootExtensionFloat:n}=await t(async()=>{let{bootExtensionFloat:e}=await import(`./wc-extension-Z4I4Bju7.js`);return{bootExtensionFloat:e}},__vite__mapDeps([94,3,76,6,15,7,8,9,10,11,12,13,16,4,1,17,18,19,20,21,22,23,24,25,26,27,28,49,50,47,14,29,30,31,32,33,51,52,53,35,54,55,56,57,58,59,60,61,62,63,64,77,66,78,67,70,79,80,43,68,81,82,83,84,85,86,87,95]));return n(e,$,r===`extension-detached`)}o&&a&&lt(a.extensionId);let{bootLeaderFloat:c}=await t(async()=>{let{bootLeaderFloat:e}=await import(`./wc-live-CrWRbzvC.js`).then(e=>e.n);return{bootLeaderFloat:e}},__vite__mapDeps([76,6,15,7,8,9,3,10,11,12,13,16,4,1,17,18,19,20,21,22,23,24,25,26,27,28,49,50,47,14,29,30,31,32,33,51,52,53,35,54,55,56,57,58,59,60,61,62,63,64,77,66,78,67,70,79,80,43,68,81,82,83,84,85,86,87]));return c(e,$,r)}function yr(e,t){let n=document.createElement(`div`);n.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let r=document.createElement(`h1`);r.textContent=`Failed to start`;let i=document.createElement(`p`);i.textContent=t instanceof Error?t.message:String(t);let a=document.createElement(`button`);a.type=`button`,a.textContent=`Reload`,a.addEventListener(`click`,()=>location.reload()),n.append(r,i,a),e.replaceChildren(n)}async function br(e,n){let r;try{({renderBootRecoveryScreen:r}=await t(()=>import(`./recovery-screen-DBCfk0t-.js`),__vite__mapDeps([96,20,21])))}catch{yr(e,n);return}if(r(e,n),n instanceof Error&&n.message.includes(`did not signal ready`))try{let{triageModuleWorkerHealth:i}=await t(async()=>{let{triageModuleWorkerHealth:e}=await import(`./worker-triage-BvsMZrdR.js`);return{triageModuleWorkerHealth:e}},[]),a=await i();a===`browser-wedged`&&r(e,n,{verdict:a})}catch{}}vr().catch(e=>{$.error(`Fatal error`,e),hr();let t=document.getElementById(`app`);t&&br(t,e)});export{pt as A,F as C,j as D,M as E,Ye as M,vt as O,Ot as S,P as T,bt as _,lr as a,St as b,fn as c,rn as d,qt as f,yt as g,zt as h,Nn as i,A as j,mt as k,tn as l,Zt as m,mr as n,An as o,R as p,pr as r,xn as s,fr as t,nn as u,Et as v,wt as w,Ct as x,xt as y};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-CcF7noc9.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/compat-BAGLwgqY.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/preload-helper-Czpn1I53.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DHpsqCCC.js","assets/logger-DDBAeTLF.js","assets/account-store-DIwBWa5E.js","assets/core-Cx9N3lmn.js","assets/libesm-BypnjKEL.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/base64-ELzoYfwP.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-BH5jcsI3.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-2DY2vYOc.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{a as n}from"./feature-flags-DvsApnS-.js";import{m as r,z as i}from"./account-store-DIwBWa5E.js";import"./main-CslAwAF2.js";import{t as a}from"./llm-session-id-bZQs6gBN.js";import{F as o,G as s,I as c,L as l,R as u,W as d,z as f}from"./wc-live-CrWRbzvC.js";import{findIndexedFrozenRow as p,removeCuratorByproducts as m}from"./frozen-session-delete-D3Nn1hnH.js";var h=t(`new-session`),g=`ui-new-session`,_=2e4,v=5e3,y=250;async function b(e){try{let t=await e.openVfs(),n=r()??void 0;if(!n)return;let o;try{o=i()}catch{return}let s=o.provider===`adobe`?{"X-Session-Id":a(g)}:void 0;await f({vfs:t,model:o,apiKey:n,headers:s}),e.onComplete?.()}catch(e){h.warn(`Pending session catch-up failed (boot continues)`,{error:e instanceof Error?e.message:String(e)})}}function x(e){(e.schedule??S)(()=>{b(e)})}function S(e){if(typeof globalThis.requestIdleCallback==`function`){globalThis.requestIdleCallback(e,{timeout:5e3});return}setTimeout(e,0)}function C(e){if(n(`agentic-memory`)){if(!e.agenticMemorySpawn){h.info(`Agentic memory enabled but agent bridge unavailable — using legacy enrichment`);return}return e.agenticMemorySpawn}}async function w(e,t,n,r,i,a){let o=await l({sessionStore:t,vfs:e.vfs,mode:`quick`,agenticMemorySpawn:a,cone:e.cone});return o?(await O(e,o),D(e,t,n,r,i,a,o),o):null}async function T(e,t){let n;try{n=await p(e,t)}catch(e){return h.warn(`Could not confirm the frozen session still exists — treating it as still frozen`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),t}return n.kind===`absent`?null:n.kind===`present`&&n.row.filename!==t.filename?{...t,filename:n.row.filename}:t}async function E(e,t){let n;try{n=await p(e,t)}catch(e){return h.warn(`Could not confirm whether the frozen session was deleted — leftovers left in place`,{filename:t.filename,error:e instanceof Error?e.message:String(e)}),!1}if(n.kind!==`absent`)return!1;try{let r=await m(e,t,n.entries);r.length>0&&h.warn(`Curator leftovers of a deleted session not fully removed`,{filename:t.filename,errors:r})}catch(e){h.warn(`Curator leftovers sweep threw`,{filename:t.filename,error:e instanceof Error?e.message:String(e)})}return!0}async function D(t,n,r,i,a,s,l){let u=l;try{let n=await c(t.vfs,l,{model:r,apiKey:i,headers:a,skipMemory:!0,pickIcon:t=>e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CcF7noc9.js`).then(e=>e.n);return{pickLucideIcon: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])).then(({pickLucideIcon:e})=>e(t))});n&&(u={...n,archive:l.archive},t.onBackgroundEnriched?.(n))}catch(e){h.warn(`Agentic title enrichment threw (draft stays pending)`,{filename:l.filename,error:e instanceof Error?e.message:String(e)})}let d=await T(t.vfs,u);if(!d){h.info(`Frozen session deleted before curation — curator skipped`,{filename:u.filename});return}u=d;let f=await o({sessionStore:n,vfs:t.vfs,mode:`full`,model:r,apiKey:i,headers:a,agenticMemorySpawn:s,cone:t.cone},u).catch(e=>(h.warn(`Agentic memory curator threw (entry stays pending)`,{filename:u.filename,error:e instanceof Error?e.message:String(e)}),null));h.info(`Agentic memory curator finished`,{filename:u.filename,memoryPending:!f||f.memoryPending===!0}),!await E(t.vfs,u)&&(t.onBackgroundEnriched?.(f),t.onSessionSettled?.(f??u))}async function O(e,t){if(!e.captureCompleteSnapshot)return;let n=new AbortController,r,i=new Promise((e,t)=>{r=setTimeout(()=>{n.abort(),t(Object.assign(Error(`Complete snapshot timed out`),{code:`snapshot-timeout`}))},v)});try{await Promise.race([e.captureCompleteSnapshot(t,n.signal),i])}catch(n){let r=n?.code??`unknown`;h.warn(`captureCompleteSnapshot failed`,{code:r}),t.completeSnapshotUnavailable=!0;try{await u(e.vfs,t.filename)}catch{}}finally{r&&clearTimeout(r)}}function k(e){return e?.code===`ENOENT`}function A(e,t){return e===t||t.startsWith(e.endsWith(`/`)?e:`${e}/`)}async function j(e,t,n,r){for(let i of n){let n=`${t}/${i.name}`;if(!r.has(n)){if(i.type===`directory`){let t;try{t=await e.readDir(n)}catch(e){if(k(e))continue;throw e}if(await j(e,n,t,r),[...r].some(e=>e.startsWith(`${n}/`)))continue}try{await e.rm(n)}catch(e){if(!k(e))throw e}}}}async function M(e,t){let n=(await e.listMountPoints()).map(({path:e})=>e);if(n.some(e=>A(e,t)))return;let r=new Set(n.filter(e=>e.startsWith(`${t}/`))),i;try{i=await e.readDir(t)}catch(n){if(n?.code!==`ENOENT`)throw n;await e.mkdir(t,{recursive:!0});return}await j(e,t,i,r),await e.mkdir(t,{recursive:!0})}async function N(t){let n=t.enrichmentRaceMs??_,o=r()??void 0,u;try{u=i()}catch(e){h.info(`No active model — freezing without LLM enrichment`,{error:e instanceof Error?e.message:String(e)})}let f=u?.provider===`adobe`?{"X-Session-Id":a(g)}:void 0,p=new s(new d),m=o&&u?C(t):void 0;if(m)return await w(t,p,u,o,f,m);let v=await l({sessionStore:p,vfs:t.vfs,mode:`quick`,cone:t.cone});if(!v)return null;if(await O(t,v),!o||!u)return h.info(`Frozen without enrichment (no LLM credentials) — left pending`,{filename:v.filename}),t.onSessionSettled?.(v),v;let y=u,b=c(t.vfs,v,{model:y,apiKey:o,headers:f,pickIcon:t=>e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CcF7noc9.js`).then(e=>e.n);return{pickLucideIcon: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])).then(({pickLucideIcon:e})=>e(t))}).catch(e=>(h.warn(`Single-click enrichment threw (entry stays pending)`,{filename:v.filename,error:e instanceof Error?e.message:String(e)}),null)),x=await P(b,n,t.onProgress);if(x.kind===`llm`){let e=x.updated?{...x.updated,archive:v.archive}:v;return t.onSessionSettled?.(e),e}return b.then(async e=>{h.info(`Background enrichment resolved after race window`,{filename:v.filename,enriched:e?.filename??null}),t.onBackgroundEnriched?.(e);let n=await T(t.vfs,e??v);n&&t.onSessionSettled?.(n)}),v}async function P(e,t,n){let r=Date.now(),i,a;n?.(0),n&&(i=setInterval(()=>{n(Math.min(1,(Date.now()-r)/t))},y));let o=new Promise(e=>{a=setTimeout(()=>e({kind:`timer`}),t)}),s=e.then(e=>({kind:`llm`,updated:e}));try{return await Promise.race([s,o])}finally{i&&clearInterval(i),a&&clearTimeout(a),n?.(null)}}async function F(e){return L(e,void 0)}async function I(e){return L(e,`skip`)}async function L(e,t){let n=new s(new d),r=await l({sessionStore:n,vfs:e.vfs,mode:`quick`,cone:e.cone,...t?{memory:t}:{}});return r&&await O(e,r),r&&e.onSessionSettled?.(r),r}export{M as resetNewSessionTmp,I as runNewSessionArchiveOnly,N as runNewSessionFreeze,F as runNewSessionFreezeQuick,x as schedulePendingSessionCatchup};
@@ -1 +0,0 @@
1
- import{t as e}from"./provider-D2ZYPo-w.js";export{e as readMcpAuthEntries};
@@ -1 +0,0 @@
1
- import{t as e}from"./store-tvt1tIjf.js";import"./provider-9ZUgiMpB.js";export{e as readMcpAuthEntries};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./compat-BAGLwgqY.js";import{t as n}from"./logger-DDBAeTLF.js";import{D as r,O as i,T as a,m as o}from"./account-store-DIwBWa5E.js";import{t as s}from"./llm-session-id-bZQs6gBN.js";import{i as c,t as l}from"./icons-2DY2vYOc.js";var u=e({lucideIconNames:()=>h,pickLucideIcon:()=>g,quickLabel:()=>f}),d=n(`quick-llm`);async function f(e){let n=o();if(!n)return d.debug(`No API key for active provider — skipping`),null;let a=i(),s=r(),c;if(c=e.modelId?b(a,e.modelId)??b(a,s):_(a,s),!c)return d.debug(`No model available for provider`,{providerId:a}),null;let l={role:`user`,content:e.prompt,timestamp:Date.now()},u={};c.provider===`adobe`&&(u[`X-Session-Id`]=S());try{let r=(await t(c,{systemPrompt:e.system,messages:[l]},{apiKey:n,maxTokens:e.maxTokens??60,temperature:e.temperature??.3,signal:e.signal,headers:Object.keys(u).length>0?u:void 0})).content.filter(e=>e.type===`text`).map(e=>e.text).join(``).trim();return r.length>0?r:null}catch(e){return d.debug(`Quick label call failed`,{error:e instanceof Error?e.message:String(e)}),null}}var p=null;function m(e){return e.replace(/([A-Z]+)([A-Z][a-z])/g,`$1-$2`).replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Za-z])(\d)/g,`$1-$2`).toLowerCase()}function h(){return p||=Object.keys(c).map(m).sort(),p}async function g(e){let t=h(),n=await(e.labelFn??f)({system:`You pick ONE icon for a UI element. Respond with exactly one icon name from the provided list — lowercase, no quotes, no punctuation, nothing else.`,prompt:`Pick the single most fitting icon for: ${e.subject}\n\nValid icon names:\n${t.join(` `)}`,maxTokens:16,temperature:.2,signal:e.signal});if(!n)return null;let r=n.trim().toLowerCase().replace(/[^a-z0-9-]/g,``);return l(r)?r:null}function _(e,t){let n=a(e);if(n.length===0)return;let r=n.find(e=>e.id===t)??n[0],i=y(r.id),o=n.filter(e=>v(e,r,i));return o.length===0?r:(o.sort((e,t)=>(e.cost?.input??0)-(t.cost?.input??0)),o[0])}function v(e,t,n){if(e.id===t.id)return!1;let r=t.cost?.input??1/0;if((e.cost?.input??1/0)>=r)return!1;let i=e.id.toLowerCase();switch(n){case`claude`:return i.includes(`haiku`);case`gpt`:return/(^|-)mini(-|$)|(^|-)nano(-|$)/.test(i);case`gemini`:return i.includes(`flash`);case`grok`:return/(^|-)mini(-|$)|(^|-)fast(-|$)/.test(i);case`unknown`:return!0}}function y(e){let t=e.toLowerCase();return t.includes(`claude`)?`claude`:t.includes(`gemini`)?`gemini`:t.includes(`grok`)?`grok`:/^(gpt|o\d)/.test(t)?`gpt`:`unknown`}function b(e,t){return a(e).find(e=>e.id===t)}var x=`ui-quick-llm`;function S(){return s(x)}export{u as n,f as t};
@@ -1 +0,0 @@
1
- function e(){return{version:`6.239.0`,releasedAt:`2026-10-06T16:24:44Z`,buildId:`6.239.0-muww31ty`}}let t=null;function n(e){t=e}function r(){return t}export{e as n,n as r,r as t};
@@ -1,17 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-shell-CuOqCSKv.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-DIwBWa5E.js","assets/core-Cx9N3lmn.js","assets/compat-BAGLwgqY.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DHpsqCCC.js","assets/libesm-BypnjKEL.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-BH5jcsI3.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-2DY2vYOc.js","assets/wc-shell-WkeczD9x.css","assets/panelize-shell-DuYIEVZp.js","assets/virtual-device-paths-D45tpPP6.js","assets/layout-apply-registry-Cw730jao.js","assets/wc-live-CrWRbzvC.js","assets/sprinkle-renderer-CDi2K0Gg.js","assets/permissions-surface-registry-CilCRwhh.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-operations-C97SZtrY.js","assets/usb-device-registry--JwKRTYp.js","assets/usb-operations-v1mGAdRY.js","assets/shared-DSEuryGJ.js","assets/theme-CwPIBqJE.js","assets/theme-engine-ZV7CeqWw.js","assets/slugify-BYJ6QVAt.js","assets/transcript-export-DP-r8eDz.js","assets/frozen-archive-writer-BPn5tRZ0.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-CslAwAF2.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/clipboard-eqmn97SP.js","assets/src-BWaKqLvQ.js","assets/provider-budget-LCzMPlKv.js","assets/browser-BhTdBqdp.js","assets/tray-leader-DhQw8Vyo.js","assets/record-CBv8rWFt.js","assets/descriptor-CuhPBdq8.js","assets/types-CFfBWsH5.js","assets/frozen-session-identity-Cjcq_2LL.js","assets/session-jsonl-DUdZghbY.js","assets/live-session-curation-BlJB9qzA.js","assets/thinking-level-DCJktR5U.js","assets/wc-unit-context-CZro7UrY.js","assets/legacy-styles-B3nS5QUo.js","assets/follower-navigate-watcher-C0CP4-Mn.js","assets/navigation-watcher-CPcnZL9l.js","assets/discovery-preference-D8GXCv8i.js","assets/wc-transcript-export-Bg4-Bg4b.js","assets/export-spool-CuNzzI8a.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{a as n,n as r}from"./feature-flags-DvsApnS-.js";import{n as i}from"./transcript-export-DP-r8eDz.js";import{S as a,a as o,c as s,d as c,i as ee,n as te,r as ne,t as re,x as l}from"./wc-follower-oauth-B7k4jnu8.js";import{a as ie,t as ae}from"./tray-follower-status-BAjnN7Ar.js";import{C as oe,D as u,E as d,s as se,w as f,x as ce}from"./main-CslAwAF2.js";import{m as le,r as ue,x as de}from"./wc-live-CrWRbzvC.js";import{n as fe}from"./theme-engine-ZV7CeqWw.js";import{c as pe,m as me,s as he,t as ge}from"./wc-unit-context-CZro7UrY.js";import{WcSprinkleZone as _e}from"./wc-sprinkles-HdCnSQzK.js";import{wireWcAttach as ve}from"./wc-attach-Cz4Segxp.js";import{installLeaderPermissionsSurface as ye}from"./wc-permissions-DAdJvlP4.js";var p=t(`follower-switch-out`);function be(e,t){t.stopFollower();try{t.storage.removeItem(d),e.workerBaseUrl===null?t.storage.removeItem(u):t.storage.setItem(u,e.workerBaseUrl)}catch(e){p.error(`follower switch-out: storage write failed — state may revert on reload`,{error:e instanceof Error?e.message:String(e)})}try{let e=t.getHref(),n=f(e);n!==e&&t.replaceHref(n)}catch(e){p.error(`follower switch-out: URL normalize failed — may re-enter follower on reload`,{error:e instanceof Error?e.message:String(e)})}t.reload()}var m=6;function xe(e){let{refs:t,getSync:n,getTargets:r,hasCdpBrowser:i,log:a}=e;if(t.overlaySurfaces.has(`browser`))return{overlay:document.createElement(`slicc-tab-overlay`),refresh:()=>{}};let o=document.createElement(`slicc-tab-overlay`);o.setAttribute(`heading`,`Browser · tabs in this tray`),o.setAttribute(`no-peek`,``),document.body.append(o);let s=()=>{o.tabs=r().map(e=>({id:e.targetId,title:e.title||e.url||e.targetId,url:e.url}))};return t.overlaySurfaces.add(`browser`),t.dock.addEventListener(`slicc-dock-select`,e=>{e.detail?.id===`browser`&&(s(),o.show(),t.dock.collapse?.())}),o.addEventListener(`tab-activate`,t=>{let r=t.detail.id,s=n(),c=s?.getLeaderProtocolVersion()??0;if(!(s&&i()&&c>=m)){let t=o.tabs.find(e=>e.id===r)?.url;if(!t){a.warn(`WC follower browser: no URL for tab`,{id:r});return}e.window.open(t,`_blank`,`noopener`)||a.warn(`WC follower browser: window.open was blocked`,{id:r}),o.hide();return}s.requestTabTeleport(r).then(e=>{a.info(`WC follower browser: leader teleported a tab here`,{source:r,targetId:e}),o.hide()}).catch(e=>{a.error(`WC follower browser: tab teleport failed`,e)})}),{overlay:o,refresh:s}}var h=new Set([`oauth-attempt`,`connect-attempt`,`device-code-decision`]);function Se(e){return h.has(e)}var g=`slicc-signin-redirect-style`,_=`wc-signin-redirect`,v=`${_}--welcome`,y=`
3
- .${_}{display:flex;gap:10px;align-items:flex-start;margin:10px 12px;padding:12px 14px;
4
- border:1px solid var(--line);border-radius:12px;background:var(--ghost);color:var(--ink);
5
- font-family:var(--ui);font-size:13px;line-height:1.4;}
6
- .${_}__body{flex:1;min-width:0;}
7
- .${_}__title{font-weight:600;margin-bottom:2px;}
8
- .${_}__sub{color:var(--txt-2);}
9
- .${_}__open{appearance:none;border:1px solid var(--line);border-radius:8px;cursor:pointer;
10
- background:var(--canvas);color:var(--ink);font:inherit;font-weight:600;padding:6px 12px;white-space:nowrap;}
11
- .${_}__open:hover{background:var(--ghost);}
12
- .${_}__x{appearance:none;background:none;border:none;cursor:pointer;color:var(--txt-3);
13
- font:inherit;font-size:16px;line-height:1;padding:0 2px;}
14
- .${_}__x:hover{color:var(--ink);}
15
- `;function b(e){if(e.getElementById(g))return;let t=e.createElement(`style`);t.id=g,t.textContent=y,e.head.appendChild(t)}function x(e,t){b(e);let n=e.createElement(`div`);n.className=_,n.setAttribute(`role`,`status`);let r=e.createElement(`div`);r.className=`${_}__body`;let i=e.createElement(`div`);i.className=`${_}__title`,i.textContent=t.title;let a=e.createElement(`div`);a.className=`${_}__sub`,a.textContent=t.sub,r.append(i,a);let o=e.createElement(`button`);if(o.type=`button`,o.className=`${_}__open`,o.textContent=t.buttonLabel,o.addEventListener(`click`,()=>t.onOpenTab()),n.append(r,o),t.dismissible){let t=e.createElement(`button`);t.type=`button`,t.className=`${_}__x`,t.setAttribute(`aria-label`,`Dismiss`),t.textContent=`×`,t.addEventListener(`click`,()=>n.remove()),n.append(t)}return n}function Ce(e,t){let n=e.ownerDocument;t.onOpenTab();let r=e.querySelector(`.${_}`);if(r)return r.scrollIntoView?.({block:`nearest`}),r;let i=x(n,{title:`Sign in from the SLICC tab`,sub:`The side panel can't complete a provider login — we've switched you to the main SLICC tab. Finish signing in there (Settings › Providers), then come back.`,buttonLabel:`Open SLICC tab`,onOpenTab:t.onOpenTab,dismissible:!0});return e.append(i),i.scrollIntoView?.({block:`nearest`}),i}function we(e,t){let n=x(e,{title:`Set up SLICC in the main tab`,sub:`SLICC needs a model connected before it can help. Open the main SLICC tab to finish setup and sign in, then come back to the side panel.`,buttonLabel:`Open SLICC tab`,onOpenTab:t.onOpenTab,dismissible:!1});return n.classList.add(v),n}var S=t(`wc-follower`),Te=`/shared/sprinkles/welcome/`,Ee=`/shared/sprinkles/suggestions/`;function De(e){return e===void 0||e===`active`?{kind:`active`}:e.trim()===``?null:{kind:`frozen`,sessionId:e}}function Oe(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);let n=document.createElement(`div`);n.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let r=document.createElement(`h1`);r.style.color=`var(--s2-negative, #e34850)`,r.textContent=`Could not start follower`;let i=document.createElement(`p`);i.style.color=`var(--s2-content-tertiary, #717171)`,i.textContent=t,n.append(r,i),e.appendChild(n)}function ke(e,t,n,r,i){let a=e=>{let t=document.createElement(`div`);return t.className=`wcui-placeholder`,t.textContent=e,t};i.files?(e.style.display=`none`,e.parentElement?.append(a(`Files live on the leader. A follower mirrors the leader's chat, sprinkles, and browser tabs - not its filesystem.`))):e.closest(`slicc-surface`)?.remove(),i.terminal?t.append(a(`The shell runs on the leader. A follower has no local terminal - drive the session through chat.`)):t.closest(`slicc-surface`)?.remove(),i.memory?n.append(a(`Memory lives on the leader. A follower has no local memory store.`)):n.closest(`slicc-surface`)?.remove(),i.monitor?(r.style.display=`none`,r.parentElement?.append(a(`Monitor reads the leader's kernel state. A follower has no local kernel.`))):r.closest(`slicc-surface`)?.remove()}var C={terminal:!0,files:!0,memory:!0,browser:!0,modelPicker:!0,history:!0,nav:!0,monitor:!0,showTimestamps:!0};function Ae(e){let t=[];for(let[n,r]of[[`terminal`,`term`],[`files`,`files`],[`memory`,`memory`],[`browser`,`browser`],[`monitor`,`monitor`]])e[n]||t.push(`slicc-dock-item[data-t="${r}"]`);if(e.modelPicker||t.push(`slicc-composer-meta`),e.history||t.push(`slicc-freezer`),e.nav||t.push(`slicc-nav`),!e.terminal&&!e.files&&!e.memory&&!e.browser&&!e.monitor&&t.push(`slicc-dock .div`,`slicc-dock .grow`),t.length||!e.history){let n=document.createElement(`style`),r=t.length?`${t.join(`,
16
- `)}{display:none!important;}`:``;e.history||(r+=`
17
- .wcui-appcol{padding-left:0!important;}`),n.textContent=r,document.head.append(n)}}function w(e,t){return e&&!t}async function T(t,n,r){let[{parseLayoutDocument:i},{panelizeShell:a}]=await Promise.all([e(()=>import(`./wc-shell-CuOqCSKv.js`).then(e=>e.B),__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])),e(()=>import(`./panelize-shell-DuYIEVZp.js`),__vite__mapDeps([39,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,40,41]))]),o=i(n);if(`error`in o){r.warn(`follower: host-pushed layout failed validation — keeping the default`,{error:o.error});return}a(t.refs,o),r.info(`follower: applied host-pushed layout document`,{id:o.id,locked:o.locked===!0})}async function je(e,t,i){if(i&&t.cherryTransport?.flags)try{let e=JSON.parse(t.cherryTransport.flags);e&&typeof e==`object`&&!Array.isArray(e)&&r(e)}catch(e){S.warn(`follower: host-pushed flags were not valid JSON — ignoring`,e)}let a=n(`panel-layouts`);if(e.refs.dockTree.tilesMovable=a,i&&t.cherryTransport?.layout)try{let n=JSON.parse(t.cherryTransport.layout);n&&typeof n==`object`&&`base`in n?a?await T(e,n,S):S.warn(`follower: ignoring host-pushed layout — the panel-layouts flag is off`):e.refs.dockTree.setTree(n)}catch(e){S.warn(`follower: host-pushed layout was not valid JSON — keeping the default`,e)}}async function E(t,r,u){let d=u===`cherry`,f=d&&new URLSearchParams(window.location.search).get(`ui-only`)===`1`,p=window.location.ancestorOrigins?.[0],m=d&&(p?.startsWith(`chrome-extension://`)??!1),h;try{h=await se({runtimeMode:u,envBaseUrl:null,window,log:r})}catch(e){let n=e instanceof Error?e.message:String(e);S.error(`follower prelude failed`,{runtimeMode:u,error:n}),Oe(t,n);return}let g=d?h.cherryJoinUrl:ce(window.location.href,window.localStorage);if(!g){S.error(`follower mount with no join URL - falling back to live boot`);let{bootLeaderFloat:n}=await e(async()=>{let{bootLeaderFloat:e}=await import(`./wc-live-CrWRbzvC.js`).then(e=>e.n);return{bootLeaderFloat:e}},__vite__mapDeps([42,1,8,9,10,11,2,12,13,14,15,16,3,17,18,5,19,20,21,22,23,24,25,26,27,28,0,4,6,7,29,30,31,32,33,34,35,36,37,38,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71]));return n(t,r,`standalone`)}let _=d?`cherry`:m?`extension`:`standalone`,y,b,x,T=new Set,E=null,D=new te({onSilence:(e,t)=>{e===R()&&P.addAssistantMessage(ee(t,m))},onRejected:(e,t)=>{e!==null&&e===R()&&P.addAssistantMessage(ne(t))}});T.add(()=>D.noteLeaderActivity());let O=null,k=()=>h.cherryTransport?.emitSliccEventToHost(`slicc.open-leader-tab`),A=()=>{m&&Ce(y.refs.thread,{onOpenTab:k})},j=e=>{let t=e.querySelectorAll(`img[src^="${Te}"]`);return t.length!==0&&(t.forEach((t,n)=>{n===0&&!M?t.replaceWith(we(e.ownerDocument,{onOpenTab:k})):t.remove()}),!0)},M=!1,Me=e=>{let t=e.querySelectorAll(`img[src^="${Ee}"]`);if(t.length!==0){for(let e of t)e.remove();M=!0;for(let e of y.refs.thread.querySelectorAll(`.${v}`))e.remove()}},N=(await ue(t,r,{floatKind:_,connect:async t=>{y=t,d&&h.cherryTransport?.theme&&fe(h.cherryTransport.theme),await je(y,h,d);let n=d&&h.cherryTransport?.effortLevel;n?localStorage.setItem(`slicc_locked_effort_level`,n):localStorage.removeItem(`slicc_locked_effort_level`),b=d&&h.cherryTransport?{...C,...h.cherryTransport.features}:C,ke(y.refs.fileTree,y.refs.termSurface,y.refs.memoryHost,y.refs.monitor,b),Ae(b),e(async()=>{let{applyTimestampVisibility:e,initTimestampPreference:t}=await import(`./wc-shell-CuOqCSKv.js`).then(e=>e.Q);return{applyTimestampVisibility:e,initTimestampPreference:t}},__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])).then(({applyTimestampVisibility:e,initTimestampPreference:t})=>{b.showTimestamps?t():e(!1)}),e(async()=>{let{loadDipStyles:e,loadSprinkleStyles:t}=await import(`./legacy-styles-B3nS5QUo.js`);return{loadDipStyles:e,loadSprinkleStyles:t}},__vite__mapDeps([72,2])).then(({loadDipStyles:e,loadSprinkleStyles:t})=>Promise.all([e(),t()])).catch(()=>void 0),x=new o({getSync:()=>J?.currentSync??null,onSend:(e,t)=>D.noteSent(e,t)});let r=de({getSync:()=>J?.currentSync??null,onAgentEvent:e=>(T.add(e),()=>T.delete(e)),onAgentError:e=>{S.warn(`follower send failed`,{error:e}),N.controller.addAssistantMessage(`_That message was not sent to the leader — ${e}_`)}}),i={...r,sendSprinkleLick:(e,t,n)=>{r.sendSprinkleLick(e,t,n);let i=t?.action;typeof i==`string`&&Se(i)&&A()},addressableUnitId:()=>V(),onMessageRendered:e=>{Me(e),m&&j(e)},onSelectionApplied:()=>{W(H,U),O?.onShownUnitChanged()},onSnapshotRendered:e=>{N.controller.setProcessing(e.some(e=>e.isStreaming))},ownsModelPill:!0,takeAttachments:()=>Pe.take()};return{client:x,host:i}}})).chat,P=N.controller;if(m)for(let e of[`slicc-error-open-settings`,`slicc-error-login`,`slicc-error-change-model`])y.refs.thread.addEventListener(e,()=>A());let F=`Connecting to leader…`,I=`Ask the leader, or describe a change…`,L=null,R=()=>y.getSelected()?.id??L,z=e=>e&&e.length>0?e:null,B=!1,V=()=>B?z(R()??x.selectedUnitId):null,Ne=()=>{let e=y.getSelected();return e?me(e):!1},H=!1,U=F,W=(e,t)=>{H=e,U=t;let n=e&&V()!==null;y.refs.inputCard.setAttribute(`placeholder`,e&&!n?F:t),n&&!Ne()?y.refs.inputCard.removeAttribute(`disabled`):y.refs.inputCard.setAttribute(`disabled`,``)};W(!1,F),ie(e=>{try{window.localStorage.setItem(l,JSON.stringify(e))}catch{}});try{window.localStorage.setItem(l,JSON.stringify(ae()))}catch{}f||y.refs.composer.setAttribute(`ptt`,``);let Pe=ve({inputCard:y.refs.inputCard,freezer:y.refs.freezer,composer:y.refs.composer,noCamera:f,log:S}),G=new _e(y.refs).callbacks(),K=e=>{if(L=e,!e)return;let t=x.currentUnits().find(t=>t.id===e);if(!t){y.watchUnit(e),W(H,U);return}if(y.getSelected()?.id!==t.id){y.selectScoop(t);return}W(H,U)},q=()=>{B=!1,x.resetSelection()};y.refs.switcher.connection=`disconnected`;let J,Y=null,Fe=()=>(Y||=ye({runtimeMode:u})?.element??null,Y),X=[],Ie=xe({refs:y.refs,getSync:()=>J.currentSync,getTargets:()=>X,hasCdpBrowser:()=>w(h.hasLocalCdpSurface,f),window,log:S});O=le({composerMeta:y.refs.composerMeta,getUnits:()=>x.currentUnits(),setModel:(e,t)=>{x.setModel(e,t).catch(()=>void 0)},getSync:()=>J.currentSync,getSelectedScoopJid:()=>R(),modelPickerEnabled:b.modelPicker,getLockedEffortLevel:()=>localStorage.getItem(`slicc_locked_effort_level`)}),x.subscribeList(()=>O?.onShownUnitChanged()),J=s(x.wrapOptions({joinUrl:g,runtime:d?a:`slicc-standalone`,advertisesCdpTargets:w(h.hasLocalCdpSurface,f),onTargetsUpdated:e=>{X=e,Ie.refresh()},...d||f?{}:{onOAuthPopupRequest:(e,t)=>re(e,t,{getPermissionsSurface:Fe,window})},browserAPI:h.browser,onSnapshot:(e,t)=>{B=!0,K(z(t))},onUserMessage:(e,t,n,r)=>P.addUserMessage(e,r),onOwnUserMessageEcho:(e,t)=>D.noteReceived(t,e),onUserMessageAck:e=>D.noteAck(e),onBiscottoMessageState:(e,t)=>{switch(D.noteLeaderActivity(),t){case`pending`:P.addAssistantMessage(`_Sent for review — waiting for the host._`);break;case`rejected`:P.addAssistantMessage(`_The host did not forward that message._`);break;case`unanswered`:P.addAssistantMessage(`_No one reviewed that message in time, so it was not forwarded._`)}},onStatus:(e,t)=>{D.noteLeaderActivity(t),c(t,R())&&P.setProcessing(e===`processing`)},setChatAgent:e=>{E?.(),E=e.onEvent(e=>{for(let t of T)t(e)})},onSudoApprovalRequest:async t=>{let{openSudoApprovalDialog:n}=await e(async()=>{let{openSudoApprovalDialog:e}=await import(`./wc-sudo-approval-C51zuN6a.js`);return{openSudoApprovalDialog:e}},[]),r=d?h.cherryTransport?.hostOrigin:void 0;return{decision:(await n({kind:t.kind,detail:t.detail,...t.suggestedPattern?{suggestedPattern:t.suggestedPattern}:{},...t.reason?{reason:t.reason}:{}},{allowAlways:!1,signal:t.signal,expiresAt:t.expiresAt,requester:t.requester??t.scoopName??(r?`via ${r}`:void 0)})).decision,attestation:`none`}},onConnectionChange:e=>{y.refs.switcher.connection=e?`connected`:`disconnected`,e||q(),e||D.noteLeaderActivity(),W(e,e?I:F),e||O?.reset(),d&&h.cherryTransport?.emitSliccEventToHost(e?`slicc.follower.ready`:`slicc.follower.disconnected`)},getSelectedScoopJid:()=>R(),onLeaderStalled:e=>{W(!e,e?`The leader is busy — hang on…`:I)},onGaveUp:e=>{S.error(`follower gave up reaching the leader`,{error:e}),y.refs.switcher.connection=`disconnected`,q(),W(!1,`Couldn't reach the leader. Reload to retry.`),O?.reset(),d&&h.cherryTransport?.emitSliccEventToHost(`slicc.follower.disconnected`)},...d?{}:{onJoinUrlChanged:e=>{S.info(`follower joinUrl superseded, persisting replacement`,{newJoinUrl:e}),oe(window.localStorage,e)}},addSprinkle:G.addSprinkle,removeSprinkle:G.removeSprinkle,onOpen:e=>{/^https?:\/\//.test(e)?window.open(e,`_blank`,`noopener`):S.warn(`follower sprinkle open() of a local path is unavailable`,{path:e})},onSelectScoop:e=>he(x.currentUnits(),e,y.getSelected()?.id,e=>y.selectScoop(e),()=>ge(y.refs.inputCard)),onSelectedScoop:()=>pe(x.currentUnits(),y.getSelected()?.id),onScoopsList:(e,t)=>{B=!0;let n=R();!n||!e.some(e=>e.jid===n)?K(z(t)):K(n),y.wiring.refreshScoops?.()},onModelsList:e=>O?.onModelsList(e),onModelState:e=>O?.onModelState(e),...d?{onCherrySliccEvent:(e,t)=>h.cherryTransport?.emitSliccEventToHost(e,t)}:{}}));for(let e of[`save`,`skip`,`erase`])y.refs.freezer.addEventListener(`new-chat-${e}`,()=>{x.forgetLocalSends(),J.currentSync?.requestNewSession(e)});n(`agentic-memory`)&&y.refs.freezer.querySelector(`slicc-freezer-new`)?.setAttribute(`no-skip`,``),y.refs.switcher.addEventListener(`slicc-scoop-select`,e=>{let t=e.detail?.key;t&&(L=t)}),d&&h.cherryTransport&&(h.cherryTransport.onHostEvent=(e,t)=>J.currentSync?.sendCherryHostEvent(e,t),h.cherryTransport.onExportRequest=(e,t,n,r)=>{let a=J.currentSync;if(!a)return Promise.reject(new i(`transfer-aborted`));let o=De(t);return o?a.requestTranscriptExport(o,n,r):Promise.reject(new i(`session-not-found`))});let Z=null;if(!d){let{startFollowerNavigateWatcher:t}=await e(async()=>{let{startFollowerNavigateWatcher:e}=await import(`./follower-navigate-watcher-C0CP4-Mn.js`);return{startFollowerNavigateWatcher:e}},__vite__mapDeps([73,3,74,6,18,1,2,5,19,20,21,75]));Z=t(h.realCdpTransport,()=>J.currentSync)}let Q=!1,$=()=>{y.refs.avatarMenu.items=[{kind:`separator`},...m?[{id:`focus-leader-tab`,label:`Bring leader to front`,icon:`external-link`}]:[],{id:`export-transcript`,label:Q?`Exporting…`:`Export transcript`,icon:`download`,disabled:Q||void 0},{id:`tray-stop`,label:`Disconnect from leader`,icon:`unplug`,danger:!0}]};$(),y.refs.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let n=t.detail?.id;if(n===`focus-leader-tab`){h.cherryTransport?.emitSliccEventToHost(`slicc.focus-leader-tab`);return}if(n===`tray-stop`){window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}}));return}if(n===`export-transcript`&&!Q){Q=!0,$();let t=J.currentSync;if(!t){Q=!1,$();return}let n=new AbortController;t.requestTranscriptExport({kind:`active`},n.signal).then(async t=>{let{downloadTranscriptBlob:n}=await e(async()=>{let{downloadTranscriptBlob:e}=await import(`./wc-transcript-export-Bg4-Bg4b.js`);return{downloadTranscriptBlob:e}},__vite__mapDeps([76,2,54,77,60,1]));await n(t,`slicc-transcript-${new Date().toISOString().slice(0,10)}.zip`)}).catch(e=>{S.error(`follower transcript export failed`,{error:String(e)})}).finally(()=>{Q=!1,$()})}}),window.addEventListener(`slicc:tray-leave`,e=>{be({workerBaseUrl:(e.detail??{}).workerBaseUrl??null},{storage:window.localStorage,stopFollower:()=>{Z?.(),J.stop()},getHref:()=>window.location.href,replaceHref:e=>window.history.replaceState(null,``,e),reload:()=>window.location.reload()})}),S.info(`follower mounted`,{runtimeMode:u,isCherry:d})}export{E as bootFollowerFloat};