sliccy 6.184.1 → 6.185.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/.vite/manifest.json +182 -182
- package/dist/ui/assets/{account-store-DTV6kIpp.js → account-store-C41qiTs8.js} +1 -1
- package/dist/ui/assets/{account-store-C4KjAHlX.js → account-store-CdWvtLK5.js} +1 -1
- package/dist/ui/assets/{adobe-8BwYMBH1.js → adobe-Cuq2cJ2f.js} +1 -1
- package/dist/ui/assets/{adobe-D1va8rcF.js → adobe-pJP3L2S1.js} +1 -1
- package/dist/ui/assets/{agent-panels-C9crA88R.js → agent-panels-Ca0HA81F.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-CRQ9G9pP.js → almost-bash-shell-headless-3-QEOXc2.js} +496 -496
- package/dist/ui/assets/{apply-layout-CdtS0gND.js → apply-layout-CKuJgZ53.js} +1 -1
- package/dist/ui/assets/{apps-BwvRAJ2z.js → apps-DZhY4wWQ.js} +1 -1
- package/dist/ui/assets/{azure-openai-BaUEpmbx.js → azure-openai-BWRYpShR.js} +1 -1
- package/dist/ui/assets/{azure-openai-CnDYLFFc.js → azure-openai-DR1sAgZg.js} +1 -1
- package/dist/ui/assets/{backend-hostfs-C5cEq45W.js → backend-hostfs-Bgb_DsUT.js} +1 -1
- package/dist/ui/assets/{browser-BM_DFzrh.js → browser-Cja95Zor.js} +9 -8
- package/dist/ui/assets/{cdp-C3amJu-z.js → cdp-D8ppMyya.js} +1 -1
- package/dist/ui/assets/{cerebras-Cf4ghg_0.js → cerebras-C_6PRb_m.js} +1 -1
- package/dist/ui/assets/{cerebras-DKRiYfUX.js → cerebras-Drhn15WH.js} +1 -1
- package/dist/ui/assets/{composer-speech-ZtlTCagR.js → composer-speech-CJ5WxRmi.js} +1 -1
- package/dist/ui/assets/{connect-surface-C-rLJwMl.js → connect-surface-B25ziPK_.js} +1 -1
- package/dist/ui/assets/{cost-command-CitGzr6C.js → cost-command-BZZ15zbR.js} +1 -1
- package/dist/ui/assets/{directed-approval-D7Z1VVLl.js → directed-approval-CHjy_veK.js} +1 -1
- package/dist/ui/assets/{emscripten-vfs-hook-BkdzWGeW.js → emscripten-vfs-hook-BgKVsuWf.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-DGWfCcXo.js → ensure-speech-assets-JOVdeAED.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-PHki-LPb.js → frozen-archive-writer-XUf0GMRR.js} +1 -1
- package/dist/ui/assets/{fs-BA8JNn5I.js → fs-CfJdpL5x.js} +1 -1
- package/dist/ui/assets/{fs-Dh7DECCG.js → fs-DyrFPUp2.js} +2 -2
- package/dist/ui/assets/{gelatiere-store-D2KdbqxE.js → gelatiere-store-DCvfmki0.js} +1 -1
- package/dist/ui/assets/{gelatiere-unit-CKNGUuBk.js → gelatiere-unit-DcQlQ9QA.js} +1 -1
- package/dist/ui/assets/{github-DUDljkmR.js → github-BH0fYYDC.js} +1 -1
- package/dist/ui/assets/{github-BMBhorfe.js → github-J3Pos7xW.js} +2 -2
- package/dist/ui/assets/{github-auth-xb90bdu_.js → github-auth-C0PAZtLa.js} +1 -1
- package/dist/ui/assets/{github-copilot-1g6MUBHE.js → github-copilot-GnnngJgc.js} +1 -1
- package/dist/ui/assets/{github-copilot-DFUFwFmi.js → github-copilot-r7THpGrf.js} +1 -1
- package/dist/ui/assets/{github-install-DO2t0FaF.js → github-install-bXSPtrJ8.js} +1 -1
- package/dist/ui/assets/{github-zip-COiiefUG.js → github-zip-CQ8Hranj.js} +1 -1
- package/dist/ui/assets/{hear-CzG_wrqQ.js → hear-vBH6fz6J.js} +1 -1
- package/dist/ui/assets/{help-BZT7vAmw.js → help-BIRVuAQg.js} +1 -1
- package/dist/ui/assets/{host-command-PUA7nfMk.js → host-command-BUDUMrMx.js} +1 -1
- package/dist/ui/assets/installer-BIr2X4ZR.js +4 -0
- package/dist/ui/assets/js-realm-worker-xXM5hNmY.js +53 -0
- package/dist/ui/assets/{jsh-executor-CHdJJlPA.js → jsh-executor-Sq-_s17Z.js} +2 -2
- package/dist/ui/assets/{kernel-worker-wFbHLDtK.js → kernel-worker-BfQfWWGY.js} +9 -9
- package/dist/ui/assets/{lick-ws-bridge-2mJqZJW3.js → lick-ws-bridge-1KGk00fU.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-DGr37oN3.js → lick-ws-bridge-Cb_x25TH.js} +1 -1
- package/dist/ui/assets/{live-session-curation-DpvRtKub.js → live-session-curation-D2302oBw.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-sOg3VW0I.js → live-session-snapshot-MSEMhtzT.js} +1 -1
- package/dist/ui/assets/{local-llm-C0FwzlKu.js → local-llm-C1bXK5E_.js} +1 -1
- package/dist/ui/assets/{local-llm-B7jLsaQd.js → local-llm-Drx0Pf5F.js} +1 -1
- package/dist/ui/assets/{main-cherry-CAeEGFTA.js → main-cherry-DMGXCqlk.js} +1 -1
- package/dist/ui/assets/{main-Cq6ajFQ0.js → main-ke7UzEyb.js} +3 -3
- package/dist/ui/assets/{memory-curation-seam-fU176zhT.js → memory-curation-seam-BQ0ag4HS.js} +1 -1
- package/dist/ui/assets/{memory-health-C_d-3lw8.js → memory-health-DOBolAoU.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-Da9YnOVT.js → memory-write-execute-iB7MTIuf.js} +1 -1
- package/dist/ui/assets/{mount-CPCf8pdr.js → mount-C8_YWxvL.js} +1 -1
- package/dist/ui/assets/{mount-BYVgiLXs.js → mount-sN1zOOQO.js} +3 -3
- package/dist/ui/assets/{new-session-Dhye3x2f.js → new-session-Chf2aTIb.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-CZjiKc_8.js → oauth-bootstrap-DhxqRx6M.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-C81eNQoO.js → onboarding-orchestrator-CSUMNTNq.js} +1 -1
- package/dist/ui/assets/{openai-codex-DpUh1JB4.js → openai-codex-E3c2zrJK.js} +1 -1
- package/dist/ui/assets/{openai-codex-D9iX7Gou.js → openai-codex-LJJS3BN5.js} +1 -1
- package/dist/ui/assets/{openrouter-CY5ikibo.js → openrouter-B47ePBty.js} +1 -1
- package/dist/ui/assets/{openrouter-vPRbLck_.js → openrouter-HCWd3_Dv.js} +1 -1
- package/dist/ui/assets/{openrouter-free-DO_EvZTI.js → openrouter-free-CndCA5W5.js} +1 -1
- package/dist/ui/assets/{openrouter-free-CGZjzCiS.js → openrouter-free-DEOSmXMR.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-z_B0oYPw.js → openrouter-oauth-BN42fHf7.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CuSqjiRE.js → openrouter-oauth-uaZxqhE3.js} +1 -1
- package/dist/ui/assets/{opfs-mount-DVFLcOol.js → opfs-mount-DmHtfJvm.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-bBORskGx.js → panel-rpc-handlers-DxnZUmep.js} +2 -2
- package/dist/ui/assets/{panelize-shell-QHkAQUAL.js → panelize-shell-S-7afGEn.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-BEKHKcZE.js → pi-edit-execution-Y4T_bzrT.js} +1 -1
- package/dist/ui/assets/{provider-CSJRicyp.js → provider-Cz1V2WqO.js} +1 -1
- package/dist/ui/assets/{provider-CxYe2Bcc.js → provider-DTffpEWN.js} +2 -2
- package/dist/ui/assets/{provider-settings-BUmZjOyP.js → provider-settings-CxqviYt8.js} +1 -1
- package/dist/ui/assets/provider-store-access-DVcoprAg.js +1 -0
- package/dist/ui/assets/provider-store-access-Des62vG8.js +1 -0
- package/dist/ui/assets/{providers-CTbtB5-6.js → providers-DRo5rfSc.js} +2 -2
- package/dist/ui/assets/{providers-D8v7SVor.js → providers-jnPvVe9y.js} +1 -1
- package/dist/ui/assets/{quick-llm-By_T6uv9.js → quick-llm-DYIT2ufv.js} +1 -1
- package/dist/ui/assets/realm-inprocess-JkVFNdN8.js +33 -0
- package/dist/ui/assets/{recovery-screen-CTf7DhK7.js → recovery-screen-C_VP_tQT.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-Cc_QsZbo.js → remote-terminal-view-Dhc7yeLL.js} +1 -1
- package/dist/ui/assets/{restore-Bpbazm4c.js → restore-Bc04Ic3P.js} +1 -1
- package/dist/ui/assets/{run-BXEd2AF_.js → run-BRPVL491.js} +1 -1
- package/dist/ui/assets/{run-BbnI9SSJ.js → run-Bd-jYaDM.js} +2 -2
- package/dist/ui/assets/{run-BP0Pyqp1.js → run-Bm5wfw7W.js} +1 -1
- package/dist/ui/assets/{run-BUYahz7i.js → run-CG3zbaSU.js} +1 -1
- package/dist/ui/assets/{run-Dn5A9ksD.js → run-D-ECpM63.js} +2 -2
- package/dist/ui/assets/{run-BOMvKGOX.js → run-D4l6XlAu.js} +1 -1
- package/dist/ui/assets/{run-C4WiYwhE.js → run-D65zpTOz.js} +2 -2
- package/dist/ui/assets/{run-BcULqcmA.js → run-DjWLQRmi.js} +1 -1
- package/dist/ui/assets/{run-Dcy1n9LT.js → run-L6Ylv9dF.js} +1 -1
- package/dist/ui/assets/{session-command-memory-DS6mmefG.js → session-command-memory-Ci1Zf9vr.js} +2 -2
- package/dist/ui/assets/{session-jsonl-DmBnJzGO.js → session-jsonl-BA0osLaK.js} +1 -1
- package/dist/ui/assets/{session-jsonl-D3SltEra.js → session-jsonl-COpl-CLY.js} +1 -1
- package/dist/ui/assets/{session-search-index-V_MAcPGe.js → session-search-index-CdHuMIG2.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-CF6L0f_F.js → setup-feature-flags-remote-DtQ886Eg.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-CT5B_SHB.js → setup-model-catalog-CZ582M7C.js} +1 -1
- package/dist/ui/assets/{signed-fetch-0nzqVGFF.js → signed-fetch-BR0AMgn_.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-DY212Gxg.js → silent-renew-backoff-CYQP7u_w.js} +1 -1
- package/dist/ui/assets/slicc-version-idHB6nsN.js +1 -0
- package/dist/ui/assets/{snapshot-DXi1cxon.js → snapshot-DkZ54_ve.js} +1 -1
- package/dist/ui/assets/{snapshot-features-DQElXDdA.js → snapshot-features-tcAtohfL.js} +1 -1
- package/dist/ui/assets/{soundscape-D-iho7ed.js → soundscape-DxCVDpTl.js} +1 -1
- package/dist/ui/assets/{speak-DxaZAW05.js → speak-BqdHQaW1.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-3fH6Vs7w.js → sprinkle-manager-BuTuVoeH.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-Bgykf5M4.js → sprinkle-renderer-PPC5klpl.js} +1 -1
- package/dist/ui/assets/{ssh-DAZWgyKg.js → ssh-9Y3S-Bha.js} +1 -1
- package/dist/ui/assets/{state-Za_SB5d2.js → state-4HAkKcwp.js} +1 -1
- package/dist/ui/assets/{store-DWCTEbG_.js → store-BQov__WY.js} +1 -1
- package/dist/ui/assets/{store-KNXWdOK2.js → store-DoauiqkB.js} +1 -1
- package/dist/ui/assets/{sudo-CIAPGN7B.js → sudo-ChMUrnDt.js} +1 -1
- package/dist/ui/assets/{supervisor-B66x-Vkc.js → supervisor-B8SqOt_K.js} +1 -1
- package/dist/ui/assets/{sync-dialog-Djc_a0VZ.js → sync-dialog-DpyNUkDH.js} +1 -1
- package/dist/ui/assets/{transformers-env-D6TF-IDr.js → transformers-env-BENPPudh.js} +1 -1
- package/dist/ui/assets/{tray-leader-CIZme1Uv.js → tray-leader-BA4ZTTff.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-BlJcEsjZ.js → tray-leave-runtime-CBTb4mlH.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-CQbopRA0.js → tray-sidecar-CnZgpbOI.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-CI961Db5.js → upgrade-detection-Dq2MUoOD.js} +1 -1
- package/dist/ui/assets/{upskill-lick-skip-Pgkrnlsn.js → upskill-lick-skip-DUIw4OcH.js} +1 -1
- package/dist/ui/assets/{voice-reply-CGAEvYeb.js → voice-reply-CEwRhiYz.js} +1 -1
- package/dist/ui/assets/{wc-attach-EFdZZ8Vf.js → wc-attach-2TSX-inX.js} +2 -2
- package/dist/ui/assets/{wc-browser-BxHcWLQS.js → wc-browser-DJxUV8of.js} +1 -1
- package/dist/ui/assets/{wc-computers-DpyoOipa.js → wc-computers-BHu_7f-5.js} +1 -1
- package/dist/ui/assets/{wc-detached-BI-nRqR6.js → wc-detached-BFnPmR0d.js} +1 -1
- package/dist/ui/assets/{wc-extension-BwfH_VzP.js → wc-extension-BYUYa6KS.js} +2 -2
- package/dist/ui/assets/{wc-follower-DKR4OPcZ.js → wc-follower-BwhkRRX4.js} +3 -3
- package/dist/ui/assets/{wc-follower-oauth-CfA7UWC5.js → wc-follower-oauth-DHAss7Bl.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-BE0uAWbT.js → wc-gelatiere-Cr6JuzRn.js} +1 -1
- package/dist/ui/assets/{wc-live-CdmabddW.js → wc-live-qHNanIrf.js} +5 -5
- package/dist/ui/assets/{wc-nav-CCmScWJ4.js → wc-nav-X6D6V6gK.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-D0e3dPYO.js → wc-onboarding-Bt5oCUsn.js} +2 -2
- package/dist/ui/assets/{wc-permissions-B7OY43ZG.js → wc-permissions-BisFwUlJ.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-DPUUdjRi.js → wc-placeholder-mnzIda5e.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-SUzW9YEh.js → wc-secret-request-EQCdKc1f.js} +1 -1
- package/dist/ui/assets/{wc-settings-DSvaQncZ.js → wc-settings-DnUvuaLB.js} +3 -3
- package/dist/ui/assets/{wc-shell-BPciXnLq.js → wc-shell-BtEykt-v.js} +3 -3
- package/dist/ui/assets/{wc-shortcut-config-DAN7j36V.js → wc-shortcut-config-BQmt9XFF.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-CcVI4OqK.js → wc-sprinkles-CjPNiNB5.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-5f3QJNR1.js → wc-transcript-export-Cv0T-WSY.js} +2 -2
- package/dist/ui/assets/{wc-tray-ChZZuPhq.js → wc-tray-DXzaLMSR.js} +4 -4
- package/dist/ui/assets/welcome-detection-miHs8L-e.js +1 -0
- package/dist/ui/assets/{whisper-session-3j3ZGwmD.js → whisper-session-C7baPCyL.js} +2 -2
- package/dist/ui/assets/{xai-grok-B0n0zO7A.js → xai-grok-11wZ6TYi.js} +1 -1
- package/dist/ui/assets/{xai-grok-s0UdCHw_.js → xai-grok-pbhR-Op4.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/ui/packages/webapp/index.html +3 -3
- package/package.json +1 -1
- package/dist/ui/assets/installer-Cg-SnEpR.js +0 -4
- package/dist/ui/assets/js-realm-worker-Cr1K6JkT.js +0 -53
- package/dist/ui/assets/provider-store-access-BsDIn0zt.js +0 -1
- package/dist/ui/assets/provider-store-access-BxH2Cpzw.js +0 -1
- package/dist/ui/assets/realm-inprocess-DelzYQ1q.js +0 -33
- package/dist/ui/assets/slicc-version-ByY3PCi6.js +0 -1
- package/dist/ui/assets/welcome-detection-BRrkHhll.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CHAT_SURFACE_ID as e}from"./wc-sprinkles-
|
|
1
|
+
import{CHAT_SURFACE_ID as e}from"./wc-sprinkles-CjPNiNB5.js";var t=`focus`,n={type:`leaf`,surfaceId:`chat`};function r(e,t={},n={}){return{zones:{top:null,left:null,middle:null,right:null,bottom:null,...e},rowFr:{top:1,center:1,bottom:1,...n},colFr:{left:1,middle:1,right:1,...t}}}var i={focus:{name:`focus`,tree:r({left:n},{left:3,middle:1})}};function a(e){return i[e]??null}function o(n,r){switch(r.kind){case`set`:n.applyLayout(r.tree);break;case`reset`:{let e=a(t);e&&n.applyLayout(e.tree);break}case`chat`:n.moveSurfaceToZone(e,r.zone);break;case`open`:n.placeSurface(r.zone,r.surfaceId);break;case`close`:n.removeSurface(r.surfaceId);break;case`move`:n.moveSurfaceToZone(r.surfaceId,r.zone);break;case`size`:n.setSurfaceSize(r.surfaceId,r.size)}}export{o as applyLayout};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./slugify-BYJ6QVAt.js";import{t as n}from"./types-D8gIX-W-.js";import{t as r}from"./html-B_Hg2WOy.js";import{t as i}from"./global-db-DJXlpNui.js";const a=e(`mcp-apps`),o=`/workspace/.mcp/sprinkles`;async function s(e){if(e)return e;let{VirtualFS:t}=await import(`./fs-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./slugify-BYJ6QVAt.js";import{t as n}from"./types-D8gIX-W-.js";import{t as r}from"./html-B_Hg2WOy.js";import{t as i}from"./global-db-DJXlpNui.js";const a=e(`mcp-apps`),o=`/workspace/.mcp/sprinkles`;async function s(e){if(e)return e;let{VirtualFS:t}=await import(`./fs-CfJdpL5x.js`).then(e=>e.t);return await t.create({dbName:i})}function c(e){return t(e,{maxLen:64,fallback:`app`})}function l(e,t){let n=r(t.title??t.name),i=t.description?r(t.description):``,a=r(t.templateUri??`about:blank`),o=JSON.stringify(e),s=JSON.stringify(t.name);return`<div class="mcp-app" data-sprinkle-title="${n}" style="display:flex;flex-direction:column;height:100%;min-height:0;">
|
|
2
2
|
<header class="mcp-app__header" style="padding:8px 12px;border-bottom:1px solid var(--s2-border-subtle,#3a3a3a);">
|
|
3
3
|
<h2 style="font-size:14px;font-weight:600;margin:0;">${n}</h2>${i?`\n <p style="font-size:12px;margin:4px 0 0;color:var(--s2-content-secondary,#a0a0a0);">${i}</p>`:``}
|
|
4
4
|
</header>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./diagnostics-DN_idNHx.js";import{t}from"./models-BSkXF4T6.js";import{a as n}from"./compat-qQM4gjF_.js";import{S as r,v as i}from"./account-store-
|
|
1
|
+
import{a as e}from"./diagnostics-DN_idNHx.js";import{t}from"./models-BSkXF4T6.js";import{a as n}from"./compat-qQM4gjF_.js";import{S as r,v as i}from"./account-store-C41qiTs8.js";import{r as a,t as o}from"./transform-messages-BsQjTIEJ.js";function s(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function c(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var l=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return l=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function u(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var d=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)},f=class extends Error{},p=class e extends f{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`x-request-id`),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new h({message:r,cause:d(n)});let a=n?.error;return t===400?new _(t,a,r,i):t===401?new v(t,a,r,i):t===403?new y(t,a,r,i):t===404?new b(t,a,r,i):t===409?new x(t,a,r,i):t===422?new ee(t,a,r,i):t===429?new te(t,a,r,i):t>=500?new ne(t,a,r,i):new e(t,a,r,i)}},m=class extends p{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},h=class extends p{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},g=class extends h{constructor({message:e}={}){super({message:e??`Request timed out.`})}},_=class extends p{},v=class extends p{},y=class extends p{},b=class extends p{},x=class extends p{},ee=class extends p{},te=class extends p{},ne=class extends p{},re=class extends f{constructor(){super(`Could not parse response content as the length limit was reached`)}},ie=class extends f{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},ae=class extends Error{constructor(e){super(e)}},oe=class extends p{constructor(e,t,n){let r=`OAuth2 authentication error`,i;if(t&&typeof t==`object`){let e=t;i=e.error;let n=e.error_description;n&&typeof n==`string`?r=n:i&&(r=i)}super(e,t,r,n),this.error_code=i}},se=class extends f{constructor(e,t,n){super(e),this.provider=t,this.cause=n}},ce=/^[a-z][a-z0-9+.-]*:/i,le=e=>ce.test(e),S=e=>(S=Array.isArray,S(e)),ue=S;function de(e){return typeof e==`object`?e??{}:{}}function fe(e){if(!e)return!0;for(let t in e)return!1;return!0}function pe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var me=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new f(`${e} must be an integer`);if(t<0)throw new f(`${e} must be a positive integer`);return t},he=e=>{try{return JSON.parse(e)}catch{return}},ge=e=>new Promise(t=>setTimeout(t,e));function _e(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function ve(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function ye(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return ve({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function be(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function xe(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var Se;function w(e){let t;return(Se??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}var Ce;function we(e){let t;return(Ce??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var Te,T,E,D,O,Ee,De,Oe=65536,ke=class{constructor(){Te.add(this),T.set(this,void 0),E.set(this,void 0),D.set(this,void 0),O.set(this,void 0),Ee.set(this,void 0),s(this,T,new Uint8Array,`f`),s(this,E,0,`f`),s(this,D,0,`f`),s(this,O,0,`f`),s(this,Ee,!1,`f`)}decode(e){if(e==null)return[];let t;if(t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?w(e):e,t.length===0||c(this,Ee,`f`)&&(s(this,Ee,!1,`f`),t[0]===10&&(t=t.subarray(1)),t.length===0))return[];c(this,Te,`m`,De).call(this,t);let n=[],r;for(;(r=Ae(c(this,T,`f`),c(this,O,`f`),c(this,D,`f`)))!=null;){let e=we(c(this,T,`f`).subarray(c(this,E,`f`),r.preceding));n.push(e),s(this,E,r.index,`f`),r.carriage&&(c(this,E,`f`)<c(this,D,`f`)&&c(this,T,`f`)[c(this,E,`f`)]===10?s(this,E,c(this,E,`f`)+1,`f`):c(this,E,`f`)===c(this,D,`f`)&&s(this,Ee,!0,`f`)),s(this,O,c(this,E,`f`),`f`)}if(s(this,O,c(this,D,`f`),`f`),c(this,E,`f`)===c(this,D,`f`))s(this,E,0,`f`),s(this,D,0,`f`),s(this,O,0,`f`),c(this,T,`f`).length>Oe&&s(this,T,new Uint8Array,`f`);else if(n.length>0&&c(this,T,`f`).length>Oe){let e=c(this,D,`f`)-c(this,E,`f`);if(e<=Oe||c(this,T,`f`).length>e*4){let t=e<=Oe?Math.min(Math.max(e*2,256),Oe):e*2,n=new Uint8Array(t);n.set(c(this,T,`f`).subarray(c(this,E,`f`),c(this,D,`f`))),s(this,T,n,`f`),s(this,E,0,`f`),s(this,D,e,`f`),s(this,O,e,`f`)}}return n}flush(){return s(this,Ee,!1,`f`),c(this,E,`f`)===c(this,D,`f`)?[]:this.decode(`
|
|
2
2
|
`)}};T=new WeakMap,E=new WeakMap,D=new WeakMap,O=new WeakMap,Ee=new WeakMap,Te=new WeakSet,De=function(e){if(c(this,D,`f`)+e.length>c(this,T,`f`).length){let t=c(this,D,`f`)-c(this,E,`f`);if(c(this,E,`f`)>=c(this,T,`f`).length/2&&t+e.length<=c(this,T,`f`).length)c(this,T,`f`).copyWithin(0,c(this,E,`f`),c(this,D,`f`));else{let n=Math.max(c(this,T,`f`).length*2,t+e.length,256),r=new Uint8Array(n);r.set(c(this,T,`f`).subarray(c(this,E,`f`),c(this,D,`f`))),s(this,T,r,`f`)}s(this,O,c(this,O,`f`)-c(this,E,`f`),`f`),s(this,D,t,`f`),s(this,E,0,`f`)}c(this,T,`f`).set(e,c(this,D,`f`)),s(this,D,c(this,D,`f`)+e.length,`f`)},ke.NEWLINE_CHARS=new Set([`
|
|
3
3
|
`,`\r`]),ke.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Ae(e,t,n){for(let r=t;r<n;r++){if(e[r]===10)return{preceding:r,index:r+1,carriage:!1};if(e[r]===13)return{preceding:r,index:r+1,carriage:!0}}return null}function je(e){for(let t=0;t<e.length-1;t++){let n=Me(e,t);if(n>0){let r=t+n,i=Me(e,r);if(i>0)return r+i}}return-1}function Me(e,t){return e[t]===10?1:e[t]===13?e[t+1]===10?2:1:0}var Ne={off:0,error:200,warn:300,info:400,debug:500},Pe=(e,t,n)=>{if(e){if(pe(Ne,e))return e;k(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Ne))}`)}};function Fe(){}function Ie(e,t,n){return!t||Ne[e]>Ne[n]?Fe:t[e].bind(t)}var Le={error:Fe,warn:Fe,info:Fe,debug:Fe},Re=new WeakMap;function k(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return Le;let r=Re.get(t);if(r&&r[0]===n)return r[1];let i={error:Ie(`error`,t,n),warn:Ie(`warn`,t,n),info:Ie(`info`,t,n),debug:Ie(`debug`,t,n)};return Re.set(t,[n,i]),i}var ze=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`authorization`||e.toLowerCase()===`api-key`||e.toLowerCase()===`x-api-key`||e.toLowerCase()===`x-amz-security-token`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e),Be,Ve=class e{constructor(e,t,n){Be.set(this,void 0),this.iterator=e,this.controller=t,s(this,Be,n,`f`)}static fromSSEResponse(t,n,r,i){let a=!1,o=r?k(r):console;async function*s(){if(a)throw new f("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");a=!0;let e=!1,r=!1;try{for await(let e of He(t,n)){if(e.data.startsWith(`[DONE]`)){r=!0;break}if(e.event===null||!e.event.startsWith(`thread.`)){let n;try{n=JSON.parse(e.data)}catch(t){throw o.error(`Could not parse message into JSON:`,e.data),o.error(`From chunk:`,e.raw),t}if(n&&n.error)throw new p(void 0,n.error,void 0,t.headers);yield i?{event:e.event,data:n}:n}else{let t;try{t=JSON.parse(e.data)}catch(t){throw console.error(`Could not parse message into JSON:`,e.data),console.error(`From chunk:`,e.raw),t}if(e.event===`error`)throw new p(void 0,t.error,t.message,void 0);yield{event:e.event,data:t}}}e=!0}catch(e){if(r||u(e)||n.signal.aborted&&e===n.signal.reason)return;throw e}finally{e||n.abort()}}return new e(s,n,r)}static fromReadableStream(t,n,r){let i=!1;async function*a(){let e=new ke,r=t.getReader(),i=!1,a,o=()=>{a??=r.cancel(),a.catch(()=>void 0)};n.signal.addEventListener(`abort`,o,{once:!0});try{if(n.signal.aborted){o();return}for(;;){let{value:t,done:a}=await r.read();if(a){i=!0;break}if(n.signal.aborted)return;for(let r of e.decode(t)){if(n.signal.aborted)return;yield r}}if(n.signal.aborted)return;for(let t of e.flush()){if(n.signal.aborted)return;yield t}}finally{n.signal.removeEventListener(`abort`,o),i||o(),r.releaseLock()}}async function*o(){if(i)throw new f("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let t of a())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(n.signal.aborted||u(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[(Be=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),i=e=>({next:()=>{if(e.length===0){let e=r.next();t.push(e),n.push(e)}return e.shift()}});return[new e(()=>i(t),this.controller,c(this,Be,`f`)),new e(()=>i(n),this.controller,c(this,Be,`f`))]}toReadableStream(){let e;return ve({start:async()=>{e=this[Symbol.asyncIterator]()},async pull(t){try{let{value:n,done:r}=await e.next();if(r)return t.close();let i=w(JSON.stringify(n)+`
|
|
4
4
|
`);t.enqueue(i)}catch(e){t.error(e)}},async cancel(){await e.return?.()}})}};async function*He(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new f(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new f(`Attempted to iterate over a response with no body`);let n=new Ge,r=new ke,i=be(e.body);for await(let e of We(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}var Ue=3;async function*We(e){let t=new Uint8Array,n=0,r=0,i=0;for await(let a of e){if(a==null)continue;let e;if(e=a instanceof ArrayBuffer?new Uint8Array(a):typeof a==`string`?w(a):a,r+e.length>t.length){let a=r-n;if(n>=t.length/2&&a+e.length<=t.length)t.copyWithin(0,n,r);else{let i=new Uint8Array(Math.max(t.length*2,a+e.length));i.set(t.subarray(n,r)),t=i}i-=n,n=0,r=a}t.set(e,r),r+=e.length;let o;for(;(o=je(t.subarray(i,r)))!==-1;)o+=i,yield t.slice(n,o),n=o,i=n;i=Math.max(n,r-Ue)}r>n&&(yield t.slice(n,r))}var Ge=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.slice(0,-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e,o as t}from"./account-store-
|
|
1
|
+
import{c as e,o as t}from"./account-store-CdWvtLK5.js";import{a as n}from"./diagnostics-DN_idNHx.js";import{t as r}from"./models-4WTk3EBD.js";import{a as i}from"./compat-uEPf6-XW.js";import{r as a,t as o}from"./transform-messages-Jn8bw4-u.js";function s(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function c(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}let l=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return l=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function u(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}const d=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)};var f=class extends Error{},p=class e extends f{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`x-request-id`),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new h({message:r,cause:d(n)});let a=n?.error;return t===400?new _(t,a,r,i):t===401?new v(t,a,r,i):t===403?new y(t,a,r,i):t===404?new b(t,a,r,i):t===409?new x(t,a,r,i):t===422?new ee(t,a,r,i):t===429?new te(t,a,r,i):t>=500?new ne(t,a,r,i):new e(t,a,r,i)}},m=class extends p{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},h=class extends p{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},g=class extends h{constructor({message:e}={}){super({message:e??`Request timed out.`})}},_=class extends p{},v=class extends p{},y=class extends p{},b=class extends p{},x=class extends p{},ee=class extends p{},te=class extends p{},ne=class extends p{},re=class extends f{constructor(){super(`Could not parse response content as the length limit was reached`)}},ie=class extends f{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},ae=class extends Error{constructor(e){super(e)}},oe=class extends p{constructor(e,t,n){let r=`OAuth2 authentication error`,i;if(t&&typeof t==`object`){let e=t;i=e.error;let n=e.error_description;n&&typeof n==`string`?r=n:i&&(r=i)}super(e,t,r,n),this.error_code=i}},se=class extends f{constructor(e,t,n){super(e),this.provider=t,this.cause=n}};const ce=/^[a-z][a-z0-9+.-]*:/i,le=e=>ce.test(e);let S=e=>(S=Array.isArray,S(e)),ue=S;function de(e){return typeof e==`object`?e??{}:{}}function fe(e){if(!e)return!0;for(let t in e)return!1;return!0}function pe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const me=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new f(`${e} must be an integer`);if(t<0)throw new f(`${e} must be a positive integer`);return t},he=e=>{try{return JSON.parse(e)}catch{return}},ge=e=>new Promise(t=>setTimeout(t,e));function _e(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function ve(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function ye(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return ve({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function be(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function xe(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}let Se;function w(e){let t;return(Se??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}let Ce;function we(e){let t;return(Ce??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var Te,T,E,D,O,Ee,De;const Oe=65536;var ke=class{constructor(){Te.add(this),T.set(this,void 0),E.set(this,void 0),D.set(this,void 0),O.set(this,void 0),Ee.set(this,void 0),s(this,T,new Uint8Array,`f`),s(this,E,0,`f`),s(this,D,0,`f`),s(this,O,0,`f`),s(this,Ee,!1,`f`)}decode(e){if(e==null)return[];let t;if(t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?w(e):e,t.length===0||c(this,Ee,`f`)&&(s(this,Ee,!1,`f`),t[0]===10&&(t=t.subarray(1)),t.length===0))return[];c(this,Te,`m`,De).call(this,t);let n=[],r;for(;(r=Ae(c(this,T,`f`),c(this,O,`f`),c(this,D,`f`)))!=null;){let e=we(c(this,T,`f`).subarray(c(this,E,`f`),r.preceding));n.push(e),s(this,E,r.index,`f`),r.carriage&&(c(this,E,`f`)<c(this,D,`f`)&&c(this,T,`f`)[c(this,E,`f`)]===10?s(this,E,c(this,E,`f`)+1,`f`):c(this,E,`f`)===c(this,D,`f`)&&s(this,Ee,!0,`f`)),s(this,O,c(this,E,`f`),`f`)}if(s(this,O,c(this,D,`f`),`f`),c(this,E,`f`)===c(this,D,`f`))s(this,E,0,`f`),s(this,D,0,`f`),s(this,O,0,`f`),c(this,T,`f`).length>Oe&&s(this,T,new Uint8Array,`f`);else if(n.length>0&&c(this,T,`f`).length>Oe){let e=c(this,D,`f`)-c(this,E,`f`);if(e<=Oe||c(this,T,`f`).length>e*4){let t=e<=Oe?Math.min(Math.max(e*2,256),Oe):e*2,n=new Uint8Array(t);n.set(c(this,T,`f`).subarray(c(this,E,`f`),c(this,D,`f`))),s(this,T,n,`f`),s(this,E,0,`f`),s(this,D,e,`f`),s(this,O,e,`f`)}}return n}flush(){return s(this,Ee,!1,`f`),c(this,E,`f`)===c(this,D,`f`)?[]:this.decode(`
|
|
2
2
|
`)}};T=new WeakMap,E=new WeakMap,D=new WeakMap,O=new WeakMap,Ee=new WeakMap,Te=new WeakSet,De=function(e){if(c(this,D,`f`)+e.length>c(this,T,`f`).length){let t=c(this,D,`f`)-c(this,E,`f`);if(c(this,E,`f`)>=c(this,T,`f`).length/2&&t+e.length<=c(this,T,`f`).length)c(this,T,`f`).copyWithin(0,c(this,E,`f`),c(this,D,`f`));else{let n=Math.max(c(this,T,`f`).length*2,t+e.length,256),r=new Uint8Array(n);r.set(c(this,T,`f`).subarray(c(this,E,`f`),c(this,D,`f`))),s(this,T,r,`f`)}s(this,O,c(this,O,`f`)-c(this,E,`f`),`f`),s(this,D,t,`f`),s(this,E,0,`f`)}c(this,T,`f`).set(e,c(this,D,`f`)),s(this,D,c(this,D,`f`)+e.length,`f`)},ke.NEWLINE_CHARS=new Set([`
|
|
3
3
|
`,`\r`]),ke.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Ae(e,t,n){for(let r=t;r<n;r++){if(e[r]===10)return{preceding:r,index:r+1,carriage:!1};if(e[r]===13)return{preceding:r,index:r+1,carriage:!0}}return null}function je(e){for(let t=0;t<e.length-1;t++){let n=Me(e,t);if(n>0){let r=t+n,i=Me(e,r);if(i>0)return r+i}}return-1}function Me(e,t){return e[t]===10?1:e[t]===13?e[t+1]===10?2:1:0}const Ne={off:0,error:200,warn:300,info:400,debug:500},Pe=(e,t,n)=>{if(e){if(pe(Ne,e))return e;k(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Ne))}`)}};function Fe(){}function Ie(e,t,n){return!t||Ne[e]>Ne[n]?Fe:t[e].bind(t)}const Le={error:Fe,warn:Fe,info:Fe,debug:Fe};let Re=new WeakMap;function k(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return Le;let r=Re.get(t);if(r&&r[0]===n)return r[1];let i={error:Ie(`error`,t,n),warn:Ie(`warn`,t,n),info:Ie(`info`,t,n),debug:Ie(`debug`,t,n)};return Re.set(t,[n,i]),i}const ze=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`authorization`||e.toLowerCase()===`api-key`||e.toLowerCase()===`x-api-key`||e.toLowerCase()===`x-amz-security-token`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);var Be,Ve=class e{constructor(e,t,n){Be.set(this,void 0),this.iterator=e,this.controller=t,s(this,Be,n,`f`)}static fromSSEResponse(t,n,r,i){let a=!1,o=r?k(r):console;async function*s(){if(a)throw new f("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");a=!0;let e=!1,r=!1;try{for await(let e of He(t,n)){if(e.data.startsWith(`[DONE]`)){r=!0;break}if(e.event===null||!e.event.startsWith(`thread.`)){let n;try{n=JSON.parse(e.data)}catch(t){throw o.error(`Could not parse message into JSON:`,e.data),o.error(`From chunk:`,e.raw),t}if(n&&n.error)throw new p(void 0,n.error,void 0,t.headers);yield i?{event:e.event,data:n}:n}else{let t;try{t=JSON.parse(e.data)}catch(t){throw console.error(`Could not parse message into JSON:`,e.data),console.error(`From chunk:`,e.raw),t}if(e.event===`error`)throw new p(void 0,t.error,t.message,void 0);yield{event:e.event,data:t}}}e=!0}catch(e){if(r||u(e)||n.signal.aborted&&e===n.signal.reason)return;throw e}finally{e||n.abort()}}return new e(s,n,r)}static fromReadableStream(t,n,r){let i=!1;async function*a(){let e=new ke,r=t.getReader(),i=!1,a,o=()=>{a??=r.cancel(),a.catch(()=>void 0)};n.signal.addEventListener(`abort`,o,{once:!0});try{if(n.signal.aborted){o();return}for(;;){let{value:t,done:a}=await r.read();if(a){i=!0;break}if(n.signal.aborted)return;for(let r of e.decode(t)){if(n.signal.aborted)return;yield r}}if(n.signal.aborted)return;for(let t of e.flush()){if(n.signal.aborted)return;yield t}}finally{n.signal.removeEventListener(`abort`,o),i||o(),r.releaseLock()}}async function*o(){if(i)throw new f("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let t of a())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(n.signal.aborted||u(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[(Be=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),i=e=>({next:()=>{if(e.length===0){let e=r.next();t.push(e),n.push(e)}return e.shift()}});return[new e(()=>i(t),this.controller,c(this,Be,`f`)),new e(()=>i(n),this.controller,c(this,Be,`f`))]}toReadableStream(){let e;return ve({start:async()=>{e=this[Symbol.asyncIterator]()},async pull(t){try{let{value:n,done:r}=await e.next();if(r)return t.close();let i=w(JSON.stringify(n)+`
|
|
4
4
|
`);t.enqueue(i)}catch(e){t.error(e)}},async cancel(){await e.return?.()}})}};async function*He(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new f(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new f(`Attempted to iterate over a response with no body`);let n=new We,r=new ke,i=be(e.body);for await(let e of Ue(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*Ue(e){let t=new Uint8Array,n=0,r=0,i=0;for await(let a of e){if(a==null)continue;let e;if(e=a instanceof ArrayBuffer?new Uint8Array(a):typeof a==`string`?w(a):a,r+e.length>t.length){let a=r-n;if(n>=t.length/2&&a+e.length<=t.length)t.copyWithin(0,n,r);else{let i=new Uint8Array(Math.max(t.length*2,a+e.length));i.set(t.subarray(n,r)),t=i}i-=n,n=0,r=a}t.set(e,r),r+=e.length;let o;for(;(o=je(t.subarray(i,r)))!==-1;)o+=i,yield t.slice(n,o),n=o,i=n;i=Math.max(n,r-3)}r>n&&(yield t.slice(n,r))}var We=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.slice(0,-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as e,t}from"./api-endpoint-DuEQRZ4g.js";import{t as n}from"./types-D8gIX-W-.js";import{n as r}from"./fs-
|
|
1
|
+
import{s as e,t}from"./api-endpoint-DuEQRZ4g.js";import{t as n}from"./types-D8gIX-W-.js";import{n as r}from"./fs-DyrFPUp2.js";import{t as i}from"./remote-cache-3KNT1gsp.js";function a(e){if(!Number.isFinite(e))return{run:e=>e(),get active(){return 0}};let t=Math.max(1,Math.floor(e)),n=[],r=0,i=()=>{let e=n.shift();if(e){e();return}--r};return{async run(e){r>=t?await new Promise(e=>n.push(e)):r+=1;try{return await e()}finally{i()}},get active(){return r}}}var o=104857600,s=new Set([`list`,`stat`,`mkdir`,`rename`,`remove`]),c=`/api/hostfs`,l=new Set([`ENOENT`,`EEXIST`,`ENOTDIR`,`EISDIR`,`ENOTEMPTY`,`EINVAL`,`EACCES`,`ELOOP`,`EBUSY`,`EFBIG`,`EBADF`,`EIO`]),u=new Set([`list`,`stat`,`read`,`mkdir`]),d=3,f=25,p=24,m=3e4,h=4194304,g=`no-store`;function _(e,t){return`hostfs:${encodeURIComponent(e)}:${encodeURIComponent(t)}`}var v=e=>e.json(),y=async e=>({partial:e.status===206,body:await e.arrayBuffer()}),b=async e=>{await e.arrayBuffer()},x=e=>e>0?new Promise(t=>setTimeout(t,e)):Promise.resolve();function S(e,t,r,i,a){let o=r instanceof Error?r.message:String(r),s=a?` after ${i} attempt${i===1?``:`s`}`:` (not retried: non-idempotent op)`;return new n(`EIO`,`hostfs ${e} failed${s}: transient bridge error: ${o}`,t)}function C(e){return typeof e==`number`&&Number.isFinite(e)?e:void 0}function w(t){let n={},i=C(t.ctime);i!==void 0&&(n.ctime=i);let a=C(t.ino);a!==void 0&&(n.ino=a);let o=C(t.dev);o!==void 0&&Number.isSafeInteger(o)&&o>=0&&(n.dev=o,n.identity=r(`hostfs:${e(c)}`,a,o));let s=C(t.uid);s!==void 0&&(n.uid=s);let l=C(t.gid);l!==void 0&&(n.gid=l);let u=C(t.mode);return u!==void 0&&(n.mode=u),n}var T=class{kind=`hostfs`;listingStatsMatchStat=!0;source;mountId;targetPath;hostPath;fetchImpl;limiter;maxAttempts;retryDelayMs;cache;maxCachedBodyBytes;cacheGeneration=0;closed=!1;stableEndpoint=!0;constructor(e){this.targetPath=e.targetPath,this.hostPath=e.hostPath,this.source=`hostfs://${e.hostPath}`,this.mountId=e.mountId??_(e.targetPath,e.hostPath),this.fetchImpl=e.fetchImpl??fetch,this.limiter=a(e.maxInflight??p),this.maxAttempts=Math.max(1,e.maxAttempts??d),this.retryDelayMs=e.retryDelayMs??f,this.maxCachedBodyBytes=Math.max(0,e.maxCachedBodyBytes??h),this.cache=e.cache??new i({mountId:this.mountId,ttlMs:e.cacheTtlMs??m})}assertOpen(e){if(this.closed)throw new n(`EBADF`,`mount closed`,e)}bodyKey(e){return e.replace(/^\/+/,``)}async invalidateCachePrefixes(e){this.cacheGeneration+=1,await this.cache.invalidatePrefixes(e)}async cacheBodyIfCurrent(e,t,n,r){e!==this.cacheGeneration||n.byteLength>this.maxCachedBodyBytes||(await this.cache.putBody(t,n,r),e!==this.cacheGeneration&&await this.cache.invalidateBody(t))}async applyHostInvalidation(e){if(e.length===0){await this.invalidateCachePrefixes([]);return}let t=e.map(e=>e.replace(/^\/+/,``));if(t.some(e=>e.length===0||e===`.`)){await this.invalidateCachePrefixes([]);return}await this.invalidateCachePrefixes(t)}getCache(){return this.cache}url(t,n,r){let i=new URLSearchParams({mount:this.targetPath,path:n.replace(/^\/+/,``)});for(let[e,t]of Object.entries(r??{}))i.set(e,t);return e(`/api/hostfs/${t}?${i.toString()}`)}buildRequest(n,r,i){let a=t(i?.headers);if(this.stableEndpoint&&s.has(n))return{url:e(c),init:{method:`POST`,headers:{...a,"Content-Type":`application/json`},body:JSON.stringify({op:n,mount:this.targetPath,path:r.replace(/^\/+/,``),...i?.extra??{}})}};let{extra:o,...l}=i??{};return{url:this.url(n,r,i?.extra),init:{...l,headers:a}}}async request(e,t,n,r){return this.assertOpen(t),this.limiter.run(()=>this.attemptRequest(e,t,n,r))}async attemptRequest(e,t,r,i){let a=u.has(e)?this.maxAttempts:1,o=0,s;for(;o<a;){o+=1;try{return await this.routeAndConsume(e,t,r,i)}catch(e){if(e instanceof n)throw e;if(s=e,this.closed)break;o<a&&await x(this.retryDelayMs*o)}}throw S(e,t,s,o,a>1)}async routeAndConsume(e,t,n,r){let i=this.stableEndpoint&&s.has(e),a=this.buildRequest(e,t,r),o=await this.fetchImpl(a.url,a.init);if(o.ok||o.status===304)return await n(o);let{error:c,rawCode:l}=await this.errorFromResponse(e,t,o);if(i&&l===null&&(o.status===404||o.status===405))return this.stableEndpoint=!1,await this.routeAndConsume(e,t,n,r);throw c}async errorFromResponse(e,t,r){let i=`EIO`,a=null,o=`hostfs ${e} failed with HTTP ${r.status}`;try{let e=await r.json();typeof e.code==`string`&&(a=e.code,l.has(e.code)&&(i=e.code)),typeof e.message==`string`&&(o=e.message)}catch{}return{error:new n(i,o,t),rawCode:a}}async readDir(e){let t=await this.request(`list`,e,v);if(!Array.isArray(t.entries))return[];let n=[];for(let e of t.entries){let t=e;typeof t.name!=`string`||t.kind!==`file`&&t.kind!==`directory`||n.push({name:t.name,kind:t.kind,...typeof t.size==`number`?{size:t.size}:{},...typeof t.lastModified==`number`?{lastModified:t.lastModified}:{},...w(t)})}return n}async readFile(e){this.assertOpen(e);let t=this.cacheGeneration,r=this.bodyKey(e),i=await this.cache.getBody(r);if(i&&!this.cache.isStale(i.cachedAt))return i.body;let a={};i?.etag&&(a[`If-None-Match`]=i.etag);let s=await this.request(`read`,e,async e=>e.status===304?{kind:`not-modified`}:{kind:`body`,bytes:new Uint8Array(await e.arrayBuffer()),etag:e.headers.get(`etag`)??``},{cache:g,headers:a});if(s.kind===`not-modified`){if(!i)throw new n(`EIO`,`hostfs read got 304 without a cached body`,e);return await this.cacheBodyIfCurrent(t,r,i.body,i.etag),i.body}if(s.bytes.byteLength>o)throw new n(`EFBIG`,`file exceeds the hostfs body cap`,e);return await this.cacheBodyIfCurrent(t,r,s.bytes,s.etag),s.bytes}async readFileRange(e,t,r){if(!Number.isInteger(t)||!Number.isInteger(r)||t<0||r<t)throw new n(`EINVAL`,`invalid byte range ${t}-${r}`,e);if(r===t)return new Uint8Array;if(r-t>o)throw new n(`EFBIG`,`byte range exceeds the hostfs body cap`,e);let{partial:i,body:a}=await this.request(`read`,e,y,{cache:g,headers:{Range:`bytes=${t}-${r-1}`}});return i?new Uint8Array(a):new Uint8Array(a).slice(t,r)}async writeFile(e,t){if(t.byteLength>o)throw new n(`EFBIG`,`body exceeds the hostfs body cap`,e);await this.request(`write`,e,b,{method:`PUT`,headers:{"Content-Type":`application/octet-stream`},body:new Uint8Array(t)});let r=this.bodyKey(e),i=++this.cacheGeneration;t.byteLength<=this.maxCachedBodyBytes?await this.cacheBodyIfCurrent(i,r,new Uint8Array(t),``):await this.cache.invalidateBody(r)}async stat(e){let t=await this.request(`stat`,e,v);return{kind:t.kind===`directory`?`directory`:`file`,size:typeof t.size==`number`?t.size:0,mtime:typeof t.mtime==`number`?t.mtime:0,...w(t)}}async mkdir(e){await this.request(`mkdir`,e,b,{method:`POST`})}async rename(e,t){let n=await this.request(`rename`,e,v,{method:`POST`,extra:{to:t.replace(/^\/+/,``)}}),r=this.bodyKey(e),i=this.bodyKey(t);return await this.invalidateCachePrefixes([r,i]),n.noop===!0?{noop:!0}:{}}async remove(e,t){await this.request(`remove`,e,b,{method:`DELETE`,extra:t?.recursive?{recursive:`1`}:void 0});let n=this.bodyKey(e);t?.recursive?await this.invalidateCachePrefixes([n]):(this.cacheGeneration+=1,await this.cache.invalidateBody(n))}async refresh(e){return this.assertOpen(this.targetPath),await this.invalidateCachePrefixes([]),{added:[],removed:[],changed:e?.bodies?[`*`]:[],unchanged:0,errors:[]}}describe(){return{displayName:this.hostPath.split(`/`).filter(Boolean).at(-1)??this.hostPath,source:this.source,extra:`configured via mount table (auto-mounted, live host view)`}}async close(){this.closed=!0}getHostPath(){return this.hostPath}getTargetPath(){return this.targetPath}};export{T as HostFsMountBackend};
|
|
@@ -116,20 +116,20 @@ Notes:
|
|
|
116
116
|
`,exitCode:1,internalStdinConsumed:0}}}},Fi=!1,Ii={name:`printf`,flags:[{flag:`-v`,type:`value`,valueHint:`string`}],stdinType:`none`,needsArgs:!0}});function Ri(e,t){if(!Number.isSafeInteger(e)||e<0)throw new A(`${t}: invalid bounded allocation count`,`array_elements`)}function zi(e){return new A(`${e}: invalid bounded allocation count`,`array_elements`)}function Bi(e,t,n){Ri(e,n),Ri(t,n);let r=e+t;if(!Number.isSafeInteger(r))throw zi(n);return r}function Vi(e,t,n){if(Ri(e,n),Ri(t,n),e!==0&&t>Math.floor((2**53-1)/e))throw zi(n);return e*t}function Hi(e,t,n,r){let i=new Ui(n,r);for(let n=0;n<e.length;n++)n>0&&i.append(t),i.append(e[n]);return i.build()}var Ui,Wi=T(()=>{k(),j(),Ui=class{maxBytes;label;createLimitError;reservedBytes;chunks=[];usedBytes=0;constructor(e,t,n=void 0,r=0){this.maxBytes=e,this.label=t,this.createLimitError=n,this.reservedBytes=r,Ri(e,t),Ri(r,t),r>e&&this.fail()}fail(){throw this.createLimitError?.()??new A(`${this.label}: output size limit exceeded (${this.maxBytes} bytes)`,`output_size`)}get byteLength(){return this.usedBytes}get remainingBytes(){return this.maxBytes-this.reservedBytes-this.usedBytes}reserve(e){Ri(e,this.label),e>this.remainingBytes&&this.fail()}append(e){let t=O(e);return this.reserve(t),e&&this.chunks.push(e),this.usedBytes+=t,this}repeat(e,t){Ri(t,this.label);let n=O(e);return n!==0&&t>Math.floor(this.remainingBytes/n)&&this.fail(),this.append(e.repeat(t))}reset(){this.chunks.length=0,this.usedBytes=0}build(){return this.chunks.join(``)}}});function I(e){if(!e||e===`/`)return`/`;let t=e.endsWith(`/`)&&e!==`/`?e.slice(0,-1):e;t.startsWith(`/`)||(t=`/${t}`);let n=t.split(`/`).filter(e=>e&&e!==`.`),r=[];for(let e of n)e===`..`?r.pop():r.push(e);return`/${r.join(`/`)}`||`/`}function Gi(e,t){let n=I(e),r=I(t);return r===n||n===`/`||r.startsWith(`${n}/`)}function Ki(e,t){if(e.includes(`\0`))throw Error(`ENOENT: path contains null byte, ${t} '${e}'`)}function qi(e){let t=I(e);if(t===`/`)return`/`;let n=t.lastIndexOf(`/`);return n===0?`/`:t.slice(0,n)}function Ji(e,t){return t.startsWith(`/`)?I(t):I(e===`/`?`/${t}`:`${e}/${t}`)}function Yi(e,t){return e===`/`?`/${t}`:`${e}/${t}`}function Xi(e,t){return t.startsWith(`/`)?I(t):I(Yi(qi(e),t))}var Zi=T(()=>{});function Qi(e,t,n){if(!e)return e;let r=e.replace(/\n\s+at\s.*/g,``);return n&&(r=r.replace(/\bfile:\/\/\/?[^\s'",)}\]:]+/g,`<path>`)),r=r.replace(t?/(?:\/(?:Users|home|private|var|opt|Library|System|usr|etc|tmp|nix|snap|workspace|root|srv|mnt|app))\b[^\s'",)}\]:]*/g:/(?:\/(?:Users|home|private|var|opt|Library|System|usr|etc|tmp|nix|snap))\b[^\s'",)}\]:]*/g,`<path>`),r=r.replace(/node:internal\/[^\s'",)}\]:]+/g,`<internal>`),r=r.replace(/[A-Z]:\\[^\s'",)}\]:]+/g,`<path>`),n&&(r=r.replace(/\\\\[^\s\\]+\\[^\s'",)}\]:]+/g,`<path>`)),r}function $i(e){return Qi(e,!1,!1)}var ea=T(()=>{});function ta(e){if(e.identity!==void 0)return`identity:${e.identity}`;if(e.dev!==void 0&&e.ino!==void 0)return`inode:${String(e.dev)}:${String(e.ino)}`}function na(e){let t=e instanceof Error?e.message:String(e);return t.includes(`ENOENT`)||t.includes(`no such file`)}async function ra(e,t,n){let r=I(t),i;try{i=await e.stat(r)}catch(e){if(!na(e))return{existence:`unknown`}}if(i!==void 0){let t=ta(i);try{return{existence:`existing`,canonicalPath:I(await e.realpath(r)),stableIdentity:t}}catch{return t===void 0?{existence:`unknown`}:{existence:`existing`,stableIdentity:t}}}let a=[],o=r;for(;;){n?.checkpoint();let t=qi(o);if(t===o)return{existence:`unknown`};a.unshift(o.slice(t===`/`?1:t.length+1)),o=t;try{let t=I(await e.realpath(o));return{existence:`missing`,canonicalPath:a.reduce((e,t)=>Yi(e,t),t)}}catch(e){if(!na(e))return{existence:`missing`}}}}async function ia(e,t,n){let[r,i]=await Promise.all([ra(e,t),ra(e,n)]);return r.existence===`unknown`||i.existence===`unknown`?`unknown`:r.existence===`missing`||i.existence===`missing`?r.existence===i.existence?r.canonicalPath!==void 0&&r.canonicalPath===i.canonicalPath?`same`:`unknown`:`different`:r.stableIdentity!==void 0&&i.stableIdentity!==void 0?r.stableIdentity===i.stableIdentity?`same`:`different`:r.canonicalPath!==void 0&&r.canonicalPath===i.canonicalPath?`same`:`unknown`}async function aa(e,t,n,r){let[i,a]=await Promise.all([ra(e,t,r),ra(e,n,r)]);return i.existence!==`existing`||i.canonicalPath===void 0||a.existence===`unknown`||a.canonicalPath===void 0?`unknown`:Gi(i.canonicalPath,a.canonicalPath)?`inside`:`outside`}async function oa(e,t){let n=e.budget??new ca(e),r=[{kind:`enter`,path:I(e.root),depth:0}],i=new Set;for(;r.length>0;){n.checkpoint(0);let a=r.pop();if(!a)break;if(a.kind===`leave`){e.includeLeave&&await t({path:a.path,depth:a.depth,stat:a.stat,isSymlink:a.isSymlink,phase:`leave`}),a.identity&&i.delete(a.identity);continue}n.visit(a.depth);let o=await e.fs.lstat(a.path),s=o.isSymbolicLink,c=s&&e.symlinks===`follow`?await e.fs.stat(a.path):o;if(await t({path:a.path,depth:a.depth,stat:c,isSymlink:s,phase:`enter`}),!c.isDirectory||s&&e.symlinks!==`follow`)continue;let l=ta(c)??await e.fs.realpath(a.path).then(I).catch(()=>{});if(l!==void 0){if(i.has(l))throw new sa(e.site,a.path,`symbolic-link directory cycle detected`);i.add(l)}r.push({kind:`leave`,path:a.path,depth:a.depth,stat:c,isSymlink:s,identity:l});let u=await e.fs.readdir(a.path);n.checkpoint(),u.sort((e,t)=>e.localeCompare(t));for(let e=u.length-1;e>=0;e--)r.push({kind:`enter`,path:Yi(a.path,u[e]),depth:a.depth+1})}}var sa,ca,la=T(()=>{j(),Zi(),ea(),sa=class extends Error{operation;virtualPath;name=`FileSystemPolicyError`;constructor(e,t,n){super(`${e}: ${$i(n)}`),this.operation=e,this.virtualPath=t}},ca=class{options;entries=0;discoveredEntries=1;work=0;constructor(e){this.options=e}checkpoint(e=1){if(this.options.signal?.aborted)throw new kr;if(this.options.executionScope?.throwIfAborted(this.options.site),!Number.isSafeInteger(e)||e<0||e>this.options.limits.maxTraversalWork-this.work)throw new A(`${this.options.site}: ${this.options.label??`filesystem traversal work`} limit exceeded (${this.options.limits.maxTraversalWork})`,`iterations`);this.work+=e,this.options.executionScope?.consumeWork(e,`${this.options.site} filesystem traversal`)}visit(e){if(this.checkpoint(),e>this.options.limits.maxTraversalDepth)throw new A(`${this.options.site}: ${this.options.label??`filesystem traversal`} depth limit exceeded (${this.options.limits.maxTraversalDepth})`,`recursion`);if(++this.entries>this.options.limits.maxTraversalEntries)throw new A(`${this.options.site}: ${this.options.label??`filesystem traversal`} entry limit exceeded (${this.options.limits.maxTraversalEntries})`,`iterations`)}discover(e){if(!Number.isSafeInteger(e)||e<0||e>this.options.limits.maxTraversalEntries-this.discoveredEntries)throw new A(`${this.options.site}: ${this.options.label??`filesystem traversal`} entry limit exceeded (${this.options.limits.maxTraversalEntries})`,`iterations`);this.checkpoint(e),this.discoveredEntries+=e}}}),ua={};E(ua,{flagsForFuzzing:()=>xa,lsCommand:()=>ba});function da(e,t,n){if(O(n)>e.limits.maxOutputSize-O(t))throw new A(`ls: output size limit exceeded (${e.limits.maxOutputSize} bytes)`,`output_size`);return t+n}function fa(e,t){let n=new Ui(e.limits.maxOutputSize,`ls`);for(let e=0;e<t.length;e++)e>0&&n.append(`
|
|
117
117
|
`),n.append(t[e]);return t.length>0&&n.append(`
|
|
118
118
|
`),n.build()}function pa(e){if(e<1024)return String(e);if(e<1048576){let t=e/1024;return t<10?`${t.toFixed(1)}K`:`${Math.round(t)}K`}if(e<1073741824){let t=e/1048576;return t<10?`${t.toFixed(1)}M`:`${Math.round(t)}M`}let t=e/1073741824;return t<10?`${t.toFixed(1)}G`:`${Math.round(t)}G`}function ma(e){let t=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][e.getMonth()],n=String(e.getDate()).padStart(2,` `);return e>new Date(new Date().getTime()-15552e6)?`${t} ${n} ${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}`:`${t} ${n} ${e.getFullYear()}`}function ha(e){return e.isDirectory?`/`:e.isSymbolicLink?`@`:e.mode&73?`*`:``}async function ga(e,t,n,r,i,a=!1,o=!1,s=!1,c=!1,l){let u=n||r,d=t.fs.getAllPaths(),f=t.fs.resolvePath(t.cwd,`.`),p=[];for(let t of d){l?.visit(t.split(`/`).length-1);let n=(t===f||f===`/`||t.startsWith(`${f}/`))&&t.slice(f===`/`?1:f.length+1)||t;if(Ne(n,e)||Ne(t,e)){let e=n.split(`/`).pop()||n;if(!u&&e.startsWith(`.`))continue;p.push(n||t)}}if(p.length===0)return{stdout:``,stderr:`ls: ${e}: No such file or directory
|
|
119
|
-
`,exitCode:2};if(s){let e=[];for(let n of p){let r=t.fs.resolvePath(t.cwd,n);try{let i=await t.fs.stat(r);e.push({path:n,size:i.size??0})}catch{e.push({path:n,size:0})}}e.sort((e,t)=>t.size-e.size),p.length=0,p.push(...e.map(e=>e.path))}else p.sort();if(a&&p.reverse(),i){let e=[];for(let n of p){let r=t.fs.resolvePath(t.cwd,n);try{let i=await t.fs.stat(r),a=i.isDirectory?`
|
|
119
|
+
`,exitCode:2};if(s){let e=[];for(let n of p){let r=t.fs.resolvePath(t.cwd,n);try{let i=await t.fs.stat(r);e.push({path:n,size:i.size??0})}catch{e.push({path:n,size:0})}}e.sort((e,t)=>t.size-e.size),p.length=0,p.push(...e.map(e=>e.path))}else p.sort();if(a&&p.reverse(),i){let e=[];for(let n of p){let r=t.fs.resolvePath(t.cwd,n);try{let i=await t.fs.stat(r),a=(i.isDirectory?`d`:`-`)+[...((typeof i.mode==`number`?i.mode:i.isDirectory?493:420)&511).toString(2).padStart(9,`0`)].map((e,t)=>e===`1`?`rwx`[t%3]:`-`).join(``),s=c?ha(await t.fs.lstat(r)):i.isDirectory?`/`:``,l=i.size??0,u=o?pa(l).padStart(5):String(l).padStart(5),d=ma(i.mtime??new Date(0));e.push(`${a} 1 user user ${u} ${d} ${n}${s}`)}catch{e.push(`-rw-r--r-- 1 user user 0 Jan 1 00:00 ${n}`)}}return{stdout:fa(t,e),stderr:``,exitCode:0}}if(c){let e=[];for(let n of p){let r=t.fs.resolvePath(t.cwd,n);try{let i=await t.fs.lstat(r);e.push(`${n}${ha(i)}`)}catch{e.push(n)}}return{stdout:fa(t,e),stderr:``,exitCode:0}}return{stdout:fa(t,p),stderr:``,exitCode:0}}async function _a(e,t,n,r,i,a,o,s=!1,c=!1,l=!1,u=!1,d=!1,f=new ca({limits:t.limits,signal:t.signal,executionScope:t.executionScope,site:`ls`}),p=0,m=new Set){let h=n||r,g=t.fs.resolvePath(t.cwd,e);try{f.visit(p);let d=await t.fs.stat(g);if(!d.isDirectory){let n=u?ha(await t.fs.lstat(g)):``;if(i){let t=d.size??0,r=c?pa(t).padStart(5):String(t).padStart(5),i=ma(d.mtime??new Date(0));return{stdout:`${(d.isDirectory?`d`:`-`)+[...((typeof d.mode==`number`?d.mode:d.isDirectory?493:420)&511).toString(2).padStart(9,`0`)].map((e,t)=>e===`1`?`rwx`[t%3]:`-`).join(``)} 1 user user ${r} ${i} ${e}${n}
|
|
120
120
|
`,stderr:``,exitCode:0}}return{stdout:`${e}${n}
|
|
121
121
|
`,stderr:``,exitCode:0}}let _=d.identity??(d.dev!==void 0&&d.ino!==void 0?`${String(d.dev)}:${String(d.ino)}`:await t.fs.realpath(g).catch(()=>{}));if(_!==void 0&&m.has(_))return{stdout:``,stderr:`ls: ${e}: symbolic link cycle detected
|
|
122
122
|
`,exitCode:2};let v=new Set(m);_!==void 0&&v.add(_);let y=await t.fs.readdir(g);if(f.checkpoint(),h||(y=y.filter(e=>!e.startsWith(`.`))),l){let e=[];for(let n of y){let r=g===`/`?`/${n}`:`${g}/${n}`;try{let i=await t.fs.stat(r);e.push({name:n,size:i.size??0})}catch{e.push({name:n,size:0})}}e.sort((e,t)=>t.size-e.size),y=e.map(e=>e.name)}else y.sort();n&&(y=[`.`,`..`,...y]),s&&y.reverse();let b=``,x=``,S=0;if((a||o)&&(b=da(t,b,`${e}:
|
|
123
123
|
`)),i){b=da(t,b,`total ${y.length}
|
|
124
124
|
`);let e=y.filter(e=>e===`.`||e===`..`),n=y.filter(e=>e!==`.`&&e!==`..`);for(let n of e)b=da(t,b,`drwxr-xr-x 1 user user 0 Jan 1 00:00 ${n}
|
|
125
|
-
`);let r=[];for(let e=0;e<n.length;e+=100){let i=n.slice(e,e+100),a=await Promise.all(i.map(async e=>{let n=g===`/`?`/${e}`:`${g}/${e}`;try{let r=await t.fs.stat(n),i=r.isDirectory?`
|
|
125
|
+
`);let r=[];for(let e=0;e<n.length;e+=100){let i=n.slice(e,e+100),a=await Promise.all(i.map(async e=>{let n=g===`/`?`/${e}`:`${g}/${e}`;try{let r=await t.fs.stat(n),i=(r.isDirectory?`d`:`-`)+[...((typeof r.mode==`number`?r.mode:r.isDirectory?493:420)&511).toString(2).padStart(9,`0`)].map((e,t)=>e===`1`?`rwx`[t%3]:`-`).join(``),a=u?ha(await t.fs.lstat(n)):r.isDirectory?`/`:``,o=r.size??0;return{name:e,line:`${i} 1 user user ${c?pa(o).padStart(5):String(o).padStart(5)} ${ma(r.mtime??new Date(0))} ${e}${a}
|
|
126
126
|
`}}catch{return{name:e,line:`-rw-r--r-- 1 user user 0 Jan 1 00:00 ${e}
|
|
127
127
|
`}}}));r.push(...a)}let i=new Map(n.map((e,t)=>[e,t]));r.sort((e,t)=>(i.get(e.name)??0)-(i.get(t.name)??0));for(let{line:e}of r)b=da(t,b,e)}else if(u){let e=[],n=y.filter(e=>e!==`.`&&e!==`..`),r=y.filter(e=>e===`.`||e===`..`);for(let t of r)e.push(`${t}/`);for(let r=0;r<n.length;r+=100){let i=n.slice(r,r+100),a=await Promise.all(i.map(async e=>{let n=g===`/`?`/${e}`:`${g}/${e}`;try{return`${e}${ha(await t.fs.lstat(n))}`}catch{return e}}));e.push(...a)}b=da(t,b,fa(t,e))}else b=da(t,b,fa(t,y));if(a){let o=y.filter(e=>e!==`.`&&e!==`..`),d=[];if(t.fs.readdirWithFileTypes)d=(await t.fs.readdirWithFileTypes(g)).filter(e=>e.isDirectory&&o.includes(e.name)).map(e=>({name:e.name,isDirectory:!0}));else for(let e=0;e<o.length;e+=100){let n=o.slice(e,e+100),r=await Promise.all(n.map(async e=>{let n=g===`/`?`/${e}`:`${g}/${e}`;try{return{name:e,isDirectory:(await t.fs.stat(n)).isDirectory}}catch{return{name:e,isDirectory:!1}}}));d.push(...r.filter(e=>e.isDirectory))}d.sort((e,t)=>e.name.localeCompare(t.name)),s&&d.reverse();let m=[];for(let o=0;o<d.length;o+=100){let h=d.slice(o,o+100),g=await Promise.all(h.map(async o=>{let d=await _a(e===`.`?`./${o.name}`:`${e}/${o.name}`,t,n,r,i,a,!1,s,c,l,u,!0,f,p+1,v);return{name:o.name,result:d}}));m.push(...g)}m.sort((e,t)=>e.name.localeCompare(t.name)),s&&m.reverse();for(let{result:e}of m)b=da(t,b,`
|
|
128
128
|
`),b=da(t,b,e.stdout),x=da(t,x,e.stderr),e.exitCode!==0&&(S=e.exitCode)}return{stdout:b,stderr:x,exitCode:S}}catch(t){if(t instanceof A||t instanceof kr)throw t;return{stdout:``,stderr:`ls: ${e}: No such file or directory
|
|
129
129
|
`,exitCode:2}}}var va,ya,ba,xa,Sa=T(()=>{Wi(),k(),la(),j(),Kr(),qr(),F(),va={name:`ls`,summary:`list directory contents`,usage:`ls [OPTION]... [FILE]...`,options:[`-a, --all do not ignore entries starting with .`,`-A, --almost-all do not list . and ..`,`-d, --directory list directories themselves, not their contents`,`-F, --classify append indicator (one of */=>@) to entries`,`-h, --human-readable with -l, print sizes like 1K 234M 2G etc.`,`-l use a long listing format`,`-r, --reverse reverse order while sorting`,`-R, --recursive list subdirectories recursively`,`-S sort by file size, largest first`,`-t sort by time, newest first`,`-1 list one file per line`,` --help display this help and exit`]},ya={showAll:{short:`a`,long:`all`,type:`boolean`},showAlmostAll:{short:`A`,long:`almost-all`,type:`boolean`},longFormat:{short:`l`,type:`boolean`},humanReadable:{short:`h`,long:`human-readable`,type:`boolean`},recursive:{short:`R`,long:`recursive`,type:`boolean`},reverse:{short:`r`,long:`reverse`,type:`boolean`},sortBySize:{short:`S`,type:`boolean`},classifyFiles:{short:`F`,long:`classify`,type:`boolean`},directoryOnly:{short:`d`,long:`directory`,type:`boolean`},sortByTime:{short:`t`,type:`boolean`},onePerLine:{short:`1`,type:`boolean`}},ba={name:`ls`,async execute(e,t){if(N(e))return M(va);let n=Gr(`ls`,e,ya);if(!n.ok)return n.error;let r=n.result.flags.showAll,i=n.result.flags.showAlmostAll,a=n.result.flags.longFormat,o=n.result.flags.humanReadable,s=n.result.flags.recursive,c=n.result.flags.reverse,l=n.result.flags.sortBySize,u=n.result.flags.classifyFiles,d=n.result.flags.directoryOnly;n.result.flags.sortByTime,n.result.flags.onePerLine;let f=n.result.positional;f.length===0&&f.push(`.`);let p=``,m=``,h=0,g=new ca({limits:t.limits,signal:t.signal,executionScope:t.executionScope,site:`ls`});for(let e=0;e<f.length;e++){let n=f[e];if(e>0&&p&&!p.endsWith(`
|
|
130
130
|
|
|
131
131
|
`)&&(p=da(t,p,`
|
|
132
|
-
`)),d){let e=t.fs.resolvePath(t.cwd,n);try{let r=await t.fs.stat(e);if(a){let i=r.isDirectory?`
|
|
132
|
+
`)),d){let e=t.fs.resolvePath(t.cwd,n);try{let r=await t.fs.stat(e);if(a){let i=(r.isDirectory?`d`:`-`)+[...((typeof r.mode==`number`?r.mode:r.isDirectory?493:420)&511).toString(2).padStart(9,`0`)].map((e,t)=>e===`1`?`rwx`[t%3]:`-`).join(``),a=u?ha(await t.fs.lstat(e)):r.isDirectory?`/`:``,s=r.size??0,c=o?pa(s).padStart(5):String(s).padStart(5),l=ma(r.mtime??new Date(0));p=da(t,p,`${i} 1 user user ${c} ${l} ${n}${a}
|
|
133
133
|
`)}else{let r=u?ha(await t.fs.lstat(e)):``;p=da(t,p,`${n}${r}
|
|
134
134
|
`)}}catch{m=da(t,m,`ls: cannot access '${n}': No such file or directory
|
|
135
135
|
`),h=2}continue}if(n.includes(`*`)||n.includes(`?`)||n.includes(`[`)){let e=await ga(n,t,r,i,a,c,o,l,u,g);p=da(t,p,e.stdout),m=da(t,m,e.stderr),e.exitCode!==0&&(h=e.exitCode)}else{let e=await _a(n,t,r,i,a,s,f.length>1,c,o,l,u,!1,g,0,new Set);p=da(t,p,e.stdout),m=da(t,m,e.stderr),e.exitCode!==0&&(h=e.exitCode)}}return{stdout:p,stderr:m,exitCode:h}}},xa={name:`ls`,flags:[{flag:`-a`,type:`boolean`},{flag:`-A`,type:`boolean`},{flag:`-l`,type:`boolean`},{flag:`-h`,type:`boolean`},{flag:`-R`,type:`boolean`},{flag:`-r`,type:`boolean`},{flag:`-S`,type:`boolean`},{flag:`-F`,type:`boolean`},{flag:`-d`,type:`boolean`},{flag:`-t`,type:`boolean`},{flag:`-1`,type:`boolean`}],needsFiles:!0}}),Ca={};E(Ca,{flagsForFuzzing:()=>Ea,mkdirCommand:()=>Ta});var wa,Ta,Ea,Da=T(()=>{ea(),ci(),Kr(),wa={recursive:{short:`p`,long:`parents`,type:`boolean`},verbose:{short:`v`,long:`verbose`,type:`boolean`}},Ta={name:`mkdir`,async execute(e,t){let n=Gr(`mkdir`,e,wa);if(!n.ok)return n.error;let r=n.result.flags.recursive,i=n.result.flags.verbose,a=n.result.positional;if(a.length===0)return{stdout:``,stderr:`mkdir: missing operand
|
|
@@ -706,7 +706,7 @@ sys 0.00
|
|
|
706
706
|
`,exitCode:1};let o=1,s=1,c;if(i.length===1?c=parseFloat(i[0]):i.length===2?(o=parseFloat(i[0]),c=parseFloat(i[1])):(o=parseFloat(i[0]),s=parseFloat(i[1]),c=parseFloat(i[2])),!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(c))return{stdout:``,stderr:`seq: invalid floating point argument: '${i.find(e=>!Number.isFinite(parseFloat(e)))}'
|
|
707
707
|
`,exitCode:1};if(s===0)return{stdout:``,stderr:`seq: invalid Zero increment value: '0'
|
|
708
708
|
`,exitCode:1};let l=[],u=e=>{let t=String(e),n=t.indexOf(`.`);return n===-1?0:t.length-n-1},d=Math.max(u(o),u(s),u(c)),f=Math.min(t.limits.maxLoopIterations,t.limits.maxArrayElements),p=Math.min(t.limits.maxOutputSize,t.limits.maxStringLength),m=O(n),h=0,g=0,_=e=>{if(g>=f)throw new A(`seq: iteration limit exceeded (${f})`,`iterations`);let t=Bi(Bi(h,l.length>0?m:0,`seq`),Bi(O(e),1,`seq`),`seq`);if(t>p)throw new A(`seq: output size limit exceeded (${p} bytes)`,`output_size`);h=t-1,l.push(e),g++};if(s>0)for(let e=o;e<=c+1e-10;e+=s)_(d>0?e.toFixed(d):String(Math.round(e)));else for(let e=o;e>=c-1e-10;e+=s)_(d>0?e.toFixed(d):String(Math.round(e)));if(r&&l.length>0){let e=0;for(let t of l)e=Math.max(e,t.startsWith(`-`)?t.length-1:t.length);if(Bi(Bi(l.reduce((t,n)=>Bi(t,e+ +!!n.startsWith(`-`),`seq`),0),Vi(m,Math.max(0,l.length-1),`seq`),`seq`),1,`seq`)>p)throw new A(`seq: output size limit exceeded (${p} bytes)`,`output_size`);for(let t=0;t<l.length;t++){let n=l[t].startsWith(`-`),r=(n?l[t].slice(1):l[t]).padStart(e,`0`);l[t]=n?`-${r}`:r}}let v=Hi(l,n,p-1,`seq`);return{stdout:v?`${v}
|
|
709
|
-
`:``,stderr:``,exitCode:0}}},rx={name:`seq`,flags:[{flag:`-s`,type:`value`,valueHint:`string`},{flag:`-w`,type:`boolean`}],needsArgs:!0}}),ax={};E(ax,{exprCommand:()=>sx,flagsForFuzzing:()=>cx});function ox(e,t){if(e.length===1)return e[0];let n=0;function r(){let t=i();for(;n<e.length&&e[n]===`|`;){n++;let e=i();if(t!==`0`&&t!==``)return t;t=e}return t}function i(){let t=a();for(;n<e.length&&e[n]===`&`;){n++;let e=a();(t===`0`||t===``||e===`0`||e===``)&&(t=`0`)}return t}function a(){let t=o();for(;n<e.length;){let r=e[n];if([`=`,`!=`,`<`,`>`,`<=`,`>=`].includes(r)){n++;let e=o(),i=parseInt(t,10),a=parseInt(e,10),s=!Number.isNaN(i)&&!Number.isNaN(a),c;c=r===`=`?s?i===a:t===e:r===`!=`?s?i!==a:t!==e:r===`<`?s?i<a:t<e:r===`>`?s?i>a:t>e:r===`<=`?s?i<=a:t<=e:s?i>=a:t>=e,t=c?`1`:`0`}else break}return t}function o(){let t=s();for(;n<e.length;){let r=e[n];if(r===`+`||r===`-`){n++;let e=s(),i=parseInt(t,10),a=parseInt(e,10);if(Number.isNaN(i)||Number.isNaN(a))throw Error(`non-integer argument`);t=String(r===`+`?i+a:i-a)}else break}return t}function s(){let t=c();for(;n<e.length;){let r=e[n];if(r===`*`||r===`/`||r===`%`){n++;let e=c(),i=parseInt(t,10),a=parseInt(e,10);if(Number.isNaN(i)||Number.isNaN(a))throw Error(`non-integer argument`);if((r===`/`||r===`%`)&&a===0)throw Error(`division by zero`);t=String(r===`*`?i*a:r===`/`?Math.trunc(i/a):i%a)}else break}return t}function c(){let t=l();for(;n<e.length&&e[n]===`:`;){n++;let e=U(
|
|
709
|
+
`:``,stderr:``,exitCode:0}}},rx={name:`seq`,flags:[{flag:`-s`,type:`value`,valueHint:`string`},{flag:`-w`,type:`boolean`}],needsArgs:!0}}),ax={};E(ax,{exprCommand:()=>sx,flagsForFuzzing:()=>cx});function ox(e,t){if(e.length===1)return e[0];let n=0;function r(){let t=i();for(;n<e.length&&e[n]===`|`;){n++;let e=i();if(t!==`0`&&t!==``)return t;t=e}return t}function i(){let t=a();for(;n<e.length&&e[n]===`&`;){n++;let e=a();(t===`0`||t===``||e===`0`||e===``)&&(t=`0`)}return t}function a(){let t=o();for(;n<e.length;){let r=e[n];if([`=`,`!=`,`<`,`>`,`<=`,`>=`].includes(r)){n++;let e=o(),i=parseInt(t,10),a=parseInt(e,10),s=!Number.isNaN(i)&&!Number.isNaN(a),c;c=r===`=`?s?i===a:t===e:r===`!=`?s?i!==a:t!==e:r===`<`?s?i<a:t<e:r===`>`?s?i>a:t>e:r===`<=`?s?i<=a:t<=e:s?i>=a:t>=e,t=c?`1`:`0`}else break}return t}function o(){let t=s();for(;n<e.length;){let r=e[n];if(r===`+`||r===`-`){n++;let e=s(),i=parseInt(t,10),a=parseInt(e,10);if(Number.isNaN(i)||Number.isNaN(a))throw Error(`non-integer argument`);t=String(r===`+`?i+a:i-a)}else break}return t}function s(){let t=c();for(;n<e.length;){let r=e[n];if(r===`*`||r===`/`||r===`%`){n++;let e=c(),i=parseInt(t,10),a=parseInt(e,10);if(Number.isNaN(i)||Number.isNaN(a))throw Error(`non-integer argument`);if((r===`/`||r===`%`)&&a===0)throw Error(`division by zero`);t=String(r===`*`?i*a:r===`/`?Math.trunc(i/a):i%a)}else break}return t}function c(){let t=l();for(;n<e.length&&e[n]===`:`;){n++;let e=U(`^`+(e=>{let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(r===`\\`&&n+1<e.length){let r=e[++n];t+=`(){}|+?`.includes(r)?r:`\\`+r}else if(`(){}|+?`.includes(r))t+=`\\`+r;else if(r===`[`){let r=n+1;for(e[r]===`^`&&r++,e[r]===`]`&&r++;r<e.length&&e[r]!==`]`;)r++;t+=e.slice(n,r+1),n=r}else t+=r}return t})(l())).match(t);t=e?e[1]===void 0?String(e[0].length):e[1]:`0`}return t}function l(){if(n>=e.length)throw Error(`syntax error`);let i=e[n];if(i===`match`){n++;let e=l(),t=U(`^`+(e=>{let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(r===`\\`&&n+1<e.length){let r=e[++n];t+=`(){}|+?`.includes(r)?r:`\\`+r}else if(`(){}|+?`.includes(r))t+=`\\`+r;else if(r===`[`){let r=n+1;for(e[r]===`^`&&r++,e[r]===`]`&&r++;r<e.length&&e[r]!==`]`;)r++;t+=e.slice(n,r+1),n=r}else t+=r}return t})(l())).match(e);return t?t[1]===void 0?String(t[0].length):t[1]:`0`}if(i===`substr`){n++;let e=l(),t=parseInt(l(),10),r=parseInt(l(),10);if(Number.isNaN(t)||Number.isNaN(r))throw Error(`non-integer argument`);return e.substring(t-1,t-1+r)}if(i===`index`){n++;let e=l(),r=l();t(r.length+e.length);let i=new Set;for(let e=0;e<r.length;e++)i.add(r[e]);for(let t=0;t<e.length;t++)if(i.has(e[t]))return String(t+1);return`0`}if(i===`length`){n++;let e=l();return String(e.length)}if(i===`(`){n++;let t=r();if(n>=e.length||e[n]!==`)`)throw Error(`syntax error`);return n++,t}return n++,i}let u=r();if(n!==e.length)throw Error(`syntax error`);return u}var sx,cx,lx=T(()=>{Wr(),ea(),mc(),sx={name:`expr`,async execute(e,t){if(e.length===0)return{stdout:``,stderr:`expr: missing operand
|
|
710
710
|
`,exitCode:2};try{let n=ox(e,e=>t.executionScope?.consumeWork(e,`expr index`)),r=+(n===`0`||n===``);return{stdout:`${n}
|
|
711
711
|
`,stderr:``,exitCode:r}}catch(e){return Ur(e),{stdout:``,stderr:`expr: ${$i(e.message)}
|
|
712
712
|
`,exitCode:2}}}},cx={name:`expr`,flags:[],needsArgs:!0}});function ux(e){function t(e,t){return e<<t|e>>>32-t}let n=new Uint32Array([3614090360,3905402710,606105819,3250441966,4118548399,1200080426,2821735955,4249261313,1770035416,2336552879,4294925233,2304563134,1804603682,4254626195,2792965006,1236535329,4129170786,3225465664,643717713,3921069994,3593408605,38016083,3634488961,3889429448,568446438,3275163606,4107603335,1163531501,2850285829,4243563512,1735328473,2368359562,4294588738,2272392833,1839030562,4259657740,2763975236,1272893353,4139469664,3200236656,681279174,3936430074,3572445317,76029189,3654602809,3873151461,530742520,3299628645,4096336452,1126891415,2878612391,4237533241,1700485571,2399980690,4293915773,2240044497,1873313359,4264355552,2734768916,1309151649,4149444226,3174756917,718787259,3951481745]),r=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],i=e.length*8,a=(e.length%64<56?56:120)-e.length%64,o=new Uint8Array(e.length+a+8);o.set(e),o[e.length]=128;let s=new DataView(o.buffer);s.setUint32(o.length-8,i>>>0,!0),s.setUint32(o.length-4,Math.floor(i/4294967296),!0);let c=1732584193,l=4023233417,u=2562383102,d=271733878;for(let e=0;e<o.length;e+=64){let i=new Uint32Array(16);for(let t=0;t<16;t++)i[t]=s.getUint32(e+t*4,!0);let a=c,o=l,f=u,p=d;for(let e=0;e<64;e++){let s,c;e<16?(s=o&f|~o&p,c=e):e<32?(s=p&o|~p&f,c=(5*e+1)%16):e<48?(s=o^f^p,c=(3*e+5)%16):(s=f^(o|~p),c=7*e%16),s=s+a+n[e]+i[c]>>>0,a=p,p=f,f=o,o=o+t(s,r[e])>>>0}c=c+a>>>0,l=l+o>>>0,u=u+f>>>0,d=d+p>>>0}let f=new Uint8Array(16);return new DataView(f.buffer).setUint32(0,c,!0),new DataView(f.buffer).setUint32(4,l,!0),new DataView(f.buffer).setUint32(8,u,!0),new DataView(f.buffer).setUint32(12,d,!0),Array.from(f).map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function dx(e,t){if(e===`md5`)return ux(t);let n=px.get(e);if(!n)throw Error(`Unknown algorithm: ${e}`);let r=await globalThis.crypto.subtle.digest(n,new Uint8Array(t).buffer);return Array.from(new Uint8Array(r)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function fx(e,t,n){let r={name:e,summary:n,usage:`${e} [OPTION]... [FILE]...`,options:[`-c, --check read checksums from FILEs and check them`,` --help display this help and exit`]};return{name:e,async execute(n,i){if(N(n))return M(r);let a=!1,o=[];for(let t of n)if(t===`-c`||t===`--check`)a=!0;else if(t!==`-b`&&t!==`-t`&&t!==`--binary`&&t!==`--text`){if(t.startsWith(`-`)&&t!==`-`)return P(e,t);o.push(t)}o.length===0&&o.push(`-`);let s=async e=>{if(e===`-`)return Uint8Array.from(i.stdin,e=>e.charCodeAt(0));try{return await i.fs.readFileBuffer(i.fs.resolvePath(i.cwd,e))}catch{return null}};if(a){let n=0,r=``;for(let a of o){let o=a===`-`?or(i.stdin):await i.fs.readFile(i.fs.resolvePath(i.cwd,a)).catch(()=>null);if(o===null)return{stdout:``,stderr:`${e}: ${a}: No such file or directory
|
|
@@ -941,7 +941,7 @@ ${e.terminator}`}function nA(e){return`(${Jk(e.body)})${qk(e.redirections)}`}fun
|
|
|
941
941
|
`,!1}return oD(e,t,i)}return e.state.env.has(t)?!0:e.state.associativeArrays?.has(t)?fD(e,t).length>0:uD(e,t).length>0}async function NP(e,t){switch(t.type){case`CondBinary`:{let n=await MN(e,t.left),r=t.right.parts.length>0&&t.right.parts.every(e=>e.type===`SingleQuoted`||e.type===`DoubleQuoted`||e.type===`Escaped`&&t.operator!==`=~`),i;if(i=t.operator===`=~`?r?vj(await MN(e,t.right)):await NN(e,t.right):DP(t.operator)&&!r?await PN(e,t.right):await MN(e,t.right),DP(t.operator)){let a=e.state.shoptOptions.nocasematch;return OP(t.operator,n,i,!r,a,!0,e.limits.maxCallDepth)}if(TP(t.operator))return EP(t.operator,await qP(e,n),await qP(e,i));if(SP(t.operator))return CP(e,t.operator,n,i);switch(t.operator){case`=~`:try{let t=e.state.shoptOptions.nocasematch,r=U(ZP(i),t?`i`:``).match(n);if(dD(e,`BASH_REMATCH`),r)for(let t=0;t<r.length;t++)Y(e,`BASH_REMATCH`,t,r[t]||``);return r!==null}catch{throw Error(`syntax error in regular expression`)}case`<`:return n<i;case`>`:return n>i;default:return!1}}case`CondUnary`:{let n=await MN(e,t.operand);return yP(t.operator)?bP(e,t.operator,n):AP(t.operator)?jP(t.operator,n):t.operator===`-v`?await MP(e,n):t.operator===`-o`&&KP(e,n)}case`CondNot`:return e.state.shoptOptions.extglob&&t.operand.type===`CondGroup`&&t.operand.expression.type===`CondWord`?`!(${await MN(e,t.operand.expression.word)})`!=``:!await NP(e,t.operand);case`CondAnd`:return await NP(e,t.left)?await NP(e,t.right):!1;case`CondOr`:return await NP(e,t.left)?!0:await NP(e,t.right);case`CondGroup`:return await NP(e,t.expression);case`CondWord`:return await MN(e,t.word)!==``;default:return!1}}async function PP(e,t){if(t.length===0)return $(``,``,1);if(t.length===1)return fP(!!t[0]);if(t.length===2){let n=t[0],r=t[1];return n===`(`?Q(`test: '(' without matching ')'
|
|
942
942
|
`,2):yP(n)?fP(await bP(e,n,r)):AP(n)?fP(jP(n,r)):n===`!`?fP(!r):n===`-v`?fP(await MP(e,r)):n===`-o`?fP(KP(e,r)):n===`=`||n===`==`||n===`!=`||n===`<`||n===`>`||n===`-eq`||n===`-ne`||n===`-lt`||n===`-le`||n===`-gt`||n===`-ge`||n===`-nt`||n===`-ot`||n===`-ef`?Q(`test: ${n}: unary operator expected
|
|
943
943
|
`,2):$(``,``,1)}if(t.length===3){let n=t[0],r=t[1],i=t[2];if(DP(r))return fP(OP(r,n,i));if(TP(r)){let e=XP(n),t=XP(i);return!e.valid||!t.valid?$(``,``,2):fP(EP(r,e.value,t.value))}if(SP(r))return fP(await CP(e,r,n,i));switch(r){case`-a`:return fP(n!==``&&i!==``);case`-o`:return fP(n!==``||i!==``);case`>`:return fP(n>i);case`<`:return fP(n<i)}if(n===`!`){let t=await PP(e,[r,i]);return $(``,t.stderr,t.exitCode===0?1:t.exitCode===1?0:t.exitCode)}if(n===`(`&&i===`)`)return fP(r!==``)}if(t.length===4){if(t[0]===`!`){let n=await PP(e,t.slice(1));return $(``,n.stderr,n.exitCode===0?1:n.exitCode===1?0:n.exitCode)}if(t[0]===`(`&&t[3]===`)`)return PP(e,[t[1],t[2]])}let n=await FP(e,t,0);return n.pos<t.length?Q(`test: too many arguments
|
|
944
|
-
`,2):fP(n.value)}async function FP(e,t,n){return IP(e,t,n)}async function IP(e,t,n){let{value:r,pos:i}=await LP(e,t,n);for(;t[i]===`-o`;){let n=await LP(e,t,i+1);r||=n.value,i=n.pos}return{value:r,pos:i}}async function LP(e,t,n){let{value:r,pos:i}=await RP(e,t,n);for(;t[i]===`-a`;){let n=await RP(e,t,i+1);r&&=n.value,i=n.pos}return{value:r,pos:i}}async function RP(e,t,n){let r=e.executionScope.enterDepth(`test_expression`,e.limits.maxCallDepth,`test expression`);try{if(t[n]===`!`){let{value:r,pos:i}=await RP(e,t,n+1);return{value:!r,pos:i}}return zP(e,t,n)}finally{r.release()}}async function zP(e,t,n){let r=t[n];if(r===`(`){let{value:r,pos:i}=await FP(e,t,n+1);return{value:r,pos:t[i]===`)`?i+1:i}}let i=t[n+1];if(DP(i))return{value:OP(i,r,t[n+2]??``),pos:n+3};if(TP(i)){let e=XP(r),a=XP(t[n+2]??`0`);return!e.valid||!a.valid?{value:!1,pos:n+3}:{value:EP(i,e.value,a.value),pos:n+3}}return SP(i)?{value:await CP(e,i,r,t[n+2]??``),pos:n+3}:yP(r)?{value:await bP(e,r,t[n+1]??``),pos:n+2}:AP(r)?{value:jP(r,t[n+1]??``),pos:n+2}:r===`-v`?{value:await MP(e,t[n+1]??``),pos:n+2}:r===`-o`?{value:KP(e,t[n+1]??``),pos:n+2}:{value:r!==void 0&&r!==``,pos:n+1}}function BP(e,t,n=!1,r=!1,i=256){return r&&VP(t,i),U(`^${HP(t,r)}$`,n?`is`:`s`).test(e)}function VP(e,t){let n=0,r=[];for(let i=0;i<e.length;i++){if(e[i]===`\\`){i++;continue}if(e[i]===`(`){let a=i>0&&`@*+?!`.includes(e[i-1]);if(r.push(a),a&&n++,n>t)throw new A(`extglob maximum depth (${t}) exceeded`,`recursion`)}else e[i]===`)`&&r.length>0&&r.pop()&&n--}}function HP(e,t){let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(t&&(i===`@`||i===`*`||i===`+`||i===`?`||i===`!`)&&r+1<e.length&&e[r+1]===`(`){let a=UP(e,r+1);if(a!==-1){let o=WP(e.slice(r+2,a)),s=o.map(e=>HP(e,t)),c=s.length>0?s.join(`|`):`(?:)`;if(i===`@`)n+=`(?:${c})`;else if(i===`*`)n+=`(?:${c})*`;else if(i===`+`)n+=`(?:${c})+`;else if(i===`?`)n+=`(?:${c})?`;else if(i===`!`){if(a<e.length-1){let e=o.map(e=>GP(e,t));if(e.every(e=>e!==null)&&e.every(t=>t===e[0])&&e[0]!==null){let t=e[0];if(t===0)n+=`(?:.+)`;else{let e=[];t>0&&e.push(`.{0,${t-1}}`),e.push(`.{${t+1},}`),e.push(`(?!(?:${c})).{${t}}`),n+=`(?:${e.join(`|`)})`}}else n+=`(?:(?!(?:${c})).)*?`}else n+=`(?!(?:${c})$).*`}r=a;continue}}if(i===`\\`){if(r+1<e.length){let t=e[r+1];/[\\^$.|+(){}[\]*?]/.test(t)?n+=`\\${t}`:n+=t,r++}else n+=`\\\\`}else if(i===`*`)n+=`.*`;else if(i===`?`)n+=`.`;else if(i===`[`){let t=e
|
|
944
|
+
`,2):fP(n.value)}async function FP(e,t,n){return IP(e,t,n)}async function IP(e,t,n){let{value:r,pos:i}=await LP(e,t,n);for(;t[i]===`-o`;){let n=await LP(e,t,i+1);r||=n.value,i=n.pos}return{value:r,pos:i}}async function LP(e,t,n){let{value:r,pos:i}=await RP(e,t,n);for(;t[i]===`-a`;){let n=await RP(e,t,i+1);r&&=n.value,i=n.pos}return{value:r,pos:i}}async function RP(e,t,n){let r=e.executionScope.enterDepth(`test_expression`,e.limits.maxCallDepth,`test expression`);try{if(t[n]===`!`){let{value:r,pos:i}=await RP(e,t,n+1);return{value:!r,pos:i}}return zP(e,t,n)}finally{r.release()}}async function zP(e,t,n){let r=t[n];if(r===`(`){let{value:r,pos:i}=await FP(e,t,n+1);return{value:r,pos:t[i]===`)`?i+1:i}}let i=t[n+1];if(DP(i))return{value:OP(i,r,t[n+2]??``),pos:n+3};if(TP(i)){let e=XP(r),a=XP(t[n+2]??`0`);return!e.valid||!a.valid?{value:!1,pos:n+3}:{value:EP(i,e.value,a.value),pos:n+3}}return SP(i)?{value:await CP(e,i,r,t[n+2]??``),pos:n+3}:yP(r)?{value:await bP(e,r,t[n+1]??``),pos:n+2}:AP(r)?{value:jP(r,t[n+1]??``),pos:n+2}:r===`-v`?{value:await MP(e,t[n+1]??``),pos:n+2}:r===`-o`?{value:KP(e,t[n+1]??``),pos:n+2}:{value:r!==void 0&&r!==``,pos:n+1}}function BP(e,t,n=!1,r=!1,i=256){return r&&VP(t,i),U(`^${HP(t,r)}$`,n?`is`:`s`).test(e)}function VP(e,t){let n=0,r=[];for(let i=0;i<e.length;i++){if(e[i]===`\\`){i++;continue}if(e[i]===`(`){let a=i>0&&`@*+?!`.includes(e[i-1]);if(r.push(a),a&&n++,n>t)throw new A(`extglob maximum depth (${t}) exceeded`,`recursion`)}else e[i]===`)`&&r.length>0&&r.pop()&&n--}}function HP(e,t){let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(t&&(i===`@`||i===`*`||i===`+`||i===`?`||i===`!`)&&r+1<e.length&&e[r+1]===`(`){let a=UP(e,r+1);if(a!==-1){let o=WP(e.slice(r+2,a)),s=o.map(e=>HP(e,t)),c=s.length>0?s.join(`|`):`(?:)`;if(i===`@`)n+=`(?:${c})`;else if(i===`*`)n+=`(?:${c})*`;else if(i===`+`)n+=`(?:${c})+`;else if(i===`?`)n+=`(?:${c})?`;else if(i===`!`){if(a<e.length-1){let e=o.map(e=>GP(e,t));if(e.every(e=>e!==null)&&e.every(t=>t===e[0])&&e[0]!==null){let t=e[0];if(t===0)n+=`(?:.+)`;else{let e=[];t>0&&e.push(`.{0,${t-1}}`),e.push(`.{${t+1},}`),e.push(`(?!(?:${c})).{${t}}`),n+=`(?:${e.join(`|`)})`}}else n+=`(?:(?!(?:${c})).)*?`}else n+=`(?!(?:${c})$).*`}r=a;continue}}if(i===`\\`){if(r+1<e.length){let t=e[r+1];/[\\^$.|+(){}[\]*?]/.test(t)?n+=`\\${t}`:n+=t,r++}else n+=`\\\\`}else if(i===`*`)n+=`.*`;else if(i===`?`)n+=`.`;else if(i===`[`){let t=((e,t)=>{let n=t+1,r=!1;(e[n]===`!`||e[n]===`^`)&&(r=!0,n++);let i=``;for(e[n]===`]`&&(i+=`\\]`,n++);n<e.length&&e[n]!==`]`;n++){let t=e[n]===`[`&&e[n+1]===`:`?e.slice(n).match(/^\[:([a-z]+):\]/):null;if(t){i+={alpha:`a-zA-Z`,digit:`0-9`,alnum:`a-zA-Z0-9`,upper:`A-Z`,lower:`a-z`,space:`\\s`,blank:` \\t`,punct:"!-\\/:-@\\[-`{-~",xdigit:`0-9A-Fa-f`,word:`\\w`,cntrl:`\\x00-\\x1f\\x7f`,print:`\\x20-\\x7e`,graph:`\\x21-\\x7e`}[t[1]]??``,n+=t[0].length-1;continue}let r=e[n];if(r===`\\`&&n+1<e.length){i+=`\\`+e[++n];continue}i+=/[\]\\^\[]/.test(r)?`\\`+r:r}return n<e.length?{re:`[`+(r?`^`:``)+i+`]`,end:n}:null})(e,r);t===null?n+=`\\[`:(n+=t.re,r=t.end)}else/[\\^$.|+(){}]/.test(i)?n+=`\\${i}`:n+=i}return n}function UP(e,t){let n=1,r=t+1;for(;r<e.length&&n>0;){let t=e[r];if(t===`\\`){r+=2;continue}if(t===`(`)n++;else if(t===`)`&&(n--,n===0))return r;r++}return-1}function WP(e){let t=[],n=``,r=0,i=0;for(;i<e.length;){let a=e[i];if(a===`\\`){n+=a,i+1<e.length?(n+=e[i+1],i+=2):i++;continue}a===`(`?(r++,n+=a):a===`)`?(r--,n+=a):a===`|`&&r===0?(t.push(n),n=``):n+=a,i++}return t.push(n),t}function GP(e,t){let n=0,r=0;for(;r<e.length;){let i=e[r];if(t&&(i===`@`||i===`*`||i===`+`||i===`?`||i===`!`)&&r+1<e.length&&e[r+1]===`(`){let a=UP(e,r+1);if(a!==-1){if(i===`@`){let i=WP(e.slice(r+2,a)).map(e=>GP(e,t));if(i.every(e=>e!==null)&&i.every(e=>e===i[0])){n+=i[0],r=a+1;continue}return null}return null}}if(i===`*`)return null;if(i===`?`){n+=1,r++;continue}if(i===`[`){let t=e.indexOf(`]`,r+1);if(t!==-1){n+=1,r=t+1;continue}n+=1,r++;continue}if(i===`\\`){n+=1,r+=2;continue}n+=1,r++}return n}function KP(e,t){let n=new Map([[`errexit`,()=>e.state.options.errexit===!0],[`nounset`,()=>e.state.options.nounset===!0],[`pipefail`,()=>e.state.options.pipefail===!0],[`xtrace`,()=>e.state.options.xtrace===!0],[`e`,()=>e.state.options.errexit===!0],[`u`,()=>e.state.options.nounset===!0],[`x`,()=>e.state.options.xtrace===!0]]).get(t);return n?n():!1}async function qP(e,t){if(t=t.trim(),t===``)return 0;if(/^[+-]?(\d+#[a-zA-Z0-9@_]+|0[xX][0-9a-fA-F]+|0[0-7]+|\d+)$/.test(t))return YP(t);try{return await rP(e,sO(new Tk,t).expression)}catch{return YP(t)}}function JP(e,t){let n=0;for(let r of e){let e;if(r>=`0`&&r<=`9`)e=r.charCodeAt(0)-48;else if(r>=`a`&&r<=`z`)e=r.charCodeAt(0)-97+10;else if(r>=`A`&&r<=`Z`)e=r.charCodeAt(0)-65+36;else if(r===`@`)e=62;else if(r===`_`)e=63;else return NaN;if(e>=t)return NaN;n=n*t+e}return n}function YP(e){if(e=e.trim(),e===``)return 0;let t=!1;e.startsWith(`-`)?(t=!0,e=e.slice(1)):e.startsWith(`+`)&&(e=e.slice(1));let n,r=e.match(/^(\d+)#([a-zA-Z0-9@_]+)$/);if(r){let e=Number.parseInt(r[1],10);n=e>=2&&e<=64?JP(r[2],e):0}else n=/^0[xX][0-9a-fA-F]+$/.test(e)?Number.parseInt(e,16):/^0[0-7]+$/.test(e)?Number.parseInt(e,8):Number.parseInt(e,10);return Number.isNaN(n)&&(n=0),t?-n:n}function XP(e){if(e=e.trim(),e===``)return{value:0,valid:!0};let t=!1;if(e.startsWith(`-`)?(t=!0,e=e.slice(1)):e.startsWith(`+`)&&(e=e.slice(1)),!/^\d+$/.test(e))return{value:0,valid:!1};let n=Number.parseInt(e,10);return Number.isNaN(n)?{value:0,valid:!1}:{value:t?-n:n,valid:!0}}function ZP(e){let t=``,n=0;for(;n<e.length;)if(e[n]===`\\`&&n+1<e.length)t+=e[n]+e[n+1],n+=2;else if(e[n]===`[`){let r=QP(e,n);t+=r.converted,n=r.endIndex}else t+=e[n],n++;return t}function QP(e,t){let n=t+1,r=`[`;n<e.length&&(e[n]===`^`||e[n]===`!`)&&(r+=`^`,n++);let i=!1;n<e.length&&e[n]===`]`&&(i=!0,n++);let a=!1;n<e.length&&e[n]===`[`&&n+1<e.length&&e[n+1]!==`:`&&(a=!0,n++);let o=``,s=!1;for(;n<e.length;){let t=e[n];if(t===`]`){s=!0,n++;break}if(t===`[`&&n+1<e.length&&e[n+1]===`:`){let t=e.indexOf(`:]`,n+2);if(t!==-1){let r=e.slice(n+2,t);o+=$P(r),n=t+2;continue}}if(t===`[`&&n+1<e.length){let t=e[n+1];if(t===`.`||t===`=`){let r=`${t}]`,i=e.indexOf(r,n+2);if(i!==-1){let t=e.slice(n+2,i);o+=t,n=i+2;continue}}}if(t===`\\`&&n+1<e.length){o+=t+e[n+1],n+=2;continue}o+=t,n++}return s?(i&&(r+=`\\]`),a&&(r+=`\\[`),r+=o,r+=`]`,{converted:r,endIndex:n}):{converted:`\\[`,endIndex:t+1}}function $P(e){return new Map([[`alnum`,`a-zA-Z0-9`],[`alpha`,`a-zA-Z`],[`ascii`,`\\x00-\\x7F`],[`blank`,` \\t`],[`cntrl`,`\\x00-\\x1F\\x7F`],[`digit`,`0-9`],[`graph`,`!-~`],[`lower`,`a-z`],[`print`,` -~`],[`punct`,"!-/:-@\\[-`{-~"],[`space`,` \\t\\n\\r\\f\\v`],[`upper`,`A-Z`],[`word`,`a-zA-Z0-9_`],[`xdigit`,`0-9A-Fa-f`]]).get(e)??``}j(),k(),j();function eF(e,t,n){if(n&&e.length>=n.maxElements)throw new A(`array element limit exceeded (${n.maxElements})`,`array_elements`);e.push(t)}function tF(e,t){if(t&&O(e)>t.maxStringBytes)throw new A(`array assignment string limit exceeded (${t.maxStringBytes} bytes)`,`string_length`);let n=[],r=``,i=!1,a=!1,o=!1,s=!1;for(let c of e){if(o){r+=c,o=!1,s=!0;continue}if(c===`\\`){o=!0;continue}if(c===`'`&&!a){i||(s=!0),i=!i;continue}if(c===`"`&&!i){a||(s=!0),a=!a;continue}if((c===` `||c===` `||c===`
|
|
945
945
|
`)&&!i&&!a){s&&=(eF(n,r,t),r=``,!1);continue}r+=c,s=!0}return s&&eF(n,r,t),n}function nF(e,t){if(t&&O(e)>t.maxStringBytes)throw new A(`array assignment string limit exceeded (${t.maxStringBytes} bytes)`,`string_length`);let n=[],r=0;for(;r<e.length;){for(;r<e.length&&/\s/.test(e[r]);)r++;if(r>=e.length)break;if(e[r]!==`[`){r++;continue}r++;let i=``;if(e[r]===`'`||e[r]===`"`){let t=e[r];for(r++;r<e.length&&e[r]!==t;)i+=e[r],r++;e[r]===t&&r++}else for(;r<e.length&&e[r]!==`]`&&e[r]!==`=`;)i+=e[r],r++;for(;r<e.length&&e[r]!==`]`;)r++;if(e[r]===`]`&&r++,e[r]!==`=`)continue;r++;let a=``;if(e[r]===`'`||e[r]===`"`){let t=e[r];for(r++;r<e.length&&e[r]!==t;)e[r]===`\\`&&r+1<e.length&&r++,a+=e[r],r++;e[r]===t&&r++}else for(;r<e.length&&!/\s/.test(e[r]);)a+=e[r],r++;eF(n,[i,a],t)}return n}function rF(e,t){let n=e.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\((.*)\)$/s);if(n)return{name:n[1],isArray:!0,arrayElements:tF(n[2],t)};let r=e.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[([^\]]+)\]=(.*)$/s);if(r)return{name:r[1],isArray:!1,arrayIndex:r[2],value:r[3]};if(e.includes(`=`)){let t=e.indexOf(`=`);return{name:e.slice(0,t),isArray:!1,value:e.slice(t+1)}}return{name:e,isArray:!1}}async function iF(e,t){try{return await rP(e,sO(new Tk,t).expression)}catch{let e=parseInt(t,10);return Number.isNaN(e)?0:e}}async function aF(e,t,n={}){let{name:r,isArray:i,arrayElements:a,value:o,arrayIndex:s}=t,{makeReadonly:c=!1,checkReadonly:l=!0}=n;if(l){let t=Ij(e,r);if(t)return t}if(i&&a){e.executionScope.consumeWork(a.length,`array assignment`);let t=tD(e,r),n=t?$E(t):void 0,i=e.state.env.get(r);try{dD(e,r);for(let t=0;t<a.length;t++)Y(e,r,t,a[t]);e.state.env.delete(r)}catch(t){throw e.state.arrays??=new Map,n?e.state.arrays.set(r,n):e.state.arrays.delete(r),i===void 0?e.state.env.delete(r):e.state.env.set(r,i),t}}else s!==void 0&&o!==void 0?Y(e,r,await iF(e,s),o):o!==void 0&&e.state.env.set(r,o);return c&&Pj(e,r),null}function oF(e,t){e.state.localVarDepth=e.state.localVarDepth||new Map,e.state.localVarDepth.set(t,e.state.callDepth)}function sF(e,t){return e.state.localVarDepth?.get(t)}function cF(e,t){e.state.localVarDepth?.delete(t)}function lF(e,t,n){e.state.localVarStack=e.state.localVarStack||new Map;let r=e.state.localVarStack.get(t)||[];r.push({value:n,scopeIndex:e.state.localScopes.length-1}),e.state.localVarStack.set(t,r)}function uF(e,t){let n=e.state.localVarStack?.get(t);if(!(!n||n.length===0))return n.pop()}function dF(e,t){if(e.state.localVarStack)for(let[n,r]of e.state.localVarStack.entries()){for(;r.length>0&&r[r.length-1].scopeIndex===t;)r.pop();r.length===0&&e.state.localVarStack.delete(n)}}j();var fF=new Set([`:`,`.`,`break`,`continue`,`eval`,`exec`,`exit`,`export`,`readonly`,`return`,`set`,`shift`,`trap`,`unset`]);function pF(e){return fF.has(e)}var mF=new Set([`if`,`then`,`else`,`elif`,`fi`,`case`,`esac`,`for`,`select`,`while`,`until`,`do`,`done`,`in`,`function`,`{`,`}`,`time`,`[[`,`]]`,`!`]),hF=new Set(`:,true,false,cd,export,unset,exit,local,set,break,continue,return,eval,shift,getopts,compgen,complete,compopt,pushd,popd,dirs,source,.,read,mapfile,readarray,declare,typeset,readonly,let,command,shopt,exec,test,[,echo,printf,pwd,alias,unalias,type,hash,ulimit,umask,trap,times,wait,kill,jobs,fg,bg,disown,suspend,fc,history,help,enable,builtin,caller`.split(`,`));k(),j();var gF=`__file__:`,_F=`__file_append__:`,vF=`__rw__:`,yF=`__dupout__:`,bF=`__dupin__:`,xF=3;function SF(e){let t=e.slice(vF.length),n=t.indexOf(`:`);if(n===-1)return null;let r=Number.parseInt(t.slice(0,n),10);if(Number.isNaN(r)||r<0)return null;let i=n+1,a=t.slice(i,i+r),o=t.slice(i+r+1),s=o.indexOf(`:`);if(s===-1)return null;let c=Number.parseInt(o.slice(0,s),10);return Number.isNaN(c)||c<0?null:{path:a,position:c,content:o.slice(s+1)}}function CF(e,t){let n=Number.parseInt(e.slice(t.length),10);return Number.isNaN(n)?null:n}function wF(e){if(e.startsWith(gF))return{kind:`output`,path:e.slice(gF.length),append:!1};if(e.startsWith(_F))return{kind:`output`,path:e.slice(_F.length),append:!0};if(e.startsWith(vF)){let t=SF(e);if(t)return{kind:`readwrite`,...t}}if(e.startsWith(yF)){let t=CF(e,yF);if(t!==null)return{kind:`dup-out`,sourceFd:t}}if(e.startsWith(bF)){let t=CF(e,bF);if(t!==null)return{kind:`dup-in`,sourceFd:t}}return{kind:`input`,content:e}}function TF(e){switch(e.kind){case`input`:return e.content;case`output`:return`${e.append?_F:gF}${e.path}`;case`readwrite`:return`${vF}${e.path.length}:${e.path}:${e.position}:${e.content}`;case`dup-out`:return`${yF}${e.sourceFd}`;case`dup-in`:return`${bF}${e.sourceFd}`;case`closed`:throw Error(`Closed descriptors have no table encoding`)}}function EF(e){return e.state.fileDescriptors??=new Map,e.state.fileDescriptors}function DF(e,t,n){n?(e.state.inputFds??=new Set,e.state.inputFds.add(t)):e.state.inputFds?.delete(t)}function OF(e,t){return e.state.fdAliases?.get(t)}function kF(e,t){return[...OF(e,t)??[t]]}function AF(e,t){let n=OF(e,t);if(n&&(n.delete(t),e.state.fdAliases?.delete(t),n.size<2))for(let t of n)e.state.fdAliases?.delete(t)}function jF(e,t,n){if(t===n)return;e.state.fdAliases??=new Map;let r=OF(e,n)??new Set([n]);r.add(t);for(let t of r)e.state.fdAliases.set(t,r)}function MF(e,t){return e.state.fileDescriptors?.get(t)}function NF(e,t){let n=MF(e,t);if(n!==void 0)return e.state.inputFds?.has(t)?{kind:`input`,content:n}:wF(n)}function PF(e,t){return e.state.fileDescriptors?.has(t)===!0}function FF(e,t,n,r){let i=EF(e);i.has(t)||mP(e),i.set(t,n),DF(e,t,r)}function IF(e,t,n,r=!1){AF(e,t),FF(e,t,n,r)}function LF(e,t,n){IF(e,t,TF(n),n.kind===`input`)}function RF(e,t){e.state.fileDescriptors?.delete(t),e.state.inputFds?.delete(t),AF(e,t)}function zF(e,t,n){let r=MF(e,n);return r!==void 0&&(IF(e,t,r,e.state.inputFds?.has(n)===!0),jF(e,t,n),!0)}function BF(e,t,n){let r=MF(e,n);if(r===void 0)return!1;if(t===n)return!0;let i=e.state.inputFds?.has(n)===!0,a=[...OF(e,n)??[]].filter(e=>e!==n);RF(e,n),IF(e,t,r,i);let o=a.find(t=>PF(e,t));return o!==void 0&&jF(e,t,o),!0}function VF(e,t){let n=NF(e,t);if(n===void 0)return{error:`not-open`};switch(n.kind){case`input`:return{content:n.content};case`readwrite`:return{content:n.content.slice(n.position)};case`output`:case`dup-out`:return{error:`write-only`};case`dup-in`:return{error:`not-open`};case`closed`:return{error:`not-open`}}}function HF(e,t,n){let r=NF(e,t);if(r===void 0)return;let i;if(r.kind===`input`)i={kind:`input`,content:r.content.slice(n)};else if(r.kind===`readwrite`)i={...r,position:r.position+n};else return;let a=TF(i),o=i.kind===`input`;for(let n of OF(e,t)??[t])FF(e,n,a,o)}async function UF(e,t,n,r,i){if(t.kind===`output`)return await e.fs.appendFile(t.path,r,i),!0;let a=n.map(t=>NF(e,t)).find(e=>e?.kind===`readwrite`)??t;if(a.kind!==`readwrite`)return!1;let o=a.content.slice(0,a.position)+r+a.content.slice(a.position+r.length),s={...a,position:a.position+r.length,content:o};await e.fs.writeFile(a.path,o,i);let c=TF(s);for(let t of n)PF(e,t)&&FF(e,t,c,!1);return!0}function WF(e,t,n){if(t.has(n))return;let r=OF(e,n);t.set(n,{raw:MF(e,n),isInput:e.state.inputFds?.has(n)===!0,aliases:r?[...r].filter(e=>e!==n):[]})}function GF(e,t){let n=e.state.fileDescriptors;if(n)for(let[r,{raw:i,isInput:a,aliases:o}]of t){if(i===void 0){RF(e,r);continue}IF(e,r,i,a);let t=o.find(e=>n.has(e));t!==void 0&&jF(e,r,t)}}function KF(e){switch(e.operator){case`<`:case`<>`:case`<<`:case`<<-`:case`<<<`:case`<&`:return e.fd??0;case`>`:case`>>`:case`>|`:case`>&`:return e.fd??1;default:return null}}function qF(e){if(e.fdVariable)return!1;let t=KF(e);return t!==null&&t>=xF}async function JF(e,t,n,r){try{if(!await e.fs.exists(t))return null;if((await e.fs.stat(t)).isDirectory)return`bash: ${n}: Is a directory
|
|
946
946
|
`;if(r.checkNoclobber&&e.state.options.noclobber&&!r.isClobber&&n!==`/dev/null`)return`bash: ${n}: cannot overwrite existing file
|
|
947
947
|
`}catch{return`bash: ${n}: cannot open redirect target
|
|
@@ -1609,10 +1609,11 @@ sys 0m0.000s
|
|
|
1609
1609
|
`),a.build(1))}return a.build(o)}async function jz(e,t,n,r,i=!1){return dI(e,t.redirections,n,a=>Mz(e,t,n,r,i,a))}async function Mz(e,t,n,r,i,a){let o=new vg(e.executionScope,`group`),s=0,c=a.stdin??n,l=i||n!==``||a.stdin!==void 0,u=e.state.groupStdin;l&&(e.state.groupStdin=c);let d=()=>{(l||u!==void 0&&e.state.groupStdin===void 0)&&(e.state.groupStdin=u)};try{for(let e of t.body){let t=await r(e);o.appendResult(t),s=t.exitCode}}catch(e){if(d(),e instanceof A)throw o.prependTo(e),e;if(_r(e)||e instanceof Sr||e instanceof wr)throw e.prependOutput(o.stdout,o.stderr),e;return o.append(`stderr`,`${si(e)}
|
|
1610
1610
|
`),o.build(1)}return d(),o.build(s)}async function Nz(e,t,n,r,i){let a;try{a=await e.fs.readFile(t)}catch{return Q(`bash: ${t}: No such file or directory
|
|
1611
1611
|
`,127)}if(a.startsWith(`#!`)){let e=a.indexOf(`
|
|
1612
|
-
`)
|
|
1612
|
+
`),t=(e===-1?a.slice(2):a.slice(2,e)).trim(),n=t.split(/\s+/),r=e=>e.slice(e.lastIndexOf(`/`)+1),i=r(n[0]||``);i===`env`&&(i=r(n.slice(1).find(e=>!e.startsWith(`-`))||``)),t&&!/^(sh|bash|dash|ash|ksh|zsh)$/.test(i)?a=t+` "$0" "$@"
|
|
1613
|
+
`:e!==-1&&(a=a.slice(e+1))}let o=e.state.loopDepth,s=Oz(e.state);e.state.parentHasLoopContext=o>0,e.state.loopDepth=0,e.state.bashPid=e.state.nextVirtualPid++,r&&(e.state.groupStdin=r),e.state.currentSource=t,e.state.env.set(`0`,t),e.state.env.set(`#`,String(n.length)),e.state.env.set(`@`,n.join(` `)),e.state.env.set(`*`,n.join(` `));for(let t=0;t<n.length;t++)e.state.env.set(String(t+1),n[t]);for(let t of[...e.state.env.keys()])/^[1-9][0-9]*$/.test(t)&&+t>n.length&&e.state.env.delete(t);try{let e=await i(new Tk().parse(a));return s(),e}catch(e){if(s(),e instanceof wr)return $(e.stdout,e.stderr,e.exitCode);if(e instanceof A)throw e;if(e.name===`ParseException`)return Q(`bash: ${t}: ${e.message}
|
|
1613
1614
|
`);throw e}}function Pz(e){throw TypeError(`Unsupported command node: ${JSON.stringify(e)}`)}var Fz=class{ctx;constructor(e,t){this.ctx={state:t,fs:e.fs,commands:e.commands,limits:e.limits,executionScope:e.executionScope,execFn:e.exec,executeScript:this.executeScript.bind(this),executeStatement:this.executeStatement.bind(this),executeCommand:this.executeCommand.bind(this),fetch:e.fetch,sleep:e.sleep,trace:e.trace,coverage:e.coverage,requireDefenseContext:e.requireDefenseContext??!1,jsBootstrapCode:e.jsBootstrapCode,invokeTool:e.invokeTool}}assertDefenseContext(e){if(!this.ctx.requireDefenseContext||Kn.isInSandboxedContext())return;let t=`interpreter ${e} attempted outside defense context`;throw new D(t,{timestamp:Date.now(),type:`missing_defense_context`,message:t,path:`DefenseInDepthBox.context`,stack:Error().stack,executionId:Kn.getCurrentExecutionId()})}buildExportedEnv(){let e=this.ctx.state.exportedVars,t=this.ctx.state.tempExportedVars,n=new Set;if(e)for(let t of e)n.add(t);if(t)for(let e of t)n.add(e);if(n.size===0)return Object.create(null);let r=Object.create(null);for(let e of n){let t=this.ctx.state.env.get(e);t!==void 0&&(r[e]=t)}return r}async executeScript(e){this.assertDefenseContext(`execution`);let t=0,n=new vg(this.ctx.executionScope,`script`);for(let r of e.statements)try{let e=await this.executeStatement(r);n.appendResult(e,fr(e)),t=e.exitCode,this.ctx.state.lastExitCode=t,this.ctx.state.env.set(`?`,String(t))}catch(e){if(e instanceof wr)throw e.prependOutput(n.stdout,n.stderr),e;if(e instanceof jr)return n.append(`stdout`,e.stdout,e.internalOutputAccounting.stdout),n.append(`stderr`,e.stderr,e.internalOutputAccounting.stderr),t=e.exitCode,this.ctx.state.lastExitCode=t,this.ctx.state.env.set(`?`,String(t)),{...n.build(t),exitCode:t,env:rd(this.ctx.state.env)};if(e instanceof A)throw n.prependTo(e),e;if(e instanceof Sr)return n.append(`stdout`,e.stdout,e.internalOutputAccounting.stdout),n.append(`stderr`,e.stderr,e.internalOutputAccounting.stderr),t=e.exitCode,this.ctx.state.lastExitCode=t,this.ctx.state.env.set(`?`,String(t)),{...n.build(t),exitCode:t,env:rd(this.ctx.state.env)};if(e instanceof Cr||e instanceof Er)return n.append(`stdout`,e.stdout,e.internalOutputAccounting.stdout),n.append(`stderr`,e.stderr,e.internalOutputAccounting.stderr),t=1,this.ctx.state.lastExitCode=t,this.ctx.state.env.set(`?`,String(t)),{...n.build(t),exitCode:t,env:rd(this.ctx.state.env)};if(e instanceof Tr){n.append(`stdout`,e.stdout,e.internalOutputAccounting.stdout),n.append(`stderr`,e.stderr,e.internalOutputAccounting.stderr),t=1,this.ctx.state.lastExitCode=t,this.ctx.state.env.set(`?`,String(t));continue}if(e instanceof Or){n.append(`stdout`,e.stdout,e.internalOutputAccounting.stdout),n.append(`stderr`,e.stderr,e.internalOutputAccounting.stderr),t=1,this.ctx.state.lastExitCode=t,this.ctx.state.env.set(`?`,String(t));continue}if(e instanceof yr||e instanceof br){if(this.ctx.state.loopDepth>0)throw e.prependOutput(n.stdout,n.stderr),e;n.append(`stdout`,e.stdout),n.append(`stderr`,e.stderr);continue}throw e instanceof xr&&e.prependOutput(n.stdout,n.stderr),e}return{...n.build(t),env:rd(this.ctx.state.env)}}async executeUserScript(e,t,n=``){return Nz(this.ctx,e,t,n,e=>this.executeScript(e))}async executeStatement(e){if(this.assertDefenseContext(`statement`),this.ctx.state.signal?.aborted)throw new kr;if(e.deferredError)throw new QD(e.deferredError.message,e.line??1,1);if(this.ctx.state.options.noexec)return uP;this.ctx.state.errexitSafe=!1;let t=new vg(this.ctx.executionScope,`statement`);this.ctx.state.options.verbose&&!this.ctx.state.suppressVerbose&&e.sourceText&&t.append(`stderr`,`${e.sourceText}
|
|
1614
|
-
`);let n=0,r=-1,i=!1;try{for(let a=0;a<e.pipelines.length;a++){let o=e.pipelines[a],s=a>0?e.operators[a-1]:null;if(s===`&&`&&n!==0||s===`||`&&n===0)continue;let c=await this.executePipeline(o);t.appendResult(c,fr(c)),n=c.exitCode,r=a,i=o.negated,this.ctx.state.lastExitCode=n,this.ctx.state.env.set(`?`,String(n))}}catch(e){throw t.prependTo(e),e}let a=r<e.pipelines.length-1,o=this.ctx.state.errexitSafe;if(this.ctx.state.errexitSafe=a||i||o,this.ctx.state.options.errexit&&n!==0&&r===e.pipelines.length-1&&!i&&!this.ctx.state.inCondition&&!o){let e=new Sr(n);throw e.prependOutput(t.stdout,t.stderr),e}return t.build(n)}async executePipeline(e){return Sz(this.ctx,e,(e,t)=>this.executeCommand(e,t))}async executeCommand(e,t,n=!1){let r=wN(this.ctx),i;try{i=await this.executeCommandInner(e,t,n)}catch(e){throw await EN(this.ctx,r).catch(()=>{}),e}let a=await EN(this.ctx,r);return!a.stdout&&!a.stderr?i:{...i,stdout:a.stdout?dr(i)+a.stdout:i.stdout,stdoutKind:a.stdout?`bytes`:i.stdoutKind,stderr:i.stderr+a.stderr}}async executeCommandInner(e,t,n){switch(this.assertDefenseContext(`command`),this.ctx.coverage?.hit(`bash:cmd:${e.type}`),e.type){case`SimpleCommand`:return this.executeSimpleCommand(e,t);case`If`:return lz(this.ctx,e);case`For`:return dz(this.ctx,e);case`CStyleFor`:return pz(this.ctx,e);case`While`:return hz(this.ctx,e,t);case`Until`:return _z(this.ctx,e,t);case`Case`:return yz(this.ctx,e);case`Subshell`:return this.executeSubshell(e,t,n);case`Group`:return this.executeGroup(e,t,n);case`FunctionDef`:return pI(this.ctx,e);case`ArithmeticCommand`:return this.executeArithmeticCommand(e);case`ConditionalCommand`:return this.executeConditionalCommand(e);default:return Pz(e)}}async executeSimpleCommand(e,t){let n;try{return await this.executeSimpleCommandInner(e,t,e=>{n=e})}catch(e){if(n?.finish(),e instanceof Dr)return Q(e.stderr);throw e}}async executeSimpleCommandInner(e,t,n){if(e.line!==void 0&&(this.ctx.state.currentLine=e.line),this.ctx.state.shoptOptions.expand_aliases&&e.name){let t=e,n=0;for(;;){let e=this.expandAlias(t);if(e===t)break;if(n>=this.ctx.limits.maxCallDepth)throw new A(`alias expansion depth limit exceeded (${this.ctx.limits.maxCallDepth})`,`recursion`);n++,t=e}this.aliasExpansionStack.clear(),t!==e&&(e=t)}this.ctx.state.expansionStderr=``;let r=await NR(this.ctx,e);if(r.error)return r.error;let i=r.tempAssignments,a=r.xtraceOutput,o=()=>{for(let[e,t]of i)t===void 0?this.ctx.state.env.delete(e):this.ctx.state.env.set(e,t)};if(!e.name){if(e.redirections.length>0){let r=cI(this.ctx,e.redirections,ZF);n(r);let i=await r.prepare(t);if(i.error){if(o(),!i.errorCause)return r.finish(),i.error;try{return lI(i)}finally{r.finish()}}let s=$(``,a,0),c=await fI(this.ctx,s,e.redirections,i.targets,i.dupSources,i.standardRoutes);return r.finish(),c}this.ctx.state.lastArg=``;let r=(this.ctx.state.expansionStderr||``)+a;return this.ctx.state.expansionStderr=``,$(``,r,this.ctx.state.lastExitCode)}let s=e.name&&xz(e.name,[`local`,`declare`,`typeset`,`export`,`readonly`]),c=Array.from(i.keys());if(c.length>0&&!s){this.ctx.state.tempExportedVars=this.ctx.state.tempExportedVars||new Set;for(let e of c)this.ctx.state.tempExportedVars.add(e)}let l=await
|
|
1615
|
-
`,127));if(
|
|
1615
|
+
`);let n=0,r=-1,i=!1;try{for(let a=0;a<e.pipelines.length;a++){let o=e.pipelines[a],s=a>0?e.operators[a-1]:null;if(s===`&&`&&n!==0||s===`||`&&n===0)continue;let c=await this.executePipeline(o);t.appendResult(c,fr(c)),n=c.exitCode,r=a,i=o.negated,this.ctx.state.lastExitCode=n,this.ctx.state.env.set(`?`,String(n))}}catch(e){throw t.prependTo(e),e}let a=r<e.pipelines.length-1,o=this.ctx.state.errexitSafe;if(this.ctx.state.errexitSafe=a||i||o,this.ctx.state.options.errexit&&n!==0&&r===e.pipelines.length-1&&!i&&!this.ctx.state.inCondition&&!o){let e=new Sr(n);throw e.prependOutput(t.stdout,t.stderr),e}return t.build(n)}async executePipeline(e){return Sz(this.ctx,e,(e,t)=>this.executeCommand(e,t))}async executeCommand(e,t,n=!1){let r=wN(this.ctx),i;try{i=await this.executeCommandInner(e,t,n)}catch(e){throw await EN(this.ctx,r).catch(()=>{}),e}let a=await EN(this.ctx,r);return!a.stdout&&!a.stderr?i:{...i,stdout:a.stdout?dr(i)+a.stdout:i.stdout,stdoutKind:a.stdout?`bytes`:i.stdoutKind,stderr:i.stderr+a.stderr}}async executeCommandInner(e,t,n){switch(this.assertDefenseContext(`command`),this.ctx.coverage?.hit(`bash:cmd:${e.type}`),e.type){case`SimpleCommand`:return this.executeSimpleCommand(e,t);case`If`:return lz(this.ctx,e);case`For`:return dz(this.ctx,e);case`CStyleFor`:return pz(this.ctx,e);case`While`:return hz(this.ctx,e,t);case`Until`:return _z(this.ctx,e,t);case`Case`:return yz(this.ctx,e);case`Subshell`:return this.executeSubshell(e,t,n);case`Group`:return this.executeGroup(e,t,n);case`FunctionDef`:return pI(this.ctx,e);case`ArithmeticCommand`:return this.executeArithmeticCommand(e);case`ConditionalCommand`:return this.executeConditionalCommand(e);default:return Pz(e)}}async executeSimpleCommand(e,t){let n;try{return await this.executeSimpleCommandInner(e,t,e=>{n=e})}catch(e){if(n?.finish(),e instanceof Dr)return Q(e.stderr);throw e}}async executeSimpleCommandInner(e,t,n){if(e.line!==void 0&&(this.ctx.state.currentLine=e.line),this.ctx.state.shoptOptions.expand_aliases&&e.name){let t=e,n=0;for(;;){let e=this.expandAlias(t);if(e===t)break;if(n>=this.ctx.limits.maxCallDepth)throw new A(`alias expansion depth limit exceeded (${this.ctx.limits.maxCallDepth})`,`recursion`);n++,t=e}this.aliasExpansionStack.clear(),t!==e&&(e=t)}this.ctx.state.expansionStderr=``;let r=await NR(this.ctx,e);if(r.error)return r.error;let i=r.tempAssignments,a=r.xtraceOutput,o=()=>{for(let[e,t]of i)t===void 0?this.ctx.state.env.delete(e):this.ctx.state.env.set(e,t)};if(!e.name){if(e.redirections.length>0){let r=cI(this.ctx,e.redirections,ZF);n(r);let i=await r.prepare(t);if(i.error){if(o(),!i.errorCause)return r.finish(),i.error;try{return lI(i)}finally{r.finish()}}let s=$(``,a,0),c=await fI(this.ctx,s,e.redirections,i.targets,i.dupSources,i.standardRoutes);return r.finish(),c}this.ctx.state.lastArg=``;let r=(this.ctx.state.expansionStderr||``)+a;return this.ctx.state.expansionStderr=``,$(``,r,this.ctx.state.lastExitCode)}let s=e.name&&xz(e.name,[`local`,`declare`,`typeset`,`export`,`readonly`]),c=Array.from(i.keys());if(c.length>0&&!s){this.ctx.state.tempExportedVars=this.ctx.state.tempExportedVars||new Set;for(let e of c)this.ctx.state.tempExportedVars.add(e)}let l=await VN(this.ctx,e.name),u=l.values[0]??``,d=[],f=[],p=(e,t)=>{if(d.length>=this.ctx.limits.maxArrayElements)throw new A(`expanded argument element limit exceeded (${this.ctx.limits.maxArrayElements})`,`array_elements`);d.push(e),f.push(t)};if(xz(e.name,[`local`,`declare`,`typeset`,`export`,`readonly`])&&(u===`local`||u===`declare`||u===`typeset`||u===`export`||u===`readonly`))for(let t of e.args){let e=await oP(this.ctx,t);if(e)p(e,!0);else{let e=await sP(this.ctx,t);if(e!==null)p(e,!0);else{let e=await VN(this.ctx,t);for(let t of e.values)p(t,e.quoted)}}}else for(let t of e.args){let e=await VN(this.ctx,t);for(let t of e.values)p(t,e.quoted)}l.values.length>1&&(d.unshift(...l.values.slice(1)),f.unshift(...l.values.slice(1).map(()=>l.quoted)));let m=e.name.parts.every(e=>e.type===`CommandSubstitution`||e.type===`ParameterExpansion`||e.type===`ArithmeticExpansion`);!u&&m&&d.length>0&&(u=d.shift(),f.shift());let h=cI(this.ctx,e.redirections,u===`exec`?QF:XF);n(h);let g=await h.prepare(t);if(g.error)return o(),g.errorCause?lI(g):(h.finish(),g.error);let _=g.stdinSourceFd,v=g.stdin!==void 0;if(g.stdin!==void 0&&(t=g.stdin),!u)return m?(h.finish(),$(``,``,this.ctx.state.lastExitCode)):(h.finish(),Q(`bash: : command not found
|
|
1616
|
+
`,127));if(u===`exec`&&(d.length===0||d[0]===`--`)){for(let[e,t]of i)t===void 0?this.ctx.state.env.delete(e):this.ctx.state.env.set(e,t);if(this.ctx.state.tempExportedVars)for(let e of i.keys())this.ctx.state.tempExportedVars.delete(e);return h.finish(),uP}if(this.ctx.state.extraArgs){let e=this.ctx.state.extraArgs;this.ctx.state.extraArgs=void 0;for(let t of e)p(t,!0)}let y=await AR(this.ctx,u,d);i.size>0&&(this.ctx.state.tempEnvBindings=this.ctx.state.tempEnvBindings||[],this.ctx.state.tempEnvBindings.push(new Map(i)));let b,x=null;try{b=await this.runCommand(u,d,f,t,!1,!1,_,v)}catch(e){if(e instanceof yr||e instanceof br)x=e,b=uP;else throw e}_>=0&&u!==`read`&&HF(this.ctx,_,b.internalStdinConsumed??0);let S=a+y;if(S&&(b={...b,stderr:S+b.stderr}),b=await fI(this.ctx,b,e.redirections,g.targets,g.dupSources,g.standardRoutes,b.internalProducerCommand??u,b.internalProducerOmitsShellPrefix),h.finish(),x)throw x;if(d.length>0){let e=d[d.length-1];if((u===`declare`||u===`local`||u===`typeset`)&&/^[a-zA-Z_][a-zA-Z0-9_]*=\(/.test(e)){let t=e.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\(/);t&&(e=t[1])}this.ctx.state.lastArg=e}else this.ctx.state.lastArg=u;let ee=pF(u)&&u!==`unset`&&u!==`eval`;if(!this.ctx.state.options.posix||!ee)for(let[e,t]of i)this.ctx.state.fullyUnsetLocals?.has(e)||(t===void 0?this.ctx.state.env.delete(e):this.ctx.state.env.set(e,t));if(this.ctx.state.tempExportedVars)for(let e of i.keys())this.ctx.state.tempExportedVars.delete(e);return i.size>0&&this.ctx.state.tempEnvBindings&&this.ctx.state.tempEnvBindings.pop(),this.ctx.state.expansionStderr&&(b={...b,stderr:this.ctx.state.expansionStderr+b.stderr},this.ctx.state.expansionStderr=``),b}async runCommand(e,t,n,r,i=!1,a=!1,o=-1,s=!1){let c={ctx:this.ctx,runCommand:(e,t,n,r,i,a,o,s)=>this.runCommand(e,t,n,r,i,a,o,s),buildExportedEnv:()=>this.buildExportedEnv(),executeUserScript:(e,t,n)=>this.executeUserScript(e,t,n)},l=await ez(c,e,t,n,r,i,a,o,s);return l===null?{...await rz(c,e,t,r,a),internalProducerCommand:e}:l.internalProducerCommand===void 0?{...l,internalProducerCommand:e}:l}aliasExpansionStack=new Set;expandAlias(e){return mA({env:this.ctx.state.env,limits:this.ctx.limits},e,this.aliasExpansionStack)}async findCommandInPath(e){return xR(this.ctx,e)}async executeSubshell(e,t=``,n=!1){return kz(this.ctx,e,t,e=>this.executeStatement(e),n)}async executeGroup(e,t=``,n=!1){return jz(this.ctx,e,t,e=>this.executeStatement(e),n)}async executeArithmeticCommand(e){return e.line!==void 0&&(this.ctx.state.currentLine=e.line),dI(this.ctx,e.redirections,``,async()=>{try{let t=fP(await rP(this.ctx,e.expression.expression)!==0);return this.ctx.state.expansionStderr&&(t={...t,stderr:this.ctx.state.expansionStderr+t.stderr},this.ctx.state.expansionStderr=``),t}catch(e){return Q(`bash: arithmetic expression: ${e.message}
|
|
1616
1617
|
`)}})}async executeConditionalCommand(e){return e.line!==void 0&&(this.ctx.state.currentLine=e.line),dI(this.ctx,e.redirections,``,async()=>{try{let t=fP(await NP(this.ctx,e.expression));return this.ctx.state.expansionStderr&&(t={...t,stderr:this.ctx.state.expansionStderr+t.stderr},this.ctx.state.expansionStderr=``),t}catch(e){let t=e instanceof Tr?1:2;return Q(`bash: conditional expression: ${e.message}
|
|
1617
1618
|
`,t)}})}};bn(),ir(),qn(),nr();function Iz(e){try{let t=new URL(e);return{origin:t.origin,pathname:t.pathname,href:t.href}}catch{return null}}function Lz(e){let t=Iz(e);return t?{origin:t.origin,pathPrefix:t.pathname}:null}var Rz=3;function zz(e){let t=e;for(let e=0;e<Rz;e++){if(t.includes(`\\`)||t.includes(`;`)||/%(?![0-9a-f]{2})/i.test(t))return!0;let e=t.toLowerCase();if(e.includes(`%2f`)||e.includes(`%2e`)||e.includes(`%5c`)||e.includes(`%3b`))return!0;let n;try{n=decodeURIComponent(t)}catch{return!0}if(n===t)return!1;t=n}return t.includes(`%`)}function Bz(e,t){return t===`/`||t===``?!0:t.endsWith(`/`)?e.startsWith(t):e===t||e.startsWith(`${t}/`)}function Vz(e,t){let n=Iz(e);if(!n)return!1;let r=Lz(t);return!r||n.origin!==r.origin||r.pathPrefix!==`/`&&r.pathPrefix!==``&&zz(n.pathname)?!1:Bz(n.pathname,r.pathPrefix)}function Hz(e){return typeof e==`string`?e:e.url}function Uz(e,t){return!t||t.length===0?!1:t.some(t=>Vz(e,Hz(t)))}function Wz(e){let t=Gz(e);if(t===`localhost`||t.endsWith(`.localhost`))return!0;let n=qz(t);if(n)return Yz(n);let r=Jz(t);return r?Xz(r):!1}function Gz(e){let t=e.trim().toLowerCase();return t.startsWith(`[`)&&t.endsWith(`]`)?t.slice(1,-1):t}function Kz(e){if(!e)return null;let t=10,n=e;if(n.startsWith(`0x`)||n.startsWith(`0X`)?(t=16,n=n.slice(2)):n.length>1&&n.startsWith(`0`)&&(t=8),!n||t===16&&!/^[0-9a-fA-F]+$/.test(n)||t===10&&!/^\d+$/.test(n)||t===8&&!/^[0-7]+$/.test(n))return null;let r=Number.parseInt(n,t);return!Number.isFinite(r)||r<0?null:r}function qz(e){let t=e.split(`.`);if(t.length===0||t.length>4)return null;let n=t.map(e=>Kz(e));if(n.some(e=>e===null))return null;let r=n;if(t.length===1){let e=r[0];return e>4294967295?null:[e>>>24&255,e>>>16&255,e>>>8&255,e&255]}if(t.length===2){let[e,t]=r;return e>255||t>16777215?null:[e,t>>>16&255,t>>>8&255,t&255]}if(t.length===3){let[e,t,n]=r;return e>255||t>255||n>65535?null:[e,t,n>>>8&255,n&255]}let[i,a,o,s]=r;return i>255||a>255||o>255||s>255?null:[i,a,o,s]}function Jz(e){let t=e,n=null;if(t.includes(`.`)){let e=t.lastIndexOf(`:`);if(e<0)return null;let r=qz(t.slice(e+1));if(!r)return null;n=r,t=t.slice(0,e)}let r=t.includes(`::`)?t.split(`::`).length-1:0;if(r>1)return null;let[i,a]=t.split(`::`),o=i?i.split(`:`).filter(Boolean):[],s=a?a.split(`:`).filter(Boolean):[],c=e=>/^[0-9a-f]{1,4}$/i.test(e)?Number.parseInt(e,16):null,l=o.map(c),u=s.map(c);if(l.some(e=>e===null)||u.some(e=>e===null))return null;let d=n?2:0,f=l.length+u.length+d,p=0;if(r===1){if(p=8-f,p<0)return null}else if(f!==8)return null;let m=[...l,...Array(p).fill(0),...u];return n&&(m.push(n[0]<<8|n[1]),m.push(n[2]<<8|n[3])),m.length===8?m:null}function Yz(e){let[t,n]=e;return t===127||t===10||t===172&&n>=16&&n<=31||t===192&&n===168||t===169&&n===254||t===0||t===100&&n>=64&&n<=127||t===198&&(n===18||n===19)||t===192&&n===0&&e[2]===0||t===192&&n===0&&e[2]===2||t===198&&n===51&&e[2]===100||t===203&&n===0&&e[2]===113||t>=240}function Xz(e){return e.every(e=>e===0)||e.slice(0,7).every(e=>e===0)&&e[7]===1||(e[0]&65472)==65152||(e[0]&65024)==64512?!0:e[0]===0&&e[1]===0&&e[2]===0&&e[3]===0&&e[4]===0&&e[5]===65535?Yz([e[6]>>>8&255,e[6]&255,e[7]>>>8&255,e[7]&255]):e[0]===8193&&e[1]===3512?!0:e[0]===100&&e[1]===65435&&e[2]===0&&e[3]===0&&e[4]===0&&e[5]===0?Yz([e[6]>>>8&255,e[6]&255,e[7]>>>8&255,e[7]&255]):e[0]===100&&e[1]===65435&&e[2]===1||e[0]===8194&&Yz([e[1]>>>8&255,e[1]&255,e[2]>>>8&255,e[2]&255])}function Zz(e){let t=[];for(let n of e){if(typeof n!=`string`&&(typeof n!=`object`||!n||!(`url`in n)||typeof n.url!=`string`)){t.push(`Invalid allow-list entry: must be a string URL or an object with a "url" string property`);continue}let e=Hz(n);if(!Iz(e)){t.push(`Invalid URL in allow-list: "${e}" - must be a valid URL with scheme and host (e.g., "https://example.com")`);continue}let r=new URL(e);if(r.protocol!==`http:`&&r.protocol!==`https:`){t.push(`Only http and https URLs are allowed in allow-list: "${e}"`);continue}if(!r.hostname){t.push(`Allow-list entry must include a hostname: "${e}"`);continue}if(r.pathname!==`/`&&r.pathname!==``&&zz(r.pathname)){t.push(`Allow-list entry contains ambiguous path separators: "${e}"`);continue}(r.search||r.hash)&&t.push(`Query strings and fragments are ignored in allow-list entries: "${e}"`)}return t}var Qz=class extends Error{constructor(){super(`DNS pinning is unavailable in this runtime`),this.name=`DnsPinningUnavailableError`}},$z=async e=>{throw new Qz},eB=class extends Error{constructor(e,t){super(`Network access denied: ${t??`URL not in allow-list`}: ${e}`),this.name=`NetworkAccessDeniedError`}},tB=class extends Error{constructor(e){super(`Too many redirects (max: ${e})`),this.name=`TooManyRedirectsError`}},nB=class extends Error{constructor(e){super(`Redirect target not in allow-list: ${e}`),this.name=`RedirectNotAllowedError`}},rB=class extends Error{constructor(e,t){super(`HTTP method '${e}' not allowed. Allowed methods: ${t.join(`, `)}`),this.name=`MethodNotAllowedError`}},iB=class extends Error{constructor(e){super(`Response body too large (max: ${e} bytes)`),this.name=`ResponseTooLargeError`}};function aB(e){return new Promise((t,n)=>{_n(e,{all:!0},(e,r)=>{e?n(e):t(r)})})}var oB=20,sB=3e4,cB=10485760,lB=[`GET`,`HEAD`],uB=new Set([`GET`,`HEAD`,`OPTIONS`]),dB=new Set([301,302,303,307,308]);function fB(e){return e.reason instanceof Error?e.reason:new DOMException(`The operation was aborted`,`AbortError`)}function pB(e){if(e?.aborted)throw fB(e)}async function mB(e,t){if(!t)return e;if(t.aborted)throw e.catch(()=>{}),fB(t);let n,r=new Promise((e,r)=>{n=()=>r(fB(t)),t.addEventListener(`abort`,n,{once:!0})});try{return await Promise.race([e,r])}finally{n&&t.removeEventListener(`abort`,n)}}async function hB(e,t){try{return await mB(e,t)}catch(n){throw t?.aborted&&e.then(e=>Kn.runTrustedAsync(()=>e.close())).catch(()=>{}),n}}async function gB(e){e.body&&!e.body.locked&&await e.body.cancel()}function _B(e){let t=e.allowedUrlPrefixes??[];if(!e.dangerouslyAllowFullInternetAccess){let e=Zz(t);if(e.length>0)throw Error(`Invalid network allow-list:
|
|
1618
1619
|
${e.join(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./logger-DDBAeTLF.js";import"./navigation-watcher-CPcnZL9l.js";import"./wc-follower-oauth-CfA7UWC5.js";import{d as t,l as n,u as r}from"./main-Cq6ajFQ0.js";import{n as i,t as a}from"./pending-request-table-k-D7ZZsL.js";var o=e(`cdp`);function s(e){return e===4001?`CDP connection superseded by another SLICC tab/window on this instance`:e===4002?`CDP connection reset by proxy (upstream Chrome connection was re-established)`:`CDP connection closed`}var c=class{ws=null;nextId=1;_superseded=!1;pending=new a;listeners=new Map;_state=`disconnected`;stateListeners=new Set;lastNotifiedState=`disconnected`;lastNotifiedReason;get state(){return this._state}onStateChange(e){return this.stateListeners.add(e),()=>{this.stateListeners.delete(e)}}get superseded(){return this._superseded}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:t,timeout:n=5e3,protocols:r}=e;return this._state=`connecting`,new Promise((e,i)=>{let a=setTimeout(()=>{this.cleanup(),i(Error(`CDP connection timed out after ${n}ms`))},n);try{this.ws=r===void 0?new WebSocket(t):new WebSocket(t,r)}catch(e){clearTimeout(a),this._state=`disconnected`,i(e);return}this.ws.onopen=()=>{clearTimeout(a),this._state=`connected`,this._superseded=!1,o.info(`Connected`,{url:t}),this.notifyState(`connected`),e()},this.ws.onerror=e=>{clearTimeout(a),this._state===`connecting`&&(o.error(`Connection failed`,{url:t}),this.cleanup(),i(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=e=>{this.handleClose(e?.code)}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this._superseded=!1,this.cleanup(),o.info(`Disconnected`)}async send(e,t,n,r=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let i=this.nextId++,a={id:i,method:e};t&&(a.params=t),n&&(a.sessionId=n),o.debug(`Send`,{method:e,id:i,sessionId:n});let s=this.pending.issue(i,r,`CDP command timed out after ${r}ms: ${e}`);return this.ws.send(JSON.stringify(a)),s}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return i(t=>(this.on(e,t),()=>this.off(e,t)),t,`Timed out waiting for event: ${e}`)}handleMessage(e){let t;try{t=JSON.parse(e)}catch{return}if(`id`in t&&typeof t.id==`number`){let e=t;o.debug(`Response`,{id:e.id,hasError:!!e.error}),e.error?(o.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),this.pending.reject(e.id,Error(`CDP error: ${e.error.message} (${e.error.code})`))):this.pending.resolve(e.id,e.result??{});return}if(`method`in t){let e=t;o.debug(`Event`,{method:e.method,sessionId:e.sessionId});let n=this.listeners.get(e.method);if(n){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of n)try{e(t)}catch{}}}}handleClose(e){e===4001?(this._superseded=!0,o.warn(`CDP slot superseded by another SLICC tab/window on this instance`,{code:e})):e===4002?o.warn(`CDP proxy reset its upstream Chrome connection — sessions dropped`,{code:e,pendingCommands:this.pending.size}):o.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size}),this.cleanup(s(e))}cleanup(e=`CDP client disconnected`){this.ws=null,this._state=`disconnected`,this.pending.rejectAll(e),this.notifyState(`disconnected`,e)}notifyState(e,t){if(e!==this.lastNotifiedState||t!==this.lastNotifiedReason){this.lastNotifiedState=e,this.lastNotifiedReason=t;for(let n of this.stateListeners)try{n(e,t)}catch{}}}},l=class extends Error{step;name=`CommandAbortedError`;constructor(e){super(`Browser command aborted while ${e}. A CDP round trip already in flight cannot be cancelled, so it may still have been applied to the page; nothing after it was started.`),this.step=e}};function u(e,t){if(e?.aborted)throw new l(t)}function d(e,t){return e?{signal:e,error:()=>new l(t)}:void 0}function f(e,t,n){return new Promise((r,i)=>{if(t?.aborted){i(new l(n));return}let a=()=>{clearTimeout(o),i(new l(n))},o=setTimeout(()=>{t?.removeEventListener(`abort`,a),r()},e);t?.addEventListener(`abort`,a,{once:!0})})}function p(e,t,n){return t?t.aborted?Promise.reject(new l(n)):new Promise((r,i)=>{let a=()=>i(new l(n));t.addEventListener(`abort`,a,{once:!0}),e.then(()=>{t.removeEventListener(`abort`,a),r()},e=>{t.removeEventListener(`abort`,a),i(e instanceof Error?e:Error(String(e)))})}):e}var m=e(`har-recorder`),h=class{recordings=new Map;client;fs;eventCleanup=new Map;constructor(e,t){this.client=e,this.fs=t}async startRecording(e,t,n,r){let i=`rec-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;u(r,`about to enable Network on tab ${e}`),await this.client.send(`Network.enable`,{},t),u(r,`about to enable Page on tab ${e}`),await this.client.send(`Page.enable`,{},t),u(r,`about to read the URL of tab ${e}`);let a=(await this.client.send(`Runtime.evaluate`,{expression:`location.href`,returnByValue:!0},t)).result?.value??`about:blank`,o={id:i,targetId:e,sessionId:t,filterCode:n,pendingRequests:new Map,entries:[],startTime:Date.now(),currentUrl:a,snapshotCount:0};return this.recordings.set(i,o),this.setupEventListeners(o),await this.ensureDir(`/recordings/${i}`),m.debug(`Started recording`,{recordingId:i,targetId:e,currentUrl:a}),i}setupEventListeners(e){let{sessionId:t,id:n}=e,r=n=>{let r=n;r.sessionId===t&&this.handleRequestWillBeSent(e,r)},i=n=>{let r=n;r.sessionId===t&&this.handleResponseReceived(e,r)},a=r=>{let i=r;i.sessionId===t&&this.handleLoadingFinished(e,i).catch(e=>{m.error(`Failed to process loadingFinished event`,{recordingId:n,requestId:i.requestId,error:e instanceof Error?e.message:String(e)})})},o=n=>{let r=n;r.sessionId===t&&this.handleLoadingFailed(e,r)},s=r=>{let i=r;if(i.sessionId!==t)return;let a=i.frame;if(!a?.parentId&&a?.url){let t=[...e.entries],r=e.currentUrl;e.currentUrl=a.url,e.entries=[],e.pendingRequests.clear(),this.saveSnapshotWithEntries(e,`navigation`,t,r).catch(e=>{m.error(`Failed to save navigation snapshot`,{recordingId:n,error:e instanceof Error?e.message:String(e)})})}};this.client.on(`Network.requestWillBeSent`,r),this.client.on(`Network.responseReceived`,i),this.client.on(`Network.loadingFinished`,a),this.client.on(`Network.loadingFailed`,o),this.client.on(`Page.frameNavigated`,s),this.eventCleanup.set(n,()=>{this.client.off(`Network.requestWillBeSent`,r),this.client.off(`Network.responseReceived`,i),this.client.off(`Network.loadingFinished`,a),this.client.off(`Network.loadingFailed`,o),this.client.off(`Page.frameNavigated`,s)})}handleRequestWillBeSent(e,t){let{requestId:n,request:r,timestamp:i}=t;!n||!r||i==null||e.pendingRequests.set(n,{requestId:n,startTime:i*1e3,request:{method:r.method,url:r.url,headers:r.headers,postData:r.postData}})}handleResponseReceived(e,t){let{requestId:n,response:r}=t;if(!n||!r)return;let i=e.pendingRequests.get(n);i&&(i.response={status:r.status,statusText:r.statusText,headers:r.headers,mimeType:r.mimeType},i.timing=r.timing)}async handleLoadingFinished(e,t){let{requestId:n,timestamp:r}=t;if(!n||r==null)return;let i=e.pendingRequests.get(n);if(!i)return;i.endTime=r*1e3;try{let t=await this.client.send(`Network.getResponseBody`,{requestId:n},e.sessionId);i.responseBody=t.body,i.responseBodyBase64=t.base64Encoded===!0}catch{}let a=this.buildHarEntry(i);a&&e.entries.push(a),e.pendingRequests.delete(n)}handleLoadingFailed(e,t){let{requestId:n}=t;n&&e.pendingRequests.delete(n)}buildHarEntry(e){if(!e.response)return null;let{request:t,response:n,timing:r,startTime:i,endTime:a,responseBody:o,responseBodyBase64:s}=e,c=a?a-i:0,l=[];try{let e=new URL(t.url);l=Array.from(e.searchParams.entries()).map(([e,t])=>({name:e,value:t}))}catch{}let u=r?(()=>{let e=(e,t)=>{if(e==null||t==null||e<0||t<0)return-1;let n=t-e;return n>=0?n:-1},t=r.dnsStart>=0?r.dnsStart:r.connectStart>=0?r.connectStart:0;return{blocked:t>0?t:-1,dns:e(r.dnsStart,r.dnsEnd),connect:e(r.connectStart,r.connectEnd),ssl:e(r.sslStart,r.sslEnd),send:e(r.sendStart,r.sendEnd),wait:e(r.sendEnd,r.receiveHeadersStart),receive:e(r.receiveHeadersStart,r.receiveHeadersEnd)}})():{blocked:-1,dns:-1,connect:-1,ssl:-1,send:0,wait:c,receive:0},d={size:o?.length??0,mimeType:n.mimeType??`application/octet-stream`};o&&(d.text=o,s&&(d.encoding=`base64`));let f;return t.postData&&(f={mimeType:t.headers[`content-type`]??t.headers[`Content-Type`]??`text/plain`,text:t.postData}),{startedDateTime:new Date(i).toISOString(),time:c,request:{method:t.method,url:t.url,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(t.headers).map(([e,t])=>({name:e,value:t})),queryString:l,postData:f,headersSize:-1,bodySize:t.postData?.length??0},response:{status:n.status,statusText:n.statusText,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(n.headers).map(([e,t])=>({name:e,value:t})),content:d,redirectURL:n.headers.location??n.headers.Location??``,headersSize:-1,bodySize:d.size},cache:{},timings:u}}async saveSnapshot(e,t){return this.saveSnapshotWithEntries(e,t,e.entries,e.currentUrl)}async applyFilter(e,t){return g(e,t)}async saveSnapshotWithEntries(e,t,n,r){if(n.length===0)return m.debug(`No entries to save`,{recordingId:e.id,trigger:t}),null;let i=e.filterCode?await this.applyFilter(n,e.filterCode):n;if(i.length===0)return m.debug(`All entries filtered out`,{recordingId:e.id,trigger:t}),null;e.snapshotCount++;let a=new Date().toISOString().replace(/[:.]/g,`-`),o=this.urlToSlug(r),s=`${e.snapshotCount.toString().padStart(3,`0`)}-${a}-${t}-${o}.har`,c=`/recordings/${e.id}/${s}`,l={log:{version:`1.2`,creator:{name:`SLICC HAR Recorder`,version:`1.0.0`},entries:i}};return await this.fs.writeFile(c,JSON.stringify(l,null,2)),m.debug(`Saved HAR snapshot`,{recordingId:e.id,path:c,entryCount:i.length}),c}urlToSlug(e){try{let t=new URL(e);return`${t.hostname}${t.pathname}`.replace(/[^a-zA-Z0-9]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,50)||`page`}catch{return`page`}}async stopRecording(e){let t=this.recordings.get(e);if(!t)throw Error(`Recording not found: ${e}`);await this.saveSnapshot(t,`close`);let n=this.eventCleanup.get(e);n&&(n(),this.eventCleanup.delete(e));try{await this.client.send(`Network.disable`,{},t.sessionId)}catch{}this.recordings.delete(e);let r=`/recordings/${e}`;return m.debug(`Stopped recording`,{recordingId:e,snapshotCount:t.snapshotCount}),r}getRecording(e){return this.recordings.get(e)}getRecordingByTarget(e){for(let[t,n]of this.recordings)if(n.targetId===e)return t}async ensureDir(e){await this.fs.mkdir(e,{recursive:!0})}};function g(e,t){try{let n=Function(`entry`,`return (${t})(entry);`),r=[];for(let t of e)try{let e=n(t);if(e===!1)continue;typeof e==`object`&&e?r.push(e):r.push(t)}catch(e){m.error(`Filter function error on entry, keeping it`,{error:e instanceof Error?e.message:String(e)}),r.push(t)}return r}catch(t){return m.error(`Failed to compile filter, returning unfiltered`,{error:t instanceof Error?t.message:String(t)}),e}}var _=`(function() {
|
|
1
|
+
import{t as e}from"./logger-DDBAeTLF.js";import"./navigation-watcher-CPcnZL9l.js";import"./wc-follower-oauth-DHAss7Bl.js";import{d as t,l as n,u as r}from"./main-ke7UzEyb.js";import{n as i,t as a}from"./pending-request-table-k-D7ZZsL.js";var o=e(`cdp`);function s(e){return e===4001?`CDP connection superseded by another SLICC tab/window on this instance`:e===4002?`CDP connection reset by proxy (upstream Chrome connection was re-established)`:`CDP connection closed`}var c=class{ws=null;nextId=1;_superseded=!1;pending=new a;listeners=new Map;_state=`disconnected`;stateListeners=new Set;lastNotifiedState=`disconnected`;lastNotifiedReason;get state(){return this._state}onStateChange(e){return this.stateListeners.add(e),()=>{this.stateListeners.delete(e)}}get superseded(){return this._superseded}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:t,timeout:n=5e3,protocols:r}=e;return this._state=`connecting`,new Promise((e,i)=>{let a=setTimeout(()=>{this.cleanup(),i(Error(`CDP connection timed out after ${n}ms`))},n);try{this.ws=r===void 0?new WebSocket(t):new WebSocket(t,r)}catch(e){clearTimeout(a),this._state=`disconnected`,i(e);return}this.ws.onopen=()=>{clearTimeout(a),this._state=`connected`,this._superseded=!1,o.info(`Connected`,{url:t}),this.notifyState(`connected`),e()},this.ws.onerror=e=>{clearTimeout(a),this._state===`connecting`&&(o.error(`Connection failed`,{url:t}),this.cleanup(),i(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=e=>{this.handleClose(e?.code)}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this._superseded=!1,this.cleanup(),o.info(`Disconnected`)}async send(e,t,n,r=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let i=this.nextId++,a={id:i,method:e};t&&(a.params=t),n&&(a.sessionId=n),o.debug(`Send`,{method:e,id:i,sessionId:n});let s=this.pending.issue(i,r,`CDP command timed out after ${r}ms: ${e}`);return this.ws.send(JSON.stringify(a)),s}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return i(t=>(this.on(e,t),()=>this.off(e,t)),t,`Timed out waiting for event: ${e}`)}handleMessage(e){let t;try{t=JSON.parse(e)}catch{return}if(`id`in t&&typeof t.id==`number`){let e=t;o.debug(`Response`,{id:e.id,hasError:!!e.error}),e.error?(o.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),this.pending.reject(e.id,Error(`CDP error: ${e.error.message} (${e.error.code})`))):this.pending.resolve(e.id,e.result??{});return}if(`method`in t){let e=t;o.debug(`Event`,{method:e.method,sessionId:e.sessionId});let n=this.listeners.get(e.method);if(n){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of n)try{e(t)}catch{}}}}handleClose(e){e===4001?(this._superseded=!0,o.warn(`CDP slot superseded by another SLICC tab/window on this instance`,{code:e})):e===4002?o.warn(`CDP proxy reset its upstream Chrome connection — sessions dropped`,{code:e,pendingCommands:this.pending.size}):o.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size}),this.cleanup(s(e))}cleanup(e=`CDP client disconnected`){this.ws=null,this._state=`disconnected`,this.pending.rejectAll(e),this.notifyState(`disconnected`,e)}notifyState(e,t){if(e!==this.lastNotifiedState||t!==this.lastNotifiedReason){this.lastNotifiedState=e,this.lastNotifiedReason=t;for(let n of this.stateListeners)try{n(e,t)}catch{}}}},l=class extends Error{step;name=`CommandAbortedError`;constructor(e){super(`Browser command aborted while ${e}. A CDP round trip already in flight cannot be cancelled, so it may still have been applied to the page; nothing after it was started.`),this.step=e}};function u(e,t){if(e?.aborted)throw new l(t)}function d(e,t){return e?{signal:e,error:()=>new l(t)}:void 0}function f(e,t,n){return new Promise((r,i)=>{if(t?.aborted){i(new l(n));return}let a=()=>{clearTimeout(o),i(new l(n))},o=setTimeout(()=>{t?.removeEventListener(`abort`,a),r()},e);t?.addEventListener(`abort`,a,{once:!0})})}function p(e,t,n){return t?t.aborted?Promise.reject(new l(n)):new Promise((r,i)=>{let a=()=>i(new l(n));t.addEventListener(`abort`,a,{once:!0}),e.then(()=>{t.removeEventListener(`abort`,a),r()},e=>{t.removeEventListener(`abort`,a),i(e instanceof Error?e:Error(String(e)))})}):e}var m=e(`har-recorder`),h=class{recordings=new Map;client;fs;eventCleanup=new Map;constructor(e,t){this.client=e,this.fs=t}async startRecording(e,t,n,r){let i=`rec-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;u(r,`about to enable Network on tab ${e}`),await this.client.send(`Network.enable`,{},t),u(r,`about to enable Page on tab ${e}`),await this.client.send(`Page.enable`,{},t),u(r,`about to read the URL of tab ${e}`);let a=(await this.client.send(`Runtime.evaluate`,{expression:`location.href`,returnByValue:!0},t)).result?.value??`about:blank`,o={id:i,targetId:e,sessionId:t,filterCode:n,pendingRequests:new Map,entries:[],startTime:Date.now(),currentUrl:a,snapshotCount:0};return this.recordings.set(i,o),this.setupEventListeners(o),await this.ensureDir(`/recordings/${i}`),m.debug(`Started recording`,{recordingId:i,targetId:e,currentUrl:a}),i}setupEventListeners(e){let{sessionId:t,id:n}=e,r=n=>{let r=n;r.sessionId===t&&this.handleRequestWillBeSent(e,r)},i=n=>{let r=n;r.sessionId===t&&this.handleResponseReceived(e,r)},a=r=>{let i=r;i.sessionId===t&&this.handleLoadingFinished(e,i).catch(e=>{m.error(`Failed to process loadingFinished event`,{recordingId:n,requestId:i.requestId,error:e instanceof Error?e.message:String(e)})})},o=n=>{let r=n;r.sessionId===t&&this.handleLoadingFailed(e,r)},s=r=>{let i=r;if(i.sessionId!==t)return;let a=i.frame;if(!a?.parentId&&a?.url){let t=[...e.entries],r=e.currentUrl;e.currentUrl=a.url,e.entries=[],e.pendingRequests.clear(),this.saveSnapshotWithEntries(e,`navigation`,t,r).catch(e=>{m.error(`Failed to save navigation snapshot`,{recordingId:n,error:e instanceof Error?e.message:String(e)})})}};this.client.on(`Network.requestWillBeSent`,r),this.client.on(`Network.responseReceived`,i),this.client.on(`Network.loadingFinished`,a),this.client.on(`Network.loadingFailed`,o),this.client.on(`Page.frameNavigated`,s),this.eventCleanup.set(n,()=>{this.client.off(`Network.requestWillBeSent`,r),this.client.off(`Network.responseReceived`,i),this.client.off(`Network.loadingFinished`,a),this.client.off(`Network.loadingFailed`,o),this.client.off(`Page.frameNavigated`,s)})}handleRequestWillBeSent(e,t){let{requestId:n,request:r,timestamp:i}=t;!n||!r||i==null||e.pendingRequests.set(n,{requestId:n,startTime:i*1e3,request:{method:r.method,url:r.url,headers:r.headers,postData:r.postData}})}handleResponseReceived(e,t){let{requestId:n,response:r}=t;if(!n||!r)return;let i=e.pendingRequests.get(n);i&&(i.response={status:r.status,statusText:r.statusText,headers:r.headers,mimeType:r.mimeType},i.timing=r.timing)}async handleLoadingFinished(e,t){let{requestId:n,timestamp:r}=t;if(!n||r==null)return;let i=e.pendingRequests.get(n);if(!i)return;i.endTime=r*1e3;try{let t=await this.client.send(`Network.getResponseBody`,{requestId:n},e.sessionId);i.responseBody=t.body,i.responseBodyBase64=t.base64Encoded===!0}catch{}let a=this.buildHarEntry(i);a&&e.entries.push(a),e.pendingRequests.delete(n)}handleLoadingFailed(e,t){let{requestId:n}=t;n&&e.pendingRequests.delete(n)}buildHarEntry(e){if(!e.response)return null;let{request:t,response:n,timing:r,startTime:i,endTime:a,responseBody:o,responseBodyBase64:s}=e,c=a?a-i:0,l=[];try{let e=new URL(t.url);l=Array.from(e.searchParams.entries()).map(([e,t])=>({name:e,value:t}))}catch{}let u=r?(()=>{let e=(e,t)=>{if(e==null||t==null||e<0||t<0)return-1;let n=t-e;return n>=0?n:-1},t=r.dnsStart>=0?r.dnsStart:r.connectStart>=0?r.connectStart:0;return{blocked:t>0?t:-1,dns:e(r.dnsStart,r.dnsEnd),connect:e(r.connectStart,r.connectEnd),ssl:e(r.sslStart,r.sslEnd),send:e(r.sendStart,r.sendEnd),wait:e(r.sendEnd,r.receiveHeadersStart),receive:e(r.receiveHeadersStart,r.receiveHeadersEnd)}})():{blocked:-1,dns:-1,connect:-1,ssl:-1,send:0,wait:c,receive:0},d={size:o?.length??0,mimeType:n.mimeType??`application/octet-stream`};o&&(d.text=o,s&&(d.encoding=`base64`));let f;return t.postData&&(f={mimeType:t.headers[`content-type`]??t.headers[`Content-Type`]??`text/plain`,text:t.postData}),{startedDateTime:new Date(i).toISOString(),time:c,request:{method:t.method,url:t.url,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(t.headers).map(([e,t])=>({name:e,value:t})),queryString:l,postData:f,headersSize:-1,bodySize:t.postData?.length??0},response:{status:n.status,statusText:n.statusText,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(n.headers).map(([e,t])=>({name:e,value:t})),content:d,redirectURL:n.headers.location??n.headers.Location??``,headersSize:-1,bodySize:d.size},cache:{},timings:u}}async saveSnapshot(e,t){return this.saveSnapshotWithEntries(e,t,e.entries,e.currentUrl)}async applyFilter(e,t){return g(e,t)}async saveSnapshotWithEntries(e,t,n,r){if(n.length===0)return m.debug(`No entries to save`,{recordingId:e.id,trigger:t}),null;let i=e.filterCode?await this.applyFilter(n,e.filterCode):n;if(i.length===0)return m.debug(`All entries filtered out`,{recordingId:e.id,trigger:t}),null;e.snapshotCount++;let a=new Date().toISOString().replace(/[:.]/g,`-`),o=this.urlToSlug(r),s=`${e.snapshotCount.toString().padStart(3,`0`)}-${a}-${t}-${o}.har`,c=`/recordings/${e.id}/${s}`,l={log:{version:`1.2`,creator:{name:`SLICC HAR Recorder`,version:`1.0.0`},entries:i}};return await this.fs.writeFile(c,JSON.stringify(l,null,2)),m.debug(`Saved HAR snapshot`,{recordingId:e.id,path:c,entryCount:i.length}),c}urlToSlug(e){try{let t=new URL(e);return`${t.hostname}${t.pathname}`.replace(/[^a-zA-Z0-9]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,50)||`page`}catch{return`page`}}async stopRecording(e){let t=this.recordings.get(e);if(!t)throw Error(`Recording not found: ${e}`);await this.saveSnapshot(t,`close`);let n=this.eventCleanup.get(e);n&&(n(),this.eventCleanup.delete(e));try{await this.client.send(`Network.disable`,{},t.sessionId)}catch{}this.recordings.delete(e);let r=`/recordings/${e}`;return m.debug(`Stopped recording`,{recordingId:e,snapshotCount:t.snapshotCount}),r}getRecording(e){return this.recordings.get(e)}getRecordingByTarget(e){for(let[t,n]of this.recordings)if(n.targetId===e)return t}async ensureDir(e){await this.fs.mkdir(e,{recursive:!0})}};function g(e,t){try{let n=Function(`entry`,`return (${t})(entry);`),r=[];for(let t of e)try{let e=n(t);if(e===!1)continue;typeof e==`object`&&e?r.push(e):r.push(t)}catch(e){m.error(`Filter function error on entry, keeping it`,{error:e instanceof Error?e.message:String(e)}),r.push(t)}return r}catch(t){return m.error(`Failed to compile filter, returning unfiltered`,{error:t instanceof Error?t.message:String(t)}),e}}var _=`(function() {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
// ===== DOM Utilities =====
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./account-store-
|
|
1
|
+
import{a as e}from"./account-store-CdWvtLK5.js";import{a as t}from"./diagnostics-DN_idNHx.js";import{a as n}from"./compat-uEPf6-XW.js";import{r,s as i}from"./legacy-api-aliases-jKEvBgOL.js";const a=`cerebras`,o=`https://api.cerebras.ai/v1`,s=`openai-completions`,c=`${a}-openai`,l=`slicc-cerebras-models`;let u=[];const d=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function f(e){try{localStorage.setItem(l,JSON.stringify(e))}catch{}}function p(){try{let e=localStorage.getItem(l);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function m(e){let t=e.id??``,n=d.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function h(e){let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(m).filter(e=>e.id.length>0);n.length>0&&(u=n,f(n))}function g(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:c,provider:a,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 _(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}const v=(e,n,r={})=>{let i=t();return y(i,e,n,r).catch(_),i};async function y(e,t,n,i){try{let a={...t,baseUrl:o,api:s},c=r(a,n,i);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}const b=(e,n,r)=>{let i=t();return x(i,e,n,r).catch(_),i};async function x(e,t,n,r){try{let a={...t,baseUrl:o,api:s},c=i(a,n,r);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}const S={id:a,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(u.length>0)return u;let e=p();return e.length>0?e:d},refreshModels:async t=>{let n=t??e(a)??``;if(n)try{await h(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function C(){n({api:c,stream:v,streamSimple:b})}export{S as config,C as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./diagnostics-DN_idNHx.js";import{a as t}from"./compat-qQM4gjF_.js";import{r as n,s as r}from"./legacy-api-aliases-DtQJ5I7w.js";import{_ as i}from"./account-store-
|
|
1
|
+
import{a as e}from"./diagnostics-DN_idNHx.js";import{a as t}from"./compat-qQM4gjF_.js";import{r as n,s as r}from"./legacy-api-aliases-DtQJ5I7w.js";import{_ as i}from"./account-store-C41qiTs8.js";var a=`cerebras`,o=`https://api.cerebras.ai/v1`,s=`openai-completions`,c=`${a}-openai`,l=`slicc-cerebras-models`,u=[],d=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function f(e){try{localStorage.setItem(l,JSON.stringify(e))}catch{}}function p(){try{let e=localStorage.getItem(l);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function m(e){let t=e.id??``,n=d.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function h(e){let t=await fetch(`${o}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(m).filter(e=>e.id.length>0);n.length>0&&(u=n,f(n))}function g(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:c,provider:a,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 _(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}var v=(t,n,r={})=>{let i=e();return y(i,t,n,r).catch(_),i};async function y(e,t,r,i){try{let a={...t,baseUrl:o,api:s},c=n(a,r,i);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}var b=(t,n,r)=>{let i=e();return x(i,t,n,r).catch(_),i};async function x(e,t,n,i){try{let a={...t,baseUrl:o,api:s},c=r(a,n,i);for await(let t of c)e.push(t);e.end()}catch(n){_(n),e.push(g(t,n)),e.end()}}var S={id:a,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(u.length>0)return u;let e=p();return e.length>0?e:d},refreshModels:async e=>{let t=e??i(a)??``;if(t)try{await h(t)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function C(){t({api:c,stream:v,streamSimple:b})}export{S as config,C as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-DDBAeTLF.js";import{st as t}from"./wc-shell-
|
|
1
|
+
import{t as e}from"./logger-DDBAeTLF.js";import{st as t}from"./wc-shell-BtEykt-v.js";import{n}from"./runtime-env-Dlaokqg1.js";import{t as r}from"./permissions-surface-registry-CilCRwhh.js";import{t as i}from"./speech-assets-bridge-CFYafE89.js";import{o as a}from"./transformers-env-BENPPudh.js";import{i as o,t as s}from"./whisper-session-C7baPCyL.js";var c=e(`speech:composer`),l=5e3,u=(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)})}),d=class{#e;#t;#n;#r;#i;#a=null;#o=!1;#s={engine:`builtin`,state:`idle`};#c=a();#l=new Set;#u=null;constructor(e={}){this.#e=e.builtin??t(),this.#t=e.loadWhisper??o,this.#n=e.startSession??s,this.#r=e.getPermissionSurface??f,this.#i=e.ensureAssets??v}permission(){return this.#e.permission()}async requestPermission(){let e=this.#r();if(e)try{let t=await e.request(`microphone`);return t?(this.#p(t.stream),!0):!1}catch(e){return c.warn(`permission surface microphone request failed`,e),!1}return this.#e.requestPermission()}microphones(){return this.#e.microphones()}status(){return this.#s}onStatus(e){return this.#l.add(e),e(this.#s),()=>this.#l.delete(e)}warmup(){this.#o||(this.#o=!0,this.#c=a(),this.#_({engine:`builtin`,state:`downloading`}),this.#d().then(e=>{this.#a=e,this.#_({engine:`enhanced`,state:`ready`})},e=>{this.#o=!1,this.#_({engine:`builtin`,state:`unavailable`,message:m(e)}),c.warn(`enhanced speech engine unavailable`,e)}))}async#d(){let e=null;try{await this.#i(e=>this.#h(e))}catch(t){e=t,c.warn(`speech asset staging failed; trying already-present assets`,t)}try{return await this.#t(e=>this.#g(e))}catch(t){throw e??t}}async start(e){let t=this.#a;if(t){let n=null;try{return n=await this.#f(e.deviceId),await this.#n(t,{deviceId:e.deviceId,lang:e.lang,onPartial:e.onPartial,onError:e.onError,stream:n??void 0})}catch(e){if(n)for(let e of n.getTracks())e.stop();c.warn(`whisper session failed to start; falling back to builtin`,e)}}return this.#e.start(e)}async#f(e){let t=e&&e!=="default"?e:void 0,n=this.#m();if(n){if(!t&&p(n))return n;for(let e of n.getTracks())e.stop()}let r=this.#r();if(!r)return null;let i={audio:!t||{deviceId:{exact:t}}},a=await u(r.request(`microphone`,{constraints:i}),l,`microphone capture`);if(!a)throw Error(`microphone permission denied`);return a.stream}#p(e){if(this.#u&&this.#u!==e)for(let e of this.#u.getTracks())e.stop();this.#u=e}#m(){let e=this.#u;return this.#u=null,e}get enhancedReady(){return this.#a!==null}#h(e){if(this.#s.state!==`downloading`)return;(e.bytesTotal!=null||e.bytesLoaded!=null)&&this.#c.update(e.asset,e.bytesLoaded??0,e.bytesTotal??0);let t=this.#c.snapshot();t.total<=0||this.#_({engine:`builtin`,state:`downloading`,download:{loaded:t.loaded,total:t.total,etaSeconds:t.etaSeconds}})}#g(e){this.#s.state===`downloading`&&this.#_({engine:`builtin`,state:`downloading`,download:{loaded:e.loaded,total:e.total,etaSeconds:e.etaSeconds}})}#_(e){this.#s=e;for(let t of this.#l)t(e)}};function f(){let e=r();return e?{async request(t,n){let r=await e.request(t,n);return r?.kind===`microphone`?{kind:`microphone`,stream:r.stream}:null}}:null}function p(e){let t=e.getTracks();return t.length>0&&t.some(e=>e.readyState!==`ended`)}function m(e){return`Enhanced speech unavailable: ${e instanceof Error?e.message:String(e)}`}var h=n,g;function _(e){g=e}function v(e){return h()?Promise.resolve():i({instanceId:g,onProgress:e})}var y=null;function b(){return y??=new d,y}export{b as getComposerSpeech,_ as setComposerSpeechInstanceId};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{B as e,E as t,f as n,p as r}from"./account-store-
|
|
1
|
+
import{B as e,E as t,f as n,p as r}from"./account-store-C41qiTs8.js";import{a as i}from"./main-ke7UzEyb.js";var a=`slicc_cloud_model_catalog`,o=`adobe`;function s(e){if(e===o)return!1;let n=t(e);return!(n.hidden||n.onOAuthLoginIntercepted)}function c(){try{let e=r().map(e=>({providerId:e.providerId,providerName:e.providerName,models:e.models.map(e=>({id:e.id,name:e.name}))}));localStorage.setItem(a,JSON.stringify(e))}catch{}}async function l(r){for(;r.firstChild;)r.removeChild(r.firstChild);r.className=`connect-surface`;let a=document.createElement(`h1`);a.className=`connect-surface__title`,a.textContent=`Connect providers`,r.appendChild(a);let l=document.createElement(`p`);l.className=`connect-surface__desc`,l.textContent=`Log in or add API keys for the providers your cone should use, then click Done to return to the dashboard.`,r.appendChild(l);let u=document.createElement(`div`);u.className=`connect-surface__accounts`,r.appendChild(u);function d(){for(;u.firstChild;)u.removeChild(u.firstChild);let r=n().filter(e=>e.providerId!==o);if(r.length===0){let e=document.createElement(`div`);e.className=`connect-surface__empty`,e.textContent=`No providers connected yet.`,u.appendChild(e)}else{let n=document.createElement(`div`);n.className=`connect-surface__accounts-list`;for(let i of r){let r=t(i.providerId),a=document.createElement(`div`);a.className=`connect-surface__account-row`;let o=document.createElement(`div`);o.className=`connect-surface__account-info`;let s=document.createElement(`div`);s.className=`connect-surface__account-name`,s.textContent=r.name,o.appendChild(s);let l=document.createElement(`div`);l.className=`connect-surface__account-detail`,l.textContent=i.userName?i.userName:i.accessToken?`Logged in`:i.apiKey?`API key set`:`No credentials`,o.appendChild(l),a.appendChild(o);let u=document.createElement(`button`);u.className=`connect-surface__remove-btn`,u.textContent=`Remove`,u.onclick=async()=>{await e(i.providerId),c(),d()},a.appendChild(u),n.appendChild(a)}u.appendChild(n)}let a=document.createElement(`button`);a.className=`connect-surface__add-btn`,a.textContent=r.length===0?`Add provider`:`Manage providers`,a.onclick=async()=>{await i({startInAddAccount:!0,providerFilter:s})&&(c(),d())},u.appendChild(a)}d(),c();let f=document.createElement(`div`);f.className=`connect-surface__footer`;let p=document.createElement(`button`);if(p.className=`connect-surface__done-btn`,p.textContent=`Done — return to dashboard`,p.onclick=()=>{c(),window.close()},f.appendChild(p),r.appendChild(f),!document.getElementById(`connect-surface-style`)){let e=document.createElement(`style`);e.id=`connect-surface-style`,e.textContent=`
|
|
2
2
|
.connect-surface {
|
|
3
3
|
padding: 2rem;
|
|
4
4
|
max-width: 560px;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{c as t,t as n}from"./claude-model-version-ceOteQ2f.js";import{r}from"./browser-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{c as t,t as n}from"./claude-model-version-ceOteQ2f.js";import{r}from"./browser-Cja95Zor.js";import{n as i,t as a}from"./provider-budget-DbHWq3j6.js";import{t as o}from"./subcommand-flags-BZi7j78Q.js";import{t as s}from"./subcommand-help-CgO7wRS5.js";var c=e({createCostCommand:()=>C,frozenSessionToCostData:()=>h,registerSessionBudgetProvider:()=>p,registerSessionCostsProvider:()=>f});const l=[`--all`,`--json`];let u=null,d=null;function f(e){u=e}function p(e){d=e}function m(e){return typeof e==`number`&&Number.isFinite(e)?e:0}function h(e){let r=Array.isArray(e.models)?e.models:[],i=new Map;for(let e of r){let t=typeof e?.model==`string`?e.model:``;if(!t)continue;let r=n(t),a=i.get(r),o=m(e?.cost);if(!a){i.set(r,{ids:[t],cost:o});continue}a.ids.includes(t)||a.ids.push(t),a.cost+=o}let a=[...i.values()].sort((e,t)=>t.cost-e.cost||(e.ids[0]??``).localeCompare(t.ids[0]??``)).map(e=>t(e.ids)),o=Number.isFinite(e.cost?.total);return{name:typeof e.title==`string`&&e.title.length>0?e.title:e.filename,type:`cone`,model:a[0]??`-`,models:a,source:`frozen`,costAvailable:o,usage:{input:null,output:null,cacheRead:null,cacheWrite:null,totalTokens:r.reduce((e,t)=>e+m(t?.tokens),0),cost:{input:m(e.cost?.input),output:m(e.cost?.output),cacheRead:m(e.cost?.cacheRead),cacheWrite:m(e.cost?.cacheWrite),total:m(e.cost?.total)}},turns:r.reduce((e,t)=>e+m(t?.turns),0)}}function g(){return`cost - show session cost breakdown
|
|
2
2
|
|
|
3
3
|
Usage: cost [options]
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import{S as t}from"./record-ChU1ND2B.js";import{h as n}from"./kernel-worker-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{S as t}from"./record-ChU1ND2B.js";import{h as n}from"./kernel-worker-BfQfWWGY.js";const r=e(`directed-approval`);function i(e,n){if(e.kind===`user`)return a(`the user tier is not a directed approval`);if(e.kind===`agent`)return a(`agent approvals are not enqueued to a unit`);let r=e.unitJid;if(!n.scoops.has(r))return a(`the requesting unit is not registered`);let i=n.ownerRootOf(r);if(!i)return a(`no owning cone for the requesting unit`);let o=e.kind===`cone`?i:[...n.scoops.values()].find(t=>t.parentJid===i.jid&&(t.name===e.scoopName||t.folder===e.scoopName));return o?t(o).canResolveApprovals?{ok:!0,requesterJid:r,approver:o}:a(`the named approver cannot resolve approvals`):a(`delegated approver not found under this cone`)}function a(e){return r.warn(`Directed approval failing closed`,{reason:e}),{ok:!1,reason:e}}const o={decision:`deny`};async function s(e,t){let a=e.approver;if(a?.kind===`agent`){let i=globalThis[n];if(!i)return r.warn(`No agent bridge available for an approver agent — denying`),o;let{approverRunnerFor:s}=await import(`./approver-agent-CvnFt_s6.js`),c=t.getSharedFs(),l=await s({spawn:e=>i.spawn(e),readSharedFile:async e=>{if(!c)return null;try{let t=await c.readFile(e,{encoding:`utf-8`});return typeof t==`string`?t:null}catch{return null}},findUnit:e=>{let n=t.scoops.get(e);return n?{workspace:t.workspaceFor(n),folder:n.folder}:void 0}})({kind:e.kind===`guest-tool`?`guest-tool`:`guest-message`,requester:e.requester??`an unidentified requester`,detail:e.detail},a.unitJid);return r.info(`Approver agent verdict`,{decision:l.decision,reason:l.reason}),l.decision===`allow`?{decision:`allow`}:o}if(a&&a.kind!==`user`){let n=i(a,t);return n.ok?t.enqueue(n.requesterJid,e,{approver:n.approver}):o}return t.approveAsUser(e)}export{s as runDirectedApproval};
|