sliccy 6.209.0 → 6.210.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 (152) hide show
  1. package/dist/ui/.vite/manifest.json +186 -186
  2. package/dist/ui/assets/{account-store-CXMrgQNZ.js → account-store-ByX1Dt0d.js} +1 -1
  3. package/dist/ui/assets/{account-store-D_95JvI-.js → account-store-DgfR_tf2.js} +1 -1
  4. package/dist/ui/assets/{adobe-DpfC7c2y.js → adobe-DxaC2zCR.js} +1 -1
  5. package/dist/ui/assets/{adobe-CGuSOIZ2.js → adobe-R_y7Dfut.js} +1 -1
  6. package/dist/ui/assets/{agent-panels-B0IKGzXg.js → agent-panels-C_PSIfT1.js} +1 -1
  7. package/dist/ui/assets/{almost-bash-shell-headless-DAxrU3sK.js → almost-bash-shell-headless-Ccu3_Uhw.js} +36 -36
  8. package/dist/ui/assets/{apply-layout-Cju0yZJn.js → apply-layout-OKdF-hhc.js} +1 -1
  9. package/dist/ui/assets/{apps-v9wPhTaT.js → apps-JHYPOU64.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-BsKClIv1.js → azure-openai-BVUK3KXE.js} +1 -1
  11. package/dist/ui/assets/{azure-openai-aBi3cM3K.js → azure-openai-DXBUUMQQ.js} +1 -1
  12. package/dist/ui/assets/{backend-hostfs-5NmEIgGV.js → backend-hostfs-88hAlDb5.js} +1 -1
  13. package/dist/ui/assets/{cdp-8zqtNpCK.js → cdp-DjJWaZz6.js} +1 -1
  14. package/dist/ui/assets/{cerebras-DhmaKu3Y.js → cerebras-BJZYfn89.js} +1 -1
  15. package/dist/ui/assets/{cerebras-CSTfT4vG.js → cerebras-Cd6zKgza.js} +1 -1
  16. package/dist/ui/assets/{composer-speech-KDOhETAk.js → composer-speech-CJc-2k5O.js} +1 -1
  17. package/dist/ui/assets/{connect-surface-B7zzCdY_.js → connect-surface-DPvoPj55.js} +1 -1
  18. package/dist/ui/assets/{directed-approval-C5TsWG7I.js → directed-approval-DLUTxlNM.js} +1 -1
  19. package/dist/ui/assets/{emscripten-vfs-hook-pi_gCIBZ.js → emscripten-vfs-hook-DaUD5bwd.js} +1 -1
  20. package/dist/ui/assets/{ensure-speech-assets-BPAgYM0p.js → ensure-speech-assets-DcFMkg1m.js} +1 -1
  21. package/dist/ui/assets/{frozen-archive-writer-Bn9kqJre.js → frozen-archive-writer-Ct9GJG54.js} +1 -1
  22. package/dist/ui/assets/{fs-D5yEr6Lj.js → fs-B3WU3yr9.js} +1 -1
  23. package/dist/ui/assets/{fs-D13P93lG.js → fs-rBjZTyof.js} +2 -2
  24. package/dist/ui/assets/{gelatiere-store-002d76Pu.js → gelatiere-store-cZnVaRlS.js} +1 -1
  25. package/dist/ui/assets/{gelatiere-unit-PblSQDN5.js → gelatiere-unit-CLZPrZzv.js} +1 -1
  26. package/dist/ui/assets/{github-C1hhmywY.js → github-BW1eM6J3.js} +2 -2
  27. package/dist/ui/assets/{github-BZFHM2Et.js → github-Cq1sNS_K.js} +1 -1
  28. package/dist/ui/assets/{github-auth-B39F_Smu.js → github-auth-O6zGPogb.js} +1 -1
  29. package/dist/ui/assets/{github-copilot-CwhIXDTK.js → github-copilot-1kPf7awr.js} +1 -1
  30. package/dist/ui/assets/{github-copilot-cUPIRyvE.js → github-copilot-CUJZELWh.js} +1 -1
  31. package/dist/ui/assets/{github-install-DoUx643r.js → github-install-CXBoYKYM.js} +1 -1
  32. package/dist/ui/assets/{github-zip-CSPX1g-L.js → github-zip-DHBvTUIf.js} +1 -1
  33. package/dist/ui/assets/{hear-C5ECjuHu.js → hear-BVHHBpIb.js} +1 -1
  34. package/dist/ui/assets/{help-DghSr_hq.js → help-BYCrQyQm.js} +1 -1
  35. package/dist/ui/assets/{installer-BZvW1okl.js → installer-pOTEH6_f.js} +1 -1
  36. package/dist/ui/assets/{ipk-mamba-YIcGvmbs.js → ipk-mamba-13yN29Fi.js} +1 -1
  37. package/dist/ui/assets/{js-realm-worker-DMdELQLe.js → js-realm-worker-OZbA_gYe.js} +2 -2
  38. package/dist/ui/assets/{jsh-executor-B-jk9nVj.js → jsh-executor-DZO1HSOR.js} +2 -2
  39. package/dist/ui/assets/{kernel-worker-vwPHAOWR.js → kernel-worker-B9c7Iv6C.js} +9 -9
  40. package/dist/ui/assets/{lick-ws-bridge-BFC-sVhl.js → lick-ws-bridge-DjeZVXRW.js} +1 -1
  41. package/dist/ui/assets/{lick-ws-bridge-CPX63GSt.js → lick-ws-bridge-TTmDE5-3.js} +1 -1
  42. package/dist/ui/assets/{live-session-curation-Dj9Mi2me.js → live-session-curation-hidMwgql.js} +1 -1
  43. package/dist/ui/assets/{live-session-snapshot-BMgXz5yR.js → live-session-snapshot-STfu1AIh.js} +1 -1
  44. package/dist/ui/assets/{local-llm-Dti8Zg2k.js → local-llm-B8dhTls8.js} +1 -1
  45. package/dist/ui/assets/{local-llm-2mEnfN8G.js → local-llm-D0k2uDUi.js} +1 -1
  46. package/dist/ui/assets/{main-DAU-AyCy.js → main-Ylszjlde.js} +3 -3
  47. package/dist/ui/assets/{main-cherry-4aXVU9rJ.js → main-cherry-C-bsI9l6.js} +1 -1
  48. package/dist/ui/assets/{memory-curation-seam-CDn-RTnL.js → memory-curation-seam-B7hMTwGX.js} +1 -1
  49. package/dist/ui/assets/{memory-health-B4tNJGRc.js → memory-health-as7mEPc6.js} +1 -1
  50. package/dist/ui/assets/{memory-write-execute-Cnhe2Xxb.js → memory-write-execute-DaCQKUN-.js} +1 -1
  51. package/dist/ui/assets/{merge-folded-cost-into-frozen-QOjJC7mR.js → merge-folded-cost-into-frozen-D-2Ph0GN.js} +1 -1
  52. package/dist/ui/assets/{mount-BLD3M6EK.js → mount-BByFpMAL.js} +3 -3
  53. package/dist/ui/assets/{mount-C1FVZ7Sn.js → mount-BYEvANlb.js} +1 -1
  54. package/dist/ui/assets/{new-session-BtSXodkO.js → new-session-BXB2Cf7y.js} +2 -2
  55. package/dist/ui/assets/{oauth-bootstrap-BYpeIatf.js → oauth-bootstrap-DeA2SKlj.js} +2 -2
  56. package/dist/ui/assets/{onboarding-orchestrator-WLJQQ-Vf.js → onboarding-orchestrator-ByFpaN7_.js} +1 -1
  57. package/dist/ui/assets/{openai-codex-lYWzqB0q.js → openai-codex-CCo3ZmW2.js} +1 -1
  58. package/dist/ui/assets/{openai-codex-BR_yced5.js → openai-codex-CgYrmMUk.js} +1 -1
  59. package/dist/ui/assets/{openrouter-CNf9NNc7.js → openrouter-97wg-v_R.js} +1 -1
  60. package/dist/ui/assets/{openrouter-DPBXpqgl.js → openrouter-CKicFuSH.js} +1 -1
  61. package/dist/ui/assets/{openrouter-free-71RJenB8.js → openrouter-free-B5IsIaNO.js} +1 -1
  62. package/dist/ui/assets/{openrouter-free-D7rahepE.js → openrouter-free-B9XNv61G.js} +1 -1
  63. package/dist/ui/assets/{openrouter-oauth-PUXZq93J.js → openrouter-oauth-B7xNpdYW.js} +1 -1
  64. package/dist/ui/assets/{openrouter-oauth-Bwi2hsU6.js → openrouter-oauth-BwMN3x2M.js} +1 -1
  65. package/dist/ui/assets/{opfs-mount-B6OI1oqH.js → opfs-mount-DpaBHmd-.js} +1 -1
  66. package/dist/ui/assets/{panel-rpc-handlers-DDhiuy4K.js → panel-rpc-handlers-BbazEhj0.js} +2 -2
  67. package/dist/ui/assets/{panelize-shell-Dfzx0Eja.js → panelize-shell-jWC6JaCw.js} +1 -1
  68. package/dist/ui/assets/{pi-edit-execution-BPgerAyF.js → pi-edit-execution-D79zjNpH.js} +1 -1
  69. package/dist/ui/assets/process-worker-BlGG6CFl.js +3 -0
  70. package/dist/ui/assets/{provider-LZtcBmKS.js → provider-CCQRZg4A.js} +1 -1
  71. package/dist/ui/assets/{provider-D9yEgxif.js → provider-SsZ1z43S.js} +2 -2
  72. package/dist/ui/assets/{provider-settings-DtdWymDf.js → provider-settings-CZLKq2oa.js} +1 -1
  73. package/dist/ui/assets/provider-store-access-DBSmvoO2.js +1 -0
  74. package/dist/ui/assets/provider-store-access-_IyYl-Xo.js +1 -0
  75. package/dist/ui/assets/{providers-CNBnEbCX.js → providers-TV6NIsPL.js} +1 -1
  76. package/dist/ui/assets/{providers-BtQv6Iun.js → providers-xwZovvsP.js} +2 -2
  77. package/dist/ui/assets/{quick-llm-14VNlAXQ.js → quick-llm-CruFRi7n.js} +1 -1
  78. package/dist/ui/assets/{realm-inprocess-DurO7I6Z.js → realm-inprocess-CKEpOeay.js} +2 -2
  79. package/dist/ui/assets/{realm-unhandled-rejections-BgGL8Mod.js → realm-unhandled-rejections-Ab7EMcr4.js} +1 -1
  80. package/dist/ui/assets/{realm-unhandled-rejections-DQRN5wlM.js → realm-unhandled-rejections-DrdoJZTU.js} +1 -1
  81. package/dist/ui/assets/{recovery-screen-BMUQTWIb.js → recovery-screen-BHZNLcMl.js} +1 -1
  82. package/dist/ui/assets/{remote-terminal-view-OA02y1n8.js → remote-terminal-view-B83V8Qzf.js} +2 -2
  83. package/dist/ui/assets/{restore-DNRcWWgP.js → restore-D5Y9NVvF.js} +1 -1
  84. package/dist/ui/assets/{run-BtrJghdw.js → run-B1CbbbHn.js} +1 -1
  85. package/dist/ui/assets/run-Bx861p9q.js +7 -0
  86. package/dist/ui/assets/{run-Cf-MrlWL.js → run-D3Yam1R4.js} +2 -2
  87. package/dist/ui/assets/{run-DWjXaL1W.js → run-DkflycnX.js} +2 -2
  88. package/dist/ui/assets/{run-BtNqaJOt.js → run-Dp-YY09r.js} +1 -1
  89. package/dist/ui/assets/{run-BMTzNhm7.js → run-gr518xGk.js} +1 -1
  90. package/dist/ui/assets/{run-reISaz1J.js → run-yvQfuwPq.js} +1 -1
  91. package/dist/ui/assets/{session-command-memory-B8eBiSlR.js → session-command-memory-Di_ppNKR.js} +2 -2
  92. package/dist/ui/assets/{session-jsonl-Dw_Aa6GO.js → session-jsonl-BDKaDkEF.js} +1 -1
  93. package/dist/ui/assets/{session-jsonl-CgBBbMPR.js → session-jsonl-sT2AW-s9.js} +1 -1
  94. package/dist/ui/assets/{session-search-index-DZ4EEMff.js → session-search-index-BD311OX5.js} +1 -1
  95. package/dist/ui/assets/{setup-feature-flags-remote-V0bXU-Xo.js → setup-feature-flags-remote-C0Sedip7.js} +1 -1
  96. package/dist/ui/assets/{setup-model-catalog-bOEh3I2Z.js → setup-model-catalog-BFF0xdNS.js} +1 -1
  97. package/dist/ui/assets/{signed-fetch-CMYMchhb.js → signed-fetch-BnBm1LRC.js} +1 -1
  98. package/dist/ui/assets/{silent-renew-backoff-DdU1grFR.js → silent-renew-backoff-Zup94X9e.js} +1 -1
  99. package/dist/ui/assets/slicc-version-klgPNoH5.js +1 -0
  100. package/dist/ui/assets/{snapshot-sMzJDppS.js → snapshot-C-rMXS0v.js} +1 -1
  101. package/dist/ui/assets/{snapshot-features-kDpOw0A8.js → snapshot-features-BGJFBLV3.js} +1 -1
  102. package/dist/ui/assets/{soundscape-CCmLSGeY.js → soundscape-DPMkpYDE.js} +1 -1
  103. package/dist/ui/assets/{speak-DQGvijsT.js → speak-DUcCnV6D.js} +1 -1
  104. package/dist/ui/assets/{sprinkle-manager-DTuZkM86.js → sprinkle-manager-BnLfND_U.js} +1 -1
  105. package/dist/ui/assets/{sprinkle-renderer-DLAqwc_L.js → sprinkle-renderer-Daaqfzq4.js} +1 -1
  106. package/dist/ui/assets/{state-B5mkDtuH.js → state-DuLjW_a4.js} +1 -1
  107. package/dist/ui/assets/{stdio-tty-CE0OUA_G.js → stdio-tty-uIuGda2o.js} +1 -1
  108. package/dist/ui/assets/{store-Dkmzxaja.js → store-BXNUAqDB.js} +1 -1
  109. package/dist/ui/assets/{store-Dxb78W8Q.js → store-HjKkYqua.js} +1 -1
  110. package/dist/ui/assets/{sudo-g88w-Yt7.js → sudo-B65OoUDr.js} +1 -1
  111. package/dist/ui/assets/{supervisor-CIp3y5wX.js → supervisor-CEzUkfGl.js} +1 -1
  112. package/dist/ui/assets/{sync-dialog-CNYsNEic.js → sync-dialog-DWj_c3Ea.js} +1 -1
  113. package/dist/ui/assets/{transformers-env-gUfVzZxD.js → transformers-env-BjXj92XS.js} +1 -1
  114. package/dist/ui/assets/{tray-leader-t2KaN0By.js → tray-leader-Cf1nSAit.js} +1 -1
  115. package/dist/ui/assets/{tray-leave-runtime-CDQM5sWi.js → tray-leave-runtime-BoHLFXbM.js} +1 -1
  116. package/dist/ui/assets/{tray-sidecar-0IJHOSmG.js → tray-sidecar-C7Cc8eNz.js} +1 -1
  117. package/dist/ui/assets/{upgrade-detection-CkuR6fXR.js → upgrade-detection-YgD-QcYW.js} +1 -1
  118. package/dist/ui/assets/{upskill-lick-skip-Df5fMRF5.js → upskill-lick-skip-BeQH8zNC.js} +1 -1
  119. package/dist/ui/assets/{voice-reply-BzGMfJso.js → voice-reply-QkeBs58G.js} +1 -1
  120. package/dist/ui/assets/{wc-attach-Co3k_hVU.js → wc-attach-BVDYvHNr.js} +2 -2
  121. package/dist/ui/assets/{wc-browser-DU7Ll0Su.js → wc-browser-Dyx8RrLZ.js} +1 -1
  122. package/dist/ui/assets/{wc-computers-DKZ8uxal.js → wc-computers-CY0ywrNG.js} +1 -1
  123. package/dist/ui/assets/{wc-detached-CTVp8UAi.js → wc-detached-DWzA5mFf.js} +1 -1
  124. package/dist/ui/assets/{wc-extension-BSEBIUhE.js → wc-extension-v381y0tj.js} +2 -2
  125. package/dist/ui/assets/{wc-follower-lb8Q6FGB.js → wc-follower-BKeKPCgx.js} +3 -3
  126. package/dist/ui/assets/{wc-follower-oauth-DWvjmrz_.js → wc-follower-oauth-jDvLJ5_W.js} +1 -1
  127. package/dist/ui/assets/{wc-gelatiere-CgINXN3w.js → wc-gelatiere-BuN5Z24F.js} +1 -1
  128. package/dist/ui/assets/{wc-live-BVazwLWr.js → wc-live-BY93WkXA.js} +5 -5
  129. package/dist/ui/assets/{wc-nav-BeAxrAW3.js → wc-nav-DhCoJ7Ga.js} +2 -2
  130. package/dist/ui/assets/{wc-onboarding-DGarUiE6.js → wc-onboarding-B1XwN74x.js} +2 -2
  131. package/dist/ui/assets/{wc-permissions-BiDEAjXd.js → wc-permissions-DAesjSSK.js} +2 -2
  132. package/dist/ui/assets/{wc-placeholder-ZyBwZAnt.js → wc-placeholder-oCOmyAX6.js} +3 -3
  133. package/dist/ui/assets/{wc-secret-request-CrQLiiCF.js → wc-secret-request-hrqZov3u.js} +1 -1
  134. package/dist/ui/assets/{wc-settings-BE6p1PPQ.js → wc-settings-6XtcwxYz.js} +3 -3
  135. package/dist/ui/assets/{wc-shell-vt7qflet.js → wc-shell-B4HSSzcL.js} +3 -3
  136. package/dist/ui/assets/{wc-shortcut-config-DqgIZh8a.js → wc-shortcut-config-BJZuY_qb.js} +1 -1
  137. package/dist/ui/assets/{wc-sprinkles-B1RV7qvO.js → wc-sprinkles-CDlry7Bq.js} +2 -2
  138. package/dist/ui/assets/{wc-transcript-export-B_0SXPBh.js → wc-transcript-export-su4AiYik.js} +2 -2
  139. package/dist/ui/assets/{wc-tray-DGPwMFeq.js → wc-tray-DjO5tw9f.js} +4 -4
  140. package/dist/ui/assets/welcome-detection-CMSBlwRb.js +1 -0
  141. package/dist/ui/assets/{whisper-session-B-UNGtdO.js → whisper-session-3nC_uMHL.js} +2 -2
  142. package/dist/ui/assets/{xai-grok-BeE-NRdg.js → xai-grok-CYP2lVaC.js} +1 -1
  143. package/dist/ui/assets/{xai-grok-BrcpA9mE.js → xai-grok-Cfyo0OTy.js} +1 -1
  144. package/dist/ui/index.html +3 -3
  145. package/dist/ui/packages/webapp/index.html +3 -3
  146. package/package.json +1 -1
  147. package/dist/ui/assets/process-worker-BSgfWg_O.js +0 -3
  148. package/dist/ui/assets/provider-store-access-CFT8okou.js +0 -1
  149. package/dist/ui/assets/provider-store-access-CewS-Dmx.js +0 -1
  150. package/dist/ui/assets/run-ChsOHVUd.js +0 -7
  151. package/dist/ui/assets/slicc-version-DVRQVnZq.js +0 -1
  152. package/dist/ui/assets/welcome-detection-Ca48tQVP.js +0 -1
