sliccy 5.59.2 → 5.61.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.
- package/dist/ui/assets/__vite-browser-external-DZX1xHt-.js +1 -0
- package/dist/ui/assets/account-store-Bkt-sHjk.js +38 -0
- package/dist/ui/assets/account-store-DK2Sc2Br.js +98 -0
- package/dist/ui/assets/adobe-CKLRjAln.js +2 -0
- package/dist/ui/assets/adobe-D3LfvR1c.js +1 -0
- package/dist/ui/assets/adobe-oauth-state-Csa5ciQS.js +1 -0
- package/dist/ui/assets/{adobe-oauth-state-BeQ7T3Vk.js → adobe-oauth-state-Vbbfo7gR.js} +1 -1
- package/dist/ui/assets/agent-message-to-chat-QyCEPmi8.js +7 -0
- package/dist/ui/assets/{anthropic-messages-BP_xL8Mh.js → anthropic-messages-CIsUSIzG.js} +3 -3
- package/dist/ui/assets/{anthropic-messages-BwBPoNP0.js → anthropic-messages-_fPAePlR.js} +3 -3
- package/dist/ui/assets/{apps-9o4o-h1Z.js → apps-Bf1H6-85.js} +1 -1
- package/dist/ui/assets/attachments-CByeG2Ru.js +1 -0
- package/dist/ui/assets/{azure-openai-BifOYnRZ.js → azure-openai-CqSF2b4l.js} +1 -1
- package/dist/ui/assets/{azure-openai-BvAdt1td.js → azure-openai-LwRRPkRI.js} +1 -1
- package/dist/ui/assets/{azure-openai-responses-BXDkTtSH.js → azure-openai-responses-DhzbC_tL.js} +1 -1
- package/dist/ui/assets/{azure-openai-responses-De9pJjBR.js → azure-openai-responses-bHfWNMbx.js} +1 -1
- package/dist/ui/assets/base64-DpPqYZJF.js +1 -0
- package/dist/ui/assets/bedrock-camp-BEi8MYUS.js +1 -0
- package/dist/ui/assets/bedrock-camp-CvxD6hHk.js +1 -0
- package/dist/ui/assets/bridge-launch-params-jegYRGJ6.js +1 -0
- package/dist/ui/assets/{browser-2wdq8OwU.js → browser-COVn7LPD.js} +6 -6
- package/dist/ui/assets/{cdp-Bwq6NLAx.js → cdp-7evcrxxP.js} +1 -1
- package/dist/ui/assets/cerebras-CEBK7ldR.js +1 -0
- package/dist/ui/assets/cerebras-DoDBOChk.js +1 -0
- package/dist/ui/assets/client-CpLUc-P8.js +4 -0
- package/dist/ui/assets/clipboard-Bd1Wp2vH.js +1 -0
- package/dist/ui/assets/compat-DyT25qXb.js +2 -0
- package/dist/ui/assets/{completionchunk-B2eUYPOo.js → completionchunk-D8ek1SQ-.js} +1 -1
- package/dist/ui/assets/{composer-speech-CgPswGW1.js → composer-speech-BWsih2Nz.js} +1 -1
- package/dist/ui/assets/{connect-surface-CnYXozQ2.js → connect-surface-DADZwDbi.js} +1 -1
- package/dist/ui/assets/{context-compaction-LYFtS2_f.js → context-compaction-dcYYajWb.js} +6 -6
- package/dist/ui/assets/cost-command-Cpg2Em0Q.js +1613 -0
- package/dist/ui/assets/db-DjAqlQ2I.js +1 -0
- package/dist/ui/assets/db-ysOO0kLr.js +1 -0
- package/dist/ui/assets/dictation-priming-DGpw1lUV.js +1 -0
- package/dist/ui/assets/dip-BumXS1a9.js +233 -0
- package/dist/ui/assets/discovery-preference-DCtfbqw1.js +1 -0
- package/dist/ui/assets/dist-0FRaZO2z.js +12 -0
- package/dist/ui/assets/{dist-cYpTkQqJ.js → dist-BhEJb2Dl.js} +1 -1
- package/dist/ui/assets/{dist-DD6YY4Ks2.js → dist-Bj10RLrf.js} +1 -1
- package/dist/ui/assets/{dist-BHXb30bf.js → dist-Bq5i9FMJ.js} +4 -4
- package/dist/ui/assets/dist-CJ6ilPeJ.js +18 -0
- package/dist/ui/assets/{dist-D58cmC11.js → dist-Cc2eS9kS.js} +1 -1
- package/dist/ui/assets/{dist-CC_gNVTb.js → dist-DB-MlM2G.js} +1 -1
- package/dist/ui/assets/{dist-Bw2SRiP7.js → dist-DuLHpm2f.js} +1 -1
- package/dist/ui/assets/dist-DvjiIrEx.js +23 -0
- package/dist/ui/assets/{dist-D1pcMg_U.js → dist-d2CXjMIs.js} +3 -3
- package/dist/ui/assets/electron-overlay-route-CjT6k9Df.js +1 -0
- package/dist/ui/assets/ensure-speech-assets-D2Pclall.js +1 -0
- package/dist/ui/assets/es-CP2z28j0.js +53 -0
- package/dist/ui/assets/esp8266-CkAPDkuz.js +1 -0
- package/dist/ui/assets/esptool-operations-C0DUkD34.js +13 -0
- package/dist/ui/assets/esptool-operations-iCYPdIRA.js +12 -0
- package/dist/ui/assets/extension-bridge-transport-DHBo-K6K.js +1 -0
- package/dist/ui/assets/{follower-navigate-watcher-CRVUcrQz.js → follower-navigate-watcher-Cn5RjYxg.js} +1 -1
- package/dist/ui/assets/{fs-CHAFLJ_u.js → fs-BZ8jCbhy.js} +1 -1
- package/dist/ui/assets/fs-Cfytz2TS.js +2 -0
- package/dist/ui/assets/git-config-Lj0BT7Oc.js +7 -0
- package/dist/ui/assets/github-BYsKWPeV.js +1 -0
- package/dist/ui/assets/github-DdPXKMLe.js +2 -0
- package/dist/ui/assets/github-copilot-AYSHehC3.js +1 -0
- package/dist/ui/assets/github-copilot-aVD8W5Uc.js +2 -0
- package/dist/ui/assets/global-db-DvmmimLY.js +1 -0
- package/dist/ui/assets/{google-generative-ai-C58ldv83.js → google-generative-ai-CyS9qbzb.js} +1 -1
- package/dist/ui/assets/{google-generative-ai-Eq6eGS5h.js → google-generative-ai-DkRyuoBH.js} +1 -1
- package/dist/ui/assets/{google-shared-DQbld86Z.js → google-shared-CCJkdw81.js} +2 -2
- package/dist/ui/assets/{google-shared-DwCjfFnw.js → google-shared-p5XdfI6c.js} +3 -3
- package/dist/ui/assets/{google-vertex-C18Xl3dV.js → google-vertex-Cp9ldPyE.js} +1 -1
- package/dist/ui/assets/{google-vertex-CkkAgSFr.js → google-vertex-D7VRnbrL.js} +1 -1
- package/dist/ui/assets/{handoff-link-CLvhqfpd.js → handoff-link-CfgH86mb.js} +1 -1
- package/dist/ui/assets/hear-D7srqY_7.js +1 -0
- package/dist/ui/assets/hear-acxY6mf0.js +1 -0
- package/dist/ui/assets/hid-device-registry-DboUgvzI.js +1 -0
- package/dist/ui/assets/hid-picker-Bhoh8hxy.js +1 -0
- package/dist/ui/assets/installer-D7LGGQGy.js +3 -0
- package/dist/ui/assets/js-realm-worker-vnTP6x9C.js +48 -0
- package/dist/ui/assets/{json-parse-B51EftGA.js → json-parse-CpLf0aqK.js} +1 -1
- package/dist/ui/assets/{json-parse-C7d6hyOc.js → json-parse-rb7sUwcH.js} +1 -1
- package/dist/ui/assets/kernel-worker-Dv6ugtws.js +8759 -0
- package/dist/ui/assets/{kokoro-C-DxSDte.js → kokoro-CGDCwNNA.js} +2 -2
- package/dist/ui/assets/{kokoro-BFFlHn4y.js → kokoro-D3TYeL2z.js} +2 -2
- package/dist/ui/assets/{kokoro-engine-uXKuCuNf.js → kokoro-engine-DLKTuHMR.js} +2 -2
- package/dist/ui/assets/legacy-api-aliases-BQSsmFIS.js +1 -0
- package/dist/ui/assets/legacy-api-aliases-DWJHPSiz.js +1 -0
- package/dist/ui/assets/{legacy-styles-kYboUbpI.js → legacy-styles-DcRu2WCJ.js} +1 -1
- package/dist/ui/assets/lick-manager-Ct3WOtut.js +2 -0
- package/dist/ui/assets/lick-ws-bridge-C_bJMGw6.js +1 -0
- package/dist/ui/assets/{lick-ws-bridge-Cbwcxuba.js → lick-ws-bridge-DsRRwfVk.js} +1 -1
- package/dist/ui/assets/llm-session-id-ZObKEXzb.js +1 -0
- package/dist/ui/assets/{local-llm-Bn1XrCIn.js → local-llm-Ja3mfEao.js} +1 -1
- package/dist/ui/assets/local-llm-kMFFJCDT.js +2 -0
- package/dist/ui/assets/magick-wasm-B-rybRPb.js +43 -0
- package/dist/ui/assets/{main-cherry-d-KDlb8k.js → main-cherry-CGm5knH6.js} +1 -1
- package/dist/ui/assets/main-jD3wsTHm.js +22 -0
- package/dist/ui/assets/{mime-types-BqLkKWa7.js → mime-types-D7IV6i7k.js} +1 -1
- package/dist/ui/assets/mistral-conversations-CLDzxp2F.js +8 -0
- package/dist/ui/assets/mistral-conversations-DbKikZnf.js +7 -0
- package/dist/ui/assets/{models-ByRUWfA-.js → models-CzSI8IsT.js} +1 -1
- package/dist/ui/assets/{mount-vMc2lWlc.js → mount-B1o0Tu6r.js} +1 -1
- package/dist/ui/assets/mount-Co7VoiG3.js +2 -0
- package/dist/ui/assets/{mount-bridge-client-0Afn2H9Y.js → mount-bridge-client-BVLVI9yX.js} +1 -1
- package/dist/ui/assets/mount-recovery-Cwl9npdz.js +2 -0
- package/dist/ui/assets/mount-table-store-CTrzlrNn.js +1 -0
- package/dist/ui/assets/navigation-watcher-BoJS9hdc.js +1 -0
- package/dist/ui/assets/new-session-DvI8DpbC.js +2 -0
- package/dist/ui/assets/oauth-bootstrap-LUBU0zw1.js +2 -0
- package/dist/ui/assets/{oauth-service-w5HZt7Xx.js → oauth-service-CmM0tZSO.js} +1 -1
- package/dist/ui/assets/oauth-service-DSuwOpMz.js +1 -0
- package/dist/ui/assets/{openai-BeH6aC_-.js → openai-BxFF4GUL.js} +2 -2
- package/dist/ui/assets/{openai-BvKpRLAG.js → openai-CmTnPr9N.js} +2 -2
- package/dist/ui/assets/openai-codex-CH1oMijR.js +1 -0
- package/dist/ui/assets/openai-codex-Dc2-mj0x.js +1 -0
- package/dist/ui/assets/{openai-codex-responses-BDYh8ojD.js → openai-codex-responses-B_k2rCqO.js} +1 -1
- package/dist/ui/assets/{openai-codex-responses-C7QnNmC0.js → openai-codex-responses-RviMslSH.js} +1 -1
- package/dist/ui/assets/{openai-completions-t-glszMQ.js → openai-completions-CGLtJfv2.js} +1 -1
- package/dist/ui/assets/{openai-completions-BnAjXzgN.js → openai-completions-COYKlBqA.js} +1 -1
- package/dist/ui/assets/{openai-responses-o9_kr7GP.js → openai-responses-C4mUX6jK.js} +1 -1
- package/dist/ui/assets/{openai-responses-BofM6cmY.js → openai-responses-D02gU0ey.js} +1 -1
- package/dist/ui/assets/{openai-responses-shared-79gch22X.js → openai-responses-shared-CCTyKL6A.js} +2 -2
- package/dist/ui/assets/{openai-responses-shared-DKPwc9Eh.js → openai-responses-shared-bVKJbQt9.js} +2 -2
- package/dist/ui/assets/{openrouter-images-PT0FZmkM.js → openrouter-images-BrQDTa3_.js} +1 -1
- package/dist/ui/assets/{openrouter-images-D0dgD5eX.js → openrouter-images-DtvjLeGK.js} +1 -1
- package/dist/ui/assets/otel-C1NYdIbe.js +3 -0
- package/dist/ui/assets/otel-joHgpnL_.js +3 -0
- package/dist/ui/assets/page-follower-tray-DFeLlotx.js +5 -0
- package/dist/ui/assets/panel-rpc-handlers-BGkBk9Rn.js +2 -0
- package/dist/ui/assets/{pdfjs-BdCnB7P8.js → pdfjs-B1saeD0h.js} +5 -5
- package/dist/ui/assets/{port-bridge-client-Btb0CfZS.js → port-bridge-client-CdvMlimf.js} +1 -1
- package/dist/ui/assets/{port-bridge-client-BtsJUDjt.js → port-bridge-client-CsrXhMWo.js} +1 -1
- package/dist/ui/assets/preload-helper-Czpn1I53.js +1 -0
- package/dist/ui/assets/process-manager-B5dz0PkO.js +1 -0
- package/dist/ui/assets/provider-P5X9hREk.js +1 -0
- package/dist/ui/assets/provider-YWxytFh6.js +2 -0
- package/dist/ui/assets/provider-settings-DyFcREdE.js +2 -0
- package/dist/ui/assets/provider-settings-R1mQ9-PX.js +1 -0
- package/dist/ui/assets/provider-store-access-DhwBcPZJ.js +1 -0
- package/dist/ui/assets/provider-store-access-GUSmwQsv.js +2 -0
- package/dist/ui/assets/providers-BXwvtxEC.js +1 -0
- package/dist/ui/assets/providers-C-C_QZBA.js +2 -0
- package/dist/ui/assets/proxied-fetch-DETjVL-j.js +2 -0
- package/dist/ui/assets/proxied-fetch-sbHa3Tte.js +1 -0
- package/dist/ui/assets/{py-realm-worker-C5_FcpVv.js → py-realm-worker-VuYxvTG9.js} +2 -2
- package/dist/ui/assets/{pyodide-CVuZVKDU.js → pyodide-BahZNzwn.js} +2 -2
- package/dist/ui/assets/{quick-llm-D_B5T-_G.js → quick-llm-CyIluLr1.js} +1 -1
- package/dist/ui/assets/{readline-D4m_9EmN.js → readline-0OE_8qoR.js} +1 -1
- package/dist/ui/assets/remote-cdp-transport-DOoXIxy3.js +1 -0
- package/dist/ui/assets/{remote-terminal-view-BOSJ_t1v.js → remote-terminal-view-C7x7cM1d.js} +2 -2
- package/dist/ui/assets/runtime-mode-M-qJL9jF.js +1 -0
- package/dist/ui/assets/safe-buffer-C0pSmFaz.js +12 -0
- package/dist/ui/assets/script-catalog-BYXhqRAc.js +2 -0
- package/dist/ui/assets/{secret-env-CGjJCzwN.js → secret-env-1E2r2H5F.js} +1 -1
- package/dist/ui/assets/{secret-topology-_rfIhUjY.js → secret-topology-D2k1IxFk.js} +1 -1
- package/dist/ui/assets/{secrets-bridge-client-a5aLwwny.js → secrets-bridge-client-CONYX8PU.js} +1 -1
- package/dist/ui/assets/serial-picker-CUd91lje.js +1 -0
- package/dist/ui/assets/session-freezer-DHt0Igru.js +21 -0
- package/dist/ui/assets/{setup-sprinkle-exec-P2hO-taT.js → setup-sprinkle-exec-DD6jqggr.js} +1 -1
- package/dist/ui/assets/setup-sudo-C7mksJ74.js +2 -0
- package/dist/ui/assets/{shared-Cq5Q0noX.js → shared-Dwjvg8S5.js} +1 -1
- package/dist/ui/assets/shared-X5SFnyK-.js +4 -0
- package/dist/ui/assets/skills-B5bs2JnW.js +6 -0
- package/dist/ui/assets/{slicc-editor-DKckizoI.js → slicc-editor-BoIEeofq.js} +2 -2
- package/dist/ui/assets/{speak-DG2fJcBd.js → speak-WMi1eHMn.js} +3 -3
- package/dist/ui/assets/{speak-D1O_Xrcr.js → speak-YEgNUk4w.js} +1 -1
- package/dist/ui/assets/{sprinkle-bridge-C0ycYX8f.js → sprinkle-bridge-CmJpELpy.js} +1 -1
- package/dist/ui/assets/sprinkle-manager-DXrwoVHS.js +1 -0
- package/dist/ui/assets/{sprinkle-renderer-Bk_e6Kbr.js → sprinkle-renderer-B0y9_9py.js} +2 -2
- package/dist/ui/assets/{wc-shell-BUIX3UPq.js → src-6TqoULh8.js} +94 -211
- package/dist/ui/assets/src-CS5gSDhT.js +1 -0
- package/dist/ui/assets/src-Dk1QVJRd.js +1 -0
- package/dist/ui/assets/store-fjjsfL92.js +1 -0
- package/dist/ui/assets/{sudo-tWv6esvM.js → sudo-B5hEP8ex.js} +1 -1
- package/dist/ui/assets/telemetry-C8rZr13D.js +3 -0
- package/dist/ui/assets/timestamp-preference-DgrTvVNx.js +2 -0
- package/dist/ui/assets/transcript-limits-D0M7bLr9.js +1 -0
- package/dist/ui/assets/{transform-messages-ZX8cvJiJ.js → transform-messages-CVIV-EgO.js} +1 -1
- package/dist/ui/assets/transform-messages-fFaW-DLG.js +1 -0
- package/dist/ui/assets/transformers-env-8w05vuhN.js +1 -0
- package/dist/ui/assets/{transformers-env-w-btTDFl.js → transformers-env-sL29_hFb.js} +1 -1
- package/dist/ui/assets/{transformers.web-C6PlPLR-.js → transformers.web-CrioJkWG.js} +4 -4
- package/dist/ui/assets/{transformers.web-DkJGoARp.js → transformers.web-D6viRW2X.js} +5 -5
- package/dist/ui/assets/tray-follower-status-CyJIKXH4.js +1 -0
- package/dist/ui/assets/tray-join-url-BIvzbiFR.js +1 -0
- package/dist/ui/assets/tray-leader-DcLymd_E.js +1 -0
- package/dist/ui/assets/tray-leave-runtime-lJcLlwtm.js +1 -0
- package/dist/ui/assets/tray-runtime-config-DJIIJaBR.js +1 -0
- package/dist/ui/assets/tray-runtime-config-DlPGhxQs.js +1 -0
- package/dist/ui/assets/tray-sync-protocol-CVdiCvfU.js +1 -0
- package/dist/ui/assets/upgrade-detection-B6AiyIwx.js +1 -0
- package/dist/ui/assets/usb-device-registry-BOGfZXgp.js +1 -0
- package/dist/ui/assets/{usb-operations-D-YdmmuG.js → usb-operations-BQbhk96u.js} +1 -1
- package/dist/ui/assets/usb-picker-Cl6Cwuv9.js +1 -0
- package/dist/ui/assets/voice-reply-DHV6R4En.js +1 -0
- package/dist/ui/assets/wc-attach-DU0svqb7.js +13 -0
- package/dist/ui/assets/wc-extension-kt7jA5Vw.js +2 -0
- package/dist/ui/assets/{wc-float-label-CNeJqRLg.js → wc-float-label-DeQPr3pd.js} +1 -1
- package/dist/ui/assets/wc-follower-BFZP3SRo.js +17 -0
- package/dist/ui/assets/wc-live-BPDbUJ7I.js +8 -0
- package/dist/ui/assets/wc-nav-B0oFpZdj.js +2 -0
- package/dist/ui/assets/wc-onboarding-BtEZZu63.js +2 -0
- package/dist/ui/assets/{wc-permissions-CAEOwurQ.js → wc-permissions-DW60QZxV.js} +3 -3
- package/dist/ui/assets/wc-permissions-providers-DMTDytlu.js +2 -0
- package/dist/ui/assets/wc-placeholder-BqQKxg_e.js +4 -0
- package/dist/ui/assets/wc-scoop-color-CByZNEJo.js +1 -0
- package/dist/ui/assets/wc-settings-B5BrTsqJ.js +51 -0
- package/dist/ui/assets/wc-shell-D1rFLiLn.js +117 -0
- package/dist/ui/assets/wc-sprinkles-CtVb4mz3.js +2 -0
- package/dist/ui/assets/wc-tray-2PpRgp9c.js +2 -0
- package/dist/ui/assets/{whisper-engine-BHlrRP_X.js → whisper-engine-C0mT2z02.js} +1 -1
- package/dist/ui/assets/whisper-session-DvjyTCj0.js +2 -0
- package/dist/ui/assets/xai-grok-CbKylYRb.js +1 -0
- package/dist/ui/assets/xai-grok-olZUR6su.js +1 -0
- package/dist/ui/assets/xterm-DX7Hb5S-.js +47 -0
- package/dist/ui/assets/xterm-U4TA8lIC.js +35 -0
- package/dist/ui/index.html +24 -15
- package/dist/ui/llm-proxy-sw.js +1 -1
- package/dist/ui/packages/webapp/index.html +24 -15
- package/package.json +2 -2
- package/dist/ui/assets/__vite-browser-external-s4_sx6bN.js +0 -1
- package/dist/ui/assets/account-store-B8fkPmC7.js +0 -103
- package/dist/ui/assets/account-store-VWDFUG4w.js +0 -38
- package/dist/ui/assets/adobe-Cq8jcHMI.js +0 -1
- package/dist/ui/assets/adobe-Dd07woZ4.js +0 -2
- package/dist/ui/assets/adobe-oauth-state-UjunBhEy.js +0 -1
- package/dist/ui/assets/agent-message-to-chat-B5QkdBqr.js +0 -7
- package/dist/ui/assets/bedrock-camp-CZFsedRI.js +0 -1
- package/dist/ui/assets/bedrock-camp-Czep_VHL.js +0 -1
- package/dist/ui/assets/cdp-bridge-CUqQUcaF.js +0 -1
- package/dist/ui/assets/cerebras-BvIwtmYU.js +0 -1
- package/dist/ui/assets/cerebras-CtDsI5t_.js +0 -1
- package/dist/ui/assets/clipboard-DYJRGAtu.js +0 -1
- package/dist/ui/assets/compat-FrhC6T45.js +0 -2
- package/dist/ui/assets/dip-C3FVgAp9.js +0 -1
- package/dist/ui/assets/discovery-preference-ChE43Rww.js +0 -1
- package/dist/ui/assets/dist-0c-Ms6jt.js +0 -23
- package/dist/ui/assets/dist-C30gQBcj2.js +0 -12
- package/dist/ui/assets/dist-ClEUNLR-.js +0 -18
- package/dist/ui/assets/ensure-speech-assets-DstqSdfZ.js +0 -1
- package/dist/ui/assets/es-kEo2Tmh4.js +0 -53
- package/dist/ui/assets/esp8266-DhxGJGHR.js +0 -1
- package/dist/ui/assets/esp8266-dt3vHImh.js +0 -1
- package/dist/ui/assets/esptool-operations-BBtDOaij.js +0 -12
- package/dist/ui/assets/esptool-operations-wGO-l9-a.js +0 -13
- package/dist/ui/assets/extension-bridge-transport-Bi9JIuzJ.js +0 -1
- package/dist/ui/assets/fs-Bkm8VZTn.js +0 -2
- package/dist/ui/assets/github-BeBf_tPt.js +0 -1
- package/dist/ui/assets/github-DVGask0m.js +0 -2
- package/dist/ui/assets/github-copilot-C_189pyB.js +0 -2
- package/dist/ui/assets/github-copilot-D_2n36Iv.js +0 -1
- package/dist/ui/assets/hear-B6LfLMgq.js +0 -1
- package/dist/ui/assets/hear-tL55Pr9X.js +0 -1
- package/dist/ui/assets/hid-device-registry-6w-g8ZpF.js +0 -1
- package/dist/ui/assets/hid-picker-Cp7Sp5N-.js +0 -1
- package/dist/ui/assets/js-realm-worker-CeYHBMC5.js +0 -48
- package/dist/ui/assets/kernel-worker-Yib4X2rK.js +0 -10443
- package/dist/ui/assets/lick-ws-bridge-DcIF2ReT.js +0 -1
- package/dist/ui/assets/main-CN--RCWy.js +0 -24
- package/dist/ui/assets/mistral-conversations-DKqvekSA.js +0 -7
- package/dist/ui/assets/mistral-conversations-szVW8BsU.js +0 -8
- package/dist/ui/assets/mount-D4hso6oU.js +0 -2
- package/dist/ui/assets/mount-id-nJcx05eu.js +0 -1
- package/dist/ui/assets/mount-table-store-s20mtVA3.js +0 -1
- package/dist/ui/assets/navigation-watcher-DTSw-td6.js +0 -1
- package/dist/ui/assets/new-session-Xv5Kw8-N.js +0 -2
- package/dist/ui/assets/oauth-bootstrap-C1TvVgVm.js +0 -2
- package/dist/ui/assets/oauth-service-Cf0jA8F5.js +0 -1
- package/dist/ui/assets/openai-codex-CEstk2ir.js +0 -1
- package/dist/ui/assets/openai-codex-wHLeOM3p.js +0 -1
- package/dist/ui/assets/otel-BvlmHUjk.js +0 -3
- package/dist/ui/assets/otel-CCT7TRJr.js +0 -3
- package/dist/ui/assets/page-follower-tray-B6HRGJrV.js +0 -5
- package/dist/ui/assets/panel-rpc-handlers-DKYTrToh.js +0 -2
- package/dist/ui/assets/preload-helper-CZgWQFsJ.js +0 -1
- package/dist/ui/assets/provider-DN6we75z.js +0 -1
- package/dist/ui/assets/provider-settings-CrHdjWRY.js +0 -1
- package/dist/ui/assets/provider-store-access-24wOseEM.js +0 -1
- package/dist/ui/assets/provider-store-access-C92IYCEl.js +0 -1
- package/dist/ui/assets/provider-zLIF1UQc.js +0 -2
- package/dist/ui/assets/providers-CmWab6F3.js +0 -1
- package/dist/ui/assets/providers-D2g-3ix9.js +0 -2
- package/dist/ui/assets/proxied-fetch-CQqrhHlW.js +0 -1
- package/dist/ui/assets/proxied-fetch-D3wsof0i.js +0 -2
- package/dist/ui/assets/remote-cdp-transport-DspFAFy_.js +0 -1
- package/dist/ui/assets/serial-picker-bJGym01W.js +0 -1
- package/dist/ui/assets/session-freezer-DtJb5_ro.js +0 -1
- package/dist/ui/assets/sprinkle-manager-CSCqntix.js +0 -1
- package/dist/ui/assets/src-BQoW5KdD.js +0 -1
- package/dist/ui/assets/src-BvERX0WZ.js +0 -1
- package/dist/ui/assets/store-2nS5H77F.js +0 -1
- package/dist/ui/assets/transform-messages-DwI5R8if.js +0 -1
- package/dist/ui/assets/transformers-env-D9qkXm3g.js +0 -1
- package/dist/ui/assets/tray-leader-CqFDvcNH.js +0 -1
- package/dist/ui/assets/tray-leave-runtime-C4sJoGLD.js +0 -1
- package/dist/ui/assets/upgrade-detection-Ba_0YKaQ.js +0 -1
- package/dist/ui/assets/usb-device-registry-k6vTKonT.js +0 -1
- package/dist/ui/assets/usb-picker-DJjZemi7.js +0 -1
- package/dist/ui/assets/voice-reply-DQhloSOU.js +0 -1
- package/dist/ui/assets/wc-attach-BhQT8ZHR.js +0 -13
- package/dist/ui/assets/wc-extension-C4UUKHE1.js +0 -2
- package/dist/ui/assets/wc-follower-yEiXLTkQ.js +0 -17
- package/dist/ui/assets/wc-live-CVqsJqLB.js +0 -258
- package/dist/ui/assets/wc-nav-CIhQdld0.js +0 -2
- package/dist/ui/assets/wc-onboarding-ByJ2OTEx.js +0 -2
- package/dist/ui/assets/wc-permissions-providers-CbkqRh4J.js +0 -2
- package/dist/ui/assets/wc-placeholder-BzfJm5K3.js +0 -4
- package/dist/ui/assets/wc-settings-CZ9BR9F3.js +0 -51
- package/dist/ui/assets/wc-sprinkles-aeMd0T-B.js +0 -2
- package/dist/ui/assets/wc-tray-D34gP9Uw.js +0 -2
- package/dist/ui/assets/whisper-session-C8cizjJD.js +0 -2
- package/dist/ui/assets/xai-grok-ltyrVlT-.js +0 -1
- package/dist/ui/assets/xai-grok-p0W6Xjk5.js +0 -1
- package/dist/ui/assets/xterm-DMlKjmUi.js +0 -36
- package/dist/ui/assets/xterm-Dwh1I9AE.js +0 -48
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import{_ as t,g as n,n as r,r as i,t as a}from"./kernel-worker-Yib4X2rK.js";const o=e(`lick-ws-bridge`);function s(e){if(e.stopped)return;let t;try{t=e.wsFactory(e.wsUrl)}catch(t){o.error(`Failed to construct lick WebSocket`,{url:e.wsUrl,error:t instanceof Error?t.message:String(t)}),c(e,`construct-threw`);return}e.socket=t,t.onopen=()=>{e.consecutiveFailures>0?o.info(`Lick WebSocket recovered`,{attempts:e.consecutiveFailures}):o.info(`Lick WebSocket connected`),e.consecutiveFailures=0,e.unrecoverableSignalled=!1},t.onmessage=n=>{u(e,t,n.data).catch(e=>{let t=typeof n.data==`string`?n.data.slice(0,200):`[non-string payload]`;o.error(`Failed to process lick message`,{error:e instanceof Error?e.message:String(e),preview:t})})},t.onclose=n=>{if(e.socket===t&&(e.socket=null),e.stopped)return;let r=n.reason?` reason=${JSON.stringify(n.reason)}`:``;c(e,`disconnected code=${n.code}${r}`)},t.onerror=t=>{let n=t.target;o.error(`Lick WebSocket error`,{url:e.wsUrl,readyState:n?.readyState,eventType:t.type})}}function c(e,t){if(e.reconnectHandle!=null){o.debug(`Lick WS failure during pending reconnect — keeping existing timer`,{cause:t});return}e.consecutiveFailures++;let n=Math.min(e.baseDelay*2**(e.consecutiveFailures-1),6e4),r={url:e.wsUrl,attempt:e.consecutiveFailures,cause:t,retryInMs:n};if(e.consecutiveFailures>=3?o.error(`Lick WebSocket still down`,r):o.warn(`Lick WebSocket down`,r),e.consecutiveFailures===20&&!e.unrecoverableSignalled){e.unrecoverableSignalled=!0;try{e.lickManager.emitEvent({type:`session-reload`,targetScoop:void 0,timestamp:new Date().toISOString(),body:{reason:`lick-ws-bridge-down`,url:e.wsUrl,attempts:e.consecutiveFailures}})}catch(e){o.error(`Failed to emit lick-ws-bridge-down signal`,{error:e instanceof Error?e.message:String(e)})}}l(e,n)}function l(e,t){e.stopped||e.reconnectHandle!=null||(e.reconnectHandle=e.setTimer(()=>{e.reconnectHandle=null,s(e)},t))}async function u(e,t,n){let r=JSON.parse(typeof n==`string`?n:String(n));if(r.requestId){let n=r.requestId,i=await m(e,r,n);if(e.stopped||e.socket!==t||t.readyState!==1){o.warn(`Lick reply dropped — socket changed/closed mid-request`,{type:r.type,requestId:n});return}try{t.send(JSON.stringify(i))}catch(e){o.error(`ws.send() failed delivering lick reply`,{type:r.type,requestId:n,error:e instanceof Error?e.message:String(e)})}return}if(r.type===`webhook_event`){d(e.lickManager,r);return}r.type===`navigate_event`&&p(e.lickManager,r)}function d(e,t){let n=typeof t.webhookId==`string`?t.webhookId:null;if(!n){o.error(`Malformed webhook_event from lick-ws`,{receivedKeys:Object.keys(t)});return}let r=t.headers&&typeof t.headers==`object`?t.headers:{};try{e.handleWebhookEvent(n,r,t.body)}catch(e){o.error(`Webhook event dispatch failed`,{webhookId:n,error:e instanceof Error?e.message:String(e)})}}function f(e){let t=typeof e.verb==`string`?e.verb:null,n=typeof e.target==`string`?e.target:null,r=typeof e.url==`string`&&e.url.length>0?e.url:null;if(t!==`handoff`&&t!==`upskill`||!n||!r)return null;let i={url:r,verb:t,target:n};return typeof e.instruction==`string`&&(i.instruction=e.instruction),typeof e.branch==`string`&&(i.branch=e.branch),typeof e.path==`string`&&(i.path=e.path),typeof e.title==`string`&&(i.title=e.title),{type:`navigate`,navigateUrl:r,targetScoop:void 0,timestamp:typeof e.timestamp==`string`?e.timestamp:new Date().toISOString(),body:i}}function p(e,t){let n=f(t);if(!n){o.debug(`navigate_event dropped — invalid payload`,{hasVerb:typeof t.verb==`string`,hasTarget:typeof t.target==`string`,hasUrl:typeof t.url==`string`&&t.url.length>0});return}e.emitEvent(n)}async function m(e,t,r){let{lickManager:i}=e;try{switch(t.type){case`list_webhooks`:return{type:`response`,requestId:r,data:i.listWebhooks().map(t=>({...t,url:h(e,t.id)}))};case`create_webhook`:{let n=await i.createWebhook(t.name||`default`,t.scoop,t.filter);return{type:`response`,requestId:r,data:{...n,url:h(e,n.id)}}}case`delete_webhook`:return await i.deleteWebhook(t.id)?{type:`response`,requestId:r,data:{ok:!0}}:{type:`response`,requestId:r,data:{error:`Webhook not found`}};case`list_crontasks`:return{type:`response`,requestId:r,data:i.listCronTasks()};case`create_crontask`:if(!t.name)throw Error(`name is required`);if(!t.cron)throw Error(`cron is required`);return{type:`response`,requestId:r,data:await i.createCronTask(t.name,t.cron,t.scoop,t.filter)};case`delete_crontask`:return await i.deleteCronTask(t.id)?{type:`response`,requestId:r,data:{ok:!0}}:{type:`response`,requestId:r,data:{error:`Cron task not found`}};case`tray_status`:{let e=n();return{type:`response`,requestId:r,data:{state:e.state,joinUrl:e.session?.joinUrl??null,workerBaseUrl:e.session?.workerBaseUrl??null,trayId:e.session?.trayId??null}}}default:return{type:`response`,requestId:r,error:`Unknown request type: ${t.type}`}}}catch(e){return{type:`response`,requestId:r,error:e instanceof Error?e.message:String(e)}}}function h(e,n){let a=t().session;return a?.webhookUrl?r(a.webhookUrl,n):e.webhookOriginOverride?`${e.webhookOriginOverride}/webhooks/${n}`:i(e.options.locationHref,n)}function g(e){if(e.stopped)return;e.stopped=!0,e.reconnectHandle!=null&&(e.clearTimer(e.reconnectHandle),e.reconnectHandle=null);let t=e.socket;if(e.socket=null,t)try{t.close()}catch(e){t.readyState!==3&&t.readyState!==2&&o.warn(`Lick socket close() threw before terminal state`,{readyState:t.readyState,error:e instanceof Error?e.message:String(e)})}}function _(e,t){try{new URL(t.locationHref)}catch(e){throw Error(`startLickWsBridge: invalid locationHref ${JSON.stringify(t.locationHref)}: ${e instanceof Error?e.message:String(e)}`)}let n=typeof t.lickWsUrl==`string`&&t.lickWsUrl.length>0?t.lickWsUrl:a(t.locationHref),r=null;if(typeof t.lickWsUrl==`string`&&t.lickWsUrl.length>0)try{let e=new URL(t.lickWsUrl);r=`${e.protocol===`wss:`?`https:`:`http:`}//${e.host}`}catch{r=null}let i={lickManager:e,options:t,wsUrl:n,webhookOriginOverride:r,baseDelay:t.reconnectDelayMs??3e3,wsFactory:t.webSocketFactory??(e=>new WebSocket(e)),setTimer:t.setTimeoutFn??setTimeout.bind(globalThis),clearTimer:t.clearTimeoutFn??clearTimeout.bind(globalThis),stopped:!1,socket:null,reconnectHandle:null,consecutiveFailures:0,unrecoverableSignalled:!1};return s(i),{stop(){g(i)}}}export{_ as startLickWsBridge};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sudo-tWv6esvM.js","assets/preload-helper-CZgWQFsJ.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-D3wsof0i.js","assets/rolldown-runtime-aKtaBQYM.js","assets/src-BvERX0WZ.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/quick-llm-D_B5T-_G.js","assets/compat-FrhC6T45.js","assets/models-ByRUWfA-.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/account-store-VWDFUG4w.js","assets/context-compaction-LYFtS2_f.js","assets/secret-topology-_rfIhUjY.js","assets/secrets-bridge-client-a5aLwwny.js","assets/port-bridge-client-Btb0CfZS.js","assets/tool-ui-DfXu6quJ.js","assets/providers-D2g-3ix9.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-CZFsedRI.js","assets/transform-messages-DwI5R8if.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js","assets/panel-responder-BKgfV-nl.js","assets/extension-bridge-transport-Bi9JIuzJ.js","assets/cdp-bridge-CUqQUcaF.js","assets/lick-ws-bridge-Cbwcxuba.js","assets/tray-leader-CqFDvcNH.js","assets/cdp-Bwq6NLAx.js","assets/navigation-watcher-DTSw-td6.js","assets/handoff-link-CLvhqfpd.js","assets/remote-cdp-transport-DspFAFy_.js","assets/main-cherry-d-KDlb8k.js","assets/synthetic-cdp-transport-DLIt5SkY.js","assets/oauth-service-w5HZt7Xx.js","assets/wc-permissions-registry-Blyunq37.js","assets/wc-shell-BUIX3UPq.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/wc-shell-WkeczD9x.css","assets/wc-follower-yEiXLTkQ.js","assets/theme-engine-jfuTMXZM.js","assets/wc-attach-BhQT8ZHR.js","assets/wc-live-CVqsJqLB.js","assets/types-idfTVsM8.js","assets/hid-device-registry-6w-g8ZpF.js","assets/serial-port-registry-DsPZvGpT.js","assets/usb-operations-D-YdmmuG.js","assets/usb-device-registry-k6vTKonT.js","assets/shared-Cq5Q0noX.js","assets/mime-types-ugOWOUZ9.js","assets/sprinkle-renderer-Bk_e6Kbr.js","assets/theme-C8b_iQ_9.js","assets/sprinkle-bridge-C0ycYX8f.js","assets/page-follower-tray-B6HRGJrV.js","assets/wc-sprinkles-aeMd0T-B.js","assets/oauth-bootstrap-C1TvVgVm.js","assets/legacy-styles-kYboUbpI.js","assets/connect-surface-CnYXozQ2.js","assets/wc-extension-C4UUKHE1.js","assets/wc-detached-B3WCbbZT.js","assets/messages-BD4p8GuF.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import"./modulepreload-polyfill-Dezn_h7o.js";import{t}from"./preload-helper-CZgWQFsJ.js";import{A as n,B as r,C as i,D as a,E as o,F as s,H as c,I as l,L as u,M as d,N as f,O as p,P as m,R as h,S as g,T as _,U as v,V as y,W as b,_ as x,a as S,b as C,c as ee,d as w,f as te,g as ne,h as re,i as T,j as ie,k as ae,l as oe,m as se,n as ce,o as le,p as ue,s as de,t as fe,u as pe,v as me,w as he,x as ge,y as _e,z as ve}from"./account-store-VWDFUG4w.js";import{t as E}from"./logger-DDBAeTLF.js";import{c as ye,d as be,l as xe,o as Se,u as Ce}from"./src-BvERX0WZ.js";import{c as we,l as Te,o as Ee,s as De,t as Oe}from"./proxied-fetch-D3wsof0i.js";import{n as D,t as ke}from"./runtime-env-DH4NDw4t.js";import{a as Ae}from"./providers-D2g-3ix9.js";import"./messages-BD4p8GuF.js";import{n as je}from"./clipboard-DuHpK59o.js";function Me(e){try{let t=new URL(e);return`${t.protocol===`wss:`?`https:`:`http:`}//${t.host}`}catch{return null}}function Ne(e){try{let t=new URL(e);return`${t.protocol}//${t.host}/licks-ws`}catch{return null}}function Pe(e){let t;try{t=new URLSearchParams(e)}catch{return null}let n=t.get(Ce),r=t.get(xe);if(!n||!r||!/^wss?:\/\//.test(n))return null;let i=t.get(Se),a=i===`leader`||i===`follower`?i:null;return{url:n,subprotocol:`${ye}${r}`,token:r,apiBaseUrl:Me(n),lickWsUrl:Ne(n),role:a}}var Fe=`slicc-nuke-control`,Ie=[`slicc:welcome-flow-fired`,`slicc.trayJoinUrl`,`slicc.trayWorkerBaseUrl`];function Le(e=()=>location.reload()){if(typeof BroadcastChannel!=`function`)return()=>{};let t=new BroadcastChannel(Fe),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()}}async function Re(){try{let e=await navigator.serviceWorker?.getRegistrations?.();e&&await Promise.all(e.map(e=>e.unregister().catch(()=>!1)))}catch{}try{let e=await indexedDB.databases();await Promise.all(e.filter(e=>!!e.name).map(e=>new Promise(t=>{let n=indexedDB.deleteDatabase(e.name);n.onsuccess=()=>t(),n.onerror=()=>t(),n.onblocked=()=>t()})))}catch{}try{let e=navigator.storage;if(typeof e?.getDirectory==`function`){let t=await e.getDirectory(),n=[];for await(let e of t.keys())n.push(e);await Promise.all(n.map(e=>t.removeEntry(e,{recursive:!0}).catch(()=>{})))}}catch{}}function ze(e,t,n={}){let r=n.wipe??Re,i=n.reload??(()=>location.reload()),a=t instanceof Error?t.message:String(t),o=document.createElement(`div`);o.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let s=document.createElement(`h1`);s.style.color=`var(--s2-negative, #e34850)`,s.textContent=`Failed to start`;let c=document.createElement(`p`);c.style.color=`var(--s2-content-tertiary, #717171)`,c.textContent=a;let l=document.createElement(`div`);l.style.cssText=`display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;`;let u=document.createElement(`button`);u.type=`button`,u.textContent=`Reset local data & reload`,u.style.cssText=`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-negative, #e34850);background:var(--s2-negative, #e34850);color:#fff;border-radius:4px;`;let d=document.createElement(`button`);for(d.type=`button`,d.textContent=`Reload`,d.style.cssText=`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-content-tertiary, #717171);background:transparent;color:inherit;border-radius:4px;`,u.addEventListener(`click`,()=>{u.disabled=!0,d.disabled=!0,u.textContent=`Resetting…`,(async()=>{try{await r()}catch{}for(let e of Ie)try{localStorage.removeItem(e)}catch{}i()})()}),d.addEventListener(`click`,()=>{i()}),l.append(u,d),o.append(s,c,l);e.firstChild;)e.removeChild(e.firstChild);e.appendChild(o)}var Be=`slicc:bridge-config`,Ve=`slicc:extension-delegate-config`;function He(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 Ue=E(`boot/ext-fetch-delegate`);function We(){let e=globalThis.chrome?.runtime;return e&&typeof e.connect==`function`?e:null}function Ge(e,t,n){let r=We();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 Ke(e){typeof navigator>`u`||!navigator.serviceWorker||navigator.serviceWorker.addEventListener(`message`,t=>{if(!He(t.data))return;let n=t.ports?.[0];if(!n){Ue.warn(`delegated fetch envelope arrived without a response port`);return}Ge(t.data,n,e)})}function qe(){if(D())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 Je=null;function Ye(){return Je||(Je=Le(),Je)}E(`stale-asset`);var Xe=`slicc-stale-asset-reload`;function Ze(e,t){if(typeof BroadcastChannel!=`function`)return()=>{};let n=new BroadcastChannel(Xe),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 Qe=`slicc:stale-asset-reloaded-at`,$e=6e4,O=`slicc:stale-asset-replay`;function et(e=window.sessionStorage){try{e.setItem(O,`1`)}catch{}}function tt(e=window.sessionStorage){try{return e.getItem(O)===`1`?(e.removeItem(O),!0):!1}catch{return!1}}function nt(){return{reload:()=>window.location.reload(),storage:window.sessionStorage,now:()=>Date.now(),windowMs:$e,storageKey:Qe}}function rt(e,t,n){return e===null||t-e>=n}function k(e=nt()){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(!rt(r,i,e.windowMs))return!1;try{e.storage.setItem(e.storageKey,String(i))}catch{return!1}return e.reload(),!0}var A=null,j=null;function it(e){A||(j={...nt(),...e},A=e=>{k(j)&&e.preventDefault()},window.addEventListener(`vite:preloadError`,A))}var M=null;function at(e){return M||(M=Ze(e,e=>{e&&et(),k(j??void 0)}),M)}var N=`tray`,ot=`trayWorkerUrl`,st=`lead`;function P(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 ct(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=P(t.toString());return s?{workerBaseUrl:s,trayId:i,joinUrl:n}:null}catch{return null}}function lt(e,t){let n=new URL(e);return n.searchParams.delete(ot),n.searchParams.delete(st),n.searchParams.set(N,t),n.toString()}var F=`slicc.trayWorkerBaseUrl`,I=`slicc.trayJoinUrl`,ut=be;function dt(e,t){let n=P(e);if(!n)throw Error(`Invalid tray worker base URL: ${e}`);let r=t.replace(/^\/+/,``);return new URL(r,`${n}/`).toString()}function L(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 ct(t.toString());let i=P(t.toString());return i?{workerBaseUrl:i,trayId:r,joinUrl:null}:null}catch{return null}}function R(e){let t=L(e);return t?.joinUrl?t:null}function z(e,t){let n=R(t);return n?(e.setItem(I,n.joinUrl),e.setItem(F,n.workerBaseUrl),n):null}function ft(e){return!!R(e?.getItem(`slicc.trayJoinUrl`)??null)}function pt(e,t){let n=!1;try{let t=new URL(e),r=t.searchParams.get(N);if(r!==null){n=!0;let e=L(r);if(e?.joinUrl)return e.joinUrl}t.searchParams.get(`slicc`)===`leader`&&(n=!0)}catch{}let r=L(e);return r?.joinUrl?r.joinUrl:(r?.trayId&&(n=!0),n?null:R(t?.getItem(`slicc.trayJoinUrl`)??null)?.joinUrl??null)}function mt(e){try{let t=new URL(e);t.searchParams.delete(N);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 ht(e,t){let n=P(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 gt(e,t,n){return lt(e,ht(t,n))}async function _t(e){let t=bt(e.locationHref);if(t)return e.storage&&(t.joinUrl&&e.storage.setItem(I,t.joinUrl),e.storage.setItem(F,t.workerBaseUrl)),t;let n=R(e.storage?.getItem(`slicc.trayJoinUrl`)??null);if(n)return e.storage&&e.storage.setItem(F,n.workerBaseUrl),n;let r=e.runtimeConfigFetcher?await xt(e.runtimeConfigFetcher):null;if(r?.joinConfig)return e.storage&&(e.storage.setItem(I,r.joinConfig.joinUrl),e.storage.setItem(F,r.joinConfig.workerBaseUrl)),r.joinConfig;let i=r?.workerBaseUrl??null,a=P(e.storage?.getItem(`slicc.trayWorkerBaseUrl`)??null),o=P(e.envBaseUrl??null),s=P(e.defaultWorkerBaseUrl??null),c=i??a??o??s;return c?(e.storage&&e.storage.setItem(F,c),{workerBaseUrl:c,trayId:null,joinUrl:null}):null}async function vt(e){return(await _t(e))?.workerBaseUrl??null}async function yt(e=fetch){try{let t=await e(Ee(`/api/runtime-config`),{cache:`no-store`,headers:Oe()});return t.ok?await t.json():null}catch{return null}}function bt(e){try{let t=new URL(e),n=L(t.searchParams.get(N));if(n)return n;let r=L(t.searchParams.get(st));if(r)return r;let i=P(t.searchParams.get(ot));return i?{workerBaseUrl:i,trayId:null,joinUrl:null}:ct(e)||null}catch{return null}}async function xt(e){let t=await e();if(!t)return null;let n=R(t.trayJoinUrl??null);return{workerBaseUrl:P(t.trayWorkerBaseUrl??null),joinConfig:n}}var St=`slicc-cdp-superseded-banner`;function Ct(e){if(e.getElementById(St))return;let t=e.createElement(`div`);t.id=St,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=[`position:fixed`,`top:0`,`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(`;`),e.body.appendChild(t)}function wt(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`:pt(e,n===void 0?typeof window<`u`?window.localStorage:null:n)?`follower`:Et(t)?`electron-overlay`:`standalone`}catch{return`standalone`}}function Tt(e,t){return e===`electron-overlay`||e===`hosted-leader`||e===`standalone`&&t}function Et(e){return e.pathname===`/electron`||e.pathname===`/electron/`||e.searchParams.get(`runtime`)===`electron-overlay`}var Dt=e({setupSudoExtension:()=>kt,setupSudoStandalone:()=>Ot});async function Ot(e){let{installSudoTestHook:n}=await t(async()=>{let{installSudoTestHook:e}=await import(`./sudo-tWv6esvM.js`);return{installSudoTestHook: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]));n()}async function kt(e){let{installPanelSudoResponder:n}=await t(async()=>{let{installPanelSudoResponder:e}=await import(`./sudo-tWv6esvM.js`);return{installPanelSudoResponder: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]));n()}function At(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`slicc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function jt(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 Mt=[100,200,400,800,1600];async function Nt(e,t,n,r=Mt,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){o=e,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 Pt(e,n,r){let{ExtensionBridgeTransport:i}=await t(async()=>{let{ExtensionBridgeTransport:e}=await import(`./extension-bridge-transport-Bi9JIuzJ.js`);return{ExtensionBridgeTransport:e}},__vite__mapDeps([26,2,27])),{mapDiscoveryPayloadToLickEvent:a,mapNavigatePayloadToLickEvent:o}=await t(async()=>{let{mapDiscoveryPayloadToLickEvent:e,mapNavigatePayloadToLickEvent:t}=await import(`./lick-ws-bridge-Cbwcxuba.js`);return{mapDiscoveryPayloadToLickEvent:e,mapNavigatePayloadToLickEvent:t}},__vite__mapDeps([28,2,29,4,3,1,5,6,7])),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 Nt(f,void 0,r),{browser:f,attachLickForwardingClient:u}}async function Ft(e){let{runtimeMode:n,envBaseUrl:r,window:i,log:a}=e,o=n===`electron-overlay`;a.info(`setting up standalone page runtime (BrowserAPI + CDP)`,{runtimeMode:n});let{BrowserAPI:s}=await t(async()=>{let{BrowserAPI:e}=await import(`./cdp-Bwq6NLAx.js`);return{BrowserAPI:e}},__vite__mapDeps([30,2,31,32,5,33,4]));await Ot({log:a});let c,l,u,d=null,f=null,p=null,m=null,h,g=n===`cherry`?null:jt(i.location.search),_=!!g&&ke(),v=n===`cherry`||_?null:Pe(i.location.search);v?.apiBaseUrl&&(d=v.apiBaseUrl,Te(v.apiBaseUrl),f=v.token,De(v.token)),v?.lickWsUrl&&(p=v.lickWsUrl);let y=await yt(),b=Tt(n,y!==null)?ut:null;if(await _t({locationHref:i.location.href,storage:i.localStorage,envBaseUrl:r,defaultWorkerBaseUrl:b,runtimeConfigFetcher:async()=>y}),n===`cherry`){let{setupCherryFollower:e}=await t(async()=>{let{setupCherryFollower:e}=await import(`./main-cherry-d-KDlb8k.js`);return{setupCherryFollower:e}},__vite__mapDeps([34,2,30,31,32,5,33,4,35])),n=await e();c=n.browser,l=n.joinUrl,u=n.transport}else if(g&&ke()){a.info(`Routing CDP through the extension bridge (leader tab)`);let e=await Pt(s,g.extensionId,a);c=e.browser,h=e.attachLickForwardingClient,m=g.extensionId,we(g.extensionId)}else{c=new s,v&&a.info(`Routing CDP through local standalone bridge`,{url:v.url,role:v.role??`(unset)`});let e=v?{url:v.url,protocols:v.subprotocol}:void 0;v?.role===`follower`?(a.info(`Skipping CDP connect for follower overlay tab`),c.primeConnectOptions(e)):(await Nt(c,e,a),c.setCdpSupersededHandler(()=>Ct(i.document)))}let x=c.getTransport();return globalThis.__slicc_browser=c,{browser:c,realCdpTransport:x,cherryJoinUrl:l,cherryTransport:u,instanceId:At(),isElectronOverlay:o,localApiBaseUrl:d,bridgeToken:f,localLickWsUrl:p,extensionDelegateId:m,attachLickForwardingClient:h}}var B=E(`boot/sw-registration`);async function It(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 zt())return`reload-pending`;if(!(`serviceWorker`in navigator)||n)return`ready`;try{if(await navigator.serviceWorker.register(`/preview-sw.js`,{scope:`/preview/`}),B.info(`Preview SW registered`),!D())try{await navigator.serviceWorker.register(`/llm-proxy-sw.js`,{scope:`/`}),B.info(`LLM-proxy SW registered`)}catch(e){B.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`),B.info(`Reloading once to gain SW control`),location.reload(),`reload-pending`;sessionStorage.removeItem(`slicc-sw-reloaded`),e&&(Lt(e),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{Lt(e)})),t&&(Rt(t),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{Rt(t)}))}catch(e){B.error(`Preview SW registration failed — preview feature will not work`,e)}return`ready`}function Lt(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:Be,apiBaseUrl:e.apiBaseUrl,token:e.token};try{t.postMessage(n)}catch(e){B.warn(`LLM-proxy SW bridge-config postMessage failed`,e)}}function Rt(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:Ve,extensionId:e.extensionId};try{t.postMessage(n)}catch(e){B.warn(`LLM-proxy SW extension-delegate postMessage failed`,e)}}async function zt(){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`),B.info(`connect mode: detaching from service worker (no proxy on worker origin)`),location.reload(),!0;sessionStorage.removeItem(`slicc-connect-sw-cleared`)}catch(e){B.error(`connect-mode SW cleanup failed`,e)}return!1}var V={state:`inactive`,joinUrl:null,trayId:null,error:null,lastPingTime:null,reconnectAttempts:0,attachAttempts:0,lastAttachCode:null,connectingSince:null,lastError:null};function Bt(){return{...V}}var Vt=`slicc.followerTrayStatus`,H=new Set;function Ht(e){return H.add(e),()=>{H.delete(e)}}function Ut(){if(H.size!==0)for(let e of[...H])try{e({...V})}catch{}}function Wt(e){V={...e},Ut()}function Gt(e){V={...V,lastPingTime:e},Ut()}function Kt(e){return typeof e==`string`&&e.startsWith(`No API key configured`)}function qt(e){if(!e)return!1;let t=e.toLowerCase();return t.includes(`the provided model identifier is invalid`)||t.includes(`model not allowed`)}function Jt(e){return e?e.toLowerCase().includes(`please log in again`):!1}function Yt(e){return Kt(e)||qt(e)||Jt(e)}var U=null,Xt=!1;function Zt(){return typeof window>`u`||typeof document>`u`||document?.documentElement===void 0||typeof localStorage?.getItem!=`function`}function Qt(){return Zt()?`standalone-worker`:D()?`extension`:typeof document<`u`&&document.documentElement?.dataset?.electronOverlay?`electron`:`cli`}async function $t(){if(!Xt&&!(typeof localStorage<`u`&&typeof localStorage?.getItem==`function`&&localStorage.getItem(`telemetry-disabled`)===`true`))try{let e=Qt();e!==`standalone-worker`&&typeof window<`u`?window.RUM_GENERATION=`slicc-${e}`:globalThis.RUM_GENERATION=`slicc-${e}`,e===`standalone-worker`?(U=(await t(()=>import(`./rum-worker-CwmNSpjO.js`),[])).default,self.addEventListener(`error`,e=>{let t=e;W(`js`,t.error?.message??t.message??``)}),self.addEventListener(`unhandledrejection`,e=>{let t=e.reason;W(`js`,t instanceof Error?t.message:String(t))})):e===`extension`?(U=(await t(()=>import(`./rum-DW84CvBs.js`),[])).default,typeof window<`u`&&(window.addEventListener(`error`,e=>{let t=e;W(`js`,t.error?.message??t.message??``)}),window.addEventListener(`unhandledrejection`,e=>{let t=e.reason;W(`js`,t instanceof Error?t.message:String(t))}))):(typeof window<`u`&&(window.SAMPLE_PAGEVIEWS_AT_RATE=`high`),un(),U=(await t(()=>import(`./src-C9oNvq2b.js`),[])).sampleRUM),Xt=!0,U&&U(`navigate`,{source:typeof document<`u`?document.referrer:``,target:e})}catch{}}function en(e,t){U?.(`formsubmit`,{source:e,target:t})}function tn(e){U?.(`viewblock`,{source:e})}function nn(e){U?.(`viewmedia`,{source:e})}function W(e,t){let n=t;if(typeof n==`string`){if(Yt(n))return;let e=on(n);if(e===null)return;n=e}U?.(`error`,{source:e,target:n})}function rn(e){U?.(`signup`,{source:e})}function an(e){return e.includes(`@vite/client`)||e.includes(`@vite/env`)||e.includes(`[vite]`)||/https?:\/\/localhost:\d+\/@vite\//.test(e)||/\/__vite_ping/.test(e)}function on(e){let t=e??``;if(t.includes(`@vite/`)||t.includes(`[vite]`)||t.includes(`__vite_ping`)){let e=t.split(`
|
|
23
|
-
`).filter(e=>!an(e)).join(`
|
|
24
|
-
`).trim();return e?e.slice(0,200).replace(/(\/[a-z]+)(?:\/[^\s/]+)+/gi,`$1/.../`):null}return t.slice(0,200).replace(/(\/[a-z]+)(?:\/[^\s/]+)+/gi,`$1/.../`)}var sn=Symbol.for(`slicc.telemetry.sendBeacon.wrapped`);function cn(e){if(typeof e!=`string`)return{kind:`absent`};let t=on(e);return t===null?{kind:`noise`}:{kind:`kept`,value:t,mutated:t!==e}}function ln(e){let t=cn(e.source),n=cn(e.target),r=t.kind!==`kept`,i=n.kind!==`kept`;if((t.kind!==`absent`||n.kind!==`absent`)&&r&&i)return!0;let a=!1;return t.kind===`kept`?t.mutated&&(e.source=t.value,a=!0):t.kind===`noise`&&(e.source=``,a=!0),n.kind===`kept`?n.mutated&&(e.target=n.value,a=!0):n.kind===`noise`&&(e.target=``,a=!0),a?JSON.stringify(e):null}function un(){if(typeof navigator>`u`||typeof navigator.sendBeacon!=`function`)return;let e=navigator.sendBeacon;if(e[sn])return;let t=e.bind(navigator),n=((e,n)=>{try{let r=typeof n==`string`?n:n instanceof ArrayBuffer?new TextDecoder().decode(n):null;if(r&&r.length>0&&r.charCodeAt(0)===123){let n=JSON.parse(r);if(n?.checkpoint===`error`){let r=ln(n);if(r===!0)return!0;if(r!==null)return t(e,r)}}}catch{}return t(e,n)});n[sn]=!0,navigator.sendBeacon=n}function dn(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??fn(t.state)??`Mirroring another browser.`}}function fn(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 pn(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 mn=e({ACCOUNTS_KEY:()=>fe,__test__:()=>ce,_testOnly_dispatchTrayJoinWithFailureFeedback:()=>gn,addAccount:()=>T,applyProviderDefaults:()=>S,clearAllSettings:()=>le,clearApiKey:()=>de,clearBaseUrl:()=>ee,clearSelectedProvider:()=>oe,describeInvalidJoinUrl:()=>pn,downloadProviders:()=>vn,exportProviders:()=>pe,getAccounts:()=>w,getAllAvailableModels:()=>te,getAllExtraOAuthDomains:()=>ue,getApiKey:()=>se,getApiKeyForProvider:()=>re,getApiVersionForProvider:()=>ne,getAvailableProviders:()=>x,getBaseUrl:()=>me,getBaseUrlForProvider:()=>_e,getDeploymentForProvider:()=>C,getExtraOAuthDomains:()=>ge,getOAuthAccountInfo:()=>g,getProviderConfig:()=>i,getProviderModels:()=>he,getRawApiKeyForProvider:()=>_,getSelectedModelId:()=>o,getSelectedProvider:()=>a,isModelHiddenFromPicker:()=>p,logoutOAuthAccount:()=>ae,maskOAuthTokenWithRetry:()=>n,migrateLegacyAuthOnlySelection:()=>ie,persistOAuthMaskViaServiceWorker:()=>d,providerOffersLlmModels:()=>f,reloginOAuthAccount:()=>xn,removeAccount:()=>m,resolveCurrentModel:()=>s,resolveModelById:()=>l,resolveModelByShorthand:()=>u,saveOAuthAccount:()=>h,setApiKey:()=>ve,setBaseUrl:()=>r,setExtraOAuthDomains:()=>y,setExtraOAuthDomainsAsync:()=>c,setSelectedModelId:()=>v,setSelectedProvider:()=>b,showProviderSettings:()=>Hn}),hn=E(`provider-settings`);function gn(e,t){return _n(e,t)}function _n(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){hn.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 vn(){let e=JSON.stringify(pe(),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 yn(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`]},q=`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 J(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 Y(e){e.overlay.remove(),e.resolve((localStorage.getItem(`slicc_accounts`)??``)!==e.accountsBefore)}function X(e){e.options?.startInAddAccount?Y(e):Z(e)}function bn(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)`):e.userName?t.textContent=e.userName:e.accessToken?t.textContent=`Logged in`:t.textContent=yn(e.apiKey),e.baseUrl&&(t.textContent+=` • `+e.baseUrl),t}async function xn(e,n){let{createOAuthLauncher:r,createInterceptingOAuthLauncherForCurrentRuntime:i}=await t(async()=>{let{createOAuthLauncher:e,createInterceptingOAuthLauncherForCurrentRuntime:t}=await import(`./oauth-service-w5HZt7Xx.js`);return{createOAuthLauncher:e,createInterceptingOAuthLauncherForCurrentRuntime:t}},__vite__mapDeps([36,1,3,4,5,6,7,20,37])),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 Sn(e,t){let n=document.createElement(`button`);return n.style.cssText=q,n.setAttribute(`aria-label`,`Edit account`),n.appendChild(G(K.pen)),J(n,`var(--s2-accent)`),n.addEventListener(`click`,()=>Q(e,t)),n}function Cn(e,t,n){let r=document.createElement(`button`);return r.style.cssText=q,t.loggedOut===!0?(r.setAttribute(`aria-label`,`Log in`),r.setAttribute(`title`,`Log in`),r.appendChild(G(K.login)),J(r,`var(--s2-accent)`),r.addEventListener(`click`,()=>{xn(n,()=>Z(e))})):(r.setAttribute(`aria-label`,`Log out`),r.setAttribute(`title`,`Log out`),r.appendChild(G(K.logout)),J(r,`var(--s2-warning, #f59e0b)`),r.addEventListener(`click`,()=>{(async()=>{await ae(t.providerId),Z(e)})()})),r}function wn(e,t){let n=document.createElement(`button`);return n.style.cssText=q,n.setAttribute(`aria-label`,`Remove account`),n.appendChild(G(K.trash)),J(n,`var(--s2-negative)`),n.addEventListener(`click`,()=>{(async()=>{await m(t.providerId),Z(e)})()}),n}function Tn(e,t){let n=i(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 a=document.createElement(`div`);a.style.cssText=`flex: 1; min-width: 0;`;let o=document.createElement(`div`);o.style.cssText=`font-size: 14px; font-weight: 600; color: var(--s2-content-default);`,o.textContent=n.name,a.appendChild(o),a.appendChild(bn(t)),r.appendChild(a);let s=document.createElement(`div`);return s.style.cssText=`display: flex; gap: 4px; margin-left: 12px; flex-shrink: 0;`,s.appendChild(Sn(e,t)),n.isOAuth&&s.appendChild(Cn(e,t,n)),s.appendChild(wn(e,t)),r.appendChild(s),r}function En(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=Bt(),a=i.state!==`inactive`,o=ft(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`,()=>Vn(e)),t.appendChild(s),t}function Z(e){let{dialog:t}=e;t.innerHTML=``;let n=document.createElement(`div`);n.className=`dialog__title`,n.textContent=`Accounts`,t.appendChild(n);let r=w();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(Tn(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`,()=>Q(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`,()=>vn()),i.appendChild(o),t.appendChild(i),t.appendChild(En(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`,()=>Y(e)),t.appendChild(c)}function Dn(e,t){let n=document.createElement(`select`);if(n.className=`dialog__input`,n.style.marginBottom=`8px`,t){let e=i(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 a=new Set(w().map(e=>e.providerId)),o=[...x()].sort((e,t)=>i(e).name.localeCompare(i(t).name));for(let t of o){if(a.has(t))continue;if(e?.providerFilter){if(!e.providerFilter(t))continue}else if(!f(t))continue;let r=document.createElement(`option`);r.value=t,r.textContent=i(t).name,n.appendChild(r)}return n}function On(e,t){let n=Dn(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 kn(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 An(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}=kn(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 je(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 jn(e,n){let r=n.providerSelect.value;if(!r)return;let a=i(r);if(!a.onOAuthLogin&&!a.onOAuthLoginIntercepted)return;let{status:o}=n.oauth,s=w().some(e=>e.providerId===r),c=_e(r);if(a.requiresBaseUrl&&!n.baseUrlInput.value.trim()&&!c){o.textContent=`Base URL is required.`,o.style.color=`var(--slicc-cone)`,n.baseUrlInput.focus();return}a.requiresBaseUrl&&n.baseUrlInput.value.trim()&&T(r,``,n.baseUrlInput.value.trim()),o.textContent=`Opening login window...`;try{if(a.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:r}=await t(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-w5HZt7Xx.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([36,1,3,4,5,6,7,20,37])),i=await r();if(!i)throw Error(`No controlled-browser CDP transport available — open SLICC in standalone mode or the Chrome extension.`);await a.onOAuthLoginIntercepted(i,()=>X(e),{presentDeviceCode:An(n.oauth)})}else if(a.onOAuthLogin){let{createOAuthLauncher:n}=await t(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-w5HZt7Xx.js`);return{createOAuthLauncher:e}},__vite__mapDeps([36,1,3,4,5,6,7,20,37])),r=n();await a.onOAuthLogin(r,()=>X(e))}}catch(e){if(!s)try{await m(r)}catch{}hn.error(`OAuth login failed`,{providerId:r,error:e instanceof Error?e.message:String(e)}),o.textContent=`Login failed: ${e instanceof Error?e.message:String(e)}`}}function Mn(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 Nn(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 Pn(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 Fn(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=i(t);e.providerDesc.textContent=n.description,Mn(e,n),Nn(e,n),Pn(e,n)}function In(e,t){let n=t.providerSelect.value;if(!n)return;let r=i(n),a=(e,n)=>{t.errorEl.textContent=e,t.errorEl.style.display=``,n.focus()};if(r.requiresApiKey&&t.apiKeyInput.value.trim().length<5){a(`API key is required (at least 5 characters).`,t.apiKeyInput);return}if(r.requiresBaseUrl&&!t.baseUrlInput.value.trim()){a(`Base URL is required for this provider.`,t.baseUrlInput);return}if(r.requiresDeployment&&!t.deploymentInput.value.trim()){a(`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),X(e)}function Ln(e,t){let{dialog:n,options:r}=e,i=w().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`,()=>Y(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`,()=>Vn(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`,()=>Z(e)),n.appendChild(t)}}function Q(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 a=document.createElement(`div`);a.className=`dialog__desc`,a.textContent=`Provider:`,n.appendChild(a);let o=On(e.options,t);n.appendChild(o.providerSelect),n.appendChild(o.providerDesc),o.oauth.loginBtn.addEventListener(`click`,()=>{jn(e,o)}),t?.userName&&(o.oauth.status.textContent=`Logged in as ${t.userName}`,o.oauth.loginBtn.textContent=`Re-login`),n.appendChild(o.oauth.section),n.appendChild(o.apiKeySection),n.appendChild(o.baseUrlSection),n.appendChild(o.deploymentSection),n.appendChild(o.apiVersionSection),n.appendChild(o.errorEl),o.providerSelect.addEventListener(`change`,()=>{o.errorEl.style.display=`none`,Fn(o)}),Fn(o),o.saveBtn.addEventListener(`click`,()=>In(e,o));let s=t=>{t.key===`Enter`&&In(e,o)};o.apiKeyInput.addEventListener(`keydown`,s),o.baseUrlInput.addEventListener(`keydown`,s),o.deploymentInput.addEventListener(`keydown`,s),o.apiVersionInput.addEventListener(`keydown`,s),n.appendChild(o.saveBtn),Ln(e,!!t),requestAnimationFrame(()=>{let e=o.providerSelect.value;if(!e)return;let t=i(e);t.requiresApiKey?o.apiKeyInput.focus():t.requiresBaseUrl&&o.baseUrlInput.focus()})}function Rn(e,t,n){_n(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 zn(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=z(window.localStorage,t);if(!n){o.textContent=`Invalid sync URL.`,o.style.display=``,o.style.color=`var(--slicc-cone)`;return}Rn(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`,()=>Q(e)),n.appendChild(c)}function Bn(){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 Vn(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(Bn());let i=document.createElement(`div`);i.className=`dialog__desc`,i.textContent=`Sync URL:`,t.appendChild(i);let a=document.createElement(`input`);a.className=`dialog__input`,a.type=`text`,a.autocomplete=`off`,a.spellcheck=!1,a.placeholder=`${be}/join/<token>`,t.appendChild(a);let o=document.createElement(`div`);o.style.cssText=`color: var(--slicc-cone); font-size: 12px; margin-bottom: 8px; display: none;`,t.appendChild(o);let s=document.createElement(`div`);s.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`;let c=document.createElement(`button`);c.className=`dialog__btn`,c.textContent=`Connect`,c.addEventListener(`click`,()=>{let t=a.value.trim();if(!t){o.textContent=`Paste a sync URL to continue.`,o.style.display=``,a.focus();return}let n=z(window.localStorage,t);if(!n){o.textContent=pn(t),o.style.display=``,a.focus();return}Rn(e,n.joinUrl,s)}),t.appendChild(c),t.appendChild(s);let l=document.createElement(`button`);l.className=`dialog__btn dialog__btn--secondary`,l.style.marginTop=`8px`,l.textContent=`Back`,l.addEventListener(`click`,()=>Q(e)),t.appendChild(l),a.addEventListener(`input`,()=>{o.style.display=`none`}),a.addEventListener(`keydown`,e=>{e.key===`Enter`&&c.click()}),requestAnimationFrame(()=>a.focus())}function Hn(e){return rn(`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?Q(i):w().length>0?Z(i):e?.autoJoinUrl?zn(i,e.autoJoinUrl):e?.preferTrayJoin?Vn(i):Q(i),n.appendChild(r),document.body.appendChild(n)})}var $=E(`main`);function Un(e){try{return new URL(e).searchParams.has(`ui-fixture`)}catch{return!1}}async function Wn(){it();let e=document.getElementById(`app`);if(!e)throw Error(`#app element not found`);let n=D(),r=wt(window.location.href,n);if(Un(window.location.href)){let{mountWcUiPreview:n}=await t(async()=>{let{mountWcUiPreview:e}=await import(`./wc-shell-BUIX3UPq.js`).then(e=>e.a);return{mountWcUiPreview:e}},__vite__mapDeps([38,4,1,5,24,39,40,41]));n(e);return}qe(),Ye(),r!==`connect`&&$t().catch(()=>{});let i=Pe(window.location.search),a=r===`cherry`?null:jt(window.location.search),o=!!a&&ke();if(await It(i?{apiBaseUrl:i.apiBaseUrl,token:i.token}:null,o&&a?{extensionId:a.extensionId}:null)===`reload-pending`)return;if(!n&&(r===`follower`||r===`cherry`)){let{mountWcUiFollower:n}=await t(async()=>{let{mountWcUiFollower:e}=await import(`./wc-follower-yEiXLTkQ.js`);return{mountWcUiFollower:e}},__vite__mapDeps([42,1,2,5,38,4,24,39,40,41,43,44,37,45,9,10,11,12,13,14,3,6,7,15,16,17,18,19,20,21,22,46,47,48,49,50,29,51,52,53,54,55,56,33,57]));return n(e,$,r)}await Ae(),S();let{bootstrapOAuthReplicas:s}=await t(async()=>{let{bootstrapOAuthReplicas:e}=await import(`./oauth-bootstrap-C1TvVgVm.js`);return{bootstrapOAuthReplicas:e}},__vite__mapDeps([58,1,13,4,9,10,11,12,14,2,5,3,6,7,15,16,17,18,19,20,21,22]));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-kYboUbpI.js`);return{loadLegacyStyles:e}},__vite__mapDeps([59,1]));await n();let{mountConnectSurface:r}=await t(async()=>{let{mountConnectSurface:e}=await import(`./connect-surface-CnYXozQ2.js`);return{mountConnectSurface:e}},__vite__mapDeps([60,13,4,1,9,10,11,12,14,2,5,3,6,7,15,16,17,18,19,20,21,22]));await r(e);return}if(n){let{mountWcUiExtension:n}=await t(async()=>{let{mountWcUiExtension:e}=await import(`./wc-extension-C4UUKHE1.js`);return{mountWcUiExtension:e}},__vite__mapDeps([61,1,62,63,45,9,10,11,12,4,13,14,2,5,3,6,7,15,16,17,18,19,20,21,22,37,46,47,48,49,50,24,29,51,52,38,39,40,41,53,54,43,55]));return n(e,$,r===`extension-detached`)}o&&a&&Ke(a.extensionId);let{mountWcUiLive:c}=await t(async()=>{let{mountWcUiLive:e}=await import(`./wc-live-CVqsJqLB.js`);return{mountWcUiLive:e}},__vite__mapDeps([45,1,9,10,11,12,4,13,14,2,5,3,6,7,15,16,17,18,19,20,21,22,37,46,47,48,49,50,24,29,51,52,38,39,40,41,53,54,43,55]));return c(e,$,r)}Wn().catch(e=>{$.error(`Fatal error`,e);let t=document.getElementById(`app`);t&&ze(t,e)});export{at as A,ft as C,mt as D,z as E,tt as O,dt as S,vt as T,Dt as _,W as a,F as b,Jt as c,Vt as d,Bt as f,Ft as g,Ht as h,en as i,k,qt as l,Wt as m,Hn as n,nn as o,Gt as p,dn as r,tn as s,mn as t,Kt as u,ut as v,pt as w,gt as x,I as y};
|