sliccy 6.181.0 → 6.182.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/.vite/manifest.json +188 -188
- package/dist/ui/assets/__vite-browser-external-CJkRLpJ-.js +1 -0
- package/dist/ui/assets/{account-store-J3ybiSNw.js → account-store-BxB3138q.js} +1 -1
- package/dist/ui/assets/{account-store-0RMtbmqz.js → account-store-UA_3Tz4g.js} +1 -1
- package/dist/ui/assets/{adobe-YOeKKYUk.js → adobe-C5iQ4vVx.js} +1 -1
- package/dist/ui/assets/{adobe-DEXpooxf.js → adobe-CGl3cGPR.js} +1 -1
- package/dist/ui/assets/{agent-panels-B4hlhzVG.js → agent-panels-DfmjvBS2.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-BR1Hr6tM.js → almost-bash-shell-headless-l1xuiFhc.js} +36 -36
- package/dist/ui/assets/{apply-layout-BgFVMSBx.js → apply-layout-Bq6bvrT2.js} +1 -1
- package/dist/ui/assets/{apps-oyrUmtWx.js → apps-BX-IbYH9.js} +1 -1
- package/dist/ui/assets/{azure-openai-Ytc_MWDd.js → azure-openai-BXvWNypo.js} +1 -1
- package/dist/ui/assets/{azure-openai-B6qTFVGv.js → azure-openai-C2dDMpxW.js} +1 -1
- package/dist/ui/assets/{backend-hostfs-CEXlx0cW.js → backend-hostfs-DV8kfBUj.js} +1 -1
- package/dist/ui/assets/{browser-DG5MjvHF.js → browser-BM_DFzrh.js} +2 -2
- package/dist/ui/assets/{bsh-watchdog-DBtF-C4h.js → bsh-watchdog-CmaS7wa9.js} +1 -1
- package/dist/ui/assets/{cdp-DVWJozRc.js → cdp-B0aSo4ch.js} +1 -1
- package/dist/ui/assets/{cerebras-brHRFUH2.js → cerebras-B2SDJ5pX.js} +1 -1
- package/dist/ui/assets/{cerebras-BT44OLPt.js → cerebras-D29ytBVb.js} +1 -1
- package/dist/ui/assets/{composer-speech-BZQtz7u1.js → composer-speech-Dt-gM11M.js} +1 -1
- package/dist/ui/assets/{connect-surface-D7cq2QI7.js → connect-surface-Cb3XqWWR.js} +1 -1
- package/dist/ui/assets/{core-aQUekdF7.js → core-CDo7qjEn.js} +1 -1
- package/dist/ui/assets/{cost-command-DZQVtgRS.js → cost-command-CitGzr6C.js} +1 -1
- package/dist/ui/assets/{directed-approval-DvAxEX5J.js → directed-approval-BEel8QYA.js} +1 -1
- package/dist/ui/assets/{emscripten-vfs-hook-agmT6Hsz.js → emscripten-vfs-hook-bNKkM3Zb.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-CQ05z2Xw.js → ensure-speech-assets-DnCun_bM.js} +1 -1
- package/dist/ui/assets/{esbuild-wasm-DS_YG2EY.js → esbuild-wasm-CeZYVyQ9.js} +1 -1
- package/dist/ui/assets/{ffmpeg-wasm-B77gfnB_.js → ffmpeg-wasm-CV1BmGNS.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-qxZ9jGOV.js → frozen-archive-writer-DWckLPIx.js} +1 -1
- package/dist/ui/assets/{fs-Dkh-H6Cd.js → fs-Bl1dGTw7.js} +2 -2
- package/dist/ui/assets/{fs-D6FCLu_F.js → fs-Bvj_6WV6.js} +1 -1
- package/dist/ui/assets/{gelatiere-store-ChogqkEu.js → gelatiere-store-CslswlOn.js} +1 -1
- package/dist/ui/assets/{gelatiere-unit-DxFUh33e.js → gelatiere-unit-DOffAKPD.js} +1 -1
- package/dist/ui/assets/{github-D31l6kcK.js → github-DRuWNJ0x.js} +2 -2
- package/dist/ui/assets/{github-CrHzeKQ8.js → github-DVquHzS1.js} +1 -1
- package/dist/ui/assets/{github-auth-VTbKhlbJ.js → github-auth-C5UPE82y.js} +1 -1
- package/dist/ui/assets/{github-copilot-eUb4Djg_.js → github-copilot-DXbnFsoC.js} +1 -1
- package/dist/ui/assets/{github-copilot-CVwHDKPD.js → github-copilot-ha5V9jKJ.js} +1 -1
- package/dist/ui/assets/{github-install-Dkt1u6HU.js → github-install-z8nzKR56.js} +1 -1
- package/dist/ui/assets/{github-zip-B6gHXxqd.js → github-zip-YeBT3Ny7.js} +1 -1
- package/dist/ui/assets/{guest-tool-gate-YxkVsl15.js → guest-tool-gate-Dn4Cs-oT.js} +1 -1
- package/dist/ui/assets/{hear-BKQjhhNP.js → hear-ClByyjXy.js} +1 -1
- package/dist/ui/assets/{help-C7WHd3Ia.js → help-p6vq-7bY.js} +1 -1
- package/dist/ui/assets/{host-command-ODKvqvjN.js → host-command-PUA7nfMk.js} +1 -1
- package/dist/ui/assets/{installer-D35TzRKw.js → installer-hyWN7t-8.js} +1 -1
- package/dist/ui/assets/{interrupted-work-recovery-BK9ZDM7F.js → interrupted-work-recovery-C3eyzaf0.js} +1 -1
- package/dist/ui/assets/js-realm-worker-C8L3DYxo.js +53 -0
- package/dist/ui/assets/jsh-executor-BRw7B4H0.js +18 -0
- package/dist/ui/assets/{kernel-worker-UUfeG-Eg.js → kernel-worker-DJ8FZwqE.js} +9 -9
- package/dist/ui/assets/{lick-ws-bridge-DoyPgrSr.js → lick-ws-bridge-AHYpxmrH.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-DdgwrW91.js → lick-ws-bridge-DjxKrqtY.js} +1 -1
- package/dist/ui/assets/{live-session-curation-6O9TA5qM.js → live-session-curation-ChbHqCg_.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-D_7T7FHe.js → live-session-snapshot-CEM9afjE.js} +1 -1
- package/dist/ui/assets/{local-llm-BYaSa2xI.js → local-llm-3Pq3W9JZ.js} +1 -1
- package/dist/ui/assets/{local-llm-TK4oGrWD.js → local-llm-DSfR5Yt1.js} +1 -1
- package/dist/ui/assets/{magick-wasm-DCNZhAyd.js → magick-wasm-KFp97Nzb.js} +1 -1
- package/dist/ui/assets/{main-Bgkf5d3Z.js → main-DtPQfxOa.js} +3 -3
- package/dist/ui/assets/{main-cherry-BUdIAeG5.js → main-cherry-GQeDS2ns.js} +1 -1
- package/dist/ui/assets/{memory-curation-seam-CNOuxuz4.js → memory-curation-seam-COOFWWtR.js} +1 -1
- package/dist/ui/assets/{memory-health-BSo0HKQx.js → memory-health-DxPjxnOp.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-mQfg-aG4.js → memory-write-execute-CRxpEM2X.js} +1 -1
- package/dist/ui/assets/{mount-h-dwh5GL.js → mount-9N6h5nwh.js} +3 -3
- package/dist/ui/assets/{mount-BpcQX-Sq.js → mount-Dkwa5rwA.js} +1 -1
- package/dist/ui/assets/{new-session-CTx7YRbr.js → new-session-C2Unp_ay.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-B18nfDG4.js → oauth-bootstrap-3r1LKeNV.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-Df3UDgbD.js → onboarding-orchestrator-DagKmKCB.js} +1 -1
- package/dist/ui/assets/{openai-codex-Cu1dT_JE.js → openai-codex--tiTbtXj.js} +1 -1
- package/dist/ui/assets/{openai-codex-DBUtEEk3.js → openai-codex-CJC7uwBp.js} +1 -1
- package/dist/ui/assets/{openrouter-BwrZKpwu.js → openrouter-aXBsdtFI.js} +1 -1
- package/dist/ui/assets/{openrouter-free-B_LRYNX8.js → openrouter-free-BeCg7Ecw.js} +1 -1
- package/dist/ui/assets/{openrouter-free-CXqUunRn.js → openrouter-free-DqFFRvst.js} +1 -1
- package/dist/ui/assets/{openrouter-CrB0BbnV.js → openrouter-mBY_6dIp.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Bnohq7Ac.js → openrouter-oauth-C7CZ9fp_.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Bpzo9cvY.js → openrouter-oauth-DQIC6b5R.js} +1 -1
- package/dist/ui/assets/{opfs-mount-CmDtZOGy.js → opfs-mount-tiZR34GY.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-BFG-ZvfW.js → panel-rpc-handlers-D8NOrxvf.js} +2 -2
- package/dist/ui/assets/{panelize-shell-CLHSr5bz.js → panelize-shell-C_Xs3rhf.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-wHbJ4R48.js → pi-edit-execution-kItlGFSm.js} +1 -1
- package/dist/ui/assets/{provider-BXK9OD8Z.js → provider-BtTOwLci.js} +2 -2
- package/dist/ui/assets/{provider-DyqdvQeZ.js → provider-DuCd6_sr.js} +1 -1
- package/dist/ui/assets/{provider-settings-BO6Fedc5.js → provider-settings-PedRbxpK.js} +1 -1
- package/dist/ui/assets/provider-store-access-BbD8NSzf.js +1 -0
- package/dist/ui/assets/provider-store-access-BvzkUnma.js +1 -0
- package/dist/ui/assets/{providers-BvApGkM9.js → providers-BkwBVwkB.js} +2 -2
- package/dist/ui/assets/{providers-CAcycJZb.js → providers-CWFcdblf.js} +1 -1
- package/dist/ui/assets/{py-live-vfs-Di71Rd2P.js → py-live-vfs-DMc0LhCg.js} +12 -0
- package/dist/ui/assets/{py-live-vfs-CJWt_6ye.js → py-live-vfs-Dm8bBjqR.js} +12 -0
- package/dist/ui/assets/py-realm-worker-BaO89JAR.js +255 -0
- package/dist/ui/assets/{pyodide-W71AWfnt.js → pyodide-DY17DXNV.js} +2 -2
- package/dist/ui/assets/{quick-llm-BENSRBxD.js → quick-llm-DKsocfis.js} +1 -1
- package/dist/ui/assets/realm-inprocess-CI_Msk8I.js +33 -0
- package/dist/ui/assets/{recovery-screen-Tq3wGnmV.js → recovery-screen-HGByYfVb.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-C8LiE7Sl.js → remote-terminal-view-C6Ao0U4O.js} +1 -1
- package/dist/ui/assets/{require-guards-DPd9EYEo.js → require-guards-DPf5QETL.js} +14 -3
- package/dist/ui/assets/{restore-DVP0SPlY.js → restore-BsViTTTd.js} +1 -1
- package/dist/ui/assets/{run-zLr2k5ZP.js → run-BEHokdPX.js} +1 -1
- package/dist/ui/assets/{run-BGZP3j5p.js → run-BLi5_vwK.js} +1 -1
- package/dist/ui/assets/{run-CKp8YCSO.js → run-BOMvKGOX.js} +1 -1
- package/dist/ui/assets/{run-C-OJvA2b.js → run-BP0Pyqp1.js} +1 -1
- package/dist/ui/assets/{run-FyOp8GaC.js → run-C0CADtt5.js} +1 -1
- package/dist/ui/assets/{run-CX6BUmN-.js → run-C1e4W7pJ.js} +1 -1
- package/dist/ui/assets/{run-BV_OY-0v.js → run-CKI507uv.js} +1 -1
- package/dist/ui/assets/{run-BKItPKix.js → run-CKdymE5z.js} +3 -3
- package/dist/ui/assets/{run-CiUSMP3Y.js → run-DEBWO_VC.js} +2 -2
- package/dist/ui/assets/{run-CPT6_R-_.js → run-DgblerTV.js} +2 -2
- package/dist/ui/assets/{screencapture-run-BnyfqO9F.js → screencapture-run-Dt7lEfIp.js} +1 -1
- package/dist/ui/assets/{session-command-memory-HovmIuMP.js → session-command-memory-D-p81a7P.js} +2 -2
- package/dist/ui/assets/{session-jsonl-DK-0Hm8U.js → session-jsonl-C-BZSOHy.js} +1 -1
- package/dist/ui/assets/{session-jsonl-PCOch0_B.js → session-jsonl-CXY4TQ4Y.js} +1 -1
- package/dist/ui/assets/{session-search-index-BNvhiRLv.js → session-search-index-nhvgyuxV.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-2RQqEGaT.js → setup-feature-flags-remote-CpzgUHLB.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-B911rONc.js → setup-model-catalog-BGx3XYFY.js} +1 -1
- package/dist/ui/assets/shared-BDXQKitm.js +1 -0
- package/dist/ui/assets/shared-DfMXB1pm.js +4 -0
- package/dist/ui/assets/{signed-fetch-gB25Bw53.js → signed-fetch-t5uBcIk_.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-Brcr76an.js → silent-renew-backoff-Q1A_jbQH.js} +1 -1
- package/dist/ui/assets/slicc-version-YnqCI9lq.js +1 -0
- package/dist/ui/assets/{snapshot-Ci8jnY_A.js → snapshot-Bb3mZrhI.js} +1 -1
- package/dist/ui/assets/{snapshot-features-BYEGCVfZ.js → snapshot-features-D44t7iA7.js} +1 -1
- package/dist/ui/assets/{soundscape-CdQvLeB0.js → soundscape-CUzGNWGR.js} +1 -1
- package/dist/ui/assets/{speak-BT4Xdlvj.js → speak-B-rF7cd2.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-8T1XJmL3.js → sprinkle-manager-BWdoEwv2.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-_vOdPt8H.js → sprinkle-renderer-B-1HSkrF.js} +16 -16
- package/dist/ui/assets/{ssh-BGtVaOJn.js → ssh-DGBxesfZ.js} +1 -1
- package/dist/ui/assets/{state-nnDajRje.js → state-B7Ano9ql.js} +1 -1
- package/dist/ui/assets/{store-BxxMrsS7.js → store-B3uS3nQU.js} +1 -1
- package/dist/ui/assets/{store-D9XL9aIQ.js → store-DTMATE-h.js} +1 -1
- package/dist/ui/assets/{sudo-CnXURhFV.js → sudo-D8OGZd6t.js} +1 -1
- package/dist/ui/assets/{supervisor-fOZGoD0G.js → supervisor-Ck1Ryx2i.js} +1 -1
- package/dist/ui/assets/{sync-dialog-oh_O9Mv5.js → sync-dialog-C2TF9Y3h.js} +1 -1
- package/dist/ui/assets/{transformers-env-zmBF2In6.js → transformers-env-h8uZoLwJ.js} +1 -1
- package/dist/ui/assets/{tray-leader-Co-1rs4b.js → tray-leader-BHyMCdCH.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-PpRt0K76.js → tray-leave-runtime-DR6t2Cuo.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-DYuM8Ifi.js → tray-sidecar-BdEGdpUe.js} +1 -1
- package/dist/ui/assets/{turn-journal-_Hrn3Aoy.js → turn-journal-B4vV4fDV.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-jhAzOLSL.js → upgrade-detection-BXyDgjYd.js} +1 -1
- package/dist/ui/assets/{upskill-lick-skip-D1vFOKgN.js → upskill-lick-skip-8Ozx8QGg.js} +1 -1
- package/dist/ui/assets/{voice-reply--Z1dXvPT.js → voice-reply-ChDAb3Rf.js} +1 -1
- package/dist/ui/assets/{wc-attach-BadBFuc7.js → wc-attach-BN8rykoa.js} +2 -2
- package/dist/ui/assets/{wc-browser-DqUJaWcH.js → wc-browser-z1N3wGuK.js} +1 -1
- package/dist/ui/assets/{wc-computers-CTPf-95b.js → wc-computers-C1g9iCUj.js} +1 -1
- package/dist/ui/assets/{wc-detached-UIVnUZp5.js → wc-detached-DHD--8Tf.js} +1 -1
- package/dist/ui/assets/{wc-extension-Bxc7adS3.js → wc-extension-qof5b3tN.js} +2 -2
- package/dist/ui/assets/{wc-follower-oauth-DEBzlhDR.js → wc-follower-oauth-Bsskcjc7.js} +1 -1
- package/dist/ui/assets/{wc-follower-CcQiy0Ep.js → wc-follower-sKXDjyv-.js} +3 -3
- package/dist/ui/assets/{wc-gelatiere-B3T_MsYw.js → wc-gelatiere-D_uq7S-T.js} +1 -1
- package/dist/ui/assets/{wc-live-B4gJYGS5.js → wc-live-DWEUEDdK.js} +5 -5
- package/dist/ui/assets/{wc-nav-Cc31eRBb.js → wc-nav-DqIdooNV.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-A_43Ieo4.js → wc-onboarding-38WwDwrA.js} +2 -2
- package/dist/ui/assets/{wc-permissions-C9woviuI.js → wc-permissions-o70pdgUK.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-t7YMeS_j.js → wc-placeholder-DMKTZY8P.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-Dfm9QvyE.js → wc-secret-request-CmpDh1Bs.js} +1 -1
- package/dist/ui/assets/{wc-settings-BD6JONjg.js → wc-settings-7DxLA_ig.js} +3 -3
- package/dist/ui/assets/{wc-shell-Ba5uNdmF.js → wc-shell-DFszC8_0.js} +3 -3
- package/dist/ui/assets/{wc-shortcut-config-DeU2Q2BU.js → wc-shortcut-config-Co6ONiUg.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-D4sQVRG5.js → wc-sprinkles-zxKMU9ju.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-CsUhlwMo.js → wc-transcript-export-BnOv-hzh.js} +2 -2
- package/dist/ui/assets/{wc-tray-CwvVidS8.js → wc-tray-B2w3dtCQ.js} +4 -4
- package/dist/ui/assets/welcome-detection-Cik05qcd.js +1 -0
- package/dist/ui/assets/{whisper-session-MB0YiZ0q.js → whisper-session-BB92W1rY.js} +2 -2
- package/dist/ui/assets/{xai-grok-0BxCS34q.js → xai-grok-Btqu459a.js} +1 -1
- package/dist/ui/assets/{xai-grok-rwJAZiuv.js → xai-grok-DsDg76ef.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/ui/packages/webapp/index.html +3 -3
- package/package.json +1 -1
- package/dist/ui/assets/__vite-browser-external-BlQ4QU88.js +0 -1
- package/dist/ui/assets/js-realm-worker-BIVxi3Fa.js +0 -50
- package/dist/ui/assets/jsh-executor-DhdH2_yG.js +0 -18
- package/dist/ui/assets/provider-store-access-BFeKOGcv.js +0 -1
- package/dist/ui/assets/provider-store-access-C2X0AryS.js +0 -1
- package/dist/ui/assets/py-realm-worker-DLb3nkyD.js +0 -244
- package/dist/ui/assets/realm-inprocess-BBw2Fa8u.js +0 -30
- package/dist/ui/assets/shared-C_68vn79.js +0 -4
- package/dist/ui/assets/shared-mBEktoxE.js +0 -1
- package/dist/ui/assets/slicc-version-CAje2bW-.js +0 -1
- package/dist/ui/assets/welcome-detection-CIDbn0ev.js +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./content-type-_QKWY0B2.js";import"./proxied-fetch-CNe6icTW.js";import{i as n,r}from"./panel-rpc-DW7W4w6_.js";import{t as i}from"./fetch-body-CuwTaJC_.js";import{a}from"./path-utils-DNJG-zQf.js";import{r as o,t as s}from"./multipart-form-data-DopbgwRR.js";import"./tray-storage-keys-DbThbnIh.js";import"./tray-runtime-config-DBapPARd.js";import{n as c,t as l}from"./picker-popup-B6AyYTBw.js";import{t as u}from"./process-manager-BkhAohXT.js";import{C as d,N as f,b as p,d as m,g as h,p as g,t as ee,x as te,y as _}from"./shared-DfMXB1pm.js";import{t as ne}from"./require-guards-DPf5QETL.js";import{n as v}from"./esbuild-wasm-CeZYVyQ9.js";import{t as re}from"./wasm-compiler-Ct7QZURL.js";import{a as y,i as ie,n as ae,o as oe,s as se,t as ce}from"./usb-device-registry-DFzxaOky.js";import{C as le,a as ue,b as de,c as fe,i as pe,m as me,o as he,r as ge,x as _e}from"./sync-exec-dispatch-CEbwf9Az.js";import{a as ve,o as ye,s as be}from"./sync-sab-wire-D_d0fd3b.js";import{i as xe}from"./just-bash-compat-B-SPHuh_.js";let b,x;function S(){return async({kind:e,ctx:t})=>{if(e===`py`){if(typeof Worker<`u`)return Ce();if(!x){let{createInProcessPyRealmFactory:e}=await import(`./realm-inprocess-CI_Msk8I.js`);x=e()}return x({kind:e,ctx:t})}if(typeof Worker<`u`)return Se();if(!b){let{createInProcessJsRealmFactory:e}=await import(`./realm-inprocess-CI_Msk8I.js`);b=e()}return b({kind:e,ctx:t})}}function Se(){if(typeof Worker>`u`)throw Error(`realm-factory: Worker is not available in this runtime`);return we(new Worker(new URL(`/assets/js-realm-worker-C8L3DYxo.js`,``+import.meta.url),{type:`module`}))}function Ce(){if(typeof Worker>`u`)throw Error(`realm-factory: Worker is not available in this runtime`);return we(new Worker(new URL(`/assets/py-realm-worker-BaO89JAR.js`,``+import.meta.url),{type:`module`}))}function we(e){let t={postMessage:(t,n)=>n?e.postMessage(t,n):e.postMessage(t),addEventListener:(t,n)=>e.addEventListener(t,n),removeEventListener:(t,n)=>e.removeEventListener(t,n)},n=!1;return{controlPort:t,isolatedThread:!0,addEventListener:(t,n,r)=>e.addEventListener(t,n,r),removeEventListener:(t,n)=>e.removeEventListener(t,n),terminate(){if(!n){n=!0;try{e.terminate()}catch{}}}}}function Te(){if(g())return decodeURIComponent(h(`pyodide/pyodide.mjs`,`../../../../../node_modules/pyodide/`).pathname)}function Ee(e){let t=e.startsWith(`/`)?e:`/${e}`;return new URL(`file://${t}`).href}function C(e){return e instanceof Error?e.message:String(e)}function De(e){return`${(e&&e.length>0?e:`[eval]`).replace(/\.[^./]+$/,``)}.js`}async function Oe(e,t,n,r){return(await(await e()).transform(t,{loader:`js`,format:`cjs`,sourcefile:De(n),supported:{"dynamic-import":!1},define:{"import.meta.url":JSON.stringify(r)}})).code}async function ke(e,t,n,r){return(await(await e()).transform(t,{loader:`js`,format:`cjs`,sourcefile:De(n),supported:{"dynamic-import":!1},...r?{define:{"import.meta.url":JSON.stringify(r)}}:{}})).code}const Ae=/\bimport\s*\.\s*meta\s*\.\s*url\b/g,je=/\bimport\s*\.\s*meta\b/g;function Me(e,t){let n=JSON.stringify(t);return e.replace(Ae,n).replace(je,`({ url: ${n} })`)}async function w(e,t,n,r){let i=await e();return i.transpileModule(Me(t,r),{compilerOptions:{module:i.ModuleKind.CommonJS,target:i.ScriptTarget.ES2020,esModuleInterop:!0},fileName:`${n.replace(/\.[^./]+$/,``)}.ts`}).outputText}function Ne(e={}){let{ipk:t}=e,n=e.loadEsbuild??(()=>v(t?{ipk:t}:{})),r=e.loadTypeScript??(()=>m(t));return async({source:e,path:t,kind:i})=>{if(i!==`esm`||!p(e))return e;let a=Ee(t),o;try{return await Oe(n,e,t,a)}catch(e){o=e}try{return await w(r,e,t,a)}catch(e){throw Error(`Failed to transpile ESM module '${t}': ${C(o)}; typescript fallback: ${C(e)}`)}}}function T(e={}){let{ipk:t}=e,n=e.loadEsbuild??(()=>v(t?{ipk:t}:{})),r=e.loadTypeScript??(()=>m(t));return async({source:e,filename:t})=>{if(!p(e)&&!_(e))return e;let i=typeof t==`string`&&t.startsWith(`/`),a=i?Ee(t):void 0,o=i?t:`[eval].js`,s;try{return await ke(n,e,t,a)}catch(e){s=e}try{return await w(r,e,o,a??``)}catch(e){throw Error(`Failed to transpile entry source: ${C(s)}; typescript fallback: ${C(e)}`)}}}function E(e,t){if(!e.startsWith(`#!`))return e;let n=e.indexOf(`
|
|
2
|
+
`);if(n===-1)return``;let r=e.slice(n+1);return t?.keepLine?`\n${r}`:r}function Pe(e){return a(e).dir}const D=[`node`,`require`,`default`],O=[`node`,`import`,`default`],Fe=/\brequire\s*\(\s*(['"`])([^'"`\s]+)\1\s*\)/g,Ie=/\bimport\s*\(\s*(['"`])([^'"`\s]+)\1\s*\)/g,Le=/(?:^|[;\n}])\s*import\b[\s\S]*?\bfrom\s*(['"])([^'"]+)\1/g,Re=/(?:^|[;\n}])\s*export\b[\s\S]*?\bfrom\s*(['"])([^'"]+)\1/g,ze=/(?:^|[;\n}])\s*import\s*(['"])([^'"]+)\1/g;function Be(e,t,n){let r=t[0].indexOf(n);return r<0?!1:e.startsWith(n,t.index+r)}function Ve(e){let t=te(e),n=new Map,r=(r,i,a)=>{r.lastIndex=0;let o;for(;(o=r.exec(e))!==null;){if(!Be(t,o,a))continue;let e=o[2];n.get(e)!==`import`&&n.set(e,i)}};return r(Fe,`require`,`require`),r(Ie,`import`,`import`),r(Le,`import`,`import`),r(Re,`import`,`export`),r(ze,`import`,`import`),[...n].map(([e,t])=>({specifier:e,kind:t}))}async function He(e,t,n,r){if(n===`json`)return`module.exports = JSON.parse(${JSON.stringify(e)});\n`;let i=E(e);if(n===`esm`){if(!r)throw Error(`Cannot load ESM module '${t}': no transpile hook configured (run: ${ee} esbuild-wasm)`);return await r({source:i,path:t,kind:n})}return i}async function Ue(e){let{entrySpecifiers:t,fromDir:n,reader:r,conditions:i,transpile:a}=e,o=e.requireConditions??D,s=e.importConditions??O,c=i??o,l=new Map,u=[],f={},p={};async function m(e,t){if(l.has(e))return;let n=await r.readFile(e),i=await He(n,e,t,a);l.set(e,{path:e,source:n,cjsSource:i,kind:t});let c=Pe(e),h={},g={};for(let{specifier:e,kind:t}of Ve(n)){let n;try{n=await d(e,c,r,{conditions:t===`import`?s:o})}catch(t){g[e]=t instanceof Error?t.message:String(t);continue}n.type===`file`&&(h[e]=n.path,await m(n.path,n.moduleKind))}f[e]=h,Object.keys(g).length>0&&(p[e]=g),u.push(e)}let h={};for(let e of t){let t=await d(e,n,r,{conditions:c});t.type===`file`&&(h[e]=t.path,await m(t.path,t.moduleKind))}return{files:u.map(e=>{let t=l.get(e);if(!t)throw Error(`module-loader: missing built module for '${e}'`);return t}),entryMap:h,edges:f,edgeErrors:p}}function We(e){return!(e.startsWith(`sliccy:`)||e.startsWith(`node:`)||f.has(e)||ne.has(e))}function Ge(e,t){for(let[n,r]of Object.entries(t))e[n]={...e[n]??{},...r}}async function Ke(e){let{entryCode:t,fromDir:n,entryFilename:r,reader:i,transpile:a,transpileEntry:o}=e,s=new Map,c=[],l={},u={},d={},f={};for(let{specifier:e,kind:r}of Ve(t))if(We(e))try{let t=await Ue({entrySpecifiers:[e],fromDir:n,reader:i,transpile:a,conditions:r===`import`?O:D,requireConditions:D,importConditions:O});for(let e of t.files)s.has(e.path)||(s.set(e.path,e),c.push(e.path));Object.assign(l,t.entryMap),Ge(u,t.edges),Ge(d,t.edgeErrors)}catch(t){f[e]=t instanceof Error?t.message:String(t)}let m;o&&(p(t)||_(t))&&(m=await o({source:t,filename:r??`[eval]`,fromDir:n}));let h={files:c.map(e=>{let t=s.get(e);if(!t)throw Error(`module-loader: missing built module for '${e}'`);return{path:t.path,cjsSource:t.cjsSource,kind:t.kind}}),entryMap:l,edges:u,edgeErrors:d,errors:f};return m!==void 0&&(h.entrySource=m),m!==void 0&&p(t)&&(h.entryIsModule=!0),h}function k(){return globalThis.navigator?.hid??null}function qe(e){let t=e.collections?.[0];return t?`${t.usagePage??``}:${t.usage??``}`:``}function Je(e,t){return e===t||e.vendorId===t.vendorId&&e.productId===t.productId&&(e.productName??``)===(t.productName??``)&&qe(e)===qe(t)&&!!e.productName}var Ye=class{byHandle=new Map;counter=0;register(e){for(let[t,n]of this.byHandle)if(Je(n,e))return this.byHandle.set(t,e),t;let t=`hid${++this.counter}`;return this.byHandle.set(t,e),t}get(e){return this.byHandle.get(e)}remove(e){return this.byHandle.delete(e)}list(){return[...this.byHandle].map(([e,t])=>({handle:e,device:t}))}};let Xe=null;function Ze(){return Xe||=new Ye,Xe}const Qe=4194304;function A(e,t){let n=t.collections?.[0];return{handle:e,vendorId:t.vendorId,productId:t.productId,...t.productName?{productName:t.productName}:{},...n?.usagePage===void 0?{}:{usagePage:n.usagePage},...n?.usage===void 0?{}:{usage:n.usage},opened:t.opened}}function j(e,t){let n=e.get(t);if(!n)throw Error(`unknown hid handle '${t}'`);return n}async function M(e){e.opened||await e.open()}function N(e,t){if(e>4194304)throw Error(`${t} exceeds the ${Qe}-byte (4 MiB) v1 limit`)}function P(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),t}async function $e(e,t){return(await t.getDevices()).map(t=>A(e.register(t),t))}async function et(e,t,n){let r=await t.requestDevice({filters:n});if(r.length===0)throw Error(`No device selected.`);return r.map(t=>A(e.register(t),t))}function tt(e,t){return A(t,j(e,t))}async function nt(e,t){await j(e,t).open()}async function rt(e,t){await j(e,t).close()}async function it(e,t,n,r){N(r.byteLength,`send report payload`);let i=j(e,t);await M(i),await i.sendReport(n,r)}async function at(e,t,n,r){N(r.byteLength,`send feature report payload`);let i=j(e,t);await M(i),await i.sendFeatureReport(n,r)}async function ot(e,t,n){let r=j(e,t);return await M(r),{reportId:n,bytes:P(await r.receiveFeatureReport(n))}}async function st(e,t,n){let r=j(e,t);await M(r);let i=e=>{n({reportId:e.reportId,bytes:P(e.data)})};return r.addEventListener(`inputreport`,i),()=>r.removeEventListener(`inputreport`,i)}const F=6e4;function ct(){return l()}function lt(e){return new Promise(t=>{let n=!1,r=e=>{n||(n=!0,clearTimeout(i),t(e))},i=setTimeout(()=>r({cancelled:!0}),F);c(`hid-device`,e??[],void 0,{timeoutMs:F}).then(e=>{let t=e;t.cancelled?r({cancelled:!0}):typeof t.error==`string`?r({error:t.error}):t.granted&&t.info?r({granted:!0,info:t.info}):r({error:`hid picker returned an unexpected response`})}).catch(e=>{r({error:e instanceof Error?e.message:`Failed to open HID picker`})})})}function I(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}var ut=class{registry;constructor(e){this.registry=e}hid(){let e=k();if(!e)throw Error(`WebHID is unavailable in this browser`);return e}list(){return $e(this.registry,this.hid())}async request(e){if(ct()){let t=await lt(e);if(`cancelled`in t)throw Error(`user cancelled the HID picker`);if(`error`in t)throw Error(t.error);let n=await this.reacquireAll(t.info);if(n.length===0)throw Error(`granted device could not be re-acquired`);return n.map(e=>A(this.registry.register(e),e))}return et(this.registry,this.hid(),e)}async reacquireAll(e){return(await this.hid().getDevices()).filter(t=>t.vendorId===e.vendorId&&t.productId===e.productId)}info(e){return Promise.resolve(tt(this.registry,e))}open(e){return nt(this.registry,e)}close(e){return rt(this.registry,e)}sendReport(e,t,n){return it(this.registry,e,t,I(n))}sendFeatureReport(e,t,n){return at(this.registry,e,t,I(n))}async receiveFeatureReport(e,t){let n=await ot(this.registry,e,t);return{reportId:n.reportId,bytes:new Uint8Array(n.bytes)}}async subscribeInputReports(e,t){return st(this.registry,e,e=>t({reportId:e.reportId,bytes:new Uint8Array(e.bytes)}))}},dt=class e{rpc;constructor(e){this.rpc=e}static REQUEST_TIMEOUT_MS=3e5;async list(){return(await this.rpc.call(`hid-list`,void 0)).devices}async request(t){return(await this.rpc.call(`hid-request`,{filters:t},{timeoutMs:e.REQUEST_TIMEOUT_MS})).devices}async info(e){return(await this.rpc.call(`hid-device-info`,{handle:e})).device}async open(e){await this.rpc.call(`hid-open`,{handle:e})}async close(e){await this.rpc.call(`hid-close`,{handle:e})}async sendReport(e,t,n){await this.rpc.call(`hid-send-report`,{handle:e,reportId:t,bytes:I(n)})}async sendFeatureReport(e,t,n){await this.rpc.call(`hid-send-feature-report`,{handle:e,reportId:t,bytes:I(n)})}async receiveFeatureReport(e,t){let n=await this.rpc.call(`hid-receive-feature-report`,{handle:e,reportId:t});return{reportId:n.reportId,bytes:new Uint8Array(n.bytes)}}async subscribeInputReports(e,t){let n=this.rpc.onEvent(`hid-input-report`,n=>{let r=n;!r||r.handle!==e||t({reportId:r.reportId,bytes:new Uint8Array(r.bytes)})});try{await this.rpc.call(`hid-subscribe-input-reports`,{handle:e})}catch(e){throw n(),e}return async()=>{n();try{await this.rpc.call(`hid-unsubscribe-input-reports`,{handle:e})}catch{}}}};function L(e,t){return e&&k()?new ut(Ze()):t?new dt(t):null}function ft(e){return async function(t,n){let r=t instanceof Request?t:null,i=pt(t),a=(n?.method??r?.method??`GET`).toUpperCase(),o=ht(r?.headers,n?.headers),s=await _t(n,r,a,o);s.defaultContentType&&!gt(o,`content-type`)&&(o[`Content-Type`]=s.defaultContentType);let c=await e(i,{method:a,headers:o,body:s.body}),l=new Headers;for(let[e,t]of Object.entries(c.headers))try{l.set(e,t)}catch{}let u=c.status===204||c.status===205||c.status===304||!c.body||c.body.byteLength===0?null:c.body,d=new Response(u,{status:c.status,statusText:c.statusText,headers:l});try{Object.defineProperty(d,"url",{value:c.url||i,writable:!1,configurable:!0,enumerable:!1})}catch{}return d}}function pt(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function mt(e){if(e){if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}if(Array.isArray(e)){let t={};for(let[n,r]of e)t[n]=r;return t}return{...e}}}function ht(e,t){let n={};e&&e.forEach((e,t)=>{n[t]=e});let r=mt(t);if(r)for(let[e,t]of Object.entries(r))n[e]=t;return n}function gt(e,t){return R(e,t)!==void 0}function R(e,t){let n=t.toLowerCase(),r;for(let[t,i]of Object.entries(e))t.toLowerCase()===n&&(r=i);return r}async function _t(e,n,r,a){if(e&&`body`in e&&e.body!==void 0)return vt(e.body,r);if(n&&r!==`GET`&&r!==`HEAD`){let e=n.body!==null,r=new Uint8Array(await n.arrayBuffer()),o=R(a,`content-type`)??``,s=e&&(!o||!t(o));return{body:r.byteLength===0?void 0:s?i(r):new TextDecoder(`utf-8`).decode(r),defaultContentType:s?`application/octet-stream`:void 0}}return{}}async function vt(e,t){if(o(e)){if(t===`GET`||t===`HEAD`)return{};let n=await s(e);return{body:n.bytes,defaultContentType:n.contentType}}return{body:await yt(e,t),defaultContentType:xt(e,t)}}async function yt(e,t){if(e!=null&&t!==`GET`&&t!==`HEAD`){if(typeof e==`string`)return e;if(e instanceof URLSearchParams)return e.toString();if(e instanceof Uint8Array)return i(e);if(e instanceof ArrayBuffer)return new Uint8Array(e).slice();if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength).slice()}if(typeof Blob<`u`&&e instanceof Blob)return new Uint8Array(await e.arrayBuffer());throw typeof ReadableStream<`u`&&e instanceof ReadableStream?Error(`node fetch shim: ReadableStream request bodies are not supported (collect into a Uint8Array or string before calling fetch)`):Error(`node fetch shim: unsupported request body type (${Object.prototype.toString.call(e)}); use a string, Uint8Array, ArrayBuffer, Blob, FormData, or URLSearchParams`)}}function bt(e){return e instanceof Uint8Array||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof Blob<`u`&&e instanceof Blob}function xt(e,t){if(e instanceof URLSearchParams)return`application/x-www-form-urlencoded;charset=UTF-8`;if(!(t===`GET`||t===`HEAD`||!bt(e)))return typeof Blob<`u`&&e instanceof Blob&&e.type?e.type:`application/octet-stream`}function z(){return globalThis.navigator?.serial??null}var St=class{byHandle=new Map;counter=0;register(e){for(let[t,n]of this.byHandle)if(n.port===e)return t;let t=`serial${++this.counter}`;return this.byHandle.set(t,{port:e,opened:!1}),t}get(e){return this.byHandle.get(e)}remove(e){return this.byHandle.delete(e)}list(){return[...this.byHandle].map(([e,t])=>({handle:e,entry:t}))}retainOnly(e){let t=[];for(let[n,r]of[...this.byHandle])e.includes(r.port)||(this.byHandle.delete(n),t.push({handle:n,entry:r}));return t}};let B=null;function V(){return B||=new St,B}const H=4194304;function U(e,t){let n=t.port.getInfo();return{handle:e,...n.usbVendorId===void 0?{}:{usbVendorId:n.usbVendorId},...n.usbProductId===void 0?{}:{usbProductId:n.usbProductId},opened:t.opened}}function W(e,t){let n=e.get(t);if(!n)throw Error(`unknown serial handle '${t}'`);return n}function Ct(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function wt(e,t,n){if(t.length===0)return-1;outer:for(let r=Math.max(0,n);r+t.length<=e.length;r++){for(let n=0;n<t.length;n++)if(e[r+n]!==t[n])continue outer;return r}return-1}async function G(e){if(e.reader){try{await e.reader.cancel()}catch{}try{e.reader.releaseLock()}catch{}e.reader=void 0}if(e.pendingRead=void 0,e.leftover=void 0,e.writer){try{e.writer.releaseLock()}catch{}e.writer=void 0}}async function Tt(e){if(await G(e),e.opened){try{await e.port.close()}catch{}e.opened=!1}}async function Et(e,t){let n=await t.getPorts();for(let{entry:t}of e.retainOnly(n))await Tt(t);return n.map(t=>{let n=e.register(t);return U(n,e.get(n))})}async function Dt(e,t,n){let r=await t.requestPort(n.length?{filters:n}:{}),i=e.register(r);return U(i,e.get(i))}function Ot(e,t){return U(t,W(e,t))}async function kt(e,t,n){let r=W(e,t);try{await r.port.open(n)}catch(e){throw Error(`${e instanceof Error?e.message:String(e)} (handle '${t}' may be stale after a device reset — re-run 'serial list' to pick up the current handle)`)}r.opened=!0}async function At(e,t){let n=W(e,t);await G(n);try{await n.port.close()}catch(e){if(!jt(e))throw e}n.opened=!1}function jt(e){let t=e instanceof Error?e.message:String(e);return/already closed|not open/i.test(t)}function Mt(e){if(!e.reader){if(!e.port.readable)throw Error(`serial port is not readable (is it open?)`);e.reader=e.port.readable.getReader()}return e.reader}function Nt(e){if(!e.writer){if(!e.port.writable)throw Error(`serial port is not writable (is it open?)`);e.writer=e.port.writable.getWriter()}return e.writer}async function Pt(e,t,n){let r=W(e,t),i=Math.min(n.maxBytes??4194304,H),a=n.until?.length?n.until:void 0,o=n.timeoutMs??1e3,s=Date.now()+Math.max(0,o),c=r.leftover??new Uint8Array;r.leftover=void 0;let l=0,u=()=>{if(a){let e=wt(c,a,Math.max(0,l-(a.length-1)));if(e>=0){let t=e+a.length;return r.leftover=c.slice(t),c.slice(0,t)}}return c.length>=i?(r.leftover=c.slice(i),c.slice(0,i)):null},d=u();if(d)return d;let f=Mt(r);for(;Date.now()<s;){let e=s-Date.now(),t=r.pendingRead??f.read();r.pendingRead=t;let n,i=new Promise(t=>{n=setTimeout(()=>t(`__timeout`),e)}),a;try{a=await Promise.race([t,i])}finally{n&&clearTimeout(n)}if(a===`__timeout`)break;if(r.pendingRead=void 0,a.done){r.reader=void 0;break}if(a.value?.length){l=c.length,c=Ct(c,a.value);let e=u();if(e)return e}}return c}async function Ft(e,t,n){if(n.length>4194304)throw Error(`serial write payload exceeds the ${H}-byte (4 MiB) v1 limit`);return await Nt(W(e,t)).write(n),n.length}async function It(e,t){return W(e,t).port.getSignals()}async function Lt(e,t,n){await W(e,t).port.setSignals(n)}const Rt=6e4;function zt(){return l()}function Bt(e){return new Promise(t=>{let n=!1,r=e=>{n||(n=!0,clearTimeout(i),t(e))},i=setTimeout(()=>r({cancelled:!0}),Rt);c(`serial-port`,e??[],void 0,{timeoutMs:Rt}).then(e=>{let t=e;t.cancelled?r({cancelled:!0}):typeof t.error==`string`?r({error:t.error}):t.granted&&t.info?r({granted:!0,info:t.info}):r({error:`serial picker returned an unexpected response`})}).catch(e=>{r({error:e instanceof Error?e.message:`Failed to open serial picker`})})})}function Vt(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}var Ht=class{registry;constructor(e){this.registry=e}serial(){let e=z();if(!e)throw Error(`Web Serial is unavailable in this browser`);return e}list(){return Et(this.registry,this.serial())}async request(e){if(zt()){let t=await Bt(e);if(`cancelled`in t)throw Error(`user cancelled the serial picker`);if(`error`in t)throw Error(t.error);let n=await this.reacquire(t.info);if(!n)throw Error(`granted port could not be re-acquired`);let r=this.registry.register(n);return U(r,this.registry.get(r))}return Dt(this.registry,this.serial(),e)}async reacquire(e){let t=await this.serial().getPorts(),n=t.filter(t=>{let n=t.getInfo();return!(e.usbVendorId!==void 0&&n.usbVendorId!==e.usbVendorId||e.usbProductId!==void 0&&n.usbProductId!==e.usbProductId)}),r=n.length?n:t,i=this.registry.list().map(e=>e.entry.port);return r.find(e=>!i.includes(e))??r[0]??null}info(e){return Promise.resolve(Ot(this.registry,e))}open(e,t){return kt(this.registry,e,t)}close(e){return At(this.registry,e)}read(e,t){return Pt(this.registry,e,t)}write(e,t){return Ft(this.registry,e,t)}getSignals(e){return It(this.registry,e)}setSignals(e,t){return Lt(this.registry,e,t)}},Ut=class e{rpc;constructor(e){this.rpc=e}static REQUEST_TIMEOUT_MS=3e5;static READ_MARGIN_MS=3e4;async list(){return(await this.rpc.call(`serial-list`,void 0)).devices}async request(t){return(await this.rpc.call(`serial-request`,{filters:t},{timeoutMs:e.REQUEST_TIMEOUT_MS})).device}async info(e){return(await this.rpc.call(`serial-device-info`,{handle:e})).device}async open(e,t){await this.rpc.call(`serial-open`,{handle:e,options:t})}async close(e){await this.rpc.call(`serial-close`,{handle:e})}async read(t,n){let r=(n.timeoutMs??1e3)+e.READ_MARGIN_MS,i=await this.rpc.call(`serial-read`,{handle:t,maxBytes:n.maxBytes,until:n.until?Vt(n.until):void 0,timeoutMs:n.timeoutMs},{timeoutMs:r});return new Uint8Array(i.bytes)}async write(e,t){return(await this.rpc.call(`serial-write`,{handle:e,bytes:Vt(t)})).bytesWritten}async getSignals(e){return(await this.rpc.call(`serial-get-signals`,{handle:e})).signals}async setSignals(e,t){await this.rpc.call(`serial-set-signals`,{handle:e,signals:t})}};function Wt(e,t){return e&&z()?new Ht(V()):t?new Ut(t):null}const Gt=e(`usb`);async function K(){return import(`./usb-claim-broker-C5dFP5bv.js`)}function q(e,t){let n=e.get(t);if(!n)throw Error(`unknown usb handle '${t}'`);return n}function J(e,t){if(e>4194304)throw Error(`${t} exceeds the ${ce}-byte (4 MiB) v1 limit`)}function Kt(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}async function qt(e,t){return(await t.getDevices()).map(t=>y(e.register(t),t))}async function Jt(e,t,n){let r=await t.requestDevice({filters:n});return y(e.register(r),r)}function Yt(e,t){return y(t,q(e,t))}async function Xt(e,t){await q(e,t).open()}async function Zt(e,t,n){await cn(e,t,`close`,n)}async function Qt(e,t,n){await q(e,t).selectConfiguration(n)}async function $t(e,t,n,r){let i=r?.owner??`usb`,a=q(e,t),o=await K(),s=await o.acquireInterfaceClaim(e,t,n,i,r?.wait??!1,r?.signal),c=()=>o.claimOwner(e,t,n),l=()=>c()===i,u=()=>o.wasGrantCancelled(e,t,n,i),d=async r=>{if(!(l()&&!u())){if(u()||!c()){if(r)try{await a.releaseInterface(n)}catch{}o.settleCancelledGrant(e,t,n,i),o.wakeInterfaceWaiter(e,t,n)}throw o.claimWaitCancelledError(t,n,i)}};try{await d(!1),await a.claimInterface(n),await d(!0)}catch(r){throw s===`acquired`&&(u()?(o.settleCancelledGrant(e,t,n,i),o.wakeInterfaceWaiter(e,t,n)):l()?o.releaseInterfaceClaim(e,t,n,i):c()||o.wakeInterfaceWaiter(e,t,n)),r}finally{o.clearPendingGrant(e,t,n,i)}}async function en(e,t){let n=await K(),r=n.takeOwnerClaims(e,t);for(let t of r){try{await e.get(t.handle)?.releaseInterface(t.interfaceNumber)}catch{}n.wakeInterfaceWaiter(e,t.handle,t.interfaceNumber)}}async function tn(e,t,n,r){let i=r?.owner??`usb`,a=q(e,t),o=await K(),s=o.claimOwner(e,t,n);if(s&&s!==i)throw new ie({handle:t,holder:s,op:`release`,interfaceNumber:n});await a.releaseInterface(n),o.releaseInterfaceClaim(e,t,n,i)}async function nn(e,t,n,r){J(r,`control-in length`);let i=await q(e,t).controlTransferIn(n,r);return{status:i.status??`ok`,bytes:i.data?Kt(i.data):new ArrayBuffer(0)}}async function rn(e,t,n,r){J(r.byteLength,`control-out payload`);let i=await q(e,t).controlTransferOut(n,r);return{status:i.status??`ok`,bytesWritten:i.bytesWritten}}async function an(e,t,n,r){J(r,`transfer-in length`);let i=await q(e,t).transferIn(n,r);return{status:i.status??`ok`,bytes:i.data?Kt(i.data):new ArrayBuffer(0)}}async function on(e,t,n,r){J(r.byteLength,`transfer-out payload`);let i=await q(e,t).transferOut(n,r);return{status:i.status??`ok`,bytesWritten:i.bytesWritten}}async function sn(e,t,n){await cn(e,t,`reset`,n)}async function cn(e,t,n,r){let i=r?.owner??`usb`,a=r?.force??!1,o=q(e,t),s=await K(),c=s.listClaims(e,t);if(c.length>0){let e=c.map(e=>`${e.interfaceNumber}=${e.owner}`).join(`, `);Gt.warn(`usb ${n} ${t} with claimed interfaces (${e})${a?` [force]`:``}`)}let l=s.assertExclusive(e,t,i,a,n);n===`close`?await o.close():await o.reset(),s.displaceHandle(e,t,{reason:n,displacedBy:i,displaced:l})}async function ln(e,t,n,r){await q(e,t).clearHalt(n,r)}const un=6e4;function dn(){return l()}function fn(e){return new Promise(t=>{let n=!1,r=e=>{n||(n=!0,clearTimeout(i),t(e))},i=setTimeout(()=>r({cancelled:!0}),un);c(`usb-device`,e??[],void 0,{timeoutMs:un}).then(e=>{let t=e;t.cancelled?r({cancelled:!0}):typeof t.error==`string`?r({error:t.error}):t.granted&&t.info?r({granted:!0,info:t.info}):r({error:`usb picker returned an unexpected response`})}).catch(e=>{r({error:e instanceof Error?e.message:`Failed to open USB picker`})})})}function Y(e){let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),t}var pn=class{registry;constructor(e){this.registry=e}usb(){let e=oe();if(!e)throw Error(`WebUSB is unavailable in this browser`);return e}list(){return qt(this.registry,this.usb())}async request(e){if(dn()){let t=await fn(e);if(`cancelled`in t)throw Error(`user cancelled the USB picker`);if(`error`in t)throw Error(t.error);let n=await this.reacquire(t.info);if(!n)throw Error(`granted device could not be re-acquired`);return y(this.registry.register(n),n)}return Jt(this.registry,this.usb(),e)}async reacquire(e){return(await this.usb().getDevices()).find(t=>t.vendorId===e.vendorId&&t.productId===e.productId&&(!e.serialNumber||t.serialNumber===e.serialNumber))??null}info(e){return Promise.resolve(Yt(this.registry,e))}open(e){return Xt(this.registry,e)}close(e,t){return Zt(this.registry,e,X(t))}selectConfig(e,t){return Qt(this.registry,e,t)}claim(e,t,n){return $t(this.registry,e,t,X(n))}release(e,t,n){return tn(this.registry,e,t,X(n))}async controlIn(e,t,n){let r=await nn(this.registry,e,t,n);return{status:r.status,bytes:new Uint8Array(r.bytes)}}controlOut(e,t,n){return rn(this.registry,e,t,Y(n))}async transferIn(e,t,n){let r=await an(this.registry,e,t,n);return{status:r.status,bytes:new Uint8Array(r.bytes)}}transferOut(e,t,n){return on(this.registry,e,t,Y(n))}clearHalt(e,t,n){return ln(this.registry,e,t,n)}reset(e,t){return sn(this.registry,e,X(t))}subscribeClaimEvents(e){let t,n=import(`./usb-claim-broker-C5dFP5bv.js`).then(n=>{t=n.addClaimListener(this.registry,e)});return()=>{n.then(()=>t?.())}}dropOwner(e){return en(this.registry,e)}};function X(e){return{...e,owner:e?.owner??`shell`}}var mn=class e{rpc;constructor(e){this.rpc=e}static REQUEST_TIMEOUT_MS=3e5;static CLAIM_WAIT_TIMEOUT_MS=3e5;async list(){return(await this.rpc.call(`usb-list`,void 0)).devices}async request(t){return(await this.rpc.call(`usb-request`,{filters:t},{timeoutMs:e.REQUEST_TIMEOUT_MS})).device}async info(e){return(await this.rpc.call(`usb-device-info`,{handle:e})).device}async open(e){await this.rpc.call(`usb-open`,{handle:e})}async close(e,t){await this.rpc.call(`usb-close`,{handle:e,owner:t?.owner??`shell`,force:t?.force??!1})}async selectConfig(e,t){await this.rpc.call(`usb-select-configuration`,{handle:e,configurationValue:t})}async claim(t,n,r){let i=r?.owner??`shell`,a=r?.wait??!1;try{await this.rpc.call(`usb-claim-interface`,{handle:t,interfaceNumber:n,owner:i,wait:a},a?{timeoutMs:e.CLAIM_WAIT_TIMEOUT_MS}:void 0)}catch(e){throw a&&await this.rpc.call(`usb-cancel-claim-wait`,{handle:t,interfaceNumber:n,owner:i}).catch(()=>void 0),e}}async release(e,t,n){await this.rpc.call(`usb-release-interface`,{handle:e,interfaceNumber:t,owner:n?.owner??`shell`})}async controlIn(e,t,n){let r=await this.rpc.call(`usb-control-transfer-in`,{handle:e,setup:t,length:n});return{status:r.status,bytes:new Uint8Array(r.bytes)}}async controlOut(e,t,n){return this.rpc.call(`usb-control-transfer-out`,{handle:e,setup:t,bytes:Y(n)})}async transferIn(e,t,n){let r=await this.rpc.call(`usb-transfer-in`,{handle:e,endpointNumber:t,length:n});return{status:r.status,bytes:new Uint8Array(r.bytes)}}async transferOut(e,t,n){return this.rpc.call(`usb-transfer-out`,{handle:e,endpointNumber:t,bytes:Y(n)})}async clearHalt(e,t,n){await this.rpc.call(`usb-clear-halt`,{handle:e,direction:t,endpointNumber:n})}async reset(e,t){await this.rpc.call(`usb-reset`,{handle:e,owner:t?.owner??`shell`,force:t?.force??!1})}subscribeClaimEvents(e){return this.rpc.onEvent(`usb-claim-event`,t=>{e(t)})}async dropOwner(e){await this.rpc.call(`usb-drop-owner`,{owner:e})}};function hn(e,t){return e&&oe()?new pn(se()):t?new mn(t):null}const gn=Math.max(me,fe)+5e3;function _n(e,t,n,r={}){let{header:i,window:a}=be(t),o=new Map,s=!1,c=r.dispatch??(e=>pe(e)?ge(e):de(e));function l(e){let t=o.get(e);t&&(clearTimeout(t.timer),o.delete(e))}function u(e,t,n){let r=Math.min(a.byteLength,t.payload.byteLength-n);r>0&&a.set(t.payload.subarray(n,n+r)),Atomics.store(i,2,t.status),Atomics.store(i,3,t.payload.byteLength),Atomics.store(i,4,r),Atomics.store(i,5,n),Atomics.store(i,1,e),Atomics.store(i,0,2),Atomics.notify(i,0),n+r>=t.payload.byteLength&&l(e)}function d(e,t){if(s)return;let{status:n,payload:r}=ve(t);l(e);let i={status:n,payload:r,timer:setTimeout(()=>l(e),gn)};o.set(e,i),u(e,i,0)}let f=e=>{let t=e.data;if(!t||typeof t.id!=`number`)return;if(t.type===`sync-sab-next`){let e=o.get(t.id),n=t.offset;if(!e||typeof n!=`number`||!Number.isInteger(n)||n<0||n>e.payload.byteLength){d(t.id,{ok:!1,errno:`EIO`,message:`sync-sab: bad continuation`});return}u(t.id,e,n);return}if(t.type!==`sync-sab-req`||!t.req||typeof t.req!=`object`)return;let r=t.id,i={...t.req,token:n},a;try{a=c(i)}catch(e){d(r,{ok:!1,errno:`EIO`,message:e instanceof Error?e.message:String(e)});return}a.then(e=>d(r,e),e=>d(r,{ok:!1,errno:`EIO`,message:e instanceof Error?e.message:String(e)}))};return e.addEventListener(`message`,f),{dispose:()=>{if(!s){s=!0,e.removeEventListener(`message`,f);for(let e of[...o.keys()])l(e)}}}}const vn=e(`realm-host`);let yn=0;function bn(e,t,n={}){let r=new Map,i=new Map,a=`${ae}:${++yn}`,o=n.syncFsBridgeEnabled?_e({fs:t.fs,...t.exec?{exec:t.exec}:{},cwd:t.cwd}):void 0,s=!1,c=(t,n=[])=>{if(!s)try{e.postMessage(t,n)}catch{}},l={subscriptions:r,pushEvent:c},u={subscriptions:i,pushEvent:c,owner:a},d=new Map,f={spawns:d,opts:n},p={pushEvent:c,pending:new Map,registered:[],backends:new Map,requestSeq:0,pid:n.ppid??null},m=r=>{if(r.data?.type!==`realm-rpc-req`)return;let i=r.data;xn(e,i,t,n,l,u,f,p)};e.addEventListener(`message`,m);let h=o&&n.syncSab?_n(e,n.syncSab,o):void 0;return e.start?.(),{syncFsToken:o,dispose:()=>{if(!s){s=!0,h?.dispose(),o&&le(o),e.removeEventListener(`message`,m);for(let{controller:e}of d.values())try{e.signal.aborted||e.abort()}catch{}d.clear();for(let e of r.values())try{Promise.resolve(e()).catch(()=>{})}catch{}r.clear(),fr(p);for(let e of i.values())try{Promise.resolve(e()).catch(()=>{})}catch{}i.clear();try{(n.usbBackend??wn(n)).dropOwner?.(a)?.catch(()=>{})}catch{}}}}}async function xn(e,t,n,r,i,a,o,s){try{let c=await Sn(t,n,r,i,a,o,s),l={type:`realm-rpc-res`,id:t.id,result:c},u=hr(c);e.postMessage(l,u)}catch(n){let r=n instanceof Error?n.message:String(n),i={type:`realm-rpc-res`,id:t.id,error:r};e.postMessage(i)}}async function Sn(e,t,n,r,i,a,o){switch(e.channel){case`vfs`:return On(e.op,e.args,t,n.onHostFsMutation);case`exec`:return Vn(e.op,e.args,t,a);case`fetch`:return qn(e.op,e.args,t);case`browser`:return Zn(e.op,e.args,Cn(n),n);case`usb`:return ur(e.op,e.args,wn(n),i);case`serial`:return dr(e.op,e.args,Tn(n));case`hid`:return mr(e.op,e.args,En(n),r);case`computer`:return pr(e.op,e.args,o);case`module`:return Yn(e.op,e.args,t);case`wasm`:return Xn(e.op,e.args,t);default:throw Error(`realm-host: unknown channel '${e.channel}'`)}}function Cn(e){if(e.browser)return e.browser;let t=globalThis;if(t.__slicc_browser)return t.__slicc_browser;throw Error(`browser is not available in this runtime`)}function Z(e){if(e.wsSubscribers)return e.wsSubscribers;let t=globalThis;if(t.__slicc_wsSubscribers)return t.__slicc_wsSubscribers;throw Error(`browser.websocket is not available in this runtime`)}function wn(e){if(e.usbBackend)return e.usbBackend;let t=hn(n(),r());if(!t)throw Error(`usb is not available in this runtime`);return t}function Tn(e){if(e.serialBackend)return e.serialBackend;let t=Wt(n(),r());if(!t)throw Error(`serial is not available in this runtime`);return t}function En(e){if(e.hidBackend)return e.hidBackend;let t=L(n(),r());if(!t)throw Error(`hid is not available in this runtime`);return t}function Dn(e){return[...e.deleted,...e.created.map(e=>e.path),...e.modified.map(e=>e.path)]}async function On(e,t,n,r){let i=typeof t[0]==`string`?t[0]:null,a=i===null?null:n.fs.resolvePath(n.cwd,i);switch(e){case`readFile`:return n.fs.readFile(a);case`readFileBinary`:return n.fs.readFileBuffer(a);case`writeFile`:return await n.fs.writeFile(a,t[1]),a&&r?.([a]),!0;case`writeFileBinary`:return await n.fs.writeFile(a,t[1]),a&&r?.([a]),!0;case`appendFile`:return await n.fs.appendFile(a,t[1]),a&&r?.([a]),!0;case`readDir`:return n.fs.readdir(a);case`exists`:return n.fs.exists(a);case`stat`:{let e=await n.fs.stat(a);return{isDirectory:e.isDirectory,isFile:e.isFile,size:e.size}}case`mkdir`:return await n.fs.mkdir(a,{recursive:!0}),!0;case`rm`:return await n.fs.rm(a,{recursive:!0}),a&&r?.([a]),!0;case`rename`:{let e=n.fs.resolvePath(n.cwd,t[1]),{renameViaFs:i}=await import(`./rename-via-fs-ckVY1Ljv.js`);return await i(n.fs,a,e),r?.(a?[a,e]:[e]),!0}case`resolvePath`:return n.fs.resolvePath(n.cwd,t[0]);case`invalidatePaths`:{let e=t[0],r=n.fs;return r.invalidatePaths&&r.invalidatePaths(e),!0}case`forgetSidecarConsistency`:return await n.fs.forgetSidecarConsistency?.(),!0;case`snapshot`:return Ln(n,typeof t[0]==`string`?t[0]:n.cwd);case`flushWrites`:{let e=t[0];return await Rn(n,e),r?.(Dn(e)),!0}default:throw Error(`realm-host: unknown vfs op '${e}'`)}}const kn=10485760;function An(e){return e.fileCount>=500||e.totalBytes>=kn}function jn(e){return e.entries.length>=2e4}async function Mn(e,t,n,r){r.entries.push({path:t,content:new Uint8Array,isDirectory:!0});let i;try{i=await e.fs.readdir(t)}catch{return}for(let e of i)e!==`node_modules`&&n.push(t===`/`?`/${e}`:`${t}/${e}`)}async function Nn(e,t,n,r){let i=``;try{i=await e.fs.readlink(t)}catch{return}r.entries.push({path:t,content:new Uint8Array,isDirectory:!1,isSymbolicLink:!0,symlinkTarget:i,size:n})}async function Pn(e,t,n,r,i){if(n>1048576||An(r)||r.totalBytes+n>kn){r.entries.push({path:t,content:new Uint8Array,isDirectory:!1,truncated:!0,size:n});return}let a;try{a=await e.fs.readFileBuffer(t)}catch{await Fn(e,t,i,r);return}r.entries.push({path:t,content:a,isDirectory:!1}),r.fileCount+=1,r.totalBytes+=a.byteLength}async function Fn(e,t,n,r){let i;try{i=await e.fs.stat(t)}catch{return}if(i.isDirectory){await Mn(e,t,n,r);return}r.entries.push({path:t,content:new Uint8Array,isDirectory:!1,truncated:!0,size:i.size})}async function In(e,t,n){if(jn(n))return;let r=[t];for(;r.length>0;){if(jn(n))return;let t=r.pop(),i;try{i=await e.fs.lstat(t)}catch{}if(i?.isSymbolicLink){await Nn(e,t,i.size,n);continue}let a;try{a=await e.fs.stat(t)}catch{continue}a.isDirectory?await Mn(e,t,r,n):a.isFile&&await Pn(e,t,a.size,n,r)}}async function Ln(e,t){let n={entries:[],totalBytes:0,fileCount:0};return await In(e,t,n),t!==`/tmp`&&await In(e,`/tmp`,n),{entries:n.entries}}async function Rn(e,t){let n=[],r=async(e,t)=>{try{await t()}catch(t){n.push(`${e}: ${t instanceof Error?t.message:String(t)}`)}};for(let n of t.deleted)await r(n,()=>e.fs.rm(n,{recursive:!0}));for(let n of t.created)n.isSymbolicLink?await r(n.path,()=>e.fs.symlink(n.symlinkTarget??``,n.path)):n.isDirectory?await r(n.path,()=>e.fs.mkdir(n.path,{recursive:!0})):await r(n.path,()=>e.fs.writeFile(n.path,n.content));for(let n of t.modified)await r(n.path,()=>e.fs.writeFile(n.path,n.content));if(n.length>0)throw Error(`sync-fs flush failed for ${n.length} path(s): ${n.join(`; `)}`)}const zn=new Set([`SIGINT`,`SIGTERM`,`SIGKILL`,`SIGSTOP`,`SIGCONT`]),Bn=new Set([`SIGINT`,`SIGTERM`,`SIGKILL`]);async function Vn(e,t,n,r){if(!n.exec)throw Error(`exec is not available in this runtime`);if(e===`run`){let e=t[0],r=await n.exec(e,{cwd:n.cwd});return{stdout:r.stdout,stderr:r.stderr,exitCode:r.exitCode}}if(e===`spawn`){let e=t[0];if(!Array.isArray(e)||e.length===0||!e.every(e=>typeof e==`string`))throw Error(`exec.spawn: argv must be a non-empty string[]`);let[r,...i]=e,a=await n.exec(r,{cwd:n.cwd,args:i});return{stdout:a.stdout,stderr:a.stderr,exitCode:a.exitCode}}if(e===`start`)return Gn(t,n,r);if(e===`kill`)return Kn(t,r);throw Error(`realm-host: unknown exec op '${e}'`)}function Hn(e){if(e.stdin!==void 0&&typeof e.stdin!=`string`)throw Error(`exec.start: stdin must be a string`);if(e.stdinKind!==void 0&&e.stdinKind!==`text`&&e.stdinKind!==`bytes`)throw Error(`exec.start: stdinKind must be 'text' or 'bytes'`);if(e.args!==void 0&&(!Array.isArray(e.args)||!e.args.every(e=>typeof e==`string`)))throw Error(`exec.start: args must be a string[]`);if(e.cwd!==void 0&&typeof e.cwd!=`string`)throw Error(`exec.start: cwd must be a string`);if(e.env!==void 0){if(e.env===null||typeof e.env!=`object`||Array.isArray(e.env))throw Error(`exec.start: env must be an object`);for(let[t,n]of Object.entries(e.env))if(n!==void 0&&typeof n!=`string`)throw Error(`exec.start: env[${t}] must be a string`)}}function Un(e){throw Object.assign(Error(e.message),{code:e.errno})}async function Wn(e,t){let n=await he(e.fs,e.cwd,t.cwd);`errno`in n&&Un(n);let r=ue(t.env);return r!==void 0&&`errno`in r&&Un(r),{cwd:n.cwd,...r===void 0?{}:{env:r.env}}}async function Gn(e,t,n){let[r,i,a]=e;if(typeof r!=`number`)throw Error(`exec.start: spawnId must be a number`);if(n.spawns.has(r))throw Error(`exec.start: spawnId ${r} is already in use`);let o,s,c;if(Array.isArray(i)){if(i.length===0||!i.every(e=>typeof e==`string`))throw Error(`exec.start: argv must be a non-empty string[]`);[o,...s]=i,c=i.slice()}else if(typeof i==`string`)o=i,c=[i];else throw Error(`exec.start: command must be a string or a non-empty string[]`);let l=a??{};Hn(l);let u=await Wn(t,l),d=new AbortController,{pm:f,owner:p}=n.opts,m=0;f&&p&&(m=f.spawn({kind:`shell`,argv:c,cwd:u.cwd,owner:p,...n.opts.ppid===void 0?{}:{ppid:n.opts.ppid},adoptAbort:d}).pid),n.spawns.set(r,{controller:d,pid:m});let h;try{let e={cwd:u.cwd,signal:d.signal};return l.stdin!==void 0&&(e.stdin=l.stdin),l.stdinKind!==void 0&&(e.stdinKind=l.stdinKind),s===void 0?l.args!==void 0&&(e.args=l.args):e.args=s,u.env!==void 0&&(e.env=u.env,e.replaceEnv=!0),h=await t.exec(o,e),{stdout:h.stdout,stderr:h.stderr,exitCode:h.exitCode}}finally{if(n.spawns.delete(r),f&&m){let e=f.get(m);f.exit(m,e?.terminatedBy?null:h?.exitCode??1)}}}function Kn(e,t){let[n,r]=e,i=t.spawns.get(n);if(!i)return!1;let a=typeof r==`string`&&zn.has(r)?r:`SIGTERM`;Bn.has(a)&&!i.controller.signal.aborted&&i.controller.abort();let{pm:o}=t.opts;return o&&i.pid?o.signal(i.pid,a):!0}async function qn(e,t,n){if(e!==`request`)throw Error(`realm-host: unknown fetch op '${e}'`);let[r,i]=t,a=await(n.fetch?ft(n.fetch):globalThis.fetch.bind(globalThis))(r,i),o={};a.headers.forEach((e,t)=>{o[t]=e});let s=new Uint8Array(await a.arrayBuffer());return{status:a.status,statusText:a.statusText,headers:o,body:s,url:a.url}}function Jn(e){let t=t=>e.fs.resolvePath(e.cwd,t);return{exists:n=>e.fs.exists(t(n)),isDirectory:async n=>{try{return(await e.fs.stat(t(n))).isDirectory}catch{return!1}},readFile:async n=>{let r=await e.fs.readFile(t(n));return typeof r==`string`?r:new TextDecoder().decode(r)}}}async function Yn(e,t,n){if(e!==`buildGraph`)throw Error(`realm-host: unknown module op '${e}'`);let r=typeof t[0]==`string`?t[0]:``,i=typeof t[1]==`string`&&t[1]?t[1]:n.cwd,a=typeof t[2]==`string`?t[2]:``,o=Jn(n),s={reader:o,readBytes:e=>n.fs.readFileBuffer(e),fromDir:i};return Ke({entryCode:r,fromDir:i,entryFilename:a,reader:o,transpile:Ne({ipk:s}),transpileEntry:T({ipk:s})})}async function Xn(e,t,n){if(e!==`compile`)throw Error(`realm-host: unknown wasm op '${e}'`);let r=typeof t[0]==`string`?t[0]:null;if(r===null)throw Error(`realm-host: wasm.compile requires a path argument`);let i=n.fs.resolvePath(n.cwd,r);return re(e=>n.fs.readFileBuffer(e),i)}async function Zn(e,t,n,r){switch(e){case`findTab`:return $n(n,t[0]??{});case`ensureTab`:{let e=t[0];return er(n,e,t[1]??{})}case`openWindow`:{let e=t[0];return tr(n,e,t[1]??{})}case`windowBounds`:{let e=t[0];return n.getWindowBounds(e)}case`setWindowBounds`:{let e=t[0],r=t[1]??{};return n.setWindowBounds(e,r)}case`eval`:{let e=t[0],r=t[1];return nr(n,e,r,!1)}case`evalAsync`:{let e=t[0],r=t[1];return nr(n,e,r,!0)}case`cookie`:{let e=t[0],r=t[1];return or(n,e,r)}case`localStorage`:{let e=t[0],r=t[1];return sr(n,e,r)}case`wsObserve`:{let e={...t[0],scoopJid:r.scoopJid};return await Z(r).observe(e)}case`wsUpdate`:{let e=t[0],n=t[1]??{};return Z(r).update(e,n)}case`wsClose`:{let e=t[0];return Z(r).close(e)}case`wsList`:return Z(r).list();case`createTab`:{let e=t[0];return n.createPage(e)}case`closeTab`:{let e=t[0];return n.closePage(e)}case`setViewport`:{let e=t[0],r=t[1],i=t[2];return n.withTab(e,e=>e.setViewportOverride(r,i))}case`navigateTab`:{let e=t[0],r=t[1];return n.withTab(e,e=>e.navigate(r))}case`screenshotTab`:{let e=t[0],r=t[1];return n.withTab(e,e=>e.screenshot(r))}case`waitForLoadState`:{let e=t[0],r=t[1];return ar(n,e,r)}default:throw Error(`realm-host: unknown browser op '${e}'`)}}function Qn(){try{let e=globalThis.localStorage;return e?!!(e.getItem(`slicc.trayWorkerBaseUrl`)||e.getItem(`slicc.trayJoinUrl`)):!1}catch{return!1}}async function Q(e){if(typeof e.listAllTargets!=`function`)return(await e.listPages()).map(e=>({targetId:e.targetId,url:e.url,title:e.title}));let t=(await e.listAllTargets()).map(e=>({targetId:e.targetId,url:e.url,title:e.title})),n=Qn()?r():null;if(n)try{let{targets:e}=await n.call(`list-remote-targets`,void 0,{timeoutMs:3e3}),r=new Set(t.map(e=>e.targetId));for(let n of e)r.has(n.targetId)||(r.add(n.targetId),t.push({targetId:n.targetId,url:n.url,title:n.title}))}catch(e){vn.debug(`panel-rpc list-remote-targets failed`,{err:String(e)})}return t}async function $n(e,t){let n=await Q(e);if(t.domain){let e=t.domain.toLowerCase();for(let t of n){let n=cr(t.url);if(n&&n.toLowerCase()===e)return t}return null}if(t.urlMatch){let e;try{e=new RegExp(t.urlMatch)}catch(e){throw Error(`browser.findTab: invalid urlMatch regex: ${e instanceof Error?e.message:String(e)}`)}for(let t of n)if(e.test(t.url))return t;return null}throw Error("browser.findTab: query requires `domain` or `urlMatch`")}async function er(e,t,n){let r=await Q(e);if(n.matchUrl){let e;try{e=new RegExp(n.matchUrl)}catch(e){throw Error(`browser.ensureTab: invalid matchUrl regex: ${e instanceof Error?e.message:String(e)}`)}let t=r.find(t=>e.test(t.url));if(t)return t}else{let e=lr(t);if(e){let t=r.find(t=>lr(t.url)===e);if(t)return t}}return{targetId:await e.createPage(t),url:t,title:``}}async function tr(e,t,n){if(typeof e.openWindow!=`function`)throw Error(`browser.openWindow is not available in this runtime`);return{targetId:await e.openWindow(t,n),url:t||`about:blank`,title:``}}async function nr(e,t,n,r){return e.withTab(t,async e=>rr(await e.evaluate(n,{awaitPromise:r,returnByValue:!0})))}function rr(e){if(typeof e!=`string`)return e;let t=ir(e);if(t===void 0)return e;if(typeof t==`object`&&t)return t;if(typeof t==`string`){let e=t.trim();if(e.length>0&&(e[0]===`{`||e[0]===`[`)){let e=ir(t);if(typeof e==`object`&&e)return e}return t}return e}function ir(e){let t=e.trim();if(t.length===0)return;let n=t[0];if(n===`{`||n===`[`||n===`"`||n===`-`||n>=`0`&&n<=`9`||t===`true`||t===`false`||t===`null`)try{return JSON.parse(t)}catch{return}}async function ar(e,t,n){if(n===`networkidle`)return e.withTab(t,async e=>{for(let t=0;t<20;t++)if(await new Promise(e=>setTimeout(e,250)),await e.evaluate(`(function(){
|
|
3
|
+
try {
|
|
4
|
+
var entries = performance.getEntriesByType('resource');
|
|
5
|
+
var now = performance.now();
|
|
6
|
+
var recentCutoffMs = 500;
|
|
7
|
+
var busy = entries.some(function(e) {
|
|
8
|
+
var finished = e.responseEnd || e.startTime;
|
|
9
|
+
return (now - finished) < recentCutoffMs;
|
|
10
|
+
});
|
|
11
|
+
return !busy;
|
|
12
|
+
} catch (e) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
})()`,{returnByValue:!0}))return})}async function or(e,t,n){return e.withTab(t,async e=>{let t=((await e.send(`Network.getCookies`)).cookies??[]).find(e=>e.name===n);return t&&typeof t.value==`string`?t.value:null})}async function sr(e,t,n){return e.withTab(t,async e=>{let t=await e.evaluate(`(function(){try{var v=window.localStorage.getItem(${JSON.stringify(n)});return v===null?null:String(v);}catch(e){return null;}})()`,{returnByValue:!0});return t==null?null:typeof t==`string`?t:String(t)})}function cr(e){try{return new URL(e).hostname}catch{return null}}function lr(e){try{return new URL(e).origin}catch{return null}}async function ur(e,t,n,r){switch(e){case`list`:return n.list();case`request`:return n.request(t[0]??[]);case`info`:return n.info(t[0]);case`open`:return n.open(t[0]);case`close`:return n.close(t[0],{owner:r.owner,force:!!t[1]?.force});case`reset`:return n.reset(t[0],{owner:r.owner,force:!!t[1]?.force});case`clearHalt`:return n.clearHalt(t[0],t[1],t[2]);case`selectConfig`:return n.selectConfig(t[0],t[1]);case`claim`:return n.claim(t[0],t[1],{owner:r.owner,wait:!!t[2]?.wait});case`release`:return n.release(t[0],t[1],{owner:r.owner});case`controlIn`:return n.controlIn(t[0],t[1],t[2]);case`controlOut`:return n.controlOut(t[0],t[1],t[2]);case`transferIn`:return n.transferIn(t[0],t[1],t[2]);case`transferOut`:return n.transferOut(t[0],t[1],t[2]);case`subscribeClaimEvents`:{let e=t[0];if(r.subscriptions.has(e))return!0;let i=n.subscribeClaimEvents;if(!i)return!0;let a=i(t=>{t.handle===e&&r.pushEvent({type:`realm-event`,channel:`usb-claim-event`,payload:t})});return r.subscriptions.set(e,a),!0}case`unsubscribeClaimEvents`:{let e=t[0],n=r.subscriptions.get(e);return!n||(r.subscriptions.delete(e),await n(),!0)}default:throw Error(`realm-host: unknown usb op '${e}'`)}}async function dr(e,t,n){switch(e){case`list`:return n.list();case`request`:return n.request(t[0]??[]);case`info`:return n.info(t[0]);case`open`:return n.open(t[0],t[1]);case`close`:return n.close(t[0]);case`read`:{let e=t[1]??{};return n.read(t[0],e)}case`write`:return n.write(t[0],t[1]);case`getSignals`:return n.getSignals(t[0]);case`setSignals`:return n.setSignals(t[0],t[1]);default:throw Error(`realm-host: unknown serial op '${e}'`)}}function fr(e){let t=e.registered.splice(0);e.backends.clear(),t.length>0&&import(`./registry-DfuJBCKY.js`).then(({getComputerRegistry:e})=>{let n=e();for(let e of t)n?.unregister(e)});for(let t of e.pending.values())t.reject(Error(`realm disposed`));e.pending.clear()}async function pr(e,t,n){switch(e){case`register`:{let e=t[0],[{JshComputerBackend:r},{getComputerRegistry:i,installComputerRegistry:a}]=await Promise.all([import(`./jsh-BjvyvzNA.js`),import(`./registry-DfuJBCKY.js`)]),o=new r(e,(t,r)=>{let i=`c${++n.requestSeq}`;return new Promise((a,o)=>{n.pending.set(i,{resolve:a,reject:o}),n.pushEvent({type:`realm-event`,channel:`computer-call`,payload:{requestId:i,id:e.id,op:t,args:r}})})});return(i()??a(null)).register(o,{pid:n.pid}),n.registered.push(e.id),n.backends.set(e.id,o),{id:e.id}}case`unregister`:{let e=String(t[0]??``);n.backends.delete(e);let{getComputerRegistry:r}=await import(`./registry-DfuJBCKY.js`);return await r()?.unregister(e),n.registered=n.registered.filter(t=>t!==e),{ok:!0}}case`reply`:{let e=String(t[0]??``),r=t[1],i=n.pending.get(e);if(!i)return{ok:!1};n.pending.delete(e);let a=r?.error;return a?i.reject(Error(a)):i.resolve(r),{ok:!0}}case`frame`:{let e=String(t[0]??``),r=t[1];return n.backends.get(e)?.pushFrame(r),{ok:!0}}default:throw Error(`realm-host: unknown computer op '${e}'`)}}async function mr(e,t,n,r){switch(e){case`list`:return n.list();case`request`:return n.request(t[0]??[]);case`info`:return n.info(t[0]);case`open`:return n.open(t[0]);case`close`:return n.close(t[0]);case`sendReport`:return n.sendReport(t[0],t[1],t[2]);case`sendFeatureReport`:return n.sendFeatureReport(t[0],t[1],t[2]);case`receiveFeatureReport`:return n.receiveFeatureReport(t[0],t[1]);case`subscribeInputReports`:{let e=t[0];if(r.subscriptions.has(e))return!0;let i=await n.subscribeInputReports(e,t=>{let n=t.bytes instanceof Uint8Array?t.bytes:new Uint8Array(t.bytes),i={type:`realm-event`,channel:`hid-input-report`,payload:{handle:e,reportId:t.reportId,bytes:n}};r.pushEvent(i,[n.buffer])});return r.subscriptions.set(e,i),!0}case`unsubscribeInputReports`:{let e=t[0],n=r.subscriptions.get(e);return!n||(r.subscriptions.delete(e),await n(),!0)}default:throw Error(`realm-host: unknown hid op '${e}'`)}}function hr(e){if(e instanceof Uint8Array)return[e.buffer];if(e&&typeof e==`object`){let t=e;if(t.body instanceof Uint8Array)return[t.body.buffer];if(t.bytes instanceof Uint8Array)return[t.bytes.buffer]}return[]}const gr=65536;function _r(e,t){if(!t)return e;let n=e+t;return n.length<=gr?n:n.slice(n.length-gr)}const vr={SIGKILL:137,SIGINT:130,SIGTERM:143};function yr(e,t){let n=Math.max(0,e)/1e3;return`--- killed after ${n<10?n.toFixed(2).replace(/(\.\d*?)0+$/,`$1`).replace(/\.$/,``):String(Math.round(n))}s (exit ${t}) ---\n`}function br(e,t){for(let n of t)e.pendingByPath.delete(n)}function xr(e,t,n){if(e.type===`realm-output`){let r=e;return r.stream===`stdout`?t.stdout=t.captureOutput?t.stdout+r.chunk:_r(t.stdout,r.chunk):t.stderr=t.captureOutput?t.stderr+r.chunk:_r(t.stderr,r.chunk),n?.(r.chunk,r.stream),`live`}if(e.type===`realm-fs-write`){let n=e;return t.pendingByPath.set(n.path,{op:`write`,path:n.path,bytes:n.bytes}),`live`}if(e.type===`realm-fs-delete`){let n=e;return t.pendingByPath.set(n.path,{op:`delete`,path:n.path}),`live`}return e.type===`realm-done`?`done`:e.type===`realm-error`?`error`:`live`}async function Sr(e,t,n){try{if(t.op===`write`){let n=e.fs?.writeFile?.bind(e.fs);n&&await n(t.path,t.bytes)}else{let n=e.fs?.rm?.bind(e.fs);n&&await n(t.path,{recursive:!0})}}catch(e){let r=e instanceof Error?e.message:String(e),i=t.op===`write`?`write`:`delete`;n.stderr+=`[sync-fs] ERROR: ${i} of ${t.path} was NOT persisted: ${r}\n`}}async function Cr(e,t,n){for(let r of e)await Sr(t,r,n)}function wr(e,t,n){return{type:`realm-init`,kind:e.kind,code:e.code,argv:e.realmArgv??e.argv,env:e.env,cwd:e.cwd,filename:e.filename,stdin:e.stdin,pyodideIndexURL:e.pyodideIndexURL,pyodideAssetRoot:e.pyodideAssetRoot,pyodideMountDirs:e.pyodideMountDirs,opfsMountDbName:e.opfsMountDbName,mountPoints:e.mountPoints,...t.syncFsToken===void 0?{}:{syncFsToken:t.syncFsToken},...n?{syncSab:n}:{},...e.captureOutput===!1?{captureOutput:!1}:{}}}async function Tr(e){let t=e.procKind??`jsh`,n=e.pm.spawn({kind:t,argv:e.argv,cwd:e.cwd,env:e.env,owner:e.owner,ppid:e.ppid});e.onSpawn?.(n);let r;try{r=await e.realmFactory({kind:e.kind,ctx:e.ctx})}catch(t){let r=t instanceof Error?t.message:String(t);return e.pm.exit(n.pid,1),{stdout:``,stderr:`realm-runner: ${r}\n`,exitCode:1}}let i=r.isolatedThread?Er(e.syncSabBytes):void 0,a={stdout:``,stderr:``,pendingByPath:new Map,captureOutput:e.captureOutput!==!1},o=bn(r.controlPort,e.ctx,{...e.owner.scoopJid===void 0?{}:{scoopJid:e.owner.scoopJid},pm:e.pm,owner:e.owner,ppid:n.pid,syncFsBridgeEnabled:!!e.syncFsBridgeEnabled||i!==void 0,...i?{syncSab:i}:{},onHostFsMutation:e=>br(a,e)});return new Promise(t=>{let s=!1,c=!1,l=null,u=null,d=null,f=null,p=()=>{if(!c){c=!0,u&&r.controlPort.removeEventListener(`message`,u),r.removeEventListener&&(d&&r.removeEventListener(`error`,d),f&&r.removeEventListener(`messageerror`,f)),l?.();try{r.terminate()}catch{}}},m=(r,i)=>{p(),o.dispose(),e.pm.exit(n.pid,i),t(r)},h=(e,t)=>{s||(s=!0,Promise.resolve().then(()=>m(e,t)))},g=t=>{s||(s=!0,Promise.resolve().then(()=>{let r=[...a.pendingByPath.values()];a.pendingByPath.clear(),p(),Cr(r,e.ctx,a).finally(()=>{let e=yr(Date.now()-n.startedAt,t);m({stdout:a.stdout,stderr:a.stderr+e,exitCode:t},t)})}))};u=t=>{let n=t.data,r=xr(n,a,e.onOutput);if(r===`done`){let e=t.data;h({stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode},e.exitCode)}else if(r===`error`){let e=t.data;h({stdout:a.stdout,stderr:a.stderr+e.message+`
|
|
16
|
+
`,exitCode:1},1)}},d=e=>{let t=e.message??`realm error`;h({stdout:a.stdout,stderr:a.stderr+t+`
|
|
17
|
+
`,exitCode:1},1)},f=()=>{h({stdout:a.stdout,stderr:a.stderr+`realm-runner: worker message could not be deserialized
|
|
18
|
+
`,exitCode:1},1)},l=e.pm.onSignal((e,t)=>{if(e.pid!==n.pid)return;let r=vr[t];r!==void 0&&g(r)}),r.controlPort.addEventListener(`message`,u),r.addEventListener&&(r.addEventListener(`error`,d),r.addEventListener(`messageerror`,f)),r.controlPort.postMessage(wr(e,o,i))})}function Er(e){if(ye())try{return new SharedArrayBuffer(64+(e??1048576))}catch{return}}let Dr=!1;function Or(e){Dr=e}function kr(){return Dr}const Ar=Object.freeze({anthropic:`ANTHROPIC_API_KEY`,"ant-ling":`ANT_LING_API_KEY`,"qwen-token-plan":`QWEN_TOKEN_PLAN_API_KEY`,"qwen-token-plan-cn":`QWEN_TOKEN_PLAN_CN_API_KEY`,"qwen-token-plan-individual":`QWEN_TOKEN_PLAN_API_KEY`,openai:`OPENAI_API_KEY`,"azure-openai-responses":`AZURE_OPENAI_API_KEY`,nvidia:`NVIDIA_API_KEY`,deepseek:`DEEPSEEK_API_KEY`,google:`GEMINI_API_KEY`,"google-vertex":`GOOGLE_CLOUD_API_KEY`,groq:`GROQ_API_KEY`,cerebras:`CEREBRAS_API_KEY`,xai:`XAI_API_KEY`,radius:`RADIUS_API_KEY`,openrouter:`OPENROUTER_API_KEY`,"vercel-ai-gateway":`AI_GATEWAY_API_KEY`,zai:`ZAI_API_KEY`,"zai-coding-cn":`ZAI_CODING_CN_API_KEY`,mistral:`MISTRAL_API_KEY`,minimax:`MINIMAX_API_KEY`,"minimax-cn":`MINIMAX_CN_API_KEY`,moonshotai:`MOONSHOT_API_KEY`,"moonshotai-cn":`MOONSHOT_API_KEY`,huggingface:`HF_TOKEN`,fireworks:`FIREWORKS_API_KEY`,together:`TOGETHER_API_KEY`,baseten:`BASETEN_API_KEY`,opencode:`OPENCODE_API_KEY`,"opencode-go":`OPENCODE_API_KEY`,"kimi-coding":`KIMI_API_KEY`,"cloudflare-workers-ai":`CLOUDFLARE_API_KEY`,"cloudflare-ai-gateway":`CLOUDFLARE_API_KEY`,xiaomi:`XIAOMI_API_KEY`,"xiaomi-token-plan-cn":`XIAOMI_TOKEN_PLAN_CN_API_KEY`,"xiaomi-token-plan-ams":`XIAOMI_TOKEN_PLAN_AMS_API_KEY`,"xiaomi-token-plan-sgp":`XIAOMI_TOKEN_PLAN_SGP_API_KEY`});function jr(e){return Ar[e]??null}function Mr(e,t){let n=jr(e);if(!n)return{};let r=t.find(t=>t.providerId===e)?.apiKey?.trim();return r?{[n]:r}:{}}let $=null;function Nr(e){let t=$;return $=e,t}async function Pr(){if(!$)return{};try{return await $()??{}}catch{return{}}}function Fr(){return async()=>{let{getAccounts:e,getSelectedProvider:t}=await import(`./account-store-UA_3Tz4g.js`).then(e=>e.t);return Mr(t(),e())}}async function Ir(e,t,n,r,i={}){return await n.fs.exists(e)?Lr(await n.fs.readFile(e),[`node`,e,...t],n,r,{...i,filename:e}):{stdout:``,stderr:`jsh: cannot find script '${e}'\n`,exitCode:127}}async function Lr(e,t,n,r,i={}){let a=i.realmFactory??await Rr(),o=r?.processManager??Vr()??Br(),s=r?.owner??{kind:`system`},c=i.filename??t[1]??`<eval>`;return await Tr({pm:o,realmFactory:a,owner:s,kind:`js`,code:E(e,{keepLine:!0}),argv:t,env:{...s.kind===`scoop`||s.kind===`jshd`?{}:await Pr(),...Object.fromEntries(n.env.entries())},cwd:n.cwd,filename:c,stdin:xe(n.stdin),ctx:n,ppid:r?.getParentPid?.(),syncFsBridgeEnabled:kr(),...i.onSpawn?{onSpawn:e=>i.onSpawn?.(e.pid)}:{},...i.onOutput?{onOutput:i.onOutput}:{},...i.captureOutput===!1?{captureOutput:!1}:{}})}async function Rr(){if(typeof Worker<`u`||typeof document<`u`)return S();let{createInProcessJsRealmFactory:e}=await import(`./realm-inprocess-CI_Msk8I.js`);return e()}let zr=null;function Br(){return zr||=new u,zr}function Vr(){let e=globalThis.__slicc_pm;return e&&typeof e==`object`&&typeof e.spawn==`function`&&typeof e.onSignal==`function`?e:null}export{Ze as _,kr as a,S as b,hn as c,U as d,z as f,k as g,Qe as h,Nr as i,Wt as l,L as m,Ir as n,Or as o,V as p,Fr as r,Tr as s,Lr as t,H as u,E as v,Te as x,T as y};
|