@@ -0,0 +1 @@
1
+ import{n as e}from"./wc-onboarding-B1XwN74x.js";export{e as hasOnboardingFinalLickInHistory};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/speak-DQGvijsT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/runtime-env-Dlaokqg1.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-gUfVzZxD.js","assets/wc-shell-vt7qflet.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-CXMrgQNZ.js","assets/core-D8SLLGdB.js","assets/compat-Dy2zIWAW.js","assets/models-YdybRRvT.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-DiXk_XGs.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DuEQRZ4g.js","assets/secret-topology-CZv6A9HW.js","assets/float-topology-B0_dG7En.js","assets/secrets-bridge-client-B_CG-HIg.js","assets/port-bridge-client-BiWcfZSc.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-BtQv6Iun.js","assets/panel-rpc-D3EPRnmw.js","assets/bedrock-camp-compat-C64_Hwco.js","assets/bedrock-camp-extra-models-D9acqHGZ.js","assets/claude-model-version-DZmbk9E2.js","assets/telemetry-CKoAhRMv.js","assets/types-D8gIX-W-.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-dEBJiC8z.js","assets/wc-shell-WkeczD9x.css","assets/shared-BDXQKitm.js","assets/transformers.web-BBJR2ai3.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{a as n,n as r,o as i,r as a,t as o}from"./transformers-env-gUfVzZxD.js";var s=t(`speech:whisper`),c=null,l=`idle`,u=null,d=new Set;function f(){return l}function p(){return u}function m(e){return e&&d.add(e),c||=(l=`loading`,g().then(e=>(l=`ready`,h(),e),e=>{throw l=`failed`,c=null,s.error(`whisper load failed`,e),e})),c}function h(){e(async()=>{let{kokoroWarmup:e}=await import(`./speak-DQGvijsT.js`);return{kokoroWarmup:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({kokoroWarmup:e})=>e()).catch(e=>s.warn(`kokoro warmup (chained after whisper) failed`,e))}async function g(){let{pipeline:t,env:c}=await e(async()=>{let{pipeline:e,env:t}=await import(`./transformers.web-BBJR2ai3.js`);return{pipeline:e,env:t}},__vite__mapDeps([41,7,1]));r(c),await o(n),await a();let l=i(),f=e=>{if(e?.file){if(e.status===`progress`)l.update(e.file,e.loaded??0,e.total??0);else if(e.status===`done`)l.complete(e.file);else return;u=l.snapshot();for(let e of d)e(u)}},p=async e=>await t(`automatic-speech-recognition`,n,{device:e,dtype:e===`webgpu`?`fp32`:`q8`,progress_callback:f}),m=typeof navigator<`u`&&`gpu`in navigator,h;if(m)try{h=await p(`webgpu`)}catch(e){s.warn(`whisper webgpu init failed; retrying on wasm`,e),h=await p(`wasm`)}else h=await p(`wasm`);return s.info(`whisper ready`,{model:n,device:m?`webgpu`:`wasm`}),{async transcribe(e,t){let n=performance.now(),r=await h(e,{chunk_length_s:30,task:`transcribe`,...t?.language?{language:t.language}:{}}),i=Array.isArray(r)?r.map(e=>e.text??``).join(` `):r.text??``;return s.info(`whisper transcribe`,{elapsedMs:Math.round(performance.now()-n),audioSeconds:Math.round(e.length/160)/100,numThreads:c.backends?.onnx?.wasm?.numThreads,device:m?`webgpu`:`wasm`}),i.trim()}}}var _=16e3;async function v(e){if(typeof AudioContext>`u`||typeof OfflineAudioContext>`u`)throw Error(`audio decoding requires a window/page realm (AudioContext unavailable)`);let t=new AudioContext,n;try{n=await t.decodeAudioData(e.slice(0))}finally{await t.close().catch(()=>{})}let r=Math.max(1,Math.ceil(n.duration*_)),i=new OfflineAudioContext(1,r,_),a=i.createBufferSource();return a.buffer=n,a.connect(i.destination),a.start(),(await i.startRendering()).getChannelData(0).slice(0)}var y=t(`speech:whisper-session`),b=2e3,x=500,S=5e3,C=3e4,w=(e,t,n)=>new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`${n} timed out after ${t}ms`)),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})});function T(e){return e?.split(`-`)[0]?.toLowerCase()||void 0}async function E(e,t){let n;if(t.stream)n=t.stream;else{if(!navigator.mediaDevices?.getUserMedia)throw Error(`microphone capture unavailable in this realm`);n=await navigator.mediaDevices.getUserMedia({audio:t.deviceId&&t.deviceId!=="default"?{deviceId:{exact:t.deviceId}}:!0})}let r=new MediaRecorder(n),i=[],a=T(t.lang),o=!1,s=!1;r.ondataavailable=e=>{e.data.size>0&&i.push(e.data)};let c=async()=>{if(i.length===0)return``;let t=await v(await new Blob(i,{type:r.mimeType||`audio/webm`}).arrayBuffer());return e.transcribe(t,{language:a})},l=Promise.resolve(``),u=()=>{let e=l.catch(()=>``).then(()=>c());return l=e.catch(()=>``),e},d=setInterval(()=>{o||s||i.length===0||(o=!0,u().then(e=>{!s&&e&&t.onPartial?.(e)}).catch(e=>{y.warn(`partial transcription failed`,e)}).finally(()=>{o=!1}))},b),f=()=>{if(clearInterval(d),r.state!==`inactive`)try{r.stop()}catch{}for(let e of n.getTracks())e.stop()},p=()=>new Promise(e=>{if(r.state===`inactive`){e();return}r.onstop=()=>e();try{r.stop()}catch{e()}});return r.start(x),{async stop(){if(s)return``;s=!0,clearInterval(d);try{await w(p(),S,`recorder flush`);for(let e of n.getTracks())e.stop();return await w(u(),C,`transcription`)}catch(e){for(let e of n.getTracks())e.stop();let r=e instanceof Error?e.message:String(e);return t.onError?.(`transcription failed: ${r}`),``}},cancel(){s||(s=!0,f())}}}export{p as a,m as i,T as n,f as o,v as r,E as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/speak-DUcCnV6D.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/runtime-env-Dlaokqg1.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-BjXj92XS.js","assets/wc-shell-B4HSSzcL.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-ByX1Dt0d.js","assets/core-D8SLLGdB.js","assets/compat-Dy2zIWAW.js","assets/models-YdybRRvT.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-B-zmcypy.js","assets/libesm-BypnjKEL.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-DiXk_XGs.js","assets/fetch-body-1l9I58Vk.js","assets/api-endpoint-DuEQRZ4g.js","assets/secret-topology-CZv6A9HW.js","assets/float-topology-B0_dG7En.js","assets/secrets-bridge-client-B_CG-HIg.js","assets/port-bridge-client-BiWcfZSc.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-xwZovvsP.js","assets/panel-rpc-D3EPRnmw.js","assets/bedrock-camp-compat-C64_Hwco.js","assets/bedrock-camp-extra-models-D9acqHGZ.js","assets/claude-model-version-DZmbk9E2.js","assets/telemetry-CKoAhRMv.js","assets/types-D8gIX-W-.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-dEBJiC8z.js","assets/wc-shell-WkeczD9x.css","assets/shared-BDXQKitm.js","assets/transformers.web-BBJR2ai3.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{a as n,n as r,o as i,r as a,t as o}from"./transformers-env-BjXj92XS.js";var s=t(`speech:whisper`),c=null,l=`idle`,u=null,d=new Set;function f(){return l}function p(){return u}function m(e){return e&&d.add(e),c||=(l=`loading`,g().then(e=>(l=`ready`,h(),e),e=>{throw l=`failed`,c=null,s.error(`whisper load failed`,e),e})),c}function h(){e(async()=>{let{kokoroWarmup:e}=await import(`./speak-DUcCnV6D.js`);return{kokoroWarmup:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(({kokoroWarmup:e})=>e()).catch(e=>s.warn(`kokoro warmup (chained after whisper) failed`,e))}async function g(){let{pipeline:t,env:c}=await e(async()=>{let{pipeline:e,env:t}=await import(`./transformers.web-BBJR2ai3.js`);return{pipeline:e,env:t}},__vite__mapDeps([41,7,1]));r(c),await o(n),await a();let l=i(),f=e=>{if(e?.file){if(e.status===`progress`)l.update(e.file,e.loaded??0,e.total??0);else if(e.status===`done`)l.complete(e.file);else return;u=l.snapshot();for(let e of d)e(u)}},p=async e=>await t(`automatic-speech-recognition`,n,{device:e,dtype:e===`webgpu`?`fp32`:`q8`,progress_callback:f}),m=typeof navigator<`u`&&`gpu`in navigator,h;if(m)try{h=await p(`webgpu`)}catch(e){s.warn(`whisper webgpu init failed; retrying on wasm`,e),h=await p(`wasm`)}else h=await p(`wasm`);return s.info(`whisper ready`,{model:n,device:m?`webgpu`:`wasm`}),{async transcribe(e,t){let n=performance.now(),r=await h(e,{chunk_length_s:30,task:`transcribe`,...t?.language?{language:t.language}:{}}),i=Array.isArray(r)?r.map(e=>e.text??``).join(` `):r.text??``;return s.info(`whisper transcribe`,{elapsedMs:Math.round(performance.now()-n),audioSeconds:Math.round(e.length/160)/100,numThreads:c.backends?.onnx?.wasm?.numThreads,device:m?`webgpu`:`wasm`}),i.trim()}}}var _=16e3;async function v(e){if(typeof AudioContext>`u`||typeof OfflineAudioContext>`u`)throw Error(`audio decoding requires a window/page realm (AudioContext unavailable)`);let t=new AudioContext,n;try{n=await t.decodeAudioData(e.slice(0))}finally{await t.close().catch(()=>{})}let r=Math.max(1,Math.ceil(n.duration*_)),i=new OfflineAudioContext(1,r,_),a=i.createBufferSource();return a.buffer=n,a.connect(i.destination),a.start(),(await i.startRendering()).getChannelData(0).slice(0)}var y=t(`speech:whisper-session`),b=2e3,x=500,S=5e3,C=3e4,w=(e,t,n)=>new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`${n} timed out after ${t}ms`)),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})});function T(e){return e?.split(`-`)[0]?.toLowerCase()||void 0}async function E(e,t){let n;if(t.stream)n=t.stream;else{if(!navigator.mediaDevices?.getUserMedia)throw Error(`microphone capture unavailable in this realm`);n=await navigator.mediaDevices.getUserMedia({audio:t.deviceId&&t.deviceId!=="default"?{deviceId:{exact:t.deviceId}}:!0})}let r=new MediaRecorder(n),i=[],a=T(t.lang),o=!1,s=!1;r.ondataavailable=e=>{e.data.size>0&&i.push(e.data)};let c=async()=>{if(i.length===0)return``;let t=await v(await new Blob(i,{type:r.mimeType||`audio/webm`}).arrayBuffer());return e.transcribe(t,{language:a})},l=Promise.resolve(``),u=()=>{let e=l.catch(()=>``).then(()=>c());return l=e.catch(()=>``),e},d=setInterval(()=>{o||s||i.length===0||(o=!0,u().then(e=>{!s&&e&&t.onPartial?.(e)}).catch(e=>{y.warn(`partial transcription failed`,e)}).finally(()=>{o=!1}))},b),f=()=>{if(clearInterval(d),r.state!==`inactive`)try{r.stop()}catch{}for(let e of n.getTracks())e.stop()},p=()=>new Promise(e=>{if(r.state===`inactive`){e();return}r.onstop=()=>e();try{r.stop()}catch{e()}});return r.start(x),{async stop(){if(s)return``;s=!0,clearInterval(d);try{await w(p(),S,`recorder flush`);for(let e of n.getTracks())e.stop();return await w(u(),C,`transcription`)}catch(e){for(let e of n.getTracks())e.stop();let r=e instanceof Error?e.message:String(e);return t.onError?.(`transcription failed: ${r}`),``}},cancel(){s||(s=!0,f())}}}export{p as a,m as i,T as n,f as o,v as r,E as t};
@@ -1 +1 @@
1
- import{a as e}from"./core-D8SLLGdB.js";import{a as t}from"./diagnostics-DN_idNHx.js";import{a as n}from"./compat-Dy2zIWAW.js";import{c as r,i,r as a,s as o}from"./legacy-api-aliases-DoI0tM7F.js";import{K as s,f as c}from"./account-store-CXMrgQNZ.js";import"./main-DAU-AyCy.js";import{n as l,r as u}from"./bridge-token-required-DMk2va9k.js";import{n as d,r as f,t as p}from"./pkce-hGf_TEnP.js";import{XaiErrorCode as m,XaiOAuthError as h}from"./xai-grok-errors-bnlIBeu-.js";var g=`https://cli-chat-proxy.grok.com/v1/billing?format=credits`,_=8e3,v=65536,y=1e3;function b(e){return typeof e==`object`&&!!e}function x(e){if(!b(e))return null;let t=b(e.config)?e.config:e,n=t.creditUsagePercent;if(typeof n!=`number`||!Number.isFinite(n))return null;let r=Math.min(y,Math.max(0,n)),i=b(t.currentPeriod)?t.currentPeriod:{},a=i.type,o=typeof a==`string`?a.replace(`USAGE_PERIOD_TYPE_`,``).toLowerCase():``,s=i.end??t.billingPeriodEnd,c=typeof s==`string`&&Number.isFinite(Date.parse(s))?s:void 0;return{percent:r,status:`ok`,window:o&&o!==`unspecified`?o:`billing`,...c?{resetsAt:c}:{}}}async function S(e,t,n={}){let r=new AbortController,i=setTimeout(()=>r.abort(),n.timeoutMs??_);try{let n=await t(g,{headers:{Authorization:`Bearer ${e}`},signal:r.signal}),{status:i}=n;if(i===404||i===501)return null;if(!n.ok)throw Error(`xAI Grok usage: ${i===401||i===403?`re-login required`:`failed`} (${i})`);let a=await n.text();if(a.length>v)return null;try{return x(JSON.parse(a))}catch{return null}}finally{clearTimeout(i)}}var C=`xai-grok`,w=`https://auth.x.ai`,T=`${w}/oauth2/authorize`,E=`${w}/oauth2/token`,D=`b1a00492-073a-47ea-816f-4c329264a828`,O=`openid profile email offline_access grok-cli:access api:access`,k=`http://127.0.0.1:56121/callback`,A=`http://127.0.0.1:56121/*`,j=`https://api.x.ai/v1`,M=`grok-4.7`,N=`${C}-openai`;function P(e){if(e.some(e=>e.id===M))return e;let t=e.find(e=>e.id===`grok-4.6`)??e.find(e=>e.api===`openai-responses`)??e[0];return t?[{...t,id:M,name:`Grok 4.7`,api:`openai-responses`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:null}},...e]:e}function F(){return P(e(`xai`))}function I(e){return{id:e.id,name:e.name,api:`openai`,reasoning:e.reasoning,input:e.input,context_window:e.contextWindow,max_tokens:e.maxTokens,compat:e.compat,thinkingLevelMap:e.thinkingLevelMap,cost:e.cost}}function L(e){let t=F(),n=t.find(t=>t.id===e.id);if(!n&&(console.warn(`xAI model "${e.id}" is no longer in the pi-ai catalog; falling back to default "${M}"`),n=t.find(e=>e.id===M),!n))throw Error(`xAI default model "${M}" is not registered by pi-ai`);if(n.api!==`openai-responses`&&n.api!==`openai-completions`)throw Error(`Unsupported pi-ai API "${n.api}" for xAI model "${e.id}"`);return{...e,...n,baseUrl:j}}async function R(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:k,client_id:D,code_verifier:t}),r=await fetch(E,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new h(`xAI token exchange failed: ${r.status} ${await r.text()}`,m.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new h(`xAI token exchange did not return access_token.`,m.TOKEN_EXCHANGE_INVALID);return i}async function z(e){if(l())return null;try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:D}),n=await fetch(E,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text();return u(n.status,e)||console.error(`[xai-grok] refresh failed:`,n.status,e),null}return await n.json()}catch(e){return console.error(`[xai-grok] refresh error:`,e instanceof Error?e.message:String(e)),null}}function B(){return c().find(e=>e.providerId===C)}async function V(){let e=B();if(!e?.accessToken)throw new h("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",m.AUTH_MISSING,!0);let t=e.tokenExpiresAt??0;if(t&&Date.now()+6e4<t)return e.accessToken;if(e.refreshToken){let t=await z(e.refreshToken);if(t?.access_token)return await s({providerId:C,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??21600)*1e3,scopes:t.scope??e.scopes}),t.access_token}return e.accessToken}async function H(){if(!B()?.accessToken)throw Error(`xAI Grok budget: not signed in`);return S(await V(),fetch)}function U(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:N,provider:C,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function W(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}function G(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e))}async function K(e,t,n,r){try{let o=await V(),s=r.sessionId,c=L(t),l={...r,apiKey:o,headers:W(r.headers,s)},u=c.api===`openai-responses`?i(c,n,l):a(c,n,l);for await(let t of u)e.push(t);e.end()}catch(n){G(n),e.push(U(t,n)),e.end()}}async function q(e,t,n,i){try{let a=await V(),s=i?.sessionId,c=L(t),l={...i,apiKey:a,headers:W(i?.headers,s)},u=c.api===`openai-responses`?r(c,n,l):o(c,n,l);for await(let t of u)e.push(t);e.end()}catch(n){G(n),e.push(U(t,n)),e.end()}}var J=(e,n,r={})=>{let i=t();return K(i,e,n,r).catch(G),i},Y=(e,n,r)=>{let i=t();return q(i,e,n,r).catch(G),i},X={id:C,name:`xAI Grok (SuperGrok OAuth)`,description:`Grok via xAI OAuth — uses your SuperGrok subscription, no API key needed. Default model is Grok 4.7.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:M,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`,`cli-chat-proxy.grok.com`],getModelIds:()=>F().map(I),getBudgetUsage:H,onOAuthLoginIntercepted:async(e,t,n)=>{let r=d(),i=await p(r),a=f(),o=f(),c=new URL(T);c.searchParams.set(`response_type`,`code`),c.searchParams.set(`client_id`,D),c.searchParams.set(`redirect_uri`,k),c.searchParams.set(`scope`,n?.scopes??O),c.searchParams.set(`code_challenge`,i),c.searchParams.set(`code_challenge_method`,`S256`),c.searchParams.set(`state`,a),c.searchParams.set(`nonce`,o),c.searchParams.set(`plan`,`generic`),c.searchParams.set(`referrer`,`slicc`);let l=await e({authorizeUrl:c.toString(),redirectUriPattern:A,onCapture:`close`});if(!l)throw new h(`xAI OAuth login was cancelled or timed out`,m.CALLBACK_TIMEOUT);let u=new URL(l),g=u.searchParams.get(`code`),_=u.searchParams.get(`state`);if(!g)throw new h(`xAI OAuth redirect did not include a code`,m.CODE_MISSING);if(_!==a)throw new h(`xAI OAuth state mismatch — possible CSRF, aborting`,m.STATE_MISMATCH);let v=await R(g,r);await s({providerId:C,accessToken:v.access_token,refreshToken:v.refresh_token,tokenExpiresAt:Date.now()+(v.expires_in??21600)*1e3,baseUrl:j,scopes:v.scope}),t()},onOAuthLogout:async()=>{await s({providerId:C,accessToken:``})},onSilentRenew:async()=>{let e=B();if(!e?.refreshToken)return null;let t=await z(e.refreshToken);return t?.access_token?(await s({providerId:C,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??21600)*1e3,scopes:t.scope??e.scopes}),t.access_token):null}};function Z(){n({api:N,stream:J,streamSimple:Y})}export{m as XaiErrorCode,h as XaiOAuthError,X as config,Z as register};
1
+ import{a as e}from"./core-D8SLLGdB.js";import{a as t}from"./diagnostics-DN_idNHx.js";import{a as n}from"./compat-Dy2zIWAW.js";import{c as r,i,r as a,s as o}from"./legacy-api-aliases-DoI0tM7F.js";import{K as s,f as c}from"./account-store-ByX1Dt0d.js";import"./main-Ylszjlde.js";import{n as l,r as u}from"./bridge-token-required-DMk2va9k.js";import{n as d,r as f,t as p}from"./pkce-hGf_TEnP.js";import{XaiErrorCode as m,XaiOAuthError as h}from"./xai-grok-errors-bnlIBeu-.js";var g=`https://cli-chat-proxy.grok.com/v1/billing?format=credits`,_=8e3,v=65536,y=1e3;function b(e){return typeof e==`object`&&!!e}function x(e){if(!b(e))return null;let t=b(e.config)?e.config:e,n=t.creditUsagePercent;if(typeof n!=`number`||!Number.isFinite(n))return null;let r=Math.min(y,Math.max(0,n)),i=b(t.currentPeriod)?t.currentPeriod:{},a=i.type,o=typeof a==`string`?a.replace(`USAGE_PERIOD_TYPE_`,``).toLowerCase():``,s=i.end??t.billingPeriodEnd,c=typeof s==`string`&&Number.isFinite(Date.parse(s))?s:void 0;return{percent:r,status:`ok`,window:o&&o!==`unspecified`?o:`billing`,...c?{resetsAt:c}:{}}}async function S(e,t,n={}){let r=new AbortController,i=setTimeout(()=>r.abort(),n.timeoutMs??_);try{let n=await t(g,{headers:{Authorization:`Bearer ${e}`},signal:r.signal}),{status:i}=n;if(i===404||i===501)return null;if(!n.ok)throw Error(`xAI Grok usage: ${i===401||i===403?`re-login required`:`failed`} (${i})`);let a=await n.text();if(a.length>v)return null;try{return x(JSON.parse(a))}catch{return null}}finally{clearTimeout(i)}}var C=`xai-grok`,w=`https://auth.x.ai`,T=`${w}/oauth2/authorize`,E=`${w}/oauth2/token`,D=`b1a00492-073a-47ea-816f-4c329264a828`,O=`openid profile email offline_access grok-cli:access api:access`,k=`http://127.0.0.1:56121/callback`,A=`http://127.0.0.1:56121/*`,j=`https://api.x.ai/v1`,M=`grok-4.7`,N=`${C}-openai`;function P(e){if(e.some(e=>e.id===M))return e;let t=e.find(e=>e.id===`grok-4.6`)??e.find(e=>e.api===`openai-responses`)??e[0];return t?[{...t,id:M,name:`Grok 4.7`,api:`openai-responses`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:null}},...e]:e}function F(){return P(e(`xai`))}function I(e){return{id:e.id,name:e.name,api:`openai`,reasoning:e.reasoning,input:e.input,context_window:e.contextWindow,max_tokens:e.maxTokens,compat:e.compat,thinkingLevelMap:e.thinkingLevelMap,cost:e.cost}}function L(e){let t=F(),n=t.find(t=>t.id===e.id);if(!n&&(console.warn(`xAI model "${e.id}" is no longer in the pi-ai catalog; falling back to default "${M}"`),n=t.find(e=>e.id===M),!n))throw Error(`xAI default model "${M}" is not registered by pi-ai`);if(n.api!==`openai-responses`&&n.api!==`openai-completions`)throw Error(`Unsupported pi-ai API "${n.api}" for xAI model "${e.id}"`);return{...e,...n,baseUrl:j}}async function R(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:k,client_id:D,code_verifier:t}),r=await fetch(E,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new h(`xAI token exchange failed: ${r.status} ${await r.text()}`,m.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new h(`xAI token exchange did not return access_token.`,m.TOKEN_EXCHANGE_INVALID);return i}async function z(e){if(l())return null;try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:D}),n=await fetch(E,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text();return u(n.status,e)||console.error(`[xai-grok] refresh failed:`,n.status,e),null}return await n.json()}catch(e){return console.error(`[xai-grok] refresh error:`,e instanceof Error?e.message:String(e)),null}}function B(){return c().find(e=>e.providerId===C)}async function V(){let e=B();if(!e?.accessToken)throw new h("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",m.AUTH_MISSING,!0);let t=e.tokenExpiresAt??0;if(t&&Date.now()+6e4<t)return e.accessToken;if(e.refreshToken){let t=await z(e.refreshToken);if(t?.access_token)return await s({providerId:C,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??21600)*1e3,scopes:t.scope??e.scopes}),t.access_token}return e.accessToken}async function H(){if(!B()?.accessToken)throw Error(`xAI Grok budget: not signed in`);return S(await V(),fetch)}function U(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:N,provider:C,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function W(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}function G(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e))}async function K(e,t,n,r){try{let o=await V(),s=r.sessionId,c=L(t),l={...r,apiKey:o,headers:W(r.headers,s)},u=c.api===`openai-responses`?i(c,n,l):a(c,n,l);for await(let t of u)e.push(t);e.end()}catch(n){G(n),e.push(U(t,n)),e.end()}}async function q(e,t,n,i){try{let a=await V(),s=i?.sessionId,c=L(t),l={...i,apiKey:a,headers:W(i?.headers,s)},u=c.api===`openai-responses`?r(c,n,l):o(c,n,l);for await(let t of u)e.push(t);e.end()}catch(n){G(n),e.push(U(t,n)),e.end()}}var J=(e,n,r={})=>{let i=t();return K(i,e,n,r).catch(G),i},Y=(e,n,r)=>{let i=t();return q(i,e,n,r).catch(G),i},X={id:C,name:`xAI Grok (SuperGrok OAuth)`,description:`Grok via xAI OAuth — uses your SuperGrok subscription, no API key needed. Default model is Grok 4.7.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:M,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`,`cli-chat-proxy.grok.com`],getModelIds:()=>F().map(I),getBudgetUsage:H,onOAuthLoginIntercepted:async(e,t,n)=>{let r=d(),i=await p(r),a=f(),o=f(),c=new URL(T);c.searchParams.set(`response_type`,`code`),c.searchParams.set(`client_id`,D),c.searchParams.set(`redirect_uri`,k),c.searchParams.set(`scope`,n?.scopes??O),c.searchParams.set(`code_challenge`,i),c.searchParams.set(`code_challenge_method`,`S256`),c.searchParams.set(`state`,a),c.searchParams.set(`nonce`,o),c.searchParams.set(`plan`,`generic`),c.searchParams.set(`referrer`,`slicc`);let l=await e({authorizeUrl:c.toString(),redirectUriPattern:A,onCapture:`close`});if(!l)throw new h(`xAI OAuth login was cancelled or timed out`,m.CALLBACK_TIMEOUT);let u=new URL(l),g=u.searchParams.get(`code`),_=u.searchParams.get(`state`);if(!g)throw new h(`xAI OAuth redirect did not include a code`,m.CODE_MISSING);if(_!==a)throw new h(`xAI OAuth state mismatch — possible CSRF, aborting`,m.STATE_MISMATCH);let v=await R(g,r);await s({providerId:C,accessToken:v.access_token,refreshToken:v.refresh_token,tokenExpiresAt:Date.now()+(v.expires_in??21600)*1e3,baseUrl:j,scopes:v.scope}),t()},onOAuthLogout:async()=>{await s({providerId:C,accessToken:``})},onSilentRenew:async()=>{let e=B();if(!e?.refreshToken)return null;let t=await z(e.refreshToken);return t?.access_token?(await s({providerId:C,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??21600)*1e3,scopes:t.scope??e.scopes}),t.access_token):null}};function Z(){n({api:N,stream:J,streamSimple:Y})}export{m as XaiErrorCode,h as XaiOAuthError,X as config,Z as register};
@@ -1 +1 @@
1
- import{_ as e,r as t}from"./account-store-D_95JvI-.js";import{a as n}from"./diagnostics-DN_idNHx.js";import{a as r}from"./compat-uEPf6-XW.js";import{s as i}from"./core-VO3EvqHP.js";import{c as a,i as o,r as s,s as c}from"./legacy-api-aliases-jKEvBgOL.js";import"./provider-settings-DtdWymDf.js";import{n as l,r as u}from"./bridge-token-required-BYgoMwr7.js";import{n as d,r as f,t as p}from"./pkce-hGf_TEnP.js";import{XaiErrorCode as m,XaiOAuthError as h}from"./xai-grok-errors-ByEMMSoz.js";function g(e){return typeof e==`object`&&!!e}function _(e){if(!g(e))return null;let t=g(e.config)?e.config:e,n=t.creditUsagePercent;if(typeof n!=`number`||!Number.isFinite(n))return null;let r=Math.min(1e3,Math.max(0,n)),i=g(t.currentPeriod)?t.currentPeriod:{},a=i.type,o=typeof a==`string`?a.replace(`USAGE_PERIOD_TYPE_`,``).toLowerCase():``,s=i.end??t.billingPeriodEnd,c=typeof s==`string`&&Number.isFinite(Date.parse(s))?s:void 0;return{percent:r,status:`ok`,window:o&&o!==`unspecified`?o:`billing`,...c?{resetsAt:c}:{}}}async function v(e,t,n={}){let r=new AbortController,i=setTimeout(()=>r.abort(),n.timeoutMs??8e3);try{let n=await t(`https://cli-chat-proxy.grok.com/v1/billing?format=credits`,{headers:{Authorization:`Bearer ${e}`},signal:r.signal}),{status:i}=n;if(i===404||i===501)return null;if(!n.ok)throw Error(`xAI Grok usage: ${i===401||i===403?`re-login required`:`failed`} (${i})`);let a=await n.text();if(a.length>65536)return null;try{return _(JSON.parse(a))}catch{return null}}finally{clearTimeout(i)}}const y=`xai-grok`,b=`https://auth.x.ai`,x=`${b}/oauth2/authorize`,S=`${b}/oauth2/token`,C=`b1a00492-073a-47ea-816f-4c329264a828`,w=`http://127.0.0.1:56121/callback`,T=`https://api.x.ai/v1`,E=`grok-4.7`,D=`${y}-openai`;function O(e){if(e.some(e=>e.id===E))return e;let t=e.find(e=>e.id===`grok-4.6`)??e.find(e=>e.api===`openai-responses`)??e[0];return t?[{...t,id:E,name:`Grok 4.7`,api:`openai-responses`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:null}},...e]:e}function k(){return O(i(`xai`))}function A(e){return{id:e.id,name:e.name,api:`openai`,reasoning:e.reasoning,input:e.input,context_window:e.contextWindow,max_tokens:e.maxTokens,compat:e.compat,thinkingLevelMap:e.thinkingLevelMap,cost:e.cost}}function j(e){let t=k(),n=t.find(t=>t.id===e.id);if(!n&&(console.warn(`xAI model "${e.id}" is no longer in the pi-ai catalog; falling back to default "${E}"`),n=t.find(e=>e.id===E),!n))throw Error(`xAI default model "${E}" is not registered by pi-ai`);if(n.api!==`openai-responses`&&n.api!==`openai-completions`)throw Error(`Unsupported pi-ai API "${n.api}" for xAI model "${e.id}"`);return{...e,...n,baseUrl:T}}async function M(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:w,client_id:C,code_verifier:t}),r=await fetch(S,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new h(`xAI token exchange failed: ${r.status} ${await r.text()}`,m.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new h(`xAI token exchange did not return access_token.`,m.TOKEN_EXCHANGE_INVALID);return i}async function N(e){if(l())return null;try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:C}),n=await fetch(S,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text();return u(n.status,e)||console.error(`[xai-grok] refresh failed:`,n.status,e),null}return await n.json()}catch(e){return console.error(`[xai-grok] refresh error:`,e instanceof Error?e.message:String(e)),null}}function P(){return t().find(e=>e.providerId===y)}async function F(){let t=P();if(!t?.accessToken)throw new h("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",m.AUTH_MISSING,!0);let n=t.tokenExpiresAt??0;if(n&&Date.now()+6e4<n)return t.accessToken;if(t.refreshToken){let n=await N(t.refreshToken);if(n?.access_token)return await e({providerId:y,accessToken:n.access_token,refreshToken:n.refresh_token??t.refreshToken,tokenExpiresAt:Date.now()+(n.expires_in??21600)*1e3,scopes:n.scope??t.scopes}),n.access_token}return t.accessToken}async function I(){if(!P()?.accessToken)throw Error(`xAI Grok budget: not signed in`);return v(await F(),fetch)}function L(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:D,provider:y,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function R(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}function z(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e))}async function B(e,t,n,r){try{let i=await F(),a=r.sessionId,c=j(t),l={...r,apiKey:i,headers:R(r.headers,a)},u=c.api===`openai-responses`?o(c,n,l):s(c,n,l);for await(let t of u)e.push(t);e.end()}catch(n){z(n),e.push(L(t,n)),e.end()}}async function V(e,t,n,r){try{let i=await F(),o=r?.sessionId,s=j(t),l={...r,apiKey:i,headers:R(r?.headers,o)},u=s.api===`openai-responses`?a(s,n,l):c(s,n,l);for await(let t of u)e.push(t);e.end()}catch(n){z(n),e.push(L(t,n)),e.end()}}const H=(e,t,r={})=>{let i=n();return B(i,e,t,r).catch(z),i},U=(e,t,r)=>{let i=n();return V(i,e,t,r).catch(z),i},W={id:y,name:`xAI Grok (SuperGrok OAuth)`,description:`Grok via xAI OAuth — uses your SuperGrok subscription, no API key needed. Default model is Grok 4.7.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:E,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`,`cli-chat-proxy.grok.com`],getModelIds:()=>k().map(A),getBudgetUsage:I,onOAuthLoginIntercepted:async(t,n,r)=>{let i=d(),a=await p(i),o=f(),s=f(),c=new URL(x);c.searchParams.set(`response_type`,`code`),c.searchParams.set(`client_id`,C),c.searchParams.set(`redirect_uri`,w),c.searchParams.set(`scope`,r?.scopes??`openid profile email offline_access grok-cli:access api:access`),c.searchParams.set(`code_challenge`,a),c.searchParams.set(`code_challenge_method`,`S256`),c.searchParams.set(`state`,o),c.searchParams.set(`nonce`,s),c.searchParams.set(`plan`,`generic`),c.searchParams.set(`referrer`,`slicc`);let l=await t({authorizeUrl:c.toString(),redirectUriPattern:`http://127.0.0.1:56121/*`,onCapture:`close`});if(!l)throw new h(`xAI OAuth login was cancelled or timed out`,m.CALLBACK_TIMEOUT);let u=new URL(l),g=u.searchParams.get(`code`),_=u.searchParams.get(`state`);if(!g)throw new h(`xAI OAuth redirect did not include a code`,m.CODE_MISSING);if(_!==o)throw new h(`xAI OAuth state mismatch — possible CSRF, aborting`,m.STATE_MISMATCH);let v=await M(g,i);await e({providerId:y,accessToken:v.access_token,refreshToken:v.refresh_token,tokenExpiresAt:Date.now()+(v.expires_in??21600)*1e3,baseUrl:T,scopes:v.scope}),n()},onOAuthLogout:async()=>{await e({providerId:y,accessToken:``})},onSilentRenew:async()=>{let t=P();if(!t?.refreshToken)return null;let n=await N(t.refreshToken);return n?.access_token?(await e({providerId:y,accessToken:n.access_token,refreshToken:n.refresh_token??t.refreshToken,tokenExpiresAt:Date.now()+(n.expires_in??21600)*1e3,scopes:n.scope??t.scopes}),n.access_token):null}};function G(){r({api:D,stream:H,streamSimple:U})}export{m as XaiErrorCode,h as XaiOAuthError,W as config,G as register};
1
+ import{_ as e,r as t}from"./account-store-DgfR_tf2.js";import{a as n}from"./diagnostics-DN_idNHx.js";import{a as r}from"./compat-uEPf6-XW.js";import{s as i}from"./core-VO3EvqHP.js";import{c as a,i as o,r as s,s as c}from"./legacy-api-aliases-jKEvBgOL.js";import"./provider-settings-CZLKq2oa.js";import{n as l,r as u}from"./bridge-token-required-BYgoMwr7.js";import{n as d,r as f,t as p}from"./pkce-hGf_TEnP.js";import{XaiErrorCode as m,XaiOAuthError as h}from"./xai-grok-errors-ByEMMSoz.js";function g(e){return typeof e==`object`&&!!e}function _(e){if(!g(e))return null;let t=g(e.config)?e.config:e,n=t.creditUsagePercent;if(typeof n!=`number`||!Number.isFinite(n))return null;let r=Math.min(1e3,Math.max(0,n)),i=g(t.currentPeriod)?t.currentPeriod:{},a=i.type,o=typeof a==`string`?a.replace(`USAGE_PERIOD_TYPE_`,``).toLowerCase():``,s=i.end??t.billingPeriodEnd,c=typeof s==`string`&&Number.isFinite(Date.parse(s))?s:void 0;return{percent:r,status:`ok`,window:o&&o!==`unspecified`?o:`billing`,...c?{resetsAt:c}:{}}}async function v(e,t,n={}){let r=new AbortController,i=setTimeout(()=>r.abort(),n.timeoutMs??8e3);try{let n=await t(`https://cli-chat-proxy.grok.com/v1/billing?format=credits`,{headers:{Authorization:`Bearer ${e}`},signal:r.signal}),{status:i}=n;if(i===404||i===501)return null;if(!n.ok)throw Error(`xAI Grok usage: ${i===401||i===403?`re-login required`:`failed`} (${i})`);let a=await n.text();if(a.length>65536)return null;try{return _(JSON.parse(a))}catch{return null}}finally{clearTimeout(i)}}const y=`xai-grok`,b=`https://auth.x.ai`,x=`${b}/oauth2/authorize`,S=`${b}/oauth2/token`,C=`b1a00492-073a-47ea-816f-4c329264a828`,w=`http://127.0.0.1:56121/callback`,T=`https://api.x.ai/v1`,E=`grok-4.7`,D=`${y}-openai`;function O(e){if(e.some(e=>e.id===E))return e;let t=e.find(e=>e.id===`grok-4.6`)??e.find(e=>e.api===`openai-responses`)??e[0];return t?[{...t,id:E,name:`Grok 4.7`,api:`openai-responses`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:null}},...e]:e}function k(){return O(i(`xai`))}function A(e){return{id:e.id,name:e.name,api:`openai`,reasoning:e.reasoning,input:e.input,context_window:e.contextWindow,max_tokens:e.maxTokens,compat:e.compat,thinkingLevelMap:e.thinkingLevelMap,cost:e.cost}}function j(e){let t=k(),n=t.find(t=>t.id===e.id);if(!n&&(console.warn(`xAI model "${e.id}" is no longer in the pi-ai catalog; falling back to default "${E}"`),n=t.find(e=>e.id===E),!n))throw Error(`xAI default model "${E}" is not registered by pi-ai`);if(n.api!==`openai-responses`&&n.api!==`openai-completions`)throw Error(`Unsupported pi-ai API "${n.api}" for xAI model "${e.id}"`);return{...e,...n,baseUrl:T}}async function M(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:w,client_id:C,code_verifier:t}),r=await fetch(S,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new h(`xAI token exchange failed: ${r.status} ${await r.text()}`,m.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new h(`xAI token exchange did not return access_token.`,m.TOKEN_EXCHANGE_INVALID);return i}async function N(e){if(l())return null;try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:C}),n=await fetch(S,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text();return u(n.status,e)||console.error(`[xai-grok] refresh failed:`,n.status,e),null}return await n.json()}catch(e){return console.error(`[xai-grok] refresh error:`,e instanceof Error?e.message:String(e)),null}}function P(){return t().find(e=>e.providerId===y)}async function F(){let t=P();if(!t?.accessToken)throw new h("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",m.AUTH_MISSING,!0);let n=t.tokenExpiresAt??0;if(n&&Date.now()+6e4<n)return t.accessToken;if(t.refreshToken){let n=await N(t.refreshToken);if(n?.access_token)return await e({providerId:y,accessToken:n.access_token,refreshToken:n.refresh_token??t.refreshToken,tokenExpiresAt:Date.now()+(n.expires_in??21600)*1e3,scopes:n.scope??t.scopes}),n.access_token}return t.accessToken}async function I(){if(!P()?.accessToken)throw Error(`xAI Grok budget: not signed in`);return v(await F(),fetch)}function L(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:D,provider:y,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function R(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}function z(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e))}async function B(e,t,n,r){try{let i=await F(),a=r.sessionId,c=j(t),l={...r,apiKey:i,headers:R(r.headers,a)},u=c.api===`openai-responses`?o(c,n,l):s(c,n,l);for await(let t of u)e.push(t);e.end()}catch(n){z(n),e.push(L(t,n)),e.end()}}async function V(e,t,n,r){try{let i=await F(),o=r?.sessionId,s=j(t),l={...r,apiKey:i,headers:R(r?.headers,o)},u=s.api===`openai-responses`?a(s,n,l):c(s,n,l);for await(let t of u)e.push(t);e.end()}catch(n){z(n),e.push(L(t,n)),e.end()}}const H=(e,t,r={})=>{let i=n();return B(i,e,t,r).catch(z),i},U=(e,t,r)=>{let i=n();return V(i,e,t,r).catch(z),i},W={id:y,name:`xAI Grok (SuperGrok OAuth)`,description:`Grok via xAI OAuth — uses your SuperGrok subscription, no API key needed. Default model is Grok 4.7.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:E,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`,`cli-chat-proxy.grok.com`],getModelIds:()=>k().map(A),getBudgetUsage:I,onOAuthLoginIntercepted:async(t,n,r)=>{let i=d(),a=await p(i),o=f(),s=f(),c=new URL(x);c.searchParams.set(`response_type`,`code`),c.searchParams.set(`client_id`,C),c.searchParams.set(`redirect_uri`,w),c.searchParams.set(`scope`,r?.scopes??`openid profile email offline_access grok-cli:access api:access`),c.searchParams.set(`code_challenge`,a),c.searchParams.set(`code_challenge_method`,`S256`),c.searchParams.set(`state`,o),c.searchParams.set(`nonce`,s),c.searchParams.set(`plan`,`generic`),c.searchParams.set(`referrer`,`slicc`);let l=await t({authorizeUrl:c.toString(),redirectUriPattern:`http://127.0.0.1:56121/*`,onCapture:`close`});if(!l)throw new h(`xAI OAuth login was cancelled or timed out`,m.CALLBACK_TIMEOUT);let u=new URL(l),g=u.searchParams.get(`code`),_=u.searchParams.get(`state`);if(!g)throw new h(`xAI OAuth redirect did not include a code`,m.CODE_MISSING);if(_!==o)throw new h(`xAI OAuth state mismatch — possible CSRF, aborting`,m.STATE_MISMATCH);let v=await M(g,i);await e({providerId:y,accessToken:v.access_token,refreshToken:v.refresh_token,tokenExpiresAt:Date.now()+(v.expires_in??21600)*1e3,baseUrl:T,scopes:v.scope}),n()},onOAuthLogout:async()=>{await e({providerId:y,accessToken:``})},onSilentRenew:async()=>{let t=P();if(!t?.refreshToken)return null;let n=await N(t.refreshToken);return n?.access_token?(await e({providerId:y,accessToken:n.access_token,refreshToken:n.refresh_token??t.refreshToken,tokenExpiresAt:Date.now()+(n.expires_in??21600)*1e3,scopes:n.scope??t.scopes}),n.access_token):null}};function G(){r({api:D,stream:H,streamSimple:U})}export{m as XaiErrorCode,h as XaiOAuthError,W as config,G as register};
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>slicc</title>
7
7
  <link rel="icon" type="image/png" href="/logos/sliccy-color-1scoops-32x32.png" />
