sliccy 6.205.0 → 6.207.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 (154) hide show
  1. package/README.md +1 -1
  2. package/dist/ui/.vite/manifest.json +193 -193
  3. package/dist/ui/assets/{SKILL-BGRdm7JZ.js → SKILL-kWTcra1l.js} +1 -1
  4. package/dist/ui/assets/{account-store-CR1tpjRe.js → account-store-CZObVacV.js} +1 -1
  5. package/dist/ui/assets/{account-store-vVt5dgyT.js → account-store-DtBSYsdJ.js} +1 -1
  6. package/dist/ui/assets/{adobe-C-3djPsV.js → adobe-ClVrBbcv.js} +1 -1
  7. package/dist/ui/assets/{adobe-DNlEsClO.js → adobe-DmUdI-3Q.js} +1 -1
  8. package/dist/ui/assets/{agent-panels-BXeGcG-K.js → agent-panels-xSXsKpar.js} +1 -1
  9. package/dist/ui/assets/{almost-bash-shell-headless-C1w88zVh.js → almost-bash-shell-headless-CCHkdpS_.js} +34 -34
  10. package/dist/ui/assets/{apply-layout-BVbzuYg4.js → apply-layout-C7P7eCzZ.js} +1 -1
  11. package/dist/ui/assets/{apps-cnunGg6q.js → apps-oep1vptP.js} +1 -1
  12. package/dist/ui/assets/{azure-openai-COPzt-Bi.js → azure-openai-58UgFkTz.js} +1 -1
  13. package/dist/ui/assets/{azure-openai-DK1su1Fg.js → azure-openai-HEUWuICd.js} +1 -1
  14. package/dist/ui/assets/{backend-hostfs-Be2tl0ka.js → backend-hostfs-Bs80Xmvp.js} +1 -1
  15. package/dist/ui/assets/{cdp-DbENHTOk.js → cdp-DzgR04ke.js} +1 -1
  16. package/dist/ui/assets/{cerebras-DOJkel82.js → cerebras-1Pn3oNRT.js} +1 -1
  17. package/dist/ui/assets/{cerebras-BGWwtnmd.js → cerebras-ByEAVUKQ.js} +1 -1
  18. package/dist/ui/assets/{composer-speech-DuQoahow.js → composer-speech-CPJ3SKBf.js} +1 -1
  19. package/dist/ui/assets/{connect-surface-ak7_OmuN.js → connect-surface-z0MMxjI_.js} +1 -1
  20. package/dist/ui/assets/{directed-approval-CpLTYEiN.js → directed-approval-JnRbaK4R.js} +1 -1
  21. package/dist/ui/assets/{emscripten-vfs-hook-VNEth_cW.js → emscripten-vfs-hook-DmUNbJnY.js} +1 -1
  22. package/dist/ui/assets/{ensure-speech-assets-DaFxSmfj.js → ensure-speech-assets-I5X4fqp5.js} +1 -1
  23. package/dist/ui/assets/{frozen-archive-writer-wfJcgcSD.js → frozen-archive-writer-DXdqUFrX.js} +1 -1
  24. package/dist/ui/assets/{fs-k45qNn0I.js → fs-CDh63EUO.js} +2 -2
  25. package/dist/ui/assets/{fs-BgKNqeZL.js → fs-CEBYacYr.js} +1 -1
  26. package/dist/ui/assets/{gelatiere-store-D9Dr8wxi.js → gelatiere-store-Dlt7WQpe.js} +1 -1
  27. package/dist/ui/assets/{gelatiere-unit-BiIX1m6g.js → gelatiere-unit-zpPO_9ug.js} +1 -1
  28. package/dist/ui/assets/{github-auth-fNPWbeaD.js → github-auth-Duz18LOF.js} +1 -1
  29. package/dist/ui/assets/{github-copilot-CBm1wVdd.js → github-copilot-CTLDVoMw.js} +1 -1
  30. package/dist/ui/assets/{github-copilot-B_cGO9rR.js → github-copilot-DogOuaAr.js} +1 -1
  31. package/dist/ui/assets/{github-Bg1DN4Xt.js → github-h_xMpQdU.js} +1 -1
  32. package/dist/ui/assets/{github-install-BBAD-27o.js → github-install-DHq3UdRv.js} +1 -1
  33. package/dist/ui/assets/{github-COq-LQ1j.js → github-sod05lUr.js} +2 -2
  34. package/dist/ui/assets/{github-zip-BoxRD9pe.js → github-zip-x6-qXaa0.js} +1 -1
  35. package/dist/ui/assets/{hear-BhYxbbUb.js → hear-DAIvMvMe.js} +1 -1
  36. package/dist/ui/assets/{help-x5SfaAhK.js → help-D8Lh-asc.js} +1 -1
  37. package/dist/ui/assets/{installer-hToagJWk.js → installer-CHaBcj8e.js} +1 -1
  38. package/dist/ui/assets/{ipk-mamba-DKcMmVZD.js → ipk-mamba-DAaYQA2C.js} +1 -1
  39. package/dist/ui/assets/{js-realm-worker-CqxrpxPI.js → js-realm-worker-C_bWyj4-.js} +2 -2
  40. package/dist/ui/assets/{jsh-executor-DeVkAf2-.js → jsh-executor-DFHJKsFi.js} +2 -2
  41. package/dist/ui/assets/{kernel-worker-CUcx75-b.js → kernel-worker-CDRq6asp.js} +11 -11
  42. package/dist/ui/assets/{lick-ws-bridge-BvRnJv5z.js → lick-ws-bridge-BQZWF_7S.js} +1 -1
  43. package/dist/ui/assets/{lick-ws-bridge-WgdgwnHu.js → lick-ws-bridge-CA-BlKFX.js} +1 -1
  44. package/dist/ui/assets/{live-session-curation-By3q2lH2.js → live-session-curation-Dk_G74f4.js} +1 -1
  45. package/dist/ui/assets/{live-session-snapshot-C5Zv7Gdl.js → live-session-snapshot-CcMHaCq_.js} +1 -1
  46. package/dist/ui/assets/{local-llm-D6Kp9eqb.js → local-llm-Sng_y9p4.js} +1 -1
  47. package/dist/ui/assets/{local-llm-B4GdSPf5.js → local-llm-UzP_n_nK.js} +1 -1
  48. package/dist/ui/assets/{main-CdNASFCn.js → main-CDYj1SCt.js} +3 -3
  49. package/dist/ui/assets/{main-cherry-nt0u2zz2.js → main-cherry-BOtd2Ou_.js} +1 -1
  50. package/dist/ui/assets/{memory-curation-seam-B8YYcRXY.js → memory-curation-seam-BO0KeN_d.js} +1 -1
  51. package/dist/ui/assets/{memory-health-Dc0GVBHj.js → memory-health-Ch7xK_uS.js} +1 -1
  52. package/dist/ui/assets/{memory-write-execute-o4mJ0oG9.js → memory-write-execute-7MzH_Lic.js} +1 -1
  53. package/dist/ui/assets/{merge-folded-cost-into-frozen-BbCmB0bo.js → merge-folded-cost-into-frozen-MAPF0q4Z.js} +1 -1
  54. package/dist/ui/assets/{mount-DZOJTUfv.js → mount-4LexVFef.js} +3 -3
  55. package/dist/ui/assets/{mount-B9DQR1KW.js → mount-Djm91l5y.js} +1 -1
  56. package/dist/ui/assets/{new-session-Cou_DQnC.js → new-session-a-A73I6F.js} +2 -2
  57. package/dist/ui/assets/{oauth-bootstrap-xnJqe5JO.js → oauth-bootstrap-BM4OzMsi.js} +2 -2
  58. package/dist/ui/assets/{onboarding-orchestrator-C0U6RfWQ.js → onboarding-orchestrator-BPczIrJk.js} +1 -1
  59. package/dist/ui/assets/{openai-codex-aEWl8OfZ.js → openai-codex-BZIH-d_c.js} +1 -1
  60. package/dist/ui/assets/{openai-codex-Bhs3yfQA.js → openai-codex-BgPljnUa.js} +1 -1
  61. package/dist/ui/assets/{openrouter-KYCS0zsS.js → openrouter-DnIUVk6B.js} +1 -1
  62. package/dist/ui/assets/{openrouter-DnXZNabI.js → openrouter-DuTh8sQQ.js} +1 -1
  63. package/dist/ui/assets/{openrouter-free-DtdSq3un.js → openrouter-free-D23gfzwI.js} +1 -1
  64. package/dist/ui/assets/{openrouter-free-X7uaf85a.js → openrouter-free-PFpJbeJM.js} +1 -1
  65. package/dist/ui/assets/{openrouter-oauth-DZYDuLyk.js → openrouter-oauth-CNbOd9hL.js} +1 -1
  66. package/dist/ui/assets/{openrouter-oauth-B--BiFOu.js → openrouter-oauth-D-lxIfsh.js} +1 -1
  67. package/dist/ui/assets/{opfs-mount-DQbNhZW5.js → opfs-mount-Bb8wxFGG.js} +1 -1
  68. package/dist/ui/assets/{panel-rpc-handlers-Dcks5l0d.js → panel-rpc-handlers-O5ZGs0x8.js} +2 -2
  69. package/dist/ui/assets/{panelize-shell-D1KnQQWW.js → panelize-shell-DbbBSRXi.js} +1 -1
  70. package/dist/ui/assets/{pi-edit-execution-DanbBSzr.js → pi-edit-execution-C35TtsKH.js} +1 -1
  71. package/dist/ui/assets/{process-worker-6SbuR8Ao.js → process-worker-LBeYRXxi.js} +1 -1
  72. package/dist/ui/assets/{provider-DnAMZGXB.js → provider-BVNQgzVc.js} +2 -2
  73. package/dist/ui/assets/{provider-D4hohFGy.js → provider-DX1TQhKj.js} +1 -1
  74. package/dist/ui/assets/{provider-settings-__YeNjRJ.js → provider-settings-CKH6wHL2.js} +1 -1
  75. package/dist/ui/assets/provider-store-access-BpeinG2F.js +1 -0
  76. package/dist/ui/assets/provider-store-access-JnuY2tcF.js +1 -0
  77. package/dist/ui/assets/{providers-FL5C9aY6.js → providers-3AZvij7_.js} +1 -1
  78. package/dist/ui/assets/{providers-DoTXV3r5.js → providers-B18fRGB_.js} +2 -2
  79. package/dist/ui/assets/{quick-llm-OC4bc3dh.js → quick-llm-CRZGpC9w.js} +1 -1
  80. package/dist/ui/assets/{realm-inprocess-DqtOifsr.js → realm-inprocess-C9k4LuTO.js} +2 -2
  81. package/dist/ui/assets/{realm-unhandled-rejections-4N0KIu2U.js → realm-unhandled-rejections-Bq6RrqqF.js} +1 -1
  82. package/dist/ui/assets/{realm-unhandled-rejections-ig_eEthD.js → realm-unhandled-rejections-CyP1W6Lu.js} +1 -1
  83. package/dist/ui/assets/{recovery-screen-C8aTKRLG.js → recovery-screen-BzD_vxY9.js} +1 -1
  84. package/dist/ui/assets/{remote-terminal-view-BAgloeWg.js → remote-terminal-view-CRNTwa9n.js} +6 -6
  85. package/dist/ui/assets/{restore-DcSaS-9n.js → restore-DnVPxMFu.js} +1 -1
  86. package/dist/ui/assets/{run-DJphWZzU.js → run-BE4pU3Fv.js} +2 -2
  87. package/dist/ui/assets/{run-BUUgCwVj.js → run-BnSdNFHg.js} +1 -1
  88. package/dist/ui/assets/run-CwF1xUUp.js +6 -0
  89. package/dist/ui/assets/{run-CL4z7j-4.js → run-DmPfwWD3.js} +1 -1
  90. package/dist/ui/assets/{run-DPijfRxe.js → run-DsyNYtmO.js} +1 -1
  91. package/dist/ui/assets/{run-DaBb7_kX.js → run-DzZbEopW.js} +1 -1
  92. package/dist/ui/assets/{run-h8JwN9Uz.js → run-yYETfPN0.js} +2 -2
  93. package/dist/ui/assets/{session-command-memory-C5GHavJ9.js → session-command-memory-B3elm785.js} +2 -2
  94. package/dist/ui/assets/{session-jsonl-mipq96Id.js → session-jsonl-0fv9FXNM.js} +1 -1
  95. package/dist/ui/assets/{session-jsonl-CsqJVdVE.js → session-jsonl-B-PhBGtd.js} +1 -1
  96. package/dist/ui/assets/{session-search-index-CmDjilZo.js → session-search-index-Dm6y7YPj.js} +1 -1
  97. package/dist/ui/assets/{setup-feature-flags-remote-Csd-N3Bp.js → setup-feature-flags-remote-CgDq1Ukj.js} +1 -1
  98. package/dist/ui/assets/{setup-model-catalog-BGM5AFYt.js → setup-model-catalog-Dxw09V97.js} +1 -1
  99. package/dist/ui/assets/{setup-sprinkle-exec-BX_Qq-Su.js → setup-sprinkle-exec-D89CZGjr.js} +2 -2
  100. package/dist/ui/assets/{signed-fetch-DGmwSrD3.js → signed-fetch-CHjw0Icg.js} +1 -1
  101. package/dist/ui/assets/{silent-renew-backoff-CbkJb0F5.js → silent-renew-backoff-Cvr9wvb6.js} +1 -1
  102. package/dist/ui/assets/slicc-version-CTaj4hHG.js +1 -0
  103. package/dist/ui/assets/{snapshot-FA196_1L.js → snapshot-Bb69jK_d.js} +1 -1
  104. package/dist/ui/assets/{snapshot-features-B20GWOop.js → snapshot-features-BHDKWMyN.js} +1 -1
  105. package/dist/ui/assets/{soundscape-O0imPbxY.js → soundscape-BjH-_e2Z.js} +1 -1
  106. package/dist/ui/assets/{speak-DkKSCzfz.js → speak-DBlBx7rL.js} +1 -1
  107. package/dist/ui/assets/{sprinkle-manager-CrGmqubf.js → sprinkle-manager-D1P5gQuY.js} +1 -1
  108. package/dist/ui/assets/{sprinkle-renderer-BDLg4NyU.js → sprinkle-renderer-oKo8DA2K.js} +1 -1
  109. package/dist/ui/assets/{state-Cd4yHZYs.js → state-CHkXb4dR.js} +1 -1
  110. package/dist/ui/assets/{store-DaWRfmp8.js → store-Cfov7JyI.js} +1 -1
  111. package/dist/ui/assets/{store-DTsNLZ_t.js → store-DP1mJ7Ba.js} +1 -1
  112. package/dist/ui/assets/{sudo-BrE3Fm84.js → sudo-CZMj01km.js} +1 -1
  113. package/dist/ui/assets/{supervisor-BDhgxhL9.js → supervisor-DuJEvzsr.js} +1 -1
  114. package/dist/ui/assets/{sync-dialog-BY5TAHQx.js → sync-dialog-Be0Obt1d.js} +1 -1
  115. package/dist/ui/assets/{terminal-session-client-ADzaWGFd.js → terminal-session-client-DmE-iBjP.js} +1 -1
  116. package/dist/ui/assets/{transformers-env-B5mtz-h-.js → transformers-env-vto5WaAm.js} +1 -1
  117. package/dist/ui/assets/{tray-leader-B93LxyWl.js → tray-leader-ykWM8Fi7.js} +1 -1
  118. package/dist/ui/assets/{tray-leave-runtime-BssEm3rK.js → tray-leave-runtime-ZWqd94fG.js} +1 -1
  119. package/dist/ui/assets/{tray-sidecar-Up5s5NY2.js → tray-sidecar-Cn17vJv-.js} +1 -1
  120. package/dist/ui/assets/{upgrade-detection-CTooyfOW.js → upgrade-detection-C-BSEeBZ.js} +1 -1
  121. package/dist/ui/assets/{upskill-lick-skip-AANOxkBY.js → upskill-lick-skip-Cf9rRkTg.js} +1 -1
  122. package/dist/ui/assets/{voice-reply-Bp8nxvsS.js → voice-reply-DWko_ei2.js} +1 -1
  123. package/dist/ui/assets/{wc-attach-CSqvs9Q4.js → wc-attach-CgZkFKkU.js} +2 -2
  124. package/dist/ui/assets/{wc-browser-DJseIdjh.js → wc-browser-CulugCNj.js} +1 -1
  125. package/dist/ui/assets/{wc-computers-CEn09_vs.js → wc-computers-BQGkv7N7.js} +1 -1
  126. package/dist/ui/assets/{wc-detached-CcToFKKn.js → wc-detached-C05FNNj2.js} +1 -1
  127. package/dist/ui/assets/{wc-extension-BrqSsxi6.js → wc-extension-lX7a-dhm.js} +2 -2
  128. package/dist/ui/assets/{wc-follower-oauth-CQRby9kg.js → wc-follower-oauth-DUQhyOIg.js} +1 -1
  129. package/dist/ui/assets/{wc-follower-DFSY3RuK.js → wc-follower-pv01QHT8.js} +3 -3
  130. package/dist/ui/assets/{wc-gelatiere-CnwIBtc9.js → wc-gelatiere-DpwfQjzx.js} +1 -1
  131. package/dist/ui/assets/{wc-live-CgamA9u4.js → wc-live-D9YBfmTg.js} +5 -5
  132. package/dist/ui/assets/{wc-nav-qkHh3_PU.js → wc-nav-CnsnHBNd.js} +2 -2
  133. package/dist/ui/assets/{wc-onboarding-BUTW4cdu.js → wc-onboarding-Dfg9dNiY.js} +2 -2
  134. package/dist/ui/assets/{wc-permissions-C6FScNhP.js → wc-permissions-DdHgzJHd.js} +2 -2
  135. package/dist/ui/assets/{wc-placeholder-jQ7tMbX7.js → wc-placeholder-Ewl2SlDo.js} +3 -3
  136. package/dist/ui/assets/{wc-secret-request-BE2I2PCI.js → wc-secret-request-DbALOoPH.js} +1 -1
  137. package/dist/ui/assets/{wc-settings-PN3no8XP.js → wc-settings-CNemZn5P.js} +3 -3
  138. package/dist/ui/assets/{wc-shell-DlWqlDq7.js → wc-shell-cQrcvipC.js} +3 -3
  139. package/dist/ui/assets/{wc-shortcut-config-7nav61IK.js → wc-shortcut-config-WIQrLq5q.js} +1 -1
  140. package/dist/ui/assets/{wc-sprinkles-D6JZVQpA.js → wc-sprinkles-B_R2SYQj.js} +2 -2
  141. package/dist/ui/assets/{wc-transcript-export-CrougTNB.js → wc-transcript-export-m7Rl1Ool.js} +2 -2
  142. package/dist/ui/assets/{wc-tray-CQu0HXa1.js → wc-tray-gxy8nmRG.js} +4 -4
  143. package/dist/ui/assets/welcome-detection-Bn9erLc8.js +1 -0
  144. package/dist/ui/assets/{whisper-session-B7TCn1ZY.js → whisper-session-CC-Aj_yW.js} +2 -2
  145. package/dist/ui/assets/{xai-grok-gnn5kPEd.js → xai-grok-BwrLvS6e.js} +1 -1
  146. package/dist/ui/assets/{xai-grok-BRPZjULI.js → xai-grok-DgX2T2ZJ.js} +1 -1
  147. package/dist/ui/index.html +3 -3
  148. package/dist/ui/packages/webapp/index.html +3 -3
  149. package/package.json +1 -1
  150. package/dist/ui/assets/provider-store-access-Bpcu-CYD.js +0 -1
  151. package/dist/ui/assets/provider-store-access-Bx6-zgc5.js +0 -1
  152. package/dist/ui/assets/run-D3L57UAi.js +0 -4
  153. package/dist/ui/assets/slicc-version-DBfvxRFY.js +0 -1
  154. package/dist/ui/assets/welcome-detection-BzRTOA4r.js +0 -1
