sliccy 6.240.2 → 6.240.4

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 (134) hide show
  1. package/dist/ui/.vite/manifest.json +199 -199
  2. package/dist/ui/assets/{account-store-DkttH-BP.js → account-store-BRvILyCO.js} +1 -1
  3. package/dist/ui/assets/{account-store-BZBj_ntG.js → account-store-DoRhbb69.js} +1 -1
  4. package/dist/ui/assets/{adobe-ByBtC69J.js → adobe-Drky4wZE.js} +1 -1
  5. package/dist/ui/assets/{adobe-CVqQJ2x-.js → adobe-Dsm75J6V.js} +1 -1
  6. package/dist/ui/assets/{agent-panels-BVpX6zQ5.js → agent-panels-DpyALWn8.js} +1 -1
  7. package/dist/ui/assets/{almost-bash-shell-headless-HOeKQtgA.js → almost-bash-shell-headless-DItr4WtW.js} +15 -15
  8. package/dist/ui/assets/{apply-layout-C_O6ndKr.js → apply-layout-lM_2NGX1.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-DiqKGUYo.js → azure-openai-DJMI_H2s.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-Z4aqtv7E.js → azure-openai-NcXOfe_j.js} +1 -1
  11. package/dist/ui/assets/{cdp-D0OuKYd5.js → cdp-Bpk5ZlSH.js} +1 -1
  12. package/dist/ui/assets/{cerebras-UwtUgOV6.js → cerebras-BK_hGiR7.js} +1 -1
  13. package/dist/ui/assets/{cerebras-6-gk1Jha.js → cerebras-WevbsRdk.js} +1 -1
  14. package/dist/ui/assets/{composer-speech-QgsQ1IqW.js → composer-speech-DVYlTXOM.js} +1 -1
  15. package/dist/ui/assets/{connect-surface-COrO1h1v.js → connect-surface-AABg0eiW.js} +1 -1
  16. package/dist/ui/assets/{directed-approval-iMn6w3M8.js → directed-approval-B1Xq1UZf.js} +1 -1
  17. package/dist/ui/assets/{emscripten-vfs-hook-_WoXADPd.js → emscripten-vfs-hook-DwCbpF-y.js} +1 -1
  18. package/dist/ui/assets/{frozen-archive-writer-BhgsVjoX.js → frozen-archive-writer-CubIPKq0.js} +1 -1
  19. package/dist/ui/assets/{frozen-archive-writer-CBS7YWrT.js → frozen-archive-writer-DfajHzq3.js} +1 -1
  20. package/dist/ui/assets/{frozen-session-delete-B1-ipujg.js → frozen-session-delete-R0F287hq.js} +1 -1
  21. package/dist/ui/assets/{frozen-session-identity-EbIVZuRz.js → frozen-session-identity-CQoT1dhk.js} +1 -1
  22. package/dist/ui/assets/{frozen-session-identity-CTAIleP4.js → frozen-session-identity-CdMZEv1z.js} +1 -1
  23. package/dist/ui/assets/{gelatiere-unit-BE-OCtHt.js → gelatiere-unit-1g06L_SY.js} +1 -1
  24. package/dist/ui/assets/{github-C1OAynaV.js → github-CJ5TUi5o.js} +1 -1
  25. package/dist/ui/assets/{github-Dhh_Kein.js → github-PrxxrfwI.js} +1 -1
  26. package/dist/ui/assets/{github-copilot-BECMsi8_.js → github-copilot-08tfth_v.js} +1 -1
  27. package/dist/ui/assets/{github-copilot-Hlw3Z0TU.js → github-copilot-D-rS8bi9.js} +1 -1
  28. package/dist/ui/assets/{go-driver-Bl_pd-vs.js → go-driver-BPwIwoNY.js} +1 -1
  29. package/dist/ui/assets/{hear-B0sL5R-Z.js → hear-CLql4-OO.js} +1 -1
  30. package/dist/ui/assets/{js-realm-worker-lw4jlVws.js → js-realm-worker-DgQHhdeC.js} +2 -2
  31. package/dist/ui/assets/{jsh-executor-DZkflzRL.js → jsh-executor-qLuBDi1b.js} +2 -2
  32. package/dist/ui/assets/{kernel-worker-yDR9ykP9.js → kernel-worker-xfcvSHrM.js} +8 -8
  33. package/dist/ui/assets/{lick-ws-bridge-awVQ4bod.js → lick-ws-bridge-BNRm0UHW.js} +1 -1
  34. package/dist/ui/assets/{lick-ws-bridge-D_7Sju9n.js → lick-ws-bridge-BlZ2xI1m.js} +1 -1
  35. package/dist/ui/assets/{live-session-curation-KCnMJq1h.js → live-session-curation-0pP-dKt3.js} +1 -1
  36. package/dist/ui/assets/{live-session-curation-XtShh6w8.js → live-session-curation-BwxozUeP.js} +1 -1
  37. package/dist/ui/assets/{live-session-snapshot-Cl5CEBKO.js → live-session-snapshot-DR7Yl_ht.js} +1 -1
  38. package/dist/ui/assets/{local-llm-BuO74RMi.js → local-llm-B3I2M1uZ.js} +1 -1
  39. package/dist/ui/assets/{local-llm-gJaQCXGv.js → local-llm-CzYhZZZb.js} +1 -1
  40. package/dist/ui/assets/{main-CvCAlghs.js → main-Be4W_mNX.js} +3 -3
  41. package/dist/ui/assets/{main-cherry-C829SF3P.js → main-cherry-NkqOhsTG.js} +1 -1
  42. package/dist/ui/assets/{mcp-command-DMHz7PmL.js → mcp-command-Bt6e8qII.js} +9 -9
  43. package/dist/ui/assets/{memory-curation-seam-epGReJuG.js → memory-curation-seam-DOiUWunD.js} +1 -1
  44. package/dist/ui/assets/{memory-health-BYR_Y-0X.js → memory-health-qAwlOxuU.js} +1 -1
  45. package/dist/ui/assets/{memory-write-execute-DT_htd19.js → memory-write-execute-uHiq57KJ.js} +1 -1
  46. package/dist/ui/assets/{merge-folded-cost-into-frozen-DimTAP8-.js → merge-folded-cost-into-frozen-C7IF6khb.js} +1 -1
  47. package/dist/ui/assets/{new-session-D3NIubwl.js → new-session-CbDHn1Jq.js} +2 -2
  48. package/dist/ui/assets/{oauth-bootstrap-dt8ZYlvi.js → oauth-bootstrap-B9pbpRXo.js} +2 -2
  49. package/dist/ui/assets/{onboarding-orchestrator-DB4uV5QM.js → onboarding-orchestrator-DFEzv6dO.js} +1 -1
  50. package/dist/ui/assets/{openai-codex-Cl-z58Kf.js → openai-codex-CMy5FHdk.js} +1 -1
  51. package/dist/ui/assets/{openai-codex-CR-4SKAR.js → openai-codex-D5ccLdiI.js} +1 -1
  52. package/dist/ui/assets/{openrouter-D79_Vd4c.js → openrouter-D_an8MKE.js} +1 -1
  53. package/dist/ui/assets/{openrouter-BNdMnkix.js → openrouter-DcucnV2J.js} +1 -1
  54. package/dist/ui/assets/{openrouter-free-C1-Bj_Xx.js → openrouter-free-CN3tYFjs.js} +1 -1
  55. package/dist/ui/assets/{openrouter-free-CQa1CoO4.js → openrouter-free-Cab1HtYv.js} +1 -1
  56. package/dist/ui/assets/{openrouter-oauth-DOazjMTa.js → openrouter-oauth-CTPjciHV.js} +1 -1
  57. package/dist/ui/assets/{openrouter-oauth-D_I7eEtl.js → openrouter-oauth-C_qwbZwE.js} +1 -1
  58. package/dist/ui/assets/{panel-rpc-handlers-BzU1tjGq.js → panel-rpc-handlers-BMPbzzu-.js} +2 -2
  59. package/dist/ui/assets/{panelize-shell-B0pTufSe.js → panelize-shell-anHXFOtZ.js} +1 -1
  60. package/dist/ui/assets/{pi-edit-execution-CvC4g6ge.js → pi-edit-execution-CzrkCrtn.js} +1 -1
  61. package/dist/ui/assets/process-worker-D--VNpcZ.js +3 -0
  62. package/dist/ui/assets/{provider-D5HnoEAQ.js → provider-B8ZaPKSq.js} +1 -1
  63. package/dist/ui/assets/{provider-BVtwgFuj.js → provider-Di8R2P4w.js} +1 -1
  64. package/dist/ui/assets/{provider-settings-Eedtvqyh.js → provider-settings-hm9r16oZ.js} +1 -1
  65. package/dist/ui/assets/provider-store-access-CFCv8Lq-.js +1 -0
  66. package/dist/ui/assets/provider-store-access-ClgCeqyh.js +1 -0
  67. package/dist/ui/assets/{providers-CR6zPkBA.js → providers-DXeCpDBW.js} +2 -2
  68. package/dist/ui/assets/{providers-CxXqdsb8.js → providers-eKNuJgZV.js} +1 -1
  69. package/dist/ui/assets/{quick-llm-OcogX5yH.js → quick-llm-B0o4T-eR.js} +1 -1
  70. package/dist/ui/assets/{realm-inprocess-D4P5wFOE.js → realm-inprocess-CMrlaABK.js} +2 -2
  71. package/dist/ui/assets/{realm-unhandled-rejections-BcTVMNp-.js → realm-unhandled-rejections-DYaSFCVB.js} +1 -1
  72. package/dist/ui/assets/{realm-unhandled-rejections-CKtowxzG.js → realm-unhandled-rejections-cbeZUNTW.js} +1 -1
  73. package/dist/ui/assets/{recovery-screen-BGirKYu_.js → recovery-screen-BFo4vbSt.js} +1 -1
  74. package/dist/ui/assets/{remote-terminal-view-qc6RzQpT.js → remote-terminal-view-CVJSXMKk.js} +2 -2
  75. package/dist/ui/assets/{restore-BRsw6f-s.js → restore-CLaryFcz.js} +1 -1
  76. package/dist/ui/assets/{run-BpasEHV5.js → run-B88ZYCvC.js} +2 -2
  77. package/dist/ui/assets/{run-Co30Tf9M.js → run-B_j9TU7i.js} +1 -1
  78. package/dist/ui/assets/{run-D4C2w6Ix.js → run-C3zWZ82o.js} +1 -1
  79. package/dist/ui/assets/{run-DW65sPip.js → run-DiQn9-Xh.js} +1 -1
  80. package/dist/ui/assets/{run-CjVzDP7D.js → run-tZnU3VbE.js} +2 -2
  81. package/dist/ui/assets/{session-command-memory-XnFNRIFA.js → session-command-memory-DgYVRLd1.js} +2 -2
  82. package/dist/ui/assets/{session-jsonl-DO6bKeXA.js → session-jsonl-BYUOPPsO.js} +1 -1
  83. package/dist/ui/assets/{session-jsonl-CrcMW8fx.js → session-jsonl-CA-9wJyg.js} +1 -1
  84. package/dist/ui/assets/{session-search-index-CeQkxdD7.js → session-search-index-CFAXdkMt.js} +1 -1
  85. package/dist/ui/assets/{setup-feature-flags-remote-BSbLoDdK.js → setup-feature-flags-remote-DcdyVXQm.js} +1 -1
  86. package/dist/ui/assets/{setup-model-catalog-DKaFLDA2.js → setup-model-catalog-BM8Fs8zz.js} +1 -1
  87. package/dist/ui/assets/{silent-renew-backoff-JpXc1wkl.js → silent-renew-backoff-1LZF3TTO.js} +1 -1
  88. package/dist/ui/assets/slicc-version-6GfXfag4.js +1 -0
  89. package/dist/ui/assets/{soundscape-CD-xcN6Z.js → soundscape-ihQMt0lS.js} +1 -1
  90. package/dist/ui/assets/{speak-DgoChm2i.js → speak-B12a1ExD.js} +1 -1
  91. package/dist/ui/assets/{sprinkle-manager-CDJc_08W.js → sprinkle-manager-C590Ejqq.js} +1 -1
  92. package/dist/ui/assets/{sprinkle-renderer-Dur1ZNnK.js → sprinkle-renderer-BPPq0lNh.js} +1 -1
  93. package/dist/ui/assets/{sudo-DO4cHGWe.js → sudo-DQZhus8c.js} +1 -1
  94. package/dist/ui/assets/{supervisor-DsxjOzXp.js → supervisor-CYMSZmZt.js} +1 -1
  95. package/dist/ui/assets/{sync-dialog-Ca6pboEO.js → sync-dialog-Iw6hbVPP.js} +1 -1
  96. package/dist/ui/assets/{transformers-env-lnsOWAhF.js → transformers-env-P8hUgwNE.js} +1 -1
  97. package/dist/ui/assets/{tray-leader-IzNrTl6C.js → tray-leader-DBg8Z9f5.js} +1 -1
  98. package/dist/ui/assets/{tray-leave-runtime-C1DwCeQz.js → tray-leave-runtime-BMf2sD75.js} +1 -1
  99. package/dist/ui/assets/{tray-sidecar-DyqniZfp.js → tray-sidecar-kdDiMv17.js} +1 -1
  100. package/dist/ui/assets/{upgrade-detection-GSR1EuFa.js → upgrade-detection-Daf65WMj.js} +1 -1
  101. package/dist/ui/assets/{voice-reply-BaAuLq60.js → voice-reply-FQ8ThLKI.js} +1 -1
  102. package/dist/ui/assets/{wasi-runtime-BBxEcrtW.js → wasi-runtime-BScRhhLA.js} +1 -1
  103. package/dist/ui/assets/{wc-attach-sJ3NMqHQ.js → wc-attach-I--UEuWy.js} +2 -2
  104. package/dist/ui/assets/{wc-browser-u5uzxk-d.js → wc-browser-rGItoq1v.js} +1 -1
  105. package/dist/ui/assets/{wc-computers-BX1yCXPi.js → wc-computers-0MHREGO-.js} +1 -1
  106. package/dist/ui/assets/{wc-detached-U-XIb2f6.js → wc-detached-CGw5M2-z.js} +1 -1
  107. package/dist/ui/assets/{wc-extension-BgC75srq.js → wc-extension-CwRZbYT8.js} +2 -2
  108. package/dist/ui/assets/{wc-follower-C6KuLED-.js → wc-follower-DgTsADgB.js} +3 -3
  109. package/dist/ui/assets/{wc-follower-oauth-DsNONUfK.js → wc-follower-oauth-BBbyx94D.js} +1 -1
  110. package/dist/ui/assets/{wc-gelatiere-C1LMmmP-.js → wc-gelatiere-B2k1ogJb.js} +1 -1
  111. package/dist/ui/assets/{wc-live-BvTlZWIq.js → wc-live-C0oYhsdQ.js} +5 -5
  112. package/dist/ui/assets/{wc-nav-DAZqGqhf.js → wc-nav-B2Z8ghOG.js} +2 -2
  113. package/dist/ui/assets/{wc-onboarding-Cf7ATuAZ.js → wc-onboarding-Blc6OEVq.js} +2 -2
  114. package/dist/ui/assets/{wc-permissions-BfNzwBXu.js → wc-permissions-DMseX75J.js} +2 -2
  115. package/dist/ui/assets/{wc-placeholder-73ZpUgXT.js → wc-placeholder-CH5Ond1q.js} +3 -3
  116. package/dist/ui/assets/{wc-secret-request-BztOdnag.js → wc-secret-request-BPQSBy2o.js} +1 -1
  117. package/dist/ui/assets/{wc-settings-ClXzlz1S.js → wc-settings-C9C4tf2p.js} +3 -3
  118. package/dist/ui/assets/{wc-shell-BBeNiS8R.js → wc-shell-BK6ot76g.js} +3 -3
  119. package/dist/ui/assets/{wc-shortcut-config-DNDBw_BA.js → wc-shortcut-config-C_pOF3GD.js} +1 -1
  120. package/dist/ui/assets/{wc-sprinkles-ClXMSwxA.js → wc-sprinkles-D8vRvB-H.js} +2 -2
  121. package/dist/ui/assets/{wc-transcript-export-APmcHVyY.js → wc-transcript-export-D0hlIyNy.js} +2 -2
  122. package/dist/ui/assets/{wc-tray-B9Wksuuv.js → wc-tray-5BEb-6CP.js} +4 -4
  123. package/dist/ui/assets/welcome-detection-CA7UsMvM.js +1 -0
  124. package/dist/ui/assets/{whisper-session-Bd6DyWgL.js → whisper-session-ClZ5HnMU.js} +2 -2
  125. package/dist/ui/assets/{xai-grok-CKLvBVjv.js → xai-grok-BNWGJpIF.js} +1 -1
  126. package/dist/ui/assets/{xai-grok-ummZtHNw.js → xai-grok-CJgmWpFT.js} +1 -1
  127. package/dist/ui/index.html +3 -3
  128. package/dist/ui/packages/webapp/index.html +3 -3
  129. package/package.json +1 -1
  130. package/dist/ui/assets/process-worker-B_jMhtwi.js +0 -3
  131. package/dist/ui/assets/provider-store-access-Cb_QGFws.js +0 -1
  132. package/dist/ui/assets/provider-store-access-DpnMfiJL.js +0 -1
  133. package/dist/ui/assets/slicc-version-BfDpFkW3.js +0 -1
  134. package/dist/ui/assets/welcome-detection-CjuV_cig.js +0 -1
