sliccy 6.248.0 → 6.248.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/dist/ui/.vite/manifest.json +199 -199
  2. package/dist/ui/assets/{account-store-FDmqEyc_.js → account-store-D6Y7UkDR.js} +1 -1
  3. package/dist/ui/assets/{account-store-BkN60EtH.js → account-store-ns4WYcMU.js} +1 -1
  4. package/dist/ui/assets/{adobe-CI9nanFm.js → adobe-DUTM1MYN.js} +1 -1
  5. package/dist/ui/assets/{adobe-L_MHYu1T.js → adobe-X7Inkd3y.js} +1 -1
  6. package/dist/ui/assets/{agent-panels-BDnsWwN2.js → agent-panels-CKJsRdkX.js} +1 -1
  7. package/dist/ui/assets/{almost-bash-shell-headless-QSWifL7a.js → almost-bash-shell-headless-ClalXJjr.js} +15 -15
  8. package/dist/ui/assets/{apply-layout-BPgEnWZ3.js → apply-layout-CchSfN26.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-C4WHDOWB.js → azure-openai-CKbMQD0r.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-DabYCVA8.js → azure-openai-DyFYxvm3.js} +1 -1
  11. package/dist/ui/assets/{bunny-probe-Dv_4dvDI.js → bunny-probe-C4NWuNUc.js} +1 -1
  12. package/dist/ui/assets/{bunny-run-C3mkV7x4.js → bunny-run-i0aWgiSm.js} +1 -1
  13. package/dist/ui/assets/{cdp-5m8tjCWg.js → cdp-DQxci1TE.js} +1 -1
  14. package/dist/ui/assets/{cerebras-Bgdtj0Wh.js → cerebras-CxUX42e1.js} +1 -1
  15. package/dist/ui/assets/{cerebras-DfCmVCQO.js → cerebras-DIP7_DDR.js} +1 -1
  16. package/dist/ui/assets/{composer-speech-CezH2Yjn.js → composer-speech-BG6t0naa.js} +1 -1
  17. package/dist/ui/assets/{connect-surface-4mAa0jpU.js → connect-surface-D2XK41nE.js} +1 -1
  18. package/dist/ui/assets/{directed-approval-DkYT0fDn.js → directed-approval-B12urAW4.js} +1 -1
  19. package/dist/ui/assets/{emscripten-vfs-hook-D6krLTVP.js → emscripten-vfs-hook-CWvY9WeB.js} +1 -1
  20. package/dist/ui/assets/{fast-path-B1LDE8dF.js → fast-path-R8Tr2lTS.js} +1 -1
  21. package/dist/ui/assets/{frozen-archive-writer-MeOjwNWp.js → frozen-archive-writer-CbV_CMOh.js} +1 -1
  22. package/dist/ui/assets/{frozen-archive-writer-B84-12Q-.js → frozen-archive-writer-Ceh2la4q.js} +1 -1
  23. package/dist/ui/assets/{frozen-session-delete-Ft3YnzHq.js → frozen-session-delete-D5D_Ne2e.js} +1 -1
  24. package/dist/ui/assets/{frozen-session-identity-Co05uo8C.js → frozen-session-identity-BaOmOPkW.js} +1 -1
  25. package/dist/ui/assets/{frozen-session-identity-C3uccRvy.js → frozen-session-identity-gJ9_AdhB.js} +1 -1
  26. package/dist/ui/assets/{gelatiere-unit-B53jkBE6.js → gelatiere-unit-C7ZNZUSc.js} +1 -1
  27. package/dist/ui/assets/{github-CHdguYxL.js → github-1mLybvS_.js} +1 -1
  28. package/dist/ui/assets/{github-C_AGuBfS.js → github-6DwMsMnA.js} +1 -1
  29. package/dist/ui/assets/{github-copilot-DQK93vQ9.js → github-copilot-BfIxbhi4.js} +1 -1
  30. package/dist/ui/assets/{github-copilot-jurE-8Xq.js → github-copilot-N-tzbR5P.js} +1 -1
  31. package/dist/ui/assets/{hear-Bb5nLl8m.js → hear-Ct45sfIf.js} +1 -1
  32. package/dist/ui/assets/{js-realm-worker-BXTtb6iw.js → js-realm-worker-Cu7m3Um0.js} +2 -2
  33. package/dist/ui/assets/{jsh-executor-HYv0wIZ0.js → jsh-executor-Dl-C6Zsf.js} +2 -2
  34. package/dist/ui/assets/{kernel-worker-l6DSPN07.js → kernel-worker-C8b5lZTP.js} +8 -8
  35. package/dist/ui/assets/{lick-ws-bridge-Cup5qWao.js → lick-ws-bridge-D-E79_1_.js} +1 -1
  36. package/dist/ui/assets/{lick-ws-bridge-m7es0lmB.js → lick-ws-bridge-h5gzMRSW.js} +1 -1
  37. package/dist/ui/assets/{live-session-curation-B_jzobDd.js → live-session-curation-Cyo4-AT4.js} +1 -1
  38. package/dist/ui/assets/{live-session-curation-DAmfIssm.js → live-session-curation-SLge-cX1.js} +1 -1
  39. package/dist/ui/assets/{live-session-snapshot-DV6In8Sf.js → live-session-snapshot-pRBKYrJ8.js} +1 -1
  40. package/dist/ui/assets/{local-llm-BQPMfYF3.js → local-llm-BlHvV5yP.js} +1 -1
  41. package/dist/ui/assets/{local-llm-8nTkYqWN.js → local-llm-ENpj_eMH.js} +1 -1
  42. package/dist/ui/assets/{main-CLRSdtmZ.js → main-DfG-7olk.js} +3 -3
  43. package/dist/ui/assets/{main-cherry-DJ0R00FA.js → main-cherry-C7-exyW-.js} +1 -1
  44. package/dist/ui/assets/{mcp-command-CNxsh07S.js → mcp-command-17_LRqwb.js} +10 -10
  45. package/dist/ui/assets/{memory-curation-seam-BF1fM9p9.js → memory-curation-seam-CCSYlceq.js} +1 -1
  46. package/dist/ui/assets/{memory-health-C7hUDq-D.js → memory-health-BvHYn77g.js} +1 -1
  47. package/dist/ui/assets/{memory-write-execute-B8d44JHk.js → memory-write-execute-DgQbDA3A.js} +1 -1
  48. package/dist/ui/assets/{merge-folded-cost-into-frozen-Bk3ClpVU.js → merge-folded-cost-into-frozen-JhDEaEfs.js} +1 -1
  49. package/dist/ui/assets/{new-session-CXMafKe2.js → new-session-CnoNDTuz.js} +2 -2
  50. package/dist/ui/assets/{oauth-bootstrap-DuCCIFMa.js → oauth-bootstrap-ChsezcFC.js} +2 -2
  51. package/dist/ui/assets/{onboarding-orchestrator-Cqvbg5mV.js → onboarding-orchestrator-DVgfzjFI.js} +1 -1
  52. package/dist/ui/assets/{openai-codex-CyU1qDYB.js → openai-codex-C-kcHoOI.js} +1 -1
  53. package/dist/ui/assets/{openai-codex-ClfauVfu.js → openai-codex-Dv0f6Zky.js} +1 -1
  54. package/dist/ui/assets/{openrouter-BSEcWRIc.js → openrouter-43Pclqtc.js} +1 -1
  55. package/dist/ui/assets/{openrouter-Dga3GWST.js → openrouter-Cpv4zDcO.js} +1 -1
  56. package/dist/ui/assets/{openrouter-free-Dtr51tJ1.js → openrouter-free-ChP9MxdX.js} +1 -1
  57. package/dist/ui/assets/{openrouter-free-BHqdhvX8.js → openrouter-free-FKyXQM6S.js} +1 -1
  58. package/dist/ui/assets/{openrouter-oauth-Ch1MIr49.js → openrouter-oauth-BG3--aWC.js} +1 -1
  59. package/dist/ui/assets/{openrouter-oauth-DhBEW2GX.js → openrouter-oauth-CNF2eLlh.js} +1 -1
  60. package/dist/ui/assets/{panel-rpc-handlers-DlMn35mu.js → panel-rpc-handlers-bwwGloEJ.js} +2 -2
  61. package/dist/ui/assets/{panelize-shell-pJI2ds4h.js → panelize-shell-CHcICs0K.js} +1 -1
  62. package/dist/ui/assets/{pi-edit-execution-DjPDWHN6.js → pi-edit-execution-De18yFud.js} +1 -1
  63. package/dist/ui/assets/{provider-CTYGYQUH.js → provider-BXpJxeAj.js} +1 -1
  64. package/dist/ui/assets/{provider-0c8iwrWe.js → provider-CkRuiBXe.js} +1 -1
  65. package/dist/ui/assets/{provider-settings-C3hj2qLy.js → provider-settings-BiHtUcJy.js} +1 -1
  66. package/dist/ui/assets/provider-store-access-BGpLWm69.js +1 -0
  67. package/dist/ui/assets/provider-store-access-BWuEjd9t.js +1 -0
  68. package/dist/ui/assets/{providers-BCxZdggt.js → providers-4SFNzKj4.js} +2 -2
  69. package/dist/ui/assets/{providers-LdGzFZ4T.js → providers-CNMsS7p4.js} +1 -1
  70. package/dist/ui/assets/{quick-llm-Dvu7_VEC.js → quick-llm-D46cR1qL.js} +1 -1
  71. package/dist/ui/assets/{realm-inprocess-COVtouC-.js → realm-inprocess-BM3rzakW.js} +2 -2
  72. package/dist/ui/assets/{realm-unhandled-rejections-CyzLyQVE.js → realm-unhandled-rejections-CtQi1yQa.js} +1 -1
  73. package/dist/ui/assets/{realm-unhandled-rejections-miZXfpdf.js → realm-unhandled-rejections-OEjbIKa3.js} +1 -1
  74. package/dist/ui/assets/{recovery-screen-C3mGwJXM.js → recovery-screen-f0eMynNT.js} +1 -1
  75. package/dist/ui/assets/{remote-terminal-view-DA9qSreB.js → remote-terminal-view-BvBX-VtU.js} +2 -2
  76. package/dist/ui/assets/{restore-DweeEI5H.js → restore-DB68Gs49.js} +1 -1
  77. package/dist/ui/assets/{run-BlZXS5VD.js → run-Cb9nH_3a.js} +1 -1
  78. package/dist/ui/assets/{run-pxEajv3p.js → run-DbiSqYHp.js} +2 -2
  79. package/dist/ui/assets/{run-DjyzdK6H.js → run-Ddy8I2eX.js} +1 -1
  80. package/dist/ui/assets/{run-BqizcKZL.js → run-DwJ5gSg3.js} +1 -1
  81. package/dist/ui/assets/{run-DKI4Q0IT.js → run-DxAKJMli.js} +2 -2
  82. package/dist/ui/assets/{run-BJn_AkZa.js → run-QCY2mHg_.js} +2 -2
  83. package/dist/ui/assets/{run-5vBazlXX.js → run-lA9Glhv6.js} +2 -2
  84. package/dist/ui/assets/{serve-command-Dg5Olzd4.js → serve-command-CrjFrMtN.js} +2 -2
  85. package/dist/ui/assets/{serve-runtime-C6CXw1FT.js → serve-runtime-Df_C7Bwg.js} +1 -1
  86. package/dist/ui/assets/{session-command-memory-C3km1ebv.js → session-command-memory-CsOEa_ms.js} +2 -2
  87. package/dist/ui/assets/{session-jsonl-BFqRLC9t.js → session-jsonl-By2cMFbj.js} +1 -1
  88. package/dist/ui/assets/{session-jsonl-Cje6_qaO.js → session-jsonl-CMk3OfCb.js} +1 -1
  89. package/dist/ui/assets/{session-search-index-Dw7xman4.js → session-search-index-CQZ4zHoN.js} +1 -1
  90. package/dist/ui/assets/{setup-feature-flags-remote-qygPVxoO.js → setup-feature-flags-remote-B5Zj6DG2.js} +1 -1
  91. package/dist/ui/assets/{setup-model-catalog-WDO7DTOY.js → setup-model-catalog-DF_b-L0I.js} +1 -1
  92. package/dist/ui/assets/{silent-renew-backoff-D5eEd4h4.js → silent-renew-backoff-DdGLoVuv.js} +1 -1
  93. package/dist/ui/assets/slicc-version-BHbvdY0F.js +1 -0
  94. package/dist/ui/assets/{soundscape-D2yAEC30.js → soundscape-DEhbJ-ug.js} +1 -1
  95. package/dist/ui/assets/{speak-9_w2KmgY.js → speak-BoErE_TJ.js} +1 -1
  96. package/dist/ui/assets/{sprinkle-manager-DAVHkkbi.js → sprinkle-manager-Bl1h68AL.js} +1 -1
  97. package/dist/ui/assets/{sprinkle-renderer-DuMi8FZu.js → sprinkle-renderer-B9Kv4iHS.js} +1 -1
  98. package/dist/ui/assets/{src-ZJb5IA56.js → src-BQf5Kp1T.js} +4 -4
  99. package/dist/ui/assets/{ssh-DIsV8LDi.js → ssh-CMLjKc-C.js} +1 -1
  100. package/dist/ui/assets/{sudo-BbxT9dEZ.js → sudo-CXCObhqu.js} +1 -1
  101. package/dist/ui/assets/{supervisor-iX4QKDOR.js → supervisor-D09OiqeU.js} +1 -1
  102. package/dist/ui/assets/{sync-dialog-zI7QRePu.js → sync-dialog-D-i17d_q.js} +1 -1
  103. package/dist/ui/assets/{transformers-env-BTtpsj1k.js → transformers-env-C6K6s36u.js} +1 -1
  104. package/dist/ui/assets/{tray-leader-CPtZsYF_.js → tray-leader-0GIP6SM2.js} +1 -1
  105. package/dist/ui/assets/{tray-leave-runtime-9NFCh-OV.js → tray-leave-runtime-TPEwLpwn.js} +1 -1
  106. package/dist/ui/assets/{tray-sidecar-CxcBFmLR.js → tray-sidecar-Cjoy27SR.js} +1 -1
  107. package/dist/ui/assets/{upgrade-detection-KZg3nu88.js → upgrade-detection-Du2ZH4V4.js} +1 -1
  108. package/dist/ui/assets/{voice-reply-lXEY7fLr.js → voice-reply-Bcxvx3tf.js} +1 -1
  109. package/dist/ui/assets/{wc-attach-d7iFUZVb.js → wc-attach-x14l9M_B.js} +2 -2
  110. package/dist/ui/assets/{wc-browser-BWwEqBG6.js → wc-browser-C2zfIRBm.js} +1 -1
  111. package/dist/ui/assets/{wc-computers-BHwWpM5B.js → wc-computers-D3xFwdpr.js} +1 -1
  112. package/dist/ui/assets/{wc-detached-CMHQcwlP.js → wc-detached-CAFjtMoz.js} +1 -1
  113. package/dist/ui/assets/{wc-extension-DZnmbU6k.js → wc-extension-BR312mr2.js} +2 -2
  114. package/dist/ui/assets/{wc-follower-Deo6df6y.js → wc-follower-DE7WQb_h.js} +3 -3
  115. package/dist/ui/assets/{wc-follower-oauth-B1P6W8Yj.js → wc-follower-oauth-DFiPwVPW.js} +1 -1
  116. package/dist/ui/assets/{wc-gelatiere-CziYOq8J.js → wc-gelatiere-DjxUMudk.js} +1 -1
  117. package/dist/ui/assets/{wc-live-jg9LW9uz.js → wc-live-aEmb1wYY.js} +5 -5
  118. package/dist/ui/assets/{wc-nav-B6fLsyVF.js → wc-nav-DaPUjCh_.js} +2 -2
  119. package/dist/ui/assets/{wc-onboarding-cgTyO83Q.js → wc-onboarding-CuZD2L7O.js} +2 -2
  120. package/dist/ui/assets/{wc-permissions-BJxUPVTs.js → wc-permissions-dmftxiz6.js} +2 -2
  121. package/dist/ui/assets/{wc-placeholder-DgHj09af.js → wc-placeholder-Dsw3z2er.js} +3 -3
  122. package/dist/ui/assets/{wc-secret-request-CTiSZORv.js → wc-secret-request-B4EOYPwa.js} +1 -1
  123. package/dist/ui/assets/{wc-settings-XxWXuggO.js → wc-settings-BnIaH8l3.js} +3 -3
  124. package/dist/ui/assets/{wc-shell-wjSyYHqZ.js → wc-shell-fIEX0Fr7.js} +3 -3
  125. package/dist/ui/assets/{wc-shortcut-config-C3Uwn-1A.js → wc-shortcut-config-BDxnaOQ1.js} +1 -1
  126. package/dist/ui/assets/{wc-sprinkles-CificfZy.js → wc-sprinkles-DUpa4cWM.js} +2 -2
  127. package/dist/ui/assets/{wc-transcript-export-B2GWacEz.js → wc-transcript-export-r0Cw8Qpa.js} +2 -2
  128. package/dist/ui/assets/{wc-tray-Dirthj9a.js → wc-tray-BY31Fswm.js} +4 -4
  129. package/dist/ui/assets/welcome-detection-Cf37YU0q.js +1 -0
  130. package/dist/ui/assets/{whisper-session-CI2u0Ubk.js → whisper-session-DoB1nala.js} +2 -2
  131. package/dist/ui/assets/{xai-grok-kRToQedW.js → xai-grok-DUH1s394.js} +1 -1
  132. package/dist/ui/assets/{xai-grok-BD381UKi.js → xai-grok-GgyXbIKx.js} +1 -1
  133. package/dist/ui/index.html +3 -3
  134. package/dist/ui/packages/webapp/index.html +3 -3
  135. package/package.json +1 -1
  136. package/dist/ui/assets/provider-store-access-BEYORD5i.js +0 -1
  137. package/dist/ui/assets/provider-store-access-Dh8EgHTI.js +0 -1
  138. package/dist/ui/assets/slicc-version-DRWYpBwd.js +0 -1
  139. package/dist/ui/assets/welcome-detection-CHWDLLYC.js +0 -1