@@ -0,0 +1 @@
1
+ import{n as e}from"./wc-onboarding-Dfg9dNiY.js";export{e as hasOnboardingFinalLickInHistory};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/speak-DkKSCzfz.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/runtime-env-Dlaokqg1.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-B5mtz-h-.js","assets/wc-shell-DlWqlDq7.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-vVt5dgyT.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-DoTXV3r5.js","assets/panel-rpc-D3EPRnmw.js","assets/bedrock-camp-compat-Bz7u6y4g.js","assets/bedrock-camp-extra-models-IBZyfEdZ.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-B5mtz-h-.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-DkKSCzfz.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-DBlBx7rL.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/runtime-env-Dlaokqg1.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-vto5WaAm.js","assets/wc-shell-cQrcvipC.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-DtBSYsdJ.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-B18fRGB_.js","assets/panel-rpc-D3EPRnmw.js","assets/bedrock-camp-compat-Bz7u6y4g.js","assets/bedrock-camp-extra-models-IBZyfEdZ.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-vto5WaAm.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-DBlBx7rL.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{_ as e,r as t}from"./account-store-CR1tpjRe.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-__YeNjRJ.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-CZObVacV.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-CKH6wHL2.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 +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-vVt5dgyT.js";import"./main-CdNASFCn.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-DtBSYsdJ.js";import"./main-CDYj1SCt.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};
@@ -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-CdNASFCn.js"></script>
8
+ <script type="module" crossorigin src="/assets/main-CDYj1SCt.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-DoTXV3r5.js">
34
+ <link rel="modulepreload" crossorigin href="/assets/providers-B18fRGB_.js">
35
35
  <link rel="modulepreload" crossorigin href="/assets/panel-rpc-D3EPRnmw.js">