8
- <script type="module" crossorigin src="/assets/main-DAU-AyCy.js"></script>
8
+ <script type="module" crossorigin src="/assets/main-Ylszjlde.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Dd_uD5pT.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-P2Xu9kJm.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/diagnostics-DN_idNHx.js">
@@ -31,12 +31,12 @@
31
31
  <link rel="modulepreload" crossorigin href="/assets/tool-ui-eSQ1g2I1.js">
32
32
  <link rel="modulepreload" crossorigin href="/assets/core-D8SLLGdB.js">
33
33
  <link rel="modulepreload" crossorigin href="/assets/bridge-protocol-C52CnDIj.js">
34
- <link rel="modulepreload" crossorigin href="/assets/providers-BtQv6Iun.js">
34
+ <link rel="modulepreload" crossorigin href="/assets/providers-xwZovvsP.js">
35
35
  <link rel="modulepreload" crossorigin href="/assets/panel-rpc-D3EPRnmw.js">
36
36
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-compat-C64_Hwco.js">
37
37
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-extra-models-D9acqHGZ.js">
38
38
  <link rel="modulepreload" crossorigin href="/assets/claude-model-version-DZmbk9E2.js">
39
- <link rel="modulepreload" crossorigin href="/assets/account-store-CXMrgQNZ.js">
39
+ <link rel="modulepreload" crossorigin href="/assets/account-store-ByX1Dt0d.js">
40
40
  <link rel="modulepreload" crossorigin href="/assets/telemetry-CKoAhRMv.js">
