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
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secrets-bridge-client-D734Xx8G.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/port-bridge-client-B-gpiOVR.js","assets/logger-DDBAeTLF.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/mount-bridge-client-DTSknauQ.js","assets/types-D8gIX-W-.js","assets/page-approval-service-ja6kjLj8.js","assets/float-topology-C_iRKPQK.js","assets/proxied-fetch-4VBgrEIu.js","assets/preload-helper-Czpn1I53.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.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-DGOyFpbk.js","assets/speak-BX-VG7dD.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-BCKpGSnX.js","assets/wc-shell-BcFO-uxW.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-8pdjPGXe.js","assets/core-Cx9N3lmn.js","assets/compat-BAGLwgqY.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DHpsqCCC.js","assets/libesm-BypnjKEL.js","assets/feature-flags-DvsApnS-.js","assets/secret-topology-hMRoGGjt.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/telemetry-B0sKnLBU.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-2DY2vYOc.js","assets/wc-shell-WkeczD9x.css","assets/shared-DSEuryGJ.js","assets/hear-DRUm5iko.js","assets/permissions-surface-registry-CilCRwhh.js","assets/whisper-session-O3Gzp4bw.js","assets/mount-picker-popup-qcWGbpG5.js","assets/picker-popup-sQtXmfAo.js","assets/proxied-fetch-raw-DQ0-xn2O.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{f as i,q as a}from"./account-store-8pdjPGXe.js";import"./proxied-fetch-4VBgrEIu.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-DE492KKE.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-D734Xx8G.js`).then(e=>e.t);return{callSecretsBridge:e}},__vite__mapDeps([0,1,2,3,4,5,6]));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-DTSknauQ.js`);return{callMountBridge:e}},__vite__mapDeps([7,2,3,4,5,6,8]));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-ja6kjLj8.js`);return{resolveSudoApprovalInPage:e}},__vite__mapDeps([9,3,10,11,1,12,13,14,4,5,15]));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-4VBgrEIu.js`).then(e=>e.i);return{collectViaExtensionDelegate:e}},__vite__mapDeps([11,1,12,13,14,4,5])),{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([16,1,12,17]))).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([16,1,12,17]))).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([16,1,12,17]))).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([16,1,12,17]))).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([16,1,12,17]))).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([16,1,12,17]))).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([16,1,12,17]))).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([16,1,12,17]))).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([16,1,12,17]))).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([18,19,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})=>(a(e,t),{storeAfter:i()}),"silent-renew":async({providerId:t})=>{let{getRegisteredProviderConfig:n}=await e(async()=>{let{getRegisteredProviderConfig:e}=await import(`./providers-DGOyFpbk.js`).then(e=>e.r);return{getRegisteredProviderConfig:e}},__vite__mapDeps([20,1,12])),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-BX-VG7dD.js`);return{speak:e}},__vite__mapDeps([21,12,3,5,22,23,24,1,25,13,26,27,28,29,30,31,32,33,34,35,36,37,11,14,4,38,10,0,2,6,39,40,20,41,42,43,44,45,8,46,47,48,49]));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-BX-VG7dD.js`);return{kokoroVoicesIfReady:e}},__vite__mapDeps([21,12,3,5,22,23,24,1,25,13,26,27,28,29,30,31,32,33,34,35,36,37,11,14,4,38,10,0,2,6,39,40,20,41,42,43,44,45,8,46,47,48,49])),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-BX-VG7dD.js`);return{kokoroStatus:e}},__vite__mapDeps([21,12,3,5,22,23,24,1,25,13,26,27,28,29,30,31,32,33,34,35,36,37,11,14,4,38,10,0,2,6,39,40,20,41,42,43,44,45,8,46,47,48,49]));return t()},"speak-warmup":async()=>{let{kokoroWarmup:t}=await e(async()=>{let{kokoroWarmup:e}=await import(`./speak-BX-VG7dD.js`);return{kokoroWarmup:e}},__vite__mapDeps([21,12,3,5,22,23,24,1,25,13,26,27,28,29,30,31,32,33,34,35,36,37,11,14,4,38,10,0,2,6,39,40,20,41,42,43,44,45,8,46,47,48,49]));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-BX-VG7dD.js`);return{synthesizeToWav:e}},__vite__mapDeps([21,12,3,5,22,23,24,1,25,13,26,27,28,29,30,31,32,33,34,35,36,37,11,14,4,38,10,0,2,6,39,40,20,41,42,43,44,45,8,46,47,48,49])),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-DRUm5iko.js`);return{hearCapture:e}},__vite__mapDeps([50,3,51,52,12,23,24,1,25,13,26,27,28,29,30,31,32,33,34,35,36,37,11,14,4,5,38,10,0,2,6,39,40,20,41,42,43,44,45,8,46,47,48,49]));return await n(t??{})},"hear-transcribe":async({bytes:t,lang:n})=>{let{hearTranscribe:r}=await e(async()=>{let{hearTranscribe:e}=await import(`./hear-DRUm5iko.js`);return{hearTranscribe:e}},__vite__mapDeps([50,3,51,52,12,23,24,1,25,13,26,27,28,29,30,31,32,33,34,35,36,37,11,14,4,5,38,10,0,2,6,39,40,20,41,42,43,44,45,8,46,47,48,49]));return await r(t,n)},"hear-status":async()=>{let{hearStatus:t}=await e(async()=>{let{hearStatus:e}=await import(`./hear-DRUm5iko.js`);return{hearStatus:e}},__vite__mapDeps([50,3,51,52,12,23,24,1,25,13,26,27,28,29,30,31,32,33,34,35,36,37,11,14,4,5,38,10,0,2,6,39,40,20,41,42,43,44,45,8,46,47,48,49]));return t()},"hear-warmup":async()=>{let{hearWarmup:t}=await e(async()=>{let{hearWarmup:e}=await import(`./hear-DRUm5iko.js`);return{hearWarmup:e}},__vite__mapDeps([50,3,51,52,12,23,24,1,25,13,26,27,28,29,30,31,32,33,34,35,36,37,11,14,4,5,38,10,0,2,6,39,40,20,41,42,43,44,45,8,46,47,48,49]));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([53,3,54,5])),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-DQ0-xn2O.js`);return{getRawFetchCapabilities:e}},__vite__mapDeps([55,12,14,4,5,56,57,13]));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-DQ0-xn2O.js`),__vite__mapDeps([55,12,14,4,5,56,57,13])),e(()=>import(`./proxied-fetch-raw-port-Dv7XYtb4.js`),__vite__mapDeps([57,13,56,4,5]))]),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([58,1,3]));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([59,60,26,61]));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([59,60,26,61]));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};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./panel-rpc-accessor-B4BfPLSo.js";var n=e({COMPUTER_NATIVE_FRAME_CHANNEL:()=>a,PANEL_RPC_DEFAULT_TIMEOUT_MS:()=>PANEL_RPC_DEFAULT_TIMEOUT_MS,createPanelRpcEventEmitter:()=>o,getPanelRpcClient:()=>t,installPanelRpcHandler:()=>s,panelRpcChannelName:()=>i}),r=`slicc-panel-rpc`;function i(e){return e?`${r}:${e}`:r}var a=`computer-native-frame`;function o(e={}){if(typeof BroadcastChannel!=`function`)return{emit:()=>{},dispose:()=>{}};let t=new BroadcastChannel(i(e.instanceId));return{emit(e,n){let r={type:`panel-rpc-event`,channel:e,payload:n};try{t.postMessage(r)}catch(t){console.warn(`panel-rpc: failed to emit event '${e}':`,t instanceof Error?t.message:String(t))}},dispose(){try{t.close()}catch{}}}}function s(e){if(typeof BroadcastChannel!=`function`)return()=>{};let t=new BroadcastChannel(i(e.instanceId)),n=(e,n,r)=>{let i={type:`panel-rpc-response`,id:e};r===void 0?i.result=n:i.error=r;try{t.postMessage(i)}catch(t){let n=t instanceof Error?t.message:String(t);console.warn(`panel-rpc: failed to post response for id=${e}: ${n}`)}},r=async t=>{let r=t.data;if(r?.type!==`panel-rpc-request`)return;let i=e.handlers[r.op];if(!i){n(r.id,void 0,`panel-rpc: no handler for op '${r.op}'`);return}try{let e=await i(r.payload);n(r.id,e)}catch(e){n(r.id,void 0,e instanceof Error?e.message:String(e))}};return t.addEventListener(`message`,r),()=>{t.removeEventListener(`message`,r);try{t.close()}catch{}}}export{n,i as t};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import{F as t,H as n,J as r,K as i,M as a,U as o,V as s,W as c,Y as l,q as u}from"./wc-shell-BzYq0ESt.js";import"./virtual-device-paths-D45tpPP6.js";import{r as d}from"./icons-2DY2vYOc.js";import{setLayoutApplier as f}from"./layout-apply-registry-Cw730jao.js";var p=e(`add-panel-menu`),m=`slicc-add-panel-menu-style`,h=[`.slicc-addpanel{position:relative;}`,`.slicc-addpanel__btn{width:26px;height:26px;display:grid;place-items:center;`,`border:1px solid var(--line);border-radius:7px;background:var(--canvas);`,`color:var(--txt-2);cursor:pointer;padding:0;font-size:15px;line-height:1;}`,`.slicc-addpanel__btn:hover{background:var(--ghost);color:var(--ink);}`,`.slicc-addpanel__menu{position:absolute;top:32px;right:0;min-width:230px;`,`max-height:70vh;overflow:auto;background:var(--canvas);border:1px solid var(--line);`,`border-radius:10px;box-shadow:var(--shadow-pane);padding:6px;display:none;`,`font-family:var(--ui);font-size:12.5px;}`,`.slicc-addpanel__menu[open]{display:block;}`,`.slicc-addpanel__group{padding:6px 8px 2px;color:var(--txt-3);font-size:10.5px;`,`text-transform:uppercase;letter-spacing:.04em;}`,`.slicc-addpanel__item{width:100%;display:flex;align-items:center;gap:8px;`,`padding:6px 8px;border:none;background:none;border-radius:6px;cursor:pointer;`,`color:var(--ink);text-align:left;font:inherit;}`,`.slicc-addpanel__item:hover{background:var(--ghost);}`,`.slicc-addpanel__check{width:12px;flex:0 0 12px;color:var(--accent);}`,`.slicc-addpanel__sep{height:1px;background:var(--line);margin:5px 4px;}`,`.slicc-addpanel__item{position:relative;}`,`.slicc-addpanel__del{margin-left:auto;flex:0 0 auto;display:grid;place-items:center;`,`width:18px;height:18px;padding:0;border:none;border-radius:4px;background:transparent;`,`color:var(--ink);opacity:0;cursor:pointer;}`,`.slicc-addpanel__item:hover .slicc-addpanel__del{opacity:0.65;}`,`.slicc-addpanel__del:hover{opacity:1;background:var(--ghost);}`,`.slicc-addpanel__del:focus-visible{opacity:1;}`].join(``),g=typeof globalThis.prompt==`function`?globalThis.prompt.bind(globalThis):void 0;function ee(e){let t=e.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[-.]+|[-.]+$/g,``).slice(0,64);return t.length>0?t:null}function te(e){if(e.getElementById(m))return;let t=e.createElement(`style`);t.id=m,t.textContent=h,(e.head??e.documentElement).appendChild(t)}function _(e){te(document);let t=document.createElement(`div`);t.className=`slicc-addpanel`;let n=document.createElement(`button`);n.type=`button`,n.className=`slicc-addpanel__btn`,n.title=`Panels and layouts`,n.setAttribute(`aria-label`,`Panels and layouts`);let r=new DOMParser().parseFromString(d(`layout-dashboard`,{size:14}),`image/svg+xml`).documentElement;n.appendChild(r);let a=document.createElement(`div`);a.className=`slicc-addpanel__menu`,a.setAttribute(`role`,`menu`);let o=(e,t,n)=>{let r=document.createElement(`button`);r.type=`button`,r.className=`slicc-addpanel__item`,r.setAttribute(`role`,`menuitem`);let i=document.createElement(`span`);i.className=`slicc-addpanel__check`,i.textContent=t?`✓`:``;let a=document.createElement(`span`);return a.textContent=e,r.append(i,a),r.addEventListener(`click`,()=>{n(),m()}),r},s=t=>{let n=o(t,!1,()=>e.onLoadLayout(t)),r=document.createElement(`button`);return r.type=`button`,r.className=`slicc-addpanel__del`,r.title=`Delete "${t}"`,r.setAttribute(`aria-label`,`Delete layout ${t}`),r.appendChild(new DOMParser().parseFromString(d(`trash-2`,{size:11}),`image/svg+xml`).documentElement),r.addEventListener(`click`,n=>{n.stopPropagation(),e.onDeleteLayout(t),m()}),n.appendChild(r),n};function c(){let t=e.promptForName??g;if(!t){p.warn(`cannot save a layout: no prompt available`);return}let n=t(`Save this layout as:`,e.layout.getLayout().id);if(n===null)return;let r=ee(n);if(!r){p.warn(`layout not saved: the name reduced to nothing`,{raw:n});return}e.onSaveLayout(r)}let l=e=>{let t=document.createElement(`div`);return t.className=`slicc-addpanel__group`,t.textContent=e,t};async function f(){let t=new Set(e.layout.getPlacedPanelIds()),n=[],r={},u=i();for(let e of u)(r[e.origin]??=[]).push(e);for(let[i,a]of[[`builtin`,`Panels`],[`sprinkle`,`Sprinkles`],[`agent`,`Made by SLICC`]]){let s=r[i];if(s?.length){n.push(l(a));for(let r of s){let i=t.has(r.meta.id);n.push(o(r.meta.title,i,()=>e.onToggle(r.meta.id,!i)))}}}try{let{saved:t,presets:r}=await e.listLayoutNames(),i=document.createElement(`div`);i.className=`slicc-addpanel__sep`,n.push(i,l(`Layouts`));for(let e of t)n.push(s(e));for(let t of r)n.push(o(t,!1,()=>e.onLoadLayout(t)));n.push(o(`Save layout as…`,!1,c))}catch(e){p.warn(`could not list layouts for the menu`,{error:e})}a.replaceChildren(...n)}function m(){a.removeAttribute(`open`),document.removeEventListener(`pointerdown`,h,!0)}let h=e=>{t.contains(e.target)||m()};return n.addEventListener(`click`,()=>{if(a.hasAttribute(`open`)){m();return}f().then(()=>{a.setAttribute(`open`,``),document.addEventListener(`pointerdown`,h,!0)})}),u.addEventListener(`panel-registry-change`,()=>{a.hasAttribute(`open`)&&f()}),t.append(n,a),t}var v={chat:`chat`,sessionsRail:`sessions-rail`,dockRail:`dock-rail`,scoopSwitcher:`scoop-switcher`,floatbar:`floatbar`,files:`files`,term:`term`,memory:`memory`,monitor:`monitor`,browser:`browser`},y={[v.chat]:{id:v.chat,title:`Chat`,icon:`message-circle`,minWidth:320,preferredSize:3},[v.sessionsRail]:{id:v.sessionsRail,title:`Sessions`,icon:`history`,preferredSize:`44px`},[v.dockRail]:{id:v.dockRail,title:`Dock`,icon:`layout-grid`,preferredSize:`48px`},[v.scoopSwitcher]:{id:v.scoopSwitcher,title:`Scoops`,icon:`users`},[v.floatbar]:{id:v.floatbar,title:`Runtime`,icon:`activity`},[v.files]:{id:v.files,title:`Files`,icon:`folder`,minWidth:220},[v.term]:{id:v.term,title:`Terminal`,icon:`square-terminal`},[v.memory]:{id:v.memory,title:`Memory`,icon:`brain`},[v.monitor]:{id:v.monitor,title:`Monitor`,icon:`activity`},[v.browser]:{id:v.browser,title:`Browser`,icon:`globe`}};function b(e,t){let n=document.createElement(`slicc-panel`);n.setAttribute(`panel-id`,e);let r=y[e];return r?.title&&n.setAttribute(`aria-label`,r.title),n.appendChild(t),n}function x(){for(let e of Object.values(y))r({meta:e,source:{kind:`element`,tag:`slicc-panel`},origin:`builtin`})}function ne(e){if(!e?.startsWith(`sprinkle:`))return null;let t=e.slice(9);return t.length>0?t:null}function S(){return{when:{maxWidth:700},docks:[],zones:{center:[v.chat]},floating:[]}}function C(){return[{edge:`top`,size:`36px`,panels:[v.scoopSwitcher,v.floatbar],locked:!0},{edge:`left`,size:`44px`,panels:[v.sessionsRail],locked:!0},{edge:`right`,size:`48px`,panels:[v.dockRail],locked:!0}]}var w={version:1,id:`default`,title:`Default`,base:{docks:C(),zones:{center:[v.chat]}},variants:[S()]},T={default:w};function E(e){return T[e]??null}function D(){return Object.keys(T)}e(`sudo:sudoers`);var O=`/etc/slicc/layouts`;[`NOPASSWD Read /tmp`,`NOPASSWD Read /tmp/**`,`NOPASSWD Write /tmp`,`NOPASSWD Write /tmp/**`].join(`
1
+ import{t as e}from"./logger-DDBAeTLF.js";import{F as t,H as n,J as r,K as i,M as a,U as o,V as s,W as c,Y as l,q as u}from"./wc-shell-BcFO-uxW.js";import"./virtual-device-paths-D45tpPP6.js";import{r as d}from"./icons-2DY2vYOc.js";import{setLayoutApplier as f}from"./layout-apply-registry-Cw730jao.js";var p=e(`add-panel-menu`),m=`slicc-add-panel-menu-style`,h=[`.slicc-addpanel{position:relative;}`,`.slicc-addpanel__btn{width:26px;height:26px;display:grid;place-items:center;`,`border:1px solid var(--line);border-radius:7px;background:var(--canvas);`,`color:var(--txt-2);cursor:pointer;padding:0;font-size:15px;line-height:1;}`,`.slicc-addpanel__btn:hover{background:var(--ghost);color:var(--ink);}`,`.slicc-addpanel__menu{position:absolute;top:32px;right:0;min-width:230px;`,`max-height:70vh;overflow:auto;background:var(--canvas);border:1px solid var(--line);`,`border-radius:10px;box-shadow:var(--shadow-pane);padding:6px;display:none;`,`font-family:var(--ui);font-size:12.5px;}`,`.slicc-addpanel__menu[open]{display:block;}`,`.slicc-addpanel__group{padding:6px 8px 2px;color:var(--txt-3);font-size:10.5px;`,`text-transform:uppercase;letter-spacing:.04em;}`,`.slicc-addpanel__item{width:100%;display:flex;align-items:center;gap:8px;`,`padding:6px 8px;border:none;background:none;border-radius:6px;cursor:pointer;`,`color:var(--ink);text-align:left;font:inherit;}`,`.slicc-addpanel__item:hover{background:var(--ghost);}`,`.slicc-addpanel__check{width:12px;flex:0 0 12px;color:var(--accent);}`,`.slicc-addpanel__sep{height:1px;background:var(--line);margin:5px 4px;}`,`.slicc-addpanel__item{position:relative;}`,`.slicc-addpanel__del{margin-left:auto;flex:0 0 auto;display:grid;place-items:center;`,`width:18px;height:18px;padding:0;border:none;border-radius:4px;background:transparent;`,`color:var(--ink);opacity:0;cursor:pointer;}`,`.slicc-addpanel__item:hover .slicc-addpanel__del{opacity:0.65;}`,`.slicc-addpanel__del:hover{opacity:1;background:var(--ghost);}`,`.slicc-addpanel__del:focus-visible{opacity:1;}`].join(``),g=typeof globalThis.prompt==`function`?globalThis.prompt.bind(globalThis):void 0;function ee(e){let t=e.trim().toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[-.]+|[-.]+$/g,``).slice(0,64);return t.length>0?t:null}function te(e){if(e.getElementById(m))return;let t=e.createElement(`style`);t.id=m,t.textContent=h,(e.head??e.documentElement).appendChild(t)}function _(e){te(document);let t=document.createElement(`div`);t.className=`slicc-addpanel`;let n=document.createElement(`button`);n.type=`button`,n.className=`slicc-addpanel__btn`,n.title=`Panels and layouts`,n.setAttribute(`aria-label`,`Panels and layouts`);let r=new DOMParser().parseFromString(d(`layout-dashboard`,{size:14}),`image/svg+xml`).documentElement;n.appendChild(r);let a=document.createElement(`div`);a.className=`slicc-addpanel__menu`,a.setAttribute(`role`,`menu`);let o=(e,t,n)=>{let r=document.createElement(`button`);r.type=`button`,r.className=`slicc-addpanel__item`,r.setAttribute(`role`,`menuitem`);let i=document.createElement(`span`);i.className=`slicc-addpanel__check`,i.textContent=t?`✓`:``;let a=document.createElement(`span`);return a.textContent=e,r.append(i,a),r.addEventListener(`click`,()=>{n(),m()}),r},s=t=>{let n=o(t,!1,()=>e.onLoadLayout(t)),r=document.createElement(`button`);return r.type=`button`,r.className=`slicc-addpanel__del`,r.title=`Delete "${t}"`,r.setAttribute(`aria-label`,`Delete layout ${t}`),r.appendChild(new DOMParser().parseFromString(d(`trash-2`,{size:11}),`image/svg+xml`).documentElement),r.addEventListener(`click`,n=>{n.stopPropagation(),e.onDeleteLayout(t),m()}),n.appendChild(r),n};function c(){let t=e.promptForName??g;if(!t){p.warn(`cannot save a layout: no prompt available`);return}let n=t(`Save this layout as:`,e.layout.getLayout().id);if(n===null)return;let r=ee(n);if(!r){p.warn(`layout not saved: the name reduced to nothing`,{raw:n});return}e.onSaveLayout(r)}let l=e=>{let t=document.createElement(`div`);return t.className=`slicc-addpanel__group`,t.textContent=e,t};async function f(){let t=new Set(e.layout.getPlacedPanelIds()),n=[],r={},u=i();for(let e of u)(r[e.origin]??=[]).push(e);for(let[i,a]of[[`builtin`,`Panels`],[`sprinkle`,`Sprinkles`],[`agent`,`Made by SLICC`]]){let s=r[i];if(s?.length){n.push(l(a));for(let r of s){let i=t.has(r.meta.id);n.push(o(r.meta.title,i,()=>e.onToggle(r.meta.id,!i)))}}}try{let{saved:t,presets:r}=await e.listLayoutNames(),i=document.createElement(`div`);i.className=`slicc-addpanel__sep`,n.push(i,l(`Layouts`));for(let e of t)n.push(s(e));for(let t of r)n.push(o(t,!1,()=>e.onLoadLayout(t)));n.push(o(`Save layout as…`,!1,c))}catch(e){p.warn(`could not list layouts for the menu`,{error:e})}a.replaceChildren(...n)}function m(){a.removeAttribute(`open`),document.removeEventListener(`pointerdown`,h,!0)}let h=e=>{t.contains(e.target)||m()};return n.addEventListener(`click`,()=>{if(a.hasAttribute(`open`)){m();return}f().then(()=>{a.setAttribute(`open`,``),document.addEventListener(`pointerdown`,h,!0)})}),u.addEventListener(`panel-registry-change`,()=>{a.hasAttribute(`open`)&&f()}),t.append(n,a),t}var v={chat:`chat`,sessionsRail:`sessions-rail`,dockRail:`dock-rail`,scoopSwitcher:`scoop-switcher`,floatbar:`floatbar`,files:`files`,term:`term`,memory:`memory`,monitor:`monitor`,browser:`browser`},y={[v.chat]:{id:v.chat,title:`Chat`,icon:`message-circle`,minWidth:320,preferredSize:3},[v.sessionsRail]:{id:v.sessionsRail,title:`Sessions`,icon:`history`,preferredSize:`44px`},[v.dockRail]:{id:v.dockRail,title:`Dock`,icon:`layout-grid`,preferredSize:`48px`},[v.scoopSwitcher]:{id:v.scoopSwitcher,title:`Scoops`,icon:`users`},[v.floatbar]:{id:v.floatbar,title:`Runtime`,icon:`activity`},[v.files]:{id:v.files,title:`Files`,icon:`folder`,minWidth:220},[v.term]:{id:v.term,title:`Terminal`,icon:`square-terminal`},[v.memory]:{id:v.memory,title:`Memory`,icon:`brain`},[v.monitor]:{id:v.monitor,title:`Monitor`,icon:`activity`},[v.browser]:{id:v.browser,title:`Browser`,icon:`globe`}};function b(e,t){let n=document.createElement(`slicc-panel`);n.setAttribute(`panel-id`,e);let r=y[e];return r?.title&&n.setAttribute(`aria-label`,r.title),n.appendChild(t),n}function x(){for(let e of Object.values(y))r({meta:e,source:{kind:`element`,tag:`slicc-panel`},origin:`builtin`})}function ne(e){if(!e?.startsWith(`sprinkle:`))return null;let t=e.slice(9);return t.length>0?t:null}function S(){return{when:{maxWidth:700},docks:[],zones:{center:[v.chat]},floating:[]}}function C(){return[{edge:`top`,size:`36px`,panels:[v.scoopSwitcher,v.floatbar],locked:!0},{edge:`left`,size:`44px`,panels:[v.sessionsRail],locked:!0},{edge:`right`,size:`48px`,panels:[v.dockRail],locked:!0}]}var w={version:1,id:`default`,title:`Default`,base:{docks:C(),zones:{center:[v.chat]}},variants:[S()]},T={default:w};function E(e){return T[e]??null}function D(){return Object.keys(T)}e(`sudo:sudoers`);var O=`/etc/slicc/layouts`;[`NOPASSWD Read /tmp`,`NOPASSWD Read /tmp/**`,`NOPASSWD Write /tmp`,`NOPASSWD Write /tmp/**`].join(`
2
2
  `);var k=e(`layout-store`),A=`/workspace/layouts`,j=[A,O];function M(e,t){return`${t?.protected?O:A}/${e}.json`}async function N(e,t){try{if(!await e.exists(t))return null;let r=await e.readFile(t),i=n(JSON.parse(typeof r==`string`?r:String(r)));return`error`in i?(k.warn(`invalid layout document — ignoring`,{path:t,error:i.error}),null):i}catch(e){return k.warn(`failed to read layout`,{path:t,error:e instanceof Error?e.message:e}),null}}async function P(e,t,n){let r=n?.name??t.id,i=n?.protected?O:A,a=`${i}/${r}.json`;return await e.exists(i)||await e.mkdir(i,{recursive:!0}),await e.writeFile(a,`${JSON.stringify(t,null,2)}\n`),k.info(`layout saved`,{path:a}),a}async function F(e,t,n){let r=M(t,n);return await e.exists(r)?(await e.rm(r),!0):!1}async function I(e){let t=[],n=new Set;for(let r of j){let i;try{if(!await e.exists(r))continue;i=(await e.readDir(r)).filter(e=>e.type===`file`).map(e=>e.name)}catch(e){k.warn(`failed to list layout dir`,{dir:r,error:e});continue}for(let a of i){if(!a.endsWith(`.json`))continue;let i=a.slice(0,-5);if(n.has(i))continue;let o=`${r}/${a}`,s=await N(e,o);s&&(n.add(i),t.push({name:i,path:o,doc:s,protected:r===O}))}}return t}async function L(e,t){for(let n of j){let r=`${n}/${t}.json`,i=await N(e,r);if(i)return{name:t,path:r,doc:i,protected:n===O}}return null}function R(e,n,r){let i=e.getLayout(),a=t(i,e.environment());if(r){let e=a.zones??c(a.center??null);o(e,n)?a.zones||(a.zones=e,a.center=null):(a.zones=s(e,n,`right`),a.center=null)}i.panels={...i.panels,[n]:{...i.panels?.[n],visible:r}},e.setLayout(i)}var z=e(`apply-layout-doc`);function B(e){return{applied:!1,error:`layout ${e} needs a filesystem (unavailable here)`}}function V(e){return[`load`,`save`,`delete`,`docs`,`panels`,`show`,`hide`].includes(e.kind)}async function H(e,t){let n=e.fs?await L(e.fs,t):null;if(n)return e.layout.setLayout(n.doc),{applied:!0,output:`loaded layout "${t}" from ${n.path}`};let r=E(t);return r?(e.layout.setLayout(r),{applied:!0,output:`loaded preset "${t}"`}):{applied:!1,error:`unknown layout "${t}" — try: ${D().join(`, `)}`}}async function U(e,t,n){if(!e.fs)return B(`save`);let r={...e.layout.getLayout(),id:t};try{return{applied:!0,output:`saved layout to ${await P(e.fs,r,{name:t,protected:n})}`}}catch(e){let r=e instanceof Error?e.message:String(e);return z.warn(`layout save failed`,{name:t,protected:n,error:r}),{applied:!1,error:`could not save "${t}": ${r}`}}}async function W(e){let t=e.fs?await I(e.fs):[],n=[];if(t.length>0){n.push(`saved layouts:`);for(let e of t)n.push(` ${e.name}${e.protected?` (protected)`:``} ${e.path}`)}n.push(`presets: ${D().join(`, `)}`);let r=e.layout.getLayout();return n.push(`current: ${r.id}`),{applied:!0,output:n.join(`
3
3
  `)}}function G(e){let t=new Set(e.layout.getPlacedPanelIds()),n={builtin:[],sprinkle:[],agent:[]};for(let e of i()){let r=t.has(e.meta.id)?`*`:` `;(n[e.origin]??=[]).push(` ${r} ${e.meta.id} ${e.meta.title}`)}let r=[];for(let[e,t]of Object.entries(n))t.length!==0&&(r.push(`${e}:`),r.push(...t));return r.push(`(* = currently placed)`),{applied:!0,output:r.join(`
4
4
  `)}}function K(e,t,n){return R(e.layout,t,n),{applied:!0}}async function q(e,t){switch(t.kind){case`load`:return H(e,t.name);case`save`:return U(e,t.name,t.protected);case`delete`:return e.fs?await F(e.fs,t.name)||await F(e.fs,t.name,{protected:!0})?{applied:!0,output:`deleted layout "${t.name}"`}:{applied:!1,error:`no saved layout named "${t.name}"`}:B(`delete`);case`docs`:return W(e);case`panels`:return G(e);case`show`:return K(e,t.panelId,!0);case`hide`:return K(e,t.panelId,!1)}}var J=e(`panelize-shell`),Y=`slicc-panelize-style`,X=[`.wcui-avatar-strip{position:absolute;top:0;right:0;height:var(--barh,36px);`,`display:flex;align-items:center;gap:12px;padding:0 9px 0 14px;box-sizing:border-box;`,`pointer-events:auto;z-index:1;}`,`.wcui-frame slicc-layout{position:relative;z-index:1;}`,`slicc-layout .slicc-layout__dock--left,slicc-layout .slicc-layout__dock--right{flex:0 0 auto;}`,`slicc-layout .slicc-layout__dock--top,slicc-layout .slicc-layout__dock--bottom{flex:0 0 auto;}`,`slicc-layout .slicc-layout__dock--left{flex:0 0 auto!important;width:auto!important;}`,`slicc-layout .slicc-layout__dock--right{flex:0 0 auto!important;width:auto!important;}`,`slicc-panel[panel-id="sessions-rail"],slicc-panel[panel-id="dock-rail"]{`,`flex:0 0 auto;height:100%;align-self:stretch;overflow:hidden;}`,`slicc-panel[panel-id="dock-rail"]{width:48px;}`,`slicc-panel[panel-id="sessions-rail"]{width:auto;}`,`slicc-panel[panel-id="sessions-rail"]>*,slicc-panel[panel-id="dock-rail"]>*{`,`height:100%;flex:1 1 auto;min-height:0;}`,`slicc-panel[panel-id="scoop-switcher"],slicc-panel[panel-id="floatbar"]{`,`height:var(--barh,36px);min-height:var(--barh,36px);max-height:var(--barh,36px);}`,`slicc-panel[panel-id="chat"] slicc-chatpane{flex:1 1 0;width:100%;min-height:0;}`,`slicc-panel[panel-id="chat"] slicc-chat-thread{flex:1 1 0;min-height:0;overflow-y:auto;}`,`slicc-panel[panel-id="chat"] slicc-composer{flex:0 0 auto;}`,`slicc-panel[panel-id="scoop-switcher"]{flex:0 0 auto;justify-content:center;padding-left:14px;}`,`slicc-panel[panel-id="floatbar"]{flex:1 1 auto;align-items:center;justify-content:flex-end;`,`padding-right:var(--avatar-strip-w, 96px);}`,`slicc-panel[panel-id="scoop-switcher"],slicc-panel[panel-id="floatbar"]{flex-direction:row;}`,`slicc-panel[panel-id="term"][presentation="floating"]{`,`background:var(--term-bg,#0c0c0e);border-color:var(--term-border,#232329);`,`box-shadow:rgba(0,0,0,.35) 0 14px 36px -12px,rgba(0,0,0,.2) 0 4px 10px -4px;}`].join(``);function re(e){if(e.getElementById(Y))return;let t=e.createElement(`style`);t.id=Y,t.textContent=X,(e.head??e.documentElement).appendChild(t)}function Z(e){e.setAttribute(`active`,``),e.style.display=`flex`,e.style.flexDirection=`column`,e.style.position=`relative`,e.style.inset=`auto`,e.style.flex=`1 1 auto`,e.style.minHeight=`0`}var ie=new Set([v.files,v.term,v.memory,v.monitor,v.browser]);function ae(e,t,n,r){let i=(e,i)=>{let a=e.detail?.id;!a||!ie.has(a)||n.has(a)||(e.stopImmediatePropagation(),R(t,a,i),i?r?.onToolPanelActivate?.(a):r?.onToolPanelDeactivate?.(a))};e.addEventListener(`slicc-dock-select`,e=>i(e,!0),!0),e.addEventListener(`slicc-dock-collapse`,e=>i(e,!1),!0)}function oe(e,t){return{hostSprinkleSurface:(n,i)=>{let a=b(n,i);Z(i),t.set(n,a),e.appendChild(a),r({meta:{id:n,title:ne(n)??n},source:{kind:`element`,tag:`slicc-panel`},origin:`sprinkle`}),R(e,n,!0),J.info(`sprinkle panel hosted`,{surfaceId:n})},removeSprinkleSurface:n=>{t.get(n)?.remove(),t.delete(n),l(n);let r=e.getLayout();r.panels={...r.panels,[n]:{visible:!1}},e.setLayout(r)}}}var Q=`slicc-panel-layout:default`;function se(e,t){e.addEventListener(`slicc-layout-change`,t=>{let n=t.detail?.reason;if(n===`rearrange`||n===`resize`)try{localStorage.setItem(Q,JSON.stringify(e.getLayout()))}catch{}});let r=null;try{let e=localStorage.getItem(Q);if(e){let t=n(JSON.parse(e));`error`in t?J.warn(`stored layout rejected — using the default`,{error:t.error}):r=t}}catch(e){J.warn(`stored layout unreadable — using the default`,e)}e.setLayout(r??t)}var $=null;function ce(){return $}function le(e,t=w,n,r){if(e.frame.dataset.sliccPanelized===`1`)return J.warn(`panelizeShell called twice — ignoring the second call`),null;re(document),x();let i=n,o=document.createElement(`slicc-layout`),s=new Map,c=(e,t)=>{if(!t)return;let n=b(e,t);s.set(e,n),o.appendChild(n)};e.freezer.setAttribute(`docked`,``),e.frame.querySelector(`.wcui-appcol`)?.style.setProperty(`--rail-w`,`0px`),c(v.scoopSwitcher,e.switcher),c(v.floatbar,e.floatbar),c(v.sessionsRail,e.freezer),c(v.dockRail,e.dock),c(v.chat,e.chatPane);for(let t of[v.files,v.term,v.memory,v.monitor,v.browser]){let n=e.dockTree.querySelector(`slicc-surface[surface-id="${t}"]`);n instanceof HTMLElement&&(Z(n),c(t,n))}let l=document.createElement(`div`);l.className=`wcui-avatar-strip`,l.appendChild(_({layout:o,onToggle:(e,t)=>{q({layout:o,fs:i},{kind:t?`show`:`hide`,panelId:e})},onLoadLayout:e=>{q({layout:o,fs:i},{kind:`load`,name:e})},onSaveLayout:e=>{q({layout:o,fs:i},{kind:`save`,name:e,protected:!1}).then(t=>{t.error?J.warn(`layout save failed`,{name:e,error:t.error}):J.info(`layout saved`,{name:e,output:t.output})})},onDeleteLayout:e=>{q({layout:o,fs:i},{kind:`delete`,name:e})},listLayoutNames:async()=>({saved:i?(await I(i)).map(e=>e.name):[],presets:D()})})),l.appendChild(e.avatarMenu),a(l,document),e.shell.replaceWith(o),e.frame.querySelector(`slicc-nav`)?.remove(),se(o,t),ae(e.dock,o,e.overlaySurfaces,r),f(e=>V(e)?q({layout:o,fs:i},e):{applied:!1,error:`"${e.kind}" targets the old dock-tree; with panels use: load, save, show, hide, docs, panels`}),e.frame.dataset.sliccPanelized=`1`,J.info(`shell panelized`,{panels:s.size,layout:t.id});let u={layout:o,avatarStrip:l,panels:s,attachFs:e=>{i=e,J.info(`layout store attached`)},...oe(o,s)};return $=u,u}export{Q as PANEL_LAYOUT_STORAGE_KEY,ce as getPanelizedShell,le as panelizeShell};
@@ -1,2 +1,2 @@
1
- import{n as e,t}from"./context-CrZ58_Xy.js";import{a as n,n as r,t as i}from"./path-utils-DNJG-zQf.js";import{t as a}from"./types-D8gIX-W-.js";import"./fs-CXdlfm9I.js";import{t as o}from"./kernel-worker-M218S0e9.js";let s;function c(){return s??=import(`./edit-dC5128uh.js`).then(({createEditTool:e})=>e()),s}function l(e){return{ok:!0,value:e}}function u(e){return{ok:!1,error:e}}var d=class extends Error{code;path;constructor(e,t,n,r){super(t,r===void 0?void 0:{cause:r}),this.code=e,this.path=n,this.name=`FileError`}},f=class extends Error{code=`shell_unavailable`;constructor(e){super(e),this.name=`ExecutionError`}};function p(e){if(!(e instanceof a))return`unknown`;switch(e.code){case`ENOENT`:return`not_found`;case`EACCES`:return`permission_denied`;case`ENOTDIR`:return`not_directory`;case`EISDIR`:return`is_directory`;case`EINVAL`:case`ELOOP`:return`invalid`;default:return`unknown`}}function m(e,t){if(e instanceof d)return e;let n=e instanceof Error?e:Error(String(e));return new d(p(e),n.message,t,n)}function h(e,t){return e?.aborted?u(new d(`aborted`,`aborted`,t)):null}var g=class{fs;cwd;constructor(e,t){this.fs=e,this.cwd=t}async absolutePath(e,t){return h(t.abortSignal,e)||l(r(e.startsWith(`/`)?e:i(this.cwd,e)))}async canonicalPath(e,t){let n=await this.absolutePath(e,t);if(!n.ok)return n;try{return l(await this.fs.realpath(n.value))}catch(e){return u(m(e,n.value))}}async fileInfo(e,t){let r=await this.absolutePath(e,t);if(!r.ok)return r;try{let e=await this.fs.lstat(r.value);return l({name:n(r.value).base,path:r.value,kind:e.type,size:e.size,mtimeMs:e.mtime})}catch(e){return u(m(e,r.value))}}async readTextFile(e,t){let n=await this.absolutePath(e,t);if(!n.ok)return n;try{let e=await this.fs.readTextFile(n.value);return h(t.abortSignal,n.value)??l(e)}catch(e){return u(m(e,n.value))}}async writeFile(e,t,n){let r=await this.absolutePath(e,n);if(!r.ok)return r;try{if(await this.fs.writeFile(r.value,t),typeof t==`string`){let e=await o(this.fs,r.value,t);if(e)return u(new d(`unknown`,e,r.value))}return h(n.abortSignal,r.value)??l(void 0)}catch(e){return u(m(e,r.value))}}unsupported(e,t){return u(new d(`not_supported`,`${e} is unavailable to the edit tool`,t))}async joinPath(e){return l(i(...e))}async readTextLines(n,r){let i=await this.readTextFile(n,r?.abortSignal?e(r.abortSignal,t):t);if(!i.ok)return i;let a=i.value.split(/\r?\n/);return l(r?.maxLines===void 0?a:a.slice(0,r.maxLines))}async readBinaryFile(e){return this.unsupported(`readBinaryFile`,e)}async appendFile(e){return this.unsupported(`appendFile`,e)}async renameFile(e){return this.unsupported(`renameFile`,e)}async listDir(e){return this.unsupported(`listDir`,e)}async exists(e){return this.unsupported(`exists`,e)}async createDir(e){return this.unsupported(`createDir`,e)}async remove(e){return this.unsupported(`remove`,e)}async createTempDir(){return this.unsupported(`createTempDir`)}async createTempFile(){return this.unsupported(`createTempFile`)}async exec(){return u(new f(`Shell is unavailable to the edit tool`))}async cleanup(){}};const _=new WeakMap;function v(e,t){let n=_.get(e);n||_.set(e,n=new Map);let r=n.get(t);return r||n.set(t,r=new g(e,t)),r}async function y(n,r,i,a){return{content:(await(await c()).execute(`slicc-edit`,i,()=>{},{env:v(n,r)},{invocationId:`slicc-edit`,operationId:`slicc-edit`,turnId:`slicc-edit`,getMemo:async()=>void 0,setMemo:async()=>{}},a?e(a,t):t)).content.filter(e=>e.type===`text`).map(e=>e.text).join(`
1
+ import{n as e,t}from"./context-CrZ58_Xy.js";import{a as n,n as r,t as i}from"./path-utils-DNJG-zQf.js";import{t as a}from"./types-D8gIX-W-.js";import"./fs-CKSBDyCr.js";import{t as o}from"./kernel-worker-Dv0441oU.js";let s;function c(){return s??=import(`./edit-dC5128uh.js`).then(({createEditTool:e})=>e()),s}function l(e){return{ok:!0,value:e}}function u(e){return{ok:!1,error:e}}var d=class extends Error{code;path;constructor(e,t,n,r){super(t,r===void 0?void 0:{cause:r}),this.code=e,this.path=n,this.name=`FileError`}},f=class extends Error{code=`shell_unavailable`;constructor(e){super(e),this.name=`ExecutionError`}};function p(e){if(!(e instanceof a))return`unknown`;switch(e.code){case`ENOENT`:return`not_found`;case`EACCES`:return`permission_denied`;case`ENOTDIR`:return`not_directory`;case`EISDIR`:return`is_directory`;case`EINVAL`:case`ELOOP`:return`invalid`;default:return`unknown`}}function m(e,t){if(e instanceof d)return e;let n=e instanceof Error?e:Error(String(e));return new d(p(e),n.message,t,n)}function h(e,t){return e?.aborted?u(new d(`aborted`,`aborted`,t)):null}var g=class{fs;cwd;constructor(e,t){this.fs=e,this.cwd=t}async absolutePath(e,t){return h(t.abortSignal,e)||l(r(e.startsWith(`/`)?e:i(this.cwd,e)))}async canonicalPath(e,t){let n=await this.absolutePath(e,t);if(!n.ok)return n;try{return l(await this.fs.realpath(n.value))}catch(e){return u(m(e,n.value))}}async fileInfo(e,t){let r=await this.absolutePath(e,t);if(!r.ok)return r;try{let e=await this.fs.lstat(r.value);return l({name:n(r.value).base,path:r.value,kind:e.type,size:e.size,mtimeMs:e.mtime})}catch(e){return u(m(e,r.value))}}async readTextFile(e,t){let n=await this.absolutePath(e,t);if(!n.ok)return n;try{let e=await this.fs.readTextFile(n.value);return h(t.abortSignal,n.value)??l(e)}catch(e){return u(m(e,n.value))}}async writeFile(e,t,n){let r=await this.absolutePath(e,n);if(!r.ok)return r;try{if(await this.fs.writeFile(r.value,t),typeof t==`string`){let e=await o(this.fs,r.value,t);if(e)return u(new d(`unknown`,e,r.value))}return h(n.abortSignal,r.value)??l(void 0)}catch(e){return u(m(e,r.value))}}unsupported(e,t){return u(new d(`not_supported`,`${e} is unavailable to the edit tool`,t))}async joinPath(e){return l(i(...e))}async readTextLines(n,r){let i=await this.readTextFile(n,r?.abortSignal?e(r.abortSignal,t):t);if(!i.ok)return i;let a=i.value.split(/\r?\n/);return l(r?.maxLines===void 0?a:a.slice(0,r.maxLines))}async readBinaryFile(e){return this.unsupported(`readBinaryFile`,e)}async appendFile(e){return this.unsupported(`appendFile`,e)}async renameFile(e){return this.unsupported(`renameFile`,e)}async listDir(e){return this.unsupported(`listDir`,e)}async exists(e){return this.unsupported(`exists`,e)}async createDir(e){return this.unsupported(`createDir`,e)}async remove(e){return this.unsupported(`remove`,e)}async createTempDir(){return this.unsupported(`createTempDir`)}async createTempFile(){return this.unsupported(`createTempFile`)}async exec(){return u(new f(`Shell is unavailable to the edit tool`))}async cleanup(){}};const _=new WeakMap;function v(e,t){let n=_.get(e);n||_.set(e,n=new Map);let r=n.get(t);return r||n.set(t,r=new g(e,t)),r}async function y(n,r,i,a){return{content:(await(await c()).execute(`slicc-edit`,i,()=>{},{env:v(n,r)},{invocationId:`slicc-edit`,operationId:`slicc-edit`,turnId:`slicc-edit`,getMemo:async()=>void 0,setMemo:async()=>{}},a?e(a,t):t)).content.filter(e=>e.type===`text`).map(e=>e.text).join(`
2
2
  `)}}export{y as executePiEdit};
@@ -0,0 +1 @@
1
+ import{t as e}from"./logger-DDBAeTLF.js";import{i as t}from"./api-endpoint-DuEQRZ4g.js";import{t as n}from"./panel-rpc-accessor-B4BfPLSo.js";function r(r){let i=e(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=t();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 n=chrome.runtime.connect,o=n(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(e){let t=n();return t?(await t.call(r.panelRpcOp,r.toPanelRpcPayload(e),{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`&&t()?p(e):f(e)}export{r as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./panel-rpc-accessor-B4BfPLSo.js";import{a as n}from"./api-endpoint-D8lUKmPu.js";function r(r){let i=e(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(e){let n=t();return n?(await n.call(r.panelRpcOp,r.toPanelRpcPayload(e),{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};
@@ -0,0 +1,3 @@
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));let e=r&4077;e!==493&&l(()=>s(t).chmod(i,e))}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 oe=new TextDecoder;function se(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(oe.decode(t))}}catch{return{ok:!1,errno:`EIO`,message:`sync-sab: malformed json payload`}}case 4:try{let e=JSON.parse(oe.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 ce(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 E(e,t,n={}){let{header:r,window:i}=ce(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 se(f,d)}}}function D(e,t){return _(e,`sync-sab bridge, '${t}'`)}function O(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 D(i.errno,r);return i}function i(e,t){let n=r(e,t);if(n.ok&&n.kind===`bytes`)return n.bytes;throw D(`EIO`,t)}function a(e,t){let n=r(e,t);if(n.ok&&n.kind===`json`)return n.json;throw D(`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 D(`EIO`,e);return t},lstat:e=>{let t=T(a({op:`lstat`,path:e},e));if(!t)throw D(`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 D(`EIO`,e);return t},readdirStat:e=>{let t=a({op:`readdir-stat`,path:e},e);if(!Array.isArray(t))throw D(`EIO`,e);return t.map(t=>{if(!Array.isArray(t)||typeof t[0]!=`string`)throw D(`EIO`,e);if(t[1]===null)return[t[0],null];let n=T(t[1]);if(!n)throw D(`EIO`,e);return[t[0],n]})},exists:e=>{let t=a({op:`exists`,path:e},e);if(typeof t!=`boolean`)throw D(`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 D(`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 le={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 k(e){return le[e]??29}const A=2048,j=49663,M=/^\/dev\/(?:ptmx|pts\/(\d+))$/;function N(e){return M.test(e)}function ue(e){let t=M.exec(e)?.[1],n=new Date;return{dev:22,ino:t===void 0?2:3+Number(t),mode:t===void 0?8630:8592,nlink:1,uid:1e3,gid:1e3,rdev:t===void 0?1282:34816|Number(t),size:0,blksize:4096,blocks:0,atime:n,mtime:n,ctime:n}}var P=class extends Error{status;constructor(e){super(`exit ${e}`),this.status=e}},F=class extends Error{code;constructor(e){super(e),this.code=e}};function I(e){return e.sliccKernelSocket===!0&&!!(e.flags&2048)}var de=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;this.usePtyPaths();let e=this.Fs.open.bind(this.Fs);this.Fs.open=(t,n,r)=>{let i=this.openPty(e,t,n,r);if(i)return i;let a=e(t,n,r);if(!a.tty)return a;if(a.path===`/dev/tty`&&this.sys.openTty){let e;try{e=this.call(()=>this.sys.openTty?.())}catch(e){throw this.Fs.closeStream(a.fd),e}return this.attach(a,e,!0),a}let o=this.stdioTerminal();return o!==void 0&&this.attach(a,o,!0),a}}openPty(e,t,n,r){let i=/^\/dev\/pts\/(\d+)$/.exec(t);if(t!==`/dev/ptmx`&&!i)return;let{openPty:a,openPts:o}=this.sys;if(!a||!o)return;let s=this.call(()=>i?o(Number(i[1]),!!(n&256)):a()),c;try{c=e(`/dev/null`,n&-705,r)}catch(e){throw this.sys.close(s),e}return this.attach(c,s,!0),c}usePtyPaths(){let e=this.Fs;for(let t of[`chown`,`lchown`,`chmod`,`lchmod`]){let n=e[t];typeof n==`function`&&(e[t]=(t,...r)=>N(t)?this.existingPty(t):n.call(e,t,...r))}for(let t of[`stat`,`lstat`]){let n=e[t];typeof n==`function`&&(e[t]=(t,...r)=>N(t)?(this.existingPty(t),ue(t)):n.call(e,t,...r))}}existingPty(e){let t=M.exec(e)?.[1];if(!(t===void 0?this.sys.openPty!==void 0:this.sys.ptyNumbers?.().includes(Number(t))??!1))throw new this.Fs.ErrnoError(k(`ENOENT`))}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}`,j,0),i=new Date,a={dev:0,ino:n,mode:j,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 F&&e.code===`EINTR`&&this.options.restartable?.()))throw e}}call(e){try{return e()}catch(e){throw e instanceof F?new this.Fs.ErrnoError(k(e.code)):e}}ops(e,t){return{...t,llseek:()=>this.call(()=>{throw new F(`ESPIPE`)}),read:(t,n,r,i)=>this.call(()=>{let a=I(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=I(t)?{nonblock:!0}:void 0;return this.restarting(()=>this.sys.write(e,a,o))}catch(e){if(e instanceof F&&e.code===`EPIPE`&&!this.options.sigpipe?.())throw new P(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 L(e){return e.ok?0:-k(e.errno)}function R(e){return e.ok?e.kind===`json`&&typeof e.json==`number`?e.json:-k(`EIO`):-k(e.errno)}function fe(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 z(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-k(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 pe(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 me(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:fe(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-k(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-k(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:-k(`EIO`):-k(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 z(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=pe(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=z(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):-k(r.errno)},pause(){return L(i({op:`sig-pause`},`pause`))},kill(t,n){return t===e.pid?(n!==0&&e.raise?.(n),0):L(i({op:`proc-kill`,pid:t,sig:n},`kill ${t}`))},setpgid:(e,t)=>L(i({op:`proc-setpgid`,pid:e,pgid:t},`setpgid`)),setsid:()=>R(i({op:`proc-setsid`},`setsid`)),getpgid:e=>R(i({op:`proc-getpgid`,pid:e},`getpgid`)),getsid:e=>R(i({op:`proc-getsid`,pid:e},`getsid`)),tcgetpgrp(e){let t=n.getStream(e)?.sliccKernelFd;return t===void 0?-k(`ENOTTY`):R(i({op:`tty-pgrp-get`,fd:t},`tcgetpgrp`))},tcsetpgrp(e,t){let r=n.getStream(e)?.sliccKernelFd;return r===void 0?-k(`ENOTTY`):L(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)}}}function he(e){let t=e?.code;if(typeof t==`string`)return-k(t);throw e}function ge(e,t){return(n,r,i)=>{let a=r>>>0;if(a!==2147767344&&a!==1074025521&&a!==21518&&a!==21524&&a!==21536)return e(n,r,i);let o=t.fs()?.getStream(n)?.sliccKernelFd;if(o===void 0)return e(n,r,i);let s=t.heap();if(!s)return-k(`EFAULT`);let c=(s[i>>2]??0)>>>0;try{return _e(a,o,c,s,t.kernel)}catch(e){return he(e)}}}function _e(e,t,n,r,i){switch(e){case 2147767344:return r[n>>2]=i.ptyNumber(t),0;case 1074025521:return i.ptyLock(t,(r[n>>2]??0)!==0),0;case 21518:return i.setControllingTerminal(t),0;case 21536:return i.setPacketMode(t,(r[n>>2]??0)!==0),0;default:{let e=r[n>>2]??0;return i.setWinsize(t,e&65535,e>>>16&65535),0}}}const B=524288;function V(e){return e.sliccCloexec===!0}function H(e,t){t?e.sliccCloexec=!0:delete e.sliccCloexec}const U=new WeakSet;function W(e){if(!U.has(e)){if(U.add(e),typeof e.dupStream==`function`){let t=e.dupStream.bind(e);e.dupStream=(e,n)=>{let r=t(e,n);return H(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 H(a,i),a}}}}function G(e){return(t,n)=>{let r=e.fs()?.getStream(t);r&&H(r,n)}}function ve(e,t){let n=G(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-k(`EBADF`);if(i===1)return+!!V(o);let s=t.heap()?.[a>>2];return s===void 0?-k(`EINVAL`):(H(o,!!(s&1)),0)}}function ye(e,t){let n=G(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 K(e,t,n){let r=G(n);return(...n)=>{let i=!!((n[t]??0)&B);i&&(n[t]=n[t]&-524289);let a=e(...n);return a>=0&&r(a,i),a}}const q={fcntl:`__syscall_fcntl64`,pipe2:`__syscall_pipe2`,dup3:`__syscall_dup3`,socket:`__syscall_socket`,accept4:`__syscall_accept4`,ioctl:`__syscall_ioctl`};function be(e){let{pty:t}=e;return{fcntl:t=>ve(t,e),pipe2:t=>ye(t,e),dup3:t=>K(t,2,e),socket:t=>K(t,1,e),accept4:t=>K(t,3,e),...t?{ioctl:n=>ge(n,{fs:e.fs,heap:e.heap,kernel:t})}:{}}}function xe(e,t,n){let r=Object.keys(q);return r.find(t=>e[t]!==void 0&&e[t]===n)||(typeof n==`function`?r.find(n=>e[n]!==void 0&&q[n]===t):void 0)}function Se(e,t,n){if(!t)return;let r=be(n),i=new Set;for(let n of Object.values(e))if(!(!n||typeof n!=`object`||i.has(n))){i.add(n);for(let[e,i]of Object.entries(n)){let a=xe(t,e,i),o=a&&r[a];o&&(n[e]=o(i))}}}function Ce(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 we(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 J(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 Te(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:()=>J(16749,1),lookup:(e,t)=>{let n=r(e,t);return n.node_ops={...n.node_ops,getattr:()=>J(41408,n.id??0)},n}})}function Ee(e){if(typeof e.open!=`function`)return;try{e.symlink?.(`/proc/self/fd`,`/dev/fd`)}catch{}Te(e);let t=t=>typeof t==`string`?we(t,e.cwd()):void 0,n=t=>{let n=e.getStream(t);if(!n)throw new e.ErrnoError(k(`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 H(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 Y=`/dev/slicc-fd`;function De(e,t){let n=t.node;return n.live!==void 0&&e.isFile(n.mode)}function Oe(e){let t=e.node.live;if(t?.orphan)return t.data?.slice(0,t.len??t.data.length)??new Uint8Array}function X(e,t,n,r){let i=new Map;return a=>{if(a.sliccKernelFd!==void 0||!De(e,a))return;let o=i.get(a.shared);if(o===void 0){let e=Oe(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 ke(e,t,n,r){let i=X(e,t,n,r),a=[];for(let t of e.streams)if(t){if(i(t),t.sliccKernelFd!==void 0)a.push(Ae(t,t.sliccKernelFd));else if(t.path){let e=t.flags|(V(t)?B:0);a.push({fd:t.fd,path:t.path,flags:e})}}return a}function Ae(e,t){let n=V(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 je(e,t,n,r,i=[]){let a=new Map;for(let t of e.streams)t&&a.set(t.fd,{stream:t,cloexec:V(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=X(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 Z(e,t,n){if(t.fd===n)return t;let r=e.dupStream(t,n);return e.closeStream(t.fd),r}function Me(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(Y),e.open(`${Y}/${n.fd}`,66))}let Ne=1073741824;const Pe=new WeakMap;function Fe(e,t,n){let r=Pe.get(t);r||Pe.set(t,r=new Map);let i=r.get(n);i===void 0&&r.set(n,i=Ne++);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 Ie(e,t,n){let r=Z(e,Me(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`&&Fe(r,t,n.desc===void 0?`k${n.kernel}`:`d${n.desc}`),H(r,n.cloexec===!0),r}function Le(e,t,n){for(let t of e.streams)t&&e.closeStream(t.fd);for(let r of n)try{`kernel`in r?Ie(e,t,r):H(Z(e,e.open(r.path,r.flags&-705),r.fd),!!(r.flags&B))}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 Re(e){return 1<<e}function ze(e){let t=[];for(let n=1;n<=31;n++)e&Re(n)&&t.push(n);return t}Q.INT,Q.TERM,Q.KILL,Q.STOP,Q.CONT;var Be=class{raw;header;hooks;reported={caught:0,ignored:0};restart=0;lastDelivered=0;depth=0;reporting=!1;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(){if(this.reporting)return;this.reporting=!0;let e;try{e=this.hooks.masks()}catch{e=null}finally{this.reporting=!1}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 ze(e))this.hooks.raise(t)}};function Ve(e){if(e instanceof F)return-k(e.code);let t=e?.errno;if(typeof t==`number`)return-t;throw e}function He(e,t){if(t.family!==`unix`||!t.path||t.path.startsWith(`\0`))return;let n=e,r;try{r=e.open(t.path,193,493)}catch(e){throw e?.errno===k(`EEXIST`)?new F(`EADDRINUSE`):e}return e.close?e.close(r):e.closeStream(r.fd),{remove:()=>n.unlink?.(t.path)}}function Ue(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 F(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 F&&t.code===`EINTR`&&e.restartable?.()))return Ve(t)}},l=e=>{let t=n.getStream(e);if(!t)throw new F(`EBADF`);if(!t.sliccKernelSocket||t.sliccKernelFd===void 0)throw new F(`ENOTSOCK`);return t},u=e=>l(e).sliccKernelFd,d=(e,t,n=!1)=>{let a;try{a=i.socketStream(2|(t?A:0))}catch(t){throw r.close(e),t}return i.attachSocket(a,e),H(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(()=>{let r=He(n,t);try{return s({op:`sock-bind`,fd:u(e),addr:t})}catch(e){throw r?.remove(),e}}),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&A)},a=o(i);return{fd:d(a.fd,t,n),peer:a.peer}}),connect:(e,t)=>c(()=>{let n=l(e),r=!!(n.flags&A);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 F&&t.code===`EPIPE`&&!i.nosignal&&!e.sigpipe?.()?new P(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 We(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 Ge(e){let t=(t,n)=>{let r=e.call(t,1/0,n);if(!r.ok)throw new F(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}`))},openPty(){return n(t({op:`pty-open`},`pty-open`))},openPts(e,r){return n(t({op:`pty-slave-open`,n:e,noctty:r},`pty-slave-open ${e}`))},ptyNumbers(){return n(t({op:`pty-list`},`pty-list`))},ptyNumber(e){return n(t({op:`pty-number`,fd:e},`pty-number ${e}`))},ptyLock(e,n){t({op:`pty-lock`,fd:e,lock:n},`pty-lock ${e}`)},setControllingTerminal(e){t({op:`pty-ctty`,fd:e},`pty-ctty ${e}`)},setPacketMode(e,n){t({op:`pty-packet`,fd:e,on:n},`pty-packet ${e}`)},setWinsize(e,n,r){t({op:`pty-winsz-set`,fd:e,rows:n,cols:r},`pty-winsz-set ${e}`)}}}function Ke(e,t,n){Ie(e,t,{...n,kernel:n.fd})}function qe(e,t){for(let n of[0,1,2]){let r=e.getStream(n);r&&t.attach(r,n)}}function Je(e){return e.startsWith(`#!`)?e.slice(e.indexOf(`
2
+ `)+1):e}const Ye=[`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,`,` ioctl: typeof ___syscall_ioctl === 'function' ? ___syscall_ioctl : undefined,`,`};`,`const __sliccUp = () =>`,` (typeof runtimeInitialized === 'undefined' || runtimeInitialized) &&`,` !(typeof runtimeExited !== 'undefined' && runtimeExited) &&`,` !(typeof ABORT !== 'undefined' && ABORT);`,`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 Xe=(e,t)=>{let n;try{n=Function(`Module`,`${Je(e)}\n;${Ye}`)}catch(e){throw e instanceof EvalError?Error(Ze):e}n(t)},Ze=`the wasm realm evaluates the program's Emscripten glue, and this page's CSP forbids eval (no 'unsafe-eval')`;function Qe(e){let t=e.sliccSigMask,n=t?.(0)??-1;return!t||n===-1?null:{caught:n,ignored:t(1),restart:t(2)}}async function $e(e,t,n={}){let i=new Be(E(e.sab,t),new Int32Array(e.sab,0,16),{masks:()=>Qe(p),raise:e=>p.sliccRaise?.(e)}),a=i.transport(),o=Ge(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,...e.ppid===void 0?{}:{sliccPpid:e.ppid},sliccEnv:e.env,print:c(1),printErr:c(2),instantiateWasm(t,n){return Promise.resolve().then(()=>(Se(t,$(p,`sliccSyscalls`),{fs:()=>$(p,`FS`),heap:()=>d?new Int32Array(d.buffer):void 0,pty:o}),WebAssembly.instantiate(e.program.module,t))).then(r=>{d=Ce(r,t),n(r,e.program.module)},u),{}},preRun:[t=>{if(!et(t))return;let n=t.FS;W(n);try{n.mkdirTree(e.cwd),n.chdir(e.cwd)}catch{}}],onRuntimeInitialized:()=>l()};(n.evaluate??Xe)(e.program.glue,p),await f;let m=p;if(!et(m))return tt(m,e);let h=re(m.FS,{bridge:O(a),syncFs:new ae({entries:[]}),cwd:e.cwd,warn:n.warn??c(2)},{cwd:e.cwd}),g=()=>m.sliccSigpipe?.()===1,_=()=>i.restartable(),v=new de(m.FS,o,{sigpipe:g,restartable:_});if(W(m.FS),e.fork)Le(m.FS,v,e.fork.streams??[]);else{qe(m.FS,v);for(let t of e.fds??[])Ke(m.FS,v,t)}let y=$(m,`PIPEFS`);y&&v.usePipes(y),v.useControllingTerminal(),Ee(m.FS),We(m.FS);let b=e=>r(e.node);m.sliccKernel=me({transport:a,Fs:m.FS,env:e.env,beforeSpawn:()=>h.flush(),afterChild:()=>h.invalidate(),pid:e.pid,raise:e=>m.sliccRaise?.(e),restartable:_,describeFork:()=>ke(m.FS,o,v,b),inherit:e=>je(m.FS,o,v,b,e),stdioPromoter:()=>X(m.FS,o,v,b)}),m.sliccKernel.net=Ue({transport:a,Fs:m.FS,sys:o,streams:v,sigpipe:g,restartable:_});try{return nt(m,e)}finally{h.flush()}}function et(e){return typeof $(e,`FS`)?.getStream==`function`}function tt(e,t){if(t.fork)throw Error(`${t.argv0} cannot resume a fork: it has no filesystem`);return nt(e,t)}function nt(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 rt=`wasm-process-exit`,it=`wasm-process-error`,at=`wasm-thread-spawn`,ot=`wasm-thread-exit`,st=()=>import(`./wasi-runtime-DDblHDjy.js`);function ct(e,t={}){let n=t.wasi??st,r=t.emscripten??$e,i=t=>e.postMessage({type:it,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:rt,code:t}),i)}}const lt=ct({postMessage:e=>self.postMessage(e)});self.addEventListener(`message`,e=>lt(e.data));export{Ge as a,Re as c,E as d,at as i,F as l,rt as n,Be as o,ot as r,Q as s,it as t,O as u};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fs-Bl4-flxd.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/types-D8gIX-W-.js","assets/path-utils-DNJG-zQf.js","assets/bounded-walk-BjxKWNqp.js","assets/virtual-device-paths-D45tpPP6.js","assets/same-file-identity-DuEcSmPX.js","assets/mount-table-store-dY2IfQ5S.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/oauth-service-B-vKfxAF.js","assets/panel-rpc-D3EPRnmw.js","assets/permissions-surface-registry-CilCRwhh.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{K as n,T as r,f as i}from"./account-store-B857f9Kw.js";import{n as a}from"./float-topology-C9GjBEv-.js";import{i as o}from"./providers-jygoVQBo.js";import{t as s}from"./global-db-CbuLl-zx.js";import{n as c,r as l,t as u}from"./bridge-token-required-DMk2va9k.js";import{n as d,r as f,t as p}from"./pkce-hGf_TEnP.js";import{t as m}from"./types-D8gIX-W-.js";var h=t(`mcp-store`),g=`/workspace/.mcp/servers.json`,_=1,v=null,y=null;async function b(){return v||=await e(()=>import(`./fs-Bl4-flxd.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),v}async function x(e){if(e)return e;if(y&&y.dbName===`slicc-fs-global`)return y.instance;let{VirtualFS:t}=await b(),n=await t.create({dbName:s});return y={instance:n,dbName:s},n}function S(){return{version:_,servers:{}}}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function w(e){if(!C(e))return null;let t={...e};return typeof t.url==`string`?(delete t.sessionId,t):null}function T(e){if(!C(e))return S();let t=e,n=typeof t.version==`number`?t.version:_,r={};if(C(t.servers))for(let[e,n]of Object.entries(t.servers)){let t=w(n);t&&(r[e]=t)}return{version:n,servers:r}}async function E(e){try{let t=await(await x(e)).readFile(g,{encoding:`utf-8`});try{return T(JSON.parse(t))}catch(e){return h.warn(`servers.json is not valid JSON; treating as empty`,{error:e instanceof Error?e.message:String(e)}),S()}}catch(e){if(e instanceof m&&e.code===`ENOENT`)return S();throw e}}async function D(e){return(await E(e)).servers}async function O(){let e=await D(),t=[];for(let[n,r]of Object.entries(e))!r?.url||!r.auth?.clientId||t.push({name:n,serverUrl:r.url,auth:r.auth});return t}var k=t(`mcp-oauth`);function A(e,t){let{discoveryPath:n,prmUrl:r,prmReason:i,asmUrl:a,asmReason:o}=t;if(!e)throw Error(n===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${r}): ${i}. ASM fallback (${a}): ${o}.`:`ASM fetch failed: ${o} (${a})`);if(!(e.authorization_endpoint&&e.token_endpoint))throw Error(n===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${r}): ${i}. ASM fallback (${a}) is missing required endpoints (authorization_endpoint, token_endpoint).`:`ASM at ${a} is missing required endpoints`)}async function j(e,t,n){let r=new URL(e).origin,i=t??`${r}/.well-known/oauth-protected-resource`,a=null,o=null;k.debug(`Fetching PRM`,{prmUrl:i});try{let e=await n(i,{headers:{Accept:`application/json`}});if(!e.ok)o=`${e.status} ${e.statusText}`;else{let t=await e.json();!t.authorization_servers||t.authorization_servers.length===0?o=`lists no authorization_servers`:a=t}}catch(e){o=e instanceof Error?e.message:String(e)}let s,c,l;a?.authorization_servers&&a.authorization_servers.length>0?(s=a.authorization_servers[0].replace(/\/+$/,``),c=`${s}/.well-known/oauth-authorization-server`,l=`prm`,k.debug(`Discovery via PRM`,{prmUrl:i,asmUrl:c})):(s=r,c=`${r}/.well-known/oauth-authorization-server`,l=`asm-origin-fallback`,k.debug(`PRM unavailable; falling back to ASM at server origin`,{prmUrl:i,prmReason:o,asmUrl:c}));let u=null,d=null;k.debug(`Fetching ASM`,{asmUrl:c});try{let e=await n(c,{headers:{Accept:`application/json`}});e.ok?u=await e.json():d=`${e.status} ${e.statusText}`}catch(e){d=e instanceof Error?e.message:String(e)}return A(u,{discoveryPath:l,prmUrl:i,prmReason:o,asmUrl:c,asmReason:d}),{issuer:u.issuer||s,authorizationEndpoint:u.authorization_endpoint,tokenEndpoint:u.token_endpoint,registrationEndpoint:u.registration_endpoint,supportedScopes:u.scopes_supported??a?.scopes_supported,codeChallengeMethods:u.code_challenge_methods_supported,grantTypes:u.grant_types_supported,discoveryPath:l}}function M(e){return!e||e.length===0||e.includes(`S256`)?`S256`:e.includes(`plain`)?`plain`:`S256`}async function N(e){let t=d();return e===`plain`?{codeVerifier:t,codeChallenge:t,method:e}:{codeVerifier:t,codeChallenge:await p(t),method:e}}function P(e){try{let t=new URL(e);return{code:t.searchParams.get(`code`),state:t.searchParams.get(`state`)}}catch{return{code:null,state:null}}}async function F(e){let t=await N(M(e.asMetadata.codeChallengeMethods)),n=f(),r=new URLSearchParams({response_type:`code`,client_id:e.clientId,redirect_uri:e.redirectUri,code_challenge:t.codeChallenge,code_challenge_method:t.method,state:n});e.scope&&r.set(`scope`,e.scope);let i=`${e.asMetadata.authorizationEndpoint}?${r.toString()}`,a=await e.launcher(i);if(!a)throw Error(`MCP OAuth flow cancelled or timed out`);let{code:o,state:s}=P(a);if(!o)throw Error("MCP OAuth redirect missing `code` parameter");if(s!==n)throw Error(`MCP OAuth state mismatch — possible CSRF`);return L({tokenEndpoint:e.asMetadata.tokenEndpoint,clientId:e.clientId,code:o,codeVerifier:t.codeVerifier,redirectUri:e.redirectUri,fetchImpl:e.fetchImpl})}function I(e){if(e.error||!e.access_token)throw Error(`Token endpoint error: ${e.error??`no_access_token`}${e.error_description?` — ${e.error_description}`:``}`);return{accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_in?Date.now()+e.expires_in*1e3:void 0,scope:e.scope,tokenType:e.token_type}}async function L(e){let t=new URLSearchParams({grant_type:`authorization_code`,code:e.code,redirect_uri:e.redirectUri,client_id:e.clientId,code_verifier:e.codeVerifier}).toString(),n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t}),r=await n.json();if(!n.ok&&!r.access_token)throw Error(`Token exchange failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return I(r)}async function R(e){if(c())throw new u;let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e.refreshToken,client_id:e.clientId});e.scope&&t.set(`scope`,e.scope);let n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t.toString()}),r=await n.json();if(l(n.status,JSON.stringify(r)))throw new u;if(!n.ok&&!r.access_token)throw Error(`Token refresh failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return I(r)}var z=`/auth/mcp-callback`;async function B(t){if(t===`extension-direct`){let e=chrome;return e.identity?.getRedirectURL?.(`mcp-callback`)??`https://${e.runtime?.id??``}.chromiumapp.org/mcp-callback`}if(t===`node-rest`){let{getLocalApiBaseUrl:t}=await e(async()=>{let{getLocalApiBaseUrl:e}=await import(`./proxied-fetch-Cplb-Tee.js`).then(e=>e.i);return{getLocalApiBaseUrl:e}},__vite__mapDeps([10,1,2,11,12,13,14])),n=t();if(n)return`${n}/auth/callback`}let{getOAuthPageOrigin:n}=await e(async()=>{let{getOAuthPageOrigin:e}=await import(`./oauth-service-B-vKfxAF.js`);return{getOAuthPageOrigin:e}},__vite__mapDeps([15,2,10,1,11,12,13,14,16,17])),{origin:r}=await n();return`${r}${t===`extension-delegate`?z:`/auth/callback`}`}var V=t(`mcp-provider`),H=`mcp:`;function U(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function W(e){return`${H}${e}`}var G=new Map,K=new Set;async function q(t){if(t)return t;let{createProxiedFetch:n}=await e(async()=>{let{createProxiedFetch:e}=await import(`./proxied-fetch-Cplb-Tee.js`).then(e=>e.i);return{createProxiedFetch:e}},__vite__mapDeps([10,1,2,11,12,13,14])),r=n();return async(e,t)=>{let n=await r(e,{method:t?.method,headers:t?.headers,body:t?.body}),i=new TextDecoder().decode(n.body);return{ok:n.status>=200&&n.status<300,status:n.status,statusText:n.statusText,text:async()=>i,json:async()=>JSON.parse(i),headers:{get:e=>n.headers[e.toLowerCase()]??null}}}}async function J(e){let t=G.get(W(e.name));if(t)return t;let n=await q(e.fetchImpl),r=await j(e.serverUrl,void 0,n);return G.set(W(e.name),r),r}function Y(e){let t=W(e.name),o=(()=>{try{return new URL(e.serverUrl).host}catch{return``}})();return{id:t,name:`MCP: ${e.name}`,description:`MCP server at ${e.serverUrl}`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,oauthTokenDomains:o?[o]:[],getModelIds:()=>[],onOAuthLogin:async(r,i)=>{let o=e.launcher??r,s=await q(e.fetchImpl),c=await F({asMetadata:await J(e),clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await B(a()),launcher:o,fetchImpl:s});await n({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken,tokenExpiresAt:c.expiresAt,scopes:c.scope}),i()},onSilentRenew:async()=>{if(!r(t))return null;let a=i().find(e=>e.providerId===t),o=a?.refreshToken;if(!o)return V.info(`No refresh token for MCP provider, skipping silent renewal`,{id:t}),null;try{let r=await J(e),i=r.grantTypes??[];if(i.length>0&&!i.includes(`refresh_token`))return V.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:t}),null;let s=await q(e.fetchImpl),c=await R({tokenEndpoint:r.tokenEndpoint,clientId:e.auth.clientId,refreshToken:o,scope:e.auth.scope,fetchImpl:s});return await n({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return V.warn(`MCP silent renewal failed`,{id:t,error:e instanceof Error?e.message:String(e)}),null}}}}function X(e){let t=W(e.name);if(K.has(t))return;let n=Y(e);o(n),K.add(t),V.debug(`Registered MCP provider`,{id:t})}async function Z(){if(!U())return[];let{readMcpAuthEntries:t}=await e(async()=>{let{readMcpAuthEntries:e}=await import(`./provider-store-access-nagoWWb1.js`);return{readMcpAuthEntries:e}},[]),n=await t(),r=[];for(let e of n)X({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),r.push(W(e.name));return r}export{Z as ensureAllMcpProvidersRegistered,O as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/fs-BUK-3Ws8.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/types-D8gIX-W-.js","assets/path-utils-DNJG-zQf.js","assets/bounded-walk-BjxKWNqp.js","assets/virtual-device-paths-D45tpPP6.js","assets/same-file-identity-DuEcSmPX.js","assets/mount-table-store-dY2IfQ5S.js","assets/proxied-fetch-4VBgrEIu.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/oauth-service-GpUOM3Aw.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/permissions-surface-registry-CilCRwhh.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{C as n,W as r,u as i}from"./account-store-8pdjPGXe.js";import{n as a}from"./float-topology-C_iRKPQK.js";import{i as o}from"./providers-DGOyFpbk.js";import{t as s}from"./global-db-CbuLl-zx.js";import{n as c,r as l,t as u}from"./bridge-token-required-DMk2va9k.js";import{n as d,r as f,t as p}from"./pkce-hGf_TEnP.js";import{t as m}from"./types-D8gIX-W-.js";var h=t(`mcp-store`),g=`/workspace/.mcp/servers.json`,_=1,v=null,y=null;async function b(){return v||=await e(()=>import(`./fs-BUK-3Ws8.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),v}async function x(e){if(e)return e;if(y&&y.dbName===`slicc-fs-global`)return y.instance;let{VirtualFS:t}=await b(),n=await t.create({dbName:s});return y={instance:n,dbName:s},n}function S(){return{version:_,servers:{}}}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function w(e){if(!C(e))return null;let t={...e};return typeof t.url==`string`?(delete t.sessionId,t):null}function T(e){if(!C(e))return S();let t=e,n=typeof t.version==`number`?t.version:_,r={};if(C(t.servers))for(let[e,n]of Object.entries(t.servers)){let t=w(n);t&&(r[e]=t)}return{version:n,servers:r}}async function E(e){try{let t=await(await x(e)).readFile(g,{encoding:`utf-8`});try{return T(JSON.parse(t))}catch(e){return h.warn(`servers.json is not valid JSON; treating as empty`,{error:e instanceof Error?e.message:String(e)}),S()}}catch(e){if(e instanceof m&&e.code===`ENOENT`)return S();throw e}}async function D(e){return(await E(e)).servers}async function O(){let e=await D(),t=[];for(let[n,r]of Object.entries(e))!r?.url||!r.auth?.clientId||t.push({name:n,serverUrl:r.url,auth:r.auth});return t}var k=t(`mcp-oauth`);function A(e,t){let{discoveryPath:n,prmUrl:r,prmReason:i,asmUrl:a,asmReason:o}=t;if(!e)throw Error(n===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${r}): ${i}. ASM fallback (${a}): ${o}.`:`ASM fetch failed: ${o} (${a})`);if(!(e.authorization_endpoint&&e.token_endpoint))throw Error(n===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${r}): ${i}. ASM fallback (${a}) is missing required endpoints (authorization_endpoint, token_endpoint).`:`ASM at ${a} is missing required endpoints`)}async function j(e,t,n){let r=new URL(e).origin,i=t??`${r}/.well-known/oauth-protected-resource`,a=null,o=null;k.debug(`Fetching PRM`,{prmUrl:i});try{let e=await n(i,{headers:{Accept:`application/json`}});if(!e.ok)o=`${e.status} ${e.statusText}`;else{let t=await e.json();!t.authorization_servers||t.authorization_servers.length===0?o=`lists no authorization_servers`:a=t}}catch(e){o=e instanceof Error?e.message:String(e)}let s,c,l;a?.authorization_servers&&a.authorization_servers.length>0?(s=a.authorization_servers[0].replace(/\/+$/,``),c=`${s}/.well-known/oauth-authorization-server`,l=`prm`,k.debug(`Discovery via PRM`,{prmUrl:i,asmUrl:c})):(s=r,c=`${r}/.well-known/oauth-authorization-server`,l=`asm-origin-fallback`,k.debug(`PRM unavailable; falling back to ASM at server origin`,{prmUrl:i,prmReason:o,asmUrl:c}));let u=null,d=null;k.debug(`Fetching ASM`,{asmUrl:c});try{let e=await n(c,{headers:{Accept:`application/json`}});e.ok?u=await e.json():d=`${e.status} ${e.statusText}`}catch(e){d=e instanceof Error?e.message:String(e)}return A(u,{discoveryPath:l,prmUrl:i,prmReason:o,asmUrl:c,asmReason:d}),{issuer:u.issuer||s,authorizationEndpoint:u.authorization_endpoint,tokenEndpoint:u.token_endpoint,registrationEndpoint:u.registration_endpoint,supportedScopes:u.scopes_supported??a?.scopes_supported,codeChallengeMethods:u.code_challenge_methods_supported,grantTypes:u.grant_types_supported,discoveryPath:l}}function M(e){return!e||e.length===0||e.includes(`S256`)?`S256`:e.includes(`plain`)?`plain`:`S256`}async function N(e){let t=d();return e===`plain`?{codeVerifier:t,codeChallenge:t,method:e}:{codeVerifier:t,codeChallenge:await p(t),method:e}}function P(e){try{let t=new URL(e);return{code:t.searchParams.get(`code`),state:t.searchParams.get(`state`)}}catch{return{code:null,state:null}}}async function F(e){let t=await N(M(e.asMetadata.codeChallengeMethods)),n=f(),r=new URLSearchParams({response_type:`code`,client_id:e.clientId,redirect_uri:e.redirectUri,code_challenge:t.codeChallenge,code_challenge_method:t.method,state:n});e.scope&&r.set(`scope`,e.scope);let i=`${e.asMetadata.authorizationEndpoint}?${r.toString()}`,a=await e.launcher(i);if(!a)throw Error(`MCP OAuth flow cancelled or timed out`);let{code:o,state:s}=P(a);if(!o)throw Error("MCP OAuth redirect missing `code` parameter");if(s!==n)throw Error(`MCP OAuth state mismatch — possible CSRF`);return L({tokenEndpoint:e.asMetadata.tokenEndpoint,clientId:e.clientId,code:o,codeVerifier:t.codeVerifier,redirectUri:e.redirectUri,fetchImpl:e.fetchImpl})}function I(e){if(e.error||!e.access_token)throw Error(`Token endpoint error: ${e.error??`no_access_token`}${e.error_description?` — ${e.error_description}`:``}`);return{accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_in?Date.now()+e.expires_in*1e3:void 0,scope:e.scope,tokenType:e.token_type}}async function L(e){let t=new URLSearchParams({grant_type:`authorization_code`,code:e.code,redirect_uri:e.redirectUri,client_id:e.clientId,code_verifier:e.codeVerifier}).toString(),n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t}),r=await n.json();if(!n.ok&&!r.access_token)throw Error(`Token exchange failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return I(r)}async function R(e){if(c())throw new u;let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e.refreshToken,client_id:e.clientId});e.scope&&t.set(`scope`,e.scope);let n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t.toString()}),r=await n.json();if(l(n.status,JSON.stringify(r)))throw new u;if(!n.ok&&!r.access_token)throw Error(`Token refresh failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return I(r)}var z=`/auth/mcp-callback`;async function B(t){if(t===`extension-direct`){let e=chrome;return e.identity?.getRedirectURL?.(`mcp-callback`)??`https://${e.runtime?.id??``}.chromiumapp.org/mcp-callback`}if(t===`node-rest`){let{getLocalApiBaseUrl:t}=await e(async()=>{let{getLocalApiBaseUrl:e}=await import(`./proxied-fetch-4VBgrEIu.js`).then(e=>e.i);return{getLocalApiBaseUrl:e}},__vite__mapDeps([10,1,2,11,12,13,14])),n=t();if(n)return`${n}/auth/callback`}let{getOAuthPageOrigin:n}=await e(async()=>{let{getOAuthPageOrigin:e}=await import(`./oauth-service-GpUOM3Aw.js`);return{getOAuthPageOrigin:e}},__vite__mapDeps([15,2,10,1,11,12,13,14,16,17])),{origin:r}=await n();return`${r}${t===`extension-delegate`?z:`/auth/callback`}`}var V=t(`mcp-provider`),H=`mcp:`;function U(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function W(e){return`${H}${e}`}var G=new Map,K=new Set;async function q(t){if(t)return t;let{createProxiedFetch:n}=await e(async()=>{let{createProxiedFetch:e}=await import(`./proxied-fetch-4VBgrEIu.js`).then(e=>e.i);return{createProxiedFetch:e}},__vite__mapDeps([10,1,2,11,12,13,14])),r=n();return async(e,t)=>{let n=await r(e,{method:t?.method,headers:t?.headers,body:t?.body}),i=new TextDecoder().decode(n.body);return{ok:n.status>=200&&n.status<300,status:n.status,statusText:n.statusText,text:async()=>i,json:async()=>JSON.parse(i),headers:{get:e=>n.headers[e.toLowerCase()]??null}}}}async function J(e){let t=G.get(W(e.name));if(t)return t;let n=await q(e.fetchImpl),r=await j(e.serverUrl,void 0,n);return G.set(W(e.name),r),r}function Y(e){let t=W(e.name),o=(()=>{try{return new URL(e.serverUrl).host}catch{return``}})();return{id:t,name:`MCP: ${e.name}`,description:`MCP server at ${e.serverUrl}`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,oauthTokenDomains:o?[o]:[],getModelIds:()=>[],onOAuthLogin:async(n,i)=>{let o=e.launcher??n,s=await q(e.fetchImpl),c=await F({asMetadata:await J(e),clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await B(a()),launcher:o,fetchImpl:s});await r({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken,tokenExpiresAt:c.expiresAt,scopes:c.scope}),i()},onSilentRenew:async()=>{if(!n(t))return null;let a=i().find(e=>e.providerId===t),o=a?.refreshToken;if(!o)return V.info(`No refresh token for MCP provider, skipping silent renewal`,{id:t}),null;try{let n=await J(e),i=n.grantTypes??[];if(i.length>0&&!i.includes(`refresh_token`))return V.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:t}),null;let s=await q(e.fetchImpl),c=await R({tokenEndpoint:n.tokenEndpoint,clientId:e.auth.clientId,refreshToken:o,scope:e.auth.scope,fetchImpl:s});return await r({providerId:t,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return V.warn(`MCP silent renewal failed`,{id:t,error:e instanceof Error?e.message:String(e)}),null}}}}function X(e){let t=W(e.name);if(K.has(t))return;let n=Y(e);o(n),K.add(t),V.debug(`Registered MCP provider`,{id:t})}async function Z(){if(!U())return[];let{readMcpAuthEntries:t}=await e(async()=>{let{readMcpAuthEntries:e}=await import(`./provider-store-access-CJWXzYBJ.js`);return{readMcpAuthEntries:e}},[]),n=await t(),r=[];for(let e of n)X({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),r.push(W(e.name));return r}export{Z as ensureAllMcpProvidersRegistered,O as t};
@@ -1 +1 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import{_ as t,l as n,r}from"./account-store-C8W_QB2_.js";import{i,s as a,t as o}from"./providers-DSWENZNJ.js";import{n as s}from"./float-topology-DIH6ujZe.js";import{discoverAuth as c,refreshAccessToken as l,runAuthFlow as u}from"./oauth-D20BEoY6.js";import{n as d}from"./store-N9OMacY2.js";import{t as f}from"./mcp-command-BoGKsJ--.js";const p=e(`mcp-provider`);function m(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function h(e){return`mcp:${e}`}const g=new Map,_=new Set;async function v(e){if(e)return e;let{createProxiedFetch:t}=await import(`./proxied-fetch-CoZ8jHud.js`).then(e=>e.o),n=t();return async(e,t)=>{let r=await n(e,{method:t?.method,headers:t?.headers,body:t?.body}),i=new TextDecoder().decode(r.body);return{ok:r.status>=200&&r.status<300,status:r.status,statusText:r.statusText,text:async()=>i,json:async()=>JSON.parse(i),headers:{get:e=>r.headers[e.toLowerCase()]??null}}}}async function y(e){let t=g.get(h(e.name));if(t)return t;let n=await v(e.fetchImpl),r=await c(e.serverUrl,void 0,n);return g.set(h(e.name),r),r}function b(e){let i=h(e.name),a=(()=>{try{return new URL(e.serverUrl).host}catch{return``}})();return{id:i,name:`MCP: ${e.name}`,description:`MCP server at ${e.serverUrl}`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,oauthTokenDomains:a?[a]:[],getModelIds:()=>[],onOAuthLogin:async(n,r)=>{let a=e.launcher??n,o=await v(e.fetchImpl),c=await y(e),l=await u({asMetadata:c,clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await f(s()),launcher:a,fetchImpl:o});await t({providerId:i,accessToken:l.accessToken,refreshToken:l.refreshToken,tokenExpiresAt:l.expiresAt,scopes:l.scope}),r()},onSilentRenew:async()=>{if(!n(i))return null;let a=r().find(e=>e.providerId===i),o=a?.refreshToken;if(!o)return p.info(`No refresh token for MCP provider, skipping silent renewal`,{id:i}),null;try{let n=await y(e),r=n.grantTypes??[];if(r.length>0&&!r.includes(`refresh_token`))return p.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:i}),null;let s=await v(e.fetchImpl),c=await l({tokenEndpoint:n.tokenEndpoint,clientId:e.auth.clientId,refreshToken:o,scope:e.auth.scope,fetchImpl:s});return await t({providerId:i,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return p.warn(`MCP silent renewal failed`,{id:i,error:e instanceof Error?e.message:String(e)}),null}}}}function x(e){let t=h(e.name);if(_.has(t))return;let n=b(e);i(n),_.add(t),p.debug(`Registered MCP provider`,{id:t})}async function S(e,t={}){let n=h(e);if(_.has(n)&&o(n))return!0;if(!m())return!1;let r=await d(e);return r?(x({name:e,serverUrl:r.serverUrl,auth:r.auth,...t}),!0):!1}async function C(){if(!m())return[];let{readMcpAuthEntries:e}=await import(`./provider-store-access-wdRnmqbS.js`),t=await e(),n=[];for(let e of t)x({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),n.push(h(e.name));return n}function w(e){let t=h(e);return _.delete(t),g.delete(t),a(t)}export{C as ensureAllMcpProvidersRegistered,S as ensureMcpProviderRegistered,x as registerMcpProvider,w as removeMcpProvider};
1
+ import{t as e}from"./logger-LESFN7Hj.js";import{_ as t,l as n,r}from"./account-store-CYgyHiaa.js";import{i,s as a,t as o}from"./providers-CNz3-2Qt.js";import{n as s}from"./float-topology-COIC4j_U.js";import{discoverAuth as c,refreshAccessToken as l,runAuthFlow as u}from"./oauth-D20BEoY6.js";import{n as d}from"./store-wiEGJ_43.js";import{t as f}from"./mcp-command-h2MzRFNc.js";const p=e(`mcp-provider`);function m(){return typeof globalThis<`u`&&globalThis.indexedDB!==void 0}function h(e){return`mcp:${e}`}const g=new Map,_=new Set;async function v(e){if(e)return e;let{createProxiedFetch:t}=await import(`./proxied-fetch-F-dCBEfh.js`).then(e=>e.o),n=t();return async(e,t)=>{let r=await n(e,{method:t?.method,headers:t?.headers,body:t?.body}),i=new TextDecoder().decode(r.body);return{ok:r.status>=200&&r.status<300,status:r.status,statusText:r.statusText,text:async()=>i,json:async()=>JSON.parse(i),headers:{get:e=>r.headers[e.toLowerCase()]??null}}}}async function y(e){let t=g.get(h(e.name));if(t)return t;let n=await v(e.fetchImpl),r=await c(e.serverUrl,void 0,n);return g.set(h(e.name),r),r}function b(e){let i=h(e.name),a=(()=>{try{return new URL(e.serverUrl).host}catch{return``}})();return{id:i,name:`MCP: ${e.name}`,description:`MCP server at ${e.serverUrl}`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,oauthTokenDomains:a?[a]:[],getModelIds:()=>[],onOAuthLogin:async(n,r)=>{let a=e.launcher??n,o=await v(e.fetchImpl),c=await y(e),l=await u({asMetadata:c,clientId:e.auth.clientId,scope:e.auth.scope,redirectUri:e.auth.redirectUri??await f(s()),launcher:a,fetchImpl:o});await t({providerId:i,accessToken:l.accessToken,refreshToken:l.refreshToken,tokenExpiresAt:l.expiresAt,scopes:l.scope}),r()},onSilentRenew:async()=>{if(!n(i))return null;let a=r().find(e=>e.providerId===i),o=a?.refreshToken;if(!o)return p.info(`No refresh token for MCP provider, skipping silent renewal`,{id:i}),null;try{let n=await y(e),r=n.grantTypes??[];if(r.length>0&&!r.includes(`refresh_token`))return p.info(`AS does not advertise refresh_token grant; skipping silent renewal`,{id:i}),null;let s=await v(e.fetchImpl),c=await l({tokenEndpoint:n.tokenEndpoint,clientId:e.auth.clientId,refreshToken:o,scope:e.auth.scope,fetchImpl:s});return await t({providerId:i,accessToken:c.accessToken,refreshToken:c.refreshToken??o,tokenExpiresAt:c.expiresAt,scopes:c.scope??a.scopes}),c.accessToken}catch(e){return p.warn(`MCP silent renewal failed`,{id:i,error:e instanceof Error?e.message:String(e)}),null}}}}function x(e){let t=h(e.name);if(_.has(t))return;let n=b(e);i(n),_.add(t),p.debug(`Registered MCP provider`,{id:t})}async function S(e,t={}){let n=h(e);if(_.has(n)&&o(n))return!0;if(!m())return!1;let r=await d(e);return r?(x({name:e,serverUrl:r.serverUrl,auth:r.auth,...t}),!0):!1}async function C(){if(!m())return[];let{readMcpAuthEntries:e}=await import(`./provider-store-access-CR58tiUx.js`),t=await e(),n=[];for(let e of t)x({name:e.name,serverUrl:e.serverUrl,auth:e.auth}),n.push(h(e.name));return n}function w(e){let t=h(e);return _.delete(t),g.delete(t),a(t)}export{C as ensureAllMcpProvidersRegistered,S as ensureMcpProviderRegistered,x as registerMcpProvider,w as removeMcpProvider};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-LESFN7Hj.js";import"./account-store-C8W_QB2_.js";import"./core-ButDwsf2.js";import"./tray-runtime-config-ConrTcOf.js";var n=e({copyTextToClipboard:()=>r});async function r(e){if(!e)return!1;if(typeof navigator<`u`&&navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}if(typeof document>`u`)return!1;try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed; opacity:0; pointer-events:none; left:-9999px;`,document.body.appendChild(t),t.select();let n=document.execCommand?.(`copy`)??!1;return document.body.removeChild(t),n}catch{return!1}}t(`provider-settings`);export{n as t};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-LESFN7Hj.js";import"./account-store-CYgyHiaa.js";import"./core-C1m4D34S.js";import"./tray-runtime-config-CBx5P3dS.js";var n=e({copyTextToClipboard:()=>r});async function r(e){if(!e)return!1;if(typeof navigator<`u`&&navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}if(typeof document>`u`)return!1;try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed; opacity:0; pointer-events:none; left:-9999px;`,document.body.appendChild(t),t.select();let n=document.execCommand?.(`copy`)??!1;return document.body.removeChild(t),n}catch{return!1}}t(`provider-settings`);export{n as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./provider-CfiSsvHh.js";export{e as readMcpAuthEntries};
@@ -0,0 +1 @@
1
+ import{t as e}from"./store-wiEGJ_43.js";import"./provider-DQ129t3D.js";export{e as readMcpAuthEntries};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";var t={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},n=e({allProviderConfigs:()=>u,getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>l,shouldIncludeProvider:()=>i,unregisterProviderConfig:()=>m});const r=Object.assign({"/packages/dev-tools/providers.build.json":t})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function i(e){let{include:t,exclude:n}=r;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}const a=Object.assign({"./built-in/azure-ai-foundry.ts":()=>import(`./azure-ai-foundry-CzkPLAhp.js`),"./built-in/azure-openai.ts":()=>import(`./azure-openai-DaGSGR26.js`),"./built-in/bedrock-camp-compat.ts":()=>import(`./bedrock-camp-compat-ByR2ly4i.js`).then(e=>e.o),"./built-in/bedrock-camp-extra-models.ts":()=>import(`./bedrock-camp-extra-models-DIuCBjcJ.js`).then(e=>e.n),"./built-in/bedrock-camp.ts":()=>import(`./bedrock-camp-CBP41h6t.js`),"./built-in/local-llm.ts":()=>import(`./local-llm-BYFR1wMj.js`).then(e=>e.n)}),o=Object.assign({"/packages/webapp/providers/adobe.ts":()=>import(`./adobe-hInWK-RG.js`),"/packages/webapp/providers/cerebras.ts":()=>import(`./cerebras-CAFxbAAH.js`),"/packages/webapp/providers/github-copilot.ts":()=>import(`./github-copilot-kJD8s7l4.js`),"/packages/webapp/providers/github.ts":()=>import(`./github-DELN8f0M.js`),"/packages/webapp/providers/openai-codex.ts":()=>import(`./openai-codex-CVRDijVn.js`),"/packages/webapp/providers/openrouter-free.ts":()=>import(`./openrouter-free-DLoVUZYB.js`),"/packages/webapp/providers/openrouter-models.ts":()=>import(`./openrouter-models-RwlwKz0P.js`),"/packages/webapp/providers/openrouter-oauth.ts":()=>import(`./openrouter-oauth-YeISAtXv.js`),"/packages/webapp/providers/openrouter.ts":()=>import(`./openrouter-DaY_PmOO.js`),"/packages/webapp/providers/xai-grok-errors.ts":()=>import(`./xai-grok-errors-ByEMMSoz.js`),"/packages/webapp/providers/xai-grok.ts":()=>import(`./xai-grok-DgGOq90R.js`)}),s=new Map;let c=null;function l(){return c===null&&(c=(async()=>{let e=await Promise.all(Object.values(a).map(e=>e()));for(let t of e)t.config&&i(t.config.id)&&(s.set(t.config.id,t.config),t.register?.());let t=await Promise.all(Object.values(o).map(e=>e()));for(let e of t)e.config&&(s.set(e.config.id,e.config),e.register?.())})()),c}const u=s;function d(e){return s.get(e)}function f(){return[...s.keys()]}function p(e){s.set(e.id,e)}function m(e){return s.delete(e)}export{l as a,p as i,f as n,i as o,n as r,m as s,d as t};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";var t={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},n=e({allProviderConfigs:()=>u,getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>l,shouldIncludeProvider:()=>i,unregisterProviderConfig:()=>m});const r=Object.assign({"/packages/dev-tools/providers.build.json":t})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function i(e){let{include:t,exclude:n}=r;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}const a=Object.assign({"./built-in/azure-ai-foundry.ts":()=>import(`./azure-ai-foundry-CzkPLAhp.js`),"./built-in/azure-openai.ts":()=>import(`./azure-openai-BK1yv0Sn.js`),"./built-in/bedrock-camp-compat.ts":()=>import(`./bedrock-camp-compat-ByR2ly4i.js`).then(e=>e.o),"./built-in/bedrock-camp-extra-models.ts":()=>import(`./bedrock-camp-extra-models-DIuCBjcJ.js`).then(e=>e.n),"./built-in/bedrock-camp.ts":()=>import(`./bedrock-camp-CBP41h6t.js`),"./built-in/local-llm.ts":()=>import(`./local-llm-BcjMnaVa.js`).then(e=>e.n)}),o=Object.assign({"/packages/webapp/providers/adobe.ts":()=>import(`./adobe-C195sVCf.js`),"/packages/webapp/providers/cerebras.ts":()=>import(`./cerebras-Cq1Qi0CT.js`),"/packages/webapp/providers/github-copilot.ts":()=>import(`./github-copilot-C_JPU6a6.js`),"/packages/webapp/providers/github.ts":()=>import(`./github-D9GRCOqL.js`),"/packages/webapp/providers/openai-codex.ts":()=>import(`./openai-codex-CS23S3lJ.js`),"/packages/webapp/providers/openrouter-free.ts":()=>import(`./openrouter-free-Bmq0Tdc_.js`),"/packages/webapp/providers/openrouter-models.ts":()=>import(`./openrouter-models-RwlwKz0P.js`),"/packages/webapp/providers/openrouter-oauth.ts":()=>import(`./openrouter-oauth-BoMzKA4Q.js`),"/packages/webapp/providers/openrouter.ts":()=>import(`./openrouter-BwY0foMm.js`),"/packages/webapp/providers/xai-grok-errors.ts":()=>import(`./xai-grok-errors-ByEMMSoz.js`),"/packages/webapp/providers/xai-grok.ts":()=>import(`./xai-grok-DRR_8B5L.js`)}),s=new Map;let c=null;function l(){return c===null&&(c=(async()=>{let e=await Promise.all(Object.values(a).map(e=>e()));for(let t of e)t.config&&i(t.config.id)&&(s.set(t.config.id,t.config),t.register?.());let t=await Promise.all(Object.values(o).map(e=>e()));for(let e of t)e.config&&(s.set(e.config.id,e.config),e.register?.())})()),c}const u=s;function d(e){return s.get(e)}function f(){return[...s.keys()]}function p(e){s.set(e.id,e)}function m(e){return s.delete(e)}export{l as a,p as i,f as n,i as o,n as r,m as s,d as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/azure-openai-DSJ0iXpS.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-8pdjPGXe.js","assets/core-Cx9N3lmn.js","assets/libesm-BypnjKEL.js","assets/logger-DDBAeTLF.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/base64-ELzoYfwP.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/stored-accounts-ChNHYF68.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-Ce-14HNh.js","assets/legacy-api-aliases-BjgG1CsY.js","assets/adobe-B4FKwftW.js","assets/main-DE492KKE.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-OCJFe0Op.js","assets/provider-budget-LCzMPlKv.js","assets/oauth-service-GpUOM3Aw.js","assets/permissions-surface-registry-CilCRwhh.js","assets/llm-session-id-bZQs6gBN.js","assets/cerebras-B0XnBx_U.js","assets/github-copilot-C8hgcCJI.js","assets/github-DeZ2nDzS.js","assets/global-db-CbuLl-zx.js","assets/bridge-token-required-DMk2va9k.js","assets/openai-codex-DIPqOcNT.js","assets/pkce-hGf_TEnP.js","assets/openrouter-free-vIKTI0NQ.js","assets/openrouter-models-DawLtPaY.js","assets/openrouter-oauth-PagZ0gy-.js","assets/openrouter-BdryGS-Z.js","assets/xai-grok-DUHWrBsy.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-DSJ0iXpS.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,32])),"./built-in/bedrock-camp-compat.ts":()=>t(()=>import(`./bedrock-camp-compat-B1oHsbyo.js`).then(e=>e.o),__vite__mapDeps([28,8])),"./built-in/bedrock-camp-extra-models.ts":()=>t(()=>import(`./bedrock-camp-extra-models-BYrxX19D.js`).then(e=>e.n),__vite__mapDeps([29,8,28])),"./built-in/bedrock-camp.ts":()=>t(()=>import(`./bedrock-camp-CWYBPsp_.js`),__vite__mapDeps([33,1,2,3,4,5,6,7,8,9,28,30,31,32,34])),"./built-in/local-llm.ts":()=>t(()=>import(`./local-llm-Ce-14HNh.js`),__vite__mapDeps([35,1,4,2,3,5,6,7,8,9,36,13,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32]))}),s=Object.assign({"/packages/webapp/providers/adobe.ts":()=>t(()=>import(`./adobe-B4FKwftW.js`),__vite__mapDeps([37,11,8,4,2,1,3,5,6,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,36,10,27,28,29,30,38,39,40,41,42,43,44,45,46,47,32,34,48])),"/packages/webapp/providers/cerebras.ts":()=>t(()=>import(`./cerebras-B0XnBx_U.js`),__vite__mapDeps([49,1,4,2,3,5,6,7,8,9,36,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,32])),"/packages/webapp/providers/github-copilot.ts":()=>t(()=>import(`./github-copilot-C8hgcCJI.js`),__vite__mapDeps([50,11,8,4,2,1,3,5,6,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,36,10,27,28,29,30,38,39,40,41,42,43])),"/packages/webapp/providers/github.ts":()=>t(()=>import(`./github-DeZ2nDzS.js`),__vite__mapDeps([51,3,10,11,8,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,30,38,39,40,41,42,43,44,46,47,52,53])),"/packages/webapp/providers/openai-codex.ts":()=>t(()=>import(`./openai-codex-DIPqOcNT.js`),__vite__mapDeps([54,1,4,2,3,5,6,7,8,9,36,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,38,39,40,41,42,43,32,53,55])),"/packages/webapp/providers/openrouter-free.ts":()=>t(()=>import(`./openrouter-free-vIKTI0NQ.js`),__vite__mapDeps([56,1,4,2,3,5,6,7,8,9,36,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,38,39,40,41,42,43,32,57,58,55])),"/packages/webapp/providers/openrouter-models.ts":()=>t(()=>import(`./openrouter-models-DawLtPaY.js`),__vite__mapDeps([57,9])),"/packages/webapp/providers/openrouter-oauth.ts":()=>t(()=>import(`./openrouter-oauth-PagZ0gy-.js`),__vite__mapDeps([58,10,11,8,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,30,38,39,40,41,42,43,55])),"/packages/webapp/providers/openrouter.ts":()=>t(()=>import(`./openrouter-BdryGS-Z.js`),__vite__mapDeps([59,4,2,1,3,5,6,7,8,9,36,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,38,39,40,41,42,43,32,57,58,55])),"/packages/webapp/providers/xai-grok-errors.ts":()=>t(()=>import(`./xai-grok-errors-bnlIBeu-.js`),[]),"/packages/webapp/providers/xai-grok.ts":()=>t(()=>import(`./xai-grok-DUHWrBsy.js`),__vite__mapDeps([60,11,8,4,2,1,3,5,6,7,9,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,36,10,27,28,29,30,38,39,40,41,42,43,32,53,55,61]))}),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 +1,2 @@
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{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-Czpn1I53.js";import{r as n,t as r}from"./base64-ELzoYfwP.js";import{n as i,r as a,t as o}from"./proxy-error-BSFYY7jj.js";import{a as s,i as c,r as l,s as u,t as d}from"./api-endpoint-DuEQRZ4g.js";function f(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();e===`cookie`?t[`X-Proxy-Cookie`]=r:e===`origin`?t[`X-Proxy-Origin`]=r:e===`referer`?t[`X-Proxy-Referer`]=r:e.startsWith(`proxy-`)?t[`X-Proxy-${n}`]=r:t[n]=r}return t}function p(e){let t={};for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();e===`x-proxy-set-cookie`?t[`set-cookie`]=r:e===`x-proxy-www-authenticate`?t[`www-authenticate`]=r:t[n]=r}return t}function m(e){if(e){if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return e}}var h=new Map,g=new Map;function _(e,t){h.set(e,t),setTimeout(()=>h.delete(e),1e4)}function v(e,t){g.set(e,t),setTimeout(()=>g.delete(e),1e4)}new TextDecoder;function y(e){if(typeof e!=`string`)return e;for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return new TextEncoder().encode(e);let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}var b=new Map;function x(e){return b.get(e)?.bytes??null}var S=e({BINARY_CACHE_BODY_CAP:()=>E,PROXY_CONTENT_LENGTH_HEADER:()=>P,REQUEST_BODY_CAP:()=>C,collectViaExtensionDelegate:()=>X,collectViaExtensionPort:()=>J,createProxiedFetch:()=>Z,decodeForbiddenResponseHeaders:()=>B,encodeForbiddenRequestHeaders:()=>z,getLocalApiBaseUrl:()=>s,getResponseBodyCap:()=>T,headersToRecord:()=>N,isTextContentType:()=>a,prepareRequestBody:()=>R,readResponseBody:()=>A,resolveExactRequestBody:()=>L,responseTooLargeError:()=>D}),C=33554432,w=536870912;function T(){return w}var E=33554432;function D(e,t,n=w){let r=Math.round(n/1048576),i=t===void 0?``:` (${t} bytes)`;return Error(`proxied-fetch: response body for ${e} exceeds the ${r} MiB download limit${i}; download it in ranges (curl -r) or from a native float`)}var O=new Set([101,103,204,205,304]);function k(){return u(`/api/fetch-proxy`)}async function A(e,t,n,r,i=w){let a=e.headers.get(`content-type`)??``,o=r??F(e.headers);if(o!==void 0&&o>i)throw await e.body?.cancel().catch(()=>void 0),D(t??e.url,o,i);let s=await M(e,t??e.url,n,o,i);return j(s,a,t),s}function j(e,t,n){if(a(t)||e.byteLength>33554432)return;if(n){v(n,e);return}let r=``;for(let t=0;t<e.length;t+=32768)r+=String.fromCharCode(...e.subarray(t,t+32768));_(r,e)}async function M(e,t,n,r,i=w){if(!e.body)return new Uint8Array(await e.arrayBuffer());let a=e.body.getReader(),o=r!==void 0&&r>0&&r<=i?new Uint8Array(r):null,s=[],c=0;for(;;){let{done:e,value:r}=await a.read();if(e)break;let l=r;if(o?c+l.byteLength<=o.byteLength?o.set(l,c):(s.push(o.subarray(0,c),l),o=null):s.push(l),c+=l.byteLength,c>i)throw await a.cancel().catch(()=>void 0),D(t,void 0,i);n?.(c)}return o?c===o.byteLength?o:o.slice(0,c):H(s)}var N=m,P=`x-proxy-content-length`;function F(e){let t=t=>e instanceof Headers?e.get(t):Object.entries(e).find(([e])=>e.toLowerCase()===t)?.[1]??null,n=t(`x-proxy-content-length`)??t(`content-length`);if(n==null||!/^\d+$/.test(n))return;let r=Number(n);return Number.isSafeInteger(r)&&r>=0?r:void 0}async function I(e,t,n){if(!e)return n();try{return await n()}finally{e.end(t)}}function L(e){return typeof e!=`string`||e===``?e:x(e)??e}function R(e,t){let n=L(e);if(n==null||n===``)return;if(typeof n!=`string`)return new Blob([n]);let r=Object.entries(t??{}).find(([e])=>e.toLowerCase()===`content-type`)?.[1]??``;if(r&&!a(r)){let e=y(n);return new Blob([e])}return n}var z=f,B=p,V=r;function H(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}function U(e,t,n){let r=new Headers;for(let[t,n]of Object.entries(e.headers))r.set(t,String(n));let i=O.has(e.status)?new Uint8Array:t;return j(i,r.get(`content-type`)??``,n),{status:e.status,statusText:e.statusText,headers:B(e.headers),body:i,url:n}}async function W(e){let t=N(e?.headers),r=e?.method??`GET`,i=e?.body?R(e.body,t):void 0,a=z(t),o,s=!1;if(i!==void 0){let e=i instanceof Uint8Array?i:new Uint8Array(await new Response(i).arrayBuffer());e.byteLength>33554432?s=!0:o=n(e)}return{method:r,transportHeaders:a,bodyBase64:o,requestBodyTooLarge:s}}function G(e){return e?.signal}function K(){return new DOMException(`The operation was aborted.`,`AbortError`)}async function q(e,t,n,r,i=w){let{method:a,transportHeaders:o,bodyBase64:s,requestBodyTooLarge:c}=await W(n),l=G(n);if(l?.aborted)throw K();let u=e();return new Promise((e,n)=>{let d=null,f=!1,p=0,m,h=[],g=e=>{f=!0,h.length=0,l?.removeEventListener(`abort`,_),n(e),u.disconnect()},_=()=>g(K());l?.addEventListener(`abort`,_,{once:!0});let v=e=>{if(d={status:e.status,statusText:e.statusText,headers:e.headers},m=F(e.headers),m!==void 0&&m>i){g(D(t,m,i));return}r?.start(t,m)},y=e=>{if(f)return;let n=V(e.dataBase64);if(p+=n.byteLength,p>i){g(D(t,void 0,i));return}h.push(n),r?.chunk(t,p,m)},b=()=>{if(!f){if(f=!0,l?.removeEventListener(`abort`,_),!d){n(Error(`fetch-proxy: response-end before response-head`));return}e({head:d,body:H(h).buffer}),u.disconnect()}};u.onMessage.addListener(e=>{let t=e;t.type===`response-head`?v(t):t.type===`response-chunk`?y(t):t.type===`response-end`?b():t.type===`response-error`&&g(Error(t.error))}),u.onDisconnect.addListener(()=>{f||n(Error(d?`fetch-proxy port disconnected mid-stream`:`fetch-proxy port disconnected before response`))}),u.postMessage({type:`request`,url:t,method:a,headers:o,bodyBase64:s,requestBodyTooLarge:c})})}function J(e,t,n,r){return q(()=>chrome.runtime.connect({name:`fetch-proxy.fetch`}),e,t,n,r)}async function Y(e,t,n,r){let{head:i,body:a}=await I(n,e,()=>J(e,t,n,r));return U(i,new Uint8Array(a),e)}async function X(e,t,n,r){let i=c();if(!i)throw Error(`proxied-fetch: no extension delegate id configured`);let a=chrome.runtime.connect;return q(()=>a(i,{name:`fetch-proxy.fetch`}),e,t,n,r)}function Z(e={}){let n=e.progress,r=()=>e.maxResponseBytes===void 0?w:Math.min(e.maxResponseBytes,w);return l()?(e,t)=>Y(e,t,n,r()):typeof chrome<`u`&&typeof chrome?.runtime?.connect==`function`&&c()?async(e,t)=>{let{head:i,body:a}=await I(n,e,()=>X(e,t,n,r()));return U(i,new Uint8Array(a),e)}:typeof chrome>`u`&&c()?async(e,i)=>{let{getPanelRpcClient:a}=await t(async()=>{let{getPanelRpcClient:e}=await import(`./panel-rpc-D3EPRnmw.js`).then(e=>e.i);return{getPanelRpcClient:e}},__vite__mapDeps([0,1])),o=a();if(!o)throw Error(`proxied-fetch: panel-RPC client unavailable in worker realm`);let s=i?.method??`GET`,c=N(i?.headers)??{},l=L(i?.body);n?.start(e,void 0);let{head:u,body:d}=await I(n,e,()=>o.call(`proxied-fetch`,{url:e,method:s,headers:c,body:l},{timeoutMs:12e4,signal:G(i)}));if(d.byteLength>r())throw D(e,d.byteLength,r());return U(u,new Uint8Array(d),e)}:async(e,t)=>{let a=t?.method??`GET`,s=z(N(t?.headers)),c=d({...s,"X-Target-URL":e}),l={method:a,headers:c,cache:`no-store`},u=t?.signal;if(u&&(l.signal=u),t?.body&&![`GET`,`HEAD`].includes(a)){let e=R(t.body,c);e instanceof Blob&&(c[`X-Slicc-Raw-Body`]=`1`),l.body=e}return I(n,e,async()=>{let t=await fetch(k(),l);if(o(t))throw Error(await i(t));let a=F(t.headers);n?.start(e,a);let s=await A(t,e,n?t=>n.chunk(e,t,a):void 0,a,r()),c={};t.headers.forEach((e,t)=>{c[t]=e});let u=B(c);return{status:t.status,statusText:t.statusText,headers:u,body:s,url:e}})}}export{y as a,S as i,Z as n,p as o,T as r,f as s,C as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panel-rpc-sLZo8PD-.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/panel-rpc-accessor-B4BfPLSo.js"])))=>i.map(i=>d[i]);
2
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-Czpn1I53.js";import{r as n,t as r}from"./base64-ELzoYfwP.js";import{n as i,r as a,t as o}from"./proxy-error-BSFYY7jj.js";import{a as s,i as c,r as l,s as u,t as d}from"./api-endpoint-DuEQRZ4g.js";function f(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();e===`cookie`?t[`X-Proxy-Cookie`]=r:e===`origin`?t[`X-Proxy-Origin`]=r:e===`referer`?t[`X-Proxy-Referer`]=r:e.startsWith(`proxy-`)?t[`X-Proxy-${n}`]=r:t[n]=r}return t}function p(e){let t={};for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();e===`x-proxy-set-cookie`?t[`set-cookie`]=r:e===`x-proxy-www-authenticate`?t[`www-authenticate`]=r:t[n]=r}return t}function m(e){if(e){if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return e}}var h=new Map,g=new Map;function _(e,t){h.set(e,t),setTimeout(()=>h.delete(e),1e4)}function v(e,t){g.set(e,t),setTimeout(()=>g.delete(e),1e4)}new TextDecoder;function y(e){if(typeof e!=`string`)return e;for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return new TextEncoder().encode(e);let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}var b=new Map;function x(e){return b.get(e)?.bytes??null}var S=e({BINARY_CACHE_BODY_CAP:()=>E,PROXY_CONTENT_LENGTH_HEADER:()=>P,REQUEST_BODY_CAP:()=>C,collectViaExtensionDelegate:()=>X,collectViaExtensionPort:()=>J,createProxiedFetch:()=>Z,decodeForbiddenResponseHeaders:()=>B,encodeForbiddenRequestHeaders:()=>z,getLocalApiBaseUrl:()=>s,getResponseBodyCap:()=>T,headersToRecord:()=>N,isTextContentType:()=>a,prepareRequestBody:()=>R,readResponseBody:()=>A,resolveExactRequestBody:()=>L,responseTooLargeError:()=>D}),C=33554432,w=536870912;function T(){return w}var E=33554432;function D(e,t,n=w){let r=Math.round(n/1048576),i=t===void 0?``:` (${t} bytes)`;return Error(`proxied-fetch: response body for ${e} exceeds the ${r} MiB download limit${i}; download it in ranges (curl -r) or from a native float`)}var O=new Set([101,103,204,205,304]);function k(){return u(`/api/fetch-proxy`)}async function A(e,t,n,r,i=w){let a=e.headers.get(`content-type`)??``,o=r??F(e.headers);if(o!==void 0&&o>i)throw await e.body?.cancel().catch(()=>void 0),D(t??e.url,o,i);let s=await M(e,t??e.url,n,o,i);return j(s,a,t),s}function j(e,t,n){if(a(t)||e.byteLength>33554432)return;if(n){v(n,e);return}let r=``;for(let t=0;t<e.length;t+=32768)r+=String.fromCharCode(...e.subarray(t,t+32768));_(r,e)}async function M(e,t,n,r,i=w){if(!e.body)return new Uint8Array(await e.arrayBuffer());let a=e.body.getReader(),o=r!==void 0&&r>0&&r<=i?new Uint8Array(r):null,s=[],c=0;for(;;){let{done:e,value:r}=await a.read();if(e)break;let l=r;if(o?c+l.byteLength<=o.byteLength?o.set(l,c):(s.push(o.subarray(0,c),l),o=null):s.push(l),c+=l.byteLength,c>i)throw await a.cancel().catch(()=>void 0),D(t,void 0,i);n?.(c)}return o?c===o.byteLength?o:o.slice(0,c):H(s)}var N=m,P=`x-proxy-content-length`;function F(e){let t=t=>e instanceof Headers?e.get(t):Object.entries(e).find(([e])=>e.toLowerCase()===t)?.[1]??null,n=t(`x-proxy-content-length`)??t(`content-length`);if(n==null||!/^\d+$/.test(n))return;let r=Number(n);return Number.isSafeInteger(r)&&r>=0?r:void 0}async function I(e,t,n){if(!e)return n();try{return await n()}finally{e.end(t)}}function L(e){return typeof e!=`string`||e===``?e:x(e)??e}function R(e,t){let n=L(e);if(n==null||n===``)return;if(typeof n!=`string`)return new Blob([n]);let r=Object.entries(t??{}).find(([e])=>e.toLowerCase()===`content-type`)?.[1]??``;if(r&&!a(r)){let e=y(n);return new Blob([e])}return n}var z=f,B=p,V=r;function H(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}function U(e,t,n){let r=new Headers;for(let[t,n]of Object.entries(e.headers))r.set(t,String(n));let i=O.has(e.status)?new Uint8Array:t;return j(i,r.get(`content-type`)??``,n),{status:e.status,statusText:e.statusText,headers:B(e.headers),body:i,url:n}}async function W(e){let t=N(e?.headers),r=e?.method??`GET`,i=e?.body?R(e.body,t):void 0,a=z(t),o,s=!1;if(i!==void 0){let e=i instanceof Uint8Array?i:new Uint8Array(await new Response(i).arrayBuffer());e.byteLength>33554432?s=!0:o=n(e)}return{method:r,transportHeaders:a,bodyBase64:o,requestBodyTooLarge:s}}function G(e){return e?.signal}function K(){return new DOMException(`The operation was aborted.`,`AbortError`)}async function q(e,t,n,r,i=w){let{method:a,transportHeaders:o,bodyBase64:s,requestBodyTooLarge:c}=await W(n),l=G(n);if(l?.aborted)throw K();let u=e();return new Promise((e,n)=>{let d=null,f=!1,p=0,m,h=[],g=e=>{f=!0,h.length=0,l?.removeEventListener(`abort`,_),n(e),u.disconnect()},_=()=>g(K());l?.addEventListener(`abort`,_,{once:!0});let v=e=>{if(d={status:e.status,statusText:e.statusText,headers:e.headers},m=F(e.headers),m!==void 0&&m>i){g(D(t,m,i));return}r?.start(t,m)},y=e=>{if(f)return;let n=V(e.dataBase64);if(p+=n.byteLength,p>i){g(D(t,void 0,i));return}h.push(n),r?.chunk(t,p,m)},b=()=>{if(!f){if(f=!0,l?.removeEventListener(`abort`,_),!d){n(Error(`fetch-proxy: response-end before response-head`));return}e({head:d,body:H(h).buffer}),u.disconnect()}};u.onMessage.addListener(e=>{let t=e;t.type===`response-head`?v(t):t.type===`response-chunk`?y(t):t.type===`response-end`?b():t.type===`response-error`&&g(Error(t.error))}),u.onDisconnect.addListener(()=>{f||n(Error(d?`fetch-proxy port disconnected mid-stream`:`fetch-proxy port disconnected before response`))}),u.postMessage({type:`request`,url:t,method:a,headers:o,bodyBase64:s,requestBodyTooLarge:c})})}function J(e,t,n,r){return q(()=>chrome.runtime.connect({name:`fetch-proxy.fetch`}),e,t,n,r)}async function Y(e,t,n,r){let{head:i,body:a}=await I(n,e,()=>J(e,t,n,r));return U(i,new Uint8Array(a),e)}async function X(e,t,n,r){let i=c();if(!i)throw Error(`proxied-fetch: no extension delegate id configured`);let a=chrome.runtime.connect;return q(()=>a(i,{name:`fetch-proxy.fetch`}),e,t,n,r)}function Z(e={}){let n=e.progress,r=()=>e.maxResponseBytes===void 0?w:Math.min(e.maxResponseBytes,w);return l()?(e,t)=>Y(e,t,n,r()):typeof chrome<`u`&&typeof chrome?.runtime?.connect==`function`&&c()?async(e,t)=>{let{head:i,body:a}=await I(n,e,()=>X(e,t,n,r()));return U(i,new Uint8Array(a),e)}:typeof chrome>`u`&&c()?async(e,i)=>{let{getPanelRpcClient:a}=await t(async()=>{let{getPanelRpcClient:e}=await import(`./panel-rpc-sLZo8PD-.js`).then(e=>e.n);return{getPanelRpcClient:e}},__vite__mapDeps([0,1,2])),o=a();if(!o)throw Error(`proxied-fetch: panel-RPC client unavailable in worker realm`);let s=i?.method??`GET`,c=N(i?.headers)??{},l=L(i?.body);n?.start(e,void 0);let{head:u,body:d}=await I(n,e,()=>o.call(`proxied-fetch`,{url:e,method:s,headers:c,body:l},{timeoutMs:12e4,signal:G(i)}));if(d.byteLength>r())throw D(e,d.byteLength,r());return U(u,new Uint8Array(d),e)}:async(e,t)=>{let a=t?.method??`GET`,s=z(N(t?.headers)),c=d({...s,"X-Target-URL":e}),l={method:a,headers:c,cache:`no-store`},u=t?.signal;if(u&&(l.signal=u),t?.body&&![`GET`,`HEAD`].includes(a)){let e=R(t.body,c);e instanceof Blob&&(c[`X-Slicc-Raw-Body`]=`1`),l.body=e}return I(n,e,async()=>{let t=await fetch(k(),l);if(o(t))throw Error(await i(t));let a=F(t.headers);n?.start(e,a);let s=await A(t,e,n?t=>n.chunk(e,t,a):void 0,a,r()),c={};t.headers.forEach((e,t)=>{c[t]=e});let u=B(c);return{status:t.status,statusText:t.statusText,headers:u,body:s,url:e}})}}export{y as a,S as i,Z as n,p as o,T as r,f as s,C as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t,t as n}from"./base64-BPBW1Gzr.js";import{t as r}from"./content-type-c5DAvCWD.js";import{n as i,t as a}from"./binary-cache-bSOhqXB1.js";import{r as o}from"./fetch-body-CuwTaJC_.js";import{a as s,c,d as l,i as u,l as d,n as f,o as p,r as m,s as h,t as g,u as _}from"./api-endpoint-D8lUKmPu.js";import{i as ee,n as v,r as y,t as b}from"./proxy-error-BVzVNPvv.js";function x(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();e===`cookie`?t[`X-Proxy-Cookie`]=r:e===`origin`?t[`X-Proxy-Origin`]=r:e===`referer`?t[`X-Proxy-Referer`]=r:e.startsWith(`proxy-`)?t[`X-Proxy-${n}`]=r:t[n]=r}return t}function S(e){let t={};for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();e===`x-proxy-set-cookie`?t[`set-cookie`]=r:e===`x-proxy-www-authenticate`?t[`www-authenticate`]=r:t[n]=r}return t}function te(e){if(e){if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return e}}function ne(e){if(!e)return;if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),Object.keys(t).length===0?void 0:t}if(Array.isArray(e)){let t={};for(let[n,r]of e)t[n]=r;return Object.keys(t).length===0?void 0:t}let t={...e};return Object.keys(t).length===0?void 0:t}const C=8388608,w=new Map;let T=0;const E=new Set;function D(e){let t=w.get(e);t&&(clearTimeout(t.timer),w.delete(e),T-=t.bytes.byteLength)}function re(e){for(let t of e)if(t>=128)return!0;return!1}function ie(e){let t=new Uint8Array(e.byteLength),n=0;for(let r of e)r!==10&&r!==13&&(t[n++]=r);return t.slice(0,n)}function ae(e,t){O(e,t);let n=e.replace(/[\r\n]/g,``);n!==e&&O(n,ie(t))}function oe(e,t){if(e.byteLength!==t.byteLength)return!1;for(let n=0;n<e.byteLength;n++)if(e[n]!==t[n])return!1;return!0}function O(e,t){if(t.byteLength===0||t.byteLength>C||!re(t)||E.has(e))return;let n=w.get(e);if(n&&!oe(n.bytes,t)){D(e),E.add(e);return}D(e);for(let e of w.keys()){if(T+t.byteLength<=C)break;D(e)}w.set(e,{bytes:t,timer:setTimeout(()=>D(e),1e4)}),T+=t.byteLength}function se(e){return w.get(e)?.bytes??null}function ce(){for(let e of[...w.keys()])D(e);E.clear()}var le=e({BINARY_CACHE_BODY_CAP:()=>de,PROXY_CONTENT_LENGTH_HEADER:()=>me,REQUEST_BODY_CAP:()=>k,RawFetchError:()=>y,apiHeaders:()=>g,assertLocalBridgeAcceptsToken:()=>f,collectViaExtensionDelegate:()=>Q,collectViaExtensionPort:()=>Z,createProxiedFetch:()=>$,createProxiedStreamingFetch:()=>be,decodeForbiddenResponseHeaders:()=>G,encodeForbiddenRequestHeaders:()=>W,getBridgeToken:()=>m,getChromeExtensionRealm:()=>u,getExtensionDelegateId:()=>s,getLocalApiBaseUrl:()=>p,getRawFetchCapabilities:()=>I,getResponseBodyCap:()=>M,headersToRecord:()=>z,isTextContentType:()=>r,prepareRequestBody:()=>U,readResponseBody:()=>L,resetRawFetchCapabilities:()=>fe,resolveApiUrl:()=>h,resolveExactRequestBody:()=>H,responseTooLargeError:()=>N,setBridgeToken:()=>c,setChromeExtensionRealm:()=>d,setExtensionDelegateId:()=>_,setLocalApiBaseUrl:()=>l,setResponseBodyCap:()=>ue});const k=33554432,A=536870912;let j=A;function ue(e){j=e===null?A:e}function M(){return j}const de=33554432;function N(e,t,n=j){let r=Math.round(n/1048576),i=t===void 0?``:` (${t} bytes)`;return Error(`proxied-fetch: response body for ${e} exceeds the ${r} MiB download limit${i}; download it in ranges (curl -r) or from a native float`)}const P=new Set([101,103,204,205,304]);function F(){return h(`/api/fetch-proxy`)}async function I(){return(await import(`./proxied-fetch-raw-Cb_C44Cy.js`)).getRawFetchCapabilities()}async function fe(){(await import(`./proxied-fetch-raw-Cb_C44Cy.js`)).resetRawFetchCapabilities()}async function L(e,t,n,r,i=j){let a=e.headers.get(`content-type`)??``,o=r??B(e.headers);if(o!==void 0&&o>i)throw await e.body?.cancel().catch(()=>void 0),N(t??e.url,o,i);let s=await pe(e,t??e.url,n,o,i);return R(s,a,t),s}function R(e,t,n){if(r(t)||e.byteLength>33554432)return;if(n){i(n,e);return}let o=``;for(let t=0;t<e.length;t+=32768)o+=String.fromCharCode(...e.subarray(t,t+32768));a(o,e)}async function pe(e,t,n,r,i=j){if(!e.body)return new Uint8Array(await e.arrayBuffer());let a=e.body.getReader(),o=r!==void 0&&r>0&&r<=i?new Uint8Array(r):null,s=[],c=0;for(;;){let{done:e,value:r}=await a.read();if(e)break;let l=r;if(o?c+l.byteLength<=o.byteLength?o.set(l,c):(s.push(o.subarray(0,c),l),o=null):s.push(l),c+=l.byteLength,c>i)throw await a.cancel().catch(()=>void 0),N(t,void 0,i);n?.(c)}return o?c===o.byteLength?o:o.slice(0,c):K(s)}const z=te,me=`x-proxy-content-length`;function B(e){let t=t=>e instanceof Headers?e.get(t):Object.entries(e).find(([e])=>e.toLowerCase()===t)?.[1]??null,n=t(`x-proxy-content-length`)??t(`content-length`);if(n==null||!/^\d+$/.test(n))return;let r=Number(n);return Number.isSafeInteger(r)&&r>=0?r:void 0}async function V(e,t,n){if(!e)return n();try{return await n()}finally{e.end(t)}}function H(e){return typeof e!=`string`||e===``?e:se(e)??e}function U(e,t){let n=H(e);if(n==null||n===``)return;if(typeof n!=`string`)return new Blob([n]);let i=Object.entries(t??{}).find(([e])=>e.toLowerCase()===`content-type`)?.[1]??``;if(i&&!r(i)){let e=o(n);return new Blob([e])}return n}const W=x,G=S,he=n;function K(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}function q(e,t,n){let r=new Headers;for(let[t,n]of Object.entries(e.headers))r.set(t,String(n));let i=P.has(e.status)?new Uint8Array:t;return R(i,r.get(`content-type`)??``,n),{status:e.status,statusText:e.statusText,headers:G(e.headers),body:i,url:n}}async function ge(e){let n=z(e?.headers),r=e?.method??`GET`,i=e?.body?U(e.body,n):void 0,a=W(n),o,s=!1;if(i!==void 0){let e=i instanceof Uint8Array?i:new Uint8Array(await new Response(i).arrayBuffer());e.byteLength>33554432?s=!0:o=t(e)}return{method:r,transportHeaders:a,bodyBase64:o,requestBodyTooLarge:s}}function J(e){return e?.signal}function Y(){return new DOMException(`The operation was aborted.`,`AbortError`)}async function X(e,t,n,r,i=j){let{method:a,transportHeaders:o,bodyBase64:s,requestBodyTooLarge:c}=await ge(n),l=J(n);if(l?.aborted)throw Y();let u=e();return new Promise((e,n)=>{let d=null,f=!1,p=0,m,h=[],g=e=>{f=!0,h.length=0,l?.removeEventListener(`abort`,_),n(e),u.disconnect()},_=()=>g(Y());l?.addEventListener(`abort`,_,{once:!0});let ee=e=>{if(d={status:e.status,statusText:e.statusText,headers:e.headers},m=B(e.headers),m!==void 0&&m>i){g(N(t,m,i));return}r?.start(t,m)},v=e=>{if(f)return;let n=he(e.dataBase64);if(p+=n.byteLength,p>i){g(N(t,void 0,i));return}h.push(n),r?.chunk(t,p,m)},y=()=>{if(!f){if(f=!0,l?.removeEventListener(`abort`,_),!d){n(Error(`fetch-proxy: response-end before response-head`));return}e({head:d,body:K(h).buffer}),u.disconnect()}};u.onMessage.addListener(e=>{let t=e;t.type===`response-head`?ee(t):t.type===`response-chunk`?v(t):t.type===`response-end`?y():t.type===`response-error`&&g(Error(t.error))}),u.onDisconnect.addListener(()=>{f||n(Error(d?`fetch-proxy port disconnected mid-stream`:`fetch-proxy port disconnected before response`))}),u.postMessage({type:`request`,url:t,method:a,headers:o,bodyBase64:s,requestBodyTooLarge:c})})}function Z(e,t,n,r){return X(()=>chrome.runtime.connect({name:`fetch-proxy.fetch`}),e,t,n,r)}async function _e(e,t,n,r){let{head:i,body:a}=await V(n,e,()=>Z(e,t,n,r));return q(i,new Uint8Array(a),e)}async function Q(e,t,n,r){let i=s();if(!i)throw Error(`proxied-fetch: no extension delegate id configured`);let a=chrome.runtime.connect;return X(()=>a(i,{name:`fetch-proxy.fetch`}),e,t,n,r)}async function*ve(e){e.byteLength>0&&(yield e)}function ye(e,t,n,r){let i=!1,a=()=>{i||(i=!0,r?.end(t))},o=async()=>{await e.body?.cancel().catch(()=>void 0),a()};if(P.has(e.status)||!e.body)return o(),{body:ve(new Uint8Array),cancel:o};let s=e.body;async function*c(){let e=s.getReader(),i=!1;try{let a=0;for(;;){let{done:i,value:o}=await e.read();if(i)break;a+=o.byteLength,r?.chunk(t,a,n),yield o}i=!0}finally{i||await e.cancel().catch(()=>void 0),a()}}return{body:c(),cancel:o}}function be(e={}){return e.mode===`raw`?async(e,t)=>{let{createRawProxiedFetch:n}=await import(`./proxied-fetch-raw-Cb_C44Cy.js`);return n()(e,t)}:xe(e)}function xe(e){let t=e.progress;if(!ee()){let t=$(e);return async(e,n)=>{let r=await t(e,n);return{status:r.status,statusText:r.statusText,headers:r.headers,url:r.url,contentLength:r.body.byteLength,body:ve(r.body),cancel:async()=>void 0}}}return async(e,n)=>{let r=W(z(n?.headers)),i={method:n?.method??`GET`,headers:g({...r,"X-Target-URL":e}),cache:`no-store`},a=J(n);a&&(i.signal=a);let o=await fetch(F(),i);if(b(o))throw Error(await v(o));let s={};o.headers.forEach((e,t)=>{s[t]=e});let c=B(o.headers);return t?.start(e,c),{status:o.status,statusText:o.statusText,headers:G(s),url:e,contentLength:c,...ye(o,e,c,t)}}}function $(e={}){let t=e.progress,n=()=>e.maxResponseBytes===void 0?j:Math.min(e.maxResponseBytes,j);return u()?(e,r)=>_e(e,r,t,n()):typeof chrome<`u`&&typeof chrome?.runtime?.connect==`function`&&s()?async(e,r)=>{let{head:i,body:a}=await V(t,e,()=>Q(e,r,t,n()));return q(i,new Uint8Array(a),e)}:typeof chrome>`u`&&s()?async(e,r)=>{let{getPanelRpcClient:i}=await import(`./panel-rpc-DW7W4w6_.js`).then(e=>e.a),a=i();if(!a)throw Error(`proxied-fetch: panel-RPC client unavailable in worker realm`);let o=r?.method??`GET`,s=z(r?.headers)??{},c=H(r?.body);t?.start(e,void 0);let{head:l,body:u}=await V(t,e,()=>a.call(`proxied-fetch`,{url:e,method:o,headers:s,body:c},{timeoutMs:12e4,signal:J(r)}));if(u.byteLength>n())throw N(e,u.byteLength,n());return q(l,new Uint8Array(u),e)}:async(e,r)=>{let i=r?.method??`GET`,a=z(r?.headers),o=W(a),s=g({...o,"X-Target-URL":e}),c={method:i,headers:s,cache:`no-store`},l=r?.signal;if(l&&(c.signal=l),r?.body&&![`GET`,`HEAD`].includes(i)){let e=U(r.body,s);e instanceof Blob&&(s[`X-Slicc-Raw-Body`]=`1`),c.body=e}return V(t,e,async()=>{let r=await fetch(F(),c);if(b(r))throw Error(await v(r));let i=B(r.headers);t?.start(e,i);let a=await L(r,e,t?n=>t.chunk(e,n,i):void 0,i,n()),o={};r.headers.forEach((e,t)=>{o[t]=e});let s=G(o);return{status:r.status,statusText:r.statusText,headers:s,body:a,url:e}})}}export{M as a,ae as c,ne as d,I as i,S as l,$ as n,le as o,be as r,ce as s,k as t,x as u};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{r as t,t as n}from"./base64-BPBW1Gzr.js";import{t as r}from"./content-type-c5DAvCWD.js";import{n as i,t as a}from"./binary-cache-bSOhqXB1.js";import{r as o}from"./fetch-body-CuwTaJC_.js";import{a as s,c,d as l,i as u,l as d,n as f,o as p,r as m,s as h,t as g,u as _}from"./api-endpoint-D8lUKmPu.js";import{i as ee,n as v,r as y,t as b}from"./proxy-error-BVzVNPvv.js";function x(e){if(!e)return{};let t={};for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();e===`cookie`?t[`X-Proxy-Cookie`]=r:e===`origin`?t[`X-Proxy-Origin`]=r:e===`referer`?t[`X-Proxy-Referer`]=r:e.startsWith(`proxy-`)?t[`X-Proxy-${n}`]=r:t[n]=r}return t}function S(e){let t={};for(let[n,r]of Object.entries(e)){let e=n.toLowerCase();e===`x-proxy-set-cookie`?t[`set-cookie`]=r:e===`x-proxy-www-authenticate`?t[`www-authenticate`]=r:t[n]=r}return t}function te(e){if(e){if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),t}return e}}function ne(e){if(!e)return;if(e instanceof Headers){let t={};return e.forEach((e,n)=>{t[n]=e}),Object.keys(t).length===0?void 0:t}if(Array.isArray(e)){let t={};for(let[n,r]of e)t[n]=r;return Object.keys(t).length===0?void 0:t}let t={...e};return Object.keys(t).length===0?void 0:t}const C=8388608,w=new Map;let T=0;const E=new Set;function D(e){let t=w.get(e);t&&(clearTimeout(t.timer),w.delete(e),T-=t.bytes.byteLength)}function re(e){for(let t of e)if(t>=128)return!0;return!1}function ie(e){let t=new Uint8Array(e.byteLength),n=0;for(let r of e)r!==10&&r!==13&&(t[n++]=r);return t.slice(0,n)}function ae(e,t){O(e,t);let n=e.replace(/[\r\n]/g,``);n!==e&&O(n,ie(t))}function oe(e,t){if(e.byteLength!==t.byteLength)return!1;for(let n=0;n<e.byteLength;n++)if(e[n]!==t[n])return!1;return!0}function O(e,t){if(t.byteLength===0||t.byteLength>C||!re(t)||E.has(e))return;let n=w.get(e);if(n&&!oe(n.bytes,t)){D(e),E.add(e);return}D(e);for(let e of w.keys()){if(T+t.byteLength<=C)break;D(e)}w.set(e,{bytes:t,timer:setTimeout(()=>D(e),1e4)}),T+=t.byteLength}function se(e){return w.get(e)?.bytes??null}function ce(){for(let e of[...w.keys()])D(e);E.clear()}var le=e({BINARY_CACHE_BODY_CAP:()=>de,PROXY_CONTENT_LENGTH_HEADER:()=>me,REQUEST_BODY_CAP:()=>k,RawFetchError:()=>y,apiHeaders:()=>g,assertLocalBridgeAcceptsToken:()=>f,collectViaExtensionDelegate:()=>Q,collectViaExtensionPort:()=>Z,createProxiedFetch:()=>$,createProxiedStreamingFetch:()=>be,decodeForbiddenResponseHeaders:()=>G,encodeForbiddenRequestHeaders:()=>W,getBridgeToken:()=>m,getChromeExtensionRealm:()=>u,getExtensionDelegateId:()=>s,getLocalApiBaseUrl:()=>p,getRawFetchCapabilities:()=>I,getResponseBodyCap:()=>M,headersToRecord:()=>z,isTextContentType:()=>r,prepareRequestBody:()=>U,readResponseBody:()=>L,resetRawFetchCapabilities:()=>fe,resolveApiUrl:()=>h,resolveExactRequestBody:()=>H,responseTooLargeError:()=>N,setBridgeToken:()=>c,setChromeExtensionRealm:()=>d,setExtensionDelegateId:()=>_,setLocalApiBaseUrl:()=>l,setResponseBodyCap:()=>ue});const k=33554432,A=536870912;let j=A;function ue(e){j=e===null?A:e}function M(){return j}const de=33554432;function N(e,t,n=j){let r=Math.round(n/1048576),i=t===void 0?``:` (${t} bytes)`;return Error(`proxied-fetch: response body for ${e} exceeds the ${r} MiB download limit${i}; download it in ranges (curl -r) or from a native float`)}const P=new Set([101,103,204,205,304]);function F(){return h(`/api/fetch-proxy`)}async function I(){return(await import(`./proxied-fetch-raw-DfWAMMUJ.js`)).getRawFetchCapabilities()}async function fe(){(await import(`./proxied-fetch-raw-DfWAMMUJ.js`)).resetRawFetchCapabilities()}async function L(e,t,n,r,i=j){let a=e.headers.get(`content-type`)??``,o=r??B(e.headers);if(o!==void 0&&o>i)throw await e.body?.cancel().catch(()=>void 0),N(t??e.url,o,i);let s=await pe(e,t??e.url,n,o,i);return R(s,a,t),s}function R(e,t,n){if(r(t)||e.byteLength>33554432)return;if(n){i(n,e);return}let o=``;for(let t=0;t<e.length;t+=32768)o+=String.fromCharCode(...e.subarray(t,t+32768));a(o,e)}async function pe(e,t,n,r,i=j){if(!e.body)return new Uint8Array(await e.arrayBuffer());let a=e.body.getReader(),o=r!==void 0&&r>0&&r<=i?new Uint8Array(r):null,s=[],c=0;for(;;){let{done:e,value:r}=await a.read();if(e)break;let l=r;if(o?c+l.byteLength<=o.byteLength?o.set(l,c):(s.push(o.subarray(0,c),l),o=null):s.push(l),c+=l.byteLength,c>i)throw await a.cancel().catch(()=>void 0),N(t,void 0,i);n?.(c)}return o?c===o.byteLength?o:o.slice(0,c):K(s)}const z=te,me=`x-proxy-content-length`;function B(e){let t=t=>e instanceof Headers?e.get(t):Object.entries(e).find(([e])=>e.toLowerCase()===t)?.[1]??null,n=t(`x-proxy-content-length`)??t(`content-length`);if(n==null||!/^\d+$/.test(n))return;let r=Number(n);return Number.isSafeInteger(r)&&r>=0?r:void 0}async function V(e,t,n){if(!e)return n();try{return await n()}finally{e.end(t)}}function H(e){return typeof e!=`string`||e===``?e:se(e)??e}function U(e,t){let n=H(e);if(n==null||n===``)return;if(typeof n!=`string`)return new Blob([n]);let i=Object.entries(t??{}).find(([e])=>e.toLowerCase()===`content-type`)?.[1]??``;if(i&&!r(i)){let e=o(n);return new Blob([e])}return n}const W=x,G=S,he=n;function K(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}function q(e,t,n){let r=new Headers;for(let[t,n]of Object.entries(e.headers))r.set(t,String(n));let i=P.has(e.status)?new Uint8Array:t;return R(i,r.get(`content-type`)??``,n),{status:e.status,statusText:e.statusText,headers:G(e.headers),body:i,url:n}}async function ge(e){let n=z(e?.headers),r=e?.method??`GET`,i=e?.body?U(e.body,n):void 0,a=W(n),o,s=!1;if(i!==void 0){let e=i instanceof Uint8Array?i:new Uint8Array(await new Response(i).arrayBuffer());e.byteLength>33554432?s=!0:o=t(e)}return{method:r,transportHeaders:a,bodyBase64:o,requestBodyTooLarge:s}}function J(e){return e?.signal}function Y(){return new DOMException(`The operation was aborted.`,`AbortError`)}async function X(e,t,n,r,i=j){let{method:a,transportHeaders:o,bodyBase64:s,requestBodyTooLarge:c}=await ge(n),l=J(n);if(l?.aborted)throw Y();let u=e();return new Promise((e,n)=>{let d=null,f=!1,p=0,m,h=[],g=e=>{f=!0,h.length=0,l?.removeEventListener(`abort`,_),n(e),u.disconnect()},_=()=>g(Y());l?.addEventListener(`abort`,_,{once:!0});let ee=e=>{if(d={status:e.status,statusText:e.statusText,headers:e.headers},m=B(e.headers),m!==void 0&&m>i){g(N(t,m,i));return}r?.start(t,m)},v=e=>{if(f)return;let n=he(e.dataBase64);if(p+=n.byteLength,p>i){g(N(t,void 0,i));return}h.push(n),r?.chunk(t,p,m)},y=()=>{if(!f){if(f=!0,l?.removeEventListener(`abort`,_),!d){n(Error(`fetch-proxy: response-end before response-head`));return}e({head:d,body:K(h).buffer}),u.disconnect()}};u.onMessage.addListener(e=>{let t=e;t.type===`response-head`?ee(t):t.type===`response-chunk`?v(t):t.type===`response-end`?y():t.type===`response-error`&&g(Error(t.error))}),u.onDisconnect.addListener(()=>{f||n(Error(d?`fetch-proxy port disconnected mid-stream`:`fetch-proxy port disconnected before response`))}),u.postMessage({type:`request`,url:t,method:a,headers:o,bodyBase64:s,requestBodyTooLarge:c})})}function Z(e,t,n,r){return X(()=>chrome.runtime.connect({name:`fetch-proxy.fetch`}),e,t,n,r)}async function _e(e,t,n,r){let{head:i,body:a}=await V(n,e,()=>Z(e,t,n,r));return q(i,new Uint8Array(a),e)}async function Q(e,t,n,r){let i=s();if(!i)throw Error(`proxied-fetch: no extension delegate id configured`);let a=chrome.runtime.connect;return X(()=>a(i,{name:`fetch-proxy.fetch`}),e,t,n,r)}async function*ve(e){e.byteLength>0&&(yield e)}function ye(e,t,n,r){let i=!1,a=()=>{i||(i=!0,r?.end(t))},o=async()=>{await e.body?.cancel().catch(()=>void 0),a()};if(P.has(e.status)||!e.body)return o(),{body:ve(new Uint8Array),cancel:o};let s=e.body;async function*c(){let e=s.getReader(),i=!1;try{let a=0;for(;;){let{done:i,value:o}=await e.read();if(i)break;a+=o.byteLength,r?.chunk(t,a,n),yield o}i=!0}finally{i||await e.cancel().catch(()=>void 0),a()}}return{body:c(),cancel:o}}function be(e={}){return e.mode===`raw`?async(e,t)=>{let{createRawProxiedFetch:n}=await import(`./proxied-fetch-raw-DfWAMMUJ.js`);return n()(e,t)}:xe(e)}function xe(e){let t=e.progress;if(!ee()){let t=$(e);return async(e,n)=>{let r=await t(e,n);return{status:r.status,statusText:r.statusText,headers:r.headers,url:r.url,contentLength:r.body.byteLength,body:ve(r.body),cancel:async()=>void 0}}}return async(e,n)=>{let r=W(z(n?.headers)),i={method:n?.method??`GET`,headers:g({...r,"X-Target-URL":e}),cache:`no-store`},a=J(n);a&&(i.signal=a);let o=await fetch(F(),i);if(b(o))throw Error(await v(o));let s={};o.headers.forEach((e,t)=>{s[t]=e});let c=B(o.headers);return t?.start(e,c),{status:o.status,statusText:o.statusText,headers:G(s),url:e,contentLength:c,...ye(o,e,c,t)}}}function $(e={}){let t=e.progress,n=()=>e.maxResponseBytes===void 0?j:Math.min(e.maxResponseBytes,j);return u()?(e,r)=>_e(e,r,t,n()):typeof chrome<`u`&&typeof chrome?.runtime?.connect==`function`&&s()?async(e,r)=>{let{head:i,body:a}=await V(t,e,()=>Q(e,r,t,n()));return q(i,new Uint8Array(a),e)}:typeof chrome>`u`&&s()?async(e,r)=>{let{getPanelRpcClient:i}=await import(`./panel-rpc-CR9k3qWE.js`).then(e=>e.r),a=i();if(!a)throw Error(`proxied-fetch: panel-RPC client unavailable in worker realm`);let o=r?.method??`GET`,s=z(r?.headers)??{},c=H(r?.body);t?.start(e,void 0);let{head:l,body:u}=await V(t,e,()=>a.call(`proxied-fetch`,{url:e,method:o,headers:s,body:c},{timeoutMs:12e4,signal:J(r)}));if(u.byteLength>n())throw N(e,u.byteLength,n());return q(l,new Uint8Array(u),e)}:async(e,r)=>{let i=r?.method??`GET`,a=z(r?.headers),o=W(a),s=g({...o,"X-Target-URL":e}),c={method:i,headers:s,cache:`no-store`},l=r?.signal;if(l&&(c.signal=l),r?.body&&![`GET`,`HEAD`].includes(i)){let e=U(r.body,s);e instanceof Blob&&(s[`X-Slicc-Raw-Body`]=`1`),c.body=e}return V(t,e,async()=>{let r=await fetch(F(),c);if(b(r))throw Error(await v(r));let i=B(r.headers);t?.start(e,i);let a=await L(r,e,t?n=>t.chunk(e,n,i):void 0,i,n()),o={};r.headers.forEach((e,t)=>{o[t]=e});let s=G(o);return{status:r.status,statusText:r.statusText,headers:s,body:a,url:e}})}}export{M as a,ae as c,ne as d,I as i,S as l,$ as n,le as o,be as r,ce as s,k as t,x as u};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panel-rpc-sLZo8PD-.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/panel-rpc-accessor-B4BfPLSo.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-sLZo8PD-.js`).then(e=>e.n);return{getPanelRpcClient:e}},__vite__mapDeps([0,1,2])),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-sLZo8PD-.js`).then(e=>e.n);return{getPanelRpcClient:e}},__vite__mapDeps([0,1,2])),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};