36
36
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-compat-Bz7u6y4g.js">
37
37
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-extra-models-IBZyfEdZ.js">
38
38
  <link rel="modulepreload" crossorigin href="/assets/claude-model-version-DZmbk9E2.js">
39
- <link rel="modulepreload" crossorigin href="/assets/account-store-vVt5dgyT.js">
39
+ <link rel="modulepreload" crossorigin href="/assets/account-store-DtBSYsdJ.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-CdNASFCn.js"></script>
8
+ <script type="module" crossorigin src="/assets/main-CDYj1SCt.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-DoTXV3r5.js">
34
+ <link rel="modulepreload" crossorigin href="/assets/providers-B18fRGB_.js">
35
35
  <link rel="modulepreload" crossorigin href="/assets/panel-rpc-D3EPRnmw.js">
36
36
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-compat-Bz7u6y4g.js">
37
37
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-extra-models-IBZyfEdZ.js">
38
38
  <link rel="modulepreload" crossorigin href="/assets/claude-model-version-DZmbk9E2.js">
39
- <link rel="modulepreload" crossorigin href="/assets/account-store-vVt5dgyT.js">
39
+ <link rel="modulepreload" crossorigin href="/assets/account-store-DtBSYsdJ.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.205.0",
3
+ "version": "6.207.0",
4
4
  "description": "Browser-based coding agent with thin CLI server",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- import{t as e}from"./store-DTsNLZ_t.js";import"./provider-D4hohFGy.js";export{e as readMcpAuthEntries};
