sliccy 5.22.0 → 5.23.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-B0uIxSgw.js +1 -0
- package/dist/ui/assets/__vite-browser-external-SwrSgYTf.js +1 -0
- package/dist/ui/assets/{account-store-DOlleCyl.js → account-store-BPvwufEr.js} +3 -3
- package/dist/ui/assets/account-store-DRcHIayv.js +38 -0
- package/dist/ui/assets/addon-fit-Crogpbda.js +13 -0
- package/dist/ui/assets/addon-fit-DIOBYJe3.js +1 -0
- package/dist/ui/assets/{adobe-uTCM-4D4.js → adobe-BQa2f_tZ.js} +2 -2
- package/dist/ui/assets/{adobe-BApjrbPj.js → adobe-C1RMD4-d.js} +1 -1
- package/dist/ui/assets/{adobe-oauth-state-Dw_mocKc.js → adobe-oauth-state-CblNBQQR.js} +1 -1
- package/dist/ui/assets/{agent-message-to-chat-BdRCjeVB.js → agent-message-to-chat-LRySxnvm.js} +1 -1
- package/dist/ui/assets/{anthropic-DwYAPtk5.js → anthropic-BOEkIcb-.js} +1 -1
- package/dist/ui/assets/{anthropic-UMaEJx-B.js → anthropic-LjoeX6v-.js} +1 -1
- package/dist/ui/assets/{apps-BWPFf1Yf.js → apps-CZ4QaYIZ.js} +1 -1
- package/dist/ui/assets/{azure-openai-BSJnjcfJ.js → azure-openai-D-59h58z.js} +1 -1
- package/dist/ui/assets/{azure-openai-Bn5unC0Z.js → azure-openai-DZghfFcd.js} +1 -1
- package/dist/ui/assets/{azure-openai-responses-Bnxym5u-.js → azure-openai-responses-CbJrQGi8.js} +1 -1
- package/dist/ui/assets/{azure-openai-responses-Ds4b3a5B.js → azure-openai-responses-DPSrcT4o.js} +1 -1
- package/dist/ui/assets/{backend-local-D7FqJaoi.js → backend-local-BgTSBOxM.js} +1 -1
- package/dist/ui/assets/bedrock-camp-DjKgax8m.js +1 -0
- package/dist/ui/assets/{bedrock-camp-C1lmRgcD.js → bedrock-camp-DlP7CPgV.js} +2 -2
- package/dist/ui/assets/{browser-D0vICVpZ.js → browser-2wdq8OwU.js} +5 -5
- package/dist/ui/assets/{cdp-5C0rLyuM.js → cdp-D7cRI5-J.js} +1 -1
- package/dist/ui/assets/clipboard-DuHpK59o.js +1 -0
- package/dist/ui/assets/{composer-speech-DXkl5-5T.js → composer-speech-CzcwBzGA.js} +1 -1
- package/dist/ui/assets/{connect-surface-C597ydah.js → connect-surface-RiZUIrxS.js} +1 -1
- package/dist/ui/assets/{context-compaction-CFWyOzX1.js → context-compaction-DvlXtgVG.js} +1 -1
- package/dist/ui/assets/dip-BFDee3ZP.js +1 -0
- package/dist/ui/assets/{dist-jdlcYxrm.js → dist-0c-Ms6jt.js} +1 -1
- package/dist/ui/assets/{dist-k2Xmqc09.js → dist-BHXb30bf.js} +2 -2
- package/dist/ui/assets/{dist-BBhtjNOt.js → dist-Bw2SRiP7.js} +1 -1
- package/dist/ui/assets/dist-C30gQBcj2.js +12 -0
- package/dist/ui/assets/{dist-Dnh15m1q.js → dist-CC_gNVTb.js} +1 -1
- package/dist/ui/assets/dist-Cn_I6fkq.js +18 -0
- package/dist/ui/assets/{dist-DQRYKv91.js → dist-D1pcMg_U.js} +1 -1
- package/dist/ui/assets/{dist-CrC-F8vu.js → dist-D58cmC11.js} +1 -1
- package/dist/ui/assets/{dist-BmWy99kl.js → dist-D69OmKNn.js} +3 -3
- package/dist/ui/assets/{dist-AEf8Bitj2.js → dist-DD6YY4Ks2.js} +1 -1
- package/dist/ui/assets/{dist-CziJ8tXT.js → dist-SzMJHiOE.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-BPhOGGfO.js → ensure-speech-assets-Bax4J0R4.js} +1 -1
- package/dist/ui/assets/{es-C8ey2woP.js → es-kEo2Tmh4.js} +4 -4
- package/dist/ui/assets/esp32-D9ZurRwV.js +1 -0
- package/dist/ui/assets/{esp32c2-CpROmlB0.js → esp32c2-F0yCL7ES.js} +1 -1
- package/dist/ui/assets/esp32c3-wVAODszM.js +1 -0
- package/dist/ui/assets/{esp32c5-KJSqwo2Q.js → esp32c5-ChTI-uFN.js} +1 -1
- package/dist/ui/assets/{esp32c6-BMEnOhZ6.js → esp32c6-IwoGEmKl.js} +1 -1
- package/dist/ui/assets/{esp32c61-sRp43nbI.js → esp32c61-BJScMw70.js} +1 -1
- package/dist/ui/assets/{esp32h2-BKv-WORi.js → esp32h2-YosZEx9u.js} +1 -1
- package/dist/ui/assets/{esp32p4-g1tFG0sh.js → esp32p4-BSe822vW.js} +1 -1
- package/dist/ui/assets/{esp32s2-BE2gO68i.js → esp32s2-Dhlhu16A.js} +1 -1
- package/dist/ui/assets/{esp32s3-CjMu3q4c.js → esp32s3-PqxbnxPZ.js} +1 -1
- package/dist/ui/assets/esp8266-CgqhR4Wc.js +1 -0
- package/dist/ui/assets/esp8266-CuMaVNVI.js +1 -0
- package/dist/ui/assets/{esptool-operations-wnHF1cOB.js → esptool-operations-CNxPdlH_.js} +2 -2
- package/dist/ui/assets/esptool-operations-KWVZgO7d.js +12 -0
- package/dist/ui/assets/{follower-navigate-watcher-CnHWEu_l.js → follower-navigate-watcher-quUh7-CS.js} +1 -1
- package/dist/ui/assets/fs-D6GWcrVb.js +1 -0
- package/dist/ui/assets/{fs-DGzEyyjW.js → fs-njSrzhNh.js} +2 -2
- package/dist/ui/assets/{github-DrBasfDl.js → github-C5iKeyIZ.js} +2 -2
- package/dist/ui/assets/{github-CrEpWTT4.js → github-CY1vTcwt.js} +1 -1
- package/dist/ui/assets/{github-copilot-fQiOd3tX.js → github-copilot-BkzVAtWq.js} +1 -1
- package/dist/ui/assets/{github-copilot-CYUdwY7c.js → github-copilot-C_XDJI-F.js} +2 -2
- package/dist/ui/assets/{google-CEOynCO5.js → google-C3U0TK_l.js} +1 -1
- package/dist/ui/assets/{google-CSaY-DQE.js → google-DPvIPcfE.js} +1 -1
- package/dist/ui/assets/google-shared-CFmFmYdk.js +11 -0
- package/dist/ui/assets/{google-shared-RiqqHuiz.js → google-shared-CwjAeP6N.js} +1 -1
- package/dist/ui/assets/{google-vertex-CBHKHWKe.js → google-vertex-BbeV3aSP.js} +1 -1
- package/dist/ui/assets/{google-vertex-C7BX8ATF.js → google-vertex-CEGsokz8.js} +1 -1
- package/dist/ui/assets/{handoff-link-ywwq4k0t.js → handoff-link-w8LYa3Ua.js} +1 -1
- package/dist/ui/assets/{hear-DH3US_c_.js → hear--VyWD7WJ.js} +1 -1
- package/dist/ui/assets/{hear-DcjeM2tc.js → hear-DMzpXyvS.js} +1 -1
- package/dist/ui/assets/hid-device-registry-6w-g8ZpF.js +1 -0
- package/dist/ui/assets/hid-picker-CE6gGmQt.js +1 -0
- package/dist/ui/assets/icons-C5g936Qd.js +1 -0
- package/dist/ui/assets/{index-BeMnZBAU.js → index-AMF5XZgS.js} +72 -71
- package/dist/ui/assets/intercepted-oauth-CaCw-rJ5.js +1 -0
- package/dist/ui/assets/js-realm-worker-BYZQ59hJ.js +49 -0
- package/dist/ui/assets/json-parse-B51EftGA.js +3 -0
- package/dist/ui/assets/json-parse-C7d6hyOc.js +3 -0
- package/dist/ui/assets/{kernel-worker--emmdYcK.js → kernel-worker-BuLAKxNE.js} +1237 -837
- package/dist/ui/assets/kokoro-BFFlHn4y.js +4 -0
- package/dist/ui/assets/kokoro-C-DxSDte.js +4 -0
- package/dist/ui/assets/{kokoro-engine-D6CvO4ll.js → kokoro-engine-CVpfUNNb.js} +2 -2
- package/dist/ui/assets/{legacy-styles-4PP74ISo.js → legacy-styles-CF6h7ytf.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-BW2oth5z.js → lick-ws-bridge--Vksc7F9.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-ldh3QesL.js → lick-ws-bridge-DAzGsuBg.js} +1 -1
- package/dist/ui/assets/llm-session-id-bZQs6gBN.js +1 -0
- package/dist/ui/assets/{local-llm-B-K_aJrM.js → local-llm-B3sNRJii.js} +1 -1
- package/dist/ui/assets/{main-ONpvMnyR.js → main-BME4pJJo.js} +4 -4
- package/dist/ui/assets/{main-cherry-NiJ4PeFm.js → main-cherry-DkK6hE90.js} +1 -1
- package/dist/ui/assets/mistral-CLF3Mo4W.js +46 -0
- package/dist/ui/assets/mistral-DkJAVbOW.js +46 -0
- package/dist/ui/assets/mount-Bix58hlG.js +1 -0
- package/dist/ui/assets/{mount-DcGhI7cC.js → mount-CW5miKSN.js} +2 -2
- package/dist/ui/assets/mount-bridge-client-DnDk55XZ.js +2 -0
- package/dist/ui/assets/mount-picker-popup-Cw_D7c_n.js +1 -0
- package/dist/ui/assets/mount-table-store-CfQUN_2R.js +1 -0
- package/dist/ui/assets/mount-table-store-s20mtVA3.js +1 -0
- package/dist/ui/assets/{navigation-watcher-BxAAD5To.js → navigation-watcher-C2s0i0h4.js} +1 -1
- package/dist/ui/assets/{new-session-CnM_DXhJ.js → new-session-CS1WEhLm.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-BZCLo8I2.js → oauth-bootstrap-B2wuItHI.js} +2 -2
- package/dist/ui/assets/{oauth-service-D-lmxdpH.js → oauth-service-R7EZswi4.js} +1 -1
- package/dist/ui/assets/{oauth-service-ahaKd8Mt.js → oauth-service-ySAsf2gs.js} +1 -1
- package/dist/ui/assets/{onboarding-orchestrator-CADSztcp.js → onboarding-orchestrator-cZ36aqC6.js} +1 -1
- package/dist/ui/assets/{openai-Cn5LRPCm.js → openai-BeH6aC_-.js} +1 -1
- package/dist/ui/assets/{openai-i4HWKCeW.js → openai-BvKpRLAG.js} +1 -1
- package/dist/ui/assets/{openai-codex-CceLJ6J-.js → openai-codex-BnYyNqXj.js} +1 -1
- package/dist/ui/assets/{openai-codex-BfTcuFL3.js → openai-codex-D_k1NXCs.js} +1 -1
- package/dist/ui/assets/{openai-codex-responses-Cq5XDqVc.js → openai-codex-responses-B2oZ1hgB.js} +1 -1
- package/dist/ui/assets/{openai-codex-responses-7JN1dUxK.js → openai-codex-responses-Dumyd9t2.js} +1 -1
- package/dist/ui/assets/{openai-completions-DLI0t_lj.js → openai-completions-B2n4Op2S.js} +1 -1
- package/dist/ui/assets/openai-completions-aHU8w14d.js +5 -0
- package/dist/ui/assets/{openai-responses-ANbRIlpa.js → openai-responses-4ryIAXQS.js} +1 -1
- package/dist/ui/assets/{openai-responses-nczmKECx.js → openai-responses-BurVahs3.js} +1 -1
- package/dist/ui/assets/{openai-responses-shared-CM2vkuNI.js → openai-responses-shared-BebU8o_f.js} +1 -1
- package/dist/ui/assets/{openai-responses-shared-9YVaeX5D.js → openai-responses-shared-D9O9OCYB.js} +1 -1
- package/dist/ui/assets/{openrouter-Cy2dLX1Z.js → openrouter-B1ruTb6k.js} +1 -1
- package/dist/ui/assets/{openrouter-QETwrep8.js → openrouter-XmffhsNH.js} +1 -1
- package/dist/ui/assets/page-follower-tray-CKvoa8Vc.js +5 -0
- package/dist/ui/assets/panel-rpc-CjFVE0nK.js +1 -0
- package/dist/ui/assets/panel-rpc-DmJSNs0I.js +1 -0
- package/dist/ui/assets/panel-rpc-handlers-B-gE3pP7.js +2 -0
- package/dist/ui/assets/{pdfjs-C3ks1z_T.js → pdfjs-BdCnB7P8.js} +7 -7
- package/dist/ui/assets/preload-helper-CZgWQFsJ.js +1 -0
- package/dist/ui/assets/{provider-eCpA8_Iv.js → provider-DO4PGsF_.js} +2 -2
- package/dist/ui/assets/{provider-B3fKSgvd.js → provider-lR1ovrWJ.js} +1 -1
- package/dist/ui/assets/provider-store-access-4kR4SrNf.js +1 -0
- package/dist/ui/assets/provider-store-access-Clj85PSW.js +1 -0
- package/dist/ui/assets/providers-CChuPgRN.js +1 -0
- package/dist/ui/assets/providers-lNcU6L-a.js +2 -0
- package/dist/ui/assets/proxied-fetch-DzLglfG5.js +2 -0
- package/dist/ui/assets/proxied-fetch-R_Zw2ZFI.js +1 -0
- package/dist/ui/assets/py-realm-worker-Cr26Gsx8.js +244 -0
- package/dist/ui/assets/{pyodide-CPgzyJWn.js → pyodide-CHuPF4e3.js} +2 -2
- package/dist/ui/assets/{pyodide-BFyW4kyI.js → pyodide-Dp0v7U2K.js} +2 -2
- package/dist/ui/assets/quick-llm-BcXxSY4e.js +1 -0
- package/dist/ui/assets/remote-cache-D59F5FOx.js +1 -0
- package/dist/ui/assets/remote-cdp-transport-DTCu2BgA.js +1 -0
- package/dist/ui/assets/{remote-terminal-view-DIEOCe9M.js → remote-terminal-view-B_2LHY8s.js} +1 -1
- package/dist/ui/assets/{secret-env-Bs2du0RF.js → secret-env-guT2rdYI.js} +1 -1
- package/dist/ui/assets/{secret-topology-Bp0wH2ni.js → secret-topology-CC_yKaqL.js} +1 -1
- package/dist/ui/assets/secrets-bridge-client-C3K9ItX4.js +2 -0
- package/dist/ui/assets/serial-picker-1VVNQI8D.js +1 -0
- package/dist/ui/assets/serial-port-registry-DsPZvGpT.js +1 -0
- package/dist/ui/assets/session-freezer-CgXtJVLu.js +1 -0
- package/dist/ui/assets/session-store-DAM8GRJ0.js +1 -0
- package/dist/ui/assets/{setup-sprinkle-exec-C7SBZY7y.js → setup-sprinkle-exec-P2hO-taT.js} +1 -1
- package/dist/ui/assets/shared-CrHp2zdc.js +1 -0
- package/dist/ui/assets/{slicc-editor-BdfBeQCF.js → slicc-editor-DKckizoI.js} +2 -2
- package/dist/ui/assets/{speak-CmXyuska.js → speak-B0KXFDjL.js} +1 -1
- package/dist/ui/assets/{speak-7UzWyUVB.js → speak-BwWMiCus.js} +3 -3
- package/dist/ui/assets/speech-assets-bridge-CFYafE89.js +1 -0
- package/dist/ui/assets/{sprinkle-bridge-CwelAMwV.js → sprinkle-bridge-DL0PzEfD.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-BcNkmc-E.js → sprinkle-manager-BrnXYZNe.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-GiRRbdBx.js → sprinkle-renderer-CsUow5K7.js} +3 -3
- package/dist/ui/assets/{sql-wasm-BWbkWL23.js → sql-wasm-JpZkOS2Q.js} +1 -1
- package/dist/ui/assets/store-CiLd7Ltk.js +1 -0
- package/dist/ui/assets/{sudo-CGD0Ki6b.js → sudo-SbEy0lx-.js} +3 -3
- package/dist/ui/assets/{sync-dialog-BFKWO6DT.js → sync-dialog-Ie_5SqoO.js} +1 -1
- package/dist/ui/assets/theme-Ca4mHxHv.js +1 -0
- package/dist/ui/assets/theme-engine-LmGLoWYX.js +3 -0
- package/dist/ui/assets/theme-presets-xiOb9AFN.js +1 -0
- package/dist/ui/assets/transform-messages-DiIjWKhh.js +1 -0
- package/dist/ui/assets/{transformers-env-ChIHsg1x.js → transformers-env-Blt6HC_1.js} +1 -1
- package/dist/ui/assets/{transformers-env-BQUf39mx.js → transformers-env-D24AdCVb.js} +1 -1
- package/dist/ui/assets/{transformers.web-BxHOGVSB.js → transformers.web-C6PlPLR-.js} +1 -1
- package/dist/ui/assets/{transformers.web-CuUo4MLm.js → transformers.web-DkJGoARp.js} +1 -1
- package/dist/ui/assets/tray-leader-Ce8YyKO5.js +1 -0
- package/dist/ui/assets/{tray-leave-runtime-CVAUUyWv.js → tray-leave-runtime-DWG6ewDi.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-D6i1xD-s.js → upgrade-detection-Bahy2mfY.js} +1 -1
- package/dist/ui/assets/usb-device-registry-k6vTKonT.js +1 -0
- package/dist/ui/assets/{usb-operations-CkcrNzZw.js → usb-operations-D-YdmmuG.js} +1 -1
- package/dist/ui/assets/usb-picker-SsbXAvwt.js +1 -0
- package/dist/ui/assets/{voice-reply-DeTF05vK.js → voice-reply-CdDTbx5C.js} +1 -1
- package/dist/ui/assets/{wc-attach-D63LJy4C.js → wc-attach-P61GYoY8.js} +3 -3
- package/dist/ui/assets/wc-extension-C_Atv9M1.js +2 -0
- package/dist/ui/assets/wc-float-label-COQsLLC2.js +1 -0
- package/dist/ui/assets/wc-follower-DLWJH9Wm.js +2 -0
- package/dist/ui/assets/{wc-live-BjRY1nkF.js → wc-live-CKisGrn6.js} +16 -16
- package/dist/ui/assets/wc-nav-C8bnEda_.js +2 -0
- package/dist/ui/assets/{wc-onboarding-CO2r3rtk.js → wc-onboarding-DQOqFqNj.js} +2 -2
- package/dist/ui/assets/{wc-permissions-DmHMvdiC.js → wc-permissions-CBFvg_0i.js} +3 -3
- package/dist/ui/assets/{wc-permissions-providers-BufEXbhX.js → wc-permissions-providers-Cdznv6xX.js} +2 -2
- package/dist/ui/assets/wc-permissions-registry-Blyunq37.js +1 -0
- package/dist/ui/assets/wc-permissions-registry-C7PhTX3c.js +1 -0
- package/dist/ui/assets/{wc-placeholder-DmDCYMMv.js → wc-placeholder-ClGtIyUC.js} +3 -3
- package/dist/ui/assets/wc-settings-CH0fgu4m.js +48 -0
- package/dist/ui/assets/{wc-shell-DwWXZMDq.js → wc-shell-FqlPeZfJ.js} +4 -4
- package/dist/ui/assets/wc-sprinkles-BtyrEgiD.js +2 -0
- package/dist/ui/assets/wc-tray-Dgcd1QIL.js +2 -0
- package/dist/ui/assets/welcome-detection-CQY88hjL.js +1 -0
- package/dist/ui/assets/{whisper-engine-B4F1IZk5.js → whisper-engine-DcSK9vG0.js} +1 -1
- package/dist/ui/assets/{whisper-session-bkHemaIa.js → whisper-session-tJ8m9ShN.js} +2 -2
- package/dist/ui/assets/{xai-grok-DnE_hbXu.js → xai-grok-CEiCsU5v.js} +1 -1
- package/dist/ui/assets/{xai-grok-CSI7j4LP.js → xai-grok-CtCLXgPn.js} +1 -1
- package/dist/ui/assets/{xterm-DooSxjI5.js → xterm-DMlKjmUi.js} +2 -2
- package/dist/ui/assets/{xterm-B5O_KJMf.js → xterm-Dwh1I9AE.js} +2 -2
- package/dist/ui/index.html +16 -16
- package/dist/ui/packages/webapp/index.html +16 -16
- package/package.json +4 -4
- package/dist/ui/assets/__vite-browser-external-BdY91arR.js +0 -1
- package/dist/ui/assets/__vite-browser-external-C7iut881.js +0 -1
- package/dist/ui/assets/account-store-DvidGCSz.js +0 -38
- package/dist/ui/assets/addon-fit-CuuUKmBe.js +0 -13
- package/dist/ui/assets/addon-fit-DthTIhi3.js +0 -1
- package/dist/ui/assets/bedrock-camp-9-QEmC9Z.js +0 -1
- package/dist/ui/assets/clipboard-DgFtRQbq.js +0 -1
- package/dist/ui/assets/dip-ZwIIoTvH.js +0 -1
- package/dist/ui/assets/dist-4q7gK6W0.js +0 -18
- package/dist/ui/assets/dist-eRjRxbMY2.js +0 -12
- package/dist/ui/assets/esp32-CatgC_Vd.js +0 -1
- package/dist/ui/assets/esp32c3-heViyR1Q.js +0 -1
- package/dist/ui/assets/esp8266-BPLrOmN4.js +0 -1
- package/dist/ui/assets/esp8266-DJkN1NMD.js +0 -1
- package/dist/ui/assets/esptool-operations-CiX8mbpu.js +0 -12
- package/dist/ui/assets/fs-CNaqdxK1.js +0 -1
- package/dist/ui/assets/google-shared-CVRDRmWo.js +0 -11
- package/dist/ui/assets/hid-device-registry-D2LsJCRr.js +0 -1
- package/dist/ui/assets/hid-picker-DUJBI46p.js +0 -1
- package/dist/ui/assets/icons-BU6llBsN.js +0 -1
- package/dist/ui/assets/intercepted-oauth-E9BfBX02.js +0 -1
- package/dist/ui/assets/js-realm-worker-CPYpgfMX.js +0 -49
- package/dist/ui/assets/json-parse-BUunmmNl.js +0 -3
- package/dist/ui/assets/json-parse-CWht3lea.js +0 -3
- package/dist/ui/assets/kokoro-B5jJ2WUJ.js +0 -4
- package/dist/ui/assets/kokoro-BdpwC7DT.js +0 -4
- package/dist/ui/assets/llm-session-id-DVmZ9C2t.js +0 -1
- package/dist/ui/assets/mistral-BTNTllXI.js +0 -46
- package/dist/ui/assets/mistral-BzfpfZhh.js +0 -46
- package/dist/ui/assets/mount-BIAbddcu.js +0 -1
- package/dist/ui/assets/mount-bridge-client-tEnjiHyh.js +0 -2
- package/dist/ui/assets/mount-picker-popup-Hrvzr69c.js +0 -1
- package/dist/ui/assets/mount-table-store-DAENz45Q.js +0 -1
- package/dist/ui/assets/mount-table-store-ggb440m4.js +0 -1
- package/dist/ui/assets/openai-completions-YNL_qr9N.js +0 -5
- package/dist/ui/assets/page-follower-tray-3aCyiYwD.js +0 -4
- package/dist/ui/assets/panel-rpc-D0J5pskz.js +0 -1
- package/dist/ui/assets/panel-rpc-DqT2FG7c.js +0 -1
- package/dist/ui/assets/panel-rpc-handlers-CY1CkLFB.js +0 -2
- package/dist/ui/assets/preload-helper-zJ_50EbN.js +0 -1
- package/dist/ui/assets/provider-store-access-CxkFfgDe.js +0 -1
- package/dist/ui/assets/provider-store-access-DrEF70fE.js +0 -1
- package/dist/ui/assets/providers-BaPDWsNI.js +0 -2
- package/dist/ui/assets/providers-Dge7mhGc.js +0 -1
- package/dist/ui/assets/proxied-fetch-B5vr_AP8.js +0 -2
- package/dist/ui/assets/proxied-fetch-I4cndszg.js +0 -1
- package/dist/ui/assets/py-realm-worker-LVNFvu8J.js +0 -244
- package/dist/ui/assets/quick-llm-3huRDf4h.js +0 -1
- package/dist/ui/assets/remote-cache-BL6NRenp.js +0 -1
- package/dist/ui/assets/remote-cdp-transport-BrkfZae9.js +0 -1
- package/dist/ui/assets/secrets-bridge-client-DXw32cXb.js +0 -2
- package/dist/ui/assets/serial-picker-B6s4NeaB.js +0 -1
- package/dist/ui/assets/serial-port-registry-Bc4wlwED.js +0 -1
- package/dist/ui/assets/session-freezer-Bu6IGBjC.js +0 -1
- package/dist/ui/assets/session-store-CCH7W8KY.js +0 -1
- package/dist/ui/assets/shared-DAA_6m5R.js +0 -1
- package/dist/ui/assets/speech-assets-bridge-B8NqCAE8.js +0 -1
- package/dist/ui/assets/store-GRbFxjv_.js +0 -1
- package/dist/ui/assets/theme-BBwuyzvz.js +0 -1
- package/dist/ui/assets/transform-messages-DzB_lMo-.js +0 -1
- package/dist/ui/assets/tray-leader-_L-5FP9I.js +0 -1
- package/dist/ui/assets/usb-device-registry-BP58Vi0S.js +0 -1
- package/dist/ui/assets/usb-picker-D_K0weAY.js +0 -1
- package/dist/ui/assets/wc-extension-CoQsUqQu.js +0 -2
- package/dist/ui/assets/wc-float-label-dfUH87GD.js +0 -1
- package/dist/ui/assets/wc-follower-3KEzkDWq.js +0 -2
- package/dist/ui/assets/wc-nav-HoPMQ97b.js +0 -2
- package/dist/ui/assets/wc-permissions-registry-CR1rTd2H.js +0 -1
- package/dist/ui/assets/wc-permissions-registry-Dx-BRiKK.js +0 -1
- package/dist/ui/assets/wc-settings-Dd2Pbdn9.js +0 -24
- package/dist/ui/assets/wc-sprinkles-DQtTnVxO.js +0 -2
- package/dist/ui/assets/wc-tray-B2k2gf2c.js +0 -2
- package/dist/ui/assets/welcome-detection-Cr8mNEkt.js +0 -1
- /package/dist/ui/assets/{chunk-aKtaBQYM.js → rolldown-runtime-aKtaBQYM.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-aKtaBQYM.js";var t=e({getLeaderPermissionsSurface:()=>r,setLeaderPermissionsSurface:()=>i}),n=null;function r(){return n}function i(e){n=e}export{i as n,t as r,r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-aKtaBQYM.js";var t=e({getLeaderPermissionsSurface:()=>n});function n(){return null}export{t as n,n as t};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-ahaKd8Mt.js","assets/preload-helper-zJ_50EbN.js","assets/proxied-fetch-B5vr_AP8.js","assets/chunk-aKtaBQYM.js","assets/src-x0cJ68Fe.js","assets/fetch-body-D2PwksUW.js","assets/panel-rpc-DqT2FG7c.js","assets/wc-permissions-registry-CR1rTd2H.js","assets/main-ONpvMnyR.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/account-store-DvidGCSz.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/logger-DDBAeTLF.js","assets/providers-BaPDWsNI.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/messages-BD4p8GuF.js","assets/clipboard-DgFtRQbq.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-zJ_50EbN.js";var t=`slicc-wc-settings-style`,n=`
|
|
3
|
-
/* Width is owned by the dialog card (via ::part) — a min-width on the body
|
|
4
|
-
used to overflow the card's content box and clip the row borders. */
|
|
5
|
-
slicc-dialog.wcset-dialog::part(dialog){width:min(520px,92vw);}
|
|
6
|
-
.wcset{display:flex;flex-direction:column;gap:14px;font-family:var(--ui);color:var(--ink);}
|
|
7
|
-
.wcset__list{display:flex;flex-direction:column;gap:8px;}
|
|
8
|
-
.wcset__empty{color:var(--txt-3);font-size:12.5px;}
|
|
9
|
-
.wcset__row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);}
|
|
10
|
-
.wcset__info{flex:1;min-width:0;}
|
|
11
|
-
.wcset__name{font-size:13px;font-weight:600;}
|
|
12
|
-
.wcset__detail{font-size:11px;color:var(--txt-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
|
13
|
-
.wcset__btn{font:500 12px var(--ui);color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:8px;padding:5px 10px;cursor:pointer;flex:0 0 auto;}
|
|
14
|
-
.wcset__btn:hover{background:var(--ghost);}
|
|
15
|
-
.wcset__btn--danger:hover{color:#b91c1c;border-color:#b91c1c;}
|
|
16
|
-
.wcset__btn--primary{background:var(--ink);color:var(--canvas);border-color:var(--ink);}
|
|
17
|
-
.wcset__btn--primary:hover{background:color-mix(in srgb,var(--ink) 85%,var(--canvas));}
|
|
18
|
-
.wcset__add{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:14px;}
|
|
19
|
-
.wcset__label{font-size:11px;font-weight:600;color:var(--txt-2);text-transform:uppercase;letter-spacing:.04em;}
|
|
20
|
-
.wcset__select,.wcset__input{font:400 12.5px var(--ui);color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:7px 9px;outline:none;width:100%;box-sizing:border-box;}
|
|
21
|
-
.wcset__select:focus,.wcset__input:focus{border-color:var(--ctx);}
|
|
22
|
-
.wcset__status{font-size:11.5px;color:var(--txt-3);min-height:14px;}
|
|
23
|
-
.wcset__status[data-error]{color:#b91c1c;}
|
|
24
|
-
`;function r(e){if(e.getElementById(t))return;let r=e.createElement(`style`);r.id=t,r.textContent=n,e.head.appendChild(r)}function i(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function a(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function o(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function s(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:o(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function c(t,n,r){let{ps:i,log:a,setStatus:o,renderList:s}=r,c=i.getProviderConfig(t),l=i.getAccounts().some(e=>e.providerId===t);if(c.requiresBaseUrl){if(!n.trim()&&!i.getBaseUrlForProvider(t)){o(`Base URL is required.`,!0);return}n.trim()&&i.addAccount(t,``,n.trim())}o(`Opening login window…`);let u=()=>{o(``),s()};try{if(c.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-ahaKd8Mt.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7])),n=await t();if(!n)throw Error(`No controlled-browser CDP transport available — open SLICC in standalone mode or the Chrome extension.`);await c.onOAuthLoginIntercepted(n,u)}else if(c.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-ahaKd8Mt.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7]));await c.onOAuthLogin(t(),u)}else throw Error(`${c.name} does not support interactive login.`)}catch(e){l||await i.removeAccount(t).catch(()=>void 0),a.error(`WC settings OAuth login failed`,{providerId:t,err:e}),o(`Login failed: ${e instanceof Error?e.message:String(e)}`,!0)}}function l(e,t,n){let{ps:r,log:o,setStatus:l,renderList:u}=n,d=i(`wcset__row`),f=i(`wcset__info`);if(f.append(i(`wcset__name`,t.name),i(`wcset__detail`,s(e))),d.append(f),t.isOAuth){let t=e.loggedOut===!0;d.append(a(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?c(e.providerId,``,n):r.logoutOAuthAccount(e.providerId).then(u).catch(t=>{o.error(`WC settings logout failed`,{providerId:e.providerId,err:t}),l(`Logout failed.`,!0)})}))}return d.append(a(`wcset__btn wcset__btn--danger`,`Remove`,()=>{r.removeAccount(e.providerId).then(u).catch(t=>{o.error(`WC settings remove failed`,{providerId:e.providerId,err:t}),l(`Remove failed.`,!0)})})),d}function u(e){let{ps:t,setStatus:n}=e,r=i(`wcset__add`);r.append(i(`wcset__label`,`Add account`));let o=document.createElement(`select`);o.className=`wcset__select`;let s=document.createElement(`option`);s.value=``,s.textContent=`Choose a provider…`,o.append(s);let l=new Set(t.getAccounts().map(e=>e.providerId)),u=t.getAvailableProviders().filter(e=>!l.has(e)&&t.providerOffersLlmModels(e)).sort((e,n)=>t.getProviderConfig(e).name.localeCompare(t.getProviderConfig(n).name));for(let e of u){let n=document.createElement(`option`);n.value=e,n.textContent=t.getProviderConfig(e).name,o.append(n)}r.append(o);let d=i(`wcset__controls`);return d.style.cssText=`display:flex;flex-direction:column;gap:8px;`,r.append(d),o.addEventListener(`change`,()=>{d.replaceChildren(),n(``);let r=o.value;if(!r)return;let i=t.getProviderConfig(r),s=document.createElement(`input`);if(s.className=`wcset__input`,s.placeholder=i.baseUrlPlaceholder??`Base URL`,s.value=t.getBaseUrlForProvider(r)??``,i.requiresBaseUrl&&d.append(s),i.isOAuth){d.append(a(`wcset__btn wcset__btn--primary`,`Login with ${i.name}`,()=>{c(r,s.value,e)}));return}let l=document.createElement(`input`);l.className=`wcset__input`,l.placeholder=i.deploymentPlaceholder??`Model IDs (comma-separated)`,l.value=t.getDeploymentForProvider(r)??``,i.requiresDeployment&&d.append(l);let u=document.createElement(`input`);u.className=`wcset__input`,u.type=`password`,u.placeholder=i.apiKeyPlaceholder??`API key`,u.setAttribute(`data-testid`,`wcset-api-key`),(i.requiresApiKey||i.optionalApiKey)&&d.append(u),d.append(a(`wcset__btn wcset__btn--primary`,`Save`,()=>{let a=u.value.trim();if(i.requiresApiKey&&!a){n(`An API key is required.`,!0),u.focus();return}if(i.requiresBaseUrl&&!s.value.trim()){n(`Base URL is required.`,!0),s.focus();return}if(i.requiresDeployment&&!l.value.trim()){n(`Model IDs are required.`,!0),l.focus();return}t.addAccount(r,a,s.value.trim()||void 0,l.value.trim()||void 0),u.value=``,n(`${i.name} connected.`),e.renderList()}))}),r}async function d(t){let n=await e(()=>import(`./main-ONpvMnyR.js`).then(e=>e.t),__vite__mapDeps([8,3,9,1,10,11,12,13,14,15,16,17,4,2,5,18,19,6,20,21,22,23,24]));r(document);let o=JSON.stringify(n.getAccounts());return new Promise(e=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Accounts`);let s=i(`wcset`),c=i(`wcset__list`),d=i(`wcset__status`),f=(e,t=!1)=>{d.textContent=e,d.toggleAttribute(`data-error`,t)},p=o,m=()=>{let e=JSON.stringify(n.getAccounts());e!==p&&(p=e,window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`)))},h=i(``),g={ps:n,log:t,setStatus:f,renderList:()=>{m(),c.replaceChildren();let e=n.getAccounts();if(e.length===0)c.append(i(`wcset__empty`,`No accounts configured.`));else for(let t of e)c.append(l(t,n.getProviderConfig(t.providerId),g));h.replaceChildren(u(g))}};g.renderList(),s.append(c,h,d),r.append(s);let _=a(`wcset__btn wcset__btn--primary`,`Done`,()=>{r.hide?.()});_.setAttribute(`slot`,`footer`),r.append(_),r.addEventListener(`slicc-dialog-close`,()=>{r.remove(),e(JSON.stringify(n.getAccounts())!==o)}),document.body.append(r),r.show?.()})}export{d as showWcSettings};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/legacy-styles-4PP74ISo.js","assets/preload-helper-zJ_50EbN.js","assets/sprinkle-manager-BcNkmc-E.js","assets/main-ONpvMnyR.js","assets/chunk-aKtaBQYM.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/account-store-DvidGCSz.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/logger-DDBAeTLF.js","assets/providers-BaPDWsNI.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-B5vr_AP8.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/panel-rpc-DqT2FG7c.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/messages-BD4p8GuF.js","assets/clipboard-DgFtRQbq.js","assets/sprinkle-bridge-CwelAMwV.js","assets/shared-DAA_6m5R.js","assets/mime-types-ugOWOUZ9.js","assets/hid-device-registry-D2LsJCRr.js","assets/usb-operations-CkcrNzZw.js","assets/serial-port-registry-Bc4wlwED.js","assets/usb-device-registry-BP58Vi0S.js","assets/sprinkle-renderer-GiRRbdBx.js","assets/theme-BBwuyzvz.js","assets/setup-sprinkle-exec-C7SBZY7y.js","assets/dip-ZwIIoTvH.js","assets/wc-live-BjRY1nkF.js","assets/wc-shell-DwWXZMDq.js","assets/icons-BU6llBsN.js","assets/soundscape-cues-5_sT5Un6.js","assets/speech-CqQdPtyQ.js","assets/wc-shell-WkeczD9x.css","assets/tray-leader-_L-5FP9I.js","assets/wc-permissions-registry-CR1rTd2H.js","assets/quick-llm-3huRDf4h.js","assets/llm-session-id-DVmZ9C2t.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-zJ_50EbN.js";var t=`sprinkle:`,n=`slicc-sprinkle-icons`;function r(){try{let e=localStorage.getItem(n);if(!e)return{};let t=JSON.parse(e);if(typeof t!=`object`||!t)return{};let r={};for(let[e,n]of Object.entries(t))typeof n==`string`&&(r[e]=n);return r}catch{return{}}}function i(e){try{let t=new Set(e),i=Object.fromEntries(Object.entries(r()).filter(([e])=>t.has(e)));localStorage.setItem(n,JSON.stringify(i))}catch{}}function a(e,t){try{localStorage.setItem(n,JSON.stringify({...r(),[e]:t}))}catch{}}function o(e){return typeof e==`string`&&/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)}function s(e){return`${t}${e}`}function c(e){return e?.startsWith(t)?e.slice(9):null}var l=[{id:`files`,label:`files`,kind:`tool`},{id:`term`,label:`terminal`,kind:`tool`},{id:`memory`,label:`memory`,kind:`tool`},{id:`monitor`,label:`monitor`,kind:`tool`}],u=class{#e;#t=new Map;#n=new Map;#r=new Map;#i=new Set;constructor(e){this.#e=e}seedDockItems(e){let t=r(),n=!1;for(let r of e)this.#n.has(r)||(this.#i.add(r),this.#n.set(r,{id:s(r),icon:t[r]??`sparkles`,label:r,kind:`sprinkle`}),n=!0);n&&this.#u()}dropUnconfirmedSeeds(){let e=!1;for(let t of this.#i)this.#r.has(t)||(this.#n.delete(t),e=!0);this.#i.clear(),e&&this.#u()}callbacks(){return{addSprinkle:(e,t,n,r,i)=>this.#a(e,t,n,i),removeSprinkle:e=>this.#o(e,{keepDockItem:!1}),minimizeSprinkle:e=>this.#s(e),registerSprinkle:(e,t,n)=>this.#c(e,t,n?.icon),unregisterSprinkle:e=>this.#l(e),closeSprinkleContent:e=>this.#o(e,{keepDockItem:!0})}}updateDockIcon(e,t){let n=this.#n.get(e);!n||n.icon===t||(this.#n.set(e,{...n,icon:t}),this.#u())}defaultIconNames(){return[...this.#n.entries()].filter(([,e])=>e.icon===`sparkles`).map(([e])=>e)}isOpen(e){return this.#r.has(e)}#a(e,t,n,r){let i=s(e),a=this.#r.get(e);a||(a=document.createElement(`slicc-surface`),a.setAttribute(`surface-id`,i),a.setAttribute(`layout`,`flex`),this.#e.workbenchBody.append(a),this.#r.set(e,a)),a.replaceChildren(n),this.#t.set(e,{id:i,label:t,kind:`sprinkle`,closable:!0}),this.#c(e,t,r?.icon),this.#u(),!r?.attention&&!r?.background&&this.#d(i)}#o(e,t){let n=s(e);this.#r.get(e)?.remove(),this.#r.delete(e),this.#t.delete(e),t.keepDockItem||this.#n.delete(e),this.#u(),this.#e.workbenchBody.getAttribute(`active`)===n&&this.#d(`files`)}#s(e){this.#e.workbenchBody.getAttribute(`active`)===s(e)&&(this.#e.shell.removeAttribute(`open`),this.#e.dock.removeAttribute(`active`))}#c(e,t,n){this.#i.delete(e);let i=o(n)?n:r()[e]??`sparkles`;this.#n.set(e,{id:s(e),icon:i,label:t,kind:`sprinkle`}),this.#u()}#l(e){this.#r.has(e)||(this.#n.delete(e),this.#u())}#u(){this.#e.tabBar.tabs=[...l,...this.#t.values()],this.#e.dock.items=[...this.#n.values()],this.#e.workbenchHeader.toggleAttribute(`hidden`,this.#t.size===0)}#d(e){this.#e.shell.setAttribute(`open`,``),this.#e.workbenchBody.setAttribute(`active`,e),this.#e.dock.setAttribute(`active`,e),this.#e.tabBar.setAttribute(`active`,e)}};async function d(t){let{refs:n,client:r,fs:a,instanceId:o,onAttachImage:s,log:l}=t,d=new u(n),{loadSprinkleStyles:m}=await e(async()=>{let{loadSprinkleStyles:e}=await import(`./legacy-styles-4PP74ISo.js`);return{loadSprinkleStyles:e}},__vite__mapDeps([0,1]));await m();let{SprinkleManager:h,readKnownSprinkleNames:g}=await e(async()=>{let{SprinkleManager:e,readKnownSprinkleNames:t}=await import(`./sprinkle-manager-BcNkmc-E.js`);return{SprinkleManager:e,readKnownSprinkleNames:t}},__vite__mapDeps([2,3,4,5,1,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]));d.seedDockItems(g());let{installSprinkleManagerHandlerOverChannel:_}=await e(async()=>{let{installSprinkleManagerHandlerOverChannel:e}=await import(`./sprinkle-bridge-channel-DiTL7Uq5.js`);return{installSprinkleManagerHandlerOverChannel:e}},[]),{createSprinkleExecHandler:v}=await e(async()=>{let{createSprinkleExecHandler:e}=await import(`./setup-sprinkle-exec-C7SBZY7y.js`);return{createSprinkleExecHandler:e}},__vite__mapDeps([34,1])),{setDipExecHandler:y}=await e(async()=>{let{setDipExecHandler:e}=await import(`./dip-ZwIIoTvH.js`);return{setDipExecHandler:e}},__vite__mapDeps([35,36,1,6,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,37,38,3,5,23,24,39,40,41,26,27,28,29,30,31,42,25,32,33,43])),b=typeof chrome<`u`&&!!chrome?.runtime?.id,x=v(r),S=new h(a,e=>{e.type===`sprinkle`&&e.sprinkleName&&r.sendSprinkleLick(e.sprinkleName,e.body,e.targetScoop)},d.callbacks(),()=>{let e=r.getScoops().find(e=>e.isCone);e&&r.stopScoop(e.jid)},{...b?{autoOpenBehavior:`attention`}:{},inlineSprinkles:new Set([`welcome`]),execHandler:x,onAttachImage:s??(()=>{})});if(window.__slicc_sprinkleManager=S,y(x),o!==void 0){let e=_(S,{instanceId:o});window.addEventListener(`beforeunload`,()=>e(),{once:!0})}else if(b){let{handleSprinkleOp:t}=await e(async()=>{let{handleSprinkleOp:e}=await import(`./sprinkle-op-handler-Dta4p7Tc.js`);return{handleSprinkleOp:e}},[]);r.setSprinkleOpHandler(e=>{let{id:n,op:r,name:i,data:a}=e;t(S,n,r,i,a)})}p(n.tabBar,e=>S.close(e)),n.dock.addEventListener(`slicc-dock-select`,e=>{let t=c(e.detail?.id);t&&S.activate(t).catch(e=>l.error(`WC sprinkle activate failed`,e))});let C=!1,w=async()=>{if(await S.refresh(),S.available().length>0){d.dropUnconfirmedSeeds();let t=S.available().map(e=>e.name),{pruneKnownSprinkleNames:n}=await e(async()=>{let{pruneKnownSprinkleNames:e}=await import(`./sprinkle-manager-BcNkmc-E.js`);return{pruneKnownSprinkleNames:e}},__vite__mapDeps([2,3,4,5,1,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]));n(t),i(t)}await S.restoreOpenSprinkles().catch(e=>{l.warn(`WC shell: failed to restore open sprinkles`,e)}),C||(C=!0,e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-3huRDf4h.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([44,4,6,1,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,38,45])).then(({pickLucideIcon:e})=>f(d,S.available(),t=>e({subject:t}))).catch(()=>void 0).finally(()=>{C=!1}))};return w().catch(e=>l.warn(`WC shell: initial sprinkle resync failed`,e)),{manager:S,zone:d,resync:w}}async function f(e,t,n){let i=new Set(e.defaultIconNames()),s=r();for(let r of t){if(!i.has(r.name)||o(r.icon))continue;let t=s[r.name];if(t){e.updateDockIcon(r.name,t);continue}let c=await n(`"${r.title}" — a SLICC sprinkle panel (${r.name})`);c&&(a(r.name,c),e.updateDockIcon(r.name,c))}}function p(e,t){e.addEventListener(`tab-close`,e=>{let n=c(e.detail?.id);n&&t(n)})}export{u as WcSprinkleZone,d as wireWcSprinkles};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panel-rpc-DqT2FG7c.js","assets/chunk-aKtaBQYM.js","assets/panel-rpc-handlers-CY1CkLFB.js","assets/preload-helper-zJ_50EbN.js","assets/account-store-DvidGCSz.js","assets/dist-BmWy99kl.js","assets/event-stream-BJI_nGaK.js","assets/json-parse-BUunmmNl.js","assets/__vite-browser-external-C7iut881.js","assets/context-compaction-CFWyOzX1.js","assets/logger-DDBAeTLF.js","assets/providers-BaPDWsNI.js","assets/src-x0cJ68Fe.js","assets/proxied-fetch-B5vr_AP8.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-Bp0wH2ni.js","assets/secrets-bridge-client-DXw32cXb.js","assets/bedrock-camp-9-QEmC9Z.js","assets/transform-messages-DzB_lMo-.js","assets/tool-ui-DfXu6quJ.js","assets/main-ONpvMnyR.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/messages-BD4p8GuF.js","assets/clipboard-DgFtRQbq.js","assets/hid-device-registry-D2LsJCRr.js","assets/usb-operations-CkcrNzZw.js","assets/serial-port-registry-Bc4wlwED.js","assets/usb-device-registry-BP58Vi0S.js","assets/wc-permissions-registry-CR1rTd2H.js","assets/tray-leader-_L-5FP9I.js","assets/remote-cdp-transport-BrkfZae9.js","assets/hosted-config-apply-uAym2aS5.js","assets/legacy-styles-4PP74ISo.js","assets/tray-leave-runtime-CVAUUyWv.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-zJ_50EbN.js";import{P as t,R as n}from"./account-store-DvidGCSz.js";import{a as r}from"./context-compaction-CFWyOzX1.js";import{t as i}from"./logger-DDBAeTLF.js";import{i as a}from"./src-x0cJ68Fe.js";import{a as o,t as s}from"./proxied-fetch-B5vr_AP8.js";import{r as c}from"./panel-rpc-DqT2FG7c.js";import{E as l,b as u,d,f,h as p,x as m,y as h}from"./main-ONpvMnyR.js";import{a as g,c as _,i as v,l as y,o as ee,t as te}from"./remote-cdp-transport-BrkfZae9.js";import"./browser-D0vICVpZ.js";import{i as ne,n as b,t as x}from"./tray-leader-_L-5FP9I.js";import{a as S,i as C,n as w,o as T,r as E,t as D}from"./page-follower-tray-3aCyiYwD.js";i(`scoops.tray-leave`),i(`scoops.tray-join`);var O=null;function k(e){O=e}function A(){return O?.()??[]}var j=`slicc.leaderTrayFollowers`;function M(e,t=globalThis.localStorage){try{t?.setItem(j,JSON.stringify(e))}catch{}}async function N(t){let{instanceId:n,browser:r,remoteCdpBridge:i,remoteCdpPushChannel:a,getLeader:o,performTrayLeaveLocally:s,window:c}=t,{installPanelRpcHandler:u,createPanelRpcEventEmitter:d}=await e(async()=>{let{installPanelRpcHandler:e,createPanelRpcEventEmitter:t}=await import(`./panel-rpc-DqT2FG7c.js`).then(e=>e.i);return{installPanelRpcHandler:e,createPanelRpcEventEmitter:t}},__vite__mapDeps([0,1])),{createStandalonePanelRpcHandlers:f}=await e(async()=>{let{createStandalonePanelRpcHandlers:e}=await import(`./panel-rpc-handlers-CY1CkLFB.js`);return{createStandalonePanelRpcHandlers:e}},__vite__mapDeps([2,3,4,1,5,6,7,8,9,10,11,12,13,14,15,16,0,17,18,19,20,21,22,23,24,25,26,27])),{getLeaderPermissionsSurface:p}=await e(async()=>{let{getLeaderPermissionsSurface:e}=await import(`./wc-permissions-registry-CR1rTd2H.js`).then(e=>e.r);return{getLeaderPermissionsSurface:e}},__vite__mapDeps([28,1])),m=d({instanceId:n}),h=u({instanceId:n,handlers:f({resetTray:async()=>{let e=o();if(!e)throw Error(`no active tray session to reset`);return await e.reset()},leaveTray:async({workerBaseUrl:e,requestId:t})=>await s({workerBaseUrl:e,requestId:t}),joinTray:({joinUrl:e})=>(l(c.localStorage,e),c.dispatchEvent(new CustomEvent(`slicc:tray-join`,{detail:{joinUrl:e}})),{joinUrl:e}),emitEvent:(e,t)=>m.emit(e,t),emitCherrySliccEvent:(e,t,n)=>o()?.sync.emitCherrySliccEvent(e,t,n)??!1,mintPreview:async({entryPath:t,servedRoot:n,bridge:r,noBridge:i})=>{let a=o()?.currentLeaderSync;if(!a)throw Error(`serve: no active leader tray; cannot mint preview`);let{getLeaderTrayRuntimeStatus:s}=await e(async()=>{let{getLeaderTrayRuntimeStatus:e}=await import(`./tray-leader-_L-5FP9I.js`).then(e=>e.a);return{getLeaderTrayRuntimeStatus:e}},__vite__mapDeps([29,1,20,21,3,4,5,6,7,8,9,10,11,12,13,14,15,16,0,17,18,19,22,23])),c=s().session;if(!c)throw Error(`serve: leader tray has no active session`);let l=new URL(c.controllerUrl).pathname.split(`/`).pop()??``,{CHERRY_RUNTIME_TAG:u}=await e(async()=>{let{CHERRY_RUNTIME_TAG:e}=await import(`./remote-cdp-transport-BrkfZae9.js`).then(e=>e.u);return{CHERRY_RUNTIME_TAG:e}},__vite__mapDeps([30,1,10])),{mintPreviewViaWorker:d}=await e(async()=>{let{mintPreviewViaWorker:e}=await import(`./preview-mint-client-0bViE0n9.js`);return{mintPreviewViaWorker:e}},[]),f=a.getConnectedFollowers().some(e=>e.runtime===u),p=!i&&(r||f),{url:m}=await d({workerBaseUrl:c.workerBaseUrl,trayId:c.trayId,controllerToken:l,servedRoot:n,entryPath:t,allowLive:p});return a.broadcastPreviewOpen(m),{url:m,pushed:a.getConnectedFollowers().length}},listRemoteTargets:()=>r.listAllTargets(),remoteCdp:i,getPermissionsSurface:()=>p()})});c.addEventListener(`beforeunload`,()=>{h(),m.dispose(),i.disposeAll(),a?.close()},{once:!0})}async function P(r){let{log:i}=r;await new Promise(e=>setTimeout(e,5e3));try{let r=await fetch(o(`/api/hosted-bootstrap`),{signal:AbortSignal.timeout(1e4),headers:s()});if(!r.ok)return;let a=await r.json(),c=a.accounts??(a.adobeImsToken?[{providerId:`adobe`,kind:`oauth`,accessToken:a.adobeImsToken}]:[]);a.model?localStorage.setItem(`selected-model`,a.model):localStorage.getItem(`selected-model`)||localStorage.setItem(`selected-model`,`adobe:claude-opus-4-6`);let[{applyHostedAccounts:l,prewarmHostedModels:u},d]=await Promise.all([e(()=>import(`./hosted-config-apply-uAym2aS5.js`),__vite__mapDeps([31,10])),e(()=>import(`./main-ONpvMnyR.js`).then(e=>e.t),__vite__mapDeps([20,1,21,3,4,5,6,7,8,9,10,11,12,13,14,15,16,0,17,18,19,22,23]))]);await u(c,{getRefreshModels:e=>d.getProviderConfig(e).refreshModels});let f=JSON.parse(localStorage.getItem(`slicc_cloud_managed`)??`[]`);await l(c,{saveOAuthAccount:n,addAccount:d.addAccount,removeAccount:t,currentProviderIds:()=>d.getAccounts().map(e=>e.providerId),previouslyManaged:()=>f}),localStorage.setItem(`slicc_cloud_managed`,JSON.stringify(c.map(e=>e.providerId))),i.info(`hosted-leader: cone config applied`,{count:c.length})}catch(e){i.warn(`hosted-leader: bootstrap fetch failed; provider needs manual login`,{error:e instanceof Error?e.message:String(e)})}}function F(e,t){if(!e||!t||!e.startsWith(`/`)||t===`/`||/%2[eE]/.test(e)||e.split(`/`).some(e=>e===`.`||e===`..`))return!1;let n=t.endsWith(`/`)?t.slice(0,-1):t;return e===n?!0:e.startsWith(n+`/`)}var I=64*1024;async function L(e,t,n){let{reqId:r,servedRoot:i,asText:o}=e,s=e.vfsPath;if(!F(s,i)){t.send({type:`preview.response`,reqId:r,ok:!1,status:403});return}try{if((await n.stat(s)).type===`directory`&&(s=s.replace(/\/?$/,`/`)+`index.html`,!F(s,i))){t.send({type:`preview.response`,reqId:r,ok:!1,status:403});return}}catch{}let c,l;try{o?(c=await n.readFile(s,{encoding:`utf-8`}),l=`utf-8`):(c=a(await n.readFile(s,{encoding:`binary`})),l=`base64`)}catch(e){e?.code===`ENOENT`?t.send({type:`preview.response`,reqId:r,ok:!1,status:404}):t.send({type:`preview.response`,reqId:r,ok:!1,status:500,reason:String(e?.message??e)});return}let u=z(s),d=R(c,I);for(let e=0;e<d.length;e++)t.send({type:`preview.response`,reqId:r,ok:!0,mime:u,chunkIndex:e,totalChunks:d.length,content:d[e],encoding:l})}function R(e,t){if(e.length<=t)return[e];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function z(e){return/\.html?$/i.test(e)?`text/html`:/\.css$/i.test(e)?`text/css`:/\.m?js$/i.test(e)?`application/javascript`:/\.json$/i.test(e)?`application/json`:/\.svg$/i.test(e)?`image/svg+xml`:/\.png$/i.test(e)?`image/png`:/\.jpe?g$/i.test(e)?`image/jpeg`:/\.gif$/i.test(e)?`image/gif`:/\.webp$/i.test(e)?`image/webp`:/\.ico$/i.test(e)?`image/x-icon`:/\.woff2$/i.test(e)?`font/woff2`:/\.woff$/i.test(e)?`font/woff`:/\.ttf$/i.test(e)?`font/ttf`:/\.mp4$/i.test(e)?`video/mp4`:/\.webm$/i.test(e)?`video/webm`:/\.mp3$/i.test(e)?`audio/mpeg`:/\.pdf$/i.test(e)?`application/pdf`:/\.xml$/i.test(e)?`application/xml`:/\.wasm$/i.test(e)?`application/wasm`:`application/octet-stream`}i(`lick-manager`);var B=new Set([`navigate`]),V=class{runtimes=new Map;dirty=!1;setTargets(e,t){this.runtimes.set(e,t),this.dirty=!0}removeRuntime(e){this.runtimes.delete(e)&&(this.dirty=!0)}getEntries(){this.dirty=!1;let e=[];for(let[t,n]of this.runtimes)for(let r of n)e.push({targetId:`${t}:${r.targetId}`,localTargetId:r.targetId,runtimeId:t,title:r.title,url:r.url,isLocal:!1,kind:r.kind??`browser`,capabilities:r.capabilities});return e}hasChanged(){return this.dirty}getRuntimeIds(){return[...this.runtimes.keys()]}},H=i(`tray-leader-sync`);function U(e){return e?e.includes(`ios`)?`ios`:e.includes(`standalone`)?`standalone`:e.includes(`extension`)?`extension`:e.includes(`electron`)?`electron`:`unknown`:`unknown`}function W(e,t){switch(e){case`extension`:return`extension follower`;case`standalone`:return`standalone follower`;case`electron`:return`Electron follower`;case`ios`:return`iOS follower`;default:return t?`follower (${t})`:`follower`}}function G(e){return e.kind===`cherry`}function re(e,t){return e.filter(e=>G(e)&&t.requireNetwork?e.capabilities?.network===!0:!0)}var K=class e{options;followers=new Map;registry=new V;runtimeToBootstrap=new Map;pendingCDPRoutes=new Map;cdpChunkBuffers=new Map;remoteTransports=new Map;pendingTabOpenRoutes=new Map;tabOpenResolvers=new Map;pendingFsRoutes=new Map;fsResolvers=new Map;constructor(e){this.options=e}addFollower(e,t,n){this.removeFollower(e);let r=v(t),i=r.onMessage(t=>{this.handleFollowerMessage(e,t)}),a=new S({sendPing:()=>r.send({type:`ping`}),onDead:()=>{H.warn(`Follower keepalive dead, removing follower`,{bootstrapId:e}),this.removeFollower(e),this.options.onFollowerDead?.(e)}});a.start(),this.followers.set(e,{bootstrapId:e,sync:r,unsubscribe:i,keepalive:a,runtime:n?.runtime,connectedAt:n?.connectedAt,lastActivity:Date.now(),floatType:U(n?.runtime)}),H.info(`Follower added to sync`,{bootstrapId:e,followerCount:this.followers.size}),this.options.onFollowerCountChanged?.(this.followers.size),this.sendSnapshotToFollower(e),this.sendScoopsListToFollower(e),this.sendSprinklesListToFollower(e);let o=this.getConnectedEntries();o.length>0&&r.send({type:`targets.registry`,targets:o})}removeFollower(e){let t=this.followers.get(e);if(t){t.keepalive.stop(),t.unsubscribe(),t.sync.close(),this.followers.delete(e),this.followerBroadcastErrorLogAt.delete(e);for(let[t,n]of this.runtimeToBootstrap)if(n===e){this.cleanupRemoteTransports(t),this.registry.removeRuntime(t),this.runtimeToBootstrap.delete(t);break}this.registry.hasChanged()&&this.broadcastTargetRegistry(),H.info(`Follower removed from sync`,{bootstrapId:e,followerCount:this.followers.size}),this.options.onFollowerCountChanged?.(this.followers.size)}}followerBroadcastErrorLogAt=new Map;static BROADCAST_ERROR_THROTTLE_MS=6e4;broadcastToAllFollowers(t){let n=performance.now();for(let[r,i]of this.followers)try{i.sync.send(t),this.followerBroadcastErrorLogAt.delete(r)}catch(i){n-(this.followerBroadcastErrorLogAt.get(r)??-1/0)>e.BROADCAST_ERROR_THROTTLE_MS&&(this.followerBroadcastErrorLogAt.set(r,n),H.error(`Broadcast send to follower failed (channel may be stuck)`,{bootstrapId:r,messageType:t.type,error:i instanceof Error?i.message:String(i)}))}}broadcastEvent(e){if(this.followers.size===0)return;let t={type:`agent_event`,event:e,scoopJid:this.options.getScoopJid()};this.broadcastToAllFollowers(t)}broadcastUserMessage(e,t,n){if(this.followers.size===0)return;let i={type:`user_message_echo`,text:e,messageId:t,scoopJid:this.options.getScoopJid(),attachments:n?.length?r(n):n};this.broadcastToAllFollowers(i)}broadcastStatus(e){if(this.followers.size===0)return;let t={type:`status`,scoopStatus:e};this.broadcastToAllFollowers(t)}async sendSnapshotToFollower(e,t){let n=this.followers.get(e);if(!n)return;let r=t??n.selectedScoopJid??this.options.getScoopJid(),i;if(this.options.getMessagesForScoop&&r!==this.options.getScoopJid())try{i=await Promise.resolve(this.options.getMessagesForScoop(r))}catch(e){H.warn(`getMessagesForScoop failed, falling back to active scoop`,{targetJid:r,error:e instanceof Error?e.message:String(e)}),i=this.options.getMessages()}else i=this.options.getMessages();n.selectedScoopJid=r,y(n.sync,i,r),H.debug(`Snapshot sent to follower`,{bootstrapId:e,messageCount:i.length,scoopJid:r})}sendScoopsListToFollower(e){let t=this.followers.get(e);if(!t)return;let n=this.options.getScoops;if(n)try{let e=n(),r=this.options.getScoopJid();t.sync.send({type:`scoops.list`,scoops:e,activeScoopJid:r})}catch(t){H.warn(`Failed to send scoops.list`,{bootstrapId:e,error:t instanceof Error?t.message:String(t)})}}sendSprinklesListToFollower(e){let t=this.followers.get(e);if(!t)return;let n=this.options.getSprinkles;if(n)try{let e=n();t.sync.send({type:`sprinkles.list`,sprinkles:e})}catch(t){H.warn(`Failed to send sprinkles.list`,{bootstrapId:e,error:t instanceof Error?t.message:String(t)})}}broadcastScoopsList(){if(this.followers.size===0)return;let e=this.options.getScoops;if(!e)return;let t;try{t=e()}catch(e){H.warn(`Failed to compute scoops list`,{error:e instanceof Error?e.message:String(e)});return}let n=this.options.getScoopJid(),r={type:`scoops.list`,scoops:t,activeScoopJid:n};this.broadcastToAllFollowers(r)}broadcastSprinklesList(){if(this.followers.size===0)return;let e=this.options.getSprinkles;if(!e)return;let t;try{t=e()}catch(e){H.warn(`Failed to compute sprinkles list`,{error:e instanceof Error?e.message:String(e)});return}let n={type:`sprinkles.list`,sprinkles:t};this.broadcastToAllFollowers(n)}broadcastSprinkleUpdate(e,t){if(this.followers.size===0)return;let n={type:`sprinkle.update`,sprinkleName:e,data:t};this.broadcastToAllFollowers(n)}broadcastSprinkleReloaded(e){this.followers.size!==0&&this.broadcastToAllFollowers({type:`sprinkle.reloaded`,sprinkleName:e})}broadcastPreviewOpen(e){if(this.followers.size===0)return;let t=`prv-${crypto.randomUUID()}`;this.broadcastToAllFollowers({type:`preview.open`,requestId:t,url:e})}static SPRINKLE_CHUNK_SIZE=32*1024;static SPRINKLE_CHUNK_THRESHOLD=64*1024;async handleSprinkleFetch(t,n,r){let i=this.followers.get(t);if(!i)return;let a=this.options.readSprinkleContent;if(!a){i.sync.send({type:`sprinkle.content`,requestId:n,sprinkleName:r,content:``,error:`Leader has no sprinkle content reader`});return}let o=null;try{o=await Promise.resolve(a(r))}catch(e){i.sync.send({type:`sprinkle.content`,requestId:n,sprinkleName:r,content:``,error:e instanceof Error?e.message:String(e)});return}if(o==null){i.sync.send({type:`sprinkle.content`,requestId:n,sprinkleName:r,content:``,error:`Sprinkle not found: ${r}`});return}if(o.length<=e.SPRINKLE_CHUNK_THRESHOLD){i.sync.send({type:`sprinkle.content`,requestId:n,sprinkleName:r,content:o});return}let s=e.SPRINKLE_CHUNK_SIZE,c=Math.ceil(o.length/s);for(let e=0;e<c;e++){let t=o.slice(e*s,(e+1)*s);i.sync.send({type:`sprinkle.content`,requestId:n,sprinkleName:r,content:t,chunkIndex:e,totalChunks:c})}}handleFollowerUserMessage(e,t){H.info(`Follower user message received`,{bootstrapId:e,messageId:t.messageId});let n=t.attachments?.length?r(t.attachments):t.attachments;this.options.onFollowerMessage(t.text,t.messageId,n)}handleFollowerSprinkleLick(e,t){H.info(`Follower sprinkle lick received`,{bootstrapId:e,sprinkleName:t.sprinkleName});let n=this.followers.get(e),r=W(n?.floatType??`unknown`,n?.runtime);try{this.options.onSprinkleLick?.(t.sprinkleName,t.body,t.targetScoop,r)}catch(e){H.warn(`onSprinkleLick handler threw`,{error:e instanceof Error?e.message:String(e)})}}handleFollowerLick(e,t){let n=t.event;if(!n||!B.has(n.type)){H.warn(`Rejecting malformed or non-forwardable lick from follower`,{bootstrapId:e,type:n?.type});return}let r=this.followers.get(e),{targetScoop:i,...a}=n,o={...a,originFollowerId:e,originLabel:W(r?.floatType??`unknown`,r?.runtime)};try{this.options.onForwardedLick?.(o,e)}catch(e){H.warn(`onForwardedLick handler threw`,{error:e instanceof Error?e.message:String(e)})}}handleFollowerTargetsAdvertise(e,t){H.info(`Follower targets advertised`,{bootstrapId:e,runtimeId:t.runtimeId,targetCount:t.targets.length});for(let e of[...this.remoteTransports.keys()]){let n=e.substring(0,e.indexOf(`:`));n!==`leader`&&!this.runtimeToBootstrap.has(n)&&n!==t.runtimeId&&(this.remoteTransports.get(e)?.disconnect(),this.remoteTransports.delete(e),H.debug(`Cleaned up orphaned remote transport on advertise`,{key:e}))}this.runtimeToBootstrap.set(t.runtimeId,e),this.registry.setTargets(t.runtimeId,t.targets),this.broadcastTargetRegistry()}handleFollowerMessage(e,t){switch(t.type){case`user_message`:this.handleFollowerUserMessage(e,t);break;case`abort`:H.info(`Follower abort received`,{bootstrapId:e}),this.options.onFollowerAbort();break;case`request_snapshot`:H.info(`Follower snapshot request received`,{bootstrapId:e,scoopJid:t.scoopJid}),this.sendSnapshotToFollower(e,t.scoopJid);break;case`scoops.select`:{H.info(`Follower selected scoop`,{bootstrapId:e,scoopJid:t.scoopJid});let n=this.followers.get(e);n&&(n.selectedScoopJid=t.scoopJid,this.sendSnapshotToFollower(e,t.scoopJid));break}case`sprinkles.refresh`:H.info(`Follower requested sprinkles refresh`,{bootstrapId:e}),this.sendSprinklesListToFollower(e);break;case`sprinkle.fetch`:this.handleSprinkleFetch(e,t.requestId,t.sprinkleName);break;case`sprinkle.lick`:this.handleFollowerSprinkleLick(e,t);break;case`lick`:this.handleFollowerLick(e,t);break;case`targets.advertise`:this.handleFollowerTargetsAdvertise(e,t);break;case`cdp.request`:{let{requestId:n,targetRuntimeId:r,localTargetId:i,method:a,params:o,sessionId:s}=t;r===`leader`?this.executeLocalCDP(n,i,a,o,s,e):this.forwardCDPRequest(n,r,i,a,o,s,e);break}case`cdp.response`:this.handleCDPResponse(t);break;case`cdp.event`:this.handleCDPEvent(e,t.method,t.params,t.sessionId);break;case`tab.open`:{let{requestId:n,targetRuntimeId:r,url:i}=t;r===`leader`?this.executeLocalTabOpen(n,i,e):this.forwardTabOpen(n,r,i,e);break}case`tab.opened`:this.handleTabOpenResponse(t.requestId,t.targetId);break;case`tab.open.error`:this.handleTabOpenError(t.requestId,t.error);break;case`fs.request`:{let{requestId:n,targetRuntimeId:r,request:i}=t;r===`leader`?this.executeLocalFs(n,i,e):this.forwardFsRequest(n,r,i,e);break}case`fs.response`:this.handleFsResponse(t.requestId,t.response);break;case`cherry.host_event`:this.routeCherryHostEvent(e,t);break;case`ping`:{let t=this.followers.get(e);t&&(t.keepalive.receivePing(),t.lastActivity=Date.now(),t.sync.send({type:`pong`}));break}case`pong`:{let t=this.followers.get(e);t&&(t.keepalive.receivePong(),t.lastActivity=Date.now());break}}}setLocalTargets(e){this.registry.setTargets(`leader`,e),this.registry.hasChanged()&&this.broadcastTargetRegistry()}broadcastTargetRegistry(){if(this.followers.size===0)return;let e={type:`targets.registry`,targets:this.getConnectedEntries()};this.broadcastToAllFollowers(e)}getTargets(){return this.getConnectedEntries()}getConnectedEntries(){return this.registry.getEntries().filter(e=>{if(e.runtimeId===`leader`)return!0;let t=this.runtimeToBootstrap.get(e.runtimeId);return t?this.followers.has(t):!1})}createRemoteTransport(e,t){let n=new te({sendCDPRequest:(n,r,i,a)=>{let o=this.runtimeToBootstrap.get(e),s=o?this.followers.get(o):void 0;if(!s){this.remoteTransports.get(`${e}:${t}`)?.handleResponse(n,void 0,`Target runtime "${e}" not connected`);return}this.pendingCDPRoutes.set(n,{requesterBootstrapId:`__leader__`,requestId:n}),s.sync.send({type:`cdp.request`,requestId:n,localTargetId:t,method:r,params:i,sessionId:a})}});return this.remoteTransports.set(`${e}:${t}`,n),n}removeRemoteTransport(e,t){let n=`${e}:${t}`,r=this.remoteTransports.get(n);r&&(r.disconnect(),this.remoteTransports.delete(n))}cleanupRemoteTransports(e){let t=`${e}:`;for(let e of[...this.remoteTransports.keys()])e.startsWith(t)&&(this.remoteTransports.get(e)?.disconnect(),this.remoteTransports.delete(e),H.debug(`Cleaned up stale remote transport`,{key:e}));try{this.options.onRemoteTransportsCleaned?.(e)}catch(t){H.warn(`onRemoteTransportsCleaned handler threw`,{runtimeId:e,error:t instanceof Error?t.message:String(t)})}}getConnectedFollowers(){return[...this.runtimeToBootstrap.entries()].map(([e,t])=>{let n=this.followers.get(t);return{runtimeId:e,runtime:n?.runtime,connectedAt:n?.connectedAt,lastActivity:n?.lastActivity,floatType:n?.floatType}})}canRuntimeServeTeleport(e,t){if(t.runtime===`slicc-cherry`)return!1;let n=this.registry.getEntries().filter(t=>t.runtimeId===e);return n.length===0?!0:re(n,{requireNetwork:!0}).length>0}getBestFollowerForTeleport(){let e=[];for(let[t,n]of this.runtimeToBootstrap){let r=this.followers.get(n);r&&this.canRuntimeServeTeleport(t,r)&&e.push({runtimeId:t,bootstrapId:n,floatType:r.floatType,lastActivity:r.lastActivity})}if(e.length===0)return null;let t=e.filter(e=>e.floatType===`standalone`),n=t.length>0?t:e;return n.sort((e,t)=>t.lastActivity-e.lastActivity),n[0]}get hasFollowers(){return this.followers.size>0}stop(){for(let e of[...this.followers.keys()])this.removeFollower(e)}async executeLocalCDP(e,t,n,r,i,a){let o=this.followers.get(a);if(!o)return;let s=this.options.browserTransport;if(!s){o.sync.send({type:`cdp.response`,requestId:e,error:`Leader has no browser transport`});return}try{let t=await s.send(n,r,i);_(o.sync,e,t)}catch(t){o.sync.send({type:`cdp.response`,requestId:e,error:t instanceof Error?t.message:String(t)})}}forwardCDPRequest(e,t,n,r,i,a,o){let s=this.runtimeToBootstrap.get(t),c=s?this.followers.get(s):void 0,l=this.followers.get(o);if(!c){l&&l.sync.send({type:`cdp.response`,requestId:e,error:`Target runtime "${t}" not connected`});return}this.pendingCDPRoutes.set(e,{requesterBootstrapId:o,requestId:e}),c.sync.send({type:`cdp.request`,requestId:e,localTargetId:n,method:r,params:i,sessionId:a})}handleCDPResponse(e){let{requestId:t}=e,n=this.pendingCDPRoutes.get(t);if(!n)return;let r=ee(this.cdpChunkBuffers,e);if(!r)return;if(this.pendingCDPRoutes.delete(t),n.requesterBootstrapId===`__leader__`){for(let e of this.remoteTransports.values())e.handleResponse(t,r.result,r.error);return}let i=this.followers.get(n.requesterBootstrapId);i&&_(i.sync,t,r.result,r.error)}handleCDPEvent(e,t,n,r){let i;for(let[t,n]of this.runtimeToBootstrap)if(n===e){i=t;break}if(!i)return;let a=`${i}:`;for(let[e,r]of this.remoteTransports)e.startsWith(a)&&r.handleEvent(t,n)}runtimeIdForBootstrap(e){for(let[t,n]of this.runtimeToBootstrap)if(n===e)return t}routeCherryHostEvent(e,t){if(!g(t))return;let n=this.options.onCherryHostEvent;if(!n){H.debug(`cherry.host_event received but no onCherryHostEvent wired`,{bootstrapId:e,name:t.name});return}let r=this.runtimeIdForBootstrap(e);try{n(r,t.name,t.detail)}catch(n){H.warn(`Failed to route cherry.host_event to cone`,{bootstrapId:e,name:t.name,error:n instanceof Error?n.message:String(n)})}}emitCherrySliccEvent(e,t,n){let r=e.indexOf(`:`),i=r>=0?e.slice(0,r):e,a=this.runtimeToBootstrap.get(i),o=a?this.followers.get(a):void 0;return o?o.sync.send({type:`cherry.slicc_event`,targetId:e,name:t,detail:n}):(H.warn(`emitCherrySliccEvent: owning follower not connected`,{targetId:e,name:t}),!1)}canRuntimeOpenTab(e){let t=this.registry.getEntries().filter(t=>t.runtimeId===e);return t.length===0?!0:t.some(e=>!G(e))}openRemoteTab(e,t){let n=this.runtimeToBootstrap.get(e),r=n?this.followers.get(n):void 0;if(!r)return Promise.reject(Error(`Target runtime "${e}" not connected`));if(!this.canRuntimeOpenTab(e))return Promise.reject(Error(`Target runtime "${e}" is a cherry host that cannot open tabs`));let i=`tab-open-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return new Promise((e,n)=>{this.tabOpenResolvers.set(i,{resolve:e,reject:n}),this.pendingTabOpenRoutes.set(i,{requesterBootstrapId:`__leader__`,requestId:i}),r.sync.send({type:`tab.open`,requestId:i,url:t})})}async executeLocalTabOpen(e,t,n){let r=this.followers.get(n);if(!r)return;let i=this.options.browserTransport;if(!i){r.sync.send({type:`tab.open.error`,requestId:e,error:`Leader has no browser transport`});return}try{let n=(await i.send(`Target.createTarget`,{url:t,background:!0})).targetId;r.sync.send({type:`tab.opened`,requestId:e,targetId:`leader:${n}`})}catch(t){r.sync.send({type:`tab.open.error`,requestId:e,error:t instanceof Error?t.message:String(t)})}}forwardTabOpen(e,t,n,r){let i=this.runtimeToBootstrap.get(t),a=i?this.followers.get(i):void 0,o=this.followers.get(r);if(!a){o&&o.sync.send({type:`tab.open.error`,requestId:e,error:`Target runtime "${t}" not connected`});return}if(!this.canRuntimeOpenTab(t)){o&&o.sync.send({type:`tab.open.error`,requestId:e,error:`Target runtime "${t}" is a cherry host that cannot open tabs`});return}this.pendingTabOpenRoutes.set(e,{requesterBootstrapId:r,requestId:e}),a.sync.send({type:`tab.open`,requestId:e,url:n})}handleTabOpenResponse(e,t){let n=this.pendingTabOpenRoutes.get(e);if(!n)return;if(this.pendingTabOpenRoutes.delete(e),n.requesterBootstrapId===`__leader__`){let n=this.tabOpenResolvers.get(e);n&&(this.tabOpenResolvers.delete(e),n.resolve(t));return}let r=this.followers.get(n.requesterBootstrapId);r&&r.sync.send({type:`tab.opened`,requestId:e,targetId:t})}handleTabOpenError(e,t){let n=this.pendingTabOpenRoutes.get(e);if(!n)return;if(this.pendingTabOpenRoutes.delete(e),n.requesterBootstrapId===`__leader__`){let n=this.tabOpenResolvers.get(e);n&&(this.tabOpenResolvers.delete(e),n.reject(Error(t)));return}let r=this.followers.get(n.requesterBootstrapId);r&&r.sync.send({type:`tab.open.error`,requestId:e,error:t})}async executeLocalFs(e,t,n){let r=this.followers.get(n);if(!r)return;let i=this.options.vfs;if(!i){r.sync.send({type:`fs.response`,requestId:e,response:{ok:!1,error:`Leader has no VFS`}});return}let a=await C(i,t);for(let t of a)r.sync.send({type:`fs.response`,requestId:e,response:t})}forwardFsRequest(e,t,n,r){let i=this.runtimeToBootstrap.get(t),a=i?this.followers.get(i):void 0,o=this.followers.get(r);if(!a){o&&o.sync.send({type:`fs.response`,requestId:e,response:{ok:!1,error:`Target runtime "${t}" not connected`}});return}this.pendingFsRoutes.set(e,{requesterBootstrapId:r,requestId:e,chunks:[],totalChunks:1}),a.sync.send({type:`fs.request`,requestId:e,request:n})}handleFsResponse(e,t){let n=this.pendingFsRoutes.get(e);if(!n){let n=this.fsResolvers.get(e);if(n){n.responses.push(t);let r=t.ok&&t.totalChunks||1;n.responses.length>=r&&(this.fsResolvers.delete(e),n.resolve(n.responses))}return}if(n.requesterBootstrapId===`__leader__`){let n=this.fsResolvers.get(e);if(n){n.responses.push(t);let r=t.ok&&t.totalChunks||1;n.responses.length>=r&&(this.fsResolvers.delete(e),this.pendingFsRoutes.delete(e),n.resolve(n.responses))}return}let r=this.followers.get(n.requesterBootstrapId);r&&r.sync.send({type:`fs.response`,requestId:e,response:t}),n.chunks.push(t),n.totalChunks=t.ok&&t.totalChunks||1,n.chunks.length>=n.totalChunks&&this.pendingFsRoutes.delete(e)}sendFsRequest(e,t){if(e===`leader`){let e=this.options.vfs;return e?C(e,t):Promise.resolve([{ok:!1,error:`Leader has no VFS`}])}let n=this.runtimeToBootstrap.get(e),r=n?this.followers.get(n):void 0;if(!r)return Promise.resolve([{ok:!1,error:`Target runtime "${e}" not connected`}]);let i=`fs-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return new Promise((e,n)=>{this.fsResolvers.set(i,{resolve:e,reject:n,responses:[]}),this.pendingFsRoutes.set(i,{requesterBootstrapId:`__leader__`,requestId:i,chunks:[],totalChunks:1}),r.sync.send({type:`fs.request`,requestId:i,request:t})})}},q=i(`page-leader-tray`);function J(e){return new K({getMessages:e.getMessages,getMessagesForScoop:e.getMessagesForScoop,getScoopJid:e.getScoopJid,getScoops:e.getScoops,getSprinkles:e.getSprinkles,readSprinkleContent:e.readSprinkleContent,onSprinkleLick:e.onSprinkleLick,onForwardedLick:e.onForwardedLick,onFollowerMessage:e.onFollowerMessage,onFollowerAbort:e.onFollowerAbort,onFollowerCountChanged:e.onFollowerCountChanged,onRemoteTransportsCleaned:e.onRemoteTransportsCleaned,onCherryHostEvent:e.onCherryHostEvent,browserAPI:e.browserAPI,browserTransport:e.browserTransport,vfs:e.vfs})}function Y(e,t){return new E({sendControlMessage:t=>e().sendControlMessage(t),onPeerConnected:(e,n)=>{q.info(`Tray follower data channel opened`,{controllerId:e.controllerId,bootstrapId:e.bootstrapId,attempt:e.attempt,runtime:e.runtime}),t.addFollower(e.bootstrapId,n,{runtime:e.runtime,connectedAt:e.connectedAt??void 0})},onPeerDisconnected:(e,t)=>{q.info(`Tray follower disconnected`,{bootstrapId:e,reason:t})}})}function X(e,t,n,r,i){return new x({workerBaseUrl:e.workerBaseUrl,runtime:e.runtime??`slicc-standalone`,...e.kind?{kind:e.kind}:{},...e.onLeaderReady?{onLeaderReady:e.onLeaderReady}:{},fetchImpl:n,...e._storeOverride?{store:e._storeOverride}:{},...e._webSocketFactory?{webSocketFactory:e._webSocketFactory}:{},onControlMessage:n=>{if(n.type===`webhook.event`){e.sendWebhookEvent(n.webhookId,n.headers,n.body);return}if(n.type===`preview.request`){let t=e.vfs;if(!t){i().sendControlMessage({type:`preview.response`,reqId:n.reqId,ok:!1,status:500,reason:`leader has no VFS bound`});return}L(n,{send:e=>i().sendControlMessage(e)},t).catch(e=>{q.error(`preview.request handling failed`,{error:e instanceof Error?e.message:String(e)})});return}if(n.type===`preview.revoked`){q.info(`Preview revoked by worker`,{previewToken:n.previewToken});return}t.handleControlMessage(n).catch(e=>{q.error(`Tray leader bootstrap handling failed`,{error:e instanceof Error?e.message:String(e)})})},onReconnecting:(e,t)=>{q.info(`Leader tray reconnecting`,{attempt:e,lastError:t})},onReconnected:e=>{q.info(`Leader tray reconnected`,{trayId:e.trayId}),r(e)},onReconnectGaveUp:(e,t)=>{q.error(`Leader tray reconnect gave up`,{lastError:e,attempts:t})}})}function ie(e,t){let n=new T(q,{failureMessage:`Leader CDP target refresh failed (best-effort, throttled)`,recoveryMessage:`Leader CDP target refresh recovered (stable for debounce window)`});return async()=>{let r;try{r=await e.browserAPI.listPages()}catch(e){n.reportFailure(e);return}n.reportSuccess();try{let e=r.map(e=>({targetId:e.targetId,title:e.title,url:e.url}));t.setLocalTargets(e)}catch(e){q.error(`Leader target broadcast failed (sync.setLocalTargets threw)`,{error:e instanceof Error?e.message:String(e)})}}}function ae(e,t){return setInterval(()=>{try{e.broadcastScoopsList(),e.broadcastSprinklesList()}catch(e){q.error(`Failed to broadcast follower lists`,{error:e instanceof Error?e.message:String(e)})}},t)}function oe(e){return t=>{let n=e._historyOverride??se();if(n)try{let e=m(n.href,t.workerBaseUrl,t.trayId);e!==n.href&&n.replaceState(null,``,e)}catch(e){q.debug(`URL bar update skipped`,{error:e instanceof Error?e.message:String(e)})}}}function Z(e){let t=e._refreshIntervalMs??5e3,n=e._fetchImpl??((e,t)=>fetch(e,t)),r,i=oe(e),a=J(e);e.browserAPI.setTrayTargetProvider(a);let o=Y(()=>r,a);r=X(e,o,n,i,()=>r);let s=e.onAgentEvent(e=>a.broadcastEvent(e)),c=[],l=ie(e,a);c.push(setInterval(l,t)),l(),c.push(ae(a,t)),r.start().then(e=>{i(e)}).catch(e=>{q.error(`Leader tray start failed`,{error:e instanceof Error?e.message:String(e)})});let u=!1;return{stop(){u=!0,s();for(let e of c)clearInterval(e);a.stop(),o.stop(),r.stop()},async reset(){return a.stop(),o.stop(),r.stop(),await r.clearSession(),i(await r.start()),b()},leader:r,peers:o,sync:a,get currentLeaderSync(){return u?null:a}}}function se(){return typeof window>`u`||!window.history||!window.location?null:{get href(){return window.location.href},replaceState(e,t,n){window.history.replaceState(e,t,n)}}}function Q(e){let t=new Map,n=(e,t)=>`${e}:${t}`,r=(r,i)=>{let a=n(r,i),o=t.get(a);if(!o){let n=e.getSync();if(!n)throw Error(`remote-cdp: leader tray not started`);o={runtimeId:r,localTargetId:i,transport:n.createRemoteTransport(r,i),forwarders:new Map},t.set(a,o)}return o},i=n=>{let r=t.get(n);if(!r)return;for(let[e,t]of r.forwarders)r.transport.off(e,t.listener);r.forwarders.clear();let i=e.getSync();i?.removeRemoteTransport?i.removeRemoteTransport(r.runtimeId,r.localTargetId):r.transport.disconnect(),t.delete(n)};return{async send({runtimeId:e,localTargetId:t,method:n,params:i,sessionId:a,timeout:o}){return r(e,t).transport.send(n,i,a,o)},async subscribe({runtimeId:t,localTargetId:n,event:i}){let a=r(t,n),o=a.forwarders.get(i);if(o)return o.count+=1,{ok:!0};let s=r=>e.postEvent({runtimeId:t,localTargetId:n,method:i,params:r});return a.transport.on(i,s),a.forwarders.set(i,{listener:s,count:1}),{ok:!0}},async unsubscribe({runtimeId:e,localTargetId:r,event:i}){let a=t.get(n(e,r)),o=a?.forwarders.get(i);return!a||!o?{ok:!0}:(--o.count,o.count<=0&&(a.transport.off(i,o.listener),a.forwarders.delete(i)),{ok:!0})},async detach({runtimeId:e,localTargetId:t}){return i(n(e,t)),{ok:!0}},async openTab({runtimeId:t,url:n}){let r=e.getSync();if(!r?.openRemoteTab)throw Error(`remote-cdp: openRemoteTab not available`);return{targetId:await r.openRemoteTab(t,n)}},cleanupRuntime(e){let n=`${e}:`;for(let e of[...t.keys()])e.startsWith(n)&&i(e)},disposeAll(){for(let e of[...t.keys()])i(e)}}}function $(e,t){let{browser:n,client:r,getController:i}=e;return{joinUrl:t,onSnapshot:e=>i()?.loadMessages(e),onUserMessage:(e,t,n,r)=>i()?.addUserMessage(e,r),onStatus:e=>i()?.setProcessing(e===`processing`),setChatAgent:e=>i()?.setAgent(e),browserAPI:n,onForwardingToggle:e=>r.sendSetFollowerForwarding(e),addSprinkle:(t,n,r)=>e.addSprinkle(t,n,r),removeSprinkle:t=>e.removeSprinkle(t)}}function ce(e,t,n){let{client:r,refs:i}=e;return a=>({workerBaseUrl:a,getMessages:()=>e.getController()?.getMessages()??[],getScoopJid:()=>e.getSelectedJid(),getScoops:()=>r.getScoops().map(e=>({jid:e.jid,name:e.name,folder:e.folder,isCone:e.isCone,assistantLabel:e.assistantLabel,trigger:e.trigger})),getSprinkles:()=>{let t=new Set(e.sprinkleManager.opened());return e.sprinkleManager.available().map(e=>({name:e.name,title:e.title,path:e.path,open:t.has(e.name),autoOpen:e.autoOpen}))},readSprinkleContent:async t=>{let n=e.sprinkleManager.available().find(e=>e.name===t);if(!n)return null;try{let t=await(await e.openFs()).readFile(n.path,{encoding:`utf-8`});return typeof t==`string`?t:new TextDecoder(`utf-8`).decode(t)}catch{return null}},onSprinkleLick:(e,t,n,i)=>r.sendSprinkleLick(e,t,n,i),onFollowerMessage:(n,r,i)=>{e.getController()?.addUserMessage(n,i),e.agentHandle.sendMessage(n,r,i),t.leader?.sync.broadcastUserMessage(n,r,i)},onFollowerAbort:()=>e.agentHandle.stop(),onFollowerCountChanged:t=>{i.floatbar.setAttribute(`label`,t>0?`tray · ${t} follower${t===1?``:`s`}`:e.baseFloatLabel??`standalone · live`),M(A())},onRemoteTransportsCleaned:e=>n.cleanupRuntime(e),onForwardedLick:e=>r.sendForwardedLick(e),onCherryHostEvent:(e,t,n)=>r.sendCherryHostEvent(e,t,n),sendWebhookEvent:(e,t,n)=>r.sendWebhookEvent(e,t,n),onAgentEvent:t=>e.agentHandle.onEvent(t),browserAPI:e.browser,browserTransport:e.realCdpTransport,vfs:{async stat(t){return(await e.openFs()).stat(t)},async readFile(t,n){return(await e.openFs()).readFile(t,n)}}})}function le(e,t){return{wireLeaderHooks:t=>{k(()=>t.peers.getPeers().map(e=>({runtimeId:w(e.bootstrapId),runtime:e.runtime,connectedAt:e.connectedAt??void 0}))),e.sprinkleManager.setSendToSprinkleHook((e,n)=>t.sync.broadcastSprinkleUpdate(e,n)),e.sprinkleManager.setReloadHook(e=>t.sync.broadcastSprinkleReloaded(e)),e.getController()?.setOnLocalUserMessage((e,n,r)=>t.sync.broadcastUserMessage(e,n,r)),e.getController()?.setOnLocalProcessingChange(e=>t.sync.broadcastStatus(e?`processing`:`ready`))},clearLeaderHooks:()=>{k(null),M([]),e.getController()?.setOnLocalUserMessage(void 0),e.getController()?.setOnLocalProcessingChange(void 0),e.sprinkleManager.setSendToSprinkleHook(void 0),e.sprinkleManager.setReloadHook(void 0),t.disposeAll()}}}function ue(e){return{runtime:`slicc-hosted-leader`,kind:`hosted`,onLeaderReady:t=>{fetch(o(`/api/cloud-status`),{method:`POST`,headers:s({"content-type":`application/json`}),body:JSON.stringify({joinUrl:t.joinUrl,trayId:t.trayId,controllerUrl:t.controllerUrl,webhookUrl:t.webhookUrl,runtime:t.runtime,sliccVersion:`5.22.0`}),signal:AbortSignal.timeout(1e4)}).catch(t=>{e.log.error(`failed to POST /api/cloud-status`,{error:String(t)})})}}}function de(e,t,n,r){let{window:i,log:a}=e;if(e.runtimeMode===`hosted-leader`){i.localStorage.removeItem(h);let o=i.localStorage.getItem(u);if(!o){a.error(`hosted-leader: tray worker base URL not seeded`);return}t.leader=Z({...n(o),...ue(e)}),r(t.leader),P({log:a});return}let o=i.localStorage.getItem(h),s=i.localStorage.getItem(u);o?t.follower=D($(e,o)):s&&(t.leader=Z(n(s)),r(t.leader))}function fe(e,t,n,r){let{window:i,log:a}=e;i.addEventListener(`slicc:tray-join`,r=>{let i=r.detail?.joinUrl;if(!i)return;let o=t.leader;t.leader=null,n();let s=t.follower;t.follower=null;try{o?.stop()}catch(e){a.error(`leader stop threw during tray-join switch`,e)}try{s?.stop()}catch(e){a.error(`previous follower stop threw during tray-join switch`,e)}try{t.follower=D($(e,i))}catch(e){a.error(`tray-join failed`,e)}}),i.addEventListener(`slicc:tray-leave`,e=>{let t=e;r({workerBaseUrl:t.detail?.workerBaseUrl??null,requestId:t.detail?.requestId}).catch(e=>a.error(`tray-leave failed`,e))}),i.addEventListener(`beforeunload`,()=>{t.leader?.stop(),t.follower?.stop()},{once:!0})}async function pe(t){let{loadSprinkleStyles:n}=await e(async()=>{let{loadSprinkleStyles:e}=await import(`./legacy-styles-4PP74ISo.js`);return{loadSprinkleStyles:e}},__vite__mapDeps([32,3]));await n();let{client:r,instanceId:i,window:a,log:o}=t,s={leader:null,follower:null},l=typeof BroadcastChannel==`function`?new BroadcastChannel(c(i)):null,u=Q({getSync:()=>s.leader?.sync??null,postEvent:e=>{let t={type:`panel-rpc-push`,op:`remote-cdp-event`,payload:e};l?.postMessage(t)}});r.setForwardLickHandler(e=>{let t=s.follower?.currentSync;t?t.forwardLick(e):o.warn(`forward-lick dropped: no active follower sync`)});let m=ce(t,s,u),{wireLeaderHooks:h,clearLeaderHooks:g}=le(t,u),_=async t=>{let{performTrayLeave:n}=await e(async()=>{let{performTrayLeave:e}=await import(`./tray-leave-runtime-CVAUUyWv.js`);return{performTrayLeave:e}},__vite__mapDeps([33,20,1,21,3,4,5,6,7,8,9,10,11,12,13,14,15,16,0,17,18,19,22,23]));return await n({workerBaseUrl:t.workerBaseUrl,requestId:t.requestId},{getLeader:()=>s.leader,setLeader:e=>{s.leader=e},getFollower:()=>s.follower,setFollower:e=>{s.follower=e},startLeader:e=>Z(m(e)),clearLeaderHooks:g,wireLeaderHooks:h,storage:a.localStorage,log:o})};return await N({instanceId:i,browser:t.browser,remoteCdpBridge:u,remoteCdpPushChannel:l,getLeader:()=>s.leader,performTrayLeaveLocally:_,window:a}),de(t,s,m,h),ne(e=>{a.localStorage.setItem(`slicc.leaderTrayStatus`,JSON.stringify(e))}),a.localStorage.setItem(`slicc.leaderTrayStatus`,JSON.stringify(b())),p(e=>{a.localStorage.setItem(d,JSON.stringify(e))}),a.localStorage.setItem(d,JSON.stringify(f())),M(A(),a.localStorage),fe(t,s,g,_),{getLeader:()=>s.leader,getFollower:()=>s.follower,performTrayLeaveLocally:_}}export{pe as wireWcTray};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-aKtaBQYM.js";import{t}from"./logger-DDBAeTLF.js";var n=e({detectWelcomeFirstRun:()=>h,hasOnboardingFinalLickInHistory:()=>y,hasWelcomeLickInHistory:()=>p,recordWelcomed:()=>g}),r=t(`welcome-detection`),i=`/shared/.welcomed`,a=`browser-coding-agent`,o=1,s=`sessions`,c=`session-cone`,l=`[Sprinkle Event: welcome]`;function u(){return new Promise((e,t)=>{let n=indexedDB.open(a,o);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(s)||e.createObjectStore(s,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error),n.onblocked=()=>{}})}function d(){return u().catch(()=>new Promise((e,t)=>{setTimeout(()=>{u().then(e,t)},120)}))}async function f(){let e=await d();try{return await new Promise((t,n)=>{let r=e.transaction(s,`readonly`).objectStore(s).get(c);r.onsuccess=()=>t(r.result??null),r.onerror=()=>n(r.error)})}finally{e.close()}}async function p(){try{let e=await f();return!e||!Array.isArray(e.messages)?!1:e.messages.some(e=>m(e))}catch(e){return r.warn(`Failed to scan cone chat session for welcome lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function m(e){let t=e.content;return typeof t==`string`?t.includes(l):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(l);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(l)}return!1}):!1}async function h(e){let t=!1;try{t=await e.exists(i)}catch(e){return r.warn(`Failed to read welcomed marker`,{path:i,error:e instanceof Error?e.message:String(e)}),{isFirstRun:!1}}return t||await p()?{isFirstRun:!1}:{isFirstRun:!0}}async function g(e){await e.writeFile(i,`1`)}var _=`"action":"onboarding-complete-with-provider"`;function v(e){let t=e.content;return typeof t==`string`?t.includes(_):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(_);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(_)}return!1}):!1}async function y(){try{let e=await f();return!e||!Array.isArray(e.messages)?!1:e.messages.some(e=>v(e))}catch(e){return r.warn(`Failed to scan cone chat session for final lick`,{error:e instanceof Error?e.message:String(e)}),!1}}export{g as n,n as r,h as t};
|
|
File without changes
|