41
41
  <link rel="modulepreload" crossorigin href="/assets/tray-follower-status-BAjnN7Ar.js">
42
42
  <link rel="modulepreload" crossorigin href="/assets/clipboard-eqmn97SP.js">
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>slicc</title>
7
7
  <link rel="icon" type="image/png" href="/logos/sliccy-color-1scoops-32x32.png" />
8
- <script type="module" crossorigin src="/assets/main-DAU-AyCy.js"></script>
8
+ <script type="module" crossorigin src="/assets/main-Ylszjlde.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Dd_uD5pT.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-P2Xu9kJm.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/diagnostics-DN_idNHx.js">
@@ -31,12 +31,12 @@
31
31
  <link rel="modulepreload" crossorigin href="/assets/tool-ui-eSQ1g2I1.js">
32
32
  <link rel="modulepreload" crossorigin href="/assets/core-D8SLLGdB.js">
33
33
  <link rel="modulepreload" crossorigin href="/assets/bridge-protocol-C52CnDIj.js">
34
- <link rel="modulepreload" crossorigin href="/assets/providers-BtQv6Iun.js">
34
+ <link rel="modulepreload" crossorigin href="/assets/providers-xwZovvsP.js">
35
35
  <link rel="modulepreload" crossorigin href="/assets/panel-rpc-D3EPRnmw.js">
36
36
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-compat-C64_Hwco.js">
37
37
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-extra-models-D9acqHGZ.js">
38
38
  <link rel="modulepreload" crossorigin href="/assets/claude-model-version-DZmbk9E2.js">
39
- <link rel="modulepreload" crossorigin href="/assets/account-store-CXMrgQNZ.js">
39
+ <link rel="modulepreload" crossorigin href="/assets/account-store-ByX1Dt0d.js">
40
40
  <link rel="modulepreload" crossorigin href="/assets/telemetry-CKoAhRMv.js">
41
41
  <link rel="modulepreload" crossorigin href="/assets/tray-follower-status-BAjnN7Ar.js">
42
42
  <link rel="modulepreload" crossorigin href="/assets/clipboard-eqmn97SP.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sliccy",
3
- "version": "6.209.0",
3
+ "version": "6.210.0",
4
4
  "description": "Browser-based coding agent with thin CLI server",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1,3 +0,0 @@