@@ -0,0 +1 @@
1
+ import{n as e}from"./wc-onboarding-Blc6OEVq.js";export{e as hasOnboardingFinalLickInHistory};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/speak-DgoChm2i.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/runtime-env-Dlaokqg1.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-lnsOWAhF.js","assets/wc-shell-BBeNiS8R.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-BZBj_ntG.js","assets/core-BFRZk2b-.js","assets/compat-BAGLwgqY.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DHpsqCCC.js","assets/libesm-BypnjKEL.js","assets/utf16-clip-CGL7omVm.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CR6zPkBA.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-BJTFywJo.js","assets/wc-shell-WkeczD9x.css","assets/shared-DSEuryGJ.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-lnsOWAhF.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-DgoChm2i.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,41,42,43])).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([44,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-B12a1ExD.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/runtime-env-Dlaokqg1.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-P8hUgwNE.js","assets/wc-shell-BK6ot76g.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-DoRhbb69.js","assets/core-BFRZk2b-.js","assets/compat-BAGLwgqY.js","assets/models-Xc0Gclrk.js","assets/diagnostics-Cag7MsZI.js","assets/env-api-keys-BXRkymgV.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-DHpsqCCC.js","assets/libesm-BypnjKEL.js","assets/utf16-clip-CGL7omVm.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-DXeCpDBW.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-B1oHsbyo.js","assets/bedrock-camp-extra-models-BYrxX19D.js","assets/claude-model-version-DZmbk9E2.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-BJTFywJo.js","assets/wc-shell-WkeczD9x.css","assets/shared-DSEuryGJ.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-P8hUgwNE.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-B12a1ExD.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,41,42,43])).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([44,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-BFRZk2b-.js";import{a as t}from"./diagnostics-Cag7MsZI.js";import{a as n}from"./compat-BAGLwgqY.js";import{c as r,i,r as a,s as o}from"./legacy-api-aliases-BjgG1CsY.js";import{W as s,u as c}from"./account-store-BZBj_ntG.js";import"./main-CvCAlghs.js";import{n as l}from"./pi-transcript-context-miZCMig3.js";import{n as u,r as d}from"./bridge-token-required-DMk2va9k.js";import{n as f,r as p,t as m}from"./pkce-hGf_TEnP.js";import{XaiErrorCode as h,XaiOAuthError as g}from"./xai-grok-errors-bnlIBeu-.js";var _=`https://cli-chat-proxy.grok.com/v1/billing?format=credits`,v=8e3,y=65536,b=1e3;function x(e){return typeof e==`object`&&!!e}function S(e){if(!x(e))return null;let t=x(e.config)?e.config:e,n=t.creditUsagePercent;if(typeof n!=`number`||!Number.isFinite(n))return null;let r=Math.min(b,Math.max(0,n)),i=x(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 C(e,t,n={}){let r=new AbortController,i=setTimeout(()=>r.abort(),n.timeoutMs??v);try{let n=await t(_,{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>y)return null;try{return S(JSON.parse(a))}catch{return null}}finally{clearTimeout(i)}}var w=`xai-grok`,T=`https://auth.x.ai`,E=`${T}/oauth2/authorize`,D=`${T}/oauth2/token`,O=`b1a00492-073a-47ea-816f-4c329264a828`,k=`openid profile email offline_access grok-cli:access api:access`,A=`http://127.0.0.1:56121/callback`,j=`http://127.0.0.1:56121/*`,M=`https://api.x.ai/v1`,N=`grok-4.7`,P=`${w}-openai`;function F(e){if(e.some(e=>e.id===N))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:N,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 I(){return F(e(`xai`))}function L(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 R(e){let t=I(),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 "${N}"`),n=t.find(e=>e.id===N),!n))throw Error(`xAI default model "${N}" 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:M}}async function z(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:A,client_id:O,code_verifier:t}),r=await fetch(D,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new g(`xAI token exchange failed: ${r.status} ${await r.text()}`,h.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new g(`xAI token exchange did not return access_token.`,h.TOKEN_EXCHANGE_INVALID);return i}async function B(e){if(u())return null;try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:O}),n=await fetch(D,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text();return d(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 V(){return c().find(e=>e.providerId===w)}async function H(){let e=V();if(!e?.accessToken)throw new g("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",h.AUTH_MISSING,!0);let t=e.tokenExpiresAt??0;if(t&&Date.now()+6e4<t)return e.accessToken;if(e.refreshToken){let t=await B(e.refreshToken);if(t?.access_token)return await s({providerId:w,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 U(){if(!V()?.accessToken)throw Error(`xAI Grok budget: not signed in`);return C(await H(),fetch)}function W(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:P,provider:w,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 G(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}function K(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e))}async function q(e,t,n,r){try{let o=await H(),s=r.sessionId,c=R(t),u={...r,apiKey:o,headers:G(r.headers,s)},d=c.api===`openai-responses`?i(c,l(n),u):a(c,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){K(n),e.push(W(t,n)),e.end()}}async function J(e,t,n,i){try{let a=await H(),s=i?.sessionId,c=R(t),u={...i,apiKey:a,headers:G(i?.headers,s)},d=c.api===`openai-responses`?r(c,l(n),u):o(c,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){K(n),e.push(W(t,n)),e.end()}}var Y=(e,n,r={})=>{let i=t();return q(i,e,n,r).catch(K),i},X=(e,n,r)=>{let i=t();return J(i,e,n,r).catch(K),i},Z={id:w,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:N,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`,`cli-chat-proxy.grok.com`],getModelIds:()=>I().map(L),getBudgetUsage:U,onOAuthLoginIntercepted:async(e,t,n)=>{let r=f(),i=await m(r),a=p(),o=p(),c=new URL(E);c.searchParams.set(`response_type`,`code`),c.searchParams.set(`client_id`,O),c.searchParams.set(`redirect_uri`,A),c.searchParams.set(`scope`,n?.scopes??k),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:j,onCapture:`close`});if(!l)throw new g(`xAI OAuth login was cancelled or timed out`,h.CALLBACK_TIMEOUT);let u=new URL(l),d=u.searchParams.get(`code`),_=u.searchParams.get(`state`);if(!d)throw new g(`xAI OAuth redirect did not include a code`,h.CODE_MISSING);if(_!==a)throw new g(`xAI OAuth state mismatch — possible CSRF, aborting`,h.STATE_MISMATCH);let v=await z(d,r);await s({providerId:w,accessToken:v.access_token,refreshToken:v.refresh_token,tokenExpiresAt:Date.now()+(v.expires_in??21600)*1e3,baseUrl:M,scopes:v.scope}),t()},onOAuthLogout:async()=>{await s({providerId:w,accessToken:``})},onSilentRenew:async()=>{let e=V();if(!e?.refreshToken)return null;let t=await B(e.refreshToken);return t?.access_token?(await s({providerId:w,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 Q(){n({api:P,stream:Y,streamSimple:X})}export{h as XaiErrorCode,g as XaiOAuthError,Z as config,Q as register};
1
+ import{a as e}from"./core-BFRZk2b-.js";import{a as t}from"./diagnostics-Cag7MsZI.js";import{a as n}from"./compat-BAGLwgqY.js";import{c as r,i,r as a,s as o}from"./legacy-api-aliases-BjgG1CsY.js";import{W as s,u as c}from"./account-store-DoRhbb69.js";import"./main-Be4W_mNX.js";import{n as l}from"./pi-transcript-context-miZCMig3.js";import{n as u,r as d}from"./bridge-token-required-DMk2va9k.js";import{n as f,r as p,t as m}from"./pkce-hGf_TEnP.js";import{XaiErrorCode as h,XaiOAuthError as g}from"./xai-grok-errors-bnlIBeu-.js";var _=`https://cli-chat-proxy.grok.com/v1/billing?format=credits`,v=8e3,y=65536,b=1e3;function x(e){return typeof e==`object`&&!!e}function S(e){if(!x(e))return null;let t=x(e.config)?e.config:e,n=t.creditUsagePercent;if(typeof n!=`number`||!Number.isFinite(n))return null;let r=Math.min(b,Math.max(0,n)),i=x(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 C(e,t,n={}){let r=new AbortController,i=setTimeout(()=>r.abort(),n.timeoutMs??v);try{let n=await t(_,{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>y)return null;try{return S(JSON.parse(a))}catch{return null}}finally{clearTimeout(i)}}var w=`xai-grok`,T=`https://auth.x.ai`,E=`${T}/oauth2/authorize`,D=`${T}/oauth2/token`,O=`b1a00492-073a-47ea-816f-4c329264a828`,k=`openid profile email offline_access grok-cli:access api:access`,A=`http://127.0.0.1:56121/callback`,j=`http://127.0.0.1:56121/*`,M=`https://api.x.ai/v1`,N=`grok-4.7`,P=`${w}-openai`;function F(e){if(e.some(e=>e.id===N))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:N,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 I(){return F(e(`xai`))}function L(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 R(e){let t=I(),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 "${N}"`),n=t.find(e=>e.id===N),!n))throw Error(`xAI default model "${N}" 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:M}}async function z(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:A,client_id:O,code_verifier:t}),r=await fetch(D,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new g(`xAI token exchange failed: ${r.status} ${await r.text()}`,h.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new g(`xAI token exchange did not return access_token.`,h.TOKEN_EXCHANGE_INVALID);return i}async function B(e){if(u())return null;try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:O}),n=await fetch(D,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text();return d(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 V(){return c().find(e=>e.providerId===w)}async function H(){let e=V();if(!e?.accessToken)throw new g("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",h.AUTH_MISSING,!0);let t=e.tokenExpiresAt??0;if(t&&Date.now()+6e4<t)return e.accessToken;if(e.refreshToken){let t=await B(e.refreshToken);if(t?.access_token)return await s({providerId:w,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 U(){if(!V()?.accessToken)throw Error(`xAI Grok budget: not signed in`);return C(await H(),fetch)}function W(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:P,provider:w,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 G(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}function K(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e))}async function q(e,t,n,r){try{let o=await H(),s=r.sessionId,c=R(t),u={...r,apiKey:o,headers:G(r.headers,s)},d=c.api===`openai-responses`?i(c,l(n),u):a(c,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){K(n),e.push(W(t,n)),e.end()}}async function J(e,t,n,i){try{let a=await H(),s=i?.sessionId,c=R(t),u={...i,apiKey:a,headers:G(i?.headers,s)},d=c.api===`openai-responses`?r(c,l(n),u):o(c,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){K(n),e.push(W(t,n)),e.end()}}var Y=(e,n,r={})=>{let i=t();return q(i,e,n,r).catch(K),i},X=(e,n,r)=>{let i=t();return J(i,e,n,r).catch(K),i},Z={id:w,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:N,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`,`cli-chat-proxy.grok.com`],getModelIds:()=>I().map(L),getBudgetUsage:U,onOAuthLoginIntercepted:async(e,t,n)=>{let r=f(),i=await m(r),a=p(),o=p(),c=new URL(E);c.searchParams.set(`response_type`,`code`),c.searchParams.set(`client_id`,O),c.searchParams.set(`redirect_uri`,A),c.searchParams.set(`scope`,n?.scopes??k),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:j,onCapture:`close`});if(!l)throw new g(`xAI OAuth login was cancelled or timed out`,h.CALLBACK_TIMEOUT);let u=new URL(l),d=u.searchParams.get(`code`),_=u.searchParams.get(`state`);if(!d)throw new g(`xAI OAuth redirect did not include a code`,h.CODE_MISSING);if(_!==a)throw new g(`xAI OAuth state mismatch — possible CSRF, aborting`,h.STATE_MISMATCH);let v=await z(d,r);await s({providerId:w,accessToken:v.access_token,refreshToken:v.refresh_token,tokenExpiresAt:Date.now()+(v.expires_in??21600)*1e3,baseUrl:M,scopes:v.scope}),t()},onOAuthLogout:async()=>{await s({providerId:w,accessToken:``})},onSilentRenew:async()=>{let e=V();if(!e?.refreshToken)return null;let t=await B(e.refreshToken);return t?.access_token?(await s({providerId:w,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 Q(){n({api:P,stream:Y,streamSimple:X})}export{h as XaiErrorCode,g as XaiOAuthError,Z as config,Q as register};
@@ -1 +1 @@
1
- import{_ as e,r as t}from"./account-store-DkttH-BP.js";import{a as n}from"./diagnostics-Cag7MsZI.js";import{a as r}from"./compat-nGhSz-U1.js";import{a as i}from"./core-EGZ5TU35.js";import{c as a,i as o,r as s,s as c}from"./legacy-api-aliases--xyLjPgC.js";import{n as l}from"./pi-transcript-context-4pjVPiVC.js";import"./provider-settings-Eedtvqyh.js";import{n as u,r as d}from"./bridge-token-required-BYgoMwr7.js";import{n as f,r as p,t as m}from"./pkce-hGf_TEnP.js";import{XaiErrorCode as h,XaiOAuthError as g}from"./xai-grok-errors-ByEMMSoz.js";function _(e){return typeof e==`object`&&!!e}function v(e){if(!_(e))return null;let t=_(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=_(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 y(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 v(JSON.parse(a))}catch{return null}}finally{clearTimeout(i)}}const b=`xai-grok`,x=`https://auth.x.ai`,S=`${x}/oauth2/authorize`,C=`${x}/oauth2/token`,w=`b1a00492-073a-47ea-816f-4c329264a828`,T=`http://127.0.0.1:56121/callback`,E=`https://api.x.ai/v1`,D=`grok-4.7`,O=`${b}-openai`;function k(e){if(e.some(e=>e.id===D))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:D,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 A(){return k(i(`xai`))}function j(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 M(e){let t=A(),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 "${D}"`),n=t.find(e=>e.id===D),!n))throw Error(`xAI default model "${D}" 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:E}}async function N(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:T,client_id:w,code_verifier:t}),r=await fetch(C,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new g(`xAI token exchange failed: ${r.status} ${await r.text()}`,h.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new g(`xAI token exchange did not return access_token.`,h.TOKEN_EXCHANGE_INVALID);return i}async function P(e){if(u())return null;try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:w}),n=await fetch(C,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text();return d(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 F(){return t().find(e=>e.providerId===b)}async function I(){let t=F();if(!t?.accessToken)throw new g("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",h.AUTH_MISSING,!0);let n=t.tokenExpiresAt??0;if(n&&Date.now()+6e4<n)return t.accessToken;if(t.refreshToken){let n=await P(t.refreshToken);if(n?.access_token)return await e({providerId:b,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 L(){if(!F()?.accessToken)throw Error(`xAI Grok budget: not signed in`);return y(await I(),fetch)}function R(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:O,provider:b,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 z(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}function B(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e))}async function V(e,t,n,r){try{let i=await I(),a=r.sessionId,c=M(t),u={...r,apiKey:i,headers:z(r.headers,a)},d=c.api===`openai-responses`?o(c,l(n),u):s(c,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){B(n),e.push(R(t,n)),e.end()}}async function H(e,t,n,r){try{let i=await I(),o=r?.sessionId,s=M(t),u={...r,apiKey:i,headers:z(r?.headers,o)},d=s.api===`openai-responses`?a(s,l(n),u):c(s,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){B(n),e.push(R(t,n)),e.end()}}const U=(e,t,r={})=>{let i=n();return V(i,e,t,r).catch(B),i},W=(e,t,r)=>{let i=n();return H(i,e,t,r).catch(B),i},G={id:b,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:D,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`,`cli-chat-proxy.grok.com`],getModelIds:()=>A().map(j),getBudgetUsage:L,onOAuthLoginIntercepted:async(t,n,r)=>{let i=f(),a=await m(i),o=p(),s=p(),c=new URL(S);c.searchParams.set(`response_type`,`code`),c.searchParams.set(`client_id`,w),c.searchParams.set(`redirect_uri`,T),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 g(`xAI OAuth login was cancelled or timed out`,h.CALLBACK_TIMEOUT);let u=new URL(l),d=u.searchParams.get(`code`),_=u.searchParams.get(`state`);if(!d)throw new g(`xAI OAuth redirect did not include a code`,h.CODE_MISSING);if(_!==o)throw new g(`xAI OAuth state mismatch — possible CSRF, aborting`,h.STATE_MISMATCH);let v=await N(d,i);await e({providerId:b,accessToken:v.access_token,refreshToken:v.refresh_token,tokenExpiresAt:Date.now()+(v.expires_in??21600)*1e3,baseUrl:E,scopes:v.scope}),n()},onOAuthLogout:async()=>{await e({providerId:b,accessToken:``})},onSilentRenew:async()=>{let t=F();if(!t?.refreshToken)return null;let n=await P(t.refreshToken);return n?.access_token?(await e({providerId:b,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 K(){r({api:O,stream:U,streamSimple:W})}export{h as XaiErrorCode,g as XaiOAuthError,G as config,K as register};
1
+ import{_ as e,r as t}from"./account-store-BRvILyCO.js";import{a as n}from"./diagnostics-Cag7MsZI.js";import{a as r}from"./compat-nGhSz-U1.js";import{a as i}from"./core-EGZ5TU35.js";import{c as a,i as o,r as s,s as c}from"./legacy-api-aliases--xyLjPgC.js";import{n as l}from"./pi-transcript-context-4pjVPiVC.js";import"./provider-settings-hm9r16oZ.js";import{n as u,r as d}from"./bridge-token-required-BYgoMwr7.js";import{n as f,r as p,t as m}from"./pkce-hGf_TEnP.js";import{XaiErrorCode as h,XaiOAuthError as g}from"./xai-grok-errors-ByEMMSoz.js";function _(e){return typeof e==`object`&&!!e}function v(e){if(!_(e))return null;let t=_(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=_(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 y(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 v(JSON.parse(a))}catch{return null}}finally{clearTimeout(i)}}const b=`xai-grok`,x=`https://auth.x.ai`,S=`${x}/oauth2/authorize`,C=`${x}/oauth2/token`,w=`b1a00492-073a-47ea-816f-4c329264a828`,T=`http://127.0.0.1:56121/callback`,E=`https://api.x.ai/v1`,D=`grok-4.7`,O=`${b}-openai`;function k(e){if(e.some(e=>e.id===D))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:D,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 A(){return k(i(`xai`))}function j(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 M(e){let t=A(),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 "${D}"`),n=t.find(e=>e.id===D),!n))throw Error(`xAI default model "${D}" 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:E}}async function N(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:T,client_id:w,code_verifier:t}),r=await fetch(C,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new g(`xAI token exchange failed: ${r.status} ${await r.text()}`,h.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new g(`xAI token exchange did not return access_token.`,h.TOKEN_EXCHANGE_INVALID);return i}async function P(e){if(u())return null;try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:w}),n=await fetch(C,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text();return d(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 F(){return t().find(e=>e.providerId===b)}async function I(){let t=F();if(!t?.accessToken)throw new g("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",h.AUTH_MISSING,!0);let n=t.tokenExpiresAt??0;if(n&&Date.now()+6e4<n)return t.accessToken;if(t.refreshToken){let n=await P(t.refreshToken);if(n?.access_token)return await e({providerId:b,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 L(){if(!F()?.accessToken)throw Error(`xAI Grok budget: not signed in`);return y(await I(),fetch)}function R(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:O,provider:b,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 z(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}function B(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e))}async function V(e,t,n,r){try{let i=await I(),a=r.sessionId,c=M(t),u={...r,apiKey:i,headers:z(r.headers,a)},d=c.api===`openai-responses`?o(c,l(n),u):s(c,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){B(n),e.push(R(t,n)),e.end()}}async function H(e,t,n,r){try{let i=await I(),o=r?.sessionId,s=M(t),u={...r,apiKey:i,headers:z(r?.headers,o)},d=s.api===`openai-responses`?a(s,l(n),u):c(s,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){B(n),e.push(R(t,n)),e.end()}}const U=(e,t,r={})=>{let i=n();return V(i,e,t,r).catch(B),i},W=(e,t,r)=>{let i=n();return H(i,e,t,r).catch(B),i},G={id:b,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:D,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`,`cli-chat-proxy.grok.com`],getModelIds:()=>A().map(j),getBudgetUsage:L,onOAuthLoginIntercepted:async(t,n,r)=>{let i=f(),a=await m(i),o=p(),s=p(),c=new URL(S);c.searchParams.set(`response_type`,`code`),c.searchParams.set(`client_id`,w),c.searchParams.set(`redirect_uri`,T),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 g(`xAI OAuth login was cancelled or timed out`,h.CALLBACK_TIMEOUT);let u=new URL(l),d=u.searchParams.get(`code`),_=u.searchParams.get(`state`);if(!d)throw new g(`xAI OAuth redirect did not include a code`,h.CODE_MISSING);if(_!==o)throw new g(`xAI OAuth state mismatch — possible CSRF, aborting`,h.STATE_MISMATCH);let v=await N(d,i);await e({providerId:b,accessToken:v.access_token,refreshToken:v.refresh_token,tokenExpiresAt:Date.now()+(v.expires_in??21600)*1e3,baseUrl:E,scopes:v.scope}),n()},onOAuthLogout:async()=>{await e({providerId:b,accessToken:``})},onSilentRenew:async()=>{let t=F();if(!t?.refreshToken)return null;let n=await P(t.refreshToken);return n?.access_token?(await e({providerId:b,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 K(){r({api:O,stream:U,streamSimple:W})}export{h as XaiErrorCode,g as XaiOAuthError,G as config,K 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-CvCAlghs.js"></script>
8
+ <script type="module" crossorigin src="/assets/main-Be4W_mNX.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-Cag7MsZI.js">
@@ -34,12 +34,12 @@
34
34
  <link rel="modulepreload" crossorigin href="/assets/tool-ui-eSQ1g2I1.js">
35
35
  <link rel="modulepreload" crossorigin href="/assets/core-BFRZk2b-.js">
36
36
  <link rel="modulepreload" crossorigin href="/assets/bridge-protocol-C52CnDIj.js">
37
- <link rel="modulepreload" crossorigin href="/assets/providers-CR6zPkBA.js">
37
+ <link rel="modulepreload" crossorigin href="/assets/providers-DXeCpDBW.js">
38
38
  <link rel="modulepreload" crossorigin href="/assets/stored-accounts-ChNHYF68.js">
39
39
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-compat-B1oHsbyo.js">
40
40
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-extra-models-BYrxX19D.js">
41
41
  <link rel="modulepreload" crossorigin href="/assets/claude-model-version-DZmbk9E2.js">
42
- <link rel="modulepreload" crossorigin href="/assets/account-store-BZBj_ntG.js">
42
+ <link rel="modulepreload" crossorigin href="/assets/account-store-DoRhbb69.js">
43
43
  <link rel="modulepreload" crossorigin href="/assets/telemetry-B0sKnLBU.js">
44
44
  <link rel="modulepreload" crossorigin href="/assets/tray-follower-status-BAjnN7Ar.js">
45
45
  <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-CvCAlghs.js"></script>
8
+ <script type="module" crossorigin src="/assets/main-Be4W_mNX.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-Cag7MsZI.js">
@@ -34,12 +34,12 @@
34
34
  <link rel="modulepreload" crossorigin href="/assets/tool-ui-eSQ1g2I1.js">
35
35
  <link rel="modulepreload" crossorigin href="/assets/core-BFRZk2b-.js">
36
36
  <link rel="modulepreload" crossorigin href="/assets/bridge-protocol-C52CnDIj.js">
37
- <link rel="modulepreload" crossorigin href="/assets/providers-CR6zPkBA.js">
37
+ <link rel="modulepreload" crossorigin href="/assets/providers-DXeCpDBW.js">
38
38
  <link rel="modulepreload" crossorigin href="/assets/stored-accounts-ChNHYF68.js">
39
39
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-compat-B1oHsbyo.js">
40
40
  <link rel="modulepreload" crossorigin href="/assets/bedrock-camp-extra-models-BYrxX19D.js">
41
41
  <link rel="modulepreload" crossorigin href="/assets/claude-model-version-DZmbk9E2.js">
42
- <link rel="modulepreload" crossorigin href="/assets/account-store-BZBj_ntG.js">
42
+ <link rel="modulepreload" crossorigin href="/assets/account-store-DoRhbb69.js">
43
43
  <link rel="modulepreload" crossorigin href="/assets/telemetry-B0sKnLBU.js">
44
44
  <link rel="modulepreload" crossorigin href="/assets/tray-follower-status-BAjnN7Ar.js">
45
45
  <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.240.2",
3
+ "version": "6.240.4",
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 t=3735928559,n=1103547991;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,2654435761),n=Math.imul(n^i,1597334677)}return t=Math.imul(t^t>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),4294967296*(2097151&n)+(t>>>0)||1}function a(e){let n=e.isSymbolicLink?40960:e.isDirectory?16384:32768,r=e.isDirectory||e.isSymbolicLink?511:438;return n|((e.mode??r)&t||r)}function o(e){if(e!=null)return e instanceof Date?e.getTime():e}function s(t,i){let o=e=>e.mount.opts.bridge;function s(e){try{return e()}catch(e){throw n(t,e)}}function c(t){try{s(t)}catch(t){if(t.errno!==e.ENOSYS)throw t}}function l(e){return{...e?{stat:e}:{},len:0,loaded:!1,dirty:!1,openCount:0}}function u(e,n,r){let o=t.createNode(e,n,a(r),0);return o.node_ops=i.node,o.stream_ops=i.stream,o.live=l(r),o}function d(e){if(e.live.orphan)return{...e.live.stat,size:e.live.len};if(!e.live.stat){let t=s(()=>o(e).lstat(r(e)));e.live.stat=t,e.mode=a(t)}return e.live.stat}function f(e,t){let n=r(e);return n===`/`?`/${t}`:`${n}/${t}`}function p(e){let t=e.live;if(t.loaded)return;let n=s(()=>o(e).readFile(r(e)));t.data=n,t.len=n.length,t.loaded=!0}function m(e,t){let n=e.live,r=n.data??new Uint8Array;if(r.length>=t)return r;let i=new Uint8Array(Math.max(t,r.length*2,256));return i.set(r.subarray(0,n.len)),n.data=i,i}function h(e){let t=e.live;if(!t.dirty||!t.data||t.orphan)return;let n=t.data.slice(0,t.len);s(()=>o(e).writeFile(r(e),n)),t.dirty=!1,t.stat=void 0}function g(e,t){let n=e.live;if(n.openCount>0){t>0?p(e):n.loaded=!0;let r=m(e,t);t>n.len&&r.fill(0,n.len,t),n.len=t,n.dirty=!0;return}let i=r(e),a=new Uint8Array(t);if(t>0){let n=s(()=>o(e).readFile(i));a.set(n.subarray(0,Math.min(t,n.length)))}s(()=>o(e).writeFile(i,a)),n.stat=void 0}return{Fs:t,bridgeOf:o,call:s,metadataCall:c,makeNode:u,statOf:d,childPath:f,ensureLoaded:p,ensureCapacity:m,flushNode:h,truncate:g}}function c(n){let{Fs:a,bridgeOf:s,call:c,metadataCall:l,makeNode:u,statOf:d,childPath:f,flushNode:p,truncate:m}=n,{ensureLoaded:h}=n;return{getattr(e){let t=d(e),n=e.live,o=a.isDir(e.mode)?4096:n.loaded?n.len:t.size,s=new Date(t.mtimeMs??0);return{dev:1,ino:t.ino??i(r(e)),mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:o,atime:s,mtime:s,ctime:s,blksize:4096,blocks:Math.ceil(o/4096)}},setattr(e,n){if(e.live.orphan){n.mode!==void 0&&n.mode!==null&&(e.mode=e.mode&-4096|n.mode&t),n.size!==void 0&&n.size!==null&&m(e,n.size);return}let i=r(e);if(n.mode!==void 0&&n.mode!==null){let r=n.mode&t;r!==(e.mode&t)&&(l(()=>s(e).chmod(i,r)),e.mode=e.mode&-4096|r)}n.size!==void 0&&n.size!==null&&a.isFile(e.mode)&&m(e,n.size);let c=o(n.mtime)??n.timestamp;if(c!==void 0){let t=o(n.atime)??c;p(e),l(()=>s(e).utimes(i,t,c))}e.live.stat=void 0},lookup(e,t){let n=c(()=>s(e).lstat(f(e,t)));return u(e,t,n)},mknod(t,n,r){let i=f(t,n);if(a.isDir(r)){c(()=>s(t).mkdir(i));let e=r&4077;e!==493&&l(()=>s(t).chmod(i,e))}else if(a.isFile(r))c(()=>s(t).writeFile(i,new Uint8Array));else throw new a.ErrnoError(e.EPERM);let o=u(t,n,{isFile:a.isFile(r),isDirectory:a.isDir(r),isSymbolicLink:!1,size:0,mode:r,mtimeMs:Date.now()});return o.live.stat=void 0,o},rename(e,t,n){let i=r(e),o=f(t,n);p(e),c(()=>s(e).rename(i,o));try{let r=a.lookupNode?.(t,n);r&&r!==e&&a.hashRemoveNode?.(r)}catch{}e.name=n,e.live.stat=void 0},unlink(e,t){let n;try{let r=a.lookupNode?.(e,t);r&&r.live?.openCount>0&&a.isFile(r.mode)&&(n=r)}catch{}n&&(d(n),h(n)),c(()=>s(e).unlink(f(e,t))),n&&(n.live.orphan=!0)},rmdir(e,t){c(()=>s(e).rmdir(f(e,t)))},readdir(e){return[`.`,`..`,...c(()=>s(e).readdir(r(e)))]},symlink(e,t,n){let r=f(e,t);return c(()=>s(e).symlink(n,r)),u(e,t,{isFile:!1,isDirectory:!1,isSymbolicLink:!0,size:n.length})},readlink(t){if(!a.isLink(t.mode))throw new a.ErrnoError(e.EINVAL);return c(()=>s(t).readlink(r(t)))}}}function l(t){let{Fs:n,statOf:r,ensureLoaded:i,ensureCapacity:a,flushNode:o}=t;return{open(e){n.isFile(e.node.mode)&&e.node.live.openCount++},dup(e){n.isFile(e.node.mode)&&e.node.live.openCount++},close(e){let t=e.node;if(!n.isFile(t.mode))return;let r=t.live;if(r.openCount=Math.max(0,r.openCount-1),!(r.openCount>0))try{o(t)}finally{r.data=void 0,r.len=0,r.loaded=!1}},read(t,r,a,o,s){let c=t.node;if(n.isDir(c.mode))throw new n.ErrnoError(e.EISDIR);i(c);let l=c.live;if(s>=l.len||o<=0)return 0;let u=Math.min(o,l.len-s);return new Uint8Array(r.buffer,r.byteOffset+a,u).set(l.data.subarray(s,s+u)),u},write(t,r,o,s,c){let l=t.node;if(n.isDir(l.mode))throw new n.ErrnoError(e.EISDIR);if(s<=0)return 0;i(l);let u=l.live,d=c+s,f=a(l,d);return c>u.len&&f.fill(0,u.len,c),f.set(new Uint8Array(r.buffer,r.byteOffset+o,s),c),u.len=Math.max(u.len,d),u.dirty=!0,s},llseek(t,i,a){let o=i;if(a===1)o+=t.position;else if(a===2&&n.isFile(t.node.mode)){let e=t.node.live;o+=e.loaded?e.len:r(t.node).size}if(o<0)throw new n.ErrnoError(e.EINVAL);return o},fsync(e){o(e.node)}}}function u(t){let n=new Set,r={},i=s(t,r),a=c(i),o=l(i);return r.node=a,r.stream=o,{mounts:n,node_ops:a,stream_ops:o,mount(r){let a=i.call(()=>r.opts.bridge.stat(r.opts.root));if(!a.isDirectory)throw new t.ErrnoError(e.ENOTDIR);let o=i.makeNode(null,`/`,a);return n.add(r),o}}}function d(e,t){return!!t&&e.mounts.has(t.mount)}function f(e,t){for(let i of e.nameTable??[])for(let a=i;a;a=a.name_next??null)if(!(!d(t,a)||!a.live.dirty||!a.live.data))try{let e=a.live.data.slice(0,a.live.len);a.mount.opts.bridge.writeFile(r(a),e),a.live.dirty=!1}catch(t){throw n(e,t)}}function p(e,t){let n=e.nameTable??[],r=[];for(let e of n)for(let n=e;n;n=n.name_next??null){if(!d(t,n))continue;let e=n.live;e.stat=void 0,e.openCount===0?n!==n.mount.root&&r.push(n):e.loaded&&!e.dirty&&(e.data=void 0,e.len=0,e.loaded=!1)}if(e.hashRemoveNode)for(let t of r)e.hashRemoveNode(t)}function m(e){let t=[...new Set(e.map(e=>e.replace(/\/+$/,``)||`/`))].sort();return t.filter(e=>!t.some(t=>t!==e&&(t===`/`||e.startsWith(`${t}/`))))}function h(e){if(e instanceof Error)return e.message;let t=e?.errno;return typeof t==`number`?`errno ${t}`:String(e)}function g(e,t,n,r){if(typeof e.filesystems!=`object`||!e.filesystems)throw Error(`the module was linked without filesystem support, so the VFS cannot be mounted (link it with -sFORCE_FILESYSTEM=1)`);let i=e.filesystems.SLICC_LIVE_FS??u(e);e.filesystems.SLICC_LIVE_FS=i;let a=[];for(let o of m(n))if(o!==`/`)try{e.mkdirTree(o),e.mount(i,{root:o,bridge:t},o),a.push(o)}catch(e){r(`live VFS mount of ${o} failed: ${h(e)}`)}return{plugin:i,mounted:a}}function _(e,t){return Object.assign(Error(`${e}: ${t}`),{code:e})}function v(e,t){let n=e.getMutations();for(let e of n.deleted)t.rm(e);for(let e of n.created)e.isDirectory?t.mkdir(e.path):t.writeFile(e.path,e.content);for(let e of n.modified)t.writeFile(e.path,e.content);e.resetBaseline()}const y=new Set([`dev`,`proc`]),b=[`/usr`,`/bin`],ee=[`writeFile`,`mkdir`,`rm`,`rename`,`unlink`,`rmdir`,`symlink`,`chmod`,`utimes`];function te(e,t){let n={...e};for(let r of ee){let i=e[r];n[r]=(...n)=>{t.wasUsed()&&v(t,e);try{i.apply(e,n)}finally{t.invalidate()}}}return n}function ne(e,t){let n;try{n=e.readdir(`/`)}catch(e){return t(`cannot list the VFS root, nothing mounted: ${String(e)}`),[]}let r=n.filter(e=>e&&!e.includes(`/`)&&!y.has(e)).map(e=>`/${e}`);for(let e of b)r.includes(e)||r.push(e);let i=[];for(let t of r)try{e.stat(t).isDirectory&&i.push(t)}catch{}return i}function re(e,t,n={}){let{bridge:r,syncFs:i,warn:a}=t;i.wasUsed()&&v(i,r);let{plugin:o,mounted:s}=g(e,te(r,i),ne(r,a),a);try{e.chdir(n.cwd??t.cwd)}catch(e){a(`cannot chdir to ${n.cwd??t.cwd}: ${String(e)}`)}return{mounted:s,flush:()=>f(e,o),invalidate:()=>p(e,o)}}function x(e){if(!e||e===`/`)return`/`;e.startsWith(`/`)||(e=`/`+e);let t=e.split(`/`),n=[];for(let e of t)e!==``&&e!==`.`&&(e===`..`?n.pop():n.push(e));return`/`+n.join(`/`)}function S(e){let t=x(e);if(t===`/`)return`/`;let n=t.lastIndexOf(`/`);return n===0?`/`:t.slice(0,n)}function C(e){return Object.assign(Error(`ENOENT: no such file or directory, '${e}'`),{code:`ENOENT`})}function w(e){return Object.assign(Error(`ENOSYNC: file too large for sync access, '${e}' — use async readFile() instead`),{code:`ENOSYNC`})}function ie(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var ae=class{tree=new Map;initialPaths=new Set;initialContent=new Map;initialKind=new Map;mkdtempCounter=0;tombstones=new Set;removedDirs=new Set;touched=!1;constructor(e){this.loadSnapshot(e)}loadSnapshot(e){this.tree=new Map,this.tombstones=new Set,this.removedDirs=new Set,this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map,this.tree.set(`/`,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(`/`),this.initialKind.set(`/`,`directory`);for(let t of e.entries){let e=x(t.path);this.tree.set(e,{content:t.content,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink,symlinkTarget:t.symlinkTarget,truncated:t.truncated,size:t.size,...t.partial?{partial:!0}:{}}),this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}for(let t of e.entries){let e=S(x(t.path));for(;e!==`/`&&!this.tree.has(e);)this.tree.set(e,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(e),this.initialKind.set(e,`directory`),e=S(e)}}wasUsed(){return this.touched}applySnapshot(e){this.loadSnapshot(e)}applySnapshotPreservingMutations(e){let t=this.getMutations();this.loadSnapshot(e);for(let e of t.deleted){if(this.tree.get(e)?.isDirectory){let t=e===`/`?`/`:e+`/`;for(let n of Array.from(this.tree.keys()))n!==e&&n.startsWith(t)&&this.tree.delete(n)}this.tree.delete(e)}for(let e of t.created)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink,symlinkTarget:e.symlinkTarget});for(let e of t.modified)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:!1})}invalidate(){this.loadSnapshot({entries:[]})}resetBaseline(){this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map;for(let[e,t]of this.tree.entries())this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}entryKind(e){return e.isSymbolicLink?`symlink`:e.isDirectory?`directory`:`file`}resolveEntry(e,t=!1){let n=x(e),r=n.split(`/`).filter(Boolean),i=[],a=new Set,o=0;if(r.length===0){let e=this.tree.get(`/`);return e?{path:`/`,entry:e}:void 0}for(;r.length>0;){let e=r.shift(),s=`/${[...i,e].join(`/`)}`,c=this.tree.get(s);if(!c)return;let l=r.length===0;if(c.isSymbolicLink&&!(t&&l)){if(a.has(s)||o++===40)throw Object.assign(Error(`ELOOP: too many symbolic links, '${n}'`),{code:`ELOOP`});a.add(s);let e=c.symlinkTarget??``;r=[...x(e.startsWith(`/`)?e:`${S(s)}/${e}`).split(`/`).filter(Boolean),...r],i=[];continue}if(!l&&!c.isDirectory)return;if(i.push(e),l)return{path:s,entry:c}}}ensureParentDirs(e){let t=S(e);t!==`/`&&(this.tree.has(t)||this.mkdir(t,!0,!0))}isPartial(e){return this.tree.get(x(e))?.partial===!0}hasPartialWithin(e){let t=x(e),n=t===`/`?`/`:`${t}/`;for(let[e,r]of this.tree)if(r.partial&&(e===t||e.startsWith(n)))return!0;return!1}commitWrite(e,t){this.writeFile(e,t);let n=x(e);for(this.initialContent.set(n,t);n!==`/`;){let e=this.tree.get(n);e&&(this.initialPaths.add(n),this.initialKind.set(n,this.entryKind(e))),n=S(n)}}readFile(e){this.touched=!0;let t=x(e),n=this.resolveEntry(t)?.entry;if(!n||n.isDirectory)throw C(t);if(n.truncated)throw w(t);return n.content}writeFile(e,t){this.touched=!0;let n=x(e);this.ensureParentDirs(n),this.tree.set(n,{content:t,isDirectory:!1}),this.tombstones.delete(n),this.removedDirs.delete(n)}exists(e){this.touched=!0;let t=x(e);return this.tree.has(t)}stat(e){this.touched=!0;let t=x(e),n=this.resolveEntry(t);if(!n)throw C(t);return this.toStat(n.entry)}lstat(e){this.touched=!0;let t=x(e),n=this.resolveEntry(t,!0);if(!n)throw C(t);return this.toStat(n.entry)}toStat(e){return{isFile:!e.isDirectory&&!e.isSymbolicLink,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink===!0,size:e.isDirectory?0:e.size??e.content.byteLength}}readdir(e){this.touched=!0;let t=x(e),n=this.resolveEntry(t);if(!n?.entry.isDirectory)throw C(t);let r=n.path===`/`?`/`:n.path+`/`,i=new Set;for(let e of this.tree.keys()){if(e===t||e===`/`||!e.startsWith(r))continue;let n=e.slice(r.length).split(`/`)[0];n&&i.add(n)}return Array.from(i)}mkdir(e,t,n=!1){this.touched=!0;let r=x(e);if(this.tree.has(r)){if(this.tree.get(r).isDirectory)return;throw Object.assign(Error(`EEXIST: file already exists, '${r}'`),{code:`EEXIST`})}let i=S(r);if(i!==`/`&&!this.tree.has(i)){if(!t)throw C(r);this.mkdir(i,!0,n)}this.tree.set(r,{content:new Uint8Array,isDirectory:!0,...n?{partial:!0}:{}}),this.tombstones.delete(r),this.removedDirs.delete(r)}rm(e,t){this.touched=!0;let n=x(e),r=this.tree.get(n);if(!r)throw C(n);if(r.isDirectory&&!r.isSymbolicLink){let e=n===`/`?`/`:n+`/`,r=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));if(r.length>0&&!t)throw Object.assign(Error(`ENOTEMPTY: directory not empty, '${n}'`),{code:`ENOTEMPTY`});for(let e of r)this.tree.delete(e),this.tombstones.add(e);t&&this.removedDirs.add(n)}this.tree.delete(n),this.tombstones.add(n)}copyFile(e,t){this.touched=!0;let n=x(e),r=this.tree.get(n);if(!r||r.isDirectory)throw C(n);if(r.truncated)throw w(n);let i=x(t);this.ensureParentDirs(i),this.tree.set(i,{content:r.content.slice(),isDirectory:!1}),this.tombstones.delete(i),this.removedDirs.delete(i)}rename(e,t){this.touched=!0;let n=x(e),r=this.tree.get(n);if(!r)throw C(n);let i=x(t);if(r.isDirectory){let e=n===`/`?`/`:n+`/`,t=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n);for(let e of t){let t=this.tree.get(e),r=i+e.slice(n.length);this.tree.set(r,t),this.tree.delete(e)}this.tombstones.add(n),this.removedDirs.add(n),this.tombstones.delete(i),this.removedDirs.delete(i);return}this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n),this.tombstones.add(n),this.tombstones.delete(i),this.removedDirs.delete(i)}unlink(e){this.touched=!0;let t=x(e),n=this.tree.get(t);if(!n)throw C(t);if(n.isDirectory&&!n.isSymbolicLink)throw Object.assign(Error(`EISDIR: illegal operation on a directory, unlink '${t}'`),{code:`EISDIR`});this.tree.delete(t),this.tombstones.add(t)}markRemoved(e,t=!1){this.touched=!0;let n=x(e);this.tombstones.add(n),t&&this.removedDirs.add(n)}isTombstoned(e){let t=x(e);if(this.tombstones.has(t))return!0;for(let e of this.removedDirs)if(t===e||t.startsWith(`${e}/`))return!0;return!1}mkdtemp(e){this.touched=!0;for(let t=0;t<100;t++){let t=`_${String(this.mkdtempCounter).padStart(6,`0`)}`;this.mkdtempCounter++;let n=x(e+t);if(!this.tree.has(n))return this.mkdir(n,!0),n}throw Error(`mkdtemp: failed to create unique directory after 100 attempts`)}getMutations(){let e=[],t=[],n=[];for(let[r,i]of this.tree.entries()){if(r===`/`)continue;if(!this.initialPaths.has(r)){e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}let a=this.initialKind.get(r);if(a!==void 0&&a!==this.entryKind(i)){n.push(r),e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}if(!i.isDirectory&&!i.isSymbolicLink){let e=this.initialContent.get(r);e&&!ie(e,i.content)&&t.push({path:r,content:i.content})}}for(let e of this.initialPaths)e!==`/`&&(this.tree.has(e)||n.push(e));return{created:e,modified:t,deleted:n}}};function T(e){let t=e;return!t||typeof t.isFile!=`boolean`||typeof t.isDirectory!=`boolean`||typeof t.size!=`number`?null:{isFile:t.isFile,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink,size:t.size,...typeof t.mode==`number`?{mode:t.mode}:{},...typeof t.mtimeMs==`number`?{mtimeMs:t.mtimeMs}:{},...typeof t.ino==`number`?{ino:t.ino}:{}}}new TextEncoder;const E=new TextDecoder;function oe(e,t){switch(e){case 1:return{ok:!0,kind:`bytes`,bytes:t};case 3:return{ok:!0,kind:`void`};case 2:try{return{ok:!0,kind:`json`,json:JSON.parse(E.decode(t))}}catch{return{ok:!1,errno:`EIO`,message:`sync-sab: malformed json payload`}}case 4:try{let e=JSON.parse(E.decode(t)),n=typeof e.errno==`string`&&/^E[A-Z]+$/.test(e.errno)?e.errno:`EIO`;return{ok:!1,errno:n,message:String(e.message??n)}}catch{return{ok:!1,errno:`EIO`,message:`sync-sab: malformed errno payload`}}default:return{ok:!1,errno:`EIO`,message:`sync-sab: unknown status ${e}`}}}function se(e){if(e.byteLength<4160)throw Error(`sync-sab: buffer too small (${e.byteLength} < 4160)`);return{header:new Int32Array(e,0,16),window:new Uint8Array(e,64)}}function D(e,t,n={}){let{header:r,window:i}=se(e),a=n.wait??((e,t,n,r)=>Atomics.wait(e,t,n,r)),o=n.now??(()=>performance.now()),s=0;function c(e,t,n){for(;;){let i=t-o();if(i<=0)throw _(`ETIMEDOUT`,n);if(a(r,0,1,i),Atomics.load(r,0)===2&&Atomics.load(r,1)===e)return;Atomics.load(r,0)===2&&Atomics.store(r,0,1)}}return{call(e,n,a){let l=++s,u=o()+n,d=null,f=0,p=0;try{for(;;){Atomics.store(r,0,1);let n=p===0?{type:`sync-sab-req`,id:l,req:e}:{type:`sync-sab-next`,id:l,offset:p};try{t.postMessage(n)}catch{throw _(`EIO`,a)}c(l,u,a);let o=Atomics.load(r,3),s=Atomics.load(r,4);if(Atomics.load(r,5)!==p||s<0||o<0||p+s>o)throw _(`EIO`,a);if(d===null&&(f=Atomics.load(r,2),d=new Uint8Array(o)),d.set(i.subarray(0,s),p),p+=s,p>=o)break;if(s===0)throw _(`EIO`,a)}}finally{Atomics.store(r,0,0)}return oe(f,d)}}}function O(e,t){return _(e,`sync-sab bridge, '${t}'`)}function k(e,t={}){let n=t.timeoutMs??25e3;function r(t,r){let i=e.call(t,n,`sync-sab bridge, '${r}'`);if(!i.ok)throw O(i.errno,r);return i}function i(e,t){let n=r(e,t);if(n.ok&&n.kind===`bytes`)return n.bytes;throw O(`EIO`,t)}function a(e,t){let n=r(e,t);if(n.ok&&n.kind===`json`)return n.json;throw O(`EIO`,t)}return{readFile:e=>i({op:`read`,path:e},e),writeFile:(e,t)=>{r({op:`write`,path:e,body:t},e)},stat:e=>{let t=T(a({op:`stat`,path:e},e));if(!t)throw O(`EIO`,e);return t},lstat:e=>{let t=T(a({op:`lstat`,path:e},e));if(!t)throw O(`EIO`,e);return t},readdir:e=>{let t=a({op:`readdir`,path:e},e);if(!Array.isArray(t)||!t.every(e=>typeof e==`string`))throw O(`EIO`,e);return t},readdirStat:e=>{let t=a({op:`readdir-stat`,path:e},e);if(!Array.isArray(t))throw O(`EIO`,e);return t.map(t=>{if(!Array.isArray(t)||typeof t[0]!=`string`)throw O(`EIO`,e);if(t[1]===null)return[t[0],null];let n=T(t[1]);if(!n)throw O(`EIO`,e);return[t[0],n]})},exists:e=>{let t=a({op:`exists`,path:e},e);if(typeof t!=`boolean`)throw O(`EIO`,e);return t},mkdir:e=>{r({op:`mkdir`,path:e},e)},rm:e=>{r({op:`rm`,path:e},e)},rename:(e,t)=>{r({op:`rename`,path:e,arg2:t},e)},unlink:e=>{r({op:`unlink`,path:e},e)},rmdir:e=>{r({op:`rmdir`,path:e},e)},symlink:(e,t)=>{r({op:`symlink`,path:t,arg2:e},t)},readlink:e=>{let t=a({op:`readlink`,path:e},e);if(typeof t!=`string`)throw O(`EIO`,e);return t},chmod:(e,t)=>{r({op:`chmod`,path:e,mode:t},e)},utimes:(e,t,n)=>{r({op:`utimes`,path:e,atimeMs:t,mtimeMs:n},e)}}}const ce={EACCES:2,EADDRINUSE:3,EADDRNOTAVAIL:4,EAFNOSUPPORT:5,EAGAIN:6,ECONNREFUSED:14,EINPROGRESS:26,EISCONN:30,ENETUNREACH:40,ENOTCONN:53,ENOTSOCK:57,EPROTONOSUPPORT:66,EOPNOTSUPP:138,EBADF:8,ECHILD:12,EINTR:27,EINVAL:28,EIO:29,EMFILE:33,ENOENT:44,ENOSYS:52,ENOTTY:59,ENXIO:60,EPERM:63,EPIPE:64,ESPIPE:70,ESRCH:71};function A(e){return ce[e]??29}const j=2048,le=49663,M=/^\/dev\/(?:ptmx|pts\/(\d+))$/;function N(e){return M.test(e)}function ue(e){let t=M.exec(e)?.[1],n=new Date;return{dev:22,ino:t===void 0?2:3+Number(t),mode:t===void 0?8630:8592,nlink:1,uid:1e3,gid:1e3,rdev:t===void 0?1282:34816|Number(t),size:0,blksize:4096,blocks:0,atime:n,mtime:n,ctime:n}}var P=class extends Error{status;constructor(e){super(`exit ${e}`),this.status=e}},F=class extends Error{code;constructor(e){super(e),this.code=e}};function I(e){return e.sliccKernelSocket===!0&&!!(e.flags&2048)}var de=class{Fs;sys;options;refs=new Map;socketRoot;sockets=0;constructor(e,t,n={}){this.Fs=e,this.sys=t,this.options=n}attach(e,t,n){this.refs.set(t,(this.refs.get(t)??0)+1),e.sliccKernelFd=t,e.stream_ops=this.ops(t,e.stream_ops),n??this.sys.isatty?.(t)??!1?e.tty=this.ttyOps(t):delete e.tty}nameTerminal(e){let t=e.sliccKernelFd;if(!e.tty||t===void 0)return;let n=this.sys.ttyName?.(t);n&&this.nameStream(e,n)}nameStream(e,t){e.path=t,typeof this.Fs.stat==`function`&&(e.stream_ops={...e.stream_ops,getattr:()=>this.Fs.stat?.(t)??{}})}ttyOps(e){return{ops:{ioctl_tcgets:()=>this.call(()=>this.sys.tcgets?.(e)),ioctl_tcsets:(t,n,r)=>this.call(()=>(this.sys.tcsets?.(e,r),0)),ioctl_tiocgwinsz:()=>this.call(()=>this.sys.winsize?.(e)??[24,80]),fsync:()=>{}}}}attachFile(e,t){this.attach(e,t,!1),e.sliccKernelFile=!0,e.stream_ops={...e.stream_ops,llseek:(e,n,r)=>this.call(()=>this.sys.seek(t,n,r)),fsync:()=>this.call(()=>(this.sys.flush(t),0))}}useControllingTerminal(){if(typeof this.Fs.open!=`function`)return;this.usePtyPaths();let e=this.Fs.open.bind(this.Fs);this.Fs.open=(t,n,r)=>{let i=this.openPty(e,t,n,r);if(i)return i;let a=e(t,n,r);if(!a.tty)return a;if(a.path===`/dev/tty`&&this.sys.openTty){let e;try{e=this.call(()=>this.sys.openTty?.())}catch(e){throw this.Fs.closeStream(a.fd),e}return this.attach(a,e,!0),a}let o;try{o=a.path?this.openNamedTerminal(a.path):void 0}catch(e){throw this.Fs.closeStream(a.fd),e}if(o!==void 0)return this.attach(a,o,!0),a;let s=this.stdioTerminal();return s!==void 0&&this.attach(a,s,!0),a}}openPty(e,t,n,r){let i=/^\/dev\/pts\/(\d+)$/.exec(t);if(t!==`/dev/ptmx`&&!i)return;let{openPty:a,openPts:o}=this.sys;if(!a||!o)return;let s=this.call(()=>i?o(Number(i[1]),!!(n&256)):a()),c;try{c=e(`/dev/null`,n&-705,r)}catch(e){throw this.sys.close(s),e}return this.attach(c,s,!0),this.nameStream(c,t),c}usePtyPaths(){let e=this.Fs;for(let t of[`chown`,`lchown`,`chmod`,`lchmod`]){let n=e[t];typeof n==`function`&&(e[t]=(t,...r)=>N(t)?this.existingPty(t):n.call(e,t,...r))}for(let t of[`stat`,`lstat`]){let n=e[t];typeof n==`function`&&(e[t]=(t,...r)=>N(t)?(this.existingPty(t),ue(t)):n.call(e,t,...r))}}existingPty(e){let t=M.exec(e)?.[1];if(!(t===void 0?this.sys.openPty!==void 0:this.sys.ptyNumbers?.().includes(Number(t))??!1))throw new this.Fs.ErrnoError(A(`ENOENT`))}openNamedTerminal(e){let{openTty:t}=this.sys;if(t)try{return t.call(this.sys,e)}catch(e){return e instanceof F&&e.code===`ENXIO`?void 0:this.call(()=>{throw e})}}stdioTerminal(){for(let e of[0,1,2]){let t=this.Fs.getStream(e);if(t?.sliccKernelFd!==void 0&&t.tty)return t.sliccKernelFd}}attachSocket(e,t){this.attach(e,t,!1),e.sliccKernelSocket=!0}socketStream(e){let t=this.Fs;if(!t.mount||!t.createNode||!t.createStream){let t=this.Fs.open(`/dev/null`,2);return t.flags=e,t}this.socketRoot??=t.mount({mount:()=>t.createNode(null,`/`,16895,0)},{},null);let n=++this.sockets,r=t.createNode(this.socketRoot,`socket:${n}`,le,0),i=new Date,a={dev:0,ino:n,mode:le,nlink:1,uid:0,gid:0,rdev:0,size:0},o={atime:i,mtime:i,ctime:i,blksize:4096,blocks:0};return r.node_ops={getattr:()=>({...a,...o})},t.createStream({node:r,flags:e,seekable:!1,position:0,stream_ops:{}})}usePipes(e){let t=e.createPipe.bind(e);e.createPipe=()=>{let[e,n]=this.call(()=>this.sys.pipe()),r;try{r=t()}catch(t){for(let t of[e,n])try{this.sys.close(t)}catch{}throw t}return this.attach(this.Fs.getStream(r.readable_fd),e,!1),this.attach(this.Fs.getStream(r.writable_fd),n,!1),r}}restarting(e){for(;;)try{return e()}catch(e){if(!(e instanceof F&&e.code===`EINTR`&&this.options.restartable?.()))throw e}}call(e){try{return e()}catch(e){throw e instanceof F?new this.Fs.ErrnoError(A(e.code)):e}}ops(e,t){return{...t,llseek:()=>this.call(()=>{throw new F(`ESPIPE`)}),read:(t,n,r,i)=>this.call(()=>{let a=I(t)?{nonblock:!0}:void 0,o=this.restarting(()=>this.sys.read(e,i,a));return n.set(o,r),o.length}),write:(t,n,r,i)=>{try{let a=n.slice(r,r+i),o=I(t)?{nonblock:!0}:void 0;return this.restarting(()=>this.sys.write(e,a,o))}catch(e){if(e instanceof F&&e.code===`EPIPE`&&!this.options.sigpipe?.())throw new P(141);return this.call(()=>{throw e})}},fsync:()=>0,poll:()=>{let t=this.call(()=>this.sys.poll(e)),n=0;return t.readable&&(n|=65),t.writable&&(n|=260),t.hangup&&(n|=t.readable?16:8),n},dup:n=>{t.dup?.(n),this.refs.set(e,(this.refs.get(e)??0)+1)},close:n=>{try{t.close?.(n)}catch{}let r=(this.refs.get(e)??1)-1;if(r>0){this.refs.set(e,r);return}this.refs.delete(e);try{this.sys.close(e)}catch{}}}}};function L(e){return e.ok?0:-A(e.errno)}function R(e){return e.ok?e.kind===`json`&&typeof e.json==`number`?e.json:-A(`EIO`):-A(e.errno)}function fe(e,t){let n=[],r=new Uint8Array(65536);try{for(let i=e.read(t,r,0,r.length);i>0;)n.push(r.slice(0,i)),i=e.read(t,r,0,r.length)}catch{}let i=new Uint8Array(n.reduce((e,t)=>e+t.length,0)),a=0;for(let e of n)i.set(e,a),a+=e.length;return i}function z(e,t,n,r,i){let a=t=>e.getStream(t)?.sliccKernelFd,o=n.map(a),s=r.map(a),c=t.call({op:`fd-select`,read:o,write:s,timeoutMs:i},1/0,`select`);if(!c.ok)return-A(c.errno);let l=c.kind===`json`?c.json:{read:[],write:[]};return{read:n.filter((e,t)=>l.read.includes(o[t])),write:r.filter((e,t)=>l.write.includes(s[t]))}}function pe(e,t,n){let r=t=>{let n=e.getStream(t);return n?n.stream_ops.poll?n.stream_ops.poll(n):5:32};return{read:t.filter(e=>r(e)&57),write:n.filter(e=>r(e)&44)}}function me(e){let{transport:t,Fs:n}=e,r=new Map,i=(e,n)=>t.call(e,1/0,n),a=(e,t,r)=>{let i=e>=0?n.getStream(e):null;return i?(r?.(i),i.sliccKernelFd===void 0?i.path===`/dev/null`?{none:!0}:t===0?{input:fe(n,i)}:{capture:!0}:{fd:i.sliccKernelFd}):{none:!0}},o=(n,r,i=0)=>{let a={op:`proc-wait`,pid:n,nohang:r,...i&2?{untraced:!0}:{},...i&8?{continued:!0}:{}},o=t.call(a,1/0,`proc-wait ${n}`);for(;!o.ok&&o.errno===`EINTR`&&e.restartable?.();)o=t.call(a,1/0,`proc-wait ${n}`);if(!o.ok)return-A(o.errno);let s=o.kind===`json`?o.json:[0,0];return s[0]>0&&e.afterChild(),[s[0],s[1]]},s=(e,r,i)=>{let a=t.call({op:`proc-captured`,pid:e,slot:r},1/0,`proc-captured ${e}`),o=n.getStream(i);a.ok&&a.kind===`bytes`&&a.bytes.length>0&&o&&n.write(o,a.bytes,0,a.bytes.length)};return{spawn(i,c,l,u,d,f){e.beforeSpawn();let p=e.stdioPromoter?.(),m=[0,1,2].map(e=>a(d[e]??-1,e,p)),h=e.inherit?.(f)??[],g=t.call({op:`proc-spawn`,file:i,argv:c,env:l??e.env,cwd:u??n.cwd(),stdio:m,...h.length>0?{inherit:h}:{}},1/0,`proc-spawn ${i}`);if(!g.ok)return-A(g.errno);let _=g.kind===`json`?g.json:0,v=[1,2].filter(e=>`capture`in m[e]);if(v.length===0)return _;let y=o(_,!1);if(typeof y==`number`)return y;for(let e of v)s(_,e,d[e]);return r.set(_,y[1]),_},fork(r){e.beforeSpawn();let i=e.describeFork(),a=t.call({op:`proc-fork`,state:{...r,streams:i,cwd:n.cwd()}},1/0,`proc-fork`);return a.ok?a.kind===`json`?a.json:-A(`EIO`):-A(a.errno)},select(e,r,i){let a=e=>n.getStream(e)?.sliccKernelFd,o=e=>a(e)===void 0;if(![...e,...r].some(o))return z(n,t,e,r,i);let s=i<0?1/0:Date.now()+i,c=e.filter(e=>!o(e)),l=r.filter(e=>!o(e));for(;;){let i=pe(n,e.filter(o),r.filter(o)),a=i.read.length>0||i.write.length>0?0:Math.min(20,Math.max(0,s-Date.now())),u=z(n,t,c,l,a);if(typeof u==`number`)return u;let d={read:[...i.read,...u.read],write:[...i.write,...u.write]};if(d.read.length>0||d.write.length>0||Date.now()>=s)return d}},execWait(n){let r=t.call({op:`proc-exec`,pid:n},1/0,`exec ${n}`);return r.ok?(e.afterChild(),r.kind===`json`?r.json[1]:0):-A(r.errno)},pause(){return L(i({op:`sig-pause`},`pause`))},kill(t,n){return t===e.pid?(n!==0&&e.raise?.(n),0):L(i({op:`proc-kill`,pid:t,sig:n},`kill ${t}`))},setpgid:(e,t)=>L(i({op:`proc-setpgid`,pid:e,pgid:t},`setpgid`)),setsid:()=>R(i({op:`proc-setsid`},`setsid`)),getpgid:e=>R(i({op:`proc-getpgid`,pid:e},`getpgid`)),getsid:e=>R(i({op:`proc-getsid`,pid:e},`getsid`)),tcgetpgrp(e){let t=n.getStream(e)?.sliccKernelFd;return t===void 0?-A(`ENOTTY`):R(i({op:`tty-pgrp-get`,fd:t},`tcgetpgrp`))},tcsetpgrp(e,t){let r=n.getStream(e)?.sliccKernelFd;return r===void 0?-A(`ENOTTY`):L(i({op:`tty-pgrp-set`,fd:r,pgrp:t},`tcsetpgrp`))},wait(e,t,n){let i=e>0?r.has(e)?e:void 0:r.keys().next().value;if(i!==void 0){let e=r.get(i);return r.delete(i),[i,e]}return o(e,t,n)}}}function he(e){let t=e?.code;if(typeof t==`string`)return-A(t);throw e}function ge(e,t){return(n,r,i)=>{let a=r>>>0;if(a!==2147767344&&a!==1074025521&&a!==21518&&a!==21524&&a!==21536)return e(n,r,i);let o=t.fs()?.getStream(n)?.sliccKernelFd;if(o===void 0)return e(n,r,i);let s=t.heap();if(!s)return-A(`EFAULT`);let c=(s[i>>2]??0)>>>0;try{return _e(a,o,c,s,t.kernel)}catch(e){return he(e)}}}function _e(e,t,n,r,i){switch(e){case 2147767344:return r[n>>2]=i.ptyNumber(t),0;case 1074025521:return i.ptyLock(t,(r[n>>2]??0)!==0),0;case 21518:return i.setControllingTerminal(t),0;case 21536:return i.setPacketMode(t,(r[n>>2]??0)!==0),0;default:{let e=r[n>>2]??0;return i.setWinsize(t,e&65535,e>>>16&65535),0}}}const B=524288;function V(e){return e.sliccCloexec===!0}function H(e,t){t?e.sliccCloexec=!0:delete e.sliccCloexec}const U=new WeakSet;function W(e){if(!U.has(e)){if(U.add(e),typeof e.dupStream==`function`){let t=e.dupStream.bind(e);e.dupStream=(e,n)=>{let r=t(e,n);return H(r,!1),r}}if(typeof e.open==`function`){let t=e.open.bind(e);e.open=(e,n,r)=>{let i=typeof n==`number`&&!!(n&524288),a=t(e,i?n&-524289:n,r);return H(a,i),a}}}}function G(e){return(t,n)=>{let r=e.fs()?.getStream(t);r&&H(r,n)}}function ve(e,t){let n=G(t);return(r,i,a)=>{if(i===1030){let t=e(r,0,a);return t>=0&&n(t,!0),t}if(i===3){let t=e(r,i,a);return t<0?t:t&-524289}if(i!==1&&i!==2)return e(r,i,a);let o=t.fs()?.getStream(r);if(!o)return-A(`EBADF`);if(i===1)return+!!V(o);let s=t.heap()?.[a>>2];return s===void 0?-A(`EINVAL`):(H(o,!!(s&1)),0)}}function ye(e,t){let n=G(t);return(r,i)=>{let a=e(r,i&-524289),o=t.heap();return a===0&&i&524288&&o&&(n(o[r>>2],!0),n(o[(r>>2)+1],!0)),a}}function K(e,t,n){let r=G(n);return(...n)=>{let i=!!((n[t]??0)&B);i&&(n[t]=n[t]&-524289);let a=e(...n);return a>=0&&r(a,i),a}}const q={fcntl:`__syscall_fcntl64`,pipe2:`__syscall_pipe2`,dup3:`__syscall_dup3`,socket:`__syscall_socket`,accept4:`__syscall_accept4`,ioctl:`__syscall_ioctl`,setitimer:`_setitimer_js`};function be(e){let{pty:t,timer:n}=e;return{...n?{setitimer:e=>xe(e,n)}:{},fcntl:t=>ve(t,e),pipe2:t=>ye(t,e),dup3:t=>K(t,2,e),socket:t=>K(t,1,e),accept4:t=>K(t,3,e),...t?{ioctl:n=>ge(n,{fs:e.fs,heap:e.heap,kernel:t})}:{}}}function xe(e,t){return(n,r)=>n===0?(t.arm(r??0),0):e(n,r)}function Se(e,t,n){let r=Object.keys(q);return r.find(t=>e[t]!==void 0&&e[t]===n)||(typeof n==`function`?r.find(n=>e[n]!==void 0&&q[n]===t):void 0)}function Ce(e,t,n){if(!t)return;let r=be(n),i=new Set;for(let n of Object.values(e))if(!(!n||typeof n!=`object`||i.has(n))){i.add(n);for(let[e,i]of Object.entries(n)){let a=Se(t,e,i),o=a&&r[a];o&&(n[e]=o(i))}}}function we(e,t){let n=e=>e instanceof WebAssembly.Memory,r=Object.values(e.exports).find(n);if(r)return r;for(let e of Object.values(t)){let t=Object.values(e??{}).find(n);if(t)return t}}function Te(e,t){let n=[];for(let r of`${e.startsWith(`/`)?``:t}/${e}`.split(`/`))r!==``&&r!==`.`&&(r===`..`?n.pop():n.push(r));let r=`/${n.join(`/`)}`,i=[`/dev/stdin`,`/dev/stdout`,`/dev/stderr`].indexOf(r);if(i>=0)return i;let a=/^\/(?:dev|proc\/self)\/fd\/(\d+)$/.exec(r);return a?Number(a[1]):void 0}function J(e,t){let n=new Date;return{dev:1,ino:t,mode:e,nlink:1,uid:0,gid:0,rdev:0,size:0,atime:n,mtime:n,ctime:n,blksize:4096,blocks:0}}function Ee(e){let t;try{t=e.lookupPath?.(`/proc/self/fd`,{follow:!0})?.node}catch{return}let n=t?.node_ops,r=n?.lookup;!t||!r||n.getattr||(t.node_ops={...n,getattr:()=>J(16749,1),lookup:(e,t)=>{let n=r(e,t);return n.node_ops={...n.node_ops,getattr:()=>J(41408,n.id??0)},n}})}function De(e){if(typeof e.open!=`function`)return;try{e.symlink?.(`/proc/self/fd`,`/dev/fd`)}catch{}Ee(e);let t=t=>typeof t==`string`?Te(t,e.cwd()):void 0,n=t=>{let n=e.getStream(t);if(!n)throw new e.ErrnoError(A(`EBADF`));return n},r=e.open.bind(e);e.open=(i,a,o)=>{let s=t(i);if(s===void 0)return r(i,a,o);let c=e.dupStream(n(s),-1);return H(c,typeof a==`number`&&!!(a&524288)),c};let{stat:i,fstat:a}=e;typeof i==`function`&&typeof a==`function`&&(e.stat=(r,o)=>{let s=o?void 0:t(r);return s===void 0?i.call(e,r,o):(n(s),a.call(e,s))})}const Y=`/dev/slicc-fd`;function Oe(e,t){let n=t.node;return n.live!==void 0&&e.isFile(n.mode)}function ke(e){let t=e.node.live;if(t?.orphan)return t.data?.slice(0,t.len??t.data.length)??new Uint8Array}function X(e,t,n,r){let i=new Map;return a=>{if(a.sliccKernelFd!==void 0||!Oe(e,a))return;let o=i.get(a.shared);if(o===void 0){let e=ke(a);o=t.openVfs(r(a),a.flags,a.position,e===void 0?void 0:{contents:e,orphan:!0}),i.set(a.shared,o)}n.attachFile(a,o)}}function Ae(e,t,n,r){let i=X(e,t,n,r),a=[];for(let t of e.streams)if(t){if(i(t),t.sliccKernelFd!==void 0)a.push(je(t,t.sliccKernelFd));else if(t.path){let e=t.flags|(V(t)?B:0);a.push({fd:t.fd,path:t.path,flags:e})}}return a}function je(e,t){let n=V(e)?{cloexec:!0}:{};if(e.sliccKernelSocket)return{fd:e.fd,kernel:t,kind:`socket`,flags:e.flags,...n};let r=e.sliccKernelFile?`file`:e.tty?`tty`:`stream`;return{fd:e.fd,kernel:t,kind:r,...n}}const Me={0:`read`,1:`write`},Ne={"/dev/null":`null`,"/dev/zero":`zero`,"/dev/urandom":`urandom`,"/dev/random":`urandom`};function Pe(e,t,n,r,i=[]){let a=new Map;for(let t of e.streams)t&&a.set(t.fd,{stream:t,cloexec:V(t)});for(let[e,t]of i){if(e<=2)continue;let n=t>=0?a.get(t):void 0;n?a.set(e,{stream:n.stream,cloexec:!1}):a.delete(e)}let o=new Map;for(let[e,{stream:t,cloexec:n}]of a)e>2&&!n&&o.set(e,t);let s=X(e,t,n,r),c=[];for(let[e,t]of o){s(t);let n=Fe(e,t);n&&c.push(n)}return c}function Fe(e,t){if(t.sliccKernelFd===void 0){let n=t.path===void 0?void 0:Ne[t.path];if(!n)return;let r=Me[t.flags&3];return{fd:e,device:n,...r?{access:r}:{}}}let n=t.sliccKernelSocket?{flags:t.flags}:{};return{fd:e,kernel:t.sliccKernelFd,...n}}function Ie(e,t,n){if(t.fd===n)return t;let r=e.dupStream(t,n);return e.closeStream(t.fd),r}function Le(e,t,n){return n.kind===`socket`?t.socketStream(n.flags??2):n.kind===`tty`?e.open(`/dev/tty`,2):n.kind===`stream`?e.open(`/dev/null`,2):(e.mkdirTree(Y),e.open(`${Y}/${n.fd}`,66))}let Re=1073741824;const ze=new WeakMap;function Be(e,t,n){let r=ze.get(t);r||ze.set(t,r=new Map);let i=r.get(n);i===void 0&&r.set(n,i=Re++);let a=e.node,o=i;e.stream_ops={...e.stream_ops,getattr:()=>({...a.node_ops?.getattr?.(a),mode:4480,ino:o,size:0})}}function Ve(e,t,n){let r=Ie(e,Le(e,t,n),n.fd);return n.kind===`file`?t.attachFile(r,n.kernel):n.kind===`socket`?t.attachSocket(r,n.kernel):t.attach(r,n.kernel,n.kind===`tty`),n.kind===`tty`&&t.nameTerminal(r),n.kind===`stream`&&Be(r,t,n.desc===void 0?`k${n.kernel}`:`d${n.desc}`),H(r,n.cloexec===!0),r}function He(e,t,n){for(let t of e.streams)t&&e.closeStream(t.fd);for(let r of n)try{`kernel`in r?Ve(e,t,r):H(Ie(e,e.open(r.path,r.flags&-705),r.fd),!!(r.flags&B))}catch{}}const Z={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};Z.CHLD,Z.URG,Z.WINCH,Z.STOP,Z.TSTP,Z.TTIN,Z.TTOU;function Q(e){return 1<<e}function Ue(e){let t=[];for(let n=1;n<=31;n++)e&Q(n)&&t.push(n);return t}Z.INT,Z.TERM,Z.KILL,Z.STOP,Z.CONT;var We=class{raw;header;hooks;reported={caught:0,ignored:0};restart=0;lastDelivered=0;depth=0;reporting=!1;constructor(e,t,n){this.raw=e,this.header=t,this.hooks=n}transport(){return{call:(e,t,n)=>{this.report(),this.depth++;try{let r=this.raw.call(e,t,n);return this.deliver(),r}finally{this.depth--}}}}restartable(){return this.lastDelivered!==0&&(this.lastDelivered&~this.restart)===0}report(){if(this.reporting)return;this.reporting=!0;let e;try{e=this.hooks.masks()}catch{e=null}finally{this.reporting=!1}if(!e)return;this.restart=e.restart;let{caught:t,ignored:n}=e;(t!==this.reported.caught||n!==this.reported.ignored)&&(this.reported={caught:t,ignored:n},this.raw.call({op:`sig-mask`,caught:t,ignored:n},1/0,`sig-mask`))}deliver(){let e=Atomics.exchange(this.header,9,0),t=Atomics.exchange(this.header,8,0);this.depth<=1&&(this.lastDelivered=t|(e&1?Q(Z.ALRM):0));for(let t=0;t<3;t++)e&1<<t&&this.hooks.timer?.(t);for(let e of Ue(t))this.hooks.raise(e)}};function Ge(e){if(e instanceof F)return-A(e.code);let t=e?.errno;if(typeof t==`number`)return-t;throw e}function Ke(e,t){if(t.family!==`unix`||!t.path||t.path.startsWith(`\0`))return;let n=e,r;try{r=e.open(t.path,193,493)}catch(e){throw e?.errno===A(`EEXIST`)?new F(`EADDRINUSE`):e}return e.close?e.close(r):e.closeStream(r.fd),{remove:()=>n.unlink?.(t.path)}}function qe(e){let{transport:t,Fs:n,sys:r,streams:i}=e,a=e=>{let n=t.call(e,1/0,e.op);if(!n.ok)throw new F(n.errno);return n},o=e=>{let t=a(e);return t.ok&&t.kind===`json`?t.json:void 0},s=e=>(a(e),0),c=t=>{for(;;)try{return t()}catch(t){if(!(t instanceof F&&t.code===`EINTR`&&e.restartable?.()))return Ge(t)}},l=e=>{let t=n.getStream(e);if(!t)throw new F(`EBADF`);if(!t.sliccKernelSocket||t.sliccKernelFd===void 0)throw new F(`ENOTSOCK`);return t},u=e=>l(e).sliccKernelFd,d=(e,t,n=!1)=>{let a;try{a=i.socketStream(2|(t?j:0))}catch(t){throw r.close(e),t}return i.attachSocket(a,e),H(a,n),a.fd};return{socket:(e,t,n)=>c(()=>d(o({op:`sock-open`,domain:e}),t,n)),socketpair:(e,t,i)=>c(()=>{let[a,s]=o({op:`sock-pair`,domain:e}),c;try{c=d(a,t,i)}catch(e){throw r.close(s),e}try{return[c,d(s,t,i)]}catch(e){let t=n.getStream(c);throw t&&t.stream_ops.close?.(t),n.closeStream(c),e}}),bind:(e,t)=>c(()=>{let r=Ke(n,t);try{return s({op:`sock-bind`,fd:u(e),addr:t})}catch(e){throw r?.remove(),e}}),listen:(e,t)=>c(()=>s({op:`sock-listen`,fd:u(e),backlog:t})),accept:(e,t,n)=>c(()=>{let r=l(e),i={op:`sock-accept`,fd:r.sliccKernelFd,nonblock:!!(r.flags&j)},a=o(i);return{fd:d(a.fd,t,n),peer:a.peer}}),connect:(e,t)=>c(()=>{let n=l(e),r=!!(n.flags&j);return s({op:`sock-connect`,fd:n.sliccKernelFd,addr:t,nonblock:r})}),shutdown:(e,t)=>c(()=>s({op:`sock-shutdown`,fd:u(e),how:t})),name:(e,t)=>c(()=>o({op:`sock-name`,fd:u(e),peer:t})),getopt:(e,t,n)=>c(()=>({value:o({op:`sock-getopt`,fd:u(e),level:t,name:n})})),setopt:(e,t,n,r)=>c(()=>s({op:`sock-setopt`,fd:u(e),level:t,name:n,value:r})),send:(t,n,i)=>c(()=>{let a=l(t),o=i.dontwait===!0||!!(a.flags&2048);try{return r.write(a.sliccKernelFd,n,{nonblock:o})}catch(t){throw t instanceof F&&t.code===`EPIPE`&&!i.nosignal&&!e.sigpipe?.()?new P(141):t}}),recv:(e,t,n)=>c(()=>{let i=l(e),a=n.dontwait===!0||!!(i.flags&2048);return r.read(i.sliccKernelFd,t,{nonblock:a,peek:n.peek===!0})})}}function Je(e){let{stat:t,fstat:n}=e,r=e=>({...e,uid:1e3,gid:1e3});typeof t==`function`&&(e.stat=(n,i)=>r(t.call(e,n,i))),typeof n==`function`&&(e.fstat=t=>r(n.call(e,t)))}function Ye(e){let t=(t,n)=>{let r=e.call(t,1/0,n);if(!r.ok)throw new F(r.errno);return r},n=e=>e.ok&&e.kind===`json`?e.json:void 0;return{read(e,n,r){let i={...r?.nonblock?{nonblock:!0}:{},...r?.peek?{peek:!0}:{}},a=t({op:`fd-read`,fd:e,max:n,...i},`fd-read ${e}`);return a.ok&&a.kind===`bytes`?a.bytes:new Uint8Array},write(e,r,i){let a={op:`fd-write`,fd:e,body:r,...i?.nonblock?{nonblock:!0}:{}},o=n(t(a,`fd-write ${e}`));return typeof o==`number`?o:r.length},close(e){t({op:`fd-close`,fd:e},`fd-close ${e}`)},pipe(){return n(t({op:`fd-pipe`},`fd-pipe`))},poll(e){return n(t({op:`fd-poll`,fd:e},`fd-poll ${e}`))},openVfs(e,r,i,a){return n(t({op:`fd-open-vfs`,path:e,flags:r,position:i,...a?.contents===void 0?{}:{contents:a.contents},...a?.orphan?{orphan:!0}:{},...a?.truncate?{truncate:!0}:{},...a?.create?{create:!0}:{}},`fd-open-vfs ${e}`))},seek(e,r,i){return n(t({op:`fd-seek`,fd:e,offset:r,whence:i},`fd-seek ${e}`))},flush(e){t({op:`fd-flush`,fd:e},`fd-flush ${e}`)},pread(e,n,r){let i=t({op:`fd-pread`,fd:e,max:n,offset:r},`fd-pread ${e}`);return i.ok&&i.kind===`bytes`?i.bytes:new Uint8Array},isatty(e){return n(t({op:`fd-info`,fd:e},`fd-info ${e}`))?.tty===!0},ttyName(e){return n(t({op:`fd-info`,fd:e},`fd-info ${e}`))?.name},openTty(e){return n(t(e===void 0?{op:`fd-open-tty`}:{op:`fd-open-tty`,name:e},`fd-open-tty ${e??``}`))},tcgets(e){return n(t({op:`tty-get`,fd:e},`tty-get ${e}`))},tcsets(e,n){t({op:`tty-set`,fd:e,termios:n},`tty-set ${e}`)},winsize(e){return n(t({op:`tty-winsz`,fd:e},`tty-winsz ${e}`))},openPty(){return n(t({op:`pty-open`},`pty-open`))},openPts(e,r){return n(t({op:`pty-slave-open`,n:e,noctty:r},`pty-slave-open ${e}`))},ptyNumbers(){return n(t({op:`pty-list`},`pty-list`))},ptyNumber(e){return n(t({op:`pty-number`,fd:e},`pty-number ${e}`))},ptyLock(e,n){t({op:`pty-lock`,fd:e,lock:n},`pty-lock ${e}`)},setControllingTerminal(e){t({op:`pty-ctty`,fd:e},`pty-ctty ${e}`)},setPacketMode(e,n){t({op:`pty-packet`,fd:e,on:n},`pty-packet ${e}`)},setWinsize(e,n,r){t({op:`pty-winsz-set`,fd:e,rows:n,cols:r},`pty-winsz-set ${e}`)}}}function Xe(e,t,n){n.device&&Ze(e,n.fd,n.device)||Ve(e,t,{...n,kind:n.device?`stream`:n.kind,kernel:n.fd})}function Ze(e,t,n){let r=n.access===`read`?0:n.access===`write`?1:2,i;try{i=e.open(`/dev/${n.device}`,r)}catch{return!1}return i.fd!==t&&(e.dupStream(i,t),e.closeStream(i.fd)),!0}function Qe(e,t){for(let n of[0,1,2]){let r=e.getStream(n);r&&(t.attach(r,n),t.nameTerminal(r))}}function $e(e){return e.startsWith(`#!`)?e.slice(e.indexOf(`
2
- `)+1):e}const et=[`if (typeof ENV !== 'undefined') Object.assign(ENV, Module.sliccEnv);`,`const __sliccTake = (name, value) => {`,` const own = Object.getOwnPropertyDescriptor(Module, name);`,` if (own && 'value' in own && own.value != null) return;`,` Object.defineProperty(Module, name, { value, writable: true, configurable: true, enumerable: true });`,`};`,`if (typeof FS !== 'undefined') __sliccTake('FS', FS);`,`if (typeof callMain === 'function') __sliccTake('callMain', callMain);`,`if (typeof sliccRunMain === 'function') __sliccTake('sliccRunMain', sliccRunMain);`,`if (typeof sliccForkChild === 'function') __sliccTake('sliccForkChild', sliccForkChild);`,`if (typeof PIPEFS !== 'undefined') __sliccTake('PIPEFS', PIPEFS);`,`Module.sliccSyscalls ??= {`,` fcntl: typeof ___syscall_fcntl64 === 'function' ? ___syscall_fcntl64 : undefined,`,` pipe2: typeof ___syscall_pipe2 === 'function' ? ___syscall_pipe2 : undefined,`,` dup3: typeof ___syscall_dup3 === 'function' ? ___syscall_dup3 : undefined,`,` socket: typeof ___syscall_socket === 'function' ? ___syscall_socket : undefined,`,` accept4: typeof ___syscall_accept4 === 'function' ? ___syscall_accept4 : undefined,`,` ioctl: typeof ___syscall_ioctl === 'function' ? ___syscall_ioctl : undefined,`,` setitimer: typeof __setitimer_js === 'function' ? __setitimer_js : undefined,`,`};`,`const __sliccUp = () =>`,` (typeof runtimeInitialized === 'undefined' || runtimeInitialized) &&`,` !(typeof runtimeExited !== 'undefined' && runtimeExited) &&`,` !(typeof ABORT !== 'undefined' && ABORT);`,`Module.sliccSigpipe ??= () => (__sliccUp() && typeof _slicc_sigpipe === 'function' ? _slicc_sigpipe() : -1);`,`Module.sliccSigMask ??= (w) => (__sliccUp() && typeof _slicc_sig_mask === 'function' ? _slicc_sig_mask(w) : -1);`,`Module.sliccRaise ??= (sig) => { if (__sliccUp() && typeof _slicc_raise === 'function') _slicc_raise(sig); };`,`Module.sliccTimerFire ??= (which) => {`,` if (!__sliccUp() || typeof __emscripten_timeout !== 'function') return false;`,` __emscripten_timeout(which, typeof _emscripten_get_now === 'function' ? _emscripten_get_now() : performance.now());`,` return true;`,`};`,`if (typeof SliccFork !== 'undefined' && !SliccFork.balancesKeepalive && typeof runtimeKeepalivePop === 'function') {`,` let __sliccForking = SliccFork.forking === true;`,` Object.defineProperty(SliccFork, 'forking', {`,` get: () => __sliccForking,`,` set: (on) => { if (__sliccForking && !on) runtimeKeepalivePop(); __sliccForking = on; },`,` configurable: true,`,` });`,`}`].join(`
3
- `);function $(e,t){let n=Object.getOwnPropertyDescriptor(e,t);return n&&`value`in n?n.value:void 0}const tt=(e,t)=>{let n;try{n=Function(`Module`,`${$e(e)}\n;${et}`)}catch(e){throw e instanceof EvalError?Error(nt):e}n(t)},nt=`the wasm realm evaluates the program's Emscripten glue, and this page's CSP forbids eval (no 'unsafe-eval')`;function rt(e){let t=e.sliccSigMask,n=t?.(0)??-1;return!t||n===-1?null:{caught:n,ignored:t(1),restart:t(2)}}async function it(e,t,n={}){let i=new We(D(e.sab,t),new Int32Array(e.sab,0,16),{masks:()=>rt(p),raise:e=>p.sliccRaise?.(e),timer:e=>{let t=p;t.sliccTimerFire?.(e)||t.sliccRaise?.(Z.ALRM)}}),a=i.transport(),o=Ye(a),s=new TextEncoder,c=e=>t=>o.write(e,s.encode(`${t}\n`)),l,u,d,f=new Promise((e,t)=>{l=e,u=t}),p={noInitialRun:!0,thisProgram:e.argv0,sliccPid:e.pid,...e.ppid===void 0?{}:{sliccPpid:e.ppid},sliccEnv:e.env,print:c(1),printErr:c(2),instantiateWasm(t,n){return Promise.resolve().then(()=>(Ce(t,$(p,`sliccSyscalls`),{fs:()=>$(p,`FS`),heap:()=>d?new Int32Array(d.buffer):void 0,pty:o,timer:{arm:e=>{a.call({op:`proc-alarm`,sig:Z.ALRM,ms:e,repeat:!1,timer:0},1/0,`alarm`)}}}),WebAssembly.instantiate(e.program.module,t))).then(r=>{d=we(r,t),n(r,e.program.module)},u),{}},preRun:[t=>{if(!at(t))return;let n=t.FS;W(n);try{n.mkdirTree(e.cwd),n.chdir(e.cwd)}catch{}}],onRuntimeInitialized:()=>l()};(n.evaluate??tt)(e.program.glue,p),await f;let m=p;if(!at(m))return ot(m,e);let h=re(m.FS,{bridge:k(a),syncFs:new ae({entries:[]}),cwd:e.cwd,warn:n.warn??c(2)},{cwd:e.cwd}),g=()=>m.sliccSigpipe?.()===1,_=()=>i.restartable(),v=new de(m.FS,o,{sigpipe:g,restartable:_});if(W(m.FS),e.fork)He(m.FS,v,e.fork.streams??[]);else{Qe(m.FS,v);for(let t of e.fds??[])Xe(m.FS,v,t)}let y=$(m,`PIPEFS`);y&&v.usePipes(y),v.useControllingTerminal(),De(m.FS),Je(m.FS);let b=e=>r(e.node);m.sliccKernel=me({transport:a,Fs:m.FS,env:e.env,beforeSpawn:()=>h.flush(),afterChild:()=>h.invalidate(),pid:e.pid,raise:e=>m.sliccRaise?.(e),restartable:_,describeFork:()=>Ae(m.FS,o,v,b),inherit:e=>Pe(m.FS,o,v,b,e),stdioPromoter:()=>X(m.FS,o,v,b)}),m.sliccKernel.net=qe({transport:a,Fs:m.FS,sys:o,streams:v,sigpipe:g,restartable:_});try{return st(m,e)}finally{h.flush()}}function at(e){return typeof $(e,`FS`)?.getStream==`function`}function ot(e,t){if(t.fork)throw Error(`${t.argv0} cannot resume a fork: it has no filesystem`);return st(e,t)}function st(e,t){try{if(t.fork){if(!e.sliccForkChild)throw Error(`${t.argv0} cannot resume a fork`);return e.sliccForkChild({...t.fork,pid:t.pid})??0}return(e.sliccRunMain??e.callMain)(t.args)??0}catch(e){let t=e?.status;if(typeof t!=`number`)throw e;return t}}const ct=`wasm-process-exit`,lt=`wasm-process-error`,ut=`wasm-thread-spawn`,dt=`wasm-thread-exit`,ft=()=>import(`./wasi-runtime-BBxEcrtW.js`);function pt(e,t={}){let n=t.wasi??ft,r=t.emscripten??it,i=t=>e.postMessage({type:lt,message:t instanceof Error?t.stack??t.message:String(t)});return t=>{let a=t?.type;if(a===`wasm-thread-init`){n().then(n=>n.runWasiThread(t,e)).catch(i);return}if(a!==`wasm-process-init`)return;let o=t;(o.program.abi===`wasi`?n().then(t=>t.runWasiProcess(o,e)):r(o,e)).then(t=>e.postMessage({type:ct,code:t}),i)}}const mt=pt({postMessage:e=>self.postMessage(e)});self.addEventListener(`message`,e=>mt(e.data));export{Ye as a,Q as c,D as d,ut as i,F as l,ct as n,We as o,dt as r,Z as s,lt as t,k as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./store-tvt1tIjf.js";import"./provider-BVtwgFuj.js";export{e as readMcpAuthEntries};
@@ -1 +0,0 @@
1
- import{t as e}from"./provider-D5HnoEAQ.js";export{e as readMcpAuthEntries};
@@ -1 +0,0 @@
1
- function e(){return{version:`6.240.2`,releasedAt:`2026-10-07T06:07:02Z`,buildId:`6.240.2-muxpgj1v`}}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-Cf7ATuAZ.js";export{e as hasOnboardingFinalLickInHistory};