@inkeep/open-knowledge 0.20.0-beta.1 → 0.20.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/skills/discovery/SKILL.md +2 -2
- package/dist/assets/skills/packs/codebase-wiki/SKILL.md +1 -1
- package/dist/assets/skills/packs/entity-vault/SKILL.md +6 -1
- package/dist/assets/skills/project/SKILL.md +69 -455
- package/dist/assets/skills/project/references/anti-patterns.md +33 -0
- package/dist/assets/skills/project/references/cadence-and-logs.md +17 -0
- package/dist/assets/skills/project/references/components-and-visuals.md +53 -0
- package/dist/assets/skills/project/references/conflict-resolution.md +28 -0
- package/dist/assets/skills/project/references/corpus-qa.md +14 -0
- package/dist/assets/skills/project/references/doc-editing.md +11 -0
- package/dist/assets/skills/project/references/folder-model.md +42 -0
- package/dist/assets/skills/project/references/ingest-and-sources.md +24 -0
- package/dist/assets/skills/project/references/linking.md +16 -0
- package/dist/assets/skills/project/references/media-and-assets.md +14 -0
- package/dist/assets/skills/project/references/preview.md +51 -0
- package/dist/assets/skills/project/references/setup.md +2 -2
- package/dist/assets/skills/project/references/template-authoring.md +65 -0
- package/dist/assets/skills/project/references/workflow-guides.md +30 -0
- package/dist/assets/skills/project/references/writing.md +9 -0
- package/dist/assets/skills/write-skill/SKILL.md +16 -5
- package/dist/cli.mjs +54 -54
- package/dist/constants-Pd0DVXeH.mjs +2 -0
- package/dist/{dist-CcBhqiSK.mjs → dist-DduyeCrg.mjs} +28 -24
- package/dist/{dist-DVWyQ2rE.mjs → dist-N_CoL-ou.mjs} +1 -1
- package/dist/{gh-detect-DsccWGZs.mjs → gh-detect-BDIdc7oG.mjs} +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{init-C0B404am.mjs → init-C_3BfE5h.mjs} +6 -6
- package/dist/init-D09u08_w.mjs +1 -0
- package/dist/{loader-DT4U0oyV.mjs → loader-Du7-NQEw.mjs} +3 -3
- package/dist/loader-XK--BnFw.mjs +1 -0
- package/dist/preview-CW-F-0o1.mjs +1 -0
- package/dist/{preview-BUN-sd_X.mjs → preview-DLXvMPQ8.mjs} +2 -2
- package/dist/public/assets/{ActivityModeContent-BS_Y62XF.js → ActivityModeContent-DGw5iUid.js} +1 -1
- package/dist/public/assets/{DocumentContext-BzU_wuZ1.js → DocumentContext-CmO1rPM6.js} +16 -16
- package/dist/public/assets/{GraphPanel-EZGWljSP.js → GraphPanel-BVt0SfrM.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-D2EjV-Hv.js → ManagedArtifactProperties-Cr8eMUCF.js} +1 -1
- package/dist/public/assets/{PropertyPanel-CctJB0ZN.js → PropertyPanel-ze_4e3n_.js} +1 -1
- package/dist/public/assets/{SettingsDialogBody-DzkJTs5S.js → SettingsDialogBody-hP9Vzn5G.js} +2 -2
- package/dist/public/assets/{SkillEditorActions-CnqozQbp.js → SkillEditorActions-Y_e1zC_b.js} +1 -1
- package/dist/public/assets/{SourceEditor-Mgjjq3HZ.js → SourceEditor-4T4loRia.js} +2 -2
- package/dist/public/assets/{TerminalPanel-DiJi11zw.js → TerminalPanel-C9rmhBG2.js} +2 -2
- package/dist/public/assets/{config-validation-events-8rtpnIAB.js → config-validation-events-CA8jFSci.js} +4 -4
- package/dist/public/assets/{dist-C0uDGnS5.js → dist-Dst_hB5H.js} +102 -102
- package/dist/public/assets/{documents-events-BTsmrZJT.js → documents-events-DMS5a4By.js} +1 -1
- package/dist/public/assets/index-BHFFl2Q_.css +1 -0
- package/dist/public/assets/index-DNKaMY7F.js +2004 -0
- package/dist/public/assets/{keyboard-shortcuts-BzwnpNd_.js → keyboard-shortcuts-DGu1nhPQ.js} +1 -1
- package/dist/public/assets/{open-managed-artifact-tab-VuHt1k6e.js → open-managed-artifact-tab-Bvt3X7yV.js} +1 -1
- package/dist/public/assets/{prop-types-D6SQBoDq.js → prop-types-Cf7ylXsu.js} +1 -1
- package/dist/public/assets/{selection-context-Rr9JEzTX.js → selection-context-kDVHDAV2.js} +1 -1
- package/dist/public/assets/{skill-actions-SUqrJBew.js → skill-actions-CQ-n4sOB.js} +1 -1
- package/dist/public/assets/{skills-api-F2HCxVlt.js → skills-api-q4V5pwth.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-BrunJmhI.js → target-navigation-intent-CCRb_XMp.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-BmNkqfX8.js → typing-burst-detector-zGrvqSf8.js} +2 -2
- package/dist/public/index.html +15 -15
- package/dist/{repair-launch-json-CkcWlQSx.mjs → repair-launch-json-2M6rB2aW.mjs} +2 -2
- package/dist/{repair-mcp-configs-VpKh2oVC.mjs → repair-mcp-configs-sYvNiWv5.mjs} +2 -2
- package/dist/{repair-skills-aa6PY9M2.mjs → repair-skills-BXseW88J.mjs} +2 -2
- package/dist/repair-skills-_wMz4npm.mjs +1 -0
- package/dist/server-lock-8Lv6A-Xa-iDqi_bbE.mjs +1 -0
- package/dist/{server-lock-CN2YHwpP-CemdeDui.mjs → server-lock-CN2YHwpP-COM23IWb.mjs} +42 -42
- package/dist/{src-BkOgJBOh.mjs → src-BmUN0S6D.mjs} +2 -2
- package/dist/{start-qU-nkZGw.mjs → start-3EnmDu3w.mjs} +2 -2
- package/dist/start-C77VACx8.mjs +1 -0
- package/dist/{write-project-skill-DF8Mypd7.mjs → write-project-skill-DcFlfCuV.mjs} +3 -3
- package/package.json +1 -1
- package/dist/constants-BDz_rgpj.mjs +0 -2
- package/dist/init-CCyX3r7f.mjs +0 -1
- package/dist/loader-BbfPz7Hr.mjs +0 -1
- package/dist/preview-CWA1TRnG.mjs +0 -1
- package/dist/public/assets/index-i9A7tPDf.js +0 -2004
- package/dist/public/assets/index-xDiw2wLq.css +0 -1
- package/dist/repair-skills-CUAuz35w.mjs +0 -1
- package/dist/server-lock-8Lv6A-Xa-C_9VS9L6.mjs +0 -1
- package/dist/start-Dis0CHWS.mjs +0 -1
package/dist/public/assets/{SkillEditorActions-CnqozQbp.js → SkillEditorActions-Y_e1zC_b.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{n as i}from"./dist-CQw2y-s3.js";import{N as ee,Tt as a}from"./dist-
|
|
1
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{n as i}from"./dist-CQw2y-s3.js";import{N as ee,Tt as a}from"./dist-Dst_hB5H.js";import{l as te,t as ne}from"./button-DGf25ccp.js";import{t as o}from"./chevron-down-BaPMAfbX.js";import{i as s,r as c}from"./skill-actions-CQ-n4sOB.js";import{T as re,_ as l,h as u,m as ie,p as ae,v as oe,x as d}from"./skills-api-q4V5pwth.js";var se=r(),f=e(t(),1),p=n(),m=a.options;function h(e){let t=(0,se.c)(74),{scope:n,name:r}=e,a=s(),h=c(),g;t[0]!==r||t[1]!==n||t[2]!==a.data||t[3]!==a.status?(g=a.status===`ready`?a.data.find(e=>e.scope===n&&e.name===r):void 0,t[0]=r,t[1]=n,t[2]=a.data,t[3]=a.status,t[4]=g):g=t[4];let _=g,v;t[5]!==_||t[6]!==r||t[7]!==n?(v=_??{scope:n,name:r,path:r,description:``,installed:!1,hosts:[]},t[5]=_,t[6]=r,t[7]=n,t[8]=v):v=t[8];let y=v,b=h.installingName===r,[x,S]=(0,f.useState)(null),C=x??y.hosts,w;t[9]===C?w=t[10]:(w=new Set(C),t[9]=C,t[10]=w);let T=w,E=x?x.length>0:y.installed,D=(0,f.useRef)(y.hosts),O,k;t[11]!==x||t[12]!==y.hosts?(O=()=>{x===null&&(D.current=y.hosts)},k=[x,y.hosts],t[11]=x,t[12]=y.hosts,t[13]=O,t[14]=k):(O=t[13],k=t[14]),(0,f.useEffect)(O,k);let A;t[15]===y.hosts?A=t[16]:(A=[...y.hosts].sort().join(`,`),t[15]=y.hosts,t[16]=A);let j=A,M,N;t[17]===j?(M=t[18],N=t[19]):(M=()=>{S(e=>e&&[...e].sort().join(`,`)===j?null:e)},N=[j],t[17]=j,t[18]=M,t[19]=N),(0,f.useEffect)(M,N);let P=(0,f.useRef)(null),F,I;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(I=()=>()=>{P.current&&clearTimeout(P.current)},F=[],t[20]=F,t[21]=I):(F=t[20],I=t[21]),(0,f.useEffect)(I,F);let L,R,z,B,V,H,U,W,G;if(t[22]!==h||t[23]!==T||t[24]!==E||t[25]!==b||t[26]!==y){z=function(e,t){D.current=e,S(e),P.current&&clearTimeout(P.current);let n=async()=>{(await h.install(y,e)).ok||S(null)};t?P.current=setTimeout(()=>void n(),350):n()};let e=function(e,t){let n=new Set(D.current);t?n.add(e):n.delete(e),z([...n],!0)};G=`flex items-center gap-1.5`,R=ae;let n=E?`installed`:`draft`,r=E?`border-primary/50 bg-primary/5 text-primary hover:bg-primary/10 hover:text-primary`:`border-yellow-500/40 bg-yellow-500/10 text-yellow-600 hover:bg-yellow-500/20 hover:text-yellow-600`,a;t[36]===r?a=t[37]:(a=te(`h-6 gap-1 rounded-sm border px-1.5 font-mono text-xs uppercase shadow-none`,r),t[36]=r,t[37]=a);let s;t[38]!==E||t[39]!==b?(s=b?(0,p.jsx)(i,{id:`b4itZn`}):E?(0,p.jsx)(i,{id:`eQkgKV`}):(0,p.jsx)(i,{id:`eneWvv`}),t[38]=E,t[39]=b,t[40]=s):s=t[40];let c;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,p.jsx)(o,{"aria-hidden":!0}),t[41]=c):c=t[41],t[42]!==b||t[43]!==n||t[44]!==a||t[45]!==s?(W=(0,p.jsx)(re,{asChild:!0,children:(0,p.jsxs)(ne,{variant:`outline`,size:`sm`,disabled:b,"data-testid":`skill-install-menu-trigger`,"data-state":n,className:a,children:[s,c]})}),t[42]=b,t[43]=n,t[44]=a,t[45]=s,t[46]=W):W=t[46],L=u,B=`end`,V=`min-w-52`,t[47]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,p.jsx)(oe,{children:(0,p.jsx)(i,{id:`npcziF`})}),t[47]=H):H=t[47],U=m.map(t=>(0,p.jsx)(ie,{checked:T.has(t),onCheckedChange:n=>e(t,n===!0),"data-testid":`skill-install-editor-${t}`,children:ee[t]},t)),t[22]=h,t[23]=T,t[24]=E,t[25]=b,t[26]=y,t[27]=L,t[28]=R,t[29]=z,t[30]=B,t[31]=V,t[32]=H,t[33]=U,t[34]=W,t[35]=G}else L=t[27],R=t[28],z=t[29],B=t[30],V=t[31],H=t[32],U=t[33],W=t[34],G=t[35];let K;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,p.jsx)(d,{}),t[48]=K):K=t[48];let q;t[49]===z?q=t[50]:(q=()=>z([...m],!1),t[49]=z,t[50]=q);let J;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,p.jsx)(i,{id:`x-5mJ1`}),t[51]=J):J=t[51];let Y;t[52]===q?Y=t[53]:(Y=(0,p.jsx)(l,{"data-testid":`skill-install-all`,onSelect:q,children:J}),t[52]=q,t[53]=Y);let X;t[54]!==h||t[55]!==E||t[56]!==y?(X=E?(0,p.jsx)(l,{"data-testid":`skill-uninstall`,onSelect:()=>{P.current&&clearTimeout(P.current),D.current=[],S([]),(async()=>{(await h.uninstall(y)).ok||S(null)})()},children:(0,p.jsx)(i,{id:`t422_7`})}):null,t[54]=h,t[55]=E,t[56]=y,t[57]=X):X=t[57];let Z;t[58]!==L||t[59]!==B||t[60]!==V||t[61]!==H||t[62]!==U||t[63]!==Y||t[64]!==X?(Z=(0,p.jsxs)(L,{align:B,className:V,children:[H,U,K,Y,X]}),t[58]=L,t[59]=B,t[60]=V,t[61]=H,t[62]=U,t[63]=Y,t[64]=X,t[65]=Z):Z=t[65];let Q;t[66]!==R||t[67]!==W||t[68]!==Z?(Q=(0,p.jsxs)(R,{children:[W,Z]}),t[66]=R,t[67]=W,t[68]=Z,t[69]=Q):Q=t[69];let $;return t[70]!==h.dialogs||t[71]!==G||t[72]!==Q?($=(0,p.jsxs)(`div`,{className:G,children:[Q,h.dialogs]}),t[70]=h.dialogs,t[71]=G,t[72]=Q,t[73]=$):$=t[73],$}export{h as SkillEditorActions};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{$ as i,An as a,At as o,
|
|
2
|
-
`);e!==r&&t.delete(e+n,r-e),s.length>0&&t.insert(e+n,s),n+=s.length-(r-e)})},this.conf)}destroy(){this._ytext.unobserve(this._observer)}},he=A.fromClass(G),ge=M.baseTheme({".cm-ySelection":{},".cm-yLineSelection":{padding:0,margin:`0px 2px 0px 4px`},".cm-ySelectionCaret":{position:`relative`,borderLeft:`1px solid black`,borderRight:`1px solid black`,marginLeft:`-1px`,marginRight:`-1px`,boxSizing:`border-box`,display:`inline`},".cm-ySelectionCaretDot":{borderRadius:`50%`,position:`absolute`,width:`.4em`,height:`.4em`,top:`-.2em`,left:`-.2em`,backgroundColor:`inherit`,transition:`transform .3s ease-in-out`,boxSizing:`border-box`},".cm-ySelectionCaret:hover > .cm-ySelectionCaretDot":{transformOrigin:`bottom center`,transform:`scale(0)`},".cm-ySelectionInfo":{position:`absolute`,top:`-1.05em`,left:`-1px`,fontSize:`.75em`,fontFamily:`serif`,fontStyle:`normal`,fontWeight:`normal`,lineHeight:`normal`,userSelect:`none`,color:`white`,paddingLeft:`2px`,paddingRight:`2px`,zIndex:101,transition:`opacity .3s ease-in-out`,backgroundColor:`inherit`,opacity:0,transitionDelay:`0s`,whiteSpace:`nowrap`},".cm-ySelectionCaret:hover > .cm-ySelectionInfo":{opacity:1,transitionDelay:`0s`}}),_e=F.define(),ve=class extends w{constructor(e,t){super(),this.color=e,this.name=t}toDOM(){return v(`span`,[u(`class`,`cm-ySelectionCaret`),u(`style`,`background-color: ${this.color}; border-color: ${this.color}`)],[c(``),v(`div`,[u(`class`,`cm-ySelectionCaretDot`)]),c(``),v(`div`,[u(`class`,`cm-ySelectionInfo`)],[c(this.name)]),c(``)])}eq(e){return e.color===this.color}compare(e){return e.color===this.color}updateDOM(){return!1}get estimatedHeight(){return-1}ignoreEvent(){return!0}},ye=class{constructor(e){this.conf=e.state.facet(U),this._listener=({added:t,updated:n,removed:r},i,a)=>{t.concat(n).concat(r).findIndex(e=>e!==this.conf.awareness.doc.clientID)>=0&&e.dispatch({annotations:[_e.of([])]})},this._awareness=this.conf.awareness,this._awareness.on(`change`,this._listener),this.decorations=N.of([])}destroy(){this._awareness.off(`change`,this._listener)}update(e){let t=this.conf.ytext,n=t.doc,r=this.conf.awareness,i=[],o=this.conf.awareness.getLocalState();if(o!=null){let n=e.view.hasFocus&&e.view.dom.ownerDocument.hasFocus(),i=n?e.state.selection.main:null,a=o.cursor==null?null:b(o.cursor.anchor),s=o.cursor==null?null:b(o.cursor.head);if(i!=null){let e=p(t,i.anchor),n=p(t,i.head);(o.cursor==null||!x(a,e)||!x(s,n))&&r.setLocalStateField(`cursor`,{anchor:e,head:n})}else o.cursor!=null&&n&&r.setLocalStateField(`cursor`,null)}r.getStates().forEach((o,s)=>{if(s===r.doc.clientID)return;let c=o.cursor;if(c==null||c.anchor==null||c.head==null)return;let l=a(c.anchor,n),u=a(c.head,n);if(l==null||u==null||l.type!==t||u.type!==t)return;let{color:f=`#30bced`,name:p=`Anonymous`}=o.user||{},m=o.user&&o.user.colorLight||f+`33`,h=y(l.index,u.index),g=d(l.index,u.index),_=e.view.state.doc.lineAt(h),v=e.view.state.doc.lineAt(g);if(_.number===v.number)i.push({from:h,to:g,value:D.mark({attributes:{style:`background-color: ${m}`},class:`cm-ySelection`})});else{i.push({from:h,to:_.from+_.length,value:D.mark({attributes:{style:`background-color: ${m}`},class:`cm-ySelection`})}),i.push({from:v.from,to:g,value:D.mark({attributes:{style:`background-color: ${m}`},class:`cm-ySelection`})});for(let t=_.number+1;t<v.number;t++){let n=e.view.state.doc.line(t).from;i.push({from:n,to:n,value:D.line({attributes:{style:`background-color: ${m}`,class:`cm-yLineSelection`}})})}}i.push({from:u.index,to:u.index,value:D.widget({side:u.index-l.index>0?-1:1,block:!1,widget:new ve(f,p)})})}),this.decorations=D.set(i,!0)}},be=A.fromClass(ye,{decorations:e=>e.decorations}),xe=class{constructor(e){this.undoManager=e}addTrackedOrigin(e){this.undoManager.addTrackedOrigin(e)}removeTrackedOrigin(e){this.undoManager.removeTrackedOrigin(e)}undo(){return this.undoManager.undo()!=null}redo(){return this.undoManager.redo()!=null}},K=O.define({combine(e){return e[e.length-1]}});F.define();var Se=class{constructor(e){this.view=e,this.conf=e.state.facet(K),this._undoManager=this.conf.undoManager,this.syncConf=e.state.facet(U),this._beforeChangeSelection=null,this._mux=s(),this._onStackItemAdded=({stackItem:e,changedParentTypes:t})=>{t.has(this.syncConf.ytext)&&this._beforeChangeSelection&&!e.meta.has(this)&&e.meta.set(this,this._beforeChangeSelection)},this._onStackItemPopped=({stackItem:t})=>{let n=t.meta.get(this);if(n){let t=this.syncConf.fromYRange(n);e.dispatch(e.state.update({selection:t,effects:[M.scrollIntoView(t)]})),this._storeSelection()}},this._storeSelection=()=>{this._beforeChangeSelection=this.syncConf.toYRange(this.view.state.selection.main)},this._undoManager.on(`stack-item-added`,this._onStackItemAdded),this._undoManager.on(`stack-item-popped`,this._onStackItemPopped),this._undoManager.addTrackedOrigin(this.syncConf)}update(e){e.selectionSet&&(e.transactions.length===0||e.transactions[0].annotation(W)!==this.syncConf)&&this._storeSelection()}destroy(){this._undoManager.off(`stack-item-added`,this._onStackItemAdded),this._undoManager.off(`stack-item-popped`,this._onStackItemPopped),this._undoManager.removeTrackedOrigin(this.syncConf)}},Ce=A.fromClass(Se),we=({state:e,dispatch:t})=>e.facet(K).undo()||!0,Te=({state:e,dispatch:t})=>e.facet(K).redo()||!0,Ee=(e,t,{undoManager:n=new g(e)}={})=>{let r=new H(e,t),i=[U.of(r),he];return t&&i.push(ge,be),n!==!1&&i.push(K.of(new xe(n)),Ce,M.domEventHandlers({beforeinput(e,t){return e.inputType===`historyUndo`?we(t):e.inputType===`historyRedo`?Te(t):!1}})),i},De=D.mark({class:`cm-link-ref-broken`}),q=/^\s{0,3}\[([^\]]+)\]:\s/,J=/\[([^\]]*)\]\[([^\]]*)\]/g,Oe=new Set([`FencedCode`,`CodeBlock`,`InlineCode`]);function Y(e,t){let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>1,a=t[i];if(e<a.from)r=i-1;else if(e>=a.to)n=i+1;else return!0}return!1}function ke(e){let t=[];return k(e).iterate({enter(e){if(Oe.has(e.name))return t.push({from:e.from,to:e.to}),!1}}),t.sort((e,t)=>e.from-t.from),t}function X(e){let t=new Set,n=[],r=e.doc,i=ke(e);for(let e=1;e<=r.lines;e++){let n=r.line(e);if(Y(n.from,i))continue;let a=q.exec(n.text);a&&t.add(a[1].toLowerCase())}for(let e=1;e<=r.lines;e++){let t=r.line(e);if(!Y(t.from,i)&&!q.test(t.text))for(J.lastIndex=0;;){let e=J.exec(t.text);if(!e)break;let r=t.from+e.index;if(Y(r,i))continue;let a=e[2]||e[1];n.push({from:r,to:r+e[0].length,label:a.toLowerCase()})}}let a=[];for(let e of n)t.has(e.label)||a.push(De.range(e.from,e.to));return a.sort((e,t)=>e.from-t.from),D.set(a)}var Ae=E.define({create(e){return X(e)},update(e,t){return t.docChanged?X(t.state):e},provide:e=>M.decorations.from(e)}),je=/^(\s*(?:[-*+]|\d+[.)]) (?:\[[ x]\] )?)/,Me=D.mark({class:`cm-del`}),Ne=D.line({class:`cm-table-header`,attributes:{style:`--list-hang: 2ch`}}),Z=D.line({class:`cm-table-row`,attributes:{style:`--list-hang: 2ch`}});function Pe(e){let t=0;for(let n of e)if(n===` `)t++;else if(n===` `)t+=4;else break;return t}function Fe(e){if(e.doc.lines<2)return null;let t=e.doc.line(1);if(!S.test(t.text))return null;for(let n=2;n<=e.doc.lines;n++){let r=e.doc.line(n);if(S.test(r.text))return{from:t.from,to:r.to}}return null}function Q(e,t){let n=[],r=k(e),i=Fe(e),a=e=>i!==null&&e>=i.from&&e<=i.to;for(let{from:i,to:o}of t)r.iterate({from:i,to:o,enter(t){if(!a(t.from)){if(t.name===`Strikethrough`){let e=t.from,r=t.to,i=t.node.cursor();if(i.firstChild())do i.name===`StrikethroughMark`&&(i.from===t.from?e=i.to:r=i.from);while(i.nextSibling());return e<r&&n.push(Me.range(e,r)),!1}if(t.name===`ListItem`){let r=e.doc.lineAt(t.from),i=je.exec(r.text),a=i?i[1].length:2,o=D.line({class:`cm-list-item`,attributes:{style:`--list-hang: ${a}ch`}});n.push(o.range(r.from));return}if(t.name===`FencedCode`){let r=e.doc.lineAt(t.from),i=e.doc.lineAt(t.to);for(let t=r.number+1;t<i.number;t++){let r=e.doc.line(t),i=Pe(r.text),a=D.line({class:`cm-fenced-code-line`,attributes:{style:`--line-indent: ${i}`}});n.push(a.range(r.from))}return!1}if(t.name===`TableHeader`){let r=e.doc.lineAt(t.from);return n.push(Ne.range(r.from)),!1}if(t.name===`TableRow`){let r=e.doc.lineAt(t.from);return n.push(Z.range(r.from)),!1}if(t.name===`TableDelimiter`&&t.node.parent?.name===`Table`){let r=e.doc.lineAt(t.from);return n.push(Z.range(r.from)),!1}}}});return n.sort((e,t)=>e.from-t.from||e.value.startSide-t.value.startSide),D.set(n)}var Ie=class{decorations;constructor(e){this.decorations=Q(e.state,e.visibleRanges)}update(e){(e.docChanged||e.viewportChanged||k(e.startState)!==k(e.state))&&(this.decorations=Q(e.view.state,e.view.visibleRanges))}},Le=A.fromClass(Ie,{decorations:e=>e.decorations});function Re(){return[Le,Ae]}var ze=n(),Be=56;function $(e,t){let n=e.state.doc,r=1;if(n.lines>=1&&S.test(n.line(1).text)){for(let e=2;e<=n.lines;e++)if(S.test(n.line(e).text)){r=e+1;break}}let i=C(),a=0;for(let o=r;o<=n.lines;o++){let r=n.line(o);if(!i(r.text)&&/^#{1,6}\s/.test(r.text)){if(a===t.index){e.dispatch({selection:T.cursor(r.from),effects:M.scrollIntoView(r.from,{y:`start`})}),e.focus();return}a++}}}function Ve(e,t){requestAnimationFrame(()=>{let n=e.state.doc,r=Math.min(t.offset,n.length);e.dispatch({selection:T.cursor(r),effects:M.scrollIntoView(r,{y:`center`})}),e.focus()})}function He(e){let t=(0,me.c)(33),{docName:n,ytext:r,provider:a,placeholder:s,isSourceModeActive:c}=e,l=(0,B.useRef)(null),u=(0,B.useRef)(null),[d,p]=(0,B.useState)(null);if(d)throw d;let{resolvedTheme:h}=ne(),{merged:g}=ie(),v=(0,B.useRef)(c),y=g?.editor?.wordWrap??!0,b,x;t[0]===c?(b=t[1],x=t[2]):(b=()=>{v.current=c},x=[c],t[0]=c,t[1]=b,t[2]=x),(0,B.useEffect)(b,x);let S=(0,B.useRef)(null),C;t[3]!==s||t[4]!==a||t[5]!==h||t[6]!==y||t[7]!==r?(C=()=>{let e=l.current;if(!e)return;let t=a.configuration.name??``,n,c=Ge;try{n=o({docName:t,container:e,sizeStats:{viewCount:0,bytes:r.length},factory:e=>{let n=null,o=i({ydoc:a.document,ytext:r}),l=new j,u=new j,d=new j,p=new M({state:oe.create({doc:r.toString(),extensions:[pe,le({scrollToMatch:We}),se.of([ee]),Ee(r,a.awareness),...f({themeCompartment:l,resolvedTheme:h,ydoc:a.document,wordWrapCompartment:u,wordWrap:y,currentDocName:t}),Re(),o,M.updateListener.of(e=>{!e.selectionSet&&!e.docChanged||(n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,L(t,`source`,ce(e.view)),z(t,`source`,R(e.view,t))},120))}),M.domEventHandlers({keydown:(e,t)=>!v.current||!re()||!ae(e,`edit-with-ai`)?!1:(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),fe(),!0)}),d.of(P(s??``)),M.theme({"&":{height:`100%`}}),M.scrollMargins.of(Ue)]}),parent:e});L(t,`source`,ce(p)),z(t,`source`,R(p,t));let m=p.contentDOM;return m.addEventListener(`keydown`,c),m.addEventListener(`paste`,c),m.addEventListener(`drop`,c),m.addEventListener(`cut`,c),{view:p,ydoc:a.document,ytext:r,provider:a,themeCompartment:l,wordWrapCompartment:u,placeholderCompartment:d}}}),S.current=n,u.current=n.view}catch(e){let t=e;console.error(`[SourceEditor] mountCmEditor failed`,t),S.current=null,u.current=null,p(t instanceof Error?t:Error(String(t)))}return()=>{let e=S.current;e&&te(e),S.current=null,u.current=null}},t[3]=s,t[4]=a,t[5]=h,t[6]=y,t[7]=r,t[8]=C):C=t[8];let w;t[9]!==a||t[10]!==r?(w=[r,a],t[9]=a,t[10]=r,t[11]=w):w=t[11],(0,B.useEffect)(C,w);let T,E;t[12]===n?(T=t[13],E=t[14]):(T=()=>{},E=[n],t[12]=n,t[13]=T,t[14]=E),(0,B.useEffect)(T,E);let D,O;t[15]===h?(D=t[16],O=t[17]):(D=()=>{let e=S.current;e&&e.view.dispatch({effects:e.themeCompartment.reconfigure(h===`dark`?m:_)})},O=[h],t[15]=h,t[16]=D,t[17]=O),(0,B.useEffect)(D,O);let k,A;t[18]===y?(k=t[19],A=t[20]):(A=()=>{let e=S.current;e&&e.view.dispatch({effects:e.wordWrapCompartment.reconfigure(y?M.lineWrapping:[])})},k=[y],t[18]=y,t[19]=k,t[20]=A),(0,B.useEffect)(A,k);let N,F;t[21]===s?(N=t[22],F=t[23]):(N=()=>{let e=S.current;e&&e.view.dispatch({effects:e.placeholderCompartment.reconfigure(P(s??``))})},F=[s],t[21]=s,t[22]=N,t[23]=F),(0,B.useEffect)(N,F);let V,H;t[24]!==n||t[25]!==c?(V=()=>{let e=function(e){let t=e.detail;if(!t||t.mode!==`source`||!c)return;let r=u.current;r&&($(r,t),de(n))};return window.addEventListener(I,e),()=>window.removeEventListener(I,e)},H=[n,c],t[24]=n,t[25]=c,t[26]=V,t[27]=H):(V=t[26],H=t[27]),(0,B.useEffect)(V,H);let U,W;t[28]!==n||t[29]!==c?(U=()=>{if(!c)return;let e=u.current;if(!e)return;let t=ue(n);if(t){if(t.kind===`outline`){$(e,t.detail);return}Ve(e,t.detail)}},W=[n,c],t[28]=n,t[29]=c,t[30]=U,t[31]=W):(U=t[30],W=t[31]),(0,B.useEffect)(U,W);let G;return t[32]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,ze.jsx)(`div`,{ref:l,className:`source-editor h-full pb-3`}),t[32]=G):G=t[32],G}function Ue(){return{top:Be}}function We(e){return M.scrollIntoView(e,{y:`start`})}function Ge(){return l()}export{He as SourceEditor};
|
|
1
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{$ as i,An as a,At as o,Dn as s,Fn as c,G as l,In as u,Ln as d,M as f,Mn as p,N as m,Nn as h,P as g,Pn as _,Rn as v,Z as ee,jn as y,jt as te,kn as b,zn as x}from"./DocumentContext-CmO1rPM6.js";import{I as S,Ri as ne,hn as C,si as re}from"./dist-Dst_hB5H.js";import{n as ie}from"./config-context-DhhN0rlf.js";import{l as ae}from"./keyboard-shortcuts-DGu1nhPQ.js";import{$ as w,Dt as oe,Et as T,Ft as E,J as D,Ot as O,P as k,Q as A,Tt as j,X as M,jt as N,pt as P,ut as se,xt as F}from"./dist-BXTYSiRS.js";import{a as ce,d as le,f as I,h as ue,i as L,m as de,t as fe,u as pe}from"./typing-burst-detector-zGrvqSf8.js";import{o as R,r as z}from"./selection-context-kDVHDAV2.js";var B=e(t(),1),me=r(),V=class e{constructor(e,t){this.yanchor=e,this.yhead=t}toJSON(){return{yanchor:_(this.yanchor),yhead:_(this.yhead)}}static fromJSON(t){return new e(p(t.yanchor),p(t.yhead))}},H=class{constructor(e,t){this.ytext=e,this.awareness=t,this.undoManager=new b(e)}toYPos(e,t=0){return h(this.ytext,e,t)}fromYPos(e){let t=y(p(e),this.ytext.doc);if(t==null||t.type!==this.ytext)throw Error(`[y-codemirror] The position you want to retrieve was created by a different document`);return{pos:t.index,assoc:t.assoc}}toYRange(e){let t=e.assoc;return new V(this.toYPos(e.anchor,t),this.toYPos(e.head,t))}fromYRange(e){let t=this.fromYPos(e.yanchor),n=this.fromYPos(e.yhead);return t.pos===n.pos?T.cursor(n.pos,n.assoc):T.range(t.pos,n.pos)}},U=O.define({combine(e){return e[e.length-1]}}),W=F.define(),G=class{constructor(e){this.view=e,this.conf=e.state.facet(U),this._observer=(t,n)=>{if(n.origin!==this.conf){let n=t.delta,r=[],i=0;for(let e=0;e<n.length;e++){let t=n[e];t.insert==null?t.delete==null?i+=t.retain:(r.push({from:i,to:i+t.delete,insert:``}),i+=t.delete):r.push({from:i,to:i,insert:t.insert})}e.dispatch({changes:r,annotations:[W.of(this.conf)]})}},this._ytext=this.conf.ytext,this._ytext.observe(this._observer)}update(e){if(!e.docChanged||e.transactions.length>0&&e.transactions[0].annotation(W)===this.conf)return;let t=this.conf.ytext;t.doc.transact(()=>{let n=0;e.changes.iterChanges((e,r,i,a,o)=>{let s=o.sliceString(0,o.length,`
|
|
2
|
+
`);e!==r&&t.delete(e+n,r-e),s.length>0&&t.insert(e+n,s),n+=s.length-(r-e)})},this.conf)}destroy(){this._ytext.unobserve(this._observer)}},he=A.fromClass(G),ge=M.baseTheme({".cm-ySelection":{},".cm-yLineSelection":{padding:0,margin:`0px 2px 0px 4px`},".cm-ySelectionCaret":{position:`relative`,borderLeft:`1px solid black`,borderRight:`1px solid black`,marginLeft:`-1px`,marginRight:`-1px`,boxSizing:`border-box`,display:`inline`},".cm-ySelectionCaretDot":{borderRadius:`50%`,position:`absolute`,width:`.4em`,height:`.4em`,top:`-.2em`,left:`-.2em`,backgroundColor:`inherit`,transition:`transform .3s ease-in-out`,boxSizing:`border-box`},".cm-ySelectionCaret:hover > .cm-ySelectionCaretDot":{transformOrigin:`bottom center`,transform:`scale(0)`},".cm-ySelectionInfo":{position:`absolute`,top:`-1.05em`,left:`-1px`,fontSize:`.75em`,fontFamily:`serif`,fontStyle:`normal`,fontWeight:`normal`,lineHeight:`normal`,userSelect:`none`,color:`white`,paddingLeft:`2px`,paddingRight:`2px`,zIndex:101,transition:`opacity .3s ease-in-out`,backgroundColor:`inherit`,opacity:0,transitionDelay:`0s`,whiteSpace:`nowrap`},".cm-ySelectionCaret:hover > .cm-ySelectionInfo":{opacity:1,transitionDelay:`0s`}}),_e=F.define(),ve=class extends w{constructor(e,t){super(),this.color=e,this.name=t}toDOM(){return c(`span`,[d(`class`,`cm-ySelectionCaret`),d(`style`,`background-color: ${this.color}; border-color: ${this.color}`)],[u(``),c(`div`,[d(`class`,`cm-ySelectionCaretDot`)]),u(``),c(`div`,[d(`class`,`cm-ySelectionInfo`)],[u(this.name)]),u(``)])}eq(e){return e.color===this.color}compare(e){return e.color===this.color}updateDOM(){return!1}get estimatedHeight(){return-1}ignoreEvent(){return!0}},ye=class{constructor(e){this.conf=e.state.facet(U),this._listener=({added:t,updated:n,removed:r},i,a)=>{t.concat(n).concat(r).findIndex(e=>e!==this.conf.awareness.doc.clientID)>=0&&e.dispatch({annotations:[_e.of([])]})},this._awareness=this.conf.awareness,this._awareness.on(`change`,this._listener),this.decorations=N.of([])}destroy(){this._awareness.off(`change`,this._listener)}update(e){let t=this.conf.ytext,n=t.doc,r=this.conf.awareness,i=[],o=this.conf.awareness.getLocalState();if(o!=null){let n=e.view.hasFocus&&e.view.dom.ownerDocument.hasFocus(),i=n?e.state.selection.main:null,s=o.cursor==null?null:p(o.cursor.anchor),c=o.cursor==null?null:p(o.cursor.head);if(i!=null){let e=h(t,i.anchor),n=h(t,i.head);(o.cursor==null||!a(s,e)||!a(c,n))&&r.setLocalStateField(`cursor`,{anchor:e,head:n})}else o.cursor!=null&&n&&r.setLocalStateField(`cursor`,null)}r.getStates().forEach((a,o)=>{if(o===r.doc.clientID)return;let s=a.cursor;if(s==null||s.anchor==null||s.head==null)return;let c=y(s.anchor,n),l=y(s.head,n);if(c==null||l==null||c.type!==t||l.type!==t)return;let{color:u=`#30bced`,name:d=`Anonymous`}=a.user||{},f=a.user&&a.user.colorLight||u+`33`,p=x(c.index,l.index),m=v(c.index,l.index),h=e.view.state.doc.lineAt(p),g=e.view.state.doc.lineAt(m);if(h.number===g.number)i.push({from:p,to:m,value:D.mark({attributes:{style:`background-color: ${f}`},class:`cm-ySelection`})});else{i.push({from:p,to:h.from+h.length,value:D.mark({attributes:{style:`background-color: ${f}`},class:`cm-ySelection`})}),i.push({from:g.from,to:m,value:D.mark({attributes:{style:`background-color: ${f}`},class:`cm-ySelection`})});for(let t=h.number+1;t<g.number;t++){let n=e.view.state.doc.line(t).from;i.push({from:n,to:n,value:D.line({attributes:{style:`background-color: ${f}`,class:`cm-yLineSelection`}})})}}i.push({from:l.index,to:l.index,value:D.widget({side:l.index-c.index>0?-1:1,block:!1,widget:new ve(u,d)})})}),this.decorations=D.set(i,!0)}},be=A.fromClass(ye,{decorations:e=>e.decorations}),xe=class{constructor(e){this.undoManager=e}addTrackedOrigin(e){this.undoManager.addTrackedOrigin(e)}removeTrackedOrigin(e){this.undoManager.removeTrackedOrigin(e)}undo(){return this.undoManager.undo()!=null}redo(){return this.undoManager.redo()!=null}},K=O.define({combine(e){return e[e.length-1]}});F.define();var Se=class{constructor(e){this.view=e,this.conf=e.state.facet(K),this._undoManager=this.conf.undoManager,this.syncConf=e.state.facet(U),this._beforeChangeSelection=null,this._mux=s(),this._onStackItemAdded=({stackItem:e,changedParentTypes:t})=>{t.has(this.syncConf.ytext)&&this._beforeChangeSelection&&!e.meta.has(this)&&e.meta.set(this,this._beforeChangeSelection)},this._onStackItemPopped=({stackItem:t})=>{let n=t.meta.get(this);if(n){let t=this.syncConf.fromYRange(n);e.dispatch(e.state.update({selection:t,effects:[M.scrollIntoView(t)]})),this._storeSelection()}},this._storeSelection=()=>{this._beforeChangeSelection=this.syncConf.toYRange(this.view.state.selection.main)},this._undoManager.on(`stack-item-added`,this._onStackItemAdded),this._undoManager.on(`stack-item-popped`,this._onStackItemPopped),this._undoManager.addTrackedOrigin(this.syncConf)}update(e){e.selectionSet&&(e.transactions.length===0||e.transactions[0].annotation(W)!==this.syncConf)&&this._storeSelection()}destroy(){this._undoManager.off(`stack-item-added`,this._onStackItemAdded),this._undoManager.off(`stack-item-popped`,this._onStackItemPopped),this._undoManager.removeTrackedOrigin(this.syncConf)}},Ce=A.fromClass(Se),we=({state:e,dispatch:t})=>e.facet(K).undo()||!0,Te=({state:e,dispatch:t})=>e.facet(K).redo()||!0,Ee=(e,t,{undoManager:n=new b(e)}={})=>{let r=new H(e,t),i=[U.of(r),he];return t&&i.push(ge,be),n!==!1&&i.push(K.of(new xe(n)),Ce,M.domEventHandlers({beforeinput(e,t){return e.inputType===`historyUndo`?we(t):e.inputType===`historyRedo`?Te(t):!1}})),i},De=D.mark({class:`cm-link-ref-broken`}),q=/^\s{0,3}\[([^\]]+)\]:\s/,J=/\[([^\]]*)\]\[([^\]]*)\]/g,Oe=new Set([`FencedCode`,`CodeBlock`,`InlineCode`]);function Y(e,t){let n=0,r=t.length-1;for(;n<=r;){let i=n+r>>1,a=t[i];if(e<a.from)r=i-1;else if(e>=a.to)n=i+1;else return!0}return!1}function ke(e){let t=[];return k(e).iterate({enter(e){if(Oe.has(e.name))return t.push({from:e.from,to:e.to}),!1}}),t.sort((e,t)=>e.from-t.from),t}function X(e){let t=new Set,n=[],r=e.doc,i=ke(e);for(let e=1;e<=r.lines;e++){let n=r.line(e);if(Y(n.from,i))continue;let a=q.exec(n.text);a&&t.add(a[1].toLowerCase())}for(let e=1;e<=r.lines;e++){let t=r.line(e);if(!Y(t.from,i)&&!q.test(t.text))for(J.lastIndex=0;;){let e=J.exec(t.text);if(!e)break;let r=t.from+e.index;if(Y(r,i))continue;let a=e[2]||e[1];n.push({from:r,to:r+e[0].length,label:a.toLowerCase()})}}let a=[];for(let e of n)t.has(e.label)||a.push(De.range(e.from,e.to));return a.sort((e,t)=>e.from-t.from),D.set(a)}var Ae=E.define({create(e){return X(e)},update(e,t){return t.docChanged?X(t.state):e},provide:e=>M.decorations.from(e)}),je=/^(\s*(?:[-*+]|\d+[.)]) (?:\[[ x]\] )?)/,Me=D.mark({class:`cm-del`}),Ne=D.line({class:`cm-table-header`,attributes:{style:`--list-hang: 2ch`}}),Z=D.line({class:`cm-table-row`,attributes:{style:`--list-hang: 2ch`}});function Pe(e){let t=0;for(let n of e)if(n===` `)t++;else if(n===` `)t+=4;else break;return t}function Fe(e){if(e.doc.lines<2)return null;let t=e.doc.line(1);if(!S.test(t.text))return null;for(let n=2;n<=e.doc.lines;n++){let r=e.doc.line(n);if(S.test(r.text))return{from:t.from,to:r.to}}return null}function Q(e,t){let n=[],r=k(e),i=Fe(e),a=e=>i!==null&&e>=i.from&&e<=i.to;for(let{from:i,to:o}of t)r.iterate({from:i,to:o,enter(t){if(!a(t.from)){if(t.name===`Strikethrough`){let e=t.from,r=t.to,i=t.node.cursor();if(i.firstChild())do i.name===`StrikethroughMark`&&(i.from===t.from?e=i.to:r=i.from);while(i.nextSibling());return e<r&&n.push(Me.range(e,r)),!1}if(t.name===`ListItem`){let r=e.doc.lineAt(t.from),i=je.exec(r.text),a=i?i[1].length:2,o=D.line({class:`cm-list-item`,attributes:{style:`--list-hang: ${a}ch`}});n.push(o.range(r.from));return}if(t.name===`FencedCode`){let r=e.doc.lineAt(t.from),i=e.doc.lineAt(t.to);for(let t=r.number+1;t<i.number;t++){let r=e.doc.line(t),i=Pe(r.text),a=D.line({class:`cm-fenced-code-line`,attributes:{style:`--line-indent: ${i}`}});n.push(a.range(r.from))}return!1}if(t.name===`TableHeader`){let r=e.doc.lineAt(t.from);return n.push(Ne.range(r.from)),!1}if(t.name===`TableRow`){let r=e.doc.lineAt(t.from);return n.push(Z.range(r.from)),!1}if(t.name===`TableDelimiter`&&t.node.parent?.name===`Table`){let r=e.doc.lineAt(t.from);return n.push(Z.range(r.from)),!1}}}});return n.sort((e,t)=>e.from-t.from||e.value.startSide-t.value.startSide),D.set(n)}var Ie=class{decorations;constructor(e){this.decorations=Q(e.state,e.visibleRanges)}update(e){(e.docChanged||e.viewportChanged||k(e.startState)!==k(e.state))&&(this.decorations=Q(e.view.state,e.view.visibleRanges))}},Le=A.fromClass(Ie,{decorations:e=>e.decorations});function Re(){return[Le,Ae]}var ze=n(),Be=56;function $(e,t){let n=e.state.doc,r=1;if(n.lines>=1&&S.test(n.line(1).text)){for(let e=2;e<=n.lines;e++)if(S.test(n.line(e).text)){r=e+1;break}}let i=C(),a=0;for(let o=r;o<=n.lines;o++){let r=n.line(o);if(!i(r.text)&&/^#{1,6}\s/.test(r.text)){if(a===t.index){e.dispatch({selection:T.cursor(r.from),effects:M.scrollIntoView(r.from,{y:`start`})}),e.focus();return}a++}}}function Ve(e,t){requestAnimationFrame(()=>{let n=e.state.doc,r=Math.min(t.offset,n.length);e.dispatch({selection:T.cursor(r),effects:M.scrollIntoView(r,{y:`center`})}),e.focus()})}function He(e){let t=(0,me.c)(33),{docName:n,ytext:r,provider:a,placeholder:s,isSourceModeActive:c}=e,l=(0,B.useRef)(null),u=(0,B.useRef)(null),[d,p]=(0,B.useState)(null);if(d)throw d;let{resolvedTheme:h}=ne(),{merged:_}=ie(),v=(0,B.useRef)(c),y=_?.editor?.wordWrap??!0,b,x;t[0]===c?(b=t[1],x=t[2]):(b=()=>{v.current=c},x=[c],t[0]=c,t[1]=b,t[2]=x),(0,B.useEffect)(b,x);let S=(0,B.useRef)(null),C;t[3]!==s||t[4]!==a||t[5]!==h||t[6]!==y||t[7]!==r?(C=()=>{let e=l.current;if(!e)return;let t=a.configuration.name??``,n,c=Ge;try{n=o({docName:t,container:e,sizeStats:{viewCount:0,bytes:r.length},factory:e=>{let n=null,o=i({ydoc:a.document,ytext:r}),l=new j,u=new j,d=new j,p=new M({state:oe.create({doc:r.toString(),extensions:[pe,le({scrollToMatch:We}),se.of([ee]),Ee(r,a.awareness),...f({themeCompartment:l,resolvedTheme:h,ydoc:a.document,wordWrapCompartment:u,wordWrap:y,currentDocName:t}),Re(),o,M.updateListener.of(e=>{!e.selectionSet&&!e.docChanged||(n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,L(t,`source`,ce(e.view)),z(t,`source`,R(e.view,t))},120))}),M.domEventHandlers({keydown:(e,t)=>!v.current||!re()||!ae(e,`edit-with-ai`)?!1:(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),fe(),!0)}),d.of(P(s??``)),M.theme({"&":{height:`100%`}}),M.scrollMargins.of(Ue)]}),parent:e});L(t,`source`,ce(p)),z(t,`source`,R(p,t));let m=p.contentDOM;return m.addEventListener(`keydown`,c),m.addEventListener(`paste`,c),m.addEventListener(`drop`,c),m.addEventListener(`cut`,c),{view:p,ydoc:a.document,ytext:r,provider:a,themeCompartment:l,wordWrapCompartment:u,placeholderCompartment:d}}}),S.current=n,u.current=n.view}catch(e){let t=e;console.error(`[SourceEditor] mountCmEditor failed`,t),S.current=null,u.current=null,p(t instanceof Error?t:Error(String(t)))}return()=>{let e=S.current;e&&te(e),S.current=null,u.current=null}},t[3]=s,t[4]=a,t[5]=h,t[6]=y,t[7]=r,t[8]=C):C=t[8];let w;t[9]!==a||t[10]!==r?(w=[r,a],t[9]=a,t[10]=r,t[11]=w):w=t[11],(0,B.useEffect)(C,w);let T,E;t[12]===n?(T=t[13],E=t[14]):(T=()=>{},E=[n],t[12]=n,t[13]=T,t[14]=E),(0,B.useEffect)(T,E);let D,O;t[15]===h?(D=t[16],O=t[17]):(D=()=>{let e=S.current;e&&e.view.dispatch({effects:e.themeCompartment.reconfigure(h===`dark`?m:g)})},O=[h],t[15]=h,t[16]=D,t[17]=O),(0,B.useEffect)(D,O);let k,A;t[18]===y?(k=t[19],A=t[20]):(A=()=>{let e=S.current;e&&e.view.dispatch({effects:e.wordWrapCompartment.reconfigure(y?M.lineWrapping:[])})},k=[y],t[18]=y,t[19]=k,t[20]=A),(0,B.useEffect)(A,k);let N,F;t[21]===s?(N=t[22],F=t[23]):(N=()=>{let e=S.current;e&&e.view.dispatch({effects:e.placeholderCompartment.reconfigure(P(s??``))})},F=[s],t[21]=s,t[22]=N,t[23]=F),(0,B.useEffect)(N,F);let V,H;t[24]!==n||t[25]!==c?(V=()=>{let e=function(e){let t=e.detail;if(!t||t.mode!==`source`||!c)return;let r=u.current;r&&($(r,t),de(n))};return window.addEventListener(I,e),()=>window.removeEventListener(I,e)},H=[n,c],t[24]=n,t[25]=c,t[26]=V,t[27]=H):(V=t[26],H=t[27]),(0,B.useEffect)(V,H);let U,W;t[28]!==n||t[29]!==c?(U=()=>{if(!c)return;let e=u.current;if(!e)return;let t=ue(n);if(t){if(t.kind===`outline`){$(e,t.detail);return}Ve(e,t.detail)}},W=[n,c],t[28]=n,t[29]=c,t[30]=U,t[31]=W):(U=t[30],W=t[31]),(0,B.useEffect)(U,W);let G;return t[32]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,ze.jsx)(`div`,{ref:l,className:`source-editor h-full pb-3`}),t[32]=G):G=t[32],G}function Ue(){return{top:Be}}function We(e){return M.scrollIntoView(e,{y:`start`})}function Ge(){return l()}export{He as SourceEditor};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{r as i}from"./dist-CQw2y-s3.js";import{Kt as a,Ri as o,kt as s}from"./dist-
|
|
1
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{n as t,r as n,t as r}from"./compiler-runtime-CVnuRdak.js";import{r as i}from"./dist-CQw2y-s3.js";import{Kt as a,Ri as o,kt as s}from"./dist-Dst_hB5H.js";import{l as c,t as l}from"./button-DGf25ccp.js";import{n as u,r as d}from"./dist-BLu8fLv5.js";import{t as f}from"./terminal-theme-BxhEvVX2.js";var p=r(),m=2,h=1,g=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(m,Math.floor(u/e.css.cell.width)),rows:Math.max(h,Math.floor(l/e.css.cell.height))}}},_=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],v=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],y;function b(e,t){let n=0,r=t.length-1,i;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=n;)if(i=n+r>>1,e>t[i][1])n=i+1;else if(e<t[i][0])r=i-1;else return!0;return!1}var x=class{constructor(){if(this.version=`6`,!y){y=new Uint8Array(65536),y.fill(1),y[0]=0,y.fill(0,1,32),y.fill(0,127,160),y.fill(2,4352,4448),y[9001]=2,y[9002]=2,y.fill(2,11904,42192),y[12351]=1,y.fill(2,44032,55204),y.fill(2,63744,64256),y.fill(2,65040,65050),y.fill(2,65072,65136),y.fill(2,65280,65377),y.fill(2,65504,65511);for(let e=0;e<_.length;++e)y.fill(0,_[e][0],_[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?y[e]:b(e,v)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let n=this.wcwidth(e),r=n===0&&t!==0;if(r){let e=Ue.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return Ue.createPropertyValue(0,n,r)}},S=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?T.isErrorNoTelemetry(e)?new T(e.message+`
|
|
2
2
|
|
|
3
3
|
`+e.stack):Error(e.message+`
|
|
4
4
|
|
|
@@ -143,4 +143,4 @@ ${s.join(`
|
|
|
143
143
|
`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(H(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(R(()=>{zp?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<Rp+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
|
|
144
144
|
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===Rp+1&&(this._liveRegion.textContent+=Ja.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(`anchorNode and/or focusNode are null`);return}let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t<i.length?i[t]:i.slice(-1)[0]+1;return a>=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(!(!a||!o)){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(`div`);return e.setAttribute(`role`,`listitem`),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=``;let t=e.getBoundingClientRect().width,n=this._rowColumns.get(e)?.slice(-1)?.[0];if(!n)return;let r=n*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${r/t})`}};Bp=I([L(1,So),L(2,jo),L(3,No)],Bp);var Vp=class extends z{constructor(e,t,n,r,i){super(),this._element=e,this._mouseService=t,this._renderService=n,this._bufferService=r,this._linkProviderService=i,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new V),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new V),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(R(()=>{fs(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(H(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(H(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(H(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(H(this._element,`mouseup`,this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e<n.length;e++){let t=n[e];if(t.classList.contains(`xterm`))break;if(t.classList.contains(`xterm-hover`))return}(!this._lastBufferCell||t.x!==this._lastBufferCell.x||t.y!==this._lastBufferCell.y)&&(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){(!this._activeProviderReplies||!t)&&(this._activeProviderReplies?.forEach(e=>{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,t=>{if(this._isMouseOut)return;let i=t?.map(e=>({link:e}));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;r<t.size;r++){let i=t.get(r);if(i)for(let t=0;t<i.length;t++){let r=i[t],a=r.link.range.start.y<e?0:r.link.range.start.x,o=r.link.range.end.y>e?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;t<e;t++)(!this._activeProviderReplies.has(t)||this._activeProviderReplies.get(t))&&(i=!0);if(!i&&r){let e=r.find(e=>this._linkAtPosition(e.link,t));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;e<this._activeProviderReplies.size;e++){let r=this._activeProviderReplies.get(e)?.find(e=>this._linkAtPosition(e.link,t));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&Hp(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,fs(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};Vp=I([L(1,Mo),L(2,No),L(3,vo),L(4,Lo)],Vp);function Hp(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var Up=class extends Op{constructor(e={}){super(e),this._linkifier=this._register(new gs),this.browser=id,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new gs),this._onCursorMove=this._register(new V),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new V),this.onKey=this._onKey.event,this._onRender=this._register(new V),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new V),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new V),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new V),this.onBell=this._onBell.event,this._onFocus=this._register(new V),this._onBlur=this._register(new V),this._onA11yCharEmitter=this._register(new V),this._onA11yTabEmitter=this._register(new V),this._onWillOpen=this._register(new V),this._setup(),this._decorationService=this._instantiationService.createInstance(Pp),this._instantiationService.setService(Do,this._decorationService),this._linkProviderService=this._instantiationService.createInstance($u),this._instantiationService.setService(Lo,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Oo)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(Ts.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(Ts.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(Ts.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(Ts.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(R(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=K.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${U.ESC}]${n};${fp(r)}${_u.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=G.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=G.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(Bp,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(U.ESC+`[I`),this.element.classList.add(`focus`),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=``,this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(U.ESC+`[O`),this.element.classList.remove(`focus`),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this._register(H(this.element,`copy`,e=>{this.hasSelection()&&Za(e,this._selectionService)}));let e=e=>Qa(e,this.textarea,this.coreService,this.optionsService);this._register(H(this.textarea,`paste`,e)),this._register(H(this.element,`paste`,e)),cd?this._register(H(this.element,`mousedown`,e=>{e.button===2&&to(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(H(this.element,`contextmenu`,e=>{to(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),gd&&this._register(H(this.element,`auxclick`,e=>{e.button===1&&eo(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(H(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(H(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(H(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(H(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(H(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(H(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(H(this.textarea,`input`,e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error(`Terminal requires a parent element.`);if(e.isConnected||this._logService.debug(`Terminal.open was called on an element that was not attached to the DOM`),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(`div`),this.element.dir=`ltr`,this.element.classList.add(`terminal`),this.element.classList.add(`xterm`),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this._register(H(this.screenElement,`mousemove`,e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let n=this.textarea=this._document.createElement(`textarea`);this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,Ka.get()),_d||this.textarea.setAttribute(`aria-multiline`,`false`),this.textarea.setAttribute(`autocorrect`,`off`),this.textarea.setAttribute(`autocapitalize`,`off`),this.textarea.setAttribute(`spellcheck`,`false`),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(`disableStdin`,()=>n.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Zu,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(jo,this._coreBrowserService),this._register(H(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(H(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(qu,this._document,this._helperContainer),this._instantiationService.setService(Ao,this._charSizeService),this._themeService=this._instantiationService.createInstance(ef),this._instantiationService.setService(Io,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(Ou),this._instantiationService.setService(Fo,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Cd,this.rows,this.screenElement)),this._instantiationService.setService(No,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(vu,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(nd),this._instantiationService.setService(Mo,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(Vp,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(lu,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(Gd,this.element,this.screenElement,r)),this._instantiationService.setService(Po,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register(Ts.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(uu,this.screenElement)),this._register(H(this.element,`mousedown`,e=>this._selectionService.handleMouseDown(e))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(`enable-mouse-events`)):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(Bp,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(hu,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(hu,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Ku,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=t.buttons&1?0:t.buttons&4?1:t.buttons&2?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&e._customWheelEventHandler(t)===!1)return!1;let n=t.deltaY;if(n===0||e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;i=n<0?0:1,r=4;break;default:return!1}return i===void 0||r===void 0||r>4?!1:e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},i={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(e)}};this._register(this.coreMouseService.onProtocolChange(e=>{e?(this.optionsService.rawOptions.logLevel===`debug`&&this._logService.debug(`Binding to mouse events:`,this.coreMouseService.explainEvents(e)),this.element.classList.add(`enable-mouse-events`),this._selectionService.disable()):(this._logService.debug(`Unbinding from mouse events.`),this.element.classList.remove(`enable-mouse-events`),this._selectionService.enable()),e&8?r.mousemove||=(t.addEventListener(`mousemove`,i.mousemove),i.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),e&16?r.wheel||=(t.addEventListener(`wheel`,i.wheel,{passive:!1}),i.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),e&2?r.mouseup||=i.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),e&4?r.mousedrag||=i.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(H(t,`mousedown`,e=>{if(e.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(e)))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)})),this._register(H(t,`wheel`,t=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(t)===!1)return!1;if(!this.buffer.hasScrollback){if(t.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(t,!0);let n=U.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(t.deltaY<0?`A`:`B`);return this.coreService.triggerDataEvent(n,!0),this.cancel(t,!0)}}},{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(`column-select`):this.element.classList.remove(`column-select`)}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){$a(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,n){this._selectionService.setSelection(e,t,n)}getSelection(){return this._selectionService?this._selectionService.selectionText:``}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key===`Dead`||e.key===`AltGraph`)&&(this._unprocessedDeadKey=!0);let n=Ap(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}if(n.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((n.key===U.ETX||n.key===U.CR)&&(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(Wp(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===`insertText`&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(Z));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(`focus`)?this.coreService.triggerDataEvent(U.ESC+`[I`):this.coreService.triggerDataEvent(U.ESC+`[O`)}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${U.ESC}[4;${t};${e}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),r=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${U.ESC}[6;${r};${n}t`);break}}cancel(e,t){if(!(!this.options.cancelEvents&&!t))return e.preventDefault(),e.stopPropagation(),!1}};function Wp(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var Gp=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let n={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(n),t.dispose=()=>this._wrappedAddonDispose(n),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let n=0;n<this._addons.length;n++)if(this._addons[n]===e){t=n;break}if(t===-1)throw Error(`Could not dispose an addon that has not been loaded`);e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},Kp=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new uo)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},qp=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new Kp(t)}getNullCell(){return new uo}},Jp=class extends z{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new V),this.onBufferChange=this._onBufferChange.event,this._normal=new qp(this._core.buffers.normal,`normal`),this._alternate=new qp(this._core.buffers.alt,`alternate`),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error(`Active buffer is neither normal nor alternate`)}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},Yp=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,n)=>t(e,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},Xp=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},Zp=[`cols`,`rows`],Qp=0,$p=class extends z{constructor(e){super(),this._core=this._register(new Up(e)),this._addonManager=this._register(new Gp),this._publicOptions={...this._core.options};let t=e=>this._core.options[e],n=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(let e in this._core.options){let r={get:t.bind(this,e),set:n.bind(this,e)};Object.defineProperty(this._publicOptions,e,r)}}_checkReadonlyOptions(e){if(Zp.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error(`You must set the allowProposedApi option to true to use proposed API`)}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||=new Yp(this._core),this._parser}get unicode(){return this._checkProposedApi(),new Xp(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||=this._register(new Jp(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t=`x10`;break;case`VT200`:t=`vt200`;break;case`DRAG`:t=`drag`;break;case`ANY`:t=`any`;break}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,n){this._verifyIntegers(e,t,n),this._core.select(e,t,n)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r
|
|
145
145
|
`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return Ka.get()},set promptLabel(e){Ka.set(e)},get tooMuchOutput(){return Ja.get()},set tooMuchOutput(e){Ja.set(e)}}}_verifyIntegers(...e){for(Qp of e)if(Qp===1/0||isNaN(Qp)||Qp%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(Qp of e)if(Qp&&(Qp===1/0||isNaN(Qp)||Qp%1!=0||Qp<0))throw Error(`This API only accepts positive integers`)}},em=e(t(),1),$=n(),tm=`https://docs.claude.com/en/docs/claude-code`;function nm(e){return e.claude===`not-found`?`claude-missing`:e.claude===`present`&&e.mcp===`needs-rewire`?`mcp-needs-rewire`:null}function rm(e){let t=(0,p.c)(29),{readiness:n,bridge:r,onDismiss:a}=e,{_:o}=i(),s;t[0]===n?s=t[1]:(s=nm(n),t[0]=n,t[1]=s);let c=s;if(c===null)return null;let f=c===`claude-missing`,m;t[2]!==o||t[3]!==f?(m=o(f?{id:`dNM58w`}:{id:`_bth6g`}),t[2]=o,t[3]=f,t[4]=m):m=t[4];let h=m,g;t[5]!==o||t[6]!==f?(g=o(f?{id:`E1tG2u`}:{id:`gfohmY`}),t[5]=o,t[6]=f,t[7]=g):g=t[7];let _=g,v;t[8]!==o||t[9]!==r.shell||t[10]!==r.terminal||t[11]!==f||t[12]!==a?(v=function(){if(f){r.shell.openExternal(tm);return}r.terminal.rewireClaudeMcp().then(e=>{if(e.rewireError!=null){u.error(o({id:`cn1sLi`}));return}a()}).catch(e=>{console.warn(`[terminal] rewireClaudeMcp failed:`,e),u.error(o({id:`cn1sLi`}))})},t[8]=o,t[9]=r.shell,t[10]=r.terminal,t[11]=f,t[12]=a,t[13]=v):v=t[13];let y=v,b;t[14]===h?b=t[15]:(b=(0,$.jsx)(`p`,{className:`min-w-0 flex-1`,children:h}),t[14]=h,t[15]=b);let x;t[16]!==_||t[17]!==y?(x=(0,$.jsx)(l,{size:`sm`,variant:`secondary`,className:`shrink-0`,onClick:y,children:_}),t[16]=_,t[17]=y,t[18]=x):x=t[18];let S;t[19]===o?S=t[20]:(S=o({id:`1QfxQT`}),t[19]=o,t[20]=S);let C;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(d,{"aria-hidden":`true`,className:`size-4`}),t[21]=C):C=t[21];let w;t[22]!==a||t[23]!==S?(w=(0,$.jsx)(l,{size:`icon`,variant:`ghost`,"aria-label":S,className:`size-6 shrink-0`,onClick:a,children:C}),t[22]=a,t[23]=S,t[24]=w):w=t[24];let ee;return t[25]!==b||t[26]!==x||t[27]!==w?(ee=(0,$.jsxs)(`div`,{role:`status`,"data-testid":`terminal-readiness-banner`,className:`flex shrink-0 items-center gap-3 border-border border-b bg-muted px-3 py-2 text-foreground text-xs`,children:[b,x,w]}),t[25]=b,t[26]=x,t[27]=w,t[28]=ee):ee=t[28],ee}function im(e){let t=(0,p.c)(25),{cli:n,bridge:r,onDismiss:a}=e,{_:o}=i(),{bin:c,displayName:u,docsUrl:f}=s[n],m;t[0]!==o||t[1]!==c||t[2]!==u?(m=o({id:`rSoi6g`,values:{displayName:u,bin:c}}),t[0]=o,t[1]=c,t[2]=u,t[3]=m):m=t[3];let h;t[4]===m?h=t[5]:(h=(0,$.jsx)(`p`,{className:`min-w-0 flex-1`,children:m}),t[4]=m,t[5]=h);let g;t[6]!==r.shell||t[7]!==f?(g=()=>void r.shell.openExternal(f),t[6]=r.shell,t[7]=f,t[8]=g):g=t[8];let _;t[9]!==o||t[10]!==u?(_=o({id:`F0OA00`,values:{displayName:u}}),t[9]=o,t[10]=u,t[11]=_):_=t[11];let v;t[12]!==g||t[13]!==_?(v=(0,$.jsx)(l,{size:`sm`,variant:`secondary`,className:`shrink-0`,onClick:g,children:_}),t[12]=g,t[13]=_,t[14]=v):v=t[14];let y;t[15]===o?y=t[16]:(y=o({id:`1QfxQT`}),t[15]=o,t[16]=y);let b;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(d,{"aria-hidden":`true`,className:`size-4`}),t[17]=b):b=t[17];let x;t[18]!==a||t[19]!==y?(x=(0,$.jsx)(l,{size:`icon`,variant:`ghost`,"aria-label":y,className:`size-6 shrink-0`,onClick:a,children:b}),t[18]=a,t[19]=y,t[20]=x):x=t[20];let S;return t[21]!==h||t[22]!==v||t[23]!==x?(S=(0,$.jsxs)(`div`,{role:`status`,className:`flex shrink-0 items-center gap-3 border-border border-b bg-muted px-3 py-2 text-foreground text-xs`,children:[h,v,x]}),t[21]=h,t[22]=v,t[23]=x,t[24]=S):S=t[24],S}function am(e){let t=(0,p.c)(20),{info:n,onRestart:r}=e,{_:a}=i(),o;if(n.error!=null){let e;t[0]===a?e=t[1]:(e=a({id:`uL_Wx8`}),t[0]=a,t[1]=e),o=e}else if(n.signal!=null&&n.signal!==0){let e;t[2]!==a||t[3]!==n.signal?(e=a({id:`ubMwcO`,values:{0:n.signal}}),t[2]=a,t[3]=n.signal,t[4]=e):e=t[4],o=e}else if(n.exitCode!==0){let e;t[5]!==a||t[6]!==n.exitCode?(e=a({id:`q4YJl_`,values:{0:n.exitCode}}),t[5]=a,t[6]=n.exitCode,t[7]=e):e=t[7],o=e}else{let e;t[8]===a?e=t[9]:(e=a({id:`AE7BY3`}),t[8]=a,t[9]=e),o=e}let s;t[10]===o?s=t[11]:(s=(0,$.jsx)(`p`,{className:`max-w-sm text-sm text-muted-foreground`,children:o}),t[10]=o,t[11]=s);let c;t[12]===a?c=t[13]:(c=a({id:`BQKHuL`}),t[12]=a,t[13]=c);let u;t[14]!==r||t[15]!==c?(u=(0,$.jsx)(l,{size:`sm`,variant:`outline`,className:`uppercase font-mono`,onClick:r,children:c}),t[14]=r,t[15]=c,t[16]=u):u=t[16];let d;return t[17]!==s||t[18]!==u?(d=(0,$.jsxs)(`div`,{role:`alert`,className:`absolute inset-0 z-20 flex flex-col items-center justify-center gap-3 bg-background/90 dark:bg-transparent p-6 text-center`,children:[s,u]}),t[17]=s,t[18]=u,t[19]=d):d=t[19],d}function om(e){let t=(0,p.c)(11),{reason:n,onClose:r}=e,{_:a}=i(),o;t[0]!==a||t[1]!==n?(o=a(n===`not-consented`?{id:`Khxcyu`}:{id:`fBHvBn`}),t[0]=a,t[1]=n,t[2]=o):o=t[2];let s=o,c;t[3]===s?c=t[4]:(c=(0,$.jsx)(`p`,{className:`max-w-sm text-sm`,children:s}),t[3]=s,t[4]=c);let u;t[5]!==a||t[6]!==r?(u=r?(0,$.jsx)(l,{size:`sm`,variant:`secondary`,onClick:r,children:a({id:`Iq8zdU`})}):null,t[5]=a,t[6]=r,t[7]=u):u=t[7];let d;return t[8]!==c||t[9]!==u?(d=(0,$.jsxs)(`div`,{role:`alert`,className:`absolute inset-0 z-20 flex flex-col items-center justify-center gap-3 bg-background/90 p-6 text-center text-foreground`,children:[c,u]}),t[8]=c,t[9]=u,t[10]=d):d=t[10],d}var sm=1,cm=2;function lm(e,t,n,r){let i=n+(t===sm?e:t===cm?e*r.viewportRows:e/r.cellHeight)*r.sensitivity,a=Math.trunc(i);return a===0?{count:0,button:65,accumulator:i}:{count:Math.min(Math.abs(a),r.maxRowsPerEvent),button:a<0?64:65,accumulator:i-a}}function um(e){return`\x1b[<${e};1;1M`}function dm(e){let t=(0,p.c)(21),{bridge:n,className:r,onClose:a,onExit:s,onTitleChange:l,launch:u}=e,d=u===void 0?null:u,{_:m}=i(),{resolvedTheme:h}=o(),[g,_]=(0,em.useState)(0),v;t[0]===m?v=t[1]:(v=m({id:`ALhMYW`}),t[0]=m,t[1]=v);let y;t[2]===h?y=t[3]:(y=f(h),t[2]=h,t[3]=y);let b;t[4]===y.background?b=t[5]:(b={backgroundColor:y.background},t[4]=y.background,t[5]=b);let x;t[6]===r?x=t[7]:(x=c(`relative flex h-full w-full flex-col overflow-hidden`,r),t[6]=r,t[7]=x);let S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=()=>_(fm),t[8]=S):S=t[8];let C;t[9]!==n||t[10]!==d||t[11]!==a||t[12]!==s||t[13]!==l||t[14]!==g?(C=(0,$.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,$.jsx)(pm,{bridge:n,onClose:a,onExit:s,onTitleChange:l,onRestart:S,launch:d},g)}),t[9]=n,t[10]=d,t[11]=a,t[12]=s,t[13]=l,t[14]=g,t[15]=C):C=t[15];let w;return t[16]!==v||t[17]!==b||t[18]!==x||t[19]!==C?(w=(0,$.jsx)(`section`,{"aria-label":v,style:b,className:x,children:C}),t[16]=v,t[17]=b,t[18]=x,t[19]=C,t[20]=w):w=t[20],w}function fm(e){return e+1}function pm(e){let t=(0,p.c)(46),{bridge:n,onClose:r,onExit:i,onTitleChange:s,onRestart:c,launch:l}=e,u=l===void 0?null:l,d=(0,em.useRef)(null),m=(0,em.useRef)(i),h=(0,em.useRef)(s),{resolvedTheme:_}=o(),v=(0,em.useRef)(null),y=(0,em.useRef)(_),[b,x]=(0,em.useState)(`starting`),[S,C]=(0,em.useState)(null),[w,ee]=(0,em.useState)(!1),[te,T]=(0,em.useState)(null),ne=(0,em.useRef)(null),[E,re]=(0,em.useState)(!1),ie=(0,em.useRef)(null),[ae,D]=(0,em.useState)(null),O;t[0]!==i||t[1]!==s?(O=()=>{m.current=i,h.current=s},t[0]=i,t[1]=s,t[2]=O):O=t[2],(0,em.useEffect)(O);let k,oe;t[3]===n?(k=t[4],oe=t[5]):(k=()=>{let e=d.current;if(!e)return;let t=!1,r=null,i,a,o,s,c=new $p({screenReaderMode:!0,minimumContrastRatio:4.5,allowProposedApi:!0,cursorBlink:!0,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, monospace`,fontSize:13,scrollback:1e4,smoothScrollDuration:125,scrollSensitivity:3,theme:f(y.current)});v.current=c;let l=new g;if(c.loadAddon(l),c.loadAddon(new Ze),c.unicode.activeVersion=`11`,c.loadAddon(new rt),c.open(e),n.config.e2eSmoke!==!0)try{let e=new Va;e.onContextLoss(()=>{console.warn(`[terminal] WebGL context lost, falling back to DOM renderer`),e.dispose()}),c.loadAddon(e)}catch(e){let t=e;(t instanceof Error&&/webgl2?|context/i.test(t.message)?console.warn:console.error)(`[terminal] WebGL addon failed, using DOM renderer:`,t)}l.fit(),o=c.onTitleChange(e=>{t||h.current?.(e)}),c.attachCustomKeyEventHandler(e=>{if(e.type!==`keydown`||!e.shiftKey)return!0;if(e.key===`Tab`)return e.preventDefault(),!0;if(e.key===`Enter`){let t=ne.current;return t===null?!0:(e.preventDefault(),n.terminal.input(t,`
|
|
146
|
-
`),!1)}return!0});let u=0,p=!1;return c.attachCustomWheelEventHandler(e=>{let t=c._core,r=t?.coreMouseService?.activeEncoding;if(!(c.modes.mouseTrackingMode!==`none`&&(r===`SGR`||r===`SGR_PIXELS`)))return u=0,!0;let i=ne.current;if(i===null||e.deltaY===0)return!0;let a=t?._renderService?.dimensions?.css?.cell?.height;a===void 0&&!p&&(p=!0,console.warn(`[terminal] xterm cell-height internal not found; wheel scroll using fallback. An xterm upgrade may have moved _core._renderService.dimensions.css.cell.height.`));let o=a??17,{count:s,button:l,accumulator:d}=lm(e.deltaY,e.deltaMode,u,{cellHeight:o,sensitivity:1.5,maxRowsPerEvent:20,viewportRows:c.rows});return u=d,s>0&&n.terminal.input(i,um(l).repeat(s)),!1}),(async()=>{let o;try{o=await n.terminal.create({cols:c.cols,rows:c.rows})}catch(e){let n=e;if(console.error(`[terminal] create() failed:`,n),t)return;T({exitCode:1,signal:null,error:n instanceof Error?n.message:String(n)}),x(`exited`);return}if(t){o.ok&&n.terminal.kill(o.ptyId).catch(gm);return}if(!o.ok){x(o.reason===`not-consented`?`not-consented`:`no-project`);return}r=o.ptyId,ne.current=o.ptyId,x(`running`),c.onData(e=>{r&&n.terminal.input(r,e)}),i=n.terminal.onData(e=>{e.ptyId===r&&(t||re(!0),c.write(e.data,()=>n.terminal.drain(e.ptyId,e.data.length)))}),a=n.terminal.onExit(e=>{e.ptyId===r&&(T({exitCode:e.exitCode,signal:e.signal,error:e.error}),x(`exited`),m.current?.({exitCode:e.exitCode,signal:e.signal}))}),s=new ResizeObserver(()=>{l.fit(),r&&n.terminal.resize(r,c.cols,c.rows)}),s.observe(e),c.focus(),n.terminal.claudePreflight().then(e=>{t||C(e)}).catch(hm).finally(()=>{t||ee(!0)})})(),()=>{t=!0,ne.current=null,v.current=null,s?.disconnect(),i?.(),a?.(),o?.dispose(),c.dispose(),r&&n.terminal.kill(r).catch(mm)}},oe=[n],t[3]=n,t[4]=k,t[5]=oe),(0,em.useEffect)(k,oe);let se,ce;t[6]===_?(se=t[7],ce=t[8]):(se=()=>{let e=v.current;e!==null&&(e.options.theme=f(_))},ce=[_],t[6]=_,t[7]=se,t[8]=ce),(0,em.useEffect)(se,ce);let A;t[9]!==n||t[10]!==E||t[11]!==u||t[12]!==w||t[13]!==S?.claude||t[14]!==b?(A=()=>{if(u===null||b!==`running`||!E||ie.current===u.nonce||ne.current===null)return;let e=u.nonce,t=!1;if(u.cli===`claude`){if(!w)return;if(D(null),S?.claude===`not-found`){ie.current=e;return}let{prompt:r}=u,i=i=>{if(t)return;let o=ne.current;o!==null&&(n.terminal.input(o,a(`claude`,r,{mcpPreApprove:i})),ie.current=e)};return n.terminal.claudePreflight().then(
|
|
146
|
+
`),!1)}return!0});let u=0,p=!1;return c.attachCustomWheelEventHandler(e=>{let t=c._core,r=t?.coreMouseService?.activeEncoding;if(!(c.modes.mouseTrackingMode!==`none`&&(r===`SGR`||r===`SGR_PIXELS`)))return u=0,!0;let i=ne.current;if(i===null||e.deltaY===0)return!0;let a=t?._renderService?.dimensions?.css?.cell?.height;a===void 0&&!p&&(p=!0,console.warn(`[terminal] xterm cell-height internal not found; wheel scroll using fallback. An xterm upgrade may have moved _core._renderService.dimensions.css.cell.height.`));let o=a??17,{count:s,button:l,accumulator:d}=lm(e.deltaY,e.deltaMode,u,{cellHeight:o,sensitivity:1.5,maxRowsPerEvent:20,viewportRows:c.rows});return u=d,s>0&&n.terminal.input(i,um(l).repeat(s)),!1}),(async()=>{let o;try{o=await n.terminal.create({cols:c.cols,rows:c.rows})}catch(e){let n=e;if(console.error(`[terminal] create() failed:`,n),t)return;T({exitCode:1,signal:null,error:n instanceof Error?n.message:String(n)}),x(`exited`);return}if(t){o.ok&&n.terminal.kill(o.ptyId).catch(gm);return}if(!o.ok){x(o.reason===`not-consented`?`not-consented`:`no-project`);return}r=o.ptyId,ne.current=o.ptyId,x(`running`),c.onData(e=>{r&&n.terminal.input(r,e)}),i=n.terminal.onData(e=>{e.ptyId===r&&(t||re(!0),c.write(e.data,()=>n.terminal.drain(e.ptyId,e.data.length)))}),a=n.terminal.onExit(e=>{e.ptyId===r&&(T({exitCode:e.exitCode,signal:e.signal,error:e.error}),x(`exited`),m.current?.({exitCode:e.exitCode,signal:e.signal}))}),s=new ResizeObserver(()=>{l.fit(),r&&n.terminal.resize(r,c.cols,c.rows)}),s.observe(e),c.focus(),n.terminal.claudePreflight().then(e=>{t||C(e)}).catch(hm).finally(()=>{t||ee(!0)})})(),()=>{t=!0,ne.current=null,v.current=null,s?.disconnect(),i?.(),a?.(),o?.dispose(),c.dispose(),r&&n.terminal.kill(r).catch(mm)}},oe=[n],t[3]=n,t[4]=k,t[5]=oe),(0,em.useEffect)(k,oe);let se,ce;t[6]===_?(se=t[7],ce=t[8]):(se=()=>{let e=v.current;e!==null&&(e.options.theme=f(_))},ce=[_],t[6]=_,t[7]=se,t[8]=ce),(0,em.useEffect)(se,ce);let A;t[9]!==n||t[10]!==E||t[11]!==u||t[12]!==w||t[13]!==S?.claude||t[14]!==b?(A=()=>{if(u===null||b!==`running`||!E||ie.current===u.nonce||ne.current===null)return;let e=u.nonce,t=!1;if(u.cli===`claude`){if(!w)return;if(D(null),S?.claude===`not-found`){ie.current=e;return}let{prompt:r}=u,i=i=>{if(t)return;let o=ne.current;o!==null&&(n.terminal.input(o,a(`claude`,r,{mcpPreApprove:i})),ie.current=e)};return n.terminal.claudePreflight().then(n=>{if(!t){if(n.claude===`present`){i(n.mcpPreApprovable===!0);return}C(n.claude===`not-found`?n:{claude:`not-found`,mcp:n.mcp,mcpPreApprovable:!1}),ie.current=e}}).catch(n=>{t||(console.warn(`[terminal] claude pre-approval recheck failed`,{nonce:e,err:n}),C({claude:`not-found`,mcp:`needs-rewire`,mcpPreApprovable:!1}),ie.current=e)}),()=>{t=!0}}D(null);let{cli:r,prompt:i}=u,o=()=>{if(t)return;let o=ne.current;o!==null&&(n.terminal.input(o,a(r,i)),ie.current=e)},s=()=>{t||(D(r),ie.current=e)};return(async()=>{try{let e=await n.terminal.cliPreflight(r);if(e.onPath===`unknown`){if(t)return;e=await n.terminal.cliPreflight(r)}if(t)return;e.onPath===`present`?o():s()}catch(e){let n=e;if(t)return;console.warn(`[terminal] cliPreflight failed`,{cli:r,err:n}),s()}})(),()=>{t=!0}},t[9]=n,t[10]=E,t[11]=u,t[12]=w,t[13]=S?.claude,t[14]=b,t[15]=A):A=t[15];let le;t[16]!==n||t[17]!==E||t[18]!==u||t[19]!==w||t[20]!==S||t[21]!==b?(le=[n,u,b,E,w,S],t[16]=n,t[17]=E,t[18]=u,t[19]=w,t[20]=S,t[21]=b,t[22]=le):le=t[22],(0,em.useEffect)(A,le);let ue;t[23]!==n||t[24]!==S||t[25]!==b?(ue=b===`running`&&S?(0,$.jsx)(rm,{readiness:S,bridge:n,onDismiss:()=>C(null)}):null,t[23]=n,t[24]=S,t[25]=b,t[26]=ue):ue=t[26];let de;t[27]!==n||t[28]!==ae||t[29]!==b?(de=b===`running`&&ae?(0,$.jsx)(im,{cli:ae,bridge:n,onDismiss:()=>D(null)}):null,t[27]=n,t[28]=ae,t[29]=b,t[30]=de):de=t[30];let fe;t[31]===b?fe=t[32]:(fe=(0,$.jsx)(`div`,{ref:d,"data-terminal-status":b,className:`min-h-0 flex-1 px-1.5`}),t[31]=b,t[32]=fe);let pe;t[33]!==te||t[34]!==c||t[35]!==b?(pe=b===`exited`&&te?(0,$.jsx)(am,{info:te,onRestart:c}):null,t[33]=te,t[34]=c,t[35]=b,t[36]=pe):pe=t[36];let me;t[37]!==r||t[38]!==b?(me=b===`no-project`||b===`not-consented`?(0,$.jsx)(om,{reason:b,onClose:r}):null,t[37]=r,t[38]=b,t[39]=me):me=t[39];let he;return t[40]!==de||t[41]!==fe||t[42]!==pe||t[43]!==me||t[44]!==ue?(he=(0,$.jsxs)(`div`,{className:`flex h-full w-full flex-col`,children:[ue,de,fe,pe,me]}),t[40]=de,t[41]=fe,t[42]=pe,t[43]=me,t[44]=ue,t[45]=he):he=t[45],he}function mm(e){return console.warn(`[terminal] kill on unmount failed:`,e)}function hm(e){console.warn(`[terminal] claude readiness preflight failed`,e)}function gm(e){return console.warn(`[terminal] kill after cancelled mount failed:`,e)}export{dm as TerminalPanel};
|