1
- const e={EACCES:2,EBADF:8,EBUSY:10,EEXIST:20,EINVAL:28,EIO:29,EISDIR:31,ELOOP:32,ENAMETOOLONG:37,ENOENT:44,ENOSPC:51,ENOSYS:52,ENOTDIR:54,ENOTEMPTY:55,EPERM:63,EROFS:69,ETIMEDOUT:73,EXDEV:75},t=4095;function n(t,n){if(n?.errno!==void 0&&n instanceof t.ErrnoError)return n;let r=n?.code,i=typeof r==`string`?e[r]??29:29;return new t.ErrnoError(i)}function r(e){let t=[],n=e;for(;n!==n.mount.root;)t.push(n.name),n=n.parent;let r=e.mount.opts.root.replace(/\/+$/,``);return t.length===0?r||`/`:`${r}/${t.reverse().join(`/`)}`}function i(e){let n=e.isSymbolicLink?40960:e.isDirectory?16384:32768,r=e.isDirectory||e.isSymbolicLink?511:438;return n|((e.mode??r)&t||r)}function a(e){if(e!=null)return e instanceof Date?e.getTime():e}function o(t,a){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,i(r),0);return o.node_ops=a.node,o.stream_ops=a.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=i(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 s(n){let{Fs:i,bridgeOf:o,call:s,metadataCall:c,makeNode:l,statOf:u,childPath:d,flushNode:f,truncate:p}=n,{ensureLoaded:m}=n;return{getattr(e){let t=u(e),n=e.live,r=i.isDir(e.mode)?4096:n.loaded?n.len:t.size,a=new Date(t.mtimeMs??0);return{dev:1,ino:e.id,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:r,atime:a,mtime:a,ctime:a,blksize:4096,blocks:Math.ceil(r/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&&p(e,n.size);return}let s=r(e);if(n.mode!==void 0&&n.mode!==null){let r=n.mode&t;r!==(e.mode&t)&&(c(()=>o(e).chmod(s,r)),e.mode=e.mode&-4096|r)}n.size!==void 0&&n.size!==null&&i.isFile(e.mode)&&p(e,n.size);let l=a(n.mtime)??n.timestamp;if(l!==void 0){let t=a(n.atime)??l;f(e),c(()=>o(e).utimes(s,t,l))}e.live.stat=void 0},lookup(e,t){let n=s(()=>o(e).lstat(d(e,t)));return l(e,t,n)},mknod(t,n,r){let a=d(t,n);if(i.isDir(r))s(()=>o(t).mkdir(a));else if(i.isFile(r))s(()=>o(t).writeFile(a,new Uint8Array));else throw new i.ErrnoError(e.EPERM);let c=l(t,n,{isFile:i.isFile(r),isDirectory:i.isDir(r),isSymbolicLink:!1,size:0,mode:r,mtimeMs:Date.now()});return c.live.stat=void 0,c},rename(e,t,n){let a=r(e),c=d(t,n);f(e),s(()=>o(e).rename(a,c));try{let r=i.lookupNode?.(t,n);r&&r!==e&&i.hashRemoveNode?.(r)}catch{}e.name=n,e.live.stat=void 0},unlink(e,t){let n;try{let r=i.lookupNode?.(e,t);r&&r.live?.openCount>0&&i.isFile(r.mode)&&(n=r)}catch{}n&&(u(n),m(n)),s(()=>o(e).unlink(d(e,t))),n&&(n.live.orphan=!0)},rmdir(e,t){s(()=>o(e).rmdir(d(e,t)))},readdir(e){return[`.`,`..`,...s(()=>o(e).readdir(r(e)))]},symlink(e,t,n){let r=d(e,t);return s(()=>o(e).symlink(n,r)),l(e,t,{isFile:!1,isDirectory:!1,isSymbolicLink:!0,size:n.length})},readlink(t){if(!i.isLink(t.mode))throw new i.ErrnoError(e.EINVAL);return s(()=>o(t).readlink(r(t)))}}}function c(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 l(t){let n=new Set,r={},i=o(t,r),a=s(i),l=c(i);return r.node=a,r.stream=l,{mounts:n,node_ops:a,stream_ops:l,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 u(e,t){return!!t&&e.mounts.has(t.mount)}function d(e,t){for(let i of e.nameTable??[])for(let a=i;a;a=a.name_next??null)if(!(!u(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 f(e,t){let n=e.nameTable??[],r=[];for(let e of n)for(let n=e;n;n=n.name_next??null){if(!u(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 p(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 m(e){if(e instanceof Error)return e.message;let t=e?.errno;return typeof t==`number`?`errno ${t}`:String(e)}function h(e,t,n,r){let i=e.filesystems.SLICC_LIVE_FS??l(e);e.filesystems.SLICC_LIVE_FS=i;let a=[];for(let o of p(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: ${m(e)}`)}return{plugin:i,mounted:a}}function g(e,t){return Object.assign(Error(`${e}: ${t}`),{code:e})}function _(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 v=new Set([`dev`,`proc`]),y=[`/usr`,`/bin`],b=[`writeFile`,`mkdir`,`rm`,`rename`,`unlink`,`rmdir`,`symlink`,`chmod`,`utimes`];function x(e,t){let n={...e};for(let r of b){let i=e[r];n[r]=(...n)=>{t.wasUsed()&&_(t,e);try{i.apply(e,n)}finally{t.invalidate()}}}return n}function S(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(`/`)&&!v.has(e)).map(e=>`/${e}`);for(let e of y)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 C(e,t,n={}){let{bridge:r,syncFs:i,warn:a}=t;i.wasUsed()&&_(i,r);let{plugin:o,mounted:s}=h(e,x(r,i),S(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:()=>d(e,o),invalidate:()=>f(e,o)}}function w(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 T(e){let t=w(e);if(t===`/`)return`/`;let n=t.lastIndexOf(`/`);return n===0?`/`:t.slice(0,n)}function E(e){return Object.assign(Error(`ENOENT: no such file or directory, '${e}'`),{code:`ENOENT`})}function D(e){return Object.assign(Error(`ENOSYNC: file too large for sync access, '${e}' — use async readFile() instead`),{code:`ENOSYNC`})}function O(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 ee=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=w(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=T(w(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=T(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=w(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=[...w(e.startsWith(`/`)?e:`${T(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=T(e);t!==`/`&&(this.tree.has(t)||this.mkdir(t,!0,!0))}isPartial(e){return this.tree.get(w(e))?.partial===!0}hasPartialWithin(e){let t=w(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=w(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=T(n)}}readFile(e){this.touched=!0;let t=w(e),n=this.resolveEntry(t)?.entry;if(!n||n.isDirectory)throw E(t);if(n.truncated)throw D(t);return n.content}writeFile(e,t){this.touched=!0;let n=w(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=w(e);return this.tree.has(t)}stat(e){this.touched=!0;let t=w(e),n=this.resolveEntry(t);if(!n)throw E(t);return this.toStat(n.entry)}lstat(e){this.touched=!0;let t=w(e),n=this.resolveEntry(t,!0);if(!n)throw E(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=w(e),n=this.resolveEntry(t);if(!n?.entry.isDirectory)throw E(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=w(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=T(r);if(i!==`/`&&!this.tree.has(i)){if(!t)throw E(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=w(e),r=this.tree.get(n);if(!r)throw E(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=w(e),r=this.tree.get(n);if(!r||r.isDirectory)throw E(n);if(r.truncated)throw D(n);let i=w(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=w(e),r=this.tree.get(n);if(!r)throw E(n);let i=w(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=w(e),n=this.tree.get(t);if(!n)throw E(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=w(e);this.tombstones.add(n),t&&this.removedDirs.add(n)}isTombstoned(e){let t=w(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=w(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&&!O(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 k(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}:{}}}new TextEncoder;const A=new TextDecoder;function j(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(A.decode(t))}}catch{return{ok:!1,errno:`EIO`,message:`sync-sab: malformed json payload`}}case 4:try{let e=JSON.parse(A.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 M(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 N(e,t,n={}){let{header:r,window:i}=M(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 g(`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 g(`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 g(`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 g(`EIO`,a)}}finally{Atomics.store(r,0,0)}return j(f,d)}}}function P(e,t){return g(e,`sync-sab bridge, '${t}'`)}function te(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 P(i.errno,r);return i}function i(e,t){let n=r(e,t);if(n.ok&&n.kind===`bytes`)return n.bytes;throw P(`EIO`,t)}function a(e,t){let n=r(e,t);if(n.ok&&n.kind===`json`)return n.json;throw P(`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=k(a({op:`stat`,path:e},e));if(!t)throw P(`EIO`,e);return t},lstat:e=>{let t=k(a({op:`lstat`,path:e},e));if(!t)throw P(`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 P(`EIO`,e);return t},exists:e=>{let t=a({op:`exists`,path:e},e);if(typeof t!=`boolean`)throw P(`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 P(`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 ne={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,EPERM:63,EPIPE:64,ESPIPE:70,ESRCH:71};function F(e){return ne[e]??29}const I=2048,L=49663;var R=class extends Error{status;constructor(e){super(`exit ${e}`),this.status=e}},z=class extends Error{code;constructor(e){super(e),this.code=e}};function B(e){return e.sliccKernelSocket===!0&&!!(e.flags&2048)}var V=class{Fs;sys;options;refs=new Map;socketRoot;sockets=0;constructor(e,t,n={}){this.Fs=e,this.sys=t,this.options=n}attach(e,t,n){this.refs.set(t,(this.refs.get(t)??0)+1),e.sliccKernelFd=t,e.stream_ops=this.ops(t,e.stream_ops),n??this.sys.isatty?.(t)??!1?e.tty=this.ttyOps(t):delete e.tty}ttyOps(e){return{ops:{ioctl_tcgets:()=>this.call(()=>this.sys.tcgets?.(e)),ioctl_tcsets:(t,n,r)=>this.call(()=>(this.sys.tcsets?.(e,r),0)),ioctl_tiocgwinsz:()=>this.call(()=>this.sys.winsize?.(e)??[24,80]),fsync:()=>{}}}}attachFile(e,t){this.attach(e,t,!1),e.sliccKernelFile=!0,e.stream_ops={...e.stream_ops,llseek:(e,n,r)=>this.call(()=>this.sys.seek(t,n,r)),fsync:()=>this.call(()=>(this.sys.flush(t),0))}}useControllingTerminal(){if(typeof this.Fs.open!=`function`)return;let e=this.Fs.open.bind(this.Fs);this.Fs.open=(t,n,r)=>{let i=e(t,n,r),a=i.tty?this.controllingTerminal():void 0;return a!==void 0&&this.attach(i,a,!0),i}}controllingTerminal(){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}`,L,0),i=new Date,a={dev:0,ino:n,mode:L,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 z&&e.code===`EINTR`&&this.options.restartable?.()))throw e}}call(e){try{return e()}catch(e){throw e instanceof z?new this.Fs.ErrnoError(F(e.code)):e}}ops(e,t){return{...t,read:(t,n,r,i)=>this.call(()=>{let a=B(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=B(t)?{nonblock:!0}:void 0;return this.restarting(()=>this.sys.write(e,a,o))}catch(e){if(e instanceof z&&e.code===`EPIPE`&&!this.options.sigpipe?.())throw new R(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 H(e){return e.ok?0:-F(e.errno)}function U(e){return e.ok?e.kind===`json`&&typeof e.json==`number`?e.json:-F(`EIO`):-F(e.errno)}function W(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 G(e){let{transport:t,Fs:n}=e,r=new Map,i=(e,n)=>t.call(e,1/0,n),a=(e,t)=>{let r=e>=0?n.getStream(e):null;return r?r.sliccKernelFd===void 0?t===0?{input:W(n,r)}:{capture:!0}:{fd:r.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-F(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){let f=[0,1,2].map(e=>a(d[e]??-1,e));e.beforeSpawn();let p=t.call({op:`proc-spawn`,file:i,argv:c,env:l??e.env,cwd:u??n.cwd(),stdio:f},1/0,`proc-spawn ${i}`);if(!p.ok)return-F(p.errno);let m=p.kind===`json`?p.json:0,h=[1,2].filter(e=>`capture`in f[e]);if(h.length===0)return m;let g=o(m,!1);if(typeof g==`number`)return g;for(let e of h)s(m,e,d[e]);return r.set(m,g[1]),m},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:-F(`EIO`):-F(a.errno)},select(e,r,i){let a=e=>n.getStream(e)?.sliccKernelFd,o=e.map(a),s=r.map(a);if([...o,...s].some(e=>e===void 0))return null;let c=t.call({op:`fd-select`,read:o,write:s,timeoutMs:i},1/0,`select`);if(!c.ok)return-F(c.errno);let l=c.kind===`json`?c.json:{read:[],write:[]};return{read:e.filter((e,t)=>l.read.includes(o[t])),write:r.filter((e,t)=>l.write.includes(s[t]))}},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):-F(r.errno)},kill(t,n){return t===e.pid?(n!==0&&e.raise?.(n),0):H(i({op:`proc-kill`,pid:t,sig:n},`kill ${t}`))},setpgid:(e,t)=>H(i({op:`proc-setpgid`,pid:e,pgid:t},`setpgid`)),setsid:()=>U(i({op:`proc-setsid`},`setsid`)),getpgid:e=>U(i({op:`proc-getpgid`,pid:e},`getpgid`)),getsid:e=>U(i({op:`proc-getsid`,pid:e},`getsid`)),tcgetpgrp(e){let t=n.getStream(e)?.sliccKernelFd;return t===void 0?-F(`ENOTTY`):U(i({op:`tty-pgrp-get`,fd:t},`tcgetpgrp`))},tcsetpgrp(e,t){let r=n.getStream(e)?.sliccKernelFd;return r===void 0?-F(`ENOTTY`):H(i({op:`tty-pgrp-set`,fd:r,pgrp:t},`tcsetpgrp`))},wait(e,t,n){let i=e>0?r.has(e)?e:void 0:r.keys().next().value;if(i!==void 0){let e=r.get(i);return r.delete(i),[i,e]}return o(e,t,n)}}}const K=`/dev/slicc-fd`;function q(e,t){let n=t.node;return n.live!==void 0&&e.isFile(n.mode)}function J(e){let t=e.node.live;if(t?.orphan)return t.data?.slice(0,t.len??t.data.length)??new Uint8Array}function Y(e,t,n,r){let i=new Map,a=[];for(let o of e.streams)if(o){if(o.sliccKernelFd===void 0&&q(e,o)){let e=i.get(o.shared);if(e===void 0){let n=J(o);e=t.openVfs(r(o),o.flags,o.position,n===void 0?void 0:{contents:n,orphan:!0}),i.set(o.shared,e)}n.attachFile(o,e)}o.sliccKernelFd===void 0?o.path&&a.push({fd:o.fd,path:o.path,flags:o.flags}):a.push(X(o,o.sliccKernelFd))}return a}function X(e,t){if(e.sliccKernelSocket)return{fd:e.fd,kernel:t,kind:`socket`,flags:e.flags};let n=e.sliccKernelFile?`file`:e.tty?`tty`:`stream`;return{fd:e.fd,kernel:t,kind:n}}function Z(e,t,n){if(t.fd===n)return t;let r=e.dupStream(t,n);return e.closeStream(t.fd),r}function re(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(K),e.open(`${K}/${n.fd}`,66))}function ie(e,t,n){for(let t of e.streams)t&&e.closeStream(t.fd);for(let r of n)try{if(`kernel`in r){let n=Z(e,re(e,t,r),r.fd);r.kind===`file`?t.attachFile(n,r.kernel):r.kind===`socket`?t.attachSocket(n,r.kernel):t.attach(n,r.kernel,r.kind===`tty`)}else Z(e,e.open(r.path,r.flags&-705),r.fd)}catch{}}const Q={HUP:1,INT:2,QUIT:3,ILL:4,TRAP:5,ABRT:6,BUS:7,FPE:8,KILL:9,USR1:10,SEGV:11,USR2:12,PIPE:13,ALRM:14,TERM:15,STKFLT:16,CHLD:17,CONT:18,STOP:19,TSTP:20,TTIN:21,TTOU:22,URG:23,XCPU:24,XFSZ:25,VTALRM:26,PROF:27,WINCH:28,POLL:29,PWR:30,SYS:31};Q.CHLD,Q.URG,Q.WINCH,Q.STOP,Q.TSTP,Q.TTIN,Q.TTOU;function ae(e){return 1<<e}function oe(e){let t=[];for(let n=1;n<=31;n++)e&ae(n)&&t.push(n);return t}Q.INT,Q.TERM,Q.KILL,Q.STOP,Q.CONT;var se=class{raw;header;hooks;reported={caught:0,ignored:0};restart=0;lastDelivered=0;depth=0;constructor(e,t,n){this.raw=e,this.header=t,this.hooks=n}transport(){return{call:(e,t,n)=>{this.report(),this.depth++;try{let r=this.raw.call(e,t,n);return this.deliver(),r}finally{this.depth--}}}}restartable(){return this.lastDelivered!==0&&(this.lastDelivered&~this.restart)===0}report(){let e=this.hooks.masks();if(!e)return;this.restart=e.restart;let{caught:t,ignored:n}=e;(t!==this.reported.caught||n!==this.reported.ignored)&&(this.reported={caught:t,ignored:n},this.raw.call({op:`sig-mask`,caught:t,ignored:n},1/0,`sig-mask`))}deliver(){let e=Atomics.exchange(this.header,8,0);this.depth<=1&&(this.lastDelivered=e);for(let t of oe(e))this.hooks.raise(t)}};function ce(e){if(e instanceof z)return-F(e.code);let t=e?.errno;if(typeof t==`number`)return-t;throw e}function le(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 z(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 z&&t.code===`EINTR`&&e.restartable?.()))return ce(t)}},l=e=>{let t=n.getStream(e);if(!t)throw new z(`EBADF`);if(!t.sliccKernelSocket||t.sliccKernelFd===void 0)throw new z(`ENOTSOCK`);return t},u=e=>l(e).sliccKernelFd,d=(e,t)=>{let n;try{n=i.socketStream(2|(t?I:0))}catch(t){throw r.close(e),t}return i.attachSocket(n,e),n.fd};return{socket:(e,t)=>c(()=>d(o({op:`sock-open`,domain:e}),t)),socketpair:(e,t)=>c(()=>{let[i,a]=o({op:`sock-pair`,domain:e}),s;try{s=d(i,t)}catch(e){throw r.close(a),e}try{return[s,d(a,t)]}catch(e){let t=n.getStream(s);throw t&&t.stream_ops.close?.(t),n.closeStream(s),e}}),bind:(e,t)=>c(()=>s({op:`sock-bind`,fd:u(e),addr:t})),listen:(e,t)=>c(()=>s({op:`sock-listen`,fd:u(e),backlog:t})),accept:(e,t)=>c(()=>{let n=l(e),r={op:`sock-accept`,fd:n.sliccKernelFd,nonblock:!!(n.flags&I)},i=o(r);return{fd:d(i.fd,t),peer:i.peer}}),connect:(e,t)=>c(()=>{let n=l(e),r=!!(n.flags&I);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 z&&t.code===`EPIPE`&&!i.nosignal&&!e.sigpipe?.()?new R(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 ue(e){let t=(t,n)=>{let r=e.call(t,1/0,n);if(!r.ok)throw new z(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}:{}},`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}`)},isatty(e){return n(t({op:`fd-info`,fd:e},`fd-info ${e}`))?.tty===!0},tcgets(e){return n(t({op:`tty-get`,fd:e},`tty-get ${e}`))},tcsets(e,n){t({op:`tty-set`,fd:e,termios:n},`tty-set ${e}`)},winsize(e){return n(t({op:`tty-winsz`,fd:e},`tty-winsz ${e}`))}}}function de(e,t,n){let r=e.open(`/dev/null`,2),i=e.dupStream(r,n);e.closeStream(r.fd),t.attach(i,n,!1)}function $(e,t){for(let n of[0,1,2]){let r=e.getStream(n);r&&t.attach(r,n)}}function fe(e){return e.startsWith(`#!`)?e.slice(e.indexOf(`
2
- `)+1):e}const pe=[`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);`,`const __sliccUp = () => typeof runtimeInitialized === 'undefined' || runtimeInitialized;`,`Module.sliccSigpipe ??= () => (__sliccUp() && typeof _slicc_sigpipe === 'function' ? _slicc_sigpipe() : -1);`,`Module.sliccSigMask ??= (w) => (__sliccUp() && typeof _slicc_sig_mask === 'function' ? _slicc_sig_mask(w) : -1);`,`Module.sliccRaise ??= (sig) => { if (__sliccUp() && typeof _slicc_raise === 'function') _slicc_raise(sig); };`].join(`
3
- `);function me(e,t){let n=Object.getOwnPropertyDescriptor(e,t);return n&&`value`in n?n.value:void 0}const he=(e,t)=>{let n;try{n=Function(`Module`,`${fe(e)}\n;${pe}`)}catch(e){throw e instanceof EvalError?Error(ge):e}n(t)},ge=`the wasm realm evaluates the program's Emscripten glue, and this page's CSP forbids eval (no 'unsafe-eval')`;function _e(e){let t=e.sliccSigMask,n=t?.(0)??-1;return!t||n===-1?null:{caught:n,ignored:t(1),restart:t(2)}}async function ve(e,t,n={}){let i=new se(N(e.sab,t),new Int32Array(e.sab,0,16),{masks:()=>_e(f),raise:e=>f.sliccRaise?.(e)}),a=i.transport(),o=ue(a),s=new TextEncoder,c=e=>t=>o.write(e,s.encode(`${t}\n`)),l,u,d=new Promise((e,t)=>{l=e,u=t}),f={noInitialRun:!0,thisProgram:e.argv0,sliccPid:e.pid,sliccEnv:e.env,print:c(1),printErr:c(2),instantiateWasm(t,n){return WebAssembly.instantiate(e.program.module,t).then(t=>n(t,e.program.module),u),{}},preRun:[t=>{try{t.FS.mkdirTree(e.cwd),t.FS.chdir(e.cwd)}catch{}}],onRuntimeInitialized:()=>l()};(n.evaluate??he)(e.program.glue,f),await d;let p=f,m=C(p.FS,{bridge:te(a),syncFs:new ee({entries:[]}),cwd:e.cwd,warn:n.warn??c(2)},{cwd:e.cwd}),h=()=>p.sliccSigpipe?.()===1,g=()=>i.restartable(),_=new V(p.FS,o,{sigpipe:h,restartable:g});if(e.fork)ie(p.FS,_,e.fork.streams??[]);else{$(p.FS,_);for(let t of e.fds??[])de(p.FS,_,t)}let v=me(p,`PIPEFS`);v&&_.usePipes(v),_.useControllingTerminal(),p.sliccKernel=G({transport:a,Fs:p.FS,env:e.env,beforeSpawn:()=>m.flush(),afterChild:()=>m.invalidate(),pid:e.pid,raise:e=>p.sliccRaise?.(e),restartable:g,describeFork:()=>Y(p.FS,o,_,e=>r(e.node))}),p.sliccKernel.net=le({transport:a,Fs:p.FS,sys:o,streams:_,sigpipe:h,restartable:g});try{if(e.fork){if(!p.sliccForkChild)throw Error(`${e.argv0} cannot resume a fork`);return p.sliccForkChild({...e.fork,pid:e.pid})??0}return(p.sliccRunMain??p.callMain)(e.args)??0}catch(e){let t=e?.status;if(typeof t!=`number`)throw e;return t}finally{m.flush()}}self.addEventListener(`message`,e=>{e.data?.type===`wasm-process-init`&&ve(e.data,{postMessage:e=>self.postMessage(e)}).then(e=>self.postMessage({type:`wasm-process-exit`,code:e}),e=>self.postMessage({type:`wasm-process-error`,message:e instanceof Error?e.stack??e.message:String(e)}))});
@@ -1 +0,0 @@
1
- import{t as e}from"./provider-D9yEgxif.js";export{e as readMcpAuthEntries};
@@ -1 +0,0 @@
1
- import{t as e}from"./store-Dkmzxaja.js";import"./provider-LZtcBmKS.js";export{e as readMcpAuthEntries};
@@ -1,7 +0,0 @@
1
- import{a as e,c as t,d as n,f as r,h as i,l as a,n as o,o as s,p as c,s as l,t as u,u as d}from"./stdio-tty-CE0OUA_G.js";import{r as f}from"./global-prefix-DqCuANmV.js";import{r as p}from"./wasm-programs-CsoF9Lrt.js";import{t as m}from"./wasm-compiler-Ct7QZURL.js";import{S as h,w as g,x as ee}from"./sync-exec-dispatch-BwrIjhDd.js";import{t as _}from"./sync-sab-wire-D_d0fd3b.js";import{t as v}from"./sync-sab-responder-Bfd9S0pw.js";import{i as y}from"./just-bash-compat-B-SPHuh_.js";const b=String.raw`printf '\033]7777;%s\007' "$?"`,x={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},te=new Set([x.CHLD,x.URG,x.WINCH]),ne=new Set([x.STOP,x.TSTP,x.TTIN,x.TTOU]);function S(e){return e===x.CONT?`continue`:ne.has(e)?`stop`:te.has(e)?`ignore`:`terminate`}function re(e){return Number.isInteger(e)&&e>=1&&e<=31}function C(e){return 1<<e}const w={SIGINT:x.INT,SIGTERM:x.TERM,SIGKILL:x.KILL,SIGSTOP:x.STOP,SIGCONT:x.CONT},T=16384;function E(){let e=Array(32).fill(0);return Object.assign(e,{0:3,1:28,2:127,3:21}),Object.assign(e,{4:4,6:1,8:17,9:19,10:26}),Object.assign(e,{12:18,13:15,14:23,15:22}),{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:e}}const D=new TextEncoder;function O(e){return(e&192)==128}var ie=class{screen;signal;termios=E();cols=80;rows=24;readable=[];line=[];waiters=[];constructor(e,t){this.screen=e,this.signal=t}receive(e){for(let t of e)this.key(t);this.wake()}resize(e,t){this.setSize(e,t),this.signal(x.WINCH)}setSize(e,t){this.cols=e,this.rows=t}tcgets(){return{...this.termios,c_cc:[...this.termios.c_cc]}}tcsets(e){let t=this.canonical;this.termios={...e,c_cc:[...e.c_cc]},t&&!this.canonical&&this.line.length>0&&(this.readable.push(Uint8Array.from(this.line)),this.line=[],this.wake())}winsize(){return[this.rows,this.cols]}file(){return new l({read:(e,t)=>this.read(e,t),write:async e=>(this.output(e),e.length),poll:()=>({readable:this.readable.length>0,writable:!0,hangup:!1}),changed:e=>this.changed(e),close:()=>{},tty:this})}get canonical(){return!!(this.termios.c_lflag&2)}cc(e){return this.termios.c_cc[e]??0}key(e){let{c_iflag:t,c_lflag:n}=this.termios,r=e===13&&t&256?10:e;if(!(n&1&&this.signalKey(r))){if(!this.canonical){this.readable.push(Uint8Array.of(r)),n&8&&this.echo(r);return}this.edit(r)}}signalKey(e){let t=e===this.cc(0)?x.INT:e===this.cc(1)?x.QUIT:e===this.cc(10)?x.TSTP:0;return!t||e===0?!1:(this.termios.c_lflag&8&&this.echo(e),this.termios.c_lflag&128||(this.line=[],this.readable=[]),this.signal(t),!0)}edit(e){let t=!!(this.termios.c_lflag&8);e===this.cc(2)||e===8?this.rubOut(this.lastCharLength()):e===this.cc(3)?this.rubOut(this.line.length):e===this.cc(14)?this.rubOut(this.lastWordLength()):e===this.cc(4)?(this.readable.push(this.line.length>0?Uint8Array.from(this.line):null),this.line=[]):e===10?(this.line.push(e),t&&this.output(D.encode(`
2
- `)),this.readable.push(Uint8Array.from(this.line)),this.line=[]):(this.line.push(e),t&&this.echo(e))}lastWordLength(){let e=this.line.length;for(;e>0&&this.line[e-1]===32;)e--;for(;e>0&&this.line[e-1]!==32;)e--;return this.line.length-e}lastCharLength(){let{line:e}=this,t=Math.min(1,e.length);if(this.termios.c_iflag&T)for(;t<e.length&&O(e[e.length-t]??0);)t++;return t}rubOut(e){let t=this.line.splice(this.line.length-e,e),n=this.termios.c_iflag&T?t.filter(e=>!O(e)).length:t.length;n>0&&this.termios.c_lflag&8&&this.output(D.encode(`\b \b`.repeat(n)),!1)}echo(e){if(e<32&&e!==10&&e!==9&&this.termios.c_lflag&512){this.output(Uint8Array.of(94,e+64),!1);return}this.output(Uint8Array.of(e))}output(e,t=!0){let{c_oflag:n}=this.termios;if(!t||!(n&1&&n&4)||!e.includes(10)){this.screen.write(e);return}let r=[];for(let t of e)t===10&&r.push(13),r.push(t);this.screen.write(Uint8Array.from(r))}async read(e,t){for(;this.readable.length===0;)await this.changed(t);let n=this.readable[0];if(n===null)return this.readable.shift(),new Uint8Array;if(n===void 0)return new Uint8Array;let r=[],i=0;for(;this.readable.length>0&&i<e;){let t=this.readable[0];if(t==null)break;let n=t.subarray(0,e-i);if(r.push(n),i+=n.length,n.length<t.length?this.readable[0]=t.subarray(n.length):this.readable.shift(),this.canonical)break}let a=new Uint8Array(i),o=0;for(let e of r)a.set(e,o),o+=e.length;return a}changed(e){return e?.aborted?Promise.reject(new s(`EINTR`)):new Promise((t,n)=>{let r=()=>{this.waiters=this.waiters.filter(e=>e!==i),n(new s(`EINTR`))},i=()=>{e?.removeEventListener(`abort`,r),t()};this.waiters.push(i),e?.addEventListener(`abort`,r,{once:!0})})}wake(){let e=this.waiters;this.waiters=[];for(let t of e)t()}},k=class extends Error{code;constructor(e){super(e),this.code=e}};function ae(e){let t=()=>{};return{promise:new Promise((n,r)=>{t=()=>r(new s(`EINTR`)),e?.aborted?t():e?.addEventListener(`abort`,t,{once:!0})}),done:()=>e?.removeEventListener(`abort`,t)}}function oe(e){return(e&255)<<8|127}function se(e,t){return t?t&127:(e&255)<<8}function ce(e){let t=new Uint8Array(e.reduce((e,t)=>e+t.length,0)),n=0;for(let r of e)t.set(r,n),n+=r.length;return t}var le=class{parentFds;spawner;forker;children=new Map;leftovers=new Map;onChildState;stateChanged=[];watchers=new Map;constructor(e,t,n){this.parentFds=e,this.spawner=t,this.forker=n}async fork(e){if(!this.forker)throw new k(`ENOSYS`);return this.track(e,this.parentFds.fork(),new Map,this.forker)}async spawn(t,n){if(!this.spawner)throw new k(`ENOSYS`);let r=new e,i=new Map;try{for(let[e,t]of n.entries())r.installAt(e,this.openSlot(t,e,i))}catch(e){throw await r.closeAll(),e}return this.track(t,r,i,this.spawner)}async track(e,t,n,r){let i;try{i=await r(e,t)}catch(e){throw await t.closeAll(),e}let a={exited:i.exited,termsig:i.termsig,captured:n};return i.exited.then(e=>{a.code=e,this.watchers.delete(i.pid),this.onChildState?.()}),i.onState?.((e,t)=>{a.stopReport=e===`stopped`?t:void 0,a.continueReport=e===`continued`,this.watchers.get(i.pid)?.(e,t);let n=this.stateChanged;this.stateChanged=[];for(let e of n)e();this.onChildState?.()}),this.children.set(i.pid,a),i.pid}watch(e,t){this.children.has(e)&&this.watchers.set(e,t)}openSlot(e,n,i){if(`fd`in e)return this.parentFds.get(e.fd).retain();if(`input`in e)return t(e.input);if(`capture`in e){let e=[];return i.set(n,e),r(t=>e.push(t))}return a()}async wait(e,t,n,r={}){let i;try{for(;;){let a=this.candidates(e,r);if(a.length===0)throw new s(`ECHILD`);let o=a.find(([,e])=>e.code!==void 0);if(o)return this.reap(o[0],o[1].code);let c=this.stateReport(a,r);if(c)return c;if(t)return[0,0];i??=ae(n),await this.nextChange(a,r,i.promise)}}finally{i?.done()}}candidates(e,t){let n=[...this.children];if(e>0)return n.filter(([t])=>t===e);let r=t.inGroup;return e===-1||!r?n:n.filter(([e])=>r(e))}async nextChange(e,t,n){let r,i=new Promise(e=>r=e),a=t.untraced||t.continued;a&&r&&this.stateChanged.push(r);try{await Promise.race([...e.map(([,e])=>e.exited),...a?[i]:[],n])}finally{this.stateChanged=this.stateChanged.filter(e=>e!==r)}}stateReport(e,t){for(let[n,r]of e){if(t.untraced&&r.stopReport!==void 0){let e=r.stopReport;return r.stopReport=void 0,[n,oe(e)]}if(t.continued&&r.continueReport)return r.continueReport=!1,[n,65535]}return null}reap(e,t){let n=this.children.get(e);return this.children.delete(e),n&&n.captured.size>0&&this.leftovers.set(e,n.captured),[e,se(t,n?.termsig?.())]}captured(e,t){let n=this.leftovers.get(e),r=n?.get(t);return!n||!r?new Uint8Array:(n.delete(t),n.size===0&&this.leftovers.delete(e),ce(r))}};function ue(e,t,r){return{read:t.filter(t=>{let r=n(e.get(t).file);return r.readable||r.hangup}),write:r.filter(t=>{let r=n(e.get(t).file);return r.writable||r.hangup})}}function de(e){let t=()=>{};return{promise:new Promise((n,r)=>{t=()=>r(new s(`EINTR`)),e.aborted?t():e.addEventListener(`abort`,t,{once:!0})}),done:()=>e.removeEventListener(`abort`,t)}}async function fe(e,t,n,r,i){let a=r<0?1/0:Date.now()+r,o=de(i);o.promise.catch(()=>{});try{return await pe(e,t,n,a,o.promise)}finally{o.done()}}async function pe(e,t,n,r,i){for(;;){let a=ue(e,t,n);if(a.read.length>0||a.write.length>0||Date.now()>=r)return a;let o=new AbortController,s=[...new Set([...t,...n])].flatMap(t=>{let n=e.get(t).file;return n.changed===void 0?[]:[n.changed(o.signal).catch(()=>void 0)]}),c,l=r===1/0?[]:[new Promise(e=>c=setTimeout(e,r-Date.now()))];try{await Promise.race([...s,...l,i])}finally{o.abort(),clearTimeout(c)}}}const A=32768;function j(e){return/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(e)}async function M(e){try{return await e()}catch(e){throw e instanceof i?new s(e.code):e}}var me=class{waiters=[];wait(e){return e?.aborted?Promise.reject(new s(`EINTR`)):new Promise((t,n)=>{let r=()=>{this.waiters=this.waiters.filter(e=>e!==i),n(new s(`EINTR`))},i=()=>{e?.removeEventListener(`abort`,r),t()};this.waiters.push(i),e?.addEventListener(`abort`,r,{once:!0})})}wake(){let e=this.waiters;this.waiters=[];for(let t of e)t()}};function N(e,t){let n=new c,r=new c;for(let e of[n,r])e.openRead(),e.openWrite();e.attach({rx:r,tx:n}),t.attach({rx:n,tx:r})}var P=class e{net;domain;state=`open`;local;peer;link;readShut=!1;writeShut=!1;queue=[];backlog=0;bound=!1;changes=new me;options=new Map;constructor(e,t){this.net=e,this.domain=t}attach(e){this.link=e,this.state=`connected`,this.changes.wake()}get listening(){return this.state===`listening`}connection(){if(!this.link||this.state!==`connected`)throw new s(`ENOTCONN`);return this.link}async read(e,t){let{rx:n}=this.connection();return this.readShut||e<=0?new Uint8Array:M(()=>n.read(e,t))}async peek(e,t){let{rx:n}=this.connection();return this.readShut||e<=0?new Uint8Array:M(()=>n.peek(e,t))}async write(e,t){let{tx:n}=this.connection();if(this.writeShut)throw new s(`EPIPE`);return M(()=>n.write(e,t))}poll(){if(this.state===`listening`)return{readable:this.queue.length>0,writable:!1,hangup:!1};if(this.state!==`connected`||!this.link)return{readable:!1,writable:!1,hangup:!0};let{rx:e,tx:t}=this.link;return{readable:this.readShut||e.readReady,writable:this.writeShut||t.writeReady,hangup:e.writersGone&&t.readersGone}}changed(e){let t=this.changes.wait(e);if(this.state!==`connected`||!this.link)return t;let n=[t,this.link.rx.changed(e),this.link.tx.changed(e)];for(let e of n)e.catch(()=>void 0);return M(()=>Promise.race(n))}bind(e){if(this.state!==`open`||this.local)throw new s(`EINVAL`);if(e.family!==this.domain)throw new s(`EAFNOSUPPORT`);this.local=this.net.bind(this,e),this.bound=!0}listen(e){if(this.state===`connected`)throw new s(`EISCONN`);if(this.state!==`open`&&this.state!==`listening`)throw new s(`EINVAL`);if(!this.local){if(this.domain===`unix`)throw new s(`EINVAL`);this.bind({family:`inet`,host:`0.0.0.0`,port:0})}this.backlog=Math.min(Math.max(e,1),4096),this.state=`listening`}async accept(e,t=!1){for(;;){if(this.state!==`listening`)throw new s(`EINVAL`);let n=this.queue.shift();if(n)return n;if(t)throw new s(`EAGAIN`);await this.changes.wait(e)}}offer(e){return this.state!==`listening`||this.queue.length>=this.backlog?!1:(this.queue.push(e),this.changes.wake(),!0)}connect(t){if(this.state===`connected`)throw new s(`EISCONN`);if(this.state!==`open`)throw new s(`EINVAL`);if(t.family!==this.domain)throw new s(`EAFNOSUPPORT`);let n=this.net.target(t);this.local||(t.family===`inet`?(this.local=this.net.bind(this,{family:`inet`,host:`127.0.0.1`,port:0}),this.bound=!0):this.local={family:`unix`,path:``});let r=new e(this.net,this.domain);if(r.local=t.family===`inet`?{...t,host:F(t.host)}:t,r.peer=this.local,this.peer=r.local,N(this,r),!n.offer(r))throw this.unlink(),r.close(),new s(`ECONNREFUSED`)}unlink(){let e=this.link;e&&(e.rx.closeRead(),e.tx.closeWrite()),this.link=void 0,this.peer=void 0,this.state=`open`}shutdown(e){let{rx:t,tx:n}=this.connection();if(e!==0&&e!==1&&e!==2)throw new s(`EINVAL`);e!==1&&!this.readShut&&(this.readShut=!0,t.closeRead()),e!==0&&!this.writeShut&&(this.writeShut=!0,n.closeWrite()),this.changes.wake()}getOption(e,t){if(e===1)switch(t){case 3:return 1;case 4:return 0;case 30:return+(this.state===`listening`);case 39:return this.domain===`inet`?2:1;case 7:case 8:return this.options.get(`${e}:${t}`)??65536}return this.options.get(`${e}:${t}`)??0}setOption(e,t,n){this.options.set(`${e}:${t}`,n)}close(){let e=this.state;if(this.state=`closed`,e===`listening`)for(let e of this.queue.splice(0))e.close();this.link&&(this.readShut||this.link.rx.closeRead(),this.writeShut||this.link.tx.closeWrite(),this.readShut=!0,this.writeShut=!0),this.bound&&this.local&&this.net.release(this.local,this),this.bound=!1,this.changes.wake()}static pair(t,n){let r=new e(t,n),i=new e(t,n);return r.local=i.local=r.peer=i.peer=n===`inet`?{family:`inet`,host:`127.0.0.1`,port:0}:{family:`unix`,path:``},N(r,i),[r,i]}};function F(e){return e===`0.0.0.0`?`127.0.0.1`:e}function I(e){return e.family===`inet`?`inet:${e.port}`:`unix:${e.path}`}var L=class{bound=new Map;nextEphemeral=A;socket(e){return new P(this,e)}listen(e,t=128){let n=this.socket(e.family);return n.bind(e),n.listen(t),n}connect(e){let t=this.socket(e.family);return t.connect(e),t}bind(e,t){if(t.family===`unix`){if(t.path===``)throw new s(`EINVAL`)}else if(t.host!==`0.0.0.0`&&!j(t.host))throw new s(`EADDRNOTAVAIL`);let n=t.family===`inet`&&t.port===0?{...t,port:this.ephemeral()}:t,r=I(n);if(this.bound.has(r))throw new s(`EADDRINUSE`);return this.bound.set(r,e),n}release(e,t){let n=I(e);this.bound.get(n)===t&&this.bound.delete(n)}target(e){if(e.family===`inet`&&!j(F(e.host)))throw new s(`ENETUNREACH`);let t=this.bound.get(I(e));if(!t?.listening)throw new s(`ECONNREFUSED`);return t}ephemeral(){for(let e=0;e<28232;e++){let e=this.nextEphemeral;if(this.nextEphemeral=e===60999?A:e+1,!this.bound.has(`inet:${e}`))return e}throw new s(`EADDRINUSE`)}};const R=new Map;function z(e){let t=R.get(e);return t||(t=new L,R.set(e,t)),t}function he(e){return e?`${e.kind}:${e.scoopJid??``}`:`local`}const ge=[`sock-open`,`sock-pair`,`sock-bind`,`sock-listen`,`sock-accept`,`sock-connect`,`sock-shutdown`,`sock-name`,`sock-getopt`,`sock-setopt`];function B(e,t){let n=e.get(t).file;if(!(n instanceof P))throw new s(`ENOTSOCK`);return n}const V=e=>e===void 0?{ok:!0,kind:`void`}:{ok:!0,kind:`json`,json:e};async function _e(e,t){let{fds:n,net:r}=t;switch(e.op){case`sock-open`:return V(n.install(new l(r.socket(e.domain)),3));case`sock-pair`:{let[t,i]=P.pair(r,e.domain),a=n.install(new l(t),3);try{return V([a,n.install(new l(i),3)])}catch(e){throw await Promise.resolve(n.close(a)),e}}case`sock-bind`:return B(n,e.fd).bind(e.addr),V();case`sock-listen`:return B(n,e.fd).listen(e.backlog),V();case`sock-accept`:return V(await ye(t,e.fd,e.nonblock));case`sock-connect`:if(B(n,e.fd).connect(e.addr),e.nonblock)throw new s(`EINPROGRESS`);return V();case`sock-shutdown`:return B(n,e.fd).shutdown(e.how),V();case`sock-name`:{let t=B(n,e.fd),r=e.peer?t.peer:t.local;if(e.peer&&!r)throw new s(`ENOTCONN`);return V(r??ve(t.domain))}case`sock-getopt`:return V(B(n,e.fd).getOption(e.level,e.name));case`sock-setopt`:return B(n,e.fd).setOption(e.level,e.name,e.value),V()}}function ve(e){return e===`inet`?{family:`inet`,host:`0.0.0.0`,port:0}:{family:`unix`,path:``}}async function ye(e,t,r){let i=B(e.fds,t),a=!r&&!n(i).readable,o=await i.accept(a?e.blocking():void 0,r);return{fd:e.fds.install(new l(o),3),peer:o.peer}}function be(e,t){let n=t.flags&3,r=n!==1,i=n===1||n===2,a=t.contents===void 0?t.orphan?new Uint8Array:void 0:new Uint8Array(t.contents),o=a?.length??0,c=!1,u=t.position,d=Promise.resolve(),f=e=>{let t=d.then(e);return d=t.catch(()=>void 0),t},p=async()=>{if(!a){try{a=await e.readFileBuffer(t.path)}catch{a=new Uint8Array}o=a.length}return a},m=e=>{let t=a??new Uint8Array;if(t.length>=e)return t;let n=new Uint8Array(Math.max(e,t.length*2,256));return n.set(t.subarray(0,o)),a=n,n},h=async()=>{!c||!a||t.orphan||(c=!1,await e.writeFile(t.path,a.slice(0,o)))};return new l({read:r?e=>f(async()=>{let t=await p(),n=Math.max(0,Math.min(e,o-u)),r=t.slice(u,u+n);return u+=n,r}):void 0,write:i?e=>f(async()=>{await p(),t.flags&1024&&(u=o);let n=m(u+e.length);return u>o&&n.fill(0,o,u),n.set(e,u),u+=e.length,o=Math.max(o,u),c=!0,e.length}):void 0,seek:(e,t)=>f(async()=>{let n=0;if(t===1)n=u;else if(t===2)await p(),n=o;else if(t!==0)throw new s(`EINVAL`);if(n+e<0)throw new s(`EINVAL`);return u=n+e,u}),flush:()=>f(h),close:()=>f(h)})}const xe=new Set([`proc-setpgid`,`proc-getpgid`,`proc-getsid`,`proc-setsid`]);function Se(e){return xe.has(e.op)}function Ce(e){return e.op.startsWith(`sock-`)}function we(e){return e.op.startsWith(`fd-`)}function Te(e){return e.op.startsWith(`tty-`)}const Ee=new Set([`fd-read`,`fd-write`,`fd-close`,`fd-pipe`,`fd-poll`,`fd-open-vfs`,`fd-seek`,`fd-select`,`fd-info`,`tty-get`,`tty-set`,`tty-winsz`,`fd-flush`,`proc-spawn`,`proc-wait`,`proc-captured`,`proc-fork`,`proc-kill`,`proc-exec`,`proc-setpgid`,`proc-getpgid`,`proc-getsid`,`proc-setsid`,`tty-pgrp-get`,`tty-pgrp-set`,`sig-mask`,...ge]);function De(e){let t=e.op;return typeof t==`string`&&Ee.has(t)}var Oe=class{pid;fds;options;exited=!1;children;caught=0;ignored=0;interrupt=new AbortController;execChild;execTermsig;stopped=0;stops=0;resumed=Promise.resolve();wake=()=>{};stateListeners=[];net;constructor(e,t,n={}){this.pid=e,this.fds=t,this.options=n,this.children=new le(t,n.spawner,n.forker),this.children.onChildState=()=>this.signal(x.CHLD)}signal(e){if(this.execChild!==void 0)return Promise.resolve(this.options.kill?.(this.execChild,e)).catch(()=>void 0),e===x.KILL?`terminate`:`forward`;if(e===x.KILL)return`terminate`;if(e===x.CONT&&this.cont(),e===x.STOP)return this.stop(e);let t=C(e);if(this.ignored&t)return`ignore`;if(!(this.caught&t)){let t=S(e);return t===`stop`?this.stop(e):t}this.options.onPending?.(e);let n=this.interrupt;return this.interrupt=new AbortController,n.abort(),`deliver`}onState(e){this.stateListeners.push(e)}stop(e){if(this.stopped)return`stop`;this.stopped=e,this.stops++,this.resumed=new Promise(e=>this.wake=e);let t=this.interrupt;this.interrupt=new AbortController,t.abort();for(let t of this.stateListeners)t(`stopped`,e);return`stop`}cont(){if(this.stopped){this.stopped=0,this.wake();for(let e of this.stateListeners)e(`continued`,x.CONT)}}async syscall(e){for(;;){await this.resumed;let t=this.stops,n=await this.dispatch(e);if(!(!n.ok&&n.errno===`EINTR`&&this.stops!==t&&!this.options.hasPending?.()))return await this.resumed,n}}async dispatch(e){try{return we(e)?await this.fdSyscall(e):Te(e)?this.ttySyscall(e):Se(e)?this.jobSyscall(e):Ce(e)?await this.socketSyscall(e):await this.procSyscall(e)}catch(e){if(e instanceof s||e instanceof k)return{ok:!1,errno:e.code,message:e.code};throw e}}blockingSignal(){if(this.options.hasPending?.())throw new s(`EINTR`);return this.interrupt.signal}async read(e){let t=this.fds.get(e.fd).file,r=e.peek?t.peek:t.read;if(!r)throw new s(e.peek&&t.read?`EOPNOTSUPP`:`EBADF`);if(t.tty&&this.checkForeground(t.tty),e.max<=0)return new Uint8Array;let i=n(t).readable;if(!i&&e.nonblock)throw new s(`EAGAIN`);let a=i?this.interrupt.signal:this.blockingSignal();return r.call(t,Math.max(0,Math.min(e.max,1048576)),a)}async write(e,t,r=!1){let i=this.fds.get(e).file;if(!i.write)throw new s(`EBADF`);if(!n(i).writable){if(r)throw new s(`EAGAIN`);return i.write(t,this.blockingSignal())}return r?i.write(t,AbortSignal.abort()):i.write(t,this.options.hasPending?.()?AbortSignal.abort():this.interrupt.signal)}async fdSyscall(e){switch(e.op){case`fd-read`:return{ok:!0,kind:`bytes`,bytes:await this.read(e)};case`fd-write`:return{ok:!0,kind:`json`,json:await this.write(e.fd,e.body,e.nonblock)};case`fd-close`:return await Promise.resolve(this.fds.close(e.fd)),{ok:!0,kind:`void`};case`fd-pipe`:{let e=d(),t=this.fds.install(e.read,3),n;try{n=this.fds.install(e.write,3)}catch(e){throw await Promise.resolve(this.fds.close(t)),e}return{ok:!0,kind:`json`,json:[t,n]}}case`fd-poll`:return{ok:!0,kind:`json`,json:n(this.fds.get(e.fd).file)};case`fd-open-vfs`:{if(!this.options.fs)throw new k(`ENOSYS`);let t=be(this.options.fs,{path:e.path,flags:e.flags,position:e.position,...e.contents===void 0?{}:{contents:e.contents},...e.orphan?{orphan:!0}:{}});return{ok:!0,kind:`json`,json:this.fds.install(t,3)}}case`fd-info`:return{ok:!0,kind:`json`,json:{tty:this.fds.get(e.fd).file.tty!==void 0}};case`fd-select`:{let{read:t,write:n,timeoutMs:r}=e,i=this.blockingSignal();return{ok:!0,kind:`json`,json:await fe(this.fds,t,n,r,i)}}case`fd-seek`:{let t=this.fds.get(e.fd).file;if(!t.seek)throw new s(`ESPIPE`);return{ok:!0,kind:`json`,json:await t.seek(e.offset,e.whence)}}case`fd-flush`:{let t=this.fds.get(e.fd).file;return t.flush&&await t.flush(),{ok:!0,kind:`void`}}}}ttySyscall(e){let t=this.tty(e.fd),n=this.options.jobs;switch(e.op){case`tty-get`:return{ok:!0,kind:`json`,json:t.tcgets()};case`tty-set`:return t.tcsets(e.termios),{ok:!0,kind:`void`};case`tty-winsz`:return{ok:!0,kind:`json`,json:t.winsize()};case`tty-pgrp-get`:return{ok:!0,kind:`json`,json:n?n.tcgetpgrp(t,this.sid()):this.pid};case`tty-pgrp-set`:if(n)n.tcsetpgrp(this.pid,t,e.pgrp);else if(e.pgrp!==this.pid)throw new s(`EPERM`);return{ok:!0,kind:`void`}}}checkForeground(e){let t=this.options.jobs;if(!t)return;let n=this.pgid();if(t.tcgetpgrp(e,this.sid())!==n)throw this.ignored&C(x.TTIN)?new s(`EIO`):(t.killGroup(n,x.TTIN),new s(`EINTR`))}waitGroup(e){let t=this.options.jobs;if(!t||e>0||e===-1)return;let n=e===0?this.pgid():-e;return e=>(t.pgidOf(e)??this.pgid())===n}pgid(){return this.options.jobs?.getpgid(this.pid,0)??this.pid}sid(){return this.options.jobs?.getsid(this.pid,0)??this.pid}jobSyscall(e){let t=this.options.jobs,n=e=>{if(e!==0&&e!==this.pid)throw new s(`ESRCH`);return this.pid};switch(e.op){case`proc-setpgid`:if(t)t.setpgid(this.pid,e.pid,e.pgid);else if(n(e.pid)!==(e.pgid||this.pid))throw new s(`EPERM`);return{ok:!0,kind:`void`};case`proc-getpgid`:return{ok:!0,kind:`json`,json:t?.getpgid(this.pid,e.pid)??n(e.pid)};case`proc-getsid`:return{ok:!0,kind:`json`,json:t?.getsid(this.pid,e.pid)??n(e.pid)};case`proc-setsid`:if(!t)throw new s(`EPERM`);return{ok:!0,kind:`json`,json:t.setsid(this.pid)}}}tty(e){let t=this.fds.get(e).file.tty;if(!t)throw new s(`ENOTTY`);return t}socketSyscall(e){return this.net??=this.options.net??new L,_e(e,{fds:this.fds,net:this.net,blocking:()=>this.blockingSignal()})}async procSyscall(e){switch(e.op){case`proc-fork`:return{ok:!0,kind:`json`,json:await this.children.fork(e.state)};case`proc-spawn`:{let{file:t,argv:n,env:r,cwd:i,stdio:a}=e;return{ok:!0,kind:`json`,json:await this.children.spawn({file:t,argv:n,env:r,cwd:i},a)}}case`proc-wait`:{let t=e.nohang?this.interrupt.signal:this.blockingSignal(),n={untraced:e.untraced,continued:e.continued,inGroup:this.waitGroup(e.pid)};return{ok:!0,kind:`json`,json:await this.children.wait(e.pid,e.nohang,t,n)}}case`proc-exec`:this.execChild=e.pid,this.options.jobs?.exec(this.pid,e.pid),this.children.watch(e.pid,(e,t)=>e===`stopped`?this.stop(t):this.cont());try{let t=await this.children.wait(e.pid,!1),n=t[1]&127;return n&&(this.execTermsig=n),{ok:!0,kind:`json`,json:t}}finally{this.execChild=void 0}case`proc-kill`:if(e.sig!==0&&!re(e.sig))throw new s(`EINVAL`);if(!await this.options.kill?.(e.pid===0?-this.pgid():e.pid,e.sig))throw new s(`ESRCH`);return{ok:!0,kind:`void`};case`sig-mask`:return this.caught=e.caught,this.ignored=e.ignored,{ok:!0,kind:`void`};case`proc-captured`:return{ok:!0,kind:`bytes`,bytes:this.children.captured(e.pid,e.slot)}}}async exit(){this.exited||(this.exited=!0,await this.fds.closeAll())}};function ke(){return new Worker(new URL(`/assets/process-worker-BSgfWg_O.js`,``+import.meta.url),{type:`module`})}function Ae(e){let t=new SharedArrayBuffer(64+_),n=new Int32Array(t,0,16),r=new Oe(e.pid,e.fds,{spawner:e.spawner,forker:e.forker,fs:e.fs,kill:e.kill,jobs:e.jobs,net:e.net,onPending:e=>void Atomics.or(n,8,C(e)),hasPending:()=>Atomics.load(n,8)!==0}),i=h({fs:e.fs,cwd:e.cwd}),a=(e.createWorker??ke)(),o=v(a,t,i,{dispatch:async e=>De(e)?r.syscall(e):`op`in e&&typeof e.op==`string`&&`path`in e?ee(e):{ok:!1,errno:`ENOSYS`,message:`wasm-realm: no exec yet`}}),s,c=new Promise(e=>s=e),l=!1,u,d=(e,t)=>{l||(l=!0,u=t??r.execTermsig,a.removeEventListener(`message`,f),a.removeEventListener(`error`,p),o.dispose(),g(i),a.terminate(),r.exit().then(()=>s(e),()=>s(e)))},f=t=>{let n=t.data;n?.type===`wasm-process-exit`?d(typeof n.code==`number`?n.code:70):n?.type===`wasm-process-error`&&(e.onError?.(String(n.message)),d(70))},p=t=>{t.preventDefault(),e.onError?.(String(t.message??`worker error`)),d(70)};a.addEventListener(`message`,f),a.addEventListener(`error`,p);let m={type:`wasm-process-init`,pid:e.pid,program:e.program,argv0:e.argv0,args:e.args,env:e.env,cwd:e.cwd,sab:t,...e.fork?{fork:e.fork}:{fds:e.fds.numbers().filter(e=>e>2)}};return a.postMessage(m,e.fork?[e.fork.memory.buffer]:[]),{pid:e.pid,exited:c,kill:(e=137)=>d(e,e>128&&e<160?e-128:void 0),signal:e=>{r.signal(e)===`terminate`&&d(e===x.KILL?137:128+e,e)},termsig:()=>u,onState:e=>r.onState(e)}}var je=class{members=new Map;foreground=new Map;add(e,t,n){let r=t===void 0?void 0:this.members.get(t),i={pid:e,ppid:r?.pid,pgid:r?.pgid??e,sid:r?.sid??e,signal:n};return this.members.set(e,i),i}remove(e){this.members.delete(e)}exec(e,t){let n=this.members.get(t);n&&(n.execParent=e);let r=this.members.get(e);r&&(r.execed=!0)}pgidOf(e){return this.members.get(e)?.pgid}member(e){let t=this.members.get(e);if(!t)throw new s(`ESRCH`);return t}setpgid(e,t,n){let r=this.member(t||e),i=n||r.pid;if(i<0)throw new s(`EINVAL`);let a=this.member(e);if(r.pid!==e){if(r.ppid!==e)throw new s(`ESRCH`);if(r.execed)throw new s(`EACCES`)}if(r.sid!==a.sid||r.pid===r.sid)throw new s(`EPERM`);let o=[...this.members.values()].some(e=>e.pgid===i&&e.sid===r.sid);if(i!==r.pid&&!o)throw new s(`EPERM`);r.pgid=i}getpgid(e,t){return this.member(t||e).pgid}getsid(e,t){return this.member(t||e).sid}setsid(e){let t=this.member(e);if(t.pgid===e)throw new s(`EPERM`);return t.sid=e,t.pgid=e,e}killGroup(e,t){let n=[...this.members.values()].filter(t=>t.pgid===e),r=new Set(n.map(e=>e.pid));if(t!==0)for(let e of n)(e.execParent===void 0||!r.has(e.execParent))&&e.signal(t);return n.length>0}tcgetpgrp(e,t){return this.foreground.get(e)??t}tcsetpgrp(e,t,n){let r=this.member(e);if(![...this.members.values()].some(e=>e.pgid===n&&e.sid===r.sid))throw new s(`EPERM`);this.foreground.set(t,n)}signalForeground(e,t,n){this.killGroup(this.tcgetpgrp(e,t),n)}};const H=new Map,Me=new Map(Object.entries(w).map(([e,t])=>[t,e])),U=/^\/(?:usr\/)?bin\/([^/]+)$/;let Ne=4e4;function W(e){return e.endsWith(`.js`)?`${e.slice(0,-3)}.wasm`:`${e}.wasm`}function Pe(e){return U.exec(e)?.[1]??G(e)}function G(e){return e.slice(e.lastIndexOf(`/`)+1)}function Fe(e){return{exists:t=>e.fs.exists(t),readDir:async t=>(await e.fs.readdir(t)).map(e=>({name:e})),readFile:t=>e.fs.readFile(t)}}function K(e){return p(Fe(e),f)}async function Ie(e,t){let n=await e.fs.stat(t),r=`${t}:${n.size}:${n.mtime.getTime()}`,i=H.get(r);return i||(i=m(t=>e.fs.readFileBuffer(t),t),H.set(r,i),i.catch(()=>H.delete(r))),i}function Le(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return t}function Re(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t}async function ze(e){if(!e.file.read)return new Uint8Array;let t=[],n=0;for(let r=await e.file.read(65536);r.length>0;)t.push(r),n+=r.length,r=await e.file.read(65536);let r=new Uint8Array(n),i=0;for(let e of t)r.set(e,i),i+=e.length;return r}async function q(e,t,n){if(n.length===0||!e.has(t))return;let r=e.get(t).file;try{await r.write?.(n)}catch{}}function J(e,t){return e.has(t)&&e.get(t).file.tty!==void 0}function Be(e){return{...J(e,0)?{}:{[u]:`0`},...J(e,1)?{}:{[o]:`0`}}}function Y(e){return{pid:e.pid,exited:e.exited,termsig:e.termsig,onState:t=>e.onState(t)}}var Ve=class{ctx;processConfig;onError;gate;live=new Set;shellChildren=new Set;wasmByPid=new Map;shellByPid=new Map;installed;jobs=new je;leader;net;constructor(e,t,n,r){this.ctx=e,this.processConfig=t,this.onError=n,this.gate=r,this.net=z(he(t?.owner))}commands(){return this.installed??=K(this.ctx),this.installed}async launch(e){let t,n;try{t=await this.ctx.fs.readFile(e.glue),n=await Ie(this.ctx,e.module),e.signal?.throwIfAborted()}catch(t){throw await e.fds.closeAll(),t}let r=e.defaults?{...e.defaults,...e.env}:e.env;return this.start({...e,env:r,program:{glue:t,module:n}})}start(e){let t=this.processConfig?.processManager,{pid:n}=this.register(`wasm`,[e.argv0,...e.args],e.cwd,e.env,e.ppid),r=Ae({pid:n,program:e.program,argv0:e.argv0,args:e.args,env:e.env,cwd:e.cwd,fds:e.fds,fs:this.ctx.fs,onError:this.onError,spawner:this.spawner(n),forker:this.forker(n,e),kill:(e,t)=>this.kill(e,t),jobs:this.jobs,net:this.net,...e.fork?{fork:e.fork}:{}});this.live.add(r),this.wasmByPid.set(n,r),this.leader??=n,this.jobs.add(n,e.ppid,e=>r.signal(e));let i=t?.onSignal((e,t)=>{e.pid===n&&r.signal(w[t])});return r.exited.then(e=>{this.live.delete(r),this.wasmByPid.delete(n),this.jobs.remove(n),i?.(),this.processConfig&&t?.exit(n,e)}),r}kill(e,t){if(e<0)return this.jobs.killGroup(-e,t);let n=this.wasmByPid.get(e);if(n)return t!==0&&n.signal(t),!0;let r=this.shellByPid.get(e);if(r)return t!==0&&r(t),!0;let i=this.processConfig?.processManager;if(!i)return!1;if(t===0)return i.get(e)!==null;let a=Me.get(t);return a===void 0?!1:this.gate?this.killOutside(e,a):i.signal(e,a)}async killOutside(e,t){if(await this.gate?.(`kill`,[`-${t.slice(3)}`,String(e)],{}))throw new s(`EPERM`);return this.processConfig?.processManager.signal(e,t)??!1}signalAll(e){for(let t of this.live)t.signal(e)}signalTerminal(e,t){this.leader!==void 0&&this.jobs.signalForeground(e,this.leader,t)}killAll(e){for(let t of this.live)t.kill(e);for(let e of this.shellChildren)e.abort()}async resolve(e,t,n){let r=U.exec(e)?.[1]??(e.includes(`/`)?void 0:e);if(r!==void 0){let e=(await this.commands()).get(r);return e&&{glue:e.glue,module:e.wasm,argv0:e.argv0,defaults:e.env}}let i=this.ctx.fs.resolvePath(n,e),a=W(i);if(!(!await this.ctx.fs.exists(i)||!await this.ctx.fs.exists(a)))return{glue:i,module:a,argv0:G(t||e)}}forker(e,t){return async(n,r)=>Y(this.start({...t,cwd:n.cwd??t.cwd,fds:r,ppid:e,fork:n}))}spawner(e){return async(t,n)=>{let r=await this.resolve(t.file,t.argv[0]??t.file,t.cwd);if(!r)return this.runShellChild(t,n,e);let i=await this.gate?.(Pe(t.file),t.argv.slice(1),t.env);return i?this.deniedChild(t,n,e,i):Y(await this.launch({...r,args:t.argv.slice(1),env:t.env,cwd:t.cwd,fds:n,ppid:e}))}}deniedChild(e,t,n,r){let{pid:i}=this.register(`shell`,e.argv,e.cwd,e.env,n),a=(async()=>(await q(t,2,new TextEncoder().encode(r.stderr)),await t.closeAll(),r.exitCode))();return this.processConfig&&a.then(e=>this.processConfig?.processManager.exit(i,e)),{pid:i,exited:a}}runShellChild(e,t,n){let r=this.ctx.exec;if(!r)throw t.closeAll().catch(()=>void 0),new k(`ENOSYS`);let{pid:i,abort:a}=this.register(`shell`,e.argv,e.cwd,e.env,n),o=a??new AbortController,s=()=>o.abort();this.ctx.signal?.addEventListener(`abort`,s,{once:!0}),this.ctx.signal?.aborted&&s();let c,l=e=>{S(e)===`terminate`&&(c??=e,o.abort())};this.shellChildren.add(o),this.shellByPid.set(i,l),this.jobs.add(i,n,l);let u=this.processConfig?.processManager.onSignal((e,t)=>{e.pid===i&&l(w[t])}),d=(async()=>{try{let n=J(t,0),i=t.has(0)&&!n?await ze(t.get(0)):new Uint8Array,a=await r(e.file,{args:e.argv.slice(1),cwd:e.cwd,env:{...e.env,...Be(t)},replaceEnv:!0,stdin:Le(i),stdinKind:`bytes`,signal:o.signal});return await q(t,1,a.stdoutKind===`bytes`?Re(a.stdout):new TextEncoder().encode(a.stdout)),await q(t,2,new TextEncoder().encode(a.stderr)),a.exitCode}catch(n){let r=n instanceof Error?n.message:String(n);return await q(t,2,new TextEncoder().encode(`${e.file}: ${r}\n`)),126}finally{await t.closeAll(),this.shellChildren.delete(o),this.shellByPid.delete(i),this.jobs.remove(i),u?.(),this.ctx.signal?.removeEventListener(`abort`,s)}})();return this.processConfig&&d.then(e=>this.processConfig?.processManager.exit(i,e)),{pid:i,exited:d,termsig:()=>c}}register(e,t,n,r,i){let a=this.processConfig;return a?a.processManager.spawn({kind:e,argv:t,cwd:n,env:r,owner:a.owner,ppid:i??a.getParentPid?.()}):{pid:Ne++}}};const X=`usage: wasm [-t] [--argv0 NAME] [--module PATH] PROGRAM [ARGS...]
3
- wasm --list
4
- wasm --login
5
- `;function He(e){let t={},n=0;for(;;){if(e[n]===`-t`){t.tty=!0,n+=1;continue}if(e[n]===`--login-prompt`){t.login=!0,n+=1;continue}if(e[n]!==`--argv0`&&e[n]!==`--module`)break;let r=e[n+1];if(r===void 0)return;e[n]===`--argv0`?t.argv0=r:t.module=r,n+=2}let r=e[n];if(!(!r||r.startsWith(`-`)))return{...t,program:r,args:e.slice(n+1)}}function Z(e){if(!e)return()=>{};let t=new TextDecoder;return n=>{let r=t.decode(n,{stream:!0});r&&e(r)}}function Q(n,i,a,o){let s=[],c=n.limits?.maxOutputSize??268435456,l=0,u=!1,d=(e,t)=>n=>{if(l+=n.length,l>c){u=!0,i.killAll(1);return}e.push(n),t(n)},f=new e;return f.install(t(Ye(n))),f.install(r(d(s,Z(o)))),f.install(r(d(a,Z(o)))),{fds:f,collected:()=>({stdout:Je(s),note:u?`wasm: output exceeded ${c} bytes; stopped\n`:``}),release:()=>{}}}function Ue(t,n){let r=new ie({write:e=>t.write(e)},e=>n.signalTerminal(r,e));r.setSize(t.cols,t.rows),t.onInput(e=>r.receive(e)),t.onResize((e,t)=>r.resize(e,t));let i=r.file(),a=new e;return a.installAt(0,i),a.installAt(1,i.retain()),a.installAt(2,i.retain()),{fds:a,collected:()=>({stdout:``,note:``}),release:()=>t.release()}}function We(e,t){let n={...e.exportedEnv??Object.fromEntries(e.env)};return t.tty&&(!n.TERM||n.TERM===`dumb`)&&(n.TERM=`xterm-256color`,n.COLORTERM??=`truecolor`),t.login&&(n.PS1??=`\\w $ `,n.PROMPT_COMMAND??=b),n}async function Ge(e,t){return(e.exportedEnv?.SLICC_SHELL??e.env.get(`SLICC_SHELL`))===`just-bash`||!t.terminal||typeof SharedArrayBuffer!=`function`||!(await K(e)).has(`bash`)?{stdout:``,stderr:``,exitCode:125}:$([`-t`,`--login-prompt`,`bash`,`-i`],e,t)}function Ke(e){let t=[...e.values()].sort((e,t)=>e.name.localeCompare(t.name)),n=Math.max(0,...t.map(e=>e.name.length));return t.map(e=>`${e.name.padEnd(n)} ${e.pkg}\n`).join(``)}async function qe(e,t,n){if(n.program.includes(`/`)||await e.fs.exists(e.fs.resolvePath(e.cwd,n.program)))return n;let r=(await t.commands()).get(n.program);return r?{...n,argv0:n.argv0??r.argv0,module:n.module??r.wasm,program:r.glue,defaults:r.env}:n}function Je(e){let t=``;for(let n of e)for(let e=0;e<n.length;e+=32768)t+=String.fromCharCode(...n.subarray(e,e+32768));return t}function Ye(e){let t=y(e.stdin),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e)&255;return n}function Xe(e,t){return e.defaults??t.defaults}async function $(e,t,n={}){let{processConfig:r,terminal:i}=n;if(e[0]===`--help`||e[0]===`-h`)return{stdout:X,stderr:``,exitCode:0};if(e[0]===`--login`&&e.length===1)return Ge(t,n);if(e[0]===`--list`&&e.length===1)return{stdout:Ke(await K(t)),stderr:``,exitCode:0};let a=He(e);if(!a)return{stdout:``,stderr:X,exitCode:2};if(typeof SharedArrayBuffer!=`function`)return{stdout:``,stderr:`wasm: the wasm realm needs SharedArrayBuffer, which this page lacks (it is not cross-origin isolated)
6
- `,exitCode:126};let o=[],s=e=>{o.push(new TextEncoder().encode(`wasm: ${e}\n`))},c=new Ve(t,r,e=>s(e),n.gate),l=await qe(t,c,a),u=t.fs.resolvePath(t.cwd,l.program),d;if(l.tty){let e=i?.lease();if(!e)return{stdout:``,stderr:`wasm: -t: no terminal to lend (only the panel terminal has one)
7
- `,exitCode:1};d=Ue(e,c),s=t=>e.write(new TextEncoder().encode(`wasm: ${t}\r\n`))}else{d=Q(t,c,o,n.onOutput);for(let[e,t]of n.fds??[])d.fds.installAt(e,t)}let{fds:f}=d,p;try{p=await c.launch({glue:u,module:l.module?t.fs.resolvePath(t.cwd,l.module):W(u),argv0:l.argv0??u.slice(u.lastIndexOf(`/`)+1).replace(/\.js$/,``),args:l.args,env:We(t,l),defaults:Xe(l,n),cwd:t.cwd,fds:f,signal:t.signal})}catch(e){if(d.release(),t.signal?.aborted)return{stdout:``,stderr:``,exitCode:130};let n=e instanceof Error?e.message:String(e);return{stdout:``,stderr:`wasm: ${l.program}: ${n}\n`,exitCode:127}}let m=()=>c.killAll(130);t.signal?.addEventListener(`abort`,m,{once:!0}),t.signal?.aborted&&m();try{let e=await p.exited,{stdout:t,note:n}=d.collected();return n&&o.push(new TextEncoder().encode(n)),{stdout:t,stderr:new TextDecoder().decode(Ze(o)),exitCode:e,stdoutKind:`bytes`}}finally{d.release(),t.signal?.removeEventListener(`abort`,m)}}function Ze(e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}export{$ as runWasmCommand};
@@ -1 +0,0 @@
1
- function e(){return{version:`6.209.0`,releasedAt:`2026-09-28T17:29:11Z`,buildId:`6.209.0-muliv4vl`}}let t=null;function n(e){t=e}function r(){return t}export{e as n,n as r,r as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./wc-onboarding-DGarUiE6.js";export{e as hasOnboardingFinalLickInHistory};