@@ -1,4 +1,4 @@
1
- import{t as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./__vite-browser-external-5eBdwsFd.js";import{r as n,t as r}from"./multipart-form-data-DopbgwRR.js";import{n as i}from"./slicc-version-DRWYpBwd.js";import{t as a}from"./src-CUSndb9K.js";import{t as o}from"./buffer-B5d1xHaH.js";import"./buffer-polyfill-BwLbCySD.js";import{i as s,n as c,r as l,t as u}from"./node-builtins-CDetdLPH.js";import{c as d,n as f,o as p,t as m}from"./require-guards-dUdxJmkR.js";import{t as h}from"./tmpdir-env-ate4iNcK.js";import{_ as g}from"./kernel-worker-l6DSPN07.js";import{a as _,i as v,n as y,o as b,r as x,t as S}from"./realm-sync-transport-Ble3Euu9.js";import{t as C}from"./realm-browser-fetch-V3uggGbM.js";function w(e){let t=typeof e==`string`?e:e.href;if(!t.startsWith(`file:`))throw TypeError(`fileURLToPath: not a file URL`);let n=new URL(t);if(n.hostname!==``&&n.hostname!==`localhost`)throw Object.assign(TypeError(`File URL host must be "localhost" or empty on posix`),{code:`ERR_INVALID_FILE_URL_HOST`});if(/%2f/i.test(n.pathname))throw Object.assign(TypeError(`File URL path must not include encoded / characters`),{code:`ERR_INVALID_FILE_URL_PATH`});return decodeURIComponent(n.pathname)}function T(e){let t=e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`);return new URL(`file://${t}`)}const E={URL:globalThis.URL,URLSearchParams:globalThis.URLSearchParams,fileURLToPath:w,pathToFileURL:T};function D(e,t){return Object.assign(TypeError(`The "${e}" argument must be of type string or an instance of Buffer or URL. Received ${t===null?`null`:typeof t}`),{code:`ERR_INVALID_ARG_TYPE`})}function O(e){return typeof e==`object`&&!!e&&typeof e.href==`string`&&typeof e.protocol==`string`}function k(e,t=`path`){if(typeof e==`string`)return e;if(O(e)){if(e.protocol!==`file:`)throw Object.assign(TypeError(`The URL must be of scheme file`),{code:`ERR_INVALID_URL_SCHEME`});return E.fileURLToPath(e.href)}if(e instanceof Uint8Array)return new TextDecoder().decode(e);throw D(t,e)}function ee(e,t){let n=[...t];switch(e){case`path`:n[0]=k(n[0]);break;case`fd`:typeof n[0]!=`number`&&(n[0]=k(n[0]));break;case`pair`:n[0]=k(n[0],`src`),n[1]=k(n[1],`dest`);break;case`second`:n[1]=k(n[1])}return n}function A(e,t,n={}){let r=e;for(let i of Object.keys(t)){let a=t[i],o=r[i];!a||typeof o!=`function`||(r[i]=((...t)=>{let r;try{r=ee(a,t)}catch(e){if(n.promises)return Promise.reject(e);throw e}return o.apply(e,r)}))}}function te(e){let t=!!e.isDirectory,n=e.mtimeMs??0;return{isFile:()=>!!e.isFile,isDirectory:()=>t,isSymbolicLink:()=>!!e.isSymbolicLink,isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,size:e.size??0,mode:e.mode??(t?16877:33188),mtimeMs:n,mtime:new Date(n)}}const ne=new Set([`stat`,`lstat`]);function re(e){if(e.length===0)return e;if(e.length===1||e[1]===void 0)return[e[0],null];let t=e[1];return typeof t==`object`&&t&&!ArrayBuffer.isView(t)&&t.encoding===void 0?[e[0],{...t,encoding:null}]:e}function ie(e){if(e instanceof Error&&e.code===void 0){let t=/^(E[A-Z]+)\b/.exec(e.message)?.[1];t&&Object.assign(e,{code:t})}return e}function ae(e,t){return ne.has(e)?te(t):t}function oe(e,t,n,r){let i=e===`readFile`?re(r):r;return t.apply(n,i)}function se(e){let t={};for(let[n,r]of Object.entries(e))n!==`promises`&&(t[n]=typeof r==`function`?async(...t)=>{try{return ae(n,await oe(n,r,e,t))}catch(e){throw ie(e)}}:r);return t}function ce(e){let t=e;for(let[e,n]of Object.entries(t))e!==`promises`&&typeof n==`function`&&(t[e]=function(...t){let r=t[t.length-1];if(typeof r!=`function`)return n.apply(this,t);t.pop();let i;try{i=Promise.resolve(oe(e,n,this,t))}catch(e){i=Promise.reject(e)}i.then(t=>e===`exists`?r(t):r(null,ae(e,t)),t=>r(e!==`exists`&&ie(t)))})}function le(e,t){return Object.assign(Error(`EBADF: bad file descriptor, ${e} ${String(t)}`),{code:`EBADF`})}function ue(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function de(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return t}function fe(){return{readSync:e=>{throw le(`read`,e)},writeSync:e=>{throw le(`write`,e)}}}function pe(e){let t=0;return{readSync(n,r,i,a){if(n!==0)throw le(`read`,n);let o=ue(r),s=typeof i==`object`&&i?i:{offset:i,length:a},c=s.offset??0,l=s.length??o.length-c,u=e.readStdinBytes(),d=Math.max(0,Math.min(l,u.length-t));return o.set(u.subarray(t,t+d),c),t+=d,d},writeSync(t,n,r,i){let a=t===1?e.writeStdout:t===2?e.writeStderr:void 0;if(!a)throw le(`write`,t);if(typeof n==`string`)return a(n),new TextEncoder().encode(n).length;if(!ArrayBuffer.isView(n))throw TypeError(`writeSync: data must be a string or buffer`);let o=ue(n),s=typeof r==`number`?r:0,c=o.subarray(s,i===void 0?void 0:s+i);return a(de(c)),c.length}}}function j(e){if(!e||e===`/`)return`/`;e.startsWith(`/`)||(e=`/`+e);let t=e.split(`/`),n=[];for(let e of t)e!==``&&e!==`.`&&(e===`..`?n.pop():n.push(e));return`/`+n.join(`/`)}function me(e){let t=j(e);if(t===`/`)return`/`;let n=t.lastIndexOf(`/`);return n===0?`/`:t.slice(0,n)}function M(e){return Object.assign(Error(`ENOENT: no such file or directory, '${e}'`),{code:`ENOENT`})}function he(e){return Object.assign(Error(`ENOSYNC: file too large for sync access, '${e}' — use async readFile() instead`),{code:`ENOSYNC`})}function ge(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var _e=class{tree=new Map;initialPaths=new Set;initialContent=new Map;initialKind=new Map;mkdtempCounter=0;tombstones=new Set;removedDirs=new Set;touched=!1;constructor(e){this.loadSnapshot(e)}loadSnapshot(e){this.tree=new Map,this.tombstones=new Set,this.removedDirs=new Set,this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map,this.tree.set(`/`,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(`/`),this.initialKind.set(`/`,`directory`);for(let t of e.entries){let e=j(t.path);this.tree.set(e,{content:t.content,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink,symlinkTarget:t.symlinkTarget,truncated:t.truncated,size:t.size,...t.partial?{partial:!0}:{}}),this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}for(let t of e.entries){let e=me(j(t.path));for(;e!==`/`&&!this.tree.has(e);)this.tree.set(e,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(e),this.initialKind.set(e,`directory`),e=me(e)}}wasUsed(){return this.touched}applySnapshot(e){this.loadSnapshot(e)}applySnapshotPreservingMutations(e){let t=this.getMutations();this.loadSnapshot(e);for(let e of t.deleted){if(this.tree.get(e)?.isDirectory){let t=e===`/`?`/`:e+`/`;for(let n of Array.from(this.tree.keys()))n!==e&&n.startsWith(t)&&this.tree.delete(n)}this.tree.delete(e)}for(let e of t.created)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink,symlinkTarget:e.symlinkTarget});for(let e of t.modified)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:!1})}invalidate(){this.loadSnapshot({entries:[]})}resetBaseline(){this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map;for(let[e,t]of this.tree.entries())this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}entryKind(e){return e.isSymbolicLink?`symlink`:e.isDirectory?`directory`:`file`}resolveEntry(e,t=!1){let n=j(e),r=n.split(`/`).filter(Boolean),i=[],a=new Set,o=0;if(r.length===0){let e=this.tree.get(`/`);return e?{path:`/`,entry:e}:void 0}for(;r.length>0;){let e=r.shift(),s=`/${[...i,e].join(`/`)}`,c=this.tree.get(s);if(!c)return;let l=r.length===0;if(c.isSymbolicLink&&!(t&&l)){if(a.has(s)||o++===40)throw Object.assign(Error(`ELOOP: too many symbolic links, '${n}'`),{code:`ELOOP`});a.add(s);let e=c.symlinkTarget??``;r=[...j(e.startsWith(`/`)?e:`${me(s)}/${e}`).split(`/`).filter(Boolean),...r],i=[];continue}if(!l&&!c.isDirectory)return;if(i.push(e),l)return{path:s,entry:c}}}ensureParentDirs(e){let t=me(e);t!==`/`&&(this.tree.has(t)||this.mkdir(t,!0,!0))}isPartial(e){return this.tree.get(j(e))?.partial===!0}hasPartialWithin(e){let t=j(e),n=t===`/`?`/`:`${t}/`;for(let[e,r]of this.tree)if(r.partial&&(e===t||e.startsWith(n)))return!0;return!1}commitWrite(e,t){this.writeFile(e,t);let n=j(e);for(this.initialContent.set(n,t);n!==`/`;){let e=this.tree.get(n);e&&(this.initialPaths.add(n),this.initialKind.set(n,this.entryKind(e))),n=me(n)}}readFile(e){this.touched=!0;let t=j(e),n=this.resolveEntry(t)?.entry;if(!n||n.isDirectory)throw M(t);if(n.truncated)throw he(t);return n.content}writeFile(e,t){this.touched=!0;let n=j(e);this.ensureParentDirs(n),this.tree.set(n,{content:t,isDirectory:!1}),this.tombstones.delete(n),this.removedDirs.delete(n)}exists(e){this.touched=!0;let t=j(e);return this.tree.has(t)}stat(e){this.touched=!0;let t=j(e),n=this.resolveEntry(t);if(!n)throw M(t);return this.toStat(n.entry)}lstat(e){this.touched=!0;let t=j(e),n=this.resolveEntry(t,!0);if(!n)throw M(t);return this.toStat(n.entry)}toStat(e){return{isFile:!e.isDirectory&&!e.isSymbolicLink,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink===!0,size:e.isDirectory?0:e.size??e.content.byteLength}}readdir(e){this.touched=!0;let t=j(e),n=this.resolveEntry(t);if(!n?.entry.isDirectory)throw M(t);let r=n.path===`/`?`/`:n.path+`/`,i=new Set;for(let e of this.tree.keys()){if(e===t||e===`/`||!e.startsWith(r))continue;let n=e.slice(r.length).split(`/`)[0];n&&i.add(n)}return Array.from(i)}mkdir(e,t,n=!1){this.touched=!0;let r=j(e);if(this.tree.has(r)){if(this.tree.get(r).isDirectory)return;throw Object.assign(Error(`EEXIST: file already exists, '${r}'`),{code:`EEXIST`})}let i=me(r);if(i!==`/`&&!this.tree.has(i)){if(!t)throw M(r);this.mkdir(i,!0,n)}this.tree.set(r,{content:new Uint8Array,isDirectory:!0,...n?{partial:!0}:{}}),this.tombstones.delete(r),this.removedDirs.delete(r)}rm(e,t){this.touched=!0;let n=j(e),r=this.tree.get(n);if(!r)throw M(n);if(r.isDirectory&&!r.isSymbolicLink){let e=n===`/`?`/`:n+`/`,r=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));if(r.length>0&&!t)throw Object.assign(Error(`ENOTEMPTY: directory not empty, '${n}'`),{code:`ENOTEMPTY`});for(let e of r)this.tree.delete(e),this.tombstones.add(e);t&&this.removedDirs.add(n)}this.tree.delete(n),this.tombstones.add(n)}copyFile(e,t){this.touched=!0;let n=j(e),r=this.tree.get(n);if(!r||r.isDirectory)throw M(n);if(r.truncated)throw he(n);let i=j(t);this.ensureParentDirs(i),this.tree.set(i,{content:r.content.slice(),isDirectory:!1}),this.tombstones.delete(i),this.removedDirs.delete(i)}rename(e,t){this.touched=!0;let n=j(e),r=this.tree.get(n);if(!r)throw M(n);let i=j(t);if(r.isDirectory){let e=n===`/`?`/`:n+`/`,t=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n);for(let e of t){let t=this.tree.get(e),r=i+e.slice(n.length);this.tree.set(r,t),this.tree.delete(e)}this.tombstones.add(n),this.removedDirs.add(n),this.tombstones.delete(i),this.removedDirs.delete(i);return}this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n),this.tombstones.add(n),this.tombstones.delete(i),this.removedDirs.delete(i)}unlink(e){this.touched=!0;let t=j(e),n=this.tree.get(t);if(!n)throw M(t);if(n.isDirectory&&!n.isSymbolicLink)throw Object.assign(Error(`EISDIR: illegal operation on a directory, unlink '${t}'`),{code:`EISDIR`});this.tree.delete(t),this.tombstones.add(t)}markRemoved(e,t=!1){this.touched=!0;let n=j(e);this.tombstones.add(n),t&&this.removedDirs.add(n)}isTombstoned(e){let t=j(e);if(this.tombstones.has(t))return!0;for(let e of this.removedDirs)if(t===e||t.startsWith(`${e}/`))return!0;return!1}mkdtemp(e){this.touched=!0;for(let t=0;t<100;t++){let t=`_${String(this.mkdtempCounter).padStart(6,`0`)}`;this.mkdtempCounter++;let n=j(e+t);if(!this.tree.has(n))return this.mkdir(n,!0),n}throw Error(`mkdtemp: failed to create unique directory after 100 attempts`)}getMutations(){let e=[],t=[],n=[];for(let[r,i]of this.tree.entries()){if(r===`/`)continue;if(!this.initialPaths.has(r)){e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}let a=this.initialKind.get(r);if(a!==void 0&&a!==this.entryKind(i)){n.push(r),e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}if(!i.isDirectory&&!i.isSymbolicLink){let e=this.initialContent.get(r);e&&!ge(e,i.content)&&t.push({path:r,content:i.content})}}for(let e of this.initialPaths)e!==`/`&&(this.tree.has(e)||n.push(e));return{created:e,modified:t,deleted:n}}};function ve(){return globalThis.Buffer}function ye(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t}function be(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return t}function xe(e,t){return Object.assign(Error(`EBADF: bad file descriptor, ${e} ${String(t)}`),{code:`EBADF`})}function Se(e){return e===`/dev/stdin`||e===`/dev/stdout`||e===`/dev/stderr`}function Ce(e){if(e===0||e===`/dev/stdin`)return 0;if(e===1||e===`/dev/stdout`)return 1;if(e===2||e===`/dev/stderr`)return 2}function we(e,t){let n=Ce(e);if(n===0)return!0;if(n!==void 0||typeof e==`number`)throw xe(t,e);return!1}function Te(e,t,n){let r=Ce(t);if(r===1)return e.writeStdout;if(r===2)return e.writeStderr;if(r!==void 0||typeof t==`number`)throw xe(n,t)}function Ee(e){return typeof e==`string`?e:be(We(e))}function De(e,t){if(t===`utf8`||t===`utf-8`)return new TextDecoder().decode(e);let n=ve();return n?n.from(e):e}function Oe(e){return e===null?null:typeof e==`string`?e:e?.encoding}function ke(){return{isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1,isCharacterDevice:()=>!0,size:0}}function Ae(e,t){if(!t)return;let n={readFile:e.readFile,readFileBinary:e.readFileBinary,writeFile:e.writeFile,writeFileBinary:e.writeFileBinary,appendFile:e.appendFile,access:e.access,exists:e.exists,stat:e.stat};e.readFile=async(e,r)=>{if(!we(e,`read`))return n.readFile(e,r);let i=Oe(r);if(i===null||i===`buffer`){let e=ve(),n=t.readStdinBytes();return e?e.from(n):n}return new TextDecoder().decode(t.readStdinBytes())},e.readFileBinary=async e=>we(e,`read`)?t.readStdinBytes():n.readFileBinary(e),e.writeFile=async(e,r)=>{let i=Te(t,e,`write`);return i?(i(Ee(r)),!0):n.writeFile(e,r)},e.writeFileBinary=async(e,r)=>{let i=Te(t,e,`write`);return i?(i(be(r)),!0):n.writeFileBinary(e,r)},e.appendFile=async(e,r)=>{let i=Te(t,e,`append`);if(!i)return n.appendFile(e,r);i(Ee(r))},e.access=async e=>{if(!Se(e))return n.access(e)},e.exists=async e=>Se(e)||n.exists(e),e.stat=async e=>Se(e)?{isFile:!0,isDirectory:!1,size:0}:n.stat(e)}function je(e,t,n){function r(e){if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}return e instanceof ArrayBuffer?new Uint8Array(e):new TextEncoder().encode(typeof e==`string`?e:String(e))}async function i(t,n){let r=Oe(n);if(r===null||r===`buffer`){let n=await e.call(`vfs`,`readFileBinary`,[t]),r=ve();return r?r.from(n instanceof Uint8Array?n:new Uint8Array(n)):n}return e.call(`vfs`,`readFile`,[t])}async function a(t,n){return typeof n==`string`?e.call(`vfs`,`writeFile`,[t,n]):e.call(`vfs`,`writeFileBinary`,[t,r(n)])}async function o(t,n){if(typeof n==`string`){await e.call(`vfs`,`appendFile`,[t,n]);return}await e.call(`vfs`,`appendFile`,[t,r(n)])}async function s(t,n,r){let i=await e.call(`vfs`,`stat`,[t]);if(i.isFile){let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r]);return}if(!i.isDirectory||!r?.recursive)throw Error(`cp: '${t}' is a directory (use {recursive: true})`);await l(n);let a=await e.call(`vfs`,`readDir`,[t]);for(let e of a)await s(`${t}/${e}`,`${n}/${e}`,r)}async function c(t,n){if(n?.force&&!await e.call(`vfs`,`exists`,[t]))return!0;if((await e.call(`vfs`,`stat`,[t])).isFile)return e.call(`vfs`,`rm`,[t]);if(!n?.recursive)throw Error(`rm: '${t}' is a directory (use {recursive: true})`);let r=await e.call(`vfs`,`readDir`,[t]);for(let e of r)await c(`${t}/${e}`,n);return e.call(`vfs`,`rm`,[t])}async function l(t){await e.call(`vfs`,`mkdir`,[t])}async function u(t){for(let n=0;n<5;n++){let n=`${t}${Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6)}`;if(!await e.call(`vfs`,`exists`,[n]))return await e.call(`vfs`,`mkdir`,[n]),n}throw Error(`mkdtemp: failed to create unique directory after 5 attempts`)}async function d(t,n){try{await e.call(`vfs`,`rename`,[t,n])}catch{let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r]),await e.call(`vfs`,`rm`,[t])}}async function f(t){if(!await e.call(`vfs`,`exists`,[t]))throw Object.assign(Error(`ENOENT: no such file or directory, access '${t}'`),{code:`ENOENT`})}let p={readFile:i,readFileBinary:t=>e.call(`vfs`,`readFileBinary`,[t]),writeFile:a,writeFileBinary:(t,n)=>e.call(`vfs`,`writeFileBinary`,[t,n]),appendFile:o,cp:s,rm:c,readDir:t=>e.call(`vfs`,`readDir`,[t]),readdir:t=>e.call(`vfs`,`readDir`,[t]),exists:t=>e.call(`vfs`,`exists`,[t]),stat:t=>e.call(`vfs`,`stat`,[t]),mkdir:(t,n)=>e.call(`vfs`,`mkdir`,[t]),mkdtemp:u,rename:d,access:f,unlink:t=>e.call(`vfs`,`rm`,[t]),rmdir:t=>e.call(`vfs`,`rm`,[t]),copyFile:async(t,n)=>{let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r])},fetchToFile:async(n,r)=>{let i=await t(n);if(!i.ok)throw Error(`fetch ${i.status} ${i.statusText}`);let a=new Uint8Array(await i.arrayBuffer());return await e.call(`vfs`,`writeFileBinary`,[r,a]),a.byteLength},promises:null};return Ae(p,n),A(p,Me,{promises:!0}),p.promises=se(p),ce(p),p}const Me={readFile:`fd`,readFileBinary:`fd`,writeFile:`fd`,writeFileBinary:`fd`,appendFile:`fd`,cp:`pair`,rm:`path`,readDir:`path`,readdir:`path`,exists:`path`,stat:`path`,mkdir:`path`,mkdtemp:`path`,rename:`pair`,access:`path`,unlink:`path`,rmdir:`path`,copyFile:`pair`,fetchToFile:`second`},Ne={readFileSync:`fd`,writeFileSync:`fd`,appendFileSync:`fd`,truncateSync:`path`,existsSync:`path`,accessSync:`path`,mkdirSync:`path`,statSync:`path`,lstatSync:`path`,realpathSync:`path`,readdirSync:`path`,copyFileSync:`pair`,cpSync:`pair`,chmodSync:`path`,utimesSync:`path`,mkdtempSync:`path`,rmSync:`path`,rmdirSync:`path`,unlinkSync:`path`,renameSync:`pair`};function N(e,t,n=``){return Object.assign(Error(`${e}: sync-fs, ${n?`${n} `:``}'${t}'`),{code:e})}function Pe(e,t,n,r={},i){let a=r.recursive===!0;try{return r.requireFile?e.unlink(n):e.rm(n,a),i?.(n),!0}catch(e){if(e?.code!==`ENOENT`)throw e}let o=t;if(!o?.rm||e.isTombstoned(n))return!1;try{if(!o.exists(n))return!1}catch{return!1}return o.rm(n),e.markRemoved(n,a),!0}function Fe(e,t,n){let r=t;if(!(!r?.rename||!r.rmdir||!r.rm||!e.hasPartialWithin(n)))return r}function Ie(e,t,n){b(e,t);try{n()}finally{e.invalidate()}}function Le(e){let{syncFs:t,bridge:n,resolve:r,existsResolved:i,lstatResolved:a,statResolved:o,readBytes:s,writeThrough:c,persistDelete:l}=e,u=(e,r)=>{let i=r?.requireFile?void 0:Fe(t,n,e);return i?(Ie(t,i,()=>r?.recursive?i.rm(e):i.rmdir(e)),!0):Pe(t,n,e,r,l)};return{rmSync(e,t){let n=r(e);if(!(t?.force&&!i(n))&&!u(n,{recursive:t?.recursive===!0})&&!t?.force)throw N(`ENOENT`,n,`rm`)},rmdirSync(e,t){let n=r(e);if(i(n)&&!a(n).isDirectory)throw N(`ENOTDIR`,n,`rmdir`);if(!u(n,{recursive:t?.recursive===!0}))throw N(`ENOENT`,n,`rmdir`)},unlinkSync(e){let t=r(e);if(!u(t,{requireFile:!0}))throw N(`ENOENT`,t,`unlink`)},renameSync(e,i){let a=r(e),l=r(i),d=Fe(t,n,a);if(d){Ie(t,d,()=>d.rename(a,l));return}try{t.rename(a,l);return}catch(e){if(e?.code!==`ENOENT`)throw e}if(!n||t.isTombstoned(a))throw N(`ENOENT`,a,`rename`);if(o(a).isDirectory)throw N(`EISDIR`,a,`rename`);if(c(l,s(a)),!u(a,{requireFile:!0}))throw N(`ENOENT`,a,`rename`)}}}function Re(e,t){if(!t)return;let n={readFileSync:e.readFileSync,writeFileSync:e.writeFileSync,appendFileSync:e.appendFileSync,existsSync:e.existsSync,accessSync:e.accessSync,statSync:e.statSync,lstatSync:e.lstatSync};e.readFileSync=(e,r)=>we(e,`read`)?De(t.readStdinBytes(),Oe(r)):n.readFileSync(e,r),e.writeFileSync=(e,r)=>{let i=Te(t,e,`write`);i?i(Ee(r)):n.writeFileSync(e,r)},e.appendFileSync=(e,r)=>{let i=Te(t,e,`append`);i?i(Ee(r)):n.appendFileSync(e,r)},e.existsSync=e=>Se(e)||n.existsSync(e),e.accessSync=e=>{Se(e)||n.accessSync(e)},e.statSync=e=>Se(e)?ke():n.statSync(e),e.lstatSync=e=>Se(e)?ke():n.lstatSync(e),Object.assign(e,pe(t))}function ze(e,t,n,r){let i=t=>e===`/`?`/${t}`:`${e}/${t}`,a=new Set(n);for(let e of t)a.add(e);for(let e of a)r(i(e))&&a.delete(e);return[...a]}function Be(e,t){if(e instanceof Date)return e.getTime();if(typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e)))return Number(e)*1e3;if(typeof e==`number`){if(!Number.isFinite(e))throw Object.assign(TypeError(`The "${t}" argument must be of type number, string or Date`),{code:`ERR_INVALID_ARG_TYPE`});return e<0?Date.now():e*1e3}throw Object.assign(TypeError(`The "${t}" argument must be of type number, string or Date`),{code:`ERR_INVALID_ARG_TYPE`})}function Ve(e,t,n,r,i){let a=e?.utimes;if(!(!e||typeof a!=`function`||t.isTombstoned(n)))try{a.call(e,n,r,i)}catch(e){let r=e?.code;if(r===`ENOSYS`||r===`ENOENT`&&t.exists(n))return;throw e}}function He(e,t,n,r){return{chmodSync(n){let r=e(n);if(!t(r))throw N(`ENOENT`,r,`chmod`)},utimesSync(i,a,o){let s=Be(a,`atime`),c=Be(o,`mtime`),l=e(i);if(!t(l))throw N(`ENOENT`,l,`utime`);Ve(n,r,l,s,c)}}}function Ue(e,t,n){let r=t=>e.isTombstoned(t);try{let i=e.readdir(n);if(!t||!e.isPartial(n)||r(n))return i;try{return ze(n,i,t.readdir(n),r)}catch(e){if(e?.code===`ENOENT`)return i;throw e}}catch(e){let i=e?.code;if(!t||r(n)||i!==`ENOENT`)throw e;return ze(n,[],t.readdir(n),r)}}function We(e){if(typeof e==`string`)return new TextEncoder().encode(e);if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}return new TextEncoder().encode(String(e))}function Ge(e,t,n,r,i){t?(t.writeFile(r,i),e.commitWrite(r,i)):(e.writeFile(r,i),n?.write?.(r,i))}function Ke(e,t,n,r,i){function a(e){return j(e.startsWith(`/`)?e:t+(t.endsWith(`/`)?``:`/`)+e)}function o(t){try{return e.readFile(t)}catch(r){let i=r?.code;if(n&&!e.isTombstoned(t)&&(i===`ENOENT`||i===`ENOSYNC`))return n.readFile(t);throw r}}let s=(t,r)=>Ge(e,n,i,t,r);function c(t){if(e.exists(t))return!0;if(!n||e.isTombstoned(t))return!1;try{return n.exists(t)}catch{return!1}}function l(t){try{return e.stat(t)}catch(r){let i=r?.code;if(!n||e.isTombstoned(t)||i!==`ENOENT`)throw r;return n.stat(t)}}function u(t){try{return e.lstat(t)}catch(r){let i=r?.code;if(!n||e.isTombstoned(t)||i!==`ENOENT`)throw r;return n.lstat(t)}}let d=e=>({isFile:()=>e.isFile,isDirectory:()=>e.isDirectory,isSymbolicLink:()=>e.isSymbolicLink===!0,isCharacterDevice:()=>!1,size:e.size}),f=(e,t)=>e===`/`?`/${t}`:`${e}/${t}`;function p(t,r){if(!l(t).isDirectory){s(r,o(t));return}e.mkdir(r,!0);for(let i of Ue(e,n,t))p(f(t,i),f(r,i))}let m={...Le({syncFs:e,bridge:n,persistDelete:i?.delete,resolve:a,existsResolved:c,statResolved:l,lstatResolved:u,readBytes:o,writeThrough:s}),readFileSync(e,t){return De(o(a(e)),Oe(t))},writeFileSync(e,t){s(a(e),We(t))},appendFileSync(e,t){let n=a(e),r=new Uint8Array;try{r=o(n)}catch(e){if(e?.code!==`ENOENT`)throw e}let i=We(t),c=new Uint8Array(r.byteLength+i.byteLength);c.set(r),c.set(i,r.byteLength),s(n,c)},truncateSync(e,t=0){let n=a(e),r=o(n),i=new Uint8Array(t);i.set(r.subarray(0,Math.min(t,r.byteLength))),s(n,i)},existsSync(e){return c(a(e))},accessSync(e){let t=a(e);if(!c(t))throw N(`ENOENT`,t,`access`)},mkdirSync(t,n){e.mkdir(a(t),n?.recursive)},statSync:e=>d(l(a(e))),lstatSync:e=>d(u(a(e))),realpathSync(e){let t=a(e);if(!c(t))throw N(`ENOENT`,t,`realpath`);return t},readdirSync(t){return Ue(e,n,a(t))},copyFileSync(e,t){s(a(t),o(a(e)))},cpSync(e,t){p(a(e),a(t))},...He(a,c,n,e),mkdtempSync(t){return e.mkdtemp(a(t))}},h=Object.assign(m,fe());Re(h,r),A(h,Ne);let g=h.existsSync;return h.existsSync=e=>{try{return g(e)}catch{return!1}},h}var qe=class{_events=new Map;on(e,t){let n=this._events.get(e);return n?n.push(t):this._events.set(e,[t]),this}addListener(e,t){return this.on(e,t)}off(e,t){let n=this._events.get(e);if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&this._events.delete(e)}return this}removeListener(e,t){return this.off(e,t)}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};return this.on(e,n)}emit(e,...t){let n=this._events.get(e);if(!n||n.length===0)return!1;for(let e of[...n])e(...t);return!0}removeAllListeners(e){return e===void 0?this._events.clear():this._events.delete(e),this}listenerCount(e){return this._events.get(e)?.length??0}listeners(e){return[...this._events.get(e)??[]]}};const Je=Object.assign(qe,{EventEmitter:qe,default:qe});function Ye(e){let t=e=>{if(typeof e==`string`)return e;if(e instanceof Error)return e.message;if(e==null)return String(e);try{return JSON.stringify(e)}catch{return String(e)}},n=(e,t,n)=>t===void 0?`${e(`Error:`)} ${n}\n`:t===``?`${e(n)}\n`:`${e(`${t}:`)} ${n}\n`,r=(t,n)=>t===void 0?`${e.color.yellow(`Warning:`)} ${n}\n`:t===``?`${e.color.yellow(n)}\n`:`${e.color.yellow(`${t}:`)} ${n}\n`;return{die(r,i){let a=typeof i==`number`?i:i?.exitCode??1,o=typeof i==`object`&&i&&`prefix`in i?i.prefix:void 0,s=t(r);throw e.writeStderr(n(e.color.red,o,s)),e.exit(a),Error(`unreachable`)},out(t){if(typeof t==`string`){e.writeStdout(t.endsWith(`
1
+ import{t as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./__vite-browser-external-5eBdwsFd.js";import{r as n,t as r}from"./multipart-form-data-DopbgwRR.js";import{n as i}from"./slicc-version-BHbvdY0F.js";import{t as a}from"./src-CUSndb9K.js";import{t as o}from"./buffer-B5d1xHaH.js";import"./buffer-polyfill-BwLbCySD.js";import{i as s,n as c,r as l,t as u}from"./node-builtins-CDetdLPH.js";import{c as d,n as f,o as p,t as m}from"./require-guards-dUdxJmkR.js";import{t as h}from"./tmpdir-env-ate4iNcK.js";import{_ as g}from"./kernel-worker-C8b5lZTP.js";import{a as _,i as v,n as y,o as b,r as x,t as S}from"./realm-sync-transport-Ble3Euu9.js";import{t as C}from"./realm-browser-fetch-V3uggGbM.js";function w(e){let t=typeof e==`string`?e:e.href;if(!t.startsWith(`file:`))throw TypeError(`fileURLToPath: not a file URL`);let n=new URL(t);if(n.hostname!==``&&n.hostname!==`localhost`)throw Object.assign(TypeError(`File URL host must be "localhost" or empty on posix`),{code:`ERR_INVALID_FILE_URL_HOST`});if(/%2f/i.test(n.pathname))throw Object.assign(TypeError(`File URL path must not include encoded / characters`),{code:`ERR_INVALID_FILE_URL_PATH`});return decodeURIComponent(n.pathname)}function T(e){let t=e.split(`/`).map(e=>encodeURIComponent(e)).join(`/`);return new URL(`file://${t}`)}const E={URL:globalThis.URL,URLSearchParams:globalThis.URLSearchParams,fileURLToPath:w,pathToFileURL:T};function D(e,t){return Object.assign(TypeError(`The "${e}" argument must be of type string or an instance of Buffer or URL. Received ${t===null?`null`:typeof t}`),{code:`ERR_INVALID_ARG_TYPE`})}function O(e){return typeof e==`object`&&!!e&&typeof e.href==`string`&&typeof e.protocol==`string`}function k(e,t=`path`){if(typeof e==`string`)return e;if(O(e)){if(e.protocol!==`file:`)throw Object.assign(TypeError(`The URL must be of scheme file`),{code:`ERR_INVALID_URL_SCHEME`});return E.fileURLToPath(e.href)}if(e instanceof Uint8Array)return new TextDecoder().decode(e);throw D(t,e)}function ee(e,t){let n=[...t];switch(e){case`path`:n[0]=k(n[0]);break;case`fd`:typeof n[0]!=`number`&&(n[0]=k(n[0]));break;case`pair`:n[0]=k(n[0],`src`),n[1]=k(n[1],`dest`);break;case`second`:n[1]=k(n[1])}return n}function A(e,t,n={}){let r=e;for(let i of Object.keys(t)){let a=t[i],o=r[i];!a||typeof o!=`function`||(r[i]=((...t)=>{let r;try{r=ee(a,t)}catch(e){if(n.promises)return Promise.reject(e);throw e}return o.apply(e,r)}))}}function te(e){let t=!!e.isDirectory,n=e.mtimeMs??0;return{isFile:()=>!!e.isFile,isDirectory:()=>t,isSymbolicLink:()=>!!e.isSymbolicLink,isBlockDevice:()=>!1,isCharacterDevice:()=>!1,isFIFO:()=>!1,isSocket:()=>!1,size:e.size??0,mode:e.mode??(t?16877:33188),mtimeMs:n,mtime:new Date(n)}}const ne=new Set([`stat`,`lstat`]);function re(e){if(e.length===0)return e;if(e.length===1||e[1]===void 0)return[e[0],null];let t=e[1];return typeof t==`object`&&t&&!ArrayBuffer.isView(t)&&t.encoding===void 0?[e[0],{...t,encoding:null}]:e}function ie(e){if(e instanceof Error&&e.code===void 0){let t=/^(E[A-Z]+)\b/.exec(e.message)?.[1];t&&Object.assign(e,{code:t})}return e}function ae(e,t){return ne.has(e)?te(t):t}function oe(e,t,n,r){let i=e===`readFile`?re(r):r;return t.apply(n,i)}function se(e){let t={};for(let[n,r]of Object.entries(e))n!==`promises`&&(t[n]=typeof r==`function`?async(...t)=>{try{return ae(n,await oe(n,r,e,t))}catch(e){throw ie(e)}}:r);return t}function ce(e){let t=e;for(let[e,n]of Object.entries(t))e!==`promises`&&typeof n==`function`&&(t[e]=function(...t){let r=t[t.length-1];if(typeof r!=`function`)return n.apply(this,t);t.pop();let i;try{i=Promise.resolve(oe(e,n,this,t))}catch(e){i=Promise.reject(e)}i.then(t=>e===`exists`?r(t):r(null,ae(e,t)),t=>r(e!==`exists`&&ie(t)))})}function le(e,t){return Object.assign(Error(`EBADF: bad file descriptor, ${e} ${String(t)}`),{code:`EBADF`})}function ue(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function de(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return t}function fe(){return{readSync:e=>{throw le(`read`,e)},writeSync:e=>{throw le(`write`,e)}}}function pe(e){let t=0;return{readSync(n,r,i,a){if(n!==0)throw le(`read`,n);let o=ue(r),s=typeof i==`object`&&i?i:{offset:i,length:a},c=s.offset??0,l=s.length??o.length-c,u=e.readStdinBytes(),d=Math.max(0,Math.min(l,u.length-t));return o.set(u.subarray(t,t+d),c),t+=d,d},writeSync(t,n,r,i){let a=t===1?e.writeStdout:t===2?e.writeStderr:void 0;if(!a)throw le(`write`,t);if(typeof n==`string`)return a(n),new TextEncoder().encode(n).length;if(!ArrayBuffer.isView(n))throw TypeError(`writeSync: data must be a string or buffer`);let o=ue(n),s=typeof r==`number`?r:0,c=o.subarray(s,i===void 0?void 0:s+i);return a(de(c)),c.length}}}function j(e){if(!e||e===`/`)return`/`;e.startsWith(`/`)||(e=`/`+e);let t=e.split(`/`),n=[];for(let e of t)e!==``&&e!==`.`&&(e===`..`?n.pop():n.push(e));return`/`+n.join(`/`)}function me(e){let t=j(e);if(t===`/`)return`/`;let n=t.lastIndexOf(`/`);return n===0?`/`:t.slice(0,n)}function M(e){return Object.assign(Error(`ENOENT: no such file or directory, '${e}'`),{code:`ENOENT`})}function he(e){return Object.assign(Error(`ENOSYNC: file too large for sync access, '${e}' — use async readFile() instead`),{code:`ENOSYNC`})}function ge(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var _e=class{tree=new Map;initialPaths=new Set;initialContent=new Map;initialKind=new Map;mkdtempCounter=0;tombstones=new Set;removedDirs=new Set;touched=!1;constructor(e){this.loadSnapshot(e)}loadSnapshot(e){this.tree=new Map,this.tombstones=new Set,this.removedDirs=new Set,this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map,this.tree.set(`/`,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(`/`),this.initialKind.set(`/`,`directory`);for(let t of e.entries){let e=j(t.path);this.tree.set(e,{content:t.content,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink,symlinkTarget:t.symlinkTarget,truncated:t.truncated,size:t.size,...t.partial?{partial:!0}:{}}),this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}for(let t of e.entries){let e=me(j(t.path));for(;e!==`/`&&!this.tree.has(e);)this.tree.set(e,{content:new Uint8Array,isDirectory:!0}),this.initialPaths.add(e),this.initialKind.set(e,`directory`),e=me(e)}}wasUsed(){return this.touched}applySnapshot(e){this.loadSnapshot(e)}applySnapshotPreservingMutations(e){let t=this.getMutations();this.loadSnapshot(e);for(let e of t.deleted){if(this.tree.get(e)?.isDirectory){let t=e===`/`?`/`:e+`/`;for(let n of Array.from(this.tree.keys()))n!==e&&n.startsWith(t)&&this.tree.delete(n)}this.tree.delete(e)}for(let e of t.created)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink,symlinkTarget:e.symlinkTarget});for(let e of t.modified)this.ensureParentDirs(e.path),this.tree.set(e.path,{content:e.content,isDirectory:!1})}invalidate(){this.loadSnapshot({entries:[]})}resetBaseline(){this.initialPaths=new Set,this.initialContent=new Map,this.initialKind=new Map;for(let[e,t]of this.tree.entries())this.initialPaths.add(e),this.initialKind.set(e,this.entryKind(t)),!t.isDirectory&&!t.isSymbolicLink&&this.initialContent.set(e,t.content)}entryKind(e){return e.isSymbolicLink?`symlink`:e.isDirectory?`directory`:`file`}resolveEntry(e,t=!1){let n=j(e),r=n.split(`/`).filter(Boolean),i=[],a=new Set,o=0;if(r.length===0){let e=this.tree.get(`/`);return e?{path:`/`,entry:e}:void 0}for(;r.length>0;){let e=r.shift(),s=`/${[...i,e].join(`/`)}`,c=this.tree.get(s);if(!c)return;let l=r.length===0;if(c.isSymbolicLink&&!(t&&l)){if(a.has(s)||o++===40)throw Object.assign(Error(`ELOOP: too many symbolic links, '${n}'`),{code:`ELOOP`});a.add(s);let e=c.symlinkTarget??``;r=[...j(e.startsWith(`/`)?e:`${me(s)}/${e}`).split(`/`).filter(Boolean),...r],i=[];continue}if(!l&&!c.isDirectory)return;if(i.push(e),l)return{path:s,entry:c}}}ensureParentDirs(e){let t=me(e);t!==`/`&&(this.tree.has(t)||this.mkdir(t,!0,!0))}isPartial(e){return this.tree.get(j(e))?.partial===!0}hasPartialWithin(e){let t=j(e),n=t===`/`?`/`:`${t}/`;for(let[e,r]of this.tree)if(r.partial&&(e===t||e.startsWith(n)))return!0;return!1}commitWrite(e,t){this.writeFile(e,t);let n=j(e);for(this.initialContent.set(n,t);n!==`/`;){let e=this.tree.get(n);e&&(this.initialPaths.add(n),this.initialKind.set(n,this.entryKind(e))),n=me(n)}}readFile(e){this.touched=!0;let t=j(e),n=this.resolveEntry(t)?.entry;if(!n||n.isDirectory)throw M(t);if(n.truncated)throw he(t);return n.content}writeFile(e,t){this.touched=!0;let n=j(e);this.ensureParentDirs(n),this.tree.set(n,{content:t,isDirectory:!1}),this.tombstones.delete(n),this.removedDirs.delete(n)}exists(e){this.touched=!0;let t=j(e);return this.tree.has(t)}stat(e){this.touched=!0;let t=j(e),n=this.resolveEntry(t);if(!n)throw M(t);return this.toStat(n.entry)}lstat(e){this.touched=!0;let t=j(e),n=this.resolveEntry(t,!0);if(!n)throw M(t);return this.toStat(n.entry)}toStat(e){return{isFile:!e.isDirectory&&!e.isSymbolicLink,isDirectory:e.isDirectory,isSymbolicLink:e.isSymbolicLink===!0,size:e.isDirectory?0:e.size??e.content.byteLength}}readdir(e){this.touched=!0;let t=j(e),n=this.resolveEntry(t);if(!n?.entry.isDirectory)throw M(t);let r=n.path===`/`?`/`:n.path+`/`,i=new Set;for(let e of this.tree.keys()){if(e===t||e===`/`||!e.startsWith(r))continue;let n=e.slice(r.length).split(`/`)[0];n&&i.add(n)}return Array.from(i)}mkdir(e,t,n=!1){this.touched=!0;let r=j(e);if(this.tree.has(r)){if(this.tree.get(r).isDirectory)return;throw Object.assign(Error(`EEXIST: file already exists, '${r}'`),{code:`EEXIST`})}let i=me(r);if(i!==`/`&&!this.tree.has(i)){if(!t)throw M(r);this.mkdir(i,!0,n)}this.tree.set(r,{content:new Uint8Array,isDirectory:!0,...n?{partial:!0}:{}}),this.tombstones.delete(r),this.removedDirs.delete(r)}rm(e,t){this.touched=!0;let n=j(e),r=this.tree.get(n);if(!r)throw M(n);if(r.isDirectory&&!r.isSymbolicLink){let e=n===`/`?`/`:n+`/`,r=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));if(r.length>0&&!t)throw Object.assign(Error(`ENOTEMPTY: directory not empty, '${n}'`),{code:`ENOTEMPTY`});for(let e of r)this.tree.delete(e),this.tombstones.add(e);t&&this.removedDirs.add(n)}this.tree.delete(n),this.tombstones.add(n)}copyFile(e,t){this.touched=!0;let n=j(e),r=this.tree.get(n);if(!r||r.isDirectory)throw M(n);if(r.truncated)throw he(n);let i=j(t);this.ensureParentDirs(i),this.tree.set(i,{content:r.content.slice(),isDirectory:!1}),this.tombstones.delete(i),this.removedDirs.delete(i)}rename(e,t){this.touched=!0;let n=j(e),r=this.tree.get(n);if(!r)throw M(n);let i=j(t);if(r.isDirectory){let e=n===`/`?`/`:n+`/`,t=Array.from(this.tree.keys()).filter(t=>t!==n&&t.startsWith(e));this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n);for(let e of t){let t=this.tree.get(e),r=i+e.slice(n.length);this.tree.set(r,t),this.tree.delete(e)}this.tombstones.add(n),this.removedDirs.add(n),this.tombstones.delete(i),this.removedDirs.delete(i);return}this.ensureParentDirs(i),this.tree.set(i,r),this.tree.delete(n),this.tombstones.add(n),this.tombstones.delete(i),this.removedDirs.delete(i)}unlink(e){this.touched=!0;let t=j(e),n=this.tree.get(t);if(!n)throw M(t);if(n.isDirectory&&!n.isSymbolicLink)throw Object.assign(Error(`EISDIR: illegal operation on a directory, unlink '${t}'`),{code:`EISDIR`});this.tree.delete(t),this.tombstones.add(t)}markRemoved(e,t=!1){this.touched=!0;let n=j(e);this.tombstones.add(n),t&&this.removedDirs.add(n)}isTombstoned(e){let t=j(e);if(this.tombstones.has(t))return!0;for(let e of this.removedDirs)if(t===e||t.startsWith(`${e}/`))return!0;return!1}mkdtemp(e){this.touched=!0;for(let t=0;t<100;t++){let t=`_${String(this.mkdtempCounter).padStart(6,`0`)}`;this.mkdtempCounter++;let n=j(e+t);if(!this.tree.has(n))return this.mkdir(n,!0),n}throw Error(`mkdtemp: failed to create unique directory after 100 attempts`)}getMutations(){let e=[],t=[],n=[];for(let[r,i]of this.tree.entries()){if(r===`/`)continue;if(!this.initialPaths.has(r)){e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}let a=this.initialKind.get(r);if(a!==void 0&&a!==this.entryKind(i)){n.push(r),e.push({path:r,content:i.content,isDirectory:i.isDirectory,isSymbolicLink:i.isSymbolicLink,symlinkTarget:i.symlinkTarget});continue}if(!i.isDirectory&&!i.isSymbolicLink){let e=this.initialContent.get(r);e&&!ge(e,i.content)&&t.push({path:r,content:i.content})}}for(let e of this.initialPaths)e!==`/`&&(this.tree.has(e)||n.push(e));return{created:e,modified:t,deleted:n}}};function ve(){return globalThis.Buffer}function ye(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return t}function be(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return t}function xe(e,t){return Object.assign(Error(`EBADF: bad file descriptor, ${e} ${String(t)}`),{code:`EBADF`})}function Se(e){return e===`/dev/stdin`||e===`/dev/stdout`||e===`/dev/stderr`}function Ce(e){if(e===0||e===`/dev/stdin`)return 0;if(e===1||e===`/dev/stdout`)return 1;if(e===2||e===`/dev/stderr`)return 2}function we(e,t){let n=Ce(e);if(n===0)return!0;if(n!==void 0||typeof e==`number`)throw xe(t,e);return!1}function Te(e,t,n){let r=Ce(t);if(r===1)return e.writeStdout;if(r===2)return e.writeStderr;if(r!==void 0||typeof t==`number`)throw xe(n,t)}function Ee(e){return typeof e==`string`?e:be(We(e))}function De(e,t){if(t===`utf8`||t===`utf-8`)return new TextDecoder().decode(e);let n=ve();return n?n.from(e):e}function Oe(e){return e===null?null:typeof e==`string`?e:e?.encoding}function ke(){return{isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1,isCharacterDevice:()=>!0,size:0}}function Ae(e,t){if(!t)return;let n={readFile:e.readFile,readFileBinary:e.readFileBinary,writeFile:e.writeFile,writeFileBinary:e.writeFileBinary,appendFile:e.appendFile,access:e.access,exists:e.exists,stat:e.stat};e.readFile=async(e,r)=>{if(!we(e,`read`))return n.readFile(e,r);let i=Oe(r);if(i===null||i===`buffer`){let e=ve(),n=t.readStdinBytes();return e?e.from(n):n}return new TextDecoder().decode(t.readStdinBytes())},e.readFileBinary=async e=>we(e,`read`)?t.readStdinBytes():n.readFileBinary(e),e.writeFile=async(e,r)=>{let i=Te(t,e,`write`);return i?(i(Ee(r)),!0):n.writeFile(e,r)},e.writeFileBinary=async(e,r)=>{let i=Te(t,e,`write`);return i?(i(be(r)),!0):n.writeFileBinary(e,r)},e.appendFile=async(e,r)=>{let i=Te(t,e,`append`);if(!i)return n.appendFile(e,r);i(Ee(r))},e.access=async e=>{if(!Se(e))return n.access(e)},e.exists=async e=>Se(e)||n.exists(e),e.stat=async e=>Se(e)?{isFile:!0,isDirectory:!1,size:0}:n.stat(e)}function je(e,t,n){function r(e){if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}return e instanceof ArrayBuffer?new Uint8Array(e):new TextEncoder().encode(typeof e==`string`?e:String(e))}async function i(t,n){let r=Oe(n);if(r===null||r===`buffer`){let n=await e.call(`vfs`,`readFileBinary`,[t]),r=ve();return r?r.from(n instanceof Uint8Array?n:new Uint8Array(n)):n}return e.call(`vfs`,`readFile`,[t])}async function a(t,n){return typeof n==`string`?e.call(`vfs`,`writeFile`,[t,n]):e.call(`vfs`,`writeFileBinary`,[t,r(n)])}async function o(t,n){if(typeof n==`string`){await e.call(`vfs`,`appendFile`,[t,n]);return}await e.call(`vfs`,`appendFile`,[t,r(n)])}async function s(t,n,r){let i=await e.call(`vfs`,`stat`,[t]);if(i.isFile){let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r]);return}if(!i.isDirectory||!r?.recursive)throw Error(`cp: '${t}' is a directory (use {recursive: true})`);await l(n);let a=await e.call(`vfs`,`readDir`,[t]);for(let e of a)await s(`${t}/${e}`,`${n}/${e}`,r)}async function c(t,n){if(n?.force&&!await e.call(`vfs`,`exists`,[t]))return!0;if((await e.call(`vfs`,`stat`,[t])).isFile)return e.call(`vfs`,`rm`,[t]);if(!n?.recursive)throw Error(`rm: '${t}' is a directory (use {recursive: true})`);let r=await e.call(`vfs`,`readDir`,[t]);for(let e of r)await c(`${t}/${e}`,n);return e.call(`vfs`,`rm`,[t])}async function l(t){await e.call(`vfs`,`mkdir`,[t])}async function u(t){for(let n=0;n<5;n++){let n=`${t}${Math.random().toString(36).slice(2,10)+Math.random().toString(36).slice(2,6)}`;if(!await e.call(`vfs`,`exists`,[n]))return await e.call(`vfs`,`mkdir`,[n]),n}throw Error(`mkdtemp: failed to create unique directory after 5 attempts`)}async function d(t,n){try{await e.call(`vfs`,`rename`,[t,n])}catch{let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r]),await e.call(`vfs`,`rm`,[t])}}async function f(t){if(!await e.call(`vfs`,`exists`,[t]))throw Object.assign(Error(`ENOENT: no such file or directory, access '${t}'`),{code:`ENOENT`})}let p={readFile:i,readFileBinary:t=>e.call(`vfs`,`readFileBinary`,[t]),writeFile:a,writeFileBinary:(t,n)=>e.call(`vfs`,`writeFileBinary`,[t,n]),appendFile:o,cp:s,rm:c,readDir:t=>e.call(`vfs`,`readDir`,[t]),readdir:t=>e.call(`vfs`,`readDir`,[t]),exists:t=>e.call(`vfs`,`exists`,[t]),stat:t=>e.call(`vfs`,`stat`,[t]),mkdir:(t,n)=>e.call(`vfs`,`mkdir`,[t]),mkdtemp:u,rename:d,access:f,unlink:t=>e.call(`vfs`,`rm`,[t]),rmdir:t=>e.call(`vfs`,`rm`,[t]),copyFile:async(t,n)=>{let r=await e.call(`vfs`,`readFileBinary`,[t]);await e.call(`vfs`,`writeFileBinary`,[n,r])},fetchToFile:async(n,r)=>{let i=await t(n);if(!i.ok)throw Error(`fetch ${i.status} ${i.statusText}`);let a=new Uint8Array(await i.arrayBuffer());return await e.call(`vfs`,`writeFileBinary`,[r,a]),a.byteLength},promises:null};return Ae(p,n),A(p,Me,{promises:!0}),p.promises=se(p),ce(p),p}const Me={readFile:`fd`,readFileBinary:`fd`,writeFile:`fd`,writeFileBinary:`fd`,appendFile:`fd`,cp:`pair`,rm:`path`,readDir:`path`,readdir:`path`,exists:`path`,stat:`path`,mkdir:`path`,mkdtemp:`path`,rename:`pair`,access:`path`,unlink:`path`,rmdir:`path`,copyFile:`pair`,fetchToFile:`second`},Ne={readFileSync:`fd`,writeFileSync:`fd`,appendFileSync:`fd`,truncateSync:`path`,existsSync:`path`,accessSync:`path`,mkdirSync:`path`,statSync:`path`,lstatSync:`path`,realpathSync:`path`,readdirSync:`path`,copyFileSync:`pair`,cpSync:`pair`,chmodSync:`path`,utimesSync:`path`,mkdtempSync:`path`,rmSync:`path`,rmdirSync:`path`,unlinkSync:`path`,renameSync:`pair`};function N(e,t,n=``){return Object.assign(Error(`${e}: sync-fs, ${n?`${n} `:``}'${t}'`),{code:e})}function Pe(e,t,n,r={},i){let a=r.recursive===!0;try{return r.requireFile?e.unlink(n):e.rm(n,a),i?.(n),!0}catch(e){if(e?.code!==`ENOENT`)throw e}let o=t;if(!o?.rm||e.isTombstoned(n))return!1;try{if(!o.exists(n))return!1}catch{return!1}return o.rm(n),e.markRemoved(n,a),!0}function Fe(e,t,n){let r=t;if(!(!r?.rename||!r.rmdir||!r.rm||!e.hasPartialWithin(n)))return r}function Ie(e,t,n){b(e,t);try{n()}finally{e.invalidate()}}function Le(e){let{syncFs:t,bridge:n,resolve:r,existsResolved:i,lstatResolved:a,statResolved:o,readBytes:s,writeThrough:c,persistDelete:l}=e,u=(e,r)=>{let i=r?.requireFile?void 0:Fe(t,n,e);return i?(Ie(t,i,()=>r?.recursive?i.rm(e):i.rmdir(e)),!0):Pe(t,n,e,r,l)};return{rmSync(e,t){let n=r(e);if(!(t?.force&&!i(n))&&!u(n,{recursive:t?.recursive===!0})&&!t?.force)throw N(`ENOENT`,n,`rm`)},rmdirSync(e,t){let n=r(e);if(i(n)&&!a(n).isDirectory)throw N(`ENOTDIR`,n,`rmdir`);if(!u(n,{recursive:t?.recursive===!0}))throw N(`ENOENT`,n,`rmdir`)},unlinkSync(e){let t=r(e);if(!u(t,{requireFile:!0}))throw N(`ENOENT`,t,`unlink`)},renameSync(e,i){let a=r(e),l=r(i),d=Fe(t,n,a);if(d){Ie(t,d,()=>d.rename(a,l));return}try{t.rename(a,l);return}catch(e){if(e?.code!==`ENOENT`)throw e}if(!n||t.isTombstoned(a))throw N(`ENOENT`,a,`rename`);if(o(a).isDirectory)throw N(`EISDIR`,a,`rename`);if(c(l,s(a)),!u(a,{requireFile:!0}))throw N(`ENOENT`,a,`rename`)}}}function Re(e,t){if(!t)return;let n={readFileSync:e.readFileSync,writeFileSync:e.writeFileSync,appendFileSync:e.appendFileSync,existsSync:e.existsSync,accessSync:e.accessSync,statSync:e.statSync,lstatSync:e.lstatSync};e.readFileSync=(e,r)=>we(e,`read`)?De(t.readStdinBytes(),Oe(r)):n.readFileSync(e,r),e.writeFileSync=(e,r)=>{let i=Te(t,e,`write`);i?i(Ee(r)):n.writeFileSync(e,r)},e.appendFileSync=(e,r)=>{let i=Te(t,e,`append`);i?i(Ee(r)):n.appendFileSync(e,r)},e.existsSync=e=>Se(e)||n.existsSync(e),e.accessSync=e=>{Se(e)||n.accessSync(e)},e.statSync=e=>Se(e)?ke():n.statSync(e),e.lstatSync=e=>Se(e)?ke():n.lstatSync(e),Object.assign(e,pe(t))}function ze(e,t,n,r){let i=t=>e===`/`?`/${t}`:`${e}/${t}`,a=new Set(n);for(let e of t)a.add(e);for(let e of a)r(i(e))&&a.delete(e);return[...a]}function Be(e,t){if(e instanceof Date)return e.getTime();if(typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e)))return Number(e)*1e3;if(typeof e==`number`){if(!Number.isFinite(e))throw Object.assign(TypeError(`The "${t}" argument must be of type number, string or Date`),{code:`ERR_INVALID_ARG_TYPE`});return e<0?Date.now():e*1e3}throw Object.assign(TypeError(`The "${t}" argument must be of type number, string or Date`),{code:`ERR_INVALID_ARG_TYPE`})}function Ve(e,t,n,r,i){let a=e?.utimes;if(!(!e||typeof a!=`function`||t.isTombstoned(n)))try{a.call(e,n,r,i)}catch(e){let r=e?.code;if(r===`ENOSYS`||r===`ENOENT`&&t.exists(n))return;throw e}}function He(e,t,n,r){return{chmodSync(n){let r=e(n);if(!t(r))throw N(`ENOENT`,r,`chmod`)},utimesSync(i,a,o){let s=Be(a,`atime`),c=Be(o,`mtime`),l=e(i);if(!t(l))throw N(`ENOENT`,l,`utime`);Ve(n,r,l,s,c)}}}function Ue(e,t,n){let r=t=>e.isTombstoned(t);try{let i=e.readdir(n);if(!t||!e.isPartial(n)||r(n))return i;try{return ze(n,i,t.readdir(n),r)}catch(e){if(e?.code===`ENOENT`)return i;throw e}}catch(e){let i=e?.code;if(!t||r(n)||i!==`ENOENT`)throw e;return ze(n,[],t.readdir(n),r)}}function We(e){if(typeof e==`string`)return new TextEncoder().encode(e);if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}return new TextEncoder().encode(String(e))}function Ge(e,t,n,r,i){t?(t.writeFile(r,i),e.commitWrite(r,i)):(e.writeFile(r,i),n?.write?.(r,i))}function Ke(e,t,n,r,i){function a(e){return j(e.startsWith(`/`)?e:t+(t.endsWith(`/`)?``:`/`)+e)}function o(t){try{return e.readFile(t)}catch(r){let i=r?.code;if(n&&!e.isTombstoned(t)&&(i===`ENOENT`||i===`ENOSYNC`))return n.readFile(t);throw r}}let s=(t,r)=>Ge(e,n,i,t,r);function c(t){if(e.exists(t))return!0;if(!n||e.isTombstoned(t))return!1;try{return n.exists(t)}catch{return!1}}function l(t){try{return e.stat(t)}catch(r){let i=r?.code;if(!n||e.isTombstoned(t)||i!==`ENOENT`)throw r;return n.stat(t)}}function u(t){try{return e.lstat(t)}catch(r){let i=r?.code;if(!n||e.isTombstoned(t)||i!==`ENOENT`)throw r;return n.lstat(t)}}let d=e=>({isFile:()=>e.isFile,isDirectory:()=>e.isDirectory,isSymbolicLink:()=>e.isSymbolicLink===!0,isCharacterDevice:()=>!1,size:e.size}),f=(e,t)=>e===`/`?`/${t}`:`${e}/${t}`;function p(t,r){if(!l(t).isDirectory){s(r,o(t));return}e.mkdir(r,!0);for(let i of Ue(e,n,t))p(f(t,i),f(r,i))}let m={...Le({syncFs:e,bridge:n,persistDelete:i?.delete,resolve:a,existsResolved:c,statResolved:l,lstatResolved:u,readBytes:o,writeThrough:s}),readFileSync(e,t){return De(o(a(e)),Oe(t))},writeFileSync(e,t){s(a(e),We(t))},appendFileSync(e,t){let n=a(e),r=new Uint8Array;try{r=o(n)}catch(e){if(e?.code!==`ENOENT`)throw e}let i=We(t),c=new Uint8Array(r.byteLength+i.byteLength);c.set(r),c.set(i,r.byteLength),s(n,c)},truncateSync(e,t=0){let n=a(e),r=o(n),i=new Uint8Array(t);i.set(r.subarray(0,Math.min(t,r.byteLength))),s(n,i)},existsSync(e){return c(a(e))},accessSync(e){let t=a(e);if(!c(t))throw N(`ENOENT`,t,`access`)},mkdirSync(t,n){e.mkdir(a(t),n?.recursive)},statSync:e=>d(l(a(e))),lstatSync:e=>d(u(a(e))),realpathSync(e){let t=a(e);if(!c(t))throw N(`ENOENT`,t,`realpath`);return t},readdirSync(t){return Ue(e,n,a(t))},copyFileSync(e,t){s(a(t),o(a(e)))},cpSync(e,t){p(a(e),a(t))},...He(a,c,n,e),mkdtempSync(t){return e.mkdtemp(a(t))}},h=Object.assign(m,fe());Re(h,r),A(h,Ne);let g=h.existsSync;return h.existsSync=e=>{try{return g(e)}catch{return!1}},h}var qe=class{_events=new Map;on(e,t){let n=this._events.get(e);return n?n.push(t):this._events.set(e,[t]),this}addListener(e,t){return this.on(e,t)}off(e,t){let n=this._events.get(e);if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&this._events.delete(e)}return this}removeListener(e,t){return this.off(e,t)}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};return this.on(e,n)}emit(e,...t){let n=this._events.get(e);if(!n||n.length===0)return!1;for(let e of[...n])e(...t);return!0}removeAllListeners(e){return e===void 0?this._events.clear():this._events.delete(e),this}listenerCount(e){return this._events.get(e)?.length??0}listeners(e){return[...this._events.get(e)??[]]}};const Je=Object.assign(qe,{EventEmitter:qe,default:qe});function Ye(e){let t=e=>{if(typeof e==`string`)return e;if(e instanceof Error)return e.message;if(e==null)return String(e);try{return JSON.stringify(e)}catch{return String(e)}},n=(e,t,n)=>t===void 0?`${e(`Error:`)} ${n}\n`:t===``?`${e(n)}\n`:`${e(`${t}:`)} ${n}\n`,r=(t,n)=>t===void 0?`${e.color.yellow(`Warning:`)} ${n}\n`:t===``?`${e.color.yellow(n)}\n`:`${e.color.yellow(`${t}:`)} ${n}\n`;return{die(r,i){let a=typeof i==`number`?i:i?.exitCode??1,o=typeof i==`object`&&i&&`prefix`in i?i.prefix:void 0,s=t(r);throw e.writeStderr(n(e.color.red,o,s)),e.exit(a),Error(`unreachable`)},out(t){if(typeof t==`string`){e.writeStdout(t.endsWith(`
2
2
  `)?t:`${t}\n`);return}try{e.writeStdout(`${JSON.stringify(t,null,2)}\n`)}catch{e.writeStdout(`${String(t)}\n`)}},warn(n,i){let a=typeof i==`object`&&i&&`prefix`in i?i.prefix:void 0;e.writeStderr(r(a,t(n)))},help(t){throw e.writeStdout(t.endsWith(`
3
3
  `)?t:`${t}\n`),e.exit(0),Error(`unreachable`)}}}const Xe={reset:`\x1B[0m`,green:`\x1B[32m`,red:`\x1B[31m`,yellow:`\x1B[33m`,gray:`\x1B[90m`,bold:`\x1B[1m`,cyan:`\x1B[36m`,dim:`\x1B[2m`};function Ze(e){let t=e.isTTY&&!e.noColor,n=e=>n=>t?`${e}${n}${Xe.reset}`:String(n);return{enabled:t,green:n(Xe.green),red:n(Xe.red),yellow:n(Xe.yellow),gray:n(Xe.gray),bold:n(Xe.bold),cyan:n(Xe.cyan),dim:n(Xe.dim)}}const Qe=/\u001b\[[0-9;]*m/g;function $e(e){return e.replace(Qe,``)}function et(e){return $e(e).length}function tt(e,t){let n=String(e??``);return t<=0?``:et(n)<=t?n:t<=1?n.slice(0,t):`${$e(n).slice(0,t-1)}…`}function nt(e,t){let n=String(e??``),r=et(n);return r===t?n:r>t?tt(n,t):n+` `.repeat(t-r)}function rt(e,t){if(!e.length)return``;let n=Math.max(...e.map(e=>e.length)),r=[];for(let i=0;i<n;i++)if(t&&t[i]!==void 0)r[i]=t[i];else{let t=0;for(let n of e){let e=i<n.length?String(n[i]??``):``;t=Math.max(t,et(e))}r[i]=t}return e.map(e=>r.map((t,n)=>nt(n<e.length?String(e[n]??``):``,t)).join(` `).replace(/\s+$/,``)).join(`
4
4
  `)}function it(e){return e instanceof Date?e:new Date(e)}function at(e){return e<10?`0${e}`:String(e)}function ot(e,t=`short`){let n=it(e);if(Number.isNaN(n.getTime()))return String(e);if(t===`iso`)return n.toISOString();if(t===`locale`)return new Intl.DateTimeFormat(void 0,{dateStyle:`medium`}).format(n);if(t===`human`){let e=Date.now()-n.getTime(),t=Math.abs(e);if(t<6e4)return e>=0?`just now`:`in a moment`;let r=(t,n)=>e>=0?`${t} ${n}${t===1?``:`s`} ago`:`in ${t} ${n}${t===1?``:`s`}`;return t<36e5?r(Math.round(t/6e4),`minute`):t<864e5?r(Math.round(t/36e5),`hour`):t<26298e5?r(Math.round(t/864e5),`day`):t<315576e5?r(Math.round(t/26298e5),`month`):r(Math.round(t/315576e5),`year`)}return`${n.getFullYear()}-${at(n.getMonth()+1)}-${at(n.getDate())}`}const st={trunc:tt,col:nt,table:rt,date:ot};var P=class extends Error{actual;expected;operator;generatedMessage;code;constructor(e={}){let t=!e.message;super(e.message||`${ct(e.actual)} ${e.operator||`!=`} ${ct(e.expected)}`),this.name=`AssertionError`,this.actual=e.actual,this.expected=e.expected,this.operator=e.operator||``,this.generatedMessage=t,this.code=`ERR_ASSERTION`}};function ct(e){if(typeof e==`string`)return JSON.stringify(e);if(e==null)return String(e);if(typeof e==`object`)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}function F(e,t){return e instanceof Error?e:typeof e==`string`?new P({message:e}):t()}function lt(e,t,n,r){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!dt(e[i],t[i],n,r))return!1;return!0}function ut(e,t,n,r){let i=Object.keys(e);if(i.length!==Object.keys(t).length)return!1;for(let a of i)if(!Object.prototype.hasOwnProperty.call(t,a)||!dt(Reflect.get(e,a),Reflect.get(t,a),n,r))return!1;return!0}function dt(e,t,n,r){if((n?Object.is(e,t):e===t)||!n&&e==t)return!0;if(typeof e!=`object`||typeof t!=`object`||e===null||t===null)return!1;let i=e,a=t;return n&&Object.getPrototypeOf(i)!==Object.getPrototypeOf(a)?!1:r.get(i)===a||(r.set(i,a),Array.isArray(e)===Array.isArray(t)?Array.isArray(e)&&Array.isArray(t)?lt(e,t,n,r):ut(i,a,n,r):!1)}function ft(e,t){try{if(e instanceof t)return!0}catch{}try{return!!t(e)}catch{return!1}}function pt(e,t){for(let[n,r]of Object.entries(t)){let t=Reflect.get(e,n);if(r instanceof RegExp){if(typeof t!=`string`||!r.test(t))return!1}else if(t!==r)return!1}return!0}function mt(e,t){if(t===void 0)return!0;if(t instanceof RegExp){let n=e instanceof Error?e.message:String(e);return t.test(n)}return typeof t==`function`?ft(e,t):t&&typeof t==`object`?!e||typeof e!=`object`?!1:pt(e,t):!1}function ht(e){let t=(e,t)=>{if(!e)throw F(t,()=>new P({message:`The expression evaluated to a falsy value`,actual:e,expected:!0,operator:`==`}))},n=((e,n)=>t(e,n)),r=(e,t,n)=>{if(!Object.is(e,t))throw F(n,()=>new P({actual:e,expected:t,operator:`strictEqual`}))},i=(t,n,i)=>{if(e){r(t,n,i);return}if(t!=n)throw F(i,()=>new P({actual:t,expected:n,operator:`==`}))},a=(e,t,n)=>{if(Object.is(e,t))throw F(n,()=>new P({actual:e,expected:t,operator:`notStrictEqual`}))},o=(t,n,r)=>{if(e){a(t,n,r);return}if(t==n)throw F(r,()=>new P({actual:t,expected:n,operator:`!=`}))},s=(e,t,n)=>{if(!dt(e,t,!0,new WeakMap))throw F(n,()=>new P({actual:e,expected:t,operator:`deepStrictEqual`}))},c=(t,n,r)=>{if(e){s(t,n,r);return}if(!dt(t,n,!1,new WeakMap))throw F(r,()=>new P({actual:t,expected:n,operator:`deepEqual`}))},l=(e,t,n)=>{if(dt(e,t,!0,new WeakMap))throw F(n,()=>new P({actual:e,expected:t,operator:`notDeepStrictEqual`}))};return n.ok=t,n.equal=i,n.notEqual=o,n.strictEqual=r,n.notStrictEqual=a,n.deepEqual=c,n.deepStrictEqual=s,n.notDeepEqual=(t,n,r)=>{if(e){l(t,n,r);return}if(dt(t,n,!1,new WeakMap))throw F(r,()=>new P({actual:t,expected:n,operator:`notDeepEqual`}))},n.notDeepStrictEqual=l,n.throws=(e,t,n)=>{let r,i=!1;try{e()}catch(e){r=e,i=!0}if(!i)throw F(typeof t==`string`?t:n,()=>new P({message:`Missing expected exception`,operator:`throws`}));if(!(typeof t==`string`||t instanceof Error)&&!mt(r,t))throw F(n,()=>new P({message:`Got unwanted exception`,actual:r,operator:`throws`}))},n.doesNotThrow=(e,t)=>{try{e()}catch(e){throw F(t,()=>new P({message:`Got unwanted exception`,actual:e,operator:`doesNotThrow`}))}},n.fail=e=>{throw F(e,()=>new P({message:`Failed`,operator:`fail`}))},n.AssertionError=P,n}const gt=ht(!0);gt.strict=gt;const _t=ht(!1);_t.strict=gt;function vt(e,t){let n=globalThis.Buffer;if(!n)throw Error(`crypto.createHash: Buffer is unavailable in this environment`);return t?n.from(e,t):n.from(e)}var yt=class{_events=new Map;closeScheduled=!1;writable=!0;readable=!0;on(e,t){let n=this._events.get(e);return n?n.push(t):this._events.set(e,[t]),this}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};return this.on(e,n)}off(e,t){let n=this._events.get(e);if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}return this}emit(e,...t){let n=this._events.get(e);if(!n||n.length===0)return!1;for(let e of[...n])e(...t);return!0}pipe(e){return this.on(`data`,t=>e.write(t)),this.once(`end`,()=>e.end()),e}closeOnDestroy(){return this.closeScheduled?this:(this.closeScheduled=!0,queueMicrotask(()=>this.emit(`close`)),this)}removeListener(e,t){return this.off(e,t)}removeAllListeners(){return this._events.clear(),this}},bt=class extends yt{read(){return null}destroy(){return this.closeOnDestroy()}},xt=class extends yt{write(e,t,n){return n&&queueMicrotask(n),!0}end(e){return e&&queueMicrotask(e),this}destroy(){return this.closeOnDestroy()}},St=class extends yt{write(e,t,n){return n&&queueMicrotask(n),!0}end(e){return e&&queueMicrotask(e),this}read(){return null}destroy(){return this.closeOnDestroy()}};const Ct={Readable:bt,Writable:xt,Transform:St,PassThrough:class extends St{},Stream:yt};function wt(e,t){return Object.assign(TypeError(t),{code:e})}const Tt=e=>e.startsWith(`--`)&&e.length>2,Et=e=>/^-[^-]/.test(e);function Dt(e,t,n){let r=[];for(let i=1;i<e.length;i++)if(t[n(e[i])]?.type!==`string`||i===e.length-1)r.push(`-${e[i]}`);else{r.push(`-${e.slice(i)}`);break}return r}function Ot(e,t,n){let r=[],i=[...e],a=-1,o=0,s=(e,t,n,r)=>({kind:`option`,name:e,rawName:t,index:a,value:n,inlineValue:r}),c=e=>t[e]?.type===`string`;for(;i.length>0;){let e=i.shift(),l=i[0];if(o>0?o--:a++,e===`--`){r.push({kind:`option-terminator`,index:a});for(let e of i)r.push({kind:`positional`,index:++a,value:e});break}if(Et(e)&&e.length===2){let t=n(e[1]);c(t)&&l!==void 0?(i.shift(),r.push(s(t,e,l,!1)),a++):r.push(s(t,e,void 0,void 0));continue}if(Et(e)){let a=n(e[1]);if(c(a))r.push(s(a,`-${e[1]}`,e.slice(2),!0));else{let r=Dt(e,t,n);i.unshift(...r),o=r.length}continue}if(Tt(e)){let t=e.indexOf(`=`);if(t!==-1){r.push(s(e.slice(2,t),e.slice(0,t),e.slice(t+1),!0));continue}let n=e.slice(2);c(n)&&l!==void 0?(i.shift(),r.push(s(n,e,l,!1)),a++):r.push(s(n,e,void 0,void 0));continue}r.push({kind:`positional`,index:a,value:e})}return r}function kt(e,t){let n=t?.short?`'-${t.short}, --${e.name}'`:`'--${e.name}'`;if(!t)throw wt(`ERR_PARSE_ARGS_UNKNOWN_OPTION`,`Unknown option '${e.rawName}'${e.rawName.startsWith(`--`)?``:`. To specify a positional argument starting with a '-', place it at the end of the command after '--', as in '-- "-"'`}`);if(t.type===`string`&&typeof e.value!=`string`)throw wt(`ERR_PARSE_ARGS_INVALID_OPTION_VALUE`,`Option ${n.replace(/'$/,` <value>'`)} argument missing`);if(t.type===`boolean`&&e.value!==void 0)throw wt(`ERR_PARSE_ARGS_INVALID_OPTION_VALUE`,`Option ${n} does not take an argument`);let r=e.value!==void 0&&e.value.length>1&&e.value[0]===`-`;if(t.type===`string`&&e.inlineValue===!1&&r)throw wt(`ERR_PARSE_ARGS_INVALID_OPTION_VALUE`,`Option '${e.rawName}' argument is ambiguous.\nDid you forget to specify the option argument for '${e.rawName}'?\nTo specify an option argument starting with a dash use '${e.rawName.startsWith(`--`)?`${e.rawName}=-XYZ`:`--${e.name}=-XYZ' or '${e.rawName}-XYZ`}'.`)}function At(e,t,n,r){if(!r){e[t]=n;return}let i=e[t];e[t]=Array.isArray(i)?[...i,n]:[n]}function jt(e,t,n){let r=e.slice(3);return n&&e.startsWith(`no-`)?{name:r,negated:!0}:{name:e,negated:!1}}function Mt(e,t,n,r,i){let{name:a,negated:o}=jt(t.name,n,i);t.name=a;let s=n[a];r&&kt(t,o&&s?.type!==`boolean`?void 0:s),At(e,a,o?!1:t.value??!0,s?.multiple===!0)}function Nt(e={},t=()=>[]){let n=e.args??t(),r=e.options??{},i=e.strict??!0,a=e.allowPositionals??!i,o=e.allowNegative??!1,s=e=>Object.keys(r).find(t=>r[t].short===e)??e,c=Object.create(null),l=[],u=Ot(n,r,s);for(let e of u){if(e.kind===`positional`){if(i&&!a)throw wt(`ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL`,`Unexpected argument '${e.value}'. This command does not take positional arguments`);l.push(e.value);continue}e.kind===`option`&&Mt(c,e,r,i,o)}for(let[e,t]of Object.entries(r))t.default!==void 0&&c[e]===void 0&&(c[e]=t.default);return e.tokens?{values:c,positionals:l,tokens:u}:{values:c,positionals:l}}const Pt=Symbol.for(`nodejs.util.inspect.custom`),Ft=Symbol.for(`nodejs.util.promisify.custom`);function It(e){return`'${e.replace(/\\/g,`\\\\`).replace(/'/g,`\\'`).replace(/\n/g,`\\n`)}'`}function Lt(e){if(e===null)return`null`;let t=typeof e;if(t===`string`)return It(e);if(t===`number`)return Object.is(e,-0)?`-0`:String(e);if(t===`bigint`)return`${String(e)}n`;if(t===`boolean`||t===`undefined`)return String(e);if(t===`symbol`)return e.toString();if(t===`function`){let t=e.name;return t?`[Function: ${t}]`:`[Function (anonymous)]`}return null}function Rt(e){return e instanceof RegExp?e.toString():e instanceof Date?Number.isNaN(e.getTime())?`Invalid Date`:e.toISOString():e instanceof Error?e.stack||`${e.name}: ${e.message}`:null}function zt(e,t,n){if(Array.isArray(e))return e.length===0?`[]`:`[ ${e.map(e=>Bt(e,t+1,n)).join(`, `)} ]`;if(e instanceof Map){let r=[...e].map(([e,r])=>`${Bt(e,t+1,n)} => ${Bt(r,t+1,n)}`);return`Map(${e.size}) {${r.length?` ${r.join(`, `)} `:``}}`}if(e instanceof Set){let r=[...e].map(e=>Bt(e,t+1,n));return`Set(${e.size}) {${r.length?` ${r.join(`, `)} `:``}}`}let r=Object.keys(e),i=e.constructor?e.constructor.name:``,a=i&&i!==`Object`?`${i} `:``;return r.length===0?`${a}{}`:`${a}{ ${r.map(r=>`${/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(r)?r:It(r)}: ${Bt(e[r],t+1,n)}`).join(`, `)} }`}function Bt(e,t,n){let r=Lt(e);if(r!==null)return r;let i=e,a=Rt(i);if(a!==null)return a;let o=i[Pt];if(typeof o==`function`)try{return String(o.call(i,n.maxDepth,n.opts))}catch{}if(n.seen.has(e))return`[Circular *1]`;if(n.maxDepth!==null&&t>n.maxDepth)return Array.isArray(e)?`[Array]`:`[Object]`;n.seen.add(e);try{return zt(i,t,n)}finally{n.seen.delete(e)}}function Vt(e,t={}){let n=t.depth===void 0?2:t.depth;return Bt(e,0,{seen:new Set,maxDepth:n,opts:t})}function Ht(e,t,n,r){if(e===`%%`)return`%`;if(n.i>=t.length)return e;let i=t[n.i];switch(e){case`%s`:return n.i++,typeof i==`string`?i:typeof i==`bigint`?`${String(i)}n`:i==null||typeof i==`number`||typeof i==`boolean`?String(i):Vt(i,{depth:r.depth===void 0?2:r.depth});case`%d`:return n.i++,typeof i==`bigint`?`${String(i)}n`:Number.isNaN(Number(i))?`NaN`:String(Number(i));case`%i`:return n.i++,typeof i==`bigint`?`${String(i)}n`:String(Number.parseInt(i,10));case`%f`:return n.i++,String(typeof i==`bigint`?i:Number.parseFloat(i));case`%j`:n.i++;try{return JSON.stringify(i)??`undefined`}catch{return`[Circular]`}case`%o`:return n.i++,Vt(i,{depth:4});case`%O`:return n.i++,Vt(i,{depth:null});case`%c`:return n.i++,``;default:return e}}function Ut(e,...t){let n=t[0];if(typeof n!=`string`)return t.map(e=>typeof e==`string`?e:Vt(e)).join(` `);let r={i:1},i=n.replace(/%[sdifjoOc%]/g,n=>Ht(n,t,r,e));for(;r.i<t.length;r.i++){let e=t[r.i];i+=` ${typeof e==`string`?e:Vt(e)}`}return i}function Wt(...e){return Ut({},...e)}function Gt(e,t){if(e==null)throw TypeError(`The constructor to "inherits" must not be null or undefined`);if(t==null)throw TypeError(`The super constructor to "inherits" must not be null or undefined`);if(t.prototype===void 0)throw TypeError(`The super constructor to "inherits" must have a prototype`);e.super_=t,Object.setPrototypeOf(e.prototype,t.prototype)}function Kt(e){if(typeof e!=`function`)throw TypeError(`The "original" argument must be of type function`);let t=e[Ft];if(t){if(typeof t!=`function`)throw TypeError(`The [util.promisify.custom] property must be of type function`);return t}function n(...t){return new Promise((n,r)=>{e.call(this,...t,(e,...t)=>{if(e){r(e);return}n(t.length>1?t:t[0])})})}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)),n}function qt(e){return function(t,n,r){if(typeof t!=`function`)throw TypeError(`The "fn" argument must be of type function`);let i=!1;function a(...a){return i||(i=!0,e(r?`[${r}] DeprecationWarning: ${n}`:`DeprecationWarning: ${n}`)),new.target?Reflect.construct(t,a,new.target):t.apply(this,a)}return Object.setPrototypeOf(a,Object.getPrototypeOf(t)),t.prototype&&(a.prototype=t.prototype),a}}const Jt=Vt;Jt.custom=Pt;const Yt=Kt;Yt.custom=Ft;function Xt(e,t=()=>[]){return{parseArgs:e=>Nt(e,t),format:Wt,formatWithOptions:Ut,inspect:Jt,inherits:Gt,promisify:Yt,deprecate:qt(e)}}const Zt=Xt(()=>{});let Qt=1;function $t(e){if(typeof e==`string`)return e;if(ArrayBuffer.isView(e)){let t=e;return new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}return e==null?``:String(e)}function en(e,t,n){return Object.assign(TypeError(`The "${e}" argument must be of type ${t}. Received ${n===null?`null`:Array.isArray(n)?`array`:typeof n}`),{code:`ERR_INVALID_ARG_TYPE`})}function tn(e){if(e===void 0)return;if(typeof e!=`object`||!e||Array.isArray(e))throw en(`options.env`,`object`,e);let t={};for(let[n,r]of Object.entries(e))if(r!==void 0){if(typeof r!=`string`)throw en(`options.env[${n}]`,`string`,r);t[n]=r}return t}function nn(e){if(e!==void 0){if(typeof e==`string`)return e;if(typeof e==`object`&&e&&typeof e.href==`string`)try{return E.fileURLToPath(e.href)}catch{throw en(`options.cwd`,`string or an instance of URL (file:)`,e)}throw en(`options.cwd`,`string or an instance of URL`,e)}}function rn(e,t){return t===void 0||t===`utf8`||t===`utf-8`?e:t===`buffer`||t===null?vt(e):vt(e).toString(t)}function an(e,t){if(e.length===0)return rn(``,t);if(typeof e[0]==`string`)return e.join(``);let n=globalThis.Buffer;return n?n.concat(e):e[0]}function on(e,t,n){t.length>0&&e.emit(`data`,rn(t,n)),e.readable=!1,e.emit(`end`)}function sn(e){let t=e=>{typeof e==`function`&&queueMicrotask(e)};return{writable:!0,write(n,r,i){return e.stdin.write($t(n)),t(typeof r==`function`?r:i),!0},end(n,r,i){n!==void 0&&typeof n!=`function`&&e.stdin.write($t(n)),e.stdin.end(),this.writable=!1,t(typeof n==`function`?n:typeof r==`function`?r:i)}}}var cn=class extends qe{stdout;stderr;stdin;pid;exitCode=null;signalCode=null;killed=!1;spawnfile;spawnargs;handle;constructor(e,t,n,r){super(),this.handle=e,this.pid=Qt++,this.spawnfile=n,this.spawnargs=r,this.stdout=new bt,this.stderr=new bt,this.stdin=sn(e),e.done.then(e=>this.finish(e,t),e=>this.emit(`error`,e instanceof Error?e:Error(String(e))))}finish(e,t){on(this.stdout,e.stdout,t),on(this.stderr,e.stderr,t),this.exitCode=e.exitCode;let n=this.killed?null:e.exitCode,r=this.killed?this.signalCode:null;this.emit(`exit`,n,r),this.emit(`close`,n,r)}kill(e=`SIGTERM`){return this.killed=!0,this.signalCode=e,this.handle.kill(e).catch(()=>{}),!0}};function ln(e){let t=(t,n,r)=>{if(!e)throw Error(`child_process.${t} is not available in this browser realm (no synchronous bridge — the page has no controlling Service Worker). Use the async form instead: await promisify(${t.replace(/Sync$/,``)})(…).`);return e.run(n,r)},n=e=>{let t=nn(e.cwd),n=tn(e.env);return{...e.input===void 0?{}:{input:$t(e.input)},...e.timeout===void 0?{}:{timeout:e.timeout},...t===void 0?{}:{cwd:t},...n===void 0?{}:{env:n}}},r=(e,r,i,a)=>{let o=a.encoding===void 0?`buffer`:a.encoding,s=t(e,r,n(a)),c=rn(s.stdout,o),l=rn(s.stderr,o);if(s.exitCode===0)return c;throw Object.assign(Error(`Command failed: ${i}\n${s.stderr}`),{status:s.exitCode,signal:null,stdout:c,stderr:l,output:[null,c,l],pid:Qt++})},i=(e,t)=>({args:Array.isArray(e)?e:[],options:(Array.isArray(e)?t:e)??{}});return{execSync:(e,t={})=>r(`execSync`,e,e,t),execFileSync:(e,t,n)=>{let{args:a,options:o}=i(t,n),s=[e,...a];return r(`execFileSync`,s,s.join(` `),o)},spawnSync:(e,r,a)=>{let{args:o,options:s}=i(r,a),c=s.encoding===void 0?`buffer`:s.encoding,l=Qt++,u=s.shell?`${e}${o.length?` ${o.join(` `)}`:``}`:[e,...o],d;try{d=t(`spawnSync`,u,n(s))}catch(e){if(e instanceof TypeError)throw e;let t=rn(``,c);return{pid:l,status:null,signal:null,stdout:t,stderr:t,output:[null,t,t],error:e instanceof Error?e:Error(String(e))}}let f=rn(d.stdout,c),p=rn(d.stderr,c);return{pid:l,status:d.exitCode,signal:null,stdout:f,stderr:p,output:[null,f,p]}}}}function un(e,t){let n=(t,n,r,i,a)=>{let o=nn(n.cwd),s=tn(n.env),c={...o===void 0?{}:{cwd:o},...s===void 0?{}:{env:s}},l=e.start(t,c),u=new cn(l,r,i,a);return n.input!==void 0&&u.stdin.write($t(n.input)),queueMicrotask(()=>l.stdin.end()),u},r=(e,t,n,r)=>{if(typeof r!=`function`)return;let i=[],a=[];e.stdout.on(`data`,e=>i.push(e)),e.stderr.on(`data`,e=>a.push(e)),e.once(`error`,e=>r(e,an(i,t),an(a,t))),e.once(`close`,(o,s)=>{let c=an(i,t),l=an(a,t);if(o===0){r(null,c,l);return}r(Object.assign(Error(`Command failed: ${n}\n${$t(l)}`),{code:o===null?void 0:o,killed:e.killed,signal:s??null,cmd:n}),c,l)})},i=(e,t,i)=>{let a=typeof t==`function`?t:i,o=t&&typeof t==`object`?t:{},s=o.encoding===void 0?`utf8`:o.encoding,c=n(e,o,s,e,[]);return r(c,s,e,a),c},a=(e,t,i,a)=>{let o=[],s={},c;Array.isArray(t)?(o=t,typeof i==`function`?c=i:(s=i??{},c=typeof a==`function`?a:void 0)):typeof t==`function`?c=t:t&&typeof t==`object`&&(s=t,c=typeof i==`function`?i:void 0);let l=s.encoding===void 0?`utf8`:s.encoding,u=[e,...o],d=n(u,s,l,e,o);return r(d,l,u.join(` `),c),d},o=(e,t,r)=>{let i=[],a={};Array.isArray(t)?(i=t,a=r??{}):t&&typeof t==`object`&&(a=t);let o=a.encoding===void 0?`buffer`:a.encoding,s=a.shell?`${e}${i.length?` ${i.join(` `)}`:``}`:[e,...i];return n(s,a,o,e,i)},s=(e,t)=>new Promise((n,r)=>{i(e,t,(e,t,i)=>{if(e){r(Object.assign(e,{stdout:t,stderr:i}));return}n({stdout:t,stderr:i})})}),c=(e,t,n)=>new Promise((r,i)=>{a(e,Array.isArray(t)?t:[],Array.isArray(t)?n:t,(e,t,n)=>{if(e){i(Object.assign(e,{stdout:t,stderr:n}));return}r({stdout:t,stderr:n})})}),l=e=>()=>{throw Error(`child_process.${e} is not available in the browser realm`)},u=ln(t),d=(e,t)=>{Object.defineProperty(e,Ft,{value:t,enumerable:!1,configurable:!0})};return d(i,s),d(a,c),{exec:i,execFile:a,spawn:o,execSync:u.execSync,spawnSync:u.spawnSync,execFileSync:u.execFileSync,fork:l(`fork`),ChildProcess:cn}}function dn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var fn={exports:{}};
@@ -32,4 +32,4 @@ for (var __vm_i = 0; __vm_i < __vm_fns.length; __vm_i++) {
32
32
  `)){if(a.startsWith(`agent-session: `)){let e=a.slice(15),t=e.lastIndexOf(` `),i=t===-1?``:e.slice(0,t),o=t===-1?``:e.slice(t+1);if(i&&(o===`created`||o===`resumed`)){n=i,r=o;continue}}else if(a.startsWith(`agent-usage: `))try{let e=JSON.parse(a.slice(13));if(e&&typeof e.input==`number`&&typeof e.cost==`number`){i=e;continue}}catch{}a!==``&&t.push(a)}return{stderr:t.join(`
33
33
  `),sessionId:n,sessionStatus:r,usage:i}}function Zs(e,t){let n=t.cwd,r=async(t,r)=>{let i=r??{};if(i.resume===!0&&(i.session===void 0||i.session===``))return{finalText:``,exitCode:1,stderr:`agent: resume requires a session id`};let a=await e.spawn(Ys(t,i,n)),o=typeof a.exitCode==`number`?a.exitCode:0,s=String(a.stdout??``).replace(/\n+$/,``),c=Xs(String(a.stderr??``).replace(/\n+$/,``));return{finalText:s,exitCode:o,stderr:c.stderr,...c.sessionId?{sessionId:c.sessionId,sessionStatus:c.sessionStatus}:{},...c.usage?{usage:c.usage}:{}}},i=(async(e,t)=>{let n=t??{},i=await r(e,n);if(i.exitCode!==0)throw Error(`agent: exited with code ${i.exitCode}${i.stderr?`: ${i.stderr}`:``}`);let a=i.finalText;if(n.schema)try{a=JSON.parse(i.finalText)}catch{throw Error(`agent: schema response was not valid JSON (exit ${i.exitCode}): ${i.finalText.slice(0,200)}`)}if(n.session!==void 0||n.resume===!0||n.envelope===!0){let e={output:a};return i.sessionId&&(e.sessionId=i.sessionId,e.sessionStatus=i.sessionStatus),i.usage&&(e.usage=i.usage),e}return a});return i.spawn=r,i}function $(e){if(typeof e==`string`)return e;if(e&&typeof e==`object`&&typeof e.targetId==`string`)return e.targetId;throw TypeError(`browser: expected a tab handle or targetId string`)}function Qs(e){function t(t){return{...t,async update(n){let r={};return n.urlMatch!==void 0&&(r.urlMatch=n.urlMatch===null?null:n.urlMatch instanceof RegExp?n.urlMatch.source:n.urlMatch),n.filter!==void 0&&(r.filter=n.filter),e.call(`browser`,`wsUpdate`,[t.id,r])},async close(){return e.call(`browser`,`wsClose`,[t.id])}}}return{on(n,r={}){let i=$(n),a=r.urlMatch===void 0?void 0:r.urlMatch instanceof RegExp?r.urlMatch.source:r.urlMatch,o,s={filter(e){if(typeof e==`function`||typeof e==`string`)throw TypeError(`browser.websocket: filter must be a declarative JSON object, not a function or string`);return o=e,s},async forward(n){return t(await e.call(`browser`,`wsObserve`,[{targetId:i,urlMatch:a,filter:o,forward:n}]))}};return s},async list(){return e.call(`browser`,`wsList`,[])}}}async function $s(e,t){if(!e&&!(t instanceof Request))return;let n=t instanceof Request?t:null,r=(e?.method??n?.method??`GET`).toUpperCase(),i={};if(e?.headers){if(e.headers instanceof Headers)e.headers.forEach((e,t)=>{i[t]=e});else if(Array.isArray(e.headers))for(let[t,n]of e.headers)i[t]=n;else Object.assign(i,e.headers)}else n&&n.headers.forEach((e,t)=>{i[t]=e});let a,o;if(r!==`GET`&&r!==`HEAD`&&e?.body!==void 0&&e?.body!==null&&e?.body!==``){let t=await ec(e.body);a=t.body,o=t.defaultContentType}return o&&!Object.keys(i).some(e=>e.toLowerCase()===`content-type`)&&(i[`Content-Type`]=o),{method:r,headers:i,body:a}}async function ec(e){if(typeof e==`string`)return{body:e};if(e instanceof URLSearchParams)return{body:e.toString(),defaultContentType:`application/x-www-form-urlencoded;charset=UTF-8`};if(e instanceof Blob)return{body:new Uint8Array(await e.arrayBuffer()),defaultContentType:e.type||`application/octet-stream`};if(e instanceof ArrayBuffer)return{body:new Uint8Array(e).slice(),defaultContentType:`application/octet-stream`};if(ArrayBuffer.isView(e))return{body:new Uint8Array(e.buffer,e.byteOffset,e.byteLength).slice(),defaultContentType:`application/octet-stream`};if(n(e)){let t=await r(e);return{body:t.bytes,defaultContentType:t.contentType}}throw typeof ReadableStream<`u`&&e instanceof ReadableStream?Error(`node fetch shim: ReadableStream request bodies are not supported (collect into a Uint8Array or string before calling fetch)`):Error(`node fetch shim: unsupported request body type (${Object.prototype.toString.call(e)}); use a string, Uint8Array, ArrayBuffer, Blob, FormData, or URLSearchParams`)}function tc(e){return{findTab:t=>e.call(`browser`,`findTab`,[rc(t)]),ensureTab:(t,n={})=>e.call(`browser`,`ensureTab`,[t,ic(n)]),openWindow:(t,n={})=>e.call(`browser`,`openWindow`,[t,n]),windowBounds:t=>e.call(`browser`,`windowBounds`,[$(t)]),setWindowBounds:(t,n)=>e.call(`browser`,`setWindowBounds`,[$(t),n]),eval:(t,n)=>e.call(`browser`,`eval`,[$(t),nc(n,!1)]),evalAsync:(t,n)=>e.call(`browser`,`evalAsync`,[$(t),nc(n,!0)]),cookie:(t,n)=>e.call(`browser`,`cookie`,[$(t),n]),localStorage:(t,n)=>e.call(`browser`,`localStorage`,[$(t),n]),fetch:(t,n,r={})=>C(n,r).then(n=>e.call(`browser`,`evalAsync`,[$(t),n])),websocket:Qs(e)}}function nc(e,t){if(typeof e==`function`)return`(${e.toString()})()`;if(typeof e==`string`)return e;throw TypeError(`browser.eval/evalAsync: source must be a function or string`)}function rc(e){let t={};return e.domain!==void 0&&(t.domain=e.domain),e.urlMatch!==void 0&&(t.urlMatch=e.urlMatch instanceof RegExp?e.urlMatch.source:e.urlMatch),t}function ic(e){return e.matchUrl===void 0?{}:{matchUrl:e.matchUrl instanceof RegExp?e.matchUrl.source:e.matchUrl}}function ac(e){return{register(t){let n=null,r=e.onEvent(`computer-call`,r=>{let i=r;i.id===t.id&&sc(e,t,i,{getStop:()=>n,setStop:e=>{n=e}})}),i=oc(t);return e.call(`computer`,`register`,[i]).catch(()=>{}),()=>{n?.(),n=null,r(),e.call(`computer`,`unregister`,[t.id]).catch(()=>{})}}}}function oc(e){return{id:e.id,kind:`jsh`,title:e.title??e.id,size:e.size??null,state:`live`,capabilities:e.capabilities,pid:null,...e.softKeys?{softKeys:e.softKeys}:{}}}async function sc(e,t,n,r){let i;try{i=await cc(e,t,n,r)}catch(e){i={error:e instanceof Error?e.message:String(e)}}try{await e.call(`computer`,`reply`,[n.requestId,i])}catch{}}async function cc(e,t,n,r){switch(n.op){case`screenshot`:return t.screenshot(n.args[0]??{format:`jpeg`});case`text`:return t.text?t.text():null;case`input`:return await t.input(n.args[0]??[]),{ok:!0};case`exec`:if(!t.exec)throw Error(`exec is not supported`);return t.exec(String(n.args[0]??``));case`subscribe`:return lc(e,t,Number(n.args[0])||2,Number(n.args[1])||void 0,r);case`unsubscribe`:return r.getStop()?.(),r.setStop(null),{ok:!0};default:{let e=n.op;throw Error(`unknown computer op '${String(e)}'`)}}}function lc(e,t,n,r,i){if(i.getStop()?.(),!t.subscribe)throw Error(`subscribe is not supported`);let a=t.subscribe(n,n=>{e.call(`computer`,`frame`,[t.id,n]).catch(()=>{})},r);return i.setStop(()=>{try{a()}catch{}}),{ok:!0}}function uc(e){return e===`SIGKILL`?137:e===`SIGINT`?130:143}function dc(e,t,n,r){let i=async()=>{if(!t?.wasUsed())return;let n=t.getMutations();if(n.created.length||n.modified.length||n.deleted.length)try{await e.call(`vfs`,`flushWrites`,[n])}catch(e){let t=e instanceof Error?e.message:String(e);console.error(`[realm-exec] pre-exec sync-fs flush failed (will retry at exit): ${t}`);return}t.resetBaseline()},a=async(i=!1)=>{if(t?.wasUsed())try{let r=await e.call(`vfs`,`snapshot`,[n]);i?t.applySnapshotPreservingMutations(r):t.applySnapshot(r)}catch(e){let t=e instanceof Error?e.message:String(e);r?.(`[sync-fs] re-snapshot after exec failed: ${t}\n`)}},o=async t=>{await i();try{return await e.call(`exec`,`run`,[t])}finally{await a()}},s=async t=>{await i();try{return await e.call(`exec`,`spawn`,[t])}finally{await a()}},c=1,l=Object.assign(o,{spawn:s,start:(t,n)=>{let r=c++,o=[],s=!1,l=!1,u=!1,d,f,p=new Promise((e,t)=>{d=e,f=t}),m=()=>{if(s||u||l)return;l=!0;let c=o.length>0?o.join(``):n?.stdin,p={};c!==void 0&&(p.stdin=c),n?.stdinKind!==void 0&&(p.stdinKind=n.stdinKind),n?.args!==void 0&&(p.args=n.args),n?.cwd!==void 0&&(p.cwd=n.cwd),n?.env!==void 0&&(p.env=n.env),(async()=>{try{if(await i(),u){await a(!0);return}s=!0;let n=await e.call(`exec`,`start`,[r,t,p]);await a(!0),d(n)}catch(e){await a(!0),f(e)}})()};return{kill:t=>s?e.call(`exec`,`kill`,[r,t]):(u=!0,d({stdout:``,stderr:``,exitCode:uc(t)}),Promise.resolve(!0)),stdin:{write:e=>{!s&&!u&&o.push(e)},end:()=>m()},done:p}}});return l.exec=l,l}const fc=new Set([204,205,304]),pc=new Set([`content-encoding`,`transfer-encoding`,`content-length`]);function mc(e,t){let n=hc(e.body),r=gc(e.headers),i=fc.has(e.status)||n.byteLength===0,a=new Response(i?null:n,{status:e.status,statusText:e.statusText,headers:r});try{Object.defineProperty(a,"url",{value:e.url||t,writable:!1,configurable:!0,enumerable:!1})}catch{}return vc(a,n),a}function hc(e){return e.byteLength===0?new Uint8Array:e.slice()}function gc(e){let t=new Headers;for(let[n,r]of Object.entries(e))if(!pc.has(n.toLowerCase()))try{t.set(n,r)}catch{}return t}const _c=Symbol(`slicc.realmBufferedBody`);function vc(e,t){if(_c in e)return;Object.defineProperty(e,_c,{value:!0,configurable:!0});let n=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),`bodyUsed`),r=!1,i=()=>{if(r)throw TypeError(`Failed to read response body: body already used`);return r=!0,yc(e),t},a=async()=>new TextDecoder().decode(i()),o=e=>e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);Object.defineProperties(e,{bodyUsed:{configurable:!0,enumerable:!1,get(){return r?!0:n?.get?!!n.get.call(e):!1}},text:{value:a,configurable:!0},json:{value:async()=>JSON.parse(await a()),configurable:!0},arrayBuffer:{value:async()=>o(i()),configurable:!0},blob:{value:async()=>new Blob([o(i())]),configurable:!0},bytes:{value:async()=>i(),configurable:!0}})}function yc(e){try{let t=e.body;t&&!t.locked&&t.getReader()}catch{}}function bc(e){if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(e instanceof ArrayBuffer)return new Uint8Array(e);throw TypeError(`expected an ArrayBuffer or typed array`)}function xc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Sc(e){return e==null?[]:Array.isArray(e)?e:[e]}function Cc(e,t){let n=t.handle,r=new Set,i=new Set,a=!1,o=null,s=e=>{let t=e;if(!t||t.handle!==n)return;let i={reportId:t.reportId,data:xc(t.bytes)};for(let e of[...r])try{e(i)}catch{}},c=()=>{a||(a=!0,o=e.onEvent?e.onEvent(`hid-input-report`,s):null,e.call(`hid`,`subscribeInputReports`,[n]).catch(()=>{a=!1,o?.(),o=null}))},l=()=>{!a||r.size>0||(a=!1,o?.(),o=null,e.call(`hid`,`unsubscribeInputReports`,[n]).catch(()=>{}))};return{...t,open:()=>e.call(`hid`,`open`,[n]),close:()=>e.call(`hid`,`close`,[n]),sendReport:(t,r)=>e.call(`hid`,`sendReport`,[n,t,bc(r)]),sendFeatureReport:(t,r)=>e.call(`hid`,`sendFeatureReport`,[n,t,bc(r)]),receiveFeatureReport:async t=>xc((await e.call(`hid`,`receiveFeatureReport`,[n,t])).bytes),addEventListener(e,t){if(e===`inputreport`)r.add(t),c();else if(e===`disconnect`)i.add(t);else throw TypeError(`hid device: unknown event type '${String(e)}'`)},removeEventListener(e,t){e===`inputreport`?(r.delete(t),l()):e===`disconnect`&&i.delete(t)},onInputReport(e){r.add(e),c()}}}function wc(e){return{list:async()=>(await e.call(`hid`,`list`,[])).map(t=>Cc(e,t)),request:async t=>{let n=(await e.call(`hid`,`request`,[Sc(t)]))[0];if(!n)throw Error(`No device selected.`);return Cc(e,n)}}}function Tc(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var Ec=class{rpc;targetId;selector;index;constructor(e,t,n,r){this.rpc=e,this.targetId=t,this.selector=n,this.index=r}evalOnElement(e){let t=`(() => { const els = document.querySelectorAll(${JSON.stringify(this.selector)}); const el = els[${this.index}]; ${e} })()`;return this.rpc.call(`browser`,`evalAsync`,[this.targetId,t])}async textContent(){return this.evalOnElement(`return el ? el.textContent : null;`)}async getAttribute(e){return this.evalOnElement(`return el ? el.getAttribute(${JSON.stringify(e)}) : null;`)}async isVisible(){return this.evalOnElement(`if (!el) return false; const s = getComputedStyle(el); if (s.display === 'none' || s.visibility === 'hidden' || s.opacity === '0') return false; const r = el.getBoundingClientRect(); return r.width > 0 && r.height > 0;`)}async boundingBox(){return this.evalOnElement(`if (!el) return null; const r = el.getBoundingClientRect(); return { x: r.x, y: r.y, width: r.width, height: r.height };`)}},Dc=class{rpc;targetId;onClose;closed=!1;constructor(e,t,n){this.rpc=e,this.targetId=t,this.onClose=n}async goto(e,t){await this.rpc.call(`browser`,`navigateTab`,[this.targetId,e])}async waitForLoadState(e){await this.rpc.call(`browser`,`waitForLoadState`,[this.targetId,e??`load`])}async waitForTimeout(e){await new Promise(t=>setTimeout(t,e))}async evaluate(e,...t){let n=typeof e==`string`?e:`(${e.toString()}).apply(null, JSON.parse(${JSON.stringify(JSON.stringify(t))}))`;return this.rpc.call(`browser`,`evalAsync`,[this.targetId,n])}async screenshot(e){let t={};e?.fullPage!==void 0&&(t.fullPage=e.fullPage);let n=Tc(await this.rpc.call(`browser`,`screenshotTab`,[this.targetId,t]));return e?.path&&await this.rpc.call(`vfs`,`writeFileBinary`,[e.path,n]),n}async $(e){return await this.rpc.call(`browser`,`evalAsync`,[this.targetId,`!!document.querySelector(${JSON.stringify(e)})`])?new Ec(this.rpc,this.targetId,e,0):null}async $$(e){let t=await this.rpc.call(`browser`,`evalAsync`,[this.targetId,`document.querySelectorAll(${JSON.stringify(e)}).length`]),n=[];for(let r=0;r<t;r++)n.push(new Ec(this.rpc,this.targetId,e,r));return n}async $$eval(e,t,...n){if(typeof t==`string`)return this.rpc.call(`browser`,`evalAsync`,[this.targetId,t]);let r=`(${t.toString()}).apply(null, [Array.from(document.querySelectorAll(${JSON.stringify(e)}))].concat(JSON.parse(${JSON.stringify(JSON.stringify(n))})))`;return this.rpc.call(`browser`,`evalAsync`,[this.targetId,r])}async content(){return this.rpc.call(`browser`,`evalAsync`,[this.targetId,`document.documentElement.outerHTML`])}async setViewportSize(e){await this.rpc.call(`browser`,`setViewport`,[this.targetId,e.width,e.height])}async close(){this.closed||(this.closed=!0,await this.rpc.call(`browser`,`closeTab`,[this.targetId]),this.onClose?.())}},Oc=class{rpc;openPages=[];constructor(e){this.rpc=e}async newPage(e){let t=await this.rpc.call(`browser`,`createTab`,[`about:blank`]);e?.viewport&&await this.rpc.call(`browser`,`setViewport`,[t,e.viewport.width,e.viewport.height]);let n=new Dc(this.rpc,t,()=>{let e=this.openPages.indexOf(n);e!==-1&&this.openPages.splice(e,1)});return this.openPages.push(n),n}pages(){return[...this.openPages]}async close(){let e=this.openPages.splice(0,this.openPages.length);for(let t of e)await t.close()}},kc=class{rpc;openPages=[];openContexts=[];constructor(e){this.rpc=e}async newPage(e){let t=await this.rpc.call(`browser`,`createTab`,[`about:blank`]);e?.viewport&&await this.rpc.call(`browser`,`setViewport`,[t,e.viewport.width,e.viewport.height]);let n=new Dc(this.rpc,t,()=>{let e=this.openPages.indexOf(n);e!==-1&&this.openPages.splice(e,1)});return this.openPages.push(n),n}async newContext(e){let t=new Oc(this.rpc);return this.openContexts.push(t),t}contexts(){return[...this.openContexts]}async close(){let e=this.openPages.splice(0,this.openPages.length);for(let t of e)await t.close();let t=this.openContexts.splice(0,this.openContexts.length);for(let e of t)await e.close()}};function Ac(e){let t=async t=>new kc(e),n=async(t,n)=>new kc(e);return{chromium:{launch:t,connect:n,connectOverCDP:n},firefox:{launch:t,connect:n},webkit:{launch:t,connect:n}}}function jc(e){return{...e,time:Ko,fmt:st,pool:Ho}}function Mc(e,t){return e?.startsWith(`/`)?qo(e):t}function Nc(e){return e.includes(`require`)||e.includes(`import`)||/(?:^|[;\n}])\s*export\b/.test(e)}async function Pc(e,t,n,r){return Nc(t)?e.call(`module`,`buildGraph`,[t,Mc(r,n),r]):{files:[],entryMap:{},edges:{},edgeErrors:{},errors:{}}}function Fc(e){if(typeof e!=`object`||!e)return;let t=e;if(t.__esModule&&!Object.prototype.hasOwnProperty.call(t,`default`)&&Object.isExtensible(t))try{Object.defineProperty(t,"default",{value:t,enumerable:!1,configurable:!0})}catch{}}function Ic(e){return{playwright:Ac(e)}}function Lc(e){let{graph:t,fsBridge:n,processShim:r,childProcess:i,nodeConsole:a,sliccyModules:o,shimmedPackages:l={},nodeReadline:u,nodeOsModule:d=Qn,nodeUtilModule:p=Zt}=e,h=new Map(t.files.map(e=>[e.path,e.cjsSource])),g=new Map(t.files.map(e=>[e.path,e.kind])),_=new Map,v=qn({requireFrom:(e,t)=>T(e,t),resolveFrom:(e,t)=>w(e,t)}),y=Ln(()=>{let e=r?.cwd?.();return typeof e==`string`&&e.length>0?e:`/`}),b=e=>{if(typeof e==`string`&&e.startsWith(`sliccy:`))return{hit:!0,value:Bc(e,o)};let t=e.startsWith(`node:`)?e.slice(5):e,a=Rc(t,{fsBridge:n,processShim:r,childProcess:i,nodeOsModule:d,nodeUtilModule:p,nodePathModule:y,nodeReadline:u,nodeModule:v});if(a.hit)return a;if(m.has(t))throw f(e,t);if(c.has(t))throw Hc(e,t);return t in l?{hit:!0,value:l[t]}:{hit:!1}},x=(e,n,r)=>{let i=b(n);if(i.hit)return i.value;let a=e?.[n];if(a)return S(a);let o=r===null?t.errors[n]:t.edgeErrors?.[r]?.[n];throw o?Error(o):zc(n)};function S(e){let n=_.get(e);if(n)return n.exports;let i=h.get(e);if(i===void 0)throw Error(`Cannot find module '${e}'`);let o={exports:{}};_.set(e,o);let s=n=>x(t.edges[e],n,e),c=[`module`,`exports`,`require`,`process`,`console`,`Buffer`,`global`],l=[o,o.exports,s,r,a,globalThis.Buffer,globalThis];return g.get(e)!==`esm`&&(c.push(`__dirname`,`__filename`),l.push(qo(e),e)),Function(...c,i)(...l),g.get(e)===`cjs`&&Fc(o.exports),o.exports}function C(e){return h.has(e)}function w(e,n){if(s(n))return n;let r=t.edges[e]?.[n];if(r)return r;let i=qo(e);if(Kn(n)){let e=Wn(i,n,C);if(e)return e}else{let e=Gn(i,n,C);if(e)return e}let a=t.edgeErrors?.[e]?.[n];throw a?Error(a):zc(n)}function T(e,t){let n=b(t);return n.hit?n.value:S(w(e,t))}return{require:e=>x(t.entryMap,e,null)}}function Rc(e,t){let{fsBridge:n,processShim:r,childProcess:i,nodeOsModule:a,nodeUtilModule:o,nodePathModule:s,nodeReadline:c,nodeModule:l}=t;return e===`fs`||e===`fs/promises`?{hit:!0,value:n}:e===`path`?{hit:!0,value:s}:e===`crypto`?{hit:!0,value:Tn}:e===`child_process`?{hit:!0,value:i}:e===`process`?{hit:!0,value:r}:e===`buffer`?{hit:!0,value:{Buffer:globalThis.Buffer}}:e===`assert`?{hit:!0,value:_t}:e===`assert/strict`?{hit:!0,value:gt}:e===`util`?{hit:!0,value:o}:e===`events`?{hit:!0,value:Je}:e===`os`?{hit:!0,value:a}:e===`tty`?{hit:!0,value:$n}:e===`stream`?{hit:!0,value:Ct}:e===`url`?{hit:!0,value:E}:e===`zlib`?{hit:!0,value:zo}:e===`vm`?{hit:!0,value:yr}:e===`readline`&&c?{hit:!0,value:c}:e===`readline/promises`&&c?{hit:!0,value:c.promises}:e===`module`&&l?{hit:!0,value:l}:{hit:!1}}function zc(e){if(e.startsWith(`.`)||e.startsWith(`/`)||e.startsWith(`node:`))return Error(`Cannot find module '${e}'`);let t=e.startsWith(`@`)?e.split(`/`).slice(0,2).join(`/`):e.split(`/`)[0];return Error(`Cannot find module '${e}' (run: ipk install ${t})`)}function Bc(e,t){let n=e.slice(7);if(n===``)throw Error(`require('sliccy:'): empty sliccy: module name`);if(!Object.prototype.hasOwnProperty.call(t,n))throw Error(`require('${e}'): unknown sliccy: module '${n}'. Known names: ${Object.keys(t).sort().join(`, `)}`);return t[n]}const Vc={http:` Use fetch() instead.`,https:` Use fetch() instead.`,crypto:` Use globalThis.crypto (Web Crypto API) instead.`};function Hc(e,t){return Error(`require('${e}'): Node built-in '${t}' is not available in the browser environment.${Vc[t]||``}`)}async function Uc(e,t,n,r){let i=Object.keys(t),a=i.map(e=>t[e]),o=Object.getPrototypeOf(async function(){}).constructor,s=new o(...i,`${r?`"use strict";
34
34
  `:``}${e}`);try{return await s(...a),0}catch(e){return e instanceof Q?e.code:(n(`${e instanceof Error?e.stack??e.message:String(e)}\n`),1)}}function Wc(e,t){let n=t.handle;return{...t,open:t=>e.call(`serial`,`open`,[n,t]),close:()=>e.call(`serial`,`close`,[n]),read:(t={})=>e.call(`serial`,`read`,[n,{maxBytes:t.maxBytes??t.bytes,until:t.until?bc(t.until):void 0,timeoutMs:t.timeoutMs}]),write:t=>e.call(`serial`,`write`,[n,bc(t)]),getSignals:()=>e.call(`serial`,`getSignals`,[n]),setSignals:t=>e.call(`serial`,`setSignals`,[n,t])}}function Gc(e){return{list:async()=>(await e.call(`serial`,`list`,[])).map(t=>Wc(e,t)),request:async t=>Wc(e,await e.call(`serial`,`request`,[Sc(t)]))}}function Kc(e=globalThis,t){let n=e.setTimeout,r=e.clearTimeout,i=e.setInterval,a=e.clearInterval,o=n.bind(e),s=r.bind(e),c=i.bind(e),l=a.bind(e),u=new Set,d=new Set,f=new Set,p=!1,m=()=>{if(f.size===0)return;let e=[...f];f.clear();for(let t of e)t()},h=e=>{if(e==null)return!1;let t=u.delete(e),n=d.delete(e);return t||n},g=(e,n)=>{try{e(...n)}catch(e){if(t?.onCallbackError?.(e),!t?.onCallbackError)throw e}finally{m()}};return{get pendingCount(){return u.size+d.size},install(){p||(p=!0,e.setTimeout=((e,t,...n)=>{if(typeof e!=`function`)return o(e,t,...n);let r=o(()=>{u.delete(r),g(e,n)},t);return u.add(r),r}),e.clearTimeout=(e=>{let t=h(e);s(e),t&&m()}),e.setInterval=((e,t,...n)=>{if(typeof e!=`function`)return c(e,t,...n);let r=c(()=>{g(e,n)},t);return d.add(r),r}),e.clearInterval=(e=>{let t=h(e);l(e),t&&m()}))},restore(){p&&(p=!1,e.setTimeout=n,e.clearTimeout=r,e.setInterval=i,e.clearInterval=a)},clearPending(){for(let e of u)s(e);u.clear();for(let e of d)l(e);d.clear(),m()},tick(){return new Promise(e=>{o(e,0)})},waitForProgress(){return u.size+d.size===0?Promise.resolve():new Promise(e=>{f.add(e)})}}}function qc(e,t){let n=t.handle,r=e=>({status:e.status,data:xc(e.bytes)}),i=new Set,a=new Set,o=!1,s=null,c=e=>{let t=e;if(!t||t.handle!==n)return;let r=t.type===`disconnect`?i:a;for(let e of[...r])try{e(t)}catch{}},l=()=>{o||(o=!0,s=e.onEvent?e.onEvent(`usb-claim-event`,c):null,e.call(`usb`,`subscribeClaimEvents`,[n]).catch(()=>{o=!1,s?.(),s=null}))},u=()=>{!o||i.size>0||a.size>0||(o=!1,s?.(),s=null,e.call(`usb`,`unsubscribeClaimEvents`,[n]).catch(()=>{}))};return{...t,open:()=>e.call(`usb`,`open`,[n]),close:t=>e.call(`usb`,`close`,t?.force?[n,{force:!0}]:[n]),reset:t=>e.call(`usb`,`reset`,t?.force?[n,{force:!0}]:[n]),clearHalt:(t,r)=>e.call(`usb`,`clearHalt`,[n,t,r]),selectConfiguration:t=>e.call(`usb`,`selectConfig`,[n,t]),claimInterface:(t,r)=>e.call(`usb`,`claim`,r?.wait?[n,t,{wait:!0}]:[n,t]),releaseInterface:t=>e.call(`usb`,`release`,[n,t]),controlTransferIn:async(t,i)=>r(await e.call(`usb`,`controlIn`,[n,t,i])),controlTransferOut:(t,r)=>e.call(`usb`,`controlOut`,[n,t,bc(r)]),transferIn:async(t,i)=>r(await e.call(`usb`,`transferIn`,[n,t,i])),transferOut:(t,r)=>e.call(`usb`,`transferOut`,[n,t,bc(r)]),addEventListener(e,t){if(e===`disconnect`)i.add(t);else if(e===`claim-lost`)a.add(t);else throw TypeError(`usb device: unknown event type '${String(e)}'`);l()},removeEventListener(e,t){e===`disconnect`?i.delete(t):e===`claim-lost`&&a.delete(t),u()}}}function Jc(e){return{list:async()=>(await e.call(`usb`,`list`,[])).map(t=>qc(e,t)),request:async t=>qc(e,await e.call(`usb`,`request`,[Sc(t)]))}}function Yc(e){if(!e)return``;let t=e.lastIndexOf(`/`);return t<0?``:t===0?`/`:e.substring(0,t)}function Xc(e){if(!e)return e;let t=e.startsWith(`/`),n=e.split(`/`).filter(e=>e.length>0),r=n.indexOf(`scripts`);if(r<0)return e;let i=n.slice(0,r);return i.length===0?t?`/`:``:(t?`/`:``)+i.join(`/`)}function Zc(e){return/^[A-Za-z0-9_\-./:@]+$/.test(e)?e:`'`+e.replace(/'/g,`'\\''`)+`'`}function Qc(e,t){return e===``?t:e===`/`?`/${t}`:`${e}/${t}`}function $c(e){let t=Yc(e.argv[1]??``),n=Xc(t),r=Qc(n,`references`),i=Qc(n,`assets`),a=Qc(t,`.config`);async function o(){let t;try{t=await e.fs.exists(a)}catch{return null}if(!t)return null;let n;try{n=await e.fs.readFile(a)}catch{return null}let r=typeof n==`string`?n:String(n);if(!r.trim())return null;let i;try{i=JSON.parse(r)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`skill.config(): failed to parse ${a}: ${t}`)}if(i&&typeof i==`object`&&!Array.isArray(i))return i;throw Error(`skill.config(): ${a} must contain a JSON object`)}async function s(t){let n=await o();if(t===void 0)return n;if(typeof t!=`object`||!t||Array.isArray(t))throw TypeError(`skill.config(updates): updates must be a plain object`);let r={...n??{},...t};return await e.fs.writeFile(a,JSON.stringify(r,null,2)+`
35
- `),r}async function c(t){if(typeof t!=`string`||!t.trim())throw TypeError(`skill.token(providerId): providerId must be a non-empty string`);let n=`oauth-token ${Zc(t)}`,{stdout:r,stderr:i,exitCode:a}=await e.exec(n);if(a!==0){let e=i.trim()||`oauth-token exited with code ${a}`;throw Error(`skill.token('${t}'): ${e}`)}return r.replace(/\r?\n+$/,``)}return Object.freeze({dir:t,root:n,refs:r,assets:i,config:s,token:c})}const el=65536;function tl(e,t){if(!t)return e;let n=e+t;return n.length<=el?n:n.slice(n.length-el)}async function nl(e,t,n,r){let i;try{i=await e.call(`vfs`,`snapshot`,r?[t,r]:[t])}catch(e){n?.(e instanceof Error?e.message:String(e)),i={entries:[]}}return new _e(i)}function rl(e,t){if(e.syncFsToken)return e=>t(`[sync-fs] snapshot failed, sync metadata will be incomplete: ${e}\n`)}function il(e,t,n,r){globalThis.__slicc_mountVfs=async(i,a)=>{let{mountVfsIntoEmscripten:o}=await import(`./emscripten-vfs-hook-DN8XE7DM.js`);return o(i,{bridge:e,syncFs:t,cwd:n,warn:e=>r.writeStderr(`slicc: ${e}\n`)},a)}}function al(e,t,n,r,i){let a=x(e,t),o=y(e,a);if(Object.assign(r,Ke(n,e.cwd,o,i,{write:(e,n)=>{t.postMessage({type:`realm-fs-write`,path:e,bytes:n})},delete:e=>{t.postMessage({type:`realm-fs-delete`,path:e})}})),o&&il(o,n,e.cwd,i),e.syncFsToken)return _(e.syncFsToken,{syncFs:n,...o?{fsBridge:o}:{},...a?{transport:v(a),noDefaultDeadline:!0}:{}})}function ol(e=globalThis){Object.prototype.hasOwnProperty.call(e,`SLICC_VERSION`)||Object.defineProperty(e,"SLICC_VERSION",{value:i().version,writable:!1,enumerable:!1,configurable:!1})}function sl(e,t,n){let r=Ze({isTTY:!e,noColor:e});return{colorApi:r,cliApi:Ye({writeStdout:t,writeStderr:n,exit:e=>{throw new Q(e)},color:r})}}function cl(e,t,n){return{readStdinBytes:()=>ye(e.stdin??``),writeStdout:t,writeStderr:n}}function ll(e){return{usbBridge:Jc(e),serialBridge:Gc(e),hidBridge:wc(e),computerBridge:ac(e)}}async function ul(e,t){let n=e.captureOutput!==!1,r={stdout:``,stderr:``},i=(e,i)=>{let a=typeof i==`string`?i:String(i);e===`stdout`?r.stdout=n?r.stdout+a:tl(r.stdout,a):r.stderr=n?r.stderr+a:tl(r.stderr,a),t.postMessage({type:`realm-output`,stream:e,chunk:a})},a=e=>{i(`stdout`,e)},o=e=>{i(`stderr`,e)},s=ms(a,o),c=_s(e,a,o),{colorApi:l,cliApi:u}=sl(!!e.env?.NO_COLOR,a,o),f=new d(t),p=cl(e,a,o),m=je(f,D,p),h=await nl(f,e.cwd,rl(e,o),S(e)?{timeBudgetMs:150}:void 0),g=al(e,t,h,m,p),_=dc(f,h,e.cwd,o),v=Zs(_,{cwd:e.cwd}),y=$c({argv:e.argv,fs:m,exec:_}),b=tc(f),{usbBridge:x,serialBridge:C,hidBridge:w,computerBridge:T}=ll(f),E=qs({fetch:D});async function D(e,t){let n=e instanceof Request?e.url:e instanceof URL?e.toString():String(e);return mc(await f.call(`fetch`,`request`,[n,await $s(t,e)]),n)}let O=jc({exec:_,agent:v,skill:y,http:E,browser:b,usb:x,serial:C,hid:w,computer:T,cli:u,color:l}),k=e.filename,ee=qo(k),A=await Pc(f,e.code,e.cwd,k),te=Lc({graph:A,fsBridge:m,processShim:c.processShim,childProcess:un(_,g),nodeConsole:s,sliccyModules:O,shimmedPackages:Ic(f),nodeReadline:Ts({output:{write:a},onExit:c.recordExit}),nodeOsModule:Zn(e.env),nodeUtilModule:Xt(e=>o(`${e}\n`),()=>c.processShim.argv.slice(2))}).require,ne={exports:{},filename:e.filename},re=A.entrySource!==void 0;await dl({entryCode:A.entrySource??e.code,isEsmEntry:re,entryIsModule:A.entryIsModule===!0,filename:k,dirname:ee,proc:c,nodeConsole:s,requireShim:te,moduleShim:ne,realmFetch:D,writeStderr:o,rpc:f,syncFs:h,output:r,port:t})}async function dl(e){let t=globalThis;ol(),t.__slicc_compileWasm=t=>e.rpc.call(`wasm`,`compile`,[t]);let n=Kc(globalThis,{onCallbackError(e){if(!(e instanceof Q))throw e}}),{createBodyReadHandleTracker:r}=await import(`./realm-body-handles-BeoKKjy1.js`),i=r(globalThis);n.install(),i.install();let a=hs(globalThis,e.proc.processShim),{watchUnhandledRejections:o}=await import(`./realm-unhandled-rejections-miZXfpdf.js`),s=o(globalThis,{writeStderr:e.writeStderr,didExit:e.proc.getDidCallProcessExit,recordExit:e.proc.recordExit});try{let r=await fl({entryCode:e.entryCode,bridges:{process:e.proc.processShim,console:e.nodeConsole,require:e.requireShim,module:e.moduleShim,exports:e.moduleShim.exports,fetch:e.realmFetch,...e.entryIsModule?{}:{__dirname:e.dirname,__filename:e.filename}},writeStderr:e.writeStderr,isEsmEntry:e.isEsmEntry,rpc:e.rpc,syncFs:e.syncFs,proc:e.proc,timers:n,bodyReads:i,fatal:s.fatal});delete t.__slicc_compileWasm,delete t.__slicc_mountVfs,e.rpc.dispose(),e.port.postMessage({type:`realm-done`,stdout:e.output.stdout,stderr:e.output.stderr,exitCode:r})}finally{s.dispose(),n.clearPending(),n.restore(),i.restore(),a()}}async function fl(e){let t=await Uc(e.entryCode,e.bridges,e.writeStderr,e.isEsmEntry);return await pl(e.rpc,e.syncFs,e.writeStderr),e.proc.getDidCallProcessExit()?(e.timers.clearPending(),e.proc.getExitCode()):(await ml(e.rpc,e.timers,e.bodyReads,e.proc,e.fatal),e.proc.getDidCallProcessExit()&&e.timers.clearPending(),await pl(e.rpc,e.syncFs,e.writeStderr),e.proc.getDidCallProcessExit()||t===0?e.proc.getExitCode():t)}async function pl(e,t,n){let r=t.getMutations();if(r.created.length||r.modified.length||r.deleted.length)try{await e.call(`vfs`,`flushWrites`,[r]),t.resetBaseline()}catch(e){let t=e instanceof Error?e.message:String(e);n(`[sync-fs] ERROR: flush failed — ${r.created.length+r.modified.length} write(s) + ${r.deleted.length} delete(s) were NOT persisted: ${t}\n`)}}async function ml(e,t,n,r,i){await t.tick();let a=0;for(;!r.getDidCallProcessExit()&&a<2;){let o=[];if(e.pendingCount>0&&o.push(e.waitForProgress()),t.pendingCount>0&&o.push(t.waitForProgress()),n.pendingCount>0&&o.push(n.waitForProgress()),o.length===0){a+=1,await t.tick();continue}a=0,o.push(i),await Promise.race(o),r.getDidCallProcessExit()||await t.tick()}}function hl(){let e=new Set,t=new Set;return{realmSide:{postMessage:e=>{queueMicrotask(()=>{for(let n of[...t])n({data:e})})},addEventListener:(t,n)=>{e.add(n)},removeEventListener:(t,n)=>{e.delete(n)}},hostSide:{postMessage:t=>{queueMicrotask(()=>{for(let n of[...e])n({data:t})})},addEventListener:(e,n)=>{t.add(n)},removeEventListener:(e,n)=>{t.delete(n)}}}}function gl(){return async({kind:e})=>{if(e!==`js`)throw Error(`createInProcessJsRealmFactory: only kind:js is supported`);let{realmSide:t,hostSide:n}=hl(),r=e=>{if(e.data?.type!==`realm-init`)return;t.removeEventListener(`message`,r);let n=e.data;n.kind===`js`&&ul(n,t).catch(e=>{let n={type:`realm-error`,message:e instanceof Error?e.message:String(e)};t.postMessage(n)})};return t.addEventListener(`message`,r),{controlPort:n,terminate(){t.removeEventListener(`message`,r)}}}}function _l(){return async({kind:e})=>{if(e!==`py`)throw Error(`createInProcessPyRealmFactory: only kind:py is supported`);let{realmSide:t,hostSide:n}=hl(),r=e=>{if(e.data?.type!==`realm-init`)return;t.removeEventListener(`message`,r);let n=e.data;n.kind===`py`&&p(n,t).catch(e=>{let n={type:`realm-error`,message:e instanceof Error?e.message:String(e)};t.postMessage(n)})};return t.addEventListener(`message`,r),{controlPort:n,terminate(){t.removeEventListener(`message`,r)}}}}export{gl as createInProcessJsRealmFactory,_l as createInProcessPyRealmFactory,Q as t};
35
+ `),r}async function c(t){if(typeof t!=`string`||!t.trim())throw TypeError(`skill.token(providerId): providerId must be a non-empty string`);let n=`oauth-token ${Zc(t)}`,{stdout:r,stderr:i,exitCode:a}=await e.exec(n);if(a!==0){let e=i.trim()||`oauth-token exited with code ${a}`;throw Error(`skill.token('${t}'): ${e}`)}return r.replace(/\r?\n+$/,``)}return Object.freeze({dir:t,root:n,refs:r,assets:i,config:s,token:c})}const el=65536;function tl(e,t){if(!t)return e;let n=e+t;return n.length<=el?n:n.slice(n.length-el)}async function nl(e,t,n,r){let i;try{i=await e.call(`vfs`,`snapshot`,r?[t,r]:[t])}catch(e){n?.(e instanceof Error?e.message:String(e)),i={entries:[]}}return new _e(i)}function rl(e,t){if(e.syncFsToken)return e=>t(`[sync-fs] snapshot failed, sync metadata will be incomplete: ${e}\n`)}function il(e,t,n,r){globalThis.__slicc_mountVfs=async(i,a)=>{let{mountVfsIntoEmscripten:o}=await import(`./emscripten-vfs-hook-DN8XE7DM.js`);return o(i,{bridge:e,syncFs:t,cwd:n,warn:e=>r.writeStderr(`slicc: ${e}\n`)},a)}}function al(e,t,n,r,i){let a=x(e,t),o=y(e,a);if(Object.assign(r,Ke(n,e.cwd,o,i,{write:(e,n)=>{t.postMessage({type:`realm-fs-write`,path:e,bytes:n})},delete:e=>{t.postMessage({type:`realm-fs-delete`,path:e})}})),o&&il(o,n,e.cwd,i),e.syncFsToken)return _(e.syncFsToken,{syncFs:n,...o?{fsBridge:o}:{},...a?{transport:v(a),noDefaultDeadline:!0}:{}})}function ol(e=globalThis){Object.prototype.hasOwnProperty.call(e,`SLICC_VERSION`)||Object.defineProperty(e,"SLICC_VERSION",{value:i().version,writable:!1,enumerable:!1,configurable:!1})}function sl(e,t,n){let r=Ze({isTTY:!e,noColor:e});return{colorApi:r,cliApi:Ye({writeStdout:t,writeStderr:n,exit:e=>{throw new Q(e)},color:r})}}function cl(e,t,n){return{readStdinBytes:()=>ye(e.stdin??``),writeStdout:t,writeStderr:n}}function ll(e){return{usbBridge:Jc(e),serialBridge:Gc(e),hidBridge:wc(e),computerBridge:ac(e)}}async function ul(e,t){let n=e.captureOutput!==!1,r={stdout:``,stderr:``},i=(e,i)=>{let a=typeof i==`string`?i:String(i);e===`stdout`?r.stdout=n?r.stdout+a:tl(r.stdout,a):r.stderr=n?r.stderr+a:tl(r.stderr,a),t.postMessage({type:`realm-output`,stream:e,chunk:a})},a=e=>{i(`stdout`,e)},o=e=>{i(`stderr`,e)},s=ms(a,o),c=_s(e,a,o),{colorApi:l,cliApi:u}=sl(!!e.env?.NO_COLOR,a,o),f=new d(t),p=cl(e,a,o),m=je(f,D,p),h=await nl(f,e.cwd,rl(e,o),S(e)?{timeBudgetMs:150}:void 0),g=al(e,t,h,m,p),_=dc(f,h,e.cwd,o),v=Zs(_,{cwd:e.cwd}),y=$c({argv:e.argv,fs:m,exec:_}),b=tc(f),{usbBridge:x,serialBridge:C,hidBridge:w,computerBridge:T}=ll(f),E=qs({fetch:D});async function D(e,t){let n=e instanceof Request?e.url:e instanceof URL?e.toString():String(e);return mc(await f.call(`fetch`,`request`,[n,await $s(t,e)]),n)}let O=jc({exec:_,agent:v,skill:y,http:E,browser:b,usb:x,serial:C,hid:w,computer:T,cli:u,color:l}),k=e.filename,ee=qo(k),A=await Pc(f,e.code,e.cwd,k),te=Lc({graph:A,fsBridge:m,processShim:c.processShim,childProcess:un(_,g),nodeConsole:s,sliccyModules:O,shimmedPackages:Ic(f),nodeReadline:Ts({output:{write:a},onExit:c.recordExit}),nodeOsModule:Zn(e.env),nodeUtilModule:Xt(e=>o(`${e}\n`),()=>c.processShim.argv.slice(2))}).require,ne={exports:{},filename:e.filename},re=A.entrySource!==void 0;await dl({entryCode:A.entrySource??e.code,isEsmEntry:re,entryIsModule:A.entryIsModule===!0,filename:k,dirname:ee,proc:c,nodeConsole:s,requireShim:te,moduleShim:ne,realmFetch:D,writeStderr:o,rpc:f,syncFs:h,output:r,port:t})}async function dl(e){let t=globalThis;ol(),t.__slicc_compileWasm=t=>e.rpc.call(`wasm`,`compile`,[t]);let n=Kc(globalThis,{onCallbackError(e){if(!(e instanceof Q))throw e}}),{createBodyReadHandleTracker:r}=await import(`./realm-body-handles-BeoKKjy1.js`),i=r(globalThis);n.install(),i.install();let a=hs(globalThis,e.proc.processShim),{watchUnhandledRejections:o}=await import(`./realm-unhandled-rejections-CtQi1yQa.js`),s=o(globalThis,{writeStderr:e.writeStderr,didExit:e.proc.getDidCallProcessExit,recordExit:e.proc.recordExit});try{let r=await fl({entryCode:e.entryCode,bridges:{process:e.proc.processShim,console:e.nodeConsole,require:e.requireShim,module:e.moduleShim,exports:e.moduleShim.exports,fetch:e.realmFetch,...e.entryIsModule?{}:{__dirname:e.dirname,__filename:e.filename}},writeStderr:e.writeStderr,isEsmEntry:e.isEsmEntry,rpc:e.rpc,syncFs:e.syncFs,proc:e.proc,timers:n,bodyReads:i,fatal:s.fatal});delete t.__slicc_compileWasm,delete t.__slicc_mountVfs,e.rpc.dispose(),e.port.postMessage({type:`realm-done`,stdout:e.output.stdout,stderr:e.output.stderr,exitCode:r})}finally{s.dispose(),n.clearPending(),n.restore(),i.restore(),a()}}async function fl(e){let t=await Uc(e.entryCode,e.bridges,e.writeStderr,e.isEsmEntry);return await pl(e.rpc,e.syncFs,e.writeStderr),e.proc.getDidCallProcessExit()?(e.timers.clearPending(),e.proc.getExitCode()):(await ml(e.rpc,e.timers,e.bodyReads,e.proc,e.fatal),e.proc.getDidCallProcessExit()&&e.timers.clearPending(),await pl(e.rpc,e.syncFs,e.writeStderr),e.proc.getDidCallProcessExit()||t===0?e.proc.getExitCode():t)}async function pl(e,t,n){let r=t.getMutations();if(r.created.length||r.modified.length||r.deleted.length)try{await e.call(`vfs`,`flushWrites`,[r]),t.resetBaseline()}catch(e){let t=e instanceof Error?e.message:String(e);n(`[sync-fs] ERROR: flush failed — ${r.created.length+r.modified.length} write(s) + ${r.deleted.length} delete(s) were NOT persisted: ${t}\n`)}}async function ml(e,t,n,r,i){await t.tick();let a=0;for(;!r.getDidCallProcessExit()&&a<2;){let o=[];if(e.pendingCount>0&&o.push(e.waitForProgress()),t.pendingCount>0&&o.push(t.waitForProgress()),n.pendingCount>0&&o.push(n.waitForProgress()),o.length===0){a+=1,await t.tick();continue}a=0,o.push(i),await Promise.race(o),r.getDidCallProcessExit()||await t.tick()}}function hl(){let e=new Set,t=new Set;return{realmSide:{postMessage:e=>{queueMicrotask(()=>{for(let n of[...t])n({data:e})})},addEventListener:(t,n)=>{e.add(n)},removeEventListener:(t,n)=>{e.delete(n)}},hostSide:{postMessage:t=>{queueMicrotask(()=>{for(let n of[...e])n({data:t})})},addEventListener:(e,n)=>{t.add(n)},removeEventListener:(e,n)=>{t.delete(n)}}}}function gl(){return async({kind:e})=>{if(e!==`js`)throw Error(`createInProcessJsRealmFactory: only kind:js is supported`);let{realmSide:t,hostSide:n}=hl(),r=e=>{if(e.data?.type!==`realm-init`)return;t.removeEventListener(`message`,r);let n=e.data;n.kind===`js`&&ul(n,t).catch(e=>{let n={type:`realm-error`,message:e instanceof Error?e.message:String(e)};t.postMessage(n)})};return t.addEventListener(`message`,r),{controlPort:n,terminate(){t.removeEventListener(`message`,r)}}}}function _l(){return async({kind:e})=>{if(e!==`py`)throw Error(`createInProcessPyRealmFactory: only kind:py is supported`);let{realmSide:t,hostSide:n}=hl(),r=e=>{if(e.data?.type!==`realm-init`)return;t.removeEventListener(`message`,r);let n=e.data;n.kind===`py`&&p(n,t).catch(e=>{let n={type:`realm-error`,message:e instanceof Error?e.message:String(e)};t.postMessage(n)})};return t.addEventListener(`message`,r),{controlPort:n,terminate(){t.removeEventListener(`message`,r)}}}}export{gl as createInProcessJsRealmFactory,_l as createInProcessPyRealmFactory,Q as t};
@@ -1 +1 @@
1
- import{t as e}from"./js-realm-worker-BXTtb6iw.js";function t(e){return e instanceof Error?`${e.stack??`${e.name}: ${e.message}`}\n`:`Uncaught ${typeof e==`string`?`'${e}'`:String(e)}\n`}function n(n,r){let i=()=>void 0,a=new Promise(e=>{i=e});if(typeof n.addEventListener!=`function`)return{fatal:a,dispose:()=>void 0};let o=n=>{let a=n.reason;n.preventDefault(),!(a instanceof e||r.didExit())&&(r.writeStderr(t(a)),r.recordExit(1),i())};return n.addEventListener(`unhandledrejection`,o),{fatal:a,dispose:()=>n.removeEventListener?.(`unhandledrejection`,o)}}export{n as watchUnhandledRejections};
1
+ import{t as e}from"./realm-inprocess-BM3rzakW.js";function t(e){return e instanceof Error?`${e.stack??`${e.name}: ${e.message}`}\n`:`Uncaught ${typeof e==`string`?`'${e}'`:String(e)}\n`}function n(n,r){let i=()=>void 0,a=new Promise(e=>{i=e});if(typeof n.addEventListener!=`function`)return{fatal:a,dispose:()=>void 0};let o=n=>{let a=n.reason;n.preventDefault(),!(a instanceof e||r.didExit())&&(r.writeStderr(t(a)),r.recordExit(1),i())};return n.addEventListener(`unhandledrejection`,o),{fatal:a,dispose:()=>n.removeEventListener?.(`unhandledrejection`,o)}}export{n as watchUnhandledRejections};
@@ -1 +1 @@
1
- import{t as e}from"./realm-inprocess-COVtouC-.js";function t(e){return e instanceof Error?`${e.stack??`${e.name}: ${e.message}`}\n`:`Uncaught ${typeof e==`string`?`'${e}'`:String(e)}\n`}function n(n,r){let i=()=>void 0,a=new Promise(e=>{i=e});if(typeof n.addEventListener!=`function`)return{fatal:a,dispose:()=>void 0};let o=n=>{let a=n.reason;n.preventDefault(),!(a instanceof e||r.didExit())&&(r.writeStderr(t(a)),r.recordExit(1),i())};return n.addEventListener(`unhandledrejection`,o),{fatal:a,dispose:()=>n.removeEventListener?.(`unhandledrejection`,o)}}export{n as watchUnhandledRejections};
1
+ import{t as e}from"./js-realm-worker-Cu7m3Um0.js";function t(e){return e instanceof Error?`${e.stack??`${e.name}: ${e.message}`}\n`:`Uncaught ${typeof e==`string`?`'${e}'`:String(e)}\n`}function n(n,r){let i=()=>void 0,a=new Promise(e=>{i=e});if(typeof n.addEventListener!=`function`)return{fatal:a,dispose:()=>void 0};let o=n=>{let a=n.reason;n.preventDefault(),!(a instanceof e||r.didExit())&&(r.writeStderr(t(a)),r.recordExit(1),i())};return n.addEventListener(`unhandledrejection`,o),{fatal:a,dispose:()=>n.removeEventListener?.(`unhandledrejection`,o)}}export{n as watchUnhandledRejections};
@@ -1 +1 @@
1
- import{o as e}from"./api-endpoint-DuEQRZ4g.js";import{h as t}from"./main-CLRSdtmZ.js";async function n(){try{let e=await navigator.serviceWorker?.getRegistrations?.();e&&await Promise.all(e.map(e=>e.unregister().catch(()=>!1)))}catch{}try{let e=await indexedDB.databases();await Promise.all(e.filter(e=>!!e.name).map(e=>new Promise(t=>{let n=indexedDB.deleteDatabase(e.name);n.onsuccess=()=>t(),n.onerror=()=>t(),n.onblocked=()=>t()})))}catch{}try{let e=navigator.storage;if(typeof e?.getDirectory==`function`){let t=await e.getDirectory(),n=[];for await(let e of t.keys())n.push(e);await Promise.all(n.map(e=>t.removeEntry(e,{recursive:!0}).catch(()=>{})))}}catch{}}function r(r,i,a={}){if(r.dataset.recoveryBusy===`1`)return;let o=a.wipe??n,s=a.reload??(()=>location.reload()),c=i instanceof Error?i.message:String(i),l=a.verdict===`browser-wedged`,u=e(i),d=l||u,f=document.createElement(`div`);f.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let p=document.createElement(`h1`);p.style.color=`var(--s2-negative, #e34850)`,p.textContent=l?`Your browser needs a restart`:`Failed to start`;let m=document.createElement(`p`);m.style.color=`var(--s2-content-tertiary, #717171)`,m.textContent=c;let h=document.createElement(`div`);h.style.cssText=`display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;`;let g=document.createElement(`button`);g.type=`button`,g.textContent=`Reset local data & reload`,g.dataset.variant=d?`demoted`:`destructive`,g.style.cssText=d?`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-content-tertiary, #717171);background:transparent;color:inherit;border-radius:4px;`:`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-negative, #e34850);background:var(--s2-negative, #e34850);color:#fff;border-radius:4px;`;let _=document.createElement(`button`);if(_.type=`button`,_.textContent=`Reload`,_.style.cssText=l?`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-accent, #0265dc);background:var(--s2-accent, #0265dc);color:#fff;border-radius:4px;`:`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-content-tertiary, #717171);background:transparent;color:inherit;border-radius:4px;`,g.addEventListener(`click`,()=>{g.disabled=!0,_.disabled=!0,g.textContent=`Resetting…`,r.dataset.recoveryBusy=`1`,(async()=>{try{await o()}catch{}for(let e of t)try{localStorage.removeItem(e)}catch{}s()})()}),_.addEventListener(`click`,()=>{s()}),l){let e=document.createElement(`p`);e.style.cssText=`max-width:34rem;margin:1rem auto 0;`,e.textContent=`This browser has stopped starting web workers — a browser process issue, not a problem with your data. Quit the browser completely, reopen it, and come back. Your local data is intact; resetting it will not fix this.`,f.append(p,m,e),h.append(_,g)}else f.append(p,m),h.append(g,_);for(f.append(h);r.firstChild;)r.removeChild(r.firstChild);r.appendChild(f)}export{r as renderBootRecoveryScreen};
1
+ import{o as e}from"./api-endpoint-DuEQRZ4g.js";import{h as t}from"./main-DfG-7olk.js";async function n(){try{let e=await navigator.serviceWorker?.getRegistrations?.();e&&await Promise.all(e.map(e=>e.unregister().catch(()=>!1)))}catch{}try{let e=await indexedDB.databases();await Promise.all(e.filter(e=>!!e.name).map(e=>new Promise(t=>{let n=indexedDB.deleteDatabase(e.name);n.onsuccess=()=>t(),n.onerror=()=>t(),n.onblocked=()=>t()})))}catch{}try{let e=navigator.storage;if(typeof e?.getDirectory==`function`){let t=await e.getDirectory(),n=[];for await(let e of t.keys())n.push(e);await Promise.all(n.map(e=>t.removeEntry(e,{recursive:!0}).catch(()=>{})))}}catch{}}function r(r,i,a={}){if(r.dataset.recoveryBusy===`1`)return;let o=a.wipe??n,s=a.reload??(()=>location.reload()),c=i instanceof Error?i.message:String(i),l=a.verdict===`browser-wedged`,u=e(i),d=l||u,f=document.createElement(`div`);f.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let p=document.createElement(`h1`);p.style.color=`var(--s2-negative, #e34850)`,p.textContent=l?`Your browser needs a restart`:`Failed to start`;let m=document.createElement(`p`);m.style.color=`var(--s2-content-tertiary, #717171)`,m.textContent=c;let h=document.createElement(`div`);h.style.cssText=`display:flex;gap:0.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem;`;let g=document.createElement(`button`);g.type=`button`,g.textContent=`Reset local data & reload`,g.dataset.variant=d?`demoted`:`destructive`,g.style.cssText=d?`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-content-tertiary, #717171);background:transparent;color:inherit;border-radius:4px;`:`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-negative, #e34850);background:var(--s2-negative, #e34850);color:#fff;border-radius:4px;`;let _=document.createElement(`button`);if(_.type=`button`,_.textContent=`Reload`,_.style.cssText=l?`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-accent, #0265dc);background:var(--s2-accent, #0265dc);color:#fff;border-radius:4px;`:`padding:0.5rem 1rem;cursor:pointer;border:1px solid var(--s2-content-tertiary, #717171);background:transparent;color:inherit;border-radius:4px;`,g.addEventListener(`click`,()=>{g.disabled=!0,_.disabled=!0,g.textContent=`Resetting…`,r.dataset.recoveryBusy=`1`,(async()=>{try{await o()}catch{}for(let e of t)try{localStorage.removeItem(e)}catch{}s()})()}),_.addEventListener(`click`,()=>{s()}),l){let e=document.createElement(`p`);e.style.cssText=`max-width:34rem;margin:1rem auto 0;`,e.textContent=`This browser has stopped starting web workers — a browser process issue, not a problem with your data. Quit the browser completely, reopen it, and come back. Your local data is intact; resetting it will not fix this.`,f.append(p,m,e),h.append(_,g)}else f.append(p,m),h.append(g,_);for(f.append(h);r.firstChild;)r.removeChild(r.firstChild);r.appendChild(f)}export{r as renderBootRecoveryScreen};
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-shell-wjSyYHqZ.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-FDmqEyc_.js","assets/core-DzRw0pz2.js","assets/compat-0YnuwvMn.js","assets/models-D9KYIFyv.js","assets/diagnostics-B-5VkVir.js","assets/env-api-keys-BMbk-OAv.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-C88RzzVZ.js","assets/azure-openai-config--zABV6W_.js","assets/utf16-clip-CGL7omVm.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-BCxZdggt.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/renamed-providers-DDe6My59.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-BUdZEBvI.js","assets/wc-shell-WkeczD9x.css"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-shell-fIEX0Fr7.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-D6Y7UkDR.js","assets/core-DzRw0pz2.js","assets/compat-0YnuwvMn.js","assets/models-D9KYIFyv.js","assets/diagnostics-B-5VkVir.js","assets/env-api-keys-BMbk-OAv.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-C88RzzVZ.js","assets/azure-openai-config--zABV6W_.js","assets/utf16-clip-CGL7omVm.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/runtime-env-Dlaokqg1.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-4SFNzKj4.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/renamed-providers-DDe6My59.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-BUdZEBvI.js","assets/wc-shell-WkeczD9x.css"])))=>i.map(i=>d[i]);
2
2
  import{t as e}from"./preload-helper-Czpn1I53.js";import"./tool-ui-eSQ1g2I1.js";import{t}from"./permissions-surface-registry-CilCRwhh.js";import{storePendingHandle as n}from"./mount-picker-popup-qcWGbpG5.js";import{r,t as i}from"./hid-device-registry-B2R-0rNt.js";import"./browser-Chc3wUwj.js";import{a,n as o}from"./serial-port-registry-CCqklAEr.js";import{a as s,t as c}from"./usb-device-registry--JwKRTYp.js";import"./usb-operations-v1mGAdRY.js";import{t as l}from"./terminal-session-client-DmE-iBjP.js";function u(e,t){let n=[],r=new Map,i=new Set;for(let a=0;a<e.length;a++){let o=e[a];o.startsWith(`-`)?t.has(o)?r.set(o,e[++a]??``):i.add(o):n.push(o)}return{positionals:n,flags:r,bools:i}}new TextDecoder(`utf-8`,{fatal:!1}),new TextEncoder;var d=new Set([`--vid`,`--pid`,`--baud`,`--data-bits`,`--stop-bits`,`--parity`,`--flow-control`,`--buffer-size`,`--bytes`,`--until`,`--timeout-ms`,`--dtr`,`--rts`,`--break`,`--__resolved`]);function f(e){return u(e,d)}function p(e,t){let n=/^0x/i.test(e)?parseInt(e,16):parseInt(e,10);if(!Number.isFinite(n)||Number.isNaN(n))throw Error(`invalid ${t}: '${e}'`);return n}function m(e){let t={};return e.has(`--vid`)&&(t.usbVendorId=p(e.get(`--vid`),`vid`)),e.has(`--pid`)&&(t.usbProductId=p(e.get(`--pid`),`pid`)),Object.keys(t).length>0?[t]:[]}`${o}${o}`;var h=new Set([`--port`,`--baud`,`--vid`,`--pid`]),g=115200;function _(e){return u(e,h)}`${g}`;var v=new Set([`--vid`,`--pid`,`--usage-page`,`--usage`,`--__resolved`,`--timeout`]);function y(e){return u(e,v)}function b(e,t){let n=/^0x/i.test(e)?parseInt(e,16):parseInt(e,10);if(!Number.isFinite(n)||Number.isNaN(n))throw Error(`invalid ${t}: '${e}'`);return n}function x(e){let t={};return e.has(`--vid`)&&(t.vendorId=b(e.get(`--vid`),`vid`)),e.has(`--pid`)&&(t.productId=b(e.get(`--pid`),`pid`)),e.has(`--usage-page`)&&(t.usagePage=b(e.get(`--usage-page`),`usage-page`)),e.has(`--usage`)&&(t.usage=b(e.get(`--usage`),`usage`)),Object.keys(t).length>0?[t]:[]}`${i}`;var S=new Set([`--vid`,`--pid`,`--class`,`--subclass`,`--protocol`,`--serial`,`--request-type`,`--recipient`,`--request`,`--value`,`--index`,`--__resolved`]);function C(e){return u(e,S)}function w(e,t){let n=/^0x/i.test(e)?parseInt(e,16):parseInt(e,10);if(!Number.isFinite(n)||Number.isNaN(n))throw Error(`invalid ${t}: '${e}'`);return n}function T(e){let t={};return e.has(`--vid`)&&(t.vendorId=w(e.get(`--vid`),`vid`)),e.has(`--pid`)&&(t.productId=w(e.get(`--pid`),`pid`)),e.has(`--class`)&&(t.classCode=w(e.get(`--class`),`class`)),e.has(`--subclass`)&&(t.subclassCode=w(e.get(`--subclass`),`subclass`)),e.has(`--protocol`)&&(t.protocolCode=w(e.get(`--protocol`),`protocol`)),e.has(`--serial`)&&(t.serialNumber=e.get(`--serial`)),Object.keys(t).length>0?[t]:[]}`${c}`;var E=`\x1B]7777;`,D=/\x1b\]7777;(\d+)\x07/g;String.raw`printf '\033]7777;%s\007' "$?"`,[`if [ -f ~/.bashrc ]; then . ~/.bashrc; fi`,`exec 98<&-`,``].join(`
3
3
  `);function O(e){let t=e.replace(/\r\n/g,`
4
4
  `),n=t.indexOf(`
@@ -6,7 +6,7 @@ import{t as e}from"./preload-helper-Czpn1I53.js";import"./tool-ui-eSQ1g2I1.js";i
6
6
  `),this.prompt=e,this.line=[],this.cursor=0,this.historyIndex=this.history.length,this.draft=``,this.anchorRow=this.display.getCursor().row,this.display.write(e),new Promise((e,t)=>{this.resolve=e,this.reject=t})}abort(e){this.reject?.(e),this.resolve=null,this.reject=null}setLine(e){this.isReading&&(this.line=[...e],this.cursor=this.line.length,this.redraw())}insert(e){if(!this.isReading||!e)return;let t=[...e.replace(/[\r\n\x1b]/g,``)];this.line.splice(this.cursor,0,...t),this.cursor+=t.length,this.redraw()}list(e){if(!this.isReading)return;let t=this.cursor;this.cursor=this.line.length,this.redraw(),this.display.write(`\r\n${e.join(` `)}\r\n`),this.anchorRow=this.display.getCursor().row,this.cursor=t,this.redraw()}accept(){if(!this.resolve)return;this.cursor=this.line.length,this.redraw();let e=this.text;this.display.write(`\r
7
7
  `),e.trim()&&this.history.at(-1)!==e&&(this.history.push(e),this.history.length>A&&this.history.shift());let t=this.resolve;this.resolve=null,this.reject=null,t(e)}cancel(){if(!this.resolve)return;this.cursor=this.line.length,this.redraw(),this.display.write(`^C\r
8
8
  `);let e=this.resolve;this.resolve=null,this.reject=null,e(``)}feed(e){if(this.isReading)switch(e){case`\r`:case`
9
- `:this.accept();return;case``:this.cancel();return;case``:case`\b`:this.cursor>0&&(this.line.splice(--this.cursor,1),this.redraw());return;case`\x1B[3~`:this.cursor<this.line.length&&(this.line.splice(this.cursor,1),this.redraw());return;case`\x1B[D`:case`\x1BOD`:this.cursor=Math.max(0,this.cursor-1),this.redraw();return;case`\x1B[C`:case`\x1BOC`:this.cursor=Math.min(this.line.length,this.cursor+1),this.redraw();return;case`\x1B[H`:case`\x1BOH`:case``:this.cursor=0,this.redraw();return;case`\x1B[F`:case`\x1BOF`:case``:this.cursor=this.line.length,this.redraw();return;case`\x1B[A`:case`\x1BOA`:this.navigate(-1);return;case`\x1B[B`:case`\x1BOB`:this.navigate(1);return;case``:this.line.splice(0,this.cursor),this.cursor=0,this.redraw();return;case`\v`:this.line.splice(this.cursor),this.redraw();return;case``:{let e=this.cursor;for(;e>0&&/\s/.test(this.line[e-1]??``);)e--;for(;e>0&&!/\s/.test(this.line[e-1]??``);)e--;this.line.splice(e,this.cursor-e),this.cursor=e,this.redraw();return}default:!e.includes(`\x1B`)&&!/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/.test(e)&&this.insert(e.replace(/[\r\n\t]+/g,` `))}}navigate(e){e<0&&this.historyIndex===0||e>0&&this.historyIndex===this.history.length||(this.historyIndex===this.history.length&&(this.draft=this.text),this.historyIndex+=e,this.line=[...this.history[this.historyIndex]??this.draft],this.cursor=this.line.length,this.redraw())}redraw(){let{row:e}=this.display.getCursor(),t=this.display.getScrollbackCount(),n=e-this.anchorRow;n>0&&this.display.write(`\x1b[${n}A`),this.display.write(`\r\x1B[0J`),this.display.write(this.prompt+this.beforeCursor),this.display.write(`\x1B7`),this.display.write(this.line.slice(this.cursor).join(``)),this.display.write(`\x1B8`),this.anchorRow=Math.max(0,this.anchorRow-(this.display.getScrollbackCount()-t))}},M=`\x1B[34m/\x1B[0m \x1B[90m$\x1B[0m `,N=class{options;client;terminal=null;terminalHost=null;previewHost=null;previewUrls=[];hasPreview=!1;previewStateListener=null;resizeObserver=null;rejectTerminalReady=null;editor=null;disposed=!1;programmaticResolve=null;isExecuting=!1;ptyMode=!1;loginShell=!1;loginSawPty=!1;marks=new k;settleSession=()=>{};sessionSettled=new Promise(e=>{this.settleSession=e});reportedSize=``;suppressOutput=!1;tabBusy=!1;pendingTabInput=[];constructor(e){this.options=e;let t=e.sid??`panel-terminal-${Date.now()}`;this.client=new l({client:e.client,sid:t,onEvent:e=>this.handleEvent(e)})}async mount(t){if(await e(()=>import(`./wc-shell-wjSyYHqZ.js`).then(e=>e.N),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),this.disposed)return;t.replaceChildren(),this.terminalHost=document.createElement(`div`),this.terminalHost.className=`terminal-panel__terminal-host`,t.appendChild(this.terminalHost),this.previewHost=document.createElement(`div`),this.previewHost.className=`terminal-panel__preview`,t.appendChild(this.previewHost);let n=document.createElement(`slicc-terminal`);n.hideHeader=!0,n.style.width=`100%`,n.style.height=`100%`,this.terminal=n;let r=new Promise((e,t)=>{let r=()=>{n.removeEventListener(`terminal-ready`,i),n.removeEventListener(`terminal-error`,a),this.rejectTerminalReady=null},i=()=>{r(),e()},a=e=>{r(),t(e.detail)};this.rejectTerminalReady=e=>{r(),t(e)},n.addEventListener(`terminal-ready`,i),n.addEventListener(`terminal-error`,a)});n.addEventListener(`terminal-data`,e=>{this.handleTerminalData(e.detail)}),this.terminalHost.appendChild(n),await r,!this.disposed&&(n.fit(),this.editor=new j({write:e=>n.write(e),getCursor:()=>n.terminal?.bridge?.getCursor()??{row:0,col:0},getScrollbackCount:()=>n.terminal?.bridge?.getScrollbackCount()??0}),this.resizeObserver=new ResizeObserver(()=>this.refit()),this.resizeObserver.observe(this.terminalHost),await this.client.open({cwd:this.options.cwd,env:this.options.env}),this.startSession(n))}async startSession(e){let t=await this.runLoginShell();this.disposed||(t||(e.writeln(`\x1B[1mslicc\x1B[0m \x1B[90mshell (kernel)\x1B[0m`),e.writeln(`\x1B[90mType "help" for available commands.\x1B[0m`),e.writeln(``)),this.runPromptLoop(),this.settleSession())}async runLoginShell(){this.loginShell=!0,this.loginSawPty=!1;let e=await this.runRemote(`wasm --login`,{discardCapturedOutput:!0});return this.loginShell=!1,this.marks.end(),!this.loginSawPty&&e.exitCode===125?null:(this.terminal?.writeln(`\x1b[90mbash exited (${e.exitCode}); this is the slicc shell. \`wasm --login\` starts bash again.\x1b[0m`),e)}refit(){this.terminal?.fit(),this.reportSize()}reportSize(){let e=this.terminal?.terminal;if(!e)return;let t=`${e.cols}x${e.rows}`;t!==this.reportedSize&&(this.reportedSize=t,this.client.resize(e.cols,e.rows))}clearTerminal(){this.terminal?.clear()}async executeCommandInTerminal(e){let t=e.trim();if(!t)return{stdout:``,stderr:``,exitCode:0};if(this.editor&&!(this.loginShell&&this.ptyMode)&&await this.sessionSettled,this.loginShell&&this.ptyMode)return this.typeIntoLoginShell(t);if(!this.terminal||!this.editor)return this.client.exec(t);if(this.isExecuting||this.programmaticResolve||!this.editor.isReading||this.editor.text)return{stdout:``,stderr:`terminal is busy; finish current input first
9
+ `:this.accept();return;case``:this.cancel();return;case``:case`\b`:this.cursor>0&&(this.line.splice(--this.cursor,1),this.redraw());return;case`\x1B[3~`:this.cursor<this.line.length&&(this.line.splice(this.cursor,1),this.redraw());return;case`\x1B[D`:case`\x1BOD`:this.cursor=Math.max(0,this.cursor-1),this.redraw();return;case`\x1B[C`:case`\x1BOC`:this.cursor=Math.min(this.line.length,this.cursor+1),this.redraw();return;case`\x1B[H`:case`\x1BOH`:case``:this.cursor=0,this.redraw();return;case`\x1B[F`:case`\x1BOF`:case``:this.cursor=this.line.length,this.redraw();return;case`\x1B[A`:case`\x1BOA`:this.navigate(-1);return;case`\x1B[B`:case`\x1BOB`:this.navigate(1);return;case``:this.line.splice(0,this.cursor),this.cursor=0,this.redraw();return;case`\v`:this.line.splice(this.cursor),this.redraw();return;case``:{let e=this.cursor;for(;e>0&&/\s/.test(this.line[e-1]??``);)e--;for(;e>0&&!/\s/.test(this.line[e-1]??``);)e--;this.line.splice(e,this.cursor-e),this.cursor=e,this.redraw();return}default:!e.includes(`\x1B`)&&!/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/.test(e)&&this.insert(e.replace(/[\r\n\t]+/g,` `))}}navigate(e){e<0&&this.historyIndex===0||e>0&&this.historyIndex===this.history.length||(this.historyIndex===this.history.length&&(this.draft=this.text),this.historyIndex+=e,this.line=[...this.history[this.historyIndex]??this.draft],this.cursor=this.line.length,this.redraw())}redraw(){let{row:e}=this.display.getCursor(),t=this.display.getScrollbackCount(),n=e-this.anchorRow;n>0&&this.display.write(`\x1b[${n}A`),this.display.write(`\r\x1B[0J`),this.display.write(this.prompt+this.beforeCursor),this.display.write(`\x1B7`),this.display.write(this.line.slice(this.cursor).join(``)),this.display.write(`\x1B8`),this.anchorRow=Math.max(0,this.anchorRow-(this.display.getScrollbackCount()-t))}},M=`\x1B[34m/\x1B[0m \x1B[90m$\x1B[0m `,N=class{options;client;terminal=null;terminalHost=null;previewHost=null;previewUrls=[];hasPreview=!1;previewStateListener=null;resizeObserver=null;rejectTerminalReady=null;editor=null;disposed=!1;programmaticResolve=null;isExecuting=!1;ptyMode=!1;loginShell=!1;loginSawPty=!1;marks=new k;settleSession=()=>{};sessionSettled=new Promise(e=>{this.settleSession=e});reportedSize=``;suppressOutput=!1;tabBusy=!1;pendingTabInput=[];constructor(e){this.options=e;let t=e.sid??`panel-terminal-${Date.now()}`;this.client=new l({client:e.client,sid:t,onEvent:e=>this.handleEvent(e)})}async mount(t){if(await e(()=>import(`./wc-shell-fIEX0Fr7.js`).then(e=>e.N),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),this.disposed)return;t.replaceChildren(),this.terminalHost=document.createElement(`div`),this.terminalHost.className=`terminal-panel__terminal-host`,t.appendChild(this.terminalHost),this.previewHost=document.createElement(`div`),this.previewHost.className=`terminal-panel__preview`,t.appendChild(this.previewHost);let n=document.createElement(`slicc-terminal`);n.hideHeader=!0,n.style.width=`100%`,n.style.height=`100%`,this.terminal=n;let r=new Promise((e,t)=>{let r=()=>{n.removeEventListener(`terminal-ready`,i),n.removeEventListener(`terminal-error`,a),this.rejectTerminalReady=null},i=()=>{r(),e()},a=e=>{r(),t(e.detail)};this.rejectTerminalReady=e=>{r(),t(e)},n.addEventListener(`terminal-ready`,i),n.addEventListener(`terminal-error`,a)});n.addEventListener(`terminal-data`,e=>{this.handleTerminalData(e.detail)}),this.terminalHost.appendChild(n),await r,!this.disposed&&(n.fit(),this.editor=new j({write:e=>n.write(e),getCursor:()=>n.terminal?.bridge?.getCursor()??{row:0,col:0},getScrollbackCount:()=>n.terminal?.bridge?.getScrollbackCount()??0}),this.resizeObserver=new ResizeObserver(()=>this.refit()),this.resizeObserver.observe(this.terminalHost),await this.client.open({cwd:this.options.cwd,env:this.options.env}),this.startSession(n))}async startSession(e){let t=await this.runLoginShell();this.disposed||(t||(e.writeln(`\x1B[1mslicc\x1B[0m \x1B[90mshell (kernel)\x1B[0m`),e.writeln(`\x1B[90mType "help" for available commands.\x1B[0m`),e.writeln(``)),this.runPromptLoop(),this.settleSession())}async runLoginShell(){this.loginShell=!0,this.loginSawPty=!1;let e=await this.runRemote(`wasm --login`,{discardCapturedOutput:!0});return this.loginShell=!1,this.marks.end(),!this.loginSawPty&&e.exitCode===125?null:(this.terminal?.writeln(`\x1b[90mbash exited (${e.exitCode}); this is the slicc shell. \`wasm --login\` starts bash again.\x1b[0m`),e)}refit(){this.terminal?.fit(),this.reportSize()}reportSize(){let e=this.terminal?.terminal;if(!e)return;let t=`${e.cols}x${e.rows}`;t!==this.reportedSize&&(this.reportedSize=t,this.client.resize(e.cols,e.rows))}clearTerminal(){this.terminal?.clear()}async executeCommandInTerminal(e){let t=e.trim();if(!t)return{stdout:``,stderr:``,exitCode:0};if(this.editor&&!(this.loginShell&&this.ptyMode)&&await this.sessionSettled,this.loginShell&&this.ptyMode)return this.typeIntoLoginShell(t);if(!this.terminal||!this.editor)return this.client.exec(t);if(this.isExecuting||this.programmaticResolve||!this.editor.isReading||this.editor.text)return{stdout:``,stderr:`terminal is busy; finish current input first
10
10
  `,exitCode:1};let n=new Promise(e=>{this.programmaticResolve=e});return this.editor.setLine(t),this.editor.accept(),n}typeIntoLoginShell(e){if(this.marks.pending)return Promise.resolve({stdout:``,stderr:`terminal is busy
11
11
  `,exitCode:1});let t=this.marks.seen?this.marks.expect():Promise.resolve({stdout:``,stderr:``,exitCode:0});return this.client.stdin(`${e}\r`),t}setPreviewStateListener(e){this.previewStateListener=e,e?.(this.hasPreview)}dispose(){this.disposed=!0,this.settleSession(),this.rejectTerminalReady?.(Error(`terminal disposed`)),this.editor?.abort(Error(`terminal disposed`)),this.clearMediaPreview(),this.resizeObserver?.disconnect(),this.resizeObserver=null,this.terminal?.remove(),this.terminal=null,this.editor=null,this.pendingTabInput=[],this.terminalHost=null,this.previewHost=null,this.client.close(),this.client.dispose()}renderMediaPreview(e){if(!this.previewHost)return;let t=document.createElement(`div`);t.className=`terminal-panel__preview-item`;let n=document.createElement(`div`);n.className=`terminal-panel__preview-label`;let r=e.path.split(`/`).pop()??e.path;if(n.textContent=`${r} · ${e.mediaType}`,t.appendChild(n),e.mediaType===`image/png`){let n=document.createElement(`slicc-terminal`);n.hideHeader=!0,n.style.width=`100%`,n.style.height=`180px`,n.style.pointerEvents=`none`,n.setAttribute(`aria-label`,`Kitty graphics preview of ${r}`),n.addEventListener(`terminal-ready`,()=>requestAnimationFrame(()=>{let e=n.shadowRoot?.querySelector(`.host`);e&&(e.scrollTop=0),this.terminal?.focus()}),{once:!0}),t.appendChild(n);for(let t=0;t<e.data.length;t+=4096){let r=t===0,i=t+4096>=e.data.length,a=r?`a=T,f=100,t=d,m=${+!i}`:`m=${+!i}`;n.write(`\x1b_G${a};${e.data.slice(t,t+4096)}\x1b\\`)}}else if(e.mediaType.startsWith(`video/`)){let n=Uint8Array.from(atob(e.data),e=>e.charCodeAt(0)),r=URL.createObjectURL(new Blob([n],{type:e.mediaType}));this.previewUrls.push(r);let i=document.createElement(`video`);i.className=`terminal-panel__preview-media`,i.controls=!0,i.autoplay=!0,i.loop=!0,i.muted=!0,i.playsInline=!0,i.src=r,i.addEventListener(`loadedmetadata`,()=>this.refit(),{once:!0}),t.appendChild(i)}else{let n=Uint8Array.from(atob(e.data),e=>e.charCodeAt(0)),i=URL.createObjectURL(new Blob([n],{type:e.mediaType}));this.previewUrls.push(i);let a=document.createElement(`img`);a.className=`terminal-panel__preview-media`,a.alt=r,a.src=i,a.addEventListener(`load`,()=>this.refit(),{once:!0}),t.appendChild(a)}this.previewHost.appendChild(t),this.previewHost.classList.add(`terminal-panel__preview--visible`),this.hasPreview=!0,this.previewStateListener?.(!0)}clearMediaPreview(){for(let e of this.previewUrls)URL.revokeObjectURL(e);this.previewUrls=[],this.previewHost&&(this.previewHost.replaceChildren(),this.previewHost.classList.remove(`terminal-panel__preview--visible`)),this.hasPreview=!1,this.previewStateListener?.(!1)}async runPromptLoop(){for(;!this.disposed&&this.editor&&this.terminal;){let e;try{e=await this.readNextLine()}catch{break}let t=this.programmaticResolve!==null,n=await this.processLine(e,t);this.programmaticResolve&&=(this.programmaticResolve(n),null)}}readNextLine(){if(!this.editor)return Promise.reject(Error(`terminal not mounted`));let e=this.editor.read(M);return this.flushPendingTabInput(),e}flushPendingTabInput(){for(;this.editor?.isReading&&this.pendingTabInput.length>0;)this.editor.feed(this.pendingTabInput.shift()??``)}handleTerminalData(e){if(this.ptyMode){this.client.stdin(e);return}e===` `?this.tabBusy||this.handleTab():e===``&&this.isExecuting?this.signalInterruptDuringExec():this.tabBusy?this.pendingTabInput.push(e):this.editor?.feed(e)}async processLine(e,t=!1){let n=e.trim(),r={stdout:``,stderr:``,exitCode:0};return n?n===`wasm --login`?await this.runLoginShell()??{stdout:``,stderr:`wasm: --login: no GNU bash to log in to (install @ai-ecoverse/wasm-bash)
12
12
  `,exitCode:125}:!t&&await this.tryRunPicker(n)?r:this.runRemote(n):r}async tryRunPicker(e){let t=P(e);if(t)return await this.runRemoteWithLocalPicker(e,t),!0;let n=V(e);if(n)return await this.runRemoteWithUsbPicker(n),!0;let r=H(e);if(r)return await this.runRemoteWithHidPicker(r),!0;let i=W(e);if(i)return await this.runRemoteWithSerialPicker(i),!0;let a=G(e);if(a)return await this.runRemoteWithEsptoolPicker(e,a),!0;let o=B(e);return o?(await this.runRemoteWithScreenShare(o.name),!0):!1}signalInterruptDuringExec(){this.isExecuting&&(this.terminal?.writeln(`^C`),this.client.signal(`SIGINT`))}async handleTab(){if(!(!this.terminal||!this.editor)&&!(this.isExecuting||this.tabBusy)){this.tabBusy=!0,this.isExecuting=!0;try{let e=this.editor.beforeCursor,{currentWord:t,isFirstWord:n,compgenCmd:r}=q(e);this.suppressOutput=!0;let i=``;try{i=(await this.client.exec(r)).stdout}finally{this.suppressOutput=!1}let a=i.split(`
@@ -1 +1 @@
1
- import{n as e,t}from"./almost-bash-shell-headless-QSWifL7a.js";import{n}from"./browser-L7W6uZ79.js";import{c as r}from"./sudoers-BdBYQPUn.js";import{r as i}from"./sudo-fs-D88yRk1b.js";import{s as a}from"./just-bash-compat-BRjWDzIj.js";import{t as o}from"./home-dir-CR-07Jxc.js";import{n as s}from"./jsh-discovery-JLWUZ8pe.js";import{n as c,r as l}from"./supervisor-iX4QKDOR.js";function u(e,t){return new Map(Object.entries({HOME:o,PATH:s,USER:`user`,SHELL:`/bin/bash`,TMPDIR:`/tmp`,PWD:e.cwd,...t,...e.env}))}function d(e,t,r,i){let o=u(t,i);return n({fs:e,cwd:t.cwd,env:o,stdin:a(``),exec:(e,n)=>r.exec(e,{env:n?.env??Object.fromEntries(o),cwd:n?.cwd??t.cwd,args:n?.args,...n?.env===void 0?{}:{replaceEnv:!0}})})}const f={requestApproval:async()=>({decision:`deny`})};async function p(n){let r=h(n.fs,n.sudo),i=new e(r),a=new t({fs:r,cwd:`/workspace`,processManager:n.processManager,processOwner:{kind:`jshd`}}),o={exec:(e,t)=>a.getBash().exec(e,{env:t?.env??a.getEnv(),cwd:t?.cwd??`/workspace`,args:t?.args,...t?.env===void 0?{}:{replaceEnv:!0}})},s=c({fs:n.fs,processManager:n.processManager,lickManager:n.lickManager,...n.realmFactory?{realmFactory:n.realmFactory}:{},buildContext:e=>m(i,e,o)}),u=(await l(n.fs)).filter(e=>e.enabled);if(u.length===0)return[];let d=[];for(let e of u)try{await s.start(e),d.push(e.name)}catch{}return d}function m(e,t,n){return d(e,t,n)}function h(e,t){return i(e,{broker:t?.broker??f,getPolicy:t?.getPolicy??r,defaultDisposition:`allow`})}export{p as restoreEnabledJshdUnits};
1
+ import{n as e,t}from"./almost-bash-shell-headless-ClalXJjr.js";import{n}from"./browser-L7W6uZ79.js";import{c as r}from"./sudoers-BdBYQPUn.js";import{r as i}from"./sudo-fs-D88yRk1b.js";import{s as a}from"./just-bash-compat-BRjWDzIj.js";import{t as o}from"./home-dir-CR-07Jxc.js";import{n as s}from"./jsh-discovery-JLWUZ8pe.js";import{n as c,r as l}from"./supervisor-D09OiqeU.js";function u(e,t){return new Map(Object.entries({HOME:o,PATH:s,USER:`user`,SHELL:`/bin/bash`,TMPDIR:`/tmp`,PWD:e.cwd,...t,...e.env}))}function d(e,t,r,i){let o=u(t,i);return n({fs:e,cwd:t.cwd,env:o,stdin:a(``),exec:(e,n)=>r.exec(e,{env:n?.env??Object.fromEntries(o),cwd:n?.cwd??t.cwd,args:n?.args,...n?.env===void 0?{}:{replaceEnv:!0}})})}const f={requestApproval:async()=>({decision:`deny`})};async function p(n){let r=h(n.fs,n.sudo),i=new e(r),a=new t({fs:r,cwd:`/workspace`,processManager:n.processManager,processOwner:{kind:`jshd`}}),o={exec:(e,t)=>a.getBash().exec(e,{env:t?.env??a.getEnv(),cwd:t?.cwd??`/workspace`,args:t?.args,...t?.env===void 0?{}:{replaceEnv:!0}})},s=c({fs:n.fs,processManager:n.processManager,lickManager:n.lickManager,...n.realmFactory?{realmFactory:n.realmFactory}:{},buildContext:e=>m(i,e,o)}),u=(await l(n.fs)).filter(e=>e.enabled);if(u.length===0)return[];let d=[];for(let e of u)try{await s.start(e),d.push(e.name)}catch{}return d}function m(e,t,n){return d(e,t,n)}function h(e,t){return i(e,{broker:t?.broker??f,getPolicy:t?.getPolicy??r,defaultDisposition:`allow`})}export{p as restoreEnabledJshdUnits};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./record-Ban9cWMI.js";import{t,u as n}from"./descriptor-xRf4P0gd.js";import{t as r}from"./subcommand-flags-BZi7j78Q.js";import{t as i}from"./subcommand-help-CgO7wRS5.js";import{a,r as o,t as s}from"./memory-budget-CFfevxz_.js";import{s as c}from"./kernel-worker-l6DSPN07.js";const l=`usage: memory <command> [options]
1
+ import{t as e}from"./record-Ban9cWMI.js";import{t,u as n}from"./descriptor-xRf4P0gd.js";import{t as r}from"./subcommand-flags-BZi7j78Q.js";import{t as i}from"./subcommand-help-CgO7wRS5.js";import{a,r as o,t as s}from"./memory-budget-CFfevxz_.js";import{s as c}from"./kernel-worker-C8b5lZTP.js";const l=`usage: memory <command> [options]
2
2
 
3
3
  Durable cone memory: one file per cone, rewritten by the memory-curator
4
4
  scoop after a chat freezes. This command inspects that system and pokes it.
@@ -92,7 +92,7 @@ Examples:
92
92
  --authorize-url 'https://auth.x.ai/oauth2/auth?...' \\
93
93
  --redirect-pattern 'http://127.0.0.1:56121/*'
94
94
  curl -H "Authorization: Bearer $(oauth-token github)" https://api.github.com/user
95
- `}async function d(n,r){let i=await import(`./account-store-BkN60EtH.js`).then(e=>e.t),a=await import(`./providers-LdGzFZ4T.js`).then(e=>e.r);if(t(n,{valueFlags:c}))return{stdout:u(),stderr:``,exitCode:0};let o=e(n,{value:c,bool:l});if(`error`in o)return H(`oauth-token: ${o.error}`);if(o.bools.has(`--list`))return U(i.getAccounts,a.getRegisteredProviderIds,a.getRegisteredProviderConfig,i.getOAuthAccountInfo);if(o.bools.has(`--check`))return T(o.positionals);if(o.bools.has(`--expire`))return O(o.positionals);if(o.bools.has(`--renew`))return k(o.positionals);if(o.values.has(`--from-file`)||o.bools.has(`--intercept`))return L(o,n,r);let s=f(o);if(!s.ok)return s.result;let d=o.bools.has(`--force-login`),m=p(o,i,a);if(!m.ok)return m.result;let _=h(m.value,a.getRegisteredProviderConfig);if(!_.ok)return _.result;if(!d){let e=await g(m.value,_.value,i.getOAuthAccountInfo,i.ensureOAuthMaskReplica,s.value);if(e?.ok)return e.value;if(e)return e.result}return b(m.value,_.value,s.value,i.getOAuthAccountInfo,i.ensureOAuthMaskReplica)}function f(e){if(!e.values.has(`--scope`))return{ok:!0,value:void 0};let t=e.values.get(`--scope`)?.trim();return!t||t.startsWith(`-`)?{ok:!1,result:H(`oauth-token: --scope requires a value`)}:{ok:!0,value:t}}function p(e,t,n){if(e.values.has(`--provider`)){let t=e.values.get(`--provider`);return t?{ok:!0,value:t}:{ok:!1,result:H(`oauth-token: --provider requires a value`)}}if(e.positionals.length>0)return{ok:!0,value:e.positionals[0]};let r=t.getSelectedProvider();if(m(n.getRegisteredProviderConfig(r)))return{ok:!0,value:r};let i=n.getRegisteredProviderIds().find(e=>m(n.getRegisteredProviderConfig(e)));return i?{ok:!0,value:i}:{ok:!1,result:H(`oauth-token: no OAuth providers configured`)}}function m(e){return!!(e?.isOAuth&&(e.onOAuthLogin||e.onOAuthLoginIntercepted))}function h(e,t){let n=t(e);return n?m(n)?{ok:!0,value:n}:{ok:!1,result:H(`oauth-token: provider "${e}" is not an OAuth provider`)}:{ok:!1,result:H(`oauth-token: unknown provider "${e}"`)}}async function g(e,t,n,r,i){let a=n(e);return a&&!a.expired?_(e,a,i,r):!a?.expired||!t.onSilentRenew||!await C(t.onSilentRenew)?null:_(e,n(e),i,r)}async function _(e,t,n,r){if(n&&!s(t?.scopes,n))return null;let i=v(t?.maskedValue,t?.token);if(i)return{ok:!0,value:i};if(!t?.token)return null;let a=await r(e)??{},o=v(a.maskedValue,t.token);return o?{ok:!0,value:o}:{ok:!1,result:y(e,a.error)}}function v(e,t){return!e||t&&e===t?null:{stdout:`${e}\n`,stderr:``,exitCode:0}}function y(e,t){return H(`oauth-token: token held for ${e} but no masked replica${t?` (${t})`:``}`)}async function b(e,t,n,r,i){try{let a=await x(e,t,n);return a.error?a.error:S(e,r,i,a.succeeded)}catch(t){let n=t instanceof Error?t.message:String(t);return t instanceof Error&&t.name===`OAuthLaunchError`?(console.error(`[oauth-token] Provider ${e}: login could not be shown:`,n),H(`oauth-token: ${n}`)):(console.error(`[oauth-token] Provider ${e}: login failed:`,n),H(`oauth-token: login failed: ${n}`))}}async function x(e,t,n){let r=n?{scopes:n}:void 0,i=!1,a=()=>{i=!0};if(t.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:n}=await import(`./oauth-service-MWzqRq2q.js`),o=await n();return o?(await t.onOAuthLoginIntercepted(o,a,r),{error:null,succeeded:i}):{error:H(`oauth-token: provider "${e}" needs the controlled-browser interceptor, but no CDP transport is available in this runtime.`),succeeded:!1}}if(t.onOAuthLogin){let{createOAuthLauncher:e}=await import(`./oauth-service-MWzqRq2q.js`);return await t.onOAuthLogin(e(),a,r),{error:null,succeeded:i}}return{error:H(`oauth-token: provider "${e}" has no OAuth login hook`),succeeded:!1}}async function S(e,t,n,r){if(!r)return console.error(`[oauth-token] Provider ${e}: interactive login was not completed`),H(`oauth-token: interactive login was not completed (cancelled, timed out, or no one could approve it)`);let i=t(e);if(i?.token&&!i.expired){let t=v(i.maskedValue,i.token);if(t)return t;let r=await n(e)??{};return v(r.maskedValue,i.token)||y(e,r.error)}return i?.token?H(`oauth-token: login completed but the saved token is already expired`):(console.error(`[oauth-token] Provider ${e}: login completed but no token was saved`),H(`oauth-token: login completed but no token was saved`))}async function C(e){try{return await e()!==null}catch{return!1}}function w(e,t,n,r,i){let a=e[0];if(a)return a;let o=n();return r(o)?.[t]?o:i().find(e=>r(e)?.[t])}async function T(e){let{getSelectedProvider:t,getOAuthAccountInfo:n}=await import(`./account-store-BkN60EtH.js`).then(e=>e.t),{getRegisteredProviderConfig:r,getRegisteredProviderIds:i}=await import(`./providers-LdGzFZ4T.js`).then(e=>e.r),a=w(e,`onValidateToken`,t,r,i);if(!a)return H(`oauth-token --check: no provider supports an upstream token check`);let o=r(a);if(!o)return H(`oauth-token --check: unknown provider "${a}"`);if(!o.onValidateToken)return H(`oauth-token --check: provider "${a}" cannot be checked upstream (no onValidateToken hook); only locally stored state is known.`);let s=n(a),c=[`oauth-token --check ${a}`,` stored token: ${F(s)}`];if(!s)return c.push(` upstream check: skipped — nothing to check`,...M(a)),{stdout:c.join(`
95
+ `}async function d(n,r){let i=await import(`./account-store-ns4WYcMU.js`).then(e=>e.t),a=await import(`./providers-CNMsS7p4.js`).then(e=>e.r);if(t(n,{valueFlags:c}))return{stdout:u(),stderr:``,exitCode:0};let o=e(n,{value:c,bool:l});if(`error`in o)return H(`oauth-token: ${o.error}`);if(o.bools.has(`--list`))return U(i.getAccounts,a.getRegisteredProviderIds,a.getRegisteredProviderConfig,i.getOAuthAccountInfo);if(o.bools.has(`--check`))return T(o.positionals);if(o.bools.has(`--expire`))return O(o.positionals);if(o.bools.has(`--renew`))return k(o.positionals);if(o.values.has(`--from-file`)||o.bools.has(`--intercept`))return L(o,n,r);let s=f(o);if(!s.ok)return s.result;let d=o.bools.has(`--force-login`),m=p(o,i,a);if(!m.ok)return m.result;let _=h(m.value,a.getRegisteredProviderConfig);if(!_.ok)return _.result;if(!d){let e=await g(m.value,_.value,i.getOAuthAccountInfo,i.ensureOAuthMaskReplica,s.value);if(e?.ok)return e.value;if(e)return e.result}return b(m.value,_.value,s.value,i.getOAuthAccountInfo,i.ensureOAuthMaskReplica)}function f(e){if(!e.values.has(`--scope`))return{ok:!0,value:void 0};let t=e.values.get(`--scope`)?.trim();return!t||t.startsWith(`-`)?{ok:!1,result:H(`oauth-token: --scope requires a value`)}:{ok:!0,value:t}}function p(e,t,n){if(e.values.has(`--provider`)){let t=e.values.get(`--provider`);return t?{ok:!0,value:t}:{ok:!1,result:H(`oauth-token: --provider requires a value`)}}if(e.positionals.length>0)return{ok:!0,value:e.positionals[0]};let r=t.getSelectedProvider();if(m(n.getRegisteredProviderConfig(r)))return{ok:!0,value:r};let i=n.getRegisteredProviderIds().find(e=>m(n.getRegisteredProviderConfig(e)));return i?{ok:!0,value:i}:{ok:!1,result:H(`oauth-token: no OAuth providers configured`)}}function m(e){return!!(e?.isOAuth&&(e.onOAuthLogin||e.onOAuthLoginIntercepted))}function h(e,t){let n=t(e);return n?m(n)?{ok:!0,value:n}:{ok:!1,result:H(`oauth-token: provider "${e}" is not an OAuth provider`)}:{ok:!1,result:H(`oauth-token: unknown provider "${e}"`)}}async function g(e,t,n,r,i){let a=n(e);return a&&!a.expired?_(e,a,i,r):!a?.expired||!t.onSilentRenew||!await C(t.onSilentRenew)?null:_(e,n(e),i,r)}async function _(e,t,n,r){if(n&&!s(t?.scopes,n))return null;let i=v(t?.maskedValue,t?.token);if(i)return{ok:!0,value:i};if(!t?.token)return null;let a=await r(e)??{},o=v(a.maskedValue,t.token);return o?{ok:!0,value:o}:{ok:!1,result:y(e,a.error)}}function v(e,t){return!e||t&&e===t?null:{stdout:`${e}\n`,stderr:``,exitCode:0}}function y(e,t){return H(`oauth-token: token held for ${e} but no masked replica${t?` (${t})`:``}`)}async function b(e,t,n,r,i){try{let a=await x(e,t,n);return a.error?a.error:S(e,r,i,a.succeeded)}catch(t){let n=t instanceof Error?t.message:String(t);return t instanceof Error&&t.name===`OAuthLaunchError`?(console.error(`[oauth-token] Provider ${e}: login could not be shown:`,n),H(`oauth-token: ${n}`)):(console.error(`[oauth-token] Provider ${e}: login failed:`,n),H(`oauth-token: login failed: ${n}`))}}async function x(e,t,n){let r=n?{scopes:n}:void 0,i=!1,a=()=>{i=!0};if(t.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:n}=await import(`./oauth-service-MWzqRq2q.js`),o=await n();return o?(await t.onOAuthLoginIntercepted(o,a,r),{error:null,succeeded:i}):{error:H(`oauth-token: provider "${e}" needs the controlled-browser interceptor, but no CDP transport is available in this runtime.`),succeeded:!1}}if(t.onOAuthLogin){let{createOAuthLauncher:e}=await import(`./oauth-service-MWzqRq2q.js`);return await t.onOAuthLogin(e(),a,r),{error:null,succeeded:i}}return{error:H(`oauth-token: provider "${e}" has no OAuth login hook`),succeeded:!1}}async function S(e,t,n,r){if(!r)return console.error(`[oauth-token] Provider ${e}: interactive login was not completed`),H(`oauth-token: interactive login was not completed (cancelled, timed out, or no one could approve it)`);let i=t(e);if(i?.token&&!i.expired){let t=v(i.maskedValue,i.token);if(t)return t;let r=await n(e)??{};return v(r.maskedValue,i.token)||y(e,r.error)}return i?.token?H(`oauth-token: login completed but the saved token is already expired`):(console.error(`[oauth-token] Provider ${e}: login completed but no token was saved`),H(`oauth-token: login completed but no token was saved`))}async function C(e){try{return await e()!==null}catch{return!1}}function w(e,t,n,r,i){let a=e[0];if(a)return a;let o=n();return r(o)?.[t]?o:i().find(e=>r(e)?.[t])}async function T(e){let{getSelectedProvider:t,getOAuthAccountInfo:n}=await import(`./account-store-ns4WYcMU.js`).then(e=>e.t),{getRegisteredProviderConfig:r,getRegisteredProviderIds:i}=await import(`./providers-CNMsS7p4.js`).then(e=>e.r),a=w(e,`onValidateToken`,t,r,i);if(!a)return H(`oauth-token --check: no provider supports an upstream token check`);let o=r(a);if(!o)return H(`oauth-token --check: unknown provider "${a}"`);if(!o.onValidateToken)return H(`oauth-token --check: provider "${a}" cannot be checked upstream (no onValidateToken hook); only locally stored state is known.`);let s=n(a),c=[`oauth-token --check ${a}`,` stored token: ${F(s)}`];if(!s)return c.push(` upstream check: skipped — nothing to check`,...M(a)),{stdout:c.join(`
96
96
  `)+`
97
97
  `,stderr:``,exitCode:3};let l=await j(o);if(l?.status===`accepted`){let e=l.userName?` (as ${l.userName})`:``;return c.push(` upstream check: ACCEPTED${e} — the provider honoured the token`),{stdout:c.join(`
98
98
  `)+`
@@ -100,7 +100,7 @@ Examples:
100
100
  `)+`
101
101
  `,stderr:``,exitCode:e}}return c.push(` upstream check: UNKNOWN — the check itself could not run${D(l?.detail)}`,` This says nothing about the token. Retry when the provider is reachable.`),{stdout:c.join(`
102
102
  `)+`
103
- `,stderr:``,exitCode:1}}function E(e,t,n){let r=` upstream check: REJECTED — the provider refused the token${D(n)}`;return t?[r,` A stored refresh token may still be able to replace it — silent renewal`,` has not been tried yet.`,``,` → Next: oauth-token ${e} --renew`,` If that is declined too: oauth-token ${e} --force-login (needs a human).`]:[r,` This provider has no silent renewal, so nothing automated is left.`,...M(e)]}function D(e){return e?` (${e})`:``}async function O(e){let{getAccounts:t,getSelectedProvider:n,saveOAuthAccount:r}=await import(`./account-store-BkN60EtH.js`).then(e=>e.t),{getRegisteredProviderConfig:i,getRegisteredProviderIds:a}=await import(`./providers-LdGzFZ4T.js`).then(e=>e.r),o=w(e,`onSilentRenew`,n,i,a);if(!o)return H(`oauth-token --expire: no provider supports silent renewal`);let s=i(o);if(!s)return H(`oauth-token --expire: unknown provider "${o}"`);if(!s.onSilentRenew)return H(`oauth-token --expire: provider "${o}" has no onSilentRenew hook`);let c=t().find(e=>e.providerId===o);if(!c?.accessToken)return H(`oauth-token --expire: no stored OAuth account for "${o}"`);try{await r({...c,accessToken:c.accessToken,tokenExpiresAt:Date.now()-1e3})}catch(e){return H(`oauth-token --expire: failed to update "${o}": ${e instanceof Error?e.message:String(e)}`)}return{stdout:`oauth-token ${o}: stored token marked expired; next network op will trigger silent renewal.\n`,stderr:``,exitCode:0}}async function k(e){let{getSelectedProvider:t,getOAuthAccountInfo:n}=await import(`./account-store-BkN60EtH.js`).then(e=>e.t),{getRegisteredProviderConfig:r,getRegisteredProviderIds:i}=await import(`./providers-LdGzFZ4T.js`).then(e=>e.r),a=w(e,`onSilentRenew`,t,r,i);if(!a)return H(`oauth-token --renew: no provider supports silent renewal`);let o=r(a);if(!o)return H(`oauth-token --renew: unknown provider "${a}"`);if(!o.onSilentRenew)return H(`oauth-token --renew: provider "${a}" has no onSilentRenew hook`);let s=n(a),c=s?.token,l=[`oauth-token --renew ${a}`];l.push(` stored token: ${F(s)}`);let u=null,d=null;try{u=await o.onSilentRenew()}catch(e){d=e instanceof Error?e.message:String(e)}if(u){let e=n(a),t=!!(c&&e?.token&&c!==e.token);return l.push(` silent renewal: SUCCESS${t?` — token refreshed`:` (token unchanged)`}`),l.push(` renewed token: ${F(e)}`),{stdout:l.join(`
103
+ `,stderr:``,exitCode:1}}function E(e,t,n){let r=` upstream check: REJECTED — the provider refused the token${D(n)}`;return t?[r,` A stored refresh token may still be able to replace it — silent renewal`,` has not been tried yet.`,``,` → Next: oauth-token ${e} --renew`,` If that is declined too: oauth-token ${e} --force-login (needs a human).`]:[r,` This provider has no silent renewal, so nothing automated is left.`,...M(e)]}function D(e){return e?` (${e})`:``}async function O(e){let{getAccounts:t,getSelectedProvider:n,saveOAuthAccount:r}=await import(`./account-store-ns4WYcMU.js`).then(e=>e.t),{getRegisteredProviderConfig:i,getRegisteredProviderIds:a}=await import(`./providers-CNMsS7p4.js`).then(e=>e.r),o=w(e,`onSilentRenew`,n,i,a);if(!o)return H(`oauth-token --expire: no provider supports silent renewal`);let s=i(o);if(!s)return H(`oauth-token --expire: unknown provider "${o}"`);if(!s.onSilentRenew)return H(`oauth-token --expire: provider "${o}" has no onSilentRenew hook`);let c=t().find(e=>e.providerId===o);if(!c?.accessToken)return H(`oauth-token --expire: no stored OAuth account for "${o}"`);try{await r({...c,accessToken:c.accessToken,tokenExpiresAt:Date.now()-1e3})}catch(e){return H(`oauth-token --expire: failed to update "${o}": ${e instanceof Error?e.message:String(e)}`)}return{stdout:`oauth-token ${o}: stored token marked expired; next network op will trigger silent renewal.\n`,stderr:``,exitCode:0}}async function k(e){let{getSelectedProvider:t,getOAuthAccountInfo:n}=await import(`./account-store-ns4WYcMU.js`).then(e=>e.t),{getRegisteredProviderConfig:r,getRegisteredProviderIds:i}=await import(`./providers-CNMsS7p4.js`).then(e=>e.r),a=w(e,`onSilentRenew`,t,r,i);if(!a)return H(`oauth-token --renew: no provider supports silent renewal`);let o=r(a);if(!o)return H(`oauth-token --renew: unknown provider "${a}"`);if(!o.onSilentRenew)return H(`oauth-token --renew: provider "${a}" has no onSilentRenew hook`);let s=n(a),c=s?.token,l=[`oauth-token --renew ${a}`];l.push(` stored token: ${F(s)}`);let u=null,d=null;try{u=await o.onSilentRenew()}catch(e){d=e instanceof Error?e.message:String(e)}if(u){let e=n(a),t=!!(c&&e?.token&&c!==e.token);return l.push(` silent renewal: SUCCESS${t?` — token refreshed`:` (token unchanged)`}`),l.push(` renewed token: ${F(e)}`),{stdout:l.join(`
104
104
  `)+`
105
105
  `,stderr:``,exitCode:0}}if(d)return l.push(` silent renewal: ERROR — ${d}`,...P(a)),{stdout:l.join(`
106
106
  `)+`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./slicc-version-DRWYpBwd.js";import{o as t}from"./just-bash-compat-BRjWDzIj.js";const n=`/dev/null`;function r(e){return e.oldName===n}function i(e){return e.newName===n}function a(e){let t=e.indexOf(` `);return(t===-1?e.replace(/\s+\d{4}-\d\d-\d\d[ T].*$/,``):e.slice(0,t)).trimEnd()}const o=/^@@+ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/;function s(e){let t=o.exec(e);return t?{oldStart:Number(t[1]),oldCount:t[2]===void 0?1:Number(t[2]),newStart:Number(t[3]),newCount:t[4]===void 0?1:Number(t[4])}:null}function c(e,t){return{...e,oldLines:[],newLines:[],oldSeen:0,newSeen:0,changeSeen:!1,leadingContext:0,trailingContext:0,lastSide:null,oldNoNewlineAtEof:!1,newNoNewlineAtEof:!1,raw:[t]}}function l(e){return{oldStart:e.oldStart,newStart:e.newStart,oldLines:e.oldLines,newLines:e.newLines,leadingContext:e.leadingContext,trailingContext:e.trailingContext,oldNoNewlineAtEof:e.oldNoNewlineAtEof,newNoNewlineAtEof:e.newNoNewlineAtEof,raw:e.raw}}function u(e){return e.oldSeen>=e.oldCount&&e.newSeen>=e.newCount}function d(e,t){e.oldLines.push(t),e.newLines.push(t),e.oldSeen++,e.newSeen++,e.lastSide=`both`,e.changeSeen?e.trailingContext++:e.leadingContext++}function f(e,t,n){t===`old`?(e.oldLines.push(n),e.oldSeen++):(e.newLines.push(n),e.newSeen++),e.lastSide=t,e.changeSeen=!0,e.trailingContext=0}function p(e,t){if(t.startsWith(`\\`))return(e.lastSide===`old`||e.lastSide===`both`)&&(e.oldNoNewlineAtEof=!0),(e.lastSide===`new`||e.lastSide===`both`)&&(e.newNoNewlineAtEof=!0),e.raw.push(t),!0;if(t===``)return d(e,``),e.raw.push(` `),!0;let n=t.slice(1);switch(t[0]){case` `:d(e,n);break;case`-`:f(e,`old`,n);break;case`+`:f(e,`new`,n);break;default:return!1}return e.raw.push(t),!0}function m(e){e.hunk&&e.current&&e.current.hunks.push(l(e.hunk)),e.hunk=null,e.complete=!1}function h(e,t){let n=e.hunk;if(!n)return!1;if(e.complete){let r=t.startsWith(`\\`);return r&&p(n,t),m(e),r}return p(n,t)?(u(n)&&(e.complete=!0),!0):(m(e),!1)}function g(e){let t={files:[],current:null,hunk:null,complete:!1,pendingOld:null};for(let n of e.split(`
1
+ import{n as e}from"./slicc-version-BHbvdY0F.js";import{o as t}from"./just-bash-compat-BRjWDzIj.js";const n=`/dev/null`;function r(e){return e.oldName===n}function i(e){return e.newName===n}function a(e){let t=e.indexOf(` `);return(t===-1?e.replace(/\s+\d{4}-\d\d-\d\d[ T].*$/,``):e.slice(0,t)).trimEnd()}const o=/^@@+ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/;function s(e){let t=o.exec(e);return t?{oldStart:Number(t[1]),oldCount:t[2]===void 0?1:Number(t[2]),newStart:Number(t[3]),newCount:t[4]===void 0?1:Number(t[4])}:null}function c(e,t){return{...e,oldLines:[],newLines:[],oldSeen:0,newSeen:0,changeSeen:!1,leadingContext:0,trailingContext:0,lastSide:null,oldNoNewlineAtEof:!1,newNoNewlineAtEof:!1,raw:[t]}}function l(e){return{oldStart:e.oldStart,newStart:e.newStart,oldLines:e.oldLines,newLines:e.newLines,leadingContext:e.leadingContext,trailingContext:e.trailingContext,oldNoNewlineAtEof:e.oldNoNewlineAtEof,newNoNewlineAtEof:e.newNoNewlineAtEof,raw:e.raw}}function u(e){return e.oldSeen>=e.oldCount&&e.newSeen>=e.newCount}function d(e,t){e.oldLines.push(t),e.newLines.push(t),e.oldSeen++,e.newSeen++,e.lastSide=`both`,e.changeSeen?e.trailingContext++:e.leadingContext++}function f(e,t,n){t===`old`?(e.oldLines.push(n),e.oldSeen++):(e.newLines.push(n),e.newSeen++),e.lastSide=t,e.changeSeen=!0,e.trailingContext=0}function p(e,t){if(t.startsWith(`\\`))return(e.lastSide===`old`||e.lastSide===`both`)&&(e.oldNoNewlineAtEof=!0),(e.lastSide===`new`||e.lastSide===`both`)&&(e.newNoNewlineAtEof=!0),e.raw.push(t),!0;if(t===``)return d(e,``),e.raw.push(` `),!0;let n=t.slice(1);switch(t[0]){case` `:d(e,n);break;case`-`:f(e,`old`,n);break;case`+`:f(e,`new`,n);break;default:return!1}return e.raw.push(t),!0}function m(e){e.hunk&&e.current&&e.current.hunks.push(l(e.hunk)),e.hunk=null,e.complete=!1}function h(e,t){let n=e.hunk;if(!n)return!1;if(e.complete){let r=t.startsWith(`\\`);return r&&p(n,t),m(e),r}return p(n,t)?(u(n)&&(e.complete=!0),!0):(m(e),!1)}function g(e){let t={files:[],current:null,hunk:null,complete:!1,pendingOld:null};for(let n of e.split(`
2
2
  `)){if(h(t,n))continue;if(n.startsWith(`--- `)){t.pendingOld=a(n.slice(4));continue}if(n.startsWith(`+++ `)&&t.pendingOld!==null){t.current={oldName:t.pendingOld,newName:a(n.slice(4)),hunks:[]},t.files.push(t.current),t.pendingOld=null;continue}t.pendingOld=null;let e=s(n);e&&t.current&&(t.hunk=c(e,n))}return m(t),t.files.filter(e=>e.hunks.length>0)}function _(e){return{oldName:e.newName,newName:e.oldName,hunks:e.hunks.map(e=>({oldStart:e.newStart,newStart:e.oldStart,oldLines:e.newLines,newLines:e.oldLines,leadingContext:e.leadingContext,trailingContext:e.trailingContext,oldNoNewlineAtEof:e.newNoNewlineAtEof,newNoNewlineAtEof:e.oldNoNewlineAtEof,raw:v(e)}))}}function v(e){return e.raw.map((t,n)=>n===0?`@@ -${e.newStart},${e.newLines.length} +${e.oldStart},${e.oldLines.length} @@`:t.startsWith(`-`)?`+${t.slice(1)}`:t.startsWith(`+`)?`-${t.slice(1)}`:t)}function y(e){if(e===``)return{lines:[],newlineAtEof:!0};let t=e.endsWith(`
3
3
  `),n=e.split(`
4
4
  `);return t&&n.pop(),{lines:n,newlineAtEof:t}}function b(e){return e.lines.length===0?``:e.lines.join(`
@@ -88,4 +88,4 @@ Notes:
88
88
  `)),extraFiles:l}}function Te(e){return e.format===`lavfi`}async function Ee(e,t,n,r=()=>{}){let i=[];for(let[a,o]of e.inputs.entries()){if(Te(o)){i.push({ffmpegName:o.path,data:null,virtual:!0});continue}let e=n.fs.resolvePath(n.cwd,o.path);if(!await n.fs.exists(e))return{error:{stdout:``,stderr:`ffmpeg: input file not found: ${o.path}\n`,exitCode:1}};let s=x(t,ce(o,a));if(ve(o)){let c=await we(e,await n.fs.readFileBuffer(e),a,Ce(o),t,n,r);if(`error`in c){let{kind:e,file:t}=c.error,n=e===`unsafe`?`unsafe file name: ${t} (pass -safe 0 to allow it)`:`file not found: ${t}`;return{error:{stdout:``,stderr:`ffmpeg: concat list ${o.path}: ${n}\n`,exitCode:1}}}i.push({ffmpegName:s,data:_(c.listBytes),virtual:!1,extraFiles:c.extraFiles});continue}i.push({ffmpegName:s,data:await m(n.fs,e,r),virtual:!1})}return{inputs:i}}const De={threads:8,filterThreads:2};function Z(e){return e.some(e=>e===`-threads`||e.startsWith(`-threads:`))}function Oe(e,t=De,n=typeof navigator<`u`?navigator.hardwareConcurrency:void 0){let r=String(Math.max(1,Math.min(t.threads,n??t.threads))),i=[...e.inputs.flatMap(e=>e.raw),...e.outputOpts],a=[];i.includes(`-filter_threads`)||a.push(`-filter_threads`,String(t.filterThreads)),i.includes(`-filter_complex_threads`)||a.push(`-filter_complex_threads`,String(t.filterThreads));let o=e.inputs.map((e,t)=>{let n=[...t===0?a:[],...Z(e.raw)?[]:[`-threads`,r]];return n.length>0?{...e,raw:[...n,...e.raw]}:e}),s=Z(e.outputOpts)?e.outputOpts:[`-threads`,r,...e.outputOpts];return{...e,inputs:o,outputOpts:s}}function Q(e){return{stdout:``,stderr:`${e}ffmpeg: the multi-threaded core deadlocks with more than one input (ffmpeg starts a demux thread per input; emscripten proxies their pthread_create to a main thread blocked in exec; see #2810). Run without FFMPEG_CORE=mt so the single-threaded @ffmpeg/core handles this job.
89
89
  `,exitCode:1}}function ke(e,t,n){let r=[];for(let[n,i]of e.inputs.entries()){let e=t[n],a=i.raw;for(let t=0;t<a.length;t++){if(a[t]===`-i`){r.push(`-i`,e.virtual?a[t+1]:e.ffmpegName),t+=1;continue}r.push(a[t])}}return r.push(...e.outputOpts),r.push(n),r}function Ae(e){let t=[];for(let n of e)if(n.data!==null){for(let e of n.extraFiles??[])t.push({name:S(e.ffmpegName),data:e.data});t.push({name:S(n.ffmpegName),data:n.data})}return t}async function je(e){let t=`__health_probe`;try{await e.writeFile(t,new Uint8Array([0])),await e.deleteFile(t)}catch(e){if(s(e))throw e}}async function Me(e,t,n){await T(e,t),await E(e,n)}async function Ne(e,t,n,r){let i;try{i=await e.readFile(t)}catch(e){if(s(e))throw e;return{error:{stdout:``,stderr:r()||`ffmpeg: produced no output file for ${n}\n`,exitCode:1}}}let a=i instanceof Uint8Array?i:new TextEncoder().encode(typeof i==`string`?i:``);return a.byteLength===0?{error:{stdout:``,stderr:r()||`ffmpeg: produced an empty output file for ${n}\n`,exitCode:1}}:{bytes:a}}function Pe(e,t,n){return n?`__null_sink${e.id}`:C(e,t)}function $(e,t){return{stdout:``,stderr:`${e}ffmpeg: ${t instanceof Error?t.message:String(t)}\nffmpeg: the wasm core faulted and was recycled; retry the command (a large input may need to be split into smaller passes)
90
90
  `,exitCode:1}}async function Fe(e){let{ffmpeg:t,parsed:n,resolvedInputs:r,stage:i,outputName:a,outputPath:s,analysisSink:c,readStderr:u}=e,d=l()===o;if(d&&n.inputs.length>1)return{early:Q(u()),outputBytes:null};await w(t,i,Ae(r));let f=c?{...n,outputOpts:U(n.outputOpts)}:n,p=ke(d?Oe(f):f,r,a),m=await t.exec(p);if(m!==0)return{early:{stdout:``,stderr:u()||`ffmpeg: exited with code ${m}\n`,exitCode:m||1},outputBytes:null};if(c)return await je(t),{early:{stdout:``,stderr:u(),exitCode:0},outputBytes:null};let h=await Ne(t,a,s,u);return`error`in h?{early:h.error,outputBytes:null}:{early:null,outputBytes:h.bytes}}async function Ie(e){let{ffmpeg:t,logHandler:n,stage:i,outputName:a,readStderr:o,faulted:c}=e;try{t.off(`log`,n)}catch{}if(c)return null;try{return await Me(t,i,a),null}catch(e){return s(e)?(r(t),$(o(),e)):null}}async function Le(e,t,n,r,i){let{ffmpegEngineFromEnv:a}=await import(`./engine-CzMNXd8U.js`).then(e=>e.n),o=a(i.env),s=t.length===1?t[0].data:null;if(o===`wasm`||r||s===null)return o===`mediabunny`?{result:{stdout:``,stderr:`ffmpeg: FFMPEG_ENGINE=mediabunny cannot run this: analysis sinks, lavfi and concat inputs are wasm-only
91
- `,exitCode:1}}:{fallback:!0,note:null};let{runFfmpegFastPath:c}=await import(`./fast-path-B1LDE8dF.js`);return c({parsed:e,input:s,outputPath:i.fs.resolvePath(i.cwd,n),fs:i.fs,engine:o})}async function Re(e,t){let n=b(),r=[],i=await Ee(e,n,t,e=>r.push(e));if(`error`in i)return i.error;let a=i.inputs,o=e.outputPath,s=H(e),c=await Le(e,a,o,s,t);if(`result`in c)return c.result;let l=await ze({parsed:e,ctx:t,stage:n,resolvedInputs:a,outputPath:o,analysisSink:s}),u=[...c.note?[`ffmpeg: ${c.note}`]:[],...r].map(e=>`${e}\n`).join(``);return u?{...l,stderr:`${u}${l.stderr}`}:l}async function ze(e){let{parsed:t,ctx:i,stage:a,resolvedInputs:o,outputPath:s,analysisSink:c}=e,l=Pe(a,s,c),u=``,f;try{f=await n({onProgress:e=>{u+=`${e}\n`},ipk:W(i),preferMt:d(i.env)===`mt`})}catch(e){return{stdout:``,stderr:`${u}ffmpeg: failed to load wasm: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}let p=e=>{u+=`${e.message}\n`};f.on(`log`,p);let m=!1,h=null,g=null;try{let e=await Fe({ffmpeg:f,parsed:t,resolvedInputs:o,stage:a,outputName:l,outputPath:s,analysisSink:c,readStderr:()=>u});h=e.early,g=e.outputBytes}catch(e){m=!0,r(f),h=$(u,e)}finally{let e=await Ie({ffmpeg:f,logHandler:p,stage:a,outputName:l,readStderr:()=>u,faulted:m});e&&(h=e)}if(h)return h;try{await i.fs.writeFile(i.fs.resolvePath(i.cwd,s),g??new Uint8Array)}catch(e){return{stdout:``,stderr:`${u}ffmpeg: cannot write ${s}: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}return{stdout:``,stderr:u,exitCode:0}}export{m as a,W as createIpkContextFromCtx,T as i,b as n,x as r,le as runFfmpeg,w as t};
91
+ `,exitCode:1}}:{fallback:!0,note:null};let{runFfmpegFastPath:c}=await import(`./fast-path-R8Tr2lTS.js`);return c({parsed:e,input:s,outputPath:i.fs.resolvePath(i.cwd,n),fs:i.fs,engine:o})}async function Re(e,t){let n=b(),r=[],i=await Ee(e,n,t,e=>r.push(e));if(`error`in i)return i.error;let a=i.inputs,o=e.outputPath,s=H(e),c=await Le(e,a,o,s,t);if(`result`in c)return c.result;let l=await ze({parsed:e,ctx:t,stage:n,resolvedInputs:a,outputPath:o,analysisSink:s}),u=[...c.note?[`ffmpeg: ${c.note}`]:[],...r].map(e=>`${e}\n`).join(``);return u?{...l,stderr:`${u}${l.stderr}`}:l}async function ze(e){let{parsed:t,ctx:i,stage:a,resolvedInputs:o,outputPath:s,analysisSink:c}=e,l=Pe(a,s,c),u=``,f;try{f=await n({onProgress:e=>{u+=`${e}\n`},ipk:W(i),preferMt:d(i.env)===`mt`})}catch(e){return{stdout:``,stderr:`${u}ffmpeg: failed to load wasm: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}let p=e=>{u+=`${e.message}\n`};f.on(`log`,p);let m=!1,h=null,g=null;try{let e=await Fe({ffmpeg:f,parsed:t,resolvedInputs:o,stage:a,outputName:l,outputPath:s,analysisSink:c,readStderr:()=>u});h=e.early,g=e.outputBytes}catch(e){m=!0,r(f),h=$(u,e)}finally{let e=await Ie({ffmpeg:f,logHandler:p,stage:a,outputName:l,readStderr:()=>u,faulted:m});e&&(h=e)}if(h)return h;try{await i.fs.writeFile(i.fs.resolvePath(i.cwd,s),g??new Uint8Array)}catch(e){return{stdout:``,stderr:`${u}ffmpeg: cannot write ${s}: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}return{stdout:``,stderr:u,exitCode:0}}export{m as a,W as createIpkContextFromCtx,T as i,b as n,x as r,le as runFfmpeg,w as t};
@@ -1,4 +1,4 @@
1
- import"./browser-L7W6uZ79.js";import{a as e,c as t,i as n,l as r,o as i,r as a}from"./ffmpeg-wasm-sx-3yVAE.js";import{r as o}from"./engine-CzMNXd8U.js";import{a as s,createIpkContextFromCtx as c,i as l,n as u,r as ee,t as d}from"./run-BqizcKZL.js";const f={mono:1,stereo:2,"2.1":3,"3.0":3,"3.1":4,"4.0":4,quad:4,"4.1":5,"5.0":5,"5.1":6,"6.0":6,"6.1":7,"7.0":7,"7.1":8};function p(e){let t=/^(\d+):(\d{2}):(\d{2}(?:\.\d+)?)$/.exec(e.trim());if(!t)return;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if([n,r,i].every(Number.isFinite))return(n*3600+r*60+i).toFixed(6)}function m(e){let t=e.trim().toLowerCase();if(Object.hasOwn(f,t))return f[t];let n=/^([0-9.]+|[a-z0-9_+-]+)\(/.exec(t);if(n&&Object.hasOwn(f,n[1]))return f[n[1]];let r=/^(\d+)\s+channels?$/.exec(t);if(r)return Number(r[1])}function h(e){let t=Number(e);return Number.isFinite(t)?Number.isInteger(t)?`${t}/1`:`${Math.round(t*1e3)}/1000`:e}function g(e){let t=Number(e);if(Number.isFinite(t))return String(Math.round(t*1e3))}function _(e){let t=/^([A-Za-z0-9_]+)(.*)$/.exec(e);if(!t)return{remainder:e};let n=t[2],r,i,a=/^\s*\(([^)/]+)\)/.exec(n);a&&!a[1].includes(`/`)&&(r=a[1].trim(),n=n.slice(a[0].length));let o=/^\s*\(([A-Za-z0-9]+)\s*\/\s*0x[0-9a-fA-F]+\)/.exec(n);return o&&(i=o[1],n=n.slice(o[0].length)),{codec_name:t[1],profile:r,codec_tag_string:i,remainder:n}}function v(e,t){let n=/,\s*([A-Za-z0-9_]+)(?:\([^)]*\))?,\s*(\d+)x(\d+)/.exec(e);n&&(t.pix_fmt=n[1],t.width=Number(n[2]),t.height=Number(n[3]));let r=/\[SAR\s+(\S+)\s+DAR\s+(\S+)\]/.exec(e);r&&(t.sample_aspect_ratio=r[1],t.display_aspect_ratio=r[2]);let i=/,\s*(\d+(?:\.\d+)?)\s*kb\/s/.exec(e);i&&(t.bit_rate=g(i[1]));let a=/,\s*(\d+(?:\.\d+)?)\s*fps/.exec(e);a&&(t.r_frame_rate=h(a[1]),t.avg_frame_rate=t.r_frame_rate)}function y(e,t){let n=/,\s*(\d+)\s*Hz/.exec(e);n&&(t.sample_rate=n[1]);let r=/Hz,\s*([^,]+)/.exec(e);if(r){let e=r[1].trim();t.channel_layout=e,t.channels=m(e)}let i=/,\s*(\d+(?:\.\d+)?)\s*kb\/s/.exec(e);i&&(t.bit_rate=g(i[1]))}function b(e){let t=/^\s*Stream #(\d+):(\d+)(?:\[[^\]]*\])?(?:\([^)]*\))?:\s*(Video|Audio|Subtitle|Data|Attachment):\s*(.+)$/i.exec(e);if(!t)return null;let n=t[3].toLowerCase(),r={index:Number(t[2]),codec_type:n},{codec_name:i,profile:a,codec_tag_string:o,remainder:s}=_(t[4]);return i&&(r.codec_name=i),a&&(r.profile=a),o&&(r.codec_tag_string=o),n===`video`?v(s,r):n===`audio`&&y(s,r),r}function x(e,t){let n=/^\s*Duration:\s*([^,]+),\s*start:\s*([^,]+),\s*bitrate:\s*(\d+(?:\.\d+)?)\s*kb\/s/.exec(t);return n?(e.duration=p(n[1]),e.start_time=Number(n[2]).toFixed(6),e.bit_rate=g(n[3]),!0):!1}function S(e,t,n){let r=/^\s{2,}([A-Za-z0-9_]+)\s*:\s*(.*)$/.exec(n);return r&&!/^(Duration|Stream)\b/.test(r[1])?(t[r[1]]=r[2].trim(),`keep`):(Object.keys(t).length>0&&(e.tags=t),`end`)}function C(e,t){let n=e.split(/\r?\n/),r=null,i=[],a=!1,o;for(let e of n){let n=/^Input #(\d+),\s*(.+?),\s*from\s+'([^']*)':\s*$/.exec(e);if(n){a=!0,r={format_name:n[2].trim(),filename:n[3]||t},o=void 0;continue}if(!a||!r)continue;if(/^\s*Metadata:\s*$/.test(e)){o={};continue}if(o){if(S(r,o,e)===`keep`)continue;o=void 0}if(x(r,e))continue;let s=b(e);s&&(r.duration&&s.duration===void 0&&(s.duration=r.duration),i.push(s))}return r?{format:r,streams:i}:null}const w=new Set([`-i`,`-v`,`-loglevel`,`-of`,`-print_format`,`-show_entries`,`-select_streams`]),T=new Set([`-show_format`,`-show_streams`,`-hide_banner`,`-h`,`--help`,`-version`,`--version`]);function E(){return{stdout:`ffprobe - media probe (mediabunny, with a wasm fallback)
1
+ import"./browser-L7W6uZ79.js";import{a as e,c as t,i as n,l as r,o as i,r as a}from"./ffmpeg-wasm-sx-3yVAE.js";import{r as o}from"./engine-CzMNXd8U.js";import{a as s,createIpkContextFromCtx as c,i as l,n as u,r as ee,t as d}from"./run-DwJ5gSg3.js";const f={mono:1,stereo:2,"2.1":3,"3.0":3,"3.1":4,"4.0":4,quad:4,"4.1":5,"5.0":5,"5.1":6,"6.0":6,"6.1":7,"7.0":7,"7.1":8};function p(e){let t=/^(\d+):(\d{2}):(\d{2}(?:\.\d+)?)$/.exec(e.trim());if(!t)return;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if([n,r,i].every(Number.isFinite))return(n*3600+r*60+i).toFixed(6)}function m(e){let t=e.trim().toLowerCase();if(Object.hasOwn(f,t))return f[t];let n=/^([0-9.]+|[a-z0-9_+-]+)\(/.exec(t);if(n&&Object.hasOwn(f,n[1]))return f[n[1]];let r=/^(\d+)\s+channels?$/.exec(t);if(r)return Number(r[1])}function h(e){let t=Number(e);return Number.isFinite(t)?Number.isInteger(t)?`${t}/1`:`${Math.round(t*1e3)}/1000`:e}function g(e){let t=Number(e);if(Number.isFinite(t))return String(Math.round(t*1e3))}function _(e){let t=/^([A-Za-z0-9_]+)(.*)$/.exec(e);if(!t)return{remainder:e};let n=t[2],r,i,a=/^\s*\(([^)/]+)\)/.exec(n);a&&!a[1].includes(`/`)&&(r=a[1].trim(),n=n.slice(a[0].length));let o=/^\s*\(([A-Za-z0-9]+)\s*\/\s*0x[0-9a-fA-F]+\)/.exec(n);return o&&(i=o[1],n=n.slice(o[0].length)),{codec_name:t[1],profile:r,codec_tag_string:i,remainder:n}}function v(e,t){let n=/,\s*([A-Za-z0-9_]+)(?:\([^)]*\))?,\s*(\d+)x(\d+)/.exec(e);n&&(t.pix_fmt=n[1],t.width=Number(n[2]),t.height=Number(n[3]));let r=/\[SAR\s+(\S+)\s+DAR\s+(\S+)\]/.exec(e);r&&(t.sample_aspect_ratio=r[1],t.display_aspect_ratio=r[2]);let i=/,\s*(\d+(?:\.\d+)?)\s*kb\/s/.exec(e);i&&(t.bit_rate=g(i[1]));let a=/,\s*(\d+(?:\.\d+)?)\s*fps/.exec(e);a&&(t.r_frame_rate=h(a[1]),t.avg_frame_rate=t.r_frame_rate)}function y(e,t){let n=/,\s*(\d+)\s*Hz/.exec(e);n&&(t.sample_rate=n[1]);let r=/Hz,\s*([^,]+)/.exec(e);if(r){let e=r[1].trim();t.channel_layout=e,t.channels=m(e)}let i=/,\s*(\d+(?:\.\d+)?)\s*kb\/s/.exec(e);i&&(t.bit_rate=g(i[1]))}function b(e){let t=/^\s*Stream #(\d+):(\d+)(?:\[[^\]]*\])?(?:\([^)]*\))?:\s*(Video|Audio|Subtitle|Data|Attachment):\s*(.+)$/i.exec(e);if(!t)return null;let n=t[3].toLowerCase(),r={index:Number(t[2]),codec_type:n},{codec_name:i,profile:a,codec_tag_string:o,remainder:s}=_(t[4]);return i&&(r.codec_name=i),a&&(r.profile=a),o&&(r.codec_tag_string=o),n===`video`?v(s,r):n===`audio`&&y(s,r),r}function x(e,t){let n=/^\s*Duration:\s*([^,]+),\s*start:\s*([^,]+),\s*bitrate:\s*(\d+(?:\.\d+)?)\s*kb\/s/.exec(t);return n?(e.duration=p(n[1]),e.start_time=Number(n[2]).toFixed(6),e.bit_rate=g(n[3]),!0):!1}function S(e,t,n){let r=/^\s{2,}([A-Za-z0-9_]+)\s*:\s*(.*)$/.exec(n);return r&&!/^(Duration|Stream)\b/.test(r[1])?(t[r[1]]=r[2].trim(),`keep`):(Object.keys(t).length>0&&(e.tags=t),`end`)}function C(e,t){let n=e.split(/\r?\n/),r=null,i=[],a=!1,o;for(let e of n){let n=/^Input #(\d+),\s*(.+?),\s*from\s+'([^']*)':\s*$/.exec(e);if(n){a=!0,r={format_name:n[2].trim(),filename:n[3]||t},o=void 0;continue}if(!a||!r)continue;if(/^\s*Metadata:\s*$/.test(e)){o={};continue}if(o){if(S(r,o,e)===`keep`)continue;o=void 0}if(x(r,e))continue;let s=b(e);s&&(r.duration&&s.duration===void 0&&(s.duration=r.duration),i.push(s))}return r?{format:r,streams:i}:null}const w=new Set([`-i`,`-v`,`-loglevel`,`-of`,`-print_format`,`-show_entries`,`-select_streams`]),T=new Set([`-show_format`,`-show_streams`,`-hide_banner`,`-h`,`--help`,`-version`,`--version`]);function E(){return{stdout:`ffprobe - media probe (mediabunny, with a wasm fallback)
2
2
 
3
3
  Usage:
4
4
  ffprobe [options] -i <input>
@@ -41,6 +41,6 @@ Examples:
41
41
  `,stderr:``,exitCode:0}}async function D(e){let t=o(e.env)===`mt`,i=await r(c(e),void 0,t);return i?{stdout:`ffprobe (emulated via @ffmpeg/ffmpeg — not a real ffprobe binary)\ncore: ${a(i)}\n`,stderr:``,exitCode:0}:{stdout:``,stderr:`ffprobe: ${n(t)}\n`,exitCode:1}}function O(e,t,n){let r=e[t+1];if(typeof r!=`string`||r.startsWith(`-`))throw Error(`ffprobe: ${n} requires a value`);return r}function k(e){let t=e.indexOf(`=`),n=t<0?e:e.slice(0,t),r=t<0?``:e.slice(t+1);if(n===`json`)return{kind:`json`};if(n===`csv`)return{kind:`csv`,printSection:!/(?:^|:)p=0(?::|$)/.test(r)};if(n==="default")return{kind:`default`,noWrappers:/(?:^|:)(?:nw|noprint_wrappers)=1(?::|$)/.test(r),noKey:/(?:^|:)(?:nk|nokey)=1(?::|$)/.test(r)};throw Error(`ffprobe: unsupported -of '${e}' (supported: json, csv[=p=0], default[=nw=1:nk=1])`)}function A(e){let t={};for(let n of e.split(`:`)){if(!n)continue;let e=n.indexOf(`=`);if(e<0)throw Error(`ffprobe: -show_entries section '${n}' needs keys (e.g. format=duration)`);let r=n.slice(0,e),i=n.slice(e+1).split(`,`).map(e=>e.trim()).filter(Boolean);if(r===`format`)t.format=new Set(i);else if(r===`stream`)t.stream=new Set(i);else throw Error(`ffprobe: unsupported -show_entries section '${r}' (supported: format, stream)`)}return t}function j(e,t,n){let r=t[n];if(r===`-i`)return e.inputPath=O(t,n,`-i`),n+1;if(r===`-show_format`)return e.showFormat=!0,e.structured=!0,n;if(r===`-show_streams`)return e.showStreams=!0,e.structured=!0,n;if(r===`-show_entries`)return e.showEntries=A(O(t,n,`-show_entries`)),e.structured=!0,n+1;if(r===`-select_streams`)return e.selectStreams=O(t,n,`-select_streams`),n+1;if(r===`-of`||r===`-print_format`)return e.outputFormat=k(O(t,n,r)),e.structured=!0,n+1;if(r===`-v`||r===`-loglevel`){let i=O(t,n,r).toLowerCase();return e.quiet=[`quiet`,`panic`,`fatal`,`error`,`warning`].includes(i),n+1}if(r===`-hide_banner`)return n;if(T.has(r)||w.has(r))throw Error(`ffprobe: internal parse gap for '${r}'`);if(r.startsWith(`-`))throw Error(`ffprobe: unsupported option '${r}' (this is an emulated probe — see --help)`);if(e.inputPath!==null)throw Error(`ffprobe: unexpected argument '${r}'`);return e.inputPath=r,n}function M(e){let t={inputPath:null,showFormat:!1,showStreams:!1,showEntries:null,selectStreams:null,outputFormat:{kind:`default`,noWrappers:!1,noKey:!1},quiet:!1,structured:!1};for(let n=0;n<e.length;n++)n=j(t,e,n);return!t.showFormat&&!t.showStreams&&!t.showEntries&&(t.showFormat=!0,t.showStreams=!0),t}function N(e,t){if(!t)return e;let n=/^([va])(?::(\d+))?$/i.exec(t.trim());if(!n)throw Error(`ffprobe: unsupported -select_streams '${t}' (supported: v, a, v:N, a:N)`);let r=n[1].toLowerCase()===`v`?`video`:`audio`,i=e.filter(e=>e.codec_type===r);if(n[2]===void 0)return i;let a=i[Number(n[2])];return a?[a]:[]}const P=[`filename`,`format_name`,`duration`,`start_time`,`bit_rate`],F=[`index`,`codec_type`,`codec_name`,`codec_tag_string`,`profile`,`width`,`height`,`pix_fmt`,`sample_aspect_ratio`,`display_aspect_ratio`,`r_frame_rate`,`avg_frame_rate`,`sample_rate`,`channels`,`channel_layout`,`bit_rate`,`duration`];function I(e,t){let n={};for(let r of P){if(t&&!t.has(r))continue;let i=e[r];i!==void 0&&(n[r]=i)}return n}function L(e,t){let n={};for(let r of F){if(t&&!t.has(r))continue;let i=e[r];i!==void 0&&(n[r]=i)}return n}function R(e,t){let n=N(e.streams,t.selectStreams),r={};return t.showEntries?(t.showEntries.format&&(r.format=I(e.format,t.showEntries.format)),t.showEntries.stream&&(r.streams=n.map(e=>L(e,t.showEntries?.stream))),r):(t.showFormat&&(r.format=I(e.format)),t.showStreams&&(r.streams=n.map(e=>L(e))),r)}function z(e,t){let n=[],r=(e,r)=>{t.noWrappers||n.push(`[${e}]`);for(let[e,i]of Object.entries(r))i!==void 0&&n.push(t.noKey?String(i):`${e}=${i}`);t.noWrappers||n.push(`[/${e}]`)};if(e.format&&r(`FORMAT`,e.format),e.streams)for(let t of e.streams)r(`STREAM`,t);return`${n.join(`
42
42
  `)}\n`}function B(e){return/[",\n\r]/.test(e)?`"${e.replace(/"/g,`""`)}"`:e}function V(e,t){let n=[],r=(e,r)=>{let i=Object.values(r).filter(e=>e!==void 0).map(e=>B(String(e)));i.length!==0&&(t.printSection&&i.unshift(e),n.push(i.join(`,`)))};if(e.format&&r(`format`,e.format),e.streams)for(let t of e.streams)r(`stream`,t);return`${n.join(`
43
43
  `)}\n`}function H(e){let t=e.codec_name??`?`;if(e.codec_type===`video`){let n=e.width&&e.height?`, ${e.width}x${e.height}`:``,r=e.r_frame_rate?`, ${e.r_frame_rate} fps`:``;return` Stream #0:${e.index}: Video: ${t}${n}${r}`}if(e.codec_type===`audio`){let n=e.sample_rate?`, ${e.sample_rate} Hz`:``,r=e.channel_layout?`, ${e.channel_layout}`:``,i=e.channels===void 0?``:` (${e.channels} ch)`;return` Stream #0:${e.index}: Audio: ${t}${n}${r}${i}`}return` Stream #0:${e.index}: ${e.codec_type}: ${t}`}function U(e){let t=e.format,n=[`Input #0, ${t.format_name??`unknown`}, from '${t.filename??``}':`];if(t.duration!==void 0||t.bit_rate!==void 0){let e=t.duration??`N/A`,r=t.bit_rate?`${Math.round(Number(t.bit_rate)/1e3)} kb/s`:`N/A`;n.push(` Duration: ${e} s, bitrate: ${r}`)}for(let t of e.streams)n.push(H(t));return`${n.join(`
44
- `)}\n`}function W(e,t){if(!t.structured)return U(e);let n=R(e,t);return t.outputFormat.kind===`json`?`${JSON.stringify(n,null,4)}\n`:t.outputFormat.kind===`csv`?V(n,t.outputFormat):z(n,t.outputFormat)}let G=Promise.resolve();function K(e){let t=G.then(e,e);return G=t.then(()=>void 0,()=>void 0),t}let q=0;function J(e){let t=e.split(`/`).pop()||`input.bin`,n=/\.([A-Za-z0-9]{1,8})$/.exec(t),r=n?`.${n[1].toLowerCase()}`:`.bin`;return q=q+1>>>0,`__probe_${q}_${Date.now()}${r}`}async function Y(t){let n=``;try{return{ffmpeg:await e({onProgress:e=>{n+=`${e}\n`},ipk:c(t),preferMt:o(t.env)===`mt`}),loadLog:n}}catch(e){return{stdout:``,stderr:`ffprobe: failed to load wasm: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function X(e,n,r){try{await e.exec([`-hide_banner`,`-i`,n])}catch(n){if(i(n))return t(e),{stdout:``,stderr:`ffprobe: wasm core faulted (${n instanceof Error?n.message:String(n)}); recycled shared instance\n`,exitCode:1};r.text+=`${n instanceof Error?n.message:String(n)}\n`}return null}function Z(e,t,n){e.format.filename=t.inputPath??e.format.filename;try{return{stdout:W(e,t),stderr:t.quiet?``:n,exitCode:0}}catch(e){return{stdout:``,stderr:`ffprobe: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function Q(e,t,n){let{ffmpegEngineFromEnv:r}=await import(`./engine-CzMNXd8U.js`).then(e=>e.n),i=r(n.env);if(i===`wasm`)return null;let{probeViaMediabunny:a}=await import(`./bunny-probe-Dv_4dvDI.js`),o=await a(t,e.inputPath??``);return o?Z(o,e,``):i===`mediabunny`?{stdout:``,stderr:`ffprobe: FFMPEG_ENGINE=mediabunny: input is not a container mediabunny reads
44
+ `)}\n`}function W(e,t){if(!t.structured)return U(e);let n=R(e,t);return t.outputFormat.kind===`json`?`${JSON.stringify(n,null,4)}\n`:t.outputFormat.kind===`csv`?V(n,t.outputFormat):z(n,t.outputFormat)}let G=Promise.resolve();function K(e){let t=G.then(e,e);return G=t.then(()=>void 0,()=>void 0),t}let q=0;function J(e){let t=e.split(`/`).pop()||`input.bin`,n=/\.([A-Za-z0-9]{1,8})$/.exec(t),r=n?`.${n[1].toLowerCase()}`:`.bin`;return q=q+1>>>0,`__probe_${q}_${Date.now()}${r}`}async function Y(t){let n=``;try{return{ffmpeg:await e({onProgress:e=>{n+=`${e}\n`},ipk:c(t),preferMt:o(t.env)===`mt`}),loadLog:n}}catch(e){return{stdout:``,stderr:`ffprobe: failed to load wasm: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function X(e,n,r){try{await e.exec([`-hide_banner`,`-i`,n])}catch(n){if(i(n))return t(e),{stdout:``,stderr:`ffprobe: wasm core faulted (${n instanceof Error?n.message:String(n)}); recycled shared instance\n`,exitCode:1};r.text+=`${n instanceof Error?n.message:String(n)}\n`}return null}function Z(e,t,n){e.format.filename=t.inputPath??e.format.filename;try{return{stdout:W(e,t),stderr:t.quiet?``:n,exitCode:0}}catch(e){return{stdout:``,stderr:`ffprobe: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async function Q(e,t,n){let{ffmpegEngineFromEnv:r}=await import(`./engine-CzMNXd8U.js`).then(e=>e.n),i=r(n.env);if(i===`wasm`)return null;let{probeViaMediabunny:a}=await import(`./bunny-probe-C4NWuNUc.js`),o=await a(t,e.inputPath??``);return o?Z(o,e,``):i===`mediabunny`?{stdout:``,stderr:`ffprobe: FFMPEG_ENGINE=mediabunny: input is not a container mediabunny reads
45
45
  `,exitCode:1}:null}async function $(e,t){if(!e.inputPath)return{stdout:``,stderr:`ffprobe: at least one input file must be specified
46
46
  `,exitCode:1};let n=t.fs.resolvePath(t.cwd,e.inputPath);if(!await t.fs.exists(n))return{stdout:``,stderr:`ffprobe: input file not found: ${e.inputPath}\n`,exitCode:1};let r=await s(t.fs,n);return await Q(e,r,t)||K(()=>te(e,r,t))}async function te(e,n,r){let a=u(),o=J(e.inputPath??``),s=ee(a,o),c=await Y(r);if(`exitCode`in c)return c;let{ffmpeg:f,loadLog:p}=c,m={text:``},h=e=>{m.text+=`${e.message}\n`};f.on(`log`,h);let g=!1;try{await d(f,a,[{name:o,data:n}]);let t=await X(f,s,m);if(t)return g=!0,t;let r=C(m.text,e.inputPath??``);return r?Z(r,e,p):{stdout:``,stderr:`ffprobe: could not parse media info from ffmpeg log\n${e.quiet?``:m.text||p}`,exitCode:1}}catch(e){return i(e)&&(g=!0,t(f)),{stdout:``,stderr:`ffprobe: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}finally{try{f.off(`log`,h)}catch{}if(!g)try{await l(f,a)}catch{}}}async function ne(e,t){if(e.length===0||e.includes(`--help`)||e.includes(`-h`))return E();if(e.includes(`-version`)||e.includes(`--version`))return D(t);let n;try{n=M(e)}catch(e){return{stdout:``,stderr:`${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}return $(n,t)}export{ne as runFfprobe};