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.
Files changed (146) hide show
  1. package/dist/ui/.vite/manifest.json +233 -208
  2. package/dist/ui/assets/{account-store-ns4WYcMU.js → account-store-CoiNHIE9.js} +1 -1
  3. package/dist/ui/assets/{account-store-D6Y7UkDR.js → account-store-EUAU8ivx.js} +1 -1
  4. package/dist/ui/assets/{adobe-X7Inkd3y.js → adobe-Cnyzs0z9.js} +1 -1
  5. package/dist/ui/assets/{adobe-DUTM1MYN.js → adobe-bJrGAM6E.js} +1 -1
  6. package/dist/ui/assets/{agent-panels-CKJsRdkX.js → agent-panels-DxCO1Hct.js} +1 -1
  7. package/dist/ui/assets/{almost-bash-shell-headless-ClalXJjr.js → almost-bash-shell-headless-BMKZNLwu.js} +15 -15
  8. package/dist/ui/assets/{apply-layout-CchSfN26.js → apply-layout-BjLmZ8CX.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-DyFYxvm3.js → azure-openai-C5kzBBrl.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-CKbMQD0r.js → azure-openai-CgL7nikU.js} +1 -1
  11. package/dist/ui/assets/{bunny-probe-C4NWuNUc.js → bunny-probe-AeE-5oRk.js} +1 -1
  12. package/dist/ui/assets/{bunny-run-i0aWgiSm.js → bunny-run-Dqkr4mRC.js} +1 -1
  13. package/dist/ui/assets/{cdp-DQxci1TE.js → cdp-DU50qKlQ.js} +1 -1
  14. package/dist/ui/assets/{cerebras-DIP7_DDR.js → cerebras-C4IlgrId.js} +1 -1
  15. package/dist/ui/assets/{cerebras-CxUX42e1.js → cerebras-Exx59PmI.js} +1 -1
  16. package/dist/ui/assets/{composer-speech-BG6t0naa.js → composer-speech-CtvE78Rx.js} +1 -1
  17. package/dist/ui/assets/{connect-surface-D2XK41nE.js → connect-surface-Bvi30iYd.js} +1 -1
  18. package/dist/ui/assets/{directed-approval-B12urAW4.js → directed-approval-CQVXF9kD.js} +1 -1
  19. package/dist/ui/assets/dist-CegW-G1M.js +1 -0
  20. package/dist/ui/assets/dist-kcvXs5tL.js +5 -0
  21. package/dist/ui/assets/{emscripten-vfs-hook-CWvY9WeB.js → emscripten-vfs-hook-G9JRg26r.js} +1 -1
  22. package/dist/ui/assets/{fast-path-R8Tr2lTS.js → fast-path-Bwq0oDa5.js} +1 -1
  23. package/dist/ui/assets/{frozen-archive-writer-CbV_CMOh.js → frozen-archive-writer-DV7A8nNw.js} +1 -1
  24. package/dist/ui/assets/{frozen-archive-writer-Ceh2la4q.js → frozen-archive-writer-DV8CfTGq.js} +1 -1
  25. package/dist/ui/assets/{frozen-session-delete-D5D_Ne2e.js → frozen-session-delete-KNFPPuJe.js} +1 -1
  26. package/dist/ui/assets/{frozen-session-identity-gJ9_AdhB.js → frozen-session-identity-B46HFhaz.js} +1 -1
  27. package/dist/ui/assets/{frozen-session-identity-BaOmOPkW.js → frozen-session-identity-CF594WMJ.js} +1 -1
  28. package/dist/ui/assets/{gelatiere-unit-C7ZNZUSc.js → gelatiere-unit-BnExmaTM.js} +1 -1
  29. package/dist/ui/assets/{ghostty-vt-BeUP0ymd.wasm → ghostty-vt--DTGF19l.wasm} +0 -0
  30. package/dist/ui/assets/{github-6DwMsMnA.js → github-BrjjZAsX.js} +1 -1
  31. package/dist/ui/assets/{github-1mLybvS_.js → github-C6Rd03wJ.js} +1 -1
  32. package/dist/ui/assets/{github-copilot-BfIxbhi4.js → github-copilot-DqpGzQw_.js} +1 -1
  33. package/dist/ui/assets/{github-copilot-N-tzbR5P.js → github-copilot-_OyzohK5.js} +1 -1
  34. package/dist/ui/assets/{hear-Ct45sfIf.js → hear-BN5luL3S.js} +1 -1
  35. package/dist/ui/assets/{js-realm-worker-Cu7m3Um0.js → js-realm-worker-DUoX2h5j.js} +2 -2
  36. package/dist/ui/assets/{jsh-executor-Dl-C6Zsf.js → jsh-executor-B_ddQzto.js} +2 -2
  37. package/dist/ui/assets/{kernel-worker-C8b5lZTP.js → kernel-worker-MybuXyBd.js} +8 -8
  38. package/dist/ui/assets/{lick-ws-bridge-D-E79_1_.js → lick-ws-bridge-CPjy5dPn.js} +1 -1
  39. package/dist/ui/assets/{lick-ws-bridge-h5gzMRSW.js → lick-ws-bridge-DEmDlxVR.js} +1 -1
  40. package/dist/ui/assets/{live-session-curation-Cyo4-AT4.js → live-session-curation-C9AY4psl.js} +1 -1
  41. package/dist/ui/assets/{live-session-curation-SLge-cX1.js → live-session-curation-ChkffqSA.js} +1 -1
  42. package/dist/ui/assets/{live-session-snapshot-pRBKYrJ8.js → live-session-snapshot-DwWIWtG9.js} +1 -1
  43. package/dist/ui/assets/{local-llm-BlHvV5yP.js → local-llm-B-KVBQuy.js} +1 -1
  44. package/dist/ui/assets/{local-llm-ENpj_eMH.js → local-llm-BI7bYfoc.js} +1 -1
  45. package/dist/ui/assets/{main-cherry-C7-exyW-.js → main-cherry-CQgQpSib.js} +1 -1
  46. package/dist/ui/assets/{main-DfG-7olk.js → main-pp1LzVcX.js} +3 -3
  47. package/dist/ui/assets/{mcp-command-17_LRqwb.js → mcp-command-B779bOTK.js} +10 -10
  48. package/dist/ui/assets/{memory-curation-seam-CCSYlceq.js → memory-curation-seam-ByPo8cGi.js} +1 -1
  49. package/dist/ui/assets/{memory-health-BvHYn77g.js → memory-health-DcxlUrXc.js} +1 -1
  50. package/dist/ui/assets/{memory-write-execute-DgQbDA3A.js → memory-write-execute-CKI-9ZAP.js} +1 -1
  51. package/dist/ui/assets/{merge-folded-cost-into-frozen-JhDEaEfs.js → merge-folded-cost-into-frozen-DIYTak4p.js} +1 -1
  52. package/dist/ui/assets/{new-session-CnoNDTuz.js → new-session-g_r_qcmc.js} +2 -2
  53. package/dist/ui/assets/{oauth-bootstrap-ChsezcFC.js → oauth-bootstrap-DreVl6g7.js} +2 -2
  54. package/dist/ui/assets/{onboarding-orchestrator-DVgfzjFI.js → onboarding-orchestrator-C2EOhp34.js} +1 -1
  55. package/dist/ui/assets/{openai-codex-C-kcHoOI.js → openai-codex-B8pw-NWl.js} +1 -1
  56. package/dist/ui/assets/{openai-codex-Dv0f6Zky.js → openai-codex-C4Tm1S2D.js} +1 -1
  57. package/dist/ui/assets/{openrouter-43Pclqtc.js → openrouter-B0EqwIn3.js} +1 -1
  58. package/dist/ui/assets/{openrouter-Cpv4zDcO.js → openrouter-CzQ8Mfh0.js} +1 -1
  59. package/dist/ui/assets/{openrouter-free-FKyXQM6S.js → openrouter-free-Cl4RHvyD.js} +1 -1
  60. package/dist/ui/assets/{openrouter-free-ChP9MxdX.js → openrouter-free-CpKJupv_.js} +1 -1
  61. package/dist/ui/assets/{openrouter-oauth-BG3--aWC.js → openrouter-oauth-0yFjXvrc.js} +1 -1
  62. package/dist/ui/assets/{openrouter-oauth-CNF2eLlh.js → openrouter-oauth-BRahdbZ4.js} +1 -1
  63. package/dist/ui/assets/{panel-rpc-handlers-bwwGloEJ.js → panel-rpc-handlers-GkEWjrsh.js} +2 -2
  64. package/dist/ui/assets/{panelize-shell-CHcICs0K.js → panelize-shell-CtMH6CGD.js} +1 -1
  65. package/dist/ui/assets/{pi-edit-execution-De18yFud.js → pi-edit-execution-ru_RSE31.js} +1 -1
  66. package/dist/ui/assets/{provider-CkRuiBXe.js → provider-Dm5ZNpu9.js} +1 -1
  67. package/dist/ui/assets/{provider-BXpJxeAj.js → provider-qOOj0Bx4.js} +1 -1
  68. package/dist/ui/assets/{provider-settings-BiHtUcJy.js → provider-settings-Dts8qnq0.js} +1 -1
  69. package/dist/ui/assets/provider-store-access-C_mdEz_o.js +1 -0
  70. package/dist/ui/assets/provider-store-access-TfpqgcQb.js +1 -0
  71. package/dist/ui/assets/{providers-4SFNzKj4.js → providers-CEBpTOtO.js} +2 -2
  72. package/dist/ui/assets/{providers-CNMsS7p4.js → providers-IksVbHjy.js} +1 -1
  73. package/dist/ui/assets/{quick-llm-D46cR1qL.js → quick-llm-BKYqGAke.js} +1 -1
  74. package/dist/ui/assets/{realm-inprocess-BM3rzakW.js → realm-inprocess-ZgBNrBFy.js} +2 -2
  75. package/dist/ui/assets/{realm-unhandled-rejections-CtQi1yQa.js → realm-unhandled-rejections-Dlau5E21.js} +1 -1
  76. package/dist/ui/assets/{realm-unhandled-rejections-OEjbIKa3.js → realm-unhandled-rejections-VXmx0XIB.js} +1 -1
  77. package/dist/ui/assets/{recovery-screen-f0eMynNT.js → recovery-screen-NNWQWNqn.js} +1 -1
  78. package/dist/ui/assets/{remote-terminal-view-BvBX-VtU.js → remote-terminal-view-oOTCkn_X.js} +2 -2
  79. package/dist/ui/assets/{restore-DB68Gs49.js → restore-zlhvIM6j.js} +1 -1
  80. package/dist/ui/assets/{run-Ddy8I2eX.js → run-BGO-UaQS.js} +1 -1
  81. package/dist/ui/assets/{run-lA9Glhv6.js → run-BY-WnPWq.js} +2 -2
  82. package/dist/ui/assets/{run-QCY2mHg_.js → run-Cei5Q63u.js} +2 -2
  83. package/dist/ui/assets/{run-DbiSqYHp.js → run-DD-Zc-AI.js} +2 -2
  84. package/dist/ui/assets/{run-DxAKJMli.js → run-DW2M8USl.js} +2 -2
  85. package/dist/ui/assets/{run-Cb9nH_3a.js → run-DfaMtqBW.js} +1 -1
  86. package/dist/ui/assets/{run-DwJ5gSg3.js → run-rfYH3Q6m.js} +1 -1
  87. package/dist/ui/assets/{serve-command-CrjFrMtN.js → serve-command-Bkb8RYZg.js} +2 -2
  88. package/dist/ui/assets/{serve-runtime-Df_C7Bwg.js → serve-runtime-BWUwkiqv.js} +1 -1
  89. package/dist/ui/assets/{session-command-memory-CsOEa_ms.js → session-command-memory-nKG4sb28.js} +2 -2
  90. package/dist/ui/assets/{session-jsonl-CMk3OfCb.js → session-jsonl-B5phOLgv.js} +1 -1
  91. package/dist/ui/assets/{session-jsonl-By2cMFbj.js → session-jsonl-Ca8gi9Dg.js} +1 -1
  92. package/dist/ui/assets/{session-search-index-CQZ4zHoN.js → session-search-index-tweAFlvW.js} +1 -1
  93. package/dist/ui/assets/{setup-feature-flags-remote-B5Zj6DG2.js → setup-feature-flags-remote-Bnrz-kqW.js} +1 -1
  94. package/dist/ui/assets/{setup-model-catalog-DF_b-L0I.js → setup-model-catalog-DPoX_vRY.js} +1 -1
  95. package/dist/ui/assets/{silent-renew-backoff-DdGLoVuv.js → silent-renew-backoff-CMGVLIXZ.js} +1 -1
  96. package/dist/ui/assets/slicc-version-D9VMviCR.js +1 -0
  97. package/dist/ui/assets/{soundscape-DEhbJ-ug.js → soundscape-DtFo8gPx.js} +1 -1
  98. package/dist/ui/assets/{speak-BoErE_TJ.js → speak-BNqo53H8.js} +1 -1
  99. package/dist/ui/assets/{sprinkle-manager-Bl1h68AL.js → sprinkle-manager-KZBan5ot.js} +1 -1
  100. package/dist/ui/assets/{sprinkle-renderer-B9Kv4iHS.js → sprinkle-renderer-GOx0t_KB.js} +1 -1
  101. package/dist/ui/assets/{src-BQf5Kp1T.js → src-C5tBXKh_.js} +2 -2
  102. package/dist/ui/assets/{ssh-CMLjKc-C.js → ssh-CgmHQfC4.js} +1 -1
  103. package/dist/ui/assets/{sudo-CXCObhqu.js → sudo-CfhS3XDc.js} +1 -1
  104. package/dist/ui/assets/{supervisor-D09OiqeU.js → supervisor-DXke_KPH.js} +1 -1
  105. package/dist/ui/assets/{sync-dialog-D-i17d_q.js → sync-dialog-B4XIyWlR.js} +1 -1
  106. package/dist/ui/assets/{transformers-env-C6K6s36u.js → transformers-env-C6_kFf6e.js} +1 -1
  107. package/dist/ui/assets/{tray-leader-0GIP6SM2.js → tray-leader-CrSh1Fel.js} +1 -1
  108. package/dist/ui/assets/{tray-leave-runtime-TPEwLpwn.js → tray-leave-runtime-wJkN1AA0.js} +1 -1
  109. package/dist/ui/assets/{tray-sidecar-Cjoy27SR.js → tray-sidecar-DlOOGPQH.js} +1 -1
  110. package/dist/ui/assets/{upgrade-detection-Du2ZH4V4.js → upgrade-detection-Ct24ndl7.js} +1 -1
  111. package/dist/ui/assets/{voice-reply-Bcxvx3tf.js → voice-reply-CxXL_kEA.js} +1 -1
  112. package/dist/ui/assets/warm-wterm-DQwmz7G4.js +1 -0
  113. package/dist/ui/assets/wasm-inline-DSUyFn1L.js +1 -0
  114. package/dist/ui/assets/{wc-attach-x14l9M_B.js → wc-attach-Cmjdm23i.js} +2 -2
  115. package/dist/ui/assets/{wc-browser-C2zfIRBm.js → wc-browser-SUzkjJTA.js} +1 -1
  116. package/dist/ui/assets/{wc-computers-D3xFwdpr.js → wc-computers-BrBtwbOb.js} +1 -1
  117. package/dist/ui/assets/{wc-detached-CAFjtMoz.js → wc-detached-cVeDn3rP.js} +1 -1
  118. package/dist/ui/assets/{wc-extension-BR312mr2.js → wc-extension-VohpgpQG.js} +2 -2
  119. package/dist/ui/assets/{wc-follower-DE7WQb_h.js → wc-follower-BfOmPsV0.js} +3 -3
  120. package/dist/ui/assets/{wc-follower-oauth-DFiPwVPW.js → wc-follower-oauth-Br9RPRQJ.js} +1 -1
  121. package/dist/ui/assets/{wc-gelatiere-DjxUMudk.js → wc-gelatiere-WQR5AxZ9.js} +1 -1
  122. package/dist/ui/assets/{wc-live-aEmb1wYY.js → wc-live-Bj38qUgj.js} +5 -5
  123. package/dist/ui/assets/{wc-nav-DaPUjCh_.js → wc-nav-BHy21Jl4.js} +2 -2
  124. package/dist/ui/assets/{wc-onboarding-CuZD2L7O.js → wc-onboarding-DooXTaWX.js} +2 -2
  125. package/dist/ui/assets/{wc-permissions-dmftxiz6.js → wc-permissions-CUtqnNV2.js} +2 -2
  126. package/dist/ui/assets/{wc-placeholder-Dsw3z2er.js → wc-placeholder-Ca_dzZDr.js} +3 -3
  127. package/dist/ui/assets/{wc-secret-request-B4EOYPwa.js → wc-secret-request-CxHPy2MF.js} +1 -1
  128. package/dist/ui/assets/{wc-settings-BnIaH8l3.js → wc-settings-Bf68mx0s.js} +3 -3
  129. package/dist/ui/assets/{wc-shell-fIEX0Fr7.js → wc-shell-C0Y0f1tt.js} +234 -20
  130. package/dist/ui/assets/{wc-shortcut-config-BDxnaOQ1.js → wc-shortcut-config-CkCG_Ehd.js} +1 -1
  131. package/dist/ui/assets/{wc-sprinkles-DUpa4cWM.js → wc-sprinkles-BlFVp_Zu.js} +2 -2
  132. package/dist/ui/assets/{wc-transcript-export-r0Cw8Qpa.js → wc-transcript-export-DWFK7w_9.js} +2 -2
  133. package/dist/ui/assets/{wc-tray-BY31Fswm.js → wc-tray-BU_mkrQK.js} +4 -4
  134. package/dist/ui/assets/welcome-detection-3uAUZPVw.js +1 -0
  135. package/dist/ui/assets/{whisper-session-DoB1nala.js → whisper-session-7VWAVhAF.js} +2 -2
  136. package/dist/ui/assets/{xai-grok-GgyXbIKx.js → xai-grok-6WPJsfyI.js} +1 -1
  137. package/dist/ui/assets/{xai-grok-DUH1s394.js → xai-grok-Cl-8KspF.js} +1 -1
  138. package/dist/ui/index.html +3 -3
  139. package/dist/ui/packages/webapp/index.html +3 -3
  140. package/package.json +1 -1
  141. package/dist/ui/assets/dist-CaUJj_g5.js +0 -1
  142. package/dist/ui/assets/dist-DBSQLDw2.js +0 -1
  143. package/dist/ui/assets/provider-store-access-BGpLWm69.js +0 -1
  144. package/dist/ui/assets/provider-store-access-BWuEjd9t.js +0 -1
  145. package/dist/ui/assets/slicc-version-BHbvdY0F.js +0 -1
  146. package/dist/ui/assets/welcome-detection-Cf37YU0q.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as e}from"./diagnostics-B-5VkVir.js";import{t}from"./models-D9KYIFyv.js";import{a as n}from"./compat-0YnuwvMn.js";import{b as r,g as i}from"./account-store-D6Y7UkDR.js";import{r as a,t as o}from"./transform-messages-DF4OdhKs.js";import{n as s,t as c}from"./pi-transcript-context-DZyPy5yf.js";function l(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function u(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var d=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return d=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function f(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var p=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)},m=class extends Error{},h=class e extends m{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`x-request-id`),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new _({message:r,cause:p(n)});let a=n?.error;return t===400?new y(t,a,r,i):t===401?new b(t,a,r,i):t===403?new x(t,a,r,i):t===404?new ee(t,a,r,i):t===409?new te(t,a,r,i):t===422?new ne(t,a,r,i):t===429?new re(t,a,r,i):t>=500?new ie(t,a,r,i):new e(t,a,r,i)}},g=class extends h{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},_=class extends h{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},v=class extends _{constructor({message:e}={}){super({message:e??`Request timed out.`})}},y=class extends h{},b=class extends h{},x=class extends h{},ee=class extends h{},te=class extends h{},ne=class extends h{},re=class extends h{},ie=class extends h{},ae=class extends m{constructor(){super(`Could not parse response content as the length limit was reached`)}},oe=class extends m{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},se=class extends Error{constructor(e){super(e)}},ce=class extends h{constructor(e,t,n){let r=`OAuth2 authentication error`,i;if(t&&typeof t==`object`){let e=t;i=e.error;let n=e.error_description;n&&typeof n==`string`?r=n:i&&(r=i)}super(e,t,r,n),this.error_code=i}},le=class extends m{constructor(e,t,n){super(e),this.provider=t,this.cause=n}},ue=/^[a-z][a-z0-9+.-]*:/i,de=e=>ue.test(e),S=e=>(S=Array.isArray,S(e)),fe=S;function pe(e){return typeof e==`object`?e??{}:{}}function me(e){if(!e)return!0;for(let t in e)return!1;return!0}function he(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ge=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new m(`${e} must be an integer`);if(t<0)throw new m(`${e} must be a positive integer`);return t},_e=e=>{try{return JSON.parse(e)}catch{return}},ve=e=>new Promise(t=>setTimeout(t,e));function ye(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function be(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function xe(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return be({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function Se(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function Ce(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var we;function w(e){let t;return(we??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}var Te;function Ee(e){let t;return(Te??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var De,T,E,D,O,Oe,ke,Ae=65536,je=class{constructor(){De.add(this),T.set(this,void 0),E.set(this,void 0),D.set(this,void 0),O.set(this,void 0),Oe.set(this,void 0),l(this,T,new Uint8Array,`f`),l(this,E,0,`f`),l(this,D,0,`f`),l(this,O,0,`f`),l(this,Oe,!1,`f`)}decode(e){if(e==null)return[];let t;if(t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?w(e):e,t.length===0||u(this,Oe,`f`)&&(l(this,Oe,!1,`f`),t[0]===10&&(t=t.subarray(1)),t.length===0))return[];u(this,De,`m`,ke).call(this,t);let n=[],r;for(;(r=Me(u(this,T,`f`),u(this,O,`f`),u(this,D,`f`)))!=null;){let e=Ee(u(this,T,`f`).subarray(u(this,E,`f`),r.preceding));n.push(e),l(this,E,r.index,`f`),r.carriage&&(u(this,E,`f`)<u(this,D,`f`)&&u(this,T,`f`)[u(this,E,`f`)]===10?l(this,E,u(this,E,`f`)+1,`f`):u(this,E,`f`)===u(this,D,`f`)&&l(this,Oe,!0,`f`)),l(this,O,u(this,E,`f`),`f`)}if(l(this,O,u(this,D,`f`),`f`),u(this,E,`f`)===u(this,D,`f`))l(this,E,0,`f`),l(this,D,0,`f`),l(this,O,0,`f`),u(this,T,`f`).length>Ae&&l(this,T,new Uint8Array,`f`);else if(n.length>0&&u(this,T,`f`).length>Ae){let e=u(this,D,`f`)-u(this,E,`f`);if(e<=Ae||u(this,T,`f`).length>e*4){let t=e<=Ae?Math.min(Math.max(e*2,256),Ae):e*2,n=new Uint8Array(t);n.set(u(this,T,`f`).subarray(u(this,E,`f`),u(this,D,`f`))),l(this,T,n,`f`),l(this,E,0,`f`),l(this,D,e,`f`),l(this,O,e,`f`)}}return n}flush(){return l(this,Oe,!1,`f`),u(this,E,`f`)===u(this,D,`f`)?[]:this.decode(`
1
+ import{a as e}from"./diagnostics-B-5VkVir.js";import{t}from"./models-D9KYIFyv.js";import{a as n}from"./compat-0YnuwvMn.js";import{b as r,g as i}from"./account-store-EUAU8ivx.js";import{r as a,t as o}from"./transform-messages-DF4OdhKs.js";import{n as s,t as c}from"./pi-transcript-context-DZyPy5yf.js";function l(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function u(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var d=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return d=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function f(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var p=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)},m=class extends Error{},h=class e extends m{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`x-request-id`),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new _({message:r,cause:p(n)});let a=n?.error;return t===400?new y(t,a,r,i):t===401?new b(t,a,r,i):t===403?new x(t,a,r,i):t===404?new ee(t,a,r,i):t===409?new te(t,a,r,i):t===422?new ne(t,a,r,i):t===429?new re(t,a,r,i):t>=500?new ie(t,a,r,i):new e(t,a,r,i)}},g=class extends h{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},_=class extends h{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},v=class extends _{constructor({message:e}={}){super({message:e??`Request timed out.`})}},y=class extends h{},b=class extends h{},x=class extends h{},ee=class extends h{},te=class extends h{},ne=class extends h{},re=class extends h{},ie=class extends h{},ae=class extends m{constructor(){super(`Could not parse response content as the length limit was reached`)}},oe=class extends m{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},se=class extends Error{constructor(e){super(e)}},ce=class extends h{constructor(e,t,n){let r=`OAuth2 authentication error`,i;if(t&&typeof t==`object`){let e=t;i=e.error;let n=e.error_description;n&&typeof n==`string`?r=n:i&&(r=i)}super(e,t,r,n),this.error_code=i}},le=class extends m{constructor(e,t,n){super(e),this.provider=t,this.cause=n}},ue=/^[a-z][a-z0-9+.-]*:/i,de=e=>ue.test(e),S=e=>(S=Array.isArray,S(e)),fe=S;function pe(e){return typeof e==`object`?e??{}:{}}function me(e){if(!e)return!0;for(let t in e)return!1;return!0}function he(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function C(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var ge=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new m(`${e} must be an integer`);if(t<0)throw new m(`${e} must be a positive integer`);return t},_e=e=>{try{return JSON.parse(e)}catch{return}},ve=e=>new Promise(t=>setTimeout(t,e));function ye(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function be(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function xe(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return be({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function Se(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function Ce(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var we;function w(e){let t;return(we??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}var Te;function Ee(e){let t;return(Te??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var De,T,E,D,O,Oe,ke,Ae=65536,je=class{constructor(){De.add(this),T.set(this,void 0),E.set(this,void 0),D.set(this,void 0),O.set(this,void 0),Oe.set(this,void 0),l(this,T,new Uint8Array,`f`),l(this,E,0,`f`),l(this,D,0,`f`),l(this,O,0,`f`),l(this,Oe,!1,`f`)}decode(e){if(e==null)return[];let t;if(t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?w(e):e,t.length===0||u(this,Oe,`f`)&&(l(this,Oe,!1,`f`),t[0]===10&&(t=t.subarray(1)),t.length===0))return[];u(this,De,`m`,ke).call(this,t);let n=[],r;for(;(r=Me(u(this,T,`f`),u(this,O,`f`),u(this,D,`f`)))!=null;){let e=Ee(u(this,T,`f`).subarray(u(this,E,`f`),r.preceding));n.push(e),l(this,E,r.index,`f`),r.carriage&&(u(this,E,`f`)<u(this,D,`f`)&&u(this,T,`f`)[u(this,E,`f`)]===10?l(this,E,u(this,E,`f`)+1,`f`):u(this,E,`f`)===u(this,D,`f`)&&l(this,Oe,!0,`f`)),l(this,O,u(this,E,`f`),`f`)}if(l(this,O,u(this,D,`f`),`f`),u(this,E,`f`)===u(this,D,`f`))l(this,E,0,`f`),l(this,D,0,`f`),l(this,O,0,`f`),u(this,T,`f`).length>Ae&&l(this,T,new Uint8Array,`f`);else if(n.length>0&&u(this,T,`f`).length>Ae){let e=u(this,D,`f`)-u(this,E,`f`);if(e<=Ae||u(this,T,`f`).length>e*4){let t=e<=Ae?Math.min(Math.max(e*2,256),Ae):e*2,n=new Uint8Array(t);n.set(u(this,T,`f`).subarray(u(this,E,`f`),u(this,D,`f`))),l(this,T,n,`f`),l(this,E,0,`f`),l(this,D,e,`f`),l(this,O,e,`f`)}}return n}flush(){return l(this,Oe,!1,`f`),u(this,E,`f`)===u(this,D,`f`)?[]:this.decode(`
2
2
  `)}};T=new WeakMap,E=new WeakMap,D=new WeakMap,O=new WeakMap,Oe=new WeakMap,De=new WeakSet,ke=function(e){if(u(this,D,`f`)+e.length>u(this,T,`f`).length){let t=u(this,D,`f`)-u(this,E,`f`);if(u(this,E,`f`)>=u(this,T,`f`).length/2&&t+e.length<=u(this,T,`f`).length)u(this,T,`f`).copyWithin(0,u(this,E,`f`),u(this,D,`f`));else{let n=Math.max(u(this,T,`f`).length*2,t+e.length,256),r=new Uint8Array(n);r.set(u(this,T,`f`).subarray(u(this,E,`f`),u(this,D,`f`))),l(this,T,r,`f`)}l(this,O,u(this,O,`f`)-u(this,E,`f`),`f`),l(this,D,t,`f`),l(this,E,0,`f`)}u(this,T,`f`).set(e,u(this,D,`f`)),l(this,D,u(this,D,`f`)+e.length,`f`)},je.NEWLINE_CHARS=new Set([`
3
3
  `,`\r`]),je.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Me(e,t,n){for(let r=t;r<n;r++){if(e[r]===10)return{preceding:r,index:r+1,carriage:!1};if(e[r]===13)return{preceding:r,index:r+1,carriage:!0}}return null}function Ne(e){for(let t=0;t<e.length-1;t++){let n=Pe(e,t);if(n>0){let r=t+n,i=Pe(e,r);if(i>0)return r+i}}return-1}function Pe(e,t){return e[t]===10?1:e[t]===13?e[t+1]===10?2:1:0}var Fe={off:0,error:200,warn:300,info:400,debug:500},Ie=(e,t,n)=>{if(e){if(he(Fe,e))return e;k(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Fe))}`)}};function Le(){}function Re(e,t,n){return!t||Fe[e]>Fe[n]?Le:t[e].bind(t)}var ze={error:Le,warn:Le,info:Le,debug:Le},Be=new WeakMap;function k(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return ze;let r=Be.get(t);if(r&&r[0]===n)return r[1];let i={error:Re(`error`,t,n),warn:Re(`warn`,t,n),info:Re(`info`,t,n),debug:Re(`debug`,t,n)};return Be.set(t,[n,i]),i}var Ve=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`authorization`||e.toLowerCase()===`api-key`||e.toLowerCase()===`x-api-key`||e.toLowerCase()===`x-amz-security-token`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e),He,Ue=class e{constructor(e,t,n){He.set(this,void 0),this.iterator=e,this.controller=t,l(this,He,n,`f`)}static fromSSEResponse(t,n,r,i){let a=!1,o=r?k(r):console;async function*s(){if(a)throw new m("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");a=!0;let e=!1,r=!1;try{for await(let e of We(t,n)){if(e.data.startsWith(`[DONE]`)){r=!0;break}if(e.event===null||!e.event.startsWith(`thread.`)){let n;try{n=JSON.parse(e.data)}catch(t){throw o.error(`Could not parse message into JSON:`,e.data),o.error(`From chunk:`,e.raw),t}if(n&&n.error)throw new h(void 0,n.error,void 0,t.headers);yield i?{event:e.event,data:n}:n}else{let t;try{t=JSON.parse(e.data)}catch(t){throw console.error(`Could not parse message into JSON:`,e.data),console.error(`From chunk:`,e.raw),t}if(e.event===`error`)throw new h(void 0,t.error,t.message,void 0);yield{event:e.event,data:t}}}e=!0}catch(e){if(r||f(e)||n.signal.aborted&&e===n.signal.reason)return;throw e}finally{e||n.abort()}}return new e(s,n,r)}static fromReadableStream(t,n,r){let i=!1;async function*a(){let e=new je,r=t.getReader(),i=!1,a,o=()=>{a??=r.cancel(),a.catch(()=>void 0)};n.signal.addEventListener(`abort`,o,{once:!0});try{if(n.signal.aborted){o();return}for(;;){let{value:t,done:a}=await r.read();if(a){i=!0;break}if(n.signal.aborted)return;for(let r of e.decode(t)){if(n.signal.aborted)return;yield r}}if(n.signal.aborted)return;for(let t of e.flush()){if(n.signal.aborted)return;yield t}}finally{n.signal.removeEventListener(`abort`,o),i||o(),r.releaseLock()}}async function*o(){if(i)throw new m("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let t of a())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(n.signal.aborted||f(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[(He=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),i=e=>({next:()=>{if(e.length===0){let e=r.next();t.push(e),n.push(e)}return e.shift()}});return[new e(()=>i(t),this.controller,u(this,He,`f`)),new e(()=>i(n),this.controller,u(this,He,`f`))]}toReadableStream(){let e;return be({start:async()=>{e=this[Symbol.asyncIterator]()},async pull(t){try{let{value:n,done:r}=await e.next();if(r)return t.close();let i=w(JSON.stringify(n)+`
4
4
  `);t.enqueue(i)}catch(e){t.error(e)}},async cancel(){await e.return?.()}})}};async function*We(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new m(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new m(`Attempted to iterate over a response with no body`);let n=new qe,r=new je,i=Se(e.body);for await(let e of Ke(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}var Ge=3;async function*Ke(e){let t=new Uint8Array,n=0,r=0,i=0;for await(let a of e){if(a==null)continue;let e;if(e=a instanceof ArrayBuffer?new Uint8Array(a):typeof a==`string`?w(a):a,r+e.length>t.length){let a=r-n;if(n>=t.length/2&&a+e.length<=t.length)t.copyWithin(0,n,r);else{let i=new Uint8Array(Math.max(t.length*2,a+e.length));i.set(t.subarray(n,r)),t=i}i-=n,n=0,r=a}t.set(e,r),r+=e.length;let o;for(;(o=Ne(t.subarray(i,r)))!==-1;)o+=i,yield t.slice(n,o),n=o,i=n;i=Math.max(n,r-Ge)}r>n&&(yield t.slice(n,r))}var qe=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.slice(0,-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
@@ -1 +1 @@
1
- import{t as e}from"./bunny-run-i0aWgiSm.js";const t={avc:`h264`,hevc:`hevc`,vp8:`vp8`,vp9:`vp9`,av1:`av1`,prores:`prores`,aac:`aac`,opus:`opus`,mp3:`mp3`,vorbis:`vorbis`,flac:`flac`,ac3:`ac3`,eac3:`eac3`,dts:`dts`,"pcm-s16":`pcm_s16le`,"pcm-s16be":`pcm_s16be`,"pcm-s24":`pcm_s24le`,"pcm-s24be":`pcm_s24be`,"pcm-s32":`pcm_s32le`,"pcm-s32be":`pcm_s32be`,"pcm-f32":`pcm_f32le`,"pcm-f32be":`pcm_f32be`,"pcm-f64":`pcm_f64le`,"pcm-f64be":`pcm_f64be`,"pcm-u8":`pcm_u8`,"pcm-s8":`pcm_s8`,ulaw:`pcm_mulaw`,alaw:`pcm_alaw`,webvtt:`webvtt`},n={"video/mp4":`mov,mp4,m4a,3gp,3g2,mj2`,"audio/mp4":`mov,mp4,m4a,3gp,3g2,mj2`,"video/quicktime":`mov,mp4,m4a,3gp,3g2,mj2`,"video/webm":`matroska,webm`,"audio/webm":`matroska,webm`,"video/x-matroska":`matroska,webm`,"audio/x-matroska":`matroska,webm`,"audio/mpeg":`mp3`,"audio/wav":`wav`,"audio/wave":`wav`,"audio/x-wav":`wav`,"audio/ogg":`ogg`,"application/ogg":`ogg`,"video/ogg":`ogg`,"audio/aac":`aac`,"audio/flac":`flac`,"video/mp2t":`mpegts`},r={1:`mono`,2:`stereo`,3:`2.1`,4:`quad`,5:`5.0`,6:`5.1`,7:`6.1`,8:`7.1`};function i(e){return e.toFixed(6)}function a(e){if(!(e>0)||!Number.isFinite(e))return`0/0`;for(let t of[24,30,60,120])if(Math.abs(e-t*1e3/1001)<.001)return`${t*1e3}/1001`;if(Number.isInteger(e))return`${e}/1`;let t=Math.round(e*1e3);return Number.isInteger(t/1e3)?`${t/1e3}/1`:`${t}/1000`}function o(e){if(e!==null)return t[e]??e}async function s(e,t){let n={index:t,codec_type:`video`,codec_name:o(e.codec)};n.width=e.displayWidth,n.height=e.displayHeight;try{let t=await e.computeFrameRateMetrics();n.r_frame_rate=a(t.underlyingFrameRate??t.bestGuessFrameRate),n.avg_frame_rate=a(t.averageFrameRate)}catch{}return n}function c(e,t){let n=e.numberOfChannels;return{index:t,codec_type:`audio`,codec_name:o(e.codec),sample_rate:String(e.sampleRate),channels:n,channel_layout:r[n]??`${n} channels`}}async function l(e,t){let n=e.isVideoTrack()?await s(e,t):e.isAudioTrack()?c(e,t):{index:t,codec_type:e.type,codec_name:o(e.codec)};try{n.duration=i(await e.computeDuration())}catch{}let r=await e.getBitrate().catch(()=>null);r!==null&&r>0&&(n.bit_rate=String(Math.round(r)));let a=e.languageCode;return a&&a!==`und`&&(n.tags={language:a}),n}function u(e){let t={};for(let[n,r]of Object.entries(e.raw??{}))typeof r==`string`&&(t[n]=r);for(let n of[`title`,`artist`,`album`,`genre`,`comment`,`description`]){let r=e[n];typeof r==`string`&&!(n in t)&&(t[n]=r)}return Object.keys(t).length>0?t:void 0}async function d(t,r){let a=await e(),o=new a.Input({source:new a.BlobSource(t),formats:a.ALL_FORMATS});try{let e;try{e=await o.getFormat()}catch{return null}let a=await o.computeDuration(),s=await o.getFirstTimestamp(),c={filename:r,format_name:n[e.mimeType]??e.name.toLowerCase(),duration:i(a),start_time:i(s)};a>0&&(c.bit_rate=String(Math.round(t.size*8/a)));let d=u(await o.getMetadataTags().catch(()=>({})));d&&(c.tags=d);let f=await o.getTracks(),p=[];for(let[e,t]of f.entries())p.push(await l(t,e));return{format:c,streams:p}}finally{o.dispose()}}export{d as probeViaMediabunny};
1
+ import{t as e}from"./bunny-run-Dqkr4mRC.js";const t={avc:`h264`,hevc:`hevc`,vp8:`vp8`,vp9:`vp9`,av1:`av1`,prores:`prores`,aac:`aac`,opus:`opus`,mp3:`mp3`,vorbis:`vorbis`,flac:`flac`,ac3:`ac3`,eac3:`eac3`,dts:`dts`,"pcm-s16":`pcm_s16le`,"pcm-s16be":`pcm_s16be`,"pcm-s24":`pcm_s24le`,"pcm-s24be":`pcm_s24be`,"pcm-s32":`pcm_s32le`,"pcm-s32be":`pcm_s32be`,"pcm-f32":`pcm_f32le`,"pcm-f32be":`pcm_f32be`,"pcm-f64":`pcm_f64le`,"pcm-f64be":`pcm_f64be`,"pcm-u8":`pcm_u8`,"pcm-s8":`pcm_s8`,ulaw:`pcm_mulaw`,alaw:`pcm_alaw`,webvtt:`webvtt`},n={"video/mp4":`mov,mp4,m4a,3gp,3g2,mj2`,"audio/mp4":`mov,mp4,m4a,3gp,3g2,mj2`,"video/quicktime":`mov,mp4,m4a,3gp,3g2,mj2`,"video/webm":`matroska,webm`,"audio/webm":`matroska,webm`,"video/x-matroska":`matroska,webm`,"audio/x-matroska":`matroska,webm`,"audio/mpeg":`mp3`,"audio/wav":`wav`,"audio/wave":`wav`,"audio/x-wav":`wav`,"audio/ogg":`ogg`,"application/ogg":`ogg`,"video/ogg":`ogg`,"audio/aac":`aac`,"audio/flac":`flac`,"video/mp2t":`mpegts`},r={1:`mono`,2:`stereo`,3:`2.1`,4:`quad`,5:`5.0`,6:`5.1`,7:`6.1`,8:`7.1`};function i(e){return e.toFixed(6)}function a(e){if(!(e>0)||!Number.isFinite(e))return`0/0`;for(let t of[24,30,60,120])if(Math.abs(e-t*1e3/1001)<.001)return`${t*1e3}/1001`;if(Number.isInteger(e))return`${e}/1`;let t=Math.round(e*1e3);return Number.isInteger(t/1e3)?`${t/1e3}/1`:`${t}/1000`}function o(e){if(e!==null)return t[e]??e}async function s(e,t){let n={index:t,codec_type:`video`,codec_name:o(e.codec)};n.width=e.displayWidth,n.height=e.displayHeight;try{let t=await e.computeFrameRateMetrics();n.r_frame_rate=a(t.underlyingFrameRate??t.bestGuessFrameRate),n.avg_frame_rate=a(t.averageFrameRate)}catch{}return n}function c(e,t){let n=e.numberOfChannels;return{index:t,codec_type:`audio`,codec_name:o(e.codec),sample_rate:String(e.sampleRate),channels:n,channel_layout:r[n]??`${n} channels`}}async function l(e,t){let n=e.isVideoTrack()?await s(e,t):e.isAudioTrack()?c(e,t):{index:t,codec_type:e.type,codec_name:o(e.codec)};try{n.duration=i(await e.computeDuration())}catch{}let r=await e.getBitrate().catch(()=>null);r!==null&&r>0&&(n.bit_rate=String(Math.round(r)));let a=e.languageCode;return a&&a!==`und`&&(n.tags={language:a}),n}function u(e){let t={};for(let[n,r]of Object.entries(e.raw??{}))typeof r==`string`&&(t[n]=r);for(let n of[`title`,`artist`,`album`,`genre`,`comment`,`description`]){let r=e[n];typeof r==`string`&&!(n in t)&&(t[n]=r)}return Object.keys(t).length>0?t:void 0}async function d(t,r){let a=await e(),o=new a.Input({source:new a.BlobSource(t),formats:a.ALL_FORMATS});try{let e;try{e=await o.getFormat()}catch{return null}let a=await o.computeDuration(),s=await o.getFirstTimestamp(),c={filename:r,format_name:n[e.mimeType]??e.name.toLowerCase(),duration:i(a),start_time:i(s)};a>0&&(c.bit_rate=String(Math.round(t.size*8/a)));let d=u(await o.getMetadataTags().catch(()=>({})));d&&(c.tags=d);let f=await o.getTracks(),p=[];for(let[e,t]of f.entries())p.push(await l(t,e));return{format:c,streams:p}}finally{o.dispose()}}export{d as probeViaMediabunny};
@@ -1 +1 @@
1
- let e=null;function t(){return e??=import(`./src-BQf5Kp1T.js`).catch(t=>{throw e=null,t}),e}function n(e,t){switch(t){case`very_low`:return e.QUALITY_VERY_LOW;case`low`:return e.QUALITY_LOW;case`medium`:return e.QUALITY_MEDIUM;case`high`:return e.QUALITY_HIGH;case`very_high`:return e.QUALITY_VERY_HIGH}}function r(e,t){switch(t.container){case`mp4`:return new e.Mp4OutputFormat({fastStart:t.fastStart});case`mov`:return new e.MovOutputFormat({fastStart:t.fastStart});case`webm`:return new e.WebMOutputFormat;case`mkv`:return new e.MkvOutputFormat;case`mp3`:return new e.Mp3OutputFormat;case`wav`:return new e.WavOutputFormat;case`ogg`:return new e.OggOutputFormat;case`flac`:return new e.FlacOutputFormat;case`adts`:return new e.AdtsOutputFormat;case`mpegts`:return new e.MpegTsOutputFormat}}function i(e,t){if(t.discard)return{discard:!0};let r={};return t.codec&&(r.codec=t.codec),t.bitrate===void 0?t.quality&&(r.bitrate=n(e,t.quality)):r.bitrate=t.bitrate,t.width!==void 0&&(r.width=t.width),t.height!==void 0&&(r.height=t.height),t.fit&&(r.fit=t.fit),t.rotate!==void 0&&(r.rotate=t.rotate),t.crop&&(r.crop=t.crop),t.frameRate!==void 0&&(r.frameRate=t.frameRate),t.keyFrameInterval!==void 0&&(r.keyFrameInterval=t.keyFrameInterval),t.forceTranscode&&(r.forceTranscode=!0),r}function a(e,t){if(t.discard)return{discard:!0};let r={};return t.codec&&(r.codec=t.codec),t.bitrate===void 0?t.quality&&(r.bitrate=n(e,t.quality)):r.bitrate=t.bitrate,t.numberOfChannels!==void 0&&(r.numberOfChannels=t.numberOfChannels),t.sampleRate!==void 0&&(r.sampleRate=t.sampleRate),t.forceTranscode&&(r.forceTranscode=!0),r}function o(e,t,n){let r=new Set(t.getSupportedCodecs()),i=[];for(let t of e.utilizedTracks){if(!(t.type===`video`?n.video.copy:t.type===`audio`&&n.audio.copy))continue;let e=t.codec;e===null?i.push(`${t.type} track ${t.id}: unknown codec cannot be stream-copied`):r.has(e)||i.push(`${t.type} track ${t.id}: ${e} cannot be stream-copied into ${n.container}`)}return i.length>0?i.join(`; `):null}function s(e){return e.map(e=>`${e.track.type} track ${e.track.id}: ${e.reason.replace(/_/g,` `)}`).join(`; `)}async function c(e){let n=await t(),c=new n.Input({source:new n.BlobSource(e.input),formats:n.ALL_FORMATS});try{let t;try{t=await c.getFormat()}catch(e){return{kind:`declined`,reason:`input is not a container mediabunny reads (${l(e)})`}}let u=new n.BufferTarget,d=new n.Output({format:r(n,e.plan),target:u}),f;try{f=await n.Conversion.init({input:c,output:d,video:i(n,e.plan.video),audio:a(n,e.plan.audio),...e.plan.trim?{trim:e.plan.trim}:{},...e.plan.tags?{tags:e.plan.tags}:{},showWarnings:!1})}catch(e){return{kind:`declined`,reason:`mediabunny rejected the conversion (${l(e)})`}}let p=f.discardedTracks.filter(e=>e.reason!==`discarded_by_user`);if(!f.isValid||p.length>0)return{kind:`declined`,reason:p.length>0?s(p):`no track can be written`};let m=o(f,d.format,e.plan);if(m)return{kind:`declined`,reason:m};let h=-1;f.onProgress=t=>{let n=Math.floor(t*100);n!==h&&(h=n,e.onLog(`progress: ${n}%`))},e.onLog(`mediabunny: ${t.name} → ${e.plan.container}, ${f.utilizedTracks.length} track(s)`);try{await f.execute()}catch(e){return{kind:`failed`,message:`mediabunny conversion failed: ${l(e)}`}}let g=u.buffer;return!g||g.byteLength===0?{kind:`failed`,message:`mediabunny produced an empty file`}:{kind:`done`,bytes:new Uint8Array(g),summary:`${f.utilizedTracks.map(e=>e.type).join(`+`)} → ${e.plan.container}`}}finally{c.dispose()}}function l(e){return e instanceof Error?e.message:String(e)}export{c as n,t};
1
+ let e=null;function t(){return e??=import(`./src-C5tBXKh_.js`).catch(t=>{throw e=null,t}),e}function n(e,t){switch(t){case`very_low`:return e.QUALITY_VERY_LOW;case`low`:return e.QUALITY_LOW;case`medium`:return e.QUALITY_MEDIUM;case`high`:return e.QUALITY_HIGH;case`very_high`:return e.QUALITY_VERY_HIGH}}function r(e,t){switch(t.container){case`mp4`:return new e.Mp4OutputFormat({fastStart:t.fastStart});case`mov`:return new e.MovOutputFormat({fastStart:t.fastStart});case`webm`:return new e.WebMOutputFormat;case`mkv`:return new e.MkvOutputFormat;case`mp3`:return new e.Mp3OutputFormat;case`wav`:return new e.WavOutputFormat;case`ogg`:return new e.OggOutputFormat;case`flac`:return new e.FlacOutputFormat;case`adts`:return new e.AdtsOutputFormat;case`mpegts`:return new e.MpegTsOutputFormat}}function i(e,t){if(t.discard)return{discard:!0};let r={};return t.codec&&(r.codec=t.codec),t.bitrate===void 0?t.quality&&(r.bitrate=n(e,t.quality)):r.bitrate=t.bitrate,t.width!==void 0&&(r.width=t.width),t.height!==void 0&&(r.height=t.height),t.fit&&(r.fit=t.fit),t.rotate!==void 0&&(r.rotate=t.rotate),t.crop&&(r.crop=t.crop),t.frameRate!==void 0&&(r.frameRate=t.frameRate),t.keyFrameInterval!==void 0&&(r.keyFrameInterval=t.keyFrameInterval),t.forceTranscode&&(r.forceTranscode=!0),r}function a(e,t){if(t.discard)return{discard:!0};let r={};return t.codec&&(r.codec=t.codec),t.bitrate===void 0?t.quality&&(r.bitrate=n(e,t.quality)):r.bitrate=t.bitrate,t.numberOfChannels!==void 0&&(r.numberOfChannels=t.numberOfChannels),t.sampleRate!==void 0&&(r.sampleRate=t.sampleRate),t.forceTranscode&&(r.forceTranscode=!0),r}function o(e,t,n){let r=new Set(t.getSupportedCodecs()),i=[];for(let t of e.utilizedTracks){if(!(t.type===`video`?n.video.copy:t.type===`audio`&&n.audio.copy))continue;let e=t.codec;e===null?i.push(`${t.type} track ${t.id}: unknown codec cannot be stream-copied`):r.has(e)||i.push(`${t.type} track ${t.id}: ${e} cannot be stream-copied into ${n.container}`)}return i.length>0?i.join(`; `):null}function s(e){return e.map(e=>`${e.track.type} track ${e.track.id}: ${e.reason.replace(/_/g,` `)}`).join(`; `)}async function c(e){let n=await t(),c=new n.Input({source:new n.BlobSource(e.input),formats:n.ALL_FORMATS});try{let t;try{t=await c.getFormat()}catch(e){return{kind:`declined`,reason:`input is not a container mediabunny reads (${l(e)})`}}let u=new n.BufferTarget,d=new n.Output({format:r(n,e.plan),target:u}),f;try{f=await n.Conversion.init({input:c,output:d,video:i(n,e.plan.video),audio:a(n,e.plan.audio),...e.plan.trim?{trim:e.plan.trim}:{},...e.plan.tags?{tags:e.plan.tags}:{},showWarnings:!1})}catch(e){return{kind:`declined`,reason:`mediabunny rejected the conversion (${l(e)})`}}let p=f.discardedTracks.filter(e=>e.reason!==`discarded_by_user`);if(!f.isValid||p.length>0)return{kind:`declined`,reason:p.length>0?s(p):`no track can be written`};let m=o(f,d.format,e.plan);if(m)return{kind:`declined`,reason:m};let h=-1;f.onProgress=t=>{let n=Math.floor(t*100);n!==h&&(h=n,e.onLog(`progress: ${n}%`))},e.onLog(`mediabunny: ${t.name} → ${e.plan.container}, ${f.utilizedTracks.length} track(s)`);try{await f.execute()}catch(e){return{kind:`failed`,message:`mediabunny conversion failed: ${l(e)}`}}let g=u.buffer;return!g||g.byteLength===0?{kind:`failed`,message:`mediabunny produced an empty file`}:{kind:`done`,bytes:new Uint8Array(g),summary:`${f.utilizedTracks.map(e=>e.type).join(`+`)} → ${e.plan.container}`}}finally{c.dispose()}}function l(e){return e instanceof Error?e.message:String(e)}export{c as n,t};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import"./navigation-watcher-CPcnZL9l.js";import"./wc-follower-oauth-DFiPwVPW.js";import{d as t,l as n,u as r}from"./main-DfG-7olk.js";import{n as i,t as a}from"./pending-request-table-k-D7ZZsL.js";var o=e(`cdp`);function s(e){return e===4001?`CDP connection superseded by another SLICC tab/window on this instance`:e===4002?`CDP connection reset by proxy (upstream Chrome connection was re-established)`:`CDP connection closed`}var c=class{ws=null;nextId=1;_superseded=!1;pending=new a;listeners=new Map;_state=`disconnected`;stateListeners=new Set;lastNotifiedState=`disconnected`;lastNotifiedReason;get state(){return this._state}onStateChange(e){return this.stateListeners.add(e),()=>{this.stateListeners.delete(e)}}get superseded(){return this._superseded}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:t,timeout:n=5e3,protocols:r}=e;return this._state=`connecting`,new Promise((e,i)=>{let a=setTimeout(()=>{this.cleanup(),i(Error(`CDP connection timed out after ${n}ms`))},n);try{this.ws=r===void 0?new WebSocket(t):new WebSocket(t,r)}catch(e){clearTimeout(a),this._state=`disconnected`,i(e);return}this.ws.onopen=()=>{clearTimeout(a),this._state=`connected`,this._superseded=!1,o.info(`Connected`,{url:t}),this.notifyState(`connected`),e()},this.ws.onerror=e=>{clearTimeout(a),this._state===`connecting`&&(o.error(`Connection failed`,{url:t}),this.cleanup(),i(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=e=>{this.handleClose(e?.code)}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this._superseded=!1,this.cleanup(),o.info(`Disconnected`)}async send(e,t,n,r=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let i=this.nextId++,a={id:i,method:e};t&&(a.params=t),n&&(a.sessionId=n),o.debug(`Send`,{method:e,id:i,sessionId:n});let s=this.pending.issue(i,r,`CDP command timed out after ${r}ms: ${e}`);return this.ws.send(JSON.stringify(a)),s}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return i(t=>(this.on(e,t),()=>this.off(e,t)),t,`Timed out waiting for event: ${e}`)}handleMessage(e){let t;try{t=JSON.parse(e)}catch{return}if(`id`in t&&typeof t.id==`number`){let e=t;o.debug(`Response`,{id:e.id,hasError:!!e.error}),e.error?(o.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),this.pending.reject(e.id,Error(`CDP error: ${e.error.message} (${e.error.code})`))):this.pending.resolve(e.id,e.result??{});return}if(`method`in t){let e=t;o.debug(`Event`,{method:e.method,sessionId:e.sessionId});let n=this.listeners.get(e.method);if(n){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of n)try{e(t)}catch{}}}}handleClose(e){e===4001?(this._superseded=!0,o.warn(`CDP slot superseded by another SLICC tab/window on this instance`,{code:e})):e===4002?o.warn(`CDP proxy reset its upstream Chrome connection — sessions dropped`,{code:e,pendingCommands:this.pending.size}):o.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size}),this.cleanup(s(e))}cleanup(e=`CDP client disconnected`){this.ws=null,this._state=`disconnected`,this.pending.rejectAll(e),this.notifyState(`disconnected`,e)}notifyState(e,t){if(e!==this.lastNotifiedState||t!==this.lastNotifiedReason){this.lastNotifiedState=e,this.lastNotifiedReason=t;for(let n of this.stateListeners)try{n(e,t)}catch{}}}},l=`ws://localhost:5710/cdp`;function u(e=typeof window<`u`?window.location:null){return e?.host?`${e.protocol===`https:`?`wss:`:`ws:`}//${e.host}/cdp`:l}var d=class{lastConnectOptions=null;supersededHandler=null;supersededNotified=!1;reconnectAttempt=0;reconnectNotBefore=0;bridgeRejection=null;bridgeRejectedHandler=null;bridgeRejectedNotified=!1;classifyConnectFailure=async()=>`transient`;primeConnectOptions(e){this.lastConnectOptions=e?{...e}:{}}setSupersededHandler(e){this.supersededHandler=e}setBridgeRejectedHandler(e){this.bridgeRejectedHandler=e}setConnectFailureClassifier(e){this.classifyConnectFailure=e}async connect(e,t){if(this.bridgeRejection)throw this.notifyBridgeRejected(),new n(this.bridgeRejection);this.lastConnectOptions=t?{...t}:{};try{await e.connect({url:t?.url??u(),timeout:t?.timeout,...t?.protocols===void 0?{}:{protocols:t.protocols}})}catch(e){throw await this.noteReconnectFailure(t),this.bridgeRejection?new n(this.bridgeRejection):e}this.noteReconnectSuccess()}async ensureLocalConnected(e){if(e.superseded===!0){this.notifySuperseded();return}if(e.state===`disconnected`){this.throwIfReconnectPaused();let t=this.lastConnectOptions;try{await e.connect({url:t?.url??u(),...t?.timeout===void 0?{}:{timeout:t.timeout},...t?.protocols===void 0?{}:{protocols:t.protocols}})}catch(e){throw await this.noteReconnectFailure(t??void 0),this.bridgeRejection?new n(this.bridgeRejection):e}this.noteReconnectSuccess()}}async ensureConnected(e){if(e.client.superseded===!0){this.notifySuperseded();return}if(e.client.state===`disconnected`){this.throwIfReconnectPaused();let t=e.client;e.restoreLocalAfterRemoteDrop(),e.clearSessionsForTransport(t),e.getClient().state===`disconnected`&&await this.connect(e.getClient(),this.lastConnectOptions??void 0)}}throwIfReconnectPaused(){if(this.bridgeRejection)throw this.notifyBridgeRejected(),new n(this.bridgeRejection);if(Date.now()<this.reconnectNotBefore)throw new r}noteReconnectSuccess(){this.reconnectAttempt=0,this.reconnectNotBefore=0,this.supersededNotified=!1}async noteReconnectFailure(e){if(await this.classifyConnectFailure({url:e?.url??``,...e?.protocols===void 0?{}:{protocols:e.protocols}})===`terminal`){this.bridgeRejection=new n().message,this.notifyBridgeRejected();return}let r=t(this.reconnectAttempt);this.reconnectAttempt+=1,this.reconnectNotBefore=Date.now()+r}notifyBridgeRejected(){if(!this.bridgeRejectedNotified){this.bridgeRejectedNotified=!0;try{this.bridgeRejectedHandler?.()}catch{}}}notifySuperseded(){if(!this.supersededNotified){this.supersededNotified=!0;try{this.supersededHandler?.()}catch{}}}},f=class extends Error{step;name=`CommandAbortedError`;constructor(e){super(`Browser command aborted while ${e}. A CDP round trip already in flight cannot be cancelled, so it may still have been applied to the page; nothing after it was started.`),this.step=e}};function p(e,t){if(e?.aborted)throw new f(t)}function m(e,t){return e?{signal:e,error:()=>new f(t)}:void 0}function h(e,t,n){return new Promise((r,i)=>{if(t?.aborted){i(new f(n));return}let a=()=>{clearTimeout(o),i(new f(n))},o=setTimeout(()=>{t?.removeEventListener(`abort`,a),r()},e);t?.addEventListener(`abort`,a,{once:!0})})}function ee(e,t,n){return t?t.aborted?Promise.reject(new f(n)):new Promise((r,i)=>{let a=()=>i(new f(n));t.addEventListener(`abort`,a,{once:!0}),e.then(()=>{t.removeEventListener(`abort`,a),r()},e=>{t.removeEventListener(`abort`,a),i(e instanceof Error?e:Error(String(e)))})}):e}var g=class{contexts=new Map;for(e,t){let n=`${t}:${e}`,r=this.contexts.get(n);return r||(r=new Map,this.contexts.set(n,r)),r}peek(e,t){return this.contexts.get(`${t}:${e}`)}drop(e){this.contexts.delete(`main:${e}`),this.contexts.delete(`isolated:${e}`)}get size(){return this.contexts.size}},_=e(`har-recorder`),v=class{recordings=new Map;client;fs;eventCleanup=new Map;constructor(e,t){this.client=e,this.fs=t}async startRecording(e,t,n,r){let i=`rec-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;p(r,`about to enable Network on tab ${e}`),await this.client.send(`Network.enable`,{},t),p(r,`about to enable Page on tab ${e}`),await this.client.send(`Page.enable`,{},t),p(r,`about to read the URL of tab ${e}`);let a=(await this.client.send(`Runtime.evaluate`,{expression:`location.href`,returnByValue:!0},t)).result?.value??`about:blank`,o={id:i,targetId:e,sessionId:t,filterCode:n,pendingRequests:new Map,entries:[],startTime:Date.now(),currentUrl:a,snapshotCount:0};return this.recordings.set(i,o),this.setupEventListeners(o),await this.ensureDir(`/recordings/${i}`),_.debug(`Started recording`,{recordingId:i,targetId:e,currentUrl:a}),i}setupEventListeners(e){let{sessionId:t,id:n}=e,r=n=>{let r=n;r.sessionId===t&&this.handleRequestWillBeSent(e,r)},i=n=>{let r=n;r.sessionId===t&&this.handleResponseReceived(e,r)},a=r=>{let i=r;i.sessionId===t&&this.handleLoadingFinished(e,i).catch(e=>{_.error(`Failed to process loadingFinished event`,{recordingId:n,requestId:i.requestId,error:e instanceof Error?e.message:String(e)})})},o=n=>{let r=n;r.sessionId===t&&this.handleLoadingFailed(e,r)},s=r=>{let i=r;if(i.sessionId!==t)return;let a=i.frame;if(!a?.parentId&&a?.url){let t=[...e.entries],r=e.currentUrl;e.currentUrl=a.url,e.entries=[],e.pendingRequests.clear(),this.saveSnapshotWithEntries(e,`navigation`,t,r).catch(e=>{_.error(`Failed to save navigation snapshot`,{recordingId:n,error:e instanceof Error?e.message:String(e)})})}};this.client.on(`Network.requestWillBeSent`,r),this.client.on(`Network.responseReceived`,i),this.client.on(`Network.loadingFinished`,a),this.client.on(`Network.loadingFailed`,o),this.client.on(`Page.frameNavigated`,s),this.eventCleanup.set(n,()=>{this.client.off(`Network.requestWillBeSent`,r),this.client.off(`Network.responseReceived`,i),this.client.off(`Network.loadingFinished`,a),this.client.off(`Network.loadingFailed`,o),this.client.off(`Page.frameNavigated`,s)})}handleRequestWillBeSent(e,t){let{requestId:n,request:r,timestamp:i}=t;!n||!r||i==null||e.pendingRequests.set(n,{requestId:n,startTime:i*1e3,request:{method:r.method,url:r.url,headers:r.headers,postData:r.postData}})}handleResponseReceived(e,t){let{requestId:n,response:r}=t;if(!n||!r)return;let i=e.pendingRequests.get(n);i&&(i.response={status:r.status,statusText:r.statusText,headers:r.headers,mimeType:r.mimeType},i.timing=r.timing)}async handleLoadingFinished(e,t){let{requestId:n,timestamp:r}=t;if(!n||r==null)return;let i=e.pendingRequests.get(n);if(!i)return;i.endTime=r*1e3;try{let t=await this.client.send(`Network.getResponseBody`,{requestId:n},e.sessionId);i.responseBody=t.body,i.responseBodyBase64=t.base64Encoded===!0}catch{}let a=this.buildHarEntry(i);a&&e.entries.push(a),e.pendingRequests.delete(n)}handleLoadingFailed(e,t){let{requestId:n}=t;n&&e.pendingRequests.delete(n)}buildHarEntry(e){if(!e.response)return null;let{request:t,response:n,timing:r,startTime:i,endTime:a,responseBody:o,responseBodyBase64:s}=e,c=a?a-i:0,l=[];try{let e=new URL(t.url);l=Array.from(e.searchParams.entries()).map(([e,t])=>({name:e,value:t}))}catch{}let u=r?(()=>{let e=(e,t)=>{if(e==null||t==null||e<0||t<0)return-1;let n=t-e;return n>=0?n:-1},t=r.dnsStart>=0?r.dnsStart:r.connectStart>=0?r.connectStart:0;return{blocked:t>0?t:-1,dns:e(r.dnsStart,r.dnsEnd),connect:e(r.connectStart,r.connectEnd),ssl:e(r.sslStart,r.sslEnd),send:e(r.sendStart,r.sendEnd),wait:e(r.sendEnd,r.receiveHeadersStart),receive:e(r.receiveHeadersStart,r.receiveHeadersEnd)}})():{blocked:-1,dns:-1,connect:-1,ssl:-1,send:0,wait:c,receive:0},d={size:o?.length??0,mimeType:n.mimeType??`application/octet-stream`};o&&(d.text=o,s&&(d.encoding=`base64`));let f;return t.postData&&(f={mimeType:t.headers[`content-type`]??t.headers[`Content-Type`]??`text/plain`,text:t.postData}),{startedDateTime:new Date(i).toISOString(),time:c,request:{method:t.method,url:t.url,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(t.headers).map(([e,t])=>({name:e,value:t})),queryString:l,postData:f,headersSize:-1,bodySize:t.postData?.length??0},response:{status:n.status,statusText:n.statusText,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(n.headers).map(([e,t])=>({name:e,value:t})),content:d,redirectURL:n.headers.location??n.headers.Location??``,headersSize:-1,bodySize:d.size},cache:{},timings:u}}async saveSnapshot(e,t){return this.saveSnapshotWithEntries(e,t,e.entries,e.currentUrl)}async applyFilter(e,t){return y(e,t)}async saveSnapshotWithEntries(e,t,n,r){if(n.length===0)return _.debug(`No entries to save`,{recordingId:e.id,trigger:t}),null;let i=e.filterCode?await this.applyFilter(n,e.filterCode):n;if(i.length===0)return _.debug(`All entries filtered out`,{recordingId:e.id,trigger:t}),null;e.snapshotCount++;let a=new Date().toISOString().replace(/[:.]/g,`-`),o=this.urlToSlug(r),s=`${e.snapshotCount.toString().padStart(3,`0`)}-${a}-${t}-${o}.har`,c=`/recordings/${e.id}/${s}`,l={log:{version:`1.2`,creator:{name:`SLICC HAR Recorder`,version:`1.0.0`},entries:i}};return await this.fs.writeFile(c,JSON.stringify(l,null,2)),_.debug(`Saved HAR snapshot`,{recordingId:e.id,path:c,entryCount:i.length}),c}urlToSlug(e){try{let t=new URL(e);return`${t.hostname}${t.pathname}`.replace(/[^a-zA-Z0-9]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,50)||`page`}catch{return`page`}}async stopRecording(e){let t=this.recordings.get(e);if(!t)throw Error(`Recording not found: ${e}`);await this.saveSnapshot(t,`close`);let n=this.eventCleanup.get(e);n&&(n(),this.eventCleanup.delete(e));try{await this.client.send(`Network.disable`,{},t.sessionId)}catch{}this.recordings.delete(e);let r=`/recordings/${e}`;return _.debug(`Stopped recording`,{recordingId:e,snapshotCount:t.snapshotCount}),r}getRecording(e){return this.recordings.get(e)}getRecordingByTarget(e){for(let[t,n]of this.recordings)if(n.targetId===e)return t}async ensureDir(e){await this.fs.mkdir(e,{recursive:!0})}};function y(e,t){try{let n=Function(`entry`,`return (${t})(entry);`),r=[];for(let t of e)try{let e=n(t);if(e===!1)continue;typeof e==`object`&&e?r.push(e):r.push(t)}catch(e){_.error(`Filter function error on entry, keeping it`,{error:e instanceof Error?e.message:String(e)}),r.push(t)}return r}catch(t){return _.error(`Failed to compile filter, returning unfiltered`,{error:t instanceof Error?t.message:String(t)}),e}}var b=class{maxSessions;onEvict;sessions=new Map;pinnedTargets=new Map;appliedSends=new Map;constructor(e=32,t){this.maxSessions=e,this.onEvict=t}get size(){return this.sessions.size}get(e){return this.sessions.get(e)}has(e){return this.sessions.has(e)}values(){return this.sessions.values()}entries(){return this.sessions.entries()}snapshot(){return[...this.sessions]}remember(e,t){this.pruneAppliedSends(),this.sessions.set(e,t),this.enforceCap(e)}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}take(e){let t=this.sessions.get(e);return t&&this.sessions.delete(e),t}delete(e){this.sessions.delete(e)}clear(){this.sessions.clear()}pin(e){this.pinnedTargets.set(e,(this.pinnedTargets.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let n=(this.pinnedTargets.get(e)??1)-1;n>0?this.pinnedTargets.set(e,n):this.pinnedTargets.delete(e),this.enforceCap()}}isPinned(e){return this.pinnedTargets.has(e)}enforceCap(e){for(;this.sessions.size>this.maxSessions;){let t;for(let n of this.sessions.keys())if(!(n===e||this.pinnedTargets.has(n))){t=n;break}if(t===void 0)return;let n=this.sessions.get(t);this.sessions.delete(t),n&&this.onEvict?.(t,n)}}noteApplied(e){this.appliedSends.set(e,(this.appliedSends.get(e)??0)+1)}appliedCount(e){return this.appliedSends.get(e)??0}pruneAppliedSends(){if(this.appliedSends.size<=this.maxSessions*4)return;let e=new Set([...this.sessions.values()].map(e=>e.sessionId));for(let t of[...this.appliedSends.keys()])e.has(t)||this.appliedSends.delete(t)}findBySessionId(e){for(let[t,n]of this.sessions)if(n.sessionId===e)return[t,n]}findByTargetOrLocalId(e){let t=[];for(let[n,r]of this.sessions)(n===e||r.remote?.localTargetId===e)&&t.push([n,r]);return t}anyOnTransport(e){for(let t of this.sessions.values())if(t.transport===e)return!0;return!1}anyMatchingRemote(e,t){for(let n of this.sessions.values())if(n.remote?.runtimeId===e&&n.remote.localTargetId===t)return!0;return!1}},x=`slicc.ariaRefs`,S=[`textbox`,`button`,`link`,`checkbox`,`radio`,`iframe`];function C(e=0){return`(${w})(${Number.isSafeInteger(e)&&e>0?e:0})`}function te(e){return`(function(ref) {
1
+ import{t as e}from"./logger-DDBAeTLF.js";import"./navigation-watcher-CPcnZL9l.js";import"./wc-follower-oauth-Br9RPRQJ.js";import{d as t,l as n,u as r}from"./main-pp1LzVcX.js";import{n as i,t as a}from"./pending-request-table-k-D7ZZsL.js";var o=e(`cdp`);function s(e){return e===4001?`CDP connection superseded by another SLICC tab/window on this instance`:e===4002?`CDP connection reset by proxy (upstream Chrome connection was re-established)`:`CDP connection closed`}var c=class{ws=null;nextId=1;_superseded=!1;pending=new a;listeners=new Map;_state=`disconnected`;stateListeners=new Set;lastNotifiedState=`disconnected`;lastNotifiedReason;get state(){return this._state}onStateChange(e){return this.stateListeners.add(e),()=>{this.stateListeners.delete(e)}}get superseded(){return this._superseded}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:t,timeout:n=5e3,protocols:r}=e;return this._state=`connecting`,new Promise((e,i)=>{let a=setTimeout(()=>{this.cleanup(),i(Error(`CDP connection timed out after ${n}ms`))},n);try{this.ws=r===void 0?new WebSocket(t):new WebSocket(t,r)}catch(e){clearTimeout(a),this._state=`disconnected`,i(e);return}this.ws.onopen=()=>{clearTimeout(a),this._state=`connected`,this._superseded=!1,o.info(`Connected`,{url:t}),this.notifyState(`connected`),e()},this.ws.onerror=e=>{clearTimeout(a),this._state===`connecting`&&(o.error(`Connection failed`,{url:t}),this.cleanup(),i(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=e=>{this.handleClose(e?.code)}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this._superseded=!1,this.cleanup(),o.info(`Disconnected`)}async send(e,t,n,r=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let i=this.nextId++,a={id:i,method:e};t&&(a.params=t),n&&(a.sessionId=n),o.debug(`Send`,{method:e,id:i,sessionId:n});let s=this.pending.issue(i,r,`CDP command timed out after ${r}ms: ${e}`);return this.ws.send(JSON.stringify(a)),s}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return i(t=>(this.on(e,t),()=>this.off(e,t)),t,`Timed out waiting for event: ${e}`)}handleMessage(e){let t;try{t=JSON.parse(e)}catch{return}if(`id`in t&&typeof t.id==`number`){let e=t;o.debug(`Response`,{id:e.id,hasError:!!e.error}),e.error?(o.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),this.pending.reject(e.id,Error(`CDP error: ${e.error.message} (${e.error.code})`))):this.pending.resolve(e.id,e.result??{});return}if(`method`in t){let e=t;o.debug(`Event`,{method:e.method,sessionId:e.sessionId});let n=this.listeners.get(e.method);if(n){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of n)try{e(t)}catch{}}}}handleClose(e){e===4001?(this._superseded=!0,o.warn(`CDP slot superseded by another SLICC tab/window on this instance`,{code:e})):e===4002?o.warn(`CDP proxy reset its upstream Chrome connection — sessions dropped`,{code:e,pendingCommands:this.pending.size}):o.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size}),this.cleanup(s(e))}cleanup(e=`CDP client disconnected`){this.ws=null,this._state=`disconnected`,this.pending.rejectAll(e),this.notifyState(`disconnected`,e)}notifyState(e,t){if(e!==this.lastNotifiedState||t!==this.lastNotifiedReason){this.lastNotifiedState=e,this.lastNotifiedReason=t;for(let n of this.stateListeners)try{n(e,t)}catch{}}}},l=`ws://localhost:5710/cdp`;function u(e=typeof window<`u`?window.location:null){return e?.host?`${e.protocol===`https:`?`wss:`:`ws:`}//${e.host}/cdp`:l}var d=class{lastConnectOptions=null;supersededHandler=null;supersededNotified=!1;reconnectAttempt=0;reconnectNotBefore=0;bridgeRejection=null;bridgeRejectedHandler=null;bridgeRejectedNotified=!1;classifyConnectFailure=async()=>`transient`;primeConnectOptions(e){this.lastConnectOptions=e?{...e}:{}}setSupersededHandler(e){this.supersededHandler=e}setBridgeRejectedHandler(e){this.bridgeRejectedHandler=e}setConnectFailureClassifier(e){this.classifyConnectFailure=e}async connect(e,t){if(this.bridgeRejection)throw this.notifyBridgeRejected(),new n(this.bridgeRejection);this.lastConnectOptions=t?{...t}:{};try{await e.connect({url:t?.url??u(),timeout:t?.timeout,...t?.protocols===void 0?{}:{protocols:t.protocols}})}catch(e){throw await this.noteReconnectFailure(t),this.bridgeRejection?new n(this.bridgeRejection):e}this.noteReconnectSuccess()}async ensureLocalConnected(e){if(e.superseded===!0){this.notifySuperseded();return}if(e.state===`disconnected`){this.throwIfReconnectPaused();let t=this.lastConnectOptions;try{await e.connect({url:t?.url??u(),...t?.timeout===void 0?{}:{timeout:t.timeout},...t?.protocols===void 0?{}:{protocols:t.protocols}})}catch(e){throw await this.noteReconnectFailure(t??void 0),this.bridgeRejection?new n(this.bridgeRejection):e}this.noteReconnectSuccess()}}async ensureConnected(e){if(e.client.superseded===!0){this.notifySuperseded();return}if(e.client.state===`disconnected`){this.throwIfReconnectPaused();let t=e.client;e.restoreLocalAfterRemoteDrop(),e.clearSessionsForTransport(t),e.getClient().state===`disconnected`&&await this.connect(e.getClient(),this.lastConnectOptions??void 0)}}throwIfReconnectPaused(){if(this.bridgeRejection)throw this.notifyBridgeRejected(),new n(this.bridgeRejection);if(Date.now()<this.reconnectNotBefore)throw new r}noteReconnectSuccess(){this.reconnectAttempt=0,this.reconnectNotBefore=0,this.supersededNotified=!1}async noteReconnectFailure(e){if(await this.classifyConnectFailure({url:e?.url??``,...e?.protocols===void 0?{}:{protocols:e.protocols}})===`terminal`){this.bridgeRejection=new n().message,this.notifyBridgeRejected();return}let r=t(this.reconnectAttempt);this.reconnectAttempt+=1,this.reconnectNotBefore=Date.now()+r}notifyBridgeRejected(){if(!this.bridgeRejectedNotified){this.bridgeRejectedNotified=!0;try{this.bridgeRejectedHandler?.()}catch{}}}notifySuperseded(){if(!this.supersededNotified){this.supersededNotified=!0;try{this.supersededHandler?.()}catch{}}}},f=class extends Error{step;name=`CommandAbortedError`;constructor(e){super(`Browser command aborted while ${e}. A CDP round trip already in flight cannot be cancelled, so it may still have been applied to the page; nothing after it was started.`),this.step=e}};function p(e,t){if(e?.aborted)throw new f(t)}function m(e,t){return e?{signal:e,error:()=>new f(t)}:void 0}function h(e,t,n){return new Promise((r,i)=>{if(t?.aborted){i(new f(n));return}let a=()=>{clearTimeout(o),i(new f(n))},o=setTimeout(()=>{t?.removeEventListener(`abort`,a),r()},e);t?.addEventListener(`abort`,a,{once:!0})})}function ee(e,t,n){return t?t.aborted?Promise.reject(new f(n)):new Promise((r,i)=>{let a=()=>i(new f(n));t.addEventListener(`abort`,a,{once:!0}),e.then(()=>{t.removeEventListener(`abort`,a),r()},e=>{t.removeEventListener(`abort`,a),i(e instanceof Error?e:Error(String(e)))})}):e}var g=class{contexts=new Map;for(e,t){let n=`${t}:${e}`,r=this.contexts.get(n);return r||(r=new Map,this.contexts.set(n,r)),r}peek(e,t){return this.contexts.get(`${t}:${e}`)}drop(e){this.contexts.delete(`main:${e}`),this.contexts.delete(`isolated:${e}`)}get size(){return this.contexts.size}},_=e(`har-recorder`),v=class{recordings=new Map;client;fs;eventCleanup=new Map;constructor(e,t){this.client=e,this.fs=t}async startRecording(e,t,n,r){let i=`rec-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;p(r,`about to enable Network on tab ${e}`),await this.client.send(`Network.enable`,{},t),p(r,`about to enable Page on tab ${e}`),await this.client.send(`Page.enable`,{},t),p(r,`about to read the URL of tab ${e}`);let a=(await this.client.send(`Runtime.evaluate`,{expression:`location.href`,returnByValue:!0},t)).result?.value??`about:blank`,o={id:i,targetId:e,sessionId:t,filterCode:n,pendingRequests:new Map,entries:[],startTime:Date.now(),currentUrl:a,snapshotCount:0};return this.recordings.set(i,o),this.setupEventListeners(o),await this.ensureDir(`/recordings/${i}`),_.debug(`Started recording`,{recordingId:i,targetId:e,currentUrl:a}),i}setupEventListeners(e){let{sessionId:t,id:n}=e,r=n=>{let r=n;r.sessionId===t&&this.handleRequestWillBeSent(e,r)},i=n=>{let r=n;r.sessionId===t&&this.handleResponseReceived(e,r)},a=r=>{let i=r;i.sessionId===t&&this.handleLoadingFinished(e,i).catch(e=>{_.error(`Failed to process loadingFinished event`,{recordingId:n,requestId:i.requestId,error:e instanceof Error?e.message:String(e)})})},o=n=>{let r=n;r.sessionId===t&&this.handleLoadingFailed(e,r)},s=r=>{let i=r;if(i.sessionId!==t)return;let a=i.frame;if(!a?.parentId&&a?.url){let t=[...e.entries],r=e.currentUrl;e.currentUrl=a.url,e.entries=[],e.pendingRequests.clear(),this.saveSnapshotWithEntries(e,`navigation`,t,r).catch(e=>{_.error(`Failed to save navigation snapshot`,{recordingId:n,error:e instanceof Error?e.message:String(e)})})}};this.client.on(`Network.requestWillBeSent`,r),this.client.on(`Network.responseReceived`,i),this.client.on(`Network.loadingFinished`,a),this.client.on(`Network.loadingFailed`,o),this.client.on(`Page.frameNavigated`,s),this.eventCleanup.set(n,()=>{this.client.off(`Network.requestWillBeSent`,r),this.client.off(`Network.responseReceived`,i),this.client.off(`Network.loadingFinished`,a),this.client.off(`Network.loadingFailed`,o),this.client.off(`Page.frameNavigated`,s)})}handleRequestWillBeSent(e,t){let{requestId:n,request:r,timestamp:i}=t;!n||!r||i==null||e.pendingRequests.set(n,{requestId:n,startTime:i*1e3,request:{method:r.method,url:r.url,headers:r.headers,postData:r.postData}})}handleResponseReceived(e,t){let{requestId:n,response:r}=t;if(!n||!r)return;let i=e.pendingRequests.get(n);i&&(i.response={status:r.status,statusText:r.statusText,headers:r.headers,mimeType:r.mimeType},i.timing=r.timing)}async handleLoadingFinished(e,t){let{requestId:n,timestamp:r}=t;if(!n||r==null)return;let i=e.pendingRequests.get(n);if(!i)return;i.endTime=r*1e3;try{let t=await this.client.send(`Network.getResponseBody`,{requestId:n},e.sessionId);i.responseBody=t.body,i.responseBodyBase64=t.base64Encoded===!0}catch{}let a=this.buildHarEntry(i);a&&e.entries.push(a),e.pendingRequests.delete(n)}handleLoadingFailed(e,t){let{requestId:n}=t;n&&e.pendingRequests.delete(n)}buildHarEntry(e){if(!e.response)return null;let{request:t,response:n,timing:r,startTime:i,endTime:a,responseBody:o,responseBodyBase64:s}=e,c=a?a-i:0,l=[];try{let e=new URL(t.url);l=Array.from(e.searchParams.entries()).map(([e,t])=>({name:e,value:t}))}catch{}let u=r?(()=>{let e=(e,t)=>{if(e==null||t==null||e<0||t<0)return-1;let n=t-e;return n>=0?n:-1},t=r.dnsStart>=0?r.dnsStart:r.connectStart>=0?r.connectStart:0;return{blocked:t>0?t:-1,dns:e(r.dnsStart,r.dnsEnd),connect:e(r.connectStart,r.connectEnd),ssl:e(r.sslStart,r.sslEnd),send:e(r.sendStart,r.sendEnd),wait:e(r.sendEnd,r.receiveHeadersStart),receive:e(r.receiveHeadersStart,r.receiveHeadersEnd)}})():{blocked:-1,dns:-1,connect:-1,ssl:-1,send:0,wait:c,receive:0},d={size:o?.length??0,mimeType:n.mimeType??`application/octet-stream`};o&&(d.text=o,s&&(d.encoding=`base64`));let f;return t.postData&&(f={mimeType:t.headers[`content-type`]??t.headers[`Content-Type`]??`text/plain`,text:t.postData}),{startedDateTime:new Date(i).toISOString(),time:c,request:{method:t.method,url:t.url,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(t.headers).map(([e,t])=>({name:e,value:t})),queryString:l,postData:f,headersSize:-1,bodySize:t.postData?.length??0},response:{status:n.status,statusText:n.statusText,httpVersion:`HTTP/1.1`,cookies:[],headers:Object.entries(n.headers).map(([e,t])=>({name:e,value:t})),content:d,redirectURL:n.headers.location??n.headers.Location??``,headersSize:-1,bodySize:d.size},cache:{},timings:u}}async saveSnapshot(e,t){return this.saveSnapshotWithEntries(e,t,e.entries,e.currentUrl)}async applyFilter(e,t){return y(e,t)}async saveSnapshotWithEntries(e,t,n,r){if(n.length===0)return _.debug(`No entries to save`,{recordingId:e.id,trigger:t}),null;let i=e.filterCode?await this.applyFilter(n,e.filterCode):n;if(i.length===0)return _.debug(`All entries filtered out`,{recordingId:e.id,trigger:t}),null;e.snapshotCount++;let a=new Date().toISOString().replace(/[:.]/g,`-`),o=this.urlToSlug(r),s=`${e.snapshotCount.toString().padStart(3,`0`)}-${a}-${t}-${o}.har`,c=`/recordings/${e.id}/${s}`,l={log:{version:`1.2`,creator:{name:`SLICC HAR Recorder`,version:`1.0.0`},entries:i}};return await this.fs.writeFile(c,JSON.stringify(l,null,2)),_.debug(`Saved HAR snapshot`,{recordingId:e.id,path:c,entryCount:i.length}),c}urlToSlug(e){try{let t=new URL(e);return`${t.hostname}${t.pathname}`.replace(/[^a-zA-Z0-9]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,50)||`page`}catch{return`page`}}async stopRecording(e){let t=this.recordings.get(e);if(!t)throw Error(`Recording not found: ${e}`);await this.saveSnapshot(t,`close`);let n=this.eventCleanup.get(e);n&&(n(),this.eventCleanup.delete(e));try{await this.client.send(`Network.disable`,{},t.sessionId)}catch{}this.recordings.delete(e);let r=`/recordings/${e}`;return _.debug(`Stopped recording`,{recordingId:e,snapshotCount:t.snapshotCount}),r}getRecording(e){return this.recordings.get(e)}getRecordingByTarget(e){for(let[t,n]of this.recordings)if(n.targetId===e)return t}async ensureDir(e){await this.fs.mkdir(e,{recursive:!0})}};function y(e,t){try{let n=Function(`entry`,`return (${t})(entry);`),r=[];for(let t of e)try{let e=n(t);if(e===!1)continue;typeof e==`object`&&e?r.push(e):r.push(t)}catch(e){_.error(`Filter function error on entry, keeping it`,{error:e instanceof Error?e.message:String(e)}),r.push(t)}return r}catch(t){return _.error(`Failed to compile filter, returning unfiltered`,{error:t instanceof Error?t.message:String(t)}),e}}var b=class{maxSessions;onEvict;sessions=new Map;pinnedTargets=new Map;appliedSends=new Map;constructor(e=32,t){this.maxSessions=e,this.onEvict=t}get size(){return this.sessions.size}get(e){return this.sessions.get(e)}has(e){return this.sessions.has(e)}values(){return this.sessions.values()}entries(){return this.sessions.entries()}snapshot(){return[...this.sessions]}remember(e,t){this.pruneAppliedSends(),this.sessions.set(e,t),this.enforceCap(e)}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}take(e){let t=this.sessions.get(e);return t&&this.sessions.delete(e),t}delete(e){this.sessions.delete(e)}clear(){this.sessions.clear()}pin(e){this.pinnedTargets.set(e,(this.pinnedTargets.get(e)??0)+1);let t=!1;return()=>{if(t)return;t=!0;let n=(this.pinnedTargets.get(e)??1)-1;n>0?this.pinnedTargets.set(e,n):this.pinnedTargets.delete(e),this.enforceCap()}}isPinned(e){return this.pinnedTargets.has(e)}enforceCap(e){for(;this.sessions.size>this.maxSessions;){let t;for(let n of this.sessions.keys())if(!(n===e||this.pinnedTargets.has(n))){t=n;break}if(t===void 0)return;let n=this.sessions.get(t);this.sessions.delete(t),n&&this.onEvict?.(t,n)}}noteApplied(e){this.appliedSends.set(e,(this.appliedSends.get(e)??0)+1)}appliedCount(e){return this.appliedSends.get(e)??0}pruneAppliedSends(){if(this.appliedSends.size<=this.maxSessions*4)return;let e=new Set([...this.sessions.values()].map(e=>e.sessionId));for(let t of[...this.appliedSends.keys()])e.has(t)||this.appliedSends.delete(t)}findBySessionId(e){for(let[t,n]of this.sessions)if(n.sessionId===e)return[t,n]}findByTargetOrLocalId(e){let t=[];for(let[n,r]of this.sessions)(n===e||r.remote?.localTargetId===e)&&t.push([n,r]);return t}anyOnTransport(e){for(let t of this.sessions.values())if(t.transport===e)return!0;return!1}anyMatchingRemote(e,t){for(let n of this.sessions.values())if(n.remote?.runtimeId===e&&n.remote.localTargetId===t)return!0;return!1}},x=`slicc.ariaRefs`,S=[`textbox`,`button`,`link`,`checkbox`,`radio`,`iframe`];function C(e=0){return`(${w})(${Number.isSafeInteger(e)&&e>0?e:0})`}function te(e){return`(function(ref) {
2
2
  var store = window[Symbol.for(${JSON.stringify(x)})];
3
3
  var held = store && store.byRef.get(ref);
4
4
  var el = held && (typeof held.deref === 'function' ? held.deref() : held);
@@ -1 +1 @@
1
- import{a as e}from"./diagnostics-B-5VkVir.js";import{a as t}from"./compat-0YnuwvMn.js";import{r as n,s as r}from"./legacy-api-aliases-D-3Ssy_B.js";import{h as i}from"./account-store-D6Y7UkDR.js";import{n as a}from"./pi-transcript-context-DZyPy5yf.js";var o=`cerebras`,s=`https://api.cerebras.ai/v1`,c=`openai-completions`,l=`${o}-openai`,u=`slicc-cerebras-models`,d=[],f=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function p(e){try{localStorage.setItem(u,JSON.stringify(e))}catch{}}function m(){try{let e=localStorage.getItem(u);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function h(e){let t=e.id??``,n=f.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function g(e){let t=await fetch(`${s}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(h).filter(e=>e.id.length>0);n.length>0&&(d=n,p(n))}function _(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:l,provider:o,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 v(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}var y=(t,n,r={})=>{let i=e();return b(i,t,n,r).catch(v),i};async function b(e,t,r,i){try{let o={...t,baseUrl:s,api:c},l=n(o,a(r),i);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}var x=(t,n,r)=>{let i=e();return S(i,t,n,r).catch(v),i};async function S(e,t,n,i){try{let o={...t,baseUrl:s,api:c},l=r(o,a(n),i);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}var C={id:o,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(d.length>0)return d;let e=m();return e.length>0?e:f},refreshModels:async e=>{let t=e??i(o)??``;if(t)try{await g(t)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function w(){t({api:l,stream:y,streamSimple:x})}export{C as config,w as register};
1
+ import{a as e}from"./diagnostics-B-5VkVir.js";import{a as t}from"./compat-0YnuwvMn.js";import{r as n,s as r}from"./legacy-api-aliases-D-3Ssy_B.js";import{h as i}from"./account-store-EUAU8ivx.js";import{n as a}from"./pi-transcript-context-DZyPy5yf.js";var o=`cerebras`,s=`https://api.cerebras.ai/v1`,c=`openai-completions`,l=`${o}-openai`,u=`slicc-cerebras-models`,d=[],f=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function p(e){try{localStorage.setItem(u,JSON.stringify(e))}catch{}}function m(){try{let e=localStorage.getItem(u);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function h(e){let t=e.id??``,n=f.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function g(e){let t=await fetch(`${s}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(h).filter(e=>e.id.length>0);n.length>0&&(d=n,p(n))}function _(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:l,provider:o,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 v(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}var y=(t,n,r={})=>{let i=e();return b(i,t,n,r).catch(v),i};async function b(e,t,r,i){try{let o={...t,baseUrl:s,api:c},l=n(o,a(r),i);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}var x=(t,n,r)=>{let i=e();return S(i,t,n,r).catch(v),i};async function S(e,t,n,i){try{let o={...t,baseUrl:s,api:c},l=r(o,a(n),i);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}var C={id:o,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(d.length>0)return d;let e=m();return e.length>0?e:f},refreshModels:async e=>{let t=e??i(o)??``;if(t)try{await g(t)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function w(){t({api:l,stream:y,streamSimple:x})}export{C as config,w as register};
@@ -1 +1 @@
1
- import{a as e}from"./account-store-ns4WYcMU.js";import{a as t}from"./diagnostics-B-5VkVir.js";import{a as n}from"./compat-Ba4wPWa_.js";import{r,s as i}from"./legacy-api-aliases-C3_OAyZB.js";import{n as a}from"./pi-transcript-context-CE8ItnBz.js";const o=`cerebras`,s=`https://api.cerebras.ai/v1`,c=`openai-completions`,l=`${o}-openai`,u=`slicc-cerebras-models`;let d=[];const f=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function p(e){try{localStorage.setItem(u,JSON.stringify(e))}catch{}}function m(){try{let e=localStorage.getItem(u);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function h(e){let t=e.id??``,n=f.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function g(e){let t=await fetch(`${s}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(h).filter(e=>e.id.length>0);n.length>0&&(d=n,p(n))}function _(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:l,provider:o,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 v(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}const y=(e,n,r={})=>{let i=t();return b(i,e,n,r).catch(v),i};async function b(e,t,n,i){try{let o={...t,baseUrl:s,api:c},l=r(o,a(n),i);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}const x=(e,n,r)=>{let i=t();return S(i,e,n,r).catch(v),i};async function S(e,t,n,r){try{let o={...t,baseUrl:s,api:c},l=i(o,a(n),r);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}const C={id:o,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(d.length>0)return d;let e=m();return e.length>0?e:f},refreshModels:async t=>{let n=t??e(o)??``;if(n)try{await g(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function w(){n({api:l,stream:y,streamSimple:x})}export{C as config,w as register};
1
+ import{a as e}from"./account-store-CoiNHIE9.js";import{a as t}from"./diagnostics-B-5VkVir.js";import{a as n}from"./compat-Ba4wPWa_.js";import{r,s as i}from"./legacy-api-aliases-C3_OAyZB.js";import{n as a}from"./pi-transcript-context-CE8ItnBz.js";const o=`cerebras`,s=`https://api.cerebras.ai/v1`,c=`openai-completions`,l=`${o}-openai`,u=`slicc-cerebras-models`;let d=[];const f=[{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai`,reasoning:!0,input:[`text`],context_window:131072,max_tokens:40960},{id:`gemma-4-31b`,name:`Gemma 4 31B`,api:`openai`,reasoning:!1,input:[`text`,`image`],context_window:131072,max_tokens:40960},{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai`,reasoning:!1,input:[`text`],context_window:131072,max_tokens:40960}];function p(e){try{localStorage.setItem(u,JSON.stringify(e))}catch{}}function m(){try{let e=localStorage.getItem(u);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)&&t.length>0?t:[]}catch{return[]}}function h(e){let t=e.id??``,n=f.find(e=>e.id===t);return{id:t,name:e.name??n?.name??t,api:`openai`,reasoning:e.capabilities?.reasoning??n?.reasoning??!1,input:e.capabilities?.vision?[`text`,`image`]:n?.input??[`text`],context_window:e.limits?.max_context_length??n?.context_window??8192,max_tokens:e.limits?.max_completion_tokens??n?.max_tokens??4096}}async function g(e){let t=await fetch(`${s}/models`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`GET /v1/models → ${t.status} ${t.statusText}`);let n=((await t.json()).data??[]).map(h).filter(e=>e.id.length>0);n.length>0&&(d=n,p(n))}function _(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:l,provider:o,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 v(e){console.error(`[cerebras] Stream error:`,e instanceof Error?e.message:String(e))}const y=(e,n,r={})=>{let i=t();return b(i,e,n,r).catch(v),i};async function b(e,t,n,i){try{let o={...t,baseUrl:s,api:c},l=r(o,a(n),i);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}const x=(e,n,r)=>{let i=t();return S(i,e,n,r).catch(v),i};async function S(e,t,n,r){try{let o={...t,baseUrl:s,api:c},l=i(o,a(n),r);for await(let t of l)e.push(t);e.end()}catch(n){v(n),e.push(_(t,n)),e.end()}}const C={id:o,name:`Cerebras`,description:`Ultra-fast inference on Cerebras hardware. Get an API key at cloud.cerebras.ai.`,requiresApiKey:!0,requiresBaseUrl:!1,getModelIds:()=>{if(d.length>0)return d;let e=m();return e.length>0?e:f},refreshModels:async t=>{let n=t??e(o)??``;if(n)try{await g(n)}catch(e){console.warn(`[cerebras] Failed to refresh model list:`,e instanceof Error?e.message:String(e))}}};function w(){n({api:l,stream:y,streamSimple:x})}export{C as config,w as register};
@@ -1 +1 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import{st as t}from"./wc-shell-fIEX0Fr7.js";import{n}from"./runtime-env-Dlaokqg1.js";import{t as r}from"./permissions-surface-registry-CilCRwhh.js";import{t as i}from"./speech-assets-bridge-CFYafE89.js";import{o as a}from"./transformers-env-C6K6s36u.js";import{i as o,t as s}from"./whisper-session-DoB1nala.js";var c=e(`speech:composer`),l=5e3,u=(e,t,n)=>new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`${n} timed out after ${t}ms`)),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})}),d=class{#e;#t;#n;#r;#i;#a=null;#o=!1;#s={engine:`builtin`,state:`idle`};#c=a();#l=new Set;#u=null;constructor(e={}){this.#e=e.builtin??t(),this.#t=e.loadWhisper??o,this.#n=e.startSession??s,this.#r=e.getPermissionSurface??f,this.#i=e.ensureAssets??v}permission(){return this.#e.permission()}async requestPermission(){let e=this.#r();if(e)try{let t=await e.request(`microphone`);return t?(this.#p(t.stream),!0):!1}catch(e){return c.warn(`permission surface microphone request failed`,e),!1}return this.#e.requestPermission()}microphones(){return this.#e.microphones()}status(){return this.#s}onStatus(e){return this.#l.add(e),e(this.#s),()=>this.#l.delete(e)}warmup(){this.#o||(this.#o=!0,this.#c=a(),this.#_({engine:`builtin`,state:`downloading`}),this.#d().then(e=>{this.#a=e,this.#_({engine:`enhanced`,state:`ready`})},e=>{this.#o=!1,this.#_({engine:`builtin`,state:`unavailable`,message:m(e)}),c.warn(`enhanced speech engine unavailable`,e)}))}async#d(){let e=null;try{await this.#i(e=>this.#h(e))}catch(t){e=t,c.warn(`speech asset staging failed; trying already-present assets`,t)}try{return await this.#t(e=>this.#g(e))}catch(t){throw e??t}}async start(e){let t=this.#a;if(t){let n=null;try{return n=await this.#f(e.deviceId),await this.#n(t,{deviceId:e.deviceId,lang:e.lang,onPartial:e.onPartial,onError:e.onError,stream:n??void 0})}catch(e){if(n)for(let e of n.getTracks())e.stop();c.warn(`whisper session failed to start; falling back to builtin`,e)}}return this.#e.start(e)}async#f(e){let t=e&&e!=="default"?e:void 0,n=this.#m();if(n){if(!t&&p(n))return n;for(let e of n.getTracks())e.stop()}let r=this.#r();if(!r)return null;let i={audio:!t||{deviceId:{exact:t}}},a=await u(r.request(`microphone`,{constraints:i}),l,`microphone capture`);if(!a)throw Error(`microphone permission denied`);return a.stream}#p(e){if(this.#u&&this.#u!==e)for(let e of this.#u.getTracks())e.stop();this.#u=e}#m(){let e=this.#u;return this.#u=null,e}get enhancedReady(){return this.#a!==null}#h(e){if(this.#s.state!==`downloading`)return;(e.bytesTotal!=null||e.bytesLoaded!=null)&&this.#c.update(e.asset,e.bytesLoaded??0,e.bytesTotal??0);let t=this.#c.snapshot();t.total<=0||this.#_({engine:`builtin`,state:`downloading`,download:{loaded:t.loaded,total:t.total,etaSeconds:t.etaSeconds}})}#g(e){this.#s.state===`downloading`&&this.#_({engine:`builtin`,state:`downloading`,download:{loaded:e.loaded,total:e.total,etaSeconds:e.etaSeconds}})}#_(e){this.#s=e;for(let t of this.#l)t(e)}};function f(){let e=r();return e?{async request(t,n){let r=await e.request(t,n);return r?.kind===`microphone`?{kind:`microphone`,stream:r.stream}:null}}:null}function p(e){let t=e.getTracks();return t.length>0&&t.some(e=>e.readyState!==`ended`)}function m(e){return`Enhanced speech unavailable: ${e instanceof Error?e.message:String(e)}`}var h=n,g;function _(e){g=e}function v(e){return h()?Promise.resolve():i({instanceId:g,onProgress:e})}var y=null;function b(){return y??=new d,y}export{b as getComposerSpeech,_ as setComposerSpeechInstanceId};
1
+ import{t as e}from"./logger-DDBAeTLF.js";import{st as t}from"./wc-shell-C0Y0f1tt.js";import{n}from"./runtime-env-Dlaokqg1.js";import{t as r}from"./permissions-surface-registry-CilCRwhh.js";import{t as i}from"./speech-assets-bridge-CFYafE89.js";import{o as a}from"./transformers-env-C6_kFf6e.js";import{i as o,t as s}from"./whisper-session-7VWAVhAF.js";var c=e(`speech:composer`),l=5e3,u=(e,t,n)=>new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`${n} timed out after ${t}ms`)),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})}),d=class{#e;#t;#n;#r;#i;#a=null;#o=!1;#s={engine:`builtin`,state:`idle`};#c=a();#l=new Set;#u=null;constructor(e={}){this.#e=e.builtin??t(),this.#t=e.loadWhisper??o,this.#n=e.startSession??s,this.#r=e.getPermissionSurface??f,this.#i=e.ensureAssets??v}permission(){return this.#e.permission()}async requestPermission(){let e=this.#r();if(e)try{let t=await e.request(`microphone`);return t?(this.#p(t.stream),!0):!1}catch(e){return c.warn(`permission surface microphone request failed`,e),!1}return this.#e.requestPermission()}microphones(){return this.#e.microphones()}status(){return this.#s}onStatus(e){return this.#l.add(e),e(this.#s),()=>this.#l.delete(e)}warmup(){this.#o||(this.#o=!0,this.#c=a(),this.#_({engine:`builtin`,state:`downloading`}),this.#d().then(e=>{this.#a=e,this.#_({engine:`enhanced`,state:`ready`})},e=>{this.#o=!1,this.#_({engine:`builtin`,state:`unavailable`,message:m(e)}),c.warn(`enhanced speech engine unavailable`,e)}))}async#d(){let e=null;try{await this.#i(e=>this.#h(e))}catch(t){e=t,c.warn(`speech asset staging failed; trying already-present assets`,t)}try{return await this.#t(e=>this.#g(e))}catch(t){throw e??t}}async start(e){let t=this.#a;if(t){let n=null;try{return n=await this.#f(e.deviceId),await this.#n(t,{deviceId:e.deviceId,lang:e.lang,onPartial:e.onPartial,onError:e.onError,stream:n??void 0})}catch(e){if(n)for(let e of n.getTracks())e.stop();c.warn(`whisper session failed to start; falling back to builtin`,e)}}return this.#e.start(e)}async#f(e){let t=e&&e!=="default"?e:void 0,n=this.#m();if(n){if(!t&&p(n))return n;for(let e of n.getTracks())e.stop()}let r=this.#r();if(!r)return null;let i={audio:!t||{deviceId:{exact:t}}},a=await u(r.request(`microphone`,{constraints:i}),l,`microphone capture`);if(!a)throw Error(`microphone permission denied`);return a.stream}#p(e){if(this.#u&&this.#u!==e)for(let e of this.#u.getTracks())e.stop();this.#u=e}#m(){let e=this.#u;return this.#u=null,e}get enhancedReady(){return this.#a!==null}#h(e){if(this.#s.state!==`downloading`)return;(e.bytesTotal!=null||e.bytesLoaded!=null)&&this.#c.update(e.asset,e.bytesLoaded??0,e.bytesTotal??0);let t=this.#c.snapshot();t.total<=0||this.#_({engine:`builtin`,state:`downloading`,download:{loaded:t.loaded,total:t.total,etaSeconds:t.etaSeconds}})}#g(e){this.#s.state===`downloading`&&this.#_({engine:`builtin`,state:`downloading`,download:{loaded:e.loaded,total:e.total,etaSeconds:e.etaSeconds}})}#_(e){this.#s=e;for(let t of this.#l)t(e)}};function f(){let e=r();return e?{async request(t,n){let r=await e.request(t,n);return r?.kind===`microphone`?{kind:`microphone`,stream:r.stream}:null}}:null}function p(e){let t=e.getTracks();return t.length>0&&t.some(e=>e.readyState!==`ended`)}function m(e){return`Enhanced speech unavailable: ${e instanceof Error?e.message:String(e)}`}var h=n,g;function _(e){g=e}function v(e){return h()?Promise.resolve():i({instanceId:g,onProgress:e})}var y=null;function b(){return y??=new d,y}export{b as getComposerSpeech,_ as setComposerSpeechInstanceId};
@@ -1,4 +1,4 @@
1
- import{B as e,T as t,d as n,u as r}from"./account-store-D6Y7UkDR.js";import{a as i}from"./main-DfG-7olk.js";var a=`slicc_cloud_model_catalog`,o=`adobe`;function s(e){if(e===o)return!1;let n=t(e);return!(n.hidden||n.onOAuthLoginIntercepted)}function c(){try{let e=n().map(e=>({providerId:e.providerId,providerName:e.providerName,models:e.models.map(e=>({id:e.id,name:e.name}))}));localStorage.setItem(a,JSON.stringify(e))}catch{}}async function l(n){for(;n.firstChild;)n.removeChild(n.firstChild);n.className=`connect-surface`;let a=document.createElement(`h1`);a.className=`connect-surface__title`,a.textContent=`Connect providers`,n.appendChild(a);let l=document.createElement(`p`);l.className=`connect-surface__desc`,l.textContent=`Log in or add API keys for the providers your cone should use, then click Done to return to the dashboard.`,n.appendChild(l);let u=document.createElement(`div`);u.className=`connect-surface__accounts`,n.appendChild(u);function d(){for(;u.firstChild;)u.removeChild(u.firstChild);let n=r().filter(e=>e.providerId!==o);if(n.length===0){let e=document.createElement(`div`);e.className=`connect-surface__empty`,e.textContent=`No providers connected yet.`,u.appendChild(e)}else{let r=document.createElement(`div`);r.className=`connect-surface__accounts-list`;for(let i of n){let n=t(i.providerId),a=document.createElement(`div`);a.className=`connect-surface__account-row`;let o=document.createElement(`div`);o.className=`connect-surface__account-info`;let s=document.createElement(`div`);s.className=`connect-surface__account-name`,s.textContent=n.name,o.appendChild(s);let l=document.createElement(`div`);l.className=`connect-surface__account-detail`,l.textContent=i.userName?i.userName:i.accessToken?`Logged in`:i.apiKey?`API key set`:`No credentials`,o.appendChild(l),a.appendChild(o);let u=document.createElement(`button`);u.className=`connect-surface__remove-btn`,u.textContent=`Remove`,u.onclick=async()=>{await e(i.providerId),c(),d()},a.appendChild(u),r.appendChild(a)}u.appendChild(r)}let a=document.createElement(`button`);a.className=`connect-surface__add-btn`,a.textContent=n.length===0?`Add provider`:`Manage providers`,a.onclick=async()=>{await i({startInAddAccount:!0,providerFilter:s})&&(c(),d())},u.appendChild(a)}d(),c();let f=document.createElement(`div`);f.className=`connect-surface__footer`;let p=document.createElement(`button`);if(p.className=`connect-surface__done-btn`,p.textContent=`Done — return to dashboard`,p.onclick=()=>{c(),window.close()},f.appendChild(p),n.appendChild(f),!document.getElementById(`connect-surface-style`)){let e=document.createElement(`style`);e.id=`connect-surface-style`,e.textContent=`
1
+ import{B as e,T as t,d as n,u as r}from"./account-store-EUAU8ivx.js";import{a as i}from"./main-pp1LzVcX.js";var a=`slicc_cloud_model_catalog`,o=`adobe`;function s(e){if(e===o)return!1;let n=t(e);return!(n.hidden||n.onOAuthLoginIntercepted)}function c(){try{let e=n().map(e=>({providerId:e.providerId,providerName:e.providerName,models:e.models.map(e=>({id:e.id,name:e.name}))}));localStorage.setItem(a,JSON.stringify(e))}catch{}}async function l(n){for(;n.firstChild;)n.removeChild(n.firstChild);n.className=`connect-surface`;let a=document.createElement(`h1`);a.className=`connect-surface__title`,a.textContent=`Connect providers`,n.appendChild(a);let l=document.createElement(`p`);l.className=`connect-surface__desc`,l.textContent=`Log in or add API keys for the providers your cone should use, then click Done to return to the dashboard.`,n.appendChild(l);let u=document.createElement(`div`);u.className=`connect-surface__accounts`,n.appendChild(u);function d(){for(;u.firstChild;)u.removeChild(u.firstChild);let n=r().filter(e=>e.providerId!==o);if(n.length===0){let e=document.createElement(`div`);e.className=`connect-surface__empty`,e.textContent=`No providers connected yet.`,u.appendChild(e)}else{let r=document.createElement(`div`);r.className=`connect-surface__accounts-list`;for(let i of n){let n=t(i.providerId),a=document.createElement(`div`);a.className=`connect-surface__account-row`;let o=document.createElement(`div`);o.className=`connect-surface__account-info`;let s=document.createElement(`div`);s.className=`connect-surface__account-name`,s.textContent=n.name,o.appendChild(s);let l=document.createElement(`div`);l.className=`connect-surface__account-detail`,l.textContent=i.userName?i.userName:i.accessToken?`Logged in`:i.apiKey?`API key set`:`No credentials`,o.appendChild(l),a.appendChild(o);let u=document.createElement(`button`);u.className=`connect-surface__remove-btn`,u.textContent=`Remove`,u.onclick=async()=>{await e(i.providerId),c(),d()},a.appendChild(u),r.appendChild(a)}u.appendChild(r)}let a=document.createElement(`button`);a.className=`connect-surface__add-btn`,a.textContent=n.length===0?`Add provider`:`Manage providers`,a.onclick=async()=>{await i({startInAddAccount:!0,providerFilter:s})&&(c(),d())},u.appendChild(a)}d(),c();let f=document.createElement(`div`);f.className=`connect-surface__footer`;let p=document.createElement(`button`);if(p.className=`connect-surface__done-btn`,p.textContent=`Done — return to dashboard`,p.onclick=()=>{c(),window.close()},f.appendChild(p),n.appendChild(f),!document.getElementById(`connect-surface-style`)){let e=document.createElement(`style`);e.id=`connect-surface-style`,e.textContent=`
2
2
  .connect-surface {
3
3
  padding: 2rem;
4
4
  max-width: 560px;
@@ -1 +1 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import{S as t}from"./record-Ban9cWMI.js";import{d as n}from"./kernel-worker-C8b5lZTP.js";const r=e(`directed-approval`);function i(e,n){if(e.kind===`user`)return a(`the user tier is not a directed approval`);if(e.kind===`agent`)return a(`agent approvals are not enqueued to a unit`);let r=e.unitJid;if(!n.scoops.has(r))return a(`the requesting unit is not registered`);let i=n.ownerRootOf(r);if(!i)return a(`no owning cone for the requesting unit`);let o=e.kind===`cone`?i:[...n.scoops.values()].find(t=>t.parentJid===i.jid&&(t.name===e.scoopName||t.folder===e.scoopName));return o?t(o).canResolveApprovals?{ok:!0,requesterJid:r,approver:o}:a(`the named approver cannot resolve approvals`):a(`delegated approver not found under this cone`)}function a(e){return r.warn(`Directed approval failing closed`,{reason:e}),{ok:!1,reason:e}}const o={decision:`deny`},s={decision:`deny`,reason:`unavailable`};async function c(e,t){let a=e.approver;if(a?.kind===`agent`){let i=globalThis[n];if(!i)return r.warn(`No agent bridge available for an approver agent — denying`),s;let{approverRunnerFor:c}=await import(`./approver-agent-B9MJsDkQ.js`),l=t.getSharedFs(),u=await c({spawn:e=>i.spawn(e),readSharedFile:async e=>{if(!l)return null;try{let t=await l.readFile(e,{encoding:`utf-8`});return typeof t==`string`?t:null}catch{return null}},findUnit:e=>{let n=t.scoops.get(e);return n?{workspace:t.workspaceFor(n),folder:n.folder}:void 0}})({kind:e.kind===`guest-tool`?`guest-tool`:`guest-message`,requester:e.requester??`an unidentified requester`,detail:e.detail},a.unitJid);return r.info(`Approver agent verdict`,{decision:u.decision,reason:u.reason}),u.decision===`allow`?{decision:`allow`}:o}if(a&&a.kind!==`user`){let n=i(a,t);return n.ok?t.enqueue(n.requesterJid,e,{approver:n.approver}):s}return t.approveAsUser(e)}export{c as runDirectedApproval};
1
+ import{t as e}from"./logger-LESFN7Hj.js";import{S as t}from"./record-Ban9cWMI.js";import{d as n}from"./kernel-worker-MybuXyBd.js";const r=e(`directed-approval`);function i(e,n){if(e.kind===`user`)return a(`the user tier is not a directed approval`);if(e.kind===`agent`)return a(`agent approvals are not enqueued to a unit`);let r=e.unitJid;if(!n.scoops.has(r))return a(`the requesting unit is not registered`);let i=n.ownerRootOf(r);if(!i)return a(`no owning cone for the requesting unit`);let o=e.kind===`cone`?i:[...n.scoops.values()].find(t=>t.parentJid===i.jid&&(t.name===e.scoopName||t.folder===e.scoopName));return o?t(o).canResolveApprovals?{ok:!0,requesterJid:r,approver:o}:a(`the named approver cannot resolve approvals`):a(`delegated approver not found under this cone`)}function a(e){return r.warn(`Directed approval failing closed`,{reason:e}),{ok:!1,reason:e}}const o={decision:`deny`},s={decision:`deny`,reason:`unavailable`};async function c(e,t){let a=e.approver;if(a?.kind===`agent`){let i=globalThis[n];if(!i)return r.warn(`No agent bridge available for an approver agent — denying`),s;let{approverRunnerFor:c}=await import(`./approver-agent-B9MJsDkQ.js`),l=t.getSharedFs(),u=await c({spawn:e=>i.spawn(e),readSharedFile:async e=>{if(!l)return null;try{let t=await l.readFile(e,{encoding:`utf-8`});return typeof t==`string`?t:null}catch{return null}},findUnit:e=>{let n=t.scoops.get(e);return n?{workspace:t.workspaceFor(n),folder:n.folder}:void 0}})({kind:e.kind===`guest-tool`?`guest-tool`:`guest-message`,requester:e.requester??`an unidentified requester`,detail:e.detail},a.unitJid);return r.info(`Approver agent verdict`,{decision:u.decision,reason:u.reason}),u.decision===`allow`?{decision:`allow`}:o}if(a&&a.kind!==`user`){let n=i(a,t);return n.ok?t.enqueue(n.requesterJid,e,{approver:n.approver}):s}return t.approveAsUser(e)}export{c as runDirectedApproval};
@@ -0,0 +1 @@
1
+ var e=[`none`,`single`,`double`,`curly`,`dotted`,`dashed`],t=`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 n(){return new URL(`/assets/ghostty-vt--DTGF19l.wasm`,``+import.meta.url).href}function r(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}var i=new Map,a=4;async function o(e){let n=await fetch(e);if(!n.ok)throw Error(`@wterm/ghostty: fetching ${e} returned ${n.status} ${n.statusText}. ${t}`);if(typeof WebAssembly.compileStreaming==`function`&&n.headers.get(`Content-Type`)?.trim().toLowerCase()===`application/wasm`)try{return await WebAssembly.compileStreaming(n.clone())}catch{}let i=await n.arrayBuffer();if(!r(i))throw Error(`@wterm/ghostty: ${e} did not return a WASM module. ${t}`);return WebAssembly.compile(i)}function s(e){let t=i.get(e);if(t)return i.delete(e),i.set(e,t),t;let n=o(e).catch(t=>{throw i.get(e)===n&&i.delete(e),t});return i.set(e,n),i.size>a&&i.delete(i.keys().next().value),n}async function c(e){let r=e??n();if(e===void 0&&r.startsWith(`file:`)&&typeof document<`u`)throw Error(`@wterm/ghostty: your bundler resolved the WASM URL to ${r}, a path on the machine that built the bundle, so the browser cannot fetch it. ${t}`);typeof document<`u`?r=new URL(r,document.baseURI).href:typeof location<`u`&&(r=new URL(r,location.href).href);let i=await s(r),a,o=await WebAssembly.instantiate(i,{env:{log(e,t){let n=new TextDecoder().decode(new Uint8Array(a.buffer,e,t));console.log(`[ghostty-vt]`,n)}}});return a=o.exports.memory,{exports:o.exports,instance:o}}function l(t,n,r=16){let i=t.getUint8(n+12),a=t.getUint8(n+13),o={codepoint:t.getUint32(n,!0),fgR:t.getUint8(n+4),fgG:t.getUint8(n+5),fgB:t.getUint8(n+6),bgR:t.getUint8(n+7),bgG:t.getUint8(n+8),bgB:t.getUint8(n+9),flags:t.getUint8(n+10),width:t.getUint8(n+11),colorFlags:i,hasGrapheme:!!(a&1),hasHyperlink:!!(a&2),spacerHead:!!(a&4)};return r===20&&(o.underlineStyle=e[t.getUint8(n+16)],o.underlineRgb=i&4?t.getUint8(n+17)<<16|t.getUint8(n+18)<<8|t.getUint8(n+19):void 0),o}function u(e,t){if(!Number.isSafeInteger(t)||t<=0||t>4294967295)return 0;try{return e.exports.alloc_buffer(t)}catch{return 0}}function d(e,t,n){if(!(t===0||!Number.isSafeInteger(n)||n<=0))try{e.exports.free_buffer(t,n)}catch{}}function f(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 p(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 m(e,t,n,r){h(e,t,new TextEncoder().encode(n),r)}function h(e,t,n,r){let i=0;for(;i<n.length;){let a=Math.min(n.length-i,8192),o=u(e,a);if(o===0)return;try{new Uint8Array(e.exports.memory.buffer,o,a).set(n.subarray(i,i+a)),e.exports.write(t,o,a)}finally{d(e,o,a)}i+=a,r?.()}}var g=256,_=256,v=1024,y=`#d4d4d4`,b=`#1e1e1e`,x=[`unknown`,`prompt`,`input`,`running`,`complete`],S=33554432,C=S,w=4294967295;function T(e,t,n){return e<<16|t<<8|n}var E={char:32,fg:g,bg:g,flags:0,width:1};function D(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 O(e){let t=e.imageStorageLimit??C;if(!Number.isSafeInteger(t)||t<0||t>w)throw Error(`@wterm/ghostty: imageStorageLimit must be an integer between 0 and 4294967295`);return t}function k(e){return{generation:e.generation,images:e.images.map(e=>({...e})),placements:e.placements.map(e=>({...e}))}}var A=class e{constructor(e,t){this.termPtr=0,this._themeColors=null,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=_,this._hyperlinkBufPtr=0,this._hyperlinkBufSize=v,this._graphicsBufPtr=0,this._graphicsBufSize=0,this._graphicsState=null,this._disposed=!1,this._positionOwner={},this.wasm=e,this._cellBytes=e.exports.get_viewport_v2&&e.exports.get_scrollback_line_v2?20:16,this._options=t,this._foregroundRgb=D(t.foregroundColor??y,`foregroundColor`),this._backgroundRgb=D(t.backgroundColor??b,`backgroundColor`)}static async load(t={}){let n=await c(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,O(this._options)),this.termPtr!==0&&(this._themeColors&&this.setThemeColors(this._themeColors),this._graphemeBufPtr!==0&&d(this.wasm,this._graphemeBufPtr,this._graphemeBufSize),this._graphemeBufPtr=u(this.wasm,_),this._hyperlinkBufPtr!==0&&d(this.wasm,this._hyperlinkBufPtr,this._hyperlinkBufSize),this._hyperlinkBufSize=v,this._hyperlinkBufPtr=u(this.wasm,v),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())}getColorOverrides(){let e=this.wasm.exports.get_color_override,t={};if(this._disposed||this.termPtr===0||!e)return t;for(let[n,r]of[`foreground`,`background`,`cursor`].entries()){let i=e(this.termPtr,n);i>=0&&(t[r]=i)}return t}writeString(e,t){this._disposed||this.termPtr===0||(m(this.wasm,this.termPtr,e,t),this._invalidate())}writeRaw(e,t){this._disposed||this.termPtr===0||(h(this.wasm,this.termPtr,e,t),this._invalidate())}trackPosition(e){let{track_position:t,resolve_position:n,release_position:r}=this.wasm.exports;if(this._disposed||!this.termPtr||!t||!n||!r||!Number.isInteger(e.row)||e.row<0||e.row>w||!Number.isInteger(e.col)||e.col<0||e.col>=65536)return null;let i=this.termPtr,a=this._positionOwner,o=t(i,e.row,e.col);if(!o)return null;let s=!1;return{resolve:()=>{if(s||a!==this._positionOwner)return null;let e=n(i,o);return e<0?null:{row:Math.floor(e/65536),col:e%65536}},dispose:()=>{s||(s=!0,a===this._positionOwner&&r(i,o))}}}getRowMetadata(e){return this._readRowMetadata(this.wasm.exports.get_row_wraps,e)}getCell(e,t){if(this._disposed||this.termPtr===0)return E;this._ensureViewport();let n=this._viewportView;if(!n)return E;let r=(e*this._cols+t)*this._cellBytes;if(r+this._cellBytes>this._viewportBufSize)return E;let i=l(n,r,this._cellBytes);if(i.codepoint===0&&i.flags===0&&i.colorFlags===0&&!i.hasHyperlink&&!i.spacerHead&&i.width!==0)return E;let a={char:i.codepoint||32,fg:g,bg:g,flags:i.flags,width:i.width};return i.underlineStyle!==void 0&&(a.underlineStyle=i.underlineStyle),i.underlineRgb!==void 0&&(a.underlineRgb=i.underlineRgb),i.hasGrapheme&&(a.chars=this._readGrapheme(e,t)),i.spacerHead&&(a.spacerHead=!0),i.hasHyperlink&&Object.assign(a,this._readHyperlink(e,t,!1)),i.colorFlags&1&&(a.fgRgb=T(i.fgR,i.fgG,i.fgB)),i.colorFlags&2&&(a.bgRgb=T(i.bgR,i.bgG,i.bgB)),a}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(){if(this._disposed||this.termPtr===0)return{row:0,col:0,visible:!1};this._ensureViewport();let e=this.wasm.exports.get_cursor_shape?.(this.termPtr)??0;return{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,shape:e===1?`underline`:e===2?`bar`:`block`,blinking:(this.wasm.exports.get_cursor_blinking?.(this.termPtr)??0)!==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===1003?e:0}mouseSgr(){return this._disposed||this.termPtr===0?!1:this.wasm.exports.mouse_sgr(this.termPtr)!==0}mouseEncoding(){if(this._disposed||this.termPtr===0)return null;let e=this.wasm.exports.mouse_encoding?.(this.termPtr);if(e===void 0)return this.mouseSgr()?`sgr`:null;switch(e){case 0:return`x10`;case 1:return`utf8`;case 2:return`sgr`;case 3:return`urxvt`;case 4:return`sgr-pixels`;default:return null}}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 a=r*16+i*60;if(!Number.isSafeInteger(a))return null;if(a===0){this._graphicsBufPtr!==0&&d(this.wasm,this._graphicsBufPtr,this._graphicsBufSize),this._graphicsBufPtr=0,this._graphicsBufSize=0;let t={generation:e,images:[],placements:[]};return this._graphicsState=t,k(t)}if((a!==this._graphicsBufSize||this._graphicsBufPtr===0)&&(this._graphicsBufPtr!==0&&d(this.wasm,this._graphicsBufPtr,this._graphicsBufSize),this._graphicsBufSize=a,this._graphicsBufPtr=u(this.wasm,a)),this._graphicsBufPtr===0)return null;try{let t=f(this.wasm,this.termPtr,this._graphicsBufPtr,r),n=p(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,k(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 a=u(this.wasm,r);if(a===0)return null;try{let i=this.wasm.exports.graphics_image_copy(this.termPtr,e,t,a,r);if(i!==r)return null;let o=new Uint8Array(this.wasm.exports.memory.buffer,a,i).slice();return{imageId:e,version:t,width:n.width,height:n.height,rgba:o}}catch{return null}finally{d(this.wasm,a,r)}}getResourceState(){let e=O(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._positionOwner={},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&&d(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(){if(this._disposed||this.termPtr===0)return null;let{get_title_len:e,get_title_ptr:t,memory:n}=this.wasm.exports;if(!e||!t)return null;let r=e(this.termPtr);return r<0?null:new TextDecoder().decode(new Uint8Array(n.buffer,t(this.termPtr),r))}getBellCount(){return this._disposed||this.termPtr===0?0:this.wasm.exports.get_bell_count?.(this.termPtr)??0}getWorkingDirectory(){if(this._disposed||this.termPtr===0)return null;let{get_working_directory_len:e,get_working_directory_ptr:t,memory:n}=this.wasm.exports;if(!e||!t)return null;let r=e(this.termPtr);return!Number.isInteger(r)||r<0||r>2047?null:new TextDecoder(`utf-8`,{ignoreBOM:!0}).decode(new Uint8Array(n.buffer,t(this.termPtr),r))}getClipboardWrite(){if(this._disposed||this.termPtr===0)return null;let{get_clipboard_write_len:e,get_clipboard_write_ptr:t,memory:n}=this.wasm.exports;if(!e||!t)return null;let r=e(this.termPtr);return r<0?null:new TextDecoder(`utf-8`,{ignoreBOM:!0}).decode(new Uint8Array(n.buffer,t(this.termPtr),r))}findPrompt(e,t){let n=this.wasm.exports.find_prompt;if(this._disposed||this.termPtr===0||!n||!Number.isInteger(e)||e<0||e>w||t!==-1&&t!==1)return null;let r=n(this.termPtr,e,t);return Number.isInteger(r)&&r>=0?r:null}getShellIntegrationState(){if(this._disposed||this.termPtr===0)return null;let{get_shell_phase:e,get_shell_exit_code:t}=this.wasm.exports;if(!e||!t)return null;let n=e(this.termPtr);if(!Number.isInteger(n)||n<0||n>=x.length)return null;let r=t(this.termPtr);return{phase:x[n],exitCode:Number.isInteger(r)?r:null}}getResponse(){if(this._disposed||this.termPtr===0)return null;let e=4096,t=u(this.wasm,e);if(t===0)return null;let n=this.wasm.exports.read_response(this.termPtr,t,e);if(n===0)return d(this.wasm,t,e),null;let r=new Uint8Array(this.wasm.exports.memory.buffer,t,n),i=new TextDecoder().decode(r);return d(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 E;let n=this._ensureScrollbackLine(e),r=this._scrollbackView;if(!r||t>=n)return E;let i=l(r,t*this._cellBytes,this._cellBytes),a={char:i.codepoint||32,fg:g,bg:g,flags:i.flags,width:i.width};return i.underlineStyle!==void 0&&(a.underlineStyle=i.underlineStyle),i.underlineRgb!==void 0&&(a.underlineRgb=i.underlineRgb),i.hasGrapheme&&(a.chars=this._readScrollbackGrapheme(e,t)),i.spacerHead&&(a.spacerHead=!0),i.hasHyperlink&&Object.assign(a,this._readHyperlink(e,t,!0)),i.colorFlags&1&&(a.fgRgb=T(i.fgR,i.fgG,i.fgB)),i.colorFlags&2&&(a.bgRgb=T(i.bgR,i.bgG,i.bgB)),a}getScrollbackLineLen(e){return this._disposed||this.termPtr===0?0:this._ensureScrollbackLine(e)}getScrollbackRowMetadata(e){return this._readRowMetadata(this.wasm.exports.get_scrollback_row_wraps,e)}getUnhandledSequences(){return[]}_readRowMetadata(e,t){if(this._disposed||this.termPtr===0||!e||!Number.isInteger(t)||t<0||t>w)return null;let n=e(this.termPtr,t);return n<0?null:{wrapsToNext:!!(n&1),continuesPrevious:!!(n&2)}}setThemeColors(e){let t=[e.foreground,e.background,e.cursor,...e.palette];if(e.palette.length!==16||t.some(e=>!Number.isInteger(e)||e<0||e>16777215))throw RangeError(`Theme colors must be 24-bit RGB values with exactly 16 palette entries`);if(this._disposed)return;this._themeColors={...e,palette:[...e.palette]},this._foregroundRgb=e.foreground,this._backgroundRgb=e.background;let n=this.wasm.exports.set_theme_colors;if(!this.termPtr||!n)return;let r=t.length*4,i=u(this.wasm,r);try{let e=new DataView(this.wasm.exports.memory.buffer,i,r);t.forEach((t,n)=>e.setUint32(n*4,t,!0)),n(this.termPtr,i),this._invalidate()}finally{d(this.wasm,i,r)}}_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&&d(this.wasm,this._graphemeBufPtr,this._graphemeBufSize),this._graphemeBufSize=e,this._graphemeBufPtr=u(this.wasm,e))}_ensureHyperlinkBuffer(e){e<=this._hyperlinkBufSize||(this._hyperlinkBufPtr!==0&&d(this.wasm,this._hyperlinkBufPtr,this._hyperlinkBufSize),this._hyperlinkBufSize=e,this._hyperlinkBufPtr=u(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&&d(this.wasm,this._viewportBufPtr,this._viewportBufSize),this._viewportBufSize=this._cols*this._rows*this._cellBytes,this._viewportBufPtr=u(this.wasm,this._viewportBufSize),this._viewportView=null,this._viewportStale=!0,this._scrollbackBufPtr!==0&&d(this.wasm,this._scrollbackBufPtr,this._scrollbackBufSize),this._scrollbackBufSize=this._cols*this._cellBytes,this._scrollbackBufPtr=u(this.wasm,this._scrollbackBufSize),this._scrollbackView=null,this._scrollbackOffset=-1}_ensureScrollbackLine(e){if(this._scrollbackBufPtr===0)return 0;if(this._scrollbackOffset!==e){let t=this._cellBytes===20?this.wasm.exports.get_scrollback_line_v2:this.wasm.exports.get_scrollback_line;this._scrollbackLen=t(this.termPtr,e,this._scrollbackBufPtr,this._cols),this._scrollbackOffset=e}return 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._cellBytes===20?this.wasm.exports.get_viewport_v2: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{A as GhosttyCore,S as MAX_IMAGE_BYTES};
@@ -0,0 +1,5 @@
1
+ import{t as e}from"./preload-helper-Czpn1I53.js";var t,n=new Map,r=4;function i(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}async function a(e){let t=await fetch(e);if(!t.ok)throw Error(`[wterm] Failed to load WASM from ${e}: ${t.status} ${t.statusText}`);if(typeof WebAssembly.compileStreaming==`function`&&t.headers.get(`Content-Type`)?.trim().toLowerCase()===`application/wasm`)try{return await WebAssembly.compileStreaming(t.clone())}catch{}return WebAssembly.compile(await t.arrayBuffer())}function o(o){if(!o)return t??=e(async()=>{let{WASM_BASE64:e}=await import(`./wasm-inline-DSUyFn1L.js`);return{WASM_BASE64:e}},[]).then(({WASM_BASE64:e})=>WebAssembly.compile(i(e))).catch(e=>{throw t=void 0,e}),t;typeof document<`u`?o=new URL(o,document.baseURI).href:typeof location<`u`&&(o=new URL(o,location.href).href);let s=o,c=n.get(s);if(c)return n.delete(s),n.set(s,c),c;let l=a(s).catch(e=>{throw n.get(s)===l&&n.delete(s),e});return n.set(s,l),n.size>r&&n.delete(n.keys().next().value),l}var s=class e{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.gridStride=0,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(t){let n=await o(t),r=await WebAssembly.instantiate(n);return new e(r)}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.gridStride=this.exports.getGridStride()}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),this._updatePointers(),n+=r,t?.()}}getCell(e,t){let n=this.gridPtr+(e*this.gridStride+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,this.getRows())[e]!==0}clearDirty(){this.exports.clearDirty()}getCursor(){let e=this.exports.getCursorShape?.()??0;return{row:this.exports.getCursorRow(),col:this.exports.getCursorCol(),visible:this.exports.getCursorVisible()!==0,shape:e===1?`underline`:e===2?`bar`:`block`,blinking:(this.exports.getCursorBlinking?.()??0)!==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===1003?e:0}mouseSgr(){return this.exports.getMouseSgr()!==0}mouseEncoding(){switch(this.exports.getMouseEncoding?.()){case 0:return`x10`;case 1:return`utf8`;case 2:return`sgr`;case 3:return`urxvt`;case 4:return`sgr-pixels`;case void 0:return this.mouseSgr()?`sgr`:`x10`;default:return null}}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)}getBellCount(){return this.exports.getBellCount?.()??0}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}};function c(e,t){let n=0;for(let r=0;r<e.length&&n<=t;r++){let t=e.charCodeAt(r);t<128?n++:t<2048?n+=2:t>=55296&&t<=56319&&r+1<e.length&&e.charCodeAt(r+1)>=56320&&e.charCodeAt(r+1)<=57343?(n+=4,r++):n+=3}return n}var l=class{constructor(e={}){if(this._ws=null,this._connectionUrl=null,this._reconnectTimer=null,this._drainTimer=null,this._reconnectDelay=1e3,this._closed=!1,this._buffer=[],this._queuedBytes=0,this._backpressured=!1,this._socketPaused=!1,this.url=e.url??null,this._connectionUrl=this.url,this.reconnect=e.reconnect!==!1,this.maxReconnectDelay=e.maxReconnectDelay??3e4,this.maxBufferedBytes=e.maxBufferedBytes??1048576,this.maxBufferedMessages=e.maxBufferedMessages??1024,this.highWaterMark=e.highWaterMark??Math.min(65536,this.maxBufferedBytes),this.lowWaterMark=e.lowWaterMark??Math.floor(this.highWaterMark/4),!Number.isSafeInteger(this.maxBufferedBytes)||this.maxBufferedBytes<=0||!Number.isSafeInteger(this.maxBufferedMessages)||this.maxBufferedMessages<=0||!Number.isSafeInteger(this.highWaterMark)||this.highWaterMark<=0||this.highWaterMark>this.maxBufferedBytes||!Number.isSafeInteger(this.lowWaterMark)||this.lowWaterMark<0||this.lowWaterMark>=this.highWaterMark)throw RangeError(`Invalid WebSocket buffer limits`);this.onData=e.onData??null,this.onOpen=e.onOpen??null,this.onClose=e.onClose??null,this.onError=e.onError??null,this.onBackpressure=e.onBackpressure??null}connect(e){let t=e??this.url;if(!t)throw Error(`No WebSocket URL provided`);let n=this._ws;if(!this._closed&&t===this._connectionUrl&&n&&(n.readyState===WebSocket.CONNECTING||n.readyState===WebSocket.OPEN))return;let r=new WebSocket(t),i=this._connectionUrl??this.url,a=i!==null&&t!==i;this._cancelTimers(),this._ws=r,this._closed=!1,this._socketPaused=!1,this.url=t,this._connectionUrl=t,a&&this._clearBuffer(),n&&(this._detach(n),n.close()),r.binaryType=`arraybuffer`,r.onopen=()=>{this._ws!==r||this._closed||(this._reconnectDelay=1e3,this._flushBuffer(),this._ws===r&&!this._closed&&this.onOpen?.())},r.onmessage=e=>{this._ws!==r||this._closed||this.onData?.(e.data instanceof ArrayBuffer?new Uint8Array(e.data):e.data)},r.onclose=()=>{if(this._ws===r){this._ws=null,this._detach(r),this._cancelTimers(),this._socketPaused=!1,this.reconnect&&!this._closed&&this._scheduleReconnect();try{this._updatePressure()}finally{this.onClose?.()}}},r.onerror=e=>{if(!(this._ws!==r||this._closed))try{this.onError?.(e)}finally{this._ws===r&&r.close()}},this._updatePressure()}send(e){if(this._closed)throw Error(`WebSocket transport is closed`);let t=this.maxBufferedBytes-this.bufferedAmount;if((typeof e==`string`?c(e,t):e.byteLength)>t||this._buffer.length>=this.maxBufferedMessages)throw RangeError(`WebSocket send buffer limit exceeded`);let n=typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e);this._buffer.push(n),this._queuedBytes+=n.byteLength,this._flushBuffer()}close(){this._closed=!0,this._cancelTimers(),this._clearBuffer(),this._socketPaused=!1;try{this._ws?.close()}finally{this._updatePressure()}}get connected(){return!this._closed&&this._ws?.readyState===WebSocket.OPEN}get bufferedAmount(){return this._queuedBytes+(this.connected?this._ws.bufferedAmount:0)}get queuedBytes(){return this._queuedBytes}get queuedMessages(){return this._buffer.length}get backpressured(){return this._backpressured}_flushBuffer(){let e=this._ws;if(e&&this.connected){this._socketPaused&&e.bufferedAmount<=this.lowWaterMark&&(this._socketPaused=!1);for(let t=0;!this._socketPaused&&this._buffer.length&&t<64;t++){let t=this._buffer[0];if(e.bufferedAmount>0&&e.bufferedAmount+t.byteLength>this.highWaterMark){this._socketPaused=!0;break}e.send(t),this._buffer.shift(),this._queuedBytes-=t.byteLength,e.bufferedAmount>=this.highWaterMark&&(this._socketPaused=!0)}(this._buffer.length||e.bufferedAmount)&&this._drainTimer===null&&(this._drainTimer=setTimeout(()=>{this._drainTimer=null,this._flushBuffer()},16))}this._updatePressure()}_updatePressure(){let e=this.bufferedAmount,t=this._buffer.length>=this.maxBufferedMessages,n=this._backpressured?e>this.lowWaterMark||t:e>=this.highWaterMark||t;n!==this._backpressured&&(this._backpressured=n,this.onBackpressure?.(n))}_clearBuffer(){this._buffer=[],this._queuedBytes=0}_cancelTimers(){this._reconnectTimer!==null&&clearTimeout(this._reconnectTimer),this._drainTimer!==null&&clearTimeout(this._drainTimer),this._reconnectTimer=this._drainTimer=null}_detach(e){e.onopen=e.onmessage=e.onclose=e.onerror=null}_scheduleReconnect(){this._reconnectTimer=setTimeout(()=>{this._reconnectTimer=null,!this._closed&&this.reconnect&&this.connect()},this._reconnectDelay),this._reconnectDelay=Math.min(this._reconnectDelay*2,this.maxReconnectDelay)}},u=33554432,d=32768;function f(e){return e!==void 0&&Number.isFinite(e)&&e>0}function p(e){return Number.isSafeInteger(e)&&e>=0}function m(...e){let t=1;for(let n of e)if(!p(n)||(t*=n,!Number.isSafeInteger(t)))return null;return t}function h(e){return`${e.placementKey}:${e.imageId}:${e.imageVersion}`}var g=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=f(t.maxImageWidth)?t.maxImageWidth:void 0,this.maxImageHeight=f(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 c=o?this.visiblePlacements(e,i,t,a,o,s):[],l=new Set,u=new Map;for(let e of c){let t=h(e),n=`${e.imageId}:${e.imageVersion}`;a.has(n)&&(l.add(t),u.set(n,(u.get(n)??0)+1))}let d=i.generation!==this.generation;this.generation=i.generation;for(let[e,t]of this.canvases)l.has(e)||this.removeCanvas(e);for(let[e,t]of this.cache)u.has(e)?t.refs=u.get(e):this.cache.delete(e);for(let n of c){let i=h(n),c=`${n.imageId}:${n.imageVersion}`;if(!l.has(i))continue;let f=a.get(c);if(!f)continue;let p=this.cache.get(c);if(!p){let t;try{t=r.call(e,n.imageId,n.imageVersion)}catch{t=null}if(!t||!this.validImage(t,f.width,f.height))continue;p={data:t,refs:u.get(c)??0},this.cache.set(c,p)}let m=this.canvases.get(i),g=m??this.createCanvas(i);if(g){if(d||!m){let e=!1;try{e=this.paint(g,i,p.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 a,o;try{o=e.getRows(),a=n.scrollbackCount+o}catch{return this.flowRows.size>0&&this.clearFlowReservations(),new Map}if(!Number.isSafeInteger(o)||o<0||!Number.isSafeInteger(a)||a<0)return this.flowRows.size>0&&this.clearFlowReservations(),new Map;let s=new Map;for(let e of t.placements){if(!this.validPlacement(e,a)||e.rows!==0||e.row<n.scrollbackCount)continue;let t=r.get(`${e.imageId}:${e.imageVersion}`);if(!t)continue;let o=this.destinationSize(e,e.sourceWidth||t.width,e.sourceHeight||t.height,n,i);if(!o)continue;let c=e.offsetY+o.height;f(c)&&s.set(e.row,Math.max(s.get(e.row)??0,c))}if(s.size===0)return this.flowRows.size>0&&this.clearFlowReservations(),new Map;this.clearFlowReservations();let c=this.container.querySelectorAll(`.term-row:not(.term-scrollback-row)`);for(let e of c)e.style.transform=``;let l=new Map,u=0,d=n.scrollbackCount;for(let e=0;e<o;e++){let t=d+e;u>0&&l.set(t,u);let n=s.get(t)??0,r=c[e],i=u+n;r&&i>0&&(r.style.transform=`translateY(${i}px)`),u+=n}return this.flowSpacer&&(this.flowSpacer.style.height=`${u}px`),this.container.parentElement?.classList.toggle(`has-image-flow`,u>0),this.flowRows=s,l}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=m(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,a){if(!f(n.rowHeight)||!f(n.charWidth)||!Number.isFinite(n.scrollTop))return[];let o;try{o=n.scrollbackCount+e.getRows()}catch{return[]}if(!Number.isSafeInteger(o)||o<0)return[];let s=n.scrollTop-n.overscanRows*n.rowHeight,c=n.scrollTop+Math.max(n.clientHeight,n.rowHeight)+n.overscanRows*n.rowHeight;return t.placements.filter(e=>{if(!this.validPlacement(e,o))return!1;let t=r.get(`${e.imageId}:${e.imageVersion}`);if(!t)return!1;let l=this.destinationSize(e,e.sourceWidth||t.width,e.sourceHeight||t.height,n,i);if(!l)return!1;let u=e.row*n.rowHeight+e.offsetY+(a.get(e.row)??0),d=u+l.height;return Number.isFinite(u)&&Number.isFinite(d)&&u<c&&d>s})}validPlacement(e,t){return typeof e.placementKey==`string`&&e.placementKey.length>0&&p(e.imageId)&&e.imageId>0&&p(e.imageVersion)&&e.imageVersion>0&&p(e.row)&&e.row<t&&p(e.col)&&p(e.offsetX)&&p(e.offsetY)&&p(e.sourceX)&&p(e.sourceY)&&p(e.sourceWidth)&&p(e.sourceHeight)&&p(e.columns)&&p(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,i,a,o=0){if(!this.validPlacement(r,2**53-1))return!1;let s=r.sourceX,c=r.sourceY,l=r.sourceWidth||n.width,u=r.sourceHeight||n.height;if(!Number.isSafeInteger(s)||!Number.isSafeInteger(c)||!Number.isSafeInteger(l)||!Number.isSafeInteger(u)||s<0||c<0||l<=0||u<=0||s+l>n.width||c+u>n.height)return!1;let f=this.destinationSize(r,l,u,i,a);if(!f)return!1;let{width:p,height:h}=f,g=Math.max(1,Math.ceil(p)),_=Math.max(1,Math.ceil(h));if(!Number.isSafeInteger(g)||!Number.isSafeInteger(_)||g>d||_>d)return!1;let v=m(g,_,4);if(v===null||!this.resizeCanvas(e,t,g,_,v))return!1;this.position(e,r,i,o),e.style.width=`${p}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,s,c,l,u,0,0,g,_),!0}destinationSize(e,t,n,r,i){if(!p(t)||!p(n)||t<=0||n<=0)return null;let a=e.columns*r.charWidth,o=e.rows*r.rowHeight,s=f(a)&&e.columns>0?a:f(o)&&e.rows>0?t/n*o:t,c=f(o)&&e.rows>0?o:f(a)&&e.columns>0?n/t*a:n;if(!f(s)||!f(c)||!Number.isFinite(e.offsetY+c)||!i)return null;let l=Math.min(1,i.width/s,i.height/c,this.maxImageWidth===void 0?1:this.maxImageWidth/s,this.maxImageHeight===void 0?1:this.maxImageHeight/c);return f(l)?{width:s*l,height:c*l}:null}visiblePixelArea(e,t){let n,r;try{n=e.getCols(),r=e.getRows()}catch{return null}if(!p(n)||!p(r)||n<=0||r<=0||!f(t.charWidth)||!f(t.rowHeight))return null;let i=n*t.charWidth,a=r*t.rowHeight;return!f(i)||!f(a)||!Number.isSafeInteger(Math.ceil(i))||!Number.isSafeInteger(Math.ceil(a))?null:{width:Math.min(i,d),height:Math.min(a,d)}}resizeCanvas(e,t,n,r,i){let a=this.canvasAllocations.get(t)??0;if(i>u-this.canvasBytes+a)return!1;try{e.width=n,e.height=r}catch{return!1}return this.canvasBytes=this.canvasBytes-a+i,this.canvasAllocations.set(t,i),!0}};function _(e,t,n){let r=[],i=t;for(let a of e.specialCells)if(!(a.end<=t)){if(a.start>=n)break;i<a.start&&r.push(e.text.slice(i,a.start)),a.omit||r.push(e.text.slice(a.start,a.end)),i=a.end}return i<n&&r.push(e.text.slice(i,n)),r.join(``)}function v(e,t){return y(e,t)?.text??null}function y(e,t){let n=e.ownerDocument.getSelection();if(!n||n.isCollapsed||n.rangeCount!==1)return null;let r=n.getRangeAt(0);if(!e.contains(r.startContainer)||!e.contains(r.endContainer))return null;let i=e.ownerDocument.activeElement;if(i&&(i.tagName===`INPUT`||i.tagName===`TEXTAREA`)){let e=i;if(e.selectionStart!==e.selectionEnd)return null}let a=[],o,s,c;for(let n of t){let{element:t,content:i}=n;if(!r.intersectsNode(t))continue;let l=e.ownerDocument.createRange();l.selectNodeContents(t),t.contains(r.startContainer)&&l.setStart(r.startContainer,r.startOffset),t.contains(r.endContainer)&&l.setEnd(r.endContainer,r.endOffset);let u=e.ownerDocument.createRange();u.selectNodeContents(t),u.setEnd(l.startContainer,l.startOffset);let d=u.toString().length,f=d+l.toString().length;if(t.textContent!==i.text)return null;if(o??={row:n,offset:d},s={row:n,offset:f===i.text.length&&!i.metadata?.wrapsToNext?Math.max(d,i.text.replace(/ +$/,``).length):f},c){if(n.row!==c.row+1)return null;c.content.metadata?.wrapsToNext&&i.metadata?.continuesPrevious||a.push(`
2
+ `)}let p=d===f?``:_(i,d,f);f===i.text.length&&!i.metadata?.wrapsToNext&&(p=p.replace(/ +$/,``)),a.push(p),c=n}return o&&s?{text:a.join(``),first:o,last:s,backward:n.anchorNode!==r.startContainer||n.anchorOffset!==r.startOffset}:null}function b(e,t,n){let r=0;for(let i of e.specialCells){if(t>=i.start&&t<i.end&&!n||t>i.start&&t<=i.end&&n)return{col:i.col,after:n};i.end<=t&&(r+=i.width-(i.end-i.start))}let i=t>0&&(n||t===e.text.length);return{col:t+r-+!!i,after:i}}function x(e,t,n){let r=0;for(let i of e.specialCells){if(t>=i.col&&t<i.col+i.width)return n?i.end:i.start;i.col<t&&(r+=i.end-i.start-i.width)}return t+r+ +!!n}function S(e,t){let n=e.ownerDocument.createTreeWalker(e,4),r;for(;r=n.nextNode();){let e=r.textContent?.length??0;if(t<=e)return[r,t];t-=e}return null}var C=1e3,w=1048576,T=new Set(` '"│\`|:;,()[]{}<>$`);function E(e,t,n){let r=e.getScrollbackCount(),i=r+e.getRows(),a=e.getCols(),o={char:0,fg:256,bg:256,flags:0};if(!Number.isInteger(t.row)||!Number.isInteger(t.col)||t.row<0||t.row>=i||t.col<0||t.col>=a)return null;let s=t=>t.row<r?t.col<e.getScrollbackLineLen(r-t.row-1)?e.getScrollbackCell(r-t.row-1,t.col):o:e.getCell(t.row-r,t.col),c=t=>t<r?e.getScrollbackLineLen(r-t-1)<=a?e.getScrollbackRowMetadata?.(r-t-1):null:e.getRowMetadata?.(t-r),l=e=>e>=0&&e+1<i&&c(e)?.wrapsToNext&&c(e+1)?.continuesPrevious,u=(e,t)=>{let n=e.col+t;if(n>=0&&n<a)return{row:e.row,col:n};let r=e.row+t;return l(Math.min(r,e.row))?{row:r,col:t===1?0:a-1}:null},d={...t};if(s(d).spacerHead)return null;s(d).width===0&&d.col>0&&d.col--;let f=e=>{let t=s(e);return t.chars??String.fromCodePoint(t.char||32)},p=e=>T.has(String.fromCodePoint(e.codePointAt(0)??32)),m=p(f(d)),h=f(d).length,g=1,_=h>w,v=d,y=d,b=e=>{let t=d,r=d;for(;;){let i=u(t,e);if(!i)return r;if(++g>2097152)return _=!0,r;let a=s(i);if(a.width!==0&&!a.spacerHead){let e=a.chars??String.fromCodePoint(a.char||32);if(n===`word`&&p(e)!==m)return r;h+=e.length,r=i}let o=e===-1?i.row:v.row;if((e===1?i.row:d.row)-o>=1e3||h>1048576)return _=!0,r;t=i}};return v=b(-1),_||(y=b(1)),_?null:{start:v,end:y}}var ee=65536;function te(e,t,n){let r=e.getScrollbackCount(),i=r+e.getRows(),a=e.getCols();for(let e of[t,n])if(!Number.isInteger(e.row)||!Number.isInteger(e.col)||e.row<0||e.row>=i||e.col<0||e.col>=a)return null;let o=Math.min(t.row,n.row),s=Math.max(t.row,n.row),c=Math.min(t.col,n.col),l=Math.max(t.col,n.col),u=s-o+1;if(u>1e3||u*(l-c+2)>ee)return null;let d=[],f=[],p=u-1;for(let t=o;t<=s;t++){let n=r-t-1,i=t<r?e.getScrollbackLineLen(n):a,o=a=>a>=i?null:t<r?e.getScrollbackCell(n,a):e.getCell(t-r,a),s=c;s>0&&o(s)?.width===0&&o(s-1)?.width===2&&s--;let u=l+1,m=``;for(let e=s;e<=l;e++){let t=o(e);if(t?.width===0||t?.spacerHead)continue;let n=t?.chars??String.fromCodePoint(t?.char||32);if(p+=n.length,p>1048576)return null;m+=n,u=Math.max(u,Math.min(a,e+(t?.width??1)))}d.push({row:t,left:s,right:u}),f.push(m)}return{rows:d,text:f.join(`
3
+ `)}}var D=C,ne=class{constructor(e){this.terminal=e,this.current=null,this.painted=!0}matches(){let e=this.terminal.ownerDocument.getSelection(),t=this.current?.native;return!!e&&!!t&&e.anchorNode===t.anchorNode&&e.anchorOffset===t.anchorOffset&&e.focusNode===t.focusNode&&e.focusOffset===t.focusOffset}capture(e,t){let n=this.terminal.ownerDocument.activeElement;if(n&&(n.tagName===`INPUT`||n.tagName===`TEXTAREA`)){let e=n;if(e.selectionStart!==e.selectionEnd){this.dispose();return}}if(this.current&&this.matches()||(this.dispose(),!this.painted||!e.trackPosition))return;let r=y(this.terminal,t);if(!r||!r.text.length||r.last.row.row-r.first.row.row>=D||r.text.length>1048576)return;let i=b(r.first.row.content,r.first.offset,!1),a=b(r.last.row.content,r.last.offset,!0),o=e.trackPosition({row:r.first.row.row,col:i.col});if(!o)return;let s=e.trackPosition({row:r.last.row.row,col:a.col});if(!s){o.dispose();return}let c=this.terminal.ownerDocument.getSelection();this.current={start:{pin:o,after:i.after},end:{pin:s,after:a.after},text:r.text,backward:r.backward,native:this.snapshot(c)}}beforeMutation(e,t){this.capture(e,t),this.painted=!1}beforeRender(e,t){this.capture(e,t);let n=this.current?.start.pin.resolve(),r=this.current?.end.pin.resolve();return!n||!r||r.row<n.row||r.row===n.row&&r.col<n.col||r.row-n.row>=D?(this.clear(),null):{start:n,end:r}}afterRender(e,t){this.painted=!0;let n=this.current;if(!n||!t)return;let r=Array.from(e),i=(e,t)=>{let n=r.find(t=>t.row===e.row);return n&&S(n.element,x(n.content,e.col,t))},a=i(t.start,n.start.after),o=i(t.end,n.end.after),s=this.terminal.ownerDocument.getSelection();if(!a||!o||!s){this.clear();return}let c=n.backward?o:a,l=n.backward?a:o;(s.anchorNode!==c[0]||s.anchorOffset!==c[1]||s.focusNode!==l[0]||s.focusOffset!==l[1])&&s.setBaseAndExtent(...c,...l),n.native=this.snapshot(s),y(this.terminal,r)?.text!==n.text&&this.clear()}snapshot(e){return{anchorNode:e.anchorNode,anchorOffset:e.anchorOffset,focusNode:e.focusNode,focusOffset:e.focusOffset}}clear(){this.current&&this.matches()&&this.terminal.ownerDocument.getSelection()?.removeAllRanges(),this.dispose()}dispose(){this.current?.start.pin.dispose(),this.current?.end.pin.dispose(),this.current=null}},re=256,O=`var(--term-app-fg, var(--term-fg))`,k=`var(--term-app-bg, var(--term-bg))`,A=1,ie=2,ae=4,oe=8,se=32,ce=64,le=128,ue=10;function j(e){return`rgb(${e>>16&255},${e>>8&255},${e&255})`}function de(e){if(e===re)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 fe(e,t){return t===void 0?de(e):j(t)}function pe(e,t){return t===void 0?de(e):j(t)}function M({fg:e,bg:t,flags:n,fgRgb:r,bgRgb:i,underlineStyle:a,underlineRgb:o}){let s=fe(e,r),c=pe(t,i);n&se&&([s,c]=[c??k,s??O]);let l=``;s&&(l+=`color:${s};`),c&&(l+=`background:${c};`),n&A&&(l+=`font-weight:bold;`),n&ie&&(l+=`opacity:0.5;`),n&ae&&(l+=`font-style:italic;`);let u=[],d=a??(n&oe?`single`:`none`);return d!==`none`&&u.push(`underline`),n&le&&u.push(`line-through`),u.length&&(l+=`text-decoration:${u.join(` `)};`),d!==`none`&&(l+=`text-decoration-style:${d===`curly`?`wavy`:d===`double`||d===`dotted`||d===`dashed`?d:`solid`};text-decoration-skip-ink:none;`,o!==void 0&&(l+=`text-decoration-color:${j(o)};`)),n&ce&&(l+=`visibility:hidden;`),l}function N(e){return e.replace(/(^|;)color:/g,`$1--term-cell-fg:`).replace(/(^|;)background:/g,`$1--term-cell-bg:`)}function P(e){return e===1?``:`--term-span-cols:${e};`}function F(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function I(e,t,n){let r=F(n),i=!t.includes(`text-decoration:underline line-through;`);i||(t=t.replace(`text-decoration:underline line-through;`,`text-decoration:underline;`),r=`<span style="text-decoration:line-through solid currentColor;">${r}</span>`);let a=`<span${e?` class="${e}"`:``}${t?` style="${t}"`:``}>`;return{html:`${a}${r}</span>`,opening:i?a:void 0,text:i?n:void 0}}function me(e){if(e)try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`?t.href:void 0}catch{return}}function he(e){return e.linkUri?e.linkKey??`fallback\0${e.linkId??``}\0${e.linkUri}`:``}function L(e,t,n,r,i){let a=fe(e,r)||O,o=pe(t,i)||k;return n&se?{fg:o,bg:a}:{fg:a,bg:o}}var R=`round(calc(var(--term-row-height) * 0.125), 1px)`,z=`round(calc(var(--term-row-height) * 0.25), 1px)`,B=`round(calc(var(--term-row-height) * 0.375), 1px)`,V=`round(calc(var(--term-row-height) * 0.5), 1px)`,ge=`round(calc(var(--term-row-height) * 0.625), 1px)`,_e=`round(calc(var(--term-row-height) * 0.75), 1px)`,H=`round(calc(var(--term-row-height) * 0.875), 1px)`;function ve(e,t,n){switch(e){case 9600:return`linear-gradient(${t} ${V},${n} ${V})`;case 9601:return`linear-gradient(${n} ${H},${t} ${H})`;case 9602:return`linear-gradient(${n} ${_e},${t} ${_e})`;case 9603:return`linear-gradient(${n} ${ge},${t} ${ge})`;case 9604:return`linear-gradient(${n} ${V},${t} ${V})`;case 9605:return`linear-gradient(${n} ${B},${t} ${B})`;case 9606:return`linear-gradient(${n} ${z},${t} ${z})`;case 9607:return`linear-gradient(${n} ${R},${t} ${R})`;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} ${R},${n} ${R})`;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 ye={9472:`lr`,9474:`ud`,9484:`dr`,9488:`dl`,9492:`ur`,9496:`ul`,9500:`udr`,9508:`udl`,9516:`dlr`,9524:`ulr`,9532:`udlr`,9588:`l`,9589:`u`,9590:`r`,9591:`d`},be={9473:`lr`,9475:`ud`,9487:`dr`,9491:`dl`,9495:`ur`,9499:`ul`,9507:`udr`,9515:`udl`,9523:`dlr`,9531:`ulr`,9547:`udlr`,9592:`l`,9593:`u`,9594:`r`,9595:`d`},xe={9581:`tl`,9582:`tr`,9583:`br`,9584:`bl`},U={};function Se(e,t){let n=`var(--term-box-stroke)`,r=`calc(50% + ${n})`,i=`calc(50% + ${n})`;for(let[a,o]of Object.entries(e)){let e=[];o.includes(`u`)&&o.includes(`d`)?e.push([`center center`,`${n} 100%`]):(o.includes(`u`)&&e.push([`center top`,`${n} ${r}`]),o.includes(`d`)&&e.push([`center bottom`,`${n} ${r}`])),o.includes(`l`)&&o.includes(`r`)?e.push([`center center`,`100% ${n}`]):(o.includes(`l`)&&e.push([`left center`,`${i} ${n}`]),o.includes(`r`)&&e.push([`right center`,`${i} ${n}`])),U[Number(a)]={className:t,style:`background-image:${e.map(()=>`linear-gradient(currentColor,currentColor)`).join(`,`)};background-position:${e.map(([e])=>e).join(`,`)};background-size:${e.map(([,e])=>e).join(`,`)};background-repeat:no-repeat;`}}}Se(ye,`term-box`),Se(be,`term-box term-box-heavy`);for(let[e,t]of Object.entries(xe))U[Number(e)]={className:`term-box term-box-round term-box-round-${t}`,style:``};var Ce=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.prevCursorVisible=!1,this.prevRowBg=[],this._scrollbackRowEls=[],this._scrollbackKeys=[],this._scrollbackRowHeight=0,this._scrollbackGapSpacers=[],this._renderedScrollbackCount=-1,this._renderedDiscardedCount=-1,this._scrollbackTopSpacer=null,this._scrollbackBottomSpacer=null,this.rowText=new WeakMap,this.rowParts=new WeakMap,this.rowBackground=new WeakMap,this.selection=null,this.needsSetup=!1,this.colorsChanged=!1,this.painted=!1,this.container=e,this.colorHost=t.colorHost??e,this.graphics=new g(e,t),this.searchLayer=document.createElement(`div`),this.searchLayer.className=`term-search-layer`,this.searchLayer.setAttribute(`aria-hidden`,`true`)}setup(e,t){this.cols=e,this.rows=t,this.container.innerHTML=``,this.rowText=new WeakMap,this.rowParts=new WeakMap,this.rowBackground=new WeakMap,this.rowEls=[],this.prevRowBg=[],this._scrollbackRowEls=[],this._scrollbackKeys=[],this._scrollbackGapSpacers=[],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.searchLayer.replaceChildren(),this.container.appendChild(this.searchLayer),this.graphics.setup(),this.prevCursorRow=-1,this.prevCursorCol=-1}_buildRowContent(e,t,n,r,i){let a=[],o=``,s={text:``,specialCells:[],metadata:null},c=(e,t,n=1,r=!1)=>{let i=s.text.length;s.text+=e,(e.length!==n||n>1||r)&&s.specialCells.push({start:i,end:s.text.length,col:t,width:n,omit:r})},l=``,u=``,d=[],f=0,p=``,m,h=``,g,_=n>=this.cols,v=(e,t,n)=>{let r=me(n),i=r?t:``;i!==h&&(h&&a.push({html:o+`</a>`}),i&&(o=`<a class="term-link" href="${F(r)}" target="_blank" rel="noopener noreferrer">`),h=i),h?o+=e.html:a.push(e)},y=e=>{if(!u)return;let t=(e,t,n)=>v(I(e,t,n),p,m);if(r>=f&&r<e){let e=r-f,n=d.slice(0,e).join(``),i=d[e]||` `,a=d.slice(e+1).join(``);n&&t(``,P(e)+l,n),t(`term-cursor`,N(l),i),a&&t(``,P(d.length-e-1)+l,a)}else t(``,P(d.length)+l,u);u=``,d=[]},b=(e,t,n,r,i)=>{v(I(e,t,n),r,i)};for(let e=0;e<this.cols;e++){let i=t(e),a=e<n,o=a?i.char:0,s=a?i.width??1:1,h=a?he(i):``,v=a?i.linkUri:void 0,x=a&&s===0&&e>0&&(t(e-1).width??1)===2;if(_&&!x){let e=L(i.fg,i.bg,i.flags,i.fgRgb,i.bgRgb).bg;i.flags&66||g!==void 0&&g!==e?_=!1:g=e}if(a&&s===0){if(y(e),!x){c(` `,e);let t=M(i),n=e===r;b(n?`term-cursor`:``,n?N(t):t,` `,h,v)}l=``,p=``,m=void 0,u=``,d=[],f=e+1;continue}if(a&&s===2){if(y(e),e+1>=this.cols){c(` `,e);let t=M(i),n=e===r;b(n?`term-cursor`:``,n?N(t):t,` `,h,v),l=``,p=``,m=void 0,u=``,d=[],f=e+1;continue}let t=i.chars??(o>=32?String.fromCodePoint(o):` `);c(t,e,2);let n=M(i),a=r>=e&&r<e+2;b(a?`term-wide term-cursor`:`term-wide`,a?N(n):n,t,h,v),l=``,p=``,m=void 0,u=``,d=[],f=e+2;continue}if(a&&o>=9600&&o<=9631){y(e);let t=i.chars??String.fromCodePoint(o);c(t,e);let n=L(i.fg,i.bg,i.flags,i.fgRgb,i.bgRgb),a=e===r?`term-block term-cursor`:`term-block`,s=ve(o,n.fg,n.bg),g=M(i)+`color:${n.fg};background:${s};`;b(a,e===r?N(g):g,t,h,v),l=``,p=``,m=void 0,u=``,d=[],f=e+1}else{let t=i.chars??(a&&o>=32?String.fromCodePoint(o):` `);c(t,e,1,i.spacerHead===!0);let n=a?M(i):``;if(t.length!==1||t.charCodeAt(0)>126){y(e);let a=e===r,s=U[o],c=s&&t===String.fromCodePoint(o)?s:null,u=c?.className??``;c&&i.flags&A&&(u+=` term-box-bold`),a&&(u+=u?` term-cursor`:`term-cursor`),b(u,(a?N(n):n)+(c?.style??``),t,h,v),l=``,p=``,m=void 0,f=e+1;continue}n!==l||h!==p?(y(e),l=n,p=h,m=v,u=t,d=[t],f=e):(u+=t,d.push(t))}}y(this.cols),h&&a.push({html:o+`</a>`}),this.updateRowParts(e,a),this.rowText.set(e,s);let x=_&&g!==k?g??``:``;i>=0?x!==(this.prevRowBg[i]??``)&&(e.style.background=x,this.prevRowBg[i]=x):this.rowBackground.get(e)!==x&&(e.style.background=x,this.rowBackground.set(e,x))}updateRowParts(e,t){let n=this.rowParts.get(e),r=0,i=n?.length??0,a=t.length;if(n){for(;r<i&&r<a&&n[r].html===t[r].html;)r++;for(;i>r&&a>r&&n[i-1].html===t[a-1].html;)i--,a--}if(r===i&&r===a)return;let o=n!==void 0&&i===a;for(let i=r;o&&i<a;i++){let r=e.childNodes[i];o=t[i].opening!==void 0&&t[i].opening===n[i].opening&&r?.childNodes.length===1&&r.firstChild?.nodeType===3}if(o){for(let i=r;i<a;i++)t[i].html!==n[i].html&&(e.childNodes[i].firstChild.nodeValue=t[i].text);this.rowParts.set(e,t);return}if(r+t.length-a<Math.max(i-r,a-r))e.innerHTML=t.map(e=>e.html).join(``);else{let n=e.ownerDocument.createRange();n.setStart(e,r),n.setEnd(e,i),n.deleteContents();let o=t.slice(r,a).map(e=>e.html).join(``);o&&n.insertNode(n.createContextualFragment(o))}this.rowParts.set(e,t)}_updateScrollbackRow(e,t,n){let r=e.getScrollbackLineLen(t);this._buildRowContent(n,n=>e.getScrollbackCell(t,n),r,-1,-1);let i=this.rowText.get(n),a=e.getScrollbackRowMetadata?.(t);i.metadata=a&&r<=this.cols?{...a}:null}syncScrollback(e,t){let n=e.getScrollbackCount(),r=t?.rowHeight??0,i=t!==void 0&&r>0,a=t?.overscanRows??ue,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(),m=p!==null&&!p.isCollapsed&&(this.container.contains(p.anchorNode)||this.container.contains(p.focusNode)),h=this.painted&&!this.colorsChanged&&o&&n===this._renderedScrollbackCount&&s===this._renderedDiscardedCount,g=(this._scrollbackKeys[0]??1/0)-s,_=(this._scrollbackKeys[this._scrollbackKeys.length-1]??-1/0)-s+1,v=Math.ceil(a/2);if(i&&h&&!m&&!t?.selectedRows&&r===this._scrollbackRowHeight&&this._scrollbackKeys.length===_-g&&this._scrollbackKeys.length<=u+2*a&&g<=Math.max(0,Math.min(n,l-v))&&_>=Math.min(n,l+u+v))return;let y=new Set;for(let e=d;e<f;e++)y.add(e);if(!t?.selectedRows&&m&&p.rangeCount===1){let e=p.getRangeAt(0),t=this._scrollbackRowEls.flatMap((t,n)=>e.intersectsNode(t)?[this._scrollbackKeys[n]-s]:[]);if(t.length<=D)for(let e of t)e>=0&&e<n&&y.add(e)}if(t?.selectedRows)for(let e=Math.max(0,t.selectedRows.start);e<=Math.min(n-1,t.selectedRows.end);e++)y.add(e);let b=Array.from(y).sort((e,t)=>e-t),x=b.map(e=>s+e);if(h&&r===this._scrollbackRowHeight&&x.length===this._scrollbackKeys.length&&x.every((e,t)=>e===this._scrollbackKeys[t]))return;let S=new Map;for(let e=0;e<this._scrollbackRowEls.length;e++)S.set(this._scrollbackKeys[e],this._scrollbackRowEls[e]);let C=new Set(x);for(let[e,t]of S)C.has(e)||t.remove();for(let e of this._scrollbackGapSpacers)e.remove();this._scrollbackGapSpacers=[];let w=[],T=this._scrollbackTopSpacer?.nextSibling??null,E=(b[0]??n)-1;for(let t of b){if(t>E+1){let e=document.createElement(`div`);e.className=`term-scrollback-spacer`,e.style.height=`${(t-E-1)*r}px`,this.container.insertBefore(e,T??this._scrollbackBottomSpacer),this._scrollbackGapSpacers.push(e)}E=t;let i=s+t,a=n-1-t,o=S.get(i);o?h||this._updateScrollbackRow(e,a,o):(o=document.createElement(`div`),o.className=`term-row term-scrollback-row`,this._updateScrollbackRow(e,a,o)),o!==T&&this.container.insertBefore(o,T??this._scrollbackBottomSpacer),T=o.nextSibling,w.push(o)}this._scrollbackRowEls=w,this._scrollbackKeys=x,this._renderedScrollbackCount=n,this._renderedDiscardedCount=s,this._scrollbackRowHeight=r,this._scrollbackTopSpacer&&(this._scrollbackTopSpacer.style.height=`${(b[0]??n)*r}px`),this._scrollbackBottomSpacer&&(this._scrollbackBottomSpacer.style.height=`${b.length?(n-b[b.length-1]-1)*r:0}px`)}syncColorOverrides(e={}){for(let[t,n]of[[`foreground`,`--term-app-fg`],[`background`,`--term-app-bg`],[`cursor`,`--term-app-cursor`]]){let r=e[t],i=r===void 0?``:j(r);this.colorHost.style.getPropertyValue(n)!==i&&(i?this.colorHost.style.setProperty(n,i):this.colorHost.style.removeProperty(n))}}render(e,t){this.syncColorOverrides(e.getColorOverrides?.()),this.viewport=t,this.selection??=new ne(this.container.parentElement??this.container);let n=this.selection.beforeRender(e,this.selectionRows()),r=e.getRows(),i=e.getCols(),a=!1;(this.needsSetup||r!==this.rows||i!==this.cols)&&(this.setup(i,r),this.needsSetup=!1,a=!0),this.syncScrollback(e,t&&{...t,selectedRows:n?{start:n.start.row,end:n.end.row}:void 0});let o=e.getCursor(),s=o.visible,c=o.shape??`block`,l=String(o.blinking??!1);this.container.dataset.cursorShape!==c&&(this.container.dataset.cursorShape=c),this.container.dataset.cursorBlink!==l&&(this.container.dataset.cursorBlink=l);let u=o.row!==this.prevCursorRow||o.col!==this.prevCursorCol||s!==this.prevCursorVisible;for(let t=0;t<this.rows;t++){let n=this.colorsChanged||a||e.isDirtyRow(t),r=t===this.prevCursorRow&&u,i=t===o.row;if(n||r||i&&u){let n=i&&s?o.col:-1;this._buildRowContent(this.rowEls[t],n=>e.getCell(t,n),this.cols,n,t)}let c=this.rowText.get(this.rowEls[t]);if(c){let n=e.getRowMetadata?.(t);c.metadata=n?{...n}:null}}this.prevCursorRow=o.row,this.prevCursorCol=o.col,this.prevCursorVisible=s,e.clearDirty(),this.colorsChanged=!1,this.selection.afterRender(this.selectionRows(),n),this.painted=!0,this.graphics.reconcile(e,{scrollTop:t?.scrollTop??0,clientHeight:t?.clientHeight??0,rowHeight:t?.rowHeight??0,charWidth:t?.charWidth??0,overscanRows:t?.overscanRows??ue,scrollbackCount:e.getScrollbackCount()})}*searchRows(){for(let e=0;e<this._scrollbackRowEls.length;e++)yield{row:this._scrollbackKeys[e]-Math.max(0,this._renderedDiscardedCount),element:this._scrollbackRowEls[e]};for(let e=0;e<this.rowEls.length;e++)yield{row:Math.max(0,this._renderedScrollbackCount)+e,element:this.rowEls[e]}}getSelectionText(){let e=this.container.parentElement;return e?v(e,this.selectionRows()):null}*selectionRows(){for(let e of this.searchRows()){let t=this.rowText.get(e.element);t&&(yield{...e,content:t})}}beforeMutation(e){this.selection?.beforeMutation(e,this.selectionRows()),this.painted=!1}positionAt(e,t,n){if(!this.painted||this.needsSetup||n<=0)return null;let r=e.closest(`.term-row`),i=Array.from(this.searchRows()).find(e=>e.element===r);if(!i)return null;let a=Math.floor((t-i.element.getBoundingClientRect().left)/n);return a>=0&&a<this.cols?{row:i.row,col:a}:null}select(e,t,n,r){if(!this.painted||this.needsSetup)return!1;let i=E(e,t,n);if(!i||(r(),!this.painted||this.needsSetup))return!1;this.syncScrollback(e,{...this.viewport??{scrollTop:0,clientHeight:0,rowHeight:0},selectedRows:{start:i.start.row,end:i.end.row}});let a=Array.from(this.selectionRows()),o=(e,t)=>{let n=a.find(t=>t.row===e.row);return n&&S(n.element,x(n.content,e.col,t))},s=o(i.start,!1),c=o(i.end,!0),l=this.container.ownerDocument.getSelection();return!s||!c||!l?!1:(l.setBaseAndExtent(...s,...c),this.selection?.capture(e,this.selectionRows()),!0)}rectangle(e,t,n,r){if(!this.painted||this.needsSetup)return null;let i=te(e,t,n);return i?(r(),this.painted&&!this.needsSetup?i:null):null}dragPositionAt(e,t,n){if(!this.painted||this.needsSetup||n<=0)return null;let r=null;for(let{row:i,element:a}of this.searchRows()){let o=a.getBoundingClientRect(),s=Math.max(o.top-t,t-o.bottom,0);(!r||s<r.distance)&&(r={row:i,distance:s,col:Math.max(0,Math.min(this.cols-1,Math.floor((e-o.left)/n)))})}return r&&{row:r.row,col:r.col}}requestSetup(){this.needsSetup=!0}invalidateColors(){this.colorsChanged=!0}setSearchDecorations(e){!e.firstChild&&!this.searchLayer.firstChild||this.searchLayer.replaceChildren(e)}destroy(){this.syncColorOverrides(),this.painted=!1,this.selection?.dispose(),this.graphics.destroy(),this.container.innerHTML=``,this.rowEls=[],this._scrollbackRowEls=[]}},we=[`aria-label`,`aria-labelledby`,`aria-describedby`,`aria-description`],Te=`Press Escape, then Tab to move focus out of the terminal, or Shift+Tab to move focus backward.`,Ee=0,De=class{constructor(e,t){this.host=e,this.input=t,this.destroyed=!1,this.hint=e.ownerDocument.createElement(`span`);do this.hint.id=`wterm-input-help-${++Ee}`;while(e.getRootNode().querySelector(`#${this.hint.id}`));this.hint.hidden=!0,this.hint.textContent=Te,e.append(this.hint),this.tabIndex=e.getAttribute(`tabindex`),this.defaultRole=!e.hasAttribute(`role`),this.defaultRole&&e.setAttribute(`role`,`group`),this.observer=new MutationObserver(e=>this.sync(e)),this.sync()}sync(e=[]){e.some(e=>e.attributeName===`tabindex`)&&(this.tabIndex=this.host.getAttribute(`tabindex`));for(let e of we){let t=this.host.getAttribute(e);t?.trim()?this.input.setAttribute(e,t):this.input.removeAttribute(e)}this.input.hasAttribute(`aria-label`)||this.input.setAttribute(`aria-label`,`Terminal`);let t=this.input.getAttribute(`aria-describedby`);t&&this.input.setAttribute(`aria-describedby`,`${t} ${this.hint.id}`),this.input.setAttribute(`aria-description`,[this.input.getAttribute(`aria-description`),Te].filter(Boolean).join(` `)),this.input.setAttribute(`tabindex`,this.tabIndex??`0`),this.observer.disconnect(),this.tabIndex!==null&&this.host.setAttribute(`tabindex`,`-1`),this.observer.observe(this.host,{attributes:!0,attributeFilter:[...we,`tabindex`]})}destroy(){this.destroyed||(this.destroyed=!0,this.observer.takeRecords().some(e=>e.attributeName===`tabindex`)&&(this.tabIndex=this.host.getAttribute(`tabindex`)),this.observer.disconnect(),this.hint.remove(),this.tabIndex===null?this.host.removeAttribute(`tabindex`):this.host.setAttribute(`tabindex`,this.tabIndex),this.defaultRole&&this.host.getAttribute(`role`)===`group`&&this.host.removeAttribute(`role`))}};function W(e,t){return t.platform.startsWith(`Mac`)?e.metaKey:e.ctrlKey}var G={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`}},Oe={code:1,final:`E`};for(let e=13;e<=25;e++)G[`F${e}`]={code:57363+e,final:`u`};function K(e){let t=Array.from(e);return t.length===1?t[0].codePointAt(0):null}function q(e){let t=K(e.key);return t===null||t<32||t===127?null:{code:K(e.key.toLowerCase())??t,final:`u`}}function ke(e,t){if(t&&e.code.startsWith(`Numpad`)){if(e.code===`Numpad5`&&e.key===`Clear`)return{entry:Oe,functionalKey:`Begin`};if(e.key.length===1){let t=q(e);return t?{entry:t,functionalKey:null}:null}let t=G[e.key];return t?{entry:t,functionalKey:e.key}:null}let n=Ae(e);if(n)return{entry:n,functionalKey:e.code};let r=G[e.code];if(r)return{entry:r,functionalKey:e.code};let i=G[e.key];if(i)return{entry:i,functionalKey:e.key};let a=q(e);return a?{entry:a,functionalKey:null}:null}function Ae(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 J(e,t){for(let n of t??[])if(n.startsWith(e))return!0;return!1}function je(e,t,n){let r=1,i=t!==`release`;return(e.shiftKey||J(`Shift`,n)||i&&e.code.startsWith(`Shift`))&&(r+=1),(e.altKey||J(`Alt`,n)||i&&e.code.startsWith(`Alt`))&&(r+=2),(e.ctrlKey||J(`Control`,n)||i&&e.code.startsWith(`Control`))&&(r+=4),(e.metaKey||J(`Meta`,n)||i&&e.code.startsWith(`Meta`))&&(r+=8),e.getModifierState(`CapsLock`)&&(r+=64),e.getModifierState(`NumLock`)&&(r+=128),r}function Me(e){return e.ctrlKey||e.metaKey||e.altKey?[]:Array.from(e.key).map(e=>e.codePointAt(0)).filter(e=>e>=32&&e!==127)}function Ne(e){if(e.length!==1)return null;let t=e.toLowerCase().charCodeAt(0);if(t>=97&&t<=122)return String.fromCharCode(t-96);switch(e){case` `:case`2`:case`@`:return`\0`;case`3`:case`[`:return`\x1B`;case`4`:case`\\`:return``;case`5`:case`]`:return``;case`6`:case`^`:case`~`:return``;case`7`:case`/`:case`_`:return``;case`8`:case`?`:return``;default:return null}}function Pe(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=Ne(t)??t;return e.altKey?`\x1b${n}`:n}return e.altKey?`\x1b${e.key}`:null}function Fe(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=ke(e,a),s=o?.entry??null,c=q(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)?Pe(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=je(e,n,r);if(o?.functionalKey){let e=Fe(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=K(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=Me(e);t.length>0&&(p+=m?`;`:`;;`,p+=t.join(`:`))}return p+s.final}var Ie={ArrowUp:`\x1B[A`,ArrowDown:`\x1B[B`,ArrowRight:`\x1B[C`,ArrowLeft:`\x1B[D`,Home:`\x1B[H`,End:`\x1B[F`},Le={ArrowUp:`\x1BOA`,ArrowDown:`\x1BOB`,ArrowRight:`\x1BOC`,ArrowLeft:`\x1BOD`,Home:`\x1BOH`,End:`\x1BOF`},Re={ArrowUp:`A`,ArrowDown:`B`,ArrowRight:`C`,ArrowLeft:`D`,Home:`H`,End:`F`,F1:`P`,F2:`Q`,F3:`R`,F4:`S`},ze={Insert:2,Delete:3,PageUp:5,PageDown:6,F5:15,F6:17,F7:18,F8:19,F9:20,F10:21,F11:23,F12:24},Be={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~`},Ve=250,He=5,X=`​`;function Ue(e,t){if(e.metaKey||!(e.getModifierState(`AltGraph`)||e.ctrlKey&&e.altKey&&t.has(`AltRight`)))return!1;let n=Array.from(e.key);return n.length===1&&n[0].codePointAt(0)>=32&&n[0]!==``}var We=class{constructor(e,t,n,r=()=>null,i=()=>{},a,o){this.selectionActions=o,this.composing=!1,this.compositionWidth=0,this.recentCompositionCommit=null,this.suppressNextTouchDeleteInput=!1,this.mouseButtons=0,this.lastMouseMotion=null,this.focused=!1,this.suppressedKeyUps=new Set,this.pressedModifiers=new Set,this.deliveredKeys=new Set,this.tabExitArmed=!1,this.element=e,this.onData=t,this.onBinary=a,this.getBridge=n,this.getCellSize=r,this.prepareComposition=i,this.touchPrimary=e.ownerDocument.defaultView?.matchMedia?.(`(pointer: coarse)`).matches??!1,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.wrap=`off`;let s=this.textarea.style;s.position=`absolute`,s.left=`-9999px`,s.top=`0`,s.width=this.touchPrimary?`var(--term-cell-width, 1ch)`:`1px`,s.height=this.touchPrimary?`var(--term-row-height)`:`1px`,s.boxSizing=`border-box`,s.font=`inherit`,s.lineHeight=`var(--term-row-height)`,s.fontKerning=`none`,s.fontVariantLigatures=`none`,s.whiteSpace=`pre`,s.zIndex=`2`,s.opacity=this.touchPrimary?`1`:`0`,s.overflow=`hidden`,s.border=`0`,s.padding=`0`,s.margin=`0`,s.outline=`none`,s.resize=`none`,s.pointerEvents=this.touchPrimary?`auto`:`none`,s.caretColor=`transparent`,s.color=`transparent`,s.background=`transparent`,e.appendChild(this.textarea),this.accessibility=new De(e,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.touchPrimary&&!this.textarea.value&&this.resetInputValue(),this.positionTextarea(),this.element.classList.add(`focused`),this.getBridge()?.focusEvents?.()&&this.onData(`\x1B[I`))},this._onBlur=()=>{this.tabExitArmed=!1,this.focused=!1,this.composing=!1,this.recentCompositionCommit=null,this.suppressNextTouchDeleteInput=!1,this.hideComposition(),this.textarea.value=``,this.element.classList.remove(`focused`),this.stopMouseCapture(),this.lastMouseMotion=null,this.pressedModifiers.clear(),this.deliveredKeys.clear(),this.getBridge()?.focusEvents?.()&&this.onData(`\x1B[O`)},this._onMouseDown=e=>{this.tabExitArmed=!1,this.handleMouse(e,`press`)},this._onHoverMove=e=>{if(this.mouseButtons===0){if(e.buttons!==0||e.shiftKey){this.lastMouseMotion=null;return}this.handleMouse(e,`move`)}},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._onMouseLeave=()=>{this.mouseButtons===0&&(this.lastMouseMotion=null)},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(`mousemove`,this._onHoverMove),this.element.addEventListener(`mouseleave`,this._onMouseLeave),this.element.addEventListener(`wheel`,this._onWheel,{passive:!1})}focus(){this.touchPrimary&&this.prepareComposition(),this.touchPrimary&&!this.composing&&!this.textarea.value&&this.resetInputValue(),this.positionTextarea(),this.textarea.focus({preventScroll:!0})}syncInputPosition(){(this.composing||this.touchPrimary)&&this.positionTextarea()}destroy(){this.accessibility.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.element.removeEventListener(`mousemove`,this._onHoverMove),this.element.removeEventListener(`mouseleave`,this._onMouseLeave),this.stopMouseCapture(),this.element.removeEventListener(`wheel`,this._onWheel),this.element.classList.remove(`focused`),this.textarea.remove()}handleKeyDown(e){let t=e.code||e.key;e.key!==`Backspace`&&(this.suppressNextTouchDeleteInput=!1);let n=/^(Shift|Control|Alt|Meta)(Left|Right)$/.test(e.code);if(n&&this.pressedModifiers.add(e.code),this.composing||e.isComposing||e.keyCode===229){this.tabExitArmed=!1,this.positionTextarea(),this.suppressedKeyUps.add(t);return}this.recentCompositionCommit=null;let r=this.getBridge(),i=r?.kittyKeyboardFlags?.()??0,a=n&&!!(i&8),o=this.deliveredKeys.has(t);if(this.tabExitArmed&&e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.repeat&&!o){this.tabExitArmed=!1,this.suppressedKeyUps.add(t);return}if((e.key!==`Shift`||e.altKey||e.ctrlKey||e.metaKey)&&(this.tabExitArmed=e.key===`Escape`&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey),Ue(e,this.pressedModifiers)){o||this.suppressedKeyUps.add(t);return}if(!o&&this.selectionActions&&!e.altKey&&(e.metaKey&&!e.ctrlKey&&!e.shiftKey||e.ctrlKey&&e.shiftKey&&!e.metaKey)&&e.key.toLowerCase()===`a`){e.preventDefault(),e.stopPropagation(),this.suppressedKeyUps.add(t),this.selectionActions.selectAll();return}if(!o&&e.key===`Escape`&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&!e.shiftKey&&this.selectionActions?.hasSelection()){e.preventDefault(),e.stopPropagation(),this.suppressedKeyUps.add(t),this.selectionActions.clearSelection();return}if(!o&&(e.metaKey||e.ctrlKey)&&!e.altKey&&e.key.toLowerCase()===`c`){let n=window.getSelection();if(this.selectionActions?.hasSelection()||n&&n.toString().length>0){this.suppressedKeyUps.add(t),e.ctrlKey&&e.shiftKey&&!e.metaKey&&(e.preventDefault(),e.stopPropagation(),this.element.ownerDocument.execCommand(`copy`));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.selectionActions?.clearSelection(),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}this.suppressedKeyUps.delete(t);let s=this.touchPrimary&&e.key===`Backspace`&&!e.altKey&&!e.ctrlKey&&!e.metaKey;if(i!==0){let a=Y(e,i,e.repeat?`repeat`:`press`,this.pressedModifiers,r?.cursorKeysApp?.()??!1);a&&(n||this.selectionActions?.clearSelection(),s?this.suppressNextTouchDeleteInput=!0:e.preventDefault(),e.stopPropagation(),this.deliveredKeys.add(t),this.onData(a,n));return}let c=this.keyToSequence(e);c&&(this.selectionActions?.clearSelection(),s?this.suppressNextTouchDeleteInput=!0:e.preventDefault(),e.stopPropagation(),this.onData(c))}handleKeyUp(e){let t=e.code||e.key;this.pressedModifiers.delete(e.code);let n=this.deliveredKeys.delete(t);if(this.suppressedKeyUps.delete(t)||!n||this.composing)return;let r=this.getBridge(),i=r?.kittyKeyboardFlags?.()??0;if(!(i&2))return;let a=Y(e,i,`release`,this.pressedModifiers,r?.cursorKeysApp?.()??!1);a&&(e.preventDefault(),this.onData(a,!0))}handlePaste(e){this.tabExitArmed=!1,this.recentCompositionCommit=null,this.suppressNextTouchDeleteInput=!1;let t=e.clipboardData?.getData(`text`);t&&(e.preventDefault(),this.sendPaste(t))}sendPaste(e){this.selectionActions?.clearSelection();let t=this.getBridge();if(t&&t.bracketedPaste()){let t=e.replace(/\x1b/g,``);this.onData(`\x1B[200~`+t+`\x1B[201~`)}else this.onData(e)}handleCompositionStart(){this.tabExitArmed=!1,this.prepareComposition(),this.composing=!0,this.recentCompositionCommit=null,this.suppressNextTouchDeleteInput=!1,this.touchPrimary&&this.textarea.value===X&&(this.textarea.value=``),this.positionTextarea();let e=this.textarea.style;e.opacity=`1`,e.color=`var(--term-fg, currentColor)`,e.background=`var(--term-bg, transparent)`,e.caretColor=`var(--term-fg, currentColor)`}handleCompositionEnd(e){this.composing=!1,this.hideComposition(),this.resetInputValue(),e.data&&(this.recentCompositionCommit={text:e.data,at:performance.now()},this.onData(e.data))}hideComposition(){this.compositionWidth=0;let e=this.textarea.style;e.opacity=this.touchPrimary?`1`:`0`,e.width=this.touchPrimary?`var(--term-cell-width, 1ch)`:`1px`,e.height=this.touchPrimary?`var(--term-row-height)`:`1px`,e.color=`transparent`,e.background=`transparent`,e.caretColor=`transparent`}positionTextarea(){let e=this.getBridge(),t=this.getCellSize(),n=this.element.querySelector(`.term-row:not(.term-scrollback-row)`);if(!e||!t||!n||!e.getCursor){this.textarea.style.left=`0px`,this.textarea.style.top=`0px`,this.composing&&(this.textarea.style.width=`${Math.max(1,this.compositionWidth)}px`,this.textarea.style.height=`${t?.rowHeight??17}px`);return}let{charWidth:r,rowHeight:i}=t;if(r<=0||i<=0)return;let a=e.getCursor(),o=Math.max(0,Math.min(a.col,e.getCols()-1)),s=Math.max(0,Math.min(a.row,e.getRows()-1)),c=this.element.getBoundingClientRect(),l=n.getBoundingClientRect(),u=this.textarea.style;u.left=`${l.left-c.left-this.element.clientLeft+this.element.scrollLeft+o*r}px`,u.top=`${l.top-c.top-this.element.clientTop+this.element.scrollTop+s*i}px`,this.composing&&(u.width=`${Math.min((e.getCols()-o)*r,Math.max(r,this.compositionWidth))}px`,u.height=`${i}px`)}sizeComposition(){let e=this.getCellSize()?.charWidth;!e||e<=0||(this.textarea.style.width=`1px`,this.compositionWidth=this.textarea.value?Math.max(e,this.textarea.scrollWidth+e):e,this.positionTextarea())}resetInputValue(){this.textarea.value=this.touchPrimary?X:``,this.touchPrimary&&this.textarea.setSelectionRange(1,1)}sendTouchDelete(){this.selectionActions?.clearSelection();let e=this.getBridge(),t=e?.kittyKeyboardFlags?.()??0,n=t?Y(new KeyboardEvent(`keydown`,{key:`Backspace`,code:`Backspace`}),t,`press`,void 0,e?.cursorKeysApp?.()??!1):``;n&&this.onData(n)}handleInput(e){if(this.tabExitArmed=!1,this.composing){this.sizeComposition();return}let t=e.inputType,n=this.textarea.value,r=this.touchPrimary&&n.startsWith(X)?n.slice(1):n;this.resetInputValue();let i=this.recentCompositionCommit;if(this.recentCompositionCommit=null,this.touchPrimary&&t===`deleteContentBackward`){this.suppressNextTouchDeleteInput?this.suppressNextTouchDeleteInput=!1:this.sendTouchDelete();return}this.suppressNextTouchDeleteInput=!1,r&&(i&&r===i.text&&performance.now()-i.at<Ve||(t===`insertFromPaste`?this.sendPaste(r):(this.selectionActions?.clearSelection(),this.onData(r))))}handleMouse(e,t){let n=this.getBridge(),r=n?.mouseTracking?.()??0,i=n?.mouseEncoding?.()??(n?.mouseSgr?.()?`sgr`:null);if(!n||r===0||i!==`sgr`&&i!==`sgr-pixels`&&i!==`x10`&&i!==`utf8`&&i!==`urxvt`){this.lastMouseMotion=null;return}if(t===`wheel`){let t=e,n=this.element.scrollHeight-this.element.clientHeight;if(n>0&&(t.shiftKey||n-this.element.scrollTop>He)){if(this.lastMouseMotion=null,t.shiftKey){let e=Math.abs(t.deltaX)>Math.abs(t.deltaY)?t.deltaX:t.deltaY,n=t.deltaMode===1?this.getCellSize()?.rowHeight??16:t.deltaMode===2?this.element.clientHeight:1;e!==0&&(this.element.scrollTop+=e*n,t.preventDefault())}return}}if(t===`press`&&W(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 a=e.buttons&7;if(t===`move`&&!(r===1003||r===1002&&a!==0)){this.lastMouseMotion=null;return}let o=this.element.ownerDocument.defaultView;if(!o)return;let s=this.element.querySelector(`.term-row:not(.term-scrollback-row)`),c=this.element.getBoundingClientRect(),l=s?.getBoundingClientRect(),u=this.getCellSize(),d,f,p,m;if(l&&u)d=l.left,f=l.top,p=u.charWidth,m=u.rowHeight;else{let e=o.getComputedStyle(this.element),t=parseFloat(e.borderLeftWidth)||0,r=parseFloat(e.borderRightWidth)||0,i=parseFloat(e.borderTopWidth)||0,a=parseFloat(e.borderBottomWidth)||0,s=parseFloat(e.paddingLeft)||0,u=parseFloat(e.paddingRight)||0,h=parseFloat(e.paddingTop)||0,g=parseFloat(e.paddingBottom)||0;d=l?.left??c.left+t+s,f=l?.top??c.top+i+h,p=(c.width-t-r-s-u)/n.getCols(),m=(c.height-i-a-h-g)/n.getRows()}let h=n.getCols(),g=n.getRows(),_=p*h,v=m*g;if(!Number.isFinite(_)||!Number.isFinite(v)||_<=0||v<=0)return;if((e.clientX<d||e.clientX>=d+_||e.clientY<f||e.clientY>=f+v)&&(t===`press`||t===`wheel`||t===`move`&&a===0)){this.lastMouseMotion=null;return}let y=i===`sgr-pixels`,b=Math.max(1,Math.min(y?Math.ceil(_):h,Math.floor((e.clientX-d)/(y?1:p))+1)),x=Math.max(1,Math.min(y?Math.ceil(v):g,Math.floor((e.clientY-f)/(y?1:m))+1)),S=(e.shiftKey?4:0)|(e.altKey?8:0)|(e.ctrlKey?16:0),C,w=`M`;if(t===`wheel`){let t=e;if(Math.abs(t.deltaX)>Math.abs(t.deltaY)){if(t.deltaX===0)return;C=(t.deltaX<0?66:67)|S}else{if(t.deltaY===0)return;C=(t.deltaY<0?64:65)|S}}else C=(t===`release`&&i!==`sgr`&&!y?3:t===`move`?a===0?3:a&4?1:a&2?2:0:e.button===1?1:e.button===2?2:0)|S|(t===`move`?32:0),t===`release`&&(w=`m`);let T=i===`x10`?Uint8Array.of(27,91,77,C+32,b+32,x+32):null;if(T&&(b>223||x>223||!this.onBinary&&(T[4]>127||T[5]>127))){this.lastMouseMotion=null;return}if(i===`utf8`&&(b>2015||x>2015)){this.lastMouseMotion=null;return}if(t===`move`){let e=this.lastMouseMotion;if(e?.mode===r&&e.encoding===i&&e.code===C&&e.x===b&&e.y===x)return;this.lastMouseMotion={mode:r,encoding:i,code:C,x:b,y:x}}else this.lastMouseMotion=null;t===`press`&&(this.textarea.focus({preventScroll:!0}),this.focused||this._onFocus(),this.mouseButtons=a||(e.button===1?4:e.button===2?2:1),o.addEventListener(`mousemove`,this._onMouseMove),o.addEventListener(`mouseup`,this._onMouseUp)),e.preventDefault(),T?this.onBinary?this.onBinary(T):this.onData(String.fromCharCode(...T)):i===`utf8`?this.onData(`\x1b[M${String.fromCodePoint(C+32,b+32,x+32)}`):i===`urxvt`?this.onData(`\x1b[${C+32};${b};${x}M`):this.onData(`\x1b[<${C};${b};${x}${w}`)}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){let t=Ne(e.key);if(t!==null)return t;if(e.key===`Backspace`)return`\b`}if(e.key===`Enter`&&e.shiftKey)return`\x1B[13;2u`;if(e.key===`Tab`&&e.shiftKey)return`\x1B[Z`;if(!e.metaKey&&(e.shiftKey||e.altKey||e.ctrlKey)){let t=1+Number(e.shiftKey)+2*Number(e.altKey)+4*Number(e.ctrlKey),n=Re[e.key];if(n)return`\x1b[1;${t}${n}`;let r=ze[e.key];if(r)return`\x1b[${r};${t}~`}let t=Be[e.key];if(t)return e.altKey?`\x1B`+t:t;let n=this.getBridge(),r=(n&&n.cursorKeysApp()?Le:Ie)[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}},Ge=16777216;function*Ke(e,t=Ge){let n=e.getScrollbackCount(),r=[],i=``,a=0,o=0,s=!1,c=e=>{if(a+=e.length,a>t)throw RangeError(`Terminal text exceeds 16,777,216 UTF-16 code units`);i+=e,i.length>=8192&&(r.push(i),i=``)};for(let r=0;r<n+e.getRows();r++){let i=n-r-1,l=r<n?e.getScrollbackRowMetadata?.(i):e.getRowMetadata?.(r-n);r>0&&!(s&&l?.continuesPrevious)&&c(`
4
+ `),s=l?.wrapsToNext??!1;let u=r<n?e.getScrollbackLineLen(i):e.getCols(),d=0;for(let s=0;s<u;s++){++o>=256&&(o=0,yield);let l=r<n?e.getScrollbackCell(i,s):e.getCell(r-n,s);if(l.width===0||l.spacerHead)continue;let u=l.chars??String.fromCodePoint(l.char||32);if(/^ +$/.test(u))d+=u.length;else{if(a+d+u.length>t)throw RangeError(`Terminal text exceeds 16,777,216 UTF-16 code units`);c(` `.repeat(d)+u),d=0}}if(s){if(a+d>t)throw RangeError(`Terminal text exceeds 16,777,216 UTF-16 code units`);c(` `.repeat(d))}++o>=256&&(o=0,yield)}return r.push(i),r.join(``)}function qe(e){return new DOMException(e,`AbortError`)}var Je=class{constructor(){this.request=null,this.timer=null}read(e){return this.cancel(qe(`Replaced by another text capture`)),e?.aborted?Promise.reject(e.reason):new Promise((t,n)=>{let r=()=>this.cancel(e?.reason);this.request={resolve:t,reject:n,signal:e,abort:r,scan:null},e?.addEventListener(`abort`,r,{once:!0})})}resume(e){let t=this.request;if(!t||t.scan)return;let n=t.scan=Ke(e),r=()=>{if(this.request!==t)return;this.timer=null;let e=performance.now()+4;try{for(let r=0;r<32;r++){let r=n.next();if(r.done){this.release(),t.resolve(r.value);return}if(performance.now()>=e)break}this.timer=setTimeout(r,0)}catch(e){this.cancel(e)}};this.timer=setTimeout(r,0)}cancel(e){let t=this.request;t&&(this.release(),t.reject(e===void 0?qe(`Terminal changed during text capture`):e))}release(){this.timer!==null&&clearTimeout(this.timer),this.timer=null,this.request?.signal?.removeEventListener(`abort`,this.request.abort),this.request?.scan?.return(``),this.request=null}},Z=new WeakMap,Ye=class{constructor(e){this.element=e,this.text=null,this.scan=null,this.timer=null,this.resolve=null,this.rectangle=null,this.decorated=new Set,this.onPointerDown=e=>{e.button===2&&this.element.contains(e.target)||this.clear()},this.onFocus=e=>{this.element.contains(e.target)||this.clear()},this.onSelectionChange=()=>{if(!this.active)return;let e=this.element.ownerDocument,t=e.activeElement;if(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`)){let e=t;if(e.selectionStart!==e.selectionEnd){this.clear();return}}let n=e.getSelection();n&&!n.isCollapsed&&this.clear()},this.status=e.ownerDocument.createElement(`div`),this.status.className=`term-selection-status`,this.status.setAttribute(`role`,`status`),e.appendChild(this.status);let t=e.ownerDocument;t.addEventListener(`pointerdown`,this.onPointerDown,!0),t.addEventListener(`focusin`,this.onFocus),t.addEventListener(`selectionchange`,this.onSelectionChange)}get pending(){return this.resolve!==null}get active(){return this.pending||this.text!==null}getText(){return this.onSelectionChange(),this.text}select(){return this.claim(),this.status.textContent=`Selecting terminal text…`,new Promise(e=>{this.resolve=e})}selectRectangle(e){this.claim(),this.rectangle=e,this.text=e.text}paintRectangle(e,t){if(this.clearDecorations(),!this.rectangle||t<=0)return;let n=this.rectangle.rows[0].row;for(let{row:r,element:i}of e){let e=this.rectangle.rows[r-n];e&&(i.classList.add(`term-rectangle-row`),i.style.setProperty(`--term-selection-left`,`${e.left*t}px`),i.style.setProperty(`--term-selection-width`,`${(e.right-e.left)*t}px`),this.decorated.add(i))}}clearDecorations(){for(let e of this.decorated)e.classList.remove(`term-rectangle-row`),e.style.removeProperty(`--term-selection-left`),e.style.removeProperty(`--term-selection-width`);this.decorated.clear()}claim(){let e=this.element.ownerDocument;Z.get(e)?.clear(),this.clear(),Z.set(e,this);let t=e.getSelection();t&&!t.isCollapsed&&t.removeAllRanges()}resume(e){if(!this.pending||this.scan)return;let t=this.scan=Ke(e),n=()=>{this.timer=null;let e=performance.now()+4;try{for(let n=0;n<32;n++){let n=t.next();if(n.done){this.scan=null,this.text=n.value,this.element.classList.add(`term-select-all`),this.status.textContent=``;let e=this.resolve;this.resolve=null,e?.(!0);return}if(performance.now()>=e)break}this.timer=setTimeout(n,0)}catch{this.clear(),this.status.textContent=`Unable to select all text. Select a smaller range to copy.`}};this.timer=setTimeout(n,0)}clear(e=``){if(!this.active&&!this.status.textContent&&!e)return;this.timer!==null&&clearTimeout(this.timer),this.timer=null,this.scan?.return(``),this.scan=null,this.text=null,this.rectangle=null,this.clearDecorations(),this.element.classList.remove(`term-select-all`),this.status.textContent=e,Z.get(this.element.ownerDocument)===this&&Z.delete(this.element.ownerDocument);let t=this.resolve;this.resolve=null,t?.(!1)}invalidate(){this.active&&this.clear(this.pending?`Terminal changed. Select all again to copy.`:``)}destroy(){this.clear();let e=this.element.ownerDocument;e.removeEventListener(`pointerdown`,this.onPointerDown,!0),e.removeEventListener(`focusin`,this.onFocus),e.removeEventListener(`selectionchange`,this.onSelectionChange),this.status.remove()}},Xe=class{constructor(e,t){this.element=e,this.callbacks=t,this.anchor=null,this.suppressClick=!1,this.owned=!1,this.lastEvent=null,this.frame=null,this.down=e=>{if(this.cancel(),this.owned=!1,this.suppressClick=!1,e.defaultPrevented||e.button!==0||!e.altKey||e.ctrlKey||e.metaKey)return;let t=this.callbacks.start(e);!t||!this.callbacks.select(t,t)||(this.anchor=t,this.owned=!0,e.preventDefault(),e.stopImmediatePropagation())},this.move=e=>{if(this.owned){if(!(e.buttons&1)){this.blur();return}e.preventDefault(),e.stopImmediatePropagation(),this.update(e),this.lastEvent=e,this.scheduleScroll()}},this.up=e=>{!this.owned||e.button!==0||(e.preventDefault(),e.stopImmediatePropagation(),this.update(e),this.cancel(),this.owned=!1,this.suppressClick=!0)},this.click=e=>{!this.suppressClick||e.detail===0||(this.suppressClick=!1,e.preventDefault(),e.stopImmediatePropagation())},this.key=e=>{!this.anchor||e.key!==`Escape`||(e.preventDefault(),e.stopImmediatePropagation(),this.cancel(),this.callbacks.clear())},this.cancel=()=>{this.anchor=null,this.lastEvent=null,this.frame!==null&&cancelAnimationFrame(this.frame),this.frame=null},this.blur=()=>{this.cancel(),this.owned=!1},this.focus=e=>{this.element.contains(e.target)||this.cancel()},e.addEventListener(`mousedown`,this.down,!0),e.addEventListener(`click`,this.click,!0);let n=e.ownerDocument;n.addEventListener(`mousemove`,this.move,!0),n.addEventListener(`mouseup`,this.up,!0),n.addEventListener(`keydown`,this.key,!0),n.addEventListener(`focusin`,this.focus),n.defaultView?.addEventListener(`blur`,this.blur)}update(e){let t=this.callbacks.position(e);this.anchor&&(!t||!this.callbacks.select(this.anchor,t))&&this.callbacks.clear()}scheduleScroll(){this.frame!==null||!this.anchor||!this.lastEvent||(this.frame=requestAnimationFrame(()=>{if(this.frame=null,!this.anchor||!this.lastEvent)return;let e=this.element.getBoundingClientRect(),t=this.lastEvent.clientY,n=t<e.top?Math.max(-24,t-e.top):t>e.bottom?Math.min(24,t-e.bottom):0,r=this.element.scrollTop;this.element.scrollTop+=n,this.update(this.lastEvent),this.element.scrollTop!==r&&this.scheduleScroll()}))}destroy(){this.cancel(),this.element.removeEventListener(`mousedown`,this.down,!0),this.element.removeEventListener(`click`,this.click,!0);let e=this.element.ownerDocument;e.removeEventListener(`mousemove`,this.move,!0),e.removeEventListener(`mouseup`,this.up,!0),e.removeEventListener(`keydown`,this.key,!0),e.removeEventListener(`focusin`,this.focus),e.defaultView?.removeEventListener(`blur`,this.blur)}},Ze=500,Qe=32768,$e=65536,et=20,tt=4e3,nt=`Output announcements paused because there is too much output. Type in the terminal or turn announcements off and on to resume.`,rt=class{constructor(e,t,n){this.host=e,this.getCore=t,this.ready=n,this.live=null,this.timer=null,this.previous=null,this.lines=0,this.characters=0,this.paused=!1,this.reset=()=>{this.invalidate(),this.lines=0,this.characters=0,this.paused=!1;let e=this.getCore();e&&this.active()&&(this.previous=this.snapshot(e),this.previous||this.limit())},e.addEventListener(`focusin`,this.reset),e.addEventListener(`focusout`,this.reset),e.ownerDocument.addEventListener(`visibilitychange`,this.reset),e.ownerDocument.defaultView?.addEventListener(`blur`,this.reset),e.ownerDocument.defaultView?.addEventListener(`focus`,this.reset)}setEnabled(e){e!==!!this.live&&(e?(this.live=this.host.ownerDocument.createElement(`div`),this.live.className=`term-announcements`,this.live.setAttribute(`role`,`log`),this.live.setAttribute(`aria-label`,`Terminal output`),this.live.setAttribute(`aria-live`,`polite`),this.live.setAttribute(`aria-relevant`,`additions`),this.live.setAttribute(`aria-atomic`,`false`),this.host.append(this.live)):(this.live?.remove(),this.live=null),this.reset())}active(){return!!this.live&&this.host.classList.contains(`focused`)&&this.host.isConnected&&this.host.ownerDocument.visibilityState!==`hidden`&&this.host.ownerDocument.hasFocus()}input(){this.paused?this.reset():(this.lines=0,this.characters=0)}invalidate(){this.timer!==null&&clearTimeout(this.timer),this.timer=null,this.previous=null,this.live?.replaceChildren()}rendered(){if(!this.active()){this.invalidate();return}if(this.paused||this.timer!==null)return;let e=this.getCore();if(e){if(!this.previous){this.previous=this.snapshot(e),this.previous||this.limit();return}this.timer=setTimeout(()=>{if(this.timer=null,!this.active()){this.invalidate();return}if(!this.ready())return;let e=this.getCore();e&&this.announce(e)},Ze)}}snapshot(e,t){let n=e.getCols(),r=e.getRows(),i=e.getScrollbackCount(),a=e.getScrollbackDiscardedCount?.()??0,o=i+a,s=t??o;if(s<a||(o+r-s)*n>Qe)return null;let c=[],l=0;for(let t=s;t<o+r;t++){let r=o-t-1,i=t<o?e.getScrollbackLineLen(r):n;if(i>n)return null;let a=``;for(let n=0;n<i;n++){let i=t<o?e.getScrollbackCell(r,n):e.getCell(t-o,n);if(i.width===0||i.spacerHead)continue;let s=i.chars??String.fromCodePoint(i.char||32);if(l+=s.length,l>$e)return null;a+=s}c.push(a.replace(/ +$/,``))}return{base:s,cols:n,rows:r,alternate:e.usingAltScreen(),lines:c}}announce(e){let t=this.previous;if(!t)return;let n=e.getScrollbackCount()+(e.getScrollbackDiscardedCount?.()??0);if(t.cols!==e.getCols()||t.rows!==e.getRows()||t.alternate!==e.usingAltScreen()||n<t.base){this.previous=this.snapshot(e);return}let r=this.snapshot(e,t.base);if(!r){this.limit();return}let i=r.lines.filter((e,n)=>e.trim()&&e!==t.lines[n]);if(this.previous={...r,base:n,lines:r.lines.slice(n-r.base)},!i.length)return;let a=i.join(`
5
+ `);if(this.lines+i.length>et||this.characters+a.length>tt){this.limit();return}this.lines+=i.length,this.characters+=a.length,this.publish(a)}publish(e){if(!this.live)return;let t=this.host.ownerDocument.createElement(`div`);t.textContent=e,this.live.replaceChildren(t)}limit(){this.paused=!0,this.previous=null,this.publish(nt)}destroy(){this.setEnabled(!1),this.host.removeEventListener(`focusin`,this.reset),this.host.removeEventListener(`focusout`,this.reset),this.host.ownerDocument.removeEventListener(`visibilitychange`,this.reset),this.host.ownerDocument.defaultView?.removeEventListener(`blur`,this.reset),this.host.ownerDocument.defaultView?.removeEventListener(`focus`,this.reset)}},it={1:`bold`,2:`dim`,4:`italic`,8:`underline`,16:`blink`,32:`reverse`,64:`invisible`,128:`strikethrough`};function at(e){let t=[];for(let[n,r]of Object.entries(it))e&Number(n)&&t.push(r);return t}var Q=27;function ot(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)!==Q){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)===Q&&r+1<e.length&&e[r+1]===`\\`);)r++;r<e.length&&(e.charCodeAt(r)===7?r++:e.charCodeAt(r)===Q&&(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 st=500,ct=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=ot(typeof e==`string`?e:new TextDecoder().decode(e));for(let e of t)this._traces.push(e);this._traces.length>st&&(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:at(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()}};function lt(e,t){if(t)return e;if(e.length<=1)return e.toLowerCase();let n=``;for(let t of e)n+=t.toLowerCase();return n}function*ut(e,t,n){let r=lt(t,n);if(!r)return;let i=new Uint32Array(r.length);for(let e=1,t=0;e<r.length;e++){for(;t>0&&r[e]!==r[t];)t=i[t-1];r[e]===r[t]&&t++,i[e]=t}let a=Array(r.length),o=e.getScrollbackCount(),s=0,c=0,l=0,u=!1,d;for(let t=0;t<o+e.getRows();t++){let f=o-1-t,p=t<o?e.getScrollbackRowMetadata?.(f):e.getRowMetadata?.(t-o);(!u||!p?.continuesPrevious)&&(s=0),u=p?.wrapsToNext??!1;let m=t<o?e.getScrollbackLineLen(f):e.getCols();for(let u=0;u<m;u++){++l>=256&&(l=0,yield null);let p=t<o?e.getScrollbackCell(f,u):e.getCell(t-o,u);if(p.width===0||p.spacerHead)continue;let h=lt(p.chars??String.fromCodePoint(p.char||32),n);if(s===0&&h.length===1&&h!==r[0])continue;let g={row:t,col:u,endCol:Math.min(m,u+(p.width??1))};for(let e=0;e<h.length;e++){for(++l>=256&&(l=0,yield null),a[c++%r.length]=g;s>0&&h[e]!==r[s];)s=i[s-1];if(h[e]===r[s]&&s++,s===r.length){let e={start:a[(c-r.length)%r.length],end:g};(!d||d.start.row!==e.start.row||d.start.col!==e.start.col||d.end.row!==e.end.row||d.end.endCol!==e.end.endCol)&&(yield e,d=e),s=i[s-1]}}}++l>=256&&(l=0,yield null)}}var dt=class{constructor(e){this.changed=e,this.matches=[],this.state={query:``,caseSensitive:!1,count:0,activeIndex:-1,searching:!1,limited:!1},this.timer=null,this.channel=null,this.scan=null,this.pending=!1,this.revealFirst=!1}snapshot(){return{...this.state}}search(e,t){if(e.length>1024)throw RangeError(`Search query exceeds 1,024 UTF-16 code units`);this.state.query=e,this.state.caseSensitive=t.caseSensitive??!1,this.revealFirst=!0,this.invalidate()}invalidate(){this.cancel(),this.matches=[],this.state.count=0,this.state.activeIndex=-1,this.state.limited=!1,this.pending=this.state.searching=this.state.query.length>0,this.changed(!1)}resume(e){if(!this.pending)return;this.pending=!1;let t=this.scan=ut(e,this.state.query,this.state.caseSensitive),n=()=>{if(this.scan!==t)return;this.timer=null;let e=performance.now()+4,r=!1;do{let e=t.next();if(e.done){r=!0;break}if(e.value){if(this.matches.length===1e4){this.state.limited=!0,r=!0;break}this.matches.push(e.value)}}while(performance.now()<e);this.state.count=this.matches.length;let i=this.revealFirst&&this.matches.length>0;this.matches.length&&this.state.activeIndex===-1&&(this.state.activeIndex=0),i&&(this.revealFirst=!1),this.state.searching=!r,r&&(t.return(void 0),this.scan=null,this.clearTask()),this.changed(i),this.scan===t&&this.schedule(n)};this.schedule(n)}schedule(e){if(typeof MessageChannel>`u`)this.timer=setTimeout(e,0);else{let t=this.channel??=new MessageChannel;t.port1.onmessage=e,t.port2.postMessage(null)}}clearTask(){this.timer!==null&&clearTimeout(this.timer),this.timer=null,this.channel&&=(this.channel.port1.onmessage=null,this.channel.port1.close(),this.channel.port2.close(),null)}navigate(e){return this.matches.length?(this.state.activeIndex=(this.state.activeIndex+e+this.matches.length)%this.matches.length,this.revealFirst=!1,this.changed(!0),!0):!1}cancel(){this.clearTask(),this.scan?.return(void 0),this.scan=null,this.pending=!1,this.matches=[],this.state.count=0,this.state.activeIndex=-1,this.state.searching=!1,this.state.limited=!1}},ft=1e3,$=1,pt=class{constructor(e,t={}){this.bridge=null,this.debug=null,this._themeColors=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._windowSizeQueryState=0,this._textCapture=new Je,this._searchReveal=!1,this.element=e,this._coreOption=t.core,this._initialColsExplicit=t.cols!==void 0,this._initialRowsExplicit=t.rows!==void 0,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._renderingPaused=t.renderingPaused??!1,this.onData=t.onData||null,this.onBinary=t.onBinary||null,this.onTitle=t.onTitle||null,this.onWorkingDirectory=t.onWorkingDirectory||null,this.onBell=t.onBell||null,this.onShellIntegration=t.onShellIntegration||null,this.onClipboardWrite=t.onClipboardWrite||null,this.onResize=t.onResize||null,this.onSearchChange=t.onSearchChange||null,this._search=new dt(e=>{if(this._searchReveal||=e,e){let e=this._search.matches[this.getSearchState().activeIndex];e&&(this._shouldScrollToBottom=!1,this._pendingResizeScrollTop=null,this._setScrollTop((e.start.row+.5)*this._rowHeight-this.element.clientHeight/2))}this._synchronizedOutputState!==`held`&&this._scheduleRender(),this.onSearchChange?.(this.getSearchState())}),this._container=document.createElement(`div`),this._container.className=`term-grid`,this.element.appendChild(this._container),this.element.classList.add(`wterm`),this._historySelection=new Ye(this.element),this._rectangleDrag=new Xe(this.element,{start:e=>{if(!(e.target instanceof Element)||!this.bridge||!this._canRender())return null;let t=this.renderer?.positionAt(e.target,e.clientX,this._charWidth);return!t||!e.shiftKey&&this.bridge.mouseTracking?.()&&t.row>=this.bridge.getScrollbackCount()?null:t},position:e=>{let t=this.element.getBoundingClientRect();return this.renderer?.dragPositionAt(e.clientX,Math.max(t.top+1,Math.min(t.bottom-1,e.clientY)),this._charWidth)??null},select:(e,t)=>this.selectRectangle(e,t),clear:()=>this._historySelection.clear()}),this._outputAnnouncements=new rt(this.element,()=>this.bridge,()=>this._canRender()&&this.rafId===null&&this._synchronizedOutputState!==`held`),this._outputAnnouncements.setEnabled(t.announceOutput??!1),this._onVisibilityChange=()=>{this._canRender()?this._scheduleRender():(this._rectangleDrag.cancel(),this._cancelScheduledRender(),this._outputAnnouncements.invalidate())},this.element.ownerDocument.addEventListener(`visibilitychange`,this._onVisibilityChange),this.element.classList.toggle(`cursor-blink`,t.cursorBlink===!0),this.element.classList.toggle(`cursor-steady`,t.cursorBlink===!1),this._onClickFocus=e=>{if(e.defaultPrevented||this._historySelection.active)return;let t=e.target;if(t instanceof Element&&t.closest(`.term-link`)){if(W(e,this.element.ownerDocument.defaultView?.navigator??navigator)||e.detail===0)return;e.preventDefault()}let n=window.getSelection();(!n||n.isCollapsed)&&this.input?.focus()},this._onMouseSelect=e=>{if(e.defaultPrevented||e.button!==0||e.detail!==2&&e.detail!==3||e.altKey||e.ctrlKey||e.metaKey||!(e.target instanceof Element))return;let t=this.renderer?.positionAt(e.target,e.clientX,this._charWidth);!t||!this.bridge||!e.shiftKey&&this.bridge.mouseTracking?.()&&t.row>=this.bridge.getScrollbackCount()||(e.detail===2?this.selectWord(t):this.selectLine(t.row))&&e.preventDefault()},this.element.addEventListener(`click`,this._onMouseSelect),this.element.addEventListener(`click`,this._onClickFocus),this._onModifierChange=e=>{this.element.classList.toggle(`link-modifier-active`,W(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)<=$){this._programmaticScrollTop=null;return}this._programmaticScrollTop=null,this._shouldScrollToBottom=!1,this._scheduleRender()}},this.element.addEventListener(`scroll`,this._onScroll,{passive:!0}),this._onCopy=e=>{if(e.defaultPrevented||!e.clipboardData)return;let t=e.target;if(t instanceof Element&&!this.element.contains(t)&&(t.closest(`input, textarea`)||t.isContentEditable))return;let n=this.getSelectionText();if(this._historySelection.pending){e.preventDefault();return}n!==null&&(e.clipboardData.setData(`text/plain`,n),e.preventDefault())},this.element.ownerDocument.addEventListener(`copy`,this._onCopy)}async init(){try{if(this.bridge=this._coreOption?this._coreOption:await s.load(this.wasmUrl),this._destroyed)return this;let e=this.cols,t=this.rows;if(this._setRowHeight(),this.autoResize){let e=this._measureGridSize();e&&(this._initialColsExplicit||(this.cols=e.cols),this._initialRowsExplicit||(this.rows=e.rows))}this.bridge.init(this.cols,this.rows),this._themeColors&&this.bridge.setThemeColors?.(this._themeColors),this.cols=this.bridge.getCols(),this.rows=this.bridge.getRows(),this._debugEnabled&&(this.debug=new ct,this.debug.setBridge(this.bridge),globalThis.__wterm=this),this._measureCharSize(),this.renderer=new Ce(this._container,{colorHost:this.element,maxImageWidth:this.maxImageWidth,maxImageHeight:this.maxImageHeight}),this.renderer.setup(this.cols,this.rows),this.input=new We(this.element,(e,t=!1)=>{t||(this._outputAnnouncements.input(),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._rectangleDrag.cancel(),this._historySelection.clear(),this._scrollToBottom()},e=>{this._outputAnnouncements.input(),this._rectangleDrag.cancel(),this._historySelection.clear(),this._scrollToBottom(),this.onBinary?this.onBinary(e):this.onData?e.every(e=>e<128)&&this.onData(String.fromCharCode(...e)):this.write(e)},{selectAll:()=>{this.selectAll()},hasSelection:()=>this._historySelection.active,clearSelection:()=>{this._rectangleDrag.cancel(),this._historySelection.clear()}}),this._setupResizeObserver(),this.autoResize||this._lockHeight(),this.input.focus(),this._initialRender(),(this.cols!==e||this.rows!==t)&&this.onResize?.(this.cols,this.rows)}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)}setThemeColors(e){let t=[e.foreground,e.background,e.cursor,...e.palette];if(e.palette.length!==16||t.some(e=>!Number.isInteger(e)||e<0||e>16777215))throw RangeError(`Theme colors must be 24-bit RGB values with exactly 16 palette entries`);if(this._destroyed)return;let n={...e,palette:[...e.palette]};this.bridge?.setThemeColors?.(n),this._themeColors=n;let r=[`--term-fg`,`--term-bg`,`--term-cursor`,...e.palette.map((e,t)=>`--term-color-${t}`)];t.forEach((e,t)=>this.element.style.setProperty(r[t],`#${e.toString(16).padStart(6,`0`)}`)),this.renderer?.invalidateColors(),this._scheduleRender()}write(e){if(!this.bridge||this._destroyed)return;this._textCapture.cancel(),this._rectangleDrag.cancel(),this._historySelection.invalidate(),this.renderer?.beforeMutation(this.bridge),this.debug&&this.debug.traceWrite(e),this._shouldScrollToBottom=this._isScrolledToBottom();let t=this._collectWindowSizeQueries(e),n,r=!1,i=e=>{r||(r=!0,n=e)},a=()=>{let e=this._drainResponses();e.hasError&&i(e.error);let t=this.bridge?.getBellCount?.()??0;if(t>0)try{this.onBell?.(t)}catch(e){i(e)}try{this._deliverTitle()}catch(e){i(e)}try{let e=this.bridge?.getClipboardWrite?.()??null;e!==null&&!this._destroyed&&this.onClipboardWrite?.(e)}catch(e){i(e)}try{let e=this.bridge?.getShellIntegrationState?.()??null;e!==null&&!this._destroyed&&this.onShellIntegration?.(e)}catch(e){i(e)}try{let e=this.bridge?.getWorkingDirectory?.()??null;e!==null&&!this._destroyed&&this.onWorkingDirectory?.(e)}catch(e){i(e)}};typeof e==`string`?this.bridge.writeString(e,a):this.bridge.writeRaw(e,a);let o=this.bridge.synchronizedOutput?.()??!1,s=this.bridge.synchronizedOutputGeneration?.()??0;this._updateSynchronizedOutput(o,s),this._invalidateSearch(),this._synchronizedOutputState!==`held`&&(this._setupRendererIfNeeded(),this._scheduleRender()),a();for(let e of t)try{this.onData?.(this._windowSizeResponse(e))}catch(e){i(e)}if(r)throw n}fit(){if(!this.bridge||this._destroyed)return;let e=this._measureGridSize();e&&(e.cols!==this.cols||e.rows!==this.rows)&&this.resize(e.cols,e.rows)}_measureGridSize(){let e=this._measureCharSize();if(!e)return null;let t=getComputedStyle(this.element),n=this.element.getBoundingClientRect(),r=e=>parseFloat(e)||0,i=r(t.borderLeftWidth)+r(t.borderRightWidth),a=r(t.borderTopWidth)+r(t.borderBottomWidth),o=Math.max(0,this.element.offsetWidth-this.element.clientWidth-i),s=Math.max(0,this.element.offsetHeight-this.element.clientHeight-a),c=n.width-r(t.paddingLeft)-r(t.paddingRight)-i-o,l=n.height-r(t.paddingTop)-r(t.paddingBottom)-a-s;return c<=0||l<=0?null:{cols:Math.max(1,Math.floor(c/e.charWidth)),rows:Math.max(1,Math.floor(l/e.rowHeight))}}resize(e,t){if(!this.bridge||this._destroyed)return;this._textCapture.cancel(),this._rectangleDrag.cancel(),this._historySelection.invalidate(),this.renderer?.beforeMutation(this.bridge),this._shouldScrollToBottom=this._pendingResizeScrollTop===null&&this._isScrolledToBottom(),this.bridge.resize(e,t),this._outputAnnouncements.invalidate(),this.cols=this.bridge.getCols(),this.rows=this.bridge.getRows();let n=this.bridge.synchronizedOutput?.()??!1,r=this.bridge.synchronizedOutputGeneration?.()??0;this._updateSynchronizedOutput(n,r)?this._rendererNeedsSetup=!0:(this._setupRenderer(),this._scheduleRender()),this._invalidateSearch(),this.onResize&&this.onResize(this.cols,this.rows)}search(e,t={}){this._destroyed||(this._search.search(e,t),this._paintSearch())}findNext(){return!this._destroyed&&this._search.navigate(1)}findPrevious(){return!this._destroyed&&this._search.navigate(-1)}clearSearch(){this.search(``)}getSearchState(){return this._search.snapshot()}scrollToPrompt(e){if(!this._canRender()||!this.bridge?.findPrompt||!this.renderer||this._synchronizedOutputState===`held`||this.bridge.usingAltScreen()||e!==-1&&e!==1||(this._cancelScheduledRender(),this._doRender(),e===1&&this._isScrolledToBottom()))return!1;let t=this.element.getBoundingClientRect(),n=this.renderer.dragPositionAt(t.left,t.top+this.element.clientTop+1,this._charWidth);if(!n)return!1;let r=this.bridge.findPrompt(n.row,e);if(r===null||!Number.isInteger(r)||r<0||r>=this.bridge.getScrollbackCount()+this.rows||(e<0?r>=n.row:r<=n.row))return!1;let i=this.element.scrollTop;this._shouldScrollToBottom=!1,this._searchReveal=!1,this._pendingResizeScrollTop=r*this._rowHeight,this._doRender();let a=Array.from(this.renderer.searchRows()).find(({row:e})=>e===r);return a&&this._setScrollTop(this.element.scrollTop+a.element.getBoundingClientRect().top-t.top-this.element.clientTop),this._scheduleRender(),Math.abs(this.element.scrollTop-i)>$}setOutputAnnouncements(e){this._destroyed||this._outputAnnouncements.setEnabled(e)}setRenderingPaused(e){this._destroyed||e===this._renderingPaused||(this._renderingPaused=e,this._onVisibilityChange())}_canRender(){return!this._destroyed&&!this._renderingPaused&&this.element.ownerDocument.visibilityState!==`hidden`}readText(e={}){if(this._destroyed||!this.renderer||!this.bridge)return Promise.reject(Error(`Terminal is not initialized`));let t=this._textCapture.read(e.signal);return this._scheduleRender(),t}getSelectionText(){return this._destroyed?null:this._historySelection.getText()??this.renderer?.getSelectionText()??null}selectAll(){if(this._destroyed||!this.renderer||!this.bridge)return Promise.resolve(!1);this._rectangleDrag.cancel();let e=this._historySelection.select();return this._scheduleRender(),e}selectWord(e){return this._selectUnit(e,`word`)}selectLine(e){return this._selectUnit({row:e,col:0},`line`)}selectRectangle(e,t){if(this._destroyed||!this.bridge||!this.renderer||!this._canRender())return!1;let n=this.renderer.rectangle(this.bridge,e,t,()=>{this.input?.focus()});return n?(this._historySelection.selectRectangle(n),this._historySelection.paintRectangle(this.renderer.searchRows(),this._charWidth),!0):!1}_selectUnit(e,t){return this._destroyed||!this.bridge||!this.renderer?!1:this.renderer.select(this.bridge,e,t,()=>{this._rectangleDrag.cancel(),this._historySelection.clear();let e=this.element.ownerDocument.activeElement;e instanceof HTMLElement&&this.element.contains(e)&&e.tagName===`TEXTAREA`&&e.blur()})}clearSelection(){this._rectangleDrag.cancel(),this._historySelection.clear();let e=this.element.ownerDocument.getSelection();if(!(!e||e.isCollapsed)){for(let t=0;t<e.rangeCount;t++){let n=e.getRangeAt(t);if(!this.element.contains(n.startContainer)||!this.element.contains(n.endContainer))return}e.removeAllRanges()}}_invalidateSearch(){this.getSearchState().query&&(this._searchReveal=!1,this._search.invalidate(),this._paintSearch())}_paintSearch(){if(!this.renderer||!this.bridge||!this._canRender())return;let e=document.createDocumentFragment(),t=this._search.matches;if(!t.length){this.renderer.setSearchDecorations(e);return}let n=this.getSearchState().activeIndex,r=this.element.getBoundingClientRect();for(let{row:i,element:a}of this.renderer.searchRows()){let o=a.getBoundingClientRect();if(o.bottom<=r.top||o.top>=r.bottom)continue;let s=0,c=t.length;for(;s<c;){let e=s+c>>>1;t[e].end.row<i?s=e+1:c=e}let l=this.bridge.getScrollbackCount(),u=l-i-1,d=i<l?this.bridge.getScrollbackLineLen(u):this.cols;if(d<=0)continue;(i<l?this.bridge.getScrollbackCell(u,d-1):this.bridge.getCell(i-l,d-1)).spacerHead&&d--;let f=-1,p=-1,m=(t,n,r)=>{if(n<=t)return;let i=document.createElement(`div`);i.className=`term-search-match${r?` term-search-active`:``}`,i.style.cssText=`left:${t*this._charWidth}px;top:${a.offsetTop}px;width:${(n-t)*this._charWidth}px;height:${o.height}px`,e.appendChild(i)};for(let e=s;e<t.length&&t[e].start.row<=i;e++){let n=t[e],r=n.start.row===i?n.start.col:0,a=Math.min(d,n.end.row===i?n.end.endCol:d);f>=0&&r>p&&(m(f,p,!1),f=-1),f<0&&(f=r),p=Math.max(p,a)}f>=0&&m(f,p,!1);let h=t[n];h&&h.start.row<=i&&h.end.row>=i&&m(h.start.row===i?h.start.col:0,Math.min(d,h.end.row===i?h.end.endCol:d),!0)}this.renderer.setSearchDecorations(e)}focus(){this.input?this.input.focus():this.element.focus()}_scheduleRender(){!this._canRender()||this._synchronizedOutputState===`held`||this.rafId!=null||(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())},ft)}_cancelSynchronizedOutputFallback(){this._synchronizedOutputTimer!=null&&(clearTimeout(this._synchronizedOutputTimer),this._synchronizedOutputTimer=null)}_setupRendererIfNeeded(){this._rendererNeedsSetup&&=(this._setupRenderer(),!1)}_setupRenderer(){!this._shouldScrollToBottom&&this._pendingResizeScrollTop===null&&(this._pendingResizeScrollTop=this.element.scrollTop),this.renderer?.requestSetup()}_initialRender(){this._doRender()}_doRender(){if(!this._canRender()||!this.bridge||!this.renderer||this._synchronizedOutputState===`held`)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);if(this.input?.syncInputPosition(),this._searchReveal){this._searchReveal=!1;let e=this._search.matches[this.getSearchState().activeIndex],t=e&&Array.from(this.renderer.searchRows()).find(({row:t})=>t===e.start.row);if(t){let e=t.element.getBoundingClientRect(),n=this.element.getBoundingClientRect();this._setScrollTop(this.element.scrollTop+e.top-n.top-(this.element.clientHeight-e.height)/2)}}this._paintSearch(),this._search.resume(this.bridge),this._historySelection.resume(this.bridge),this._historySelection.paintRectangle(this.renderer.searchRows(),this._charWidth),this._textCapture.resume(this.bridge),this._outputAnnouncements.rendered(),this._deliverTitle(),this._drainResponses()}_deliverTitle(){let e=this.bridge?.getTitle()??null;e!==null&&this.onTitle?.(e)}_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=[],n=this._windowSizeQueryState,r=0;for(;r<e.length;){if(n===0){if(r=typeof e==`string`?e.indexOf(`\x1B`,r):e.indexOf(27,r),r<0)break;n=1,r++;continue}let i=typeof e==`string`?e.charCodeAt(r):e[r];r++;let a=+(i===27);switch(n){case 1:n=i===91?2:a;break;case 2:n=i===49?3:a;break;case 3:n=i===52?4:i===54?6:a;break;case 4:case 6:i===116&&t.push(n===4?14:16),n=a}}return this._windowSizeQueryState=n,t}_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;e.remove(),t>0&&(this._rowHeight=t,this.element.style.setProperty(`--term-row-height`,`${t}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.style.width=`auto`,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,this.element.style.setProperty(`--term-cell-width`,`${n}px`),{charWidth:n,rowHeight:r})}_setupResizeObserver(){let e=document.createElement(`span`);e.className=`term-size-probe`,e.setAttribute(`aria-hidden`,`true`),e.textContent=`W`,this.element.appendChild(e);let t;this.resizeObserver=new ResizeObserver(e=>{if(this._destroyed)return;for(let n of e)n.target===this.element&&(t=n.contentRect);let n=this._measureCharSize();if(!n||!this.autoResize||!t)return;let{charWidth:r,rowHeight:i}=n,a=Math.max(1,Math.floor(t.width/r)),o=Math.max(1,Math.floor(t.height/i));(a!==this.cols||o!==this.rows)&&this.resize(a,o)}),this.resizeObserver.observe(e),this.autoResize&&this.resizeObserver.observe(this.element)}destroy(){this._destroyed=!0,this._textCapture.cancel(),this._historySelection.destroy(),this._rectangleDrag.destroy(),this._outputAnnouncements.destroy(),this._search.cancel(),this.onSearchChange=null,this._windowSizeQueryState=0,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(`click`,this._onMouseSelect),this.element.removeEventListener(`scroll`,this._onScroll),this.element.ownerDocument.removeEventListener(`copy`,this._onCopy),this.element.ownerDocument.removeEventListener(`visibilitychange`,this._onVisibilityChange),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{ct as DebugAdapter,We as InputHandler,Ce as Renderer,pt as WTerm,s as WasmBridge,l as WebSocketTransport};