sliccy 6.248.2 → 6.248.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/.vite/manifest.json +233 -208
- package/dist/ui/assets/{account-store-ns4WYcMU.js → account-store-CoiNHIE9.js} +1 -1
- package/dist/ui/assets/{account-store-D6Y7UkDR.js → account-store-EUAU8ivx.js} +1 -1
- package/dist/ui/assets/{adobe-X7Inkd3y.js → adobe-Cnyzs0z9.js} +1 -1
- package/dist/ui/assets/{adobe-DUTM1MYN.js → adobe-bJrGAM6E.js} +1 -1
- package/dist/ui/assets/{agent-panels-CKJsRdkX.js → agent-panels-DxCO1Hct.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-ClalXJjr.js → almost-bash-shell-headless-BMKZNLwu.js} +15 -15
- package/dist/ui/assets/{apply-layout-CchSfN26.js → apply-layout-BjLmZ8CX.js} +1 -1
- package/dist/ui/assets/{azure-openai-DyFYxvm3.js → azure-openai-C5kzBBrl.js} +1 -1
- package/dist/ui/assets/{azure-openai-CKbMQD0r.js → azure-openai-CgL7nikU.js} +1 -1
- package/dist/ui/assets/{bunny-probe-C4NWuNUc.js → bunny-probe-AeE-5oRk.js} +1 -1
- package/dist/ui/assets/{bunny-run-i0aWgiSm.js → bunny-run-Dqkr4mRC.js} +1 -1
- package/dist/ui/assets/{cdp-DQxci1TE.js → cdp-DU50qKlQ.js} +1 -1
- package/dist/ui/assets/{cerebras-DIP7_DDR.js → cerebras-C4IlgrId.js} +1 -1
- package/dist/ui/assets/{cerebras-CxUX42e1.js → cerebras-Exx59PmI.js} +1 -1
- package/dist/ui/assets/{composer-speech-BG6t0naa.js → composer-speech-CtvE78Rx.js} +1 -1
- package/dist/ui/assets/{connect-surface-D2XK41nE.js → connect-surface-Bvi30iYd.js} +1 -1
- package/dist/ui/assets/{directed-approval-B12urAW4.js → directed-approval-CQVXF9kD.js} +1 -1
- package/dist/ui/assets/dist-CegW-G1M.js +1 -0
- package/dist/ui/assets/dist-kcvXs5tL.js +5 -0
- package/dist/ui/assets/{emscripten-vfs-hook-CWvY9WeB.js → emscripten-vfs-hook-G9JRg26r.js} +1 -1
- package/dist/ui/assets/{fast-path-R8Tr2lTS.js → fast-path-Bwq0oDa5.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-CbV_CMOh.js → frozen-archive-writer-DV7A8nNw.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-Ceh2la4q.js → frozen-archive-writer-DV8CfTGq.js} +1 -1
- package/dist/ui/assets/{frozen-session-delete-D5D_Ne2e.js → frozen-session-delete-KNFPPuJe.js} +1 -1
- package/dist/ui/assets/{frozen-session-identity-gJ9_AdhB.js → frozen-session-identity-B46HFhaz.js} +1 -1
- package/dist/ui/assets/{frozen-session-identity-BaOmOPkW.js → frozen-session-identity-CF594WMJ.js} +1 -1
- package/dist/ui/assets/{gelatiere-unit-C7ZNZUSc.js → gelatiere-unit-BnExmaTM.js} +1 -1
- package/dist/ui/assets/{ghostty-vt-BeUP0ymd.wasm → ghostty-vt--DTGF19l.wasm} +0 -0
- package/dist/ui/assets/{github-6DwMsMnA.js → github-BrjjZAsX.js} +1 -1
- package/dist/ui/assets/{github-1mLybvS_.js → github-C6Rd03wJ.js} +1 -1
- package/dist/ui/assets/{github-copilot-BfIxbhi4.js → github-copilot-DqpGzQw_.js} +1 -1
- package/dist/ui/assets/{github-copilot-N-tzbR5P.js → github-copilot-_OyzohK5.js} +1 -1
- package/dist/ui/assets/{hear-Ct45sfIf.js → hear-BN5luL3S.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-Cu7m3Um0.js → js-realm-worker-DUoX2h5j.js} +2 -2
- package/dist/ui/assets/{jsh-executor-Dl-C6Zsf.js → jsh-executor-B_ddQzto.js} +2 -2
- package/dist/ui/assets/{kernel-worker-C8b5lZTP.js → kernel-worker-MybuXyBd.js} +8 -8
- package/dist/ui/assets/{lick-ws-bridge-D-E79_1_.js → lick-ws-bridge-CPjy5dPn.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-h5gzMRSW.js → lick-ws-bridge-DEmDlxVR.js} +1 -1
- package/dist/ui/assets/{live-session-curation-Cyo4-AT4.js → live-session-curation-C9AY4psl.js} +1 -1
- package/dist/ui/assets/{live-session-curation-SLge-cX1.js → live-session-curation-ChkffqSA.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-pRBKYrJ8.js → live-session-snapshot-DwWIWtG9.js} +1 -1
- package/dist/ui/assets/{local-llm-BlHvV5yP.js → local-llm-B-KVBQuy.js} +1 -1
- package/dist/ui/assets/{local-llm-ENpj_eMH.js → local-llm-BI7bYfoc.js} +1 -1
- package/dist/ui/assets/{main-cherry-C7-exyW-.js → main-cherry-CQgQpSib.js} +1 -1
- package/dist/ui/assets/{main-DfG-7olk.js → main-pp1LzVcX.js} +3 -3
- package/dist/ui/assets/{mcp-command-17_LRqwb.js → mcp-command-B779bOTK.js} +10 -10
- package/dist/ui/assets/{memory-curation-seam-CCSYlceq.js → memory-curation-seam-ByPo8cGi.js} +1 -1
- package/dist/ui/assets/{memory-health-BvHYn77g.js → memory-health-DcxlUrXc.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-DgQbDA3A.js → memory-write-execute-CKI-9ZAP.js} +1 -1
- package/dist/ui/assets/{merge-folded-cost-into-frozen-JhDEaEfs.js → merge-folded-cost-into-frozen-DIYTak4p.js} +1 -1
- package/dist/ui/assets/{new-session-CnoNDTuz.js → new-session-g_r_qcmc.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-ChsezcFC.js → oauth-bootstrap-DreVl6g7.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-DVgfzjFI.js → onboarding-orchestrator-C2EOhp34.js} +1 -1
- package/dist/ui/assets/{openai-codex-C-kcHoOI.js → openai-codex-B8pw-NWl.js} +1 -1
- package/dist/ui/assets/{openai-codex-Dv0f6Zky.js → openai-codex-C4Tm1S2D.js} +1 -1
- package/dist/ui/assets/{openrouter-43Pclqtc.js → openrouter-B0EqwIn3.js} +1 -1
- package/dist/ui/assets/{openrouter-Cpv4zDcO.js → openrouter-CzQ8Mfh0.js} +1 -1
- package/dist/ui/assets/{openrouter-free-FKyXQM6S.js → openrouter-free-Cl4RHvyD.js} +1 -1
- package/dist/ui/assets/{openrouter-free-ChP9MxdX.js → openrouter-free-CpKJupv_.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-BG3--aWC.js → openrouter-oauth-0yFjXvrc.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CNF2eLlh.js → openrouter-oauth-BRahdbZ4.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-bwwGloEJ.js → panel-rpc-handlers-GkEWjrsh.js} +2 -2
- package/dist/ui/assets/{panelize-shell-CHcICs0K.js → panelize-shell-CtMH6CGD.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-De18yFud.js → pi-edit-execution-ru_RSE31.js} +1 -1
- package/dist/ui/assets/{provider-CkRuiBXe.js → provider-Dm5ZNpu9.js} +1 -1
- package/dist/ui/assets/{provider-BXpJxeAj.js → provider-qOOj0Bx4.js} +1 -1
- package/dist/ui/assets/{provider-settings-BiHtUcJy.js → provider-settings-Dts8qnq0.js} +1 -1
- package/dist/ui/assets/provider-store-access-C_mdEz_o.js +1 -0
- package/dist/ui/assets/provider-store-access-TfpqgcQb.js +1 -0
- package/dist/ui/assets/{providers-4SFNzKj4.js → providers-CEBpTOtO.js} +2 -2
- package/dist/ui/assets/{providers-CNMsS7p4.js → providers-IksVbHjy.js} +1 -1
- package/dist/ui/assets/{quick-llm-D46cR1qL.js → quick-llm-BKYqGAke.js} +1 -1
- package/dist/ui/assets/{realm-inprocess-BM3rzakW.js → realm-inprocess-ZgBNrBFy.js} +2 -2
- package/dist/ui/assets/{realm-unhandled-rejections-CtQi1yQa.js → realm-unhandled-rejections-Dlau5E21.js} +1 -1
- package/dist/ui/assets/{realm-unhandled-rejections-OEjbIKa3.js → realm-unhandled-rejections-VXmx0XIB.js} +1 -1
- package/dist/ui/assets/{recovery-screen-f0eMynNT.js → recovery-screen-NNWQWNqn.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-BvBX-VtU.js → remote-terminal-view-oOTCkn_X.js} +2 -2
- package/dist/ui/assets/{restore-DB68Gs49.js → restore-zlhvIM6j.js} +1 -1
- package/dist/ui/assets/{run-Ddy8I2eX.js → run-BGO-UaQS.js} +1 -1
- package/dist/ui/assets/{run-lA9Glhv6.js → run-BY-WnPWq.js} +2 -2
- package/dist/ui/assets/{run-QCY2mHg_.js → run-Cei5Q63u.js} +2 -2
- package/dist/ui/assets/{run-DbiSqYHp.js → run-DD-Zc-AI.js} +2 -2
- package/dist/ui/assets/{run-DxAKJMli.js → run-DW2M8USl.js} +2 -2
- package/dist/ui/assets/{run-Cb9nH_3a.js → run-DfaMtqBW.js} +1 -1
- package/dist/ui/assets/{run-DwJ5gSg3.js → run-rfYH3Q6m.js} +1 -1
- package/dist/ui/assets/{serve-command-CrjFrMtN.js → serve-command-Bkb8RYZg.js} +2 -2
- package/dist/ui/assets/{serve-runtime-Df_C7Bwg.js → serve-runtime-BWUwkiqv.js} +1 -1
- package/dist/ui/assets/{session-command-memory-CsOEa_ms.js → session-command-memory-nKG4sb28.js} +2 -2
- package/dist/ui/assets/{session-jsonl-CMk3OfCb.js → session-jsonl-B5phOLgv.js} +1 -1
- package/dist/ui/assets/{session-jsonl-By2cMFbj.js → session-jsonl-Ca8gi9Dg.js} +1 -1
- package/dist/ui/assets/{session-search-index-CQZ4zHoN.js → session-search-index-tweAFlvW.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-B5Zj6DG2.js → setup-feature-flags-remote-Bnrz-kqW.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-DF_b-L0I.js → setup-model-catalog-DPoX_vRY.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-DdGLoVuv.js → silent-renew-backoff-CMGVLIXZ.js} +1 -1
- package/dist/ui/assets/slicc-version-D9VMviCR.js +1 -0
- package/dist/ui/assets/{soundscape-DEhbJ-ug.js → soundscape-DtFo8gPx.js} +1 -1
- package/dist/ui/assets/{speak-BoErE_TJ.js → speak-BNqo53H8.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-Bl1h68AL.js → sprinkle-manager-KZBan5ot.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-B9Kv4iHS.js → sprinkle-renderer-GOx0t_KB.js} +1 -1
- package/dist/ui/assets/{src-BQf5Kp1T.js → src-C5tBXKh_.js} +2 -2
- package/dist/ui/assets/{ssh-CMLjKc-C.js → ssh-CgmHQfC4.js} +1 -1
- package/dist/ui/assets/{sudo-CXCObhqu.js → sudo-CfhS3XDc.js} +1 -1
- package/dist/ui/assets/{supervisor-D09OiqeU.js → supervisor-DXke_KPH.js} +1 -1
- package/dist/ui/assets/{sync-dialog-D-i17d_q.js → sync-dialog-B4XIyWlR.js} +1 -1
- package/dist/ui/assets/{transformers-env-C6K6s36u.js → transformers-env-C6_kFf6e.js} +1 -1
- package/dist/ui/assets/{tray-leader-0GIP6SM2.js → tray-leader-CrSh1Fel.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-TPEwLpwn.js → tray-leave-runtime-wJkN1AA0.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-Cjoy27SR.js → tray-sidecar-DlOOGPQH.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-Du2ZH4V4.js → upgrade-detection-Ct24ndl7.js} +1 -1
- package/dist/ui/assets/{voice-reply-Bcxvx3tf.js → voice-reply-CxXL_kEA.js} +1 -1
- package/dist/ui/assets/warm-wterm-DQwmz7G4.js +1 -0
- package/dist/ui/assets/wasm-inline-DSUyFn1L.js +1 -0
- package/dist/ui/assets/{wc-attach-x14l9M_B.js → wc-attach-Cmjdm23i.js} +2 -2
- package/dist/ui/assets/{wc-browser-C2zfIRBm.js → wc-browser-SUzkjJTA.js} +1 -1
- package/dist/ui/assets/{wc-computers-D3xFwdpr.js → wc-computers-BrBtwbOb.js} +1 -1
- package/dist/ui/assets/{wc-detached-CAFjtMoz.js → wc-detached-cVeDn3rP.js} +1 -1
- package/dist/ui/assets/{wc-extension-BR312mr2.js → wc-extension-VohpgpQG.js} +2 -2
- package/dist/ui/assets/{wc-follower-DE7WQb_h.js → wc-follower-BfOmPsV0.js} +3 -3
- package/dist/ui/assets/{wc-follower-oauth-DFiPwVPW.js → wc-follower-oauth-Br9RPRQJ.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-DjxUMudk.js → wc-gelatiere-WQR5AxZ9.js} +1 -1
- package/dist/ui/assets/{wc-live-aEmb1wYY.js → wc-live-Bj38qUgj.js} +5 -5
- package/dist/ui/assets/{wc-nav-DaPUjCh_.js → wc-nav-BHy21Jl4.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-CuZD2L7O.js → wc-onboarding-DooXTaWX.js} +2 -2
- package/dist/ui/assets/{wc-permissions-dmftxiz6.js → wc-permissions-CUtqnNV2.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-Dsw3z2er.js → wc-placeholder-Ca_dzZDr.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-B4EOYPwa.js → wc-secret-request-CxHPy2MF.js} +1 -1
- package/dist/ui/assets/{wc-settings-BnIaH8l3.js → wc-settings-Bf68mx0s.js} +3 -3
- package/dist/ui/assets/{wc-shell-fIEX0Fr7.js → wc-shell-C0Y0f1tt.js} +234 -20
- package/dist/ui/assets/{wc-shortcut-config-BDxnaOQ1.js → wc-shortcut-config-CkCG_Ehd.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-DUpa4cWM.js → wc-sprinkles-BlFVp_Zu.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-r0Cw8Qpa.js → wc-transcript-export-DWFK7w_9.js} +2 -2
- package/dist/ui/assets/{wc-tray-BY31Fswm.js → wc-tray-BU_mkrQK.js} +4 -4
- package/dist/ui/assets/welcome-detection-3uAUZPVw.js +1 -0
- package/dist/ui/assets/{whisper-session-DoB1nala.js → whisper-session-7VWAVhAF.js} +2 -2
- package/dist/ui/assets/{xai-grok-GgyXbIKx.js → xai-grok-6WPJsfyI.js} +1 -1
- package/dist/ui/assets/{xai-grok-DUH1s394.js → xai-grok-Cl-8KspF.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/dist-CaUJj_g5.js +0 -1
- package/dist/ui/assets/dist-DBSQLDw2.js +0 -1
- package/dist/ui/assets/provider-store-access-BGpLWm69.js +0 -1
- package/dist/ui/assets/provider-store-access-BWuEjd9t.js +0 -1
- package/dist/ui/assets/slicc-version-BHbvdY0F.js +0 -1
- package/dist/ui/assets/welcome-detection-Cf37YU0q.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./wc-onboarding-DooXTaWX.js";export{e as hasOnboardingFinalLickInHistory};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/speak-
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{a as n,n as r,o as i,r as a,t as o}from"./transformers-env-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/speak-BNqo53H8.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/runtime-env-Dlaokqg1.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-C6_kFf6e.js","assets/wc-shell-C0Y0f1tt.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-EUAU8ivx.js","assets/core-DzRw0pz2.js","assets/compat-0YnuwvMn.js","assets/models-D9KYIFyv.js","assets/diagnostics-B-5VkVir.js","assets/env-api-keys-BMbk-OAv.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-C88RzzVZ.js","assets/azure-openai-config--zABV6W_.js","assets/utf16-clip-CGL7omVm.js","assets/feature-flags-DvsApnS-.js","assets/proxied-fetch-4VBgrEIu.js","assets/proxy-error-BSFYY7jj.js","assets/api-endpoint-DuEQRZ4g.js","assets/secret-topology-hMRoGGjt.js","assets/float-topology-C_iRKPQK.js","assets/secrets-bridge-client-D734Xx8G.js","assets/port-bridge-client-B-gpiOVR.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-q8JQTtid.js","assets/tool-ui-eSQ1g2I1.js","assets/providers-CEBpTOtO.js","assets/stored-accounts-ChNHYF68.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/renamed-providers-DDe6My59.js","assets/same-file-identity-OexpsaSD.js","assets/telemetry-B0sKnLBU.js","assets/types-D8gIX-W-.js","assets/icons-BUdZEBvI.js","assets/wc-shell-WkeczD9x.css","assets/shared-DSEuryGJ.js","assets/transformers.web-BBJR2ai3.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{a as n,n as r,o as i,r as a,t as o}from"./transformers-env-C6_kFf6e.js";var s=t(`speech:whisper`),c=null,l=`idle`,u=null,d=new Set;function f(){return l}function p(){return u}function m(e){return e&&d.add(e),c||=(l=`loading`,g().then(e=>(l=`ready`,h(),e),e=>{throw l=`failed`,c=null,s.error(`whisper load failed`,e),e})),c}function h(){e(async()=>{let{kokoroWarmup:e}=await import(`./speak-BNqo53H8.js`);return{kokoroWarmup:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44])).then(({kokoroWarmup:e})=>e()).catch(e=>s.warn(`kokoro warmup (chained after whisper) failed`,e))}async function g(){let{pipeline:t,env:c}=await e(async()=>{let{pipeline:e,env:t}=await import(`./transformers.web-BBJR2ai3.js`);return{pipeline:e,env:t}},__vite__mapDeps([45,7,1]));r(c),await o(n),await a();let l=i(),f=e=>{if(e?.file){if(e.status===`progress`)l.update(e.file,e.loaded??0,e.total??0);else if(e.status===`done`)l.complete(e.file);else return;u=l.snapshot();for(let e of d)e(u)}},p=async e=>await t(`automatic-speech-recognition`,n,{device:e,dtype:e===`webgpu`?`fp32`:`q8`,progress_callback:f}),m=typeof navigator<`u`&&`gpu`in navigator,h;if(m)try{h=await p(`webgpu`)}catch(e){s.warn(`whisper webgpu init failed; retrying on wasm`,e),h=await p(`wasm`)}else h=await p(`wasm`);return s.info(`whisper ready`,{model:n,device:m?`webgpu`:`wasm`}),{async transcribe(e,t){let n=performance.now(),r=await h(e,{chunk_length_s:30,task:`transcribe`,...t?.language?{language:t.language}:{}}),i=Array.isArray(r)?r.map(e=>e.text??``).join(` `):r.text??``;return s.info(`whisper transcribe`,{elapsedMs:Math.round(performance.now()-n),audioSeconds:Math.round(e.length/160)/100,numThreads:c.backends?.onnx?.wasm?.numThreads,device:m?`webgpu`:`wasm`}),i.trim()}}}var _=16e3;async function v(e){if(typeof AudioContext>`u`||typeof OfflineAudioContext>`u`)throw Error(`audio decoding requires a window/page realm (AudioContext unavailable)`);let t=new AudioContext,n;try{n=await t.decodeAudioData(e.slice(0))}finally{await t.close().catch(()=>{})}let r=Math.max(1,Math.ceil(n.duration*_)),i=new OfflineAudioContext(1,r,_),a=i.createBufferSource();return a.buffer=n,a.connect(i.destination),a.start(),(await i.startRendering()).getChannelData(0).slice(0)}var y=t(`speech:whisper-session`),b=2e3,x=500,S=5e3,C=3e4,w=(e,t,n)=>new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`${n} timed out after ${t}ms`)),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})});function T(e){return e?.split(`-`)[0]?.toLowerCase()||void 0}async function E(e,t){let n;if(t.stream)n=t.stream;else{if(!navigator.mediaDevices?.getUserMedia)throw Error(`microphone capture unavailable in this realm`);n=await navigator.mediaDevices.getUserMedia({audio:t.deviceId&&t.deviceId!=="default"?{deviceId:{exact:t.deviceId}}:!0})}let r=new MediaRecorder(n),i=[],a=T(t.lang),o=!1,s=!1;r.ondataavailable=e=>{e.data.size>0&&i.push(e.data)};let c=async()=>{if(i.length===0)return``;let t=await v(await new Blob(i,{type:r.mimeType||`audio/webm`}).arrayBuffer());return e.transcribe(t,{language:a})},l=Promise.resolve(``),u=()=>{let e=l.catch(()=>``).then(()=>c());return l=e.catch(()=>``),e},d=setInterval(()=>{o||s||i.length===0||(o=!0,u().then(e=>{!s&&e&&t.onPartial?.(e)}).catch(e=>{y.warn(`partial transcription failed`,e)}).finally(()=>{o=!1}))},b),f=()=>{if(clearInterval(d),r.state!==`inactive`)try{r.stop()}catch{}for(let e of n.getTracks())e.stop()},p=()=>new Promise(e=>{if(r.state===`inactive`){e();return}r.onstop=()=>e();try{r.stop()}catch{e()}});return r.start(x),{async stop(){if(s)return``;s=!0,clearInterval(d);try{await w(p(),S,`recorder flush`);for(let e of n.getTracks())e.stop();return await w(u(),C,`transcription`)}catch(e){for(let e of n.getTracks())e.stop();let r=e instanceof Error?e.message:String(e);return t.onError?.(`transcription failed: ${r}`),``}},cancel(){s||(s=!0,f())}}}export{p as a,m as i,T as n,f as o,v as r,E as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,r as t}from"./account-store-
|
|
1
|
+
import{_ as e,r as t}from"./account-store-CoiNHIE9.js";import{a as n}from"./diagnostics-B-5VkVir.js";import{a as r}from"./compat-Ba4wPWa_.js";import{c as i,i as a,r as o,s}from"./legacy-api-aliases-C3_OAyZB.js";import{a as c}from"./core-C3diKI3_.js";import{n as l}from"./pi-transcript-context-CE8ItnBz.js";import"./provider-settings-Dts8qnq0.js";import{n as u,r as d}from"./bridge-token-required-BYgoMwr7.js";import{n as f,r as p,t as m}from"./pkce-hGf_TEnP.js";import{XaiErrorCode as h,XaiOAuthError as g}from"./xai-grok-errors-ByEMMSoz.js";function _(e){return typeof e==`object`&&!!e}function v(e){if(!_(e))return null;let t=_(e.config)?e.config:e,n=t.creditUsagePercent;if(typeof n!=`number`||!Number.isFinite(n))return null;let r=Math.min(1e3,Math.max(0,n)),i=_(t.currentPeriod)?t.currentPeriod:{},a=i.type,o=typeof a==`string`?a.replace(`USAGE_PERIOD_TYPE_`,``).toLowerCase():``,s=i.end??t.billingPeriodEnd,c=typeof s==`string`&&Number.isFinite(Date.parse(s))?s:void 0;return{percent:r,status:`ok`,window:o&&o!==`unspecified`?o:`billing`,...c?{resetsAt:c}:{}}}async function y(e,t,n={}){let r=new AbortController,i=setTimeout(()=>r.abort(),n.timeoutMs??8e3);try{let n=await t(`https://cli-chat-proxy.grok.com/v1/billing?format=credits`,{headers:{Authorization:`Bearer ${e}`},signal:r.signal}),{status:i}=n;if(i===404||i===501)return null;if(!n.ok)throw Error(`xAI Grok usage: ${i===401||i===403?`re-login required`:`failed`} (${i})`);let a=await n.text();if(a.length>65536)return null;try{return v(JSON.parse(a))}catch{return null}}finally{clearTimeout(i)}}const b=`xai-grok`,x=`https://auth.x.ai`,S=`${x}/oauth2/authorize`,C=`${x}/oauth2/token`,w=`b1a00492-073a-47ea-816f-4c329264a828`,T=`http://127.0.0.1:56121/callback`,E=`https://api.x.ai/v1`,D=`grok-4.7`,O=`${b}-openai`;function k(e){if(e.some(e=>e.id===D))return e;let t=e.find(e=>e.id===`grok-4.6`)??e.find(e=>e.api===`openai-responses`)??e[0];return t?[{...t,id:D,name:`Grok 4.7`,api:`openai-responses`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:null}},...e]:e}function A(){return k(c(`xai`))}function j(e){return{id:e.id,name:e.name,api:`openai`,reasoning:e.reasoning,input:e.input,context_window:e.contextWindow,max_tokens:e.maxTokens,compat:e.compat,thinkingLevelMap:e.thinkingLevelMap,cost:e.cost}}function M(e){let t=A(),n=t.find(t=>t.id===e.id);if(!n&&(console.warn(`xAI model "${e.id}" is no longer in the pi-ai catalog; falling back to default "${D}"`),n=t.find(e=>e.id===D),!n))throw Error(`xAI default model "${D}" is not registered by pi-ai`);if(n.api!==`openai-responses`&&n.api!==`openai-completions`)throw Error(`Unsupported pi-ai API "${n.api}" for xAI model "${e.id}"`);return{...e,...n,baseUrl:E}}async function N(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:T,client_id:w,code_verifier:t}),r=await fetch(C,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new g(`xAI token exchange failed: ${r.status} ${await r.text()}`,h.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new g(`xAI token exchange did not return access_token.`,h.TOKEN_EXCHANGE_INVALID);return i}async function P(e){if(u())return null;try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:w}),n=await fetch(C,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text();return d(n.status,e)||console.error(`[xai-grok] refresh failed:`,n.status,e),null}return await n.json()}catch(e){return console.error(`[xai-grok] refresh error:`,e instanceof Error?e.message:String(e)),null}}function F(){return t().find(e=>e.providerId===b)}async function I(){let t=F();if(!t?.accessToken)throw new g("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",h.AUTH_MISSING,!0);let n=t.tokenExpiresAt??0;if(n&&Date.now()+6e4<n)return t.accessToken;if(t.refreshToken){let n=await P(t.refreshToken);if(n?.access_token)return await e({providerId:b,accessToken:n.access_token,refreshToken:n.refresh_token??t.refreshToken,tokenExpiresAt:Date.now()+(n.expires_in??21600)*1e3,scopes:n.scope??t.scopes}),n.access_token}return t.accessToken}async function L(){if(!F()?.accessToken)throw Error(`xAI Grok budget: not signed in`);return y(await I(),fetch)}function R(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:O,provider:b,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function z(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}function B(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e))}async function V(e,t,n,r){try{let i=await I(),s=r.sessionId,c=M(t),u={...r,apiKey:i,headers:z(r.headers,s)},d=c.api===`openai-responses`?a(c,l(n),u):o(c,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){B(n),e.push(R(t,n)),e.end()}}async function H(e,t,n,r){try{let a=await I(),o=r?.sessionId,c=M(t),u={...r,apiKey:a,headers:z(r?.headers,o)},d=c.api===`openai-responses`?i(c,l(n),u):s(c,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){B(n),e.push(R(t,n)),e.end()}}const U=(e,t,r={})=>{let i=n();return V(i,e,t,r).catch(B),i},W=(e,t,r)=>{let i=n();return H(i,e,t,r).catch(B),i},G={id:b,name:`xAI Grok (SuperGrok OAuth)`,description:`Grok via xAI OAuth — uses your SuperGrok subscription, no API key needed. Default model is Grok 4.7.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:D,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`,`cli-chat-proxy.grok.com`],getModelIds:()=>A().map(j),getBudgetUsage:L,onOAuthLoginIntercepted:async(t,n,r)=>{let i=f(),a=await m(i),o=p(),s=p(),c=new URL(S);c.searchParams.set(`response_type`,`code`),c.searchParams.set(`client_id`,w),c.searchParams.set(`redirect_uri`,T),c.searchParams.set(`scope`,r?.scopes??`openid profile email offline_access grok-cli:access api:access`),c.searchParams.set(`code_challenge`,a),c.searchParams.set(`code_challenge_method`,`S256`),c.searchParams.set(`state`,o),c.searchParams.set(`nonce`,s),c.searchParams.set(`plan`,`generic`),c.searchParams.set(`referrer`,`slicc`);let l=await t({authorizeUrl:c.toString(),redirectUriPattern:`http://127.0.0.1:56121/*`,onCapture:`close`});if(!l)throw new g(`xAI OAuth login was cancelled or timed out`,h.CALLBACK_TIMEOUT);let u=new URL(l),d=u.searchParams.get(`code`),_=u.searchParams.get(`state`);if(!d)throw new g(`xAI OAuth redirect did not include a code`,h.CODE_MISSING);if(_!==o)throw new g(`xAI OAuth state mismatch — possible CSRF, aborting`,h.STATE_MISMATCH);let v=await N(d,i);await e({providerId:b,accessToken:v.access_token,refreshToken:v.refresh_token,tokenExpiresAt:Date.now()+(v.expires_in??21600)*1e3,baseUrl:E,scopes:v.scope}),n()},onOAuthLogout:async()=>{await e({providerId:b,accessToken:``})},onSilentRenew:async()=>{let t=F();if(!t?.refreshToken)return null;let n=await P(t.refreshToken);return n?.access_token?(await e({providerId:b,accessToken:n.access_token,refreshToken:n.refresh_token??t.refreshToken,tokenExpiresAt:Date.now()+(n.expires_in??21600)*1e3,scopes:n.scope??t.scopes}),n.access_token):null}};function K(){r({api:O,stream:U,streamSimple:W})}export{h as XaiErrorCode,g as XaiOAuthError,G as config,K as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./diagnostics-B-5VkVir.js";import{a as t}from"./compat-0YnuwvMn.js";import{c as n,i as r,r as i,s as a}from"./legacy-api-aliases-D-3Ssy_B.js";import{a as o}from"./core-DzRw0pz2.js";import{K as s,u as c}from"./account-store-
|
|
1
|
+
import{a as e}from"./diagnostics-B-5VkVir.js";import{a as t}from"./compat-0YnuwvMn.js";import{c as n,i as r,r as i,s as a}from"./legacy-api-aliases-D-3Ssy_B.js";import{a as o}from"./core-DzRw0pz2.js";import{K as s,u as c}from"./account-store-EUAU8ivx.js";import"./main-pp1LzVcX.js";import{n as l}from"./pi-transcript-context-DZyPy5yf.js";import{n as u,r as d}from"./bridge-token-required-DMk2va9k.js";import{n as f,r as p,t as m}from"./pkce-hGf_TEnP.js";import{XaiErrorCode as h,XaiOAuthError as g}from"./xai-grok-errors-bnlIBeu-.js";var _=`https://cli-chat-proxy.grok.com/v1/billing?format=credits`,v=8e3,y=65536,b=1e3;function x(e){return typeof e==`object`&&!!e}function S(e){if(!x(e))return null;let t=x(e.config)?e.config:e,n=t.creditUsagePercent;if(typeof n!=`number`||!Number.isFinite(n))return null;let r=Math.min(b,Math.max(0,n)),i=x(t.currentPeriod)?t.currentPeriod:{},a=i.type,o=typeof a==`string`?a.replace(`USAGE_PERIOD_TYPE_`,``).toLowerCase():``,s=i.end??t.billingPeriodEnd,c=typeof s==`string`&&Number.isFinite(Date.parse(s))?s:void 0;return{percent:r,status:`ok`,window:o&&o!==`unspecified`?o:`billing`,...c?{resetsAt:c}:{}}}async function C(e,t,n={}){let r=new AbortController,i=setTimeout(()=>r.abort(),n.timeoutMs??v);try{let n=await t(_,{headers:{Authorization:`Bearer ${e}`},signal:r.signal}),{status:i}=n;if(i===404||i===501)return null;if(!n.ok)throw Error(`xAI Grok usage: ${i===401||i===403?`re-login required`:`failed`} (${i})`);let a=await n.text();if(a.length>y)return null;try{return S(JSON.parse(a))}catch{return null}}finally{clearTimeout(i)}}var w=`xai-grok`,T=`https://auth.x.ai`,E=`${T}/oauth2/authorize`,D=`${T}/oauth2/token`,O=`b1a00492-073a-47ea-816f-4c329264a828`,k=`openid profile email offline_access grok-cli:access api:access`,A=`http://127.0.0.1:56121/callback`,j=`http://127.0.0.1:56121/*`,M=`https://api.x.ai/v1`,N=`grok-4.7`,P=`${w}-openai`;function F(e){if(e.some(e=>e.id===N))return e;let t=e.find(e=>e.id===`grok-4.6`)??e.find(e=>e.api===`openai-responses`)??e[0];return t?[{...t,id:N,name:`Grok 4.7`,api:`openai-responses`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:`low`,medium:`medium`,high:`high`,xhigh:`xhigh`,max:null}},...e]:e}function I(){return F(o(`xai`))}function L(e){return{id:e.id,name:e.name,api:`openai`,reasoning:e.reasoning,input:e.input,context_window:e.contextWindow,max_tokens:e.maxTokens,compat:e.compat,thinkingLevelMap:e.thinkingLevelMap,cost:e.cost}}function R(e){let t=I(),n=t.find(t=>t.id===e.id);if(!n&&(console.warn(`xAI model "${e.id}" is no longer in the pi-ai catalog; falling back to default "${N}"`),n=t.find(e=>e.id===N),!n))throw Error(`xAI default model "${N}" is not registered by pi-ai`);if(n.api!==`openai-responses`&&n.api!==`openai-completions`)throw Error(`Unsupported pi-ai API "${n.api}" for xAI model "${e.id}"`);return{...e,...n,baseUrl:M}}async function z(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,code:e,redirect_uri:A,client_id:O,code_verifier:t}),r=await fetch(D,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw new g(`xAI token exchange failed: ${r.status} ${await r.text()}`,h.TOKEN_EXCHANGE_FAILED);let i=await r.json();if(!i.access_token)throw new g(`xAI token exchange did not return access_token.`,h.TOKEN_EXCHANGE_INVALID);return i}async function B(e){if(u())return null;try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:O}),n=await fetch(D,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});if(!n.ok){let e=await n.text();return d(n.status,e)||console.error(`[xai-grok] refresh failed:`,n.status,e),null}return await n.json()}catch(e){return console.error(`[xai-grok] refresh error:`,e instanceof Error?e.message:String(e)),null}}function V(){return c().find(e=>e.providerId===w)}async function H(){let e=V();if(!e?.accessToken)throw new g("Not signed in to xAI Grok — run /login or `oauth-token xai-grok`",h.AUTH_MISSING,!0);let t=e.tokenExpiresAt??0;if(t&&Date.now()+6e4<t)return e.accessToken;if(e.refreshToken){let t=await B(e.refreshToken);if(t?.access_token)return await s({providerId:w,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??21600)*1e3,scopes:t.scope??e.scopes}),t.access_token}return e.accessToken}async function U(){if(!V()?.accessToken)throw Error(`xAI Grok budget: not signed in`);return C(await H(),fetch)}function W(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:P,provider:w,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}function G(e,t){return t?{...e??{},"x-grok-conv-id":t}:e}function K(e){console.error(`[xai-grok] Stream error:`,e instanceof Error?e.message:String(e))}async function q(e,t,n,a){try{let o=await H(),s=a.sessionId,c=R(t),u={...a,apiKey:o,headers:G(a.headers,s)},d=c.api===`openai-responses`?r(c,l(n),u):i(c,l(n),u);for await(let t of d)e.push(t);e.end()}catch(n){K(n),e.push(W(t,n)),e.end()}}async function J(e,t,r,i){try{let o=await H(),s=i?.sessionId,c=R(t),u={...i,apiKey:o,headers:G(i?.headers,s)},d=c.api===`openai-responses`?n(c,l(r),u):a(c,l(r),u);for await(let t of d)e.push(t);e.end()}catch(n){K(n),e.push(W(t,n)),e.end()}}var Y=(t,n,r={})=>{let i=e();return q(i,t,n,r).catch(K),i},X=(t,n,r)=>{let i=e();return J(i,t,n,r).catch(K),i},Z={id:w,name:`xAI Grok (SuperGrok OAuth)`,description:`Grok via xAI OAuth — uses your SuperGrok subscription, no API key needed. Default model is Grok 4.7.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:N,oauthTokenDomains:[`api.x.ai`,`*.x.ai`,`auth.x.ai`,`accounts.x.ai`,`cli-chat-proxy.grok.com`],getModelIds:()=>I().map(L),getBudgetUsage:U,onOAuthLoginIntercepted:async(e,t,n)=>{let r=f(),i=await m(r),a=p(),o=p(),c=new URL(E);c.searchParams.set(`response_type`,`code`),c.searchParams.set(`client_id`,O),c.searchParams.set(`redirect_uri`,A),c.searchParams.set(`scope`,n?.scopes??k),c.searchParams.set(`code_challenge`,i),c.searchParams.set(`code_challenge_method`,`S256`),c.searchParams.set(`state`,a),c.searchParams.set(`nonce`,o),c.searchParams.set(`plan`,`generic`),c.searchParams.set(`referrer`,`slicc`);let l=await e({authorizeUrl:c.toString(),redirectUriPattern:j,onCapture:`close`});if(!l)throw new g(`xAI OAuth login was cancelled or timed out`,h.CALLBACK_TIMEOUT);let u=new URL(l),d=u.searchParams.get(`code`),_=u.searchParams.get(`state`);if(!d)throw new g(`xAI OAuth redirect did not include a code`,h.CODE_MISSING);if(_!==a)throw new g(`xAI OAuth state mismatch — possible CSRF, aborting`,h.STATE_MISMATCH);let v=await z(d,r);await s({providerId:w,accessToken:v.access_token,refreshToken:v.refresh_token,tokenExpiresAt:Date.now()+(v.expires_in??21600)*1e3,baseUrl:M,scopes:v.scope}),t()},onOAuthLogout:async()=>{await s({providerId:w,accessToken:``})},onSilentRenew:async()=>{let e=V();if(!e?.refreshToken)return null;let t=await B(e.refreshToken);return t?.access_token?(await s({providerId:w,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??21600)*1e3,scopes:t.scope??e.scopes}),t.access_token):null}};function Q(){t({api:P,stream:Y,streamSimple:X})}export{h as XaiErrorCode,g as XaiOAuthError,Z as config,Q as register};
|
package/dist/ui/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>slicc</title>
|
|
7
7
|
<link rel="icon" type="image/png" href="/logos/sliccy-color-1scoops-32x32.png" />
|
|
8
|
-
<script type="module" crossorigin src="/assets/main-
|
|
8
|
+
<script type="module" crossorigin src="/assets/main-pp1LzVcX.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Dd_uD5pT.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-P2Xu9kJm.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-Czpn1I53.js">
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/tool-ui-eSQ1g2I1.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/core-DzRw0pz2.js">
|
|
36
36
|
<link rel="modulepreload" crossorigin href="/assets/bridge-protocol-C52CnDIj.js">
|
|
37
|
-
<link rel="modulepreload" crossorigin href="/assets/providers-
|
|
37
|
+
<link rel="modulepreload" crossorigin href="/assets/providers-CEBpTOtO.js">
|
|
38
38
|
<link rel="modulepreload" crossorigin href="/assets/stored-accounts-ChNHYF68.js">
|
|
39
39
|
<link rel="modulepreload" crossorigin href="/assets/bedrock-camp-compat-D6dUCn_T.js">
|
|
40
40
|
<link rel="modulepreload" crossorigin href="/assets/bedrock-camp-extra-models-COVvjLB5.js">
|
|
41
41
|
<link rel="modulepreload" crossorigin href="/assets/claude-model-version-3MWQoaco.js">
|
|
42
42
|
<link rel="modulepreload" crossorigin href="/assets/renamed-providers-DDe6My59.js">
|
|
43
|
-
<link rel="modulepreload" crossorigin href="/assets/account-store-
|
|
43
|
+
<link rel="modulepreload" crossorigin href="/assets/account-store-EUAU8ivx.js">
|
|
44
44
|
<link rel="modulepreload" crossorigin href="/assets/telemetry-B0sKnLBU.js">
|
|
45
45
|
<link rel="modulepreload" crossorigin href="/assets/tray-follower-status-BAjnN7Ar.js">
|
|
46
46
|
<link rel="modulepreload" crossorigin href="/assets/clipboard-eqmn97SP.js">
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>slicc</title>
|
|
7
7
|
<link rel="icon" type="image/png" href="/logos/sliccy-color-1scoops-32x32.png" />
|
|
8
|
-
<script type="module" crossorigin src="/assets/main-
|
|
8
|
+
<script type="module" crossorigin src="/assets/main-pp1LzVcX.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Dd_uD5pT.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-P2Xu9kJm.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-Czpn1I53.js">
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/tool-ui-eSQ1g2I1.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/core-DzRw0pz2.js">
|
|
36
36
|
<link rel="modulepreload" crossorigin href="/assets/bridge-protocol-C52CnDIj.js">
|
|
37
|
-
<link rel="modulepreload" crossorigin href="/assets/providers-
|
|
37
|
+
<link rel="modulepreload" crossorigin href="/assets/providers-CEBpTOtO.js">
|
|
38
38
|
<link rel="modulepreload" crossorigin href="/assets/stored-accounts-ChNHYF68.js">
|
|
39
39
|
<link rel="modulepreload" crossorigin href="/assets/bedrock-camp-compat-D6dUCn_T.js">
|
|
40
40
|
<link rel="modulepreload" crossorigin href="/assets/bedrock-camp-extra-models-COVvjLB5.js">
|
|
41
41
|
<link rel="modulepreload" crossorigin href="/assets/claude-model-version-3MWQoaco.js">
|
|
42
42
|
<link rel="modulepreload" crossorigin href="/assets/renamed-providers-DDe6My59.js">
|
|
43
|
-
<link rel="modulepreload" crossorigin href="/assets/account-store-
|
|
43
|
+
<link rel="modulepreload" crossorigin href="/assets/account-store-EUAU8ivx.js">
|
|
44
44
|
<link rel="modulepreload" crossorigin href="/assets/telemetry-B0sKnLBU.js">
|
|
45
45
|
<link rel="modulepreload" crossorigin href="/assets/tray-follower-status-BAjnN7Ar.js">
|
|
46
46
|
<link rel="modulepreload" crossorigin href="/assets/clipboard-eqmn97SP.js">
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n.buffer}var t=class t{get dv(){return this._dvBuffer!==this.memory.buffer&&(this._dvBuffer=this.memory.buffer,this._dv=new DataView(this.memory.buffer)),this._dv}constructor(e){this.gridPtr=0,this.dirtyPtr=0,this.writeBufferPtr=0,this.cellSize=12,this.maxCols=256,this.encoder=new TextEncoder,this.decoder=new TextDecoder,this._dvBuffer=null,this.linkCache=new Map,this.exports=e.exports,this.memory=this.exports.memory}static async load(n){let r;if(n){let e=await fetch(n);if(!e.ok)throw Error(`[wterm] Failed to load WASM from ${n}: ${e.status} ${e.statusText}`);r=await e.arrayBuffer()}else r=e(`AGFzbQEAAAABQAtgBX9/f39/AGAAAX9gAABgAX8Bf2ABfwBgA39/fwBgBH9/f38AYAJ/fwBgBH9/f38Bf2ADf39/AX9gAn9/AX8DSkkBAQEBAQIBAQMDAQEBAQEDAwMDAQEBAQEBAQEBAQEBAQEBAQECAQEEAwMFAgYHAAgJBwQHBwYGBwUKAgIJBQUHBwQGCQMAAQcHBAUBcAEFBQUDAQBkBgkBfwFBgIDAAAsHlgYtBm1lbW9yeQIACmdldE1heENvbHMAAAtnZXRDZWxsU2l6ZQABDmdldERlYnVnTG9nTWF4AAIUZ2V0RGVidWdMb2dFbnRyeVNpemUAARBnZXREZWJ1Z0xvZ0NvdW50AAMOZ2V0RGVidWdMb2dQdHIABA1jbGVhclJlc3BvbnNlAAUOZ2V0UmVzcG9uc2VMZW4ABg5nZXRSZXNwb25zZVB0cgAHFGdldFNjcm9sbGJhY2tMaW5lTGVuAAgRZ2V0U2Nyb2xsYmFja0xpbmUACRtnZXRTY3JvbGxiYWNrRGlzY2FyZGVkQ291bnQAChJnZXRTY3JvbGxiYWNrQ291bnQACxlnZXRIeXBlcmxpbmtSZWplY3RlZENvdW50AAwRZ2V0SHlwZXJsaW5rQ291bnQADRRnZXRIeXBlcmxpbmtDYXBhY2l0eQAODGdldExpbmtJZExlbgAPDGdldExpbmtJZFB0cgAQDWdldExpbmtVcmlMZW4AEQ1nZXRMaW5rVXJpUHRyABIPZ2V0VGl0bGVDaGFuZ2VkABMLZ2V0VGl0bGVMZW4AFAtnZXRUaXRsZVB0cgAVFWdldEtpdHR5S2V5Ym9hcmRGbGFncwAWH2dldFN5bmNocm9uaXplZE91dHB1dEdlbmVyYXRpb24AFxVnZXRTeW5jaHJvbml6ZWRPdXRwdXQAGA5nZXRGb2N1c0V2ZW50cwAZC2dldE1vdXNlU2dyABoQZ2V0TW91c2VUcmFja2luZwAbEWdldFVzaW5nQWx0U2NyZWVuABwRZ2V0QnJhY2tldGVkUGFzdGUAHRBnZXRDdXJzb3JLZXlzQXBwAB4HZ2V0Um93cwAfB2dldENvbHMAIBBnZXRDdXJzb3JWaXNpYmxlACEMZ2V0Q3Vyc29yQ29sACIMZ2V0Q3Vyc29yUm93ACMKY2xlYXJEaXJ0eQAkC2dldERpcnR5UHRyACUK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gQAMEgtBACAAQQFxOgC0tJiBAAwRC0EAIABBAXE6ALbEoIEADBALQQAgAEEBcToAm7KYgQAMDwtBACAAQQFxOgC7xKCBAAwOC0HoByEDIABBAXENDEEAIQNBAC8BjrKYgQBB6AdHDQ0MDAtB6gchAyAAQQFxDQpBACEDQQAvAY6ymIEAQeoHRw0MDAoLQQAgAEEBcToAnbKYgQAMCwtBACAAQQFxOgCaspiBAAwKCyAAQQAQv4CAgAAMCQsgAEEBEL+AgIAADAgLQQAgAEEBcToAnrKYgQAMBwsgAEEBcQ0DELqAgIAADAYLIABBAXEiA0UNAUEALQCcspiBAA0BQQBBACgC4KzogABBAWo2AuCs6IAADAELDwtBACADOgCcspiBAAwDCxC7gICAAAwCC0EAIAM7AY6ymIEADAELQQAgAzsBjrKYgQALIAFBAmohAQwACwvmAQECfyOAgICAAEEQayICJICAgIAAQQAhAyACQQA6AAsgAiABOgAJIAIgADoACCACQgA3AwAgAkEALQC2iMCAACIBOgAKIAFBBCABQQRJG0EBdCEBAkADQCABIANGDQEgAiADaiADQZCIwIAAai8BADsBACADQQJqIQMMAAsLQQAtALrEoIEAIgNBDGwiASACKQMANwH+rpiBACABQYavmIEAaiACQQhqKAIANgEAQQAgA0EBakEfcToAusSggQBBAEEAKALorpiBAEEBaiIDQX8gAxs2AuiumIEAIAJBEGokgICAgAALeAECfwJAIABB//8DcSICQQAvAeasmIEATw0AIAJBgBhsQeSs6IAAaiEAQQAhAwJAA0AgA0EALwHkrJiBAE8NASAAIAEpAgA3AgAgAEEIaiABQQhqKAIANgIAIABBDGohACADQQFqIQMMAAsLIAJBAToA6KyYgQALC7ACAQN/AkAgAEH//wNxIgRBAC8B5qyYgQBPDQAgAUH//wNxIgVBAC8B5KyYgQAiACAFIABJGyEBAkAgBSACQf//A3EiBiAAIAYgAEkbIgZPDQAgASAEQYAYbEHkrOiAAGoiBSABQQxsai0ACUUgAUH//wNxQQBHcWshASACQf//A3EgAE8NAAJAIAUgBkEMbGotAAkNACAGQQFqIQYMAQsgBiAFIAZBf2pB//8DcUEMbGotAAlBAkZqIQYLQQAgBkH//wNxIgAgAUH//wNx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`);let{instance:i}=await WebAssembly.instantiate(r);return new t(i)}init(e,t){this.exports.init(e,t),this.linkCache.clear(),this._updatePointers()}_updatePointers(){this.gridPtr=this.exports.getGridPtr(),this.dirtyPtr=this.exports.getDirtyPtr(),this.writeBufferPtr=this.exports.getWriteBuffer(),this.cellSize=this.exports.getCellSize(),this.maxCols=this.exports.getMaxCols()}writeString(e,t){let n=this.encoder.encode(e);this.writeRaw(n,t)}writeRaw(e,t){let n=0;for(;n<e.length;){let r=Math.min(e.length-n,8192);new Uint8Array(this.memory.buffer,this.writeBufferPtr,8192).set(e.subarray(n,n+r)),this.exports.writeBytes(r),n+=r,t?.()}}getCell(e,t){let n=this.gridPtr+(e*this.maxCols+t)*this.cellSize,r=this.dv,i={char:r.getUint32(n,!0),fg:r.getUint16(n+4,!0),bg:r.getUint16(n+6,!0),flags:r.getUint8(n+8),width:r.getUint8(n+9)};return Object.assign(i,this._readLink(r.getUint16(n+10,!0))),i}isDirtyRow(e){return new Uint8Array(this.memory.buffer,this.dirtyPtr,256)[e]!==0}clearDirty(){this.exports.clearDirty()}getCursor(){return{row:this.exports.getCursorRow(),col:this.exports.getCursorCol(),visible:this.exports.getCursorVisible()!==0}}getCols(){return this.exports.getCols()}getRows(){return this.exports.getRows()}cursorKeysApp(){return this.exports.getCursorKeysApp()!==0}bracketedPaste(){return this.exports.getBracketedPaste()!==0}usingAltScreen(){return this.exports.getUsingAltScreen()!==0}mouseTracking(){let e=this.exports.getMouseTracking();return e===1e3||e===1002?e:0}mouseSgr(){return this.exports.getMouseSgr()!==0}focusEvents(){return this.exports.getFocusEvents()!==0}synchronizedOutput(){return this.exports.getSynchronizedOutput()!==0}synchronizedOutputGeneration(){return this.exports.getSynchronizedOutputGeneration()}kittyKeyboardFlags(){return this.exports.getKittyKeyboardFlags?.()??0}getTitle(){if(this.exports.getTitleChanged()===0)return null;let e=this.exports.getTitlePtr(),t=this.exports.getTitleLen(),n=new Uint8Array(this.memory.buffer,e,t);return this.decoder.decode(n)}getResponse(){let e=this.exports.getResponseLen();if(e===0)return null;let t=this.exports.getResponsePtr(),n=new Uint8Array(this.memory.buffer,t,e),r=this.decoder.decode(n);return this.exports.clearResponse(),r}getResourceState(){let e=this.exports.getHyperlinkCapacity?.(),t=this.exports.getHyperlinkCount?.(),n=this.exports.getHyperlinkRejectedCount?.();return e===void 0||t===void 0||n===void 0?{}:{hyperlinks:{capacity:e,used:t,rejected:n,saturated:t>=e}}}getScrollbackCount(){return this.exports.getScrollbackCount()}getScrollbackDiscardedCount(){return this.exports.getScrollbackDiscardedCount()}getScrollbackCell(e,t){let n=this.exports.getScrollbackLine(e)+t*this.cellSize,r=this.dv,i={char:r.getUint32(n,!0),fg:r.getUint16(n+4,!0),bg:r.getUint16(n+6,!0),flags:r.getUint8(n+8),width:r.getUint8(n+9)};return Object.assign(i,this._readLink(r.getUint16(n+10,!0))),i}getScrollbackLineLen(e){return this.exports.getScrollbackLineLen(e)}getUnhandledSequences(){let e=this.exports.getDebugLogCount();if(e===0)return[];let t=this.exports.getDebugLogPtr(),n=this.exports.getDebugLogEntrySize(),r=this.exports.getDebugLogMax(),i=Math.min(e,r),a=new DataView(this.memory.buffer),o=[],s=e>=r?e%r:0;for(let e=0;e<i;e++){let i=t+(s+e)%r*n,c=a.getUint8(i);if(c===0)continue;let l=a.getUint8(i+1),u=a.getUint8(i+2),d=[];for(let e=0;e<Math.min(u,4);e++)d.push(a.getUint16(i+4+e*2,!0));o.push({final:String.fromCharCode(c),private:l?String.fromCharCode(l):``,paramCount:u,params:d})}return o}resize(e,t){this.exports.resizeTerminal(e,t),this._updatePointers()}_readLink(e){if(e===0)return;let t=this.linkCache.get(e);if(t)return t;let n=this.exports.getLinkUriLen(e);if(n===0)return;let r=this.decoder.decode(new Uint8Array(this.memory.buffer,this.exports.getLinkUriPtr(e),n)),i=this.exports.getLinkIdLen(e),a=i===0?void 0:this.decoder.decode(new Uint8Array(this.memory.buffer,this.exports.getLinkIdPtr(e),i)),o={linkUri:r,linkId:a,linkKey:a?`e\0${a}\0${r}`:`b\0${e}`};return this.linkCache.set(e,o),o}},n=class{constructor(e={}){this._ws=null,this._reconnectTimer=null,this._reconnectDelay=1e3,this._closed=!1,this._buffer=[],this.url=e.url??null,this.reconnect=e.reconnect!==!1,this.maxReconnectDelay=e.maxReconnectDelay??3e4,this.onData=e.onData??null,this.onOpen=e.onOpen??null,this.onClose=e.onClose??null,this.onError=e.onError??null}connect(e){if(e&&(this.url=e),!this.url)throw Error(`No WebSocket URL provided`);this._closed=!1,this._ws=new WebSocket(this.url),this._ws.binaryType=`arraybuffer`,this._ws.onopen=()=>{this._reconnectDelay=1e3,this._flushBuffer(),this.onOpen&&this.onOpen()},this._ws.onmessage=e=>{this.onData&&(e.data instanceof ArrayBuffer?this.onData(new Uint8Array(e.data)):this.onData(e.data))},this._ws.onclose=()=>{this.onClose&&this.onClose(),this.reconnect&&!this._closed&&this._scheduleReconnect()},this._ws.onerror=e=>{this.onError&&this.onError(e),this._ws?.close()}}send(e){this._ws&&this._ws.readyState===WebSocket.OPEN?typeof e==`string`?this._ws.send(new TextEncoder().encode(e)):this._ws.send(e):this._buffer.push(e)}close(){this._closed=!0,this._reconnectTimer&&clearTimeout(this._reconnectTimer),this._ws&&this._ws.close()}get connected(){return this._ws!==null&&this._ws.readyState===WebSocket.OPEN}_flushBuffer(){let e=this._buffer.splice(0);for(let t of e)this.send(t)}_scheduleReconnect(){this._reconnectTimer=setTimeout(()=>{this.connect()},this._reconnectDelay),this._reconnectDelay=Math.min(this._reconnectDelay*2,this.maxReconnectDelay)}},r=33554432,i=32768;function a(e){return e!==void 0&&Number.isFinite(e)&&e>0}function o(e){return Number.isSafeInteger(e)&&e>=0}function s(...e){let t=1;for(let n of e)if(!o(n)||(t*=n,!Number.isSafeInteger(t)))return null;return t}function c(e){return`${e.placementKey}:${e.imageId}:${e.imageVersion}`}var l=class{constructor(e,t={}){this.layer=null,this.flowSpacer=null,this.canvases=new Map,this.canvasAllocations=new Map,this.canvasBytes=0,this.cache=new Map,this.generation=-1,this.flowRows=new Map,this.container=e,this.maxImageWidth=a(t.maxImageWidth)?t.maxImageWidth:void 0,this.maxImageHeight=a(t.maxImageHeight)?t.maxImageHeight:void 0}setup(){this.destroy();let e=document.createElement(`div`);e.className=`term-image-flow-spacer`,e.setAttribute(`aria-hidden`,`true`),this.container.appendChild(e),this.flowSpacer=e;let t=document.createElement(`div`);t.className=`term-images`,t.setAttribute(`aria-hidden`,`true`),t.setAttribute(`role`,`presentation`),this.container.appendChild(t),this.layer=t,this.generation=-1}reconcile(e,t){let n=e.getGraphicsState,r=e.getGraphicsImage;if(!n||!r||!this.layer){this.clearCanvases(),this.clearFlowReservations();return}let i;try{i=n.call(e)}catch{this.clearCanvases(),this.clearFlowReservations();return}if(!i||!Number.isSafeInteger(i.generation)||!Array.isArray(i.images)||!Array.isArray(i.placements)){this.clearCanvases(),this.clearFlowReservations();return}let a=new Map;for(let e of i.images)Number.isSafeInteger(e.imageId)&&e.imageId>0&&Number.isSafeInteger(e.version)&&e.version>0&&Number.isSafeInteger(e.width)&&Number.isSafeInteger(e.height)&&e.width>0&&e.height>0&&a.set(`${e.imageId}:${e.version}`,e);let o=this.visiblePixelArea(e,t),s=o?this.reconcileFlowReservations(e,i,t,a,o):new Map;o||this.clearFlowReservations();let l=o?this.visiblePlacements(e,i,t,a,o,s):[],u=new Set,d=new Map;for(let e of l){let t=c(e),n=`${e.imageId}:${e.imageVersion}`;a.has(n)&&(u.add(t),d.set(n,(d.get(n)??0)+1))}let f=i.generation!==this.generation;this.generation=i.generation;for(let[e,t]of this.canvases)u.has(e)||this.removeCanvas(e);for(let[e,t]of this.cache)d.has(e)?t.refs=d.get(e):this.cache.delete(e);for(let n of l){let i=c(n),l=`${n.imageId}:${n.imageVersion}`;if(!u.has(i))continue;let p=a.get(l);if(!p)continue;let m=this.cache.get(l);if(!m){let t;try{t=r.call(e,n.imageId,n.imageVersion)}catch{t=null}if(!t||!this.validImage(t,p.width,p.height))continue;m={data:t,refs:d.get(l)??0},this.cache.set(l,m)}let h=this.canvases.get(i),g=h??this.createCanvas(i);if(g){if(f||!h){let e=!1;try{e=this.paint(g,i,m.data,n,t,o,s.get(n.row)??0)}catch{e=!1}e||this.removeCanvas(i)}else this.position(g,n,t,s.get(n.row)??0)}}}destroy(){this.clearCanvases(),this.layer?.remove(),this.flowSpacer?.remove(),this.layer=null,this.flowSpacer=null,this.cache.clear(),this.generation=-1,this.clearFlowReservations()}createCanvas(e){if(!this.layer)return null;let t=document.createElement(`canvas`);return t.className=`term-image`,t.setAttribute(`aria-hidden`,`true`),t.tabIndex=-1,t.draggable=!1,this.layer.appendChild(t),this.canvases.set(e,t),t}clearCanvases(){for(let e of this.canvases.keys())this.removeCanvas(e);this.canvasAllocations.clear(),this.canvasBytes=0,this.cache.clear()}removeCanvas(e){this.canvases.get(e)?.remove(),this.canvases.delete(e);let t=this.canvasAllocations.get(e)??0;this.canvasAllocations.delete(e),this.canvasBytes=Math.max(0,this.canvasBytes-t)}reconcileFlowReservations(e,t,n,r,i){let o,s;try{s=e.getRows(),o=n.scrollbackCount+s}catch{return this.flowRows.size>0&&this.clearFlowReservations(),new Map}if(!Number.isSafeInteger(s)||s<0||!Number.isSafeInteger(o)||o<0)return this.flowRows.size>0&&this.clearFlowReservations(),new Map;let c=new Map;for(let e of t.placements){if(!this.validPlacement(e,o)||e.rows!==0||e.row<n.scrollbackCount)continue;let t=r.get(`${e.imageId}:${e.imageVersion}`);if(!t)continue;let s=this.destinationSize(e,e.sourceWidth||t.width,e.sourceHeight||t.height,n,i);if(!s)continue;let l=e.offsetY+s.height;a(l)&&c.set(e.row,Math.max(c.get(e.row)??0,l))}if(c.size===0)return this.flowRows.size>0&&this.clearFlowReservations(),new Map;this.clearFlowReservations();let l=this.container.querySelectorAll(`.term-row:not(.term-scrollback-row)`);for(let e of l)e.style.transform=``;let u=new Map,d=0,f=n.scrollbackCount;for(let e=0;e<s;e++){let t=f+e;d>0&&u.set(t,d);let n=c.get(t)??0,r=l[e],i=d+n;r&&i>0&&(r.style.transform=`translateY(${i}px)`),d+=n}return this.flowSpacer&&(this.flowSpacer.style.height=`${d}px`),this.container.parentElement?.classList.toggle(`has-image-flow`,d>0),this.flowRows=c,u}clearFlowReservations(){if(this.flowRows.size===0){this.flowSpacer?.style.setProperty(`height`,`0px`),this.container.parentElement?.classList.remove(`has-image-flow`);return}let e=this.container.querySelectorAll(`.term-row:not(.term-scrollback-row)`);for(let t of e)t.style.transform=``;this.flowSpacer&&(this.flowSpacer.style.height=`0px`),this.container.parentElement?.classList.remove(`has-image-flow`),this.flowRows.clear()}validImage(e,t,n){let r=s(e.width,e.height,4);return Number.isSafeInteger(e.width)&&Number.isSafeInteger(e.height)&&e.width>0&&e.height>0&&e.width===t&&e.height===n&&e.rgba instanceof Uint8Array&&r!==null&&e.rgba.byteLength===r}visiblePlacements(e,t,n,r,i,o){if(!a(n.rowHeight)||!a(n.charWidth)||!Number.isFinite(n.scrollTop))return[];let s;try{s=n.scrollbackCount+e.getRows()}catch{return[]}if(!Number.isSafeInteger(s)||s<0)return[];let c=n.scrollTop-n.overscanRows*n.rowHeight,l=n.scrollTop+Math.max(n.clientHeight,n.rowHeight)+n.overscanRows*n.rowHeight;return t.placements.filter(e=>{if(!this.validPlacement(e,s))return!1;let t=r.get(`${e.imageId}:${e.imageVersion}`);if(!t)return!1;let a=this.destinationSize(e,e.sourceWidth||t.width,e.sourceHeight||t.height,n,i);if(!a)return!1;let u=e.row*n.rowHeight+e.offsetY+(o.get(e.row)??0),d=u+a.height;return Number.isFinite(u)&&Number.isFinite(d)&&u<l&&d>c})}validPlacement(e,t){return typeof e.placementKey==`string`&&e.placementKey.length>0&&o(e.imageId)&&e.imageId>0&&o(e.imageVersion)&&e.imageVersion>0&&o(e.row)&&e.row<t&&o(e.col)&&o(e.offsetX)&&o(e.offsetY)&&o(e.sourceX)&&o(e.sourceY)&&o(e.sourceWidth)&&o(e.sourceHeight)&&o(e.columns)&&o(e.rows)&&Number.isSafeInteger(e.z)&&Number.isSafeInteger(e.row+(e.rows||1))}position(e,t,n,r=0){let i=t.rows===0?t.offsetX:t.col*n.charWidth+t.offsetX,a=t.row*n.rowHeight+t.offsetY+r;Number.isFinite(i)&&(e.style.left=`${i}px`),Number.isFinite(a)&&(e.style.top=`${a}px`)}paint(e,t,n,r,a,o,c=0){if(!this.validPlacement(r,2**53-1))return!1;let l=r.sourceX,u=r.sourceY,d=r.sourceWidth||n.width,f=r.sourceHeight||n.height;if(!Number.isSafeInteger(l)||!Number.isSafeInteger(u)||!Number.isSafeInteger(d)||!Number.isSafeInteger(f)||l<0||u<0||d<=0||f<=0||l+d>n.width||u+f>n.height)return!1;let p=this.destinationSize(r,d,f,a,o);if(!p)return!1;let{width:m,height:h}=p,g=Math.max(1,Math.ceil(m)),_=Math.max(1,Math.ceil(h));if(!Number.isSafeInteger(g)||!Number.isSafeInteger(_)||g>i||_>i)return!1;let v=s(g,_,4);if(v===null||!this.resizeCanvas(e,t,g,_,v))return!1;this.position(e,r,a,c),e.style.width=`${m}px`,e.style.height=`${h}px`,e.style.zIndex=String(r.z),e.style.pointerEvents=`none`;let y=e.getContext(`2d`);if(!y)return!1;let b=document.createElement(`canvas`);b.width=n.width,b.height=n.height;let x=b.getContext(`2d`);if(!x)return!1;let S=new Uint8ClampedArray(n.rgba),C=typeof ImageData<`u`?new ImageData(S,n.width,n.height):x.createImageData?.(n.width,n.height)??{data:S,width:n.width,height:n.height};return`data`in C&&C.data!==S&&C.data.set(S),x.putImageData(C,0,0),y.clearRect(0,0,g,_),y.drawImage(b,l,u,d,f,0,0,g,_),!0}destinationSize(e,t,n,r,i){if(!o(t)||!o(n)||t<=0||n<=0)return null;let s=e.columns*r.charWidth,c=e.rows*r.rowHeight,l=a(s)&&e.columns>0?s:a(c)&&e.rows>0?t/n*c:t,u=a(c)&&e.rows>0?c:a(s)&&e.columns>0?n/t*s:n;if(!a(l)||!a(u)||!Number.isFinite(e.offsetY+u)||!i)return null;let d=Math.min(1,i.width/l,i.height/u,this.maxImageWidth===void 0?1:this.maxImageWidth/l,this.maxImageHeight===void 0?1:this.maxImageHeight/u);return a(d)?{width:l*d,height:u*d}:null}visiblePixelArea(e,t){let n,r;try{n=e.getCols(),r=e.getRows()}catch{return null}if(!o(n)||!o(r)||n<=0||r<=0||!a(t.charWidth)||!a(t.rowHeight))return null;let s=n*t.charWidth,c=r*t.rowHeight;return!a(s)||!a(c)||!Number.isSafeInteger(Math.ceil(s))||!Number.isSafeInteger(Math.ceil(c))?null:{width:Math.min(s,i),height:Math.min(c,i)}}resizeCanvas(e,t,n,i,a){let o=this.canvasAllocations.get(t)??0;if(a>r-this.canvasBytes+o)return!1;try{e.width=n,e.height=i}catch{return!1}return this.canvasBytes=this.canvasBytes-o+a,this.canvasAllocations.set(t,a),!0}},u=256,d=1,f=2,p=4,m=8,h=32,g=64,_=128,v=10;function y(e){return`rgb(${e>>16&255},${e>>8&255},${e&255})`}function b(e){if(e===u)return null;if(e<16)return`var(--term-color-${e})`;if(e<232){let t=e-16;return`rgb(${Math.floor(t/36)*51},${Math.floor(t/6)%6*51},${t%6*51})`}let t=(e-232)*10+8;return`rgb(${t},${t},${t})`}function x(e,t){return t===void 0?b(e):y(t)}function S(e,t){return t===void 0?b(e):y(t)}function C(e,t,n,r,i){let a=e,o=t,s=r,c=i;if(n&h){let e=a;a=o,o=e;let t=s;s=c,c=t,s===void 0&&a===u&&(a=0),c===void 0&&o===u&&(o=7)}let l=x(a,s),v=S(o,c),y=``;l&&(y+=`color:${l};`),v&&(y+=`background:${v};`),n&d&&(y+=`font-weight:bold;`),n&f&&(y+=`opacity:0.5;`),n&p&&(y+=`font-style:italic;`);let b=[];return n&m&&b.push(`underline`),n&_&&b.push(`line-through`),b.length&&(y+=`text-decoration:${b.join(` `)};`),n&g&&(y+=`visibility:hidden;`),y}function w(e){return e.replace(/(^|;)color:/g,`$1--term-cell-fg:`).replace(/(^|;)background:/g,`$1--term-cell-bg:`)}function T(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`)}function ee(e){if(e)try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`?t.href:void 0}catch{return}}function E(e){return e.linkUri?e.linkKey??`fallback\0${e.linkId??``}\0${e.linkUri}`:``}function D(e,t,n,r,i){let a=e,o=t,s=r,c=i;return n&h&&([a,o]=[o,a],[s,c]=[c,s],s===void 0&&a===u&&(a=0),c===void 0&&o===u&&(o=7)),{fg:x(a,s)||`var(--term-fg)`,bg:S(o,c)||`var(--term-bg)`}}var O=`round(calc(var(--term-row-height) * 0.125), 1px)`,k=`round(calc(var(--term-row-height) * 0.25), 1px)`,A=`round(calc(var(--term-row-height) * 0.375), 1px)`,j=`round(calc(var(--term-row-height) * 0.5), 1px)`,M=`round(calc(var(--term-row-height) * 0.625), 1px)`,N=`round(calc(var(--term-row-height) * 0.75), 1px)`,P=`round(calc(var(--term-row-height) * 0.875), 1px)`;function F(e,t,n){switch(e){case 9600:return`linear-gradient(${t} ${j},${n} ${j})`;case 9601:return`linear-gradient(${n} ${P},${t} ${P})`;case 9602:return`linear-gradient(${n} ${N},${t} ${N})`;case 9603:return`linear-gradient(${n} ${M},${t} ${M})`;case 9604:return`linear-gradient(${n} ${j},${t} ${j})`;case 9605:return`linear-gradient(${n} ${A},${t} ${A})`;case 9606:return`linear-gradient(${n} ${k},${t} ${k})`;case 9607:return`linear-gradient(${n} ${O},${t} ${O})`;case 9608:return t;case 9609:return`linear-gradient(to right,${t} 87.5%,${n} 87.5%)`;case 9610:return`linear-gradient(to right,${t} 75%,${n} 75%)`;case 9611:return`linear-gradient(to right,${t} 62.5%,${n} 62.5%)`;case 9612:return`linear-gradient(to right,${t} 50%,${n} 50%)`;case 9613:return`linear-gradient(to right,${t} 37.5%,${n} 37.5%)`;case 9614:return`linear-gradient(to right,${t} 25%,${n} 25%)`;case 9615:return`linear-gradient(to right,${t} 12.5%,${n} 12.5%)`;case 9616:return`linear-gradient(to right,${n} 50%,${t} 50%)`;case 9617:return`color-mix(in srgb,${t} 25%,${n})`;case 9618:return`color-mix(in srgb,${t} 50%,${n})`;case 9619:return`color-mix(in srgb,${t} 75%,${n})`;case 9620:return`linear-gradient(${t} ${O},${n} ${O})`;case 9621:return`linear-gradient(to right,${n} 87.5%,${t} 87.5%)`;default:{let r={9622:[!1,!1,!0,!1],9623:[!1,!1,!1,!0],9624:[!0,!1,!1,!1],9625:[!0,!1,!0,!0],9626:[!0,!1,!1,!0],9627:[!0,!0,!0,!1],9628:[!0,!0,!1,!0],9629:[!1,!0,!1,!1],9630:[!1,!0,!0,!1],9631:[!1,!0,!0,!0]}[e];if(!r)return t;let[i,a,o,s]=r;if(i&&a&&o&&s)return t;let c=[],l=[`0 0`,`100% 0`,`0 100%`,`100% 100%`];return r.forEach((e,n)=>{e&&c.push(`linear-gradient(${t},${t}) ${l[n]}/50% 50% no-repeat`)}),c.push(n),c.join(`,`)}}}var I=class{get hasImageFlow(){return this.container.parentElement?.classList.contains(`has-image-flow`)??!1}constructor(e,t={}){this.rows=0,this.cols=0,this.rowEls=[],this.prevCursorRow=-1,this.prevCursorCol=-1,this.prevContainerBg=``,this.prevRowBg=[],this._scrollbackRowEls=[],this._scrollbackStartKey=0,this._renderedScrollbackCount=-1,this._renderedDiscardedCount=-1,this._scrollbackTopSpacer=null,this._scrollbackBottomSpacer=null,this.container=e,this.graphics=new l(e,t)}setup(e,t){this.cols=e,this.rows=t,this.container.innerHTML=``,this.rowEls=[],this.prevRowBg=[],this._scrollbackRowEls=[],this._scrollbackStartKey=0,this._renderedScrollbackCount=-1,this._renderedDiscardedCount=-1;let n=document.createDocumentFragment();this._scrollbackTopSpacer=document.createElement(`div`),this._scrollbackTopSpacer.className=`term-scrollback-spacer`,n.appendChild(this._scrollbackTopSpacer),this._scrollbackBottomSpacer=document.createElement(`div`),this._scrollbackBottomSpacer.className=`term-scrollback-spacer`,n.appendChild(this._scrollbackBottomSpacer);for(let e=0;e<t;e++){let e=document.createElement(`div`);e.className=`term-row`,n.appendChild(e),this.rowEls.push(e)}this.container.appendChild(n),this.graphics.setup(),this.prevCursorRow=-1,this.prevCursorCol=-1}_buildRowContent(e,t,n,r,i){let a=``,o=``,s=``,c=[],l=0,d=``,p,m=``,g=(e,t,n)=>{let r=ee(n),i=r?t:``;i!==m&&(m&&(a+=`</a>`),i&&(a+=`<a class="term-link" href="${T(r)}" target="_blank" rel="noopener noreferrer">`),m=i),a+=e},_=e=>{if(!s)return;let t=T(s),n=``;if(r>=l&&r<e){let e=r-l,t=c.slice(0,e).join(``),i=c[e]||` `,a=c.slice(e+1).join(``);t&&(n+=o?`<span style="${o}">${T(t)}</span>`:`<span>${T(t)}</span>`);let s=w(o);n+=s?`<span class="term-cursor" style="${s}">${T(i)}</span>`:`<span class="term-cursor">${T(i)}</span>`,a&&(n+=o?`<span style="${o}">${T(a)}</span>`:`<span>${T(a)}</span>`)}else n+=o?`<span style="${o}">${t}</span>`:`<span>${t}</span>`;g(n,d,p),s=``,c=[]},v=(e,t,n,r,i)=>{let a=e?` class="${e}"`:``,o=t?` style="${t}"`:``;g(`<span${a}${o}>${T(n)}</span>`,r,i)};for(let e=0;e<this.cols;e++){let i=t(e),a=e<n,u=a?i.char:0,m=a?i.width??1:1,h=a?E(i):``,y=a?i.linkUri:void 0;if(a&&m===0){if(_(e),!(e>0&&(t(e-1).width??1)===2)){let t=C(i.fg,i.bg,i.flags,i.fgRgb,i.bgRgb),n=e===r;v(n?`term-cursor`:``,n?w(t):t,` `,h,y)}o=``,d=``,p=void 0,s=``,c=[],l=e+1;continue}if(a&&m===2){if(_(e),e+1>=this.cols){let t=C(i.fg,i.bg,i.flags,i.fgRgb,i.bgRgb),n=e===r;v(n?`term-cursor`:``,n?w(t):t,` `,h,y),o=``,d=``,p=void 0,s=``,c=[],l=e+1;continue}let t=i.chars??(u>=32?String.fromCodePoint(u):` `),n=C(i.fg,i.bg,i.flags,i.fgRgb,i.bgRgb),a=r>=e&&r<e+2;v(a?`term-wide term-cursor`:`term-wide`,a?w(n):n,t,h,y),o=``,d=``,p=void 0,s=``,c=[],l=e+2;continue}if(a&&u>=9600&&u<=9631){_(e);let t=D(i.fg,i.bg,i.flags,i.fgRgb,i.bgRgb),n=e===r?`term-block term-cursor`:`term-block`,a=F(u,t.fg,t.bg),m=i.flags&f?`opacity:0.5;`:``;g(`<span class="${n}" style="${e===r?`--term-cell-bg:${a};${m}`:`background:${a};${m}`}"></span>`,h,y),o=``,d=``,p=void 0,s=``,c=[],l=e+1}else{let t=i.chars??(a&&u>=32?String.fromCodePoint(u):` `),n=a?C(i.fg,i.bg,i.flags,i.fgRgb,i.bgRgb):``;n!==o||h!==d?(_(e),o=n,d=h,p=y,s=t,c=[t],l=e):(s+=t,c.push(t))}}_(this.cols),m&&(a+=`</a>`),e.innerHTML=a;let y=``;if(n>=this.cols&&this.cols>0){let e=t(this.cols-1),n=e.bg,r=e.bgRgb;e.flags&h&&(n=e.fg,r=e.fgRgb,r===void 0&&n===u&&(n=7)),y=S(n,r)||``}let b=y?`0 1px 0 ${y}`:``;i>=0?y!==(this.prevRowBg[i]??``)&&(e.style.background=y,e.style.boxShadow=b,this.prevRowBg[i]=y):(e.style.background=y,e.style.boxShadow=b)}_buildScrollbackRowEl(e,t){let n=document.createElement(`div`);n.className=`term-row term-scrollback-row`;let r=e.getScrollbackLineLen(t);return this._buildRowContent(n,n=>e.getScrollbackCell(t,n),r,-1,-1),n}syncScrollback(e,t){let n=e.getScrollbackCount(),r=t?.rowHeight??0,i=t!==void 0&&r>0,a=t?.overscanRows??v,o=t?.scrollbackDiscardedCount!==void 0,s=t?.scrollbackDiscardedCount??0,c=t&&t.clientHeight>0?t.clientHeight:this.rows*r,l=i?Math.floor(t.scrollTop/r):0,u=i?Math.ceil(c/r):n,d=i?Math.max(0,Math.min(n,l-a)):0,f=i?Math.max(d,Math.min(n,l+u+a)):n,p=this.container.ownerDocument.getSelection();p!==null&&!p.isCollapsed&&(this.container.contains(p.anchorNode)||this.container.contains(p.focusNode))&&this._scrollbackRowEls.length>0&&(d=Math.min(d,Math.max(0,this._scrollbackStartKey-s)),f=Math.max(f,Math.min(n,this._scrollbackStartKey-s+this._scrollbackRowEls.length)));let m=s+d;if(o&&n===this._renderedScrollbackCount&&s===this._renderedDiscardedCount&&m===this._scrollbackStartKey&&f-d===this._scrollbackRowEls.length)return;let h=new Map;for(let e=0;e<this._scrollbackRowEls.length;e++)h.set(this._scrollbackStartKey+e,this._scrollbackRowEls[e]);let g=s+f;for(let[e,t]of h)(e<m||e>=g)&&t.remove();let _=[],y=this._scrollbackTopSpacer?.nextSibling??null;for(let t=d;t<f;t++){let r=s+t,i=n-1-t,a=this._buildScrollbackRowEl(e,i),o=h.get(r),c=a,l=!1;o&&o.innerHTML===a.innerHTML&&o.style.cssText===a.style.cssText?c=o:o&&(o.replaceWith(a),l=!0),!l&&c!==y&&this.container.insertBefore(c,y??this._scrollbackBottomSpacer),y=c.nextSibling,_.push(c)}this._scrollbackRowEls=_,this._scrollbackStartKey=m,this._renderedScrollbackCount=n,this._renderedDiscardedCount=s,this._scrollbackTopSpacer&&(this._scrollbackTopSpacer.style.height=`${d*r}px`),this._scrollbackBottomSpacer&&(this._scrollbackBottomSpacer.style.height=`${(n-f)*r}px`)}render(e,t){let n=e.getRows(),r=e.getCols(),i=!1;(n!==this.rows||r!==this.cols)&&(this.setup(r,n),i=!0),this.syncScrollback(e,t);let a=e.getCursor(),o=a.visible,s=a.row!==this.prevCursorRow||a.col!==this.prevCursorCol;for(let t=0;t<this.rows;t++){let n=i||e.isDirtyRow(t),r=t===this.prevCursorRow&&s,c=t===a.row;if(n||r||c&&s){let n=c&&o?a.col:-1;this._buildRowContent(this.rowEls[t],n=>e.getCell(t,n),this.cols,n,t)}}if(this.prevCursorRow=a.row,this.prevCursorCol=a.col,i||e.isDirtyRow(this.rows-1)){let t=e.getCell(this.rows-1,this.cols-1),n=t.bg,r=t.bgRgb;t.flags&h&&(n=t.fg,r=t.fgRgb,r===void 0&&n===u&&(n=7));let i=S(n,r)||``;i!==this.prevContainerBg&&(this.container.style.background=i,this.prevContainerBg=i)}e.clearDirty(),this.graphics.reconcile(e,{scrollTop:t?.scrollTop??0,clientHeight:t?.clientHeight??0,rowHeight:t?.rowHeight??0,charWidth:t?.charWidth??0,overscanRows:t?.overscanRows??v,scrollbackCount:e.getScrollbackCount()})}destroy(){this.graphics.destroy(),this.container.innerHTML=``,this.rowEls=[],this._scrollbackRowEls=[]}};function L(e,t){return t.platform.startsWith(`Mac`)?e.metaKey:e.ctrlKey}var R={Escape:{code:27,final:`u`},Enter:{code:13,final:`u`},Tab:{code:9,final:`u`},Backspace:{code:127,final:`u`},Insert:{code:2,final:`~`},Delete:{code:3,final:`~`},ArrowLeft:{code:1,final:`D`},ArrowRight:{code:1,final:`C`},ArrowUp:{code:1,final:`A`},ArrowDown:{code:1,final:`B`},PageUp:{code:5,final:`~`},PageDown:{code:6,final:`~`},Home:{code:1,final:`H`},End:{code:1,final:`F`},CapsLock:{code:57358,final:`u`,modifier:!0},ScrollLock:{code:57359,final:`u`},NumLock:{code:57360,final:`u`,modifier:!0},PrintScreen:{code:57361,final:`u`},Pause:{code:57362,final:`u`},F1:{code:1,final:`P`},F2:{code:1,final:`Q`},F3:{code:13,final:`~`},F4:{code:1,final:`S`},F5:{code:15,final:`~`},F6:{code:17,final:`~`},F7:{code:18,final:`~`},F8:{code:19,final:`~`},F9:{code:20,final:`~`},F10:{code:21,final:`~`},F11:{code:23,final:`~`},F12:{code:24,final:`~`},ShiftLeft:{code:57441,final:`u`,modifier:!0},ControlLeft:{code:57442,final:`u`,modifier:!0},AltLeft:{code:57443,final:`u`,modifier:!0},MetaLeft:{code:57444,final:`u`,modifier:!0},ShiftRight:{code:57447,final:`u`,modifier:!0},ControlRight:{code:57448,final:`u`,modifier:!0},AltRight:{code:57449,final:`u`,modifier:!0},MetaRight:{code:57450,final:`u`,modifier:!0},Numpad0:{code:57399,final:`u`},Numpad1:{code:57400,final:`u`},Numpad2:{code:57401,final:`u`},Numpad3:{code:57402,final:`u`},Numpad4:{code:57403,final:`u`},Numpad5:{code:57404,final:`u`},Numpad6:{code:57405,final:`u`},Numpad7:{code:57406,final:`u`},Numpad8:{code:57407,final:`u`},Numpad9:{code:57408,final:`u`},NumpadDecimal:{code:57409,final:`u`},NumpadDivide:{code:57410,final:`u`},NumpadMultiply:{code:57411,final:`u`},NumpadSubtract:{code:57412,final:`u`},NumpadAdd:{code:57413,final:`u`},NumpadEnter:{code:57414,final:`u`},NumpadEqual:{code:57415,final:`u`},NumpadComma:{code:57416,final:`u`}},z={code:1,final:`E`};for(let e=13;e<=25;e++)R[`F${e}`]={code:57363+e,final:`u`};function B(e){let t=Array.from(e);return t.length===1?t[0].codePointAt(0):null}function V(e){let t=B(e.key);return t===null||t<32||t===127?null:{code:B(e.key.toLowerCase())??t,final:`u`}}function H(e,t){if(t&&e.code.startsWith(`Numpad`)){if(e.code===`Numpad5`&&e.key===`Clear`)return{entry:z,functionalKey:`Begin`};if(e.key.length===1){let t=V(e);return t?{entry:t,functionalKey:null}:null}let t=R[e.key];return t?{entry:t,functionalKey:e.key}:null}let n=U(e);if(n)return{entry:n,functionalKey:e.code};let r=R[e.code];if(r)return{entry:r,functionalKey:e.code};let i=R[e.key];if(i)return{entry:i,functionalKey:e.key};let a=V(e);return a?{entry:a,functionalKey:null}:null}function U(e){let t={"Numpad4:ArrowLeft":57417,"Numpad6:ArrowRight":57418,"Numpad8:ArrowUp":57419,"Numpad2:ArrowDown":57420,"Numpad9:PageUp":57421,"Numpad3:PageDown":57422,"Numpad7:Home":57423,"Numpad1:End":57424,"Numpad0:Insert":57425,"NumpadDecimal:Delete":57426,"Numpad5:Clear":57427}[`${e.code}:${e.key}`];return t===void 0?null:{code:t,final:`u`}}function W(e,t){for(let n of t??[])if(n.startsWith(e))return!0;return!1}function G(e,t,n){let r=1,i=t!==`release`;return(e.shiftKey||W(`Shift`,n)||i&&e.code.startsWith(`Shift`))&&(r+=1),(e.altKey||W(`Alt`,n)||i&&e.code.startsWith(`Alt`))&&(r+=2),(e.ctrlKey||W(`Control`,n)||i&&e.code.startsWith(`Control`))&&(r+=4),(e.metaKey||W(`Meta`,n)||i&&e.code.startsWith(`Meta`))&&(r+=8),e.getModifierState(`CapsLock`)&&(r+=64),e.getModifierState(`NumLock`)&&(r+=128),r}function K(e){return e.ctrlKey||e.metaKey||e.altKey?[]:Array.from(e.key).map(e=>e.codePointAt(0)).filter(e=>e>=32&&e!==127)}function q(e){if(e.metaKey)return null;let t=Array.from(e.key);if(t.length!==1||t[0].codePointAt(0)<32||t[0].codePointAt(0)>126||e.shiftKey&&e.ctrlKey&&/^[a-z]$/i.test(e.key))return null;if(e.ctrlKey){let t=e.key.toLowerCase(),n=t.charCodeAt(0),r=t;return r=n>=97&&n<=122?String.fromCharCode(n-96):{" ":`\0`,"/":``,2:`\0`,3:`\x1B`,4:``,5:``,6:``,7:``,8:``,"?":``,"@":`\0`,"[":`\x1B`,"\\":``,"]":``,"^":``,_:``,"~":``}[t]??t,e.altKey?`\x1b${r}`:r}return e.altKey?`\x1b${e.key}`:null}function J(e,t,n,r,i){let a=!!(t&1),o=!!(t&2),s=!!(t&8),c=!a&&!o&&!s,l=r&-193;if(i&&c&&l===0){let t={ArrowUp:`\x1BOA`,ArrowDown:`\x1BOB`,ArrowRight:`\x1BOC`,ArrowLeft:`\x1BOD`,Begin:`\x1BOE`,End:`\x1BOF`,Home:`\x1BOH`}[e];if(t)return{handled:!0,sequence:t}}if(l===0){if(!a&&!s&&e===`Escape`)return{handled:!0,sequence:`\x1B`};if(c){let t={F1:`\x1BOP`,F2:`\x1BOQ`,F3:`\x1BOR`,F4:`\x1BOS`}[e];if(t)return{handled:!0,sequence:t}}}if(c&&r!==0){let t=r&2?`\x1B`:``;if(e===`Enter`)return{handled:!0,sequence:`${t}\r`};if(e===`Escape`)return{handled:!0,sequence:`${t}\x1b`};if(e===`Backspace`)return{handled:!0,sequence:`${t}${r&4?`\b`:``}`};if(e===`Tab`)return r&1?{handled:!0,sequence:`${r&2?`\x1B\x1B`:`\x1B`}[Z`}:{handled:!0,sequence:`${t}\t`}}return l===0&&!s&&(e===`Enter`||e===`Backspace`||e===`Tab`)?{handled:!0,sequence:n===`release`?null:e===`Enter`?`\r`:e===`Backspace`?``:` `}:{handled:!1,sequence:null}}function Y(e,t,n,r,i=!1){if(t===0||n===`release`&&!(t&2))return null;let a=!(t&1)&&!(t&8),o=H(e,a),s=o?.entry??null,c=V(e),l=!(t&8)&&c!==null&&!e.altKey&&!e.ctrlKey&&!e.metaKey,u=!(t&1)&&!(t&8)&&(n===`press`||!(t&2))&&(e.ctrlKey||e.altKey)?q(e):null;if(n===`release`&&!(t&8)&&l)return null;if(n!==`release`&&!(t&8)&&!e.altKey&&!e.ctrlKey&&!e.metaKey){if(!e.shiftKey){if(e.key===`Enter`&&(e.code!==`NumpadEnter`||a))return`\r`;if(e.key===`Tab`)return` `;if(e.key===`Backspace`)return``}if(l)return e.key}if(u!==null)return u;if(!s||s.modifier&&!(t&8))return null;let d=G(e,n,r);if(o?.functionalKey){let e=J(o.functionalKey,t,n,d-1,i);if(e.handled)return e.sequence}let f=t&2?n===`repeat`?2:n===`release`?3:0:0;if(s.final!==`u`&&s.final!==`~`)return f===0?d>1?`\x1b[1;${d}${s.final}`:`\x1b[${s.final}`:`\x1b[1;${d}:${f}${s.final}`;let p=`\x1b[${s.code}`;if(c&&t&4&&e.shiftKey){let t=B(e.key);t!==null&&t!==s.code&&(p+=`:${t}`)}let m=!1;if(f===2||f===3?(p+=`;${d}:${f}`,m=!0):d>1&&(p+=`;${d}`,m=!0),c&&t&16&&n!==`release`){let t=K(e);t.length>0&&(p+=m?`;`:`;;`,p+=t.join(`:`))}return p+s.final}var te={ArrowUp:`\x1B[A`,ArrowDown:`\x1B[B`,ArrowRight:`\x1B[C`,ArrowLeft:`\x1B[D`,Home:`\x1B[H`,End:`\x1B[F`},ne={ArrowUp:`\x1BOA`,ArrowDown:`\x1BOB`,ArrowRight:`\x1BOC`,ArrowLeft:`\x1BOD`,Home:`\x1BOH`,End:`\x1BOF`},re={Enter:`\r`,Backspace:``,Tab:` `,Escape:`\x1B`,Insert:`\x1B[2~`,Delete:`\x1B[3~`,PageUp:`\x1B[5~`,PageDown:`\x1B[6~`,F1:`\x1BOP`,F2:`\x1BOQ`,F3:`\x1BOR`,F4:`\x1BOS`,F5:`\x1B[15~`,F6:`\x1B[17~`,F7:`\x1B[18~`,F8:`\x1B[19~`,F9:`\x1B[20~`,F10:`\x1B[21~`,F11:`\x1B[23~`,F12:`\x1B[24~`},X=class{constructor(e,t,n,r=()=>null){this.composing=!1,this.mouseButtons=0,this.focused=!1,this.suppressedKeyUps=new Set,this.pressedModifiers=new Set,this.deliveredKeys=new Set,this.element=e,this.onData=t,this.getBridge=n,this.getCellSize=r,this.textarea=document.createElement(`textarea`),this.textarea.setAttribute(`autocapitalize`,`off`),this.textarea.setAttribute(`autocomplete`,`off`),this.textarea.setAttribute(`autocorrect`,`off`),this.textarea.setAttribute(`spellcheck`,`false`),this.textarea.setAttribute(`enterkeyhint`,`send`),this.textarea.setAttribute(`tabindex`,`0`),this.textarea.setAttribute(`aria-hidden`,`true`);let i=this.textarea.style;i.position=`absolute`,i.left=`-9999px`,i.top=`0`,i.width=`1px`,i.height=`1px`,i.opacity=`0`,i.overflow=`hidden`,i.border=`0`,i.padding=`0`,i.margin=`0`,i.outline=`none`,i.resize=`none`,i.pointerEvents=`none`,i.caretColor=`transparent`,i.color=`transparent`,i.background=`transparent`,e.appendChild(this.textarea),this._onKeyDown=this.handleKeyDown.bind(this),this._onKeyUp=this.handleKeyUp.bind(this),this._onPaste=this.handlePaste.bind(this),this._onCompositionStart=this.handleCompositionStart.bind(this),this._onCompositionEnd=this.handleCompositionEnd.bind(this),this._onInput=this.handleInput.bind(this),this._onFocus=()=>{this.focused||(this.focused=!0,this.element.classList.add(`focused`),this.getBridge()?.focusEvents?.()&&this.onData(`\x1B[I`))},this._onBlur=()=>{this.focused=!1,this.element.classList.remove(`focused`),this.stopMouseCapture(),this.pressedModifiers.clear(),this.deliveredKeys.clear(),this.getBridge()?.focusEvents?.()&&this.onData(`\x1B[O`)},this._onMouseDown=e=>this.handleMouse(e,`press`),this._onMouseMove=e=>{this.mouseButtons!==0&&this.handleMouse(e,`move`)},this._onMouseUp=e=>{this.mouseButtons!==0&&(this.handleMouse(e,`release`),this.mouseButtons=e.buttons&7,this.mouseButtons===0&&this.stopMouseCapture())},this._onWheel=e=>this.handleMouse(e,`wheel`),this.textarea.addEventListener(`keydown`,this._onKeyDown),this.textarea.addEventListener(`keyup`,this._onKeyUp),this.textarea.addEventListener(`paste`,this._onPaste),this.textarea.addEventListener(`compositionstart`,this._onCompositionStart),this.textarea.addEventListener(`compositionend`,this._onCompositionEnd),this.textarea.addEventListener(`input`,this._onInput),this.textarea.addEventListener(`focus`,this._onFocus),this.textarea.addEventListener(`blur`,this._onBlur),this.element.addEventListener(`mousedown`,this._onMouseDown),this.element.addEventListener(`wheel`,this._onWheel,{passive:!1})}focus(){this.textarea.focus({preventScroll:!0})}destroy(){this.textarea.removeEventListener(`keydown`,this._onKeyDown),this.textarea.removeEventListener(`keyup`,this._onKeyUp),this.textarea.removeEventListener(`paste`,this._onPaste),this.textarea.removeEventListener(`compositionstart`,this._onCompositionStart),this.textarea.removeEventListener(`compositionend`,this._onCompositionEnd),this.textarea.removeEventListener(`input`,this._onInput),this.textarea.removeEventListener(`focus`,this._onFocus),this.textarea.removeEventListener(`blur`,this._onBlur),this.element.removeEventListener(`mousedown`,this._onMouseDown),this.stopMouseCapture(),this.element.removeEventListener(`wheel`,this._onWheel),this.element.classList.remove(`focused`),this.textarea.remove()}handleKeyDown(e){let t=e.code||e.key,n=/^(Shift|Control|Alt|Meta)(Left|Right)$/.test(e.code);if(n&&this.pressedModifiers.add(e.code),this.composing){this.suppressedKeyUps.add(t);return}let r=this.getBridge(),i=r?.kittyKeyboardFlags?.()??0,a=n&&!!(i&8),o=this.deliveredKeys.has(t);if(!o&&(e.metaKey||e.ctrlKey)&&e.key===`c`){let e=window.getSelection();if(e&&e.toString().length>0){this.suppressedKeyUps.add(t);return}}if(!o&&(e.metaKey||e.ctrlKey)&&e.key===`v`){this.suppressedKeyUps.add(t),this.textarea.focus();return}if(!o&&!a&&e.metaKey&&!e.ctrlKey){if(this.suppressedKeyUps.add(t),e.key===`Backspace`)e.preventDefault(),this.onData(``);else if(e.key===`a`){e.preventDefault();let t=window.getSelection();if(t){let e=document.createRange();e.selectNodeContents(this.element),t.removeAllRanges(),t.addRange(e)}}return}if(this.suppressedKeyUps.delete(t),e.preventDefault(),i!==0){let n=Y(e,i,e.repeat?`repeat`:`press`,this.pressedModifiers,r?.cursorKeysApp?.()??!1);n&&(this.deliveredKeys.add(t),this.onData(n));return}let s=this.keyToSequence(e);s&&this.onData(s)}handleKeyUp(e){let t=e.code||e.key;if(this.pressedModifiers.delete(e.code),this.deliveredKeys.delete(t),this.suppressedKeyUps.delete(t)||this.composing)return;let n=this.getBridge(),r=n?.kittyKeyboardFlags?.()??0;if(!(r&2))return;let i=Y(e,r,`release`,this.pressedModifiers,n?.cursorKeysApp?.()??!1);i&&(e.preventDefault(),this.onData(i))}handlePaste(e){e.preventDefault();let t=e.clipboardData?.getData(`text`);if(!t)return;let n=this.getBridge();if(n&&n.bracketedPaste()){let e=t.replace(/\x1b/g,``);this.onData(`\x1B[200~`+e+`\x1B[201~`)}else this.onData(t)}handleCompositionStart(){this.composing=!0}handleCompositionEnd(e){this.composing=!1,e.data&&this.onData(e.data),this.textarea.value=``}handleInput(){if(this.composing)return;let e=this.textarea.value;e&&(this.onData(e),this.textarea.value=``)}handleMouse(e,t){let n=this.getBridge(),r=n?.mouseTracking?.()??0;if(!n||r===0||!n.mouseSgr?.()||t===`press`&&L(e,this.element.ownerDocument.defaultView?.navigator??navigator)&&e.target instanceof Element&&e.target.closest(`.term-link`)||t===`press`&&(e.shiftKey||e.button>2)||t===`release`&&e.button>2)return;let i=e.buttons&7;if(t===`move`&&(r!==1002||i===0))return;let a=this.element.ownerDocument.defaultView;if(!a)return;let o=this.element.querySelector(`.term-row:not(.term-scrollback-row)`),s=this.element.getBoundingClientRect(),c=o?.getBoundingClientRect(),l=this.getCellSize(),u,d,f,p;if(c&&l)u=c.left,d=c.top,f=l.charWidth,p=l.rowHeight;else{let e=a.getComputedStyle(this.element),t=parseFloat(e.borderLeftWidth)||0,r=parseFloat(e.borderRightWidth)||0,i=parseFloat(e.borderTopWidth)||0,o=parseFloat(e.borderBottomWidth)||0,l=parseFloat(e.paddingLeft)||0,m=parseFloat(e.paddingRight)||0,h=parseFloat(e.paddingTop)||0,g=parseFloat(e.paddingBottom)||0;u=c?.left??s.left+t+l,d=c?.top??s.top+i+h,f=(s.width-t-r-l-m)/n.getCols(),p=(s.height-i-o-h-g)/n.getRows()}if(f<=0||p<=0)return;t===`press`&&(this.textarea.focus({preventScroll:!0}),this.focused||this._onFocus(),this.mouseButtons=i||(e.button===1?4:e.button===2?2:1),a.addEventListener(`mousemove`,this._onMouseMove),a.addEventListener(`mouseup`,this._onMouseUp));let m=Math.max(1,Math.min(n.getCols(),Math.floor((e.clientX-u)/f)+1)),h=Math.max(1,Math.min(n.getRows(),Math.floor((e.clientY-d)/p)+1)),g=(e.shiftKey?4:0)|(e.altKey?8:0)|(e.ctrlKey?16:0),_,v=`M`;if(t===`wheel`){let t=e;if(Math.abs(t.deltaX)>Math.abs(t.deltaY)){if(t.deltaX===0)return;_=(t.deltaX<0?66:67)|g}else{if(t.deltaY===0)return;_=(t.deltaY<0?64:65)|g}}else _=(t===`move`?i&4?1:i&2?2:0:e.button===1?1:e.button===2?2:0)|g|(t===`move`?32:0),t===`release`&&(v=`m`);e.preventDefault(),this.onData(`\x1b[<${_};${m};${h}${v}`)}stopMouseCapture(){this.mouseButtons=0;let e=this.element.ownerDocument.defaultView;e?.removeEventListener(`mousemove`,this._onMouseMove),e?.removeEventListener(`mouseup`,this._onMouseUp)}keyToSequence(e){if(e.ctrlKey&&!e.altKey&&!e.metaKey){if(e.key.length===1){let t=e.key.toLowerCase().charCodeAt(0);if(t>=97&&t<=122)return String.fromCharCode(t-96)}if(e.key===`[`)return`\x1B`;if(e.key===`\\`)return``;if(e.key===`]`)return``;if(e.key===`^`)return``;if(e.key===`_`)return``}if(e.key===`Enter`&&e.shiftKey)return`\x1B[13;2u`;if(e.key===`Tab`&&e.shiftKey)return`\x1B[Z`;let t=re[e.key];if(t)return e.altKey?`\x1B`+t:t;let n=this.getBridge(),r=(n&&n.cursorKeysApp()?ne:te)[e.key];return r?e.altKey?`\x1B`+r:r:e.key.length===1&&!e.ctrlKey&&!e.metaKey?e.altKey?`\x1B`+e.key:e.key:null}},ie={1:`bold`,2:`dim`,4:`italic`,8:`underline`,16:`blink`,32:`reverse`,64:`invisible`,128:`strikethrough`};function ae(e){let t=[];for(let[n,r]of Object.entries(ie))e&Number(n)&&t.push(r);return t}var Z=27;function oe(e){let t=[],n=Date.now(),r=0,i=0,a=()=>{if(r>i){let a=e.slice(i,r);a.length>0&&!/^[\x00-\x1f]+$/.test(a)&&t.push({ts:n,type:`text`,raw:a.slice(0,60)})}};for(;r<e.length;){if(e.charCodeAt(r)!==Z){r++;continue}a();let o=r;if(r++,r>=e.length)break;let s=e[r];if(s===`[`){r++;let i=``;r<e.length&&(e[r]===`?`||e[r]===`>`||e[r]===`!`)&&(i=e[r],r++);let a=``;for(;r<e.length&&(e.charCodeAt(r)>=48&&e.charCodeAt(r)<=59||e[r]===`:`);)a+=e[r],r++;for(;r<e.length&&e.charCodeAt(r)>=32&&e.charCodeAt(r)<=47;)r++;let s=``;r<e.length&&e.charCodeAt(r)>=64&&e.charCodeAt(r)<=126&&(s=e[r],r++);let c=e.slice(o,r),l=a?a.split(/[;:]/).map(Number).filter(e=>!isNaN(e)):[],u=s===`m`?`sgr`:`csi`;t.push({ts:n,type:u,raw:c,params:l.length>0?l:void 0,private:i||void 0,final:s})}else if(s===`]`){for(r++;r<e.length&&e.charCodeAt(r)!==7&&!(e.charCodeAt(r)===Z&&r+1<e.length&&e[r+1]===`\\`);)r++;r<e.length&&(e.charCodeAt(r)===7?r++:e.charCodeAt(r)===Z&&(r+=2));let i=e.slice(o,r);t.push({ts:n,type:`osc`,raw:i.slice(0,80)})}else s>=` `&&s<=`~`?(r++,t.push({ts:n,type:`esc`,raw:e.slice(o,r),final:s})):r++;i=r}return a(),t}var se=500,Q=class{constructor(){this._traces=[],this._bridge=null,this._perf={frameCount:0,totalRenderMs:0,avgRenderMs:0,maxRenderMs:0,lastDirtyRows:0}}get traces(){return this._traces}get perf(){return this._perf}setBridge(e){this._bridge=e}traceWrite(e){let t=oe(typeof e==`string`?e:new TextDecoder().decode(e));for(let e of t)this._traces.push(e);this._traces.length>se&&(this._traces=this._traces.slice(-500))}recordRender(e,t){this._perf.frameCount++,this._perf.totalRenderMs+=e,this._perf.avgRenderMs=this._perf.totalRenderMs/this._perf.frameCount,e>this._perf.maxRenderMs&&(this._perf.maxRenderMs=e),this._perf.lastDirtyRows=t}resetPerf(){this._perf={frameCount:0,totalRenderMs:0,avgRenderMs:0,maxRenderMs:0,lastDirtyRows:0}}cell(e,t){if(!this._bridge)return null;let n=this._bridge.getCell(e,t);return{...n,charStr:n.chars??(n.char>=32?String.fromCodePoint(n.char):``),flagNames:ae(n.flags)}}row(e){if(!this._bridge)return null;let t=this._bridge.getCols(),n=[];for(let r=0;r<t;r++)n.push(this.cell(e,r));return n}grid(){if(!this._bridge)return null;let e=this._bridge.getCursor();return{rows:this._bridge.getRows(),cols:this._bridge.getCols(),cursor:e,altScreen:this._bridge.usingAltScreen(),scrollbackCount:this._bridge.getScrollbackCount()}}unhandled(){return this._bridge?this._bridge.getUnhandledSequences():[]}dump(e=50){let t=this._traces.slice(-e);console.group(`%cwterm debug — last ${t.length} traces`,`color: #569cd6; font-weight: bold`);for(let e of t){let t=e.type===`sgr`?`%cSGR`:e.type===`csi`?`%cCSI`:e.type===`osc`?`%cOSC`:e.type===`esc`?`%cESC`:`%cTXT`,n=e.type===`sgr`?`background:#2d5a27;color:#fff;padding:1px 4px;border-radius:2px`:e.type===`csi`?`background:#1e4a7a;color:#fff;padding:1px 4px;border-radius:2px`:`background:#555;color:#fff;padding:1px 4px;border-radius:2px`,r=[e.private?`private=${e.private}`:``,e.params?`params=[${e.params}]`:``,e.final?`final=${e.final}`:``].filter(Boolean).join(` `);console.log(`${t} ${e.raw.slice(0,40)}`,n,r?` ${r}`:``)}console.groupEnd()}dumpUnhandled(){let e=this.unhandled();if(e.length===0){console.log(`%cwterm debug — no unhandled sequences`,`color: #6a9955`);return}console.group(`%cwterm debug — ${e.length} unhandled sequences`,`color: #d7ba7d; font-weight: bold`);for(let t of e)console.log(` final=${t.final} private=${t.private||`-`} params=[${t.params.slice(0,t.paramCount)}]`);console.groupEnd()}},ce=1e3,le=1,$=[`\x1B[14t`,`\x1B[16t`],ue=class{constructor(e,t={}){this.bridge=null,this.debug=null,this.renderer=null,this.input=null,this.rafId=null,this._synchronizedOutputTimer=null,this._synchronizedOutputState=`idle`,this._synchronizedOutputGeneration=0,this._rendererNeedsSetup=!1,this.resizeObserver=null,this._destroyed=!1,this._shouldScrollToBottom=!1,this._scrollbackDiscardedCount=0,this._programmaticScrollTop=null,this._pendingResizeScrollTop=null,this._rowHeight=0,this._charWidth=0,this._windowSizeQueryBuffer=``,this.element=e,this._coreOption=t.core,this.wasmUrl=t.wasmUrl,this.maxImageWidth=t.maxImageWidth,this.maxImageHeight=t.maxImageHeight,this.cols=t.cols||80,this.rows=t.rows||24,this.autoResize=t.autoResize!==!1,this._debugEnabled=t.debug??!1,this.onData=t.onData||null,this.onTitle=t.onTitle||null,this.onResize=t.onResize||null,this._container=document.createElement(`div`),this._container.className=`term-grid`,this.element.appendChild(this._container),this.element.classList.add(`wterm`),t.cursorBlink&&this.element.classList.add(`cursor-blink`),this._onClickFocus=e=>{let t=e.target;if(t instanceof Element&&t.closest(`.term-link`)){if(L(e,this.element.ownerDocument.defaultView?.navigator??navigator)||e.detail===0)return;e.preventDefault()}let n=window.getSelection();(!n||n.isCollapsed)&&this.input?.focus()},this.element.addEventListener(`click`,this._onClickFocus),this._onModifierChange=e=>{this.element.classList.toggle(`link-modifier-active`,L(e,this.element.ownerDocument.defaultView?.navigator??navigator))},this._onWindowBlur=()=>{this.element.classList.remove(`link-modifier-active`)},this.element.ownerDocument.addEventListener(`keydown`,this._onModifierChange),this.element.ownerDocument.addEventListener(`keyup`,this._onModifierChange),this.element.ownerDocument.defaultView?.addEventListener(`blur`,this._onWindowBlur),this._onScroll=()=>{if(this._pendingResizeScrollTop===null){if(this._shouldScrollToBottom&&this._isScrolledToBottom()){this._programmaticScrollTop=null;return}if(this._programmaticScrollTop!==null&&Math.abs(this.element.scrollTop-this._programmaticScrollTop)<=le){this._programmaticScrollTop=null;return}this._programmaticScrollTop=null,this._shouldScrollToBottom=!1,this._scheduleRender()}},this.element.addEventListener(`scroll`,this._onScroll,{passive:!0})}async init(){try{if(this.bridge=this._coreOption?this._coreOption:await t.load(this.wasmUrl),this._destroyed)return this;this.bridge.init(this.cols,this.rows),this._debugEnabled&&(this.debug=new Q,this.debug.setBridge(this.bridge),globalThis.__wterm=this),this._setRowHeight(),this._measureCharSize(),this.renderer=new I(this._container,{maxImageWidth:this.maxImageWidth,maxImageHeight:this.maxImageHeight}),this.renderer.setup(this.cols,this.rows),this.input=new X(this.element,e=>{this._scrollToBottom(),this.onData?this.onData(e):this.write(e)},()=>this.bridge,()=>this._charWidth>0&&this._rowHeight>0?{charWidth:this._charWidth,rowHeight:this._rowHeight}:null),this.autoResize?this._setupResizeObserver():this._lockHeight(),this.input.focus(),this._initialRender()}catch(e){throw this.destroy(),Error(`wterm: failed to initialize: ${e instanceof Error?e.message:e}`)}return this}_isScrolledToBottom(){let e=this.element;return e.scrollHeight-e.scrollTop-e.clientHeight<5}_scrollToBottom(){this._setScrollTop(this.element.scrollHeight)}_setScrollTop(e){let t=this.element.scrollTop;this.element.scrollTop=e;let n=this.element.scrollTop;n!==t&&(this._programmaticScrollTop=n)}write(e){if(!this.bridge)return;this.debug&&this.debug.traceWrite(e),this._shouldScrollToBottom=this._isScrolledToBottom();let t=this._collectWindowSizeQueries(e),n,r=!1,i=()=>{let e=this._drainResponses();!r&&e.hasError&&(r=!0,n=e.error)};typeof e==`string`?this.bridge.writeString(e,i):this.bridge.writeRaw(e,i);let a=this.bridge.synchronizedOutput?.()??!1,o=this.bridge.synchronizedOutputGeneration?.()??0;this._updateSynchronizedOutput(a,o),this._synchronizedOutputState!==`held`&&(this._setupRendererIfNeeded(),this._scheduleRender()),i();for(let e of t)try{this.onData?.(this._windowSizeResponse(e))}catch(e){r||(r=!0,n=e)}if(r)throw n}resize(e,t){if(!this.bridge)return;this._shouldScrollToBottom=this._pendingResizeScrollTop===null&&this._isScrolledToBottom(),this.cols=e,this.rows=t,this.bridge.resize(e,t);let n=this.bridge.synchronizedOutput?.()??!1,r=this.bridge.synchronizedOutputGeneration?.()??0;this._updateSynchronizedOutput(n,r)?this._rendererNeedsSetup=!0:(this._setupRenderer(e,t),this._scheduleRender()),this.onResize&&this.onResize(e,t)}focus(){this.input?this.input.focus():this.element.focus()}_scheduleRender(){this.rafId??=requestAnimationFrame(()=>{this.rafId=null,this._doRender()})}_cancelScheduledRender(){this.rafId!=null&&(cancelAnimationFrame(this.rafId),this.rafId=null)}_updateSynchronizedOutput(e,t){return e?this._synchronizedOutputState===`held`&&t!==this._synchronizedOutputGeneration?(this._armSynchronizedOutputFallback(t),!0):(this._synchronizedOutputState===`passthrough`&&t!==this._synchronizedOutputGeneration&&(this._synchronizedOutputState=`idle`),this._synchronizedOutputState===`idle`?(this._synchronizedOutputState=`held`,this._cancelScheduledRender(),this._armSynchronizedOutputFallback(t),!0):this._synchronizedOutputState===`held`):(this._synchronizedOutputState===`held`&&this._cancelSynchronizedOutputFallback(),this._synchronizedOutputState=`idle`,!1)}_armSynchronizedOutputFallback(e){this._cancelSynchronizedOutputFallback(),this._synchronizedOutputGeneration=e,this._synchronizedOutputTimer=setTimeout(()=>{this._synchronizedOutputState===`held`&&this._synchronizedOutputGeneration===e&&(this._synchronizedOutputTimer=null,this._synchronizedOutputState=`passthrough`,this._setupRendererIfNeeded(),this._cancelScheduledRender(),this._doRender())},ce)}_cancelSynchronizedOutputFallback(){this._synchronizedOutputTimer!=null&&(clearTimeout(this._synchronizedOutputTimer),this._synchronizedOutputTimer=null)}_setupRendererIfNeeded(){this._rendererNeedsSetup&&=(this._setupRenderer(this.cols,this.rows),!1)}_setupRenderer(e,t){!this._shouldScrollToBottom&&this._pendingResizeScrollTop===null&&(this._pendingResizeScrollTop=this.element.scrollTop),this.renderer?.setup(e,t)}_initialRender(){this._doRender()}_doRender(){if(!this.bridge||!this.renderer)return;let e=0,t=this.debug?performance.now():0;if(this.debug)for(let t=0;t<this.rows;t++)this.bridge.isDirtyRow(t)&&e++;let n=this._rowHeight||17,r=this.bridge.getScrollbackCount(),i=this.bridge.getScrollbackDiscardedCount?.(),a=i!==void 0&&i>=this._scrollbackDiscardedCount?i-this._scrollbackDiscardedCount:0;i!==void 0&&(this._scrollbackDiscardedCount=i);let o=this._pendingResizeScrollTop===null?this.element.scrollTop:this._pendingResizeScrollTop;!this._shouldScrollToBottom&&a>0&&(o=Math.max(0,o-a*n),this._pendingResizeScrollTop===null?this._setScrollTop(o):this._pendingResizeScrollTop=o),this.renderer.render(this.bridge,{scrollTop:this._shouldScrollToBottom?Math.max(0,(r+this.rows)*n-this.element.clientHeight):o,clientHeight:this.element.clientHeight,rowHeight:n,scrollbackDiscardedCount:i,charWidth:this._charWidth}),this.debug&&this.debug.recordRender(performance.now()-t,e);let s=r>0||this.renderer.hasImageFlow;if(this.element.classList.toggle(`has-scrollback`,s),this._shouldScrollToBottom)this._scrollToBottom();else if(this._pendingResizeScrollTop!==null){let e=this._pendingResizeScrollTop;this._pendingResizeScrollTop=null,this._setScrollTop(e)}else!s&&this.element.scrollTop!==0&&this._setScrollTop(0);let c=this.bridge.getTitle();c!==null&&this.onTitle&&this.onTitle(c),this._drainResponses()}_drainResponses(){if(!this.bridge)return{hasError:!1};let e,t,n=!1;for(;(e=this.bridge.getResponse())!==null;)try{this.onData&&this.onData(e)}catch(e){n||(n=!0,t=e)}return{hasError:n,error:t}}_collectWindowSizeQueries(e){let t=typeof e==`string`?e:new TextDecoder().decode(e),n=this._windowSizeQueryBuffer+t;this._windowSizeQueryBuffer=``;let r=[],i=0;for(;i<n.length;){let e=$.find(e=>n.startsWith(e,i));e?(r.push(e===`\x1B[14t`?14:16),i+=e.length):i++}for(let e=Math.max(0,n.length-4);e<n.length;e++){let t=n.slice(e);if(t.length<5&&$.some(e=>e.startsWith(t))){this._windowSizeQueryBuffer=t;break}}return r}_windowSizeResponse(e){let{width:t,height:n}=this._pixelSize();if(e===14)return`\x1b[4;${n};${t}t`;let r=Math.max(1,Math.round(this._charWidth));return`\x1b[6;${Math.max(1,Math.round(this._rowHeight))};${r}t`}_pixelSize(){let e=getComputedStyle(this.element),t=(parseFloat(e.paddingLeft)||0)+(parseFloat(e.paddingRight)||0),n=(parseFloat(e.paddingTop)||0)+(parseFloat(e.paddingBottom)||0),r=this.element.clientWidth-t,i=this.element.clientHeight-n;if(r<=0||i<=0){let e=this.element.getBoundingClientRect();r=e.width-t,i=e.height-n}return r<=0&&this._charWidth>0&&(r=this.cols*this._charWidth),i<=0&&this._rowHeight>0&&(i=this.rows*this._rowHeight),{width:Math.max(1,Math.round(r)),height:Math.max(1,Math.round(i))}}_lockHeight(){let e=this._rowHeight||17,t=this.rows*e,n=getComputedStyle(this.element),r=(parseFloat(n.paddingTop)||0)+(parseFloat(n.paddingBottom)||0);n.boxSizing===`border-box`&&(r+=(parseFloat(n.borderTopWidth)||0)+(parseFloat(n.borderBottomWidth)||0)),this.element.style.height=`${t+r}px`}_setRowHeight(){let e=document.createElement(`div`);e.className=`term-row`,e.style.visibility=`hidden`,e.style.position=`absolute`,e.textContent=`W`,this._container.appendChild(e);let t=e.getBoundingClientRect().height;if(e.remove(),t>0){let e=Math.ceil(t);this._rowHeight=e,this.element.style.setProperty(`--term-row-height`,`${e}px`)}}_measureCharSize(){let e=document.createElement(`div`);e.className=`term-row`,e.style.visibility=`hidden`,e.style.position=`absolute`;let t=document.createElement(`span`);t.textContent=`W`,e.appendChild(t),this._container.appendChild(e);let n=t.getBoundingClientRect().width,r=e.getBoundingClientRect().height;return e.remove(),n===0||r===0?null:(this._charWidth=n,this._rowHeight=r,{charWidth:n,rowHeight:r})}_setupResizeObserver(){let e=this._measureCharSize();if(!e)return;let{charWidth:t,rowHeight:n}=e;this.resizeObserver=new ResizeObserver(e=>{let r=this._measureCharSize();r&&(t=r.charWidth,n=r.rowHeight);for(let r of e){let{width:e,height:i}=r.contentRect,a=Math.max(1,Math.floor(e/t)),o=Math.max(1,Math.floor(i/n));(a!==this.cols||o!==this.rows)&&this.resize(a,o)}}),this.resizeObserver.observe(this.element)}destroy(){this._destroyed=!0,this._windowSizeQueryBuffer=``,this._cancelScheduledRender(),this._cancelSynchronizedOutputFallback(),this.resizeObserver&&this.resizeObserver.disconnect(),this.input&&this.input.destroy(),this.renderer?.destroy(),this.renderer=null,this.element.removeEventListener(`click`,this._onClickFocus),this.element.removeEventListener(`scroll`,this._onScroll),this.element.ownerDocument.removeEventListener(`keydown`,this._onModifierChange),this.element.ownerDocument.removeEventListener(`keyup`,this._onModifierChange),this.element.ownerDocument.defaultView?.removeEventListener(`blur`,this._onWindowBlur),this.element.classList.remove(`link-modifier-active`),this.element.innerHTML=``,this.debug&&globalThis.__wterm===this&&delete globalThis.__wterm,this.debug=null}};export{Q as DebugAdapter,X as InputHandler,I as Renderer,ue as WTerm,t as WasmBridge,n as WebSocketTransport};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=`Serve the binary from your app and pass its URL: GhosttyCore.load({ wasmPath: "/ghostty-vt.wasm" }). The file ships with the package as @wterm/ghostty/ghostty-vt.wasm. See the Bundlers section of the @wterm/ghostty README.`;function t(){return new URL(`/assets/ghostty-vt-BeUP0ymd.wasm`,``+import.meta.url).href}function n(e){if(e.byteLength<4)return!1;let t=new Uint8Array(e,0,4);return t[0]===0&&t[1]===97&&t[2]===115&&t[3]===109}async function r(r){let i=r??t();if(r===void 0&&i.startsWith(`file:`)&&typeof document<`u`)throw Error(`@wterm/ghostty: your bundler resolved the WASM URL to ${i}, a path on the machine that built the bundle, so the browser cannot fetch it. ${e}`);let a=await fetch(i);if(!a.ok)throw Error(`@wterm/ghostty: fetching ${i} returned ${a.status} ${a.statusText}. ${e}`);let o=await a.arrayBuffer();if(!n(o))throw Error(`@wterm/ghostty: ${i} did not return a WASM module. ${e}`);let s,{instance:c}=await WebAssembly.instantiate(o,{env:{log(e,t){let n=new TextDecoder().decode(new Uint8Array(s.buffer,e,t));console.log(`[ghostty-vt]`,n)}}});return s=c.exports.memory,{exports:c.exports,instance:c}}function i(e,t){return{codepoint:e.getUint32(t,!0),fgR:e.getUint8(t+4),fgG:e.getUint8(t+5),fgB:e.getUint8(t+6),bgR:e.getUint8(t+7),bgG:e.getUint8(t+8),bgB:e.getUint8(t+9),flags:e.getUint8(t+10),width:e.getUint8(t+11),colorFlags:e.getUint8(t+12),hasGrapheme:!!(e.getUint8(t+13)&1),hasHyperlink:!!(e.getUint8(t+13)&2)}}function a(e,t){if(!Number.isSafeInteger(t)||t<=0||t>4294967295)return 0;try{return e.exports.alloc_buffer(t)}catch{return 0}}function o(e,t,n){if(!(t===0||!Number.isSafeInteger(n)||n<=0))try{e.exports.free_buffer(t,n)}catch{}}function s(e,t,n,r){let i=e.exports.graphics_images;if(!i||!Number.isSafeInteger(r)||r<0)return[];let a;try{a=i(t,n,r)}catch{return[]}if(!Number.isSafeInteger(a)||a<0||a>r)return[];let o=a*16;if(!Number.isSafeInteger(o))return[];let s;try{s=new DataView(e.exports.memory.buffer,n,o)}catch{return[]}let c=[];for(let e=0;e<a;e++){let t=e*16;c.push({imageId:s.getUint32(t,!0),version:s.getUint32(t+4,!0),width:s.getUint32(t+8,!0),height:s.getUint32(t+12,!0)})}return c}function c(e,t,n,r){let i=e.exports.graphics_placements;if(!i||!Number.isSafeInteger(r)||r<0)return[];let a;try{a=i(t,n,r)}catch{return[]}if(!Number.isSafeInteger(a)||a<0||a>r)return[];let o=a*60;if(!Number.isSafeInteger(o))return[];let s;try{s=new DataView(e.exports.memory.buffer,n,o)}catch{return[]}let c=[];for(let e=0;e<a;e++){let t=e*60,n=s.getUint32(t,!0),r=s.getUint32(t+4,!0),i=s.getUint32(t+56,!0);c.push({placementKey:`${n}:${r}:${i}`,imageId:n,imageVersion:s.getUint32(t+8,!0),row:s.getUint32(t+12,!0),col:s.getUint32(t+16,!0),offsetX:s.getUint32(t+20,!0),offsetY:s.getUint32(t+24,!0),sourceX:s.getUint32(t+28,!0),sourceY:s.getUint32(t+32,!0),sourceWidth:s.getUint32(t+36,!0),sourceHeight:s.getUint32(t+40,!0),columns:s.getUint32(t+44,!0),rows:s.getUint32(t+48,!0),z:s.getInt32(t+52,!0)})}return c}function l(e,t,n,r){u(e,t,new TextEncoder().encode(n),r)}function u(e,t,n,r){let i=0;for(;i<n.length;){let s=Math.min(n.length-i,8192),c=a(e,s);if(c===0)return;try{new Uint8Array(e.exports.memory.buffer,c,s).set(n.subarray(i,i+s)),e.exports.write(t,c,s)}finally{o(e,c,s)}i+=s,r?.()}}var d=256,f=1024,p=33554432,m=p,h=4294967295;function g(e,t,n){return e<<16|t<<8|n}var _={char:32,fg:d,bg:d,flags:0,width:1};function v(e,t){if(!/^#[0-9a-f]{6}$/i.test(e))throw Error(`@wterm/ghostty: ${t} must be a #RRGGBB color`);return Number.parseInt(e.slice(1),16)}function y(e){let t=e.imageStorageLimit??m;if(!Number.isSafeInteger(t)||t<0||t>h)throw Error(`@wterm/ghostty: imageStorageLimit must be an integer between 0 and 4294967295`);return t}function b(e){return{generation:e.generation,images:e.images.map(e=>({...e})),placements:e.placements.map(e=>({...e}))}}var x=class e{constructor(e,t){this.termPtr=0,this._viewportBufPtr=0,this._viewportBufSize=0,this._viewportView=null,this._viewportStale=!0,this._cols=0,this._rows=0,this._scrollbackBufPtr=0,this._scrollbackBufSize=0,this._scrollbackView=null,this._scrollbackOffset=-1,this._scrollbackLen=0,this._graphemeBufPtr=0,this._graphemeBufSize=256,this._hyperlinkBufPtr=0,this._hyperlinkBufSize=f,this._graphicsBufPtr=0,this._graphicsBufSize=0,this._graphicsState=null,this._disposed=!1,this.wasm=e,this._options=t,this._foregroundRgb=v(t.foregroundColor??`#d4d4d4`,`foregroundColor`),this._backgroundRgb=v(t.backgroundColor??`#1e1e1e`,`backgroundColor`)}static async load(t={}){let n=await r(t.wasmPath);return new e(n,t)}init(e,t){if(this._disposed)return;this.termPtr!==0&&this._deinitTerminal(),this._cols=e,this._rows=t;let n=this._options.scrollbackLimit??1e4;this.termPtr=this.wasm.exports.init(e,t,n,this._foregroundRgb,this._backgroundRgb,y(this._options)),this.termPtr!==0&&(this._graphemeBufPtr!==0&&o(this.wasm,this._graphemeBufPtr,this._graphemeBufSize),this._graphemeBufPtr=a(this.wasm,256),this._hyperlinkBufPtr!==0&&o(this.wasm,this._hyperlinkBufPtr,this._hyperlinkBufSize),this._hyperlinkBufSize=f,this._hyperlinkBufPtr=a(this.wasm,f),this._allocViewportBuffer(),this._invalidate())}resize(e,t){this._disposed||this.termPtr===0||(this._cols=e,this._rows=t,this.wasm.exports.resize(this.termPtr,e,t),this._allocViewportBuffer(),this._invalidate())}writeString(e,t){this._disposed||this.termPtr===0||(l(this.wasm,this.termPtr,e,t),this._invalidate())}writeRaw(e,t){this._disposed||this.termPtr===0||(u(this.wasm,this.termPtr,e,t),this._invalidate())}getCell(e,t){if(this._disposed||this.termPtr===0)return _;this._ensureViewport();let n=this._viewportView;if(!n)return _;let r=(e*this._cols+t)*16;if(r+16>this._viewportBufSize)return _;let a=i(n,r);if(a.codepoint===0&&a.flags===0&&a.colorFlags===0&&!a.hasHyperlink&&a.width!==0)return _;let o={char:a.codepoint||32,fg:d,bg:d,flags:a.flags,width:a.width};return a.hasGrapheme&&(o.chars=this._readGrapheme(e,t)),a.hasHyperlink&&Object.assign(o,this._readHyperlink(e,t,!1)),a.colorFlags&1&&(o.fgRgb=g(a.fgR,a.fgG,a.fgB)),a.colorFlags&2&&(o.bgRgb=g(a.bgR,a.bgG,a.bgB)),o}isDirtyRow(e){return this._disposed||this.termPtr===0?!1:(this._ensureViewport(),this.wasm.exports.is_dirty_row(this.termPtr,e)!==0)}clearDirty(){this._disposed||this.termPtr===0||(this.wasm.exports.clear_dirty(this.termPtr),this._viewportStale=!0)}getCols(){return this._cols}getRows(){return this._rows}getCursor(){return this._disposed||this.termPtr===0?{row:0,col:0,visible:!1}:(this._ensureViewport(),{row:this.wasm.exports.get_cursor_row(this.termPtr),col:this.wasm.exports.get_cursor_col(this.termPtr),visible:this.wasm.exports.get_cursor_visible(this.termPtr)!==0})}cursorKeysApp(){return this._disposed||this.termPtr===0?!1:this.wasm.exports.cursor_keys_app(this.termPtr)!==0}bracketedPaste(){return this._disposed||this.termPtr===0?!1:this.wasm.exports.bracketed_paste(this.termPtr)!==0}usingAltScreen(){return this._disposed||this.termPtr===0?!1:this.wasm.exports.using_alt_screen(this.termPtr)!==0}mouseTracking(){if(this._disposed||this.termPtr===0)return 0;let e=this.wasm.exports.mouse_tracking(this.termPtr);return e===1e3||e===1002?e:0}mouseSgr(){return this._disposed||this.termPtr===0?!1:this.wasm.exports.mouse_sgr(this.termPtr)!==0}focusEvents(){return this._disposed||this.termPtr===0?!1:this.wasm.exports.focus_events(this.termPtr)!==0}synchronizedOutput(){return this._disposed||this.termPtr===0?!1:this.wasm.exports.synchronized_output(this.termPtr)!==0}synchronizedOutputGeneration(){return this._disposed||this.termPtr===0?0:this.wasm.exports.synchronized_output_generation(this.termPtr)}kittyKeyboardFlags(){return this._disposed||this.termPtr===0?0:this.wasm.exports.kitty_keyboard_flags?.(this.termPtr)??0}getGraphicsState(){if(this._disposed||this.termPtr===0)return null;let e=this.wasm.exports.graphics_generation?.(this.termPtr),t=this.wasm.exports.graphics_image_count?.(this.termPtr)??0,n=this.wasm.exports.graphics_placement_count?.(this.termPtr)??0;if(e===void 0||!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||!Number.isSafeInteger(n)||t<0||n<0||t>16384||n>16384)return null;let r=t,i=n;if(!Number.isSafeInteger(r)||!Number.isSafeInteger(i))return null;let l=r*16+i*60;if(!Number.isSafeInteger(l))return null;if(l===0){this._graphicsBufPtr!==0&&o(this.wasm,this._graphicsBufPtr,this._graphicsBufSize),this._graphicsBufPtr=0,this._graphicsBufSize=0;let t={generation:e,images:[],placements:[]};return this._graphicsState=t,b(t)}if((l!==this._graphicsBufSize||this._graphicsBufPtr===0)&&(this._graphicsBufPtr!==0&&o(this.wasm,this._graphicsBufPtr,this._graphicsBufSize),this._graphicsBufSize=l,this._graphicsBufPtr=a(this.wasm,l)),this._graphicsBufPtr===0)return null;try{let t=s(this.wasm,this.termPtr,this._graphicsBufPtr,r),n=c(this.wasm,this.termPtr,this._graphicsBufPtr+r*16,i),a={generation:e,images:t.map(e=>({...e})),placements:n.map(e=>({...e}))};return this._graphicsState=a,b(a)}catch{return null}}getGraphicsImage(e,t){if(this._disposed||this.termPtr===0)return null;let n=(this._graphicsState??this.getGraphicsState())?.images.find(n=>n.imageId===e&&n.version===t);if(!n||!this.wasm.exports.graphics_image_size||!this.wasm.exports.graphics_image_copy)return null;let r;try{r=this.wasm.exports.graphics_image_size(this.termPtr,e,t)}catch{return null}let i=n.width*n.height*4;if(!Number.isSafeInteger(r)||r<=0||!Number.isSafeInteger(i)||r!==i)return null;let s=a(this.wasm,r);if(s===0)return null;try{let i=this.wasm.exports.graphics_image_copy(this.termPtr,e,t,s,r);if(i!==r)return null;let a=new Uint8Array(this.wasm.exports.memory.buffer,s,i).slice();return{imageId:e,version:t,width:n.width,height:n.height,rgba:a}}catch{return null}finally{o(this.wasm,s,r)}}getResourceState(){let e=y(this._options);if(this._disposed||!this.termPtr||!this.wasm.exports.graphics_image_count)return{};let t=this.getGraphicsState(),n=this.wasm.exports.graphics_bytes_used?.(this.termPtr)??0,r=this.wasm.exports.graphics_capacity?.(this.termPtr)??e,i=this.wasm.exports.graphics_rejected?.(this.termPtr)??0,a=this.wasm.exports.graphics_evicted?.(this.termPtr)??0;return{graphics:{capacity:Number.isSafeInteger(r)?r:e,used:Number.isSafeInteger(n)?n:0,imageCount:t?.images.length??0,placementCount:t?.placements.length??0,rejected:Number.isSafeInteger(i)?i:0,evicted:Number.isSafeInteger(a)?a:0,saturated:e>0&&n>=e}}}dispose(){this._disposed||(this._disposed=!0,this._deinitTerminal(),this._cols=0,this._rows=0)}_deinitTerminal(){if(this.termPtr!==0)try{this.wasm.exports.deinit(this.termPtr)}catch{}this.termPtr=0;for(let[e,t]of[[this._viewportBufPtr,this._viewportBufSize],[this._scrollbackBufPtr,this._scrollbackBufSize],[this._graphemeBufPtr,this._graphemeBufSize],[this._hyperlinkBufPtr,this._hyperlinkBufSize],[this._graphicsBufPtr,this._graphicsBufSize]])e!==0&&o(this.wasm,e,t);this._viewportBufPtr=this._scrollbackBufPtr=this._graphemeBufPtr=this._hyperlinkBufPtr=this._graphicsBufPtr=0,this._viewportBufSize=this._scrollbackBufSize=this._graphicsBufSize=0,this._viewportView=this._scrollbackView=null,this._scrollbackOffset=-1,this._scrollbackLen=0,this._viewportStale=!0,this._graphicsState=null}getTitle(){return null}getResponse(){if(this._disposed||this.termPtr===0)return null;let e=4096,t=a(this.wasm,e);if(t===0)return null;let n=this.wasm.exports.read_response(this.termPtr,t,e);if(n===0)return o(this.wasm,t,e),null;let r=new Uint8Array(this.wasm.exports.memory.buffer,t,n),i=new TextDecoder().decode(r);return o(this.wasm,t,e),i}getScrollbackCount(){return this._disposed||this.termPtr===0?0:this.wasm.exports.get_scrollback_count(this.termPtr)}getScrollbackDiscardedCount(){return this._disposed||this.termPtr===0?0:this.wasm.exports.get_scrollback_discarded_count(this.termPtr)}getScrollbackCell(e,t){if(this._disposed||this.termPtr===0)return _;let n=this._ensureScrollbackLine(e),r=this._scrollbackView;if(!r||t>=n)return _;let a=i(r,t*16),o={char:a.codepoint||32,fg:d,bg:d,flags:a.flags,width:a.width};return a.hasGrapheme&&(o.chars=this._readScrollbackGrapheme(e,t)),a.hasHyperlink&&Object.assign(o,this._readHyperlink(e,t,!0)),a.colorFlags&1&&(o.fgRgb=g(a.fgR,a.fgG,a.fgB)),a.colorFlags&2&&(o.bgRgb=g(a.bgR,a.bgG,a.bgB)),o}getScrollbackLineLen(e){return this._disposed||this.termPtr===0?0:this._ensureScrollbackLine(e)}getUnhandledSequences(){return[]}_invalidate(){this._viewportStale=!0,this._scrollbackOffset=-1,this._graphicsState=null}_decodeGrapheme(e){if(e!==0&&this._graphemeBufPtr!==0)return new TextDecoder().decode(new Uint8Array(this.wasm.exports.memory.buffer,this._graphemeBufPtr,e))}_ensureGraphemeBuffer(e){e<=this._graphemeBufSize||(this._graphemeBufPtr!==0&&o(this.wasm,this._graphemeBufPtr,this._graphemeBufSize),this._graphemeBufSize=e,this._graphemeBufPtr=a(this.wasm,e))}_ensureHyperlinkBuffer(e){e<=this._hyperlinkBufSize||(this._hyperlinkBufPtr!==0&&o(this.wasm,this._hyperlinkBufPtr,this._hyperlinkBufSize),this._hyperlinkBufSize=e,this._hyperlinkBufPtr=a(this.wasm,e))}_readHyperlink(e,t,n){if(this._hyperlinkBufPtr===0)return;let r=n?this.wasm.exports.get_scrollback_hyperlink:this.wasm.exports.get_viewport_hyperlink,i=r(this.termPtr,e,t,this._hyperlinkBufPtr,this._hyperlinkBufSize);if(i>this._hyperlinkBufSize){if(this._ensureHyperlinkBuffer(i),this._hyperlinkBufPtr===0)return;i=r(this.termPtr,e,t,this._hyperlinkBufPtr,this._hyperlinkBufSize)}if(i===0||i>this._hyperlinkBufSize)return;let[a,o=``,s=``]=new TextDecoder().decode(new Uint8Array(this.wasm.exports.memory.buffer,this._hyperlinkBufPtr,i)).split(`\0`);if(!a)return;let c=o?`e\0${o}\0${a}`:`g\0${s}\0${a}`;return{linkUri:a,linkId:o||void 0,linkKey:c}}_readGrapheme(e,t){if(this._graphemeBufPtr===0||!this.wasm.exports.get_viewport_grapheme)return;let n=this.wasm.exports.get_viewport_grapheme(this.termPtr,e,t,this._graphemeBufPtr,this._graphemeBufSize);return n>this._graphemeBufSize&&(this._ensureGraphemeBuffer(n),n=this.wasm.exports.get_viewport_grapheme(this.termPtr,e,t,this._graphemeBufPtr,this._graphemeBufSize)),this._decodeGrapheme(n)}_readScrollbackGrapheme(e,t){if(this._graphemeBufPtr===0||!this.wasm.exports.get_scrollback_grapheme)return;let n=this.wasm.exports.get_scrollback_grapheme(this.termPtr,e,t,this._graphemeBufPtr,this._graphemeBufSize);return n>this._graphemeBufSize&&(this._ensureGraphemeBuffer(n),n=this.wasm.exports.get_scrollback_grapheme(this.termPtr,e,t,this._graphemeBufPtr,this._graphemeBufSize)),this._decodeGrapheme(n)}_allocViewportBuffer(){this._viewportBufPtr!==0&&o(this.wasm,this._viewportBufPtr,this._viewportBufSize),this._viewportBufSize=this._cols*this._rows*16,this._viewportBufPtr=a(this.wasm,this._viewportBufSize),this._viewportView=null,this._viewportStale=!0,this._scrollbackBufPtr!==0&&o(this.wasm,this._scrollbackBufPtr,this._scrollbackBufSize),this._scrollbackBufSize=this._cols*16,this._scrollbackBufPtr=a(this.wasm,this._scrollbackBufSize),this._scrollbackView=null,this._scrollbackOffset=-1}_ensureScrollbackLine(e){return this._scrollbackBufPtr===0?0:(this._scrollbackOffset!==e&&(this._scrollbackLen=this.wasm.exports.get_scrollback_line(this.termPtr,e,this._scrollbackBufPtr,this._cols),this._scrollbackOffset=e),this._scrollbackView?.buffer!==this.wasm.exports.memory.buffer&&(this._scrollbackView=new DataView(this.wasm.exports.memory.buffer,this._scrollbackBufPtr,this._scrollbackBufSize)),this._scrollbackLen)}_ensureViewport(){this._viewportStale&&=(this.wasm.exports.update(this.termPtr),this.wasm.exports.get_viewport(this.termPtr,this._viewportBufPtr),!1),this._viewportView?.buffer!==this.wasm.exports.memory.buffer&&(this._viewportView=new DataView(this.wasm.exports.memory.buffer,this._viewportBufPtr,this._viewportBufSize))}};export{x as GhosttyCore,p as MAX_IMAGE_BYTES};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./store-tvt1tIjf.js";import"./provider-BXpJxeAj.js";export{e as readMcpAuthEntries};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./provider-CkRuiBXe.js";export{e as readMcpAuthEntries};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(){return{version:`6.248.2`,releasedAt:`2026-10-12T15:20:44Z`,buildId:`6.248.2-mv5efutd`}}let t=null;function n(e){t=e}function r(){return t}export{e as n,n as r,r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./wc-onboarding-CuZD2L7O.js";export{e as hasOnboardingFinalLickInHistory};
|