sliccy 6.232.2 → 6.233.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/README.md +2 -2
  2. package/dist/node-server/chrome-launch.d.ts +2 -0
  3. package/dist/node-server/chrome-launch.js +11 -1
  4. package/dist/node-server/index.js +1 -0
  5. package/dist/ui/.vite/manifest.json +282 -278
  6. package/dist/ui/assets/{SKILL-DfQfFV0B.js → SKILL-BcBnRJhU.js} +1 -1
  7. package/dist/ui/assets/{SKILL-CDWYTQKl.js → SKILL-BsfbaE8W.js} +1 -1
  8. package/dist/ui/assets/SKILL-Dk6kide7.js +1 -0
  9. package/dist/ui/assets/account-store-8pdjPGXe.js +2 -0
  10. package/dist/ui/assets/account-store-CYgyHiaa.js +1 -0
  11. package/dist/ui/assets/adobe-B4FKwftW.js +2 -0
  12. package/dist/ui/assets/adobe-C195sVCf.js +1 -0
  13. package/dist/ui/assets/agent-help-B-gfDDn0.js +103 -0
  14. package/dist/ui/assets/agent-images-DaBj3QYk.js +3 -0
  15. package/dist/ui/assets/{agent-panels-DjIYV1_V.js → agent-panels-C968Kub9.js} +1 -1
  16. package/dist/ui/assets/{agent-tools-BzWhYeEw.js → agent-tools-WbCq5rUh.js} +1 -1
  17. package/dist/ui/assets/{almost-bash-shell-headless-Cr-YVYbG.js → almost-bash-shell-headless-Dw8ck55P.js} +91 -175
  18. package/dist/ui/assets/{apply-layout-6y46WnDn.js → apply-layout-CHfVXHPf.js} +1 -1
  19. package/dist/ui/assets/{apps-DkZBf0EF.js → apps-CyIXX0a_.js} +1 -1
  20. package/dist/ui/assets/{azure-openai-DaGSGR26.js → azure-openai-BK1yv0Sn.js} +1 -1
  21. package/dist/ui/assets/{azure-openai-BPC12gr1.js → azure-openai-DSJ0iXpS.js} +1 -1
  22. package/dist/ui/assets/{backend-hostfs-CyFczT_n.js → backend-hostfs-DmMZ1Vnt.js} +1 -1
  23. package/dist/ui/assets/{capability-BsxMoeMg.js → capability-6V-AYPSJ.js} +2 -2
  24. package/dist/ui/assets/{cdp-Cp2ul1Xk.js → cdp-DZ3LtBJ6.js} +1 -1
  25. package/dist/ui/assets/{cerebras-BEDSf9Z2.js → cerebras-B0XnBx_U.js} +1 -1
  26. package/dist/ui/assets/{cerebras-CAFxbAAH.js → cerebras-Cq1Qi0CT.js} +1 -1
  27. package/dist/ui/assets/{client-DWx5wn8j.js → client-D5zdJCVT.js} +1 -1
  28. package/dist/ui/assets/{codemode-tool-BH0jhnKf.js → codemode-tool-FcP24sWd.js} +1 -1
  29. package/dist/ui/assets/{composer-speech-BveIVRUb.js → composer-speech-DEsTTJ-6.js} +1 -1
  30. package/dist/ui/assets/{connect-surface-ogo7Rv2Y.js → connect-surface-k_k7uu5o.js} +1 -1
  31. package/dist/ui/assets/{connection-manager-E3P4E4Le.js → connection-manager-D0LxHiWb.js} +1 -1
  32. package/dist/ui/assets/core-C1m4D34S.js +36 -0
  33. package/dist/ui/assets/{core-4boN-CgI.js → core-Cx9N3lmn.js} +1 -1
  34. package/dist/ui/assets/{cost-command-C_1fldSP.js → cost-command-BUgEVZCe.js} +8 -1
  35. package/dist/ui/assets/{directed-approval-BoAbm3IJ.js → directed-approval-OOf3I27R.js} +1 -1
  36. package/dist/ui/assets/{discovery-preference-D1cUzn0M.js → discovery-preference-D8GXCv8i.js} +1 -1
  37. package/dist/ui/assets/{emscripten-vfs-hook-BJh0QvlC.js → emscripten-vfs-hook-D4rVkB6b.js} +1 -1
  38. package/dist/ui/assets/emscripten-vfs-hook-t32dk5w7.js +1 -0
  39. package/dist/ui/assets/{ensure-speech-assets-BvTOfAF9.js → ensure-speech-assets-CB-6d53s.js} +1 -1
  40. package/dist/ui/assets/{extension-ops-Ded2__AC.js → extension-ops-OtrqWANJ.js} +1 -1
  41. package/dist/ui/assets/{float-topology-DIH6ujZe.js → float-topology-COIC4j_U.js} +1 -1
  42. package/dist/ui/assets/{float-topology-C9GjBEv-.js → float-topology-C_iRKPQK.js} +1 -1
  43. package/dist/ui/assets/{follower-navigate-watcher-T4oXQ4JA.js → follower-navigate-watcher-C0CP4-Mn.js} +1 -1
  44. package/dist/ui/assets/{frozen-archive-writer-Ce13R-3M.js → frozen-archive-writer-CyeRvZhz.js} +1 -1
  45. package/dist/ui/assets/{fs-Bl4-flxd.js → fs-BUK-3Ws8.js} +2 -2
  46. package/dist/ui/assets/{fs-CXdlfm9I.js → fs-CKSBDyCr.js} +1 -1
  47. package/dist/ui/assets/{gelatiere-unit-Cr5wm_Kg.js → gelatiere-unit-hpxCLHdA.js} +1 -1
  48. package/dist/ui/assets/{github-DELN8f0M.js → github-D9GRCOqL.js} +1 -1
  49. package/dist/ui/assets/{github-DBc_eOzS.js → github-DeZ2nDzS.js} +2 -2
  50. package/dist/ui/assets/{github-auth-D7J-BVhH.js → github-auth-CSG4xZUZ.js} +1 -1
  51. package/dist/ui/assets/{github-copilot-D7W2tJJz.js → github-copilot-C8hgcCJI.js} +1 -1
  52. package/dist/ui/assets/{github-copilot-kJD8s7l4.js → github-copilot-C_JPU6a6.js} +1 -1
  53. package/dist/ui/assets/{github-install-Day-m9Yr.js → github-install-HX3c8n0G.js} +1 -1
  54. package/dist/ui/assets/{github-zip-xnabOe2b.js → github-zip-CUIsX5nN.js} +1 -1
  55. package/dist/ui/assets/{go-driver-xTPUsgZ_.js → go-driver-CR9PpQn8.js} +1 -1
  56. package/dist/ui/assets/{guest-tool-gate-B3vJ2BGb.js → guest-tool-gate-CXdRgkkb.js} +1 -1
  57. package/dist/ui/assets/{hear-CdqoxknG.js → hear-DRUm5iko.js} +1 -1
  58. package/dist/ui/assets/{help-B1T-o5sr.js → help-aKSKYJF6.js} +1 -1
  59. package/dist/ui/assets/host-command-CwRNpVLr.js +28 -0
  60. package/dist/ui/assets/image-processor-BlI3KRoz.js +1 -0
  61. package/dist/ui/assets/{installer-Ce066nKI.js → installer-CbjJjnwg.js} +1 -1
  62. package/dist/ui/assets/{interrupted-work-recovery-6m6BONfO.js → interrupted-work-recovery-DSX617ic.js} +1 -1
  63. package/dist/ui/assets/{ipk-mamba-fKbu5XN4.js → ipk-mamba-BRxsK-p_.js} +1 -1
  64. package/dist/ui/assets/{js-realm-worker-DluaIwWT.js → js-realm-worker-C2c5HlJC.js} +3 -3
  65. package/dist/ui/assets/{jsh-executor-D3BSRLFA.js → jsh-executor-of_S2nM9.js} +2 -2
  66. package/dist/ui/assets/jsh-runtime-extensions-vA6JAYXY.js +1 -0
  67. package/dist/ui/assets/{kernel-worker-M218S0e9.js → kernel-worker-Dv0441oU.js} +59 -59
  68. package/dist/ui/assets/{lick-ws-bridge-B0AqTybW.js → lick-ws-bridge-Kx2ffoDz.js} +1 -1
  69. package/dist/ui/assets/{lick-ws-bridge-k53YqSiL.js → lick-ws-bridge-qlQXS6DR.js} +1 -1
  70. package/dist/ui/assets/{live-session-curation-DtmCoogl.js → live-session-curation-DvwwvftT.js} +1 -1
  71. package/dist/ui/assets/{live-session-snapshot-CzH5VyWG.js → live-session-snapshot-Bk5UWNkV.js} +1 -1
  72. package/dist/ui/assets/live-vfs-fs-DgvdNXkS.js +1 -0
  73. package/dist/ui/assets/{local-llm-BYFR1wMj.js → local-llm-BcjMnaVa.js} +1 -1
  74. package/dist/ui/assets/{local-llm-CUTYS-aa.js → local-llm-Ce-14HNh.js} +1 -1
  75. package/dist/ui/assets/main-DE492KKE.js +22 -0
  76. package/dist/ui/assets/{main-cherry-DnV2EtCt.js → main-cherry-EDccG98N.js} +1 -1
  77. package/dist/ui/assets/{mcp-command-BoGKsJ--.js → mcp-command-h2MzRFNc.js} +13 -13
  78. package/dist/ui/assets/{memory-curation-seam-CLon6-0I.js → memory-curation-seam-CgwkDbcz.js} +1 -1
  79. package/dist/ui/assets/{memory-health-B8JnBJZW.js → memory-health-qcXv-xah.js} +1 -1
  80. package/dist/ui/assets/{memory-write-execute-D-eE12zu.js → memory-write-execute-CSIbnXAd.js} +1 -1
  81. package/dist/ui/assets/{merge-folded-cost-into-frozen-Cv81Es_U.js → merge-folded-cost-into-frozen-a8XFtHLd.js} +1 -1
  82. package/dist/ui/assets/{mount-H5EgXlPD.js → mount-BdStwj8s.js} +2 -3
  83. package/dist/ui/assets/{mount-DvlJAh57.js → mount-DROut-7D.js} +1 -1
  84. package/dist/ui/assets/{mount-bridge-client-DEndUe7m.js → mount-bridge-client-DEvjkZ1N.js} +1 -1
  85. package/dist/ui/assets/{mount-bridge-client-DZrU_hNA.js → mount-bridge-client-DTSknauQ.js} +1 -1
  86. package/dist/ui/assets/new-session-DSaHd_sm.js +2 -0
  87. package/dist/ui/assets/oauth-bootstrap-CxyjlKpR.js +2 -0
  88. package/dist/ui/assets/oauth-service-GpUOM3Aw.js +1 -0
  89. package/dist/ui/assets/oauth-service-MWzqRq2q.js +1 -0
  90. package/dist/ui/assets/{onboarding-orchestrator-Ca--LViR.js → onboarding-orchestrator-BOFuJPrP.js} +1 -1
  91. package/dist/ui/assets/{openai-codex-CVRDijVn.js → openai-codex-CS23S3lJ.js} +1 -1
  92. package/dist/ui/assets/{openai-codex-BUS22UvF.js → openai-codex-DIPqOcNT.js} +1 -1
  93. package/dist/ui/assets/{openrouter-CNys7eBu.js → openrouter-BdryGS-Z.js} +1 -1
  94. package/dist/ui/assets/{openrouter-DaY_PmOO.js → openrouter-BwY0foMm.js} +1 -1
  95. package/dist/ui/assets/{openrouter-free-DLoVUZYB.js → openrouter-free-Bmq0Tdc_.js} +1 -1
  96. package/dist/ui/assets/{openrouter-free-CLv2guAs.js → openrouter-free-vIKTI0NQ.js} +1 -1
  97. package/dist/ui/assets/{openrouter-oauth-YeISAtXv.js → openrouter-oauth-BoMzKA4Q.js} +1 -1
  98. package/dist/ui/assets/{openrouter-oauth-Dy_qCqcN.js → openrouter-oauth-PagZ0gy-.js} +1 -1
  99. package/dist/ui/assets/{opfs-mount-cbV6hAiM.js → opfs-mount-B745o1Vc.js} +1 -1
  100. package/dist/ui/assets/{page-approval-service-BbEv1dSc.js → page-approval-service-ja6kjLj8.js} +1 -1
  101. package/dist/ui/assets/panel-rpc-CR9k3qWE.js +1 -0
  102. package/dist/ui/assets/panel-rpc-accessor-B4BfPLSo.js +1 -0
  103. package/dist/ui/assets/panel-rpc-handlers-DSgDRrll.js +2 -0
  104. package/dist/ui/assets/panel-rpc-sLZo8PD-.js +1 -0
  105. package/dist/ui/assets/{panelize-shell-zDW06WQ9.js → panelize-shell-C3-v83mm.js} +1 -1
  106. package/dist/ui/assets/{pi-edit-execution-Blmvyfch.js → pi-edit-execution-V3MrIdPo.js} +1 -1
  107. package/dist/ui/assets/port-bridge-client-B-gpiOVR.js +1 -0
  108. package/dist/ui/assets/port-bridge-client-DAxhsvxm.js +1 -0
  109. package/dist/ui/assets/process-worker-CXxOMS23.js +3 -0
  110. package/dist/ui/assets/{provider-MDIcOntz.js → provider-CfiSsvHh.js} +2 -2
  111. package/dist/ui/assets/{provider-L54O0b3P.js → provider-DQ129t3D.js} +1 -1
  112. package/dist/ui/assets/{provider-settings-5llrPtIb.js → provider-settings-nWfCs5Ea.js} +1 -1
  113. package/dist/ui/assets/provider-store-access-CJWXzYBJ.js +1 -0
  114. package/dist/ui/assets/provider-store-access-CR58tiUx.js +1 -0
  115. package/dist/ui/assets/{providers-DSWENZNJ.js → providers-CNz3-2Qt.js} +1 -1
  116. package/dist/ui/assets/providers-DGOyFpbk.js +2 -0
  117. package/dist/ui/assets/{proxied-fetch-Cplb-Tee.js → proxied-fetch-4VBgrEIu.js} +2 -2
  118. package/dist/ui/assets/{proxied-fetch-CoZ8jHud.js → proxied-fetch-F-dCBEfh.js} +1 -1
  119. package/dist/ui/assets/proxied-fetch-raw-DQ0-xn2O.js +2 -0
  120. package/dist/ui/assets/{proxied-fetch-raw-Cb_C44Cy.js → proxied-fetch-raw-DfWAMMUJ.js} +1 -1
  121. package/dist/ui/assets/{py-live-vfs-BY0JeFky.js → py-live-vfs-CPGqrKx-.js} +1 -1
  122. package/dist/ui/assets/{py-live-vfs-JNkDkEB1.js → py-live-vfs-CUwZTYN6.js} +1 -1
  123. package/dist/ui/assets/{py-realm-worker-DpNkD8fW.js → py-realm-worker-BoJbWJja.js} +1 -1
  124. package/dist/ui/assets/{quick-llm-D6Wr4TyZ.js → quick-llm-gqL6GOn2.js} +1 -1
  125. package/dist/ui/assets/{realm-inprocess-s4ChFcqp.js → realm-inprocess-COtsY7eU.js} +3 -3
  126. package/dist/ui/assets/{realm-unhandled-rejections-BAiAaesU.js → realm-unhandled-rejections-CrLvjtWH.js} +1 -1
  127. package/dist/ui/assets/{realm-unhandled-rejections-Bju1msWn.js → realm-unhandled-rejections-DrxZsN27.js} +1 -1
  128. package/dist/ui/assets/{recovery-screen-DLmHqUsS.js → recovery-screen-NUMzwXs1.js} +1 -1
  129. package/dist/ui/assets/{remote-terminal-view-WWBk5qFn.js → remote-terminal-view-CMH4RPeK.js} +2 -2
  130. package/dist/ui/assets/{require-guards-BX-XDJnh.js → require-guards-DnafTLJr.js} +1 -1
  131. package/dist/ui/assets/{rest-ops-d6LSiWDZ.js → rest-ops-B7gv04VP.js} +1 -1
  132. package/dist/ui/assets/{rest-ops-DyAkn44S.js → rest-ops-j0P6ql7f.js} +1 -1
  133. package/dist/ui/assets/{restore-DTlvxkxE.js → restore-BW04JrCn.js} +1 -1
  134. package/dist/ui/assets/{run-CB6rAQZ1.js → run-BAmXlRlW.js} +1 -1
  135. package/dist/ui/assets/{run-cvQKad0O.js → run-BRFnmkzR.js} +1 -1
  136. package/dist/ui/assets/{run-D6sdPJoQ.js → run-BYyvGPll.js} +4 -4
  137. package/dist/ui/assets/{run-D31zYxYd.js → run-C-sCRUCs.js} +1 -1
  138. package/dist/ui/assets/{run-dFcc7q5n.js → run-CCpJxTqO.js} +1 -1
  139. package/dist/ui/assets/{run-9qBbvzkW.js → run-D6LxdCnL.js} +1 -1
  140. package/dist/ui/assets/{run-DyYNRU6R.js → run-DPyr8Wk2.js} +1 -1
  141. package/dist/ui/assets/run-LPGSSK42.js +18 -0
  142. package/dist/ui/assets/{run-Bo0rlg63.js → run-X1F_4y7X.js} +2 -2
  143. package/dist/ui/assets/{run-B6qzuQBC.js → run-chEfqfQu.js} +1 -1
  144. package/dist/ui/assets/{run-CRimkv1y.js → run-n9LfcCvg.js} +3 -3
  145. package/dist/ui/assets/{screen-DVI9ujIL.js → screen-_l91vr17.js} +1 -1
  146. package/dist/ui/assets/{screencapture-run-DRiSGUJ9.js → screencapture-run-DXkhPPQJ.js} +1 -1
  147. package/dist/ui/assets/{script-catalog-CqkljCRS.js → script-catalog-WaCMvXY3.js} +1 -1
  148. package/dist/ui/assets/{secret-env-DQjPh_hw.js → secret-env-z9SReONx.js} +1 -1
  149. package/dist/ui/assets/secret-topology-hMRoGGjt.js +1 -0
  150. package/dist/ui/assets/{secrets-bridge-client-CWv2_nw7.js → secrets-bridge-client-D734Xx8G.js} +1 -1
  151. package/dist/ui/assets/{secrets-bridge-client-EgBSROu5.js → secrets-bridge-client-GOCzDscb.js} +1 -1
  152. package/dist/ui/assets/{session-command-memory-Df5JM1jy.js → session-command-memory-B-i2MtND.js} +2 -2
  153. package/dist/ui/assets/{session-jsonl-DyYSpiR3.js → session-jsonl-CJdXG7pm.js} +1 -1
  154. package/dist/ui/assets/{session-jsonl-CRg856OA.js → session-jsonl-Cs_xRfDy.js} +1 -1
  155. package/dist/ui/assets/{session-search-index-CxeajBYy.js → session-search-index-BYv4B9UC.js} +1 -1
  156. package/dist/ui/assets/{setup-feature-flags-remote-B7EvE5WG.js → setup-feature-flags-remote-DsuSGakO.js} +1 -1
  157. package/dist/ui/assets/{setup-model-catalog-CojuaZXL.js → setup-model-catalog-BaFKNYjt.js} +1 -1
  158. package/dist/ui/assets/signed-fetch-DeDG40wV.js +1 -0
  159. package/dist/ui/assets/{silent-renew-backoff-BJestVXs.js → silent-renew-backoff-OCJFe0Op.js} +1 -1
  160. package/dist/ui/assets/slicc-version-DvppAoNW.js +1 -0
  161. package/dist/ui/assets/snapshot-D6YGbggk.js +5 -0
  162. package/dist/ui/assets/{snapshot-features-CttxuZRc.js → snapshot-features-Dw5v6SoZ.js} +1 -1
  163. package/dist/ui/assets/{soundscape-CGPRupA1.js → soundscape-SKGGt8Ci.js} +1 -1
  164. package/dist/ui/assets/{speak-CwevwRGG.js → speak-BX-VG7dD.js} +1 -1
  165. package/dist/ui/assets/sprinkle-manager-9aHjoMGN.js +1 -0
  166. package/dist/ui/assets/{sprinkle-renderer-DQe4_ykh.js → sprinkle-renderer-B3wcPwka.js} +1 -1
  167. package/dist/ui/assets/{ssh-_x-LG4bh.js → ssh-BWPgnSgg.js} +1 -1
  168. package/dist/ui/assets/state-Tykh4Vum.js +42 -0
  169. package/dist/ui/assets/{store-Ct6T8_vC.js → store-Mw1jky9b.js} +1 -1
  170. package/dist/ui/assets/{store-N9OMacY2.js → store-wiEGJ_43.js} +1 -1
  171. package/dist/ui/assets/stored-accounts-ChNHYF68.js +1 -0
  172. package/dist/ui/assets/stored-accounts-Cx83FZwe.js +1 -0
  173. package/dist/ui/assets/structured-output-tool-BrnZ-LJ8.js +1 -0
  174. package/dist/ui/assets/{sudo-CVBz7Hub.js → sudo-BQPW9CSS.js} +3 -3
  175. package/dist/ui/assets/{sudo-fs-mI-V4QkM.js → sudo-fs-D88yRk1b.js} +1 -1
  176. package/dist/ui/assets/sudo-refusal-DVwTXFRE.js +1 -0
  177. package/dist/ui/assets/{supervisor-d43UzH63.js → supervisor-DkdAvZH9.js} +1 -1
  178. package/dist/ui/assets/{sync-dialog-DFEhMgmr.js → sync-dialog-Bybysfag.js} +1 -1
  179. package/dist/ui/assets/{transformers-env-BVWRXJj7.js → transformers-env-BCKpGSnX.js} +1 -1
  180. package/dist/ui/assets/{tray-leader-DjSQqusA.js → tray-leader-B4FO4RQ2.js} +1 -1
  181. package/dist/ui/assets/{tray-leave-runtime-CZ1DjZNm.js → tray-leave-runtime-DMl8c2Gz.js} +1 -1
  182. package/dist/ui/assets/{tray-runtime-config-ConrTcOf.js → tray-runtime-config-CBx5P3dS.js} +1 -1
  183. package/dist/ui/assets/{tray-sidecar-CjNuAx0_.js → tray-sidecar-OcV5qb0h.js} +1 -1
  184. package/dist/ui/assets/{turn-journal-Fz2l3QO4.js → turn-journal-EgGBqAjY.js} +1 -1
  185. package/dist/ui/assets/{upgrade-detection-j5O1jpk-.js → upgrade-detection-DU_DX3QI.js} +1 -1
  186. package/dist/ui/assets/{upskill-lick-skip-D9rXamQ_.js → upskill-lick-skip-u8HuNUy0.js} +1 -1
  187. package/dist/ui/assets/{voice-reply-DDhoSB_B.js → voice-reply-B_6bmqsD.js} +1 -1
  188. package/dist/ui/assets/{wasi-runtime-Bc01Bdaa.js → wasi-runtime-DDblHDjy.js} +1 -1
  189. package/dist/ui/assets/{wasm-programs-DPZtEzCA.js → wasm-programs-Bd5YaoqY.js} +1 -1
  190. package/dist/ui/assets/wc-attach-CBOfJjYR.js +13 -0
  191. package/dist/ui/assets/{wc-browser-H9i1tYs2.js → wc-browser-CSr9r__R.js} +1 -1
  192. package/dist/ui/assets/{wc-computers-CZVMeb1a.js → wc-computers-BEXthrMe.js} +1 -1
  193. package/dist/ui/assets/{wc-detached-C3w-EnO2.js → wc-detached-Cbm7H-x5.js} +1 -1
  194. package/dist/ui/assets/wc-extension-DspZRCam.js +2 -0
  195. package/dist/ui/assets/wc-follower-BNZ4sR7A.js +17 -0
  196. package/dist/ui/assets/{wc-follower-oauth-Dpz6kwmb.js → wc-follower-oauth-V1bzfjx5.js} +1 -1
  197. package/dist/ui/assets/{wc-gelatiere-DUqsrBPY.js → wc-gelatiere-CNb9fe-2.js} +1 -1
  198. package/dist/ui/assets/{wc-live-DPQeITgQ.js → wc-live-CKe14UhT.js} +6 -6
  199. package/dist/ui/assets/wc-nav-BLx_lYcl.js +2 -0
  200. package/dist/ui/assets/{wc-onboarding-nZO6VPxy.js → wc-onboarding-C2RS0W29.js} +2 -2
  201. package/dist/ui/assets/{wc-permissions-BncUPK23.js → wc-permissions-CPcpTMv_.js} +2 -2
  202. package/dist/ui/assets/wc-placeholder-OUaJ_3B8.js +4 -0
  203. package/dist/ui/assets/{wc-secret-request-BAhfbP9J.js → wc-secret-request-VG_Tn3mW.js} +1 -1
  204. package/dist/ui/assets/{wc-settings-BnJRa_R9.js → wc-settings-C5v1HZXM.js} +3 -3
  205. package/dist/ui/assets/{wc-shell-BzYq0ESt.js → wc-shell-BcFO-uxW.js} +5 -5
  206. package/dist/ui/assets/{wc-shortcut-config-Dyjf2Wvu.js → wc-shortcut-config-DZGtX3og.js} +1 -1
  207. package/dist/ui/assets/wc-sprinkles-CVoXJ20N.js +2 -0
  208. package/dist/ui/assets/{wc-transcript-export-Bk8nLIfQ.js → wc-transcript-export-YQXk7qbS.js} +2 -2
  209. package/dist/ui/assets/{wc-tray-BEN7TcmV.js → wc-tray-BWgQxTQY.js} +4 -4
  210. package/dist/ui/assets/welcome-detection-DtBPdXpG.js +1 -0
  211. package/dist/ui/assets/whisper-session-O3Gzp4bw.js +2 -0
  212. package/dist/ui/assets/{xai-grok-DgGOq90R.js → xai-grok-DRR_8B5L.js} +1 -1
  213. package/dist/ui/assets/{xai-grok-B11VgjUo.js → xai-grok-DUHWrBsy.js} +1 -1
  214. package/dist/ui/index.html +11 -10
  215. package/dist/ui/packages/webapp/index.html +11 -10
  216. package/package.json +1 -1
  217. package/dist/ui/assets/SKILL-B4YYagrM.js +0 -1
  218. package/dist/ui/assets/account-store-B857f9Kw.js +0 -2
  219. package/dist/ui/assets/account-store-C8W_QB2_.js +0 -1
  220. package/dist/ui/assets/adobe-C2NABnF7.js +0 -2
  221. package/dist/ui/assets/adobe-hInWK-RG.js +0 -1
  222. package/dist/ui/assets/approval-timeout-CeQbGMnv.js +0 -1
  223. package/dist/ui/assets/core-ButDwsf2.js +0 -36
  224. package/dist/ui/assets/emscripten-vfs-hook-CYIDH-AN.js +0 -1
  225. package/dist/ui/assets/host-command-Dn-Z4AbC.js +0 -28
  226. package/dist/ui/assets/jsh-runtime-extensions-DiQ9SvKe.js +0 -1
  227. package/dist/ui/assets/live-vfs-fs-Y4sN9OvN.js +0 -1
  228. package/dist/ui/assets/main-CxkrqswY.js +0 -22
  229. package/dist/ui/assets/new-session-DW8XeVxp.js +0 -2
  230. package/dist/ui/assets/oauth-bootstrap-BNFgdYgz.js +0 -2
  231. package/dist/ui/assets/oauth-service-B-vKfxAF.js +0 -1
  232. package/dist/ui/assets/oauth-service-Bx_Dy3GC.js +0 -1
  233. package/dist/ui/assets/panel-rpc-D3EPRnmw.js +0 -1
  234. package/dist/ui/assets/panel-rpc-DW7W4w6_.js +0 -1
  235. package/dist/ui/assets/panel-rpc-handlers-BNEtTGhT.js +0 -2
  236. package/dist/ui/assets/port-bridge-client-BmVU5J9w.js +0 -1
  237. package/dist/ui/assets/port-bridge-client-D_erEovW.js +0 -2
  238. package/dist/ui/assets/process-worker-BKgTk6Wd.js +0 -3
  239. package/dist/ui/assets/provider-store-access-nagoWWb1.js +0 -1
  240. package/dist/ui/assets/provider-store-access-wdRnmqbS.js +0 -1
  241. package/dist/ui/assets/providers-jygoVQBo.js +0 -2
  242. package/dist/ui/assets/proxied-fetch-raw-Di1Dm8fV.js +0 -2
  243. package/dist/ui/assets/run-BKv0GiVy.js +0 -17
  244. package/dist/ui/assets/secret-topology-Dm_PZRZx.js +0 -1
  245. package/dist/ui/assets/signed-fetch-C1-081oc.js +0 -1
  246. package/dist/ui/assets/slicc-version-B0t7wsNA.js +0 -1
  247. package/dist/ui/assets/snapshot-Cb2BkTl8.js +0 -5
  248. package/dist/ui/assets/sprinkle-manager-nQ3MRYze.js +0 -1
  249. package/dist/ui/assets/state-CRuL5BZp.js +0 -42
  250. package/dist/ui/assets/structured-output-tool-BDaIhclx.js +0 -1
  251. package/dist/ui/assets/wc-attach-VJjD6tJb.js +0 -13
  252. package/dist/ui/assets/wc-extension-BaXTVkwH.js +0 -2
  253. package/dist/ui/assets/wc-follower-B2K4I2jj.js +0 -17
  254. package/dist/ui/assets/wc-nav-DKr3h3r5.js +0 -2
  255. package/dist/ui/assets/wc-placeholder-D8F3dotr.js +0 -4
  256. package/dist/ui/assets/wc-sprinkles-qa2Yk76b.js +0 -2
  257. package/dist/ui/assets/welcome-detection-DUIoHDqJ.js +0 -1
  258. package/dist/ui/assets/whisper-session-xH7lWXSW.js +0 -2
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";var t=e({COMPUTER_NATIVE_FRAME_CHANNEL:()=>o,PANEL_RPC_DEFAULT_TIMEOUT_MS:()=>i,createPanelRpcClient:()=>s,getPanelRpcClient:()=>l,hasLocalDom:()=>u,panelRpcChannelName:()=>a});const n=`slicc-panel-rpc`,r=15e3,i=r;function a(e){return e?`${n}:${e}`:n}const o=`computer-native-frame`;function s(e={}){if(typeof BroadcastChannel!=`function`)return{call:()=>Promise.reject(Error(`panel-rpc: BroadcastChannel is unavailable`)),onEvent:()=>()=>{},registerPushTarget:()=>{},unregisterPushTarget:()=>{},dispose:()=>{}};let t=a(e.instanceId),n=new BroadcastChannel(t),i=new Map,o=new Map,s=new Map,l=e=>{let t=s.get(e.channel);if(t)for(let n of t)try{n(e.payload)}catch(t){console.warn(`panel-rpc: event handler for '${e.channel}' threw:`,t instanceof Error?t.message:String(t))}},u=e=>{if(e.op!==`remote-cdp-event`)return;let t=e.payload;o.get(`${t.runtimeId}:${t.localTargetId}`)?.(t)},d=e=>{let t=i.get(e.id);t&&(i.delete(e.id),clearTimeout(t.timer),typeof e.error==`string`?t.reject(Error(e.error)):t.resolve(e.result))};n.addEventListener(`message`,e=>{let t=e.data;t?.type===`panel-rpc-event`?l(t):t?.type===`panel-rpc-push`?u(t):t?.type===`panel-rpc-response`&&d(t)});function f(e,t){let n=s.get(e);return n||(n=new Set,s.set(e,n)),n.add(t),()=>{let n=s.get(e);n&&(n.delete(t),n.size===0&&s.delete(e))}}function p(e,t,a={}){let o=c(),s=a.timeoutMs??r,l=a.signal;return l?.aborted?Promise.reject(new DOMException(`The operation was aborted.`,`AbortError`)):new Promise((r,a)=>{let c=setTimeout(()=>{i.delete(o),l?.removeEventListener(`abort`,u),a(Error(`panel-rpc: op '${e}' timed out after ${s}ms`))},s),u=()=>{let e=i.get(o);e&&(i.delete(o),clearTimeout(e.timer),a(new DOMException(`The operation was aborted.`,`AbortError`)))};l?.addEventListener(`abort`,u,{once:!0}),i.set(o,{resolve:e=>{l?.removeEventListener(`abort`,u),r(e)},reject:a,timer:c});let d={type:`panel-rpc-request`,id:o,op:e,payload:t};n.postMessage(d)})}function m(e,t){o.set(e,t)}function h(e){o.delete(e)}function g(){for(let[,e]of i)clearTimeout(e.timer),e.reject(Error(`panel-rpc: client disposed`));i.clear(),s.clear(),o.clear();try{n.close()}catch{}}return{call:p,onEvent:f,registerPushTarget:m,unregisterPushTarget:h,dispose:g}}function c(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`prpc-${crypto.randomUUID()}`:`prpc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,12)}`}function l(){return globalThis.__slicc_panelRpc??null}function u(){return typeof window<`u`&&typeof document<`u`}export{t as a,u as i,i as n,l as r,o as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secrets-bridge-client-CWv2_nw7.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/port-bridge-client-D_erEovW.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-Cplb-Tee.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/mount-bridge-client-DZrU_hNA.js","assets/types-D8gIX-W-.js","assets/page-approval-service-BbEv1dSc.js","assets/float-topology-C9GjBEv-.js","assets/types-DSxCdZw6.js","assets/esptool-operations-CiccBbBW.js","assets/rom-eeWiO07Z.js","assets/usb-claim-broker-Dacw2Z3M.js","assets/usb-device-registry--JwKRTYp.js","assets/providers-jygoVQBo.js","assets/speak-CwevwRGG.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-BVWRXJj7.js","assets/wc-shell-BzYq0ESt.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-B857f9Kw.js","assets/core-4boN-CgI.js","assets/compat-BAGLwgqY.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DHpsqCCC.js","assets/libesm-BypnjKEL.js","assets/feature-flags-DvsApnS-.js","assets/secret-topology-Dm_PZRZx.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/panel-rpc-D3EPRnmw.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/telemetry-B0sKnLBU.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-2DY2vYOc.js","assets/wc-shell-WkeczD9x.css","assets/shared-DSEuryGJ.js","assets/hear-CdqoxknG.js","assets/permissions-surface-registry-CilCRwhh.js","assets/whisper-session-xH7lWXSW.js","assets/mount-picker-popup-qcWGbpG5.js","assets/picker-popup-sQtXmfAo.js","assets/proxied-fetch-raw-Di1Dm8fV.js","assets/proxied-fetch-raw-types-BapqdEuh.js","assets/proxied-fetch-raw-port-Dv7XYtb4.js","assets/theme-engine-ZV7CeqWw.js","assets/tab-8LaHojfd.js","assets/slicc-app-url-BKHBBuTR.js","assets/scale-D09IlqOK.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{c as t,o as n,s as r}from"./feature-flags-DvsApnS-.js";import{Y as i,m as a}from"./account-store-B857f9Kw.js";import"./proxied-fetch-Cplb-Tee.js";import{s as o,t as s}from"./api-endpoint-DuEQRZ4g.js";import{t as c}from"./proxied-fetch-raw-types-BapqdEuh.js";import"./main-CxkrqswY.js";import{n as l,r as u}from"./hid-device-registry-B2R-0rNt.js";import{a as d,i as f}from"./serial-port-registry-CCqklAEr.js";import{_ as p,a as m,c as ee,d as te,f as ne,g as re,h as ie,i as ae,l as oe,m as se,n as ce,o as le,p as ue,r as de,s as fe,t as pe,u as me,v as he}from"./hid-operations-C97SZtrY.js";import{a as ge,i as _e}from"./usb-device-registry--JwKRTYp.js";import{a as ve,c as ye,d as be,f as xe,g as Se,h as Ce,i as h,l as g,m as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w}from"./usb-operations-v1mGAdRY.js";function T(){return{"secrets-bridge":async({type:t,payload:n})=>{let{callSecretsBridge:r}=await e(async()=>{let{callSecretsBridge:e}=await import(`./secrets-bridge-client-CWv2_nw7.js`).then(e=>e.t);return{callSecretsBridge:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));return{response:await r(t,n)}}}}function E(){return{"mount-sign-and-forward":async({type:t,envelope:n})=>{let{callMountBridge:r}=await e(async()=>{let{callMountBridge:e}=await import(`./mount-bridge-client-DZrU_hNA.js`);return{callMountBridge:e}},__vite__mapDeps([10,2,3,4,5,1,6,7,8,9,11]));return{response:await r(t,n)}}}}function D(){return{"sudo-request":async({request:t,mode:n})=>{let{resolveSudoApprovalInPage:r}=await e(async()=>{let{resolveSudoApprovalInPage:e}=await import(`./page-approval-service-BbEv1dSc.js`);return{resolveSudoApprovalInPage:e}},__vite__mapDeps([12,4,13,5,1,3,6,7,8,9,14]));return r(t,n??`resolve`)}}}function O(){return{"secret-request":async t=>{let{getSecretRequestSurface:n}=await e(async()=>{let{getSecretRequestSurface:e}=await import(`./secret-request-registry-DrOMKR1H.js`);return{getSecretRequestSurface:e}},[]),r=n();return r?r(t):{stored:!1,reason:`unavailable`}}}}function k(){return{"proxied-fetch":async({url:t,method:n,headers:r,body:i})=>{let{collectViaExtensionDelegate:a}=await e(async()=>{let{collectViaExtensionDelegate:e}=await import(`./proxied-fetch-Cplb-Tee.js`).then(e=>e.i);return{collectViaExtensionDelegate:e}},__vite__mapDeps([5,1,3,6,7,8,9])),{head:o,body:s}=await a(t,{method:n,headers:r,body:i});return{head:o,body:s}}}}function A(){return navigator.userActivation?.isActive??!0}var we={usb:`use a USB device`,hid:`use a HID device`,serial:`use a serial port`,screenshare:`share a screen`};async function j(e,t,n){let r=e();if(!r)throw Error(`${t} request: the chooser needs a click, and no permission prompt is open`);let i=await r.prompt({kinds:[t],description:`A command in the terminal asks to ${we[t]}.`,requestOptions:{[t]:n}}),a=i.status===`granted`?i.grants.find(e=>e.kind===t):void 0;if(!a){let e=i.message?`: ${i.message}`:``;throw Error(`${t} request: ${i.reason??i.status}${e}`)}return a}function Te(e,t){return A()?e:{getDevices:()=>e.getDevices(),requestDevice:async({filters:e})=>(await j(t,`usb`,{filters:e})).device}}function Ee(e,t){return A()?e:{getDevices:()=>e.getDevices(),requestDevice:async({filters:e})=>(await j(t,`hid`,{filters:e})).devices}}function De(e,t){return A()?e:{getPorts:()=>e.getPorts(),requestPort:async e=>(await j(t,`serial`,{filters:e?.filters??[]})).port}}function Oe(e){return A()?e=>navigator.mediaDevices.getDisplayMedia(e):async t=>(await j(e,`screenshare`,{constraints:t})).stream}function ke(e){Ne(e.emitEvent);let t=()=>e.getPermissionsSurface?.()??null;return{"usb-list":async()=>({devices:await g(M(),F())}),"usb-request":async({filters:e})=>({device:await xe(M(),Te(F(),t),e)}),"usb-device-info":({handle:e})=>({device:S(M(),e)}),"usb-open":async({handle:e})=>(await w(M(),e),{done:!0}),"usb-close":async({handle:e,owner:t,force:n})=>(await h(M(),e,{owner:t,force:n}),{done:!0}),"usb-select-configuration":async({handle:e,configurationValue:t})=>(await _(M(),e,t),{done:!0}),"usb-claim-interface":async({handle:e,interfaceNumber:t,owner:n,wait:r})=>(await v(M(),e,t,{owner:n,wait:r}),{done:!0}),"usb-release-interface":async({handle:e,interfaceNumber:t,owner:n})=>(await be(M(),e,t,{owner:n}),{done:!0}),"usb-cancel-claim-wait":async({handle:e,interfaceNumber:t,owner:n})=>(await C(M(),e,t,n??`usb`),{done:!0}),"usb-drop-owner":async({owner:e})=>(await ye(M(),e),{done:!0}),"usb-control-transfer-in":async({handle:e,setup:t,length:n})=>ve(M(),e,t,n),"usb-control-transfer-out":async({handle:e,setup:t,bytes:n})=>y(M(),e,t,n),"usb-transfer-in":async({handle:e,endpointNumber:t,length:n})=>Ce(M(),e,t,n),"usb-transfer-out":async({handle:e,endpointNumber:t,bytes:n})=>Se(M(),e,t,n),"usb-reset":async({handle:e,owner:t,force:n})=>(await b(M(),e,{owner:t,force:n}),{done:!0}),"usb-clear-halt":async({handle:e,direction:t,endpointNumber:n})=>(await x(M(),e,t,n),{done:!0})}}function Ae(e,t){let n=()=>e.getPermissionsSurface?.()??null;return{"hid-list":async()=>({devices:await de(I(),L())}),"hid-request":async({filters:e})=>({devices:await le(I(),Ee(L(),n),e)}),"hid-device-info":({handle:e})=>({device:ce(I(),e)}),"hid-open":async({handle:e})=>(await ae(I(),e),{done:!0}),"hid-close":async({handle:e})=>(await pe(I(),e),{done:!0}),"hid-send-report":async({handle:e,reportId:t,bytes:n})=>(await ee(I(),e,t,n),{done:!0}),"hid-send-feature-report":async({handle:e,reportId:t,bytes:n})=>(await fe(I(),e,t,n),{done:!0}),"hid-receive-feature-report":async({handle:e,reportId:t})=>m(I(),e,t),"hid-subscribe-input-reports":async({handle:n})=>{t.get(n)?.();let r=await oe(I(),n,t=>{e.emitEvent?.(`hid-input-report`,{handle:n,reportId:t.reportId,bytes:t.bytes})});return t.set(n,r),{done:!0}},"hid-unsubscribe-input-reports":({handle:e})=>(t.get(e)?.(),t.delete(e),{done:!0})}}function je(e={}){let t=()=>e.getPermissionsSurface?.()??null;return{"serial-list":async()=>({devices:await ue(R(),z())}),"serial-request":async({filters:e})=>({device:await re(R(),De(z(),t),e)}),"serial-device-info":({handle:e})=>({device:te(R(),e)}),"serial-open":async({handle:e,options:t})=>(await se(R(),e,t),{done:!0}),"serial-close":async({handle:e})=>(await me(R(),e),{done:!0}),"serial-read":async({handle:e,maxBytes:t,until:n,timeoutMs:r})=>{let i=await ie(R(),e,{maxBytes:t,until:n?new Uint8Array(n):void 0,timeoutMs:r});return{bytes:i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)}},"serial-write":async({handle:e,bytes:t})=>({bytesWritten:await he(R(),e,new Uint8Array(t))}),"serial-get-signals":async({handle:e})=>({signals:await ne(R(),e)}),"serial-set-signals":async({handle:e,signals:t})=>(await p(R(),e,t),{done:!0})}}function Me(t){return{"esptool-chip-info":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([15,1,3,16]))).esptoolChipInfo(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-read-mac":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([15,1,3,16]))).esptoolReadMac(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-erase-flash":async({handle:n,baudRate:r})=>(await(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([15,1,3,16]))).esptoolEraseFlash(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0}),"esptool-flash":async({handle:n,baudRate:r,eraseAll:i,segments:a})=>(await(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([15,1,3,16]))).esptoolFlash(R(),n,r,i,a.map(e=>({address:e.address,data:new Uint8Array(e.bytes)})),e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0}),"esptool-read-flash":async({handle:n,baudRate:r,address:i,size:a})=>{let o=await(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([15,1,3,16]))).esptoolReadFlash(R(),n,r,i,a,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e}));return{bytes:o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}},"esptool-read-reg":async({handle:n,baudRate:r,address:i})=>(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([15,1,3,16]))).esptoolReadReg(R(),n,r,i,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-flash-id":async({handle:n,baudRate:r})=>(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([15,1,3,16]))).esptoolFlashId(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),"esptool-erase-region":async({handle:n,baudRate:r,address:i,size:a})=>(await(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([15,1,3,16]))).esptoolEraseRegion(R(),n,r,i,a,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0}),"esptool-run":async({handle:n,baudRate:r})=>(await(await e(()=>import(`./esptool-operations-CiccBbBW.js`),__vite__mapDeps([15,1,3,16]))).esptoolRun(R(),n,r,e=>t.emitEvent?.(`esptool-progress`,{handle:n,line:e})),{done:!0})}}function M(){return ge()}var N=null,P;function Ne(t){P=t,!(N||!t)&&e(()=>import(`./usb-claim-broker-Dacw2Z3M.js`).then(e=>{N||=e.addClaimListener(M(),e=>{P?.(`usb-claim-event`,e)})}),__vite__mapDeps([17,18,1]))}function F(){let e=_e();if(!e)throw Error(`WebUSB is unavailable in this browser`);return e}function I(){return u()}function L(){let e=l();if(!e)throw Error(`WebHID is unavailable in this browser`);return e}function R(){return d()}function z(){let e=f();if(!e)throw Error(`Web Serial is unavailable in this browser`);return e}function Pe(t){return{"tray-reset":async()=>{if(!t.resetTray)throw Error(`host reset: no active tray session to reset`);return await t.resetTray()},"tray-webhook-rotate":async()=>{if(!t.rotateWebhook)throw Error(`webhook rotate: no active leader tray`);return await t.rotateWebhook()},"tray-webhook-revoke":async e=>{if(!t.revokeWebhook)throw Error(`webhook delete: no active leader tray`);return await t.revokeWebhook(e.webhookId),{ok:!0}},"tray-open-preview":async e=>{if(!t.mintPreview)throw Error(`serve: no active leader tray; cannot mint preview`);return await t.mintPreview(e)},"tray-revoke-preview":async e=>{if(!t.revokePreview)throw Error(`serve: no active leader tray; cannot revoke preview`);return await t.revokePreview(e)},"tray-list-previews":async()=>{if(!t.listPreviews)throw Error(`serve: no active leader tray; cannot list previews`);return await t.listPreviews()},"tray-mint-biscotto":async e=>{if(!t.mintBiscotto)throw Error(`biscotto: no active leader tray; cannot mint a seat`);return await t.mintBiscotto(e)},"tray-revoke-biscotto":async e=>{if(!t.revokeBiscotto)throw Error(`biscotto revoke: no active leader tray; cannot revoke a seat`);return await t.revokeBiscotto(e)},"tray-list-biscotti":async()=>{if(!t.listBiscotti)throw Error(`biscotti: no active leader tray; cannot list seats`);return await t.listBiscotti()},"tray-preview-logs":async({previewToken:e})=>{if(!t.getPreviewLifecycleRecords)throw Error(`serve --logs: no active leader tray; cannot read preview logs`);return t.getPreviewLifecycleRecords(e)},"tray-preview-truncate":async({previewToken:e})=>{if(!t.truncatePreviewLifecycleRecords)throw Error(`serve --truncate: no active leader tray; cannot truncate preview logs`);return t.truncatePreviewLifecycleRecords(e)},"tray-leave":async({workerBaseUrl:e,requestId:n})=>{if(!t.leaveTray)throw Error(`host leave: tray leave is not available in this environment`);return await t.leaveTray({workerBaseUrl:e,requestId:n})},"tray-join":async({joinUrl:e,requestId:n})=>{if(!t.joinTray)throw Error(`host join: tray join is not available in this environment`);return await t.joinTray({joinUrl:e,requestId:n})},"cherry-emit":async({runtimeId:e,name:n,detail:r})=>{if(!t.emitCherrySliccEvent)throw Error(`cherry-emit: not available in this environment`);return{delivered:t.emitCherrySliccEvent(e,n,r)}},"tray-exec":async e=>{if(!t.execOnRemote)throw Error(`ssh: no active leader tray in this environment`);return await t.execOnRemote(e)},"tray-exec-signal":({execToken:e})=>(t.signalRemoteExec?.({execToken:e}),{ok:!0}),"tray-computer-native":async e=>{if(!t.computerNative)throw Error(`computer native: no active leader tray in this environment`);return await t.computerNative(e)},"oauth-extras-set":({providerId:e,domains:t})=>(i(e,t),{storeAfter:a()}),"silent-renew":async({providerId:t})=>{let{getRegisteredProviderConfig:n}=await e(async()=>{let{getRegisteredProviderConfig:e}=await import(`./providers-jygoVQBo.js`).then(e=>e.r);return{getRegisteredProviderConfig:e}},__vite__mapDeps([19,1,3])),r=n(t);return r?.onSilentRenew?{accessToken:await r.onSilentRenew()}:{accessToken:null}},"save-oauth-accounts":({accountsJson:e})=>(localStorage.setItem(`slicc_accounts`,e),{storedJson:localStorage.getItem(`slicc_accounts`)??e})}}async function Fe(e,t){if((typeof navigator<`u`?navigator.userActivation:void 0)?.isActive===!0)return B(window.open(e,`_blank`,`width=500,height=700,popup=yes`));let n=t?.()??null;if(n){let t=await Ie(n,e);return t===void 0?null:B(t)}return B(window.open(e,`_blank`,`width=500,height=700,popup=yes`))}function B(e){return new Promise(t=>{let n=!1,r=null,i=()=>{n||(n=!0,window.removeEventListener(`message`,a),clearTimeout(c),r&&clearInterval(r))},a=n=>{if(n.data?.type!==`oauth-callback`||n.origin!==window.location.origin||e&&n.source!==e)return;if(i(),n.data.error){console.error(`[panel-rpc:oauth-popup] OAuth error:`,n.data.error),t(null);return}let r=n.data.redirectUrl;(typeof r==`string`||r==null)&&t(r??null)};window.addEventListener(`message`,a),r=setInterval(async()=>{if(!n)try{let e=await fetch(o(`/api/oauth-result`),{headers:s()});if(e.status===204||!e.ok)return;let r=await e.json();if(n)return;if(i(),r.error){console.error(`[panel-rpc:oauth-popup] Server relay OAuth error:`,r.error),t(null);return}t(r.redirectUrl??null)}catch(e){console.warn(`[panel-rpc:oauth-popup] Poll failed:`,e instanceof Error?e.message:String(e))}},1e3);let c=setTimeout(()=>{i();try{e?.close()}catch{}t(null)},12e4)})}async function Ie(e,t){let n=await e.prompt({kinds:[`popup`],description:`Continue to sign in. A new window will open to the provider.`,grantLabel:`Continue`,requestOptions:{popup:{url:t}}});if(n.status!==`granted`)return;let r=n.grants.find(e=>e.kind===`popup`);return r&&r.kind===`popup`?r.window:null}async function Le(t,n){let{captureDisplayMedia:r,sessionCaptureRequest:i}=await e(async()=>{let{captureDisplayMedia:e,sessionCaptureRequest:t}=await import(`./screencapture-media-BxRLHqjA.js`);return{captureDisplayMedia:e,sessionCaptureRequest:t}},[]),{mimeType:a,quality:o,mode:s,durationMs:c,audio:l,session:u,handle:d,maxWidth:f}=n,p=await r(s===`session`?i({session:u,handle:d,mimeType:a,quality:o,durationMs:c,maxWidth:f}):s===`video`?{mode:`video`,mimeType:a,durationMs:c??5e3,audio:!!l}:{mode:`image`,mimeType:a,quality:o},Oe(t));return{bytes:p.bytes.buffer.slice(p.bytes.byteOffset,p.bytes.byteOffset+p.bytes.byteLength),width:p.width,height:p.height,mimeType:p.mimeType,nativeWidth:p.nativeWidth,nativeHeight:p.nativeHeight,...p.durationMs===void 0?{}:{durationMs:p.durationMs},...p.handle===void 0?{}:{handle:p.handle}}}function Re(t={}){let n=()=>t.getPermissionsSurface?.()??null;return{"page-info":()=>({origin:window.location.origin,href:window.location.href,title:document.title||``}),screencapture:e=>Le(n,e),"speak-text":async({text:t,lang:n,voice:r,rate:i,pitch:a,volume:o})=>{let{speak:s}=await e(async()=>{let{speak:e}=await import(`./speak-CwevwRGG.js`);return{speak:e}},__vite__mapDeps([20,3,4,9,21,22,23,1,24,6,25,26,27,28,29,30,31,32,33,34,35,36,5,7,8,37,13,0,2,38,39,19,40,41,42,43,44,11,45,46,47,48]));return await s({text:t,lang:n,voice:r,rate:i,pitch:a,volume:o}),{done:!0}},"list-voices":async()=>{let{kokoroVoicesIfReady:t}=await e(async()=>{let{kokoroVoicesIfReady:e}=await import(`./speak-CwevwRGG.js`);return{kokoroVoicesIfReady:e}},__vite__mapDeps([20,3,4,9,21,22,23,1,24,6,25,26,27,28,29,30,31,32,33,34,35,36,5,7,8,37,13,0,2,38,39,19,40,41,42,43,44,11,45,46,47,48])),n=t().map(e=>({name:e.id,lang:e.lang,default:!1,onDevice:e.onDevice}));if(typeof speechSynthesis>`u`){if(n.length>0)return{voices:n};throw Error(`speechSynthesis is unavailable in this page`)}let r=speechSynthesis.getVoices();if(r.length>0)return{voices:[...n,...r.map(W)]};let i=await new Promise(e=>{let t=()=>{speechSynthesis.removeEventListener(`voiceschanged`,t),e(speechSynthesis.getVoices())};speechSynthesis.addEventListener(`voiceschanged`,t),setTimeout(()=>{speechSynthesis.removeEventListener(`voiceschanged`,t),e(speechSynthesis.getVoices())},1e3)});return{voices:[...n,...i.map(W)]}},"speak-status":async()=>{let{kokoroStatus:t}=await e(async()=>{let{kokoroStatus:e}=await import(`./speak-CwevwRGG.js`);return{kokoroStatus:e}},__vite__mapDeps([20,3,4,9,21,22,23,1,24,6,25,26,27,28,29,30,31,32,33,34,35,36,5,7,8,37,13,0,2,38,39,19,40,41,42,43,44,11,45,46,47,48]));return t()},"speak-warmup":async()=>{let{kokoroWarmup:t}=await e(async()=>{let{kokoroWarmup:e}=await import(`./speak-CwevwRGG.js`);return{kokoroWarmup:e}},__vite__mapDeps([20,3,4,9,21,22,23,1,24,6,25,26,27,28,29,30,31,32,33,34,35,36,5,7,8,37,13,0,2,38,39,19,40,41,42,43,44,11,45,46,47,48]));return t()},"synthesize-to-wav":async({text:t,lang:n,voice:r,rate:i})=>{let{synthesizeToWav:a}=await e(async()=>{let{synthesizeToWav:e}=await import(`./speak-CwevwRGG.js`);return{synthesizeToWav:e}},__vite__mapDeps([20,3,4,9,21,22,23,1,24,6,25,26,27,28,29,30,31,32,33,34,35,36,5,7,8,37,13,0,2,38,39,19,40,41,42,43,44,11,45,46,47,48])),o=await a({text:t,...n===void 0?{}:{lang:n},...r===void 0?{}:{voice:r},...i===void 0?{}:{rate:i}});return{bytes:o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}},"play-audio":async({bytes:e,volume:t})=>{if(typeof AudioContext>`u`)throw Error(`Web Audio API is unavailable in this page`);let n=new AudioContext;try{let r=await n.decodeAudioData(e.slice(0)),i=n.createBufferSource();if(i.buffer=r,t!==void 0){let e=n.createGain();e.gain.value=Math.max(0,Math.min(1,t)),i.connect(e),e.connect(n.destination)}else i.connect(n.destination);await new Promise(e=>{i.onended=()=>e(),i.start()})}finally{try{await n.close()}catch{}}return{done:!0}},"play-chime":async({tone:e})=>{let t={success:[880,1320],error:[440,220],notify:[660,660]},[n,r]=t[e??`notify`]??t.notify;if(typeof AudioContext>`u`)throw Error(`Web Audio API is unavailable in this page`);let i=new AudioContext;try{let e=i.currentTime;for(let[t,a]of[n,r].entries()){let n=i.createOscillator();n.type=`sine`,n.frequency.value=a;let r=i.createGain();r.gain.setValueAtTime(1e-4,e+t*.18),r.gain.exponentialRampToValueAtTime(.2,e+t*.18+.02),r.gain.exponentialRampToValueAtTime(1e-4,e+t*.18+.18),n.connect(r),r.connect(i.destination),n.start(e+t*.18),n.stop(e+t*.18+.2)}await new Promise(e=>setTimeout(e,450))}finally{try{await i.close()}catch{}}return{done:!0}}}}function ze(e={}){return{"clipboard-read-text":async()=>{if(!navigator.clipboard?.readText)throw Error(`clipboard API unavailable`);return{text:await navigator.clipboard.readText()}},"clipboard-write-text":async({text:e})=>{if(!navigator.clipboard?.writeText)throw Error(`clipboard API unavailable`);return await G(),await navigator.clipboard.writeText(e),{done:!0}},"clipboard-write-image":async({bytes:e,mimeType:t})=>{if(!navigator.clipboard?.write||typeof ClipboardItem>`u`)throw Error(`clipboard image API unavailable`);let n,r=new Blob([e],{type:t});return n=t===`image/png`?r:await Ge(r),await G(),await navigator.clipboard.write([new ClipboardItem({"image/png":n})]),{done:!0}},"window-open":async({url:e,target:t,features:n})=>({opened:window.open(e,t??`_blank`,n??`noopener,noreferrer`)!==null}),"oauth-popup":async({url:t})=>{let n=await e.delegateOAuthLogin?.(t);return n?.delegated?{redirectUrl:n.redirectUrl,error:n.error}:{redirectUrl:await Fe(t,e.getPermissionsSurface)}},"oauth-route":async()=>({delegate:await e.shouldDelegateOAuth?.()===!0}),"capture-camera":async e=>await Ue(e),"enumerate-media-devices":async()=>{if(!navigator.mediaDevices?.enumerateDevices)throw Error(`enumerateDevices is not supported in this browser`);let e=await navigator.mediaDevices.enumerateDevices(),t=e=>({deviceId:e.deviceId,label:e.label||``,...e.groupId?{groupId:e.groupId}:{}});return{videoinputs:e.filter(e=>e.kind===`videoinput`).map(t),audioinputs:e.filter(e=>e.kind===`audioinput`).map(t)}}}}function Be(){return{"hear-capture":async t=>{let{hearCapture:n}=await e(async()=>{let{hearCapture:e}=await import(`./hear-CdqoxknG.js`);return{hearCapture:e}},__vite__mapDeps([49,4,50,51,3,22,23,1,24,6,25,26,27,28,29,30,31,32,33,34,35,36,5,7,8,9,37,13,0,2,38,39,19,40,41,42,43,44,11,45,46,47,48]));return await n(t??{})},"hear-transcribe":async({bytes:t,lang:n})=>{let{hearTranscribe:r}=await e(async()=>{let{hearTranscribe:e}=await import(`./hear-CdqoxknG.js`);return{hearTranscribe:e}},__vite__mapDeps([49,4,50,51,3,22,23,1,24,6,25,26,27,28,29,30,31,32,33,34,35,36,5,7,8,9,37,13,0,2,38,39,19,40,41,42,43,44,11,45,46,47,48]));return await r(t,n)},"hear-status":async()=>{let{hearStatus:t}=await e(async()=>{let{hearStatus:e}=await import(`./hear-CdqoxknG.js`);return{hearStatus:e}},__vite__mapDeps([49,4,50,51,3,22,23,1,24,6,25,26,27,28,29,30,31,32,33,34,35,36,5,7,8,9,37,13,0,2,38,39,19,40,41,42,43,44,11,45,46,47,48]));return t()},"hear-warmup":async()=>{let{hearWarmup:t}=await e(async()=>{let{hearWarmup:e}=await import(`./hear-CdqoxknG.js`);return{hearWarmup:e}},__vite__mapDeps([49,4,50,51,3,22,23,1,24,6,25,26,27,28,29,30,31,32,33,34,35,36,5,7,8,9,37,13,0,2,38,39,19,40,41,42,43,44,11,45,46,47,48]));return t()}}}var V=null,H;function Ve(t){H=t,!(V||!t)&&e(()=>import(`./screencapture-media-BxRLHqjA.js`).then(e=>{V||=e.displaySessions.onEnded(t=>{H?.(e.SCREENCAPTURE_SESSION_ENDED_CHANNEL,{handle:t})})}),[])}var He=1500;async function Ue(e){if(!navigator.mediaDevices?.getUserMedia)throw Error(`getUserMedia is not supported in this browser`);let t=e.mode===`photo`||e.captureVideo!==!1,n=!!e.captureAudio&&e.mode===`video`;if(!t&&!n)throw Error(`camera capture: at least one of video or audio must be requested`);let r=await We({wantVideo:t,videoDeviceId:t?await U(e.deviceId,`videoinput`):void 0,audioDeviceId:n?await U(e.audioDeviceId,`audioinput`):void 0,wantAudio:n,width:e.width,height:e.height,frameRate:e.frameRate,exact:!!e.exactSize});try{let n=null,i=0,a=0;if(t){n=document.createElement(`video`),n.srcObject=r,n.muted=!0,n.playsInline=!0;let e=n;await new Promise((t,n)=>{e.onloadedmetadata=()=>e.play().then(()=>t()).catch(n),e.onerror=()=>n(Error(`Failed to load camera stream`))}),await new Promise(e=>requestAnimationFrame(()=>e())),await new Promise(e=>requestAnimationFrame(()=>e())),i=e.videoWidth,a=e.videoHeight}if(e.mode===`photo`){if(!n)throw Error(`photo capture requires a video track`);let t=e.warmupMs??He;t>0&&await new Promise(e=>setTimeout(e,t));let r=document.createElement(`canvas`);r.width=i,r.height=a;let o=r.getContext(`2d`);if(!o)throw Error(`Failed to get canvas context`);o.drawImage(n,0,0,i,a);let s=await new Promise((t,n)=>{r.toBlob(e=>e?t(e):n(Error(`Failed to encode photo`)),e.mimeType,e.quality)});return{bytes:await s.arrayBuffer(),mimeType:s.type||e.mimeType,width:i,height:a}}let o=Math.max(100,Math.min(e.durationMs??5e3,6e4)),s=typeof MediaRecorder<`u`&&MediaRecorder.isTypeSupported(e.mimeType)?e.mimeType:`video/webm`,c=new MediaRecorder(r,{mimeType:s}),l=[];c.ondataavailable=e=>{e.data&&e.data.size>0&&l.push(e.data)};let u=new Promise(e=>{c.onstop=()=>e()});c.start(),await new Promise(e=>setTimeout(e,o)),c.stop(),await u;let d=new Blob(l,{type:s});return{bytes:await d.arrayBuffer(),mimeType:d.type||s,width:i,height:a,durationMs:o}}finally{r.getTracks().forEach(e=>{e.stop()})}}async function U(e,t){if(e===void 0||e===``)return;if(!/^\d+$/.test(e))return e;if(!navigator.mediaDevices?.enumerateDevices)return;let n=parseInt(e,10);return(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===t)[n]?.deviceId}async function We(e){let t=t=>{if(!e.wantVideo)return!1;let n={};return e.videoDeviceId&&(n.deviceId={exact:e.videoDeviceId}),e.width&&(n.width=t===`exact`?{exact:e.width}:{ideal:e.width}),e.height&&(n.height=t===`exact`?{exact:e.height}:{ideal:e.height}),e.frameRate&&(n.frameRate=t===`exact`?{exact:e.frameRate}:{ideal:e.frameRate}),Object.keys(n).length>0?n:!0},n=()=>e.wantAudio?!e.audioDeviceId||{deviceId:{exact:e.audioDeviceId}}:!1;try{return await navigator.mediaDevices.getUserMedia({video:t(e.exact?`exact`:`ideal`),audio:n()})}catch(r){let i=r?.name;if(!e.exact||i!==`OverconstrainedError`&&i!==`NotReadableError`)throw r;return console.warn(`panel-rpc:capture-camera: exact ${e.width??`?`}x${e.height??`?`}@${e.frameRate??`?`} unmet, falling back to ideal`),await navigator.mediaDevices.getUserMedia({video:t(`ideal`),audio:n()})}}function W(e){return{name:e.name,lang:e.lang,default:e.default,onDevice:!1}}async function Ge(e){let t=URL.createObjectURL(e);try{let e=new Image;await new Promise((n,r)=>{e.onload=()=>n(),e.onerror=()=>r(Error(`Failed to load image for clipboard conversion`)),e.src=t});let n=document.createElement(`canvas`);n.width=e.naturalWidth,n.height=e.naturalHeight;let r=n.getContext(`2d`);if(!r)throw Error(`Failed to get canvas context`);return r.drawImage(e,0,0),await new Promise((e,t)=>{n.toBlob(n=>n?e(n):t(Error(`PNG re-encode failed`)),`image/png`)})}finally{URL.revokeObjectURL(t)}}async function G(e=3e5){typeof document>`u`||typeof document.hasFocus==`function`&&(document.hasFocus()||await new Promise((t,n)=>{let r=()=>{window.removeEventListener(`focus`,i),document.removeEventListener(`visibilitychange`,a),clearTimeout(o)},i=()=>{document.hasFocus()&&(r(),t())},a=()=>{document.visibilityState===`visible`&&document.hasFocus()&&(r(),t())},o=setTimeout(()=>{r(),n(Error(`timed out waiting for window focus`))},e);window.addEventListener(`focus`,i),document.addEventListener(`visibilitychange`,a)}))}function Ke(e){let t=new Map,n=()=>{if(!e.sliccSidecar)throw Error(`slicc: sidecar attachments are not available in this environment`);return e.sliccSidecar},r=async(e,r)=>{let i=n(),a=new AbortController;t.set(e,a);try{return await r(i,a.signal)}finally{t.delete(e)}};return{"slicc-attach":async({joinUrl:e,name:t,connectTimeoutMs:r})=>await n().attach({joinUrl:e,name:t,connectTimeoutMs:r}),"slicc-detach":({name:e})=>({detached:n().detach(e)}),"slicc-list":()=>({attachments:n().list()}),"slicc-prompt":async({name:e,text:t,runToken:n,steer:i,timeoutMs:a})=>await r(n,async(n,r)=>await n.prompt(e,t,{steer:i,timeoutMs:a,signal:r})),"slicc-exec":async({name:e,command:t,runToken:n,cwd:i,env:a,timeoutMs:o,stdin:s})=>await r(n,async(n,r)=>await n.exec(e,t,{cwd:i,env:a,timeoutMs:o,stdin:s,signal:r})),"slicc-watch":async({name:e,runToken:t,durationMs:n,scoopJid:i,untilIdle:a})=>await r(t,async(t,r)=>await t.watch(e,{durationMs:n,scoopJid:i,untilIdle:a,signal:r})),"slicc-cancel":({runToken:e})=>(t.get(e)?.abort(),{ok:!0})}}function qe(e){return{"list-remote-targets":async()=>e.listRemoteTargets?{targets:(await e.listRemoteTargets()).filter(e=>e.targetId.includes(`:`)).map(e=>({targetId:e.targetId,title:e.title,url:e.url}))}:{targets:[]},"remote-cdp-send":async({runtimeId:t,localTargetId:n,method:r,params:i,sessionId:a,timeout:o})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.send({runtimeId:t,localTargetId:n,method:r,params:i,sessionId:a,timeout:o})},"remote-cdp-subscribe":async({runtimeId:t,localTargetId:n,event:r})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.subscribe({runtimeId:t,localTargetId:n,event:r})},"remote-cdp-unsubscribe":async({runtimeId:t,localTargetId:n,event:r})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.unsubscribe({runtimeId:t,localTargetId:n,event:r})},"remote-cdp-detach":async({runtimeId:t,localTargetId:n})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.detach({runtimeId:t,localTargetId:n})},"remote-open-tab":async({runtimeId:t,url:n})=>{if(!e.remoteCdp)throw Error(`remote-cdp bridge not available`);return e.remoteCdp.openTab({runtimeId:t,url:n})}}}function Je(e,t){return t===void 0?e.length>0&&e.every(e=>e===`camera`||e===`microphone`):t}function Ye(t){return{"permission-request":async n=>{let r=t.getPermissionsSurface?.()??null;if(!r)throw Error(`permission-request: permission surface unavailable`);let i=await r.prompt({kinds:n.kinds,description:n.description,heading:n.heading,grantLabel:n.grantLabel,cancelLabel:n.cancelLabel,skipIfGranted:Je(n.kinds,n.skipIfGranted)});if(i.status!==`granted`){let e=i.message?`: ${i.message}`:``;throw Error(`permission-request: ${i.reason??i.status}${e}`)}let a=[];for(let t of i.grants)switch(t.kind){case`usb`:{let e=M().register(t.device);a.push({kind:`usb`,handle:e});break}case`hid`:{let e=I().register(t.device);a.push({kind:`hid`,handle:e});break}case`serial`:{let e=R().register(t.port);a.push({kind:`serial`,handle:e});break}case`filesystem`:{let{storePendingHandle:n}=await e(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-qcWGbpG5.js`);return{storePendingHandle:e}},__vite__mapDeps([52,4,53,9])),r=`pendingMount:rpc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`;await n(r,t.handle),a.push({kind:`filesystem`,idbKey:r,dirName:t.handle.name});break}case`camera`:case`microphone`:case`screenshare`:for(let e of t.stream.getTracks())e.stop();a.push({kind:t.kind,ok:!0})}return{grants:a}}}}var K=3e5,Xe=class{pending=null;waiter=null;stream=new ReadableStream({pull:async e=>{for(;!this.pending;)await new Promise(e=>{this.waiter=e});let{chunk:t,taken:n}=this.pending;this.pending=null,t?e.enqueue(t):e.close(),n()}},{highWaterMark:0});write(e){return new Promise(t=>{this.pending={chunk:e,taken:t};let n=this.waiter;this.waiter=null,n?.()})}},q=new Map;function J(e){return e instanceof c?{ok:!1,code:e.code,status:e.status,error:e.message}:{ok:!1,code:`bridge`,status:502,error:e instanceof Error?e.message:String(e)}}var Y=()=>({ok:!1,code:`bridge`,status:502,error:`raw fetch: unknown or finished session`});function X(e){let t=q.get(e);t&&(q.delete(e),clearTimeout(t.idle),t.abort.abort(),t.reader?.cancel().catch(()=>void 0))}function Z(e){let t=q.get(e);if(t)return clearTimeout(t.idle),t.idle=setTimeout(()=>X(e),K),t}function Ze(e){return e.response.then(()=>new Promise(()=>{}))}function Qe(){return{"raw-fetch-probe":async t=>{let{getRawFetchCapabilities:n}=await e(async()=>{let{getRawFetchCapabilities:e}=await import(`./proxied-fetch-raw-Di1Dm8fV.js`);return{getRawFetchCapabilities:e}},__vite__mapDeps([54,3,7,8,9,55,56,6]));return n()},"raw-fetch-open":async({url:t,method:n,headers:r,hasBody:i,bodyLength:a})=>{let[{extensionPortConnector:o},{rawFetchViaPort:s}]=await Promise.all([e(()=>import(`./proxied-fetch-raw-Di1Dm8fV.js`),__vite__mapDeps([54,3,7,8,9,55,56,6])),e(()=>import(`./proxied-fetch-raw-port-Dv7XYtb4.js`),__vite__mapDeps([56,6,55,8,9]))]),c=o();if(!c)throw Error(`raw fetch: no extension Port in this realm`);let l=crypto.randomUUID(),u=i?new Xe:null,d=new AbortController,f=s(c,t,{method:n,headers:r,body:u?.stream,bodyLength:a,signal:d.signal});return f.catch(()=>void 0),q.set(l,{upload:u,response:f,reader:null,abort:d,idle:setTimeout(()=>X(l),K)}),{id:l}},"raw-fetch-write":async({id:e,chunk:t})=>{let n=Z(e);if(!n?.upload)return Y();try{return await Promise.race([n.upload.write(t),Ze(n)]),{ok:!0}}catch(t){return X(e),J(t)}},"raw-fetch-head":async({id:e})=>{let t=Z(e);if(!t)return Y();try{let{body:n,...r}=await t.response;return t.reader=n?.getReader()??null,n||X(e),{ok:!0,head:r,hasBody:n!==null}}catch(t){return X(e),J(t)}},"raw-fetch-read":async({id:e})=>{let t=Z(e);if(!t?.reader)return Y();try{let{done:n,value:r}=await t.reader.read();return n&&X(e),{ok:!0,chunk:n?null:r}}catch(t){return X(e),J(t)}},"raw-fetch-cancel":async({id:e})=>(X(e),{ok:!0})}}function $e(e){let t=n().find(t=>t.id===e);return t?t.id:null}function Q(){return{"feature-flag-set":({id:e,value:n})=>{let i=$e(e);if(!i)throw Error(`unknown flag ${e}`);if(t(i,n),r()[i]!==n)throw Error(`flag ${e} cannot be overridden on this float`);return{overridesJson:localStorage.getItem(`slicc_feature_flags`)??`{}`}}}}function et(){return{"theme-apply":async({themeJson:t,action:n})=>{let{importTheme:r,saveCustomTheme:i,setActiveTheme:a,clearActiveTheme:o,applyThemeOverrides:s}=await e(async()=>{let{importTheme:e,saveCustomTheme:t,setActiveTheme:n,clearActiveTheme:r,applyThemeOverrides:i}=await import(`./theme-engine-ZV7CeqWw.js`).then(e=>e._);return{importTheme:e,saveCustomTheme:t,setActiveTheme:n,clearActiveTheme:r,applyThemeOverrides:i}},__vite__mapDeps([57,1,4]));if(n===`reset`)return o(),s(),{applied:null};if(t){let e=r(t);return i(e),a(e.id),s(),{applied:e.id}}return{applied:null}}}}function tt(){return{"layout-apply":async t=>{let{getLayoutApplier:n}=await e(async()=>{let{getLayoutApplier:e}=await import(`./layout-apply-registry-Cw730jao.js`);return{getLayoutApplier:e}},[]),r=n();return r?await r(t)??{applied:!0}:{applied:!1,error:`no layout is mounted`}}}}function $(){let e=globalThis;if(!e.__slicc_browser)throw Error(`no browser API on this page`);return e.__slicc_browser}function nt(){return{"computer-tab-screenshot":async t=>{let{screenshotTab:n}=await e(async()=>{let{screenshotTab:e}=await import(`./tab-8LaHojfd.js`);return{screenshotTab:e}},__vite__mapDeps([58,59,25,60]));return n($(),t.targetId,{maxWidth:t.maxWidth,format:t.format})},"computer-tab-input":async t=>{let{inputTab:n}=await e(async()=>{let{inputTab:e}=await import(`./tab-8LaHojfd.js`);return{inputTab:e}},__vite__mapDeps([58,59,25,60]));return await n($(),t.targetId,t.events),{ok:!0}}}}function rt(e={}){let t=new Map;return Ve(e.emitEvent),{...Re(e),...ze(e),...Be(),...Pe(e),...Ke(e),...ke(e),...Ae(e,t),...je(e),...Me(e),...qe(e),...Ye(e),...k(),...Qe(),...D(),...O(),...T(),...E(),...et(),...tt(),...Q(),...nt()}}export{rt as createStandalonePanelRpcHandlers};
@@ -1 +0,0 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import"./proxied-fetch-CoZ8jHud.js";import{a as t}from"./api-endpoint-D8lUKmPu.js";function n(n){let r=e(n.logNamespace),i=null,a=1,o=new Map;function s(e){let t=e;if(typeof t?.id!=`number`)return;let n=o.get(t.id);n&&(o.delete(t.id),clearTimeout(n.timer),n.resolve(t.response))}function c(){i=null;for(let[,e]of o)clearTimeout(e.timer),e.reject(n.makeError(`${n.portName} port disconnected`));o.clear(),r.debug(`${n.portName} port disconnected; pending cleared, will reconnect`)}function l(){if(i)return i;let e=t();if(!e)return r.warn(`cannot open ${n.portName} port: no extension delegate id`),null;if(typeof chrome>`u`||typeof chrome?.runtime?.connect!=`function`)return r.warn(`cannot open ${n.portName} port: chrome.runtime.connect unavailable`),null;let a=chrome.runtime.connect,o=a(e,{name:n.portName});return o.onMessage.addListener(s),o.onDisconnect.addListener(c),i=o,o}function u(e){return n.onUnavailable===`resolve-undefined`?Promise.resolve(void 0):Promise.reject(n.makeError(e))}function d(e){return new Promise((t,s)=>{let c=l();if(!c){u(`${n.portName} transport unavailable`).then(t,s);return}let d=a++,f=setTimeout(()=>{o.delete(d)&&(r.warn(`${n.portName} call timed out`),u(`${n.portName} call timed out`).then(t,s))},n.timeoutMs);o.set(d,{resolve:t,reject:s,timer:f});try{c.postMessage({id:d,...n.toPortMessage(e)})}catch(e){o.delete(d),clearTimeout(f),i=null,s(n.makeError(e instanceof Error?e.message:String(e)))}})}async function f(e){let{getPanelRpcClient:t}=await import(`./panel-rpc-DW7W4w6_.js`).then(e=>e.a),i=t();return i?(await i.call(n.panelRpcOp,n.toPanelRpcPayload(e),{timeoutMs:n.timeoutMs})).response:(r.warn(`cannot bridge ${n.portName} call: panel-RPC client unavailable`),u(`${n.portName} transport: panel-RPC client unavailable`))}return e=>typeof chrome>`u`&&t()?f(e):d(e)}export{n as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panel-rpc-D3EPRnmw.js","assets/rolldown-runtime-Dd_uD5pT.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import"./proxied-fetch-Cplb-Tee.js";import{i as n}from"./api-endpoint-DuEQRZ4g.js";function r(r){let i=t(r.logNamespace),a=null,o=1,s=new Map;function c(e){let t=e;if(typeof t?.id!=`number`)return;let n=s.get(t.id);n&&(s.delete(t.id),clearTimeout(n.timer),n.resolve(t.response))}function l(){a=null;for(let[,e]of s)clearTimeout(e.timer),e.reject(r.makeError(`${r.portName} port disconnected`));s.clear(),i.debug(`${r.portName} port disconnected; pending cleared, will reconnect`)}function u(){if(a)return a;let e=n();if(!e)return i.warn(`cannot open ${r.portName} port: no extension delegate id`),null;if(typeof chrome>`u`||typeof chrome?.runtime?.connect!=`function`)return i.warn(`cannot open ${r.portName} port: chrome.runtime.connect unavailable`),null;let t=chrome.runtime.connect,o=t(e,{name:r.portName});return o.onMessage.addListener(c),o.onDisconnect.addListener(l),a=o,o}function d(e){return r.onUnavailable===`resolve-undefined`?Promise.resolve(void 0):Promise.reject(r.makeError(e))}function f(e){return new Promise((t,n)=>{let c=u();if(!c){d(`${r.portName} transport unavailable`).then(t,n);return}let l=o++,f=setTimeout(()=>{s.delete(l)&&(i.warn(`${r.portName} call timed out`),d(`${r.portName} call timed out`).then(t,n))},r.timeoutMs);s.set(l,{resolve:t,reject:n,timer:f});try{c.postMessage({id:l,...r.toPortMessage(e)})}catch(e){s.delete(l),clearTimeout(f),a=null,n(r.makeError(e instanceof Error?e.message:String(e)))}})}async function p(t){let{getPanelRpcClient:n}=await e(async()=>{let{getPanelRpcClient:e}=await import(`./panel-rpc-D3EPRnmw.js`).then(e=>e.i);return{getPanelRpcClient:e}},__vite__mapDeps([0,1])),a=n();return a?(await a.call(r.panelRpcOp,r.toPanelRpcPayload(t),{timeoutMs:r.timeoutMs})).response:(i.warn(`cannot bridge ${r.portName} call: panel-RPC client unavailable`),d(`${r.portName} transport: panel-RPC client unavailable`))}return e=>typeof chrome>`u`&&n()?p(e):f(e)}export{r as t};
@@ -1,3 +0,0 @@
1
- const e={EACCES:2,EBADF:8,EBUSY:10,EEXIST:20,EINVAL:28,EIO:29,EISDIR:31,ELOOP:32,ENAMETOOLONG:37,ENOENT:44,ENOSPC:51,ENOSYS:52,ENOTDIR:54,ENOTEMPTY:55,EPERM:63,EROFS:69,ETIMEDOUT:73,EXDEV:75},t=4095;function n(t,n){if(n?.errno!==void 0&&n instanceof t.ErrnoError)return n;let r=n?.code,i=typeof r==`string`?e[r]??29:29;return new t.ErrnoError(i)}function r(e){let t=[],n=e;for(;n!==n.mount.root;)t.push(n.name),n=n.parent;let r=e.mount.opts.root.replace(/\/+$/,``);return t.length===0?r||`/`:`${r}/${t.reverse().join(`/`)}`}function i(e){let t=3735928559,n=1103547991;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,2654435761),n=Math.imul(n^i,1597334677)}return t=Math.imul(t^t>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),4294967296*(2097151&n)+(t>>>0)||1}function a(e){let n=e.isSymbolicLink?40960:e.isDirectory?16384:32768,r=e.isDirectory||e.isSymbolicLink?511:438;return n|((e.mode??r)&t||r)}function o(e){if(e!=null)return e instanceof Date?e.getTime():e}function s(t,i){let o=e=>e.mount.opts.bridge;function s(e){try{return e()}catch(e){throw n(t,e)}}function c(t){try{s(t)}catch(t){if(t.errno!==e.ENOSYS)throw t}}function l(e){return{...e?{stat:e}:{},len:0,loaded:!1,dirty:!1,openCount:0}}function u(e,n,r){let o=t.createNode(e,n,a(r),0);return o.node_ops=i.node,o.stream_ops=i.stream,o.live=l(r),o}function d(e){if(e.live.orphan)return{...e.live.stat,size:e.live.len};if(!e.live.stat){let t=s(()=>o(e).lstat(r(e)));e.live.stat=t,e.mode=a(t)}return e.live.stat}function f(e,t){let n=r(e);return n===`/`?`/${t}`:`${n}/${t}`}function p(e){let t=e.live;if(t.loaded)return;let n=s(()=>o(e).readFile(r(e)));t.data=n,t.len=n.length,t.loaded=!0}function m(e,t){let n=e.live,r=n.data??new Uint8Array;if(r.length>=t)return r;let i=new Uint8Array(Math.max(t,r.length*2,256));return i.set(r.subarray(0,n.len)),n.data=i,i}function h(e){let t=e.live;if(!t.dirty||!t.data||t.orphan)return;let n=t.data.slice(0,t.len);s(()=>o(e).writeFile(r(e),n)),t.dirty=!1,t.stat=void 0}function g(e,t){let n=e.live;if(n.openCount>0){t>0?p(e):n.loaded=!0;let r=m(e,t);t>n.len&&r.fill(0,n.len,t),n.len=t,n.dirty=!0;return}let i=r(e),a=new Uint8Array(t);if(t>0){let n=s(()=>o(e).readFile(i));a.set(n.subarray(0,Math.min(t,n.length)))}s(()=>o(e).writeFile(i,a)),n.stat=void 0}return{Fs:t,bridgeOf:o,call:s,metadataCall:c,makeNode:u,statOf:d,childPath:f,ensureLoaded:p,ensureCapacity:m,flushNode:h,truncate:g}}function c(n){let{Fs:a,bridgeOf:s,call:c,metadataCall:l,makeNode:u,statOf:d,childPath:f,flushNode:p,truncate:m}=n,{ensureLoaded:h}=n;return{getattr(e){let t=d(e),n=e.live,o=a.isDir(e.mode)?4096:n.loaded?n.len:t.size,s=new Date(t.mtimeMs??0);return{dev:1,ino:t.ino??i(r(e)),mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:o,atime:s,mtime:s,ctime:s,blksize:4096,blocks:Math.ceil(o/4096)}},setattr(e,n){if(e.live.orphan){n.mode!==void 0&&n.mode!==null&&(e.mode=e.mode&-4096|n.mode&t),n.size!==void 0&&n.size!==null&&m(e,n.size);return}let i=r(e);if(n.mode!==void 0&&n.mode!==null){let r=n.mode&t;r!==(e.mode&t)&&(l(()=>s(e).chmod(i,r)),e.mode=e.mode&-4096|r)}n.size!==void 0&&n.size!==null&&a.isFile(e.mode)&&m(e,n.size);let c=o(n.mtime)??n.timestamp;if(c!==void 0){let t=o(n.atime)??c;p(e),l(()=>s(e).utimes(i,t,c))}e.live.stat=void 0},lookup(e,t){let n=c(()=>s(e).lstat(f(e,t)));return u(e,t,n)},mknod(t,n,r){let i=f(t,n);if(a.isDir(r))c(()=>s(t).mkdir(i));else if(a.isFile(r))c(()=>s(t).writeFile(i,new Uint8Array));else throw new a.ErrnoError(e.EPERM);let o=u(t,n,{isFile:a.isFile(r),isDirectory:a.isDir(r),isSymbolicLink:!1,size:0,mode:r,mtimeMs:Date.now()});return o.live.stat=void 0,o},rename(e,t,n){let i=r(e),o=f(t,n);p(e),c(()=>s(e).rename(i,o));try{let r=a.lookupNode?.(t,n);r&&r!==e&&a.hashRemoveNode?.(r)}catch{}e.name=n,e.live.stat=void 0},unlink(e,t){let n;try{let r=a.lookupNode?.(e,t);r&&r.live?.openCount>0&&a.isFile(r.mode)&&(n=r)}catch{}n&&(d(n),h(n)),c(()=>s(e).unlink(f(e,t))),n&&(n.live.orphan=!0)},rmdir(e,t){c(()=>s(e).rmdir(f(e,t)))},readdir(e){return[`.`,`..`,...c(()=>s(e).readdir(r(e)))]},symlink(e,t,n){let r=f(e,t);return c(()=>s(e).symlink(n,r)),u(e,t,{isFile:!1,isDirectory:!1,isSymbolicLink:!0,size:n.length})},readlink(t){if(!a.isLink(t.mode))throw new a.ErrnoError(e.EINVAL);return c(()=>s(t).readlink(r(t)))}}}function l(t){let{Fs:n,statOf:r,ensureLoaded:i,ensureCapacity:a,flushNode:o}=t;return{open(e){n.isFile(e.node.mode)&&e.node.live.openCount++},dup(e){n.isFile(e.node.mode)&&e.node.live.openCount++},close(e){let t=e.node;if(!n.isFile(t.mode))return;let r=t.live;if(r.openCount=Math.max(0,r.openCount-1),!(r.openCount>0))try{o(t)}finally{r.data=void 0,r.len=0,r.loaded=!1}},read(t,r,a,o,s){let c=t.node;if(n.isDir(c.mode))throw new n.ErrnoError(e.EISDIR);i(c);let l=c.live;if(s>=l.len||o<=0)return 0;let u=Math.min(o,l.len-s);return new Uint8Array(r.buffer,r.byteOffset+a,u).set(l.data.subarray(s,s+u)),u},write(t,r,o,s,c){let l=t.node;if(n.isDir(l.mode))throw new n.ErrnoError(e.EISDIR);if(s<=0)return 0;i(l);let u=l.live,d=c+s,f=a(l,d);return c>u.len&&f.fill(0,u.len,c),f.set(new Uint8Array(r.buffer,r.byteOffset+o,s),c),u.len=Math.max(u.len,d),u.dirty=!0,s},llseek(t,i,a){let o=i;if(a===1)o+=t.position;else if(a===2&&n.isFile(t.node.mode)){let e=t.node.live;o+=e.loaded?e.len:r(t.node).size}if(o<0)throw new n.ErrnoError(e.EINVAL);return o},fsync(e){o(e.node)}}}function u(t){let n=new Set,r={},i=s(t,r),a=c(i),o=l(i);return r.node=a,r.stream=o,{mounts:n,node_ops:a,stream_ops:o,mount(r){let a=i.call(()=>r.opts.bridge.stat(r.opts.root));if(!a.isDirectory)throw new t.ErrnoError(e.ENOTDIR);let o=i.makeNode(null,`/`,a);return n.add(r),o}}}function d(e,t){return!!t&&e.mounts.has(t.mount)}function f(e,t){for(let i of e.nameTable??[])for(let a=i;a;a=a.name_next??null)if(!(!d(t,a)||!a.live.dirty||!a.live.data))try{let e=a.live.data.slice(0,a.live.len);a.mount.opts.bridge.writeFile(r(a),e),a.live.dirty=!1}catch(t){throw n(e,t)}}function p(e,t){let n=e.nameTable??[],r=[];for(let e of n)for(let n=e;n;n=n.name_next??null){if(!d(t,n))continue;let e=n.live;e.stat=void 0,e.openCount===0?n!==n.mount.root&&r.push(n):e.loaded&&!e.dirty&&(e.data=void 0,e.len=0,e.loaded=!1)}if(e.hashRemoveNode)for(let t of r)e.hashRemoveNode(t)}function m(e){let t=[...new Set(e.map(e=>e.replace(/\/+$/,``)||`/`))].sort();return t.filter(e=>!t.some(t=>t!==e&&(t===`/`||e.startsWith(`${t}/`))))}function h(e){if(e instanceof Error)return e.message;let t=e?.errno;return typeof t==`number`?`errno ${t}`:String(e)}function g(e,t,n,r){if(typeof e.filesystems!=`object`||!e.filesystems)throw Error(`the module was linked without filesystem support, so the VFS cannot be mounted (link it with -sFORCE_FILESYSTEM=1)`);let i=e.filesystems.SLICC_LIVE_FS??u(e);e.filesystems.SLICC_LIVE_FS=i;let a=[];for(let o of m(n))if(o!==`/`)try{e.mkdirTree(o),e.mount(i,{root:o,bridge:t},o),a.push(o)}catch(e){r(`live VFS mount of ${o} failed: ${h(e)}`)}return{plugin:i,mounted:a}}function _(e,t){return Object.assign(Error(`${e}: ${t}`),{code:e})}function v(e,t){let n=e.getMutations();for(let e of n.deleted)t.rm(e);for(let e of n.created)e.isDirectory?t.mkdir(e.path):t.writeFile(e.path,e.content);for(let e of n.modified)t.writeFile(e.path,e.content);e.resetBaseline()}const y=new Set([`dev`,`proc`]),b=[`/usr`,`/bin`],ee=[`writeFile`,`mkdir`,`rm`,`rename`,`unlink`,`rmdir`,`symlink`,`chmod`,`utimes`];function te(e,t){let n={...e};for(let r of ee){let i=e[r];n[r]=(...n)=>{t.wasUsed()&&v(t,e);try{i.apply(e,n)}finally{t.invalidate()}}}return n}function ne(e,t){let n;try{n=e.readdir(`/`)}catch(e){return t(`cannot list the VFS root, nothing mounted: ${String(e)}`),[]}let r=n.filter(e=>e&&!e.includes(`/`)&&!y.has(e)).map(e=>`/${e}`);for(let e of b)r.includes(e)||r.push(e);let i=[];for(let t of r)try{e.stat(t).isDirectory&&i.push(t)}catch{}return i}function re(e,t,n={}){let{bridge:r,syncFs:i,warn:a}=t;i.wasUsed()&&v(i,r);let{plugin:o,mounted:s}=g(e,te(r,i),ne(r,a),a);try{e.chdir(n.cwd??t.cwd)}catch(e){a(`cannot chdir to ${n.cwd??t.cwd}: ${String(e)}`)}return{mounted:s,flush:()=>f(e,o),invalidate:()=>p(e,o)}}function x(e){if(!e||e===`/`)return`/`;e.startsWith(`/`)||(e=`/`+e);let t=e.split(`/`),n=[];for(let e of t)e!==``&&e!==`.`&&(e===`..`?n.pop():n.push(e));return`/`+n.join(`/`)}function S(e){let t=x(e);if(t===`/`)return`/`;let n=t.lastIndexOf(`/`);return n===0?`/`:t.slice(0,n)}function C(e){return Object.assign(Error(`ENOENT: no such file or directory, '${e}'`),{code:`ENOENT`})}function w(e){return Object.assign(Error(`ENOSYNC: file too large for sync access, '${e}' — use async readFile() instead`),{code:`ENOSYNC`})}function ie(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var ae=class{tree=new Map;initialPaths=new Set;initialContent=new Map;initialKind=new Map;mkdtempCounter=0;tombstones=new Set;removedDirs=new Set;touched=!1;constructor(e){this.loadSnapshot(e)}loadSnapshot(e){this.tree=new Map,this.tombstones=new Set,this.removedDirs=new Set,this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map,this.tree.set(`/`,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(`/`),this.initialKind.set(`/`,`directory`);for(let t of e.entries){let e=x(t.path);this.tree.set(e,{content:t.content,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink,symlinkTarget:t.symlinkTarget,truncated:t.truncated,size:t.size,...t.partial?{partial:!0}:{}}),this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}for(let t of e.entries){let e=S(x(t.path));for(;e!==`/`&&!this.tree.has(e);)this.tree.set(e,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(e),this.initialKind.set(e,`directory`),e=S(e)}}wasUsed(){return this.touched}applySnapshot(e){this.loadSnapshot(e)}applySnapshotPreservingMutations(e){let t=this.getMutations();this.loadSnapshot(e);for(let e of t.deleted){if(this.tree.get(e)?.isDirectory){let t=e===`/`?`/`:e+`/`;for(let n of Array.from(this.tree.keys()))n!==e&&n.startsWith(t)&&this.tree.delete(n)}this.tree.delete(e)}for(let e of t.created)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink,symlinkTarget:e.symlinkTarget});for(let e of t.modified)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:!1})}invalidate(){this.loadSnapshot({entries:[]})}resetBaseline(){this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map;for(let[e,t]of this.tree.entries())this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}entryKind(e){return e.isSymbolicLink?`symlink`:e.isDirectory?`directory`:`file`}resolveEntry(e,t=!1){let n=x(e),r=n.split(`/`).filter(Boolean),i=[],a=new Set,o=0;if(r.length===0){let e=this.tree.get(`/`);return e?{path:`/`,entry:e}:void 0}for(;r.length>0;){let e=r.shift(),s=`/${[...i,e].join(`/`)}`,c=this.tree.get(s);if(!c)return;let l=r.length===0;if(c.isSymbolicLink&&!(t&&l)){if(a.has(s)||o++===40)throw Object.assign(Error(`ELOOP: too many symbolic links, '${n}'`),{code:`ELOOP`});a.add(s);let e=c.symlinkTarget??``;r=[...x(e.startsWith(`/`)?e:`${S(s)}/${e}`).split(`/`).filter(Boolean),...r],i=[];continue}if(!l&&!c.isDirectory)return;if(i.push(e),l)return{path:s,entry:c}}}ensureParentDirs(e){let t=S(e);t!==`/`&&(this.tree.has(t)||this.mkdir(t,!0,!0))}isPartial(e){return this.tree.get(x(e))?.partial===!0}hasPartialWithin(e){let t=x(e),n=t===`/`?`/`:`${t}/`;for(let[e,r]of this.tree)if(r.partial&&(e===t||e.startsWith(n)))return!0;return!1}commitWrite(e,t){this.writeFile(e,t);let n=x(e);for(this.initialContent.set(n,t);n!==`/`;){let e=this.tree.get(n);e&&(this.initialPaths.add(n),this.initialKind.set(n,this.entryKind(e))),n=S(n)}}readFile(e){this.touched=!0;let t=x(e),n=this.resolveEntry(t)?.entry;if(!n||n.isDirectory)throw C(t);if(n.truncated)throw w(t);return n.content}writeFile(e,t){this.touched=!0;let n=x(e);this.ensureParentDirs(n),this.tree.set(n,{content:t,isDirectory:!1}),this.tombstones.delete(n),this.removedDirs.delete(n)}exists(e){this.touched=!0;let t=x(e);return this.tree.has(t)}stat(e){this.touched=!0;let t=x(e),n=this.resolveEntry(t);if(!n)throw C(t);return this.toStat(n.entry)}lstat(e){this.touched=!0;let t=x(e),n=this.resolveEntry(t,!0);if(!n)throw C(t);return this.toStat(n.entry)}toStat(e){return{isFile:!e.isDirectory&&!e.isSymbolicLink,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink===!0,size:e.isDirectory?0:e.size??e.content.byteLength}}readdir(e){this.touched=!0;let t=x(e),n=this.resolveEntry(t);if(!n?.entry.isDirectory)throw C(t);let r=n.path===`/`?`/`:n.path+`/`,i=new Set;for(let e of this.tree.keys()){if(e===t||e===`/`||!e.startsWith(r))continue;let n=e.slice(r.length).split(`/`)[0];n&&i.add(n)}return Array.from(i)}mkdir(e,t,n=!1){this.touched=!0;let r=x(e);if(this.tree.has(r)){if(this.tree.get(r).isDirectory)return;throw Object.assign(Error(`EEXIST: file already exists, '${r}'`),{code:`EEXIST`})}let i=S(r);if(i!==`/`&&!this.tree.has(i)){if(!t)throw C(r);this.mkdir(i,!0,n)}this.tree.set(r,{content:new Uint8Array,isDirectory:!0,...n?{partial:!0}:{}}),this.tombstones.delete(r),this.removedDirs.delete(r)}rm(e,t){this.touched=!0;let n=x(e),r=this.tree.get(n);if(!r)throw C(n);if(r.isDirectory&&!r.isSymbolicLink){let e=n===`/`?`/`:n+`/`,r=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));if(r.length>0&&!t)throw Object.assign(Error(`ENOTEMPTY: directory not empty, '${n}'`),{code:`ENOTEMPTY`});for(let e of r)this.tree.delete(e),this.tombstones.add(e);t&&this.removedDirs.add(n)}this.tree.delete(n),this.tombstones.add(n)}copyFile(e,t){this.touched=!0;let n=x(e),r=this.tree.get(n);if(!r||r.isDirectory)throw C(n);if(r.truncated)throw w(n);let i=x(t);this.ensureParentDirs(i),this.tree.set(i,{content:r.content.slice(),isDirectory:!1}),this.tombstones.delete(i),this.removedDirs.delete(i)}rename(e,t){this.touched=!0;let n=x(e),r=this.tree.get(n);if(!r)throw C(n);let i=x(t);if(r.isDirectory){let e=n===`/`?`/`:n+`/`,t=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n);for(let e of t){let t=this.tree.get(e),r=i+e.slice(n.length);this.tree.set(r,t),this.tree.delete(e)}this.tombstones.add(n),this.removedDirs.add(n),this.tombstones.delete(i),this.removedDirs.delete(i);return}this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n),this.tombstones.add(n),this.tombstones.delete(i),this.removedDirs.delete(i)}unlink(e){this.touched=!0;let t=x(e),n=this.tree.get(t);if(!n)throw C(t);if(n.isDirectory&&!n.isSymbolicLink)throw Object.assign(Error(`EISDIR: illegal operation on a directory, unlink '${t}'`),{code:`EISDIR`});this.tree.delete(t),this.tombstones.add(t)}markRemoved(e,t=!1){this.touched=!0;let n=x(e);this.tombstones.add(n),t&&this.removedDirs.add(n)}isTombstoned(e){let t=x(e);if(this.tombstones.has(t))return!0;for(let e of this.removedDirs)if(t===e||t.startsWith(`${e}/`))return!0;return!1}mkdtemp(e){this.touched=!0;for(let t=0;t<100;t++){let t=`_${String(this.mkdtempCounter).padStart(6,`0`)}`;this.mkdtempCounter++;let n=x(e+t);if(!this.tree.has(n))return this.mkdir(n,!0),n}throw Error(`mkdtemp: failed to create unique directory after 100 attempts`)}getMutations(){let e=[],t=[],n=[];for(let[r,i]of this.tree.entries()){if(r===`/`)continue;if(!this.initialPaths.has(r)){e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}let a=this.initialKind.get(r);if(a!==void 0&&a!==this.entryKind(i)){n.push(r),e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}if(!i.isDirectory&&!i.isSymbolicLink){let e=this.initialContent.get(r);e&&!ie(e,i.content)&&t.push({path:r,content:i.content})}}for(let e of this.initialPaths)e!==`/`&&(this.tree.has(e)||n.push(e));return{created:e,modified:t,deleted:n}}};function T(e){let t=e;return!t||typeof t.isFile!=`boolean`||typeof t.isDirectory!=`boolean`||typeof t.size!=`number`?null:{isFile:t.isFile,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink,size:t.size,...typeof t.mode==`number`?{mode:t.mode}:{},...typeof t.mtimeMs==`number`?{mtimeMs:t.mtimeMs}:{},...typeof t.ino==`number`?{ino:t.ino}:{}}}new TextEncoder;const E=new TextDecoder;function oe(e,t){switch(e){case 1:return{ok:!0,kind:`bytes`,bytes:t};case 3:return{ok:!0,kind:`void`};case 2:try{return{ok:!0,kind:`json`,json:JSON.parse(E.decode(t))}}catch{return{ok:!1,errno:`EIO`,message:`sync-sab: malformed json payload`}}case 4:try{let e=JSON.parse(E.decode(t)),n=typeof e.errno==`string`&&/^E[A-Z]+$/.test(e.errno)?e.errno:`EIO`;return{ok:!1,errno:n,message:String(e.message??n)}}catch{return{ok:!1,errno:`EIO`,message:`sync-sab: malformed errno payload`}}default:return{ok:!1,errno:`EIO`,message:`sync-sab: unknown status ${e}`}}}function se(e){if(e.byteLength<4160)throw Error(`sync-sab: buffer too small (${e.byteLength} < 4160)`);return{header:new Int32Array(e,0,16),window:new Uint8Array(e,64)}}function D(e,t,n={}){let{header:r,window:i}=se(e),a=n.wait??((e,t,n,r)=>Atomics.wait(e,t,n,r)),o=n.now??(()=>performance.now()),s=0;function c(e,t,n){for(;;){let i=t-o();if(i<=0)throw _(`ETIMEDOUT`,n);if(a(r,0,1,i),Atomics.load(r,0)===2&&Atomics.load(r,1)===e)return;Atomics.load(r,0)===2&&Atomics.store(r,0,1)}}return{call(e,n,a){let l=++s,u=o()+n,d=null,f=0,p=0;try{for(;;){Atomics.store(r,0,1);let n=p===0?{type:`sync-sab-req`,id:l,req:e}:{type:`sync-sab-next`,id:l,offset:p};try{t.postMessage(n)}catch{throw _(`EIO`,a)}c(l,u,a);let o=Atomics.load(r,3),s=Atomics.load(r,4);if(Atomics.load(r,5)!==p||s<0||o<0||p+s>o)throw _(`EIO`,a);if(d===null&&(f=Atomics.load(r,2),d=new Uint8Array(o)),d.set(i.subarray(0,s),p),p+=s,p>=o)break;if(s===0)throw _(`EIO`,a)}}finally{Atomics.store(r,0,0)}return oe(f,d)}}}function O(e,t){return _(e,`sync-sab bridge, '${t}'`)}function k(e,t={}){let n=t.timeoutMs??25e3;function r(t,r){let i=e.call(t,n,`sync-sab bridge, '${r}'`);if(!i.ok)throw O(i.errno,r);return i}function i(e,t){let n=r(e,t);if(n.ok&&n.kind===`bytes`)return n.bytes;throw O(`EIO`,t)}function a(e,t){let n=r(e,t);if(n.ok&&n.kind===`json`)return n.json;throw O(`EIO`,t)}return{readFile:e=>i({op:`read`,path:e},e),writeFile:(e,t)=>{r({op:`write`,path:e,body:t},e)},stat:e=>{let t=T(a({op:`stat`,path:e},e));if(!t)throw O(`EIO`,e);return t},lstat:e=>{let t=T(a({op:`lstat`,path:e},e));if(!t)throw O(`EIO`,e);return t},readdir:e=>{let t=a({op:`readdir`,path:e},e);if(!Array.isArray(t)||!t.every(e=>typeof e==`string`))throw O(`EIO`,e);return t},readdirStat:e=>{let t=a({op:`readdir-stat`,path:e},e);if(!Array.isArray(t))throw O(`EIO`,e);return t.map(t=>{if(!Array.isArray(t)||typeof t[0]!=`string`)throw O(`EIO`,e);if(t[1]===null)return[t[0],null];let n=T(t[1]);if(!n)throw O(`EIO`,e);return[t[0],n]})},exists:e=>{let t=a({op:`exists`,path:e},e);if(typeof t!=`boolean`)throw O(`EIO`,e);return t},mkdir:e=>{r({op:`mkdir`,path:e},e)},rm:e=>{r({op:`rm`,path:e},e)},rename:(e,t)=>{r({op:`rename`,path:e,arg2:t},e)},unlink:e=>{r({op:`unlink`,path:e},e)},rmdir:e=>{r({op:`rmdir`,path:e},e)},symlink:(e,t)=>{r({op:`symlink`,path:t,arg2:e},t)},readlink:e=>{let t=a({op:`readlink`,path:e},e);if(typeof t!=`string`)throw O(`EIO`,e);return t},chmod:(e,t)=>{r({op:`chmod`,path:e,mode:t},e)},utimes:(e,t,n)=>{r({op:`utimes`,path:e,atimeMs:t,mtimeMs:n},e)}}}const ce={EACCES:2,EADDRINUSE:3,EADDRNOTAVAIL:4,EAFNOSUPPORT:5,EAGAIN:6,ECONNREFUSED:14,EINPROGRESS:26,EISCONN:30,ENETUNREACH:40,ENOTCONN:53,ENOTSOCK:57,EPROTONOSUPPORT:66,EOPNOTSUPP:138,EBADF:8,ECHILD:12,EINTR:27,EINVAL:28,EIO:29,EMFILE:33,ENOENT:44,ENOSYS:52,ENOTTY:59,ENXIO:60,EPERM:63,EPIPE:64,ESPIPE:70,ESRCH:71};function A(e){return ce[e]??29}const j=2048,M=49663;var N=class extends Error{status;constructor(e){super(`exit ${e}`),this.status=e}},P=class extends Error{code;constructor(e){super(e),this.code=e}};function F(e){return e.sliccKernelSocket===!0&&!!(e.flags&2048)}var le=class{Fs;sys;options;refs=new Map;socketRoot;sockets=0;constructor(e,t,n={}){this.Fs=e,this.sys=t,this.options=n}attach(e,t,n){this.refs.set(t,(this.refs.get(t)??0)+1),e.sliccKernelFd=t,e.stream_ops=this.ops(t,e.stream_ops),n??this.sys.isatty?.(t)??!1?e.tty=this.ttyOps(t):delete e.tty}ttyOps(e){return{ops:{ioctl_tcgets:()=>this.call(()=>this.sys.tcgets?.(e)),ioctl_tcsets:(t,n,r)=>this.call(()=>(this.sys.tcsets?.(e,r),0)),ioctl_tiocgwinsz:()=>this.call(()=>this.sys.winsize?.(e)??[24,80]),fsync:()=>{}}}}attachFile(e,t){this.attach(e,t,!1),e.sliccKernelFile=!0,e.stream_ops={...e.stream_ops,llseek:(e,n,r)=>this.call(()=>this.sys.seek(t,n,r)),fsync:()=>this.call(()=>(this.sys.flush(t),0))}}useControllingTerminal(){if(typeof this.Fs.open!=`function`)return;let e=this.Fs.open.bind(this.Fs);this.Fs.open=(t,n,r)=>{let i=e(t,n,r);if(!i.tty)return i;if(i.path===`/dev/tty`&&this.sys.openTty){let e;try{e=this.call(()=>this.sys.openTty?.())}catch(e){throw this.Fs.closeStream(i.fd),e}return this.attach(i,e,!0),i}let a=this.stdioTerminal();return a!==void 0&&this.attach(i,a,!0),i}}stdioTerminal(){for(let e of[0,1,2]){let t=this.Fs.getStream(e);if(t?.sliccKernelFd!==void 0&&t.tty)return t.sliccKernelFd}}attachSocket(e,t){this.attach(e,t,!1),e.sliccKernelSocket=!0}socketStream(e){let t=this.Fs;if(!t.mount||!t.createNode||!t.createStream){let t=this.Fs.open(`/dev/null`,2);return t.flags=e,t}this.socketRoot??=t.mount({mount:()=>t.createNode(null,`/`,16895,0)},{},null);let n=++this.sockets,r=t.createNode(this.socketRoot,`socket:${n}`,M,0),i=new Date,a={dev:0,ino:n,mode:M,nlink:1,uid:0,gid:0,rdev:0,size:0},o={atime:i,mtime:i,ctime:i,blksize:4096,blocks:0};return r.node_ops={getattr:()=>({...a,...o})},t.createStream({node:r,flags:e,seekable:!1,position:0,stream_ops:{}})}usePipes(e){let t=e.createPipe.bind(e);e.createPipe=()=>{let[e,n]=this.call(()=>this.sys.pipe()),r;try{r=t()}catch(t){for(let t of[e,n])try{this.sys.close(t)}catch{}throw t}return this.attach(this.Fs.getStream(r.readable_fd),e,!1),this.attach(this.Fs.getStream(r.writable_fd),n,!1),r}}restarting(e){for(;;)try{return e()}catch(e){if(!(e instanceof P&&e.code===`EINTR`&&this.options.restartable?.()))throw e}}call(e){try{return e()}catch(e){throw e instanceof P?new this.Fs.ErrnoError(A(e.code)):e}}ops(e,t){return{...t,llseek:()=>this.call(()=>{throw new P(`ESPIPE`)}),read:(t,n,r,i)=>this.call(()=>{let a=F(t)?{nonblock:!0}:void 0,o=this.restarting(()=>this.sys.read(e,i,a));return n.set(o,r),o.length}),write:(t,n,r,i)=>{try{let a=n.slice(r,r+i),o=F(t)?{nonblock:!0}:void 0;return this.restarting(()=>this.sys.write(e,a,o))}catch(e){if(e instanceof P&&e.code===`EPIPE`&&!this.options.sigpipe?.())throw new N(141);return this.call(()=>{throw e})}},fsync:()=>0,poll:()=>{let t=this.call(()=>this.sys.poll(e)),n=0;return t.readable&&(n|=65),t.writable&&(n|=260),t.hangup&&(n|=t.readable?16:8),n},dup:n=>{t.dup?.(n),this.refs.set(e,(this.refs.get(e)??0)+1)},close:n=>{try{t.close?.(n)}catch{}let r=(this.refs.get(e)??1)-1;if(r>0){this.refs.set(e,r);return}this.refs.delete(e);try{this.sys.close(e)}catch{}}}}};function I(e){return e.ok?0:-A(e.errno)}function L(e){return e.ok?e.kind===`json`&&typeof e.json==`number`?e.json:-A(`EIO`):-A(e.errno)}function ue(e,t){let n=[],r=new Uint8Array(65536);try{for(let i=e.read(t,r,0,r.length);i>0;)n.push(r.slice(0,i)),i=e.read(t,r,0,r.length)}catch{}let i=new Uint8Array(n.reduce((e,t)=>e+t.length,0)),a=0;for(let e of n)i.set(e,a),a+=e.length;return i}function R(e,t,n,r,i){let a=t=>e.getStream(t)?.sliccKernelFd,o=n.map(a),s=r.map(a),c=t.call({op:`fd-select`,read:o,write:s,timeoutMs:i},1/0,`select`);if(!c.ok)return-A(c.errno);let l=c.kind===`json`?c.json:{read:[],write:[]};return{read:n.filter((e,t)=>l.read.includes(o[t])),write:r.filter((e,t)=>l.write.includes(s[t]))}}function de(e,t,n){let r=t=>{let n=e.getStream(t);return n?n.stream_ops.poll?n.stream_ops.poll(n):5:32};return{read:t.filter(e=>r(e)&57),write:n.filter(e=>r(e)&44)}}function fe(e){let{transport:t,Fs:n}=e,r=new Map,i=(e,n)=>t.call(e,1/0,n),a=(e,t,r)=>{let i=e>=0?n.getStream(e):null;return i?(r?.(i),i.sliccKernelFd===void 0?i.path===`/dev/null`?{none:!0}:t===0?{input:ue(n,i)}:{capture:!0}:{fd:i.sliccKernelFd}):{none:!0}},o=(n,r,i=0)=>{let a={op:`proc-wait`,pid:n,nohang:r,...i&2?{untraced:!0}:{},...i&8?{continued:!0}:{}},o=t.call(a,1/0,`proc-wait ${n}`);for(;!o.ok&&o.errno===`EINTR`&&e.restartable?.();)o=t.call(a,1/0,`proc-wait ${n}`);if(!o.ok)return-A(o.errno);let s=o.kind===`json`?o.json:[0,0];return s[0]>0&&e.afterChild(),[s[0],s[1]]},s=(e,r,i)=>{let a=t.call({op:`proc-captured`,pid:e,slot:r},1/0,`proc-captured ${e}`),o=n.getStream(i);a.ok&&a.kind===`bytes`&&a.bytes.length>0&&o&&n.write(o,a.bytes,0,a.bytes.length)};return{spawn(i,c,l,u,d,f){e.beforeSpawn();let p=e.stdioPromoter?.(),m=[0,1,2].map(e=>a(d[e]??-1,e,p)),h=e.inherit?.(f)??[],g=t.call({op:`proc-spawn`,file:i,argv:c,env:l??e.env,cwd:u??n.cwd(),stdio:m,...h.length>0?{inherit:h}:{}},1/0,`proc-spawn ${i}`);if(!g.ok)return-A(g.errno);let _=g.kind===`json`?g.json:0,v=[1,2].filter(e=>`capture`in m[e]);if(v.length===0)return _;let y=o(_,!1);if(typeof y==`number`)return y;for(let e of v)s(_,e,d[e]);return r.set(_,y[1]),_},fork(r){e.beforeSpawn();let i=e.describeFork(),a=t.call({op:`proc-fork`,state:{...r,streams:i,cwd:n.cwd()}},1/0,`proc-fork`);return a.ok?a.kind===`json`?a.json:-A(`EIO`):-A(a.errno)},select(e,r,i){let a=e=>n.getStream(e)?.sliccKernelFd,o=e=>a(e)===void 0;if(![...e,...r].some(o))return R(n,t,e,r,i);let s=i<0?1/0:Date.now()+i,c=e.filter(e=>!o(e)),l=r.filter(e=>!o(e));for(;;){let i=de(n,e.filter(o),r.filter(o)),a=i.read.length>0||i.write.length>0?0:Math.min(20,Math.max(0,s-Date.now())),u=R(n,t,c,l,a);if(typeof u==`number`)return u;let d={read:[...i.read,...u.read],write:[...i.write,...u.write]};if(d.read.length>0||d.write.length>0||Date.now()>=s)return d}},execWait(n){let r=t.call({op:`proc-exec`,pid:n},1/0,`exec ${n}`);return r.ok?(e.afterChild(),r.kind===`json`?r.json[1]:0):-A(r.errno)},kill(t,n){return t===e.pid?(n!==0&&e.raise?.(n),0):I(i({op:`proc-kill`,pid:t,sig:n},`kill ${t}`))},setpgid:(e,t)=>I(i({op:`proc-setpgid`,pid:e,pgid:t},`setpgid`)),setsid:()=>L(i({op:`proc-setsid`},`setsid`)),getpgid:e=>L(i({op:`proc-getpgid`,pid:e},`getpgid`)),getsid:e=>L(i({op:`proc-getsid`,pid:e},`getsid`)),tcgetpgrp(e){let t=n.getStream(e)?.sliccKernelFd;return t===void 0?-A(`ENOTTY`):L(i({op:`tty-pgrp-get`,fd:t},`tcgetpgrp`))},tcsetpgrp(e,t){let r=n.getStream(e)?.sliccKernelFd;return r===void 0?-A(`ENOTTY`):I(i({op:`tty-pgrp-set`,fd:r,pgrp:t},`tcsetpgrp`))},wait(e,t,n){let i=e>0?r.has(e)?e:void 0:r.keys().next().value;if(i!==void 0){let e=r.get(i);return r.delete(i),[i,e]}return o(e,t,n)}}}const z=524288;function B(e){return e.sliccCloexec===!0}function V(e,t){t?e.sliccCloexec=!0:delete e.sliccCloexec}const H=new WeakSet;function U(e){if(!H.has(e)){if(H.add(e),typeof e.dupStream==`function`){let t=e.dupStream.bind(e);e.dupStream=(e,n)=>{let r=t(e,n);return V(r,!1),r}}if(typeof e.open==`function`){let t=e.open.bind(e);e.open=(e,n,r)=>{let i=typeof n==`number`&&!!(n&524288),a=t(e,i?n&-524289:n,r);return V(a,i),a}}}}function W(e){return(t,n)=>{let r=e.fs()?.getStream(t);r&&V(r,n)}}function pe(e,t){let n=W(t);return(r,i,a)=>{if(i===1030){let t=e(r,0,a);return t>=0&&n(t,!0),t}if(i===3){let t=e(r,i,a);return t<0?t:t&-524289}if(i!==1&&i!==2)return e(r,i,a);let o=t.fs()?.getStream(r);if(!o)return-A(`EBADF`);if(i===1)return+!!B(o);let s=t.heap()?.[a>>2];return s===void 0?-A(`EINVAL`):(V(o,!!(s&1)),0)}}function me(e,t){let n=W(t);return(r,i)=>{let a=e(r,i&-524289),o=t.heap();return a===0&&i&524288&&o&&(n(o[r>>2],!0),n(o[(r>>2)+1],!0)),a}}function G(e,t,n){let r=W(n);return(...n)=>{let i=!!((n[t]??0)&z);i&&(n[t]=n[t]&-524289);let a=e(...n);return a>=0&&r(a,i),a}}function he(e,t){let n=new Map;return e.fcntl&&n.set(e.fcntl,pe(e.fcntl,t)),e.pipe2&&n.set(e.pipe2,me(e.pipe2,t)),e.dup3&&n.set(e.dup3,G(e.dup3,2,t)),e.socket&&n.set(e.socket,G(e.socket,1,t)),e.accept4&&n.set(e.accept4,G(e.accept4,3,t)),n}function ge(e,t,n){if(!t)return;let r=he(t,n);if(r.size===0)return;let i=new Set;for(let t of Object.values(e))if(!(!t||typeof t!=`object`||i.has(t))){i.add(t);for(let[e,n]of Object.entries(t)){let i=r.get(n);i&&(t[e]=i)}}}function _e(e,t){let n=e=>e instanceof WebAssembly.Memory,r=Object.values(e.exports).find(n);if(r)return r;for(let e of Object.values(t)){let t=Object.values(e??{}).find(n);if(t)return t}}function ve(e,t){let n=[];for(let r of`${e.startsWith(`/`)?``:t}/${e}`.split(`/`))r!==``&&r!==`.`&&(r===`..`?n.pop():n.push(r));let r=`/${n.join(`/`)}`,i=[`/dev/stdin`,`/dev/stdout`,`/dev/stderr`].indexOf(r);if(i>=0)return i;let a=/^\/(?:dev|proc\/self)\/fd\/(\d+)$/.exec(r);return a?Number(a[1]):void 0}function K(e,t){let n=new Date;return{dev:1,ino:t,mode:e,nlink:1,uid:0,gid:0,rdev:0,size:0,atime:n,mtime:n,ctime:n,blksize:4096,blocks:0}}function ye(e){let t;try{t=e.lookupPath?.(`/proc/self/fd`,{follow:!0})?.node}catch{return}let n=t?.node_ops,r=n?.lookup;!t||!r||n.getattr||(t.node_ops={...n,getattr:()=>K(16749,1),lookup:(e,t)=>{let n=r(e,t);return n.node_ops={...n.node_ops,getattr:()=>K(41408,n.id??0)},n}})}function be(e){if(typeof e.open!=`function`)return;try{e.symlink?.(`/proc/self/fd`,`/dev/fd`)}catch{}ye(e);let t=t=>typeof t==`string`?ve(t,e.cwd()):void 0,n=t=>{let n=e.getStream(t);if(!n)throw new e.ErrnoError(A(`EBADF`));return n},r=e.open.bind(e);e.open=(i,a,o)=>{let s=t(i);if(s===void 0)return r(i,a,o);let c=e.dupStream(n(s),-1);return V(c,typeof a==`number`&&!!(a&524288)),c};let{stat:i,fstat:a}=e;typeof i==`function`&&typeof a==`function`&&(e.stat=(r,o)=>{let s=o?void 0:t(r);return s===void 0?i.call(e,r,o):(n(s),a.call(e,s))})}const q=`/dev/slicc-fd`;function xe(e,t){let n=t.node;return n.live!==void 0&&e.isFile(n.mode)}function Se(e){let t=e.node.live;if(t?.orphan)return t.data?.slice(0,t.len??t.data.length)??new Uint8Array}function J(e,t,n,r){let i=new Map;return a=>{if(a.sliccKernelFd!==void 0||!xe(e,a))return;let o=i.get(a.shared);if(o===void 0){let e=Se(a);o=t.openVfs(r(a),a.flags,a.position,e===void 0?void 0:{contents:e,orphan:!0}),i.set(a.shared,o)}n.attachFile(a,o)}}function Ce(e,t,n,r){let i=J(e,t,n,r),a=[];for(let t of e.streams)if(t){if(i(t),t.sliccKernelFd!==void 0)a.push(we(t,t.sliccKernelFd));else if(t.path){let e=t.flags|(B(t)?z:0);a.push({fd:t.fd,path:t.path,flags:e})}}return a}function we(e,t){let n=B(e)?{cloexec:!0}:{};if(e.sliccKernelSocket)return{fd:e.fd,kernel:t,kind:`socket`,flags:e.flags,...n};let r=e.sliccKernelFile?`file`:e.tty?`tty`:`stream`;return{fd:e.fd,kernel:t,kind:r,...n}}function Te(e,t,n,r,i=[]){let a=new Map;for(let t of e.streams)t&&a.set(t.fd,{stream:t,cloexec:B(t)});for(let[e,t]of i){if(e<=2)continue;let n=t>=0?a.get(t):void 0;n?a.set(e,{stream:n.stream,cloexec:!1}):a.delete(e)}let o=new Map;for(let[e,{stream:t,cloexec:n}]of a)e>2&&!n&&o.set(e,t);let s=J(e,t,n,r),c=[];for(let[e,t]of o){if(s(t),t.sliccKernelFd===void 0)continue;let n=t.sliccKernelSocket?{flags:t.flags}:{};c.push({fd:e,kernel:t.sliccKernelFd,...n})}return c}function Y(e,t,n){if(t.fd===n)return t;let r=e.dupStream(t,n);return e.closeStream(t.fd),r}function Ee(e,t,n){return n.kind===`socket`?t.socketStream(n.flags??2):n.kind===`tty`?e.open(`/dev/tty`,2):n.kind===`stream`?e.open(`/dev/null`,2):(e.mkdirTree(q),e.open(`${q}/${n.fd}`,66))}let De=1073741824;const X=new WeakMap;function Oe(e,t,n){let r=X.get(t);r||X.set(t,r=new Map);let i=r.get(n);i===void 0&&r.set(n,i=De++);let a=e.node,o=i;e.stream_ops={...e.stream_ops,getattr:()=>({...a.node_ops?.getattr?.(a),mode:4480,ino:o,size:0})}}function Z(e,t,n){let r=Y(e,Ee(e,t,n),n.fd);return n.kind===`file`?t.attachFile(r,n.kernel):n.kind===`socket`?t.attachSocket(r,n.kernel):t.attach(r,n.kernel,n.kind===`tty`),n.kind===`stream`&&Oe(r,t,n.desc===void 0?`k${n.kernel}`:`d${n.desc}`),V(r,n.cloexec===!0),r}function ke(e,t,n){for(let t of e.streams)t&&e.closeStream(t.fd);for(let r of n)try{`kernel`in r?Z(e,t,r):V(Y(e,e.open(r.path,r.flags&-705),r.fd),!!(r.flags&z))}catch{}}const Q={HUP:1,INT:2,QUIT:3,ILL:4,TRAP:5,ABRT:6,BUS:7,FPE:8,KILL:9,USR1:10,SEGV:11,USR2:12,PIPE:13,ALRM:14,TERM:15,STKFLT:16,CHLD:17,CONT:18,STOP:19,TSTP:20,TTIN:21,TTOU:22,URG:23,XCPU:24,XFSZ:25,VTALRM:26,PROF:27,WINCH:28,POLL:29,PWR:30,SYS:31};Q.CHLD,Q.URG,Q.WINCH,Q.STOP,Q.TSTP,Q.TTIN,Q.TTOU;function Ae(e){return 1<<e}function je(e){let t=[];for(let n=1;n<=31;n++)e&Ae(n)&&t.push(n);return t}Q.INT,Q.TERM,Q.KILL,Q.STOP,Q.CONT;var Me=class{raw;header;hooks;reported={caught:0,ignored:0};restart=0;lastDelivered=0;depth=0;constructor(e,t,n){this.raw=e,this.header=t,this.hooks=n}transport(){return{call:(e,t,n)=>{this.report(),this.depth++;try{let r=this.raw.call(e,t,n);return this.deliver(),r}finally{this.depth--}}}}restartable(){return this.lastDelivered!==0&&(this.lastDelivered&~this.restart)===0}report(){let e=this.hooks.masks();if(!e)return;this.restart=e.restart;let{caught:t,ignored:n}=e;(t!==this.reported.caught||n!==this.reported.ignored)&&(this.reported={caught:t,ignored:n},this.raw.call({op:`sig-mask`,caught:t,ignored:n},1/0,`sig-mask`))}deliver(){let e=Atomics.exchange(this.header,8,0);this.depth<=1&&(this.lastDelivered=e);for(let t of je(e))this.hooks.raise(t)}};function Ne(e){if(e instanceof P)return-A(e.code);let t=e?.errno;if(typeof t==`number`)return-t;throw e}function Pe(e){let{transport:t,Fs:n,sys:r,streams:i}=e,a=e=>{let n=t.call(e,1/0,e.op);if(!n.ok)throw new P(n.errno);return n},o=e=>{let t=a(e);return t.ok&&t.kind===`json`?t.json:void 0},s=e=>(a(e),0),c=t=>{for(;;)try{return t()}catch(t){if(!(t instanceof P&&t.code===`EINTR`&&e.restartable?.()))return Ne(t)}},l=e=>{let t=n.getStream(e);if(!t)throw new P(`EBADF`);if(!t.sliccKernelSocket||t.sliccKernelFd===void 0)throw new P(`ENOTSOCK`);return t},u=e=>l(e).sliccKernelFd,d=(e,t,n=!1)=>{let a;try{a=i.socketStream(2|(t?j:0))}catch(t){throw r.close(e),t}return i.attachSocket(a,e),V(a,n),a.fd};return{socket:(e,t,n)=>c(()=>d(o({op:`sock-open`,domain:e}),t,n)),socketpair:(e,t,i)=>c(()=>{let[a,s]=o({op:`sock-pair`,domain:e}),c;try{c=d(a,t,i)}catch(e){throw r.close(s),e}try{return[c,d(s,t,i)]}catch(e){let t=n.getStream(c);throw t&&t.stream_ops.close?.(t),n.closeStream(c),e}}),bind:(e,t)=>c(()=>s({op:`sock-bind`,fd:u(e),addr:t})),listen:(e,t)=>c(()=>s({op:`sock-listen`,fd:u(e),backlog:t})),accept:(e,t,n)=>c(()=>{let r=l(e),i={op:`sock-accept`,fd:r.sliccKernelFd,nonblock:!!(r.flags&j)},a=o(i);return{fd:d(a.fd,t,n),peer:a.peer}}),connect:(e,t)=>c(()=>{let n=l(e),r=!!(n.flags&j);return s({op:`sock-connect`,fd:n.sliccKernelFd,addr:t,nonblock:r})}),shutdown:(e,t)=>c(()=>s({op:`sock-shutdown`,fd:u(e),how:t})),name:(e,t)=>c(()=>o({op:`sock-name`,fd:u(e),peer:t})),getopt:(e,t,n)=>c(()=>({value:o({op:`sock-getopt`,fd:u(e),level:t,name:n})})),setopt:(e,t,n,r)=>c(()=>s({op:`sock-setopt`,fd:u(e),level:t,name:n,value:r})),send:(t,n,i)=>c(()=>{let a=l(t),o=i.dontwait===!0||!!(a.flags&2048);try{return r.write(a.sliccKernelFd,n,{nonblock:o})}catch(t){throw t instanceof P&&t.code===`EPIPE`&&!i.nosignal&&!e.sigpipe?.()?new N(141):t}}),recv:(e,t,n)=>c(()=>{let i=l(e),a=n.dontwait===!0||!!(i.flags&2048);return r.read(i.sliccKernelFd,t,{nonblock:a,peek:n.peek===!0})})}}function Fe(e){let{stat:t,fstat:n}=e,r=e=>({...e,uid:1e3,gid:1e3});typeof t==`function`&&(e.stat=(n,i)=>r(t.call(e,n,i))),typeof n==`function`&&(e.fstat=t=>r(n.call(e,t)))}function Ie(e){let t=(t,n)=>{let r=e.call(t,1/0,n);if(!r.ok)throw new P(r.errno);return r},n=e=>e.ok&&e.kind===`json`?e.json:void 0;return{read(e,n,r){let i={...r?.nonblock?{nonblock:!0}:{},...r?.peek?{peek:!0}:{}},a=t({op:`fd-read`,fd:e,max:n,...i},`fd-read ${e}`);return a.ok&&a.kind===`bytes`?a.bytes:new Uint8Array},write(e,r,i){let a={op:`fd-write`,fd:e,body:r,...i?.nonblock?{nonblock:!0}:{}},o=n(t(a,`fd-write ${e}`));return typeof o==`number`?o:r.length},close(e){t({op:`fd-close`,fd:e},`fd-close ${e}`)},pipe(){return n(t({op:`fd-pipe`},`fd-pipe`))},poll(e){return n(t({op:`fd-poll`,fd:e},`fd-poll ${e}`))},openVfs(e,r,i,a){return n(t({op:`fd-open-vfs`,path:e,flags:r,position:i,...a?.contents===void 0?{}:{contents:a.contents},...a?.orphan?{orphan:!0}:{},...a?.truncate?{truncate:!0}:{}},`fd-open-vfs ${e}`))},seek(e,r,i){return n(t({op:`fd-seek`,fd:e,offset:r,whence:i},`fd-seek ${e}`))},flush(e){t({op:`fd-flush`,fd:e},`fd-flush ${e}`)},pread(e,n,r){let i=t({op:`fd-pread`,fd:e,max:n,offset:r},`fd-pread ${e}`);return i.ok&&i.kind===`bytes`?i.bytes:new Uint8Array},isatty(e){return n(t({op:`fd-info`,fd:e},`fd-info ${e}`))?.tty===!0},openTty(){return n(t({op:`fd-open-tty`},`fd-open-tty`))},tcgets(e){return n(t({op:`tty-get`,fd:e},`tty-get ${e}`))},tcsets(e,n){t({op:`tty-set`,fd:e,termios:n},`tty-set ${e}`)},winsize(e){return n(t({op:`tty-winsz`,fd:e},`tty-winsz ${e}`))}}}function Le(e,t,n){Z(e,t,{...n,kernel:n.fd})}function Re(e,t){for(let n of[0,1,2]){let r=e.getStream(n);r&&t.attach(r,n)}}function ze(e){return e.startsWith(`#!`)?e.slice(e.indexOf(`
2
- `)+1):e}const Be=[`if (typeof ENV !== 'undefined') Object.assign(ENV, Module.sliccEnv);`,`const __sliccTake = (name, value) => {`,` const own = Object.getOwnPropertyDescriptor(Module, name);`,` if (own && 'value' in own && own.value != null) return;`,` Object.defineProperty(Module, name, { value, writable: true, configurable: true, enumerable: true });`,`};`,`if (typeof FS !== 'undefined') __sliccTake('FS', FS);`,`if (typeof callMain === 'function') __sliccTake('callMain', callMain);`,`if (typeof sliccRunMain === 'function') __sliccTake('sliccRunMain', sliccRunMain);`,`if (typeof sliccForkChild === 'function') __sliccTake('sliccForkChild', sliccForkChild);`,`if (typeof PIPEFS !== 'undefined') __sliccTake('PIPEFS', PIPEFS);`,`Module.sliccSyscalls ??= {`,` fcntl: typeof ___syscall_fcntl64 === 'function' ? ___syscall_fcntl64 : undefined,`,` pipe2: typeof ___syscall_pipe2 === 'function' ? ___syscall_pipe2 : undefined,`,` dup3: typeof ___syscall_dup3 === 'function' ? ___syscall_dup3 : undefined,`,` socket: typeof ___syscall_socket === 'function' ? ___syscall_socket : undefined,`,` accept4: typeof ___syscall_accept4 === 'function' ? ___syscall_accept4 : undefined,`,`};`,`const __sliccUp = () => typeof runtimeInitialized === 'undefined' || runtimeInitialized;`,`Module.sliccSigpipe ??= () => (__sliccUp() && typeof _slicc_sigpipe === 'function' ? _slicc_sigpipe() : -1);`,`Module.sliccSigMask ??= (w) => (__sliccUp() && typeof _slicc_sig_mask === 'function' ? _slicc_sig_mask(w) : -1);`,`Module.sliccRaise ??= (sig) => { if (__sliccUp() && typeof _slicc_raise === 'function') _slicc_raise(sig); };`,`if (typeof SliccFork !== 'undefined' && !SliccFork.balancesKeepalive && typeof runtimeKeepalivePop === 'function') {`,` let __sliccForking = SliccFork.forking === true;`,` Object.defineProperty(SliccFork, 'forking', {`,` get: () => __sliccForking,`,` set: (on) => { if (__sliccForking && !on) runtimeKeepalivePop(); __sliccForking = on; },`,` configurable: true,`,` });`,`}`].join(`
3
- `);function $(e,t){let n=Object.getOwnPropertyDescriptor(e,t);return n&&`value`in n?n.value:void 0}const Ve=(e,t)=>{let n;try{n=Function(`Module`,`${ze(e)}\n;${Be}`)}catch(e){throw e instanceof EvalError?Error(He):e}n(t)},He=`the wasm realm evaluates the program's Emscripten glue, and this page's CSP forbids eval (no 'unsafe-eval')`;function Ue(e){let t=e.sliccSigMask,n=t?.(0)??-1;return!t||n===-1?null:{caught:n,ignored:t(1),restart:t(2)}}async function We(e,t,n={}){let i=new Me(D(e.sab,t),new Int32Array(e.sab,0,16),{masks:()=>Ue(p),raise:e=>p.sliccRaise?.(e)}),a=i.transport(),o=Ie(a),s=new TextEncoder,c=e=>t=>o.write(e,s.encode(`${t}\n`)),l,u,d,f=new Promise((e,t)=>{l=e,u=t}),p={noInitialRun:!0,thisProgram:e.argv0,sliccPid:e.pid,sliccEnv:e.env,print:c(1),printErr:c(2),instantiateWasm(t,n){return Promise.resolve().then(()=>(ge(t,$(p,`sliccSyscalls`),{fs:()=>$(p,`FS`),heap:()=>d?new Int32Array(d.buffer):void 0}),WebAssembly.instantiate(e.program.module,t))).then(r=>{d=_e(r,t),n(r,e.program.module)},u),{}},preRun:[t=>{if(!Ge(t))return;let n=t.FS;U(n);try{n.mkdirTree(e.cwd),n.chdir(e.cwd)}catch{}}],onRuntimeInitialized:()=>l()};(n.evaluate??Ve)(e.program.glue,p),await f;let m=p;if(!Ge(m))return Ke(m,e);let h=re(m.FS,{bridge:k(a),syncFs:new ae({entries:[]}),cwd:e.cwd,warn:n.warn??c(2)},{cwd:e.cwd}),g=()=>m.sliccSigpipe?.()===1,_=()=>i.restartable(),v=new le(m.FS,o,{sigpipe:g,restartable:_});if(U(m.FS),e.fork)ke(m.FS,v,e.fork.streams??[]);else{Re(m.FS,v);for(let t of e.fds??[])Le(m.FS,v,t)}let y=$(m,`PIPEFS`);y&&v.usePipes(y),v.useControllingTerminal(),be(m.FS),Fe(m.FS);let b=e=>r(e.node);m.sliccKernel=fe({transport:a,Fs:m.FS,env:e.env,beforeSpawn:()=>h.flush(),afterChild:()=>h.invalidate(),pid:e.pid,raise:e=>m.sliccRaise?.(e),restartable:_,describeFork:()=>Ce(m.FS,o,v,b),inherit:e=>Te(m.FS,o,v,b,e),stdioPromoter:()=>J(m.FS,o,v,b)}),m.sliccKernel.net=Pe({transport:a,Fs:m.FS,sys:o,streams:v,sigpipe:g,restartable:_});try{return qe(m,e)}finally{h.flush()}}function Ge(e){return typeof $(e,`FS`)?.getStream==`function`}function Ke(e,t){if(t.fork)throw Error(`${t.argv0} cannot resume a fork: it has no filesystem`);return qe(e,t)}function qe(e,t){try{if(t.fork){if(!e.sliccForkChild)throw Error(`${t.argv0} cannot resume a fork`);return e.sliccForkChild({...t.fork,pid:t.pid})??0}return(e.sliccRunMain??e.callMain)(t.args)??0}catch(e){let t=e?.status;if(typeof t!=`number`)throw e;return t}}const Je=`wasm-process-exit`,Ye=`wasm-process-error`,Xe=`wasm-thread-spawn`,Ze=`wasm-thread-exit`,Qe=()=>import(`./wasi-runtime-Bc01Bdaa.js`);function $e(e,t={}){let n=t.wasi??Qe,r=t.emscripten??We,i=t=>e.postMessage({type:Ye,message:t instanceof Error?t.stack??t.message:String(t)});return t=>{let a=t?.type;if(a===`wasm-thread-init`){n().then(n=>n.runWasiThread(t,e)).catch(i);return}if(a!==`wasm-process-init`)return;let o=t;(o.program.abi===`wasi`?n().then(t=>t.runWasiProcess(o,e)):r(o,e)).then(t=>e.postMessage({type:Je,code:t}),i)}}const et=$e({postMessage:e=>self.postMessage(e)});self.addEventListener(`message`,e=>et(e.data));export{Ie as a,Ae as c,D as d,Xe as i,P as l,Je as n,Me as o,Ze as r,Q as s,Ye as t,k as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./provider-MDIcOntz.js";export{e as readMcpAuthEntries};
@@ -1 +0,0 @@
1
- import{t as e}from"./store-N9OMacY2.js";import"./provider-L54O0b3P.js";export{e as readMcpAuthEntries};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/azure-openai-BPC12gr1.js","assets/diagnostics-Cag7MsZI.js","assets/models-Xc0Gclrk.js","assets/preload-helper-Czpn1I53.js","assets/compat-BAGLwgqY.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/openrouter.models-DHpsqCCC.js","assets/account-store-B857f9Kw.js","assets/core-4boN-CgI.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-Cplb-Tee.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-Dm_PZRZx.js","assets/float-topology-C9GjBEv-.js","assets/secrets-bridge-client-CWv2_nw7.js","assets/port-bridge-client-D_erEovW.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/panel-rpc-D3EPRnmw.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/transform-messages-k2mfzJwY.js","assets/pi-transcript-context-miZCMig3.js","assets/bedrock-camp-CWYBPsp_.js","assets/temperature-support-DhoZT6gU.js","assets/local-llm-CUTYS-aa.js","assets/legacy-api-aliases-BjgG1CsY.js","assets/adobe-C2NABnF7.js","assets/main-CxkrqswY.js","assets/modulepreload-polyfill-P2Xu9kJm.js","assets/bridge-protocol-C52CnDIj.js","assets/telemetry-B0sKnLBU.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/silent-renew-backoff-BJestVXs.js","assets/provider-budget-LCzMPlKv.js","assets/oauth-service-B-vKfxAF.js","assets/permissions-surface-registry-CilCRwhh.js","assets/llm-session-id-bZQs6gBN.js","assets/cerebras-BEDSf9Z2.js","assets/github-copilot-D7W2tJJz.js","assets/github-DBc_eOzS.js","assets/global-db-CbuLl-zx.js","assets/bridge-token-required-DMk2va9k.js","assets/openai-codex-BUS22UvF.js","assets/pkce-hGf_TEnP.js","assets/openrouter-free-CLv2guAs.js","assets/openrouter-models-DawLtPaY.js","assets/openrouter-oauth-Dy_qCqcN.js","assets/openrouter-CNys7eBu.js","assets/xai-grok-B11VgjUo.js","assets/xai-grok-errors-bnlIBeu-.js"])))=>i.map(i=>d[i]);
2
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-Czpn1I53.js";var n={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},r=e({getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>u,shouldIncludeProvider:()=>a}),i=Object.assign({"/packages/dev-tools/providers.build.json":n})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function a(e){let{include:t,exclude:n}=i;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}var o=Object.assign({"./built-in/azure-ai-foundry.ts":()=>t(()=>import(`./azure-ai-foundry-Bo0FAJyX.js`),[]),"./built-in/azure-openai.ts":()=>t(()=>import(`./azure-openai-BPC12gr1.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])),"./built-in/bedrock-camp-compat.ts":()=>t(()=>import(`./bedrock-camp-compat-B1oHsbyo.js`).then(e=>e.o),__vite__mapDeps([27,8])),"./built-in/bedrock-camp-extra-models.ts":()=>t(()=>import(`./bedrock-camp-extra-models-BYrxX19D.js`).then(e=>e.n),__vite__mapDeps([28,8,27])),"./built-in/bedrock-camp.ts":()=>t(()=>import(`./bedrock-camp-CWYBPsp_.js`),__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,27,29,30,31,33])),"./built-in/local-llm.ts":()=>t(()=>import(`./local-llm-CUTYS-aa.js`),__vite__mapDeps([34,1,4,2,3,5,6,7,8,9,35,13,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31]))}),s=Object.assign({"/packages/webapp/providers/adobe.ts":()=>t(()=>import(`./adobe-C2NABnF7.js`),__vite__mapDeps([36,11,8,4,2,1,3,5,6,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,35,10,26,27,28,29,37,38,39,40,41,42,43,44,45,46,31,33,47])),"/packages/webapp/providers/cerebras.ts":()=>t(()=>import(`./cerebras-BEDSf9Z2.js`),__vite__mapDeps([48,1,4,2,3,5,6,7,8,9,35,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,31])),"/packages/webapp/providers/github-copilot.ts":()=>t(()=>import(`./github-copilot-D7W2tJJz.js`),__vite__mapDeps([49,11,8,4,2,1,3,5,6,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,35,10,26,27,28,29,37,38,39,40,41,42])),"/packages/webapp/providers/github.ts":()=>t(()=>import(`./github-DBc_eOzS.js`),__vite__mapDeps([50,3,10,8,11,4,2,1,5,6,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,37,38,39,40,41,42,43,45,46,51,52])),"/packages/webapp/providers/openai-codex.ts":()=>t(()=>import(`./openai-codex-BUS22UvF.js`),__vite__mapDeps([53,1,4,2,3,5,6,7,8,9,35,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,37,38,39,40,41,42,31,52,54])),"/packages/webapp/providers/openrouter-free.ts":()=>t(()=>import(`./openrouter-free-CLv2guAs.js`),__vite__mapDeps([55,1,4,2,3,5,6,7,8,9,35,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,37,38,39,40,41,42,31,56,57,54])),"/packages/webapp/providers/openrouter-models.ts":()=>t(()=>import(`./openrouter-models-DawLtPaY.js`),__vite__mapDeps([56,9])),"/packages/webapp/providers/openrouter-oauth.ts":()=>t(()=>import(`./openrouter-oauth-Dy_qCqcN.js`),__vite__mapDeps([57,10,8,11,4,2,1,3,5,6,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,37,38,39,40,41,42,54])),"/packages/webapp/providers/openrouter.ts":()=>t(()=>import(`./openrouter-CNys7eBu.js`),__vite__mapDeps([58,4,2,1,3,5,6,7,8,9,35,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,37,38,39,40,41,42,31,56,57,54])),"/packages/webapp/providers/xai-grok-errors.ts":()=>t(()=>import(`./xai-grok-errors-bnlIBeu-.js`),[]),"/packages/webapp/providers/xai-grok.ts":()=>t(()=>import(`./xai-grok-B11VgjUo.js`),__vite__mapDeps([59,11,8,4,2,1,3,5,6,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,35,10,26,27,28,29,37,38,39,40,41,42,31,52,54,60]))}),c=new Map,l=null;function u(){return l===null&&(l=(async()=>{let e=await Promise.all(Object.values(o).map(e=>e()));for(let t of e)t.config&&a(t.config.id)&&(c.set(t.config.id,t.config),t.register?.());let t=await Promise.all(Object.values(s).map(e=>e()));for(let e of t)e.config&&(c.set(e.config.id,e.config),e.register?.())})()),l}function d(e){return c.get(e)}function f(){return[...c.keys()]}function p(e){c.set(e.id,e)}export{u as a,p as i,f as n,a as o,r,d as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panel-rpc-D3EPRnmw.js","assets/rolldown-runtime-Dd_uD5pT.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{i as t,n,t as r}from"./proxy-error-BSFYY7jj.js";import{i,r as a,s as o,t as s}from"./api-endpoint-DuEQRZ4g.js";import{n as c,t as l}from"./proxied-fetch-raw-types-BapqdEuh.js";import{c as u,i as d,l as f,n as p,o as m,probeRawPort as h,r as g,rawFetchViaPort as _,s as v,u as y}from"./proxied-fetch-raw-port-Dv7XYtb4.js";function b(e){let t=[],n=null,r=0,i=0,a=()=>(n??=e().then(e=>{t.push(e)}).finally(()=>{n=null}),n);return{stream:()=>{let e=++i;return new ReadableStream({async pull(n){for(;t.length===0;)await a();if(e!==i)return;let o=t[0];if(o==null){n.close();return}t.shift(),r+=o.byteLength,n.enqueue(o)}},{highWaterMark:0})},untouched:()=>r===0}}function x(e){let t=e.getReader();return async()=>{let{done:e,value:n}=await t.read();return e?null:n}}function S(e){if(!e.canStream)return!1;let n=u(e.headers);return n[`x-slicc-hmac-sign`]!==void 0||t(n[`content-type`]??``)?!1:e.bodyLength===void 0||e.bodyLength>=8388608}function C(){let e=!1;try{let t=new Request(`https://example.invalid/`,{body:new ReadableStream,method:`POST`,get duplex(){return e=!0,`half`}}).headers.has(`Content-Type`);return e&&!t}catch{return!1}}function w(e,t,n){return e instanceof TypeError&&t.untouched()&&!n?.aborted}async function T(e,t,n){let r=b(e);try{return await t(r.stream())}catch(e){if(!w(e,r,n))throw e;return await t(r.stream())}}function E(){if(typeof chrome>`u`||typeof chrome.runtime?.connect!=`function`)return null;if(a())return()=>chrome.runtime.connect({name:`fetch-proxy.fetch`});let e=i();if(!e)return null;let t=chrome.runtime.connect;return()=>t(e,{name:`fetch-proxy.fetch`})}var D={supported:!1,requestBodyStreaming:!1,maxRequestBodyBytes:0},O=3e5,k=5e3,A=new Map;function j(e){return{supported:!0,requestBodyStreaming:e.requestBodyStreaming,maxRequestBodyBytes:e.maxRequestBodyBytes}}async function M(e){let t;try{t=await fetch(e,{method:`POST`,headers:s({[g]:`1`}),cache:`no-store`})}catch{return{capabilities:D,keepMs:0}}let n=t.ok?f(await t.json().catch(()=>null)):null;if(n||await t.body?.cancel().catch(()=>void 0),!n)return{capabilities:D,keepMs:1/0};let r=j(n);return r.requestBodyStreaming&&=C(),{capabilities:r,keepMs:1/0}}async function N(e){let t=await h(e,k);return t===`silent`?{capabilities:D,keepMs:O}:{capabilities:t?j(t):D,keepMs:1/0}}async function P(){let{getPanelRpcClient:t}=await e(async()=>{let{getPanelRpcClient:e}=await import(`./panel-rpc-D3EPRnmw.js`).then(e=>e.i);return{getPanelRpcClient:e}},__vite__mapDeps([0,1])),n=t();if(!n)return{capabilities:D,keepMs:0};try{let e=await n.call(`raw-fetch-probe`,{},{timeoutMs:15e3});return{capabilities:e,keepMs:e.supported?1/0:O}}catch{return{capabilities:D,keepMs:0}}}function F(){if(c()){let e=o(`/api/fetch-proxy`);return{key:`bridge:${e}`,probe:()=>M(e)}}let e=E(),t=i()??`self`;return e?{key:`port:${t}`,probe:()=>N(e)}:{key:`worker:${t}`,probe:P}}function I(){let{key:e,probe:t}=F(),n=A.get(e);if(n&&n.expires>Date.now())return n.answer;let r=t().then(({capabilities:t,keepMs:n})=>(n===0?A.delete(e):A.set(e,{answer:r,expires:Date.now()+n}),t));return A.set(e,{answer:r,expires:1/0}),r}function L(){A.clear()}function R(e=`raw fetch: this bridge does not support raw mode; update node-server`){return new l(`unsupported`,501,e)}function z(e){return async(t,n)=>{if(!(await I()).supported)throw R(`raw fetch: this extension does not support raw mode; update it`);return e(t,n)}}function B(){return new DOMException(`The operation was aborted.`,`AbortError`)}function V(e){return new l(`request-body-too-large`,413,`raw fetch: request body exceeds the ${e} byte limit of this float`)}function H(e,t){return t?t.aborted?Promise.reject(B()):new Promise((n,r)=>{let i=()=>r(B());t.addEventListener(`abort`,i,{once:!0}),e.read().then(e=>{t.removeEventListener(`abort`,i),n(e)},e=>{t.removeEventListener(`abort`,i),r(e)})}):e.read()}async function U(e,t,n){if(e===void 0)return null;if(e instanceof Blob||e instanceof Uint8Array){let n=e instanceof Blob?e:new Blob([e]);if(n.size>t)throw V(t);return n}let r=e.getReader(),i=[],a=0;try{for(;;){let{done:e,value:o}=await H(r,n);if(e)break;if(a+=o.byteLength,a>t)throw V(t);i.push(o)}}catch(e){throw await r.cancel().catch(()=>void 0),e}return new Blob(i)}async function W(e){let t=await n(e);return e.status===413?new l(`request-body-too-large`,413,t):e.status===403?new l(`forbidden-secret`,403,t):e.status===400&&/X-Target-URL/i.test(t)?R():e.status===502?new l(`upstream`,502,t):new l(`bridge`,502,t)}async function G(e,t){if(!e.body)throw new l(`bridge`,502,`raw fetch: bridge sent no body`);let n=e.body.getReader(),r=new Uint8Array,i=null;try{for(;!i;){let{done:e,value:t}=await n.read();if(e)throw new l(`bridge`,502,`raw fetch: truncated response head`);let a=new Uint8Array(r.byteLength+t.byteLength);a.set(r),a.set(t,r.byteLength),r=a,i=m(r)}}catch(e){throw await n.cancel().catch(()=>void 0),e instanceof l?e:new l(`bridge`,502,e instanceof Error?e.message:String(e))}let{head:a,rest:o}=i;if(!y(t,a.status))return await n.cancel().catch(()=>void 0),{...a,body:null};let s=o.byteLength>0?o:null,c=new ReadableStream({async pull(e){if(s){e.enqueue(s),s=null;return}let t;try{t=await n.read()}catch(t){e.error(new l(`upstream`,502,`raw fetch: response body failed: ${t instanceof Error?t.message:String(t)}`));return}t.done?e.close():e.enqueue(t.value)},cancel(e){return n.cancel(e)}},{highWaterMark:0});return{...a,body:c}}async function K(e,t,n){let r=o(`/api/fetch-proxy`),i=t.body;if(!(i!==void 0&&S({headers:t.headers??[],bodyLength:i instanceof Uint8Array?i.byteLength:i instanceof Blob?i.size:t.bodyLength,canStream:n.requestBodyStreaming}))||i===void 0){let a=await U(i,n.maxRequestBodyBytes,t.signal);return fetch(r,a?{...e,body:a}:e)}return T(x(i instanceof Uint8Array?new Blob([i]).stream():i instanceof Blob?i.stream():i),t=>fetch(r,{...e,body:t,duplex:`half`}),t.signal)}function q(){return async(e,t={})=>{let n=t.method??`GET`,i=await I();if(!i.supported)throw R();let a={method:`POST`,headers:s({[d]:v({url:e,method:n,headers:t.headers??[]}),"Content-Type":`application/octet-stream`,"X-Slicc-Raw-Body":`1`}),cache:`no-store`};t.signal&&(a.signal=t.signal);let o;try{o=await K(a,t,i)}catch(e){throw t.signal?.aborted||e instanceof l?e:new l(`bridge`,502,`raw fetch: the bridge is unreachable: ${e instanceof Error?e.message:String(e)}`)}if(r(o))throw await W(o);if(!(o.headers.get(`content-type`)??``).startsWith(`application/vnd.slicc.raw-fetch`))throw await o.body?.cancel().catch(()=>void 0),R();return G(o,n)}}var J=6e5;function Y(e){if(e.ok)return e;let t=e;throw new l(t.code,t.status,t.error)}async function X(e,t,n,r){let i=(n instanceof ReadableStream?n:new Blob([n]).stream()).getReader(),a={timeoutMs:J,signal:r};for(;;){let{done:n,value:r}=await i.read();if(n)break;for(let n=0;n<r.byteLength;n+=p){let i=r.subarray(n,n+p);Y(await e.call(`raw-fetch-write`,{id:t,chunk:i},a))}}Y(await e.call(`raw-fetch-write`,{id:t,chunk:null},a))}function Z(){return async(t,n={})=>{let{getPanelRpcClient:r}=await e(async()=>{let{getPanelRpcClient:e}=await import(`./panel-rpc-D3EPRnmw.js`).then(e=>e.i);return{getPanelRpcClient:e}},__vite__mapDeps([0,1])),i=r();if(!i)throw new l(`unsupported`,501,`raw fetch: panel-RPC unavailable`);let a={timeoutMs:J,signal:n.signal},{id:o}=await i.call(`raw-fetch-open`,{url:t,method:n.method??`GET`,headers:n.headers??[],hasBody:n.body!==void 0,bodyLength:n.body instanceof Uint8Array?n.body.byteLength:n.body instanceof Blob?n.body.size:n.bodyLength},a),s=()=>void i.call(`raw-fetch-cancel`,{id:o}).catch(()=>void 0);n.signal?.addEventListener(`abort`,s,{once:!0}),n.body!==void 0&&X(i,o,n.body,n.signal).catch(s);let{head:c,hasBody:u}=Y(await i.call(`raw-fetch-head`,{id:o},a));if(!u)return{...c,body:null};let d=new ReadableStream({async pull(e){let{chunk:t}=Y(await i.call(`raw-fetch-read`,{id:o},a));t?e.enqueue(t):e.close()},cancel:s},{highWaterMark:0});return{...c,body:d}}}function Q(){if(c())return q();let e=E();return z(e?(t,n)=>_(e,t,n):Z())}export{l as RawFetchError,Q as createRawProxiedFetch,E as extensionPortConnector,I as getRawFetchCapabilities,L as resetRawFetchCapabilities,c as usesFetchProxyEndpoint};
@@ -1,17 +0,0 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import{i as t,n,r,t as i}from"./proxied-fetch-CoZ8jHud.js";import{r as a}from"./proxy-error-BVzVNPvv.js";import{_ as o,a as s,c,d as l,f as u,h as d,l as f,m as p,n as m,o as h,p as g,s as _,t as ee,u as v}from"./stdio-tty-CA5sZxWL.js";import{r as y}from"./global-prefix-DqCuANmV.js";import{a as te,i as ne,o as re,r as ie}from"./wasm-programs-DPZtEzCA.js";import{n as ae,t as oe}from"./wasm-compiler-Ct7QZURL.js";import{S as se,w as ce,x as le}from"./sync-exec-dispatch-DSTbkRmG.js";import{t as ue}from"./sync-sab-wire-D_d0fd3b.js";import{t as de}from"./sync-sab-responder-BmZDqqnK.js";import{i as fe}from"./just-bash-compat-B-SPHuh_.js";const pe=String.raw`printf '\033]7777;%s\007' "$?"`,me=[`if [ -f ~/.bashrc ]; then . ~/.bashrc; fi`,`exec 98<&-`,``].join(`
2
- `);var b=class extends Error{status;constructor(e,t){super(t),this.status=e}};const he=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,ge={100:`Continue`,200:`OK`,400:`Bad Request`,403:`Forbidden`,408:`Request Timeout`,411:`Length Required`,413:`Content Too Large`,417:`Expectation Failed`,421:`Misdirected Request`,431:`Request Header Fields Too Large`,501:`Not Implemented`,502:`Bad Gateway`,503:`Service Unavailable`,505:`HTTP Version Not Supported`};var _e=class{source;buf=new Uint8Array;eof=!1;constructor(e){this.source=e}get buffered(){return this.buf.length}async fill(e){if(this.eof)return!1;let t=await this.source.read(65536,e);if(t.length===0)return this.eof=!0,!1;let n=new Uint8Array(this.buf.length+t.length);return n.set(this.buf),n.set(t,this.buf.length),this.buf=n,!0}take(e){let t=this.buf.slice(0,e);return this.buf=this.buf.subarray(e),t}async some(e,t){if(this.buf.length>0)return this.take(Math.min(e,this.buf.length));if(this.eof)return new Uint8Array;let n=await this.source.read(e,t);return n.length===0&&(this.eof=!0),n}async head(e,t){let n=0;for(;;){let r=ve(this.buf,n);if(r>0){if(r>e)throw new b(431,`request head too large`);return this.take(r)}if(this.buf.length>e)throw new b(431,`request head too large`);if(n=Math.max(0,this.buf.length-3),!await this.fill(t)){if(this.buf.length===0)return null;throw new b(400,`connection closed inside a request head`)}}}async line(e,t){let n=0;for(;;){let r=this.buf.indexOf(10,n);if(r>=0){let e=this.take(r+1);return ye(e.subarray(0,e[r-1]===13?r-1:r))}if(this.buf.length>e)throw new b(400,`line too long`);if(n=this.buf.length,!await this.fill(t))throw new b(400,`connection closed inside a body`)}}async exactly(e,t){for(;this.buf.length<e;)if(!await this.fill(t))throw new b(400,`connection closed inside a body`);return this.take(e)}};function ve(e,t){for(let n=t;n<e.length;n++)if(e[n]===10){if(e[n+1]===10)return n+2;if(e[n+1]===13&&e[n+2]===10)return n+3}return 0}function ye(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return t}function x(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t}function be(e){let t=ye(e).split(/\r?\n/);for(;t.length>0&&t[0]===``;)t.shift();let n=/^([!#$%&'*+\-.^_`|~0-9A-Za-z]+) (\S+) HTTP\/(\d)\.(\d)$/.exec(t.shift()??``);if(!n)throw new b(400,`malformed request line`);if(n[3]!==`1`)throw new b(505,`HTTP/${n[3]}.${n[4]} is not supported`);return{method:n[1],target:n[2],minor:Number(n[4]),headers:xe(t)}}function xe(e){let t=[];for(let n of e){if(n===``)continue;if(n.startsWith(` `)||n.startsWith(` `))throw new b(400,`obsolete line folding`);let e=n.indexOf(`:`),r=e>0?n.slice(0,e):``;if(!he.test(r))throw new b(400,`malformed header field`);t.push([r,n.slice(e+1).trim()])}return t}function S(e,t){let n=t.toLowerCase();return e.filter(([e])=>e.toLowerCase()===n).map(([,e])=>e)}function C(e,t){return S(e,t).flatMap(e=>e.split(`,`)).map(e=>e.trim().toLowerCase()).filter(e=>e!==``)}function Se(e){let t=C(e,`transfer-encoding`),n=S(e,`content-length`);if(t.length>0){if(n.length>0)throw new b(400,`both Transfer-Encoding and Content-Length`);if(t.length!==1||t[0]!==`chunked`)throw new b(501,`unsupported Transfer-Encoding: ${t.join(`, `)}`);return{kind:`chunked`}}if(n.length===0)return{kind:`none`};let r=new Set(n.flatMap(e=>e.split(`,`)).map(e=>e.trim())),[i]=r;if(r.size!==1||!/^\d{1,15}$/.test(i))throw new b(400,`invalid Content-Length`);let a=Number(i);return a===0?{kind:`none`}:{kind:`length`,length:a}}const w=65536;async function Ce(e,t,n,r){if(t.kind===`none`)return;if(t.kind===`length`){if(t.length>n)throw new b(413,`request body over ${n} bytes`);return e.exactly(t.length,r)}let i=[],a=0;for(;;){let t=await e.line(4096,r),o=/^([0-9A-Fa-f]{1,12})[ \t]*(;.*)?$/.exec(t);if(!o)throw new b(400,`malformed chunk size`);let s=Number.parseInt(o[1],16);if(s===0)break;if(a+=s,a>n)throw new b(413,`request body over ${n} bytes`);if(i.push(await e.exactly(s,r)),await e.line(2,r)!==``)throw new b(400,`malformed chunk`)}let o=0;for(let t=await e.line(w,r);t!==``;){if(o+=t.length,o>w)throw new b(431,`trailers too large`);t=await e.line(w,r)}return we(i,a)}function we(e,t=e.reduce((e,t)=>e+t.length,0)){let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function Te(e){return!/[\r\n\0]/.test(e)}function Ee(e,t,n){let r=`HTTP/1.1 ${e} ${/^[\t\x20-\x7e\x80-\xff]*$/.test(t)?t:``}\r\n`;for(let[e,t]of n)he.test(e)&&Te(t)&&(r+=`${e}: ${t}\r\n`);return x(`${r}\r\n`)}function De(e){let t=x(`${e.length.toString(16)}\r\n`),n=new Uint8Array(t.length+e.length+2);return n.set(t),n.set(e,t.length),n[n.length-2]=13,n[n.length-1]=10,n}const Oe=x(`0\r
3
- \r
4
- `),ke=e(`realm-proxy`),Ae=3128,je={maxConnections:64,maxHead:65536,idleMs:12e4,bodyBudget:134217728},Me=new Set([`connection`,`keep-alive`,`proxy-connection`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`]),Ne=new Set([`host`,`content-length`,`expect`]);var Pe=class{free;waiters=[];constructor(e){this.free=e}async acquire(e,t){for(;this.free<e;)t.throwIfAborted(),await new Promise(e=>{let n=()=>{t.removeEventListener(`abort`,n),e()};this.waiters.push(n),t.addEventListener(`abort`,n,{once:!0})});this.free-=e}release(e){this.free+=e;let t=this.waiters;this.waiters=[];for(let e of t)e()}};function Fe(e){let t=e.includes(`:`)&&!e.startsWith(`[`)?`[${e}]`:e;try{return new URL(`http://${t}/`).hostname}catch{return}}function Ie(e,t){return e===127||e===0||e===169&&t===254}function Le(e){let[t,n,r]=e.split(`::`);if(r!==void 0)return;let i=e=>e?e.split(`:`).map(e=>Number.parseInt(e,16)):[],a=i(t),o=i(n),s=n===void 0?a:[...a,...Array(8-a.length-o.length).fill(0),...o];return s.length===8&&s.every(e=>e>=0&&e<=65535)?s:void 0}function Re(e){let t=Le(e);return!t||(t[0]&65472)==65152?!0:t.slice(0,5).every(e=>e===0)?t[5]===65535||t[5]===0&&t[6]!==0?Ie(t[6]>>8,t[6]&255):t[5]===0&&t[6]===0:!1}function ze(e){let t=Fe(e);if(t===void 0)return!1;let n=t.replace(/\.+$/,``);if(n===`localhost`||n.endsWith(`.localhost`))return!0;if(n.startsWith(`[`))return Re(n.slice(1,-1));let r=/^(\d+)\.(\d+)\.\d+\.\d+$/.exec(n);return r?Ie(Number(r[1]),Number(r[2])):!1}function Be(e){return new Set([...Me,...C(e,`connection`)])}function Ve(e){let t=Be(e);return e.filter(([e])=>{let n=e.toLowerCase();return!t.has(n)&&!Ne.has(n)})}function He(e,t){let n=Be(e);return t.encodedBodies||n.add(`content-encoding`),t.encodedBodies&&t.bodiless||n.add(`content-length`),e.filter(([e])=>!n.has(e.toLowerCase()))}function Ue(e){let t=C(e.headers,`connection`);return t.includes(`close`)?!1:e.minor>=1||t.includes(`keep-alive`)}function We(e,t){let n=new URL(t),r;try{r=new URL(e.target,e.target.startsWith(`/`)?n:void 0)}catch{throw new b(400,`malformed request target`)}let i=S(e.headers,`host`).every(e=>URL.canParse(`https://${e}`)&&new URL(`https://${e}`).host===n.host);if(r.origin!==n.origin||!i)throw new b(421,`this tunnel is for ${n.host}`);return r.href}function Ge(e){if(e.target.startsWith(`/`))throw new b(400,`this is a proxy: send the absolute URL (GET http://host/path)`);let t;try{t=new URL(e.target)}catch{throw new b(400,`malformed request target`)}if(t.protocol!==`http:`&&t.protocol!==`https:`)throw new b(400,`unsupported scheme ${t.protocol}`);if(ze(t.hostname))throw new b(403,`${t.hostname} is the realm's own loopback, which the proxy does not reach: list it in no_proxy`);return t.href}function Ke(e){let t=/^([A-Za-z0-9.-]+|\[[0-9A-Fa-f:.]+\]):(\d{1,5})$/.exec(e.target),n=Number(t?.[2]);if(!t||n<1||n>65535)throw new b(400,`CONNECT needs host:port`);let r=Fe(t[1]);if(r===void 0)throw new b(400,`CONNECT needs host:port`);if(ze(r))throw new b(403,`${r} is the realm's own loopback, which the proxy does not reach: list it in no_proxy`);return{host:r,port:n}}async function qe(e,t,n){for(;!n.aborted&&!t.signal.aborted;){if(e.poll().hangup){t.abort(new h(`EPIPE`));return}try{await e.changed(n)}catch{return}}}function Je(e,t){return new Promise((n,r)=>{let i=()=>{r(t.reason??new h(`EINTR`)),e.then(e=>e.cancel()).catch(()=>void 0)};if(t.aborted)return i();t.addEventListener(`abort`,i,{once:!0}),e.then(n,r).finally(()=>t.removeEventListener(`abort`,i))})}function Ye(e,t){let n=x(`slicc realm proxy: ${t}\n`);return{status:e,statusText:ge[e]??``,headers:[[`Content-Type`,`text/plain; charset=utf-8`]],body:(async function*(){yield n})(),cancel:async()=>void 0}}function Xe(e,t,n){return{read:(r,i)=>e.read(r,AbortSignal.any([n,AbortSignal.timeout(t),...i?[i]:[]]))}}var Ze=class{options;listener;stop=new AbortController;limits;slots;bodies;connections=new Set;closed;port;constructor(e){this.options=e,this.limits={...je,...e.limits},this.slots=new Pe(this.limits.maxConnections),this.bodies=new Pe(this.limits.bodyBudget),this.listener=e.net.listen({family:`inet`,host:e.host??`127.0.0.1`,port:e.port??3128}),this.port=this.listener.local?.family===`inet`?this.listener.local.port:0,this.closed=this.acceptLoop()}get stopped(){return this.stop.signal.aborted}close(){if(!this.stop.signal.aborted){this.stop.abort(),this.listener.close();for(let e of this.connections)e.close()}}async acceptLoop(){let e=new Set;try{for(;;){await this.slots.acquire(1,this.stop.signal);let t;try{t=await this.listener.accept(this.stop.signal)}catch{this.slots.release(1);break}let n=this.serve(t).finally(()=>{this.slots.release(1),e.delete(n)});e.add(n)}}catch{}await Promise.allSettled([...e])}async serve(e){this.connections.add(e);let t=new _e(Xe(e,this.limits.idleMs,this.stop.signal));try{await this.requests({sink:e,incoming:t,conn:e,socket:e})}finally{this.connections.delete(e),e.close()}}async requests(e){try{for(;;){let t=await e.incoming.head(this.limits.maxHead);if(!t||!await this.exchange(e,t))break}}catch(t){t instanceof b&&await this.refuse(e.sink,t)}}async refuse(e,t){try{await this.relay(e,`GET`,1,Ye(t.status,t.message),!1)}catch{}}async exchange(e,t){let{sink:n,incoming:r}=e,i=be(t);if(i.method===`CONNECT`){if(!e.conn)throw new b(400,`CONNECT inside a tunnel`);return await this.connect(e.conn,r,i),!1}let a=e.origin?We(i,e.origin):Ge(i),o=Ue(i),s=Se(i.headers),c=s.kind===`length`?s.length:s.kind===`chunked`?this.cap():0;if(c>this.cap())throw new b(413,`request body over ${this.cap()} bytes`);await this.expectContinue(n,i,s.kind!==`none`),await this.bodies.acquire(c,this.stop.signal);let l,u=new AbortController,d=()=>u.abort();this.stop.signal.addEventListener(`abort`,d,{once:!0});try{try{let t=await Ce(r,s,this.cap()),n=new AbortController;qe(e.socket,u,n.signal);try{l=await this.upstream(i,a,t,u.signal)}finally{n.abort()}}finally{this.bodies.release(c)}return await this.relay(n,i.method,i.minor,l,o)}finally{this.stop.signal.removeEventListener(`abort`,d),u.abort()}}cap(){return Math.min(this.options.transport.traits.maxRequestBody,this.limits.bodyBudget)}async expectContinue(e,t,n){let r=C(t.headers,`expect`);if(r.length!==0){if(r.length!==1||r[0]!==`100-continue`)throw new b(417,`unsupported expectation: ${r.join(`, `)}`);n&&t.minor>=1&&await e.write(x(`HTTP/1.1 100 Continue\r
5
- \r
6
- `),this.stop.signal)}}async upstream(e,t,n,r){try{return await Je(this.options.transport.fetch({url:t,method:e.method.toUpperCase(),headers:Ve(e.headers),body:e.method===`GET`||e.method===`HEAD`?void 0:n,signal:r}),r)}catch(e){if(r.aborted)throw e;let t=e instanceof Error?e.message:String(e),n=e?.status;return Ye(typeof n==`number`&&n>=400&&n<=599?n:502,t||`upstream request failed`)}}async relay(e,t,n,r,i){let a=r.status,o=t===`HEAD`||a===204||a===304||a<200,s=He(r.headers,{encodedBodies:this.options.transport.traits.encodedBodies,bodiless:o}),c=!o&&n>=1,l=i&&(o||c);s.push([`Connection`,l?`keep-alive`:`close`]),c&&s.push([`Transfer-Encoding`,`chunked`]);let u=this.stop.signal;if(await e.write(Ee(a,r.statusText||ge[a]||``,s),u),o)return await r.cancel(),l;try{for await(let t of r.body)t.length>0&&await e.write(c?De(t):t,u)}catch{return await r.cancel().catch(()=>void 0),!1}return c&&await e.write(Oe,u),l}async connect(e,t,n){let r=Ke(n),i=this.options.tunnel;if(!i)throw new b(501,`CONNECT ${r.host}:${r.port}: no tunnels through this proxy`);await e.write(x(`HTTP/1.1 200 Connection Established\r
7
- \r
8
- `),this.stop.signal);try{await i(e,t,r,this.stop.signal,(t,n,r)=>this.requests({sink:n,incoming:new _e(t),origin:r,socket:e}))}catch(e){e instanceof h||ke.warn(`tunnel failed`,{host:r.host,error:String(e)})}}};function Qe(){return{buffered:n(),streaming:r()}}function $e(e){let t={};for(let[n,r]of e){let e=n.toLowerCase(),i=t[e];t[e]=i===void 0?r:`${i}${e===`cookie`?`; `:`, `}${r}`}return t}function et(e){return e.startsWith(`x-proxy-`)||e.startsWith(`access-control-`)}function tt(e){let t=[];for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();if(!et(e)){if(e===`set-cookie`)for(let e of nt(r))t.push([n,e]);else t.push([n,r])}}return t}function nt(e){if(e.startsWith(`[`))try{let t=JSON.parse(e);if(Array.isArray(t)&&t.every(e=>typeof e==`string`))return t}catch{}return[e]}async function*rt(e){e.byteLength>0&&(yield e)}function it(e){if(typeof e!=`string`)return e;let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t}function at(e=Qe()){return{traits:{manualRedirects:!1,encodedBodies:!1,maxRequestBody:i},async fetch(t){let n=$e(t.headers);if(t.body&&t.body.byteLength>0){let r=await e.buffered(t.url,{method:t.method,headers:n,body:t.body,signal:t.signal});return{status:r.status,statusText:r.statusText,headers:tt(r.headers),body:rt(it(r.body)),cancel:async()=>void 0}}let r=await e.streaming(t.url,{method:t.method,headers:n,signal:t.signal});return{status:r.status,statusText:r.statusText,headers:tt(r.headers),body:r.body,cancel:()=>r.cancel()}}}}function ot(e){if(!e)return{body:(async function*(){})(),cancel:async()=>void 0};let t=e.getReader(),n=!1;async function*r(){try{for(;;){let e=await t.read();if(e.done)break;yield e.value}n=!0}finally{n||await t.cancel().catch(()=>void 0)}}return{body:r(),cancel:async()=>{n||await t.cancel().catch(()=>void 0),n=!0}}}function st(e,t){return{traits:{manualRedirects:!0,encodedBodies:!0,maxRequestBody:t.maxRequestBodyBytes},async fetch(t){let n=await e(t.url,{method:t.method,headers:t.headers.map(([e,t])=>[e,t]),...t.body&&t.body.byteLength>0?{body:t.body}:{},signal:t.signal});return{status:n.status,statusText:n.statusText,headers:n.headers,...ot(n.body)}}}}function ct(e={}){let n,i=()=>(n??=(e.fallback??(()=>at()))(),n),o,s=Promise.resolve().then(()=>(e.capabilities??t)()).then(t=>t.supported?st((e.raw??(()=>r({mode:`raw`})))(),t):i(),()=>i()).then(e=>(o??=e,o));return{get traits(){return(o??i()).traits},async fetch(e){let t=o??await s;if(t===n)return t.fetch(e);try{return await t.fetch(e)}catch(t){if(!(t instanceof a)||t.code!==`unsupported`)throw t;return o=i(),o.fetch(e)}}}}function T(e){let t=new Uint8Array(e.reduce((e,t)=>e+t.length,0)),n=0;for(let r of e)t.set(r,n),n+=r.length;return t}function lt(e){if(e<128)return Uint8Array.of(e);let t=[];for(let n=e;n>0;n=Math.floor(n/256))t.unshift(n&255);return Uint8Array.of(128|t.length,...t)}function E(e,...t){let n=T(t);return T([Uint8Array.of(e),lt(n.length),n])}const D=(...e)=>E(48,...e),ut=(...e)=>E(49,...e),O=e=>E(4,e),dt=(e,t=0)=>E(3,Uint8Array.of(t),e),ft=E(1,Uint8Array.of(255));function k(e){let t=0;for(;t<e.length-1&&e[t]===0;)t++;let n=e.subarray(t);return E(2,n[0]&128?T([Uint8Array.of(0),n]):n)}function A(e){let[t,n,...r]=e.split(`.`).map(Number),i=[40*t+n];for(let e of r){let t=[];for(let n=e;t.unshift(n&127),!(n<128);n=Math.floor(n/128));i.push(...t.map((e,n)=>n<t.length-1?e|128:e))}return E(6,Uint8Array.from(i))}const pt=e=>E(12,new TextEncoder().encode(e)),j=e=>Uint8Array.from(e,e=>e.charCodeAt(0)&127);function mt(e){let t=e.toISOString().replace(/[-:T]/g,``).slice(0,14);return e.getUTCFullYear()<2050?E(23,j(`${t.slice(2)}Z`)):E(24,j(`${t}Z`))}const ht=D(A(`1.2.840.10045.4.3.2`));function gt(e){let t=[];return e.organization&&t.push(ut(D(A(`2.5.4.10`),pt(e.organization)))),t.push(ut(D(A(`2.5.4.3`),pt(e.commonName)))),D(...t)}function M(e,t,n){return t?D(A(e),ft,O(n)):D(A(e),O(n))}function _t(e){let t=[],[,n,r]=N(e,0);for(let i=n;i<r;){let[,,n]=N(e,i);t.push(e.subarray(i,n)),i=n}return t}function N(e,t){let n=e[t],r=e[t+1],i=t+2;if(r&128){let t=r&127;r=0;for(let n=0;n<t;n++)r=r*256+e[i+n];i+=t}if(i+r>e.length)throw Error(`truncated DER`);return[n,i,i+r]}function vt(e){let[,t,n]=N(e,0);return e.subarray(t,n)}function yt(e){let t=_t(e)[1];return vt(t).subarray(1)}async function bt(e){return new Uint8Array(await crypto.subtle.digest(`SHA-1`,yt(e)))}function xt(e){let t=e.length/2;return D(k(e.subarray(0,t)),k(e.subarray(t)))}function St(){let e=crypto.getRandomValues(new Uint8Array(16));return e[0]=e[0]&127|1,e}function Ct(e){let t=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(e);if(!t)return;let n=t.slice(1).map(Number);return n.every(e=>e<=255)?Uint8Array.from(n):void 0}function wt(e){if(!e.includes(`:`)||!/^[0-9A-Fa-f:.]+$/.test(e))return;let t=/(\d{1,3}(?:\.\d{1,3}){3})$/.exec(e),n=e,r=[];if(t){let i=Ct(t[1]);if(!i)return;r.push(i[0]<<8|i[1],i[2]<<8|i[3]),n=e.slice(0,-t[1].length).replace(/:$/,e.endsWith(`::${t[1]}`)?`:`:``)}let i=n.split(`::`);if(i.length>2)return;let a=e=>e===``?[]:e.split(`:`),o=a(i[0]),s=i.length===2?a(i[1]):[];if(![...o,...s].every(e=>/^[0-9A-Fa-f]{1,4}$/.test(e)))return;let c=8-[...o,...s].map(e=>Number.parseInt(e,16)).length-r.length;if(i.length===2?c<1:c!==0)return;let l=[...o.map(e=>Number.parseInt(e,16)),...Array(i.length===2?c:0).fill(0),...s.map(e=>Number.parseInt(e,16)),...r];return Uint8Array.from(l.flatMap(e=>[e>>8,e&255]))}async function Tt(e){let t=[M(`2.5.29.14`,!1,O(await bt(e.spki)))];if(e.kind.ca)t.push(M(`2.5.29.19`,!0,D(ft,k(Uint8Array.of(0))))),t.push(M(`2.5.29.15`,!0,dt(Uint8Array.of(134),1)));else{t.push(M(`2.5.29.35`,!1,D(E(128,await bt(e.issuerSpki))))),t.push(M(`2.5.29.19`,!0,D())),t.push(M(`2.5.29.15`,!0,dt(Uint8Array.of(128),7))),t.push(M(`2.5.29.37`,!1,D(A(`1.3.6.1.5.5.7.3.1`))));let n=Ct(e.kind.host)??wt(e.kind.host),r=n?E(135,n):E(130,j(e.kind.host));t.push(M(`2.5.29.17`,!1,D(r)))}return E(163,D(...t))}async function Et(e){let t=D(E(160,k(Uint8Array.of(2))),k(e.serial),ht,gt(e.issuer),D(mt(e.notBefore),mt(e.notAfter)),gt(e.subject),e.spki,await Tt(e)),n=xt(await e.sign(t));return D(t,ht,dt(n))}function Dt(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return`-----BEGIN CERTIFICATE-----\n${(btoa(t).match(/.{1,64}/g)??[]).join(`
9
- `)}\n-----END CERTIFICATE-----\n`}const Ot={name:`ECDSA`,namedCurve:`P-256`},kt={name:`ECDSA`,hash:`SHA-256`};function At(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function jt(e=`slicc-realm-ca`){let t,n=()=>(t??=new Promise((t,n)=>{let r=indexedDB.open(e,1);r.onupgradeneeded=()=>r.result.createObjectStore(`ca`),r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)}),t.catch(()=>{t=void 0}),t);return{async get(e){return await At((await n()).transaction(`ca`).objectStore(`ca`).get(e))},async put(e,t){let r=(await n()).transaction(`ca`,`readwrite`);r.objectStore(`ca`).put(t,e),await new Promise((e,t)=>{r.oncomplete=()=>e(),r.onerror=()=>t(r.error)})}}}var Mt=class extends Error{};function Nt(e){return wt(e)?!0:e.length===0||e.length>253?!1:e.split(`.`).every(e=>/^(?!-)[a-z0-9-]{1,63}(?<!-)$/i.test(e))}var Pt=class e{record;constructor(e){this.record=e}static async open(t,n,r=Date.now()){let i=await n.get(t).catch(()=>void 0);if(i&&i.notAfter-r>2592e6)return new e(i);let a=await e.create(t,r);return await n.put(t,a),new e(a)}static async create(e,t){let n=await crypto.subtle.generateKey(Ot,!1,[`sign`,`verify`]),r=new Uint8Array(await crypto.subtle.exportKey(`spki`,n.publicKey)),i={organization:`SLICC`,commonName:`SLICC realm CA ${e} ${Array.from(crypto.getRandomValues(new Uint8Array(4)),e=>e.toString(16).padStart(2,`0`)).join(``)}`},a=t+31536e7,o=await Et({serial:St(),issuer:i,subject:i,notBefore:new Date(t-864e5),notAfter:new Date(a),spki:r,issuerSpki:r,kind:{ca:!0},sign:Ft(n.privateKey)});return{key:n.privateKey,cert:o,spki:r,notAfter:a,name:i}}get cert(){return this.record.cert}get pem(){return Dt(this.record.cert)}async issue(e,t,n=Date.now()){let r=e.toLowerCase();if(!Nt(r))throw new Mt(`no certificate for ${e}`);return Et({serial:St(),issuer:this.record.name,subject:{commonName:r.length<=64?r:`SLICC realm leaf`},notBefore:new Date(n-36e5),notAfter:new Date(n+6048e5),spki:t,issuerSpki:this.record.spki,kind:{ca:!1,host:r},sign:Ft(this.record.key)})}};function Ft(e){return async t=>new Uint8Array(await crypto.subtle.sign(kt,e,t))}let It;const P=new Map;function Lt(e,t){let n=P.get(e);return n||(It??=t?void 0:jt(),n=Pt.open(e,t??It),P.set(e,n),n.catch(()=>{P.get(e)===n&&P.delete(e)})),n}const Rt=65536;var zt=class extends Error{code;constructor(e,t){super(t),this.code=e}},Bt=class{m;scratch;constructor(e){if(this.m=e,this.scratch=e._malloc(Rt),!this.scratch)throw Error(`tls engine: out of memory`)}put(e){let t=this.m._malloc(e.length+1);if(!t)throw Error(`tls engine: out of memory`);return this.m.HEAPU8.set(e,t),this.m.HEAPU8[t+e.length]=0,t}taken(e){return this.m.HEAPU8.slice(this.scratch,this.scratch+e)}error(e,t){this.m._tls_strerror(e,this.scratch,256);let n=this.m.HEAPU8.indexOf(0,this.scratch);return new zt(e,`${t}: ${new TextDecoder().decode(this.m.HEAPU8.subarray(this.scratch,n))||e}`)}leaf(){let e=this.m._tls_leaf_new();if(!e)throw this.error(this.m._tls_last_error(),`leaf key`);return new Vt(this,this.m,e)}session(e,t){let n=this.put(new TextEncoder().encode(t));try{let t=this.m._tls_session_new(e.ptr,n);if(!t)throw this.error(this.m._tls_last_error(),`tls session`);return new Ht(this,this.m,t)}finally{this.m._free(n)}}withBytes(e,t){let n=this.put(e);try{return t(n)}finally{this.m._free(n)}}intoScratch(e){let t=e(this.scratch,Rt);return t>0?this.taken(t):t}},Vt=class{engine;m;ptr;constructor(e,t,n){this.engine=e,this.m=t,this.ptr=n}spki(){let e=this.engine.intoScratch((e,t)=>this.m._tls_leaf_spki(this.ptr,e,t));if(typeof e==`number`)throw this.engine.error(e,`leaf public key`);return e}addCert(e){let t=this.engine.withBytes(e,t=>this.m._tls_leaf_add_cert(this.ptr,t,e.length));if(t!==0)throw this.engine.error(t,`leaf certificate`)}release(){this.m._tls_leaf_free(this.ptr)}},Ht=class{engine;m;ptr;constructor(e,t,n){this.engine=e,this.m=t,this.ptr=n}feed(e){return this.engine.withBytes(e,t=>this.m._tls_feed(this.ptr,t,e.length))}feedEnd(){this.m._tls_feed_eof(this.ptr)}read(){let e=this.engine.intoScratch((e,t)=>this.m._tls_read(this.ptr,e,t));if(e instanceof Uint8Array)return e;if(e===0)return`more`;if(e===-1)return`eof`;throw this.engine.error(e,`tls`)}write(e){let t=this.engine.withBytes(e,t=>this.m._tls_write(this.ptr,t,e.length));if(t<0)throw this.engine.error(t,`tls`);return t}take(){if(this.m._tls_out_size(this.ptr)===0)return new Uint8Array;let e=this.engine.intoScratch((e,t)=>this.m._tls_out_take(this.ptr,e,t));return e instanceof Uint8Array?e:new Uint8Array}close(){this.m._tls_close(this.ptr)}get version(){return this.m._tls_version(this.ptr)}get handshakeDone(){return this.m._tls_handshake_done(this.ptr)!==0}free(){this.m._tls_session_free(this.ptr)}};let F;function Ut(e=async()=>(await import(`./slicc-tls-engine-DfyKw1Ua.js`)).default()){return F??=e().then(e=>new Bt(e)),F.catch(()=>{F=void 0}),F}const Wt=e(`realm-tls`);var Gt=class{session;cipherIn;cipherOut;pending=new Uint8Array;ended=!1;constructor(e,t,n){this.session=e,this.cipherIn=t,this.cipherOut=n}async flush(e){for(let t=this.session.take();t.length>0;t=this.session.take())await this.cipherOut.write(t,e)}feedPending(){if(this.pending.length===0)return;let e=this.session.feed(this.pending);this.pending=this.pending.subarray(e)}async read(e,t){for(;;){this.feedPending();let e=this.session.read();if(await this.flush(t),e instanceof Uint8Array)return e;if(e===`eof`)return new Uint8Array;if(this.pending.length>0)continue;if(this.ended){this.session.feedEnd();let e=this.session.read();return await this.flush(t),e instanceof Uint8Array?e:new Uint8Array}let n=await this.cipherIn.read(65536,t);n.length===0?this.ended=!0:this.pending=n}}async write(e,t){for(let n=0;n<e.length;){let r=this.session.write(e.subarray(n,n+16384));await this.flush(t),n+=r}return e.length}async close(e){this.session.close(),await this.flush(e)}},Kt=class{options;leaves=new Map;now;constructor(e){this.options=e,this.now=e.now??Date.now}leafFor(e,t){let n=this.now(),r=this.leaves.get(t);if(r&&r.expires>n)return this.leaves.delete(t),this.leaves.set(t,r),r.leaf;r&&this.drop(t,r);let i=this.issue(e,t,n),a={leaf:i,expires:n+5184e5};this.leaves.set(t,a),i.catch(()=>{this.leaves.get(t)===a&&this.leaves.delete(t)});for(let[e,t]of this.leaves){if(this.leaves.size<=256)break;this.drop(e,t)}return i}async drop(e,t){this.leaves.get(e)===t&&this.leaves.delete(e),(await t.leaf.catch(()=>void 0))?.release()}async issue(e,t,n){let r=await this.options.ca(),i=e.leaf();try{return i.addCert(await r.issue(t,i.spki(),n)),i.addCert(r.cert),i}catch(e){throw i.release(),e}}async close(){await Promise.all([...this.leaves].map(([e,t])=>this.drop(e,t)))}handler=async(e,t,n,r,i)=>{let a=await this.options.engine(),o=n.host.replace(/^\[|\]$/g,``),s=await this.leafFor(a,o),c=a.session(s,o);try{let a=new Gt(c,Jt(t),e),s=`https://${qt(n)}`;try{await i(a,a,s),await a.close(r).catch(()=>void 0)}catch(e){throw Wt.debug(`tunnel ended`,{host:o,error:String(e)}),e}}finally{c.free()}}};function qt(e){return e.port===443?e.host:`${e.host}:${e.port}`}function Jt(e){return{read:(t,n)=>e.some(t,n)}}const I=`http://127.0.0.1:${Ae}`,Yt=`localhost,.localhost,127.0.0.1,127.0.0.0/8`;function Xt(){return{http_proxy:I,https_proxy:I,HTTP_PROXY:I,HTTPS_PROXY:I,no_proxy:Yt,NO_PROXY:Yt}}function Zt(e){if(e)return`ca`in e?new Kt(e):new Kt({ca:()=>Lt(e.owner),engine:()=>Ut()})}const Qt=new WeakMap,$t=`/.config/slicc/realm-ca-`;function en(e){return e.replace(/[^A-Za-z0-9_-]+/g,`-`).replace(/-+$/,``)}function tn(e,t){return`${e.replace(/\/+$/,``)}${$t}${en(t)}.pem`}function nn(e){return{SSL_CERT_FILE:e,CURL_CA_BUNDLE:e,GIT_SSL_CAINFO:e}}const rn=`/.config/slicc/gitconfig`;function an(e){return`${e.replace(/\/+$/,``)}${rn}`}function on(e){return`"${e.replace(/[\r\n]+/g,` `).replace(/[\\"]/g,e=>`\\${e}`)}"`}function sn(e){let t=[`[credential]`,` helper = slicc`];return e&&t.push(`[user]`,`\tname = ${on(e.name)}`,`\temail = ${on(e.email)}`),`${t.join(`
10
- `)}\n`}async function cn(e,t,n){try{let r=sn(n);return(await e.exists(t)?await e.readFile(t):void 0)!==r&&(await e.mkdir(t.slice(0,t.lastIndexOf(`/`)),{recursive:!0}),await e.writeFile(t,r)),{GIT_CONFIG_SYSTEM:t}}catch{return{}}}function ln(e,t){let n=Xt();return e in n?n[e]===t:e===`GIT_CONFIG_SYSTEM`?t.endsWith(rn):e in nn(``)&&t.includes($t)}async function un(e,t,n,r=Lt){try{let{pem:i}=await r(n);return(await e.exists(t)?await e.readFile(t):void 0)!==i&&(await e.mkdir(t.slice(0,t.lastIndexOf(`/`)),{recursive:!0}),await e.writeFile(t,i)),nn(t)}catch{return{}}}function dn(e,t={}){if(Qt.has(e))return;let n={proxy:void 0};Qt.set(e,n);let r;e.activate({family:`inet`,host:`127.0.0.1`,port:Ae},()=>{r??=(t.transport??ct)();let i=Zt(t.tls),a=new Ze({net:e,transport:r,tunnel:i?.handler,...t.proxy});n.proxy=a,fn(a,t.process).then(async()=>{n.proxy===a&&(n.proxy=void 0),await i?.close()})})}async function fn(e,t){if(!t){await e.closed;return}let n=t.processManager,r=n.spawn({kind:`net`,argv:[`http-proxy`,`127.0.0.1:${e.port}`],cwd:`/`,owner:t.owner}),i=()=>e.close();r.abort.signal.addEventListener(`abort`,i,{once:!0}),await e.closed,r.abort.signal.removeEventListener(`abort`,i),n.exit(r.pid,r.abort.signal.aborted?null:0)}const pn=32768;function mn(e){return/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e)}async function L(e){try{return await e()}catch(e){throw e instanceof o?new h(e.code):e}}var hn=class{waiters=[];wait(e){return e?.aborted?Promise.reject(new h(`EINTR`)):new Promise((t,n)=>{let r=()=>{this.waiters=this.waiters.filter(e=>e!==i),n(new h(`EINTR`))},i=()=>{e?.removeEventListener(`abort`,r),t()};this.waiters.push(i),e?.addEventListener(`abort`,r,{once:!0})})}wake(){let e=this.waiters;this.waiters=[];for(let t of e)t()}};function gn(e,t){let n=new d,r=new d;for(let e of[n,r])e.openRead(),e.openWrite();e.attach({rx:r,tx:n}),t.attach({rx:n,tx:r})}var R=class e{net;domain;state=`open`;local;peer;link;readShut=!1;writeShut=!1;queue=[];backlog=0;bound=!1;changes=new hn;options=new Map;constructor(e,t){this.net=e,this.domain=t}attach(e){this.link=e,this.state=`connected`,this.changes.wake()}get listening(){return this.state===`listening`}connection(){if(!this.link||this.state!==`connected`)throw new h(`ENOTCONN`);return this.link}async read(e,t){let{rx:n}=this.connection();return this.readShut||e<=0?new Uint8Array:L(()=>n.read(e,t))}async peek(e,t){let{rx:n}=this.connection();return this.readShut||e<=0?new Uint8Array:L(()=>n.peek(e,t))}async write(e,t){let{tx:n}=this.connection();if(this.writeShut)throw new h(`EPIPE`);return L(()=>n.write(e,t))}poll(){if(this.state===`listening`)return{readable:this.queue.length>0,writable:!1,hangup:!1};if(this.state!==`connected`||!this.link)return{readable:!1,writable:!1,hangup:!0};let{rx:e,tx:t}=this.link;return{readable:this.readShut||e.readReady,writable:this.writeShut||t.writeReady,hangup:e.writersGone&&t.readersGone}}changed(e){let t=this.changes.wait(e);if(this.state!==`connected`||!this.link)return t;let n=[t,this.link.rx.changed(e),this.link.tx.changed(e)];for(let e of n)e.catch(()=>void 0);return L(()=>Promise.race(n))}bind(e){if(this.state!==`open`||this.local)throw new h(`EINVAL`);if(e.family!==this.domain)throw new h(`EAFNOSUPPORT`);this.local=this.net.bind(this,e),this.bound=!0}listen(e){if(this.state===`connected`)throw new h(`EISCONN`);if(this.state!==`open`&&this.state!==`listening`)throw new h(`EINVAL`);if(!this.local){if(this.domain===`unix`)throw new h(`EINVAL`);this.bind({family:`inet`,host:`0.0.0.0`,port:0})}this.backlog=Math.min(Math.max(e,1),4096),this.state=`listening`}async accept(e,t=!1){for(;;){if(this.state!==`listening`)throw new h(`EINVAL`);let n=this.queue.shift();if(n)return n;if(t)throw new h(`EAGAIN`);await this.changes.wait(e)}}offer(e){return this.state!==`listening`||this.queue.length>=this.backlog?!1:(this.queue.push(e),this.changes.wake(),!0)}connect(t){if(this.state===`connected`)throw new h(`EISCONN`);if(this.state!==`open`)throw new h(`EINVAL`);if(t.family!==this.domain)throw new h(`EAFNOSUPPORT`);let n=this.net.target(t);this.local||(t.family===`inet`?(this.local=this.net.bind(this,{family:`inet`,host:`127.0.0.1`,port:0}),this.bound=!0):this.local={family:`unix`,path:``});let r=new e(this.net,this.domain);if(r.local=t.family===`inet`?{...t,host:_n(t.host)}:t,r.peer=this.local,this.peer=r.local,gn(this,r),!n.offer(r))throw this.unlink(),r.close(),new h(`ECONNREFUSED`)}unlink(){let e=this.link;e&&(e.rx.closeRead(),e.tx.closeWrite()),this.link=void 0,this.peer=void 0,this.state=`open`}shutdown(e){let{rx:t,tx:n}=this.connection();if(e!==0&&e!==1&&e!==2)throw new h(`EINVAL`);e!==1&&!this.readShut&&(this.readShut=!0,t.closeRead()),e!==0&&!this.writeShut&&(this.writeShut=!0,n.closeWrite()),this.changes.wake()}getOption(e,t){if(e===1)switch(t){case 3:return 1;case 4:return 0;case 30:return+(this.state===`listening`);case 39:return this.domain===`inet`?2:1;case 7:case 8:return this.options.get(`${e}:${t}`)??65536}return this.options.get(`${e}:${t}`)??0}setOption(e,t,n){this.options.set(`${e}:${t}`,n)}close(){let e=this.state;if(this.state=`closed`,e===`listening`)for(let e of this.queue.splice(0))e.close();this.link&&(this.readShut||this.link.rx.closeRead(),this.writeShut||this.link.tx.closeWrite(),this.readShut=!0,this.writeShut=!0),this.bound&&this.local&&this.net.release(this.local,this),this.bound=!1,this.changes.wake()}static pair(t,n){let r=new e(t,n),i=new e(t,n);return r.local=i.local=r.peer=i.peer=n===`inet`?{family:`inet`,host:`127.0.0.1`,port:0}:{family:`unix`,path:``},gn(r,i),[r,i]}};function _n(e){return e===`0.0.0.0`?`127.0.0.1`:e}function z(e){return e.family===`inet`?`inet:${e.port}`:`unix:${e.path}`}var vn=class{bound=new Map;activators=new Map;nextEphemeral=pn;activate(e,t){this.activators.set(z(e),t)}socket(e){return new R(this,e)}listen(e,t=128){let n=this.socket(e.family);return n.bind(e),n.listen(t),n}connect(e){let t=this.socket(e.family);return t.connect(e),t}bind(e,t){if(t.family===`unix`){if(t.path===``)throw new h(`EINVAL`)}else if(t.host!==`0.0.0.0`&&!mn(t.host))throw new h(`EADDRNOTAVAIL`);let n=t.family===`inet`&&t.port===0?{...t,port:this.ephemeral()}:t,r=z(n);if(this.bound.has(r))throw new h(`EADDRINUSE`);return this.bound.set(r,e),n}release(e,t){let n=z(e);this.bound.get(n)===t&&this.bound.delete(n)}target(e){if(e.family===`inet`&&!mn(_n(e.host)))throw new h(`ENETUNREACH`);let t=z(e);this.bound.has(t)||this.activators.get(t)?.();let n=this.bound.get(t);if(!n?.listening)throw new h(`ECONNREFUSED`);return n}ephemeral(){for(let e=0;e<28232;e++){let e=this.nextEphemeral;if(this.nextEphemeral=e===60999?pn:e+1,!this.bound.has(`inet:${e}`))return e}throw new h(`EADDRINUSE`)}};const yn=new Map;function bn(e){let t=yn.get(e);return t||(t=new vn,yn.set(e,t)),t}function B(e){return e?`${e.kind}:${e.scoopJid??``}`:`local`}const V={HUP:1,INT:2,QUIT:3,ILL:4,TRAP:5,ABRT:6,BUS:7,FPE:8,KILL:9,USR1:10,SEGV:11,USR2:12,PIPE:13,ALRM:14,TERM:15,STKFLT:16,CHLD:17,CONT:18,STOP:19,TSTP:20,TTIN:21,TTOU:22,URG:23,XCPU:24,XFSZ:25,VTALRM:26,PROF:27,WINCH:28,POLL:29,PWR:30,SYS:31},xn=new Set([V.CHLD,V.URG,V.WINCH]),Sn=new Set([V.STOP,V.TSTP,V.TTIN,V.TTOU]);function H(e){return e===V.CONT?`continue`:Sn.has(e)?`stop`:xn.has(e)?`ignore`:`terminate`}function Cn(e){return Number.isInteger(e)&&e>=1&&e<=31}function U(e){return 1<<e}const W={SIGINT:V.INT,SIGTERM:V.TERM,SIGKILL:V.KILL,SIGSTOP:V.STOP,SIGCONT:V.CONT},wn=16384;function Tn(){let e=Array(32).fill(0);return Object.assign(e,{0:3,1:28,2:127,3:21}),Object.assign(e,{4:4,6:1,8:17,9:19,10:26}),Object.assign(e,{12:18,13:15,14:23,15:22}),{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:e}}const En=new TextEncoder;function Dn(e){return(e&192)==128}var On=class{screen;signal;termios=Tn();cols=80;rows=24;readable=[];line=[];waiters=[];constructor(e,t){this.screen=e,this.signal=t}receive(e){for(let t of e)this.key(t);this.wake()}resize(e,t){this.setSize(e,t),this.signal(V.WINCH)}setSize(e,t){this.cols=e,this.rows=t}tcgets(){return{...this.termios,c_cc:[...this.termios.c_cc]}}tcsets(e){let t=this.canonical;this.termios={...e,c_cc:[...e.c_cc]},t&&!this.canonical&&this.line.length>0&&(this.readable.push(Uint8Array.from(this.line)),this.line=[],this.wake())}winsize(){return[this.rows,this.cols]}file(){return new _({read:(e,t)=>this.read(e,t),write:async e=>(this.output(e),e.length),poll:()=>({readable:this.readable.length>0,writable:!0,hangup:!1}),changed:e=>this.changed(e),close:()=>{},tty:this})}get canonical(){return!!(this.termios.c_lflag&2)}cc(e){return this.termios.c_cc[e]??0}key(e){let{c_iflag:t,c_lflag:n}=this.termios,r=e===13&&t&256?10:e;if(!(n&1&&this.signalKey(r))){if(!this.canonical){this.readable.push(Uint8Array.of(r)),n&8&&this.echo(r);return}this.edit(r)}}signalKey(e){let t=e===this.cc(0)?V.INT:e===this.cc(1)?V.QUIT:e===this.cc(10)?V.TSTP:0;return!t||e===0?!1:(this.termios.c_lflag&8&&this.echo(e),this.termios.c_lflag&128||(this.line=[],this.readable=[]),this.signal(t),!0)}edit(e){let t=!!(this.termios.c_lflag&8);e===this.cc(2)||e===8?this.rubOut(this.lastCharLength()):e===this.cc(3)?this.rubOut(this.line.length):e===this.cc(14)?this.rubOut(this.lastWordLength()):e===this.cc(4)?(this.readable.push(this.line.length>0?Uint8Array.from(this.line):null),this.line=[]):e===10?(this.line.push(e),t&&this.output(En.encode(`
11
- `)),this.readable.push(Uint8Array.from(this.line)),this.line=[]):(this.line.push(e),t&&this.echo(e))}lastWordLength(){let e=this.line.length;for(;e>0&&this.line[e-1]===32;)e--;for(;e>0&&this.line[e-1]!==32;)e--;return this.line.length-e}lastCharLength(){let{line:e}=this,t=Math.min(1,e.length);if(this.termios.c_iflag&wn)for(;t<e.length&&Dn(e[e.length-t]??0);)t++;return t}rubOut(e){let t=this.line.splice(this.line.length-e,e),n=this.termios.c_iflag&wn?t.filter(e=>!Dn(e)).length:t.length;n>0&&this.termios.c_lflag&8&&this.output(En.encode(`\b \b`.repeat(n)),!1)}echo(e){if(e<32&&e!==10&&e!==9&&this.termios.c_lflag&512){this.output(Uint8Array.of(94,e+64),!1);return}this.output(Uint8Array.of(e))}output(e,t=!0){let{c_oflag:n}=this.termios;if(!t||!(n&1&&n&4)||!e.includes(10)){this.screen.write(e);return}let r=[];for(let t of e)t===10&&r.push(13),r.push(t);this.screen.write(Uint8Array.from(r))}async read(e,t){for(;this.readable.length===0;)await this.changed(t);let n=this.readable[0];if(n===null)return this.readable.shift(),new Uint8Array;if(n===void 0)return new Uint8Array;let r=[],i=0;for(;this.readable.length>0&&i<e;){let t=this.readable[0];if(t==null)break;let n=t.subarray(0,e-i);if(r.push(n),i+=n.length,n.length<t.length?this.readable[0]=t.subarray(n.length):this.readable.shift(),this.canonical)break}let a=new Uint8Array(i),o=0;for(let e of r)a.set(e,o),o+=e.length;return a}changed(e){return e?.aborted?Promise.reject(new h(`EINTR`)):new Promise((t,n)=>{let r=()=>{this.waiters=this.waiters.filter(e=>e!==i),n(new h(`EINTR`))},i=()=>{e?.removeEventListener(`abort`,r),t()};this.waiters.push(i),e?.addEventListener(`abort`,r,{once:!0})})}wake(){let e=this.waiters;this.waiters=[];for(let t of e)t()}},G=class extends Error{code;constructor(e){super(e),this.code=e}};function kn(e){let t=()=>{};return{promise:new Promise((n,r)=>{t=()=>r(new h(`EINTR`)),e?.aborted?t():e?.addEventListener(`abort`,t,{once:!0})}),done:()=>e?.removeEventListener(`abort`,t)}}function An(e){return(e&255)<<8|127}function jn(e,t){return t?t&127:(e&255)<<8}function Mn(e){let t=new Uint8Array(e.reduce((e,t)=>e+t.length,0)),n=0;for(let r of e)t.set(r,n),n+=r.length;return t}var Nn=class{parentFds;spawner;forker;children=new Map;leftovers=new Map;onChildState;stateChanged=[];watchers=new Map;constructor(e,t,n){this.parentFds=e,this.spawner=t,this.forker=n}async fork(e){if(!this.forker)throw new G(`ENOSYS`);return this.track(e,this.parentFds.fork(),new Map,this.forker)}async spawn(e,t,n=[]){if(!this.spawner)throw new G(`ENOSYS`);let r=new s,i=new Map;try{for(let[e,n]of t.entries())r.installAt(e,this.openSlot(n,e,i));for(let{fd:e,kernel:t,flags:i}of n)e<=2||(r.installAt(e,this.parentFds.get(t).retain()),i!==void 0&&r.setStatusFlags(e,i))}catch(e){throw await r.closeAll(),e}return this.track(e,r,i,this.spawner)}async track(e,t,n,r){let i;try{i=await r(e,t)}catch(e){throw await t.closeAll(),e}let a={exited:i.exited,termsig:i.termsig,captured:n};return i.exited.then(e=>{a.code=e,this.watchers.delete(i.pid),this.onChildState?.()}),i.onState?.((e,t)=>{a.stopReport=e===`stopped`?t:void 0,a.continueReport=e===`continued`,this.watchers.get(i.pid)?.(e,t);let n=this.stateChanged;this.stateChanged=[];for(let e of n)e();this.onChildState?.()}),this.children.set(i.pid,a),i.pid}watch(e,t){this.children.has(e)&&this.watchers.set(e,t)}openSlot(e,t,n){if(`fd`in e)return this.parentFds.get(e.fd).retain();if(`input`in e)return c(e.input);if(`capture`in e){let e=[];return n.set(t,e),p(t=>e.push(t))}return l()}async wait(e,t,n,r={}){let i;try{for(;;){let a=this.candidates(e,r);if(a.length===0)throw new h(`ECHILD`);let o=a.find(([,e])=>e.code!==void 0);if(o)return this.reap(o[0],o[1].code);let s=this.stateReport(a,r);if(s)return s;if(t)return[0,0];i??=kn(n),await this.nextChange(a,r,i.promise)}}finally{i?.done()}}candidates(e,t){let n=[...this.children];if(e>0)return n.filter(([t])=>t===e);let r=t.inGroup;return e===-1||!r?n:n.filter(([e])=>r(e))}async nextChange(e,t,n){let r,i=new Promise(e=>r=e),a=t.untraced||t.continued;a&&r&&this.stateChanged.push(r);try{await Promise.race([...e.map(([,e])=>e.exited),...a?[i]:[],n])}finally{this.stateChanged=this.stateChanged.filter(e=>e!==r)}}stateReport(e,t){for(let[n,r]of e){if(t.untraced&&r.stopReport!==void 0){let e=r.stopReport;return r.stopReport=void 0,[n,An(e)]}if(t.continued&&r.continueReport)return r.continueReport=!1,[n,65535]}return null}reap(e,t){let n=this.children.get(e);return this.children.delete(e),n&&n.captured.size>0&&this.leftovers.set(e,n.captured),[e,jn(t,n?.termsig?.())]}captured(e,t){let n=this.leftovers.get(e),r=n?.get(t);return!n||!r?new Uint8Array:(n.delete(t),n.size===0&&this.leftovers.delete(e),Mn(r))}};function Pn(e,t,n){let r=new Set,i=(t,n)=>t.filter(t=>{let i=g(e.get(t).file);return i.hangup&&r.add(t),i[n]||i.hangup}),a={read:i(t,`readable`),write:i(n,`writable`)};return r.size>0&&(a.hangup=[...r]),a}function Fn(e){let t=()=>{};return{promise:new Promise((n,r)=>{t=()=>r(new h(`EINTR`)),e.aborted?t():e.addEventListener(`abort`,t,{once:!0})}),done:()=>e.removeEventListener(`abort`,t)}}async function In(e,t,n,r,i){let a=r<0?1/0:Date.now()+r,o=Fn(i);o.promise.catch(()=>{});try{return await Ln(e,t,n,a,o.promise)}finally{o.done()}}async function Ln(e,t,n,r,i){for(;;){let a=Pn(e,t,n);if(a.read.length>0||a.write.length>0||Date.now()>=r)return a;let o=new AbortController,s=[...new Set([...t,...n])].flatMap(t=>{let n=e.get(t).file;return n.changed===void 0?[]:[n.changed(o.signal).catch(()=>void 0)]}),c,l=r===1/0?[]:[new Promise(e=>c=setTimeout(e,r-Date.now()))];try{await Promise.race([...s,...l,i])}finally{o.abort(),clearTimeout(c)}}}const Rn=[`sock-open`,`sock-pair`,`sock-bind`,`sock-listen`,`sock-accept`,`sock-connect`,`sock-shutdown`,`sock-name`,`sock-getopt`,`sock-setopt`];function K(e,t){let n=e.get(t).file;if(!(n instanceof R))throw new h(`ENOTSOCK`);return n}const q=e=>e===void 0?{ok:!0,kind:`void`}:{ok:!0,kind:`json`,json:e};async function zn(e,t){let{fds:n,net:r}=t;switch(e.op){case`sock-open`:return q(n.install(new _(r.socket(e.domain)),3));case`sock-pair`:{let[t,i]=R.pair(r,e.domain),a=n.install(new _(t),3);try{return q([a,n.install(new _(i),3)])}catch(e){throw await Promise.resolve(n.close(a)),e}}case`sock-bind`:return K(n,e.fd).bind(e.addr),q();case`sock-listen`:return K(n,e.fd).listen(e.backlog),q();case`sock-accept`:return q(await Vn(t,e.fd,e.nonblock));case`sock-connect`:if(K(n,e.fd).connect(e.addr),e.nonblock)throw new h(`EINPROGRESS`);return q();case`sock-shutdown`:return K(n,e.fd).shutdown(e.how),q();case`sock-name`:{let t=K(n,e.fd),r=e.peer?t.peer:t.local;if(e.peer&&!r)throw new h(`ENOTCONN`);return q(r??Bn(t.domain))}case`sock-getopt`:return q(K(n,e.fd).getOption(e.level,e.name));case`sock-setopt`:return K(n,e.fd).setOption(e.level,e.name,e.value),q()}}function Bn(e){return e===`inet`?{family:`inet`,host:`0.0.0.0`,port:0}:{family:`unix`,path:``}}async function Vn(e,t,n){let r=K(e.fds,t),i=!n&&!g(r).readable,a=await r.accept(i?e.blocking():void 0,n);return{fd:e.fds.install(new _(a),3),peer:a.peer}}function J(e,t){return e===t||e.startsWith(t.endsWith(`/`)?t:`${t}/`)}var Hn=class{fs;path;orphaned;data;length=0;dirty=!1;queue=Promise.resolve();writeBack;writeBackCost=0;opens=0;constructor(e,t,n,r=!1){this.fs=e,this.path=t,this.orphaned=r,n===void 0?r&&(this.data=new Uint8Array):this.data=new Uint8Array(n),this.length=this.data?.length??0}serial(e){let t=this.queue.then(e);return this.queue=t.catch(()=>void 0),t}async load(){if(!this.data){try{this.data=await this.fs.readFileBuffer(this.path)}catch{this.data=new Uint8Array}this.length=this.data.length}return this.data}async size(){return await this.load(),this.length}async pread(e,t){let n=await this.load(),r=Math.max(0,Math.min(e,this.length-t));return n.slice(t,t+r)}async pwrite(e,t){await this.load();let n=this.ensure(t+e.length);return t>this.length&&n.fill(0,this.length,t),n.set(e,t),this.length=Math.max(this.length,t+e.length),this.markDirty(),e.length}async truncate(e){await this.load();let t=this.ensure(e);e>this.length&&t.fill(0,this.length,e),this.length=e,this.markDirty()}markDirty(){if(this.dirty=!0,this.writeBack!==void 0||this.orphaned)return;let e=Math.max(250,this.writeBackCost*10);this.writeBack=setTimeout(()=>{this.writeBack=void 0,this.serial(()=>this.flush()).catch(()=>void 0)},e)}ensure(e){let t=this.data??new Uint8Array;if(t.length>=e)return t;let n=new Uint8Array(Math.max(e,t.length*2,256));return n.set(t.subarray(0,this.length)),this.data=n,n}async flush(){if(!this.dirty||!this.data||this.orphaned)return;this.dirty=!1;let e=performance.now();await this.fs.writeFile(this.path,this.data.slice(0,this.length)),this.writeBackCost=performance.now()-e}},Un=class{fs;byPath=new Map;constructor(e){this.fs=e}open(e){let t=this.byPath.get(e);return t||(t=new Hn(this.fs,e),this.byPath.set(e,t)),t.opens++,t}closed(e){e.opens--,e.opens===0&&this.byPath.get(e.path)===e&&this.byPath.delete(e.path)}async flush(e){for(let[t,n]of this.byPath)J(t,e)&&await n.serial(()=>n.flush())}async unlinking(e){let t=this.byPath.get(e);t&&await t.serial(()=>t.load())}unlinked(e){let t=this.byPath.get(e);t&&(t.orphaned=!0,this.byPath.delete(e))}renamed(e,t){if(e===t)return;let n=[];for(let[r,i]of this.byPath)J(r,e)?n.push(i):J(r,t)&&(i.orphaned=!0,this.byPath.delete(r));for(let r of n)this.byPath.delete(r.path),r.path=t+r.path.slice(e.length),this.byPath.set(r.path,r)}};function Wn(e,t,n){let r=t.flags&3,i=r!==1,a=r===1||r===2,o=n&&t.contents===void 0&&!t.orphan?n.open(t.path):new Hn(e,t.path,t.contents,t.orphan===!0);t.truncate&&o.serial(()=>o.truncate(0));let s=t.position,c=e=>o.serial(e);return new _({read:i?e=>c(async()=>{let t=await o.pread(e,s);return s+=t.length,t}):void 0,write:a?e=>c(async()=>(t.flags&1024&&(s=await o.size()),s+=await o.pwrite(e,s),e.length)):void 0,seek:(e,t)=>c(async()=>{let n=0;if(t===1)n=s;else if(t===2)n=await o.size();else if(t!==0)throw new h(`EINVAL`);if(n+e<0)throw new h(`EINVAL`);return s=n+e,s}),pread:(e,t)=>c(()=>{if(!i)throw new h(`EBADF`);return o.pread(e,t)}),pwrite:(e,t)=>c(()=>{if(!a)throw new h(`EBADF`);return o.pwrite(e,t)}),resize:e=>c(()=>{if(!a)throw new h(`EBADF`);return o.truncate(e)}),stat:()=>c(async()=>({path:o.path,size:await o.size(),...o.orphaned?{orphan:!0}:{}})),flush:()=>c(()=>o.flush()),close:()=>c(async()=>{await o.flush(),n?.closed(o)})})}const Gn=new Set([`proc-setpgid`,`proc-getpgid`,`proc-getsid`,`proc-setsid`]);function Kn(e){return Gn.has(e.op)}function qn(e){return e.op.startsWith(`sock-`)}function Jn(e){return e.op.startsWith(`fd-path-`)||e.op===`fd-pread`||e.op===`fd-pwrite`||e.op===`fd-resize`||e.op===`fd-vfs-stat`}function Yn(e){return e.op.startsWith(`fd-`)}function Xn(e){return e.op.startsWith(`tty-`)}const Zn=new Set([`fd-read`,`fd-write`,`fd-close`,`fd-pipe`,`fd-poll`,`fd-open-vfs`,`fd-seek`,`fd-pread`,`fd-pwrite`,`fd-resize`,`fd-vfs-stat`,`fd-path-flush`,`fd-path-unlinking`,`fd-path-unlinked`,`fd-path-renamed`,`fd-select`,`fd-info`,`fd-dup`,`fd-reserve`,`fd-meta`,`fd-setfl`,`fd-cloexec`,`fd-list`,`dl-log`,`proc-alarm`,`fd-renumber`,`fd-promote`,`fd-open-tty`,`tty-get`,`tty-set`,`tty-winsz`,`fd-flush`,`proc-spawn`,`proc-wait`,`proc-captured`,`proc-fork`,`proc-kill`,`proc-exec`,`proc-setpgid`,`proc-getpgid`,`proc-getsid`,`proc-setsid`,`tty-pgrp-get`,`tty-pgrp-set`,`sig-mask`,...Rn]);function Qn(e){let t=e.op;return typeof t==`string`&&Zn.has(t)}const $n=1048576;var er=class{pid;fds;options;exited=!1;children;caught=0;ignored=0;interrupt=new AbortController;execChild;execTermsig;stopped=0;stops=0;resumed=Promise.resolve();wake=()=>{};stateListeners=[];net;nodes;constructor(e,t,n={}){this.pid=e,this.fds=t,this.options=n,this.children=new Nn(t,n.spawner,n.forker),this.nodes=n.fs?new Un(n.fs):void 0,this.children.onChildState=()=>this.signal(V.CHLD)}signal(e){if(this.execChild!==void 0)return Promise.resolve(this.options.kill?.(this.execChild,e)).catch(()=>void 0),e===V.KILL?`terminate`:`forward`;if(e===V.KILL)return`terminate`;if(e===V.CONT&&this.cont(),e===V.STOP)return this.stop(e);let t=U(e);if(this.ignored&t)return`ignore`;if(!(this.caught&t)){let t=H(e);return t===`stop`?this.stop(e):t}let n=H(e);if(((this.options.pendingBits?.()??0)&t)!==0&&n===`terminate`)return n;this.options.onPending?.(e);let r=this.interrupt;return this.interrupt=new AbortController,r.abort(),`deliver`}onState(e){this.stateListeners.push(e)}stop(e){if(this.stopped)return`stop`;this.stopped=e,this.stops++,this.resumed=new Promise(e=>this.wake=e);let t=this.interrupt;this.interrupt=new AbortController,t.abort();for(let t of this.stateListeners)t(`stopped`,e);return`stop`}cont(){if(this.stopped){this.stopped=0,this.wake();for(let e of this.stateListeners)e(`continued`,V.CONT)}}async syscall(e){for(;;){await this.resumed;let t=this.stops,n=await this.dispatch(e);if(!(!n.ok&&n.errno===`EINTR`&&this.stops!==t&&!this.options.hasPending?.()))return await this.resumed,n}}async dispatch(e){try{return Yn(e)?await this.fdSyscall(e):Xn(e)?this.ttySyscall(e):Kn(e)?this.jobSyscall(e):qn(e)?await this.socketSyscall(e):await this.procSyscall(e)}catch(e){if(e instanceof h||e instanceof G)return{ok:!1,errno:e.code,message:e.code};throw e}}blockingSignal(){if(this.options.hasPending?.())throw new h(`EINTR`);return this.interrupt.signal}async read(e){let t=this.fds.get(e.fd).file,n=e.peek?t.peek:t.read;if(!n)throw new h(e.peek&&t.read?`EOPNOTSUPP`:`EBADF`);if(t.tty&&this.checkForeground(t.tty),e.max<=0)return new Uint8Array;let r=g(t).readable;if(!r&&e.nonblock)throw new h(`EAGAIN`);let i=r?this.interrupt.signal:this.blockingSignal();return n.call(t,Math.max(0,Math.min(e.max,$n)),i)}async write(e,t,n=!1){let r=this.fds.get(e).file;if(!r.write)throw new h(`EBADF`);if(!g(r).writable){if(n)throw new h(`EAGAIN`);return r.write(t,this.blockingSignal())}return n?r.write(t,AbortSignal.abort()):r.write(t,this.options.hasPending?.()?AbortSignal.abort():this.interrupt.signal)}async fdSyscall(e){if(Jn(e))return this.vfsSyscall(e);switch(e.op){case`fd-read`:return{ok:!0,kind:`bytes`,bytes:await this.read(e)};case`fd-write`:return{ok:!0,kind:`json`,json:await this.write(e.fd,e.body,e.nonblock)};case`fd-close`:return await Promise.resolve(this.fds.close(e.fd)),{ok:!0,kind:`void`};case`fd-pipe`:{let e=u(),t=this.fds.install(e.read,3),n;try{n=this.fds.install(e.write,3)}catch(e){throw await Promise.resolve(this.fds.close(t)),e}return{ok:!0,kind:`json`,json:[t,n]}}case`fd-poll`:return{ok:!0,kind:`json`,json:g(this.fds.get(e.fd).file)};case`fd-open-vfs`:{if(!this.options.fs)throw new G(`ENOSYS`);let t=Wn(this.options.fs,{path:e.path,flags:e.flags,position:e.position,...e.contents===void 0?{}:{contents:e.contents},...e.orphan?{orphan:!0}:{},...e.truncate?{truncate:!0}:{}},this.nodes);return{ok:!0,kind:`json`,json:this.fds.install(t,3)}}case`fd-info`:return{ok:!0,kind:`json`,json:this.fdInfo(e.fd)};case`fd-list`:return{ok:!0,kind:`json`,json:this.fds.numbers().map(e=>({fd:e,...this.fdInfo(e)}))};case`fd-meta`:{let t=this.fds.get(e.fd).file;if(!t.held)throw new h(`EBADF`);return t.heldMeta=e.meta,{ok:!0,kind:`void`}}case`fd-setfl`:return this.fds.setStatusFlags(e.fd,e.flags),{ok:!0,kind:`void`};case`fd-cloexec`:return e.on?this.fds.setCloseOnExec(e.fd):this.fds.clearCloseOnExec(e.fd),{ok:!0,kind:`void`};case`fd-dup`:return{ok:!0,kind:`json`,json:this.fds.dup(e.fd,e.min??3)};case`fd-reserve`:return{ok:!0,kind:`json`,json:this.reserve(e.fd,e.min,e.meta)};case`fd-promote`:return this.promote(e),{ok:!0,kind:`void`};case`fd-renumber`:return e.from!==e.to&&(this.fds.dup2(e.from,e.to),e.keep||await Promise.resolve(this.fds.close(e.from))),{ok:!0,kind:`void`};case`fd-open-tty`:{let e=this.controllingTerminal();if(!e)throw new h(`ENXIO`);return{ok:!0,kind:`json`,json:this.fds.install(e.file(),3)}}case`fd-select`:{let{read:t,write:n,timeoutMs:r}=e,i=this.blockingSignal();return{ok:!0,kind:`json`,json:await In(this.fds,t,n,r,i)}}case`fd-seek`:{let t=this.fds.get(e.fd).file;if(!t.seek)throw new h(`ESPIPE`);return{ok:!0,kind:`json`,json:await t.seek(e.offset,e.whence)}}case`fd-flush`:{let t=this.fds.get(e.fd).file;return t.flush&&await t.flush(),{ok:!0,kind:`void`}}}}async vfsSyscall(e){if(`path`in e||`from`in e){let t=this.nodes;return e.op===`fd-path-flush`?await t?.flush(e.path):e.op===`fd-path-unlinking`?await t?.unlinking(e.path):e.op===`fd-path-unlinked`?t?.unlinked(e.path):e.op===`fd-path-renamed`&&t?.renamed(e.from,e.to),{ok:!0,kind:`void`}}let t=this.fds.get(e.fd).file;if(!t.pread||!t.pwrite||!t.resize||!t.stat)throw new h(`ESPIPE`);switch(e.op){case`fd-pread`:return{ok:!0,kind:`bytes`,bytes:await t.pread(Math.min(e.max,$n),e.offset)};case`fd-pwrite`:return{ok:!0,kind:`json`,json:await t.pwrite(e.body,e.offset)};case`fd-resize`:return await t.resize(e.size),{ok:!0,kind:`void`};case`fd-vfs-stat`:return{ok:!0,kind:`json`,json:await t.stat()}}}promote(e){if(!this.fds.get(e.fd).file.held)throw new h(`EBADF`);if(e.share!==void 0){this.fds.dup2(e.share,e.fd);return}if(!this.options.fs||e.path===void 0)throw new h(`EINVAL`);let t=Wn(this.options.fs,{path:e.path,flags:e.flags??0,position:e.position??0,...e.contents===void 0?{}:{contents:e.contents},...e.orphan?{orphan:!0}:{}},this.nodes);this.fds.installAt(e.fd,t)}reserve(e,t=3,n){if(e===void 0)return this.fds.install(f(n),Math.max(3,t));if(this.fds.has(e))throw new h(`EBADF`);return this.fds.installAt(e,f(n)),e}fdInfo(e){let t=this.fds.get(e).file,n=this.fds.statusFlags(e);return{tty:t.tty!==void 0,kind:t instanceof R?`socket`:v(t),...t.heldMeta?{meta:t.heldMeta}:{},...n===void 0?{}:{flags:n},...this.fds.closesOnExec(e)?{cloexec:!0}:{}}}ttySyscall(e){let t=this.tty(e.fd),n=this.options.jobs;switch(e.op){case`tty-get`:return{ok:!0,kind:`json`,json:t.tcgets()};case`tty-set`:return t.tcsets(e.termios),{ok:!0,kind:`void`};case`tty-winsz`:return{ok:!0,kind:`json`,json:t.winsize()};case`tty-pgrp-get`:return{ok:!0,kind:`json`,json:n?n.tcgetpgrp(t,this.sid()):this.pid};case`tty-pgrp-set`:if(n)n.tcsetpgrp(this.pid,t,e.pgrp);else if(e.pgrp!==this.pid)throw new h(`EPERM`);return{ok:!0,kind:`void`}}}checkForeground(e){let t=this.options.jobs;if(!t)return;let n=this.pgid();if(t.tcgetpgrp(e,this.sid())!==n)throw this.ignored&U(V.TTIN)?new h(`EIO`):(t.killGroup(n,V.TTIN),new h(`EINTR`))}waitGroup(e){let t=this.options.jobs;if(!t||e>0||e===-1)return;let n=e===0?this.pgid():-e;return e=>(t.pgidOf(e)??this.pgid())===n}pgid(){return this.options.jobs?.getpgid(this.pid,0)??this.pid}sid(){return this.options.jobs?.getsid(this.pid,0)??this.pid}controllingTerminal(){let e=this.options.jobs?.controllingTerminal(this.pid);return e===void 0?this.fds.stdioTerminal():e??void 0}jobSyscall(e){let t=this.options.jobs,n=e=>{if(e!==0&&e!==this.pid)throw new h(`ESRCH`);return this.pid};switch(e.op){case`proc-setpgid`:if(t)t.setpgid(this.pid,e.pid,e.pgid);else if(n(e.pid)!==(e.pgid||this.pid))throw new h(`EPERM`);return{ok:!0,kind:`void`};case`proc-getpgid`:return{ok:!0,kind:`json`,json:t?.getpgid(this.pid,e.pid)??n(e.pid)};case`proc-getsid`:return{ok:!0,kind:`json`,json:t?.getsid(this.pid,e.pid)??n(e.pid)};case`proc-setsid`:if(!t)throw new h(`EPERM`);return{ok:!0,kind:`json`,json:t.setsid(this.pid)}}}tty(e){let t=this.fds.get(e).file.tty;if(!t)throw new h(`ENOTTY`);return t}socketSyscall(e){return this.net??=this.options.net??new vn,zn(e,{fds:this.fds,net:this.net,blocking:()=>this.blockingSignal()})}async procSyscall(e){switch(e.op){case`proc-fork`:return{ok:!0,kind:`json`,json:await this.children.fork(e.state)};case`proc-spawn`:{let{file:t,argv:n,env:r,cwd:i,stdio:a,inherit:o}=e;return{ok:!0,kind:`json`,json:await this.children.spawn({file:t,argv:n,env:r,cwd:i},a,o)}}case`proc-wait`:{let t=e.nohang?this.interrupt.signal:this.blockingSignal(),n={untraced:e.untraced,continued:e.continued,inGroup:this.waitGroup(e.pid)};return{ok:!0,kind:`json`,json:await this.children.wait(e.pid,e.nohang,t,n)}}case`proc-exec`:this.execChild=e.pid,this.options.jobs?.exec(this.pid,e.pid),this.children.watch(e.pid,(e,t)=>e===`stopped`?this.stop(t):this.cont()),await this.fds.closeAll();try{let t=await this.children.wait(e.pid,!1),n=t[1]&127;return n&&(this.execTermsig=n),{ok:!0,kind:`json`,json:t}}finally{this.execChild=void 0}case`proc-kill`:if(e.sig!==0&&!Cn(e.sig))throw new h(`EINVAL`);if(!await this.options.kill?.(e.pid===0?-this.pgid():e.pid,e.sig))throw new h(`ESRCH`);return{ok:!0,kind:`void`};case`dl-log`:return e.append&&this.dlLog.push(e.append),{ok:!0,kind:`json`,json:this.dlLog.slice(e.from)};case`proc-alarm`:return this.setAlarm(e.sig,e.firstMs??e.ms,e.repeat?e.ms:0),{ok:!0,kind:`void`};case`sig-mask`:return this.caught=e.caught,this.ignored=e.ignored,{ok:!0,kind:`void`};case`proc-captured`:return{ok:!0,kind:`bytes`,bytes:this.children.captured(e.pid,e.slot)}}}dlLog=[];alarm;alarmEvery;setAlarm(e,t,n){if(!Cn(e))throw new h(`EINVAL`);if(this.clearAlarm(),t<=0)return;let r=()=>this.options.raise?.(e);this.alarm=setTimeout(()=>{this.alarm=void 0,r(),n>0&&(this.alarmEvery=setInterval(r,n))},t)}clearAlarm(){clearTimeout(this.alarm),clearInterval(this.alarmEvery),this.alarm=void 0,this.alarmEvery=void 0}async exit(){this.exited||(this.exited=!0,this.clearAlarm(),await this.fds.closeAll())}};function tr(){return new Worker(new URL(`/assets/process-worker-BKgTk6Wd.js`,``+import.meta.url),{type:`module`})}const nr=new WeakMap;let rr=1;function ir(e){let t=nr.get(e);return t===void 0&&nr.set(e,t=rr++),t}function ar(e){return e.numbers().filter(t=>t>2&&!e.get(t).file.held).map(t=>{let n=e.get(t),r=e.statusFlags(t),i=n.file instanceof R?`socket`:v(n.file);return{fd:t,kind:i,...r===void 0?{}:{flags:r},...e.closesOnExec(t)?{cloexec:!0}:{},...i===`stream`?{desc:ir(n)}:{}}})}function or(e){let t=new SharedArrayBuffer(64+ue),n=new Int32Array(t,0,16),r=new er(e.pid,e.fds,{spawner:e.spawner,forker:e.forker,fs:e.fs,kill:e.kill,jobs:e.jobs,net:e.net,onPending:e=>void Atomics.or(n,8,U(e)),hasPending:()=>Atomics.load(n,8)!==0,...e.program.abi===`wasi`?{pendingBits:()=>Atomics.load(n,8)}:{},raise:e=>y(e)}),i=se({fs:e.fs,cwd:e.cwd}),a=(e.createWorker??tr)(),o=async e=>Qn(e)?r.syscall(e):`op`in e&&typeof e.op==`string`&&`path`in e?le(e):{ok:!1,errno:`ENOSYS`,message:`wasm-realm: no exec yet`},s=de(a,t,i,{dispatch:o}),c,l=new Promise(e=>c=e),u=!1,d,f=(e,t)=>{if(!u){u=!0,d=t??r.execTermsig,a.removeEventListener(`message`,m),a.removeEventListener(`error`,h),s.dispose();for(let e of[...g.keys()])_(e);ce(i),a.terminate(),r.exit().then(()=>c(e),()=>c(e))}},p=t=>{t?.type===`wasm-process-exit`?f(typeof t.code==`number`?t.code:70):t?.type===`wasm-process-error`?(e.onError?.(String(t.message)),f(70)):t?.type===`wasm-thread-spawn`&&t.thread&&ee(t.thread)},m=e=>p(e.data),h=t=>{t.preventDefault(),e.onError?.(String(t.message??`worker error`)),f(70)},g=new Map,_=e=>{let t=g.get(e);g.delete(e),t?.()},ee=t=>{if(u)return;if(g.size>=63){e.onError?.(`more than 64 threads`),f(70);return}let n=new SharedArrayBuffer(64+ue),r=(e.createWorker??tr)(),a=de(r,n,i,{dispatch:o}),s=e=>{let n=e.data;n?.type===`wasm-thread-exit`?_(t.tid):p(n)};r.addEventListener(`message`,s),r.addEventListener(`error`,h),g.set(t.tid,()=>{r.removeEventListener(`message`,s),r.removeEventListener(`error`,h),a.dispose(),r.terminate()});let c={type:`wasm-thread-init`,pid:e.pid,program:e.program,argv0:e.argv0,args:e.args,env:e.env,cwd:e.cwd,sab:n,...e.ppid===void 0?{}:{ppid:e.ppid},thread:t};r.postMessage(c)};a.addEventListener(`message`,m),a.addEventListener(`error`,h);let v={type:`wasm-process-init`,pid:e.pid,program:e.program,argv0:e.argv0,args:e.args,env:e.env,cwd:e.cwd,sab:t,...e.ppid===void 0?{}:{ppid:e.ppid},...e.fork?{fork:e.fork}:{fds:ar(e.fds)}};a.postMessage(v,e.fork?[e.fork.memory.buffer]:[]);let y=e=>{r.signal(e)===`terminate`&&f(e===V.KILL?137:128+e,e)};return{pid:e.pid,exited:l,kill:(e=137)=>f(e,e>128&&e<160?e-128:void 0),signal:y,termsig:()=>d,onState:e=>r.onState(e)}}var sr=class{members=new Map;foreground=new Map;terminals=new Map;add(e,t,n,r){let i=t===void 0?void 0:this.members.get(t);!i&&r&&this.terminals.set(e,r);let a={pid:e,ppid:i?.pid,pgid:i?.pgid??e,sid:i?.sid??e,signal:n};return this.members.set(e,a),a}remove(e){this.members.delete(e)}exec(e,t){let n=this.members.get(t);n&&(n.execParent=e);let r=this.members.get(e);r&&(r.execed=!0)}pgidOf(e){return this.members.get(e)?.pgid}member(e){let t=this.members.get(e);if(!t)throw new h(`ESRCH`);return t}setpgid(e,t,n){let r=this.member(t||e),i=n||r.pid;if(i<0)throw new h(`EINVAL`);let a=this.member(e);if(r.pid!==e){if(r.ppid!==e)throw new h(`ESRCH`);if(r.execed)throw new h(`EACCES`)}if(r.sid!==a.sid||r.pid===r.sid)throw new h(`EPERM`);let o=[...this.members.values()].some(e=>e.pgid===i&&e.sid===r.sid);if(i!==r.pid&&!o)throw new h(`EPERM`);r.pgid=i}getpgid(e,t){return this.member(t||e).pgid}getsid(e,t){return this.member(t||e).sid}setsid(e){let t=this.member(e);if(t.pgid===e)throw new h(`EPERM`);return t.sid=e,t.pgid=e,this.terminals.delete(e),e}controllingTerminal(e){let t=this.members.get(e);return t&&(this.terminals.get(t.sid)??null)}killGroup(e,t){let n=[...this.members.values()].filter(t=>t.pgid===e),r=new Set(n.map(e=>e.pid));if(t!==0)for(let e of n)(e.execParent===void 0||!r.has(e.execParent))&&e.signal(t);return n.length>0}tcgetpgrp(e,t){return this.foreground.get(e)??t}tcsetpgrp(e,t,n){let r=this.member(e);if(![...this.members.values()].some(e=>e.pgid===n&&e.sid===r.sid))throw new h(`EPERM`);this.foreground.set(t,n)}signalForeground(e,t,n){this.killGroup(this.tcgetpgrp(e,t),n)}};function cr(e){let t=8,n=()=>{let n=0,r=0;for(;;){let i=e[t++];if(n|=(i&127)<<r,!(i&128))return n>>>0;r+=7}},r=()=>{let r=n(),i=new TextDecoder().decode(e.subarray(t,t+r));return t+=r,i},i=()=>{let r=e[t++];return{initial:n(),maximum:r&1?n():void 0,shared:!!(r&2)}};for(;t<e.length;){let a=e[t++],o=n(),s=t+o;if(a!==2){t=s;continue}let c=n();for(let a=0;a<c;a++){let a=r(),o=r(),s=e[t++];if(s===0)n();else if(s===1)t++,i();else if(s===2)return{module:a,name:o,...i()};else s===3?t+=2:s===4&&(t++,n())}return}}const lr=/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g;function ur(e,t){let n={};for(let[r,i]of Object.entries(e)){let e=!1,a=i.replace(lr,(n,r)=>{let i=Object.hasOwn(t,r)?t[r]:void 0;return i===void 0&&(e=!0),i??``});e||(n[r]=a)}return n}function dr(e,t){if(!e)return t;let n=ur(e,t);if(!(t.GIT_CONFIG_SYSTEM!==void 0&&ln(`GIT_CONFIG_SYSTEM`,t.GIT_CONFIG_SYSTEM))||!(`GIT_CONFIG_NOSYSTEM`in n))return{...n,...t};let{GIT_CONFIG_NOSYSTEM:r,...i}=n;return{...i,...t}}function fr(e){return e.USER===void 0||`LOGNAME`in e?e:{...e,LOGNAME:e.USER}}function pr(e,t){return!/^(ba)?sh$/.test(Q(e))||`BASH_FUNC_secret%%`in t?t:{...t,"BASH_FUNC_secret%%":`() { command secret "$@" || return; local __slicc_env; if __slicc_env=$(command secret shell-env "$@" 2>/dev/null); then eval "$__slicc_env"; fi; return 0; }`}}const Y=new Map,X=new Map,mr=new Map(Object.entries(W).map(([e,t])=>[t,e])),Z=/^\/(?:usr\/)?bin\/([^/]+)$/,hr=/^(.*\/node_modules\/(?:@[^/]+\/)?[^/]+)\//,gr=/locateFile\(\s*["']([^"'/]+\.wasm)["']\s*\)/;let _r=4e4;function vr(e){return e.glue===e.module}const yr=[0,97,115,109];function br(e){return yr.every((t,n)=>e[n]===t)}function xr(e){return e.endsWith(`.js`)?`${e.slice(0,-3)}.wasm`:`${e}.wasm`}function Sr(e){return Z.exec(e)?.[1]??Q(e)}function Q(e){return e.slice(e.lastIndexOf(`/`)+1)}function Cr(e){return{exists:t=>e.fs.exists(t),readDir:async t=>(await e.fs.readdir(t)).map(e=>({name:e})),readFile:t=>e.fs.readFile(t)}}function wr(e){return ne(Cr(e),y)}function Tr(e,t){return`${e}:${t.size}:${t.mtime.getTime()}`}function Er(e,t){return Y.set(e,t),t.catch(()=>Y.delete(e)),t}async function Dr(e,t){let n=Tr(t,await e.fs.stat(t));return Y.get(n)??Er(n,oe(t=>e.fs.readFileBuffer(t),t))}function Or(e,t){return X.set(e,cr(t)),Er(e,ae(t))}async function kr(e,t){let n=Tr(t,await e.fs.stat(t)),r=Y.get(n),i=await(r&&X.has(n)?r:Or(n,await e.fs.readFileBuffer(t))),a=X.get(n);return{module:i,...a?{memory:a}:{}}}async function Ar(e,t){let n;try{let r=await e.fs.stat(t);if(!r.isFile)return!1;n=Tr(t,r)}catch{return!1}if(Y.has(n))return!0;let r;try{r=await e.fs.readFileBuffer(t)}catch{return!1}return br(r)?(Or(n,r).catch(()=>void 0),!0):!1}function jr(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return t}function Mr(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t}async function Nr(e){if(!e.file.read)return new Uint8Array;let t=[],n=0;for(let r=await e.file.read(65536);r.length>0;)t.push(r),n+=r.length,r=await e.file.read(65536);let r=new Uint8Array(n),i=0;for(let e of t)r.set(e,i),i+=e.length;return r}async function $(e,t,n){if(n.length===0||!e.has(t))return;let r=e.get(t).file;try{await r.write?.(n)}catch{}}function Pr(e,t){return e.has(t)&&e.get(t).file.tty!==void 0}function Fr(e){return{...Pr(e,0)?{}:{[ee]:`0`},...Pr(e,1)?{}:{[m]:`0`}}}function Ir(e){return{pid:e.pid,exited:e.exited,termsig:e.termsig,onState:t=>e.onState(t)}}const Lr=new WeakMap;var Rr=class{ctx;processConfig;onError;gate;lookup;live=new Set;shellChildren=new Set;wasmByPid=new Map;shellByPid=new Map;installed;jobs=new sr;leader;net;constructor(e,t,n,r,i){this.ctx=e,this.processConfig=t,this.onError=n,this.gate=r,this.lookup=i,this.net=bn(B(t?.owner));let a=B(t?.owner);dn(this.net,{process:t,tls:{owner:a}})}commands(){return this.lookup?this.lookup():(this.installed??=wr(this.ctx),this.installed)}async launch(e){let t=vr(e),n=``,r,i;try{t?{module:r,memory:i}=await kr(this.ctx,e.module):(n=await this.ctx.fs.readFile(e.glue),r=await Dr(this.ctx,e.module)),e.signal?.throwIfAborted()}catch(t){throw await e.fds.closeAll(),t}let a=pr(e.argv0,fr(dr(e.defaults,e.env)));return t&&await this.pythonPackages(e,a),this.start({...e,env:a,program:t?{abi:`wasi`,glue:n,module:r,...i?{memory:i}:{}}:{glue:n,module:r}})}async pythonPackages(e,t){let n=hr.exec(e.module)?.[1];if(n)try{let r=Cr(this.ctx),i=await r.readFile(`${n}/package.json`,{encoding:`utf-8`}),a=JSON.parse(typeof i==`string`?i:new TextDecoder().decode(i)),o=typeof a.name==`string`?a.name:n,s=re(n,o,a.slicc?.python).interpreter;if(!s)return;let{packages:c}=await this.pythonScan(r),l=await te(this.ctx.fs,t.HOME??`/home`,s,c);if(l.length>0){let t=`${s.abi}-${s.platform}`,n=`${e.argv0}: not for ${t}, left off the path: ${l.map(e=>e.pkg).join(`, `)}\n`;await $(e.fds,2,new TextEncoder().encode(n))}}catch{}}pythonScan(e){return this.commands().then(t=>{let n=Lr.get(t);return n||(n=ie(e,y),Lr.set(t,n)),n})}start(e){let t=this.processConfig?.processManager,{pid:n}=this.register(`wasm`,[e.argv0,...e.args],e.cwd,e.env,e.ppid),r=e.fds.stdioTerminal(),i=or({pid:n,program:e.program,argv0:e.argv0,args:e.args,env:e.env,cwd:e.cwd,fds:e.fds,fs:this.ctx.fs,onError:this.onError,spawner:this.spawner(n),forker:this.forker(n,e),kill:(e,t)=>this.kill(e,t),jobs:this.jobs,net:this.net,...e.fork?{fork:e.fork}:{},...e.ppid===void 0?{}:{ppid:e.ppid}});this.live.add(i),this.wasmByPid.set(n,i),this.leader??=n,this.jobs.add(n,e.ppid,e=>i.signal(e),r);let a=t?.onSignal((e,t)=>{e.pid===n&&i.signal(W[t])});return i.exited.then(e=>{this.live.delete(i),this.wasmByPid.delete(n),this.jobs.remove(n),a?.(),this.processConfig&&t?.exit(n,e)}),i}kill(e,t){if(e<0)return this.jobs.killGroup(-e,t);let n=this.wasmByPid.get(e);if(n)return t!==0&&n.signal(t),!0;let r=this.shellByPid.get(e);if(r)return t!==0&&r(t),!0;let i=this.processConfig?.processManager;if(!i)return!1;if(t===0)return i.get(e)!==null;let a=mr.get(t);return a===void 0?!1:this.gate?this.killOutside(e,a):i.signal(e,a)}async killOutside(e,t){if(await this.gate?.(`kill`,[`-${t.slice(3)}`,String(e)],{}))throw new h(`EPERM`);return this.processConfig?.processManager.signal(e,t)??!1}listen(e){return new _(this.net.listen(e))}signalAll(e){for(let t of this.live)t.signal(e)}signalTerminal(e,t){this.leader!==void 0&&this.jobs.signalForeground(e,this.leader,t)}killAll(e){for(let t of this.live)t.kill(e);for(let e of this.shellChildren)e.abort()}async resolve(e,t,n){let r=Z.exec(e)?.[1]??(e.includes(`/`)?void 0:e);if(r!==void 0){let e=await this.commands(),t=e.get(r);if(t?.script)return;if(t)return{glue:t.glue,module:t.wasm,argv0:t.argv0,defaults:t.env};let n=r===`sh`?e.get(`bash`):void 0;return n&&{glue:n.glue,module:n.wasm,argv0:`sh`,defaults:n.env}}let i=this.ctx.fs.resolvePath(n,e);if(!await this.ctx.fs.exists(i))return;let a=xr(i);return await this.ctx.fs.exists(a)?{glue:i,module:a,argv0:Q(t||e)}:await Ar(this.ctx,i)?{glue:i,module:i,argv0:Q(t||e).replace(/\.wasm$/,``)}:this.packagedCopy(i,t||e)}async packagedCopy(e,t){let n=hr.exec(e)?.[1];if(n===void 0)return;let r;try{r=await this.ctx.fs.readFile(e)}catch{return}let i=gr.exec(r)?.[1];if(i!==void 0){for(let e of(await this.commands()).values())if(e.wasm.startsWith(`${n}/`)&&e.wasm.endsWith(`/${i}`))return{glue:e.glue,module:e.wasm,argv0:Q(t),defaults:e.env}}}forker(e,t){return async(n,r)=>Ir(this.start({...t,cwd:n.cwd??t.cwd,fds:r,ppid:e,fork:n}))}async scriptCommand(e){let t=Z.exec(e)?.[1]??(e.includes(`/`)?void 0:e);if(t===void 0)return;let n=(await this.commands()).get(t);return n?.script?n:void 0}async interpreted(e){let t=await this.scriptCommand(e.file);if(!t&&(!e.file.includes(`/`)||Z.test(e.file)))return;let n=t?.script??this.ctx.fs.resolvePath(e.cwd,e.file),r;try{r=(await this.ctx.fs.readFileBuffer(n)).subarray(0,256)}catch{return}if(r[0]!==35||r[1]!==33)return;let[i,...a]=new TextDecoder().decode(r).slice(2).split(`
12
- `)[0].trim().split(/[ \t]+/);if(!i)return;let o=await this.resolve(i,i,e.cwd);if(!o)return;let s=t?.env?{...o,defaults:{...o.defaults,...t.env}}:o,c=a.join(` `);return{target:s,file:i,args:[...c?[c]:[],t?n:e.file,...e.argv.slice(1)]}}spawner(e){return async(t,n)=>{let r=await this.resolve(t.file,t.argv[0]??t.file,t.cwd),i=r?{target:r,file:t.file,args:t.argv.slice(1)}:await this.interpreted(t);if(!i){if(!await this.shellRuns(t))throw n.closeAll().catch(()=>void 0),new G(`ENOENT`);return this.runShellChild(t,n,e)}let a=await this.gate?.(Sr(i.file),i.args,t.env);return a?this.deniedChild(t,n,e,a):Ir(await this.launch({...i.target,args:i.args,env:t.env,cwd:t.cwd,fds:n,ppid:e}))}}async shellRuns(e){let t=Z.exec(e.file)?.[1]??(e.file.includes(`/`)?void 0:e.file);if(t===void 0)return this.ctx.fs.exists(this.ctx.fs.resolvePath(e.cwd,e.file));let n=this.ctx.getRegisteredCommands?.();return!n||n.includes(t)||!this.ctx.exec?!0:(await this.ctx.exec(`command`,{args:[`-v`,t],cwd:e.cwd,env:e.env,replaceEnv:!0})).exitCode===0}deniedChild(e,t,n,r){let{pid:i}=this.register(`shell`,e.argv,e.cwd,e.env,n),a=(async()=>(await $(t,2,new TextEncoder().encode(r.stderr)),await t.closeAll(),r.exitCode))();return this.processConfig&&a.then(e=>this.processConfig?.processManager.exit(i,e)),{pid:i,exited:a}}runShellChild(e,t,n){let r=this.ctx.exec;if(!r)throw t.closeAll().catch(()=>void 0),new G(`ENOSYS`);let{pid:i,abort:a}=this.register(`shell`,e.argv,e.cwd,e.env,n),o=a??new AbortController,s=()=>o.abort();this.ctx.signal?.addEventListener(`abort`,s,{once:!0}),this.ctx.signal?.aborted&&s();let c,l=e=>{H(e)===`terminate`&&(c??=e,o.abort())};this.shellChildren.add(o),this.shellByPid.set(i,l),this.jobs.add(i,n,l);let u=this.processConfig?.processManager.onSignal((e,t)=>{e.pid===i&&l(W[t])}),d=(async()=>{try{let n=Pr(t,0),i=t.has(0)&&!n?await Nr(t.get(0)):new Uint8Array,a=await r(e.file,{args:e.argv.slice(1),cwd:e.cwd,env:{...e.env,...Fr(t)},replaceEnv:!0,stdin:jr(i),stdinKind:`bytes`,signal:o.signal});return await $(t,1,a.stdoutKind===`bytes`?Mr(a.stdout):new TextEncoder().encode(a.stdout)),await $(t,2,new TextEncoder().encode(a.stderr)),a.exitCode}catch(n){let r=n instanceof Error?n.message:String(n);return await $(t,2,new TextEncoder().encode(`${e.file}: ${r}\n`)),126}finally{await t.closeAll(),this.shellChildren.delete(o),this.shellByPid.delete(i),this.jobs.remove(i),u?.(),this.ctx.signal?.removeEventListener(`abort`,s)}})();return this.processConfig&&d.then(e=>this.processConfig?.processManager.exit(i,e)),{pid:i,exited:d,termsig:()=>c}}register(e,t,n,r,i){let a=this.processConfig;return a?a.processManager.spawn({kind:e,argv:t,cwd:n,env:r,owner:a.owner,ppid:i??a.getParentPid?.()}):{pid:_r++}}};const zr=`usage: wasm [-t] [--argv0 NAME] [--module PATH] [--listen [HOST:]PORT] PROGRAM [ARGS...]
13
- wasm --list
14
- wasm --login
15
- `;function Br(e){let t={},n=0;for(;;){if(e[n]===`-t`){t.tty=!0,n+=1;continue}if(e[n]===`--login-prompt`){t.login=!0,n+=1;continue}if(e[n]!==`--argv0`&&e[n]!==`--module`&&e[n]!==`--listen`)break;let r=e[n+1];if(r===void 0)return;e[n]===`--argv0`?t.argv0=r:e[n]===`--listen`?t.listen=r:t.module=r,n+=2}let r=e[n];if(!(!r||r.startsWith(`-`)))return{...t,program:r,args:e.slice(n+1)}}function Vr(e,t){return t.commands?.()??wr(e)}function Hr(e){if(!e)return()=>{};let t=new TextDecoder;return n=>{let r=t.decode(n,{stream:!0});r&&e(r)}}function Ur(e,t,n,r){let i=[],a=e.limits?.maxOutputSize??268435456,o=0,l=!1,u=(e,n)=>r=>{if(o+=r.length,o>a){l=!0,t.killAll(1);return}e.push(r),n(r)},d=new s;return d.install(c(ei(e))),d.install(p(u(i,Hr(r)))),d.install(p(u(n,Hr(r)))),{fds:d,collected:()=>({stdout:$r(i),note:l?`wasm: output exceeded ${a} bytes; stopped\n`:``}),release:()=>{}}}function Wr(e,t){let n=new On({write:t=>e.write(t)},e=>t.signalTerminal(n,e));n.setSize(e.cols,e.rows),e.onInput(e=>n.receive(e)),e.onResize((e,t)=>n.resize(e,t));let r=n.file(),i=new s;return i.installAt(0,r),i.installAt(1,r.retain()),i.installAt(2,r.retain()),{fds:i,collected:()=>({stdout:``,note:``}),release:()=>e.release()}}function Gr(e,t){return Object.fromEntries(Object.entries(e).filter(([e,n])=>e in t||!ln(e,n)))}async function Kr(e,t){let n=B(t.processConfig?.owner);return un(e.fs,tn(qr(e),n),n)}function qr(e){return e.exportedEnv?.HOME??e.env.get(`HOME`)??`/tmp`}async function Jr(e,t){let n=await t.gitIdentity?.().catch(()=>void 0);return cn(e.fs,an(qr(e)),n)}function Yr(e,t,n){let r={...n,...e.exportedEnv??Object.fromEntries(e.env)};return t.tty&&(!r.TERM||r.TERM===`dumb`)&&(r.TERM=`xterm-256color`,r.COLORTERM??=`truecolor`),t.login&&(r.PS1??=`\\w $ `,r.PROMPT_COMMAND??=pe),r}async function Xr(e,t){let n={stdout:``,stderr:``,exitCode:125};if((e.exportedEnv?.SLICC_SHELL??e.env.get(`SLICC_SHELL`))===`just-bash`||!t.terminal||typeof SharedArrayBuffer!=`function`||!(await Vr(e,t)).has(`bash`))return n;let r=c(new TextEncoder().encode(me));return ai([`-t`,`--login-prompt`,`bash`,`--rcfile`,`/dev/fd/98`,`-i`],e,{...t,fds:[[98,r]]})}function Zr(e){let t=[...e.values()].sort((e,t)=>e.name.localeCompare(t.name)),n=Math.max(0,...t.map(e=>e.name.length));return t.map(e=>`${e.name.padEnd(n)} ${e.pkg}\n`).join(``)}async function Qr(e,t,n){if(n.program.includes(`/`)||await e.fs.exists(e.fs.resolvePath(e.cwd,n.program)))return n;let r=(await t.commands()).get(n.program);if(!r)return n;if(r.script){let r=await t.interpreted({file:n.program,argv:[n.program,...n.args],cwd:e.cwd});return r?{...n,argv0:r.target.argv0,module:r.target.module,program:r.target.glue,args:r.args,defaults:r.target.defaults}:n}return{...n,argv0:n.argv0??r.argv0,module:n.module??r.wasm,program:r.glue,defaults:r.env}}function $r(e){let t=``;for(let n of e)for(let e=0;e<n.length;e+=32768)t+=String.fromCharCode(...n.subarray(e,e+32768));return t}function ei(e){let t=fe(e.stdin),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e)&255;return n}async function ti(e,t,n){return t.module?e.fs.resolvePath(e.cwd,t.module):await Ar(e,n)?n:xr(n)}function ni(e){let t=/^(?:([0-9.]+):)?(\d{1,5})$/.exec(e),n=t?Number(t[2]):0;if(!(!t||n<1||n>65535))return{family:`inet`,host:t[1]??`127.0.0.1`,port:n}}function ri(e,t,n){if(e.listen===void 0)return{env:{}};let r=ni(e.listen);if(!r)return{error:`--listen ${e.listen}: not a [HOST:]PORT\n`};try{let e=n.install(t.listen(r),3);return n.setStatusFlags(e,2048),{env:{SLICC_LISTEN_FDS:String(e)}}}catch(t){let n=t.code??String(t);return{error:`--listen ${e.listen}: ${n}\n`}}}function ii(e,t){return e.defaults??t.defaults}async function ai(e,t,n={}){let{processConfig:r,terminal:i}=n;if(e[0]===`--help`||e[0]===`-h`)return{stdout:zr,stderr:``,exitCode:0};if(e[0]===`--login`&&e.length===1)return Xr(t,n);if(e[0]===`--list`&&e.length===1)return{stdout:Zr(await Vr(t,n)),stderr:``,exitCode:0};let a=Br(e);if(!a)return{stdout:``,stderr:zr,exitCode:2};if(typeof SharedArrayBuffer!=`function`)return{stdout:``,stderr:`wasm: the wasm realm needs SharedArrayBuffer, which this page lacks (it is not cross-origin isolated)
16
- `,exitCode:126};let o=[],s=e=>{o.push(new TextEncoder().encode(`wasm: ${e}\n`))},c=new Rr(t,r,e=>s(e),n.gate,n.commands),l=await Qr(t,c,a),u=t.fs.resolvePath(t.cwd,l.program),d=await ti(t,l,u),f;if(l.tty){let e=i?.lease();if(!e)return{stdout:``,stderr:`wasm: -t: no terminal to lend (only the panel terminal has one)
17
- `,exitCode:1};f=Wr(e,c),s=t=>e.write(new TextEncoder().encode(`wasm: ${t}\r\n`))}else f=Ur(t,c,o,n.onOutput);for(let[e,t]of n.fds??[])f.fds.installAt(e,t),f.fds.setCloseOnExec(e);let{fds:p}=f,m=ri(l,c,p);if(`error`in m)return f.release(),await p.closeAll(),{stdout:``,stderr:`wasm: ${m.error}`,exitCode:1};let h;try{h=await c.launch({glue:u,module:d,argv0:l.argv0??u.slice(u.lastIndexOf(`/`)+1).replace(/\.(js|wasm)$/,``),args:l.args,env:{...Yr(t,l,{...Xt(),...await Kr(t,n),...await Jr(t,n)}),...m.env},defaults:ii(l,n),cwd:t.cwd,fds:p,signal:t.signal})}catch(e){if(f.release(),t.signal?.aborted)return{stdout:``,stderr:``,exitCode:130};let n=e instanceof Error?e.message:String(e);return{stdout:``,stderr:`wasm: ${l.program}: ${n}\n`,exitCode:127}}let g=()=>c.killAll(130);t.signal?.addEventListener(`abort`,g,{once:!0}),t.signal?.aborted&&g();try{let e=await h.exited,{stdout:t,note:n}=f.collected();return n&&o.push(new TextEncoder().encode(n)),{stdout:t,stderr:new TextDecoder().decode(oi(o)),exitCode:e,stdoutKind:`bytes`}}finally{f.release(),t.signal?.removeEventListener(`abort`,g)}}function oi(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}export{ai as runWasmCommand,Gr as withoutRealmDefaults};
@@ -1 +0,0 @@
1
- import"./float-topology-C9GjBEv-.js";
@@ -1 +0,0 @@
1
- import{r as e,t}from"./base64-BPBW1Gzr.js";import{t as n}from"./mime-types-D7IV6i7k.js";import{t as r}from"./types-D8gIX-W-.js";import{n as i}from"./multipart-form-data-DopbgwRR.js";const a=`https://api.aem.live`;function o(e){let t=e.match(/^aem:\/\/([^/]+)\/([^/]+)(?:\/(.*))?$/);if(!t)throw Error(`invalid AEM source '${e}' — expected aem://org/site[/path]`);return{org:t[1],site:t[2],path:(t[3]??``).replace(/^\/+/,``).replace(/\/+$/,``)}}function s(e){if(!e)return``;let t=Date.parse(e);return Number.isNaN(t)?``:String(t)}function c(e){let t=Date.parse(e??``);return Number.isNaN(t)?0:t}function l(e){return e.map(e=>e[`content-type`]===`application/folder`||e.name.endsWith(`/`)?{name:e.name.replace(/\/+$/,``),kind:`directory`}:{name:e.name,kind:`file`,size:e.size,etag:s(e[`last-modified`]),lastModified:c(e[`last-modified`])})}var u=class{kind=`aem`;source;profile;mountId;parsed;cache;maxBodyBytes;transport;closed=!1;constructor(e){this.source=e.source,this.profile=e.profile,this.mountId=e.mountId??crypto.randomUUID(),this.parsed=o(e.source),this.cache=e.cache,this.maxBodyBytes=e.maxBodyBytes??5242880,this.transport=e.signedFetch}assertOpen(e){if(this.closed)throw new r(`EBADF`,`mount closed`,e)}toMountRelative(e){return e.replace(/^\/+/,``)}toSourcePath(e){let t=e.replace(/^\/+/,``).replace(/\/+$/,``),n=[this.parsed.path,t].filter(e=>e.length>0).join(`/`),r=`/${this.parsed.org}/sites/${this.parsed.site}/source`;return n?`${r}/${n}`:r}toListPath(e){return`${this.toSourcePath(e)}/`}request(e,t,n){return this.transport({method:e,path:t,origin:a,headers:n?.headers,body:n?.body})}async readFile(e){this.assertOpen(e);let t=this.toMountRelative(e),n=await this.cache.getBody(t);if(n&&!this.cache.isStale(n.cachedAt))return n.body;let i=await this.request(`GET`,this.toSourcePath(t));if(i.status===404)throw await this.cache.invalidateBody(t),new r(`ENOENT`,`no such file`,e);if(i.status===401||i.status===403)throw new r(`EACCES`,`aem access denied`,e);if(i.status>=400)throw new r(`EIO`,`aem readFile failed: ${i.status}`,e);let a=new Uint8Array(await i.arrayBuffer());if(a.byteLength>this.maxBodyBytes)throw new r(`EFBIG`,`body exceeds maxBodyBytes`,e);return await this.cache.putBody(t,a,s(i.headers.get(`last-modified`))),a}async assertUnchanged(e,t,n){if(!n)return;let i=await this.request(`HEAD`,this.toSourcePath(t));if(i.status===404)return;if(i.status>=400)throw new r(`EIO`,`aem precondition HEAD failed: ${i.status}`,e);let a=s(i.headers.get(`last-modified`));if(a&&a!==n)throw await this.cache.invalidateBody(t),new r(`EBUSY`,`remote modified since last read — re-read and retry`,e)}async writeFile(e,t){if(this.assertOpen(e),t.byteLength>this.maxBodyBytes)throw new r(`EFBIG`,`body exceeds maxBodyBytes`,e);let n=this.toMountRelative(e),i=await this.cache.getBody(n);await this.assertUnchanged(e,n,i?.etag??``);let a=await this.request(`PUT`,this.toSourcePath(n),{body:t});if(a.status===401||a.status===403)throw new r(`EACCES`,`aem write denied`,e);if(a.status>=400)throw new r(`EIO`,`aem writeFile failed: ${a.status}`,e);await this.cache.invalidateBody(n);let o=n.split(`/`).slice(0,-1).join(`/`);await this.cache.invalidateListing(o)}async readDir(e){this.assertOpen(e);let t=this.toMountRelative(e).replace(/\/+$/,``),n=await this.cache.getListing(t);if(n&&!this.cache.isStale(n.cachedAt))return n.entries;let i=await this.request(`GET`,this.toListPath(t));if(i.status===404)throw new r(`ENOENT`,`no such directory`,e);if(i.status===401||i.status===403)throw new r(`EACCES`,`aem access denied`,e);if(i.status>=400)throw new r(`EIO`,`aem list failed: ${i.status}`,e);let a=l(await i.json());return await this.cache.putListing(t,a),a}async stat(e){this.assertOpen(e);let t=this.toMountRelative(e);if(t===``)return{kind:`directory`,size:0,mtime:0};let n=await this.cache.getBody(t);if(n)return{kind:`file`,size:n.size,mtime:n.cachedAt,etag:n.etag};let i=t.split(`/`),a=i.pop()??``,o=i.join(`/`),s=await this.cache.getListing(o),c=(s&&!this.cache.isStale(s.cachedAt)?s.entries:await this.readDirQuietly(o))?.find(e=>e.name===a);if(!c)throw new r(`ENOENT`,`no such file or directory`,e);return c.kind===`directory`?{kind:`directory`,size:0,mtime:c.lastModified??0}:{kind:`file`,size:c.size??0,mtime:c.lastModified??0,etag:c.etag??``}}async readDirQuietly(e){try{return await this.readDir(e)}catch{return null}}async mkdir(e){}async remove(e){this.assertOpen(e);let t=this.toMountRelative(e),n=await this.request(`DELETE`,this.toSourcePath(t));if(n.status===404)throw new r(`ENOENT`,`no such file`,e);if(n.status===401||n.status===403)throw new r(`EACCES`,`aem delete denied`,e);if(n.status>=400)throw new r(`EIO`,`aem delete failed: ${n.status}`,e);await this.cache.invalidateBody(t);let i=t.split(`/`).slice(0,-1).join(`/`);await this.cache.invalidateListing(i)}async refresh(e){this.assertOpen(`/`);let t={added:[],removed:[],changed:[],unchanged:0,errors:[]},n=[``];for(;n.length>0;){let e=n.pop();try{await this.refreshDir(e,t,n)}catch(n){t.errors.push({path:e,message:n instanceof Error?n.message:String(n)})}}return e?.bodies&&await this.refreshBodies(t),t}async classifyFile(e,t,n){let r=await this.cache.getBody(e);r?t&&r.etag!==t?(await this.cache.invalidateBody(e),n.changed.push(e)):n.unchanged++:n.added.push(e)}async refreshDir(e,t,n){let r=await this.request(`GET`,this.toListPath(e));if(r.status===404){await this.cache.putListing(e,[]);return}if(r.status>=400){t.errors.push({path:e,message:`list failed: ${r.status}`});return}let i=l(await r.json());for(let r of i){let i=e?`${e}/${r.name}`:r.name;r.kind===`directory`?n.push(i):await this.classifyFile(i,r.etag??``,t)}await this.cache.putListing(e,i)}async refreshBodies(e){for(let t of e.changed)try{await this.readFile(t)}catch(n){e.errors.push({path:t,message:n instanceof Error?n.message:String(n)})}}describe(){return{displayName:`${this.parsed.org}/${this.parsed.site}${this.parsed.path?`/${this.parsed.path}`:``}`,source:this.source,profile:this.profile}}async close(){this.closed||=!0}};function d(e,t,n){let r=i([{name:`data`,file:{bytes:n,filename:e,contentType:t}}]);return{contentType:r.contentType,body:r.bytes}}function f(e){return e.split(`/`).pop()||`data`}function p(e){let t=e.match(/^da:\/\/([^/]+)\/([^/]+)(?:\/(.*))?$/);if(!t)throw Error(`invalid DA source '${e}' — expected da://org/repo[/path]`);return{org:t[1],repo:t[2],path:(t[3]??``).replace(/^\/+/,``).replace(/\/+$/,``)}}var m=class{kind=`da`;source;profile;mountId;parsed;cache;maxBodyBytes;transport;closed=!1;constructor(e){this.source=e.source,this.profile=e.profile,this.mountId=e.mountId??crypto.randomUUID(),this.parsed=p(e.source),this.cache=e.cache,this.maxBodyBytes=e.maxBodyBytes??5242880,this.transport=e.signedFetch}assertOpen(e){if(this.closed)throw new r(`EBADF`,`mount closed`,e)}toMountRelative(e){return e.replace(/^\/+/,``)}toSourcePath(e){let t=e.replace(/^\/+/,``).replace(/\/+$/,``),n=[this.parsed.path,t].filter(e=>e.length>0).join(`/`);return`/source/${this.parsed.org}/${this.parsed.repo}${n?`/${n}`:``}`}toListPath(e){let t=e.replace(/^\/+/,``).replace(/\/+$/,``),n=[this.parsed.path,t].filter(e=>e.length>0).join(`/`);return`/list/${this.parsed.org}/${this.parsed.repo}${n?`/${n}`:``}`}async readFile(e){this.assertOpen(e);let t=this.toMountRelative(e),n=await this.cache.getBody(t);if(n&&!this.cache.isStale(n.cachedAt))return n.body;let i={};n&&(i[`if-none-match`]=n.etag);let a=await this.transport({method:`GET`,path:this.toSourcePath(t),headers:i});if(a.status===304&&n)return await this.cache.putBody(t,n.body,n.etag),n.body;if(a.status===404)throw await this.cache.invalidateBody(t),new r(`ENOENT`,`no such file`,e);if(a.status===401||a.status===403)throw new r(`EACCES`,`da access denied`,e);if(a.status>=400)throw new r(`EIO`,`da readFile failed: ${a.status}`,e);let o=a.headers.get(`content-length`),s=o?Number(o):void 0;if(s!==void 0&&s>this.maxBodyBytes)throw new r(`EFBIG`,`body exceeds maxBodyBytes`,e);let c=new Uint8Array(await a.arrayBuffer());if(c.byteLength>this.maxBodyBytes)throw new r(`EFBIG`,`body exceeds maxBodyBytes`,e);let l=a.headers.get(`etag`)??``,u=l.startsWith(`W/`)?l.slice(2):l;return await this.cache.putBody(t,c,u),c}async writeFile(e,t){if(this.assertOpen(e),t.byteLength>this.maxBodyBytes)throw new r(`EFBIG`,`body exceeds maxBodyBytes`,e);let i=this.toMountRelative(e),a=await this.cache.getBody(i),o=d(f(e),n(e),t),s={"content-type":o.contentType,"content-length":String(o.body.byteLength)};a?.etag?s[`if-match`]=a.etag.startsWith(`W/`)?a.etag.slice(2):a.etag:a||(s[`if-none-match`]=`*`);let c=()=>this.transport({method:`POST`,path:this.toSourcePath(i),headers:s,body:o.body}),l,u=1;try{l=await c()}catch{u=2,l=await c()}if(l.status===412){if(u===2){let n=await this.transport({method:`HEAD`,path:this.toSourcePath(i)});if(n.status>=400)throw new r(`EIO`,`da reconcile HEAD failed: ${n.status}`,e);let a=n.headers.get(`etag`)??``;await this.cache.putBody(i,t,a);let o=i.split(`/`).slice(0,-1).join(`/`);await this.cache.invalidateListing(o);return}await this.cache.invalidateBody(i);try{await this.readFile(e)}catch{}throw new r(`EBUSY`,`remote modified since last read — re-read and retry`,e)}if(l.status===401||l.status===403)throw new r(`EACCES`,`da write denied`,e);if(l.status>=400)throw new r(`EIO`,`da writeFile failed: ${l.status}`,e);let p=l.headers.get(`etag`)??``;await this.cache.putBody(i,t,p);let m=i.split(`/`).slice(0,-1).join(`/`);await this.cache.invalidateListing(m)}async readDir(e){this.assertOpen(e);let t=this.toMountRelative(e).replace(/\/+$/,``),n=await this.cache.getListing(t);if(n&&!this.cache.isStale(n.cachedAt))return n.entries;let i=await this.transport({method:`GET`,path:this.toListPath(t)});if(i.status===404)throw new r(`ENOENT`,`no such directory`,e);if(i.status>=400)throw new r(`EIO`,`da list failed: ${i.status}`,e);let a=(await i.json()).map(e=>e.ext?{name:`${e.name}.${e.ext}`,kind:`file`,etag:e.etag,lastModified:e.lastModified}:{name:e.name,kind:`directory`,lastModified:e.lastModified});return await this.cache.putListing(t,a),a}async stat(e){this.assertOpen(e);let t=this.toMountRelative(e),n=await this.cache.getBody(t);if(n)return{kind:`file`,size:n.size,mtime:n.cachedAt,etag:n.etag};let i=t.split(`/`),a=i.pop()??``,o=i.join(`/`),s=await this.cache.getListing(o);if(s&&!this.cache.isStale(s.cachedAt)){let t=s.entries.find(e=>e.name===a);if(t?.kind===`file`&&t.size!==void 0)return{kind:`file`,size:t.size,mtime:t.lastModified??s.cachedAt,etag:t.etag??``};if(t?.kind===`directory`)return{kind:`directory`,size:0,mtime:t.lastModified??s.cachedAt};if(!t)throw new r(`ENOENT`,`no such file or directory`,e)}let c=await this.transport({method:`HEAD`,path:this.toSourcePath(t)});if(c.status===200){let e=Number(c.headers.get(`content-length`)??`0`),t=c.headers.get(`etag`)??``,n=c.headers.get(`last-modified`),r=n?Date.parse(n):0;if(s){let n=s.entries.map(n=>n.name===a&&n.kind===`file`?{...n,size:e,etag:t,lastModified:r}:n);await this.cache.putListing(o,n)}return{kind:`file`,size:e,mtime:r,etag:t}}if(c.status===404){let n=await this.cache.getListing(t);if(n)return{kind:`directory`,size:0,mtime:n.cachedAt};throw new r(`ENOENT`,`no such file or directory`,e)}throw new r(`EIO`,`da stat failed: ${c.status}`,e)}async mkdir(e){}async remove(e){this.assertOpen(e);let t=this.toMountRelative(e),n=await this.transport({method:`DELETE`,path:this.toSourcePath(t)});if(n.status===404)throw new r(`ENOENT`,`no such file`,e);if(n.status===401||n.status===403)throw new r(`EACCES`,`da delete denied`,e);if(n.status>=400)throw new r(`EIO`,`da delete failed: ${n.status}`,e);await this.cache.invalidateBody(t);let i=t.split(`/`).slice(0,-1).join(`/`);await this.cache.invalidateListing(i)}async refresh(e){this.assertOpen(`/`);let t={added:[],removed:[],changed:[],unchanged:0,errors:[]},n=[``];for(;n.length>0;){let e=n.pop();try{await this.refreshDir(e,t,n)}catch(n){t.errors.push({path:e,message:n instanceof Error?n.message:String(n)})}}return e?.bodies&&await this.refreshBodies(t),t}async classifyFile(e,t,n){let r=await this.cache.getBody(e);r?t&&r.etag!==t?(await this.cache.invalidateBody(e),n.changed.push(e)):n.unchanged++:n.added.push(e)}async refreshDir(e,t,n){let r=await this.transport({method:`GET`,path:this.toListPath(e)});if(r.status>=400){t.errors.push({path:e,message:`list failed: ${r.status}`});return}let i=await r.json(),a=[];for(let r of i)if(r.ext){let n=e?`${e}/${r.name}.${r.ext}`:`${r.name}.${r.ext}`;a.push({name:`${r.name}.${r.ext}`,kind:`file`,etag:r.etag,lastModified:r.lastModified}),await this.classifyFile(n,r.etag,t)}else a.push({name:r.name,kind:`directory`}),n.push(e?`${e}/${r.name}`:r.name);await this.cache.putListing(e,a)}async refreshBodies(e){for(let t of e.changed)try{await this.readFile(t)}catch(n){e.errors.push({path:t,message:n instanceof Error?n.message:String(n)})}}describe(){return{displayName:`${this.parsed.org}/${this.parsed.repo}${this.parsed.path?`/${this.parsed.path}`:``}`,source:this.source,profile:this.profile}}async close(){this.closed||=!0}};function h(e){let t=e.match(/^s3:\/\/([^/]+)(?:\/(.*))?$/);if(!t)throw Error(`invalid S3 source '${e}' — expected s3://bucket[/prefix]`);return{bucket:t[1],prefix:(t[2]??``).replace(/^\/+/,``).replace(/\/+$/,``)}}var g=class{kind=`s3`;source;profile;mountId;parsed;cache;maxBodyBytes;transport;closed=!1;constructor(e){this.source=e.source,this.profile=e.profile,this.mountId=e.mountId??crypto.randomUUID(),this.parsed=h(e.source),this.cache=e.cache,this.maxBodyBytes=e.maxBodyBytes??26214400,this.transport=e.signedFetch}assertOpen(e){if(this.closed)throw new r(`EBADF`,`mount closed`,e)}toMountRelative(e){return e.replace(/^\/+/,``)}toS3Key(e){let t=e.replace(/^\/+/,``).replace(/\/+$/,``);return[this.parsed.prefix,t].filter(e=>e.length>0).join(`/`)}toMountRelativeKey(e){return this.parsed.prefix?e.slice(this.parsed.prefix.length+1):e}async readFile(e){this.assertOpen(e);let t=this.toMountRelative(e),n=await this.cache.getBody(t);if(n&&!this.cache.isStale(n.cachedAt))return n.body;let i={};n&&(i[`if-none-match`]=n.etag);let a=await this.transport({method:`GET`,bucket:this.parsed.bucket,key:this.toS3Key(t),headers:i});if(a.status===304&&n)return await this.cache.putBody(t,n.body,n.etag),n.body;if(a.status===404)throw await this.cache.invalidateBody(t),new r(`ENOENT`,`no such file`,e);if(a.status===401||a.status===403)throw new r(`EACCES`,`s3 access denied`,e);if(a.status>=400)throw new r(`EIO`,`s3 readFile failed: ${a.status}`,e);let o=a.headers.get(`content-length`),s=o?Number(o):void 0;if(s!==void 0&&s>this.maxBodyBytes)throw new r(`EFBIG`,`body exceeds maxBodyBytes (${s} > ${this.maxBodyBytes})`,e);let c=new Uint8Array(await a.arrayBuffer());if(c.byteLength>this.maxBodyBytes)throw new r(`EFBIG`,`body exceeds maxBodyBytes`,e);let l=a.headers.get(`etag`)??``;return await this.cache.putBody(t,c,l),c}async writeFile(e,t){this.assertOpen(e);let n=this.toMountRelative(e);if(t.byteLength>this.maxBodyBytes)throw new r(`EFBIG`,`body exceeds maxBodyBytes`,e);let i=await this.cache.getBody(n),a={"content-type":`application/octet-stream`,"content-length":String(t.byteLength)};i?a[`if-match`]=i.etag:a[`if-none-match`]=`*`;let o=()=>this.transport({method:`PUT`,bucket:this.parsed.bucket,key:this.toS3Key(n),headers:a,body:t}),s,c=1;try{s=await o()}catch{c=2,s=await o()}if(s.status===412){if(c===2){let i=await this.transport({method:`HEAD`,bucket:this.parsed.bucket,key:this.toS3Key(n)});if(i.status>=400)throw new r(`EIO`,`s3 reconcile HEAD failed: ${i.status}`,e);let a=i.headers.get(`etag`)??``;await this.cache.putBody(n,t,a);let o=n.split(`/`).slice(0,-1).join(`/`);await this.cache.invalidateListing(o);return}await this.cache.invalidateBody(n);try{await this.readFile(e)}catch{}throw new r(`EBUSY`,`remote modified since last read — re-read and retry`,e)}if(s.status===401||s.status===403)throw new r(`EACCES`,`s3 write denied`,e);if(s.status>=400)throw new r(`EIO`,`s3 writeFile failed: ${s.status}`,e);let l=s.headers.get(`etag`)??``;await this.cache.putBody(n,t,l);let u=n.split(`/`).slice(0,-1).join(`/`);await this.cache.invalidateListing(u)}async listObjectsV2(){let e=[],t;do{let n={"list-type":`2`};this.parsed.prefix&&(n.prefix=`${this.parsed.prefix}/`),t&&(n[`continuation-token`]=t);let i=await this.transport({method:`GET`,bucket:this.parsed.bucket,key:``,query:n});if(i.status>=400)throw new r(`EIO`,`s3 list failed: ${i.status}`,`/`);let a=await i.text(),o=this.parseListingXml(a);e.push(...o.contents),t=o.nextContinuationToken}while(t);return e}parseListingXml(e){let t=[];for(let n of e.matchAll(/<Contents>([\s\S]*?)<\/Contents>/g)){let e=n[1],r=e.match(/<Key>([^<]+)<\/Key>/)?.[1]??``,i=e.match(/<ETag>([^<]+)<\/ETag>/)?.[1]??``,a=e.match(/<Size>([^<]+)<\/Size>/)?.[1]??`0`,o=e.match(/<LastModified>([^<]+)<\/LastModified>/)?.[1]??``;t.push({key:r,etag:i,size:Number(a),lastModified:o?Date.parse(o):0})}return{contents:t,nextContinuationToken:e.match(/<IsTruncated>([^<]+)<\/IsTruncated>/)?.[1]===`true`?e.match(/<NextContinuationToken>([^<]+)<\/NextContinuationToken>/)?.[1]:void 0}}async readDir(e){this.assertOpen(e);let t=this.toMountRelative(e).replace(/\/+$/,``),n=await this.cache.getListing(t);if(n&&!this.cache.isStale(n.cachedAt))return n.entries;let r=await this.listObjectsV2(),i=this.groupByDir(r);for(let[e,t]of i)await this.cache.putListing(e,t);return i.get(t)??[]}groupByDir(e){let t=new Map,n=e=>(t.has(e)||t.set(e,[]),t.get(e));n(``);for(let t of e){let e=this.toMountRelativeKey(t.key).split(`/`),r=e.pop();n(e.join(`/`)).push({name:r,kind:`file`,size:t.size,etag:t.etag,lastModified:t.lastModified});let i=``;for(let t of e){let e=i;i=i?`${i}/${t}`:t;let r=n(e);r.find(e=>e.name===t&&e.kind===`directory`)||r.push({name:t,kind:`directory`}),n(i)}}return t}async stat(e){this.assertOpen(e);let t=this.toMountRelative(e),n=await this.cache.getBody(t);if(n)return{kind:`file`,size:n.body.byteLength,mtime:n.cachedAt,etag:n.etag};let i=t.split(`/`),a=i.pop()??``,o=i.join(`/`),s=await this.cache.getListing(o);if(s&&!this.cache.isStale(s.cachedAt)){let t=s.entries.find(e=>e.name===a);if(t?.kind===`file`&&t.size!==void 0)return{kind:`file`,size:t.size,mtime:t.lastModified??s.cachedAt,etag:t.etag??``};if(t?.kind===`directory`)return{kind:`directory`,size:0,mtime:t.lastModified??s.cachedAt};if(!t)throw new r(`ENOENT`,`no such file or directory`,e)}let c=await this.transport({method:`HEAD`,bucket:this.parsed.bucket,key:this.toS3Key(t)});if(c.status===200){let e=Number(c.headers.get(`content-length`)??`0`),t=c.headers.get(`etag`)??``,n=c.headers.get(`last-modified`);return{kind:`file`,size:e,mtime:n?Date.parse(n):0,etag:t}}if(c.status===404){let n=await this.cache.getListing(t);if(n)return{kind:`directory`,size:0,mtime:n.cachedAt};throw new r(`ENOENT`,`no such file or directory`,e)}throw new r(`EIO`,`s3 stat failed: ${c.status}`,e)}async refresh(e){this.assertOpen(`/`);let t=await this.listObjectsV2(),n=new Set(t.map(e=>this.toMountRelativeKey(e.key))),r=new Map(t.map(e=>[this.toMountRelativeKey(e.key),e.etag])),i={added:[],removed:[],changed:[],unchanged:0,errors:[]};for(let e of n){let t=await this.cache.getBody(e),n=r.get(e);t?t.etag===n?i.unchanged++:(await this.cache.invalidateBody(e),i.changed.push(e)):i.added.push(e)}let a=this.groupByDir(t);for(let[e,t]of a)await this.cache.putListing(e,t);if(e?.bodies)for(let e of i.changed)try{await this.readFile(e)}catch(t){i.errors.push({path:e,message:t instanceof Error?t.message:String(t)})}return i}async mkdir(e){}async remove(e,t){this.assertOpen(e);let n=this.toMountRelative(e);if(t?.recursive)throw new r(`EINVAL`,`recursive remove not yet supported on S3`,e);let i=await this.transport({method:`DELETE`,bucket:this.parsed.bucket,key:this.toS3Key(n)});if(i.status===404)throw new r(`ENOENT`,`no such file`,e);if(i.status===401||i.status===403)throw new r(`EACCES`,`s3 delete denied`,e);if(i.status>=400)throw new r(`EIO`,`s3 delete failed: ${i.status}`,e);await this.cache.invalidateBody(n);let a=n.split(`/`).slice(0,-1).join(`/`);await this.cache.invalidateListing(a)}describe(){return{displayName:this.parsed.prefix?`${this.parsed.bucket}/${this.parsed.prefix}`:this.parsed.bucket,source:this.source,profile:this.profile}}async close(){this.closed||=!0}},_=class extends Error{constructor(e){super(e),this.name=`ProfileNotConfiguredError`}};async function v(){let{getAccounts:e}=await import(`./account-store-C8W_QB2_.js`).then(e=>e.t),t=e().find(e=>e.providerId===`adobe`);if(!t?.accessToken)throw new _(`No Adobe IMS account found. Log in via Settings → Providers → Adobe first.`);return{identity:`adobe-ims`,getBearerToken:async()=>t.accessToken}}let y;function b(e){y=e}function x(){return y}const S=t,C=e,w=new Set([`invalid_profile`,`invalid_request`,`profile_not_configured`,`fetch_failed`,`internal`]),T=new Set([101,103,204,205,304]);function E(e){if(!e.ok)throw e.errorCode===`profile_not_configured`||e.errorCode===`invalid_profile`?new r(`EACCES`,e.error):e.errorCode===`invalid_request`?new r(`EINVAL`,e.error):e.errorCode===`fetch_failed`||e.errorCode===`internal`||w.has(String(e.errorCode))?new r(`EIO`,e.error):new r(`EINVAL`,`mount transport returned unrecognized errorCode '${e.errorCode}': ${e.error}`);let t;try{t=S(e.bodyBase64)}catch(e){throw new r(`EIO`,`mount transport: response body decode failed: ${e instanceof Error?e.message:String(e)}`)}let n=T.has(e.status)?null:t;return new Response(n,{status:e.status,headers:new Headers(e.headers)})}function D(e,t){return t===void 0?e===`node-rest`?` (SLICC backend at localhost may not be running)`:e===`extension-direct`||e===`extension-delegate`?` (extension service worker not responding)`:``:``}async function O(e){let t=x();if(!t)throw new r(`EIO`,`mount transport unavailable: setMountCapabilityBroker was never called for this float (composition bug — refusing to guess a transport for a privileged sign-and-forward request)`);let n=await t.mounts.signRequest(e);if(!n.ok){let e=`status`in n?n.status:void 0;throw new r(`EIO`,`mount transport failed: ${n.message}${D(t.adapter,e)}`)}return n.value}function k(e){return async t=>E(await O({backend:`s3`,envelope:{profile:e,method:t.method,bucket:t.bucket,key:t.key,query:t.query,headers:t.headers,bodyBase64:t.body?C(t.body):void 0}}))}function A(e){let t=e?.getImsToken??(async()=>(await v()).getBearerToken());return async e=>{let n;try{n=await t()}catch(e){throw new r(`EACCES`,`DA mount: ${e instanceof Error?e.message:String(e)}`)}return E(await O({backend:`da`,envelope:{imsToken:n,method:e.method,path:e.path,origin:e.origin,query:e.query,headers:e.headers,bodyBase64:e.body?C(e.body):void 0}}))}}export{m as a,g as i,k as n,a as o,b as r,u as s,A as t};
@@ -1 +0,0 @@
1
- function e(){return{version:`6.232.2`,releasedAt:`2026-10-01T10:00:29Z`,buildId:`6.232.2-mupd5mhx`}}let t=null;function n(e){t=e}function r(){return t}export{e as n,n as r,r as t};
@@ -1,5 +0,0 @@
1
- import{r as e}from"./panel-rpc-DW7W4w6_.js";import{m as t}from"./state-CRuL5BZp.js";function n(e,t=``){if(e==null)return t;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return String(e);try{return JSON.stringify(e)??t}catch{return String(e)}}function r(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/\n/g,`\\n`)}function i(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}const a=[`none`,`presentation`,`generic`,`rootwebarea`],o=[`textbox`,`button`,`link`,`checkbox`,`radio`];function s(e,t){return a.includes(e)?!1:!!t||o.includes(e)}function c(e,t){let n=i(t);return e===`button`&&t?[`button[aria-label="${n}"]`,`button[title="${n}"]`,`[role="button"][aria-label="${n}"]`,`[role="button"][title="${n}"]`,`input[type="button"][value="${n}"]`,`input[type="submit"][value="${n}"]`,`input[type="reset"][value="${n}"]`].join(`, `):e===`link`&&t?`a[aria-label="${n}"], a[title="${n}"], [role="link"][aria-label="${n}"], [role="link"][title="${n}"]`:e===`textbox`?t?`input[aria-label="${n}"], textarea[aria-label="${n}"], [contenteditable][aria-label="${n}"], input[placeholder="${n}"], textarea[placeholder="${n}"], [contenteditable][placeholder="${n}"], input[title="${n}"], textarea[title="${n}"], [contenteditable][title="${n}"]`:`input, textarea, [contenteditable]`:e===`checkbox`?`input[type="checkbox"]`:e===`radio`?`input[type="radio"]`:t?`[aria-label="${n}"], [title="${n}"]`:`[role="${e}"]`}function l(e,t,i,a,o=``,u=``){let d=[],f=n(e.role,`unknown`).toLowerCase(),p=n(e.name),m=n(e.value),h=``;s(f,p)&&(h=u+`e${++a.value}`,e.backendNodeId&&i.set(h,e.backendNodeId),t.set(h,c(f,p)));let g=`${o}- ${f}`;if(p&&(g+=` "${r(p)}"`),h&&(g+=` [ref=${h}]`),m&&(g+=`: "${r(m)}"`),d.push(g),e.children)for(let n of e.children)d.push(...l(n,t,i,a,o+` `,u));return d}async function u(e,t){if(t.appTabId)return;let n=await e.listPages(),r=await d(),i=n.find(e=>e.url.startsWith(r)&&!e.url.includes(`/preview/`));i&&(t.appTabId=i.targetId)}async function d(){if(typeof window<`u`)return window.location.origin;let t=e();if(t)try{let e=await t.call(`page-info`,void 0,{timeoutMs:2e3});if(e.origin)return e.origin}catch{}return`http://localhost:5710`}function f(e,t){return t===e.appTabId}function p(e){let t=e.url.trim(),n=e.title.trim();return n===`Omnibox Popup`||t.startsWith(`chrome://`)||t.startsWith(`chrome-search://`)||t.startsWith(`chrome-untrusted://`)||t.startsWith(`devtools://`)||t.length===0&&/popup$/i.test(n)}function m(e,t){return!f(e,t.targetId)&&!p(t)}async function h(e,n){return await u(e,n),(await t(e)).filter(e=>m(n,e))}function g(e,t){try{let n=new URL(e,t);return n.origin+n.pathname.replace(/\/$/,``)+n.search}catch{return null}}function _(e,t,n,r){let i=g(t,n);return e.find(e=>{if(r.has(e.frameId))return!1;let n=g(e.url);return n!==null&&i!==null?n===i:e.url===t})}async function v(e,t,n,r,i,a,o){try{let s=await e.getAccessibilityTreeForFrame(t),c=new Map,u=new Map,d=l(s,c,u,{value:0},n,r);for(let[e,n]of c)i.set(e,n),o.set(e,t);for(let[e,n]of u)a.set(e,n),o.set(e,t);return d}catch{return[]}}async function y(e,t,n,r,i,a){if(typeof e.getFrameTree!=`function`)return t;try{let o=(await e.getFrameTree()).filter(e=>e.parentFrameId);if(o.length===0)return t;let s=0,c=[],l=new Set;for(let u of t.split(`
2
- `)){c.push(u);let t=u.match(/^(\s*)- iframe(?=\s|:)/);if(!t)continue;let d=u.match(/:\s*"([^"]+)"\s*$/);if(!d)continue;let f=_(o,d[1],n,l);f&&(l.add(f.frameId),s++,c.push(...await v(e,f.frameId,t[1]+` `,`f${s}`,r,i,a)))}return c.join(`
3
- `)}catch{return t}}async function b(e,t){let n=await e.evaluate(`JSON.stringify({ url: location.href, title: document.title })`),{url:r,title:i}=JSON.parse(n),a=await e.getAccessibilityTree(),o=new Map,s=new Map,c=new Map,u=l(a,o,s,{value:0}).join(`
4
- `);return t?.noIframes||(u=await y(e,u,r,o,s,c)),{url:r,title:i,text:u,refToSelector:o,refToBackendNodeId:s,refToFrameId:c}}async function x(e,t,n,r){let{url:i,title:a,text:o,refToSelector:s,refToBackendNodeId:c,refToFrameId:l}=await b(e,r),u={url:i,title:a,refToSelector:s,refToBackendNodeId:c,refToFrameId:l,content:o,timestamp:Date.now()};return t.snapshots.set(n,u),{snapshot:u,output:[`Page URL: ${i}`,`Page Title: ${a}`,``,o].join(`
5
- `)}}export{x as a,u as i,h as n,n as o,l as r,b as t};