@@ -1 +0,0 @@
1
- import{t as e}from"./provider-DnAMZGXB.js";export{e as readMcpAuthEntries};
@@ -1,4 +0,0 @@
1
- import{r as e}from"./global-prefix-DqCuANmV.js";import{r as t}from"./wasm-programs-h3UCRQyB.js";import{t as n}from"./wasm-compiler-Ct7QZURL.js";import{S as r,w as i,x as a}from"./sync-exec-dispatch-BwrIjhDd.js";import{t as o}from"./sync-sab-wire-D_d0fd3b.js";import{t as s}from"./sync-sab-responder-Bfd9S0pw.js";import{i as c}from"./just-bash-compat-B-SPHuh_.js";var l=class extends Error{code;constructor(e){super(e),this.code=e}},u=class{capacity;chunks=[];size=0;readers=0;writers=0;waiters=[];constructor(e=65536){this.capacity=e}get buffered(){return this.size}get readReady(){return this.size>0||this.writers===0}get writeReady(){return this.size<this.capacity||this.readers===0}get writersGone(){return this.writers===0}get readersGone(){return this.readers===0}openRead(){this.readers+=1}openWrite(){this.writers+=1}closeRead(){this.readers>0&&--this.readers,this.readers===0&&(this.chunks=[],this.size=0),this.wake()}closeWrite(){this.writers>0&&--this.writers,this.wake()}async read(e,t){for(;this.size===0;){if(this.writers===0)return new Uint8Array;await this.waitForChange(t)}let n=this.take(Math.min(e,this.size));return this.wake(),n}async write(e,t){let n=0;for(;n<e.length;){if(this.readers===0)throw new l(`EPIPE`);let r=this.capacity-this.size;if(r===0){try{await this.waitForChange(t)}catch(e){if(n>0)return n;throw e}continue}let i=Math.min(r,e.length-n);this.chunks.push(e.slice(n,n+i)),this.size+=i,n+=i,this.wake()}return e.length}take(e){let t=new Uint8Array(e),n=0;for(;n<e;){let r=this.chunks[0],i=Math.min(r.length,e-n);t.set(r.subarray(0,i),n),n+=i,i===r.length?this.chunks.shift():this.chunks[0]=r.subarray(i)}return this.size-=e,t}waitForChange(e){return e?.aborted?Promise.reject(new l(`EINTR`)):new Promise((t,n)=>{let r=()=>{this.waiters=this.waiters.filter(e=>e!==i),n(new l(`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()}},d=class extends Error{code;constructor(e){super(e),this.code=e}};function f(e){return e.poll?.()??{readable:!!e.read,writable:!!e.write,hangup:!1}}var p=class{file;refs=1;constructor(e){this.file=e}retain(){return this.refs+=1,this}release(){if(--this.refs,this.refs===0)return this.file.close()}};function m(e){let t=new u(e);return t.openRead(),t.openWrite(),{read:new p({read:async(e,n)=>{try{return await t.read(e,n)}catch(e){throw e instanceof l?new d(e.code):e}},close:()=>t.closeRead(),poll:()=>({readable:t.readReady,writable:!1,hangup:t.writersGone})}),write:new p({write:async(e,n)=>{try{return await t.write(e,n)}catch(e){throw e instanceof l?new d(e.code):e}},close:()=>t.closeWrite(),poll:()=>({readable:!1,writable:t.writeReady,hangup:t.readersGone})})}}function h(e){let t=0;return new p({read:async n=>{let r=e.subarray(t,t+n);return t+=r.length,r},close:()=>{}})}function g(e){return new p({write:async t=>(e(t.slice()),t.length),close:()=>{}})}function _(){return new p({read:async()=>new Uint8Array,write:async e=>e.length,close:()=>{}})}var v=class e{static MAX_FDS=1024;fds=new Map;get(e){let t=this.fds.get(e);if(!t)throw new d(`EBADF`);return t}has(e){return this.fds.has(e)}install(t,n=0){for(let r=n;r<e.MAX_FDS;r++)if(!this.fds.has(r))return this.fds.set(r,t),r;throw Promise.resolve(t.release()).catch(()=>void 0),new d(`EMFILE`)}installAt(t,n){if(t<0||t>=e.MAX_FDS)throw Promise.resolve(n.release()).catch(()=>void 0),new d(`EBADF`);let r=this.fds.get(t);this.fds.set(t,n),Promise.resolve(r?.release()).catch(()=>void 0)}dup(e,t=0){return this.install(this.get(e).retain(),t)}dup2(e,t){let n=this.get(e);return e!==t&&this.installAt(t,n.retain()),t}close(e){let t=this.get(e);return this.fds.delete(e),t.release()}fork(){let t=new e;for(let[e,n]of this.fds)t.fds.set(e,n.retain());return t}async closeAll(){let e=[...this.fds.values()];this.fds.clear(),await Promise.all(e.map(e=>Promise.resolve(e.release())))}},y=class extends Error{code;constructor(e){super(e),this.code=e}};function b(e){let t=()=>{};return{promise:new Promise((n,r)=>{t=()=>r(new d(`EINTR`)),e?.aborted?t():e?.addEventListener(`abort`,t,{once:!0})}),done:()=>e?.removeEventListener(`abort`,t)}}function x(e){return(e&255)<<8}function S(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 C=class{parentFds;spawner;forker;children=new Map;leftovers=new Map;onChildExit;constructor(e,t,n){this.parentFds=e,this.spawner=t,this.forker=n}async fork(e){if(!this.forker)throw new y(`ENOSYS`);return this.track(e,this.parentFds.fork(),new Map,this.forker)}async spawn(e,t){if(!this.spawner)throw new y(`ENOSYS`);let n=new v,r=new Map;try{for(let[e,i]of t.entries())n.installAt(e,this.openSlot(i,e,r))}catch(e){throw await n.closeAll(),e}return this.track(e,n,r,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,captured:n};return i.exited.then(e=>{a.code=e,this.onChildExit?.()}),this.children.set(i.pid,a),i.pid}openSlot(e,t,n){if(`fd`in e)return this.parentFds.get(e.fd).retain();if(`input`in e)return h(e.input);if(`capture`in e){let e=[];return n.set(t,e),g(t=>e.push(t))}return _()}async wait(e,t,n){let r=e>0?[...this.children].filter(([t])=>t===e):[...this.children];if(r.length===0)throw new d(`ECHILD`);let i=r.find(([,e])=>e.code!==void 0);if(i)return this.reap(i[0],i[1].code);if(t)return[0,0];let a=b(n);try{let[e,t]=await Promise.race([...r.map(([e,t])=>t.exited.then(t=>[e,t])),a.promise]);return this.reap(e,t)}finally{a.done()}}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,x(t)]}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),S(r))}};const w={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},T=new Set([w.CHLD,w.URG,w.WINCH]),E=new Set([w.STOP,w.TSTP,w.TTIN,w.TTOU]);function D(e){return e===w.CONT?`continue`:E.has(e)?`stop`:T.has(e)?`ignore`:`terminate`}function O(e){return Number.isInteger(e)&&e>=1&&e<=31}function k(e){return 1<<e}const A={SIGINT:w.INT,SIGTERM:w.TERM,SIGKILL:w.KILL,SIGSTOP:w.STOP,SIGCONT:w.CONT};function j(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,s=!1,c=t.position,l=Promise.resolve(),u=e=>{let t=l.then(e);return l=t.catch(()=>void 0),t},f=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()=>{!s||!a||t.orphan||(s=!1,await e.writeFile(t.path,a.slice(0,o)))};return new p({read:r?e=>u(async()=>{let t=await f(),n=Math.max(0,Math.min(e,o-c)),r=t.slice(c,c+n);return c+=n,r}):void 0,write:i?e=>u(async()=>{await f(),t.flags&1024&&(c=o);let n=m(c+e.length);return c>o&&n.fill(0,o,c),n.set(e,c),c+=e.length,o=Math.max(o,c),s=!0,e.length}):void 0,seek:(e,t)=>u(async()=>{let n=0;if(t===1)n=c;else if(t===2)await f(),n=o;else if(t!==0)throw new d(`EINVAL`);if(n+e<0)throw new d(`EINVAL`);return c=n+e,c}),flush:()=>u(h),close:()=>u(h)})}function M(e){return e.op.startsWith(`fd-`)}const N=new Set([`fd-read`,`fd-write`,`fd-close`,`fd-pipe`,`fd-poll`,`fd-open-vfs`,`fd-seek`,`fd-flush`,`proc-spawn`,`proc-wait`,`proc-captured`,`proc-fork`,`proc-kill`,`proc-exec`,`sig-mask`]);function P(e){let t=e.op;return typeof t==`string`&&N.has(t)}var F=class{pid;fds;options;exited=!1;children;caught=0;ignored=0;interrupt=new AbortController;execChild;constructor(e,t,n={}){this.pid=e,this.fds=t,this.options=n,this.children=new C(t,n.spawner,n.forker),this.children.onChildExit=()=>this.signal(w.CHLD)}signal(e){if(this.execChild!==void 0)return this.options.kill?.(this.execChild,e),e===w.KILL?`terminate`:`forward`;if(e===w.KILL)return`terminate`;let t=k(e);if(this.ignored&t)return`ignore`;if(!(this.caught&t))return D(e);this.options.onPending?.(e);let n=this.interrupt;return this.interrupt=new AbortController,n.abort(),`deliver`}async syscall(e){try{return M(e)?await this.fdSyscall(e):await this.procSyscall(e)}catch(e){if(e instanceof d||e instanceof y)return{ok:!1,errno:e.code,message:e.code};throw e}}async fdSyscall(e){switch(e.op){case`fd-read`:{let t=this.fds.get(e.fd).file;if(!t.read)throw new d(`EBADF`);let n=Math.max(0,Math.min(e.max,1048576));return{ok:!0,kind:`bytes`,bytes:await t.read(n,this.interrupt.signal)}}case`fd-write`:{let t=this.fds.get(e.fd).file;if(!t.write)throw new d(`EBADF`);return{ok:!0,kind:`json`,json:await t.write(e.body,this.interrupt.signal)}}case`fd-close`:return await Promise.resolve(this.fds.close(e.fd)),{ok:!0,kind:`void`};case`fd-pipe`:{let e=m(),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:f(this.fds.get(e.fd).file)};case`fd-open-vfs`:{if(!this.options.fs)throw new y(`ENOSYS`);let t=j(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-seek`:{let t=this.fds.get(e.fd).file;if(!t.seek)throw new d(`ESPIPE`);return{ok:!0,kind:`json`,json:await t.seek(e.offset,e.whence)}}case`fd-flush`:{let t=this.fds.get(e.fd).file;return t.flush&&await t.flush(),{ok:!0,kind:`void`}}}}async 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`:return{ok:!0,kind:`json`,json:await this.children.wait(e.pid,e.nohang,this.interrupt.signal)};case`proc-exec`:this.execChild=e.pid;try{return{ok:!0,kind:`json`,json:await this.children.wait(e.pid,!1)}}finally{this.execChild=void 0}case`proc-kill`:if(e.sig!==0&&!O(e.sig))throw new d(`EINVAL`);if(!this.options.kill?.(e.pid,e.sig))throw new d(`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 I(){return new Worker(new URL(`/assets/process-worker-6SbuR8Ao.js`,``+import.meta.url),{type:`module`})}function L(e){let t=new SharedArrayBuffer(64+o),n=new Int32Array(t,0,16),c=new F(e.pid,e.fds,{spawner:e.spawner,forker:e.forker,fs:e.fs,kill:e.kill,onPending:e=>void Atomics.or(n,8,k(e))}),l=r({fs:e.fs,cwd:e.cwd}),u=(e.createWorker??I)(),d=s(u,t,l,{dispatch:async e=>P(e)?c.syscall(e):`op`in e&&typeof e.op==`string`&&`path`in e?a(e):{ok:!1,errno:`ENOSYS`,message:`wasm-realm: no exec yet`}}),f,p=new Promise(e=>f=e),m=!1,h=e=>{m||(m=!0,u.removeEventListener(`message`,g),u.removeEventListener(`error`,_),d.dispose(),i(l),u.terminate(),c.exit().then(()=>f(e),()=>f(e)))},g=t=>{let n=t.data;n?.type===`wasm-process-exit`?h(typeof n.code==`number`?n.code:70):n?.type===`wasm-process-error`&&(e.onError?.(String(n.message)),h(70))},_=t=>{e.onError?.(String(t.message??`worker error`)),h(70)};u.addEventListener(`message`,g),u.addEventListener(`error`,_);let v={type:`wasm-process-init`,pid:e.pid,program:e.program,argv0:e.argv0,args:e.args,env:e.env,cwd:e.cwd,sab:t,...e.fork?{fork:e.fork}:{}};return u.postMessage(v,e.fork?[e.fork.memory.buffer]:[]),{pid:e.pid,exited:p,kill:(e=137)=>h(e),signal:e=>{c.signal(e)===`terminate`&&h(e===w.KILL?137:128+e)}}}const R=new Map,z=new Map(Object.entries(A).map(([e,t])=>[t,e])),B=/^\/(?:usr\/)?bin\/([^/]+)$/;let V=4e4;function H(e){return e.endsWith(`.js`)?`${e.slice(0,-3)}.wasm`:`${e}.wasm`}function U(e){return e.slice(e.lastIndexOf(`/`)+1)}function W(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 G(n){return t(W(n),e)}async function K(e,t){let r=await e.fs.stat(t),i=`${t}:${r.size}:${r.mtime.getTime()}`,a=R.get(i);return a||(a=n(t=>e.fs.readFileBuffer(t),t),R.set(i,a),a.catch(()=>R.delete(i))),a}function q(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return t}function J(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 Y(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 X(e,t,n){if(n.length===0||!e.has(t))return;let r=e.get(t).file;try{await r.write?.(n)}catch{}}var Z=class{ctx;processConfig;onError;live=new Set;shellChildren=new Set;wasmByPid=new Map;shellByPid=new Map;installed;constructor(e,t,n){this.ctx=e,this.processConfig=t,this.onError=n}commands(){return this.installed??=G(this.ctx),this.installed}async launch(e){let t,n;try{t=await this.ctx.fs.readFile(e.glue),n=await K(this.ctx,e.module),e.signal?.throwIfAborted()}catch(t){throw await e.fds.closeAll(),t}return this.start({...e,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=L({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),...e.fork?{fork:e.fork}:{}});this.live.add(r),this.wasmByPid.set(n,r);let i=t?.onSignal((e,t)=>{e.pid===n&&r.signal(A[t])});return r.exited.then(e=>{this.live.delete(r),this.wasmByPid.delete(n),i?.(),this.processConfig&&t?.exit(n,e)}),r}kill(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&&D(t)===`terminate`&&r.abort(),!0;let i=this.processConfig?.processManager;if(!i)return!1;if(t===0)return i.get(e)!==null;let a=z.get(t);return a!==void 0&&i.signal(e,a)}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=B.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}}let i=this.ctx.fs.resolvePath(n,e),a=H(i);if(!(!await this.ctx.fs.exists(i)||!await this.ctx.fs.exists(a)))return{glue:i,module:a,argv0:U(t||e)}}forker(e,t){return async(n,r)=>{let i=this.start({...t,cwd:n.cwd??t.cwd,fds:r,ppid:e,fork:n});return{pid:i.pid,exited:i.exited}}}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.launch({...r,args:t.argv.slice(1),env:t.env,cwd:t.cwd,fds:n,ppid:e});return{pid:i.pid,exited:i.exited}}}runShellChild(e,t,n){let r=this.ctx.exec;if(!r)throw t.closeAll().catch(()=>void 0),new y(`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(),this.shellChildren.add(o),this.shellByPid.set(i,o);let c=(async()=>{try{let n=t.has(0)?await Y(t.get(0)):new Uint8Array,i=await r(e.file,{args:e.argv.slice(1),cwd:e.cwd,env:e.env,replaceEnv:!0,stdin:q(n),stdinKind:`bytes`,signal:o.signal});return await X(t,1,i.stdoutKind===`bytes`?J(i.stdout):new TextEncoder().encode(i.stdout)),await X(t,2,new TextEncoder().encode(i.stderr)),i.exitCode}catch(n){let r=n instanceof Error?n.message:String(n);return await X(t,2,new TextEncoder().encode(`${e.file}: ${r}\n`)),126}finally{await t.closeAll(),this.shellChildren.delete(o),this.shellByPid.delete(i),this.ctx.signal?.removeEventListener(`abort`,s)}})();return this.processConfig&&c.then(e=>this.processConfig?.processManager.exit(i,e)),{pid:i,exited: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:V++}}};const Q=`usage: wasm [--argv0 NAME] [--module PATH] PROGRAM [ARGS...]
2
- wasm --list
3
- `;function $(e){let t={},n=0;for(;e[n]===`--argv0`||e[n]===`--module`;n+=2){let r=e[n+1];if(r===void 0)return;e[n]===`--argv0`?t.argv0=r:t.module=r}let r=e[n];if(!(!r||r.startsWith(`-`)))return{...t,program:r,args:e.slice(n+1)}}function ee(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 te(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?{argv0:n.argv0??r.argv0,module:n.module??r.wasm,program:r.glue,args:n.args}:n}function ne(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 re(e){let t=c(e.stdin),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e)&255;return n}async function ie(e,t,n){if(e[0]===`--help`||e[0]===`-h`)return{stdout:Q,stderr:``,exitCode:0};if(e[0]===`--list`&&e.length===1)return{stdout:ee(await G(t)),stderr:``,exitCode:0};let r=$(e);if(!r)return{stdout:``,stderr:Q,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)
4
- `,exitCode:126};let i=[],a=[],o=new Z(t,n,e=>a.push(new TextEncoder().encode(`wasm: ${e}\n`))),s=await te(t,o,r),c=t.fs.resolvePath(t.cwd,s.program),l=t.limits?.maxOutputSize??268435456,u=0,d=!1,f=e=>t=>{if(u+=t.length,u>l){d=!0,o.killAll(1);return}e.push(t)},p=new v;p.install(h(re(t))),p.install(g(f(i))),p.install(g(f(a)));let m;try{m=await o.launch({glue:c,module:s.module?t.fs.resolvePath(t.cwd,s.module):H(c),argv0:s.argv0??c.slice(c.lastIndexOf(`/`)+1).replace(/\.js$/,``),args:s.args,env:t.exportedEnv??Object.fromEntries(t.env),cwd:t.cwd,fds:p,signal:t.signal})}catch(e){if(t.signal?.aborted)return{stdout:``,stderr:``,exitCode:130};let n=e instanceof Error?e.message:String(e);return{stdout:``,stderr:`wasm: ${s.program}: ${n}\n`,exitCode:127}}let _=()=>o.killAll(130);t.signal?.addEventListener(`abort`,_,{once:!0}),t.signal?.aborted&&_();try{let e=await m.exited;return d&&a.push(new TextEncoder().encode(`wasm: output exceeded ${l} bytes; stopped\n`)),{stdout:ne(i),stderr:new TextDecoder().decode(ae(a)),exitCode:e,stdoutKind:`bytes`}}finally{t.signal?.removeEventListener(`abort`,_)}}function ae(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{ie as runWasmCommand};
@@ -1 +0,0 @@
1
- function e(){return{version:`6.205.0`,releasedAt:`2026-09-28T06:42:15Z`,buildId:`6.205.0-mukvr64t`}}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-BUTW4cdu.js";export{e as hasOnboardingFinalLickInHistory};