sliccy 6.181.0 → 6.182.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/.vite/manifest.json +188 -188
- package/dist/ui/assets/__vite-browser-external-CJkRLpJ-.js +1 -0
- package/dist/ui/assets/{account-store-J3ybiSNw.js → account-store-BxB3138q.js} +1 -1
- package/dist/ui/assets/{account-store-0RMtbmqz.js → account-store-UA_3Tz4g.js} +1 -1
- package/dist/ui/assets/{adobe-YOeKKYUk.js → adobe-C5iQ4vVx.js} +1 -1
- package/dist/ui/assets/{adobe-DEXpooxf.js → adobe-CGl3cGPR.js} +1 -1
- package/dist/ui/assets/{agent-panels-B4hlhzVG.js → agent-panels-DfmjvBS2.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-BR1Hr6tM.js → almost-bash-shell-headless-l1xuiFhc.js} +36 -36
- package/dist/ui/assets/{apply-layout-BgFVMSBx.js → apply-layout-Bq6bvrT2.js} +1 -1
- package/dist/ui/assets/{apps-oyrUmtWx.js → apps-BX-IbYH9.js} +1 -1
- package/dist/ui/assets/{azure-openai-Ytc_MWDd.js → azure-openai-BXvWNypo.js} +1 -1
- package/dist/ui/assets/{azure-openai-B6qTFVGv.js → azure-openai-C2dDMpxW.js} +1 -1
- package/dist/ui/assets/{backend-hostfs-CEXlx0cW.js → backend-hostfs-DV8kfBUj.js} +1 -1
- package/dist/ui/assets/{browser-DG5MjvHF.js → browser-BM_DFzrh.js} +2 -2
- package/dist/ui/assets/{bsh-watchdog-DBtF-C4h.js → bsh-watchdog-CmaS7wa9.js} +1 -1
- package/dist/ui/assets/{cdp-DVWJozRc.js → cdp-B0aSo4ch.js} +1 -1
- package/dist/ui/assets/{cerebras-brHRFUH2.js → cerebras-B2SDJ5pX.js} +1 -1
- package/dist/ui/assets/{cerebras-BT44OLPt.js → cerebras-D29ytBVb.js} +1 -1
- package/dist/ui/assets/{composer-speech-BZQtz7u1.js → composer-speech-Dt-gM11M.js} +1 -1
- package/dist/ui/assets/{connect-surface-D7cq2QI7.js → connect-surface-Cb3XqWWR.js} +1 -1
- package/dist/ui/assets/{core-aQUekdF7.js → core-CDo7qjEn.js} +1 -1
- package/dist/ui/assets/{cost-command-DZQVtgRS.js → cost-command-CitGzr6C.js} +1 -1
- package/dist/ui/assets/{directed-approval-DvAxEX5J.js → directed-approval-BEel8QYA.js} +1 -1
- package/dist/ui/assets/{emscripten-vfs-hook-agmT6Hsz.js → emscripten-vfs-hook-bNKkM3Zb.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-CQ05z2Xw.js → ensure-speech-assets-DnCun_bM.js} +1 -1
- package/dist/ui/assets/{esbuild-wasm-DS_YG2EY.js → esbuild-wasm-CeZYVyQ9.js} +1 -1
- package/dist/ui/assets/{ffmpeg-wasm-B77gfnB_.js → ffmpeg-wasm-CV1BmGNS.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-qxZ9jGOV.js → frozen-archive-writer-DWckLPIx.js} +1 -1
- package/dist/ui/assets/{fs-Dkh-H6Cd.js → fs-Bl1dGTw7.js} +2 -2
- package/dist/ui/assets/{fs-D6FCLu_F.js → fs-Bvj_6WV6.js} +1 -1
- package/dist/ui/assets/{gelatiere-store-ChogqkEu.js → gelatiere-store-CslswlOn.js} +1 -1
- package/dist/ui/assets/{gelatiere-unit-DxFUh33e.js → gelatiere-unit-DOffAKPD.js} +1 -1
- package/dist/ui/assets/{github-D31l6kcK.js → github-DRuWNJ0x.js} +2 -2
- package/dist/ui/assets/{github-CrHzeKQ8.js → github-DVquHzS1.js} +1 -1
- package/dist/ui/assets/{github-auth-VTbKhlbJ.js → github-auth-C5UPE82y.js} +1 -1
- package/dist/ui/assets/{github-copilot-eUb4Djg_.js → github-copilot-DXbnFsoC.js} +1 -1
- package/dist/ui/assets/{github-copilot-CVwHDKPD.js → github-copilot-ha5V9jKJ.js} +1 -1
- package/dist/ui/assets/{github-install-Dkt1u6HU.js → github-install-z8nzKR56.js} +1 -1
- package/dist/ui/assets/{github-zip-B6gHXxqd.js → github-zip-YeBT3Ny7.js} +1 -1
- package/dist/ui/assets/{guest-tool-gate-YxkVsl15.js → guest-tool-gate-Dn4Cs-oT.js} +1 -1
- package/dist/ui/assets/{hear-BKQjhhNP.js → hear-ClByyjXy.js} +1 -1
- package/dist/ui/assets/{help-C7WHd3Ia.js → help-p6vq-7bY.js} +1 -1
- package/dist/ui/assets/{host-command-ODKvqvjN.js → host-command-PUA7nfMk.js} +1 -1
- package/dist/ui/assets/{installer-D35TzRKw.js → installer-hyWN7t-8.js} +1 -1
- package/dist/ui/assets/{interrupted-work-recovery-BK9ZDM7F.js → interrupted-work-recovery-C3eyzaf0.js} +1 -1
- package/dist/ui/assets/js-realm-worker-C8L3DYxo.js +53 -0
- package/dist/ui/assets/jsh-executor-BRw7B4H0.js +18 -0
- package/dist/ui/assets/{kernel-worker-UUfeG-Eg.js → kernel-worker-DJ8FZwqE.js} +9 -9
- package/dist/ui/assets/{lick-ws-bridge-DoyPgrSr.js → lick-ws-bridge-AHYpxmrH.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-DdgwrW91.js → lick-ws-bridge-DjxKrqtY.js} +1 -1
- package/dist/ui/assets/{live-session-curation-6O9TA5qM.js → live-session-curation-ChbHqCg_.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-D_7T7FHe.js → live-session-snapshot-CEM9afjE.js} +1 -1
- package/dist/ui/assets/{local-llm-BYaSa2xI.js → local-llm-3Pq3W9JZ.js} +1 -1
- package/dist/ui/assets/{local-llm-TK4oGrWD.js → local-llm-DSfR5Yt1.js} +1 -1
- package/dist/ui/assets/{magick-wasm-DCNZhAyd.js → magick-wasm-KFp97Nzb.js} +1 -1
- package/dist/ui/assets/{main-Bgkf5d3Z.js → main-DtPQfxOa.js} +3 -3
- package/dist/ui/assets/{main-cherry-BUdIAeG5.js → main-cherry-GQeDS2ns.js} +1 -1
- package/dist/ui/assets/{memory-curation-seam-CNOuxuz4.js → memory-curation-seam-COOFWWtR.js} +1 -1
- package/dist/ui/assets/{memory-health-BSo0HKQx.js → memory-health-DxPjxnOp.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-mQfg-aG4.js → memory-write-execute-CRxpEM2X.js} +1 -1
- package/dist/ui/assets/{mount-h-dwh5GL.js → mount-9N6h5nwh.js} +3 -3
- package/dist/ui/assets/{mount-BpcQX-Sq.js → mount-Dkwa5rwA.js} +1 -1
- package/dist/ui/assets/{new-session-CTx7YRbr.js → new-session-C2Unp_ay.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-B18nfDG4.js → oauth-bootstrap-3r1LKeNV.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-Df3UDgbD.js → onboarding-orchestrator-DagKmKCB.js} +1 -1
- package/dist/ui/assets/{openai-codex-Cu1dT_JE.js → openai-codex--tiTbtXj.js} +1 -1
- package/dist/ui/assets/{openai-codex-DBUtEEk3.js → openai-codex-CJC7uwBp.js} +1 -1
- package/dist/ui/assets/{openrouter-BwrZKpwu.js → openrouter-aXBsdtFI.js} +1 -1
- package/dist/ui/assets/{openrouter-free-B_LRYNX8.js → openrouter-free-BeCg7Ecw.js} +1 -1
- package/dist/ui/assets/{openrouter-free-CXqUunRn.js → openrouter-free-DqFFRvst.js} +1 -1
- package/dist/ui/assets/{openrouter-CrB0BbnV.js → openrouter-mBY_6dIp.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Bnohq7Ac.js → openrouter-oauth-C7CZ9fp_.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Bpzo9cvY.js → openrouter-oauth-DQIC6b5R.js} +1 -1
- package/dist/ui/assets/{opfs-mount-CmDtZOGy.js → opfs-mount-tiZR34GY.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-BFG-ZvfW.js → panel-rpc-handlers-D8NOrxvf.js} +2 -2
- package/dist/ui/assets/{panelize-shell-CLHSr5bz.js → panelize-shell-C_Xs3rhf.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-wHbJ4R48.js → pi-edit-execution-kItlGFSm.js} +1 -1
- package/dist/ui/assets/{provider-BXK9OD8Z.js → provider-BtTOwLci.js} +2 -2
- package/dist/ui/assets/{provider-DyqdvQeZ.js → provider-DuCd6_sr.js} +1 -1
- package/dist/ui/assets/{provider-settings-BO6Fedc5.js → provider-settings-PedRbxpK.js} +1 -1
- package/dist/ui/assets/provider-store-access-BbD8NSzf.js +1 -0
- package/dist/ui/assets/provider-store-access-BvzkUnma.js +1 -0
- package/dist/ui/assets/{providers-BvApGkM9.js → providers-BkwBVwkB.js} +2 -2
- package/dist/ui/assets/{providers-CAcycJZb.js → providers-CWFcdblf.js} +1 -1
- package/dist/ui/assets/{py-live-vfs-Di71Rd2P.js → py-live-vfs-DMc0LhCg.js} +12 -0
- package/dist/ui/assets/{py-live-vfs-CJWt_6ye.js → py-live-vfs-Dm8bBjqR.js} +12 -0
- package/dist/ui/assets/py-realm-worker-BaO89JAR.js +255 -0
- package/dist/ui/assets/{pyodide-W71AWfnt.js → pyodide-DY17DXNV.js} +2 -2
- package/dist/ui/assets/{quick-llm-BENSRBxD.js → quick-llm-DKsocfis.js} +1 -1
- package/dist/ui/assets/realm-inprocess-CI_Msk8I.js +33 -0
- package/dist/ui/assets/{recovery-screen-Tq3wGnmV.js → recovery-screen-HGByYfVb.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-C8LiE7Sl.js → remote-terminal-view-C6Ao0U4O.js} +1 -1
- package/dist/ui/assets/{require-guards-DPd9EYEo.js → require-guards-DPf5QETL.js} +14 -3
- package/dist/ui/assets/{restore-DVP0SPlY.js → restore-BsViTTTd.js} +1 -1
- package/dist/ui/assets/{run-zLr2k5ZP.js → run-BEHokdPX.js} +1 -1
- package/dist/ui/assets/{run-BGZP3j5p.js → run-BLi5_vwK.js} +1 -1
- package/dist/ui/assets/{run-CKp8YCSO.js → run-BOMvKGOX.js} +1 -1
- package/dist/ui/assets/{run-C-OJvA2b.js → run-BP0Pyqp1.js} +1 -1
- package/dist/ui/assets/{run-FyOp8GaC.js → run-C0CADtt5.js} +1 -1
- package/dist/ui/assets/{run-CX6BUmN-.js → run-C1e4W7pJ.js} +1 -1
- package/dist/ui/assets/{run-BV_OY-0v.js → run-CKI507uv.js} +1 -1
- package/dist/ui/assets/{run-BKItPKix.js → run-CKdymE5z.js} +3 -3
- package/dist/ui/assets/{run-CiUSMP3Y.js → run-DEBWO_VC.js} +2 -2
- package/dist/ui/assets/{run-CPT6_R-_.js → run-DgblerTV.js} +2 -2
- package/dist/ui/assets/{screencapture-run-BnyfqO9F.js → screencapture-run-Dt7lEfIp.js} +1 -1
- package/dist/ui/assets/{session-command-memory-HovmIuMP.js → session-command-memory-D-p81a7P.js} +2 -2
- package/dist/ui/assets/{session-jsonl-DK-0Hm8U.js → session-jsonl-C-BZSOHy.js} +1 -1
- package/dist/ui/assets/{session-jsonl-PCOch0_B.js → session-jsonl-CXY4TQ4Y.js} +1 -1
- package/dist/ui/assets/{session-search-index-BNvhiRLv.js → session-search-index-nhvgyuxV.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-2RQqEGaT.js → setup-feature-flags-remote-CpzgUHLB.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-B911rONc.js → setup-model-catalog-BGx3XYFY.js} +1 -1
- package/dist/ui/assets/shared-BDXQKitm.js +1 -0
- package/dist/ui/assets/shared-DfMXB1pm.js +4 -0
- package/dist/ui/assets/{signed-fetch-gB25Bw53.js → signed-fetch-t5uBcIk_.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-Brcr76an.js → silent-renew-backoff-Q1A_jbQH.js} +1 -1
- package/dist/ui/assets/slicc-version-YnqCI9lq.js +1 -0
- package/dist/ui/assets/{snapshot-Ci8jnY_A.js → snapshot-Bb3mZrhI.js} +1 -1
- package/dist/ui/assets/{snapshot-features-BYEGCVfZ.js → snapshot-features-D44t7iA7.js} +1 -1
- package/dist/ui/assets/{soundscape-CdQvLeB0.js → soundscape-CUzGNWGR.js} +1 -1
- package/dist/ui/assets/{speak-BT4Xdlvj.js → speak-B-rF7cd2.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-8T1XJmL3.js → sprinkle-manager-BWdoEwv2.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-_vOdPt8H.js → sprinkle-renderer-B-1HSkrF.js} +16 -16
- package/dist/ui/assets/{ssh-BGtVaOJn.js → ssh-DGBxesfZ.js} +1 -1
- package/dist/ui/assets/{state-nnDajRje.js → state-B7Ano9ql.js} +1 -1
- package/dist/ui/assets/{store-BxxMrsS7.js → store-B3uS3nQU.js} +1 -1
- package/dist/ui/assets/{store-D9XL9aIQ.js → store-DTMATE-h.js} +1 -1
- package/dist/ui/assets/{sudo-CnXURhFV.js → sudo-D8OGZd6t.js} +1 -1
- package/dist/ui/assets/{supervisor-fOZGoD0G.js → supervisor-Ck1Ryx2i.js} +1 -1
- package/dist/ui/assets/{sync-dialog-oh_O9Mv5.js → sync-dialog-C2TF9Y3h.js} +1 -1
- package/dist/ui/assets/{transformers-env-zmBF2In6.js → transformers-env-h8uZoLwJ.js} +1 -1
- package/dist/ui/assets/{tray-leader-Co-1rs4b.js → tray-leader-BHyMCdCH.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-PpRt0K76.js → tray-leave-runtime-DR6t2Cuo.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-DYuM8Ifi.js → tray-sidecar-BdEGdpUe.js} +1 -1
- package/dist/ui/assets/{turn-journal-_Hrn3Aoy.js → turn-journal-B4vV4fDV.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-jhAzOLSL.js → upgrade-detection-BXyDgjYd.js} +1 -1
- package/dist/ui/assets/{upskill-lick-skip-D1vFOKgN.js → upskill-lick-skip-8Ozx8QGg.js} +1 -1
- package/dist/ui/assets/{voice-reply--Z1dXvPT.js → voice-reply-ChDAb3Rf.js} +1 -1
- package/dist/ui/assets/{wc-attach-BadBFuc7.js → wc-attach-BN8rykoa.js} +2 -2
- package/dist/ui/assets/{wc-browser-DqUJaWcH.js → wc-browser-z1N3wGuK.js} +1 -1
- package/dist/ui/assets/{wc-computers-CTPf-95b.js → wc-computers-C1g9iCUj.js} +1 -1
- package/dist/ui/assets/{wc-detached-UIVnUZp5.js → wc-detached-DHD--8Tf.js} +1 -1
- package/dist/ui/assets/{wc-extension-Bxc7adS3.js → wc-extension-qof5b3tN.js} +2 -2
- package/dist/ui/assets/{wc-follower-oauth-DEBzlhDR.js → wc-follower-oauth-Bsskcjc7.js} +1 -1
- package/dist/ui/assets/{wc-follower-CcQiy0Ep.js → wc-follower-sKXDjyv-.js} +3 -3
- package/dist/ui/assets/{wc-gelatiere-B3T_MsYw.js → wc-gelatiere-D_uq7S-T.js} +1 -1
- package/dist/ui/assets/{wc-live-B4gJYGS5.js → wc-live-DWEUEDdK.js} +5 -5
- package/dist/ui/assets/{wc-nav-Cc31eRBb.js → wc-nav-DqIdooNV.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-A_43Ieo4.js → wc-onboarding-38WwDwrA.js} +2 -2
- package/dist/ui/assets/{wc-permissions-C9woviuI.js → wc-permissions-o70pdgUK.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-t7YMeS_j.js → wc-placeholder-DMKTZY8P.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-Dfm9QvyE.js → wc-secret-request-CmpDh1Bs.js} +1 -1
- package/dist/ui/assets/{wc-settings-BD6JONjg.js → wc-settings-7DxLA_ig.js} +3 -3
- package/dist/ui/assets/{wc-shell-Ba5uNdmF.js → wc-shell-DFszC8_0.js} +3 -3
- package/dist/ui/assets/{wc-shortcut-config-DeU2Q2BU.js → wc-shortcut-config-Co6ONiUg.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-D4sQVRG5.js → wc-sprinkles-zxKMU9ju.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-CsUhlwMo.js → wc-transcript-export-BnOv-hzh.js} +2 -2
- package/dist/ui/assets/{wc-tray-CwvVidS8.js → wc-tray-B2w3dtCQ.js} +4 -4
- package/dist/ui/assets/welcome-detection-Cik05qcd.js +1 -0
- package/dist/ui/assets/{whisper-session-MB0YiZ0q.js → whisper-session-BB92W1rY.js} +2 -2
- package/dist/ui/assets/{xai-grok-0BxCS34q.js → xai-grok-Btqu459a.js} +1 -1
- package/dist/ui/assets/{xai-grok-rwJAZiuv.js → xai-grok-DsDg76ef.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/ui/packages/webapp/index.html +3 -3
- package/package.json +1 -1
- package/dist/ui/assets/__vite-browser-external-BlQ4QU88.js +0 -1
- package/dist/ui/assets/js-realm-worker-BIVxi3Fa.js +0 -50
- package/dist/ui/assets/jsh-executor-DhdH2_yG.js +0 -18
- package/dist/ui/assets/provider-store-access-BFeKOGcv.js +0 -1
- package/dist/ui/assets/provider-store-access-C2X0AryS.js +0 -1
- package/dist/ui/assets/py-realm-worker-DLb3nkyD.js +0 -244
- package/dist/ui/assets/realm-inprocess-BBw2Fa8u.js +0 -30
- package/dist/ui/assets/shared-C_68vn79.js +0 -4
- package/dist/ui/assets/shared-mBEktoxE.js +0 -1
- package/dist/ui/assets/slicc-version-CAje2bW-.js +0 -1
- package/dist/ui/assets/welcome-detection-CIDbn0ev.js +0 -1
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),l=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});function u(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 d(e){let t=u(e);if(t===`/`)return{dir:`/`,base:``};let n=t.lastIndexOf(`/`);return{dir:n===0?`/`:t.slice(0,n),base:t.slice(n+1)}}function f(...e){return u(e.join(`/`))}new TextDecoder;function p(e){if(typeof e!=`string`)return e;for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return new TextEncoder().encode(e);let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}async function m(e){let t=await crypto.subtle.digest(`SHA-256`,e);return Array.from(new Uint8Array(t)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function h(e){try{return new URL(e).protocol===`https:`}catch{return!1}}function g(e){return new Promise(t=>setTimeout(t,e))}async function _(e,t,n){let r;try{r=await e(t.url,{method:`GET`,headers:{Accept:`application/octet-stream`},timeoutMs:n})}catch(e){let n=e instanceof Error?e.message:String(e);return{ok:!1,retriable:!0,error:Error(`${t.label}: network error (${n})`)}}if(r.status>=500&&r.status<600)return{ok:!1,retriable:!0,error:Error(`${t.label}: server error HTTP ${r.status}`)};if(r.status<200||r.status>=300){let e=r.statusText?` ${r.statusText}`:``;return{ok:!1,retriable:!1,error:Error(`${t.label}: HTTP ${r.status}${e}`)}}let i=p(r.body);return!(i instanceof Uint8Array)||i.length===0?{ok:!1,retriable:!1,error:Error(`${t.label}: response body was empty`)}:{ok:!0,bytes:i}}async function v(e,t,n){let r;for(let i=1;i<=3;i++){let a=await _(e,t,n);if(a.ok)return a.bytes;if(r=a.error,!a.retriable||i===3)throw a.error;await g(250*i)}throw r??Error(`${t.label}: download failed`)}async function y(e,t){let n=await m(e);if(n!==t.sha256.toLowerCase())throw Error(`${t.label}: sha256 mismatch (expected ${t.sha256.toLowerCase()}, got ${n})`)}async function ee(e,t){if(!h(t.url))throw Error(`${t.label}: refused to fetch non-https URL '${t.url}'`);let n=await v(e,t,t.timeoutMs??6e4);return await y(n,t),n}const b=`pyproject.toml`;function x(e){return e.trim().toLowerCase().replace(/[-_.]+/g,`-`)}function te(e){let t=e.indexOf(`==`);return t===-1?{name:e.trim(),version:``}:{name:e.slice(0,t).trim(),version:e.slice(t+2).trim()}}async function S(e,t){let n=t?.startsWith(`/`)?t:`/workspace`;for(;;){if(await e.exists(f(n,b)))return n;if(n===`/`)return null;n=d(n).dir}}function C(e){let t=!1,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(i===`'`&&!n)t=!t;else if(i===`"`&&!t)n=!n;else if(i===`#`&&!t&&!n)return e.slice(0,r)}return e}function w(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):null}function T(e,t,n){let r=n,i=t;for(;!r.includes(`]`)&&i+1<e.length;)i+=1,r+=`\n${C(e[i])}`;let a=[];for(let e of r.matchAll(/["']([^"']*)["']/g))e[1].trim()&&a.push(e[1].trim());return{items:a,lastIndex:i}}function ne(e){let t=e.split(`
|
|
2
|
+
`),n=``,r=`workspace`,i=`0.1.0`,a=[];for(let e=0;e<t.length;e++){let o=C(t[e]).trim();if(!o)continue;if(o.startsWith(`[`)){n=o;continue}if(n!==`[project]`)continue;let s=o.indexOf(`=`);if(s===-1)continue;let c=o.slice(0,s).trim(),l=o.slice(s+1).trim();if(c===`name`)r=w(l)??r;else if(c===`version`)i=w(l)??i;else if(c===`dependencies`){let n=T(t,e,l);a=n.items,e=n.lastIndex}}return{name:r,version:i,dependencies:a}}const re={name:`name`,version:`version`,source:`source`,file_name:`fileName`,sha256:`sha256`};function E(e,t){t.name&&t.version&&t.source&&t.fileName&&t.sha256&&e.push(t)}function ie(e){let t=[],n=null;for(let r of e.split(`
|
|
3
|
+
`)){let e=C(r).trim();if(!e)continue;if(e===`[[package]]`){n&&E(t,n),n={};continue}if(e.startsWith(`[`)){n&&E(t,n),n=null;continue}if(!n)continue;let i=e.indexOf(`=`);if(i===-1)continue;let a=re[e.slice(0,i).trim()];if(!a)continue;let o=w(e.slice(i+1).trim());o!==null&&(a===`source`?n.source=o:n[a]=o)}return n&&E(t,n),t}async function ae(e,t){let n=f(t,b);if(!await e.exists(n))return{name:`workspace`,version:`0.1.0`,dependencies:[]};let r=await e.readFile(n);return{...ne(r),raw:r}}async function oe(e,t){let n=f(t,`uv.lock`);return await e.exists(n)?ie(await e.readFile(n)):[]}const se=new Set([`child_process`,`events`,`fs`,`fs/promises`,`os`,`path`,`stream`,`tty`,`url`,`crypto`,`process`,`buffer`,`assert`,`assert/strict`,`util`,`readline`,`readline/promises`,`module`,`vm`]);new Set([...new Set(`assert.assert/strict.async_hooks.buffer.child_process.cluster.console.constants.crypto.dgram.diagnostics_channel.dns.dns/promises.domain.events.fs.fs/promises.http.http2.https.inspector.inspector/promises.module.net.os.path.path/posix.path/win32.perf_hooks.process.punycode.querystring.readline.readline/promises.repl.stream.stream/consumers.stream/promises.stream/web.string_decoder.sys.timers.timers/promises.tls.trace_events.tty.url.util.util/types.v8.vm.wasi.worker_threads.zlib`.split(`.`))].filter(e=>!se.has(e))),[`unpkg`,`com`].join(`.`),[`cdn`,`jsdelivr`,`net`].join(`.`),[`registry`,`npmjs`,`org`].join(`.`);var D=o(((e,t)=>{t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:2**53-1||9007199254740991,RELEASE_TYPES:[`major`,`premajor`,`minor`,`preminor`,`patch`,`prepatch`,`prerelease`],SEMVER_SPEC_VERSION:`2.0.0`,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}})),O=o(((e,t)=>{t.exports=typeof process==`object`&&{}.NODE_DEBUG&&/\bsemver\b/i.test({}.NODE_DEBUG)?(...e)=>console.error(`SEMVER`,...e):()=>{}})),k=o(((e,t)=>{let{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=D(),a=O();e=t.exports={};let o=e.re=[],s=e.safeRe=[],c=e.src=[],l=e.safeSrc=[],u=e.t={},d=0,f=`[a-zA-Z0-9-]`,p=[[`\\s`,1],[`\\d`,i],[f,r]],m=e=>{for(let[t,n]of p)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e},h=(e,t,n)=>{let r=m(t),i=d++;a(e,i,t),u[e]=i,c[i]=t,l[i]=r,o[i]=new RegExp(t,n?`g`:void 0),s[i]=new RegExp(r,n?`g`:void 0)};h(`NUMERICIDENTIFIER`,`0|[1-9]\\d*`),h(`NUMERICIDENTIFIERLOOSE`,`\\d+`),h(`NONNUMERICIDENTIFIER`,`\\d*[a-zA-Z-]${f}*`),h(`MAINVERSION`,`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),h(`MAINVERSIONLOOSE`,`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),h(`PRERELEASEIDENTIFIER`,`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),h(`PRERELEASEIDENTIFIERLOOSE`,`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),h(`PRERELEASE`,`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),h(`PRERELEASELOOSE`,`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h(`BUILDIDENTIFIER`,`${f}+`),h(`BUILD`,`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),h(`FULLPLAIN`,`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),h(`FULL`,`^${c[u.FULLPLAIN]}$`),h(`LOOSEPLAIN`,`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),h(`LOOSE`,`^${c[u.LOOSEPLAIN]}$`),h(`GTLT`,`((?:<|>)?=?)`),h(`XRANGEIDENTIFIERLOOSE`,`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h(`XRANGEIDENTIFIER`,`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),h(`XRANGEPLAIN`,`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),h(`XRANGEPLAINLOOSE`,`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),h(`XRANGE`,`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),h(`XRANGELOOSE`,`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),h(`COERCEPLAIN`,`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h(`COERCE`,`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),h(`COERCEFULL`,c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?(?:${c[u.BUILD]})?(?:$|[^\\d])`),h(`COERCERTL`,c[u.COERCE],!0),h(`COERCERTLFULL`,c[u.COERCEFULL],!0),h(`LONETILDE`,`(?:~>?)`),h(`TILDETRIM`,`(\\s*)${c[u.LONETILDE]}\\s+`,!0),e.tildeTrimReplace=`$1~`,h(`TILDE`,`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),h(`TILDELOOSE`,`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),h(`LONECARET`,`(?:\\^)`),h(`CARETTRIM`,`(\\s*)${c[u.LONECARET]}\\s+`,!0),e.caretTrimReplace=`$1^`,h(`CARET`,`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),h(`CARETLOOSE`,`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),h(`COMPARATORLOOSE`,`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),h(`COMPARATOR`,`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),h(`COMPARATORTRIM`,`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace=`$1$2$3`,h(`HYPHENRANGE`,`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),h(`HYPHENRANGELOOSE`,`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),h(`STAR`,`(<|>)?=?\\s*\\*`),h(`GTE0`,`^\\s*>=\\s*0\\.0\\.0\\s*$`),h(`GTE0PRE`,`^\\s*>=\\s*0\\.0\\.0-0\\s*$`)})),A=o(((e,t)=>{let n=Object.freeze({loose:!0}),r=Object.freeze({});t.exports=e=>e?typeof e==`object`?e:n:r})),ce=o(((e,t)=>{let n=/^[0-9]+$/,r=(e,t)=>{if(typeof e==`number`&&typeof t==`number`)return e===t?0:e<t?-1:1;let r=n.test(e),i=n.test(t);return r&&i&&(e=+e,t=+t),e===t?0:r&&!i?-1:i&&!r?1:e<t?-1:1};t.exports={compareIdentifiers:r,rcompareIdentifiers:(e,t)=>r(t,e)}})),j=o(((e,t)=>{let n=O(),{MAX_LENGTH:r,MAX_SAFE_INTEGER:i}=D(),{safeRe:a,t:o}=k(),s=A(),{compareIdentifiers:c}=ce(),l=(e,t)=>{let n=t.split(`.`);if(n.length>e.length)return!1;for(let t=0;t<n.length;t++)if(c(e[t],n[t])!==0)return!1;return!0};t.exports=class e{constructor(t,c){if(c=s(c),t instanceof e){if(t.loose===!!c.loose&&t.includePrerelease===!!c.includePrerelease)return t;t=t.version}else if(typeof t!=`string`)throw TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>r)throw TypeError(`version is longer than ${r} characters`);n(`SemVer`,t,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;let l=t.trim().match(c.loose?a[o.LOOSE]:a[o.FULL]);if(!l)throw TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>i||this.major<0)throw TypeError(`Invalid major version`);if(this.minor>i||this.minor<0)throw TypeError(`Invalid minor version`);if(this.patch>i||this.patch<0)throw TypeError(`Invalid patch version`);this.prerelease=l[4]?l[4].split(`.`).map(e=>{if(/^[0-9]+$/.test(e)){let t=+e;if(t>=0&&t<i)return t}return e}):[],this.build=l[5]?l[5].split(`.`):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(`.`)}`),this.version}toString(){return this.version}compare(t){if(n(`SemVer.compare`,this.version,this.options,t),!(t instanceof e)){if(typeof t==`string`&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:+(this.patch>t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let e=this.prerelease[r],i=t.prerelease[r];if(n(`prerelease compare`,r,e,i),e===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(e===void 0)return-1;if(e!==i)return c(e,i)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let e=this.build[r],i=t.build[r];if(n(`build compare`,r,e,i),e===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(e===void 0)return-1;if(e!==i)return c(e,i)}while(++r)}inc(e,t,n){if(e.startsWith(`pre`)){if(!t&&n===!1)throw Error(`invalid increment argument: identifier is empty`);if(t){let e=`-${t}`.match(this.options.loose?a[o.PRERELEASELOOSE]:a[o.PRERELEASE]);if(!e||e[1]!==t)throw Error(`invalid identifier: ${t}`)}}switch(e){case`premajor`:this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(`pre`,t,n);break;case`preminor`:this.prerelease.length=0,this.patch=0,this.minor++,this.inc(`pre`,t,n);break;case`prepatch`:this.prerelease.length=0,this.inc(`patch`,t,n),this.inc(`pre`,t,n);break;case`prerelease`:this.prerelease.length===0&&this.inc(`patch`,t,n),this.inc(`pre`,t,n);break;case`release`:if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case`major`:(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case`minor`:(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case`patch`:this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case`pre`:{let e=+!!Number(n);if(this.prerelease.length===0)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]==`number`&&(this.prerelease[r]++,r=-2);if(r===-1){if(t===this.prerelease.join(`.`)&&n===!1)throw Error(`invalid increment argument: identifier already exists`);this.prerelease.push(e)}}if(t){let r=[t,e];if(n===!1&&(r=[t]),l(this.prerelease,t)){let e=this.prerelease[t.split(`.`).length];isNaN(e)&&(this.prerelease=r)}else this.prerelease=r}break}default:throw Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(`.`)}`),this}}})),M=o(((e,t)=>{let n=j();t.exports=(e,t,r=!1)=>{if(e instanceof n)return e;try{return new n(e,t)}catch(e){if(!r)return null;throw e}}})),le=o(((e,t)=>{let n=M();t.exports=(e,t)=>{let r=n(e,t);return r?r.version:null}})),ue=o(((e,t)=>{let n=M();t.exports=(e,t)=>{let r=n(e.trim().replace(/^[=v]+/,``),t);return r?r.version:null}})),de=o(((e,t)=>{let n=j();t.exports=(e,t,r,i,a)=>{typeof r==`string`&&(a=i,i=r,r=void 0);try{return new n(e instanceof n?e.version:e,r).inc(t,i,a).version}catch{return null}}})),fe=o(((e,t)=>{let n=M();t.exports=(e,t)=>{let r=n(e,null,!0),i=n(t,null,!0),a=r.compare(i);if(a===0)return null;let o=a>0,s=o?r:i,c=o?i:r,l=!!s.prerelease.length;if(c.prerelease.length&&!l){if(!c.patch&&!c.minor)return`major`;if(c.compareMain(s)===0)return c.minor&&!c.patch?`minor`:`patch`}let u=l?`pre`:``;return r.major===i.major?r.minor===i.minor?r.patch===i.patch?`prerelease`:u+`patch`:u+`minor`:u+`major`}})),pe=o(((e,t)=>{let n=j();t.exports=(e,t)=>new n(e,t).major})),me=o(((e,t)=>{let n=j();t.exports=(e,t)=>new n(e,t).minor})),he=o(((e,t)=>{let n=j();t.exports=(e,t)=>new n(e,t).patch})),ge=o(((e,t)=>{let n=M();t.exports=(e,t)=>{let r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}})),N=o(((e,t)=>{let n=j();t.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))})),_e=o(((e,t)=>{let n=N();t.exports=(e,t,r)=>n(t,e,r)})),ve=o(((e,t)=>{let n=N();t.exports=(e,t)=>n(e,t,!0)})),P=o(((e,t)=>{let n=j();t.exports=(e,t,r)=>{let i=new n(e,r),a=new n(t,r);return i.compare(a)||i.compareBuild(a)}})),ye=o(((e,t)=>{let n=P();t.exports=(e,t)=>e.sort((e,r)=>n(e,r,t))})),be=o(((e,t)=>{let n=P();t.exports=(e,t)=>e.sort((e,r)=>n(r,e,t))})),F=o(((e,t)=>{let n=N();t.exports=(e,t,r)=>n(e,t,r)>0})),I=o(((e,t)=>{let n=N();t.exports=(e,t,r)=>n(e,t,r)<0})),xe=o(((e,t)=>{let n=N();t.exports=(e,t,r)=>n(e,t,r)===0})),Se=o(((e,t)=>{let n=N();t.exports=(e,t,r)=>n(e,t,r)!==0})),L=o(((e,t)=>{let n=N();t.exports=(e,t,r)=>n(e,t,r)>=0})),R=o(((e,t)=>{let n=N();t.exports=(e,t,r)=>n(e,t,r)<=0})),Ce=o(((e,t)=>{let n=xe(),r=Se(),i=F(),a=L(),o=I(),s=R();t.exports=(e,t,c,l)=>{switch(t){case`===`:return typeof e==`object`&&(e=e.version),typeof c==`object`&&(c=c.version),e===c;case`!==`:return typeof e==`object`&&(e=e.version),typeof c==`object`&&(c=c.version),e!==c;case``:case`=`:case`==`:return n(e,c,l);case`!=`:return r(e,c,l);case`>`:return i(e,c,l);case`>=`:return a(e,c,l);case`<`:return o(e,c,l);case`<=`:return s(e,c,l);default:throw TypeError(`Invalid operator: ${t}`)}}})),we=o(((e,t)=>{let n=j(),r=M(),{safeRe:i,t:a}=k();t.exports=(e,t)=>{if(e instanceof n)return e;if(typeof e==`number`&&(e=String(e)),typeof e!=`string`)return null;t||={};let o=null;if(!t.rtl)o=e.match(t.includePrerelease?i[a.COERCEFULL]:i[a.COERCE]);else{let n=t.includePrerelease?i[a.COERCERTLFULL]:i[a.COERCERTL],r;for(;(r=n.exec(e))&&(!o||o.index+o[0].length!==e.length);)(!o||r.index+r[0].length!==o.index+o[0].length)&&(o=r),n.lastIndex=r.index+r[1].length+r[2].length;n.lastIndex=-1}if(o===null)return null;let s=o[2],c=o[3]||`0`,l=o[4]||`0`,u=t.includePrerelease&&o[5]?`-${o[5]}`:``,d=t.includePrerelease&&o[6]?`+${o[6]}`:``;return r(`${s}.${c}.${l}${u}${d}`,t)}})),Te=o(((e,t)=>{let n=M(),r=D(),i=j(),a=(e,t,n)=>{if(!r.RELEASE_TYPES.includes(t))return null;let i=o(e,n);return i&&s(i,t)},o=(e,t)=>{let r=e instanceof i?e.version:e;return n(r,t)},s=(e,t)=>{if(c(t))return e.version;switch(e.prerelease=[],t){case`major`:e.minor=0,e.patch=0;break;case`minor`:e.patch=0}return e.format()},c=e=>e.startsWith(`pre`);t.exports=a})),Ee=o(((e,t)=>{t.exports=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}})),z=o(((e,t)=>{let n=/\s+/g;t.exports=class e{constructor(t,r){if(r=i(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof a)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().replace(n,` `),this.set=this.raw.split(`||`).map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let e=this.set[0];if(this.set=this.set.filter(e=>!_(e[0])),this.set.length===0)this.set=[e];else if(this.set.length>1){for(let e of this.set)if(e.length===1&&v(e[0])){this.set=[e];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted=``;for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+=`||`);let t=this.set[e];for(let e=0;e<t.length;e++)e>0&&(this.formatted+=` `),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){e=e.replace(g,``);let t=((this.options.includePrerelease&&m)|(this.options.loose&&h))+`:`+e,n=r.get(t);if(n)return n;let i=this.options.loose,s=i?c[u.HYPHENRANGELOOSE]:c[u.HYPHENRANGE];e=e.replace(s,ie(this.options.includePrerelease)),o(`hyphen replace`,e),e=e.replace(c[u.COMPARATORTRIM],d),o(`comparator trim`,e),e=e.replace(c[u.TILDETRIM],f),o(`tilde trim`,e),e=e.replace(c[u.CARETTRIM],p),o(`caret trim`,e);let l=e.split(` `).map(e=>ee(e,this.options)).join(` `).split(/\s+/).map(e=>E(e,this.options));i&&(l=l.filter(e=>(o(`loose invalid filter`,e,this.options),!!e.match(c[u.COMPARATORLOOSE])))),o(`range list`,l);let v=new Map,y=l.map(e=>new a(e,this.options));for(let e of y){if(_(e))return[e];v.set(e.value,e)}v.size>1&&v.has(``)&&v.delete(``);let b=[...v.values()];return r.set(t,b),b}intersects(t,n){if(!(t instanceof e))throw TypeError(`a Range is required`);return this.set.some(e=>y(e,n)&&t.set.some(t=>y(t,n)&&e.every(e=>t.every(t=>e.intersects(t,n)))))}test(e){if(!e)return!1;if(typeof e==`string`)try{e=new s(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(ae(this.set[t],e,this.options))return!0;return!1}};let r=new(Ee()),i=A(),a=B(),o=O(),s=j(),{safeRe:c,src:l,t:u,comparatorTrimReplace:d,tildeTrimReplace:f,caretTrimReplace:p}=k(),{FLAG_INCLUDE_PRERELEASE:m,FLAG_LOOSE:h}=D(),g=new RegExp(l[u.BUILD],`g`),_=e=>e.value===`<0.0.0-0`,v=e=>e.value===``,y=(e,t)=>{let n=!0,r=e.slice(),i=r.pop();for(;n&&r.length;)n=r.every(e=>i.intersects(e,t)),i=r.pop();return n},ee=(e,t)=>(e=e.replace(c[u.BUILD],``),o(`comp`,e,t),e=C(e,t),o(`caret`,e),e=te(e,t),o(`tildes`,e),e=T(e,t),o(`xrange`,e),e=re(e,t),o(`stars`,e),e),b=e=>!e||e.toLowerCase()===`x`||e===`*`,x=(e,t,n)=>b(e)&&!b(t)||b(t)&&n&&!b(n),te=(e,t)=>e.trim().split(/\s+/).map(e=>S(e,t)).join(` `),S=(e,t)=>{let n=t.loose?c[u.TILDELOOSE]:c[u.TILDE],r=t.includePrerelease?`-0`:``;return e.replace(n,(t,n,i,a,s)=>{o(`tilde`,e,t,n,i,a,s);let c;return b(n)?c=``:b(i)?c=`>=${n}.0.0${r} <${+n+1}.0.0-0`:b(a)?c=`>=${n}.${i}.0${r} <${n}.${+i+1}.0-0`:s?(o(`replaceTilde pr`,s),c=`>=${n}.${i}.${a}-${s} <${n}.${+i+1}.0-0`):c=`>=${n}.${i}.${a} <${n}.${+i+1}.0-0`,o(`tilde return`,c),c})},C=(e,t)=>e.trim().split(/\s+/).map(e=>w(e,t)).join(` `),w=(e,t)=>{o(`caret`,e,t);let n=t.loose?c[u.CARETLOOSE]:c[u.CARET],r=t.includePrerelease?`-0`:``;return e.replace(n,(t,n,i,a,s)=>{o(`caret`,e,t,n,i,a,s);let c;return b(n)?c=``:b(i)?c=`>=${n}.0.0${r} <${+n+1}.0.0-0`:b(a)?c=n===`0`?`>=${n}.${i}.0${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.0${r} <${+n+1}.0.0-0`:s?(o(`replaceCaret pr`,s),c=n===`0`?i===`0`?`>=${n}.${i}.${a}-${s} <${n}.${i}.${+a+1}-0`:`>=${n}.${i}.${a}-${s} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${a}-${s} <${+n+1}.0.0-0`):(o(`no pr`),c=n===`0`?i===`0`?`>=${n}.${i}.${a} <${n}.${i}.${+a+1}-0`:`>=${n}.${i}.${a} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${a} <${+n+1}.0.0-0`),o(`caret return`,c),c})},T=(e,t)=>(o(`replaceXRanges`,e,t),e.split(/\s+/).map(e=>ne(e,t)).join(` `)),ne=(e,t)=>{e=e.trim();let n=t.loose?c[u.XRANGELOOSE]:c[u.XRANGE];return e.replace(n,(n,r,i,a,s,c)=>{if(o(`xRange`,e,n,r,i,a,s,c),x(i,a,s))return e;let l=b(i),u=l||b(a),d=u||b(s),f=d;return r===`=`&&f&&(r=``),c=t.includePrerelease?`-0`:``,l?n=r===`>`||r===`<`?`<0.0.0-0`:`*`:r&&f?(u&&(a=0),s=0,r===`>`?(r=`>=`,u?(i=+i+1,a=0,s=0):(a=+a+1,s=0)):r===`<=`&&(r=`<`,u?i=+i+1:a=+a+1),r===`<`&&(c=`-0`),n=`${r+i}.${a}.${s}${c}`):u?n=`>=${i}.0.0${c} <${+i+1}.0.0-0`:d&&(n=`>=${i}.${a}.0${c} <${i}.${+a+1}.0-0`),o(`xRange return`,n),n})},re=(e,t)=>(o(`replaceStars`,e,t),e.trim().replace(c[u.STAR],``)),E=(e,t)=>(o(`replaceGTE0`,e,t),e.trim().replace(c[t.includePrerelease?u.GTE0PRE:u.GTE0],``)),ie=e=>(t,n,r,i,a,o,s,c,l,u,d,f)=>(n=b(r)?``:b(i)?`>=${r}.0.0${e?`-0`:``}`:b(a)?`>=${r}.${i}.0${e?`-0`:``}`:o?`>=${n}`:`>=${n}${e?`-0`:``}`,c=b(l)?``:b(u)?`<${+l+1}.0.0-0`:b(d)?`<${l}.${+u+1}.0-0`:f?`<=${l}.${u}.${d}-${f}`:e?`<${l}.${u}.${+d+1}-0`:`<=${c}`,`${n} ${c}`.trim()),ae=(e,t,n)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!n.includePrerelease){for(let n=0;n<e.length;n++)if(o(e[n].semver),e[n].semver!==a.ANY&&e[n].semver.prerelease.length>0){let r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0}})),B=o(((e,t)=>{let n=Symbol(`SemVer ANY`);t.exports=class e{static get ANY(){return n}constructor(t,i){if(i=r(i),t instanceof e){if(t.loose===!!i.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(` `),s(`comparator`,t,i),this.options=i,this.loose=!!i.loose,this.parse(t),this.value=this.semver===n?``:this.operator+this.semver.version,s(`comp`,this)}parse(e){let t=this.options.loose?i[a.COMPARATORLOOSE]:i[a.COMPARATOR],r=e.match(t);if(!r)throw TypeError(`Invalid comparator: ${e}`);this.operator=r[1]===void 0?``:r[1],this.operator===`=`&&(this.operator=``),this.semver=r[2]?new c(r[2],this.options.loose):n}toString(){return this.value}test(e){if(s(`Comparator.test`,e,this.options.loose),this.semver===n||e===n)return!0;if(typeof e==`string`)try{e=new c(e,this.options)}catch{return!1}return o(e,this.operator,this.semver,this.options)}intersects(t,n){if(!(t instanceof e))throw TypeError(`a Comparator is required`);return this.operator===``?this.value===``||new l(t.value,n).test(this.value):t.operator===``?t.value===``||new l(this.value,n).test(t.semver):(n=r(n),n.includePrerelease&&(this.value===`<0.0.0-0`||t.value===`<0.0.0-0`)||!n.includePrerelease&&(this.value.startsWith(`<0.0.0`)||t.value.startsWith(`<0.0.0`))?!1:!!(this.operator.startsWith(`>`)&&t.operator.startsWith(`>`)||this.operator.startsWith(`<`)&&t.operator.startsWith(`<`)||this.semver.version===t.semver.version&&this.operator.includes(`=`)&&t.operator.includes(`=`)||o(this.semver,`<`,t.semver,n)&&this.operator.startsWith(`>`)&&t.operator.startsWith(`<`)||o(this.semver,`>`,t.semver,n)&&this.operator.startsWith(`<`)&&t.operator.startsWith(`>`)))}};let r=A(),{safeRe:i,t:a}=k(),o=Ce(),s=O(),c=j(),l=z()})),V=o(((e,t)=>{let n=z();t.exports=(e,t,r)=>{try{t=new n(t,r)}catch{return!1}return t.test(e)}})),De=o(((e,t)=>{let n=z();t.exports=(e,t)=>new n(e,t).set.map(e=>e.map(e=>e.value).join(` `).trim().split(` `))})),Oe=o(((e,t)=>{let n=j(),r=z();t.exports=(e,t,i)=>{let a=null,o=null,s=null;try{s=new r(t,i)}catch{return null}return e.forEach(e=>{s.test(e)&&(!a||o.compare(e)===-1)&&(a=e,o=new n(a,i))}),a}})),ke=o(((e,t)=>{let n=j(),r=z();t.exports=(e,t,i)=>{let a=null,o=null,s=null;try{s=new r(t,i)}catch{return null}return e.forEach(e=>{s.test(e)&&(!a||o.compare(e)===1)&&(a=e,o=new n(a,i))}),a}})),Ae=o(((e,t)=>{let n=j(),r=z(),i=F();t.exports=(e,t)=>{e=new r(e,t);let a=new n(`0.0.0`);if(e.test(a)||(a=new n(`0.0.0-0`),e.test(a)))return a;a=null;for(let t=0;t<e.set.length;++t){let r=e.set[t],o=null;r.forEach(e=>{let t=new n(e.semver.version);switch(e.operator){case`>`:t.prerelease.length===0?t.patch++:t.prerelease.push(0),t.raw=t.format();case``:case`>=`:(!o||i(t,o))&&(o=t);break;case`<`:case`<=`:break;default:throw Error(`Unexpected operation: ${e.operator}`)}}),o&&(!a||i(a,o))&&(a=o)}return a&&e.test(a)?a:null}})),je=o(((e,t)=>{let n=z();t.exports=(e,t)=>{try{return new n(e,t).range||`*`}catch{return null}}})),H=o(((e,t)=>{let n=j(),r=B(),{ANY:i}=r,a=z(),o=V(),s=F(),c=I(),l=R(),u=L();t.exports=(e,t,d,f)=>{e=new n(e,f),t=new a(t,f);let p,m,h,g,_;switch(d){case`>`:p=s,m=l,h=c,g=`>`,_=`>=`;break;case`<`:p=c,m=u,h=s,g=`<`,_=`<=`;break;default:throw TypeError(`Must provide a hilo val of "<" or ">"`)}if(o(e,t,f))return!1;for(let n=0;n<t.set.length;++n){let a=t.set[n],o=null,s=null;if(a.forEach(e=>{e.semver===i&&(e=new r(`>=0.0.0`)),o||=e,s||=e,p(e.semver,o.semver,f)?o=e:h(e.semver,s.semver,f)&&(s=e)}),o.operator===g||o.operator===_||(!s.operator||s.operator===g)&&m(e,s.semver)||s.operator===_&&h(e,s.semver))return!1}return!0}})),Me=o(((e,t)=>{let n=H();t.exports=(e,t,r)=>n(e,t,`>`,r)})),Ne=o(((e,t)=>{let n=H();t.exports=(e,t,r)=>n(e,t,`<`,r)})),Pe=o(((e,t)=>{let n=z();t.exports=(e,t,r)=>(e=new n(e,r),t=new n(t,r),e.intersects(t,r))})),Fe=o(((e,t)=>{let n=V(),r=N();t.exports=(e,t,i)=>{let a=[],o=null,s=null,c=e.sort((e,t)=>r(e,t,i));for(let e of c)n(e,t,i)?(s=e,o||=e):(s&&a.push([o,s]),s=null,o=null);o&&a.push([o,null]);let l=[];for(let[e,t]of a)e===t?l.push(e):!t&&e===c[0]?l.push(`*`):t?e===c[0]?l.push(`<=${t}`):l.push(`${e} - ${t}`):l.push(`>=${e}`);let u=l.join(` || `),d=typeof t.raw==`string`?t.raw:String(t);return u.length<d.length?u:t}})),Ie=o(((e,t)=>{let n=z(),r=B(),{ANY:i}=r,a=V(),o=N(),s=(e,t,r={})=>{if(e===t)return!0;e=new n(e,r),t=new n(t,r);let i=!1;OUTER:for(let n of e.set){for(let e of t.set){let t=u(n,e,r);if(i||=t!==null,t)continue OUTER}if(i)return!1}return!0},c=[new r(`>=0.0.0-0`)],l=[new r(`>=0.0.0`)],u=(e,t,n)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===i){if(t.length===1&&t[0].semver===i)return!0;e=n.includePrerelease?c:l}if(t.length===1&&t[0].semver===i){if(n.includePrerelease)return!0;t=l}let r=new Set,s,u;for(let t of e)t.operator===`>`||t.operator===`>=`?s=d(s,t,n):t.operator===`<`||t.operator===`<=`?u=f(u,t,n):r.add(t.semver);if(r.size>1)return null;let p;if(s&&u&&(p=o(s.semver,u.semver,n),p>0||p===0&&(s.operator!==`>=`||u.operator!==`<=`)))return null;for(let e of r){if(s&&!a(e,String(s),n)||u&&!a(e,String(u),n))return null;for(let r of t)if(!a(e,String(r),n))return!1;return!0}let m,h,g,_,v=u&&!n.includePrerelease&&u.semver.prerelease.length?u.semver:!1,y=s&&!n.includePrerelease&&s.semver.prerelease.length?s.semver:!1;v&&v.prerelease.length===1&&u.operator===`<`&&v.prerelease[0]===0&&(v=!1);for(let e of t){if(_=_||e.operator===`>`||e.operator===`>=`,g=g||e.operator===`<`||e.operator===`<=`,s){if(y&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===y.major&&e.semver.minor===y.minor&&e.semver.patch===y.patch&&(y=!1),e.operator===`>`||e.operator===`>=`){if(m=d(s,e,n),m===e&&m!==s)return!1}else if(s.operator===`>=`&&!e.test(s.semver))return!1}if(u){if(v&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===v.major&&e.semver.minor===v.minor&&e.semver.patch===v.patch&&(v=!1),e.operator===`<`||e.operator===`<=`){if(h=f(u,e,n),h===e&&h!==u)return!1}else if(u.operator===`<=`&&!e.test(u.semver))return!1}if(!e.operator&&(u||s)&&p!==0)return!1}return!(s&&g&&!u&&p!==0||u&&_&&!s&&p!==0||y||v)},d=(e,t,n)=>{if(!e)return t;let r=o(e.semver,t.semver,n);return r>0?e:r<0||t.operator===`>`&&e.operator===`>=`?t:e},f=(e,t,n)=>{if(!e)return t;let r=o(e.semver,t.semver,n);return r<0?e:r>0||t.operator===`<`&&e.operator===`<=`?t:e};t.exports=s}));o(((e,t)=>{let n=k(),r=D(),i=j(),a=ce();t.exports={parse:M(),valid:le(),clean:ue(),inc:de(),diff:fe(),major:pe(),minor:me(),patch:he(),prerelease:ge(),compare:N(),rcompare:_e(),compareLoose:ve(),compareBuild:P(),sort:ye(),rsort:be(),gt:F(),lt:I(),eq:xe(),neq:Se(),gte:L(),lte:R(),cmp:Ce(),coerce:we(),truncate:Te(),Comparator:B(),Range:z(),satisfies:V(),toComparators:De(),maxSatisfying:Oe(),minSatisfying:ke(),minVersion:Ae(),validRange:je(),outside:H(),gtr:Me(),ltr:Ne(),intersects:Pe(),simplifyRange:Fe(),subset:Ie(),SemVer:i,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:r.SEMVER_SPEC_VERSION,RELEASE_TYPES:r.RELEASE_TYPES,compareIdentifiers:a.compareIdentifiers,rcompareIdentifiers:a.rcompareIdentifiers}}))();function Le(){let e=globalThis.chrome?.runtime?.id;return typeof e==`string`&&e.length>0}function Re(e,t){let n=Le(),r=`/preview${e}${t?`?projectRoot=${encodeURIComponent(t)}`:``}`;if(n){let e=globalThis.chrome?.runtime?.getURL;if(e)return e(r)}let i=`http://localhost:5710`;return typeof window<`u`&&window.location?.origin?i=window.location.origin:typeof self<`u`&&self.location?.origin&&(i=self.location.origin),`${i}${r}`}function ze(e,t){if(typeof t!=`string`||!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(t))throw Error(`${e} must use an exact semver version in package.json`);return t}const U={EBADF:8,EEXIST:20,EINVAL:28,EIO:29,EISDIR:31,ENOENT:44,ENOTDIR:54,ENOTEMPTY:55,EPERM:63},Be=16877;async function Ve(e){let t=new Map;t.set(``,{kind:`directory`,dirHandle:e});async function n(e,r){let i=e;for await(let[e,a]of i){let i=r===``?e:`${r}/${e}`;if(a.kind===`directory`)t.set(i,{kind:`directory`,dirHandle:a}),await n(a,i);else{let e=a,n=await e.getFile();t.set(i,{kind:`file`,fileHandle:e,size:n.size,mtime:n.lastModified})}}}return await n(e,``),{entries:t}}function W(e,t){return e===``?t:`${e}/${t}`}function He(e,t){return{getattr(t){let n=e.isDir(t.mode),r=e.isLink(t.mode)?t.opfs.linkTarget?.length??0:n?4096:t.opfs.size,i=new Date(t.opfs.mtime||t.timestamp);return{dev:1,ino:t.id,mode:t.mode,nlink:1,uid:0,gid:0,rdev:0,size:r,atime:i,mtime:i,ctime:i,blksize:4096,blocks:Math.ceil(r/4096)}},setattr(t,n){if(n.mode!==void 0&&(t.mode=t.mode&61440|n.mode&-61441),n.size!==void 0&&e.isFile(t.mode)){let e=n.size;t.opfs.size=e;let r=e;q(t.mount,async()=>{if(t.opfs.size>r)return;let n=await Xe(t),i=t.mount.opts.sahProvider.acquire(t.opfs.relPath,n);try{i.truncate(e),i.flush()}finally{i.close(),t.mount.opts.sahProvider.release(t.opfs.relPath)}})}if(n.mtime!==void 0){let e=n.mtime.getTime();t.opfs.mtime=e,t.timestamp=e}},lookup(t,n){let r=t.opfs.children?.get(n);if(!r)throw new e.ErrnoError(U.ENOENT);return r},mknod(n,r,i,a){if(n.opfs.children?.has(r))throw new e.ErrnoError(U.EEXIST);let o=t.createNode(n,r,i,a);return n.opfs.children?.set(r,o),e.isDir(i)?q(n.mount,async()=>{let e=await(await J(n)).getDirectoryHandle(r,{create:!0});o.opfs.dirHandle=e}):e.isFile(i)&&q(n.mount,async()=>{let e=await(await J(n)).getFileHandle(r,{create:!0});o.opfs.fileHandle=e}),o},rename(t,n,r){let i=t.parent,a=t.name;if(a!==r||i!==n){if(n.opfs.children?.has(r))throw new e.ErrnoError(U.EEXIST);i.opfs.children?.delete(a),n.opfs.children?.set(r,t),t.name=r,t.parent=n,Ze(t,W(n.opfs.relPath,r)),e.isFile(t.mode)?q(t.mount,()=>Qe(t,i,a,n,r)):e.isDir(t.mode)&&q(t.mount,()=>$e(t,i,a,n,r))}},unlink(t,n){let r=t.opfs.children?.get(n);if(!r)throw new e.ErrnoError(U.ENOENT);if(e.isDir(r.mode))throw new e.ErrnoError(U.EISDIR);t.opfs.children?.delete(n),e.isFile(r.mode)&&q(t.mount,async()=>{try{t.mount.opts.sahProvider.release(r.opfs.relPath)}catch{}await(await J(t)).removeEntry(n)})},rmdir(t,n){let r=t.opfs.children?.get(n);if(!r)throw new e.ErrnoError(U.ENOENT);if(!e.isDir(r.mode))throw new e.ErrnoError(U.ENOTDIR);if((r.opfs.children?.size??0)>0)throw new e.ErrnoError(U.ENOTEMPTY);t.opfs.children?.delete(n),q(t.mount,async()=>{await(await J(t)).removeEntry(n)})},readdir(t){if(!e.isDir(t.mode))throw new e.ErrnoError(U.ENOTDIR);let n=[`.`,`..`];for(let e of t.opfs.children?.keys()??[])n.push(e);return n},symlink(n,r,i){if(n.opfs.children?.has(r))throw new e.ErrnoError(U.EEXIST);let a=t.createNode(n,r,41471,0);return a.opfs.linkTarget=i,n.opfs.children?.set(r,a),a},readlink(t){if(!e.isLink(t.mode))throw new e.ErrnoError(U.EINVAL);return t.opfs.linkTarget??``}}}function Ue(e){return{open(t){let n=t.node;if(e.isDir(n.mode)||!e.isFile(n.mode))return;let r=n.mount.opts.sahProvider.acquire(n.opfs.relPath,n.opfs.fileHandle);t.sah=r,t.flags!==void 0&&t.flags&512?(r.truncate(0),n.opfs.size=0):n.opfs.size=r.getSize()},close(e){let t=e.sah;if(t)try{t.flush()}finally{t.close(),e.node.mount.opts.sahProvider.release(e.node.opfs.relPath),e.sah=void 0}},read(t,n,r,i,a){let o=t.sah;if(!o)throw new e.ErrnoError(U.EBADF);let s=new Uint8Array(n.buffer,n.byteOffset+r,i);return o.read(s,{at:a})},write(t,n,r,i,a){let o=t.sah;if(!o)throw new e.ErrnoError(U.EBADF);let s=new Uint8Array(n.buffer,n.byteOffset+r,i),c=o.write(s,{at:a}),l=Math.max(t.node.opfs.size,a+c);return t.node.opfs.size=l,t.node.opfs.mtime=Date.now(),t.node.timestamp=t.node.opfs.mtime,c},llseek(t,n,r){let i=n;if(r===1)i=t.position+n;else if(r===2){let e=t.sah;i=(e?e.getSize():t.node.opfs.size)+n}if(i<0)throw new e.ErrnoError(U.EINVAL);return t.position=i,i}}}function We(e,t,n,r){for(let[i,a]of r.entries){if(i===``)continue;let r=i.split(`/`),o=n;for(let t=0;t<r.length-1;t++){let n=r[t],i=o.opfs.children?.get(n);if(!i)throw new e.ErrnoError(U.EIO);o=i}let s=r[r.length-1];if(a.kind===`directory`){let e=t.createNode(o,s,Be,0);e.opfs.dirHandle=a.dirHandle,e.opfs.children=new Map,o.opfs.children?.set(s,e)}else{let e=t.createNode(o,s,33188,0);e.opfs.fileHandle=a.fileHandle,e.opfs.size=a.size,e.opfs.mtime=a.mtime,e.timestamp=a.mtime,o.opfs.children?.set(s,e)}}}function Ge(e){let t={mount(n){let{prewalk:r}=n.opts,i=r.entries.get(``);if(i?.kind!==`directory`)throw new e.ErrnoError(U.EINVAL);let a=t.createNode(null,`/`,Be,0);return a.mount=n,a.opfs.dirHandle=i.dirHandle,a.opfs.children=new Map,We(e,t,a,r),a},createNode(n,r,i,a=0){if(!e.isDir(i)&&!e.isFile(i)&&!e.isLink(i))throw new e.ErrnoError(U.EINVAL);let o=n===null?``:W(n.opfs?.relPath??``,r),s=e.createNode(n,r,i,a);return s.node_ops=t.node_ops,s.stream_ops=t.stream_ops,s.timestamp=Date.now(),n!==null&&(s.mount=n.mount),s.opfs={relPath:o,size:0,mtime:s.timestamp},e.isDir(i)&&(s.opfs.children=new Map),s},node_ops:void 0,stream_ops:void 0};return t.node_ops=He(e,t),t.stream_ops=Ue(e),t}const G=new WeakMap,K=new WeakMap;function q(e,t){K.set(e,!0);let n=(G.get(e)??Promise.resolve()).then(t,t);G.set(e,n),e.opts.flush||(e.opts.flush=()=>G.get(e)??Promise.resolve())}function Ke(e){return K.get(e)===!0}async function qe(e){let t=G.get(e);for(;t;){let n=t;await n;let r=G.get(e);if(r===n){K.set(e,!1);return}t=r}}var Je=class{backing;onClose;constructor(e,t){this.backing=e,this.onClose=t}read(e,t){let n=t?.at??0,r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=Math.min(this.backing.data.length,n+r.byteLength),a=Math.max(0,i-n);return r.set(this.backing.data.subarray(n,n+a),0),a}write(e,t){let n=t?.at??0,r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=n+r.byteLength;if(i>this.backing.data.length){let e=new Uint8Array(i);e.set(this.backing.data),this.backing.data=e}return this.backing.data.set(r,n),this.backing.dirty=!0,r.byteLength}truncate(e){if(e===this.backing.data.length)return;let t=new Uint8Array(e);t.set(this.backing.data.subarray(0,Math.min(e,this.backing.data.length))),this.backing.data=t,this.backing.dirty=!0}getSize(){return this.backing.data.length}flush(){}close(){this.onClose()}};function Ye(){let e=new Map,t=new Set;return{provider:{acquire(n,r){let i=e.get(n);return i||(i={data:new Uint8Array,dirty:!0},e.set(n,i),t.add(n)),new Je(i,()=>{i.dirty&&t.add(n)})},release(e){}},async preload(t){for(let[n,r]of t.entries){if(r.kind!==`file`)continue;let t=await r.fileHandle.getFile(),i=new Uint8Array(await t.arrayBuffer());e.set(n,{data:i,dirty:!1})}},async flush(t){for(let[n,r]of e){if(!r.dirty)continue;let e=n.split(`/`),i=t;for(let t of e.slice(0,-1))i=await i.getDirectoryHandle(t,{create:!0});let a=await(await i.getFileHandle(e[e.length-1],{create:!0})).createWritable(),o=new ArrayBuffer(r.data.byteLength);new Uint8Array(o).set(r.data),await a.write(o),await a.close(),r.dirty=!1}},getDirtyPaths(){return[...t]}}}async function J(e){if(e.opfs.dirHandle)return e.opfs.dirHandle;let t=e.opfs.relPath.split(`/`).filter(Boolean),n=e.mount.root.opfs.dirHandle;for(let e of t)n=await n.getDirectoryHandle(e,{create:!0});return e.opfs.dirHandle=n,n}async function Xe(e){if(e.opfs.fileHandle)return e.opfs.fileHandle;let t=await(await J(e.parent)).getFileHandle(e.name,{create:!0});return e.opfs.fileHandle=t,t}function Ze(e,t){if(e.opfs.relPath=t,e.opfs.children)for(let[n,r]of e.opfs.children)Ze(r,W(t,n))}async function Qe(e,t,n,r,i){let a=await J(t),o=await J(r),s=await(await a.getFileHandle(n)).getFile(),c=new Uint8Array(await s.arrayBuffer()),l=await o.getFileHandle(i,{create:!0}),u=e.mount.opts.sahProvider.acquire(e.opfs.relPath,l);try{u.truncate(0),c.byteLength>0&&u.write(c,{at:0}),u.flush()}finally{u.close(),e.mount.opts.sahProvider.release(e.opfs.relPath)}await a.removeEntry(n),e.opfs.fileHandle=l}async function $e(e,t,n,r,i){let a=await J(t),o=await J(r),s=await a.getDirectoryHandle(n),c=await o.getDirectoryHandle(i,{create:!0});await et(s,c),await a.removeEntry(n,{recursive:!0}),e.opfs.dirHandle=c}async function et(e,t){let n=e;for await(let[e,r]of n)if(r.kind===`directory`)await et(r,await t.getDirectoryHandle(e,{create:!0}));else{let n=await r.getFile(),i=new Uint8Array(await n.arrayBuffer()),a=await(await t.getFileHandle(e,{create:!0})).createWritable();await a.write(i),await a.close()}}function tt(e){return`slicc: synchronous access to mounted path '${e}' is not supported. Use the async slicc.fs module (e.g. \`await slicc.fs.read_text('${e}')\` or \`await slicc.fs.listdir('${e}')\`), or copy the file into the VFS first (\`await slicc.fs.read_bytes('${e}/<file>')\` then write it under /tmp).`}function Y(e,t){let n=new e.ErrnoError(U.EIO);return n.message=tt(t),n}function nt(e){let t={mount(n){let r=e.createNode(null,`/`,16877,0);return r.node_ops=t.node_ops,r.stream_ops=t.stream_ops,r.mount=n,r},createNode(n,r,i,a=0){let o=e.createNode(n,r,i,a);return o.node_ops=t.node_ops,o.stream_ops=t.stream_ops,n!==null&&(o.mount=n.mount),o},node_ops:{getattr:e=>{throw Y(n(e),X(e))},setattr:e=>{throw Y(n(e),X(e))},lookup:e=>{throw Y(n(e),X(e))},mknod:e=>{throw Y(n(e),X(e))},rename:e=>{throw Y(n(e),X(e))},unlink:e=>{throw Y(n(e),X(e))},rmdir:e=>{throw Y(n(e),X(e))},readdir:e=>{throw Y(n(e),X(e))},symlink:e=>{throw Y(n(e),X(e))},readlink:e=>{throw Y(n(e),X(e))}},stream_ops:{open:e=>{throw Y(n(e.node),X(e.node))},close:()=>{},read:e=>{throw Y(n(e.node),X(e.node))},write:e=>{throw Y(n(e.node),X(e.node))},llseek:e=>{throw Y(n(e.node),X(e.node))}}};function n(t){return e}return t}function X(e){let t=e.mount;return t?.opts?.mountPath??t?.mountpoint??`<unknown mount>`}function rt(e,t){let n=e.MOUNT_BOMB_FS;return n||(n=nt(t),e.MOUNT_BOMB_FS=n),n}function it(e,t,n=()=>{}){if(t.length===0)return;let r=rt(e.filesystems,e);for(let i of t)try{try{e.stat(i)}catch{e.mkdirTree(i)}e.mount(r,{mountPath:i},i)}catch(e){n(`mount '${i}': bomb overlay failed: ${e instanceof Error?e.message:String(e)}`)}}function at(e){return tt(e)}async function ot(e,t){if(t.length===0)return;let n={};for(let e of t)n[e]=at(e);let r=JSON.stringify({prefixes:t,messages:n});e.globals.set(`__slicc_mount_data`,r);try{await e.runPythonAsync(`
|
|
4
|
+
import builtins as _slicc_builtins
|
|
5
|
+
import io as _slicc_io
|
|
6
|
+
import os as _slicc_os
|
|
7
|
+
import os.path as _slicc_osp
|
|
8
|
+
import errno as _slicc_errno
|
|
9
|
+
import json as _slicc_json
|
|
10
|
+
|
|
11
|
+
_slicc_data = _slicc_json.loads(__slicc_mount_data)
|
|
12
|
+
_slicc_mount_prefixes = list(_slicc_data['prefixes'])
|
|
13
|
+
_slicc_mount_messages = dict(_slicc_data['messages'])
|
|
14
|
+
del _slicc_data
|
|
15
|
+
|
|
16
|
+
def _slicc_match_mount_prefix(path):
|
|
17
|
+
if path is None:
|
|
18
|
+
return None
|
|
19
|
+
if isinstance(path, int):
|
|
20
|
+
return None
|
|
21
|
+
try:
|
|
22
|
+
s = _slicc_os.fspath(path)
|
|
23
|
+
except TypeError:
|
|
24
|
+
return None
|
|
25
|
+
if isinstance(s, bytes):
|
|
26
|
+
try:
|
|
27
|
+
s = s.decode('utf-8', 'surrogateescape')
|
|
28
|
+
except Exception:
|
|
29
|
+
return None
|
|
30
|
+
if not isinstance(s, str):
|
|
31
|
+
return None
|
|
32
|
+
try:
|
|
33
|
+
resolved = _slicc_osp.abspath(s)
|
|
34
|
+
except Exception:
|
|
35
|
+
return None
|
|
36
|
+
for prefix in _slicc_mount_prefixes:
|
|
37
|
+
if resolved == prefix or resolved.startswith(prefix + '/'):
|
|
38
|
+
return prefix
|
|
39
|
+
return None
|
|
40
|
+
|
|
41
|
+
def _slicc_raise_mount_guard(path, prefix):
|
|
42
|
+
msg = _slicc_mount_messages.get(prefix)
|
|
43
|
+
if not msg:
|
|
44
|
+
msg = "slicc: synchronous access to mounted path '" + prefix + "' is not supported; use the async slicc.fs module."
|
|
45
|
+
raise OSError(_slicc_errno.EIO, msg, str(path))
|
|
46
|
+
|
|
47
|
+
_slicc_orig_builtins_open = _slicc_builtins.open
|
|
48
|
+
_slicc_orig_io_open = _slicc_io.open
|
|
49
|
+
_slicc_orig_listdir = _slicc_os.listdir
|
|
50
|
+
_slicc_orig_scandir = _slicc_os.scandir
|
|
51
|
+
_slicc_orig_stat = _slicc_os.stat
|
|
52
|
+
_slicc_orig_lstat = _slicc_os.lstat
|
|
53
|
+
_slicc_orig_mkdir = _slicc_os.mkdir
|
|
54
|
+
_slicc_orig_remove = _slicc_os.remove
|
|
55
|
+
_slicc_orig_rename = _slicc_os.rename
|
|
56
|
+
|
|
57
|
+
def _slicc_guarded_builtins_open(file, *args, **kwargs):
|
|
58
|
+
if isinstance(file, int):
|
|
59
|
+
return _slicc_orig_builtins_open(file, *args, **kwargs)
|
|
60
|
+
prefix = _slicc_match_mount_prefix(file)
|
|
61
|
+
if prefix is not None:
|
|
62
|
+
_slicc_raise_mount_guard(file, prefix)
|
|
63
|
+
return _slicc_orig_builtins_open(file, *args, **kwargs)
|
|
64
|
+
|
|
65
|
+
def _slicc_guarded_io_open(file, *args, **kwargs):
|
|
66
|
+
if isinstance(file, int):
|
|
67
|
+
return _slicc_orig_io_open(file, *args, **kwargs)
|
|
68
|
+
prefix = _slicc_match_mount_prefix(file)
|
|
69
|
+
if prefix is not None:
|
|
70
|
+
_slicc_raise_mount_guard(file, prefix)
|
|
71
|
+
return _slicc_orig_io_open(file, *args, **kwargs)
|
|
72
|
+
|
|
73
|
+
def _slicc_make_path_guard(orig):
|
|
74
|
+
def _guarded(path, *args, **kwargs):
|
|
75
|
+
prefix = _slicc_match_mount_prefix(path)
|
|
76
|
+
if prefix is not None:
|
|
77
|
+
_slicc_raise_mount_guard(path, prefix)
|
|
78
|
+
return orig(path, *args, **kwargs)
|
|
79
|
+
return _guarded
|
|
80
|
+
|
|
81
|
+
def _slicc_guarded_rename(src, dst, *args, **kwargs):
|
|
82
|
+
for p in (src, dst):
|
|
83
|
+
prefix = _slicc_match_mount_prefix(p)
|
|
84
|
+
if prefix is not None:
|
|
85
|
+
_slicc_raise_mount_guard(p, prefix)
|
|
86
|
+
return _slicc_orig_rename(src, dst, *args, **kwargs)
|
|
87
|
+
|
|
88
|
+
_slicc_builtins.open = _slicc_guarded_builtins_open
|
|
89
|
+
_slicc_io.open = _slicc_guarded_io_open
|
|
90
|
+
_slicc_os.listdir = _slicc_make_path_guard(_slicc_orig_listdir)
|
|
91
|
+
_slicc_os.scandir = _slicc_make_path_guard(_slicc_orig_scandir)
|
|
92
|
+
_slicc_os.stat = _slicc_make_path_guard(_slicc_orig_stat)
|
|
93
|
+
_slicc_os.lstat = _slicc_make_path_guard(_slicc_orig_lstat)
|
|
94
|
+
_slicc_os.mkdir = _slicc_make_path_guard(_slicc_orig_mkdir)
|
|
95
|
+
_slicc_os.remove = _slicc_make_path_guard(_slicc_orig_remove)
|
|
96
|
+
_slicc_os.rename = _slicc_guarded_rename
|
|
97
|
+
`)}finally{try{e.runPython(`del __slicc_mount_data`)}catch{}}}var st=class{port;nextId=1;pending=new Map;eventSubscribers=new Map;progressWaiters=new Set;handler;disposed=!1;constructor(e){this.port=e,this.handler=e=>{let t=e.data;if(t?.type===`realm-rpc-res`){let t=e.data,n=this.pending.get(t.id);if(!n)return;this.pending.delete(t.id),typeof t.error==`string`?n.reject(Error(t.error)):n.resolve(t.result),this.notifyProgress();return}if(t?.type===`realm-event`){let t=e.data,n=this.eventSubscribers.get(t.channel);if(!n)return;for(let e of[...n])try{e(t.payload)}catch{}}},e.addEventListener(`message`,this.handler),e.start?.()}get pendingCount(){return this.pending.size+this.eventSubscriptionCount}get eventSubscriptionCount(){let e=0;for(let t of this.eventSubscribers.values())e+=t.size;return e}waitForProgress(){return this.pendingCount===0?Promise.resolve():new Promise(e=>{this.progressWaiters.add(e)})}notifyProgress(){if(this.progressWaiters.size===0)return;let e=[...this.progressWaiters];this.progressWaiters.clear();for(let t of e)t()}call(e,t,n=[]){if(this.disposed)return Promise.reject(Error(`realm-rpc: client disposed`));let r=this.nextId++,i={type:`realm-rpc-req`,id:r,channel:e,op:t,args:n};return new Promise((e,t)=>{this.pending.set(r,{resolve:e,reject:t}),this.port.postMessage(i)})}onEvent(e,t){if(this.disposed)return()=>{};let n=this.eventSubscribers.get(e);return n||(n=new Set,this.eventSubscribers.set(e,n)),n.add(t),this.notifyProgress(),()=>{let n=this.eventSubscribers.get(e);n&&(n.delete(t),n.size===0&&this.eventSubscribers.delete(e),this.notifyProgress())}}dispose(){if(this.disposed)return;this.disposed=!0,this.port.removeEventListener(`message`,this.handler);let e=Error(`realm-rpc: client disposed`);for(let t of this.pending.values())t.reject(e);this.pending.clear(),this.eventSubscribers.clear(),this.notifyProgress()}};function ct(e){return{listdir(t){return e.call(`vfs`,`readDir`,[t])},async readBytes(t){let n=await e.call(`vfs`,`readFileBinary`,[t]);return n instanceof Uint8Array?n:new Uint8Array(n)},async writeBytes(t,n){await e.call(`vfs`,`writeFileBinary`,[t,n])},stat(t){return e.call(`vfs`,`stat`,[t])},exists(t){return e.call(`vfs`,`exists`,[t])},async mkdir(t){await e.call(`vfs`,`mkdir`,[t])},async remove(t){await e.call(`vfs`,`rm`,[t])}}}async function lt(e,t){let n=ct(t);e.registerJsModule(`_slicc_fs_js`,n),await e.runPythonAsync(`
|
|
98
|
+
import sys
|
|
99
|
+
import types
|
|
100
|
+
import js
|
|
101
|
+
|
|
102
|
+
def _build_slicc_module(_bridge):
|
|
103
|
+
fs_module = types.ModuleType("slicc.fs")
|
|
104
|
+
|
|
105
|
+
async def listdir(path):
|
|
106
|
+
result = await _bridge.listdir(path)
|
|
107
|
+
return [str(name) for name in result.to_py()] if hasattr(result, "to_py") else [str(name) for name in result]
|
|
108
|
+
|
|
109
|
+
async def read_bytes(path):
|
|
110
|
+
result = await _bridge.readBytes(path)
|
|
111
|
+
# Pyodide returns JS Uint8Array as memoryview; coerce to bytes.
|
|
112
|
+
if hasattr(result, "to_bytes"):
|
|
113
|
+
return result.to_bytes()
|
|
114
|
+
if isinstance(result, memoryview):
|
|
115
|
+
return bytes(result)
|
|
116
|
+
return bytes(result)
|
|
117
|
+
|
|
118
|
+
async def read_text(path, encoding="utf-8"):
|
|
119
|
+
data = await read_bytes(path)
|
|
120
|
+
return data.decode(encoding)
|
|
121
|
+
|
|
122
|
+
async def write_bytes(path, data):
|
|
123
|
+
if isinstance(data, str):
|
|
124
|
+
raise TypeError("write_bytes expects bytes-like; use write_text for str")
|
|
125
|
+
if isinstance(data, (bytes, bytearray, memoryview)):
|
|
126
|
+
payload = bytes(data)
|
|
127
|
+
else:
|
|
128
|
+
payload = bytes(data)
|
|
129
|
+
# Convert Python bytes to a real JS Uint8Array before crossing
|
|
130
|
+
# the realm RPC boundary. The bridge call ultimately hits
|
|
131
|
+
# \`port.postMessage\` (see realm-rpc.ts), which structured-
|
|
132
|
+
# clones its argument; a Python \`bytes\` would arrive as a
|
|
133
|
+
# PyProxy and trigger DataCloneError. \`js.Uint8Array.new\`
|
|
134
|
+
# copies the buffer into a JS typed array that clones cleanly.
|
|
135
|
+
await _bridge.writeBytes(path, js.Uint8Array.new(payload))
|
|
136
|
+
|
|
137
|
+
async def write_text(path, text, encoding="utf-8"):
|
|
138
|
+
if not isinstance(text, str):
|
|
139
|
+
raise TypeError("write_text expects str; use write_bytes for bytes")
|
|
140
|
+
await write_bytes(path, text.encode(encoding))
|
|
141
|
+
|
|
142
|
+
async def stat(path):
|
|
143
|
+
result = await _bridge.stat(path)
|
|
144
|
+
obj = result.to_py() if hasattr(result, "to_py") else result
|
|
145
|
+
if isinstance(obj, dict):
|
|
146
|
+
return {
|
|
147
|
+
"isDirectory": bool(obj.get("isDirectory", False)),
|
|
148
|
+
"isFile": bool(obj.get("isFile", False)),
|
|
149
|
+
"size": int(obj.get("size", 0)),
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
"isDirectory": bool(getattr(obj, "isDirectory", False)),
|
|
153
|
+
"isFile": bool(getattr(obj, "isFile", False)),
|
|
154
|
+
"size": int(getattr(obj, "size", 0)),
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
async def exists(path):
|
|
158
|
+
result = await _bridge.exists(path)
|
|
159
|
+
return bool(result)
|
|
160
|
+
|
|
161
|
+
async def mkdir(path, parents=False):
|
|
162
|
+
# The underlying vfs.mkdir is recursive ({recursive: true} in
|
|
163
|
+
# realm-host.ts), matching parents=True semantics. With
|
|
164
|
+
# parents=False we raise FileExistsError when the target
|
|
165
|
+
# already exists, mirroring pathlib.Path.mkdir(parents=False).
|
|
166
|
+
if not parents:
|
|
167
|
+
try:
|
|
168
|
+
already = await exists(path)
|
|
169
|
+
except Exception:
|
|
170
|
+
already = False
|
|
171
|
+
if already:
|
|
172
|
+
raise FileExistsError(path)
|
|
173
|
+
await _bridge.mkdir(path)
|
|
174
|
+
|
|
175
|
+
async def remove(path):
|
|
176
|
+
await _bridge.remove(path)
|
|
177
|
+
|
|
178
|
+
async def walk(path):
|
|
179
|
+
results = []
|
|
180
|
+
async def _visit(current):
|
|
181
|
+
names = await listdir(current)
|
|
182
|
+
dirnames = []
|
|
183
|
+
filenames = []
|
|
184
|
+
for name in names:
|
|
185
|
+
child = current + "/" + name if current != "/" else "/" + name
|
|
186
|
+
try:
|
|
187
|
+
st = await stat(child)
|
|
188
|
+
except Exception:
|
|
189
|
+
continue
|
|
190
|
+
if st["isDirectory"]:
|
|
191
|
+
dirnames.append(name)
|
|
192
|
+
elif st["isFile"]:
|
|
193
|
+
filenames.append(name)
|
|
194
|
+
results.append((current, dirnames, filenames))
|
|
195
|
+
for d in list(dirnames):
|
|
196
|
+
child = current + "/" + d if current != "/" else "/" + d
|
|
197
|
+
await _visit(child)
|
|
198
|
+
await _visit(path)
|
|
199
|
+
return results
|
|
200
|
+
|
|
201
|
+
fs_module.listdir = listdir
|
|
202
|
+
fs_module.read_bytes = read_bytes
|
|
203
|
+
fs_module.read_text = read_text
|
|
204
|
+
fs_module.write_bytes = write_bytes
|
|
205
|
+
fs_module.write_text = write_text
|
|
206
|
+
fs_module.stat = stat
|
|
207
|
+
fs_module.exists = exists
|
|
208
|
+
fs_module.mkdir = mkdir
|
|
209
|
+
fs_module.remove = remove
|
|
210
|
+
fs_module.walk = walk
|
|
211
|
+
|
|
212
|
+
slicc_module = types.ModuleType("slicc")
|
|
213
|
+
slicc_module.fs = fs_module
|
|
214
|
+
sys.modules["slicc"] = slicc_module
|
|
215
|
+
sys.modules["slicc.fs"] = fs_module
|
|
216
|
+
return slicc_module
|
|
217
|
+
|
|
218
|
+
import _slicc_fs_js as _bridge
|
|
219
|
+
_build_slicc_module(_bridge)
|
|
220
|
+
del _build_slicc_module
|
|
221
|
+
del _bridge
|
|
222
|
+
`)}const ut=ze(`pyodide`,`314.0.6`),dt=`https://cdn.jsdelivr.net/pyodide/v${ut}/full/`,ft=`pyodide is not installed in node_modules: run \`ipk add pyodide@${ut}\` (no network fallback)`,Z={asmJs:`pyodide.asm.mjs`,asmWasm:`pyodide.asm.wasm`,stdlibZip:`python_stdlib.zip`,lockJson:`pyodide-lock.json`};async function pt(e,t){try{let[n,r,i,a]=await Promise.all([e.call(`vfs`,`readFile`,[`${t}/${Z.asmJs}`]),e.call(`vfs`,`readFileBinary`,[`${t}/${Z.asmWasm}`]),e.call(`vfs`,`readFileBinary`,[`${t}/${Z.stdlibZip}`]),e.call(`vfs`,`readFile`,[`${t}/${Z.lockJson}`])]);return{asmJsSource:n,asmWasmBytes:r instanceof Uint8Array?r:new Uint8Array(r),stdlibBytes:i instanceof Uint8Array?i:new Uint8Array(i),lockJsonString:a}}catch{return null}}function mt(e,t){let n=e+Z.asmWasm,r=globalThis.fetch,i=!0,a=(e,i)=>(typeof e==`string`?e:e instanceof URL?e.href:e.url)===n?Promise.resolve(new Response(t,{headers:{"Content-Type":`application/wasm`}})):r(e,i);return globalThis.fetch=a,{restore:()=>{i&&(i=!1,globalThis.fetch===a&&(globalThis.fetch=r))}}}async function ht(e,t,n){let r=await pt(n,t);if(!r)throw Error(ft);let i=URL.createObjectURL(new Blob([r.asmJsSource],{type:`text/javascript`})),a=URL.createObjectURL(new Blob([r.stdlibBytes],{type:`application/zip`})),o=`slicc-pyodide://local/${crypto.randomUUID()}/`,s=mt(o,r.asmWasmBytes);try{let t=await import(i);return await e.loadPyodide({indexURL:o,lockFileContents:r.lockJsonString,stdLibURL:a,createPyodideModule:t.default,packageBaseUrl:Re(`/workspace/python_wheels/`)})}finally{s.restore(),URL.revokeObjectURL(i),URL.revokeObjectURL(a)}}async function gt(e,t,n=()=>import(`./pyodide-DY17DXNV.js`)){let r=[],i=[],a=new st(t),o;try{let t=await n();o=e.pyodideAssetRoot?await ht(t,e.pyodideAssetRoot,a):await t.loadPyodide({indexURL:e.pyodideIndexURL})}catch(e){a.dispose();let n={type:`realm-error`,message:`loadPyodide: ${e instanceof Error?e.message:String(e)}`};t.postMessage(n);return}let s=e=>{i.push(`Warning: ${e}\n`)},c=[],l,u;try{await _t(o,a,s,vt(e.pyodideAssetRoot));let{mountPyLiveVfs:n}=await import(`./py-live-vfs-Dm8bBjqR.js`);l=n(o,e,t,s),l||(c=await Ot(o,e,s),await kt(o,e,s)),await Et(o,a,e,s),await At(o,a,s);try{o.FS.chdir(e.cwd)}catch{}jt(o,e,r,i),u=await Pt(o,i),l?Nt(l,s):await Ft(c,e,a,s)}catch(e){a.dispose();let n={type:`realm-error`,message:`${e instanceof Error?e.message:String(e)}${i.length?`\n${i.join(``)}`:``}`};t.postMessage(n);return}a.dispose();let d={type:`realm-done`,stdout:r.join(``),stderr:i.join(``),exitCode:u};t.postMessage(d)}const Q=`/workspace/python_wheels`;async function _t(e,t,n,r){await xt(t,n,r);try{await e.loadPackage([`micropip`])}catch(e){n(`micropip preload failed: ${$(e)}`)}}function vt(e){return e?`${e}/${Z.lockJson}`:`/workspace/node_modules/pyodide/pyodide-lock.json`}const yt=1e4,bt=new WeakMap;function xt(e,t,n){let r=bt.get(e);if(r)return r;let i=St(e,t,n);return bt.set(e,i),i}async function St(e,t,n){let r;try{if(!await e.call(`vfs`,`exists`,[n]))return;let t=await e.call(`vfs`,`readFile`,[n]),i=JSON.parse(t);for(let[e,t]of Object.entries(i.packages??{}))if(t?.file_name&&x(t.name??e)===`micropip`){r=t;break}}catch(e){t(`micropip wheel staging skipped: ${$(e)}`);return}if(!r?.file_name||!r.sha256)return;let i=`${Q}/${r.file_name}`;try{if(await e.call(`vfs`,`exists`,[i]))return;let t=await ee(Ct(e),{url:`${dt}${r.file_name}`,sha256:r.sha256,label:`micropip wheel`,timeoutMs:yt});await e.call(`vfs`,`mkdir`,[Q]),await e.call(`vfs`,`writeFileBinary`,[i,t])}catch(e){t(`micropip wheel staging failed: ${$(e)}`)}}function Ct(e){return async(t,n)=>{let r={method:n?.method??`GET`,...n?.headers?{headers:n.headers}:{},...n?.body===void 0?{}:{body:n.body}},i=await wt(e.call(`fetch`,`request`,[t,r]),n?.timeoutMs??yt,t);return{status:i.status,statusText:i.statusText,headers:i.headers,body:i.body instanceof Uint8Array?i.body:new Uint8Array(i.body),url:i.url}}}function wt(e,t,n){let r,i=new Promise((e,i)=>{r=setTimeout(()=>i(Error(`request to ${n} timed out after ${t}ms`)),t)});return Promise.race([e,i]).finally(()=>clearTimeout(r))}function Tt(e){return{exists:t=>e.call(`vfs`,`exists`,[t]),readFile:t=>e.call(`vfs`,`readFile`,[t])}}async function Et(e,t,n,r){let i=Tt(t),a;try{a=await S(i,n.cwd)}catch(e){r(`manifest discovery failed: ${$(e)}`);return}if(a===null)return;let o,s;try{let[e,t]=await Promise.all([ae(i,a),oe(i,a)]);o=e.dependencies,s=t}catch(e){r(`manifest read failed: ${$(e)}`);return}let c=new Map;for(let e of s)c.set(x(e.name),e);for(let t of o){let{name:n}=te(t);if(!n)continue;let i=c.get(x(n));if(!i){r(`no integrity pin for \`${n}\`; run \`di sync\` to repair`);continue}await Dt(e,i,r)}}async function Dt(e,t,n){switch(t.source){case`pyodide-cdn`:try{await e.loadPackage([t.name])}catch(e){n(`activation of \`${t.name}\` failed: ${$(e)}`)}return;case`pypi`:try{let n=`${Q}/${t.fileName}`;await e.runPythonAsync(`import micropip; await micropip.install('emfs:${n}')`)}catch(e){n(`activation of \`${t.name}\` failed: ${$(e)}`)}return;default:n(`unknown source \`${t.source}\` for \`${t.name}\`; skipping`)}}async function Ot(e,t,n){if(t.opfsMountDbName===void 0)return[];let r=t.pyodideMountDirs??[t.cwd,`/tmp`],i=t.mountPoints??[],a=new Set(i.map(e=>e.path));try{return(await Rt(e,r,t.opfsMountDbName,n,{skipMountPaths:a})).mounts}catch(e){return n(`VFS→Pyodide OPFS mount failed: ${$(e)}`),[]}}async function kt(e,t,n){let r=t.mountPoints??[];if(r.length!==0){try{it(e.FS,r.map(e=>e.path),n)}catch(e){n(`bomb overlay install failed: ${$(e)}`)}try{await ot(e,r.map(e=>e.path))}catch(e){n(`python mount guard install failed: ${$(e)}`)}}}async function At(e,t,n){try{await lt(e,t)}catch(e){n(`slicc.fs registration failed: ${$(e)}`)}}function jt(e,t,n,r){e.setStdout({batched:e=>n.push(e+`
|
|
223
|
+
`)}),e.setStderr({batched:e=>r.push(e+`
|
|
224
|
+
`)});let i=!1;e.setStdin({stdin:()=>i||!t.stdin?null:(i=!0,t.stdin)}),Mt(e,t.env),e.globals.set(`__slicc_code`,t.code),e.globals.set(`__slicc_filename`,t.filename),e.globals.set(`__slicc_argv`,t.argv)}function Mt(e,t){if(!(!t||Object.keys(t).length===0)){e.globals.set(`__slicc_env`,e.toPy(t));try{e.runPython(`import os; os.environ.update(__slicc_env)`)}finally{e.runPython(`del __slicc_env`)}}}function Nt(e,t){try{e.flush()}catch(e){t(`Pyodide→VFS flush failed: ${$(e)}`)}}async function Pt(e,t){let n;try{await e.runPythonAsync(`
|
|
225
|
+
import sys
|
|
226
|
+
import traceback
|
|
227
|
+
|
|
228
|
+
__slicc_exit_code = 0
|
|
229
|
+
try:
|
|
230
|
+
# A real list: the JS array arrives as a JsProxy, whose slices
|
|
231
|
+
# (sys.argv[1:], what argparse-style CLIs read) are not lists of str.
|
|
232
|
+
sys.argv = list(__slicc_argv)
|
|
233
|
+
# Like CPython: a script's own directory replaces Pyodide's leading ''
|
|
234
|
+
# (the cwd, kept for -c and stdin), so it can import its sibling package.
|
|
235
|
+
if __slicc_filename not in ("-c", "<stdin>"):
|
|
236
|
+
import os.path
|
|
237
|
+
__slicc_dir = os.path.dirname(os.path.abspath(__slicc_filename))
|
|
238
|
+
if sys.path and sys.path[0] == "":
|
|
239
|
+
sys.path[0] = __slicc_dir
|
|
240
|
+
else:
|
|
241
|
+
sys.path.insert(0, __slicc_dir)
|
|
242
|
+
exec(compile(__slicc_code, __slicc_filename, "exec"), {"__name__": "__main__", "__file__": __slicc_filename})
|
|
243
|
+
except SystemExit as exc:
|
|
244
|
+
code = exc.code
|
|
245
|
+
if code is None:
|
|
246
|
+
__slicc_exit_code = 0
|
|
247
|
+
elif isinstance(code, int):
|
|
248
|
+
__slicc_exit_code = code
|
|
249
|
+
else:
|
|
250
|
+
print(code, file=sys.stderr)
|
|
251
|
+
__slicc_exit_code = 1
|
|
252
|
+
except BaseException:
|
|
253
|
+
traceback.print_exc()
|
|
254
|
+
__slicc_exit_code = 1
|
|
255
|
+
`);let t=e.globals.get(`__slicc_exit_code`);n=typeof t==`number`?t:Number(t??1)}catch(e){let r=e instanceof Error?e.message:String(e);t.push(`${r}\n`),n=1}try{e.runPython(`del __slicc_code, __slicc_filename, __slicc_argv, __slicc_exit_code`)}catch{}return n}async function Ft(e,t,n,r){if(t.opfsMountDbName!==void 0){try{await Ht(e,n)}catch(e){r(`Pyodide→VFS consistency mark clear failed: ${e instanceof Error?e.message:String(e)}`),r(`Pyodide→VFS OPFS flush skipped: clean-boot mark could not be cleared`);return}try{await Ut(e)}catch(e){r(`Pyodide→VFS OPFS flush failed: ${e instanceof Error?e.message:String(e)}`)}try{await Wt(e,n)}catch(e){r(`Pyodide→kernel VFS invalidation failed: ${$(e)}`)}}}const It=new Set([`dev`,`proc`,`lib`,`tmp`,`home`]);function $(e){if(e&&typeof e==`object`){let t=e,n=typeof t.errno==`number`,r=typeof t.code==`string`;if(n||r){let e=typeof t.name==`string`&&t.name?t.name:`Error`,i=typeof t.message==`string`?t.message:``,a=[];n&&a.push(`errno ${t.errno}`),r&&a.push(t.code);let o=a.length?` (${a.join(`, `)})`:``;return i?`${e}: ${i}${o}`:`${e}${o}`}}return e instanceof Error?e.message:String(e)}function Lt(e){let t=e.FS.filesystems,n=t.OPFS_SYNC_FS;return n||(n=Ge(e.FS),t.OPFS_SYNC_FS=n),n}async function Rt(e,t,n,r=()=>{},i={}){let a=[],o=i.skipMountPaths??new Set,s=navigator.storage;if(!s?.getDirectory)return r(`VFS→Pyodide OPFS mount skipped: navigator.storage.getDirectory unavailable`),{mounts:a};let c;try{c=await s.getDirectory()}catch(e){return r(`VFS→Pyodide OPFS mount: getDirectory() failed: ${$(e)}`),{mounts:a}}let l;try{l=await c.getDirectoryHandle(n,{create:!0})}catch(e){return r(`VFS→Pyodide OPFS mount: opening '${n}' failed: ${$(e)}`),{mounts:a}}let u=Lt(e);for(let n of t){if(n===`/`){await zt(e,u,l,o,a,r);continue}if(!o.has(n))try{let t=l;for(let e of n.split(`/`).filter(Boolean))t=await t.getDirectoryHandle(e,{create:!0});await Bt(e,u,n,t,a)}catch(e){r(`VFS→Pyodide OPFS mount '${n}' failed: ${$(e)}`)}}return{mounts:a}}async function zt(e,t,n,r,i,a){try{let o=n;for await(let[n,s]of o){if(s.kind!==`directory`||It.has(n))continue;let o=`/${n}`;if(!r.has(o))try{await Bt(e,t,o,s,i)}catch(e){a(`VFS→Pyodide OPFS mount '${o}' failed: ${$(e)}`)}}}catch(e){a(`VFS→Pyodide OPFS mount '/' failed: ${$(e)}`)}}async function Bt(e,t,n,r,i){try{e.FS.stat(n)}catch{e.FS.mkdirTree(n)}let a=await Ve(r),o=Ye();await o.preload(a);let s={rootHandle:r,prewalk:a,sahProvider:o.provider},c=e.FS.mount(t,s,n),l=c?.mount??{opts:s,mountpoint:n,root:c};i.push({pyPath:n,mount:l,rootHandle:r,flushBuffers:o.flush,getDirtyPaths:o.getDirtyPaths})}function Vt(e){return e.some(e=>e.getDirtyPaths().length>0||Ke(e.mount))}async function Ht(e,t){Vt(e)&&await t.call(`vfs`,`forgetSidecarConsistency`,[])}async function Ut(e){for(let t of e)await qe(t.mount),await t.flushBuffers(t.rootHandle)}async function Wt(e,t){let n=[];for(let t of e)for(let e of t.getDirtyPaths())n.push(t.pyPath===`/`?`/${e}`:`${t.pyPath}/${e}`);n.length>0&&await t.call(`vfs`,`invalidatePaths`,[n])}const Gt={postMessage:(e,t)=>t?self.postMessage(e,t):self.postMessage(e),addEventListener:(e,t)=>self.addEventListener(e,t),removeEventListener:(e,t)=>self.removeEventListener(e,t)};self.addEventListener(`message`,e=>{if(e.data?.type!==`realm-init`)return;let t=e.data;t.kind===`py`&>(t,Gt).catch(e=>{let t={type:`realm-error`,message:e instanceof Error?e.message:String(e)};self.postMessage(t)})});export{l as n,c as r,o as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{n as e,r as t}from"./py-realm-worker-
|
|
1
|
+
import{n as e,r as t}from"./py-realm-worker-BaO89JAR.js";var n=Object.defineProperty,r=(e,t)=>n(e,`name`,{value:t,configurable:!0}),i=(t=>typeof e<`u`?e:typeof Proxy<`u`?new Proxy(t,{get:(t,n)=>(typeof e<`u`?e:t)[n]}):t)(function(t){if(typeof e<`u`)return e.apply(this,arguments);throw Error(`Dynamic require of "`+t+`" is not supported`)}),a=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return t=>{for(var n=t.length,r=new Uint8Array((n-(t[n-1]==`=`)-(t[n-2]==`=`))*3/4|0),i=0,a=0;i<n;){var o=e[t.charCodeAt(i++)],s=e[t.charCodeAt(i++)],c=e[t.charCodeAt(i++)],l=e[t.charCodeAt(i++)];r[a++]=o<<2|s>>4,r[a++]=s<<4|c>>2,r[a++]=c<<6|l}return r}})();function o(e){return!isNaN(parseFloat(e))&&isFinite(e)}r(o,`_isNumber`);function s(e){return e.charAt(0).toUpperCase()+e.substring(1)}r(s,`_capitalize`);function c(e){return function(){return this[e]}}r(c,`_getter`);var l=[`isConstructor`,`isEval`,`isNative`,`isToplevel`],u=[`columnNumber`,`lineNumber`],d=[`fileName`,`functionName`,`source`],f=l.concat(u,d,[`args`],[`evalOrigin`]);function p(e){if(e)for(var t=0;t<f.length;t++)e[f[t]]!==void 0&&this[`set`+s(f[t])](e[f[t]])}for(r(p,`StackFrame`),p.prototype={getArgs:r(function(){return this.args},`getArgs`),setArgs:r(function(e){if(Object.prototype.toString.call(e)!==`[object Array]`)throw TypeError(`Args must be an Array`);this.args=e},`setArgs`),getEvalOrigin:r(function(){return this.evalOrigin},`getEvalOrigin`),setEvalOrigin:r(function(e){if(e instanceof p)this.evalOrigin=e;else if(e instanceof Object)this.evalOrigin=new p(e);else throw TypeError(`Eval Origin must be an Object or StackFrame`)},`setEvalOrigin`),toString:r(function(){var e=this.getFileName()||``,t=this.getLineNumber()||``,n=this.getColumnNumber()||``,r=this.getFunctionName()||``;return this.getIsEval()?e?`[eval] (`+e+`:`+t+`:`+n+`)`:`[eval]:`+t+`:`+n:r?r+` (`+e+`:`+t+`:`+n+`)`:e+`:`+t+`:`+n},`toString`)},p.fromString=r(function(e){var t=e.indexOf(`(`),n=e.lastIndexOf(`)`),r=e.substring(0,t),i=e.substring(t+1,n).split(`,`),a=e.substring(n+1);if(a.indexOf(`@`)===0)var o=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(a,``),s=o[1],c=o[2],l=o[3];return new p({functionName:r,args:i||void 0,fileName:s,lineNumber:c||void 0,columnNumber:l||void 0})},`StackFrame$$fromString`),m=0;m<l.length;m++)p.prototype[`get`+s(l[m])]=c(l[m]),p.prototype[`set`+s(l[m])]=function(e){return function(t){this[e]=!!t}}(l[m]);var m;for(h=0;h<u.length;h++)p.prototype[`get`+s(u[h])]=c(u[h]),p.prototype[`set`+s(u[h])]=function(e){return function(t){if(!o(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(u[h]);var h;for(g=0;g<d.length;g++)p.prototype[`get`+s(d[g])]=c(d[g]),p.prototype[`set`+s(d[g])]=function(e){return function(t){this[e]=String(t)}}(d[g]);var g,_=p;function v(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:r(function(t){if(t.stack&&t.stack.match(e))return this.parseV8OrIE(t);if(t.stack)return this.parseFFOrSafari(t);throw Error(`Cannot parse given Error object`)},`ErrorStackParser$$parse`),extractLocation:r(function(e){if(e.indexOf(`:`)===-1)return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,``));return[t[1],t[2]||void 0,t[3]||void 0]},`ErrorStackParser$$extractLocation`),parseV8OrIE:r(function(t){return t.stack.split(`
|
|
2
2
|
`).filter(function(t){return!!t.match(e)},this).map(function(e){e.indexOf(`(eval `)>-1&&(e=e.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));var t=e.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),n=t.match(/ (\(.+\)$)/);t=n?t.replace(n[0],``):t;var r=this.extractLocation(n?n[1]:t);return new _({functionName:n&&t||void 0,fileName:[`eval`,`<anonymous>`].indexOf(r[0])>-1?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)},`ErrorStackParser$$parseV8OrIE`),parseFFOrSafari:r(function(e){return e.stack.split(`
|
|
3
|
-
`).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new _({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new _({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}r(v,`ErrorStackParser`);var ee=new v;function y(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:x({IN_BUN:typeof Bun<`u`,IN_DENO:typeof Deno<`u`,IN_NODE:typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,IN_SAFARI:typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)>-1,IN_SHELL:typeof read==`function`&&typeof load==`function`,IN_WORKERD:typeof navigator==`object`&&navigator.userAgent?.includes(`Cloudflare-Workers`)})}r(y,`getGlobalRuntimeEnv`);var b=y();function x(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof i==`function`&&typeof __dirname==`string`,n=e.IN_NODE&&!t,r=!e.IN_NODE&&!e.IN_DENO&&!e.IN_BUN,a=r&&typeof window<`u`&&typeof window.document<`u`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof globalThis.importScripts!=`function`,o=r&&typeof globalThis.WorkerGlobalScope<`u`&&typeof globalThis.self<`u`&&globalThis.self instanceof globalThis.WorkerGlobalScope;if(o&&S())throw Error(`Classic web workers are not supported`);let s={...e,IN_BROWSER:r,IN_BROWSER_MAIN_THREAD:a,IN_BROWSER_WEB_WORKER:o,IN_NODE_COMMONJS:t,IN_NODE_ESM:n};if(!(s.IN_BROWSER_MAIN_THREAD||s.IN_BROWSER_WEB_WORKER||s.IN_NODE||s.IN_SHELL||s.IN_WORKERD))throw Error(`Cannot determine runtime environment: ${JSON.stringify(s)}`);return s}r(x,`calculateDerivedFlags`);function S(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}r(S,`isClassicWorker`);var C,w,T,E;async function D(){if(!b.IN_NODE||(C=(await import(`./__vite-browser-external-BlQ4QU88.js`).then(e=>t(e.default,1))).default,T=await import(`./__vite-browser-external-BlQ4QU88.js`).then(e=>t(e.default,1)),E=await import(`./__vite-browser-external-BlQ4QU88.js`).then(e=>t(e.default,1)),(await import(`./__vite-browser-external-BlQ4QU88.js`).then(e=>t(e.default,1))).default,w=await import(`./__vite-browser-external-BlQ4QU88.js`).then(e=>t(e.default,1)),j=w.sep,typeof i<`u`))return;let e={fs:T,crypto:await import(`./__vite-browser-external-BlQ4QU88.js`).then(e=>t(e.default,1)),ws:await import(`./__vite-browser-external-BlQ4QU88.js`).then(e=>t(e.default,1)),child_process:await import(`./__vite-browser-external-BlQ4QU88.js`).then(e=>t(e.default,1))};globalThis.require=function(t){return e[t]}}r(D,`initNodeModules`);function O(e,t){return w.resolve(t||`.`,e)}r(O,`node_resolvePath`);function k(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}r(k,`browser_resolvePath`);var A=b.IN_NODE?O:b.IN_SHELL?r(e=>e,`resolvePath`):k,j;b.IN_NODE||(j=`/`);function M(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:E.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}r(M,`node_getBinaryResponse`);function N(e,t){if(e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`))throw Error(`Shell cannot fetch urls`);return{binary:Promise.resolve(new Uint8Array(readbuffer(e)))}}r(N,`shell_getBinaryResponse`);function P(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}r(P,`browser_getBinaryResponse`);var F=b.IN_NODE?M:b.IN_SHELL?N:P;async function I(e,t){let{response:n,binary:r}=F(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}r(I,`loadBinaryFile`);var te=b.IN_NODE?L:r(async e=>await import(e),`loadScript`);async function L(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(C.pathToFileURL(e).href)}r(L,`nodeLoadScript`);async function R(e){if(b.IN_NODE){await D();let t=await E.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if(b.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}r(R,`loadLockFile`);async function z(){if(b.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let n=ee.parse(e)[0].fileName;if(b.IN_NODE&&!n.startsWith(`file://`)&&(n=`file://${n}`),b.IN_NODE_ESM){let e=await import(`./__vite-browser-external-BlQ4QU88.js`).then(e=>t(e.default,1));return(await import(`./__vite-browser-external-BlQ4QU88.js`).then(e=>t(e.default,1))).fileURLToPath(e.dirname(n))}let r=n.lastIndexOf(j);if(r===-1)throw Error(`Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.`);return n.slice(0,r)}r(z,`calculateDirname`);function B(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}r(B,`calculateInstallBaseUrl`);function ne(e){let t=e.FS,n=e.FS.filesystems.MEMFS,i=e.PATH,a={DIR_MODE:16895,FILE_MODE:33279,mount:r(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:r(async(e,t,n)=>{try{let r=a.getLocalSet(e),i=await a.getRemoteSet(e),o=t?i:r,s=t?r:i;await a.reconcile(e,o,s),n(null)}catch(e){n(e)}},`syncfs`),getLocalSet:r(e=>{let n=Object.create(null);function a(e){return e!==`.`&&e!==`..`}r(a,`isRealDir`);function o(e){return t=>i.join2(e,t)}r(o,`toAbsolute`);let s=t.readdir(e.mountpoint).filter(a).map(o(e.mountpoint));for(;s.length;){let e=s.pop(),r=t.stat(e);t.isDir(r.mode)&&s.push.apply(s,t.readdir(e).filter(a).map(o(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},`getLocalSet`),getRemoteSet:r(async e=>{let t=Object.create(null),n=await re(e.opts.fileSystemHandle);for(let[r,o]of n)r!==`.`&&(t[i.join2(e.mountpoint,r)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?a.FILE_MODE:a.DIR_MODE});return{type:`remote`,entries:t,handles:n}},`getRemoteSet`),loadLocalEntry:r(e=>{let r=t.lookupPath(e,{}).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},`loadLocalEntry`),storeLocalEntry:r((e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},`storeLocalEntry`),removeLocalEntry:r(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:r(async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:a.FILE_MODE,timestamp:new Date(t.lastModified)}}if(e.kind===`directory`)return{mode:a.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)},`loadRemoteEntry`),storeRemoteEntry:r(async(e,n,r)=>{let a=e.get(i.dirname(n)),o=t.isFile(r.mode)?await a.getFileHandle(i.basename(n),{create:!0}):await a.getDirectoryHandle(i.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(r.contents),await e.close()}e.set(n,o)},`storeRemoteEntry`),removeRemoteEntry:r(async(e,t)=>{await e.get(i.dirname(t)).removeEntry(i.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:r(async(e,n,r)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let i=n.entries[e],a=r.entries[e];(!a||t.isFile(i.mode)&&i.timestamp.getTime()>a.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(r.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:r.handles;for(let t of s){let n=i.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(r.type===`local`){let e=l.get(n),r=await a.loadRemoteEntry(e);a.storeLocalEntry(t,r)}else{let e=a.loadLocalEntry(t);await a.storeRemoteEntry(l,n,e)}}for(let t of c)if(r.type===`local`)a.removeLocalEntry(t);else{let n=i.normalize(t.replace(e.mountpoint,`/`)).substring(1);await a.removeRemoteEntry(l,n)}},`reconcile`)};e.FS.filesystems.NATIVEFS_ASYNC=a}r(ne,`initializeNativeFS`);var re=r(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}r(n,`collect`),await n(e);let i=new Map;i.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);i.set(t,n)}return i},`getFsHandles`),ie=a(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),ae=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&typeof navigator.maxTouchPoints<`u`&&navigator.maxTouchPoints>1)))try{let e=await WebAssembly.compile(ie);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function V(){let e=await ae;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:r(()=>t,`Jsv_GetError_import`),JsvError_Check:r(e=>e===t,`JsvError_Check`)}}r(V,`getJsvErrorImport`);function H(e){let t={config:e,runtimeEnv:b},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:J(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:r(t=>e.indexURL+t,`locateFile`),instantiateWasm:Y(e.indexURL)};return n}r(H,`createSettings`);function U(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}r(U,`createHomeDirectory`);function W(e){return function(t){Object.assign(t.ENV,e)}}r(W,`setEnvironment`);function G(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}r(G,`callFsInitHook`);function K(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}r(K,`computeVersionTuple`);function q(e){let t=I(e);return async e=>{e.API.pyVersionTuple=K(e);let[n,r]=e.API.pyVersionTuple;e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.FS.mkdirTree(`/lib/python${n}.${r}/lib-dynload`),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}r(q,`installStdlib`);function J(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[q(t),U(e.env.HOME),W(e.env),ne,...G(e.fsInit)]}r(J,`getFileSystemInitializationFuncs`);function Y(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=F(e+`pyodide.asm.wasm`),r=V();return function(e,i){return async function(){let{Jsv_GetError_import:a,JsvError_Check:o}=await r;e.env.Jsv_GetError_import=a,e.env.JsvError_Check=o;try{let r;r=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=r;i(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}r(Y,`getInstantiateWasmFunc`);var oe=`314.0.6`;function X(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}r(X,`withTrailingSlash`);var Z=oe;async function Q(e={}){if(await D(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await z();if(t=X(A(t)),e.packageBaseUrl=X(e.packageBaseUrl),e.cdnUrl=X(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.6/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=R(n),e.packageBaseUrl??=B(n)}e.indexURL=t,e.packageCacheDir&&=X(A(e.packageCacheDir));let n={jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:e.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`6f88bdfdf0581f0eab1d84a508b31ab96e83201d2b7fdd1dc653a3079c23a0f5`},r=Object.assign(n,e);return r.env.HOME??=`/home/pyodide`,r.env.PYTHONINSPECT??=`1`,r}r(Q,`initializeConfiguration`);function $(e){let t=H(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}r($,`createEmscriptenSettings`);async function se(e){return e.createPyodideModule?e.createPyodideModule:(await te(`${e.indexURL}pyodide.asm.mjs`)).default}r(se,`loadWasmScript`);async function ce(e,t){if(!e._loadSnapshot)return;let n=await e._loadSnapshot,r=ArrayBuffer.isView(n)?n:new Uint8Array(n);return t.noInitialRun=!0,t.INITIAL_MEMORY=r.length,r}r(ce,`prepareSnapshot`);async function le(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}r(le,`instantiatePyodideModule`);function ue(e,t){let n=e.API;if(t.pyproxyToStringRepr&&n.setPyProxyToStringMethod(!0),t.convertNullToNone&&n.setCompatNullToNone(!0),t.toJsLiteralMap&&n.setCompatToJsLiteralMap(!0),n.version!==`314.0.6`&&t.checkAPIVersion)throw Error(`Pyodide version does not match: '${Z}' <==> '${n.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);e.locateFile=e=>{throw e.endsWith(`.so`)?Error(`Failed to find dynamic library "${e}"`):Error(`Unexpected call to locateFile("${e}")`)}}r(ue,`configureAPI`);function de(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}r(de,`bootstrapPyodide`);async function fe(e,t){let n=e._api;return n.sys.path.insert(0,``),n._pyodide.set_excepthook(),await n.packageIndexReady,n.initializeStreams(t.stdin,t.stdout,t.stderr),e}r(fe,`finalizeSetup`);async function pe(e={}){let t=await Q(e),n=$(t),r=await se(t),i=await ce(t,n),a=await le(r,n);return ue(a,t),await fe(de(a,i,t),t)}r(pe,`loadPyodide`);export{pe as loadPyodide,Z as version};
|
|
3
|
+
`).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new _({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new _({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}r(v,`ErrorStackParser`);var ee=new v;function y(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:x({IN_BUN:typeof Bun<`u`,IN_DENO:typeof Deno<`u`,IN_NODE:typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,IN_SAFARI:typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)>-1,IN_SHELL:typeof read==`function`&&typeof load==`function`,IN_WORKERD:typeof navigator==`object`&&navigator.userAgent?.includes(`Cloudflare-Workers`)})}r(y,`getGlobalRuntimeEnv`);var b=y();function x(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof i==`function`&&typeof __dirname==`string`,n=e.IN_NODE&&!t,r=!e.IN_NODE&&!e.IN_DENO&&!e.IN_BUN,a=r&&typeof window<`u`&&typeof window.document<`u`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof globalThis.importScripts!=`function`,o=r&&typeof globalThis.WorkerGlobalScope<`u`&&typeof globalThis.self<`u`&&globalThis.self instanceof globalThis.WorkerGlobalScope;if(o&&S())throw Error(`Classic web workers are not supported`);let s={...e,IN_BROWSER:r,IN_BROWSER_MAIN_THREAD:a,IN_BROWSER_WEB_WORKER:o,IN_NODE_COMMONJS:t,IN_NODE_ESM:n};if(!(s.IN_BROWSER_MAIN_THREAD||s.IN_BROWSER_WEB_WORKER||s.IN_NODE||s.IN_SHELL||s.IN_WORKERD))throw Error(`Cannot determine runtime environment: ${JSON.stringify(s)}`);return s}r(x,`calculateDerivedFlags`);function S(){try{return globalThis.importScripts(`data:text/javascript,`),!0}catch{return!1}}r(S,`isClassicWorker`);var C,w,T,E;async function D(){if(!b.IN_NODE||(C=(await import(`./__vite-browser-external-CJkRLpJ-.js`).then(e=>t(e.default,1))).default,T=await import(`./__vite-browser-external-CJkRLpJ-.js`).then(e=>t(e.default,1)),E=await import(`./__vite-browser-external-CJkRLpJ-.js`).then(e=>t(e.default,1)),(await import(`./__vite-browser-external-CJkRLpJ-.js`).then(e=>t(e.default,1))).default,w=await import(`./__vite-browser-external-CJkRLpJ-.js`).then(e=>t(e.default,1)),j=w.sep,typeof i<`u`))return;let e={fs:T,crypto:await import(`./__vite-browser-external-CJkRLpJ-.js`).then(e=>t(e.default,1)),ws:await import(`./__vite-browser-external-CJkRLpJ-.js`).then(e=>t(e.default,1)),child_process:await import(`./__vite-browser-external-CJkRLpJ-.js`).then(e=>t(e.default,1))};globalThis.require=function(t){return e[t]}}r(D,`initNodeModules`);function O(e,t){return w.resolve(t||`.`,e)}r(O,`node_resolvePath`);function k(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}r(k,`browser_resolvePath`);var A=b.IN_NODE?O:b.IN_SHELL?r(e=>e,`resolvePath`):k,j;b.IN_NODE||(j=`/`);function M(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:E.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}r(M,`node_getBinaryResponse`);function N(e,t){if(e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`))throw Error(`Shell cannot fetch urls`);return{binary:Promise.resolve(new Uint8Array(readbuffer(e)))}}r(N,`shell_getBinaryResponse`);function P(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}r(P,`browser_getBinaryResponse`);var F=b.IN_NODE?M:b.IN_SHELL?N:P;async function I(e,t){let{response:n,binary:r}=F(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}r(I,`loadBinaryFile`);var te=b.IN_NODE?L:r(async e=>await import(e),`loadScript`);async function L(e){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?await import(e):await import(C.pathToFileURL(e).href)}r(L,`nodeLoadScript`);async function R(e){if(b.IN_NODE){await D();let t=await E.readFile(e,{encoding:`utf8`});return JSON.parse(t)}if(b.IN_SHELL){let t=read(e);return JSON.parse(t)}return await(await fetch(e)).json()}r(R,`loadLockFile`);async function z(){if(b.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let n=ee.parse(e)[0].fileName;if(b.IN_NODE&&!n.startsWith(`file://`)&&(n=`file://${n}`),b.IN_NODE_ESM){let e=await import(`./__vite-browser-external-CJkRLpJ-.js`).then(e=>t(e.default,1));return(await import(`./__vite-browser-external-CJkRLpJ-.js`).then(e=>t(e.default,1))).fileURLToPath(e.dirname(n))}let r=n.lastIndexOf(j);if(r===-1)throw Error(`Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.`);return n.slice(0,r)}r(z,`calculateDirname`);function B(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}r(B,`calculateInstallBaseUrl`);function ne(e){let t=e.FS,n=e.FS.filesystems.MEMFS,i=e.PATH,a={DIR_MODE:16895,FILE_MODE:33279,mount:r(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:r(async(e,t,n)=>{try{let r=a.getLocalSet(e),i=await a.getRemoteSet(e),o=t?i:r,s=t?r:i;await a.reconcile(e,o,s),n(null)}catch(e){n(e)}},`syncfs`),getLocalSet:r(e=>{let n=Object.create(null);function a(e){return e!==`.`&&e!==`..`}r(a,`isRealDir`);function o(e){return t=>i.join2(e,t)}r(o,`toAbsolute`);let s=t.readdir(e.mountpoint).filter(a).map(o(e.mountpoint));for(;s.length;){let e=s.pop(),r=t.stat(e);t.isDir(r.mode)&&s.push.apply(s,t.readdir(e).filter(a).map(o(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},`getLocalSet`),getRemoteSet:r(async e=>{let t=Object.create(null),n=await re(e.opts.fileSystemHandle);for(let[r,o]of n)r!==`.`&&(t[i.join2(e.mountpoint,r)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?a.FILE_MODE:a.DIR_MODE});return{type:`remote`,entries:t,handles:n}},`getRemoteSet`),loadLocalEntry:r(e=>{let r=t.lookupPath(e,{}).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},`loadLocalEntry`),storeLocalEntry:r((e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},`storeLocalEntry`),removeLocalEntry:r(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:r(async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:a.FILE_MODE,timestamp:new Date(t.lastModified)}}if(e.kind===`directory`)return{mode:a.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)},`loadRemoteEntry`),storeRemoteEntry:r(async(e,n,r)=>{let a=e.get(i.dirname(n)),o=t.isFile(r.mode)?await a.getFileHandle(i.basename(n),{create:!0}):await a.getDirectoryHandle(i.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(r.contents),await e.close()}e.set(n,o)},`storeRemoteEntry`),removeRemoteEntry:r(async(e,t)=>{await e.get(i.dirname(t)).removeEntry(i.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:r(async(e,n,r)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let i=n.entries[e],a=r.entries[e];(!a||t.isFile(i.mode)&&i.timestamp.getTime()>a.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(r.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:r.handles;for(let t of s){let n=i.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(r.type===`local`){let e=l.get(n),r=await a.loadRemoteEntry(e);a.storeLocalEntry(t,r)}else{let e=a.loadLocalEntry(t);await a.storeRemoteEntry(l,n,e)}}for(let t of c)if(r.type===`local`)a.removeLocalEntry(t);else{let n=i.normalize(t.replace(e.mountpoint,`/`)).substring(1);await a.removeRemoteEntry(l,n)}},`reconcile`)};e.FS.filesystems.NATIVEFS_ASYNC=a}r(ne,`initializeNativeFS`);var re=r(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}r(n,`collect`),await n(e);let i=new Map;i.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);i.set(t,n)}return i},`getFsHandles`),ie=a(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECBygCE0pzdl9HZXRFcnJvcl9pbXBvcnQAAA5Kc3ZFcnJvcl9DaGVjawABChMCBwD7AQD7GwsJACAA+xr7FAAL`),ae=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&typeof navigator.maxTouchPoints<`u`&&navigator.maxTouchPoints>1)))try{let e=await WebAssembly.compile(ie);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function V(){let e=await ae;if(e)return e.exports;let t=Symbol(`error marker`);return{Jsv_GetError_import:r(()=>t,`Jsv_GetError_import`),JsvError_Check:r(e=>e===t,`JsvError_Check`)}}r(V,`getJsvErrorImport`);function H(e){let t={config:e,runtimeEnv:b},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:J(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:r(t=>e.indexURL+t,`locateFile`),instantiateWasm:Y(e.indexURL)};return n}r(H,`createSettings`);function U(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}r(U,`createHomeDirectory`);function W(e){return function(t){Object.assign(t.ENV,e)}}r(W,`setEnvironment`);function G(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}r(G,`callFsInitHook`);function K(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}r(K,`computeVersionTuple`);function q(e){let t=I(e);return async e=>{e.API.pyVersionTuple=K(e);let[n,r]=e.API.pyVersionTuple;e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.FS.mkdirTree(`/lib/python${n}.${r}/lib-dynload`),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}r(q,`installStdlib`);function J(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[q(t),U(e.env.HOME),W(e.env),ne,...G(e.fsInit)]}r(J,`getFileSystemInitializationFuncs`);function Y(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=F(e+`pyodide.asm.wasm`),r=V();return function(e,i){return async function(){let{Jsv_GetError_import:a,JsvError_Check:o}=await r;e.env.Jsv_GetError_import=a,e.env.JsvError_Check=o;try{let r;r=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=r;i(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}r(Y,`getInstantiateWasmFunc`);var oe=`314.0.6`;function X(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}r(X,`withTrailingSlash`);var Z=oe;async function Q(e={}){if(await D(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await z();if(t=X(A(t)),e.packageBaseUrl=X(e.packageBaseUrl),e.cdnUrl=X(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v314.0.6/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=R(n),e.packageBaseUrl??=B(n)}e.indexURL=t,e.packageCacheDir&&=X(A(e.packageCacheDir));let n={jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:e.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`6f88bdfdf0581f0eab1d84a508b31ab96e83201d2b7fdd1dc653a3079c23a0f5`},r=Object.assign(n,e);return r.env.HOME??=`/home/pyodide`,r.env.PYTHONINSPECT??=`1`,r}r(Q,`initializeConfiguration`);function $(e){let t=H(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}r($,`createEmscriptenSettings`);async function se(e){return e.createPyodideModule?e.createPyodideModule:(await te(`${e.indexURL}pyodide.asm.mjs`)).default}r(se,`loadWasmScript`);async function ce(e,t){if(!e._loadSnapshot)return;let n=await e._loadSnapshot,r=ArrayBuffer.isView(n)?n:new Uint8Array(n);return t.noInitialRun=!0,t.INITIAL_MEMORY=r.length,r}r(ce,`prepareSnapshot`);async function le(e,t){let n=await e(t);if(t.exitCode!==void 0)throw new n.ExitStatus(t.exitCode);return n}r(le,`instantiatePyodideModule`);function ue(e,t){let n=e.API;if(t.pyproxyToStringRepr&&n.setPyProxyToStringMethod(!0),t.convertNullToNone&&n.setCompatNullToNone(!0),t.toJsLiteralMap&&n.setCompatToJsLiteralMap(!0),n.version!==`314.0.6`&&t.checkAPIVersion)throw Error(`Pyodide version does not match: '${Z}' <==> '${n.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);e.locateFile=e=>{throw e.endsWith(`.so`)?Error(`Failed to find dynamic library "${e}"`):Error(`Unexpected call to locateFile("${e}")`)}}r(ue,`configureAPI`);function de(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}r(de,`bootstrapPyodide`);async function fe(e,t){let n=e._api;return n.sys.path.insert(0,``),n._pyodide.set_excepthook(),await n.packageIndexReady,n.initializeStreams(t.stdin,t.stdout,t.stderr),e}r(fe,`finalizeSetup`);async function pe(e={}){let t=await Q(e),n=$(t),r=await se(t),i=await ce(t,n),a=await le(r,n);return ue(a,t),await fe(de(a,i,t),t)}r(pe,`loadPyodide`);export{pe as loadPyodide,Z as version};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./compat-qQM4gjF_.js";import{t as n}from"./logger-DDBAeTLF.js";import{A as r,D as i,g as a,k as o}from"./account-store-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./compat-qQM4gjF_.js";import{t as n}from"./logger-DDBAeTLF.js";import{A as r,D as i,g as a,k as o}from"./account-store-BxB3138q.js";import{t as s}from"./llm-session-id-bZQs6gBN.js";import{i as c,t as l}from"./icons-jrIi5FYk.js";var u=e({lucideIconNames:()=>h,pickLucideIcon:()=>g,quickLabel:()=>f}),d=n(`quick-llm`);async function f(e){let n=a();if(!n)return d.debug(`No API key for active provider — skipping`),null;let i=r(),s=o(),c;if(c=e.modelId?b(i,e.modelId)??b(i,s):_(i,s),!c)return d.debug(`No model available for provider`,{providerId:i}),null;let l={role:`user`,content:e.prompt,timestamp:Date.now()},u={};c.provider===`adobe`&&(u[`X-Session-Id`]=S());try{let r=(await t(c,{systemPrompt:e.system,messages:[l]},{apiKey:n,maxTokens:e.maxTokens??60,temperature:e.temperature??.3,signal:e.signal,headers:Object.keys(u).length>0?u:void 0})).content.filter(e=>e.type===`text`).map(e=>e.text).join(``).trim();return r.length>0?r:null}catch(e){return d.debug(`Quick label call failed`,{error:e instanceof Error?e.message:String(e)}),null}}var p=null;function m(e){return e.replace(/([A-Z]+)([A-Z][a-z])/g,`$1-$2`).replace(/([a-z0-9])([A-Z])/g,`$1-$2`).replace(/([A-Za-z])(\d)/g,`$1-$2`).toLowerCase()}function h(){return p||=Object.keys(c).map(m).sort(),p}async function g(e){let t=h(),n=await(e.labelFn??f)({system:`You pick ONE icon for a UI element. Respond with exactly one icon name from the provided list — lowercase, no quotes, no punctuation, nothing else.`,prompt:`Pick the single most fitting icon for: ${e.subject}\n\nValid icon names:\n${t.join(` `)}`,maxTokens:16,temperature:.2,signal:e.signal});if(!n)return null;let r=n.trim().toLowerCase().replace(/[^a-z0-9-]/g,``);return l(r)?r:null}function _(e,t){let n=i(e);if(n.length===0)return;let r=n.find(e=>e.id===t)??n[0],a=y(r.id),o=n.filter(e=>v(e,r,a));return o.length===0?r:(o.sort((e,t)=>(e.cost?.input??0)-(t.cost?.input??0)),o[0])}function v(e,t,n){if(e.id===t.id)return!1;let r=t.cost?.input??1/0;if((e.cost?.input??1/0)>=r)return!1;let i=e.id.toLowerCase();switch(n){case`claude`:return i.includes(`haiku`);case`gpt`:return/(^|-)mini(-|$)|(^|-)nano(-|$)/.test(i);case`gemini`:return i.includes(`flash`);case`grok`:return/(^|-)mini(-|$)|(^|-)fast(-|$)/.test(i);case`unknown`:return!0}}function y(e){let t=e.toLowerCase();return t.includes(`claude`)?`claude`:t.includes(`gemini`)?`gemini`:t.includes(`grok`)?`grok`:/^(gpt|o\d)/.test(t)?`gpt`:`unknown`}function b(e,t){return i(e).find(e=>e.id===t)}var x=`ui-quick-llm`;function S(){return s(x)}export{u as n,f as t};
|