@dotobokuri/fleet-console 1.64.0 → 1.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +1 -130
- package/dist/client/assets/{_baseUniq-DurhRkUz.js → _baseUniq-DyzqDsbR.js} +1 -1
- package/dist/client/assets/{arc-CRs5BdYr.js → arc-D9PB38OE.js} +1 -1
- package/dist/client/assets/{architectureDiagram-Q4EWVU46-Djo8uCUV.js → architectureDiagram-Q4EWVU46-0L3Tlker.js} +1 -1
- package/dist/client/assets/{blockDiagram-DXYQGD6D-hQdc3yPb.js → blockDiagram-DXYQGD6D-BCAdqHmo.js} +1 -1
- package/dist/client/assets/{c4Diagram-AHTNJAMY-Czv6wUeb.js → c4Diagram-AHTNJAMY-oK3f-N6i.js} +1 -1
- package/dist/client/assets/channel-CzEHIBah.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-DXjqdOUQ.js → chunk-4BX2VUAB-CIYxtKO7.js} +1 -1
- package/dist/client/assets/{chunk-4TB4RGXK-vvWT5R7G.js → chunk-4TB4RGXK-CKA_-tPR.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-DMDBDn4n.js → chunk-55IACEB6-ArIbE5m1.js} +1 -1
- package/dist/client/assets/{chunk-EDXVE4YY-CvZM4UpD.js → chunk-EDXVE4YY-bGzMBuDL.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-BArng_V9.js → chunk-FMBD7UC4-CZUkX3ry.js} +1 -1
- package/dist/client/assets/{chunk-OYMX7WX6-DwNWyoK7.js → chunk-OYMX7WX6-CNXmIVXX.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN--guvcrYz.js → chunk-QZHKN3VN-B3t4h1MD.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-BqxZQZyX.js → chunk-YZCP3GAM-CdGF0f8H.js} +1 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-jNK4g1rr.js +1 -0
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-jNK4g1rr.js +1 -0
- package/dist/client/assets/clone-DggrGKv8.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-BMg_LOnu.js → cose-bilkent-S5V4N54A-BESjfcni.js} +1 -1
- package/dist/client/assets/{dagre-KV5264BT-Dr7w5bQR.js → dagre-KV5264BT-WpQhPw2a.js} +1 -1
- package/dist/client/assets/{diagram-5BDNPKRD-B3mTbXqP.js → diagram-5BDNPKRD-BfAkutIX.js} +1 -1
- package/dist/client/assets/{diagram-G4DWMVQ6-qb3u5_YF.js → diagram-G4DWMVQ6-C9I16SLL.js} +1 -1
- package/dist/client/assets/{diagram-MMDJMWI5-CBBgto41.js → diagram-MMDJMWI5-CVJMM2zJ.js} +1 -1
- package/dist/client/assets/{diagram-TYMM5635-Cmo3cjOQ.js → diagram-TYMM5635-DTqr7jJ3.js} +1 -1
- package/dist/client/assets/{erDiagram-SMLLAGMA-HeqZPhtI.js → erDiagram-SMLLAGMA-B09ElCdB.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-C34ZouQN.js → flowDiagram-DWJPFMVM-C93jg-t6.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-BL2_YoJe.js → ganttDiagram-T4ZO3ILL-5Js2lpdY.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-UUTBAWPF-DSC8Gr0E.js → gitGraphDiagram-UUTBAWPF-BxGzg1Rc.js} +1 -1
- package/dist/client/assets/{graph-C4jsVwYI.js → graph-BkRyh4eN.js} +1 -1
- package/dist/client/assets/{index-BuMY4qU-.js → index-BSVaW3Ov.js} +2 -2
- package/dist/client/assets/{infoDiagram-42DDH7IO-BX_lYqHx.js → infoDiagram-42DDH7IO-DZPp1lR6.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-CsXWVwyY.js → ishikawaDiagram-UXIWVN3A-CXTuQ2Bb.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-ETPWVMNg.js → journeyDiagram-VCZTEJTY--u6tYqhF.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-m7hLIKgZ.js → kanban-definition-6JOO6SKY-CGMEohiQ.js} +1 -1
- package/dist/client/assets/{layout-DrRXjJzL.js → layout-Bzu8ET7F.js} +1 -1
- package/dist/client/assets/{linear-DzDd2m9j.js → linear-B6htRUTP.js} +1 -1
- package/dist/client/assets/{mermaid.core-BHkit2JY.js → mermaid.core-CtpLAI-c.js} +4 -4
- package/dist/client/assets/{min-DtwEer1D.js → min-CEURoL5k.js} +1 -1
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-BO-uheb7.js → mindmap-definition-QFDTVHPH-B-HiXlEN.js} +1 -1
- package/dist/client/assets/{pieDiagram-DEJITSTG-B_4VqNKt.js → pieDiagram-DEJITSTG-DQgiLkTU.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-34T5L4WZ-HhtqXdkD.js → quadrantDiagram-34T5L4WZ-xLh7CKRW.js} +1 -1
- package/dist/client/assets/{requirementDiagram-MS252O5E-CSotIpLH.js → requirementDiagram-MS252O5E-O1SOxLMB.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-XADWPNL6-a8krBcEy.js → sankeyDiagram-XADWPNL6-D-mh4ZYc.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-D9Tlp8oT.js → sequenceDiagram-FGHM5R23-Dp2XhLFP.js} +1 -1
- package/dist/client/assets/{stateDiagram-FHFEXIEX-CbEP_Jmm.js → stateDiagram-FHFEXIEX-UQkaQPQt.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CRw5Ot78.js +1 -0
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-CxAJtY22.js → timeline-definition-GMOUNBTQ-DDMfKpma.js} +1 -1
- package/dist/client/assets/{vennDiagram-DHZGUBPP-BSTXi411.js → vennDiagram-DHZGUBPP-DaGxBzx2.js} +1 -1
- package/dist/client/assets/{wardley-RL74JXVD-BipCMOcx.js → wardley-RL74JXVD-DBNvUuF6.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-NUSXRM2D-BudrJ8a1.js → wardleyDiagram-NUSXRM2D-IbDED74Y.js} +1 -1
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-BYlMZf2g.js → xychartDiagram-5P7HB3ND-0RafK-TZ.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/fleet-plugins/ledger/routes.mjs +1 -130
- package/dist/fleet-plugins/quota/routes.mjs +1 -130
- package/dist/fleet-plugins/scuttlebutt/routes.mjs +1 -130
- package/dist/fleet-plugins/terminal/routes.mjs +1 -130
- package/dist/fleet.mjs +1 -130
- package/package.json +1 -1
- package/dist/client/assets/channel-DluRfcgW.js +0 -1
- package/dist/client/assets/classDiagram-6PBFFD2Q-CwNh44Lk.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-CwNh44Lk.js +0 -1
- package/dist/client/assets/clone-ClWdaAWG.js +0 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-B9iCjiGH.js +0 -1
|
@@ -141,7 +141,7 @@ ${e}</tr>
|
|
|
141
141
|
`+this.renderer.text(u);n?r+=this.renderer.paragraph({type:"paragraph",raw:d,text:d,tokens:[{type:"text",raw:d,text:d,escaped:!0}]}):r+=d;continue}default:{let u='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return r}parseInline(t,n=this.renderer){let r="";for(let i=0;i<t.length;i++){let l=t[i];if(this.options.extensions?.renderers?.[l.type]){let u=this.options.extensions.renderers[l.type].call({parser:this},l);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(l.type)){r+=u||"";continue}}let o=l;switch(o.type){case"escape":{r+=n.text(o);break}case"html":{r+=n.html(o);break}case"link":{r+=n.link(o);break}case"image":{r+=n.image(o);break}case"strong":{r+=n.strong(o);break}case"em":{r+=n.em(o);break}case"codespan":{r+=n.codespan(o);break}case"br":{r+=n.br(o);break}case"del":{r+=n.del(o);break}case"text":{r+=n.text(o);break}default:{let u='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return r}},s0=class{options;block;constructor(e){this.options=e||Rc}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?Ks.lex:Ks.lexInline}provideParser(){return this.block?Vs.parse:Vs.parseInline}},$j=class{defaults=S4();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Vs;Renderer=Ig;TextRenderer=N4;Lexer=Ks;Tokenizer=Og;Hooks=s0;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":{let i=r;for(let l of i.header)n=n.concat(this.walkTokens(l.tokens,t));for(let l of i.rows)for(let o of l)n=n.concat(this.walkTokens(o.tokens,t));break}case"list":{let i=r;n=n.concat(this.walkTokens(i.items,t));break}default:{let i=r;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(l=>{let o=i[l].flat(1/0);n=n.concat(this.walkTokens(o,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let l=t.renderers[i.name];l?t.renderers[i.name]=function(...o){let u=i.renderer.apply(this,o);return u===!1&&(u=l.apply(this,o)),u}:t.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let l=t[i.level];l?l.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level==="block"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level==="inline"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=this.defaults.renderer||new Ig(this.defaults);for(let l in n.renderer){if(!(l in i))throw new Error(`renderer '${l}' does not exist`);if(["options","parser"].includes(l))continue;let o=l,u=n.renderer[o],d=i[o];i[o]=(...f)=>{let m=u.apply(i,f);return m===!1&&(m=d.apply(i,f)),m||""}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new Og(this.defaults);for(let l in n.tokenizer){if(!(l in i))throw new Error(`tokenizer '${l}' does not exist`);if(["options","rules","lexer"].includes(l))continue;let o=l,u=n.tokenizer[o],d=i[o];i[o]=(...f)=>{let m=u.apply(i,f);return m===!1&&(m=d.apply(i,f)),m}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new s0;for(let l in n.hooks){if(!(l in i))throw new Error(`hook '${l}' does not exist`);if(["options","block"].includes(l))continue;let o=l,u=n.hooks[o],d=i[o];s0.passThroughHooks.has(l)?i[o]=f=>{if(this.defaults.async&&s0.passThroughHooksRespectAsync.has(l))return(async()=>{let y=await u.call(i,f);return d.call(i,y)})();let m=u.call(i,f);return d.call(i,m)}:i[o]=(...f)=>{if(this.defaults.async)return(async()=>{let y=await u.apply(i,f);return y===!1&&(y=await d.apply(i,f)),y})();let m=u.apply(i,f);return m===!1&&(m=d.apply(i,f)),m}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,l=n.walkTokens;r.walkTokens=function(o){let u=[];return u.push(l.call(this,o)),i&&(u=u.concat(i.call(this,o))),u}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Ks.lex(e,t??this.defaults)}parser(e,t){return Vs.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},l=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return l(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let o=i.hooks?await i.hooks.preprocess(t):t,u=await(i.hooks?await i.hooks.provideLexer():e?Ks.lex:Ks.lexInline)(o,i),d=i.hooks?await i.hooks.processAllTokens(u):u;i.walkTokens&&await Promise.all(this.walkTokens(d,i.walkTokens));let f=await(i.hooks?await i.hooks.provideParser():e?Vs.parse:Vs.parseInline)(d,i);return i.hooks?await i.hooks.postprocess(f):f})().catch(l);try{i.hooks&&(t=i.hooks.preprocess(t));let o=(i.hooks?i.hooks.provideLexer():e?Ks.lex:Ks.lexInline)(t,i);i.hooks&&(o=i.hooks.processAllTokens(o)),i.walkTokens&&this.walkTokens(o,i.walkTokens);let u=(i.hooks?i.hooks.provideParser():e?Vs.parse:Vs.parseInline)(o,i);return i.hooks&&(u=i.hooks.postprocess(u)),u}catch(o){return l(o)}}}onError(e,t){return n=>{if(n.message+=`
|
|
142
142
|
Please report this to https://github.com/markedjs/marked.`,e){let r="<p>An error occurred:</p><pre>"+ma(n.message+"",!0)+"</pre>";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}},Sc=new $j;function er(e,t){return Sc.parse(e,t)}er.options=er.setOptions=function(e){return Sc.setOptions(e),er.defaults=Sc.defaults,Aj(er.defaults),er};er.getDefaults=S4;er.defaults=Rc;er.use=function(...e){return Sc.use(...e),er.defaults=Sc.defaults,Aj(er.defaults),er};er.walkTokens=function(e,t){return Sc.walkTokens(e,t)};er.parseInline=Sc.parseInline;er.Parser=Vs;er.parser=Vs.parse;er.Renderer=Ig;er.TextRenderer=N4;er.Lexer=Ks;er.lexer=Ks.lex;er.Tokenizer=Og;er.Hooks=s0;er.parse=er;er.options;er.setOptions;er.use;er.walkTokens;er.parseInline;Vs.parse;Ks.lex;var Y5,zT;function Wie(){if(zT)return Y5;zT=1;function e(j){return j instanceof Map?j.clear=j.delete=j.set=function(){throw new Error("map is read-only")}:j instanceof Set&&(j.add=j.clear=j.delete=function(){throw new Error("set is read-only")}),Object.freeze(j),Object.getOwnPropertyNames(j).forEach(G=>{const ae=j[G],be=typeof ae;(be==="object"||be==="function")&&!Object.isFrozen(ae)&&e(ae)}),j}class t{constructor(G){G.data===void 0&&(G.data={}),this.data=G.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(j){return j.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function r(j,...G){const ae=Object.create(null);for(const be in j)ae[be]=j[be];return G.forEach(function(be){for(const Ye in be)ae[Ye]=be[Ye]}),ae}const i="</span>",l=j=>!!j.scope,o=(j,{prefix:G})=>{if(j.startsWith("language:"))return j.replace("language:","language-");if(j.includes(".")){const ae=j.split(".");return[`${G}${ae.shift()}`,...ae.map((be,Ye)=>`${be}${"_".repeat(Ye+1)}`)].join(" ")}return`${G}${j}`};class u{constructor(G,ae){this.buffer="",this.classPrefix=ae.classPrefix,G.walk(this)}addText(G){this.buffer+=n(G)}openNode(G){if(!l(G))return;const ae=o(G.scope,{prefix:this.classPrefix});this.span(ae)}closeNode(G){l(G)&&(this.buffer+=i)}value(){return this.buffer}span(G){this.buffer+=`<span class="${G}">`}}const d=(j={})=>{const G={children:[]};return Object.assign(G,j),G};class f{constructor(){this.rootNode=d(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(G){this.top.children.push(G)}openNode(G){const ae=d({scope:G});this.add(ae),this.stack.push(ae)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(G){return this.constructor._walk(G,this.rootNode)}static _walk(G,ae){return typeof ae=="string"?G.addText(ae):ae.children&&(G.openNode(ae),ae.children.forEach(be=>this._walk(G,be)),G.closeNode(ae)),G}static _collapse(G){typeof G!="string"&&G.children&&(G.children.every(ae=>typeof ae=="string")?G.children=[G.children.join("")]:G.children.forEach(ae=>{f._collapse(ae)}))}}class m extends f{constructor(G){super(),this.options=G}addText(G){G!==""&&this.add(G)}startScope(G){this.openNode(G)}endScope(){this.closeNode()}__addSublanguage(G,ae){const be=G.root;ae&&(be.scope=`language:${ae}`),this.add(be)}toHTML(){return new u(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function y(j){return j?typeof j=="string"?j:j.source:null}function v(j){return x("(?=",j,")")}function _(j){return x("(?:",j,")*")}function b(j){return x("(?:",j,")?")}function x(...j){return j.map(ae=>y(ae)).join("")}function S(j){const G=j[j.length-1];return typeof G=="object"&&G.constructor===Object?(j.splice(j.length-1,1),G):{}}function T(...j){return"("+(S(j).capture?"":"?:")+j.map(be=>y(be)).join("|")+")"}function A(j){return new RegExp(j.toString()+"|").exec("").length-1}function C(j,G){const ae=j&&j.exec(G);return ae&&ae.index===0}const L=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function N(j,{joinWith:G}){let ae=0;return j.map(be=>{ae+=1;const Ye=ae;let We=y(be),$e="";for(;We.length>0;){const Oe=L.exec(We);if(!Oe){$e+=We;break}$e+=We.substring(0,Oe.index),We=We.substring(Oe.index+Oe[0].length),Oe[0][0]==="\\"&&Oe[1]?$e+="\\"+String(Number(Oe[1])+Ye):($e+=Oe[0],Oe[0]==="("&&ae++)}return $e}).map(be=>`(${be})`).join(G)}const z=/\b\B/,E="[a-zA-Z]\\w*",P="[a-zA-Z_]\\w*",R="\\b\\d+(\\.\\d+)?",Q="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",q="\\b(0b[01]+)",K="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",ee=(j={})=>{const G=/^#![ ]*\//;return j.binary&&(j.begin=x(G,/.*\b/,j.binary,/\b.*/)),r({scope:"meta",begin:G,end:/$/,relevance:0,"on:begin":(ae,be)=>{ae.index!==0&&be.ignoreMatch()}},j)},Y={begin:"\\\\[\\s\\S]",relevance:0},J={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Y]},F={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Y]},B={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},I=function(j,G,ae={}){const be=r({scope:"comment",begin:j,end:G,contains:[]},ae);be.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const Ye=T("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return be.contains.push({begin:x(/[ ]+/,"(",Ye,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),be},H=I("//","$"),O=I("/\\*","\\*/"),M=I("#","$"),Z={scope:"number",begin:R,relevance:0},W={scope:"number",begin:Q,relevance:0},ne={scope:"number",begin:q,relevance:0},me={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Y,{begin:/\[/,end:/\]/,relevance:0,contains:[Y]}]},Te={scope:"title",begin:E,relevance:0},he={scope:"title",begin:P,relevance:0},Ce={begin:"\\.\\s*"+P,relevance:0};var ie=Object.freeze({__proto__:null,APOS_STRING_MODE:J,BACKSLASH_ESCAPE:Y,BINARY_NUMBER_MODE:ne,BINARY_NUMBER_RE:q,COMMENT:I,C_BLOCK_COMMENT_MODE:O,C_LINE_COMMENT_MODE:H,C_NUMBER_MODE:W,C_NUMBER_RE:Q,END_SAME_AS_BEGIN:function(j){return Object.assign(j,{"on:begin":(G,ae)=>{ae.data._beginMatch=G[1]},"on:end":(G,ae)=>{ae.data._beginMatch!==G[1]&&ae.ignoreMatch()}})},HASH_COMMENT_MODE:M,IDENT_RE:E,MATCH_NOTHING_RE:z,METHOD_GUARD:Ce,NUMBER_MODE:Z,NUMBER_RE:R,PHRASAL_WORDS_MODE:B,QUOTE_STRING_MODE:F,REGEXP_MODE:me,RE_STARTERS_RE:K,SHEBANG:ee,TITLE_MODE:Te,UNDERSCORE_IDENT_RE:P,UNDERSCORE_TITLE_MODE:he});function re(j,G){j.input[j.index-1]==="."&&G.ignoreMatch()}function oe(j,G){j.className!==void 0&&(j.scope=j.className,delete j.className)}function Re(j,G){G&&j.beginKeywords&&(j.begin="\\b("+j.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",j.__beforeBegin=re,j.keywords=j.keywords||j.beginKeywords,delete j.beginKeywords,j.relevance===void 0&&(j.relevance=0))}function Ne(j,G){Array.isArray(j.illegal)&&(j.illegal=T(...j.illegal))}function De(j,G){if(j.match){if(j.begin||j.end)throw new Error("begin & end are not supported with match");j.begin=j.match,delete j.match}}function _t(j,G){j.relevance===void 0&&(j.relevance=1)}const je=(j,G)=>{if(!j.beforeMatch)return;if(j.starts)throw new Error("beforeMatch cannot be used with starts");const ae=Object.assign({},j);Object.keys(j).forEach(be=>{delete j[be]}),j.keywords=ae.keywords,j.begin=x(ae.beforeMatch,v(ae.begin)),j.starts={relevance:0,contains:[Object.assign(ae,{endsParent:!0})]},j.relevance=0,delete ae.beforeMatch},tt=["of","and","for","in","not","or","if","then","parent","list","value"],Nt="keyword";function gt(j,G,ae=Nt){const be=Object.create(null);return typeof j=="string"?Ye(ae,j.split(" ")):Array.isArray(j)?Ye(ae,j):Object.keys(j).forEach(function(We){Object.assign(be,gt(j[We],G,We))}),be;function Ye(We,$e){G&&($e=$e.map(Oe=>Oe.toLowerCase())),$e.forEach(function(Oe){const at=Oe.split("|");be[at[0]]=[We,lt(at[0],at[1])]})}}function lt(j,G){return G?Number(G):ge(j)?0:1}function ge(j){return tt.includes(j.toLowerCase())}const ye={},ke=j=>{console.error(j)},He=(j,...G)=>{console.log(`WARN: ${j}`,...G)},Ve=(j,G)=>{ye[`${j}/${G}`]||(console.log(`Deprecated as of ${j}. ${G}`),ye[`${j}/${G}`]=!0)},$=new Error;function U(j,G,{key:ae}){let be=0;const Ye=j[ae],We={},$e={};for(let Oe=1;Oe<=G.length;Oe++)$e[Oe+be]=Ye[Oe],We[Oe+be]=!0,be+=A(G[Oe-1]);j[ae]=$e,j[ae]._emit=We,j[ae]._multi=!0}function se(j){if(Array.isArray(j.begin)){if(j.skip||j.excludeBegin||j.returnBegin)throw ke("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),$;if(typeof j.beginScope!="object"||j.beginScope===null)throw ke("beginScope must be object"),$;U(j,j.begin,{key:"beginScope"}),j.begin=N(j.begin,{joinWith:""})}}function pe(j){if(Array.isArray(j.end)){if(j.skip||j.excludeEnd||j.returnEnd)throw ke("skip, excludeEnd, returnEnd not compatible with endScope: {}"),$;if(typeof j.endScope!="object"||j.endScope===null)throw ke("endScope must be object"),$;U(j,j.end,{key:"endScope"}),j.end=N(j.end,{joinWith:""})}}function ve(j){j.scope&&typeof j.scope=="object"&&j.scope!==null&&(j.beginScope=j.scope,delete j.scope)}function ze(j){ve(j),typeof j.beginScope=="string"&&(j.beginScope={_wrap:j.beginScope}),typeof j.endScope=="string"&&(j.endScope={_wrap:j.endScope}),se(j),pe(j)}function Je(j){function G($e,Oe){return new RegExp(y($e),"m"+(j.case_insensitive?"i":"")+(j.unicodeRegex?"u":"")+(Oe?"g":""))}class ae{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Oe,at){at.position=this.position++,this.matchIndexes[this.matchAt]=at,this.regexes.push([at,Oe]),this.matchAt+=A(Oe)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Oe=this.regexes.map(at=>at[1]);this.matcherRe=G(N(Oe,{joinWith:"|"}),!0),this.lastIndex=0}exec(Oe){this.matcherRe.lastIndex=this.lastIndex;const at=this.matcherRe.exec(Oe);if(!at)return null;const Vt=at.findIndex((Ae,St)=>St>0&&Ae!==void 0),yt=this.matchIndexes[Vt];return at.splice(0,Vt),Object.assign(at,yt)}}class be{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Oe){if(this.multiRegexes[Oe])return this.multiRegexes[Oe];const at=new ae;return this.rules.slice(Oe).forEach(([Vt,yt])=>at.addRule(Vt,yt)),at.compile(),this.multiRegexes[Oe]=at,at}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Oe,at){this.rules.push([Oe,at]),at.type==="begin"&&this.count++}exec(Oe){const at=this.getMatcher(this.regexIndex);at.lastIndex=this.lastIndex;let Vt=at.exec(Oe);if(this.resumingScanAtSamePosition()&&!(Vt&&Vt.index===this.lastIndex)){const yt=this.getMatcher(0);yt.lastIndex=this.lastIndex+1,Vt=yt.exec(Oe)}return Vt&&(this.regexIndex+=Vt.position+1,this.regexIndex===this.count&&this.considerAll()),Vt}}function Ye($e){const Oe=new be;return $e.contains.forEach(at=>Oe.addRule(at.begin,{rule:at,type:"begin"})),$e.terminatorEnd&&Oe.addRule($e.terminatorEnd,{type:"end"}),$e.illegal&&Oe.addRule($e.illegal,{type:"illegal"}),Oe}function We($e,Oe){const at=$e;if($e.isCompiled)return at;[oe,De,ze,je].forEach(yt=>yt($e,Oe)),j.compilerExtensions.forEach(yt=>yt($e,Oe)),$e.__beforeBegin=null,[Re,Ne,_t].forEach(yt=>yt($e,Oe)),$e.isCompiled=!0;let Vt=null;return typeof $e.keywords=="object"&&$e.keywords.$pattern&&($e.keywords=Object.assign({},$e.keywords),Vt=$e.keywords.$pattern,delete $e.keywords.$pattern),Vt=Vt||/\w+/,$e.keywords&&($e.keywords=gt($e.keywords,j.case_insensitive)),at.keywordPatternRe=G(Vt,!0),Oe&&($e.begin||($e.begin=/\B|\b/),at.beginRe=G(at.begin),!$e.end&&!$e.endsWithParent&&($e.end=/\B|\b/),$e.end&&(at.endRe=G(at.end)),at.terminatorEnd=y(at.end)||"",$e.endsWithParent&&Oe.terminatorEnd&&(at.terminatorEnd+=($e.end?"|":"")+Oe.terminatorEnd)),$e.illegal&&(at.illegalRe=G($e.illegal)),$e.contains||($e.contains=[]),$e.contains=[].concat(...$e.contains.map(function(yt){return Be(yt==="self"?$e:yt)})),$e.contains.forEach(function(yt){We(yt,at)}),$e.starts&&We($e.starts,Oe),at.matcher=Ye(at),at}if(j.compilerExtensions||(j.compilerExtensions=[]),j.contains&&j.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return j.classNameAliases=r(j.classNameAliases||{}),We(j)}function Ke(j){return j?j.endsWithParent||Ke(j.starts):!1}function Be(j){return j.variants&&!j.cachedVariants&&(j.cachedVariants=j.variants.map(function(G){return r(j,{variants:null},G)})),j.cachedVariants?j.cachedVariants:Ke(j)?r(j,{starts:j.starts?r(j.starts):null}):Object.isFrozen(j)?r(j):j}var Qe="11.11.1";class ut extends Error{constructor(G,ae){super(G),this.name="HTMLInjectionError",this.html=ae}}const vt=n,Kt=r,Pe=Symbol("nomatch"),rt=7,it=function(j){const G=Object.create(null),ae=Object.create(null),be=[];let Ye=!0;const We="Could not find the language '{}', did you forget to load/include a language module?",$e={disableAutodetect:!0,name:"Plain text",contains:[]};let Oe={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:m};function at(Ue){return Oe.noHighlightRe.test(Ue)}function Vt(Ue){let Tt=Ue.className+" ";Tt+=Ue.parentNode?Ue.parentNode.className:"";const Lt=Oe.languageDetectRe.exec(Tt);if(Lt){const de=te(Lt[1]);return de||(He(We.replace("{}",Lt[1])),He("Falling back to no-highlight mode for this block.",Ue)),de?Lt[1]:"no-highlight"}return Tt.split(/\s+/).find(de=>at(de)||te(de))}function yt(Ue,Tt,Lt){let de="",ot="";typeof Tt=="object"?(de=Ue,Lt=Tt.ignoreIllegals,ot=Tt.language):(Ve("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ve("10.7.0",`Please use highlight(code, options) instead.
|
|
143
143
|
https://github.com/highlightjs/highlight.js/issues/2277`),ot=Ue,de=Tt),Lt===void 0&&(Lt=!0);const It={code:de,language:ot};Rn("before:highlight",It);const qt=It.result?It.result:Ae(It.language,It.code,Lt);return qt.code=It.code,Rn("after:highlight",qt),qt}function Ae(Ue,Tt,Lt,de){const ot=Object.create(null);function It(st,Dt){return st.keywords[Dt]}function qt(){if(!Ze.keywords){Ot.addText(At);return}let st=0;Ze.keywordPatternRe.lastIndex=0;let Dt=Ze.keywordPatternRe.exec(At),Yt="";for(;Dt;){Yt+=At.substring(st,Dt.index);const mn=Bn.case_insensitive?Dt[0].toLowerCase():Dt[0],kn=It(Ze,mn);if(kn){const[X,_e]=kn;if(Ot.addText(Yt),Yt="",ot[mn]=(ot[mn]||0)+1,ot[mn]<=rt&&(zn+=_e),X.startsWith("_"))Yt+=Dt[0];else{const bt=Bn.classNameAliases[X]||X;Tn(Dt[0],bt)}}else Yt+=Dt[0];st=Ze.keywordPatternRe.lastIndex,Dt=Ze.keywordPatternRe.exec(At)}Yt+=At.substring(st),Ot.addText(Yt)}function Ft(){if(At==="")return;let st=null;if(typeof Ze.subLanguage=="string"){if(!G[Ze.subLanguage]){Ot.addText(At);return}st=Ae(Ze.subLanguage,At,!0,dt[Ze.subLanguage]),dt[Ze.subLanguage]=st._top}else st=Pt(At,Ze.subLanguage.length?Ze.subLanguage:null);Ze.relevance>0&&(zn+=st.relevance),Ot.__addSublanguage(st._emitter,st.language)}function Ut(){Ze.subLanguage!=null?Ft():qt(),At=""}function Tn(st,Dt){st!==""&&(Ot.startScope(Dt),Ot.addText(st),Ot.endScope())}function Ie(st,Dt){let Yt=1;const mn=Dt.length-1;for(;Yt<=mn;){if(!st._emit[Yt]){Yt++;continue}const kn=Bn.classNameAliases[st[Yt]]||st[Yt],X=Dt[Yt];kn?Tn(X,kn):(At=X,qt(),At=""),Yt++}}function Et(st,Dt){return st.scope&&typeof st.scope=="string"&&Ot.openNode(Bn.classNameAliases[st.scope]||st.scope),st.beginScope&&(st.beginScope._wrap?(Tn(At,Bn.classNameAliases[st.beginScope._wrap]||st.beginScope._wrap),At=""):st.beginScope._multi&&(Ie(st.beginScope,Dt),At="")),Ze=Object.create(st,{parent:{value:Ze}}),Ze}function rn(st,Dt,Yt){let mn=C(st.endRe,Yt);if(mn){if(st["on:end"]){const kn=new t(st);st["on:end"](Dt,kn),kn.isMatchIgnored&&(mn=!1)}if(mn){for(;st.endsParent&&st.parent;)st=st.parent;return st}}if(st.endsWithParent)return rn(st.parent,Dt,Yt)}function On(st){return Ze.matcher.regexIndex===0?(At+=st[0],1):(gi=!0,0)}function Ct(st){const Dt=st[0],Yt=st.rule,mn=new t(Yt),kn=[Yt.__beforeBegin,Yt["on:begin"]];for(const X of kn)if(X&&(X(st,mn),mn.isMatchIgnored))return On(Dt);return Yt.skip?At+=Dt:(Yt.excludeBegin&&(At+=Dt),Ut(),!Yt.returnBegin&&!Yt.excludeBegin&&(At=Dt)),Et(Yt,st),Yt.returnBegin?0:Dt.length}function en(st){const Dt=st[0],Yt=Tt.substring(st.index),mn=rn(Ze,st,Yt);if(!mn)return Pe;const kn=Ze;Ze.endScope&&Ze.endScope._wrap?(Ut(),Tn(Dt,Ze.endScope._wrap)):Ze.endScope&&Ze.endScope._multi?(Ut(),Ie(Ze.endScope,st)):kn.skip?At+=Dt:(kn.returnEnd||kn.excludeEnd||(At+=Dt),Ut(),kn.excludeEnd&&(At=Dt));do Ze.scope&&Ot.closeNode(),!Ze.skip&&!Ze.subLanguage&&(zn+=Ze.relevance),Ze=Ze.parent;while(Ze!==mn.parent);return mn.starts&&Et(mn.starts,st),kn.returnEnd?0:Dt.length}function Nn(){const st=[];for(let Dt=Ze;Dt!==Bn;Dt=Dt.parent)Dt.scope&&st.unshift(Dt.scope);st.forEach(Dt=>Ot.openNode(Dt))}let rr={};function Dn(st,Dt){const Yt=Dt&&Dt[0];if(At+=st,Yt==null)return Ut(),0;if(rr.type==="begin"&&Dt.type==="end"&&rr.index===Dt.index&&Yt===""){if(At+=Tt.slice(Dt.index,Dt.index+1),!Ye){const mn=new Error(`0 width match regex (${Ue})`);throw mn.languageName=Ue,mn.badRule=rr.rule,mn}return 1}if(rr=Dt,Dt.type==="begin")return Ct(Dt);if(Dt.type==="illegal"&&!Lt){const mn=new Error('Illegal lexeme "'+Yt+'" for mode "'+(Ze.scope||"<unnamed>")+'"');throw mn.mode=Ze,mn}else if(Dt.type==="end"){const mn=en(Dt);if(mn!==Pe)return mn}if(Dt.type==="illegal"&&Yt==="")return At+=`
|
|
144
|
-
`,1;if(mi>1e5&&mi>Dt.index*3)throw new Error("potential infinite loop, way more iterations than matches");return At+=Yt,Yt.length}const Bn=te(Ue);if(!Bn)throw ke(We.replace("{}",Ue)),new Error('Unknown language: "'+Ue+'"');const Ur=Je(Bn);let le="",Ze=de||Ur;const dt={},Ot=new Oe.__emitter(Oe);Nn();let At="",zn=0,hr=0,mi=0,gi=!1;try{if(Bn.__emitTokens)Bn.__emitTokens(Tt,Ot);else{for(Ze.matcher.considerAll();;){mi++,gi?gi=!1:Ze.matcher.considerAll(),Ze.matcher.lastIndex=hr;const st=Ze.matcher.exec(Tt);if(!st)break;const Dt=Tt.substring(hr,st.index),Yt=Dn(Dt,st);hr=st.index+Yt}Dn(Tt.substring(hr))}return Ot.finalize(),le=Ot.toHTML(),{language:Ue,value:le,relevance:zn,illegal:!1,_emitter:Ot,_top:Ze}}catch(st){if(st.message&&st.message.includes("Illegal"))return{language:Ue,value:vt(Tt),illegal:!0,relevance:0,_illegalBy:{message:st.message,index:hr,context:Tt.slice(hr-100,hr+100),mode:st.mode,resultSoFar:le},_emitter:Ot};if(Ye)return{language:Ue,value:vt(Tt),illegal:!1,relevance:0,errorRaised:st,_emitter:Ot,_top:Ze};throw st}}function St(Ue){const Tt={value:vt(Ue),illegal:!1,relevance:0,_top:$e,_emitter:new Oe.__emitter(Oe)};return Tt._emitter.addText(Ue),Tt}function Pt(Ue,Tt){Tt=Tt||Oe.languages||Object.keys(G);const Lt=St(Ue),de=Tt.filter(te).filter(ct).map(Ut=>Ae(Ut,Ue,!1));de.unshift(Lt);const ot=de.sort((Ut,Tn)=>{if(Ut.relevance!==Tn.relevance)return Tn.relevance-Ut.relevance;if(Ut.language&&Tn.language){if(te(Ut.language).supersetOf===Tn.language)return 1;if(te(Tn.language).supersetOf===Ut.language)return-1}return 0}),[It,qt]=ot,Ft=It;return Ft.secondBest=qt,Ft}function zt(Ue,Tt,Lt){const de=Tt&&ae[Tt]||Lt;Ue.classList.add("hljs"),Ue.classList.add(`language-${de}`)}function kt(Ue){let Tt=null;const Lt=Vt(Ue);if(at(Lt))return;if(Rn("before:highlightElement",{el:Ue,language:Lt}),Ue.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",Ue);return}if(Ue.children.length>0&&(Oe.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(Ue)),Oe.throwUnescapedHTML))throw new ut("One of your code blocks includes unescaped HTML.",Ue.innerHTML);Tt=Ue;const de=Tt.textContent,ot=Lt?yt(de,{language:Lt,ignoreIllegals:!0}):Pt(de);Ue.innerHTML=ot.value,Ue.dataset.highlighted="yes",zt(Ue,Lt,ot.language),Ue.result={language:ot.language,re:ot.relevance,relevance:ot.relevance},ot.secondBest&&(Ue.secondBest={language:ot.secondBest.language,relevance:ot.secondBest.relevance}),Rn("after:highlightElement",{el:Ue,result:ot,text:de})}function un(Ue){Oe=Kt(Oe,Ue)}const ln=()=>{Ht(),Ve("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function _n(){Ht(),Ve("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let nt=!1;function Ht(){function Ue(){Ht()}if(document.readyState==="loading"){nt||window.addEventListener("DOMContentLoaded",Ue,!1),nt=!0;return}document.querySelectorAll(Oe.cssSelector).forEach(kt)}function fn(Ue,Tt){let Lt=null;try{Lt=Tt(j)}catch(de){if(ke("Language definition for '{}' could not be registered.".replace("{}",Ue)),Ye)ke(de);else throw de;Lt=$e}Lt.name||(Lt.name=Ue),G[Ue]=Lt,Lt.rawDefinition=Tt.bind(null,j),Lt.aliases&&qe(Lt.aliases,{languageName:Ue})}function Xt(Ue){delete G[Ue];for(const Tt of Object.keys(ae))ae[Tt]===Ue&&delete ae[Tt]}function mt(){return Object.keys(G)}function te(Ue){return Ue=(Ue||"").toLowerCase(),G[Ue]||G[ae[Ue]]}function qe(Ue,{languageName:Tt}){typeof Ue=="string"&&(Ue=[Ue]),Ue.forEach(Lt=>{ae[Lt.toLowerCase()]=Tt})}function ct(Ue){const Tt=te(Ue);return Tt&&!Tt.disableAutodetect}function dn(Ue){Ue["before:highlightBlock"]&&!Ue["before:highlightElement"]&&(Ue["before:highlightElement"]=Tt=>{Ue["before:highlightBlock"](Object.assign({block:Tt.el},Tt))}),Ue["after:highlightBlock"]&&!Ue["after:highlightElement"]&&(Ue["after:highlightElement"]=Tt=>{Ue["after:highlightBlock"](Object.assign({block:Tt.el},Tt))})}function Jt(Ue){dn(Ue),be.push(Ue)}function wn(Ue){const Tt=be.indexOf(Ue);Tt!==-1&&be.splice(Tt,1)}function Rn(Ue,Tt){const Lt=Ue;be.forEach(function(de){de[Lt]&&de[Lt](Tt)})}function pn(Ue){return Ve("10.7.0","highlightBlock will be removed entirely in v12.0"),Ve("10.7.0","Please use highlightElement now."),kt(Ue)}Object.assign(j,{highlight:yt,highlightAuto:Pt,highlightAll:Ht,highlightElement:kt,highlightBlock:pn,configure:un,initHighlighting:ln,initHighlightingOnLoad:_n,registerLanguage:fn,unregisterLanguage:Xt,listLanguages:mt,getLanguage:te,registerAliases:qe,autoDetection:ct,inherit:Kt,addPlugin:Jt,removePlugin:wn}),j.debugMode=function(){Ye=!1},j.safeMode=function(){Ye=!0},j.versionString=Qe,j.regex={concat:x,lookahead:v,either:T,optional:b,anyNumberOfTimes:_};for(const Ue in ie)typeof ie[Ue]=="object"&&e(ie[Ue]);return Object.assign(j,ie),j},Bt=it({});return Bt.newInstance=()=>it({}),Y5=Bt,Bt.HighlightJS=Bt,Bt.default=Bt,Y5}var Gie=Wie();const As=Q6(Gie);function qT(e){const t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const i={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},l=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},u={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,i]};i.contains.push(u);const d={match:/\\"/},f={className:"string",begin:/'/,end:/'/},m={match:/\\'/},y={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},v=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],_=e.SHEBANG({binary:`(${v.join("|")})`,relevance:10}),b={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},x=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],S=["true","false"],T={match:/(\/[a-z._-]+)+/},A=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],C=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],L=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],N=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:x,literal:S,built_in:[...A,...C,"set","shopt",...L,...N]},contains:[_,e.SHEBANG(),b,y,l,o,T,u,d,f,m,n]}}const UT="[A-Za-z$_][0-9A-Za-z$_]*",Kie=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Vie=["true","false","null","undefined","NaN","Infinity"],Qj=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Hj=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],zj=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Zie=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Yie=[].concat(zj,Qj,Hj);function WT(e){const t=e.regex,n=(I,{after:H})=>{const O="</"+I[0].slice(1);return I.input.indexOf(O,H)!==-1},r=UT,i={begin:"<>",end:"</>"},l=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(I,H)=>{const O=I[0].length+I.index,M=I.input[O];if(M==="<"||M===","){H.ignoreMatch();return}M===">"&&(n(I,{after:O})||H.ignoreMatch());let Z;const W=I.input.substring(O);if(Z=W.match(/^\s*=/)){H.ignoreMatch();return}if((Z=W.match(/^\s+extends\s+/))&&Z.index===0){H.ignoreMatch();return}}},u={$pattern:UT,keyword:Kie,literal:Vie,built_in:Yie,"variable.language":Zie},d="[0-9](_?[0-9])*",f=`\\.(${d})`,m="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${m})((${f})|\\.)?|(${f}))[eE][+-]?(${d})\\b`},{begin:`\\b(${m})\\b((${f})\\b|\\.)?|(${f})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:u,contains:[]},_={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"css"}},x={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},S={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,v]},A={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},C=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,b,x,S,{match:/\$\d+/},y];v.contains=C.concat({begin:/\{/,end:/\}/,keywords:u,contains:["self"].concat(C)});const L=[].concat(A,v.contains),N=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:u,contains:["self"].concat(L)}]),z={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:u,contains:N},E={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},P={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Qj,...Hj]}},R={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Q={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[z],illegal:/%/},q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function K(I){return t.concat("(?!",I.join("|"),")")}const ee={match:t.concat(/\b/,K([...zj,"super","import"].map(I=>`${I}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},Y={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},J={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},z]},F="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",B={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[z]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:u,exports:{PARAMS_CONTAINS:N,CLASS_REFERENCE:P},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),R,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,b,x,S,A,{match:/\$\d+/},y,P,{scope:"attr",match:r+t.lookahead(":"),relevance:0},B,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[A,e.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:u,contains:N}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:l},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},Q,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[z,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},Y,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[z]},ee,q,E,J,{match:/\$[(.]/}]}}function Xie(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],i={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,i,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function GT(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},i={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},l={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},u=/[A-Za-z][A-Za-z0-9+.-]*/,d={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,u,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},f={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},m={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},y=e.inherit(f,{contains:[]}),v=e.inherit(m,{contains:[]});f.contains.push(v),m.contains.push(y);let _=[n,d];return[f,m,y,v].forEach(T=>{T.contains=T.contains.concat(_)}),_=_.concat(f,m),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:_},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:_}]}]},n,l,f,m,{className:"quote",begin:"^>\\s+",contains:_,end:"$"},i,r,d,o,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function KT(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],u={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},d={className:"meta",begin:/^(>>>|\.\.\.) /},f={className:"subst",begin:/\{/,end:/\}/,keywords:u,illegal:/#/},m={begin:/\{\{/,relevance:0},y={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,d],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,d],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,d,m,f]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,d,m,f]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,m,f]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,m,f]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},v="[0-9](_?[0-9])*",_=`(\\b(${v}))?\\.(${v})|\\b(${v})\\.`,b=`\\b|${r.join("|")}`,x={className:"number",relevance:0,variants:[{begin:`(\\b(${v})|(${_}))[eE][+-]?(${v})[jJ]?(?=${b})`},{begin:`(${_})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${v})[jJ](?=${b})`}]},S={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:u,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},T={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:u,contains:["self",d,x,y,e.HASH_COMMENT_MODE]}]};return f.contains=[y,x,d],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:u,illegal:/(<\/|\?)|=>/,contains:[d,x,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},y,S,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[T]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[x,T,y]}]}}const Dg="[A-Za-z$_][0-9A-Za-z$_]*",qj=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Uj=["true","false","null","undefined","NaN","Infinity"],Wj=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Gj=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Kj=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Vj=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Zj=[].concat(Kj,Wj,Gj);function Jie(e){const t=e.regex,n=(I,{after:H})=>{const O="</"+I[0].slice(1);return I.input.indexOf(O,H)!==-1},r=Dg,i={begin:"<>",end:"</>"},l=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(I,H)=>{const O=I[0].length+I.index,M=I.input[O];if(M==="<"||M===","){H.ignoreMatch();return}M===">"&&(n(I,{after:O})||H.ignoreMatch());let Z;const W=I.input.substring(O);if(Z=W.match(/^\s*=/)){H.ignoreMatch();return}if((Z=W.match(/^\s+extends\s+/))&&Z.index===0){H.ignoreMatch();return}}},u={$pattern:Dg,keyword:qj,literal:Uj,built_in:Zj,"variable.language":Vj},d="[0-9](_?[0-9])*",f=`\\.(${d})`,m="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${m})((${f})|\\.)?|(${f}))[eE][+-]?(${d})\\b`},{begin:`\\b(${m})\\b((${f})\\b|\\.)?|(${f})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:u,contains:[]},_={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"css"}},x={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},S={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,v]},A={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},C=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,b,x,S,{match:/\$\d+/},y];v.contains=C.concat({begin:/\{/,end:/\}/,keywords:u,contains:["self"].concat(C)});const L=[].concat(A,v.contains),N=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:u,contains:["self"].concat(L)}]),z={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:u,contains:N},E={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},P={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Wj,...Gj]}},R={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Q={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[z],illegal:/%/},q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function K(I){return t.concat("(?!",I.join("|"),")")}const ee={match:t.concat(/\b/,K([...Kj,"super","import"].map(I=>`${I}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},Y={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},J={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},z]},F="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",B={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[z]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:u,exports:{PARAMS_CONTAINS:N,CLASS_REFERENCE:P},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),R,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,b,x,S,A,{match:/\$\d+/},y,P,{scope:"attr",match:r+t.lookahead(":"),relevance:0},B,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[A,e.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:u,contains:N}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:l},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},Q,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[z,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},Y,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[z]},ee,q,E,J,{match:/\$[(.]/}]}}function VT(e){const t=e.regex,n=Jie(e),r=Dg,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],l={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},o={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[n.exports.CLASS_REFERENCE]},u={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},d=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],f={$pattern:Dg,keyword:qj.concat(d),literal:Uj,built_in:Zj.concat(i),"variable.language":Vj},m={className:"meta",begin:"@"+r},y=(x,S,T)=>{const A=x.contains.findIndex(C=>C.label===S);if(A===-1)throw new Error("can not find mode to replace");x.contains.splice(A,1,T)};Object.assign(n.keywords,f),n.exports.PARAMS_CONTAINS.push(m);const v=n.contains.find(x=>x.scope==="attr"),_=Object.assign({},v,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,v,_]),n.contains=n.contains.concat([m,l,o,_]),y(n,"shebang",e.SHEBANG()),y(n,"use_strict",u);const b=n.contains.find(x=>x.label==="func.def");return b.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}const ese=/\[\[wiki:([^\]]+)\]\]/g,tse=/^\uFEFF?---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n|$)/,nse=/^(\S[^:]*?):[ \t]*(.*)$/,rse=new $j({gfm:!0,breaks:!1}),ZT={ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto):|[#/]|\.{0,2}\/|[^:]+$)/i,ADD_ATTR:["target","rel","data-entry-id"]},X5=yse();function ra(e,t={}){const{entries:n,content:r}=ase(e),i=cse(r,t.resolveWikiLink),l=rse.parse(i,{async:!1}),o=lse(n),u=w0.sanitize(o+l,ZT),d=new DOMParser().parseFromString(u,"text/html");return dse(d,t.omitDuplicateTitle),use(d),hse(d,{copyLabel:t.copyLabel??"Copy",copyAriaLabel:t.copyAriaLabel??(m=>`Copy ${m} code`)}),pse(d),{html:w0.sanitize(d.body.innerHTML,ZT),toc:mse(d)}}function ise(e){const t=new TextEncoder().encode(e);let n="";for(const r of t)n+=String.fromCharCode(r);return btoa(n)}function sse(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return new TextDecoder().decode(n)}function ase(e){const t=tse.exec(e);return t?{entries:ose(t[1]??""),content:e.slice(t[0].length)}:{entries:[],content:e}}function ose(e){const t=[];for(const n of e.split(/\r?\n/)){const r=n.replace(/\s+$/,"");if(r.trim()==="")continue;const i=nse.exec(r);if(i){const[,u="",d=""]=i;t.push({key:u.trim(),value:d.trim()});continue}const l=t[t.length-1];if(!l)continue;const o=r.trim();l.value=l.value?`${l.value} ${o}`:o}return t}function lse(e){return e.length===0?"":`<dl class="frontmatter">${e.map(n=>`<dt>${k0(n.key)}</dt><dd>${k0(n.value)}</dd>`).join("")}</dl>`}function cse(e,t){return e.replace(ese,(n,r)=>{const i=r.trim();if(!i)return"";if(!t)return k0(`[[wiki:${i}]]`);const l=t(i);if(l===null)return k0(`[[wiki:${i}]]`);const o=k0(i),u=encodeURIComponent(i);return`<a href="${l}" data-entry-id="${u}">${o}</a>`})}function use(e){const t=new Map;for(const n of e.querySelectorAll("h2, h3")){const r=n.textContent?.trim()??"",i=_se(r||"section"),l=t.get(i)??0;t.set(i,l+1),n.id=l===0?i:`${i}-${l+1}`}}function dse(e,t){if(!t)return;const n=e.body.querySelector("h1, h2, h3, h4, h5, h6");!n||n.tagName.toLowerCase()!=="h1"||YT(n.textContent??"")===YT(t)&&n.remove()}function hse(e,t){for(const n of e.querySelectorAll("pre > code")){const r=vse(n.className),i=n.textContent??"",l=n.parentElement;if(!l)continue;if(r==="mermaid"){const u=e.createElement("div");u.className="diagram-block",u.setAttribute("data-mermaid-source",ise(i)),u.setAttribute("data-diagram-state","pending"),l.replaceWith(u);continue}const o=gse(i,r);n.innerHTML=o,n.classList.add("hljs"),l.classList.add("code-block"),l.dataset.code=i,l.insertBefore(fse(e,r||"text",t),l.firstChild)}}function fse(e,t,n){const r=e.createElement("div");r.className="code-block-toolbar";const i=e.createElement("span");i.className="code-block-dots",i.setAttribute("aria-hidden","true");for(let u=0;u<3;u++)i.append(e.createElement("span"));const l=e.createElement("span");l.className="code-block-language",l.textContent=t;const o=e.createElement("button");return o.className="copy-code",o.type="button",o.dataset.action="copy-code",o.setAttribute("aria-label",n.copyAriaLabel(t)),o.textContent=n.copyLabel,r.append(i,l,o),r}function pse(e){for(const t of e.querySelectorAll("a")){const n=t.getAttribute("href")??"";bse(n)&&(t.setAttribute("target","_blank"),t.setAttribute("rel","noopener noreferrer"))}}function mse(e){return[...e.querySelectorAll("h2, h3")].map(t=>({id:t.id,text:t.textContent?.trim()??t.id,level:t.tagName.toLowerCase()==="h2"?2:3}))}function gse(e,t){return t&&X5.getLanguage(t)?X5.highlight(e,{language:t}).value:X5.highlightAuto(e).value}function yse(){return As.registerLanguage("bash",qT),As.registerLanguage("sh",qT),As.registerLanguage("javascript",WT),As.registerLanguage("js",WT),As.registerLanguage("json",Xie),As.registerLanguage("markdown",GT),As.registerLanguage("md",GT),As.registerLanguage("python",KT),As.registerLanguage("py",KT),As.registerLanguage("typescript",VT),As.registerLanguage("ts",VT),As}function vse(e){return e.match(/language-([a-z0-9_-]+)/i)?.[1]?.toLowerCase()??null}function bse(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)&&!e.startsWith(window.location.origin)}function _se(e){return e.trim().toLowerCase().replace(/[^\p{Letter}\p{Number}]+/gu,"-").replace(/^-+|-+$/g,"")||"section"}function YT(e){return e.trim().replace(/\s+/g," ").toLocaleLowerCase("en-US")}function k0(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}const Yj={renderFailed:e=>`Diagram render failed: ${e}`,openExpandedAria:"Open diagram in expanded view",lightboxTitle:"MANIFEST · DIAGRAM",close:"Close",closeExpandedAria:"Close expanded diagram",zoomControlsAria:"Diagram zoom controls",zoomOutAria:"Zoom out",zoomInAria:"Zoom in",fit:"Fit",fitAria:"Fit diagram to viewport",reset:"Reset",resetAria:"Reset diagram zoom"};let ps=Yj;const wse=".diagram-block[data-mermaid-source]:not([data-diagram-state='rendered']):not([data-diagram-state='error'])",xse=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(","),kse=/^on/i,Sse={USE_PROFILES:{svg:!0,svgFilters:!1},FORBID_TAGS:["foreignObject","script"],FORBID_ATTR:["href","xlink:href"]},XT="diagramInteractionBound",Tse=/^oklch\s*\(\s*([^)]+)\s*\)$/i,Cse=/^(-?\d+(?:\.\d+)?)(deg)?$/i,js=[25,50,75,100,125,150,200],Lse=["pie1","pie2","pie3","pie4","pie5","pie6","pie7","pie8","pie9","pie10","pie11","pie12"];let J5=null;const JT=new WeakSet;let Ese=0,Ase=0,z0=null;function sl(e){const t=e.trim();if(!t)return t;const n=Yse(t);return n?Xse(n):t}function Bg(e,t){if(t&&(ps={...Yj,...t}),JT.has(e))return;JT.add(e),eC(e);const n=e instanceof Node?e:document.body;new MutationObserver(i=>{let l=!1;for(const o of i)if(o.type==="childList"){z0&&!z0.trigger.isConnected&&a0(!1);for(const u of o.addedNodes)if(u instanceof Element&&(u.matches?.(".diagram-block[data-mermaid-source]")||u.querySelector?.(".diagram-block[data-mermaid-source]"))){l=!0;break}if(l)break}l&&eC(e)}).observe(n,{childList:!0,subtree:!0})}function eC(e){const t=e.querySelectorAll(wse);for(const n of t)n.dataset.diagramHydrating!=="true"&&(n.dataset.diagramHydrating="true",n.dataset.diagramState="pending",Mse(n))}async function Mse(e){const t=e.getAttribute("data-mermaid-source")??"";let n="";try{n=sse(t)}catch{ev(e,"Invalid diagram source");return}if(!n.trim()){ev(e,"Empty diagram source");return}try{const r=await Nse(),i=`mermaid-diagram-${++Ese}`,{svg:l}=await r.render(i,n);e.innerHTML=Rse(l),Ise(e,l),Dse(e),Bse(e),e.dataset.diagramState="rendered"}catch(r){const i=r instanceof Error?r.message:String(r);ev(e,i)}}function ev(e,t){e.dataset.diagramState="error",e.textContent=ps.renderFailed(t)}function Rse(e){const t=(n,r)=>{kse.test(r.attrName)&&(r.keepAttr=!1)};w0.addHook("uponSanitizeAttribute",t);try{return w0.sanitize(e,Sse)}finally{w0.removeHook("uponSanitizeAttribute",t)}}async function Nse(){return J5||(J5=(async()=>{const e=await Fre(()=>import("./mermaid.core-BHkit2JY.js").then(n=>n.bC),[]),t=e.default??e;return t.initialize({securityLevel:"strict",htmlLabels:!1,suppressErrorRendering:!0,startOnLoad:!1,theme:"base",look:"handDrawn",themeVariables:jse(),themeCSS:Ose(),flowchart:{htmlLabels:!1,useMaxWidth:!1}}),t})()),J5}function jse(){const e=getComputedStyle(document.documentElement),t=(x,S)=>{const T=e.getPropertyValue(x).trim();return sl(T||S)},n=(x,S)=>e.getPropertyValue(x).trim()||S,r=t("--brass","#c69a4a"),i=t("--brass-bright","#e6b86a"),l=t("--brass-deep","#a0782a"),o=t("--aurora","#8bd7e6"),u=t("--aurora-deep","#1f8aa8"),d=t("--coral","#ef7c63"),f=t("--ink-deep","#1d2734"),m=t("--ink-fog","#a6afbb"),y=t("--ink-pearl","#e6e9ef"),v=t("--ink-spectral","#bcc4d0"),_=[i,r,o,d,sl("oklch(70% 0.11 68)"),u,sl("oklch(76% 0.09 205)"),l,sl("oklch(68% 0.14 30)"),m,sl("oklch(62% 0.08 228)"),sl("oklch(52% 0.05 248)")],b=Object.fromEntries(Lse.map((x,S)=>[x,_[S]??f]));return{background:"transparent",primaryColor:"transparent",primaryTextColor:y,primaryBorderColor:r,secondaryColor:"transparent",secondaryTextColor:y,secondaryBorderColor:i,tertiaryColor:"transparent",tertiaryTextColor:v,tertiaryBorderColor:r,lineColor:u,edgeLabelBackground:"transparent",titleColor:i,fontFamily:"JetBrains Mono Variable, ui-monospace, monospace",mainBkg:"transparent",nodeBorder:r,clusterBkg:"transparent",clusterBorder:r,pieTitleTextColor:i,pieTitleTextSize:n("--font-size-title-lg","19px"),pieSectionTextColor:y,pieSectionTextSize:n("--font-size-md","13px"),pieLegendTextColor:y,pieLegendTextSize:n("--font-size-lg","14px"),pieStrokeColor:l,pieStrokeWidth:"1.35px",pieOuterStrokeColor:i,pieOuterStrokeWidth:"2.5px",pieOpacity:"0.96",...b}}function Ose(){const e=getComputedStyle(document.documentElement),t=(f,m)=>{const y=e.getPropertyValue(f).trim();return sl(y||m)},n=t("--brass-deep","#a0782a"),r=t("--brass-bright","#e6b86a"),i=t("--aurora-deep","#1f8aa8"),l=t("--ink-abyss","#131920"),o=sl("oklch(15% 0.04 250 / 34%)"),u=t("--surface-glass","#1d2734"),d=t("--ink-pearl","#e6e9ef");return`
|
|
144
|
+
`,1;if(mi>1e5&&mi>Dt.index*3)throw new Error("potential infinite loop, way more iterations than matches");return At+=Yt,Yt.length}const Bn=te(Ue);if(!Bn)throw ke(We.replace("{}",Ue)),new Error('Unknown language: "'+Ue+'"');const Ur=Je(Bn);let le="",Ze=de||Ur;const dt={},Ot=new Oe.__emitter(Oe);Nn();let At="",zn=0,hr=0,mi=0,gi=!1;try{if(Bn.__emitTokens)Bn.__emitTokens(Tt,Ot);else{for(Ze.matcher.considerAll();;){mi++,gi?gi=!1:Ze.matcher.considerAll(),Ze.matcher.lastIndex=hr;const st=Ze.matcher.exec(Tt);if(!st)break;const Dt=Tt.substring(hr,st.index),Yt=Dn(Dt,st);hr=st.index+Yt}Dn(Tt.substring(hr))}return Ot.finalize(),le=Ot.toHTML(),{language:Ue,value:le,relevance:zn,illegal:!1,_emitter:Ot,_top:Ze}}catch(st){if(st.message&&st.message.includes("Illegal"))return{language:Ue,value:vt(Tt),illegal:!0,relevance:0,_illegalBy:{message:st.message,index:hr,context:Tt.slice(hr-100,hr+100),mode:st.mode,resultSoFar:le},_emitter:Ot};if(Ye)return{language:Ue,value:vt(Tt),illegal:!1,relevance:0,errorRaised:st,_emitter:Ot,_top:Ze};throw st}}function St(Ue){const Tt={value:vt(Ue),illegal:!1,relevance:0,_top:$e,_emitter:new Oe.__emitter(Oe)};return Tt._emitter.addText(Ue),Tt}function Pt(Ue,Tt){Tt=Tt||Oe.languages||Object.keys(G);const Lt=St(Ue),de=Tt.filter(te).filter(ct).map(Ut=>Ae(Ut,Ue,!1));de.unshift(Lt);const ot=de.sort((Ut,Tn)=>{if(Ut.relevance!==Tn.relevance)return Tn.relevance-Ut.relevance;if(Ut.language&&Tn.language){if(te(Ut.language).supersetOf===Tn.language)return 1;if(te(Tn.language).supersetOf===Ut.language)return-1}return 0}),[It,qt]=ot,Ft=It;return Ft.secondBest=qt,Ft}function zt(Ue,Tt,Lt){const de=Tt&&ae[Tt]||Lt;Ue.classList.add("hljs"),Ue.classList.add(`language-${de}`)}function kt(Ue){let Tt=null;const Lt=Vt(Ue);if(at(Lt))return;if(Rn("before:highlightElement",{el:Ue,language:Lt}),Ue.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",Ue);return}if(Ue.children.length>0&&(Oe.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(Ue)),Oe.throwUnescapedHTML))throw new ut("One of your code blocks includes unescaped HTML.",Ue.innerHTML);Tt=Ue;const de=Tt.textContent,ot=Lt?yt(de,{language:Lt,ignoreIllegals:!0}):Pt(de);Ue.innerHTML=ot.value,Ue.dataset.highlighted="yes",zt(Ue,Lt,ot.language),Ue.result={language:ot.language,re:ot.relevance,relevance:ot.relevance},ot.secondBest&&(Ue.secondBest={language:ot.secondBest.language,relevance:ot.secondBest.relevance}),Rn("after:highlightElement",{el:Ue,result:ot,text:de})}function un(Ue){Oe=Kt(Oe,Ue)}const ln=()=>{Ht(),Ve("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function _n(){Ht(),Ve("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let nt=!1;function Ht(){function Ue(){Ht()}if(document.readyState==="loading"){nt||window.addEventListener("DOMContentLoaded",Ue,!1),nt=!0;return}document.querySelectorAll(Oe.cssSelector).forEach(kt)}function fn(Ue,Tt){let Lt=null;try{Lt=Tt(j)}catch(de){if(ke("Language definition for '{}' could not be registered.".replace("{}",Ue)),Ye)ke(de);else throw de;Lt=$e}Lt.name||(Lt.name=Ue),G[Ue]=Lt,Lt.rawDefinition=Tt.bind(null,j),Lt.aliases&&qe(Lt.aliases,{languageName:Ue})}function Xt(Ue){delete G[Ue];for(const Tt of Object.keys(ae))ae[Tt]===Ue&&delete ae[Tt]}function mt(){return Object.keys(G)}function te(Ue){return Ue=(Ue||"").toLowerCase(),G[Ue]||G[ae[Ue]]}function qe(Ue,{languageName:Tt}){typeof Ue=="string"&&(Ue=[Ue]),Ue.forEach(Lt=>{ae[Lt.toLowerCase()]=Tt})}function ct(Ue){const Tt=te(Ue);return Tt&&!Tt.disableAutodetect}function dn(Ue){Ue["before:highlightBlock"]&&!Ue["before:highlightElement"]&&(Ue["before:highlightElement"]=Tt=>{Ue["before:highlightBlock"](Object.assign({block:Tt.el},Tt))}),Ue["after:highlightBlock"]&&!Ue["after:highlightElement"]&&(Ue["after:highlightElement"]=Tt=>{Ue["after:highlightBlock"](Object.assign({block:Tt.el},Tt))})}function Jt(Ue){dn(Ue),be.push(Ue)}function wn(Ue){const Tt=be.indexOf(Ue);Tt!==-1&&be.splice(Tt,1)}function Rn(Ue,Tt){const Lt=Ue;be.forEach(function(de){de[Lt]&&de[Lt](Tt)})}function pn(Ue){return Ve("10.7.0","highlightBlock will be removed entirely in v12.0"),Ve("10.7.0","Please use highlightElement now."),kt(Ue)}Object.assign(j,{highlight:yt,highlightAuto:Pt,highlightAll:Ht,highlightElement:kt,highlightBlock:pn,configure:un,initHighlighting:ln,initHighlightingOnLoad:_n,registerLanguage:fn,unregisterLanguage:Xt,listLanguages:mt,getLanguage:te,registerAliases:qe,autoDetection:ct,inherit:Kt,addPlugin:Jt,removePlugin:wn}),j.debugMode=function(){Ye=!1},j.safeMode=function(){Ye=!0},j.versionString=Qe,j.regex={concat:x,lookahead:v,either:T,optional:b,anyNumberOfTimes:_};for(const Ue in ie)typeof ie[Ue]=="object"&&e(ie[Ue]);return Object.assign(j,ie),j},Bt=it({});return Bt.newInstance=()=>it({}),Y5=Bt,Bt.HighlightJS=Bt,Bt.default=Bt,Y5}var Gie=Wie();const As=Q6(Gie);function qT(e){const t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const i={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},l=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},u={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,i]};i.contains.push(u);const d={match:/\\"/},f={className:"string",begin:/'/,end:/'/},m={match:/\\'/},y={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},v=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],_=e.SHEBANG({binary:`(${v.join("|")})`,relevance:10}),b={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},x=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],S=["true","false"],T={match:/(\/[a-z._-]+)+/},A=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],C=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],L=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],N=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:x,literal:S,built_in:[...A,...C,"set","shopt",...L,...N]},contains:[_,e.SHEBANG(),b,y,l,o,T,u,d,f,m,n]}}const UT="[A-Za-z$_][0-9A-Za-z$_]*",Kie=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Vie=["true","false","null","undefined","NaN","Infinity"],Qj=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Hj=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],zj=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Zie=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Yie=[].concat(zj,Qj,Hj);function WT(e){const t=e.regex,n=(I,{after:H})=>{const O="</"+I[0].slice(1);return I.input.indexOf(O,H)!==-1},r=UT,i={begin:"<>",end:"</>"},l=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(I,H)=>{const O=I[0].length+I.index,M=I.input[O];if(M==="<"||M===","){H.ignoreMatch();return}M===">"&&(n(I,{after:O})||H.ignoreMatch());let Z;const W=I.input.substring(O);if(Z=W.match(/^\s*=/)){H.ignoreMatch();return}if((Z=W.match(/^\s+extends\s+/))&&Z.index===0){H.ignoreMatch();return}}},u={$pattern:UT,keyword:Kie,literal:Vie,built_in:Yie,"variable.language":Zie},d="[0-9](_?[0-9])*",f=`\\.(${d})`,m="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${m})((${f})|\\.)?|(${f}))[eE][+-]?(${d})\\b`},{begin:`\\b(${m})\\b((${f})\\b|\\.)?|(${f})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:u,contains:[]},_={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"css"}},x={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},S={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,v]},A={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},C=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,b,x,S,{match:/\$\d+/},y];v.contains=C.concat({begin:/\{/,end:/\}/,keywords:u,contains:["self"].concat(C)});const L=[].concat(A,v.contains),N=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:u,contains:["self"].concat(L)}]),z={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:u,contains:N},E={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},P={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Qj,...Hj]}},R={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Q={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[z],illegal:/%/},q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function K(I){return t.concat("(?!",I.join("|"),")")}const ee={match:t.concat(/\b/,K([...zj,"super","import"].map(I=>`${I}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},Y={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},J={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},z]},F="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",B={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[z]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:u,exports:{PARAMS_CONTAINS:N,CLASS_REFERENCE:P},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),R,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,b,x,S,A,{match:/\$\d+/},y,P,{scope:"attr",match:r+t.lookahead(":"),relevance:0},B,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[A,e.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:u,contains:N}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:l},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},Q,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[z,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},Y,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[z]},ee,q,E,J,{match:/\$[(.]/}]}}function Xie(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],i={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,i,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function GT(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},i={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},l={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},u=/[A-Za-z][A-Za-z0-9+.-]*/,d={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,u,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},f={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},m={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},y=e.inherit(f,{contains:[]}),v=e.inherit(m,{contains:[]});f.contains.push(v),m.contains.push(y);let _=[n,d];return[f,m,y,v].forEach(T=>{T.contains=T.contains.concat(_)}),_=_.concat(f,m),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:_},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:_}]}]},n,l,f,m,{className:"quote",begin:"^>\\s+",contains:_,end:"$"},i,r,d,o,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function KT(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],u={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},d={className:"meta",begin:/^(>>>|\.\.\.) /},f={className:"subst",begin:/\{/,end:/\}/,keywords:u,illegal:/#/},m={begin:/\{\{/,relevance:0},y={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,d],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,d],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,d,m,f]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,d,m,f]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,m,f]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,m,f]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},v="[0-9](_?[0-9])*",_=`(\\b(${v}))?\\.(${v})|\\b(${v})\\.`,b=`\\b|${r.join("|")}`,x={className:"number",relevance:0,variants:[{begin:`(\\b(${v})|(${_}))[eE][+-]?(${v})[jJ]?(?=${b})`},{begin:`(${_})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${v})[jJ](?=${b})`}]},S={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:u,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},T={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:u,contains:["self",d,x,y,e.HASH_COMMENT_MODE]}]};return f.contains=[y,x,d],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:u,illegal:/(<\/|\?)|=>/,contains:[d,x,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},y,S,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[T]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[x,T,y]}]}}const Dg="[A-Za-z$_][0-9A-Za-z$_]*",qj=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Uj=["true","false","null","undefined","NaN","Infinity"],Wj=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Gj=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Kj=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Vj=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Zj=[].concat(Kj,Wj,Gj);function Jie(e){const t=e.regex,n=(I,{after:H})=>{const O="</"+I[0].slice(1);return I.input.indexOf(O,H)!==-1},r=Dg,i={begin:"<>",end:"</>"},l=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(I,H)=>{const O=I[0].length+I.index,M=I.input[O];if(M==="<"||M===","){H.ignoreMatch();return}M===">"&&(n(I,{after:O})||H.ignoreMatch());let Z;const W=I.input.substring(O);if(Z=W.match(/^\s*=/)){H.ignoreMatch();return}if((Z=W.match(/^\s+extends\s+/))&&Z.index===0){H.ignoreMatch();return}}},u={$pattern:Dg,keyword:qj,literal:Uj,built_in:Zj,"variable.language":Vj},d="[0-9](_?[0-9])*",f=`\\.(${d})`,m="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${m})((${f})|\\.)?|(${f}))[eE][+-]?(${d})\\b`},{begin:`\\b(${m})\\b((${f})\\b|\\.)?|(${f})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},v={className:"subst",begin:"\\$\\{",end:"\\}",keywords:u,contains:[]},_={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"css"}},x={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,v],subLanguage:"graphql"}},S={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,v]},A={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},C=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,b,x,S,{match:/\$\d+/},y];v.contains=C.concat({begin:/\{/,end:/\}/,keywords:u,contains:["self"].concat(C)});const L=[].concat(A,v.contains),N=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:u,contains:["self"].concat(L)}]),z={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:u,contains:N},E={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},P={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Wj,...Gj]}},R={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Q={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[z],illegal:/%/},q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function K(I){return t.concat("(?!",I.join("|"),")")}const ee={match:t.concat(/\b/,K([...Kj,"super","import"].map(I=>`${I}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},Y={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},J={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},z]},F="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",B={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(F)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[z]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:u,exports:{PARAMS_CONTAINS:N,CLASS_REFERENCE:P},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),R,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,b,x,S,A,{match:/\$\d+/},y,P,{scope:"attr",match:r+t.lookahead(":"),relevance:0},B,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[A,e.REGEXP_MODE,{className:"function",begin:F,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:u,contains:N}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:l},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},Q,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[z,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},Y,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[z]},ee,q,E,J,{match:/\$[(.]/}]}}function VT(e){const t=e.regex,n=Jie(e),r=Dg,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],l={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},o={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[n.exports.CLASS_REFERENCE]},u={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},d=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],f={$pattern:Dg,keyword:qj.concat(d),literal:Uj,built_in:Zj.concat(i),"variable.language":Vj},m={className:"meta",begin:"@"+r},y=(x,S,T)=>{const A=x.contains.findIndex(C=>C.label===S);if(A===-1)throw new Error("can not find mode to replace");x.contains.splice(A,1,T)};Object.assign(n.keywords,f),n.exports.PARAMS_CONTAINS.push(m);const v=n.contains.find(x=>x.scope==="attr"),_=Object.assign({},v,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,v,_]),n.contains=n.contains.concat([m,l,o,_]),y(n,"shebang",e.SHEBANG()),y(n,"use_strict",u);const b=n.contains.find(x=>x.label==="func.def");return b.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}const ese=/\[\[wiki:([^\]]+)\]\]/g,tse=/^\uFEFF?---[ \t]*\r?\n([\s\S]*?)\r?\n---[ \t]*(?:\r?\n|$)/,nse=/^(\S[^:]*?):[ \t]*(.*)$/,rse=new $j({gfm:!0,breaks:!1}),ZT={ALLOWED_URI_REGEXP:/^(?:(?:https?|mailto):|[#/]|\.{0,2}\/|[^:]+$)/i,ADD_ATTR:["target","rel","data-entry-id"]},X5=yse();function ra(e,t={}){const{entries:n,content:r}=ase(e),i=cse(r,t.resolveWikiLink),l=rse.parse(i,{async:!1}),o=lse(n),u=w0.sanitize(o+l,ZT),d=new DOMParser().parseFromString(u,"text/html");return dse(d,t.omitDuplicateTitle),use(d),hse(d,{copyLabel:t.copyLabel??"Copy",copyAriaLabel:t.copyAriaLabel??(m=>`Copy ${m} code`)}),pse(d),{html:w0.sanitize(d.body.innerHTML,ZT),toc:mse(d)}}function ise(e){const t=new TextEncoder().encode(e);let n="";for(const r of t)n+=String.fromCharCode(r);return btoa(n)}function sse(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return new TextDecoder().decode(n)}function ase(e){const t=tse.exec(e);return t?{entries:ose(t[1]??""),content:e.slice(t[0].length)}:{entries:[],content:e}}function ose(e){const t=[];for(const n of e.split(/\r?\n/)){const r=n.replace(/\s+$/,"");if(r.trim()==="")continue;const i=nse.exec(r);if(i){const[,u="",d=""]=i;t.push({key:u.trim(),value:d.trim()});continue}const l=t[t.length-1];if(!l)continue;const o=r.trim();l.value=l.value?`${l.value} ${o}`:o}return t}function lse(e){return e.length===0?"":`<dl class="frontmatter">${e.map(n=>`<dt>${k0(n.key)}</dt><dd>${k0(n.value)}</dd>`).join("")}</dl>`}function cse(e,t){return e.replace(ese,(n,r)=>{const i=r.trim();if(!i)return"";if(!t)return k0(`[[wiki:${i}]]`);const l=t(i);if(l===null)return k0(`[[wiki:${i}]]`);const o=k0(i),u=encodeURIComponent(i);return`<a href="${l}" data-entry-id="${u}">${o}</a>`})}function use(e){const t=new Map;for(const n of e.querySelectorAll("h2, h3")){const r=n.textContent?.trim()??"",i=_se(r||"section"),l=t.get(i)??0;t.set(i,l+1),n.id=l===0?i:`${i}-${l+1}`}}function dse(e,t){if(!t)return;const n=e.body.querySelector("h1, h2, h3, h4, h5, h6");!n||n.tagName.toLowerCase()!=="h1"||YT(n.textContent??"")===YT(t)&&n.remove()}function hse(e,t){for(const n of e.querySelectorAll("pre > code")){const r=vse(n.className),i=n.textContent??"",l=n.parentElement;if(!l)continue;if(r==="mermaid"){const u=e.createElement("div");u.className="diagram-block",u.setAttribute("data-mermaid-source",ise(i)),u.setAttribute("data-diagram-state","pending"),l.replaceWith(u);continue}const o=gse(i,r);n.innerHTML=o,n.classList.add("hljs"),l.classList.add("code-block"),l.dataset.code=i,l.insertBefore(fse(e,r||"text",t),l.firstChild)}}function fse(e,t,n){const r=e.createElement("div");r.className="code-block-toolbar";const i=e.createElement("span");i.className="code-block-dots",i.setAttribute("aria-hidden","true");for(let u=0;u<3;u++)i.append(e.createElement("span"));const l=e.createElement("span");l.className="code-block-language",l.textContent=t;const o=e.createElement("button");return o.className="copy-code",o.type="button",o.dataset.action="copy-code",o.setAttribute("aria-label",n.copyAriaLabel(t)),o.textContent=n.copyLabel,r.append(i,l,o),r}function pse(e){for(const t of e.querySelectorAll("a")){const n=t.getAttribute("href")??"";bse(n)&&(t.setAttribute("target","_blank"),t.setAttribute("rel","noopener noreferrer"))}}function mse(e){return[...e.querySelectorAll("h2, h3")].map(t=>({id:t.id,text:t.textContent?.trim()??t.id,level:t.tagName.toLowerCase()==="h2"?2:3}))}function gse(e,t){return t&&X5.getLanguage(t)?X5.highlight(e,{language:t}).value:X5.highlightAuto(e).value}function yse(){return As.registerLanguage("bash",qT),As.registerLanguage("sh",qT),As.registerLanguage("javascript",WT),As.registerLanguage("js",WT),As.registerLanguage("json",Xie),As.registerLanguage("markdown",GT),As.registerLanguage("md",GT),As.registerLanguage("python",KT),As.registerLanguage("py",KT),As.registerLanguage("typescript",VT),As.registerLanguage("ts",VT),As}function vse(e){return e.match(/language-([a-z0-9_-]+)/i)?.[1]?.toLowerCase()??null}function bse(e){return/^[a-z][a-z0-9+.-]*:/i.test(e)&&!e.startsWith(window.location.origin)}function _se(e){return e.trim().toLowerCase().replace(/[^\p{Letter}\p{Number}]+/gu,"-").replace(/^-+|-+$/g,"")||"section"}function YT(e){return e.trim().replace(/\s+/g," ").toLocaleLowerCase("en-US")}function k0(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}const Yj={renderFailed:e=>`Diagram render failed: ${e}`,openExpandedAria:"Open diagram in expanded view",lightboxTitle:"MANIFEST · DIAGRAM",close:"Close",closeExpandedAria:"Close expanded diagram",zoomControlsAria:"Diagram zoom controls",zoomOutAria:"Zoom out",zoomInAria:"Zoom in",fit:"Fit",fitAria:"Fit diagram to viewport",reset:"Reset",resetAria:"Reset diagram zoom"};let ps=Yj;const wse=".diagram-block[data-mermaid-source]:not([data-diagram-state='rendered']):not([data-diagram-state='error'])",xse=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])"].join(","),kse=/^on/i,Sse={USE_PROFILES:{svg:!0,svgFilters:!1},FORBID_TAGS:["foreignObject","script"],FORBID_ATTR:["href","xlink:href"]},XT="diagramInteractionBound",Tse=/^oklch\s*\(\s*([^)]+)\s*\)$/i,Cse=/^(-?\d+(?:\.\d+)?)(deg)?$/i,js=[25,50,75,100,125,150,200],Lse=["pie1","pie2","pie3","pie4","pie5","pie6","pie7","pie8","pie9","pie10","pie11","pie12"];let J5=null;const JT=new WeakSet;let Ese=0,Ase=0,z0=null;function sl(e){const t=e.trim();if(!t)return t;const n=Yse(t);return n?Xse(n):t}function Bg(e,t){if(t&&(ps={...Yj,...t}),JT.has(e))return;JT.add(e),eC(e);const n=e instanceof Node?e:document.body;new MutationObserver(i=>{let l=!1;for(const o of i)if(o.type==="childList"){z0&&!z0.trigger.isConnected&&a0(!1);for(const u of o.addedNodes)if(u instanceof Element&&(u.matches?.(".diagram-block[data-mermaid-source]")||u.querySelector?.(".diagram-block[data-mermaid-source]"))){l=!0;break}if(l)break}l&&eC(e)}).observe(n,{childList:!0,subtree:!0})}function eC(e){const t=e.querySelectorAll(wse);for(const n of t)n.dataset.diagramHydrating!=="true"&&(n.dataset.diagramHydrating="true",n.dataset.diagramState="pending",Mse(n))}async function Mse(e){const t=e.getAttribute("data-mermaid-source")??"";let n="";try{n=sse(t)}catch{ev(e,"Invalid diagram source");return}if(!n.trim()){ev(e,"Empty diagram source");return}try{const r=await Nse(),i=`mermaid-diagram-${++Ese}`,{svg:l}=await r.render(i,n);e.innerHTML=Rse(l),Ise(e,l),Dse(e),Bse(e),e.dataset.diagramState="rendered"}catch(r){const i=r instanceof Error?r.message:String(r);ev(e,i)}}function ev(e,t){e.dataset.diagramState="error",e.textContent=ps.renderFailed(t)}function Rse(e){const t=(n,r)=>{kse.test(r.attrName)&&(r.keepAttr=!1)};w0.addHook("uponSanitizeAttribute",t);try{return w0.sanitize(e,Sse)}finally{w0.removeHook("uponSanitizeAttribute",t)}}async function Nse(){return J5||(J5=(async()=>{const e=await Fre(()=>import("./mermaid.core-CtpLAI-c.js").then(n=>n.bC),[]),t=e.default??e;return t.initialize({securityLevel:"strict",htmlLabels:!1,suppressErrorRendering:!0,startOnLoad:!1,theme:"base",look:"handDrawn",themeVariables:jse(),themeCSS:Ose(),flowchart:{htmlLabels:!1,useMaxWidth:!1}}),t})()),J5}function jse(){const e=getComputedStyle(document.documentElement),t=(x,S)=>{const T=e.getPropertyValue(x).trim();return sl(T||S)},n=(x,S)=>e.getPropertyValue(x).trim()||S,r=t("--brass","#c69a4a"),i=t("--brass-bright","#e6b86a"),l=t("--brass-deep","#a0782a"),o=t("--aurora","#8bd7e6"),u=t("--aurora-deep","#1f8aa8"),d=t("--coral","#ef7c63"),f=t("--ink-deep","#1d2734"),m=t("--ink-fog","#a6afbb"),y=t("--ink-pearl","#e6e9ef"),v=t("--ink-spectral","#bcc4d0"),_=[i,r,o,d,sl("oklch(70% 0.11 68)"),u,sl("oklch(76% 0.09 205)"),l,sl("oklch(68% 0.14 30)"),m,sl("oklch(62% 0.08 228)"),sl("oklch(52% 0.05 248)")],b=Object.fromEntries(Lse.map((x,S)=>[x,_[S]??f]));return{background:"transparent",primaryColor:"transparent",primaryTextColor:y,primaryBorderColor:r,secondaryColor:"transparent",secondaryTextColor:y,secondaryBorderColor:i,tertiaryColor:"transparent",tertiaryTextColor:v,tertiaryBorderColor:r,lineColor:u,edgeLabelBackground:"transparent",titleColor:i,fontFamily:"JetBrains Mono Variable, ui-monospace, monospace",mainBkg:"transparent",nodeBorder:r,clusterBkg:"transparent",clusterBorder:r,pieTitleTextColor:i,pieTitleTextSize:n("--font-size-title-lg","19px"),pieSectionTextColor:y,pieSectionTextSize:n("--font-size-md","13px"),pieLegendTextColor:y,pieLegendTextSize:n("--font-size-lg","14px"),pieStrokeColor:l,pieStrokeWidth:"1.35px",pieOuterStrokeColor:i,pieOuterStrokeWidth:"2.5px",pieOpacity:"0.96",...b}}function Ose(){const e=getComputedStyle(document.documentElement),t=(f,m)=>{const y=e.getPropertyValue(f).trim();return sl(y||m)},n=t("--brass-deep","#a0782a"),r=t("--brass-bright","#e6b86a"),i=t("--aurora-deep","#1f8aa8"),l=t("--ink-abyss","#131920"),o=sl("oklch(15% 0.04 250 / 34%)"),u=t("--surface-glass","#1d2734"),d=t("--ink-pearl","#e6e9ef");return`
|
|
145
145
|
.node rect, .node polygon, .node circle, .node ellipse, .actor, .classGroup rect {
|
|
146
146
|
stroke: ${n};
|
|
147
147
|
fill: ${u};
|
|
@@ -194,7 +194,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),ot=Ue,de=Tt),Lt===void
|
|
|
194
194
|
paint-order: stroke;
|
|
195
195
|
filter: saturate(0.78) brightness(0.92) drop-shadow(0 0 0.55px ${r});
|
|
196
196
|
}
|
|
197
|
-
`}function Ise(e,t){const n=new DOMParser().parseFromString(t,"image/svg+xml"),r=Array.from(n.querySelectorAll("a")),i=Array.from(e.querySelectorAll("a")),l=Math.min(r.length,i.length);for(let o=0;o<l;o++){const u=r[o],d=i[o];if(!u||!d)continue;const f=u.getAttribute("href")??u.getAttribute("xlink:href")??"",m=Jj(f);m&&d.setAttribute("href",m)}}function Dse(e){const t=e.querySelector("svg");if(!t)return;let n;try{n=t.getBBox()}catch{return}const{x:r,y:i,width:l,height:o}=n;!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(l)||!Number.isFinite(o)||r<0||i<0||l<=0||o<=0||t.setAttribute("viewBox",`${Nu(r)} ${Nu(i)} ${Nu(l)} ${Nu(o)}`)}function Bse(e){e.tabIndex=0,e.setAttribute("aria-label",ps.openExpandedAria),Kse(e),e.dataset[XT]!=="true"&&(e.dataset[XT]="true",e.addEventListener("click",Pse),e.addEventListener("keydown",Fse))}function Pse(e){if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0||Pg(e.target))return;const t=e.currentTarget;t instanceof HTMLElement&&(e.preventDefault(),Xj(t))}function Fse(e){if(e.key!=="Enter"&&e.key!==" "||Pg(e.target))return;const t=e.currentTarget;t instanceof HTMLElement&&(e.preventDefault(),Xj(t))}function Xj(e){const t=e.querySelector("svg");if(!t)return;a0(!1);const n=typeof HTMLDialogElement<"u"&&typeof HTMLDialogElement.prototype.showModal=="function",r=document.createElement(n?"dialog":"div"),i=++Ase,l=`diagram-lightbox-title-${i}`;r.className="diagram-lightbox",r.setAttribute("aria-labelledby",l),n||(r.setAttribute("role","dialog"),r.setAttribute("aria-modal","true"),r.tabIndex=-1);const o=document.createElement("div");o.className="diagram-lightbox__frame";const u=document.createElement("div");u.className="diagram-lightbox__header";const d=document.createElement("h2");d.id=l,d.textContent=ps.lightboxTitle;const f=document.createElement("button");f.className="diagram-lightbox__close",f.type="button",f.setAttribute("aria-label",ps.closeExpandedAria),f.textContent=ps.close;const m=document.createElement("div");m.className="diagram-lightbox__controls",m.setAttribute("aria-label",ps.zoomControlsAria);const y=Yp("−",ps.zoomOutAria,"out"),v=document.createElement("span");v.className="diagram-lightbox__zoom-readout",v.setAttribute("aria-live","polite");const _=Yp("+",ps.zoomInAria,"in"),b=Yp(ps.fit,ps.fitAria,"fit"),x=Yp(ps.reset,ps.resetAria,"reset");m.append(y,v,_,b,x);const S=document.createElement("div");S.className="diagram-lightbox__viewport";const T=Hse(t),A=t.cloneNode(!0);A.removeAttribute("style"),qse(A,`diagram-lightbox-svg-${i}`),S.append(A),u.append(d,m,f),o.append(u,S),r.append(o),document.body.append(r);const C=new $se(S,A,v,T);y.addEventListener("click",()=>C.zoomOut()),_.addEventListener("click",()=>C.zoomIn()),b.addEventListener("click",()=>C.fit()),x.addEventListener("click",()=>C.reset());const L=Use(r),N=P=>{(P.target===r||P.target===f)&&a0(!0)},z=P=>{if(P.key==="Escape"){P.preventDefault(),a0(!0);return}C.handleKeyboard(P)||P.key==="Tab"&&Gse(P,r)},E={dialog:r,trigger:e,inertStates:L,onClick:N,onKeyDown:z,cleanupPanZoom:()=>C.destroy()};n&&(E.onCancel=P=>{P.preventDefault(),a0(!0)},r.addEventListener("cancel",E.onCancel),r.showModal()),r.addEventListener("click",N),document.addEventListener("keydown",z,!0),z0=E,C.fit(),f.focus()}function Yp(e,t,n){const r=document.createElement("button");return r.className="diagram-lightbox__zoom-button",r.type="button",r.dataset.zoomAction=n,r.setAttribute("aria-label",t),r.textContent=e,r}class $se{constructor(t,n,r,i){this.viewport=t,this.svg=n,this.readout=r,this.baseSize=i,this.applyZoom(this.zoomIndex),t.addEventListener("pointerdown",this.onPointerDown),t.addEventListener("pointermove",this.onPointerMove),t.addEventListener("pointerup",this.onPointerEnd),t.addEventListener("pointercancel",this.onPointerEnd),t.addEventListener("wheel",this.onWheel,{passive:!1}),t.addEventListener("dblclick",this.onDoubleClick),window.addEventListener("resize",this.onResize)}viewport;svg;readout;baseSize;zoomIndex=js.indexOf(100);dragStart=null;pinchStart=null;pointers=new Map;destroy(){this.viewport.removeEventListener("pointerdown",this.onPointerDown),this.viewport.removeEventListener("pointermove",this.onPointerMove),this.viewport.removeEventListener("pointerup",this.onPointerEnd),this.viewport.removeEventListener("pointercancel",this.onPointerEnd),this.viewport.removeEventListener("wheel",this.onWheel),this.viewport.removeEventListener("dblclick",this.onDoubleClick),window.removeEventListener("resize",this.onResize),this.pointers.clear()}zoomIn(){this.zoomAroundViewportCenter(Math.min(this.zoomIndex+1,js.length-1))}zoomOut(){this.zoomAroundViewportCenter(Math.max(this.zoomIndex-1,0))}reset(){this.zoomAroundViewportCenter(js.indexOf(100))}fit(){const t=this.viewport.clientWidth||this.viewport.getBoundingClientRect().width||this.baseSize.width,n=this.viewport.clientHeight||this.viewport.getBoundingClientRect().height||this.baseSize.height,r=Math.min(t/this.baseSize.width,n/this.baseSize.height),i=Math.floor(r*100),l=js.findIndex(u=>u>i),o=l===-1?js.length-1:Math.max(0,l-1);this.applyZoom(o),this.viewport.scrollLeft=Math.max(0,(this.svgWidth-t)/2),this.viewport.scrollTop=Math.max(0,(this.svgHeight-n)/2)}handleKeyboard(t){return t.key==="+"||t.key==="="?(t.preventDefault(),this.zoomIn(),!0):t.key==="-"||t.key==="_"?(t.preventDefault(),this.zoomOut(),!0):t.key==="0"?(t.preventDefault(),this.reset(),!0):t.key.toLowerCase()==="f"?(t.preventDefault(),this.fit(),!0):!1}get svgWidth(){return this.baseSize.width*(Xp(this.zoomIndex)/100)}get svgHeight(){return this.baseSize.height*(Xp(this.zoomIndex)/100)}applyZoom(t){this.zoomIndex=t;const n=Xp(this.zoomIndex),r=n/100;this.svg.setAttribute("width",Nu(this.baseSize.width*r)),this.svg.setAttribute("height",Nu(this.baseSize.height*r)),this.readout.textContent=`${n}%`}zoomAroundViewportCenter(t){const n=this.viewport.getBoundingClientRect();this.zoomAroundPoint(t,n.left+n.width/2,n.top+n.height/2)}zoomAroundPoint(t,n,r){if(t===this.zoomIndex)return;const i=this.svgWidth,l=this.svgHeight,o=this.viewport.getBoundingClientRect(),u=this.viewport.scrollLeft+n-o.left,d=this.viewport.scrollTop+r-o.top;this.applyZoom(t),this.viewport.scrollLeft=u/i*this.svgWidth-(n-o.left),this.viewport.scrollTop=d/l*this.svgHeight-(r-o.top)}onPointerDown=t=>{if(t.button!==0||Pg(t.target))return;const n=t.pointerId??1;if(this.pointers.set(n,t),this.pointers.size===2){this.pinchStart={distance:this.pointerDistance(),zoomIndex:this.zoomIndex};return}this.dragStart={x:t.clientX,y:t.clientY,scrollLeft:this.viewport.scrollLeft,scrollTop:this.viewport.scrollTop,pointerId:n},this.viewport.setPointerCapture?.(n)};onPointerMove=t=>{const n=t.pointerId??1;if(this.pointers.has(n)&&this.pointers.set(n,t),this.pinchStart&&this.pointers.size>=2){const r=this.pointerDistance()/this.pinchStart.distance,i=Xp(this.pinchStart.zoomIndex)*r;this.applyZoom(zse(i));return}!this.dragStart||this.dragStart.pointerId!==n||(t.preventDefault(),this.viewport.scrollLeft=this.dragStart.scrollLeft-(t.clientX-this.dragStart.x),this.viewport.scrollTop=this.dragStart.scrollTop-(t.clientY-this.dragStart.y))};onPointerEnd=t=>{const n=t.pointerId??1;this.pointers.delete(n),this.viewport.releasePointerCapture?.(n),this.dragStart?.pointerId===n&&(this.dragStart=null),this.pointers.size<2&&(this.pinchStart=null)};onWheel=t=>{if(!t.ctrlKey&&!t.metaKey)return;t.preventDefault();const n=t.deltaY<0?Math.min(this.zoomIndex+1,js.length-1):Math.max(this.zoomIndex-1,0);this.zoomAroundPoint(n,t.clientX,t.clientY)};onDoubleClick=t=>{Pg(t.target)||(t.preventDefault(),this.zoomAroundPoint(this.zoomIndex===js.indexOf(200)?js.indexOf(100):js.indexOf(200),t.clientX,t.clientY))};onResize=()=>{this.fit()};pointerDistance(){const[t,n]=Array.from(this.pointers.values());return!t||!n?1:Math.hypot(n.clientX-t.clientX,n.clientY-t.clientY)}}function Qse(e){const t=tC(e.getAttribute("width")),n=tC(e.getAttribute("height"));if(t&&n)return{width:t,height:n};const r=e.getAttribute("viewBox")?.trim().split(/[\s,]+/).map(Number)??[],i=r[2],l=r[3],o=i!==void 0&&Number.isFinite(i)&&i>0?i:null,u=l!==void 0&&Number.isFinite(l)&&l>0?l:null;return{width:t??o??800,height:n??u??600}}function Hse(e){const t=e.getBoundingClientRect();return t.width>0&&t.height>0?{width:t.width,height:t.height}:Qse(e)}function tC(e){if(!e)return null;const t=/^(\d+(?:\.\d+)?)/.exec(e.trim());if(!t)return null;const n=Number(t[1]);return Number.isFinite(n)&&n>0?n:null}function Nu(e){return Number.isInteger(e)?String(e):e.toFixed(2).replace(/\.?0+$/,"")}function zse(e){let t=0,n=Number.POSITIVE_INFINITY;return js.forEach((r,i)=>{const l=Math.abs(r-e);l<n&&(n=l,t=i)}),t}function Xp(e){return js[e]??js[0]}function qse(e,t){const n=e.getAttribute("id")??"";e.setAttribute("id",t);const r=e.querySelector("style");!n||!r?.textContent||(r.textContent=r.textContent.split(`#${n}`).join(`#${t}`))}function a0(e){const t=z0;t&&(t.dialog.removeEventListener("click",t.onClick),document.removeEventListener("keydown",t.onKeyDown,!0),t.onCancel&&t.dialog.removeEventListener("cancel",t.onCancel),t.cleanupPanZoom(),Wse(t.inertStates),t.dialog instanceof HTMLDialogElement&&t.dialog.open&&typeof t.dialog.close=="function"&&t.dialog.close(),t.dialog.remove(),z0=null,e&&t.trigger.isConnected&&t.trigger.focus())}function Use(e){const t=[];for(const n of Array.from(document.body.children))!(n instanceof HTMLElement)||n===e||(t.push({element:n,ariaHidden:n.getAttribute("aria-hidden"),inert:n.inert}),n.inert=!0,n.setAttribute("aria-hidden","true"));return t}function Wse(e){for(const t of e)t.element.inert=t.inert,t.ariaHidden===null?t.element.removeAttribute("aria-hidden"):t.element.setAttribute("aria-hidden",t.ariaHidden)}function Gse(e,t){const n=Array.from(t.querySelectorAll(xse)).filter(Zse);if(n.length===0){e.preventDefault(),t.focus();return}const r=n[0],i=n[n.length-1];!r||!i||(e.shiftKey&&document.activeElement===r?(e.preventDefault(),i.focus()):!e.shiftKey&&document.activeElement===i&&(e.preventDefault(),r.focus()))}function Kse(e){e.querySelector("a[href]")?e.removeAttribute("role"):e.setAttribute("role","button")}function Pg(e){if(!(e instanceof Element))return!1;const t=e.closest("a[href]");return!t||!(t.getAttribute("href")?.trim()??"")?!1:!Vse(t)}function Vse(e){return Array.from(e.children).some(t=>t.tagName.toLowerCase()==="svg")}function Zse(e){return!(e.inert||e.hidden||e.getAttribute("aria-hidden")==="true"||"disabled"in e&&e.disabled)}function Jj(e){const t=e.trim();if(!t||t.includes(".."))return null;if(/^[a-z][a-z0-9+.-]*:/i.test(t)){if(/^javascript:/i.test(t)||/^data:/i.test(t))return null;let r;try{r=new URL(t)}catch{return null}return r.origin!==window.location.origin?null:Jj(r.pathname)}if(/^\/entry\/[^/?#]+$/.exec(t)){const r=t.slice(7);let i;try{i=decodeURIComponent(r)}catch{return null}return/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(i)?`/entry/${encodeURIComponent(i)}`:null}return/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(t)?`/entry/${encodeURIComponent(t)}`:null}function Yse(e){const t=Tse.exec(e);if(!t)return null;const n=t[1]?.trim();if(!n)return null;const r=n.indexOf("/"),i=r>=0?n.slice(0,r):n,l=r>=0?n.slice(r+1).trim():"",o=i.trim().split(/[\s,]+/).filter(Boolean);if(o.length!==3)return null;const[u,d,f]=o;if(!u||!d||!f)return null;const m=tv(u,1),y=tv(d,.4),v=Jse(f);if(m===null||y===null||v===null)return null;let _=1;if(r>=0){const b=tv(l,1);if(b===null)return null;_=b}return{L:m,C:y,h:v,alpha:_}}function Xse(e){const t=e.h*Math.PI/180,n=e.C*Math.cos(t),r=e.C*Math.sin(t),i=e.L,l=i+.3963377774*n+.2158037573*r,o=i-.1055613458*n-.0638541728*r,u=i-.0894841775*n-1.291485548*r,d=l**3,f=o**3,m=u**3,y=4.0767416621*d-3.3077115913*f+.2309699292*m,v=-1.2684380046*d+2.6097574011*f-.3413193965*m,_=-.0041960863*d-.7034186147*f+1.707614701*m,b=Jp(nv(y)),x=Jp(nv(v)),S=Jp(nv(_));if(e.alpha<1){const T=Jp(e.alpha);return`#${Yl(b)}${Yl(x)}${Yl(S)}${Yl(T)}`}return`#${Yl(b)}${Yl(x)}${Yl(S)}`}function tv(e,t){if(!e)return null;if(e.endsWith("%")){const r=Number(e.slice(0,-1));return Number.isFinite(r)?r/100*t:null}const n=Number(e);return Number.isFinite(n)?n:null}function Jse(e){const t=Cse.exec(e);if(!t)return null;const n=Number(t[1]);return Number.isFinite(n)?n:null}function nv(e){const t=Math.max(0,Math.min(1,e));return t>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t}function Jp(e){return Math.round(Math.max(0,Math.min(1,e))*255)}function Yl(e){return e.toString(16).padStart(2,"0")}const eae=/\[(e\d+)\]/g,nC=/\[e\d+\]/;function tae(e,t){if(!nC.test(e)||typeof DOMParser>"u")return e;const n=new DOMParser().parseFromString(e,"text/html"),r=n.createTreeWalker(n.body,NodeFilter.SHOW_TEXT),i=[];for(let l=r.nextNode();l;l=r.nextNode()){const o=l;nC.test(o.data)&&(o.parentElement?.closest("code, pre, a")||i.push(o))}for(const l of i){const o=n.createDocumentFragment();let u=0;for(const d of l.data.matchAll(eae)){const f=d.index??0;f>u&&o.append(n.createTextNode(l.data.slice(u,f)));const m=n.createElement("button");m.type="button",m.className="session-analyst__ev",m.title=t,m.setAttribute("data-analysis-evidence",d[1]??""),m.textContent=d[1]??"",o.append(m),u=f+d[0].length}u<l.data.length&&o.append(n.createTextNode(l.data.slice(u))),l.replaceWith(o)}return n.body.innerHTML}const nae=new Set(["path","cwd","canonicalcwd","transcriptpath","providersession","sessionid","token","ticket","url","mcpurl","rawtranscript"]),rae=50*1024;function q0(e){return!e||typeof e!="object"?!1:Array.isArray(e)?e.some(q0):Object.entries(e).some(([t,n])=>nae.has(t.toLowerCase())||q0(n))}function iae(e){if(q0(e)||!Tc(e)||!Array.isArray(e.clis))return null;const t=e.clis.map(oae);return t.every(n=>n!==null)?{clis:t}:null}function sae(e){return q0(e)||!Tc(e)||typeof e.type!="string"?null:e.type==="connected"?{type:"connected"}:(e.type==="chunk"||e.type==="thought")&&typeof e.text=="string"?{type:e.type,text:e.text}:e.type==="tool"&&typeof e.title=="string"&&typeof e.status=="string"?{type:"tool",title:e.title,status:e.status}:e.type==="complete"?{type:"complete"}:e.type==="error"&&eO(e.error)?{type:"error",error:e.error}:e.type==="artifact"&&Tc(e.artifact)&&typeof e.artifact.id=="string"&&typeof e.artifact.title=="string"&&typeof e.artifact.html=="string"&&typeof e.artifact.createdAt=="number"&&lae(e.artifact.html)<=rae?{type:"artifact",artifact:{id:e.artifact.id,title:e.artifact.title,html:e.artifact.html,createdAt:e.artifact.createdAt}}:null}function aae(e){return!q0(e)&&Tc(e)&&eO(e.error)?e.error:null}function oae(e){if(!Tc(e)||typeof e.cliId!="string"||typeof e.label!="string"||typeof e.available!="boolean"||!Array.isArray(e.models))return null;const t=e.models.map(n=>Tc(n)&&typeof n.id=="string"&&typeof n.label=="string"&&Array.isArray(n.effortLevels)&&n.effortLevels.every(r=>typeof r=="string")?{id:n.id,label:n.label,effortLevels:n.effortLevels,defaultEffort:typeof n.defaultEffort=="string"?n.defaultEffort:void 0}:null);return t.every(n=>n!==null)?{cliId:e.cliId,label:e.label,available:e.available,defaultModel:typeof e.defaultModel=="string"?e.defaultModel:void 0,models:t}:null}function eO(e){return Tc(e)&&typeof e.code=="string"&&typeof e.message=="string"}function Tc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function lae(e){return new TextEncoder().encode(e).byteLength}class F3 extends Error{constructor(t,n){super(n),this.code=t}code}const yf=e=>`analysis/${encodeURIComponent(e)}`,cae="/plugins/terminal/analysis/stream",uae={type:"error",error:{code:"analysis_session_not_found",message:"Analysis session was not found."}},tO=250,dae=4e3;let Fs=null,ad=0,$3=0,nO=new Set,j4=!1,Ku=null,Nm=tO;const yc=new Map;function Fg(e,t,n,r,i,l,o,u){const d=new URLSearchParams({theme:t,canvas:n,foreground:r});return i&&d.set("surface",i),l&&d.set("hairline",l),o&&d.set("accent",o),u&&d.set("muted",u),`/plugins/terminal/analysis/artifacts/${encodeURIComponent(e)}?${d.toString()}`}async function rC(e){const t=await U1(e,"analysis/catalog"),n=await t.json().catch(()=>null),r=iae(n);if(r)return r;throw W1(t.status,n)}async function hae(e,t){try{const n=await U1(e,`${yf(t)}/ready`);if(!n.ok)return!1;const r=await n.json().catch(()=>null);return!!r&&typeof r=="object"&&!Array.isArray(r)&&r.ready===!0}catch{return!1}}async function fae(e,t,n,r){await I4(e,`${yf(t)}/start`,n,r)}async function pae(e,t,n){await I4(e,`${yf(t)}/message`,{text:n})}async function rv(e,t){await I4(e,`${yf(t)}/stop`,{})}async function rO(e,t){const n=await U1(e,`${yf(t)}/artifacts`,{method:"DELETE"});if(!n.ok)throw W1(n.status,await n.json().catch(()=>null))}function mae(e,t,n){return gae(t,n)}function gae(e,t){let n=yc.get(e);return n||(n={listeners:new Set,confirmedEpoch:null},yc.set(e,n)),n.listeners.add(t),vae(),queueMicrotask(()=>{n.listeners.has(t)&&Fs?.readyState===EventSource.OPEN&&(!j4||!nO.has(e)||n.confirmedEpoch===null&&(n.confirmedEpoch=$3,t({type:"connected"})))}),()=>{n.listeners.delete(t),n.listeners.size===0&&yc.delete(e),yae()}}function q1(){for(const e of yc.values())if(e.listeners.size>0)return!0;return!1}function O4(){j4=!1}function iO(){Nm=tO}function sO(){Ku!==null&&(clearTimeout(Ku),Ku=null)}function yae(){q1()||(sO(),O4(),Fs?.close(),Fs=null,iO())}function aO(){sO(),O4(),Fs?.close(),ad+=1;const e=ad,t=new EventSource(cae);Fs=t,bae(t,e)}function vae(){if(!(Fs&&Fs.readyState!==EventSource.CLOSED)){if(Fs?.readyState===EventSource.CLOSED){q1()&&oO();return}aO()}}function bae(e,t){e.onmessage=n=>{Fs!==e||ad!==t||typeof n.data=="string"&&kae(n.data,t)},e.onerror=()=>{Fs!==e||ad!==t||(O4(),e.readyState!==EventSource.CONNECTING&&e.readyState===EventSource.CLOSED&&q1()&&oO())}}function oO(){if(Ku!==null)return;const e=Nm;Nm=Math.min(Nm*2,dae),Ku=setTimeout(()=>{Ku=null,q1()&&(Fs!==null&&Fs.readyState!==EventSource.CLOSED||aO())},e)}function Q3(e,t){const n=yc.get(e);if(n)for(const r of n.listeners)r(t)}function _ae(e,t){if(ad!==t)return;const n=new Set(e);for(const[r,i]of yc)i.confirmedEpoch!==null&&!n.has(r)&&(Q3(r,uae),i.confirmedEpoch=null);$3+=1,nO=n,j4=!0,iO();for(const r of e){const i=yc.get(r);i&&(i.confirmedEpoch=$3,Q3(r,{type:"connected"}))}}function lO(e,t){const n=Object.keys(e);return n.length===t.size&&n.every(r=>t.has(r))}function wae(e){if(!lO(e,new Set(["type","operationIds"]))||e.type!=="connected"||!Array.isArray(e.operationIds))return null;for(const t of e.operationIds)if(typeof t!="string")return null;return e.operationIds}function xae(e){if(!lO(e,new Set(["type","operationId","event"]))||e.type!=="event"||typeof e.operationId!="string"||!e.event||typeof e.event!="object"||Array.isArray(e.event))return null;const t=sae(e.event);return t?{operationId:e.operationId,event:t}:null}function kae(e,t){if(ad!==t)return;let n;try{n=JSON.parse(e)}catch{return}if(!n||typeof n!="object"||Array.isArray(n))return;const r=n,i=wae(r);if(i){_ae(i,t);return}const l=xae(r);l&&Q3(l.operationId,l.event)}async function I4(e,t,n,r){const i=await U1(e,t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),...r?{signal:r}:{}});if(!i.ok)throw W1(i.status,await i.json().catch(()=>null))}async function U1(e,t,n){try{return await e.fetch("terminal",t,n)}catch(r){throw r instanceof wi?W1(r.status,r.body):r}}function W1(e,t){const n=aae(t);return new F3(n?.code??`analysis_http_${e}`,n?.message??"Analysis is unavailable.")}const Sae=32,H3={catalog:null,cliId:"",model:"",effort:"",draft:"",queue:[],started:!1,busy:!1,phase:"idle",latestActivity:null,runStartedAt:null,runEndedAt:null,entries:[],tools:[],artifacts:[],artifactAuthoring:null,artifactPublished:null,selectionLocked:!1,selectionSaved:!1,viewMode:"chat",error:null};function Tae(e,t){if(t.type==="catalog")return{...e,catalog:t.catalog,...iC(t.catalog,t.selection)};if(t.type==="select-cli"&&!e.started){const r=e.catalog?.clis.find(l=>l.cliId===t.cliId),i=r?.models.find(l=>l.id===r.defaultModel)??r?.models[0];return{...e,cliId:t.cliId,model:i?.id??"",effort:i?.defaultEffort??i?.effortLevels[0]??""}}if(t.type==="select-model"&&!e.started){const r=e.catalog?.clis.find(i=>i.cliId===e.cliId)?.models.find(i=>i.id===t.model);return{...e,model:t.model,effort:r?.defaultEffort??r?.effortLevels[0]??""}}if(t.type==="select-effort"&&!e.started)return{...e,effort:t.effort};if(t.type==="set-draft")return{...e,draft:t.draft};if(t.type==="queue-push")return{...e,queue:[...e.queue,t.text]};if(t.type==="queue-cancel")return t.index<0||t.index>=e.queue.length?e:{...e,queue:e.queue.filter((r,i)=>i!==t.index)};if(t.type==="queue-clear")return e.queue.length>0?{...e,queue:[]}:e;if(t.type==="sending")return{...e,started:e.started||t.started,busy:!0,phase:"starting",latestActivity:{kind:"starting",connected:!t.started},runStartedAt:t.now,runEndedAt:null,error:null,tools:[],artifactAuthoring:null,artifactPublished:null,entries:[...e.entries,{role:"user",text:t.text,at:t.now}]};if(t.type==="error")return Fh(e,t.message,t.now);if(t.type==="session-lost")return{...Fh(e,"Analysis session ended — send again to restart.",t.now),started:!1};if(t.type==="start-failed")return{...Fh(e,t.message,t.now),started:!1};if(t.type==="stopped")return{...e,queue:[],started:!1,busy:!1,phase:"stopped",runEndedAt:t.now,artifactAuthoring:null,error:null,entries:z3(e,"stopped",t.now)};if(t.type==="stop-failed"){const r=`Stop failed: ${t.message}`;return{...Fh({...e,entries:Lae(e.entries,r)},r,t.now),started:!1}}if(t.type==="reset"){const r=e.catalog;return r?{...H3,catalog:r,selectionLocked:e.selectionLocked,...iC(r,t.selection)}:{...H3,selectionLocked:e.selectionLocked}}if(t.type==="selection-lock")return e.selectionLocked===t.locked?e:{...e,selectionLocked:t.locked};if(t.type==="selection-saved")return{...e,selectionSaved:!0};if(t.type==="selection-saved-clear")return e.selectionSaved?{...e,selectionSaved:!1}:e;if(t.type==="clear-artifacts")return{...e,artifacts:[],artifactPublished:null};if(t.type==="view-mode")return e.viewMode===t.mode?e:{...e,viewMode:t.mode};if(t.type!=="event")return e;const n=t.event;if(n.type==="connected")return e.phase==="starting"?{...e,latestActivity:{kind:"starting",connected:!0}}:e;if(n.type==="chunk")return{...e,phase:"writing",latestActivity:{kind:"writing"},entries:Eae(e.entries,n.text,t.now)};if(n.type==="thought")return{...e,phase:"reasoning",latestActivity:{kind:"reasoning"}};if(n.type==="tool"){const r=n.status.toLowerCase(),i=n.title.toLowerCase().includes("publish_artifact")&&(r==="pending"||r==="in_progress");return{...e,phase:"tool",latestActivity:{kind:"tool",title:n.title,status:n.status},tools:[...e.tools.filter(l=>l.title!==n.title),{title:n.title,status:n.status}],...i?{artifactAuthoring:e.artifactAuthoring??{startedAt:t.now},artifactPublished:null}:{}}}return n.type==="artifact"?{...e,artifacts:[n.artifact,...e.artifacts.filter(r=>r.id!==n.artifact.id)].slice(0,Sae),artifactPublished:{artifact:n.artifact,durationMs:e.artifactAuthoring?t.now-e.artifactAuthoring.startedAt:null},artifactAuthoring:null}:n.type==="complete"?{...e,busy:!1,phase:"complete",runEndedAt:t.now,artifactAuthoring:null,error:null,entries:z3(e,"complete",t.now)}:Fh(e,n.error.message,t.now)}function Cae(e){const t=e.clis.find(i=>i.cliId==="claude"&&i.available)??e.clis.find(i=>i.available)??e.clis[0],n=t?.models.find(i=>t.cliId==="claude"&&i.id==="sonnet")??t?.models.find(i=>i.id===t.defaultModel)??t?.models[0],r=n?.effortLevels.includes("medium")?"medium":n?.defaultEffort??n?.effortLevels[0]??"";return{cliId:t?.cliId??"",model:n?.id??"",effort:r}}function iC(e,t){const n=Cae(e);if(!t)return n;const r=e.clis.find(m=>m.cliId===t.cliId&&m.available),i=r??e.clis.find(m=>m.cliId===n.cliId);if(!i)return n;const l=r?i.models.find(m=>m.id===i.defaultModel)??i.models[0]:i.models.find(m=>m.id===n.model)??i.models.find(m=>m.id===i.defaultModel)??i.models[0],u=i.models.find(m=>m.id===t.model)??l;if(!u)return{cliId:i.cliId,model:"",effort:""};const d=u.effortLevels.includes("medium")?"medium":u.defaultEffort??u.effortLevels[0]??"",f=u.effortLevels.length===0?t.effort===""?"":d:u.effortLevels.includes(t.effort)?t.effort:d;return{cliId:i.cliId,model:u.id,effort:f}}function Fh(e,t,n){return{...e,queue:[],busy:!1,phase:"error",runEndedAt:n,artifactAuthoring:null,error:t,entries:z3(e,"error",n,t)}}function Lae(e,t){const n=e.at(-1);return n?.role!=="analyst"||n.receipt?.outcome!=="stopped"?e:[...e.slice(0,-1),{...n,receipt:{...n.receipt,outcome:"error",error:t}}]}function z3(e,t,n,r){const i=e.entries.at(-1);if(i?.role==="analyst"&&i.receipt)return e.entries;const l=e.runStartedAt===null?0:Math.max(0,n-e.runStartedAt),o={outcome:t,durationMs:l,tools:e.tools,...r!==void 0?{error:r}:{}};return i?.role!=="analyst"?i?.role!=="user"?e.entries:[...e.entries,{role:"analyst",text:"",at:n,receipt:o}]:[...e.entries.slice(0,-1),{...i,receipt:o}]}function Eae(e,t,n){const r=e.at(-1);return r?.role==="analyst"?[...e.slice(0,-1),{...r,text:r.text+t}]:[...e,{role:"analyst",text:t,at:n}]}const $g=new Map,pu=new Map;function G1(e){const t=Aae(e.operationId,e.api,e.settings,e.language);return{state:p.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot),dispatch:t.dispatch,send:t.send,stop:t.stop,reset:t.reset,refreshCatalog:t.refreshCatalog}}function Aae(e,t,n,r){const i=$g.get(e);if(i)return i.updateContext(n,r),i;const l=jae(e,t,n,r);return $g.set(e,l),l}function Mae(e){$g.get(e)?.dispose()}const Rae=2e3,Nae=12e4;function jae(e,t,n,r){let i=H3,l=n,o=r,u=null,d=!1,f=null,m=null,y=null,v=null,_=null,b=null,x=null,S=Promise.resolve(),T=0,A=null,C=0,L=0;const N=new Set,z=B=>{if(d)return;const I=B.type==="select-cli"||B.type==="select-model"||B.type==="select-effort";if(I&&i.selectionLocked)return;const H=Tae(i,B);if(H!==i){I&&A!==null&&(clearTimeout(A),A=null),i=I&&H.selectionSaved?{...H,selectionSaved:!1}:H;for(const O of N)O();I&&E({cliId:i.cliId,model:i.model,effort:i.effort})}},E=B=>{const I=l;if(!I)return;const H=++T;S=S.then(async()=>{try{if(await x4(I,{analyst:{selection:B}}),u=B,d||H!==T)return;z({type:"selection-saved"}),A=setTimeout(()=>{A=null,z({type:"selection-saved-clear"})},1500)}catch{}})},P=()=>{m!==null&&(clearTimeout(m),m=null)},R=()=>{P(),m=setTimeout(()=>{m=null,z({type:"error",message:"Analysis response timed out.",now:Date.now()})},Nae)},Q=()=>{P(),C+=1,L+=1;const B=f;f=null,B?.()},q=()=>{Q(),z({type:"session-lost",now:Date.now()})},K=async()=>{if(f)return;const B=++C;let I=null;const H=new Promise(O=>{I=O});f=mae(t,e,O=>{if(B!==C||d)return;if(O.type==="connected"){z({type:"event",event:O,now:Date.now()}),I?.(),I=null;return}if(O.type==="error"&&aC(O.error.code)){I?.(),I=null,q();return}(O.type==="complete"||O.type==="error")&&P();const M=O.type==="complete"?i.queue[0]:void 0;z({type:"event",event:O,now:Date.now()}),M!==void 0&&!i.busy&&!d&&B===C&&(z({type:"queue-cancel",index:0}),J.send(M))}),await Promise.race([H,new Promise(O=>setTimeout(O,Rae))])},ee=()=>{if(d)return;const B=pu.get(e),I=x,H=b,O=v,M=S,Z=_;d=!0,$g.delete(e),Q(),A!==null&&clearTimeout(A),N.clear(),Z?.abort();const W=(async()=>{B&&await B,O&&await O.catch(()=>{}),I&&await I.catch(()=>{}),H&&await H.catch(()=>{}),await M,await rv(t,e)})().catch(()=>{});pu.set(e,W),W.finally(()=>{pu.get(e)===W&&pu.delete(e)})},Y=()=>{i.started||y||(y=rC(t).then(B=>{d||i.started||z({type:"catalog",catalog:B,selection:{cliId:i.cliId,model:i.model,effort:i.effort}})}).catch(()=>{}).finally(()=>{y=null}))},J={getSnapshot:()=>i,subscribe:B=>(N.add(B),()=>N.delete(B)),dispatch:z,send:async B=>{const I=pu.get(e);if(I&&await I,x)try{await x}catch{return}b&&await b;const H=B.trim();if(!H||i.busy||d)return;const O=!i.started,M=++L,Z={cliId:i.cliId,model:i.model,effort:i.effort,...o?{language:o}:{}};if(z({type:"sending",started:O,text:H,now:Date.now()}),O){const W=new AbortController,ne=fae(t,e,Z,W.signal);_=W,v=ne;try{await ne}catch(me){if(d||M!==L)return;if(!(me instanceof F3&&me.code==="analysis_session_exists")){z({type:"start-failed",message:$h(me),now:Date.now()});return}}finally{_===W&&(_=null),v===ne&&(v=null)}if(d||M!==L||!i.started||(await K(),M!==L||!i.started))return}try{if(await pae(t,e,H),M!==L||!i.busy||!i.started)return;R()}catch(W){if(d||M!==L)return;W instanceof F3&&aC(W.code)?q():z({type:"error",message:$h(W),now:Date.now()})}},stop:async()=>{if(x){await x.catch(()=>{});return}if(b)return b;if(d||!i.started)return;Q(),z({type:"stopped",now:Date.now()});const B=rv(t,e).catch(I=>{z({type:"stop-failed",message:$h(I),now:Date.now()})});b=B,await B,b===B&&(b=null)},reset:async()=>{if(x)return x;if(d)return;z({type:"selection-lock",locked:!0});const B=i.started||i.phase!=="idle"||i.entries.length>0||i.artifacts.length>0;Q();const I=(async()=>{b&&await b,v&&await v.catch(()=>{}),await S,B&&await rv(t,e),await rO(t,e).catch(()=>{}),z({type:"reset",selection:u}),Y()})().catch(H=>{throw z({type:"error",message:`Reset failed: ${$h(H)}`,now:Date.now()}),H});x=I;try{await I}finally{x===I&&(x=null),z({type:"selection-lock",locked:!1})}},refreshCatalog:Y,dispose:ee,updateContext:(B,I)=>{B&&(l=B),o=I}};return y=(pu.get(e)??Promise.resolve()).then(()=>Promise.all([rC(t),Oae(l)])).then(([B,I])=>{u=I,z({type:"catalog",catalog:B,selection:I})}).catch(B=>z({type:"error",message:$h(B),now:Date.now()})).finally(()=>{y=null}),J}async function Oae(e){if(!e)return null;try{const t=await e.read("terminal");if(!t)return null;const n=sC(t.analyst),r=sC(n.selection);if(typeof r.cliId!="string"||typeof r.model!="string"||typeof r.effort!="string")return null;const i={cliId:r.cliId,model:r.model==="fable"?"fable[1m]":r.model,effort:r.effort};return i.model!==r.model&&await x4(e,{analyst:{selection:i}}).catch(()=>{}),i}catch{return null}}function sC(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function $h(e){return e instanceof Error?e.message:"Analysis is unavailable."}function aC(e){return e==="analysis_exited"||e==="analysis_session_not_found"}const Qg="session-analyst-chat",D4=[Qg];function B4(e,t){return!!e.companionsOpen&&!(e.hiddenCompanionPanelIds??[]).includes(t)}function cO(e){if(!(!e.companionsOpen||!e.onSetCompanionPanelVisible)){for(const t of D4)B4(e,t)&&e.onSetCompanionPanelVisible(t,!1);e.onRequestCompanions?.(!1)}}function Iae({context:e}){const{state:t,dispatch:n}=G1(e),r=e.language??"en",i=xt(r),l=p.useMemo(()=>[...t.artifacts].reverse(),[t.artifacts]),o=t.artifacts[0]?.id??null,[u,d]=p.useState(null),[f,m]=p.useState(!1),[y,v]=p.useState(!1),[_,b]=p.useState(!1),x=p.useId(),S=p.useId(),T=p.useRef(null),A=p.useRef(null),C=p.useRef(null),L=p.useRef(null),N=p.useRef(null),z=p.useRef(!1),E=p.useRef(0);p.useEffect(()=>{o&&d(o)},[o]);const P=l.find(F=>F.id===u)??l.at(-1)??null,R=l.length,Q=()=>{N.current!==null&&(clearTimeout(N.current),N.current=null),b(!1)},q=(F=!1)=>{E.current+=1,v(!1),Q(),F&&C.current?.focus()};p.useEffect(()=>{if(!f)return;const F=I=>{I.target instanceof Node&&!T.current?.contains(I.target)&&m(!1)},B=I=>{I.key==="Escape"&&m(!1)};return document.addEventListener("pointerdown",F),document.addEventListener("keydown",B),()=>{document.removeEventListener("pointerdown",F),document.removeEventListener("keydown",B)}},[f]),p.useEffect(()=>{R||m(!1)},[R]),p.useEffect(()=>{if(!y)return;const F=I=>{I.target instanceof Node&&!A.current?.contains(I.target)&&q()},B=I=>{I.key==="Escape"&&q(!0)};return document.addEventListener("pointerdown",F),document.addEventListener("keydown",B),()=>{document.removeEventListener("pointerdown",F),document.removeEventListener("keydown",B)}},[y]),p.useEffect(()=>{P||q()},[P?.id]),p.useEffect(()=>{E.current+=1,Q()},[y,P?.id]),p.useEffect(()=>{y&&L.current?.querySelector('[role="menuitem"]')?.focus()},[y]),p.useEffect(()=>(z.current=!1,()=>{z.current=!0,N.current!==null&&(clearTimeout(N.current),N.current=null)}),[]);const K=()=>{if(!P)return;q(!0);const F=new Blob([P.html],{type:"text/html"}),B=URL.createObjectURL(F),I=document.createElement("a"),H=P.title.replace(/[^\p{L}\p{N}._-]+/gu,"-").replace(/^-+|-+$/g,"").replace(/^\.+/,""),O=/[\p{L}\p{N}]/u.test(H)?H:"artifact";I.href=B,I.download=`${O}.html`,I.click(),URL.revokeObjectURL(B)},ee=async()=>{if(!P)return;const F=E.current;try{if(await navigator.clipboard.writeText(P.html),z.current||F!==E.current)return;b(!0),N.current!==null&&clearTimeout(N.current),N.current=setTimeout(()=>{N.current=null,!z.current&&b(!1)},1500),C.current?.focus()}catch{if(z.current||F!==E.current)return;q(!0)}},Y=()=>{if(!P)return;q(!0);const{canvas:F,foreground:B,surface:I,hairline:H,accent:O,muted:M}=uO(),Z=I||H||O||M?Fg(P.id,e.theme,F,B,I,H,O,M):Fg(P.id,e.theme,F,B);window.open(Z,"_blank","noopener")},J=F=>{if(F.key==="Escape"){F.preventDefault(),F.stopPropagation(),q(!0);return}if(F.key==="Tab"){q();return}const B=[...L.current?.querySelectorAll('[role="menuitem"]')??[]];if(!B.length)return;const I=B.indexOf(document.activeElement);let H=null;F.key==="ArrowDown"&&(H=(I+1)%B.length),F.key==="ArrowUp"&&(H=(I-1+B.length)%B.length),F.key==="Home"&&(H=0),F.key==="End"&&(H=B.length-1),H!==null&&(F.preventDefault(),B[H]?.focus())};return s.jsxs("section",{className:"session-analyst__artifacts","aria-label":i("terminal.companion.artifacts"),children:[s.jsxs("header",{className:"session-analyst__panel-head--artifacts",children:[s.jsx("span",{className:"session-analyst__panel-mark--artifact","aria-hidden":"true",children:"◆"}),s.jsxs("span",{className:"session-analyst__panel-copy",children:[s.jsx("strong",{children:i("terminal.companion.artifacts")}),s.jsx("small",{children:i("terminal.artifacts.subtitle")})]}),s.jsxs("div",{className:"session-analyst__artifact-list-shell",ref:T,children:[s.jsxs("button",{type:"button",className:"session-analyst__artifact-count","aria-expanded":f,"aria-controls":x,"aria-haspopup":"listbox","aria-label":i(f?R===1?"terminal.artifacts.hideCount_one":"terminal.artifacts.hideCount_other":R===1?"terminal.artifacts.showCount_one":"terminal.artifacts.showCount_other",{count:R}),onClick:()=>m(F=>!F),disabled:!R,children:[s.jsx("strong",{children:R})," ",s.jsx("span",{children:r==="ko"?"개":R===1?"item":"items"}),s.jsx("i",{"aria-hidden":"true"})]}),f?s.jsx("div",{className:"session-analyst__artifact-menu",id:x,role:"listbox","aria-label":i("terminal.artifacts.published"),children:l.map(F=>{const B=F.id===P?.id;return s.jsxs("button",{type:"button",role:"option","aria-selected":B,className:B?"is-active":void 0,title:F.title,onClick:()=>{d(F.id),m(!1)},children:[s.jsx("span",{className:"session-analyst__artifact-list-mark","aria-hidden":"true",children:"◇"}),s.jsx("strong",{children:F.title}),s.jsx(dO,{createdAt:F.createdAt,language:r})]},F.id)})}):null]}),s.jsxs("div",{className:"session-analyst__export-shell",ref:A,children:[s.jsx("button",{type:"button",className:"session-analyst__export",ref:C,"aria-haspopup":"menu","aria-expanded":y,"aria-controls":S,disabled:!P,onClick:()=>{y?q():(E.current+=1,v(!0))},children:i("terminal.artifacts.export")}),y?s.jsxs("div",{className:"session-analyst__export-menu",id:S,role:"menu",ref:L,onKeyDown:J,children:[s.jsx("button",{type:"button",role:"menuitem",onClick:K,children:i("terminal.artifacts.exportDownload")}),s.jsx("button",{type:"button",role:"menuitem",onClick:()=>{ee()},children:i(_?"terminal.artifacts.exportCopied":"terminal.artifacts.exportCopy")}),s.jsx("button",{type:"button",role:"menuitem",onClick:Y,children:i("terminal.artifacts.exportOpenTab")})]}):null]}),s.jsx("button",{type:"button",className:"session-analyst__clear",onClick:()=>{m(!1),n({type:"clear-artifacts"}),rO(e.api,e.operationId).catch(()=>{})},disabled:!R,children:i("terminal.artifacts.clear")})]}),R===0?s.jsxs("div",{className:"session-analyst__artifacts-empty",children:[s.jsx("strong",{children:i("terminal.artifacts.emptyTitle")}),i("terminal.artifacts.emptyBody")]}):s.jsx("div",{className:"session-analyst__artifact-content",children:P?s.jsx(Dae,{artifact:P,theme:e.theme,language:r},P.id):null})]})}function Dae({artifact:e,theme:t,language:n}){if(!e.id)return null;const r=xt(n),{canvas:i,foreground:l,surface:o,hairline:u,accent:d,muted:f}=uO(),m=o||u||d||f?s.jsx("iframe",{title:e.title,src:Fg(e.id,t,i,l,o,u,d,f),sandbox:"allow-scripts"}):s.jsx("iframe",{title:e.title,src:Fg(e.id,t,i,l),sandbox:"allow-scripts"});return s.jsxs("article",{"aria-label":r("terminal.artifacts.selectedPreview"),children:[s.jsxs("header",{children:[s.jsx("span",{className:"session-analyst__artifact-title",children:e.title}),s.jsx(dO,{createdAt:e.createdAt,language:n})]}),m]})}function uO(){const e=getComputedStyle(document.documentElement),t=e.getPropertyValue("--ink-veil").trim()||"Canvas",n=e.getPropertyValue("--ink-pearl").trim()||"CanvasText";return{canvas:t,foreground:n,surface:e.getPropertyValue("--ink-deep").trim(),hairline:e.getPropertyValue("--hairline").trim(),accent:e.getPropertyValue("--aurora").trim(),muted:e.getPropertyValue("--ink-muted").trim()}}function dO({createdAt:e,language:t}){const n=xt(t),r=new Date(e),i=Number.isFinite(r.getTime());return s.jsx("time",{dateTime:i?r.toISOString():void 0,children:i?r.toLocaleTimeString(t==="ko"?"ko-KR":"en",{hour:"2-digit",minute:"2-digit"}):n("terminal.artifacts.unknownTime")})}const Bae=32;function oC(e){const t=xt(e);return{copyLabel:t("terminal.markdown.copy"),copyAriaLabel:n=>t("terminal.markdown.copyCodeAria",{language:n})}}const od=p.memo(function({text:t,streaming:n,className:r,language:i="en",transformHtml:l}){const o=p.useRef(t),u=p.useRef(n?t:""),d=p.useRef(null),f=p.useRef(l);f.current=l;const m=b=>{const x=ra(b,oC(i)).html;return f.current?f.current(x):x},[y,v]=p.useState(()=>n?m(t):"");o.current=t;const _=p.useMemo(()=>{if(n)return null;const b=ra(t,oC(i)).html;return l?l(b):b},[n,t,i,l]);return p.useEffect(()=>{if(!n){d.current!==null&&window.clearTimeout(d.current),d.current=null;return}u.current===t||d.current!==null||(d.current=window.setTimeout(()=>{d.current=null;const b=o.current;b!==u.current&&(u.current=b,v(m(b)))},Bae))},[n,t,i]),p.useEffect(()=>()=>{d.current!==null&&window.clearTimeout(d.current)},[]),s.jsx("div",{className:r,dangerouslySetInnerHTML:{__html:_??y}})}),Pae=[{icon:"◈",tone:"aurora",textKey:"terminal.analyst.suggestion.walkthrough"},{icon:"●",tone:"aurora",textKey:"terminal.analyst.suggestion.whatDoing"},{icon:"▲",tone:"coral",textKey:"terminal.analyst.suggestion.flagReview"},{icon:"≡",tone:"brass",textKey:"terminal.analyst.suggestion.handoffBrief"}],Fae=[{icon:"◈",tone:"aurora",labelKey:"terminal.analyst.followup.goDeeper",textKey:"terminal.analyst.prompt.goDeeper"},{icon:"▲",tone:"coral",labelKey:"terminal.analyst.followup.intentDrift",textKey:"terminal.analyst.prompt.intentDrift"},{icon:"≡",tone:"brass",labelKey:"terminal.analyst.followup.toArtifact",textKey:"terminal.analyst.prompt.toArtifact"},{icon:"●",tone:"aurora",labelKey:"terminal.analyst.followup.whatDoingNow",textKey:"terminal.analyst.suggestion.whatDoing"}],$ae=[{command:"/now",descriptionKey:"terminal.analyst.slash.now",templateKey:"terminal.analyst.suggestion.whatDoing"},{command:"/drift",descriptionKey:"terminal.analyst.slash.drift",templateKey:"terminal.analyst.prompt.intentDrift"},{command:"/brief",descriptionKey:"terminal.analyst.slash.brief",templateKey:"terminal.analyst.prompt.handoffBriefArtifact"},{command:"/risks",descriptionKey:"terminal.analyst.slash.risks",templateKey:"terminal.analyst.prompt.flagReviewBeforeContinue"},{command:"/timeline",descriptionKey:"terminal.analyst.slash.timeline",templateKey:"terminal.analyst.prompt.walkthrough"}];function Qae({context:e}){const{state:t,dispatch:n,send:r,stop:i,refreshCatalog:l}=G1(e),o=e.language??"en",u=xt(o),d=Xae(),[f,m]=p.useState(0),[y,v]=p.useState(!1),_=t.catalog?.clis.find(O=>O.cliId===t.cliId),b=_?.models.find(O=>O.id===t.model),x=t.entries.length>0,S=t.viewMode,T=p.useRef(null),A=p.useRef(null),C=t.entries.at(-1),L=t.draft.startsWith("/")?$ae.filter(O=>O.command.toLowerCase().startsWith(t.draft.toLowerCase())):[],N=!y&&L.length>0,z=`analysis-${e.operationId}-slash-listbox`,E=O=>`analysis-${e.operationId}-slash-${O.slice(1)}`,P=N?L[Math.min(f,L.length-1)]:void 0,R=u("terminal.analyst.evidenceCited"),Q=Zae(t),q=p.useCallback(O=>tae(O,R),[R]),K=p.useRef(x).current,ee=x&&!K;p.useLayoutEffect(()=>{const O=T.current;!O||!x||(O.scrollTop=O.scrollHeight)},[x,C?.text,t.entries.length,t.latestActivity,t.phase,t.artifactAuthoring,t.artifactPublished,S]),p.useLayoutEffect(()=>{const O=A.current;O&&cC(O)},[t.draft,S]),p.useLayoutEffect(()=>{const O=A.current;if(!O||typeof ResizeObserver>"u")return;const M=new ResizeObserver(()=>cC(O));return M.observe(O),()=>M.disconnect()},[S]),p.useEffect(()=>{const O=T.current;O&&Bg(O,Gte(o))},[o,S]),p.useEffect(()=>{l()},[l]);const Y=async(O,M)=>{const Z=O.trim();if(Z){if(t.busy){n({type:"queue-push",text:Z}),M&&n({type:"set-draft",draft:""});return}M&&n({type:"set-draft",draft:""}),await r(Z)}},J=O=>{const M=L[O];M&&(n({type:"set-draft",draft:u(M.templateKey)}),v(!0),m(0),window.requestAnimationFrame(()=>A.current?.focus()))},F=p.useCallback(O=>{const M=O.target,Z=M.closest("[data-analysis-evidence]");if(Z){const me=Z.getAttribute("data-analysis-evidence");me&&(n({type:"set-draft",draft:u("terminal.analyst.evidencePrompt",{ref:me})}),window.requestAnimationFrame(()=>A.current?.focus()));return}const W=M.closest('[data-action="copy-code"]');if(!W)return;const ne=W.closest("pre")?.getAttribute("data-code");ne&&Uae(W,ne,o)},[n,o,u]),B=s.jsxs(s.Fragment,{children:[t.busy?s.jsx("button",{type:"button",className:"session-analyst__send session-analyst__stop","aria-label":u("terminal.analyst.stop"),onClick:()=>{i()},children:s.jsx("span",{"aria-hidden":"true"})}):null,s.jsx("button",{type:"submit",className:"session-analyst__send","aria-label":u(t.busy?"terminal.analyst.queueQuestion":"terminal.analyst.send"),disabled:!t.draft.trim(),children:s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6","aria-hidden":"true",children:s.jsx("path",{d:"M6 10 V2 M2.5 5.5 L6 2 l3.5 3.5"})})})]}),I=t.entries.reduce((O,M,Z)=>M.role==="analyst"?Z:O,-1),H=t.phase!=="idle"&&C?.role==="user"&&(t.busy||t.phase==="error"||t.phase==="stopped");return s.jsx("section",{className:`session-analyst__chat-pane ${x?"has-interacted":"is-initial"}`,"aria-label":u("terminal.analyst.chatAria"),"data-phase":t.phase,children:S==="artifacts"?s.jsx(Iae,{context:e}):s.jsxs("div",{className:"session-analyst__workspace",children:[s.jsxs("section",{ref:T,className:"session-analyst__chat","aria-live":"polite","aria-busy":t.busy,children:[x?s.jsxs("ol",{className:"session-analyst__transcript",onClick:F,children:[t.entries.map((O,M)=>O.role==="user"?s.jsxs("li",{className:"session-analyst__message session-analyst__message--user",children:[s.jsxs("span",{className:"session-analyst__ask-meta",children:[s.jsx("span",{className:"session-analyst__ask-who",children:u("terminal.analyst.you")}),O.at!==void 0?s.jsx("span",{children:Vae(O.at,o)}):null]}),s.jsx("div",{className:"session-analyst__ask-bubble",children:O.text})]},`user-${M}`):s.jsx(lC,{state:t,language:o,entry:O,isLast:M===I&&!H,liveElapsedMs:Q,decorateEvidence:q},`analyst-${M}`)),H?s.jsx(lC,{state:t,language:o,entry:null,isLast:!0,liveElapsedMs:Q,decorateEvidence:q}):null]}):s.jsxs("div",{className:"session-analyst__hero-wrap",children:[s.jsxs("header",{className:"session-analyst__hero",children:[s.jsx("span",{className:"session-analyst__sigil","aria-hidden":"true",children:"✳"}),s.jsx("h2",{children:u("terminal.analyst.askAboutSession")}),s.jsx("p",{children:u("terminal.analyst.heroBody")})]}),s.jsx("div",{className:"session-analyst__suggestions",children:Pae.map(O=>s.jsxs("button",{type:"button",onClick:()=>{Y(u(O.textKey),!1)},children:[s.jsx("span",{className:"session-analyst__suggestion-icon","data-tone":O.tone,"aria-hidden":"true",children:O.icon}),u(O.textKey)]},O.textKey))}),t.phase==="error"?s.jsx(hO,{state:t,language:o,elapsedMs:Q}):null]}),t.artifactAuthoring||t.artifactPublished?s.jsx(Wae,{state:t,language:o,onOpen:()=>n({type:"view-mode",mode:"artifacts"})}):null]}),t.queue.length>0?s.jsx("div",{className:"session-analyst__queue","aria-live":"polite",children:t.queue.map((O,M)=>s.jsxs("div",{className:"session-analyst__queue-item",children:[s.jsx("span",{className:"session-analyst__queue-tag",children:u("terminal.analyst.queued")}),s.jsx("span",{className:"session-analyst__queue-text",children:O}),s.jsx("button",{type:"button","aria-label":u("terminal.analyst.cancelQueued",{"index + 1":M+1}),onClick:()=>n({type:"queue-cancel",index:M}),children:"✕"})]},`${O}-${M}`))}):null,t.phase==="complete"&&!t.busy&&x?s.jsxs("div",{className:"session-analyst__followups",children:[s.jsx("span",{className:"session-analyst__followups-label",children:u("terminal.analyst.followUp")}),s.jsx("div",{className:"session-analyst__followups-row",children:Fae.map(O=>s.jsxs("button",{type:"button",onClick:()=>{Y(u(O.textKey),!1)},children:[s.jsx("span",{className:"session-analyst__suggestion-icon","data-tone":O.tone,"aria-hidden":"true",children:O.icon}),u(O.labelKey)]},O.labelKey))})]}):null,s.jsxs("form",{className:`session-analyst__composer ${x?"is-docked":"is-initial"}${ee?" is-docking":""}${t.busy?" is-working":""}`,"aria-busy":t.busy,onSubmit:O=>{O.preventDefault(),Y(t.draft,!0)},children:[N?s.jsxs("div",{id:z,className:"session-analyst__slash",role:"listbox","aria-label":u("terminal.analyst.commands"),children:[s.jsx("span",{className:"session-analyst__slash-heading",children:u("terminal.analyst.commands")}),L.map((O,M)=>s.jsxs("button",{type:"button",id:E(O.command),role:"option","aria-selected":M===f,className:M===f?"is-selected":void 0,onMouseDown:Z=>Z.preventDefault(),onClick:()=>J(M),children:[s.jsx("span",{children:O.command}),s.jsx("small",{children:u(O.descriptionKey)})]},O.command))]}):null,s.jsxs("div",{className:"session-analyst__composer-surface",children:[s.jsx("label",{className:"session-analyst__sr-only",htmlFor:`analysis-${e.operationId}`,children:u("terminal.analyst.askAboutSession")}),s.jsx("textarea",{ref:A,id:`analysis-${e.operationId}`,role:"combobox","aria-expanded":N,"aria-controls":z,"aria-activedescendant":P?E(P.command):void 0,rows:1,placeholder:u("terminal.analyst.composerPlaceholder"),value:t.draft,onChange:O=>{n({type:"set-draft",draft:O.target.value}),m(0),v(!1)},onKeyDown:O=>{if(O.key==="Escape"&&!O.nativeEvent.isComposing){O.preventDefault(),N?v(!0):t.draft?n({type:"set-draft",draft:""}):cO(e);return}if(N&&!O.nativeEvent.isComposing){if(O.key==="ArrowDown"){O.preventDefault(),m(M=>(M+1)%L.length);return}if(O.key==="ArrowUp"){O.preventDefault(),m(M=>(M-1+L.length)%L.length);return}if(O.key==="Enter"){O.preventDefault(),J(Math.min(f,L.length-1));return}}O.key!=="Enter"||O.shiftKey||O.nativeEvent.isComposing||(O.preventDefault(),Y(t.draft,!0))}}),x?B:s.jsxs("div",{className:"session-analyst__composer-tools","aria-label":u("terminal.analyst.initialSettings"),onFocusCapture:()=>v(!0),children:[(t.catalog?.clis.length??0)>1?s.jsx("span",{className:"session-analyst__select",children:s.jsx(Sa,{compact:!0,label:u("terminal.analyst.cli"),value:t.cliId,disabled:t.started||t.selectionLocked||!t.catalog,options:t.catalog?.clis.map(O=>({value:O.cliId,label:O.label,disabled:!O.available}))??[],onChange:O=>n({type:"select-cli",cliId:O})})}):null,s.jsx("span",{className:"session-analyst__select",children:s.jsx(Sa,{compact:!0,label:u("terminal.analyst.model"),value:t.model,disabled:t.started||t.selectionLocked||!b,options:_?.models.map(O=>({value:O.id,label:O.label}))??[],onChange:O=>n({type:"select-model",model:O})})}),s.jsx("span",{className:"session-analyst__select","data-effort-level":t.effort||"auto",children:s.jsx(Sa,{compact:!0,label:u("terminal.analyst.effort"),value:t.effort,disabled:t.started||t.selectionLocked||!b||!b.effortLevels.length,options:b?.effortLevels.length?b.effortLevels.map(O=>({value:O,label:O})):[{value:"",label:u("terminal.analyst.na")}],onChange:O=>n({type:"select-effort",effort:O})})}),s.jsx("button",{type:"button",className:"session-analyst__slash-hint","aria-label":u("terminal.analyst.commands"),onClick:()=>{n({type:"set-draft",draft:"/"}),v(!1),m(0),window.requestAnimationFrame(()=>A.current?.focus())},children:u("terminal.analyst.slashHint")}),s.jsx("span",{className:"session-analyst__saved","aria-live":"polite","aria-atomic":"true",style:{opacity:t.selectionSaved?1:0,transition:d?"none":"opacity var(--duration-base) var(--ease-glide)"},children:t.selectionSaved?u("terminal.analyst.saved"):""}),B]})]}),t.busy?s.jsx("div",{className:"session-analyst__composer-hint",children:u("terminal.analyst.queueHint")}):null]})]})})}function Hae({context:e}){const{state:t,dispatch:n,reset:r}=G1(e),i=e.language??"en",l=xt(i),o=t.artifacts.length,u=t.artifactAuthoring!==null&&o===0,d=t.viewMode,f=t.started||t.phase!=="idle"||t.draft.length>0||t.queue.length>0||t.entries.length>0||t.artifacts.length>0,m=p.useRef(0),[y,v]=p.useState(0),_=p.useRef(null),b=p.useRef(!1);return p.useEffect(()=>{const x=m.current;if(m.current=o,o===0){d==="artifacts"&&t.artifactAuthoring===null&&(b.current=!0,n({type:"view-mode",mode:"chat"}));return}o>x&&d==="chat"&&v(S=>S+1)},[o,n,d,t.artifactAuthoring]),p.useEffect(()=>{!b.current||d!=="chat"||(b.current=!1,_.current?.closest(".session-analyst__modechip")?.querySelector("button:not(:disabled)")?.focus())},[d]),s.jsxs("div",{className:"session-analyst__chips","data-phase":t.phase,children:[s.jsxs("span",{className:"session-analyst__chip session-analyst__chip--id",children:[s.jsx("i",{className:"session-analyst__chip-dot","aria-hidden":"true"}),s.jsx("span",{"aria-hidden":"true",children:"✳"}),l("terminal.analyst.chipTitle"),s.jsxs("span",{className:"session-analyst__chip-state",children:["· ",Kae(t,i)]})]}),s.jsxs("span",{className:"session-analyst__chip-cluster",children:[s.jsx("button",{type:"button",className:"session-analyst__chip","aria-label":l("terminal.analyst.resetAria"),onClick:()=>{r().catch(()=>{})},disabled:!f,children:l("terminal.analyst.reset")}),s.jsxs("span",{className:"session-analyst__modechip",role:"group","aria-label":l("terminal.analyst.viewMode"),children:[s.jsx("button",{type:"button","aria-pressed":d==="chat",onClick:()=>n({type:"view-mode",mode:"chat"}),children:l("terminal.analyst.mode.chat")}),s.jsxs("button",{ref:_,type:"button",className:u?"is-authoring":void 0,"aria-pressed":d==="artifacts",disabled:o===0&&!u,title:u?l("terminal.analyst.authoringTooltip"):o===0?l("terminal.analyst.artifactsEmptyTooltip"):void 0,onClick:()=>n({type:"view-mode",mode:"artifacts"}),children:[l("terminal.analyst.artifactsHandle"),o>0?s.jsx("span",{className:`session-analyst__chip-count${y>0?" is-pulsing":""}`,children:o},y):null,u?s.jsx("span",{className:"session-analyst__chip-count",children:"…"}):null]})]})]})]})}function lC({state:e,language:t,entry:n,isLast:r,liveElapsedMs:i,decorateEvidence:l}){const o=xt(t),u=n?.receipt,d=r&&e.busy,f=r&&e.phase==="error",m=r&&e.phase==="stopped",y=f||u?.outcome==="error",v=m||u?.outcome==="stopped";return s.jsxs("li",{className:`session-analyst__message session-analyst__message--analyst${d?" is-working":""}${y?" is-error":""}${!y&&v?" is-stopped":""}`,children:[s.jsx("span",{className:"session-analyst__turn-spine","aria-hidden":"true",children:s.jsx("span",{className:"session-analyst__turn-node"})}),s.jsxs("div",{className:"session-analyst__turn-main",children:[d?s.jsx("div",{className:"session-analyst__turn-head",children:o("terminal.chat.turnWorking",{elapsed:co(i)})}):null,!d&&u?.outcome==="complete"?s.jsx("div",{className:"session-analyst__turn-head",children:o("terminal.analyst.turnAnswered",{elapsed:co(u.durationMs)})}):null,d||f?s.jsx(hO,{state:e,language:t,elapsedMs:i}):null,m?s.jsx(zae,{state:e,language:t,elapsedMs:i}):null,!m&&!d&&u?.outcome==="stopped"?s.jsx("div",{className:"session-analyst__stopped",role:"status",children:o("terminal.analyst.stoppedAt",{elapsed:co(u.durationMs)})}):null,!f&&!d&&u?.outcome==="error"?s.jsx("div",{className:"session-analyst__stopped is-error",role:"status",children:`${u.error?dj(t,u.error):o("terminal.analyst.state.needsAttention")} · ${co(u.durationMs)}`}):null,!d&&u?.outcome==="complete"?s.jsx(qae,{language:t,durationMs:u.durationMs,tools:u.tools}):null,n!==null&&n.text!==""?s.jsxs("div",{className:"session-analyst__answer",children:[s.jsx("div",{className:"session-analyst__answer-kicker","aria-hidden":"true",children:o("terminal.chat.answerLabel")}),s.jsx(od,{className:"session-analyst__response markdown-body",text:n.text,streaming:d,language:t,transformHtml:l})]}):null]})]})}function hO({state:e,language:t,elapsedMs:n}){const r=xt(t),i=co(n),l=fO(e.latestActivity,t),o=e.phase==="error",u=Gae(e.latestActivity,t);return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:`session-analyst__pulse${o?" is-error":""}`,role:o?"alert":"status","aria-live":o?void 0:"polite",children:[s.jsx("span",{className:"session-analyst__pulse-orbit","aria-hidden":"true"}),s.jsxs("span",{className:"session-analyst__pulse-copy",children:[s.jsx("strong",{children:o?dj(t,e.error??""):u.label},`${e.phase}-${u.label}`),s.jsx("small",{children:o?t==="ko"?l:`Last confirmed activity: ${l}`:u.note})]}),s.jsx("time",{children:i})]}),o?null:s.jsx("span",{className:"session-analyst__truth-mark",children:r("terminal.analyst.lastConfirmedOnly")})]})}function zae({state:e,language:t,elapsedMs:n}){const r=xt(t),i=co(n),l=fO(e.latestActivity,t);return s.jsx("div",{className:"session-analyst__stopped",role:"status",children:r("terminal.analyst.stoppedReceipt",{activity:l,elapsed:i})})}function qae({language:e,durationMs:t,tools:n}){const r=xt(e),i=co(t),l=n,o=l.length===0?null:l.length===1?r("terminal.chat.oneStep"):r("terminal.chat.stepCount",{count:l.length}),u=o?`${i} · ${o}`:i;return s.jsxs("details",{className:"session-analyst__receipt",children:[s.jsxs("summary",{"aria-label":r("terminal.chat.receiptAria"),children:[s.jsx("span",{className:"session-analyst__receipt-mark","aria-hidden":"true",children:"✓"}),u,s.jsx("span",{className:"session-analyst__receipt-chev","aria-hidden":"true",children:"❯"})]}),l.length>0?s.jsx("div",{className:"session-analyst__receipt-body",children:l.map(d=>s.jsxs("div",{className:"session-analyst__receipt-step",children:[s.jsx("strong",{children:d.title}),s.jsx("small",{children:d.status})]},d.title))}):null]})}function cC(e){e.style.height="auto";const t=window.getComputedStyle(e),n=Number.parseFloat(t.lineHeight)||18.75,r=(Number.parseFloat(t.paddingTop)||0)+(Number.parseFloat(t.paddingBottom)||0),i=n*6+r,l=Math.max(36,Math.min(e.scrollHeight,i));e.style.height=`${l}px`,e.style.overflowY=e.scrollHeight>i?"auto":"hidden"}function Uae(e,t,n){const r=navigator.clipboard;if(!r)return;let i;try{i=r.writeText(t)}catch{return}const l=e.textContent,o=xt(n);i.then(()=>{e.isConnected&&(e.textContent=o("terminal.analyst.copied"),window.setTimeout(()=>{e.isConnected&&(e.textContent=l)},1200))}).catch(()=>{})}function Wae({state:e,language:t,onOpen:n}){const r=xt(t),i=Yae(e.artifactAuthoring?.startedAt??null);if(e.artifactAuthoring)return s.jsxs("div",{className:"session-analyst__author-card is-authoring",children:[s.jsxs("div",{className:"session-analyst__author-head",children:[s.jsx("span",{className:"session-analyst__author-sigil","aria-hidden":"true",children:"✳"}),s.jsx("strong",{className:"session-analyst__author-title",children:r("terminal.analyst.publishingArtifact")}),s.jsx("time",{className:"session-analyst__author-time",children:co(i)})]}),s.jsx("p",{className:"session-analyst__author-sub",children:r("terminal.analyst.authoringBody")}),s.jsx("div",{className:"session-analyst__author-track","aria-hidden":"true",children:s.jsx("span",{})})]});const l=e.artifactPublished;return l?s.jsx("div",{className:"session-analyst__author-card is-done",children:s.jsxs("div",{className:"session-analyst__author-head",children:[s.jsx("span",{className:"session-analyst__author-sigil","aria-hidden":"true",children:"◆"}),s.jsx("strong",{className:"session-analyst__author-title",children:r("terminal.analyst.artifactPublished",{title:l.artifact.title})}),l.durationMs===null?null:s.jsx("time",{className:"session-analyst__author-time",children:co(l.durationMs)}),n?s.jsx("button",{type:"button",className:"session-analyst__author-open",onClick:n,children:r("terminal.analyst.openInArtifacts")}):null]})}):null}function Gae(e,t){const n=xt(t);return!e||e.kind==="starting"?{label:n("terminal.analyst.activity.starting"),note:n(e?.connected?"terminal.analyst.activity.connected":"terminal.analyst.activity.startingSession")}:e.kind==="reasoning"?{label:n("terminal.analyst.activity.reasoning"),note:n("terminal.analyst.activity.thoughtHidden")}:e.kind==="tool"?{label:n("terminal.analyst.activity.usingTool",{title:e.title}),note:n("terminal.analyst.activity.toolStatus",{status:e.status})}:{label:n("terminal.analyst.activity.writing"),note:n("terminal.analyst.activity.answerChunk")}}function fO(e,t){const n=xt(t);return!e||e.kind==="starting"?n("terminal.analyst.activity.starting"):e.kind==="reasoning"?n("terminal.analyst.activity.reasoning"):e.kind==="tool"?`${n("terminal.analyst.activity.usingTool",{title:e.title})} (${e.status})`:n("terminal.analyst.activity.writing")}function Kae(e,t){const n=xt(t);return e.phase==="error"?n("terminal.analyst.state.needsAttention"):e.busy?n("terminal.analyst.state.analyzing"):e.phase==="complete"?n("terminal.analyst.state.complete"):e.phase==="stopped"?n("terminal.analyst.state.stopped"):n("terminal.analyst.state.ready")}function Vae(e,t){const n=new Date(e);return Number.isFinite(n.getTime())?n.toLocaleTimeString(t==="ko"?"ko-KR":"en",{hour:"2-digit",minute:"2-digit"}):""}function Zae(e){const[t,n]=p.useState(()=>Date.now());return p.useEffect(()=>{if(!e.busy)return;n(Date.now());const r=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(r)},[e.busy,e.runStartedAt]),e.runStartedAt===null?0:Math.max(0,(e.runEndedAt??t)-e.runStartedAt)}function Yae(e){const[t,n]=p.useState(()=>Date.now());return p.useEffect(()=>{if(e===null)return;n(Date.now());const r=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(r)},[e]),e===null?0:Math.max(0,t-e)}function co(e){return`${Math.floor(e/1e3)}s`}function Xae(){const[e,t]=p.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return p.useEffect(()=>{if(typeof window.matchMedia!="function")return;const n=window.matchMedia("(prefers-reduced-motion: reduce)"),r=()=>t(n.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}function Jae(e){let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!="object")return null;const n=t;if(typeof n.seq!="number"||!n.event||typeof n.event!="object")return null;const r=n.event;switch(r.kind){case"replay-start":return{seq:n.seq,event:{kind:"replay-start"}};case"context":return typeof r.total!="number"||typeof r.max!="number"||r.max<=0?null:{seq:n.seq,event:{kind:"context",total:r.total,max:r.max,...typeof r.reserved=="number"?{reserved:r.reserved}:{},...typeof r.compactAt=="number"?{compactAt:r.compactAt}:{},slices:iv(r.slices),...Array.isArray(r.memoryFiles)?{memoryFiles:iv(r.memoryFiles)}:{},...Array.isArray(r.mcpTools)?{mcpTools:iv(r.mcpTools)}:{}}};case"replay-end":return{seq:n.seq,event:{kind:"replay-end",turns:q3(r.turns,0)}};case"dispatch":return typeof r.text!="string"?null:{seq:n.seq,event:{kind:"dispatch",text:r.text,...sv(r.at)}};case"turn-start":return{seq:n.seq,event:{kind:"turn-start",...sv(r.at)}};case"text":return typeof r.text!="string"?null:{seq:n.seq,event:{kind:"text",text:r.text}};case"text-delta":return typeof r.text!="string"?null:{seq:n.seq,event:{kind:"text-delta",text:r.text}};case"tool-start":return typeof r.id!="string"||r.id.length===0||typeof r.name!="string"||r.name.length===0?null:{seq:n.seq,event:{kind:"tool-start",id:r.id,name:r.name}};case"tool":return typeof r.name!="string"?null:{seq:n.seq,event:{kind:"tool",name:r.name,detail:typeof r.detail=="string"?r.detail:"",...typeof r.id=="string"&&r.id.length>0?{id:r.id}:{},...r.outside===!0?{outside:!0}:{},...uC(r.change)?{change:uC(r.change)}:{}}};case"ask":{if(typeof r.id!="string"||r.id.length===0||r.form!=="question"&&r.form!=="plan")return null;const i=eoe(r.questions),l=typeof r.plan=="string"&&r.plan.length>0?r.plan:void 0;return(r.form==="question"?i.length===0:l===void 0)?null:{seq:n.seq,event:{kind:"ask",id:r.id,form:r.form,...i.length>0?{questions:i}:{},...l!==void 0?{plan:l}:{},...r.truncated===!0?{truncated:!0}:{}}}}case"ask-settled":{if(typeof r.id!="string"||r.id.length===0)return null;const i=r.outcome;if(i!=="answered"&&i!=="dismissed"&&i!=="approved"&&i!=="revised")return null;const l=Array.isArray(r.answers)?r.answers.flatMap(o=>{if(!o||typeof o!="object")return[];const u=o;return typeof u.header!="string"||typeof u.value!="string"?[]:[{header:u.header,value:u.value}]}):[];return{seq:n.seq,event:{kind:"ask-settled",id:r.id,outcome:i,...l.length>0?{answers:l}:{}}}}case"tool-result":return typeof r.id!="string"||r.id.length===0?null:{seq:n.seq,event:{kind:"tool-result",id:r.id,ok:r.ok===!0,summary:typeof r.summary=="string"?r.summary:""}};case"turn-end":return{seq:n.seq,event:{kind:"turn-end",ok:r.ok===!0,...typeof r.durationMs=="number"&&Number.isFinite(r.durationMs)?{durationMs:r.durationMs}:{},...typeof r.answer=="string"&&r.answer.length>0?{answer:r.answer}:{},...r.stopped===!0?{stopped:!0}:{}}};case"job":return typeof r.id!="string"||r.id.length===0||typeof r.title!="string"?null:{seq:n.seq,event:{kind:"job",id:r.id,jobKind:toe(r.jobKind),title:r.title,...typeof r.toolUseId=="string"&&r.toolUseId.length>0?{toolUseId:r.toolUseId}:{},...typeof r.who=="string"&&r.who.length>0?{who:r.who}:{},...sv(r.at)}};case"job-progress":return typeof r.id!="string"||r.id.length===0?null:{seq:n.seq,event:{kind:"job-progress",id:r.id,...typeof r.note=="string"&&r.note.length>0?{note:r.note}:{},...no("tokens",r.tokens),...no("tools",r.tools),...no("durationMs",r.durationMs),...typeof r.lastTool=="string"&&r.lastTool.length>0?{lastTool:r.lastTool}:{},...Array.isArray(r.stages)?{stages:noe(r.stages)}:{}}};case"job-end":return typeof r.id!="string"||r.id.length===0?null:{seq:n.seq,event:{kind:"job-end",id:r.id,...r.status==="completed"||r.status==="failed"||r.status==="stopped"?{status:r.status}:{},...typeof r.summary=="string"&&r.summary.length>0?{summary:r.summary}:{},...no("tokens",r.tokens),...no("tools",r.tools),...no("durationMs",r.durationMs)}};case"jobs":return Array.isArray(r.ids)?{seq:n.seq,event:{kind:"jobs",ids:r.ids.filter(i=>typeof i=="string"&&i.length>0)}}:null;case"error":return typeof r.code!="string"?null:{seq:n.seq,event:{kind:"error",code:r.code}};default:return null}}function eoe(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||typeof n!="object")continue;const r=n;if(typeof r.question!="string"||r.question.length===0||typeof r.header!="string"||r.header.length===0)continue;const i=[];if(Array.isArray(r.options))for(const l of r.options){if(!l||typeof l!="object")continue;const o=l;typeof o.label!="string"||o.label.length===0||i.push({label:o.label,description:typeof o.description=="string"?o.description:""})}i.length!==0&&t.push({header:r.header,question:r.question,multiSelect:r.multiSelect===!0,options:i})}return t}function toe(e){return e==="agent"||e==="shell"||e==="workflow"?e:"other"}function no(e,t){return typeof t=="number"&&Number.isFinite(t)?{[e]:t}:{}}function noe(e){const t=[];for(const n of e){if(!n||typeof n!="object")continue;const r=n;if(typeof r.title!="string")continue;const i=[];if(Array.isArray(r.agents))for(const l of r.agents){if(!l||typeof l!="object")continue;const o=l;typeof o.label=="string"&&i.push({label:o.label,...typeof o.model=="string"&&o.model.length>0?{model:o.model}:{},state:typeof o.state=="string"?o.state:"unknown",...no("tokens",o.tokens),...no("tools",o.tools),...no("durationMs",o.durationMs),...typeof o.result=="string"&&o.result.length>0?{result:o.result}:{}})}t.push({title:r.title,agents:i})}return t}function uC(e){if(!e||typeof e!="object")return null;const t=e;return typeof t.file!="string"||t.file.length===0?null:{file:t.file,added:q3(t.added,0),removed:q3(t.removed,0)}}function iv(e){return Array.isArray(e)?e.flatMap(t=>{const n=t;return typeof n?.name=="string"&&n.name.length>0&&typeof n.tokens=="number"?[{name:n.name,tokens:n.tokens}]:[]}):[]}function sv(e){return typeof e=="number"&&Number.isFinite(e)?{at:e}:{}}function q3(e,t){return typeof e=="number"&&Number.isFinite(e)?e:t}function roe(e){if(!e||typeof e!="object")return null;const t=e,n=t.truncated===!0;if(t.kind==="shell")return typeof t.tail=="string"?{kind:"shell",tail:t.tail,truncated:n}:null;if(t.kind!=="agent"||!Array.isArray(t.steps))return null;const r=[];for(const i of t.steps){if(!i||typeof i!="object")continue;const l=i;typeof l.name!="string"||l.name.length===0||r.push({name:l.name,...typeof l.detail=="string"&&l.detail.length>0?{detail:l.detail}:{},...l.failed===!0?{failed:!0}:{},...typeof l.outcome=="string"&&l.outcome.length>0?{outcome:l.outcome}:{}})}return{kind:"agent",steps:r,truncated:n}}const dC=6e4,jm={turns:[],replaying:!1,replayedTurns:0,errorCode:null,jobs:[],context:null};function ioe(e,t){switch(t.kind){case"replay-start":return{...jm,replaying:!0};case"replay-end":return{...e,replaying:!1,replayedTurns:t.turns};case"context":{const n={total:t.total,max:t.max,...t.reserved!==void 0?{reserved:t.reserved}:{},...t.compactAt!==void 0?{compactAt:t.compactAt}:{},slices:t.slices,memoryFiles:t.memoryFiles??[],mcpTools:t.mcpTools??[]},r={...e,context:n};return e.turns.length===0?r:Cu(r,i=>({...i,contextBefore:t.total}))}case"dispatch":{const n={dispatch:{text:t.text,...t.at!==void 0?{at:t.at}:{}},items:[],state:e.replaying?"done":"working",toolCount:0,draft:""};return{...e,turns:[...hoe(e),n]}}case"turn-start":{const n=e.turns.at(-1);if(!n||n.state!=="working"){const r={dispatch:null,items:[],state:"working",toolCount:0,draft:"",...t.at!==void 0?{startedAt:t.at}:{}};return{...e,turns:[...e.turns,r]}}return Cu(e,r=>({...r,state:"working",...t.at!==void 0?{startedAt:t.at}:{}}))}case"text":return Cu(em(e,{type:"text",text:t.text}),n=>({...n,draft:""}));case"text-delta":return Cu(e,n=>n.state!=="working"||n.draft.length>=dC?n:{...n,draft:(n.draft+t.text).slice(0,dC)});case"tool-start":return em(e,{type:"tool",name:t.name,detail:"",id:t.id,state:"running"});case"tool":{const n=e.replaying?"done":"running",r={type:"tool",name:t.name,detail:t.detail,state:n,...t.id!==void 0?{id:t.id}:{},...t.outside===!0?{outside:!0}:{},...t.change?{change:t.change}:{}};return(t.id!==void 0?pC(e,t.id,l=>({...r,state:l.state??n})):null)??em(e,r)}case"ask":return em(e,{type:"ask",ask:{id:t.id,form:t.form,questions:t.questions??[],...t.plan!==void 0?{plan:t.plan}:{},...t.truncated===!0?{truncated:!0}:{}}});case"ask-settled":return foe(e,t.id,r=>({...r,outcome:t.outcome,...t.answers?{answers:t.answers}:{}}))??e;case"tool-result":return pC(e,t.id,r=>({...r,state:t.ok?"ok":"fail",...t.summary.length>0?{result:t.summary}:{}}))??e;case"turn-end":return Cu(e,n=>({...n,...n.draft.length>0?{items:[...fC(n.items),{type:"text",text:n.draft}],draft:""}:{items:fC(n.items),draft:""},state:t.stopped===!0?"stopped":t.ok?"done":"error",...t.durationMs!==void 0?{durationMs:t.durationMs}:{},...t.answer!==void 0?{answer:t.answer}:{}}));case"job":{const n=e.jobs.find(i=>i.id===t.id),r={id:t.id,kind:t.jobKind,title:t.title,...t.who!==void 0?{who:t.who}:{},...t.toolUseId!==void 0?{toolUseId:t.toolUseId}:{},...t.at!==void 0?{startedAt:t.at}:{},open:!0,stages:n?.stages??[],ends:n?.ends??0};return{...e,jobs:n?e.jobs.map(i=>i.id===t.id?{...i,...r}:i):[...e.jobs,r]}}case"job-progress":return hC(e,t.id,n=>({...n,open:n.status===void 0?!0:n.open,...t.note!==void 0?{note:t.note}:{},...t.lastTool!==void 0?{lastTool:t.lastTool}:{},...t.tokens!==void 0?{tokens:t.tokens}:{},...t.tools!==void 0?{tools:t.tools}:{},...t.durationMs!==void 0?{durationMs:t.durationMs}:{},...t.stages!==void 0?{stages:t.stages}:{}}));case"job-end":return hC(e,t.id,n=>({...n,open:!1,ends:n.ends+1,...t.status!==void 0?{status:t.status}:{},...t.summary!==void 0?{summary:t.summary}:{},...t.tokens!==void 0?{tokens:t.tokens}:{},...t.tools!==void 0?{tools:t.tools}:{},...t.durationMs!==void 0?{durationMs:t.durationMs}:{}}));case"jobs":{const n=new Set(t.ids),r=new Set(e.jobs.map(l=>l.id)),i=t.ids.filter(l=>!r.has(l)).map(l=>({id:l,kind:"other",title:l,open:!0,stages:[],ends:0}));return{...e,jobs:[...e.jobs.map(l=>({...l,open:n.has(l.id)})),...i]}}case"error":return{...e,errorCode:t.code};default:return e}}function hC(e,t,n){if(!e.jobs.some(r=>r.id===t)){const r={id:t,kind:"other",title:t,open:!0,stages:[],ends:0};return{...e,jobs:[...e.jobs,n(r)]}}return{...e,jobs:e.jobs.map(r=>r.id===t?n(r):r)}}function soe(e){return e.jobs.filter(t=>t.open)}function fC(e){return e.some(t=>t.state==="running")?e.map(t=>t.state==="running"?{...t,state:"done"}:t):e}function aoe(e){const t=e.items.at(-1),n=t?.type==="text"?t.text??"":null,r=doe(e.items),i=e.items.reduce((o,u)=>o+(u.state==="fail"?1:0),0),l=e.items.some(o=>o.type==="ask"&&o.ask?.outcome===void 0);if(e.state==="working"){const o=(n??"")+e.draft;return{ledger:n!==null?e.items.slice(0,-1):e.items,answer:null,streamingText:o.length>0?o:null,changes:r,failed:i,awaiting:l}}return e.state==="error"?{ledger:e.items,answer:null,streamingText:null,changes:r,failed:i,awaiting:l}:e.state==="stopped"?{ledger:n!==null?e.items.slice(0,-1):e.items,answer:null,streamingText:n!==null&&n.length>0?n:null,changes:r,failed:i,awaiting:l}:e.answer!==void 0?{ledger:n!==null&&n.trim()===e.answer.trim()?e.items.slice(0,-1):e.items,answer:e.answer,streamingText:null,changes:r,failed:i,awaiting:l}:n!==null&&n.length>0?{ledger:e.items.slice(0,-1),answer:n,streamingText:null,changes:r,failed:i,awaiting:l}:{ledger:e.items,answer:null,streamingText:null,changes:r,failed:i,awaiting:l}}const ooe={Read:"read",NotebookRead:"read",Write:"write",Edit:"edit",MultiEdit:"edit",NotebookEdit:"edit",Bash:"run",BashOutput:"inspect",TaskOutput:"inspect",Glob:"search",Grep:"search",WebSearch:"search",WebFetch:"fetch",Task:"delegate",Agent:"delegate",Workflow:"workflow",TaskStop:"stop",KillShell:"stop",TodoWrite:"plan",AskUserQuestion:"ask",ExitPlanMode:"propose"};function P4(e){return(e!==void 0?ooe[e]:void 0)??"other"}function loe(e,t=0,n){const r=[];for(const i of e){if(i.type==="text"){const o=i.text!==void 0?coe(i.text):void 0;r.push({...o!==void 0?{note:o}:{},steps:[]});continue}const l=r.at(-1);l?l.steps.push(i):r.push({steps:[i]})}return r.length===0?[]:r.map((i,l)=>{const o=t>0&&l===r.length-1;return uoe(i.note,i.steps,o?t:0,n)}).filter(i=>i.note!==void 0||i.groups.length>0||i.inline.length>0||i.running.length>0)}function coe(e){return e.trim().length>0?e:void 0}function uoe(e,t,n,r){const i=new Set;let l=n;for(let y=t.length-1;y>=0&&l>0;y-=1){const v=t[y];v&&v.type!=="ask"&&(v.state==="running"||v.state==="fail"||v.outside===!0||r?.(v)!==!0&&(i.add(y),l-=1))}const o=[],u=[],d=[],f=[],m=new Map;return t.forEach((y,v)=>{if(y.type==="ask"){o.push(y);return}if(y.state==="running"){u.push(y);return}if(y.state!=="ok"||y.outside===!0||i.has(v)||r?.(y)===!0){o.push(y);return}d.push(y);const _=P4(y.name),b=_==="other"?`other:${y.name??""}`:_,x=m.get(b);if(x===void 0)m.set(b,f.length),f.push({family:_,count:1,..._==="other"?{name:y.name??""}:{}});else{const S=f[x];S&&(f[x]={...S,count:S.count+1})}}),{...e!==void 0?{note:e}:{},groups:f,folded:d,inline:o,running:u}}function doe(e){const t=new Map;for(const n of e){if(!n.change||n.state!=="ok")continue;const r=t.get(n.change.file);r?(r.added+=n.change.added,r.removed+=n.change.removed):t.set(n.change.file,{...n.change})}return[...t.values()]}function hoe(e){if(!e.replaying)return e.turns;const t=e.turns.at(-1);return!t||t.state==="done"?e.turns:[...e.turns.slice(0,-1),{...t,state:"done"}]}function Cu(e,t){const n=e.turns.at(-1);return n?{...e,turns:[...e.turns.slice(0,-1),t(n)]}:e}function pC(e,t,n){for(let r=e.turns.length-1;r>=0;r-=1){const i=e.turns[r];if(!i)continue;const l=i.items.findIndex(f=>f.type==="tool"&&f.id===t);if(l<0)continue;const o=i.items[l];if(!o)continue;const u=[...i.items];u[l]=n(o);const d=[...e.turns];return d[r]={...i,items:u},{...e,turns:d}}return null}function foe(e,t,n){for(let r=e.turns.length-1;r>=0;r-=1){const i=e.turns[r];if(!i)continue;const l=i.items.findIndex(f=>f.type==="ask"&&f.ask?.id===t);if(l<0)continue;const o=i.items[l];if(!o?.ask)continue;const u=[...i.items];u[l]={...o,ask:n(o.ask)};const d=[...e.turns];return d[r]={...i,items:u},{...e,turns:d}}return null}function em(e,t){if(!e.turns.at(-1)){const r={dispatch:null,items:[t],state:e.replaying?"done":"working",toolCount:t.type==="tool"?1:0,draft:""};return{...e,turns:[r]}}return Cu(e,r=>({...r,items:[...r.items,t],toolCount:r.toolCount+(t.type==="tool"?1:0)}))}const poe=["canonicalCwd","cwd","providerSession","ticket","token","transcriptPath","prompt","persona","toolAllowlist"];class mr extends Error{status;shortenByChars;reason;constructor(t,n,r,i){super(n),this.name="AgentApiError",this.status=t,r!==void 0&&(this.shortenByChars=r),i!==void 0&&(this.reason=i)}}async function pO(e){const t=await fetch("/plugins/terminal/agent/state",{signal:e});await Nc(t);const n=await t.json();if(!Array.isArray(n.agentClis))throw new mr(t.status,"Invalid agent state response");return n.agentClis.map(r=>Aoe(r,t.status))}async function moe(e){const t=await fetch("/plugins/terminal/agent/agent-cli/state",{signal:e});await Nc(t);const n=await t.json();if(!Array.isArray(n.clis))throw new mr(t.status,"Invalid Agent CLI state response");return n}async function goe(e){const t=await fetch("/plugins/terminal/agent/agent-cli/diagnostics",{signal:e});await Nc(t);const n=await t.json();if(!Array.isArray(n.entries))throw new mr(t.status,"Invalid Agent CLI diagnostics response");return n}async function yoe(e,t,n){const r=await fetch("/plugins/terminal/agent/agent-cli/path",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({cliCommand:e,path:t}),signal:n});if(!r.ok){const i=await r.json().catch(()=>null);throw new mr(r.status,typeof i?.error=="string"?i.error:`Agent plugin request failed: ${r.status}`)}}async function voe(e){const t=await fetch("/plugins/terminal/agent/sessions",{signal:e});await Nc(t);const n=await t.json();if(!Array.isArray(n.sessions))throw new mr(t.status,"Invalid agent sessions response");return n.sessions.map(r=>K1(r,t.status))}async function boe(e){const t=await fetch("/api/v1/operations",{signal:e});await Nc(t);const n=await t.json();if(!Array.isArray(n.operations))throw new mr(t.status,"Invalid operations response");return{operations:n.operations.map(r=>Moe(r,t.status))}}async function _oe(e,t,n,r){const i=typeof n?.model=="string"&&n.model.length>0?n.model:void 0,l=typeof n?.effort=="string"&&n.effort.length>0?n.effort:void 0,o=typeof n?.prompt=="string"&&n.prompt.length>0?n.prompt:void 0,u=n?.attachmentIds?.length?n.attachmentIds:void 0,d=n?.viewMode==="chat"?"chat":void 0,f=await fetch("/plugins/terminal/agent/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({theaterId:e,cliId:t,...i?{model:i}:{},...l?{effort:l}:{},...o?{prompt:o}:{},...u?{attachmentIds:u}:{},...d?{viewMode:d}:{}}),signal:r});if(!f.ok){const m=await f.json().catch(()=>null);throw new mr(f.status,typeof m?.error=="string"?m.error:`Agent plugin request failed: ${f.status}`,typeof m?.shortenByChars=="number"?m.shortenByChars:void 0)}return K1(await f.json(),f.status)}async function woe(e,t){const n=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/resume`,{method:"POST",...t?.fresh?{headers:{"Content-Type":"application/json"},body:JSON.stringify({fresh:!0})}:{},signal:t?.signal});if(!n.ok){const r=await n.json().catch(()=>null);throw new mr(n.status,typeof r?.error=="string"?r.error:`Agent plugin request failed: ${n.status}`)}return K1(await n.json(),n.status)}async function xoe(e,t,n,r){const i=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:t,...n?.length?{attachmentIds:n}:{}}),signal:r});if(!i.ok){const l=await i.json().catch(()=>null);throw new mr(i.status,typeof l?.error=="string"?l.error:`Agent plugin request failed: ${i.status}`)}}async function koe(e,t,n){const r=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/chat-job-stop`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({jobId:t}),signal:n});if(!r.ok){const i=await r.json().catch(()=>null);throw new mr(r.status,typeof i?.error=="string"?i.error:`Agent plugin request failed: ${r.status}`)}}async function Soe(e,t,n){const r=`?jobId=${encodeURIComponent(t)}`,i=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/chat-job${r}`,{signal:n});if(i.status===404||i.status===409)return null;if(!i.ok){const o=await i.json().catch(()=>null);throw new mr(i.status,typeof o?.error=="string"?o.error:`Agent plugin request failed: ${i.status}`)}const l=await i.json().catch(()=>null);return roe(l)}async function mO(e,t){const n=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/chat`,{method:"POST",signal:t});if(!n.ok){const r=await n.json().catch(()=>null);throw new mr(n.status,typeof r?.error=="string"?r.error:`Agent plugin request failed: ${n.status}`,void 0,typeof r?.reason=="string"?r.reason:void 0)}}async function Toe(e,t){const n=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/chat`,{method:"DELETE",signal:t});if(!n.ok){const r=await n.json().catch(()=>null);throw new mr(n.status,typeof r?.error=="string"?r.error:`Agent plugin request failed: ${n.status}`)}}async function Coe(e,t){const n=await fetch("/plugins/terminal/agent/attachments",{method:"POST",headers:{"Content-Type":e.type||"application/octet-stream"},body:e,signal:t});if(!n.ok){const i=await n.json().catch(()=>null);throw new mr(n.status,typeof i?.error=="string"?i.error:`Agent plugin request failed: ${n.status}`)}const r=await n.json();if(typeof r.id!="string"||r.id.length===0)throw new mr(n.status,"attachment_upload_failed");return{id:r.id}}async function Loe(e,t){const n=await fetch(`/plugins/terminal/agent/attachments/${encodeURIComponent(e)}`,{method:"DELETE",signal:t});await Nc(n)}async function Eoe(e,t){const n=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}`,{method:"DELETE",signal:t});await Nc(n)}function K1(e,t){const n=e;if(!n||typeof n.sessionId!="string"||typeof n.cwdLabel!="string"||typeof n.status!="string"||typeof n.createdAt!="number"||U3(n))throw new mr(t,"Invalid agent session response");return{sessionId:n.sessionId,terminalSessionId:typeof n.terminalSessionId=="string"?n.terminalSessionId:n.sessionId,cwdLabel:n.cwdLabel,label:typeof n.label=="string"?n.label:void 0,cliId:typeof n.cliId=="string"?n.cliId:void 0,cliLabel:typeof n.cliLabel=="string"?n.cliLabel:void 0,status:n.status,turnState:n.turnState==="running"||n.turnState==="ended"?n.turnState:"none",modelActivity:n.modelActivity==="working"||n.modelActivity==="not-working"?n.modelActivity:void 0,attentionPending:typeof n.attentionPending=="boolean"?n.attentionPending:void 0,backgroundPending:typeof n.backgroundPending=="boolean"?n.backgroundPending:void 0,chatActive:typeof n.chatActive=="boolean"?n.chatActive:void 0,createdAt:n.createdAt,theaterId:typeof n.theaterId=="string"?n.theaterId:void 0,tenantId:typeof n.tenantId=="string"?n.tenantId:void 0,registrationId:typeof n.registrationId=="string"?n.registrationId:void 0,resumeAvailable:n.resumeAvailable===!0}}async function Nc(e){if(!e.ok)throw new mr(e.status,`Agent plugin request failed: ${e.status}`)}function Aoe(e,t){const n=e;if(!n||typeof n.id!="string"||typeof n.label!="string")throw new mr(t,"Invalid Agent CLI metadata response");return{id:n.id,label:n.label,available:n.available===!0,signedIn:n.signedIn!==!1}}function Moe(e,t){const n=e;if(!n||typeof n.id!="string"||typeof n.theaterId!="string"||typeof n.type!="string"||typeof n.pluginId!="string"||typeof n.title!="string"||!n.payload||typeof n.payload!="object"||Array.isArray(n.payload)||!n.ts||typeof n.ts.createdAt!="number"||typeof n.ts.updatedAt!="number"||U3(n)||U3(n.payload))throw new mr(t,"Invalid operation response");return{id:n.id,theaterId:n.theaterId,type:n.type,pluginId:n.pluginId,title:n.title,payload:n.payload,geometry:n.geometry??null,ts:n.ts}}function U3(e){return W3(e,new Set(poe))}function W3(e,t){return!e||typeof e!="object"?!1:Array.isArray(e)?e.some(n=>W3(n,t)):Object.entries(e).some(([n,r])=>t.has(n)||W3(r,t))}const Roe="/plugins/terminal/agent/ticket",Noe="/plugins/terminal/ws",mC=250,joe=5e3,Ooe=1,Ioe=8e3;function Doe(e,t=!0){const[n,r]=p.useState(t?"connecting":"idle"),[i,l]=p.useState(jm),o=p.useRef(null);p.useEffect(()=>{if(!t){r("idle"),o.current=null;return}r("connecting"),l(jm);const f=Boe({operationId:e,onConnection:m=>{m==="open"&&l(()=>jm),r(m)},onEvent:m=>{const y=Jae(m);y&&l(v=>ioe(v,y.event))}});return o.current=f,f.start(),()=>{f.dispose(),o.current===f&&(o.current=null)}},[e,t]);const u=p.useCallback(async()=>{await o.current?.send({type:"stop"})},[]),d=p.useCallback(async f=>{await o.current?.send({type:"answer",...f})},[]);return p.useMemo(()=>({...i,connection:n,stopTurn:u,answerAsk:d}),[i,n,u,d])}function Boe(e){const t=new AbortController,n=e.fetchImpl??fetch;let r=mC,i=null,l=0;const o=new Map,u=m=>{for(const y of o.values())clearTimeout(y.timer),y.reject(m);o.clear()},d=async m=>{await new Promise((y,v)=>{const _=(e.webSocketFactory??Foe)(m);i=_;let b=!1;_.onopen=()=>{b=!0,e.onConnection("open")},_.onmessage=x=>{if(typeof x.data!="string")return;let S;try{S=JSON.parse(x.data)}catch{return}if(S&&typeof S=="object"&&"type"in S){const T=S;if((T.type==="ok"||T.type==="nack")&&typeof T.id=="string"){const A=o.get(T.id);if(!A)return;o.delete(T.id),clearTimeout(A.timer),T.type==="ok"?A.resolve():A.reject(new Error(typeof T.error=="string"?T.error:"chat_command_failed"));return}}e.onEvent(x.data)},_.onerror=()=>{b||v(new Error("chat_socket_error"))},_.onclose=()=>{i===_&&(i=null),u(new Error("chat_socket_closed")),b?y():v(new Error("chat_socket_closed"))}})},f=async()=>{for(;!t.signal.aborted;){e.onConnection("connecting");try{const m=await Poe(e.operationId,t.signal,n);if(t.signal.aborted)return;await d(cN(m,e.location,Noe)),r=mC}catch{if(t.signal.aborted)return;e.onConnection("lost")}if(t.signal.aborted)return;await $oe(r,t.signal),r=Math.min(r*2,joe)}};return{start:()=>{f()},send:m=>{const y=i;if(!y||y.readyState!==Ooe)return Promise.reject(new Error("chat_not_connected"));const v=`c${++l}`;return new Promise((_,b)=>{const x=setTimeout(()=>{o.delete(v),b(new Error("chat_command_timeout"))},Ioe);o.set(v,{resolve:_,reject:b,timer:x}),y.send(JSON.stringify({id:v,...m}))})},dispose:()=>{t.abort(),u(new Error("chat_socket_closed")),i?.close(),i=null}}}async function Poe(e,t,n){const r=await n(Roe,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({operationId:e,channel:"chat"}),signal:t});if(!r.ok){const l=await r.json().catch(()=>null);throw new s4(typeof l?.error=="string"?l.error:`http_${r.status}`,r.status)}const i=await r.json();if(typeof i.ticket!="string")throw new Error("Invalid chat ticket response");return i.ticket}function Foe(e){return new WebSocket(e)}async function $oe(e,t){await new Promise(n=>{const r=()=>{clearTimeout(i),t.removeEventListener("abort",r),n()},i=setTimeout(r,e);t.addEventListener("abort",r)})}function Qoe({context:e,onOpenTerminal:t,tourAnchors:n,leadingChip:r}){const i=xt(e.language??"en"),l=Doe(e.operationId,e.bodyLive!==!1),o=e.runtimeState,u=o?.lifecycle==="live"&&o.activity==="running",[d,f]=p.useState(!1),[m,y]=p.useState("none"),[v,_]=p.useState(!1),[b,x]=p.useState(!0),[S,T]=p.useState(!1),[A,C]=p.useState(null),[L,N]=p.useState(.42),z=p.useRef(null),E=p.useRef(null),P=p.useRef(!0),R=p.useRef(null),Q=p.useRef(0),q=p.useCallback(async()=>{f(!0),y("none");try{await t()}catch(oe){y(oe instanceof mr&&oe.message==="chat_busy"?"busy":"failed")}finally{f(!1)}},[t]),K=l.turns.length===0&&!l.replaying&&l.connection==="open",ee=l.turns.reduce((oe,Re)=>oe+Re.items.length+(Re.dispatch?1:0)+Re.draft.length,0),Y=p.useCallback(oe=>{const Re=E.current;Re&&Re.clientHeight!==0&&Re.scrollTop!==oe&&(Q.current+=1,Re.scrollTop=oe,requestAnimationFrame(()=>{Q.current=Math.max(0,Q.current-1)}))},[]),J=p.useCallback(()=>{const oe=E.current;!oe||!P.current||Y(oe.scrollHeight)},[Y]),F=p.useCallback(()=>{const oe=E.current;!oe||P.current||Y(Math.max(0,oe.scrollHeight-oe.clientHeight-(R.current??0)))},[Y]),B=p.useCallback(()=>{P.current?J():F()},[J,F]);p.useLayoutEffect(()=>{J();const oe=E.current;!oe||P.current||oe.clientHeight===0||(R.current=Math.max(0,oe.scrollHeight-oe.scrollTop-oe.clientHeight))},[J,ee,u,l.turns.length]),p.useEffect(()=>{const oe=E.current;if(!oe||typeof ResizeObserver>"u")return;const Re=new ResizeObserver(()=>B());return Re.observe(oe),()=>Re.disconnect()},[B]);const I=p.useCallback(()=>{const oe=E.current;if(!oe||Q.current>0||oe.clientHeight===0)return;const Re=oe.scrollHeight-oe.scrollTop-oe.clientHeight,Ne=Re<80;P.current=Ne,R.current=Ne?null:Re,x(Ne)},[]),H=p.useCallback(()=>{P.current=!0,R.current=null,x(!0);const oe=E.current;oe&&Y(oe.scrollHeight)},[Y]),O=p.useMemo(()=>new Intl.DateTimeFormat(e.language==="ko"?"ko":"en",{hour:"2-digit",minute:"2-digit"}),[e.language]),M=soe(l),Z=p.useMemo(()=>{const oe=new Map;for(const Re of l.jobs)Re.toolUseId!==void 0&&oe.set(Re.toolUseId,Re);return oe},[l.jobs]),W=A===null?null:l.jobs.find(oe=>oe.id===A)??null,ne=e.language??"en",me=p.useCallback(oe=>{C(oe),T(!0)},[]),Te=p.useId(),he=l.jobs.length>0,Ce=l.turns.at(-1)?.state==="working",ue=p.useCallback(()=>{T(!1),C(null)},[]),ie=p.useCallback(async()=>{_(!0);try{await l.stopTurn()}catch{}finally{_(!1)}},[l.stopTurn]),re=p.useCallback(oe=>{const Re=z.current;if(!Re)return;const Ne=oe.currentTarget;Ne.setPointerCapture(oe.pointerId);const De=getComputedStyle(Re).flexDirection!=="column",_t=tt=>{const Nt=Re.getBoundingClientRect(),gt=De?(Nt.right-tt.clientX)/Nt.width:(Nt.bottom-tt.clientY)/Nt.height;N(Math.min(.78,Math.max(.18,gt)))},je=()=>{Ne.removeEventListener("pointermove",_t),Ne.removeEventListener("pointerup",je),Ne.removeEventListener("pointercancel",je)};Ne.addEventListener("pointermove",_t),Ne.addEventListener("pointerup",je),Ne.addEventListener("pointercancel",je)},[]);return s.jsx("section",{className:"agent-chat","aria-label":i("terminal.chat.aria"),children:s.jsxs("div",{className:`agent-chat-split${S?" is-open":""}`,ref:z,style:S?{"--agent-chat-work":`${Math.round(L*1e3)/10}%`}:void 0,children:[s.jsxs("div",{className:"agent-chat-pane",children:[s.jsxs("div",{className:"agent-view-chip-row",children:[r,s.jsx(fle,{context:l.context,language:ne}),s.jsxs("button",{type:"button",className:"agent-chat-mode-chip",...n?{"data-chat-tour":"terminal"}:{},disabled:d,"aria-label":i("terminal.chat.openTerminalAria"),onClick:()=>{q()},children:[s.jsx("span",{"aria-hidden":"true",children:"❯"})," ",i(d?"terminal.chat.openingTerminal":"terminal.chat.openTerminal")]})]}),s.jsxs("div",{className:"agent-chat-log",ref:E,onScroll:I,...n?{"data-chat-tour":"log"}:{},children:[l.errorCode==="chat_transcript_missing"?s.jsx("div",{className:"agent-chat-sys agent-chat-sys--error",children:i("terminal.chat.transcriptMissing")}):l.connection==="connecting"&&l.turns.length===0?s.jsx("div",{className:"agent-chat-sys",children:i("terminal.chat.connecting")}):null,l.replayedTurns>0?s.jsx("div",{className:"agent-chat-sys",children:i("terminal.chat.replayed",{count:l.replayedTurns})}):null,l.errorCode==="chat_replay_unavailable"?s.jsx("div",{className:"agent-chat-sys agent-chat-sys--warn",children:i("terminal.chat.replayUnavailable")}):null,l.turns.map((oe,Re)=>s.jsx(zoe,{operationId:e.operationId,turn:oe,nextContextBefore:l.turns[Re+1]?.contextBefore,language:ne,timeFormat:O,streaming:Re===l.turns.length-1&&oe.state==="working",jobsByToolUse:Z,onOpenJob:me,onAnswer:l.answerAsk},Re)),l.errorCode==="chat_turn_failed"?s.jsx("div",{className:"agent-chat-sys agent-chat-sys--error",children:i("terminal.chat.turnFailed")}):null,l.connection==="lost"?s.jsx("div",{className:"agent-chat-sys agent-chat-sys--error",children:i("terminal.chat.connectionLost")}):null,m!=="none"?s.jsxs("div",{className:"agent-chat-sys agent-chat-sys--error",role:"alert",children:[s.jsx("span",{"aria-hidden":"true",children:m==="busy"?"⚠":"✕"})," ",i(m==="busy"?"terminal.chat.openTerminalBusy":"terminal.chat.openTerminalFailed")]}):null]}),b?null:s.jsx("button",{type:"button",className:"agent-chat-follow","aria-label":i("terminal.chat.followAria"),onClick:H,children:i("terminal.chat.follow")}),!S&&M.length>0?s.jsxs("button",{type:"button",className:"agent-chat-strip","aria-label":i("terminal.chat.stripAria"),"aria-expanded":!1,"aria-controls":`${Te}-work`,onClick:()=>{C(null),T(!0)},children:[s.jsx("span",{className:"agent-chat-strip-orbit","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-strip-count",children:i("terminal.chat.stripRunning",{count:M.length})}),s.jsx("span",{className:"agent-chat-strip-names",children:M.map(oe=>`${F4(oe.kind)} ${oe.who??oe.title}`).join(" · ")}),s.jsx("span",{className:"agent-chat-strip-chev","aria-hidden":"true",children:"⌃"})]}):null,!S&&he&&M.length===0?s.jsxs("button",{type:"button",className:"agent-chat-strip is-rest","aria-label":i("terminal.chat.stripAria"),"aria-expanded":!1,"aria-controls":`${Te}-work`,onClick:()=>{C(null),T(!0)},children:[s.jsx("span",{className:"agent-chat-strip-dot","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-strip-count",children:gO(l.jobs.length,i)}),s.jsx("span",{className:"agent-chat-strip-chev","aria-hidden":"true",children:"⌃"})]}):null,Ce?s.jsxs("button",{type:"button",className:"agent-chat-stop","aria-label":i("terminal.chat.stopAria"),title:i("terminal.chat.stopTitle"),disabled:v,onClick:()=>{ie()},children:[s.jsx("span",{className:"agent-chat-stop-mark","aria-hidden":"true"}),i("terminal.chat.stop")]}):null,K?s.jsx("p",{className:"agent-chat-invite","aria-hidden":"true",children:i("terminal.chat.emptyInvite")}):null,s.jsx("button",{type:"button",className:K?"agent-chat-reply agent-chat-reply--inviting":"agent-chat-reply",...n?{"data-chat-tour":"composer"}:{},"aria-label":i(K?"terminal.chat.emptyInviteAria":"terminal.chat.replyAria"),title:i(K?"terminal.chat.emptyInvite":"terminal.chat.replyTitle"),onClick:()=>{e.composer.open({mentionOperationId:e.operationId})},children:s.jsx(Hoe,{})})]}),S?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"agent-chat-grip",role:"separator","aria-orientation":"vertical","aria-label":i("terminal.chat.gripAria"),onPointerDown:re}),s.jsx(ele,{id:`${Te}-work`,jobs:l.jobs,job:W,openJobs:M,operationId:e.operationId,language:ne,onOpen:C,onBack:()=>C(null),onCollapse:ue})]}):null]})})}function Hoe(){return s.jsx("svg",{viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",children:s.jsx("path",{d:"M6.4 15.6H6a3 3 0 0 1-3-3V7.6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3H9.6l-3.2 2.6z",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"})})}function zoe({operationId:e,turn:t,nextContextBefore:n,language:r,timeFormat:i,streaming:l,jobsByToolUse:o,onOpenJob:u,onAnswer:d}){const f=xt(r),m=aoe(t),y=t.state==="working",v=t.items.reduce((b,x)=>{const S=x.id!==void 0?o.get(x.id):void 0;return b+(S?.open===!0?1:0)},0),_=t.contextBefore!==void 0&&n!==void 0?n-t.contextBefore:void 0;return s.jsxs(s.Fragment,{children:[t.dispatch?s.jsxs("div",{className:"agent-chat-dispatch",children:[s.jsxs("div",{className:"agent-chat-dispatch-meta",children:[s.jsx("span",{className:"agent-chat-dispatch-via",children:f("terminal.chat.viaQuickLaunch")}),t.dispatch.at!==void 0?s.jsx("span",{children:i.format(new Date(t.dispatch.at))}):null]}),s.jsx("div",{className:"agent-chat-dispatch-bubble",children:t.dispatch.text})]}):null,t.items.length>0||y||m.answer!==null?s.jsxs("div",{className:`agent-chat-turn is-${t.state}`,children:[s.jsx("div",{className:"agent-chat-turn-spine","aria-hidden":"true",children:s.jsx("span",{className:"agent-chat-turn-node"})}),s.jsxs("div",{className:"agent-chat-turn-body",children:[y?s.jsx("div",{className:"agent-chat-turn-head",children:s.jsx(qoe,{turn:t,language:r})}):null,y?s.jsxs(s.Fragment,{children:[s.jsx(gC,{changes:m.changes,language:r}),s.jsx(yC,{operationId:e,items:m.ledger,language:r,jobsByToolUse:o,onOpenJob:u,onAnswer:d,working:!0,pending:m.streamingText===null&&!m.ledger.some(b=>b.state==="running")&&!m.awaiting})]}):m.ledger.length>0||m.changes.length>0?s.jsxs(Yoe,{durationMs:t.durationMs,failed:m.failed,running:v,error:t.state==="error",stopped:t.state==="stopped",contextGrew:_,language:r,children:[s.jsx(gC,{changes:m.changes,language:r}),s.jsx(yC,{operationId:e,items:m.ledger,language:r,jobsByToolUse:o,onOpenJob:u,onAnswer:d})]}):null,m.streamingText!==null?s.jsx(od,{className:"agent-chat-stream markdown-body",text:m.streamingText,streaming:y&&l,language:r}):null,!y&&m.answer!==null?s.jsxs("div",{className:"agent-chat-answer",children:[s.jsx("div",{className:"agent-chat-answer-kicker",children:f("terminal.chat.answerLabel")}),s.jsx(od,{className:"agent-chat-answer-body markdown-body",text:m.answer,streaming:!1,language:r})]}):null]})]}):null]})}function qoe({turn:e,language:t}){const n=xt(t),r=ule(e.startedAt,e.state==="working");return s.jsx("span",{"aria-hidden":"true",children:n("terminal.chat.turnWorking",{elapsed:dle(r)})})}function gC({changes:e,language:t}){const n=xt(t);return e.length===0?null:s.jsx("div",{className:"agent-chat-changes","aria-label":n("terminal.chat.changesAria"),children:e.map(r=>s.jsxs("span",{className:"agent-chat-change",children:[s.jsx("span",{className:"agent-chat-change-file",children:r.file}),r.added>0?s.jsxs("span",{className:"agent-chat-change-add",children:["+",r.added]}):null,r.removed>0?s.jsxs("span",{className:"agent-chat-change-del",children:["−",r.removed]}):null]},r.file))})}const Uoe=8;function yC({operationId:e,items:t,language:n,jobsByToolUse:r,onOpenJob:i,onAnswer:l,working:o=!1,pending:u=!1}){const d=xt(n),f=p.useCallback(v=>v.id!==void 0&&r.has(v.id),[r]),m=loe(t,o?Uoe:0,f);if(m.length===0&&!u)return null;const y=(v,_)=>s.jsx(yO,{item:v,language:n,jobsByToolUse:r,onOpenJob:i},_);return s.jsxs("div",{className:"agent-chat-ledger",children:[m.map((v,_)=>s.jsxs("div",{className:"agent-chat-segment",children:[v.note!==void 0?s.jsx(od,{className:"agent-chat-ledger-note markdown-body",text:v.note,streaming:!1,language:n}):null,s.jsx(Woe,{groups:v.groups,folded:v.folded,language:n,jobsByToolUse:r,onOpenJob:i}),v.inline.map((b,x)=>b.type==="ask"&&b.ask?s.jsx(Koe,{ask:b.ask,language:n,onAnswer:l},`ask-${b.ask.id}`):y(b,`in-${x}`)),v.running.map((b,x)=>y(b,`run-${x}`))]},_)),u?s.jsxs("div",{className:"agent-chat-step is-running",children:[s.jsx("span",{className:"agent-chat-step-orbit","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-step-verb",role:"status",children:d("terminal.chat.stepThinking")})]}):null]})}function Woe({groups:e,folded:t,language:n,jobsByToolUse:r,onOpenJob:i}){const l=xt(n);if(e.length===0)return null;const o=e.map((u,d)=>s.jsxs(p.Fragment,{children:[d>0?s.jsx("span",{className:"agent-chat-tally-sep","aria-hidden":"true",children:"·"}):null,u.family==="other"&&u.name!==void 0?s.jsx("span",{className:"agent-chat-tally-name",children:u.name}):null,s.jsx("span",{children:Goe(u,l)})]},`${u.family}-${u.name??""}`));return t.length===0?s.jsx("div",{className:"agent-chat-tally",children:o}):s.jsxs("details",{className:"agent-chat-tally-fold",children:[s.jsxs("summary",{className:"agent-chat-tally","aria-label":l("terminal.chat.tallyAria"),children:[o,s.jsx("span",{className:"agent-chat-tally-chev","aria-hidden":"true",children:"⌄"})]}),s.jsx("div",{className:"agent-chat-tally-body",children:t.map((u,d)=>s.jsx(yO,{item:u,language:n,jobsByToolUse:r,onOpenJob:i},d))})]})}function gO(e,t){return e===1?t("terminal.chat.stripSettled_one",{count:e}):t("terminal.chat.stripSettled_other",{count:e})}function Goe(e,t){const n=e.count===1?"one":"other",r=`terminal.chat.group.${e.family}_${n}`;return t(r,{count:e.count,...e.name!==void 0?{name:e.name}:{}})}function Koe({ask:e,language:t,onAnswer:n}){const r=xt(t),[i,l]=p.useState(()=>e.questions.map(()=>[])),[o,u]=p.useState(()=>e.questions.map(()=>"")),[d,f]=p.useState(""),[m,y]=p.useState(!1),[v,_]=p.useState(!1);if(e.outcome!==void 0)return s.jsx(Zoe,{ask:e,language:t});const b=async L=>{y(!0),_(!1);try{await n(L)}catch{_(!0)}finally{y(!1)}};if(e.form==="plan")return s.jsxs("div",{className:"agent-chat-ask is-plan",children:[s.jsx("div",{className:"agent-chat-ask-head",children:s.jsxs("span",{className:"agent-chat-ask-badge",children:[s.jsx("span",{className:"agent-chat-ask-dot","aria-hidden":"true"}),r("terminal.chat.ask.planBadge")]})}),s.jsx(od,{className:"agent-chat-ask-plan markdown-body",text:e.plan??"",streaming:!1,language:t}),s.jsxs("div",{className:"agent-chat-ask-free",children:[s.jsx("input",{className:"agent-chat-ask-input",type:"text",value:d,disabled:m,placeholder:r("terminal.chat.ask.revisePlaceholder"),"aria-label":r("terminal.chat.ask.reviseAria"),onChange:L=>{f(L.target.value)},onKeyDown:L=>{L.key!=="Enter"||d.trim().length===0||(L.preventDefault(),b({askId:e.id,message:d.trim()}))}}),s.jsx("button",{type:"button",className:"agent-chat-ask-send is-quiet",disabled:m||d.trim().length===0,onClick:()=>{b({askId:e.id,message:d.trim()})},children:r("terminal.chat.ask.revise")})]}),s.jsxs("div",{className:"agent-chat-ask-foot",children:[s.jsx("button",{type:"button",className:"agent-chat-ask-send",disabled:m||e.truncated===!0,onClick:()=>{b({askId:e.id,approve:!0})},children:r("terminal.chat.ask.approve")}),s.jsx("span",{className:"agent-chat-ask-hint",children:e.truncated===!0?r("terminal.chat.ask.planTruncated"):r("terminal.chat.ask.approveHint")})]}),v?s.jsx("div",{className:"agent-chat-ask-error",children:r("terminal.chat.ask.failed")}):null]});const x=e.questions.map((L,N)=>{const z=(o[N]??"").trim();return z.length>0?z:(i[N]??[]).join(", ")}),S=x.every(L=>L.length>0),T=!e.questions.some(L=>L.multiSelect),A=L=>{b({askId:e.id,answers:[...L]})},C=(L,N,z)=>{const E=i[L]??[],P=i.map((Q,q)=>q!==L?Q:z?E.includes(N)?E.filter(K=>K!==N):[...E,N]:[N]);if(l(P),!T)return;const R=e.questions.map((Q,q)=>{const K=(o[q]??"").trim();return K.length>0?K:(P[q]??[]).join(", ")});R.every(Q=>Q.length>0)&&A(R)};return s.jsxs("div",{className:"agent-chat-ask",children:[e.questions.map((L,N)=>s.jsx(Voe,{question:L,index:N,total:e.questions.length,picks:i[N]??[],free:o[N]??"",disabled:m,language:t,onChoose:z=>{C(N,z,L.multiSelect)},onType:z=>{u(o.map((E,P)=>P===N?z:E))}},N)),s.jsxs("div",{className:"agent-chat-ask-foot",children:[s.jsx("button",{type:"button",className:"agent-chat-ask-mini",disabled:m,onClick:()=>{b({askId:e.id})},children:r("terminal.chat.ask.dismiss")}),!T||x.some((L,N)=>(o[N]??"").trim().length>0)?s.jsx("button",{type:"button",className:"agent-chat-ask-send",disabled:m||!S,onClick:()=>{A(x)},children:r("terminal.chat.ask.send")}):null,s.jsx("span",{className:"agent-chat-ask-hint",children:r("terminal.chat.ask.hint")})]}),v?s.jsx("div",{className:"agent-chat-ask-error",children:r("terminal.chat.ask.failed")}):null]})}function Voe({question:e,index:t,total:n,picks:r,free:i,disabled:l,language:o,onChoose:u,onType:d}){const f=xt(o);return s.jsxs("div",{className:"agent-chat-ask-question",children:[s.jsxs("div",{className:"agent-chat-ask-head",children:[s.jsxs("span",{className:"agent-chat-ask-badge",children:[s.jsx("span",{className:"agent-chat-ask-dot","aria-hidden":"true"}),e.header]}),n>1?s.jsx("span",{className:"agent-chat-ask-counter",children:f("terminal.chat.ask.counter",{index:t+1,total:n})}):null]}),s.jsx("p",{className:"agent-chat-ask-text",children:e.question}),s.jsx("div",{className:"agent-chat-ask-options",children:e.options.map(m=>{const y=r.includes(m.label);return s.jsxs("button",{type:"button",className:"agent-chat-ask-option",disabled:l,"aria-pressed":y,onClick:()=>{u(m.label)},children:[s.jsx("span",{className:"agent-chat-ask-option-label",children:m.label}),m.description?s.jsx("span",{className:"agent-chat-ask-option-desc",children:m.description}):null]},m.label)})}),s.jsx("div",{className:"agent-chat-ask-free",children:s.jsx("input",{className:"agent-chat-ask-input",type:"text",value:i,disabled:l,placeholder:f("terminal.chat.ask.freePlaceholder"),"aria-label":f("terminal.chat.ask.freeAria"),onChange:m=>{d(m.target.value)}})})]})}function Zoe({ask:e,language:t}){const n=xt(t),r=e.outcome==="answered"||e.outcome==="approved",i=e.answers&&e.answers.length>0?e.answers:[{header:e.form==="plan"?n("terminal.chat.ask.planBadge"):n("terminal.chat.ask.questionBadge"),value:n(`terminal.chat.ask.outcome.${e.outcome??"dismissed"}`)}];return s.jsx(s.Fragment,{children:i.map((l,o)=>s.jsxs("div",{className:`agent-chat-ask-settled${r?"":" is-open"}`,children:[s.jsx("span",{className:"agent-chat-ask-settled-mark","aria-hidden":"true",children:r?"✓":"✕"}),s.jsx("span",{className:"agent-chat-ask-settled-head",children:l.header}),s.jsx("span",{"aria-hidden":"true",children:"→"}),s.jsx("span",{className:"agent-chat-ask-settled-value",children:l.value})]},o))})}function yO({item:e,language:t,jobsByToolUse:n,onOpenJob:r}){const i=xt(t),l=e.id!==void 0?n.get(e.id):void 0;if(l!==void 0)return s.jsx(G3,{job:l,language:t,onOpen:r});const o=e.state==="running",u=e.state==="fail",d=e.state==="done",f=e.name??"",m=o?ole(f,t):d?f:lle(f,t),y=u?e.result??i("terminal.chat.stepFailed"):d?i("terminal.chat.stepUnconfirmed"):e.change&&(e.change.added>0||e.change.removed>0)?cle(e.change):e.result??null;return s.jsxs("div",{className:`agent-chat-step is-${e.state??"done"}`,children:[o?s.jsx("span",{className:"agent-chat-step-orbit","aria-hidden":"true"}):s.jsx("span",{className:"agent-chat-step-mark","aria-hidden":"true",children:u?"✕":d?"·":"✓"}),s.jsx("span",{className:"agent-chat-step-verb",...o?{role:"status"}:{},children:m}),e.detail?s.jsx("span",{className:"agent-chat-step-object",children:e.detail}):null,e.outside?s.jsx("span",{className:"agent-chat-step-outside",title:i("terminal.chat.outsideTheaterTitle"),children:i("terminal.chat.outsideTheater")}):null,y?s.jsx("span",{className:`agent-chat-step-out${u?" is-error":""}${d?" is-unknown":""}`,children:y}):null]})}function Yoe({durationMs:e,failed:t,running:n,error:r,stopped:i,contextGrew:l,language:o,children:u}){const d=xt(o),f=e!==void 0?d("terminal.chat.workedFor",{duration:$4(e)}):d("terminal.chat.workedLabel");return s.jsxs("details",{className:"agent-chat-fold",...n>0?{open:!0}:{},children:[s.jsxs("summary",{"aria-label":d("terminal.chat.foldAria"),children:[s.jsx("span",{className:"agent-chat-fold-label",children:f}),n>0?s.jsx("span",{className:"agent-chat-fold-running",children:d("terminal.chat.foldRunning",{count:n})}):null,t>0?s.jsx("span",{className:"agent-chat-fold-failed",children:d("terminal.chat.foldFailed",{count:t})}):null,i?s.jsx("span",{className:"agent-chat-fold-stopped",children:d("terminal.chat.foldTurnStopped")}):null,t===0&&r?s.jsx("span",{className:"agent-chat-fold-failed",children:d("terminal.chat.foldTurnFailed")}):null,l!==void 0&&l!==0?s.jsxs("span",{className:"agent-chat-fold-context",children:[l>0?"+":"−",va(Math.abs(l))]}):null,s.jsx("span",{className:"agent-chat-fold-chev","aria-hidden":"true",children:"⌄"})]}),s.jsx("div",{className:"agent-chat-fold-body",children:u})]})}function F4(e){return e==="agent"?"◆":e==="shell"?"❯":e==="workflow"?"⣿":"▪"}function Xoe(e,t){return xt(t)(`terminal.chat.jobKind.${e}`)}function vO(e,t){const n=xt(t);return e.open?n("terminal.chat.jobOpen"):e.status==="completed"?n("terminal.chat.jobCompleted"):e.status==="failed"?n("terminal.chat.jobFailed"):e.status==="stopped"?n("terminal.chat.jobStopped"):n("terminal.chat.jobUnknown")}function bO(e){return e.open?"is-open":e.status==="completed"?"is-done":e.status==="failed"?"is-fail":e.status==="stopped"?"is-stopped":"is-unknown"}function _O(e,t){const n=xt(t),r=[Xoe(e.kind,t)];return e.who!==void 0&&r.push(e.who),e.tokens!==void 0&&e.tokens>0&&r.push(n("terminal.chat.jobTokens",{count:wO(e.tokens)})),e.tools!==void 0&&e.tools>0&&r.push(n("terminal.chat.jobTools",{count:e.tools})),e.durationMs!==void 0&&e.durationMs>0&&r.push($4(e.durationMs)),r}function G3({job:e,language:t,onOpen:n}){const r=xt(t);return s.jsxs("button",{type:"button",className:`agent-chat-job ${bO(e)}`,"aria-label":r("terminal.chat.workOpenAria"),onClick:()=>n(e.id),children:[s.jsxs("span",{className:"agent-chat-job-head",children:[e.open?s.jsx("span",{className:"agent-chat-step-orbit","aria-hidden":"true"}):s.jsx("span",{className:"agent-chat-job-mark","aria-hidden":"true",children:e.status==="failed"?"✕":e.status==="completed"?"✓":"·"}),s.jsx("span",{className:"agent-chat-job-glyph","aria-hidden":"true",children:F4(e.kind)}),s.jsx("span",{className:"agent-chat-job-title",children:e.title}),s.jsx("span",{className:"agent-chat-job-outcome",children:vO(e,t)}),s.jsx("span",{className:"agent-chat-job-chev","aria-hidden":"true",children:"›"})]}),s.jsxs("span",{className:"agent-chat-job-meta",children:[_O(e,t).map((i,l)=>s.jsxs(p.Fragment,{children:[l>0?s.jsx("span",{"aria-hidden":"true",children:"·"}):null,s.jsx("span",{children:i})]},l)),e.kind==="workflow"&&e.stages.length>0?s.jsx(Joe,{stages:e.stages}):null]})]})}function Joe({stages:e}){return s.jsx("span",{className:"agent-chat-job-dots","aria-hidden":"true",children:e.map((t,n)=>s.jsxs(p.Fragment,{children:[n>0?s.jsx("span",{className:"agent-chat-job-dot-gap"}):null,t.agents.map((r,i)=>s.jsx("span",{className:`agent-chat-job-dot${r.state==="done"?" is-done":r.state==="running"?" is-live":""}`},i))]},n))})}function ele({id:e,jobs:t,job:n,openJobs:r,operationId:i,language:l,onOpen:o,onBack:u,onCollapse:d}){const f=xt(l),m=t.filter(v=>v.open),y=t.filter(v=>!v.open);return s.jsxs("section",{className:"agent-chat-work",id:e,"aria-label":f("terminal.chat.workAria"),children:[s.jsxs("button",{type:"button",className:`agent-chat-work-cap${r.length===0?" is-rest":""}`,"aria-expanded":!0,"aria-label":f("terminal.chat.workCollapseAria"),onClick:d,children:[r.length>0?s.jsx("span",{className:"agent-chat-strip-orbit","aria-hidden":"true"}):s.jsx("span",{className:"agent-chat-strip-dot","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-strip-count",children:r.length>0?f("terminal.chat.stripRunning",{count:r.length}):gO(t.length,f)}),s.jsx("span",{className:"agent-chat-work-cap-chev","aria-hidden":"true",children:"⌄"})]}),s.jsx("div",{className:"agent-chat-work-body",children:n!==null?s.jsx(tle,{job:n,operationId:i,language:l,onBack:u}):t.length===0?s.jsx("div",{className:"agent-chat-work-empty",children:f("terminal.chat.workEmpty")}):s.jsxs(s.Fragment,{children:[m.length>0?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"agent-chat-work-sec",children:[f("terminal.chat.workRunning")," ",m.length]}),m.map(v=>s.jsx(G3,{job:v,language:l,onOpen:o},v.id))]}):null,y.length>0?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"agent-chat-work-sec",children:[f("terminal.chat.workSettled")," ",y.length]}),y.map(v=>s.jsx(G3,{job:v,language:l,onOpen:o},v.id))]}):null]})})]})}function tle({job:e,operationId:t,language:n,onBack:r}){const i=xt(n),l=rle(t,e),o=ile(t,e);return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"agent-chat-detail-head",children:[s.jsxs("button",{type:"button",className:"agent-chat-detail-back","aria-label":i("terminal.chat.workBackAria"),onClick:r,children:["‹ ",i("terminal.chat.workBack")]}),s.jsx("span",{className:"agent-chat-job-glyph","aria-hidden":"true",children:F4(e.kind)}),s.jsx("span",{className:"agent-chat-detail-title",children:e.title}),s.jsx("span",{className:`agent-chat-job-outcome ${bO(e)}`,children:vO(e,n)}),e.open?s.jsx("button",{type:"button",className:"agent-chat-detail-stop","aria-label":i("terminal.chat.jobStopAria"),disabled:o.state==="stopping",onClick:o.request,children:o.state==="stopping"?i("terminal.chat.jobStopping"):i("terminal.chat.jobStop")}):null]}),o.state==="failed"?s.jsx("div",{className:"agent-chat-detail-stop-error",children:i("terminal.chat.jobStopFailed")}):null,s.jsx("div",{className:"agent-chat-detail-meta",children:_O(e,n).join(" · ")}),s.jsxs("div",{className:"agent-chat-detail-body",children:[e.kind==="workflow"?e.stages.length>0?e.stages.map((u,d)=>s.jsx(sle,{stage:u,language:n},d)):s.jsx("div",{className:"agent-chat-work-empty",children:i("terminal.chat.stagesUnavailable")}):null,e.summary!==void 0?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"agent-chat-kicker",children:i("terminal.chat.jobReport")}),s.jsx(od,{className:"agent-chat-detail-report markdown-body",text:e.summary,streaming:!1,language:n})]}):e.kind!=="workflow"&&!e.open?s.jsx("div",{className:"agent-chat-work-empty",children:i("terminal.chat.jobNoReport")}):null,e.open&&e.note!==void 0?s.jsx("p",{className:"agent-chat-detail-note",children:e.note}):null,s.jsx(nle,{detail:l,language:n})]})]})}function nle({detail:e,language:t}){const n=xt(t);if(e.state==="idle")return null;if(e.state==="loading")return s.jsx("div",{className:"agent-chat-detail-loading",children:n("terminal.chat.jobDetailLoading")});const r=e.value;return r===null?s.jsx("div",{className:"agent-chat-work-empty",children:n("terminal.chat.jobDetailUnavailable")}):r.kind==="shell"?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"agent-chat-kicker",children:n("terminal.chat.jobOutput")}),r.truncated?s.jsx("div",{className:"agent-chat-detail-cut",children:n("terminal.chat.jobOutputCut")}):null,s.jsx("pre",{className:"agent-chat-detail-tail",children:r.tail})]}):r.steps.length===0?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"agent-chat-kicker",children:n("terminal.chat.jobTrail")}),s.jsx("div",{className:"agent-chat-work-empty",children:n("terminal.chat.jobTrailEmpty")})]}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"agent-chat-kicker",children:[n("terminal.chat.jobTrail")," ",r.steps.length]}),r.truncated?s.jsx("div",{className:"agent-chat-detail-cut",children:n("terminal.chat.jobTrailCut")}):null,s.jsx("div",{className:"agent-chat-trail",children:r.steps.map((i,l)=>s.jsxs("div",{className:`agent-chat-step is-${i.failed===!0?"fail":"ok"}`,children:[s.jsx("span",{className:"agent-chat-step-mark","aria-hidden":"true",children:i.failed===!0?"✕":"✓"}),s.jsx("span",{className:"agent-chat-step-verb",children:i.name}),i.detail!==void 0?s.jsx("span",{className:"agent-chat-step-object",children:i.detail}):null,i.outcome!==void 0?s.jsx("span",{className:`agent-chat-step-out${i.failed===!0?" is-error":""}`,children:i.outcome}):null]},l))})]})}function rle(e,t){const n=(t.kind==="agent"||t.kind==="shell")&&!t.open,[r,i]=p.useState({state:"idle",value:null});return p.useEffect(()=>{if(!n){i({state:"idle",value:null});return}let l=!0;i({state:"loading",value:null});const o=new AbortController;return Soe(e,t.id,o.signal).then(u=>{l&&i({state:"ready",value:u})}).catch(()=>{l&&i({state:"ready",value:null})}),()=>{l=!1,o.abort()}},[e,t.id,n,t.ends]),r}function ile(e,t){const[n,r]=p.useState("idle");p.useEffect(()=>{r("idle")},[t.id]);const i=p.useCallback(()=>{r("stopping"),koe(e,t.id).then(()=>r("idle")).catch(()=>r("failed"))},[e,t.id]);return{state:n,request:i}}function sle({stage:e,language:t}){const n=xt(t),r=e.agents.filter(i=>i.state==="done").length;return s.jsxs("div",{className:"agent-chat-stage",children:[s.jsxs("div",{className:"agent-chat-stage-head",children:[s.jsx("span",{children:e.title}),s.jsxs("span",{className:"agent-chat-stage-count",children:[r,"/",e.agents.length]})]}),s.jsxs("div",{className:"agent-chat-stage-rows",role:"table",children:[s.jsxs("div",{className:"agent-chat-stage-row is-head",role:"row",children:[s.jsx("span",{role:"columnheader"}),s.jsx("span",{role:"columnheader",children:n("terminal.chat.stageAgent")}),s.jsx("span",{role:"columnheader",children:n("terminal.chat.stageModel")}),s.jsx("span",{role:"columnheader",className:"is-num",children:n("terminal.chat.stageTokens")}),s.jsx("span",{role:"columnheader",className:"is-num",children:n("terminal.chat.stageTools")}),s.jsx("span",{role:"columnheader",className:"is-num",children:n("terminal.chat.stageTime")})]}),e.agents.map((i,l)=>s.jsxs("div",{className:`agent-chat-stage-row${i.state==="done"?"":" is-pending"}`,role:"row",children:[s.jsx("span",{role:"cell",className:"is-mark","aria-hidden":"true",children:i.state==="done"?"✓":i.state==="running"?"◐":"·"}),s.jsx("span",{role:"cell",className:"is-name",title:i.result??i.label,children:i.label}),s.jsx("span",{role:"cell",className:"is-model",title:i.model,children:i.model!==void 0?ale(i.model):"—"}),s.jsx("span",{role:"cell",className:"is-num",children:i.tokens!==void 0?wO(i.tokens):"—"}),s.jsx("span",{role:"cell",className:"is-num",children:i.tools!==void 0?i.tools:"—"}),s.jsx("span",{role:"cell",className:"is-num",children:i.durationMs!==void 0?$4(i.durationMs):"—"})]},l))]})]})}const vC="claude-gateway--";function ale(e){return e.startsWith(vC)?e.slice(vC.length):e}function wO(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function ole(e,t){const n=xt(t),r=P4(e);return r==="other"?n("terminal.chat.activityUsing",{name:e}):n(`terminal.chat.verb.${r}.now`)}function lle(e,t){const n=xt(t),r=P4(e);return r==="other"?e:n(`terminal.chat.verb.${r}.past`)}function cle(e){const t=[];return e.added>0&&t.push(`+${e.added}`),e.removed>0&&t.push(`−${e.removed}`),t.join(" ")}function ule(e,t){const[n,r]=p.useState(()=>Date.now());return p.useEffect(()=>{if(!t||e===void 0)return;r(Date.now());const i=window.setInterval(()=>r(Date.now()),1e3);return()=>window.clearInterval(i)},[t,e]),e===void 0?0:Math.max(0,n-e)}function dle(e){const t=Math.floor(e/1e3);return t<90?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function $4(e){if(e<1e3)return`${Math.round(e)}ms`;const t=e/1e3;return t<90?`${t.toFixed(1)}s`:`${Math.round(t/60)}m ${Math.round(t%60)}s`}function va(e){if(e<1e3)return String(Math.round(e));const t=e/1e3;return t<10?`${t.toFixed(1)}k`:`${Math.round(t)}k`}function hle(e){const t=e.total/e.max,n=e.compactAt!==void 0?e.compactAt/e.max:1;return t>=n*.97?" is-critical":t>=n*.75?" is-warn":""}function fle({context:e,language:t}){const n=xt(t),[r,i]=p.useState(!1),l=p.useRef(null);if(p.useEffect(()=>{if(!r)return;const d=m=>{l.current?.contains(m.target)||i(!1)},f=m=>{m.key==="Escape"&&(m.stopPropagation(),i(!1))};return document.addEventListener("pointerdown",d,!0),document.addEventListener("keydown",f,!0),()=>{document.removeEventListener("pointerdown",d,!0),document.removeEventListener("keydown",f,!0)}},[r]),!e)return null;const o=Math.round(e.total/e.max*100),u=`${va(e.total)} / ${va(e.max)}`;return s.jsxs("div",{className:`agent-chat-ctx${hle(e)}`,ref:l,children:[s.jsxs("button",{type:"button",className:"agent-chat-mode-chip agent-chat-ctx-chip","aria-expanded":r,"aria-label":n("terminal.chat.contextAria",{percent:String(o),summary:u}),title:n("terminal.chat.contextAt",{summary:u}),onClick:()=>i(d=>!d),children:[s.jsx(ple,{ratio:e.total/e.max}),s.jsxs("span",{className:"agent-chat-ctx-pct",children:[o,"%"]})]}),r?s.jsx(mle,{context:e,language:t}):null]})}function ple({ratio:e}){const n=2*Math.PI*6,r=Math.max(0,Math.min(1,e))*n;return s.jsxs("svg",{className:"agent-chat-ctx-arc",viewBox:"0 0 16 16","aria-hidden":"true",children:[s.jsx("circle",{className:"agent-chat-ctx-arc-track",cx:"8",cy:"8",r:6}),s.jsx("circle",{className:"agent-chat-ctx-arc-fill",cx:"8",cy:"8",r:6,strokeDasharray:`${r.toFixed(2)} ${n.toFixed(2)}`})]})}function mle({context:e,language:t}){const n=xt(t),r=[...e.slices].sort((u,d)=>d.tokens-u.tokens),i=e.reserved??0,l=Math.max(0,e.max-e.total-i),o=Math.round(e.total/e.max*100);return s.jsxs("div",{className:"agent-chat-ctx-pop",role:"dialog","aria-label":n("terminal.chat.contextTitle"),children:[s.jsxs("div",{className:"agent-chat-ctx-pop-head",children:[s.jsx("span",{className:"agent-chat-ctx-pop-title",children:n("terminal.chat.contextTitle")}),s.jsxs("span",{className:"agent-chat-ctx-pop-total",children:[va(e.total)," / ",va(e.max)," · ",o,"%"]})]}),s.jsx("div",{className:"agent-chat-ctx-stack",children:r.map((u,d)=>s.jsx("i",{style:{width:`${u.tokens/e.max*100}%`,"--agent-chat-ctx-step":String(Math.min(d,5))}},u.name))}),s.jsxs("ul",{className:"agent-chat-ctx-rows",children:[r.map((u,d)=>s.jsxs("li",{children:[s.jsx("span",{className:"agent-chat-ctx-swatch",style:{"--agent-chat-ctx-step":String(Math.min(d,5))},"aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-ctx-name",children:u.name}),s.jsx("span",{className:"agent-chat-ctx-tokens",children:va(u.tokens)}),s.jsxs("span",{className:"agent-chat-ctx-share",children:[(u.tokens/e.max*100).toFixed(1),"%"]})]},u.name)),i>0?s.jsxs("li",{className:"agent-chat-ctx-free",children:[s.jsx("span",{className:"agent-chat-ctx-swatch is-free","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-ctx-name",children:n("terminal.chat.contextReserved")}),s.jsx("span",{className:"agent-chat-ctx-tokens",children:va(i)}),s.jsxs("span",{className:"agent-chat-ctx-share",children:[(i/e.max*100).toFixed(1),"%"]})]}):null,s.jsxs("li",{className:"agent-chat-ctx-free",children:[s.jsx("span",{className:"agent-chat-ctx-swatch is-free","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-ctx-name",children:n("terminal.chat.contextFree")}),s.jsx("span",{className:"agent-chat-ctx-tokens",children:va(l)}),s.jsxs("span",{className:"agent-chat-ctx-share",children:[(l/e.max*100).toFixed(1),"%"]})]})]}),s.jsx(bC,{label:n("terminal.chat.contextMemoryFiles"),rows:e.memoryFiles}),s.jsx(bC,{label:n("terminal.chat.contextMcpTools"),rows:e.mcpTools}),s.jsx("p",{className:"agent-chat-ctx-foot",children:n("terminal.chat.contextAge")})]})}function bC({label:e,rows:t}){const n=t.reduce((i,l)=>i+l.tokens,0);if(t.length===0||n===0)return null;const r=[...t].sort((i,l)=>l.tokens-i.tokens);return s.jsxs("details",{className:"agent-chat-ctx-detail",children:[s.jsxs("summary",{children:[s.jsx("span",{className:"agent-chat-ctx-name",children:e}),s.jsx("span",{className:"agent-chat-ctx-tokens",children:va(n)}),s.jsx("span",{className:"agent-chat-ctx-count",children:r.length})]}),s.jsx("ul",{className:"agent-chat-ctx-rows",children:r.map(i=>s.jsxs("li",{children:[s.jsx("span",{className:"agent-chat-ctx-name",title:i.name,children:i.name}),s.jsx("span",{className:"agent-chat-ctx-tokens",children:va(i.tokens)})]},i.name))})]})}const gle=new Set(["idle_prompt","permission_prompt","auth_success","elicitation_dialog","elicitation_complete","elicitation_response"]);function yle(){let e="";return t=>{e+=t;const n=[];let r=e.indexOf(`
|
|
197
|
+
`}function Ise(e,t){const n=new DOMParser().parseFromString(t,"image/svg+xml"),r=Array.from(n.querySelectorAll("a")),i=Array.from(e.querySelectorAll("a")),l=Math.min(r.length,i.length);for(let o=0;o<l;o++){const u=r[o],d=i[o];if(!u||!d)continue;const f=u.getAttribute("href")??u.getAttribute("xlink:href")??"",m=Jj(f);m&&d.setAttribute("href",m)}}function Dse(e){const t=e.querySelector("svg");if(!t)return;let n;try{n=t.getBBox()}catch{return}const{x:r,y:i,width:l,height:o}=n;!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(l)||!Number.isFinite(o)||r<0||i<0||l<=0||o<=0||t.setAttribute("viewBox",`${Nu(r)} ${Nu(i)} ${Nu(l)} ${Nu(o)}`)}function Bse(e){e.tabIndex=0,e.setAttribute("aria-label",ps.openExpandedAria),Kse(e),e.dataset[XT]!=="true"&&(e.dataset[XT]="true",e.addEventListener("click",Pse),e.addEventListener("keydown",Fse))}function Pse(e){if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0||Pg(e.target))return;const t=e.currentTarget;t instanceof HTMLElement&&(e.preventDefault(),Xj(t))}function Fse(e){if(e.key!=="Enter"&&e.key!==" "||Pg(e.target))return;const t=e.currentTarget;t instanceof HTMLElement&&(e.preventDefault(),Xj(t))}function Xj(e){const t=e.querySelector("svg");if(!t)return;a0(!1);const n=typeof HTMLDialogElement<"u"&&typeof HTMLDialogElement.prototype.showModal=="function",r=document.createElement(n?"dialog":"div"),i=++Ase,l=`diagram-lightbox-title-${i}`;r.className="diagram-lightbox",r.setAttribute("aria-labelledby",l),n||(r.setAttribute("role","dialog"),r.setAttribute("aria-modal","true"),r.tabIndex=-1);const o=document.createElement("div");o.className="diagram-lightbox__frame";const u=document.createElement("div");u.className="diagram-lightbox__header";const d=document.createElement("h2");d.id=l,d.textContent=ps.lightboxTitle;const f=document.createElement("button");f.className="diagram-lightbox__close",f.type="button",f.setAttribute("aria-label",ps.closeExpandedAria),f.textContent=ps.close;const m=document.createElement("div");m.className="diagram-lightbox__controls",m.setAttribute("aria-label",ps.zoomControlsAria);const y=Yp("−",ps.zoomOutAria,"out"),v=document.createElement("span");v.className="diagram-lightbox__zoom-readout",v.setAttribute("aria-live","polite");const _=Yp("+",ps.zoomInAria,"in"),b=Yp(ps.fit,ps.fitAria,"fit"),x=Yp(ps.reset,ps.resetAria,"reset");m.append(y,v,_,b,x);const S=document.createElement("div");S.className="diagram-lightbox__viewport";const T=Hse(t),A=t.cloneNode(!0);A.removeAttribute("style"),qse(A,`diagram-lightbox-svg-${i}`),S.append(A),u.append(d,m,f),o.append(u,S),r.append(o),document.body.append(r);const C=new $se(S,A,v,T);y.addEventListener("click",()=>C.zoomOut()),_.addEventListener("click",()=>C.zoomIn()),b.addEventListener("click",()=>C.fit()),x.addEventListener("click",()=>C.reset());const L=Use(r),N=P=>{(P.target===r||P.target===f)&&a0(!0)},z=P=>{if(P.key==="Escape"){P.preventDefault(),a0(!0);return}C.handleKeyboard(P)||P.key==="Tab"&&Gse(P,r)},E={dialog:r,trigger:e,inertStates:L,onClick:N,onKeyDown:z,cleanupPanZoom:()=>C.destroy()};n&&(E.onCancel=P=>{P.preventDefault(),a0(!0)},r.addEventListener("cancel",E.onCancel),r.showModal()),r.addEventListener("click",N),document.addEventListener("keydown",z,!0),z0=E,C.fit(),f.focus()}function Yp(e,t,n){const r=document.createElement("button");return r.className="diagram-lightbox__zoom-button",r.type="button",r.dataset.zoomAction=n,r.setAttribute("aria-label",t),r.textContent=e,r}class $se{constructor(t,n,r,i){this.viewport=t,this.svg=n,this.readout=r,this.baseSize=i,this.applyZoom(this.zoomIndex),t.addEventListener("pointerdown",this.onPointerDown),t.addEventListener("pointermove",this.onPointerMove),t.addEventListener("pointerup",this.onPointerEnd),t.addEventListener("pointercancel",this.onPointerEnd),t.addEventListener("wheel",this.onWheel,{passive:!1}),t.addEventListener("dblclick",this.onDoubleClick),window.addEventListener("resize",this.onResize)}viewport;svg;readout;baseSize;zoomIndex=js.indexOf(100);dragStart=null;pinchStart=null;pointers=new Map;destroy(){this.viewport.removeEventListener("pointerdown",this.onPointerDown),this.viewport.removeEventListener("pointermove",this.onPointerMove),this.viewport.removeEventListener("pointerup",this.onPointerEnd),this.viewport.removeEventListener("pointercancel",this.onPointerEnd),this.viewport.removeEventListener("wheel",this.onWheel),this.viewport.removeEventListener("dblclick",this.onDoubleClick),window.removeEventListener("resize",this.onResize),this.pointers.clear()}zoomIn(){this.zoomAroundViewportCenter(Math.min(this.zoomIndex+1,js.length-1))}zoomOut(){this.zoomAroundViewportCenter(Math.max(this.zoomIndex-1,0))}reset(){this.zoomAroundViewportCenter(js.indexOf(100))}fit(){const t=this.viewport.clientWidth||this.viewport.getBoundingClientRect().width||this.baseSize.width,n=this.viewport.clientHeight||this.viewport.getBoundingClientRect().height||this.baseSize.height,r=Math.min(t/this.baseSize.width,n/this.baseSize.height),i=Math.floor(r*100),l=js.findIndex(u=>u>i),o=l===-1?js.length-1:Math.max(0,l-1);this.applyZoom(o),this.viewport.scrollLeft=Math.max(0,(this.svgWidth-t)/2),this.viewport.scrollTop=Math.max(0,(this.svgHeight-n)/2)}handleKeyboard(t){return t.key==="+"||t.key==="="?(t.preventDefault(),this.zoomIn(),!0):t.key==="-"||t.key==="_"?(t.preventDefault(),this.zoomOut(),!0):t.key==="0"?(t.preventDefault(),this.reset(),!0):t.key.toLowerCase()==="f"?(t.preventDefault(),this.fit(),!0):!1}get svgWidth(){return this.baseSize.width*(Xp(this.zoomIndex)/100)}get svgHeight(){return this.baseSize.height*(Xp(this.zoomIndex)/100)}applyZoom(t){this.zoomIndex=t;const n=Xp(this.zoomIndex),r=n/100;this.svg.setAttribute("width",Nu(this.baseSize.width*r)),this.svg.setAttribute("height",Nu(this.baseSize.height*r)),this.readout.textContent=`${n}%`}zoomAroundViewportCenter(t){const n=this.viewport.getBoundingClientRect();this.zoomAroundPoint(t,n.left+n.width/2,n.top+n.height/2)}zoomAroundPoint(t,n,r){if(t===this.zoomIndex)return;const i=this.svgWidth,l=this.svgHeight,o=this.viewport.getBoundingClientRect(),u=this.viewport.scrollLeft+n-o.left,d=this.viewport.scrollTop+r-o.top;this.applyZoom(t),this.viewport.scrollLeft=u/i*this.svgWidth-(n-o.left),this.viewport.scrollTop=d/l*this.svgHeight-(r-o.top)}onPointerDown=t=>{if(t.button!==0||Pg(t.target))return;const n=t.pointerId??1;if(this.pointers.set(n,t),this.pointers.size===2){this.pinchStart={distance:this.pointerDistance(),zoomIndex:this.zoomIndex};return}this.dragStart={x:t.clientX,y:t.clientY,scrollLeft:this.viewport.scrollLeft,scrollTop:this.viewport.scrollTop,pointerId:n},this.viewport.setPointerCapture?.(n)};onPointerMove=t=>{const n=t.pointerId??1;if(this.pointers.has(n)&&this.pointers.set(n,t),this.pinchStart&&this.pointers.size>=2){const r=this.pointerDistance()/this.pinchStart.distance,i=Xp(this.pinchStart.zoomIndex)*r;this.applyZoom(zse(i));return}!this.dragStart||this.dragStart.pointerId!==n||(t.preventDefault(),this.viewport.scrollLeft=this.dragStart.scrollLeft-(t.clientX-this.dragStart.x),this.viewport.scrollTop=this.dragStart.scrollTop-(t.clientY-this.dragStart.y))};onPointerEnd=t=>{const n=t.pointerId??1;this.pointers.delete(n),this.viewport.releasePointerCapture?.(n),this.dragStart?.pointerId===n&&(this.dragStart=null),this.pointers.size<2&&(this.pinchStart=null)};onWheel=t=>{if(!t.ctrlKey&&!t.metaKey)return;t.preventDefault();const n=t.deltaY<0?Math.min(this.zoomIndex+1,js.length-1):Math.max(this.zoomIndex-1,0);this.zoomAroundPoint(n,t.clientX,t.clientY)};onDoubleClick=t=>{Pg(t.target)||(t.preventDefault(),this.zoomAroundPoint(this.zoomIndex===js.indexOf(200)?js.indexOf(100):js.indexOf(200),t.clientX,t.clientY))};onResize=()=>{this.fit()};pointerDistance(){const[t,n]=Array.from(this.pointers.values());return!t||!n?1:Math.hypot(n.clientX-t.clientX,n.clientY-t.clientY)}}function Qse(e){const t=tC(e.getAttribute("width")),n=tC(e.getAttribute("height"));if(t&&n)return{width:t,height:n};const r=e.getAttribute("viewBox")?.trim().split(/[\s,]+/).map(Number)??[],i=r[2],l=r[3],o=i!==void 0&&Number.isFinite(i)&&i>0?i:null,u=l!==void 0&&Number.isFinite(l)&&l>0?l:null;return{width:t??o??800,height:n??u??600}}function Hse(e){const t=e.getBoundingClientRect();return t.width>0&&t.height>0?{width:t.width,height:t.height}:Qse(e)}function tC(e){if(!e)return null;const t=/^(\d+(?:\.\d+)?)/.exec(e.trim());if(!t)return null;const n=Number(t[1]);return Number.isFinite(n)&&n>0?n:null}function Nu(e){return Number.isInteger(e)?String(e):e.toFixed(2).replace(/\.?0+$/,"")}function zse(e){let t=0,n=Number.POSITIVE_INFINITY;return js.forEach((r,i)=>{const l=Math.abs(r-e);l<n&&(n=l,t=i)}),t}function Xp(e){return js[e]??js[0]}function qse(e,t){const n=e.getAttribute("id")??"";e.setAttribute("id",t);const r=e.querySelector("style");!n||!r?.textContent||(r.textContent=r.textContent.split(`#${n}`).join(`#${t}`))}function a0(e){const t=z0;t&&(t.dialog.removeEventListener("click",t.onClick),document.removeEventListener("keydown",t.onKeyDown,!0),t.onCancel&&t.dialog.removeEventListener("cancel",t.onCancel),t.cleanupPanZoom(),Wse(t.inertStates),t.dialog instanceof HTMLDialogElement&&t.dialog.open&&typeof t.dialog.close=="function"&&t.dialog.close(),t.dialog.remove(),z0=null,e&&t.trigger.isConnected&&t.trigger.focus())}function Use(e){const t=[];for(const n of Array.from(document.body.children))!(n instanceof HTMLElement)||n===e||(t.push({element:n,ariaHidden:n.getAttribute("aria-hidden"),inert:n.inert}),n.inert=!0,n.setAttribute("aria-hidden","true"));return t}function Wse(e){for(const t of e)t.element.inert=t.inert,t.ariaHidden===null?t.element.removeAttribute("aria-hidden"):t.element.setAttribute("aria-hidden",t.ariaHidden)}function Gse(e,t){const n=Array.from(t.querySelectorAll(xse)).filter(Zse);if(n.length===0){e.preventDefault(),t.focus();return}const r=n[0],i=n[n.length-1];!r||!i||(e.shiftKey&&document.activeElement===r?(e.preventDefault(),i.focus()):!e.shiftKey&&document.activeElement===i&&(e.preventDefault(),r.focus()))}function Kse(e){e.querySelector("a[href]")?e.removeAttribute("role"):e.setAttribute("role","button")}function Pg(e){if(!(e instanceof Element))return!1;const t=e.closest("a[href]");return!t||!(t.getAttribute("href")?.trim()??"")?!1:!Vse(t)}function Vse(e){return Array.from(e.children).some(t=>t.tagName.toLowerCase()==="svg")}function Zse(e){return!(e.inert||e.hidden||e.getAttribute("aria-hidden")==="true"||"disabled"in e&&e.disabled)}function Jj(e){const t=e.trim();if(!t||t.includes(".."))return null;if(/^[a-z][a-z0-9+.-]*:/i.test(t)){if(/^javascript:/i.test(t)||/^data:/i.test(t))return null;let r;try{r=new URL(t)}catch{return null}return r.origin!==window.location.origin?null:Jj(r.pathname)}if(/^\/entry\/[^/?#]+$/.exec(t)){const r=t.slice(7);let i;try{i=decodeURIComponent(r)}catch{return null}return/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(i)?`/entry/${encodeURIComponent(i)}`:null}return/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(t)?`/entry/${encodeURIComponent(t)}`:null}function Yse(e){const t=Tse.exec(e);if(!t)return null;const n=t[1]?.trim();if(!n)return null;const r=n.indexOf("/"),i=r>=0?n.slice(0,r):n,l=r>=0?n.slice(r+1).trim():"",o=i.trim().split(/[\s,]+/).filter(Boolean);if(o.length!==3)return null;const[u,d,f]=o;if(!u||!d||!f)return null;const m=tv(u,1),y=tv(d,.4),v=Jse(f);if(m===null||y===null||v===null)return null;let _=1;if(r>=0){const b=tv(l,1);if(b===null)return null;_=b}return{L:m,C:y,h:v,alpha:_}}function Xse(e){const t=e.h*Math.PI/180,n=e.C*Math.cos(t),r=e.C*Math.sin(t),i=e.L,l=i+.3963377774*n+.2158037573*r,o=i-.1055613458*n-.0638541728*r,u=i-.0894841775*n-1.291485548*r,d=l**3,f=o**3,m=u**3,y=4.0767416621*d-3.3077115913*f+.2309699292*m,v=-1.2684380046*d+2.6097574011*f-.3413193965*m,_=-.0041960863*d-.7034186147*f+1.707614701*m,b=Jp(nv(y)),x=Jp(nv(v)),S=Jp(nv(_));if(e.alpha<1){const T=Jp(e.alpha);return`#${Yl(b)}${Yl(x)}${Yl(S)}${Yl(T)}`}return`#${Yl(b)}${Yl(x)}${Yl(S)}`}function tv(e,t){if(!e)return null;if(e.endsWith("%")){const r=Number(e.slice(0,-1));return Number.isFinite(r)?r/100*t:null}const n=Number(e);return Number.isFinite(n)?n:null}function Jse(e){const t=Cse.exec(e);if(!t)return null;const n=Number(t[1]);return Number.isFinite(n)?n:null}function nv(e){const t=Math.max(0,Math.min(1,e));return t>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t}function Jp(e){return Math.round(Math.max(0,Math.min(1,e))*255)}function Yl(e){return e.toString(16).padStart(2,"0")}const eae=/\[(e\d+)\]/g,nC=/\[e\d+\]/;function tae(e,t){if(!nC.test(e)||typeof DOMParser>"u")return e;const n=new DOMParser().parseFromString(e,"text/html"),r=n.createTreeWalker(n.body,NodeFilter.SHOW_TEXT),i=[];for(let l=r.nextNode();l;l=r.nextNode()){const o=l;nC.test(o.data)&&(o.parentElement?.closest("code, pre, a")||i.push(o))}for(const l of i){const o=n.createDocumentFragment();let u=0;for(const d of l.data.matchAll(eae)){const f=d.index??0;f>u&&o.append(n.createTextNode(l.data.slice(u,f)));const m=n.createElement("button");m.type="button",m.className="session-analyst__ev",m.title=t,m.setAttribute("data-analysis-evidence",d[1]??""),m.textContent=d[1]??"",o.append(m),u=f+d[0].length}u<l.data.length&&o.append(n.createTextNode(l.data.slice(u))),l.replaceWith(o)}return n.body.innerHTML}const nae=new Set(["path","cwd","canonicalcwd","transcriptpath","providersession","sessionid","token","ticket","url","mcpurl","rawtranscript"]),rae=50*1024;function q0(e){return!e||typeof e!="object"?!1:Array.isArray(e)?e.some(q0):Object.entries(e).some(([t,n])=>nae.has(t.toLowerCase())||q0(n))}function iae(e){if(q0(e)||!Tc(e)||!Array.isArray(e.clis))return null;const t=e.clis.map(oae);return t.every(n=>n!==null)?{clis:t}:null}function sae(e){return q0(e)||!Tc(e)||typeof e.type!="string"?null:e.type==="connected"?{type:"connected"}:(e.type==="chunk"||e.type==="thought")&&typeof e.text=="string"?{type:e.type,text:e.text}:e.type==="tool"&&typeof e.title=="string"&&typeof e.status=="string"?{type:"tool",title:e.title,status:e.status}:e.type==="complete"?{type:"complete"}:e.type==="error"&&eO(e.error)?{type:"error",error:e.error}:e.type==="artifact"&&Tc(e.artifact)&&typeof e.artifact.id=="string"&&typeof e.artifact.title=="string"&&typeof e.artifact.html=="string"&&typeof e.artifact.createdAt=="number"&&lae(e.artifact.html)<=rae?{type:"artifact",artifact:{id:e.artifact.id,title:e.artifact.title,html:e.artifact.html,createdAt:e.artifact.createdAt}}:null}function aae(e){return!q0(e)&&Tc(e)&&eO(e.error)?e.error:null}function oae(e){if(!Tc(e)||typeof e.cliId!="string"||typeof e.label!="string"||typeof e.available!="boolean"||!Array.isArray(e.models))return null;const t=e.models.map(n=>Tc(n)&&typeof n.id=="string"&&typeof n.label=="string"&&Array.isArray(n.effortLevels)&&n.effortLevels.every(r=>typeof r=="string")?{id:n.id,label:n.label,effortLevels:n.effortLevels,defaultEffort:typeof n.defaultEffort=="string"?n.defaultEffort:void 0}:null);return t.every(n=>n!==null)?{cliId:e.cliId,label:e.label,available:e.available,defaultModel:typeof e.defaultModel=="string"?e.defaultModel:void 0,models:t}:null}function eO(e){return Tc(e)&&typeof e.code=="string"&&typeof e.message=="string"}function Tc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function lae(e){return new TextEncoder().encode(e).byteLength}class F3 extends Error{constructor(t,n){super(n),this.code=t}code}const yf=e=>`analysis/${encodeURIComponent(e)}`,cae="/plugins/terminal/analysis/stream",uae={type:"error",error:{code:"analysis_session_not_found",message:"Analysis session was not found."}},tO=250,dae=4e3;let Fs=null,ad=0,$3=0,nO=new Set,j4=!1,Ku=null,Nm=tO;const yc=new Map;function Fg(e,t,n,r,i,l,o,u){const d=new URLSearchParams({theme:t,canvas:n,foreground:r});return i&&d.set("surface",i),l&&d.set("hairline",l),o&&d.set("accent",o),u&&d.set("muted",u),`/plugins/terminal/analysis/artifacts/${encodeURIComponent(e)}?${d.toString()}`}async function rC(e){const t=await U1(e,"analysis/catalog"),n=await t.json().catch(()=>null),r=iae(n);if(r)return r;throw W1(t.status,n)}async function hae(e,t){try{const n=await U1(e,`${yf(t)}/ready`);if(!n.ok)return!1;const r=await n.json().catch(()=>null);return!!r&&typeof r=="object"&&!Array.isArray(r)&&r.ready===!0}catch{return!1}}async function fae(e,t,n,r){await I4(e,`${yf(t)}/start`,n,r)}async function pae(e,t,n){await I4(e,`${yf(t)}/message`,{text:n})}async function rv(e,t){await I4(e,`${yf(t)}/stop`,{})}async function rO(e,t){const n=await U1(e,`${yf(t)}/artifacts`,{method:"DELETE"});if(!n.ok)throw W1(n.status,await n.json().catch(()=>null))}function mae(e,t,n){return gae(t,n)}function gae(e,t){let n=yc.get(e);return n||(n={listeners:new Set,confirmedEpoch:null},yc.set(e,n)),n.listeners.add(t),vae(),queueMicrotask(()=>{n.listeners.has(t)&&Fs?.readyState===EventSource.OPEN&&(!j4||!nO.has(e)||n.confirmedEpoch===null&&(n.confirmedEpoch=$3,t({type:"connected"})))}),()=>{n.listeners.delete(t),n.listeners.size===0&&yc.delete(e),yae()}}function q1(){for(const e of yc.values())if(e.listeners.size>0)return!0;return!1}function O4(){j4=!1}function iO(){Nm=tO}function sO(){Ku!==null&&(clearTimeout(Ku),Ku=null)}function yae(){q1()||(sO(),O4(),Fs?.close(),Fs=null,iO())}function aO(){sO(),O4(),Fs?.close(),ad+=1;const e=ad,t=new EventSource(cae);Fs=t,bae(t,e)}function vae(){if(!(Fs&&Fs.readyState!==EventSource.CLOSED)){if(Fs?.readyState===EventSource.CLOSED){q1()&&oO();return}aO()}}function bae(e,t){e.onmessage=n=>{Fs!==e||ad!==t||typeof n.data=="string"&&kae(n.data,t)},e.onerror=()=>{Fs!==e||ad!==t||(O4(),e.readyState!==EventSource.CONNECTING&&e.readyState===EventSource.CLOSED&&q1()&&oO())}}function oO(){if(Ku!==null)return;const e=Nm;Nm=Math.min(Nm*2,dae),Ku=setTimeout(()=>{Ku=null,q1()&&(Fs!==null&&Fs.readyState!==EventSource.CLOSED||aO())},e)}function Q3(e,t){const n=yc.get(e);if(n)for(const r of n.listeners)r(t)}function _ae(e,t){if(ad!==t)return;const n=new Set(e);for(const[r,i]of yc)i.confirmedEpoch!==null&&!n.has(r)&&(Q3(r,uae),i.confirmedEpoch=null);$3+=1,nO=n,j4=!0,iO();for(const r of e){const i=yc.get(r);i&&(i.confirmedEpoch=$3,Q3(r,{type:"connected"}))}}function lO(e,t){const n=Object.keys(e);return n.length===t.size&&n.every(r=>t.has(r))}function wae(e){if(!lO(e,new Set(["type","operationIds"]))||e.type!=="connected"||!Array.isArray(e.operationIds))return null;for(const t of e.operationIds)if(typeof t!="string")return null;return e.operationIds}function xae(e){if(!lO(e,new Set(["type","operationId","event"]))||e.type!=="event"||typeof e.operationId!="string"||!e.event||typeof e.event!="object"||Array.isArray(e.event))return null;const t=sae(e.event);return t?{operationId:e.operationId,event:t}:null}function kae(e,t){if(ad!==t)return;let n;try{n=JSON.parse(e)}catch{return}if(!n||typeof n!="object"||Array.isArray(n))return;const r=n,i=wae(r);if(i){_ae(i,t);return}const l=xae(r);l&&Q3(l.operationId,l.event)}async function I4(e,t,n,r){const i=await U1(e,t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),...r?{signal:r}:{}});if(!i.ok)throw W1(i.status,await i.json().catch(()=>null))}async function U1(e,t,n){try{return await e.fetch("terminal",t,n)}catch(r){throw r instanceof wi?W1(r.status,r.body):r}}function W1(e,t){const n=aae(t);return new F3(n?.code??`analysis_http_${e}`,n?.message??"Analysis is unavailable.")}const Sae=32,H3={catalog:null,cliId:"",model:"",effort:"",draft:"",queue:[],started:!1,busy:!1,phase:"idle",latestActivity:null,runStartedAt:null,runEndedAt:null,entries:[],tools:[],artifacts:[],artifactAuthoring:null,artifactPublished:null,selectionLocked:!1,selectionSaved:!1,viewMode:"chat",error:null};function Tae(e,t){if(t.type==="catalog")return{...e,catalog:t.catalog,...iC(t.catalog,t.selection)};if(t.type==="select-cli"&&!e.started){const r=e.catalog?.clis.find(l=>l.cliId===t.cliId),i=r?.models.find(l=>l.id===r.defaultModel)??r?.models[0];return{...e,cliId:t.cliId,model:i?.id??"",effort:i?.defaultEffort??i?.effortLevels[0]??""}}if(t.type==="select-model"&&!e.started){const r=e.catalog?.clis.find(i=>i.cliId===e.cliId)?.models.find(i=>i.id===t.model);return{...e,model:t.model,effort:r?.defaultEffort??r?.effortLevels[0]??""}}if(t.type==="select-effort"&&!e.started)return{...e,effort:t.effort};if(t.type==="set-draft")return{...e,draft:t.draft};if(t.type==="queue-push")return{...e,queue:[...e.queue,t.text]};if(t.type==="queue-cancel")return t.index<0||t.index>=e.queue.length?e:{...e,queue:e.queue.filter((r,i)=>i!==t.index)};if(t.type==="queue-clear")return e.queue.length>0?{...e,queue:[]}:e;if(t.type==="sending")return{...e,started:e.started||t.started,busy:!0,phase:"starting",latestActivity:{kind:"starting",connected:!t.started},runStartedAt:t.now,runEndedAt:null,error:null,tools:[],artifactAuthoring:null,artifactPublished:null,entries:[...e.entries,{role:"user",text:t.text,at:t.now}]};if(t.type==="error")return Fh(e,t.message,t.now);if(t.type==="session-lost")return{...Fh(e,"Analysis session ended — send again to restart.",t.now),started:!1};if(t.type==="start-failed")return{...Fh(e,t.message,t.now),started:!1};if(t.type==="stopped")return{...e,queue:[],started:!1,busy:!1,phase:"stopped",runEndedAt:t.now,artifactAuthoring:null,error:null,entries:z3(e,"stopped",t.now)};if(t.type==="stop-failed"){const r=`Stop failed: ${t.message}`;return{...Fh({...e,entries:Lae(e.entries,r)},r,t.now),started:!1}}if(t.type==="reset"){const r=e.catalog;return r?{...H3,catalog:r,selectionLocked:e.selectionLocked,...iC(r,t.selection)}:{...H3,selectionLocked:e.selectionLocked}}if(t.type==="selection-lock")return e.selectionLocked===t.locked?e:{...e,selectionLocked:t.locked};if(t.type==="selection-saved")return{...e,selectionSaved:!0};if(t.type==="selection-saved-clear")return e.selectionSaved?{...e,selectionSaved:!1}:e;if(t.type==="clear-artifacts")return{...e,artifacts:[],artifactPublished:null};if(t.type==="view-mode")return e.viewMode===t.mode?e:{...e,viewMode:t.mode};if(t.type!=="event")return e;const n=t.event;if(n.type==="connected")return e.phase==="starting"?{...e,latestActivity:{kind:"starting",connected:!0}}:e;if(n.type==="chunk")return{...e,phase:"writing",latestActivity:{kind:"writing"},entries:Eae(e.entries,n.text,t.now)};if(n.type==="thought")return{...e,phase:"reasoning",latestActivity:{kind:"reasoning"}};if(n.type==="tool"){const r=n.status.toLowerCase(),i=n.title.toLowerCase().includes("publish_artifact")&&(r==="pending"||r==="in_progress");return{...e,phase:"tool",latestActivity:{kind:"tool",title:n.title,status:n.status},tools:[...e.tools.filter(l=>l.title!==n.title),{title:n.title,status:n.status}],...i?{artifactAuthoring:e.artifactAuthoring??{startedAt:t.now},artifactPublished:null}:{}}}return n.type==="artifact"?{...e,artifacts:[n.artifact,...e.artifacts.filter(r=>r.id!==n.artifact.id)].slice(0,Sae),artifactPublished:{artifact:n.artifact,durationMs:e.artifactAuthoring?t.now-e.artifactAuthoring.startedAt:null},artifactAuthoring:null}:n.type==="complete"?{...e,busy:!1,phase:"complete",runEndedAt:t.now,artifactAuthoring:null,error:null,entries:z3(e,"complete",t.now)}:Fh(e,n.error.message,t.now)}function Cae(e){const t=e.clis.find(i=>i.cliId==="claude"&&i.available)??e.clis.find(i=>i.available)??e.clis[0],n=t?.models.find(i=>t.cliId==="claude"&&i.id==="sonnet")??t?.models.find(i=>i.id===t.defaultModel)??t?.models[0],r=n?.effortLevels.includes("medium")?"medium":n?.defaultEffort??n?.effortLevels[0]??"";return{cliId:t?.cliId??"",model:n?.id??"",effort:r}}function iC(e,t){const n=Cae(e);if(!t)return n;const r=e.clis.find(m=>m.cliId===t.cliId&&m.available),i=r??e.clis.find(m=>m.cliId===n.cliId);if(!i)return n;const l=r?i.models.find(m=>m.id===i.defaultModel)??i.models[0]:i.models.find(m=>m.id===n.model)??i.models.find(m=>m.id===i.defaultModel)??i.models[0],u=i.models.find(m=>m.id===t.model)??l;if(!u)return{cliId:i.cliId,model:"",effort:""};const d=u.effortLevels.includes("medium")?"medium":u.defaultEffort??u.effortLevels[0]??"",f=u.effortLevels.length===0?t.effort===""?"":d:u.effortLevels.includes(t.effort)?t.effort:d;return{cliId:i.cliId,model:u.id,effort:f}}function Fh(e,t,n){return{...e,queue:[],busy:!1,phase:"error",runEndedAt:n,artifactAuthoring:null,error:t,entries:z3(e,"error",n,t)}}function Lae(e,t){const n=e.at(-1);return n?.role!=="analyst"||n.receipt?.outcome!=="stopped"?e:[...e.slice(0,-1),{...n,receipt:{...n.receipt,outcome:"error",error:t}}]}function z3(e,t,n,r){const i=e.entries.at(-1);if(i?.role==="analyst"&&i.receipt)return e.entries;const l=e.runStartedAt===null?0:Math.max(0,n-e.runStartedAt),o={outcome:t,durationMs:l,tools:e.tools,...r!==void 0?{error:r}:{}};return i?.role!=="analyst"?i?.role!=="user"?e.entries:[...e.entries,{role:"analyst",text:"",at:n,receipt:o}]:[...e.entries.slice(0,-1),{...i,receipt:o}]}function Eae(e,t,n){const r=e.at(-1);return r?.role==="analyst"?[...e.slice(0,-1),{...r,text:r.text+t}]:[...e,{role:"analyst",text:t,at:n}]}const $g=new Map,pu=new Map;function G1(e){const t=Aae(e.operationId,e.api,e.settings,e.language);return{state:p.useSyncExternalStore(t.subscribe,t.getSnapshot,t.getSnapshot),dispatch:t.dispatch,send:t.send,stop:t.stop,reset:t.reset,refreshCatalog:t.refreshCatalog}}function Aae(e,t,n,r){const i=$g.get(e);if(i)return i.updateContext(n,r),i;const l=jae(e,t,n,r);return $g.set(e,l),l}function Mae(e){$g.get(e)?.dispose()}const Rae=2e3,Nae=12e4;function jae(e,t,n,r){let i=H3,l=n,o=r,u=null,d=!1,f=null,m=null,y=null,v=null,_=null,b=null,x=null,S=Promise.resolve(),T=0,A=null,C=0,L=0;const N=new Set,z=B=>{if(d)return;const I=B.type==="select-cli"||B.type==="select-model"||B.type==="select-effort";if(I&&i.selectionLocked)return;const H=Tae(i,B);if(H!==i){I&&A!==null&&(clearTimeout(A),A=null),i=I&&H.selectionSaved?{...H,selectionSaved:!1}:H;for(const O of N)O();I&&E({cliId:i.cliId,model:i.model,effort:i.effort})}},E=B=>{const I=l;if(!I)return;const H=++T;S=S.then(async()=>{try{if(await x4(I,{analyst:{selection:B}}),u=B,d||H!==T)return;z({type:"selection-saved"}),A=setTimeout(()=>{A=null,z({type:"selection-saved-clear"})},1500)}catch{}})},P=()=>{m!==null&&(clearTimeout(m),m=null)},R=()=>{P(),m=setTimeout(()=>{m=null,z({type:"error",message:"Analysis response timed out.",now:Date.now()})},Nae)},Q=()=>{P(),C+=1,L+=1;const B=f;f=null,B?.()},q=()=>{Q(),z({type:"session-lost",now:Date.now()})},K=async()=>{if(f)return;const B=++C;let I=null;const H=new Promise(O=>{I=O});f=mae(t,e,O=>{if(B!==C||d)return;if(O.type==="connected"){z({type:"event",event:O,now:Date.now()}),I?.(),I=null;return}if(O.type==="error"&&aC(O.error.code)){I?.(),I=null,q();return}(O.type==="complete"||O.type==="error")&&P();const M=O.type==="complete"?i.queue[0]:void 0;z({type:"event",event:O,now:Date.now()}),M!==void 0&&!i.busy&&!d&&B===C&&(z({type:"queue-cancel",index:0}),J.send(M))}),await Promise.race([H,new Promise(O=>setTimeout(O,Rae))])},ee=()=>{if(d)return;const B=pu.get(e),I=x,H=b,O=v,M=S,Z=_;d=!0,$g.delete(e),Q(),A!==null&&clearTimeout(A),N.clear(),Z?.abort();const W=(async()=>{B&&await B,O&&await O.catch(()=>{}),I&&await I.catch(()=>{}),H&&await H.catch(()=>{}),await M,await rv(t,e)})().catch(()=>{});pu.set(e,W),W.finally(()=>{pu.get(e)===W&&pu.delete(e)})},Y=()=>{i.started||y||(y=rC(t).then(B=>{d||i.started||z({type:"catalog",catalog:B,selection:{cliId:i.cliId,model:i.model,effort:i.effort}})}).catch(()=>{}).finally(()=>{y=null}))},J={getSnapshot:()=>i,subscribe:B=>(N.add(B),()=>N.delete(B)),dispatch:z,send:async B=>{const I=pu.get(e);if(I&&await I,x)try{await x}catch{return}b&&await b;const H=B.trim();if(!H||i.busy||d)return;const O=!i.started,M=++L,Z={cliId:i.cliId,model:i.model,effort:i.effort,...o?{language:o}:{}};if(z({type:"sending",started:O,text:H,now:Date.now()}),O){const W=new AbortController,ne=fae(t,e,Z,W.signal);_=W,v=ne;try{await ne}catch(me){if(d||M!==L)return;if(!(me instanceof F3&&me.code==="analysis_session_exists")){z({type:"start-failed",message:$h(me),now:Date.now()});return}}finally{_===W&&(_=null),v===ne&&(v=null)}if(d||M!==L||!i.started||(await K(),M!==L||!i.started))return}try{if(await pae(t,e,H),M!==L||!i.busy||!i.started)return;R()}catch(W){if(d||M!==L)return;W instanceof F3&&aC(W.code)?q():z({type:"error",message:$h(W),now:Date.now()})}},stop:async()=>{if(x){await x.catch(()=>{});return}if(b)return b;if(d||!i.started)return;Q(),z({type:"stopped",now:Date.now()});const B=rv(t,e).catch(I=>{z({type:"stop-failed",message:$h(I),now:Date.now()})});b=B,await B,b===B&&(b=null)},reset:async()=>{if(x)return x;if(d)return;z({type:"selection-lock",locked:!0});const B=i.started||i.phase!=="idle"||i.entries.length>0||i.artifacts.length>0;Q();const I=(async()=>{b&&await b,v&&await v.catch(()=>{}),await S,B&&await rv(t,e),await rO(t,e).catch(()=>{}),z({type:"reset",selection:u}),Y()})().catch(H=>{throw z({type:"error",message:`Reset failed: ${$h(H)}`,now:Date.now()}),H});x=I;try{await I}finally{x===I&&(x=null),z({type:"selection-lock",locked:!1})}},refreshCatalog:Y,dispose:ee,updateContext:(B,I)=>{B&&(l=B),o=I}};return y=(pu.get(e)??Promise.resolve()).then(()=>Promise.all([rC(t),Oae(l)])).then(([B,I])=>{u=I,z({type:"catalog",catalog:B,selection:I})}).catch(B=>z({type:"error",message:$h(B),now:Date.now()})).finally(()=>{y=null}),J}async function Oae(e){if(!e)return null;try{const t=await e.read("terminal");if(!t)return null;const n=sC(t.analyst),r=sC(n.selection);if(typeof r.cliId!="string"||typeof r.model!="string"||typeof r.effort!="string")return null;const i={cliId:r.cliId,model:r.model==="fable"?"fable[1m]":r.model,effort:r.effort};return i.model!==r.model&&await x4(e,{analyst:{selection:i}}).catch(()=>{}),i}catch{return null}}function sC(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function $h(e){return e instanceof Error?e.message:"Analysis is unavailable."}function aC(e){return e==="analysis_exited"||e==="analysis_session_not_found"}const Qg="session-analyst-chat",D4=[Qg];function B4(e,t){return!!e.companionsOpen&&!(e.hiddenCompanionPanelIds??[]).includes(t)}function cO(e){if(!(!e.companionsOpen||!e.onSetCompanionPanelVisible)){for(const t of D4)B4(e,t)&&e.onSetCompanionPanelVisible(t,!1);e.onRequestCompanions?.(!1)}}function Iae({context:e}){const{state:t,dispatch:n}=G1(e),r=e.language??"en",i=xt(r),l=p.useMemo(()=>[...t.artifacts].reverse(),[t.artifacts]),o=t.artifacts[0]?.id??null,[u,d]=p.useState(null),[f,m]=p.useState(!1),[y,v]=p.useState(!1),[_,b]=p.useState(!1),x=p.useId(),S=p.useId(),T=p.useRef(null),A=p.useRef(null),C=p.useRef(null),L=p.useRef(null),N=p.useRef(null),z=p.useRef(!1),E=p.useRef(0);p.useEffect(()=>{o&&d(o)},[o]);const P=l.find(F=>F.id===u)??l.at(-1)??null,R=l.length,Q=()=>{N.current!==null&&(clearTimeout(N.current),N.current=null),b(!1)},q=(F=!1)=>{E.current+=1,v(!1),Q(),F&&C.current?.focus()};p.useEffect(()=>{if(!f)return;const F=I=>{I.target instanceof Node&&!T.current?.contains(I.target)&&m(!1)},B=I=>{I.key==="Escape"&&m(!1)};return document.addEventListener("pointerdown",F),document.addEventListener("keydown",B),()=>{document.removeEventListener("pointerdown",F),document.removeEventListener("keydown",B)}},[f]),p.useEffect(()=>{R||m(!1)},[R]),p.useEffect(()=>{if(!y)return;const F=I=>{I.target instanceof Node&&!A.current?.contains(I.target)&&q()},B=I=>{I.key==="Escape"&&q(!0)};return document.addEventListener("pointerdown",F),document.addEventListener("keydown",B),()=>{document.removeEventListener("pointerdown",F),document.removeEventListener("keydown",B)}},[y]),p.useEffect(()=>{P||q()},[P?.id]),p.useEffect(()=>{E.current+=1,Q()},[y,P?.id]),p.useEffect(()=>{y&&L.current?.querySelector('[role="menuitem"]')?.focus()},[y]),p.useEffect(()=>(z.current=!1,()=>{z.current=!0,N.current!==null&&(clearTimeout(N.current),N.current=null)}),[]);const K=()=>{if(!P)return;q(!0);const F=new Blob([P.html],{type:"text/html"}),B=URL.createObjectURL(F),I=document.createElement("a"),H=P.title.replace(/[^\p{L}\p{N}._-]+/gu,"-").replace(/^-+|-+$/g,"").replace(/^\.+/,""),O=/[\p{L}\p{N}]/u.test(H)?H:"artifact";I.href=B,I.download=`${O}.html`,I.click(),URL.revokeObjectURL(B)},ee=async()=>{if(!P)return;const F=E.current;try{if(await navigator.clipboard.writeText(P.html),z.current||F!==E.current)return;b(!0),N.current!==null&&clearTimeout(N.current),N.current=setTimeout(()=>{N.current=null,!z.current&&b(!1)},1500),C.current?.focus()}catch{if(z.current||F!==E.current)return;q(!0)}},Y=()=>{if(!P)return;q(!0);const{canvas:F,foreground:B,surface:I,hairline:H,accent:O,muted:M}=uO(),Z=I||H||O||M?Fg(P.id,e.theme,F,B,I,H,O,M):Fg(P.id,e.theme,F,B);window.open(Z,"_blank","noopener")},J=F=>{if(F.key==="Escape"){F.preventDefault(),F.stopPropagation(),q(!0);return}if(F.key==="Tab"){q();return}const B=[...L.current?.querySelectorAll('[role="menuitem"]')??[]];if(!B.length)return;const I=B.indexOf(document.activeElement);let H=null;F.key==="ArrowDown"&&(H=(I+1)%B.length),F.key==="ArrowUp"&&(H=(I-1+B.length)%B.length),F.key==="Home"&&(H=0),F.key==="End"&&(H=B.length-1),H!==null&&(F.preventDefault(),B[H]?.focus())};return s.jsxs("section",{className:"session-analyst__artifacts","aria-label":i("terminal.companion.artifacts"),children:[s.jsxs("header",{className:"session-analyst__panel-head--artifacts",children:[s.jsx("span",{className:"session-analyst__panel-mark--artifact","aria-hidden":"true",children:"◆"}),s.jsxs("span",{className:"session-analyst__panel-copy",children:[s.jsx("strong",{children:i("terminal.companion.artifacts")}),s.jsx("small",{children:i("terminal.artifacts.subtitle")})]}),s.jsxs("div",{className:"session-analyst__artifact-list-shell",ref:T,children:[s.jsxs("button",{type:"button",className:"session-analyst__artifact-count","aria-expanded":f,"aria-controls":x,"aria-haspopup":"listbox","aria-label":i(f?R===1?"terminal.artifacts.hideCount_one":"terminal.artifacts.hideCount_other":R===1?"terminal.artifacts.showCount_one":"terminal.artifacts.showCount_other",{count:R}),onClick:()=>m(F=>!F),disabled:!R,children:[s.jsx("strong",{children:R})," ",s.jsx("span",{children:r==="ko"?"개":R===1?"item":"items"}),s.jsx("i",{"aria-hidden":"true"})]}),f?s.jsx("div",{className:"session-analyst__artifact-menu",id:x,role:"listbox","aria-label":i("terminal.artifacts.published"),children:l.map(F=>{const B=F.id===P?.id;return s.jsxs("button",{type:"button",role:"option","aria-selected":B,className:B?"is-active":void 0,title:F.title,onClick:()=>{d(F.id),m(!1)},children:[s.jsx("span",{className:"session-analyst__artifact-list-mark","aria-hidden":"true",children:"◇"}),s.jsx("strong",{children:F.title}),s.jsx(dO,{createdAt:F.createdAt,language:r})]},F.id)})}):null]}),s.jsxs("div",{className:"session-analyst__export-shell",ref:A,children:[s.jsx("button",{type:"button",className:"session-analyst__export",ref:C,"aria-haspopup":"menu","aria-expanded":y,"aria-controls":S,disabled:!P,onClick:()=>{y?q():(E.current+=1,v(!0))},children:i("terminal.artifacts.export")}),y?s.jsxs("div",{className:"session-analyst__export-menu",id:S,role:"menu",ref:L,onKeyDown:J,children:[s.jsx("button",{type:"button",role:"menuitem",onClick:K,children:i("terminal.artifacts.exportDownload")}),s.jsx("button",{type:"button",role:"menuitem",onClick:()=>{ee()},children:i(_?"terminal.artifacts.exportCopied":"terminal.artifacts.exportCopy")}),s.jsx("button",{type:"button",role:"menuitem",onClick:Y,children:i("terminal.artifacts.exportOpenTab")})]}):null]}),s.jsx("button",{type:"button",className:"session-analyst__clear",onClick:()=>{m(!1),n({type:"clear-artifacts"}),rO(e.api,e.operationId).catch(()=>{})},disabled:!R,children:i("terminal.artifacts.clear")})]}),R===0?s.jsxs("div",{className:"session-analyst__artifacts-empty",children:[s.jsx("strong",{children:i("terminal.artifacts.emptyTitle")}),i("terminal.artifacts.emptyBody")]}):s.jsx("div",{className:"session-analyst__artifact-content",children:P?s.jsx(Dae,{artifact:P,theme:e.theme,language:r},P.id):null})]})}function Dae({artifact:e,theme:t,language:n}){if(!e.id)return null;const r=xt(n),{canvas:i,foreground:l,surface:o,hairline:u,accent:d,muted:f}=uO(),m=o||u||d||f?s.jsx("iframe",{title:e.title,src:Fg(e.id,t,i,l,o,u,d,f),sandbox:"allow-scripts"}):s.jsx("iframe",{title:e.title,src:Fg(e.id,t,i,l),sandbox:"allow-scripts"});return s.jsxs("article",{"aria-label":r("terminal.artifacts.selectedPreview"),children:[s.jsxs("header",{children:[s.jsx("span",{className:"session-analyst__artifact-title",children:e.title}),s.jsx(dO,{createdAt:e.createdAt,language:n})]}),m]})}function uO(){const e=getComputedStyle(document.documentElement),t=e.getPropertyValue("--ink-veil").trim()||"Canvas",n=e.getPropertyValue("--ink-pearl").trim()||"CanvasText";return{canvas:t,foreground:n,surface:e.getPropertyValue("--ink-deep").trim(),hairline:e.getPropertyValue("--hairline").trim(),accent:e.getPropertyValue("--aurora").trim(),muted:e.getPropertyValue("--ink-muted").trim()}}function dO({createdAt:e,language:t}){const n=xt(t),r=new Date(e),i=Number.isFinite(r.getTime());return s.jsx("time",{dateTime:i?r.toISOString():void 0,children:i?r.toLocaleTimeString(t==="ko"?"ko-KR":"en",{hour:"2-digit",minute:"2-digit"}):n("terminal.artifacts.unknownTime")})}const Bae=32;function oC(e){const t=xt(e);return{copyLabel:t("terminal.markdown.copy"),copyAriaLabel:n=>t("terminal.markdown.copyCodeAria",{language:n})}}const od=p.memo(function({text:t,streaming:n,className:r,language:i="en",transformHtml:l}){const o=p.useRef(t),u=p.useRef(n?t:""),d=p.useRef(null),f=p.useRef(l);f.current=l;const m=b=>{const x=ra(b,oC(i)).html;return f.current?f.current(x):x},[y,v]=p.useState(()=>n?m(t):"");o.current=t;const _=p.useMemo(()=>{if(n)return null;const b=ra(t,oC(i)).html;return l?l(b):b},[n,t,i,l]);return p.useEffect(()=>{if(!n){d.current!==null&&window.clearTimeout(d.current),d.current=null;return}u.current===t||d.current!==null||(d.current=window.setTimeout(()=>{d.current=null;const b=o.current;b!==u.current&&(u.current=b,v(m(b)))},Bae))},[n,t,i]),p.useEffect(()=>()=>{d.current!==null&&window.clearTimeout(d.current)},[]),s.jsx("div",{className:r,dangerouslySetInnerHTML:{__html:_??y}})}),Pae=[{icon:"◈",tone:"aurora",textKey:"terminal.analyst.suggestion.walkthrough"},{icon:"●",tone:"aurora",textKey:"terminal.analyst.suggestion.whatDoing"},{icon:"▲",tone:"coral",textKey:"terminal.analyst.suggestion.flagReview"},{icon:"≡",tone:"brass",textKey:"terminal.analyst.suggestion.handoffBrief"}],Fae=[{icon:"◈",tone:"aurora",labelKey:"terminal.analyst.followup.goDeeper",textKey:"terminal.analyst.prompt.goDeeper"},{icon:"▲",tone:"coral",labelKey:"terminal.analyst.followup.intentDrift",textKey:"terminal.analyst.prompt.intentDrift"},{icon:"≡",tone:"brass",labelKey:"terminal.analyst.followup.toArtifact",textKey:"terminal.analyst.prompt.toArtifact"},{icon:"●",tone:"aurora",labelKey:"terminal.analyst.followup.whatDoingNow",textKey:"terminal.analyst.suggestion.whatDoing"}],$ae=[{command:"/now",descriptionKey:"terminal.analyst.slash.now",templateKey:"terminal.analyst.suggestion.whatDoing"},{command:"/drift",descriptionKey:"terminal.analyst.slash.drift",templateKey:"terminal.analyst.prompt.intentDrift"},{command:"/brief",descriptionKey:"terminal.analyst.slash.brief",templateKey:"terminal.analyst.prompt.handoffBriefArtifact"},{command:"/risks",descriptionKey:"terminal.analyst.slash.risks",templateKey:"terminal.analyst.prompt.flagReviewBeforeContinue"},{command:"/timeline",descriptionKey:"terminal.analyst.slash.timeline",templateKey:"terminal.analyst.prompt.walkthrough"}];function Qae({context:e}){const{state:t,dispatch:n,send:r,stop:i,refreshCatalog:l}=G1(e),o=e.language??"en",u=xt(o),d=Xae(),[f,m]=p.useState(0),[y,v]=p.useState(!1),_=t.catalog?.clis.find(O=>O.cliId===t.cliId),b=_?.models.find(O=>O.id===t.model),x=t.entries.length>0,S=t.viewMode,T=p.useRef(null),A=p.useRef(null),C=t.entries.at(-1),L=t.draft.startsWith("/")?$ae.filter(O=>O.command.toLowerCase().startsWith(t.draft.toLowerCase())):[],N=!y&&L.length>0,z=`analysis-${e.operationId}-slash-listbox`,E=O=>`analysis-${e.operationId}-slash-${O.slice(1)}`,P=N?L[Math.min(f,L.length-1)]:void 0,R=u("terminal.analyst.evidenceCited"),Q=Zae(t),q=p.useCallback(O=>tae(O,R),[R]),K=p.useRef(x).current,ee=x&&!K;p.useLayoutEffect(()=>{const O=T.current;!O||!x||(O.scrollTop=O.scrollHeight)},[x,C?.text,t.entries.length,t.latestActivity,t.phase,t.artifactAuthoring,t.artifactPublished,S]),p.useLayoutEffect(()=>{const O=A.current;O&&cC(O)},[t.draft,S]),p.useLayoutEffect(()=>{const O=A.current;if(!O||typeof ResizeObserver>"u")return;const M=new ResizeObserver(()=>cC(O));return M.observe(O),()=>M.disconnect()},[S]),p.useEffect(()=>{const O=T.current;O&&Bg(O,Gte(o))},[o,S]),p.useEffect(()=>{l()},[l]);const Y=async(O,M)=>{const Z=O.trim();if(Z){if(t.busy){n({type:"queue-push",text:Z}),M&&n({type:"set-draft",draft:""});return}M&&n({type:"set-draft",draft:""}),await r(Z)}},J=O=>{const M=L[O];M&&(n({type:"set-draft",draft:u(M.templateKey)}),v(!0),m(0),window.requestAnimationFrame(()=>A.current?.focus()))},F=p.useCallback(O=>{const M=O.target,Z=M.closest("[data-analysis-evidence]");if(Z){const me=Z.getAttribute("data-analysis-evidence");me&&(n({type:"set-draft",draft:u("terminal.analyst.evidencePrompt",{ref:me})}),window.requestAnimationFrame(()=>A.current?.focus()));return}const W=M.closest('[data-action="copy-code"]');if(!W)return;const ne=W.closest("pre")?.getAttribute("data-code");ne&&Uae(W,ne,o)},[n,o,u]),B=s.jsxs(s.Fragment,{children:[t.busy?s.jsx("button",{type:"button",className:"session-analyst__send session-analyst__stop","aria-label":u("terminal.analyst.stop"),onClick:()=>{i()},children:s.jsx("span",{"aria-hidden":"true"})}):null,s.jsx("button",{type:"submit",className:"session-analyst__send","aria-label":u(t.busy?"terminal.analyst.queueQuestion":"terminal.analyst.send"),disabled:!t.draft.trim(),children:s.jsx("svg",{width:"14",height:"14",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.6","aria-hidden":"true",children:s.jsx("path",{d:"M6 10 V2 M2.5 5.5 L6 2 l3.5 3.5"})})})]}),I=t.entries.reduce((O,M,Z)=>M.role==="analyst"?Z:O,-1),H=t.phase!=="idle"&&C?.role==="user"&&(t.busy||t.phase==="error"||t.phase==="stopped");return s.jsx("section",{className:`session-analyst__chat-pane ${x?"has-interacted":"is-initial"}`,"aria-label":u("terminal.analyst.chatAria"),"data-phase":t.phase,children:S==="artifacts"?s.jsx(Iae,{context:e}):s.jsxs("div",{className:"session-analyst__workspace",children:[s.jsxs("section",{ref:T,className:"session-analyst__chat","aria-live":"polite","aria-busy":t.busy,children:[x?s.jsxs("ol",{className:"session-analyst__transcript",onClick:F,children:[t.entries.map((O,M)=>O.role==="user"?s.jsxs("li",{className:"session-analyst__message session-analyst__message--user",children:[s.jsxs("span",{className:"session-analyst__ask-meta",children:[s.jsx("span",{className:"session-analyst__ask-who",children:u("terminal.analyst.you")}),O.at!==void 0?s.jsx("span",{children:Vae(O.at,o)}):null]}),s.jsx("div",{className:"session-analyst__ask-bubble",children:O.text})]},`user-${M}`):s.jsx(lC,{state:t,language:o,entry:O,isLast:M===I&&!H,liveElapsedMs:Q,decorateEvidence:q},`analyst-${M}`)),H?s.jsx(lC,{state:t,language:o,entry:null,isLast:!0,liveElapsedMs:Q,decorateEvidence:q}):null]}):s.jsxs("div",{className:"session-analyst__hero-wrap",children:[s.jsxs("header",{className:"session-analyst__hero",children:[s.jsx("span",{className:"session-analyst__sigil","aria-hidden":"true",children:"✳"}),s.jsx("h2",{children:u("terminal.analyst.askAboutSession")}),s.jsx("p",{children:u("terminal.analyst.heroBody")})]}),s.jsx("div",{className:"session-analyst__suggestions",children:Pae.map(O=>s.jsxs("button",{type:"button",onClick:()=>{Y(u(O.textKey),!1)},children:[s.jsx("span",{className:"session-analyst__suggestion-icon","data-tone":O.tone,"aria-hidden":"true",children:O.icon}),u(O.textKey)]},O.textKey))}),t.phase==="error"?s.jsx(hO,{state:t,language:o,elapsedMs:Q}):null]}),t.artifactAuthoring||t.artifactPublished?s.jsx(Wae,{state:t,language:o,onOpen:()=>n({type:"view-mode",mode:"artifacts"})}):null]}),t.queue.length>0?s.jsx("div",{className:"session-analyst__queue","aria-live":"polite",children:t.queue.map((O,M)=>s.jsxs("div",{className:"session-analyst__queue-item",children:[s.jsx("span",{className:"session-analyst__queue-tag",children:u("terminal.analyst.queued")}),s.jsx("span",{className:"session-analyst__queue-text",children:O}),s.jsx("button",{type:"button","aria-label":u("terminal.analyst.cancelQueued",{"index + 1":M+1}),onClick:()=>n({type:"queue-cancel",index:M}),children:"✕"})]},`${O}-${M}`))}):null,t.phase==="complete"&&!t.busy&&x?s.jsxs("div",{className:"session-analyst__followups",children:[s.jsx("span",{className:"session-analyst__followups-label",children:u("terminal.analyst.followUp")}),s.jsx("div",{className:"session-analyst__followups-row",children:Fae.map(O=>s.jsxs("button",{type:"button",onClick:()=>{Y(u(O.textKey),!1)},children:[s.jsx("span",{className:"session-analyst__suggestion-icon","data-tone":O.tone,"aria-hidden":"true",children:O.icon}),u(O.labelKey)]},O.labelKey))})]}):null,s.jsxs("form",{className:`session-analyst__composer ${x?"is-docked":"is-initial"}${ee?" is-docking":""}${t.busy?" is-working":""}`,"aria-busy":t.busy,onSubmit:O=>{O.preventDefault(),Y(t.draft,!0)},children:[N?s.jsxs("div",{id:z,className:"session-analyst__slash",role:"listbox","aria-label":u("terminal.analyst.commands"),children:[s.jsx("span",{className:"session-analyst__slash-heading",children:u("terminal.analyst.commands")}),L.map((O,M)=>s.jsxs("button",{type:"button",id:E(O.command),role:"option","aria-selected":M===f,className:M===f?"is-selected":void 0,onMouseDown:Z=>Z.preventDefault(),onClick:()=>J(M),children:[s.jsx("span",{children:O.command}),s.jsx("small",{children:u(O.descriptionKey)})]},O.command))]}):null,s.jsxs("div",{className:"session-analyst__composer-surface",children:[s.jsx("label",{className:"session-analyst__sr-only",htmlFor:`analysis-${e.operationId}`,children:u("terminal.analyst.askAboutSession")}),s.jsx("textarea",{ref:A,id:`analysis-${e.operationId}`,role:"combobox","aria-expanded":N,"aria-controls":z,"aria-activedescendant":P?E(P.command):void 0,rows:1,placeholder:u("terminal.analyst.composerPlaceholder"),value:t.draft,onChange:O=>{n({type:"set-draft",draft:O.target.value}),m(0),v(!1)},onKeyDown:O=>{if(O.key==="Escape"&&!O.nativeEvent.isComposing){O.preventDefault(),N?v(!0):t.draft?n({type:"set-draft",draft:""}):cO(e);return}if(N&&!O.nativeEvent.isComposing){if(O.key==="ArrowDown"){O.preventDefault(),m(M=>(M+1)%L.length);return}if(O.key==="ArrowUp"){O.preventDefault(),m(M=>(M-1+L.length)%L.length);return}if(O.key==="Enter"){O.preventDefault(),J(Math.min(f,L.length-1));return}}O.key!=="Enter"||O.shiftKey||O.nativeEvent.isComposing||(O.preventDefault(),Y(t.draft,!0))}}),x?B:s.jsxs("div",{className:"session-analyst__composer-tools","aria-label":u("terminal.analyst.initialSettings"),onFocusCapture:()=>v(!0),children:[(t.catalog?.clis.length??0)>1?s.jsx("span",{className:"session-analyst__select",children:s.jsx(Sa,{compact:!0,label:u("terminal.analyst.cli"),value:t.cliId,disabled:t.started||t.selectionLocked||!t.catalog,options:t.catalog?.clis.map(O=>({value:O.cliId,label:O.label,disabled:!O.available}))??[],onChange:O=>n({type:"select-cli",cliId:O})})}):null,s.jsx("span",{className:"session-analyst__select",children:s.jsx(Sa,{compact:!0,label:u("terminal.analyst.model"),value:t.model,disabled:t.started||t.selectionLocked||!b,options:_?.models.map(O=>({value:O.id,label:O.label}))??[],onChange:O=>n({type:"select-model",model:O})})}),s.jsx("span",{className:"session-analyst__select","data-effort-level":t.effort||"auto",children:s.jsx(Sa,{compact:!0,label:u("terminal.analyst.effort"),value:t.effort,disabled:t.started||t.selectionLocked||!b||!b.effortLevels.length,options:b?.effortLevels.length?b.effortLevels.map(O=>({value:O,label:O})):[{value:"",label:u("terminal.analyst.na")}],onChange:O=>n({type:"select-effort",effort:O})})}),s.jsx("button",{type:"button",className:"session-analyst__slash-hint","aria-label":u("terminal.analyst.commands"),onClick:()=>{n({type:"set-draft",draft:"/"}),v(!1),m(0),window.requestAnimationFrame(()=>A.current?.focus())},children:u("terminal.analyst.slashHint")}),s.jsx("span",{className:"session-analyst__saved","aria-live":"polite","aria-atomic":"true",style:{opacity:t.selectionSaved?1:0,transition:d?"none":"opacity var(--duration-base) var(--ease-glide)"},children:t.selectionSaved?u("terminal.analyst.saved"):""}),B]})]}),t.busy?s.jsx("div",{className:"session-analyst__composer-hint",children:u("terminal.analyst.queueHint")}):null]})]})})}function Hae({context:e}){const{state:t,dispatch:n,reset:r}=G1(e),i=e.language??"en",l=xt(i),o=t.artifacts.length,u=t.artifactAuthoring!==null&&o===0,d=t.viewMode,f=t.started||t.phase!=="idle"||t.draft.length>0||t.queue.length>0||t.entries.length>0||t.artifacts.length>0,m=p.useRef(0),[y,v]=p.useState(0),_=p.useRef(null),b=p.useRef(!1);return p.useEffect(()=>{const x=m.current;if(m.current=o,o===0){d==="artifacts"&&t.artifactAuthoring===null&&(b.current=!0,n({type:"view-mode",mode:"chat"}));return}o>x&&d==="chat"&&v(S=>S+1)},[o,n,d,t.artifactAuthoring]),p.useEffect(()=>{!b.current||d!=="chat"||(b.current=!1,_.current?.closest(".session-analyst__modechip")?.querySelector("button:not(:disabled)")?.focus())},[d]),s.jsxs("div",{className:"session-analyst__chips","data-phase":t.phase,children:[s.jsxs("span",{className:"session-analyst__chip session-analyst__chip--id",children:[s.jsx("i",{className:"session-analyst__chip-dot","aria-hidden":"true"}),s.jsx("span",{"aria-hidden":"true",children:"✳"}),l("terminal.analyst.chipTitle"),s.jsxs("span",{className:"session-analyst__chip-state",children:["· ",Kae(t,i)]})]}),s.jsxs("span",{className:"session-analyst__chip-cluster",children:[s.jsx("button",{type:"button",className:"session-analyst__chip","aria-label":l("terminal.analyst.resetAria"),onClick:()=>{r().catch(()=>{})},disabled:!f,children:l("terminal.analyst.reset")}),s.jsxs("span",{className:"session-analyst__modechip",role:"group","aria-label":l("terminal.analyst.viewMode"),children:[s.jsx("button",{type:"button","aria-pressed":d==="chat",onClick:()=>n({type:"view-mode",mode:"chat"}),children:l("terminal.analyst.mode.chat")}),s.jsxs("button",{ref:_,type:"button",className:u?"is-authoring":void 0,"aria-pressed":d==="artifacts",disabled:o===0&&!u,title:u?l("terminal.analyst.authoringTooltip"):o===0?l("terminal.analyst.artifactsEmptyTooltip"):void 0,onClick:()=>n({type:"view-mode",mode:"artifacts"}),children:[l("terminal.analyst.artifactsHandle"),o>0?s.jsx("span",{className:`session-analyst__chip-count${y>0?" is-pulsing":""}`,children:o},y):null,u?s.jsx("span",{className:"session-analyst__chip-count",children:"…"}):null]})]})]})]})}function lC({state:e,language:t,entry:n,isLast:r,liveElapsedMs:i,decorateEvidence:l}){const o=xt(t),u=n?.receipt,d=r&&e.busy,f=r&&e.phase==="error",m=r&&e.phase==="stopped",y=f||u?.outcome==="error",v=m||u?.outcome==="stopped";return s.jsxs("li",{className:`session-analyst__message session-analyst__message--analyst${d?" is-working":""}${y?" is-error":""}${!y&&v?" is-stopped":""}`,children:[s.jsx("span",{className:"session-analyst__turn-spine","aria-hidden":"true",children:s.jsx("span",{className:"session-analyst__turn-node"})}),s.jsxs("div",{className:"session-analyst__turn-main",children:[d?s.jsx("div",{className:"session-analyst__turn-head",children:o("terminal.chat.turnWorking",{elapsed:co(i)})}):null,!d&&u?.outcome==="complete"?s.jsx("div",{className:"session-analyst__turn-head",children:o("terminal.analyst.turnAnswered",{elapsed:co(u.durationMs)})}):null,d||f?s.jsx(hO,{state:e,language:t,elapsedMs:i}):null,m?s.jsx(zae,{state:e,language:t,elapsedMs:i}):null,!m&&!d&&u?.outcome==="stopped"?s.jsx("div",{className:"session-analyst__stopped",role:"status",children:o("terminal.analyst.stoppedAt",{elapsed:co(u.durationMs)})}):null,!f&&!d&&u?.outcome==="error"?s.jsx("div",{className:"session-analyst__stopped is-error",role:"status",children:`${u.error?dj(t,u.error):o("terminal.analyst.state.needsAttention")} · ${co(u.durationMs)}`}):null,!d&&u?.outcome==="complete"?s.jsx(qae,{language:t,durationMs:u.durationMs,tools:u.tools}):null,n!==null&&n.text!==""?s.jsxs("div",{className:"session-analyst__answer",children:[s.jsx("div",{className:"session-analyst__answer-kicker","aria-hidden":"true",children:o("terminal.chat.answerLabel")}),s.jsx(od,{className:"session-analyst__response markdown-body",text:n.text,streaming:d,language:t,transformHtml:l})]}):null]})]})}function hO({state:e,language:t,elapsedMs:n}){const r=xt(t),i=co(n),l=fO(e.latestActivity,t),o=e.phase==="error",u=Gae(e.latestActivity,t);return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:`session-analyst__pulse${o?" is-error":""}`,role:o?"alert":"status","aria-live":o?void 0:"polite",children:[s.jsx("span",{className:"session-analyst__pulse-orbit","aria-hidden":"true"}),s.jsxs("span",{className:"session-analyst__pulse-copy",children:[s.jsx("strong",{children:o?dj(t,e.error??""):u.label},`${e.phase}-${u.label}`),s.jsx("small",{children:o?t==="ko"?l:`Last confirmed activity: ${l}`:u.note})]}),s.jsx("time",{children:i})]}),o?null:s.jsx("span",{className:"session-analyst__truth-mark",children:r("terminal.analyst.lastConfirmedOnly")})]})}function zae({state:e,language:t,elapsedMs:n}){const r=xt(t),i=co(n),l=fO(e.latestActivity,t);return s.jsx("div",{className:"session-analyst__stopped",role:"status",children:r("terminal.analyst.stoppedReceipt",{activity:l,elapsed:i})})}function qae({language:e,durationMs:t,tools:n}){const r=xt(e),i=co(t),l=n,o=l.length===0?null:l.length===1?r("terminal.chat.oneStep"):r("terminal.chat.stepCount",{count:l.length}),u=o?`${i} · ${o}`:i;return s.jsxs("details",{className:"session-analyst__receipt",children:[s.jsxs("summary",{"aria-label":r("terminal.chat.receiptAria"),children:[s.jsx("span",{className:"session-analyst__receipt-mark","aria-hidden":"true",children:"✓"}),u,s.jsx("span",{className:"session-analyst__receipt-chev","aria-hidden":"true",children:"❯"})]}),l.length>0?s.jsx("div",{className:"session-analyst__receipt-body",children:l.map(d=>s.jsxs("div",{className:"session-analyst__receipt-step",children:[s.jsx("strong",{children:d.title}),s.jsx("small",{children:d.status})]},d.title))}):null]})}function cC(e){e.style.height="auto";const t=window.getComputedStyle(e),n=Number.parseFloat(t.lineHeight)||18.75,r=(Number.parseFloat(t.paddingTop)||0)+(Number.parseFloat(t.paddingBottom)||0),i=n*6+r,l=Math.max(36,Math.min(e.scrollHeight,i));e.style.height=`${l}px`,e.style.overflowY=e.scrollHeight>i?"auto":"hidden"}function Uae(e,t,n){const r=navigator.clipboard;if(!r)return;let i;try{i=r.writeText(t)}catch{return}const l=e.textContent,o=xt(n);i.then(()=>{e.isConnected&&(e.textContent=o("terminal.analyst.copied"),window.setTimeout(()=>{e.isConnected&&(e.textContent=l)},1200))}).catch(()=>{})}function Wae({state:e,language:t,onOpen:n}){const r=xt(t),i=Yae(e.artifactAuthoring?.startedAt??null);if(e.artifactAuthoring)return s.jsxs("div",{className:"session-analyst__author-card is-authoring",children:[s.jsxs("div",{className:"session-analyst__author-head",children:[s.jsx("span",{className:"session-analyst__author-sigil","aria-hidden":"true",children:"✳"}),s.jsx("strong",{className:"session-analyst__author-title",children:r("terminal.analyst.publishingArtifact")}),s.jsx("time",{className:"session-analyst__author-time",children:co(i)})]}),s.jsx("p",{className:"session-analyst__author-sub",children:r("terminal.analyst.authoringBody")}),s.jsx("div",{className:"session-analyst__author-track","aria-hidden":"true",children:s.jsx("span",{})})]});const l=e.artifactPublished;return l?s.jsx("div",{className:"session-analyst__author-card is-done",children:s.jsxs("div",{className:"session-analyst__author-head",children:[s.jsx("span",{className:"session-analyst__author-sigil","aria-hidden":"true",children:"◆"}),s.jsx("strong",{className:"session-analyst__author-title",children:r("terminal.analyst.artifactPublished",{title:l.artifact.title})}),l.durationMs===null?null:s.jsx("time",{className:"session-analyst__author-time",children:co(l.durationMs)}),n?s.jsx("button",{type:"button",className:"session-analyst__author-open",onClick:n,children:r("terminal.analyst.openInArtifacts")}):null]})}):null}function Gae(e,t){const n=xt(t);return!e||e.kind==="starting"?{label:n("terminal.analyst.activity.starting"),note:n(e?.connected?"terminal.analyst.activity.connected":"terminal.analyst.activity.startingSession")}:e.kind==="reasoning"?{label:n("terminal.analyst.activity.reasoning"),note:n("terminal.analyst.activity.thoughtHidden")}:e.kind==="tool"?{label:n("terminal.analyst.activity.usingTool",{title:e.title}),note:n("terminal.analyst.activity.toolStatus",{status:e.status})}:{label:n("terminal.analyst.activity.writing"),note:n("terminal.analyst.activity.answerChunk")}}function fO(e,t){const n=xt(t);return!e||e.kind==="starting"?n("terminal.analyst.activity.starting"):e.kind==="reasoning"?n("terminal.analyst.activity.reasoning"):e.kind==="tool"?`${n("terminal.analyst.activity.usingTool",{title:e.title})} (${e.status})`:n("terminal.analyst.activity.writing")}function Kae(e,t){const n=xt(t);return e.phase==="error"?n("terminal.analyst.state.needsAttention"):e.busy?n("terminal.analyst.state.analyzing"):e.phase==="complete"?n("terminal.analyst.state.complete"):e.phase==="stopped"?n("terminal.analyst.state.stopped"):n("terminal.analyst.state.ready")}function Vae(e,t){const n=new Date(e);return Number.isFinite(n.getTime())?n.toLocaleTimeString(t==="ko"?"ko-KR":"en",{hour:"2-digit",minute:"2-digit"}):""}function Zae(e){const[t,n]=p.useState(()=>Date.now());return p.useEffect(()=>{if(!e.busy)return;n(Date.now());const r=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(r)},[e.busy,e.runStartedAt]),e.runStartedAt===null?0:Math.max(0,(e.runEndedAt??t)-e.runStartedAt)}function Yae(e){const[t,n]=p.useState(()=>Date.now());return p.useEffect(()=>{if(e===null)return;n(Date.now());const r=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(r)},[e]),e===null?0:Math.max(0,t-e)}function co(e){return`${Math.floor(e/1e3)}s`}function Xae(){const[e,t]=p.useState(()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return p.useEffect(()=>{if(typeof window.matchMedia!="function")return;const n=window.matchMedia("(prefers-reduced-motion: reduce)"),r=()=>t(n.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}function Jae(e){let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!="object")return null;const n=t;if(typeof n.seq!="number"||!n.event||typeof n.event!="object")return null;const r=n.event;switch(r.kind){case"replay-start":return{seq:n.seq,event:{kind:"replay-start"}};case"context":return typeof r.total!="number"||typeof r.max!="number"||r.max<=0?null:{seq:n.seq,event:{kind:"context",total:r.total,max:r.max,...typeof r.reserved=="number"?{reserved:r.reserved}:{},...typeof r.compactAt=="number"?{compactAt:r.compactAt}:{},slices:iv(r.slices),...Array.isArray(r.memoryFiles)?{memoryFiles:iv(r.memoryFiles)}:{},...Array.isArray(r.mcpTools)?{mcpTools:iv(r.mcpTools)}:{}}};case"replay-end":return{seq:n.seq,event:{kind:"replay-end",turns:q3(r.turns,0)}};case"dispatch":return typeof r.text!="string"?null:{seq:n.seq,event:{kind:"dispatch",text:r.text,...sv(r.at)}};case"turn-start":return{seq:n.seq,event:{kind:"turn-start",...sv(r.at)}};case"text":return typeof r.text!="string"?null:{seq:n.seq,event:{kind:"text",text:r.text}};case"text-delta":return typeof r.text!="string"?null:{seq:n.seq,event:{kind:"text-delta",text:r.text}};case"tool-start":return typeof r.id!="string"||r.id.length===0||typeof r.name!="string"||r.name.length===0?null:{seq:n.seq,event:{kind:"tool-start",id:r.id,name:r.name}};case"tool":return typeof r.name!="string"?null:{seq:n.seq,event:{kind:"tool",name:r.name,detail:typeof r.detail=="string"?r.detail:"",...typeof r.id=="string"&&r.id.length>0?{id:r.id}:{},...r.outside===!0?{outside:!0}:{},...uC(r.change)?{change:uC(r.change)}:{}}};case"ask":{if(typeof r.id!="string"||r.id.length===0||r.form!=="question"&&r.form!=="plan")return null;const i=eoe(r.questions),l=typeof r.plan=="string"&&r.plan.length>0?r.plan:void 0;return(r.form==="question"?i.length===0:l===void 0)?null:{seq:n.seq,event:{kind:"ask",id:r.id,form:r.form,...i.length>0?{questions:i}:{},...l!==void 0?{plan:l}:{},...r.truncated===!0?{truncated:!0}:{}}}}case"ask-settled":{if(typeof r.id!="string"||r.id.length===0)return null;const i=r.outcome;if(i!=="answered"&&i!=="dismissed"&&i!=="approved"&&i!=="revised")return null;const l=Array.isArray(r.answers)?r.answers.flatMap(o=>{if(!o||typeof o!="object")return[];const u=o;return typeof u.header!="string"||typeof u.value!="string"?[]:[{header:u.header,value:u.value}]}):[];return{seq:n.seq,event:{kind:"ask-settled",id:r.id,outcome:i,...l.length>0?{answers:l}:{}}}}case"tool-result":return typeof r.id!="string"||r.id.length===0?null:{seq:n.seq,event:{kind:"tool-result",id:r.id,ok:r.ok===!0,summary:typeof r.summary=="string"?r.summary:""}};case"turn-end":return{seq:n.seq,event:{kind:"turn-end",ok:r.ok===!0,...typeof r.durationMs=="number"&&Number.isFinite(r.durationMs)?{durationMs:r.durationMs}:{},...typeof r.answer=="string"&&r.answer.length>0?{answer:r.answer}:{},...r.stopped===!0?{stopped:!0}:{}}};case"job":return typeof r.id!="string"||r.id.length===0||typeof r.title!="string"?null:{seq:n.seq,event:{kind:"job",id:r.id,jobKind:toe(r.jobKind),title:r.title,...typeof r.toolUseId=="string"&&r.toolUseId.length>0?{toolUseId:r.toolUseId}:{},...typeof r.who=="string"&&r.who.length>0?{who:r.who}:{},...sv(r.at)}};case"job-progress":return typeof r.id!="string"||r.id.length===0?null:{seq:n.seq,event:{kind:"job-progress",id:r.id,...typeof r.note=="string"&&r.note.length>0?{note:r.note}:{},...no("tokens",r.tokens),...no("tools",r.tools),...no("durationMs",r.durationMs),...typeof r.lastTool=="string"&&r.lastTool.length>0?{lastTool:r.lastTool}:{},...Array.isArray(r.stages)?{stages:noe(r.stages)}:{}}};case"job-end":return typeof r.id!="string"||r.id.length===0?null:{seq:n.seq,event:{kind:"job-end",id:r.id,...r.status==="completed"||r.status==="failed"||r.status==="stopped"?{status:r.status}:{},...typeof r.summary=="string"&&r.summary.length>0?{summary:r.summary}:{},...no("tokens",r.tokens),...no("tools",r.tools),...no("durationMs",r.durationMs)}};case"jobs":return Array.isArray(r.ids)?{seq:n.seq,event:{kind:"jobs",ids:r.ids.filter(i=>typeof i=="string"&&i.length>0)}}:null;case"error":return typeof r.code!="string"?null:{seq:n.seq,event:{kind:"error",code:r.code}};default:return null}}function eoe(e){if(!Array.isArray(e))return[];const t=[];for(const n of e){if(!n||typeof n!="object")continue;const r=n;if(typeof r.question!="string"||r.question.length===0||typeof r.header!="string"||r.header.length===0)continue;const i=[];if(Array.isArray(r.options))for(const l of r.options){if(!l||typeof l!="object")continue;const o=l;typeof o.label!="string"||o.label.length===0||i.push({label:o.label,description:typeof o.description=="string"?o.description:""})}i.length!==0&&t.push({header:r.header,question:r.question,multiSelect:r.multiSelect===!0,options:i})}return t}function toe(e){return e==="agent"||e==="shell"||e==="workflow"?e:"other"}function no(e,t){return typeof t=="number"&&Number.isFinite(t)?{[e]:t}:{}}function noe(e){const t=[];for(const n of e){if(!n||typeof n!="object")continue;const r=n;if(typeof r.title!="string")continue;const i=[];if(Array.isArray(r.agents))for(const l of r.agents){if(!l||typeof l!="object")continue;const o=l;typeof o.label=="string"&&i.push({label:o.label,...typeof o.model=="string"&&o.model.length>0?{model:o.model}:{},state:typeof o.state=="string"?o.state:"unknown",...no("tokens",o.tokens),...no("tools",o.tools),...no("durationMs",o.durationMs),...typeof o.result=="string"&&o.result.length>0?{result:o.result}:{}})}t.push({title:r.title,agents:i})}return t}function uC(e){if(!e||typeof e!="object")return null;const t=e;return typeof t.file!="string"||t.file.length===0?null:{file:t.file,added:q3(t.added,0),removed:q3(t.removed,0)}}function iv(e){return Array.isArray(e)?e.flatMap(t=>{const n=t;return typeof n?.name=="string"&&n.name.length>0&&typeof n.tokens=="number"?[{name:n.name,tokens:n.tokens}]:[]}):[]}function sv(e){return typeof e=="number"&&Number.isFinite(e)?{at:e}:{}}function q3(e,t){return typeof e=="number"&&Number.isFinite(e)?e:t}function roe(e){if(!e||typeof e!="object")return null;const t=e,n=t.truncated===!0;if(t.kind==="shell")return typeof t.tail=="string"?{kind:"shell",tail:t.tail,truncated:n}:null;if(t.kind!=="agent"||!Array.isArray(t.steps))return null;const r=[];for(const i of t.steps){if(!i||typeof i!="object")continue;const l=i;typeof l.name!="string"||l.name.length===0||r.push({name:l.name,...typeof l.detail=="string"&&l.detail.length>0?{detail:l.detail}:{},...l.failed===!0?{failed:!0}:{},...typeof l.outcome=="string"&&l.outcome.length>0?{outcome:l.outcome}:{}})}return{kind:"agent",steps:r,truncated:n}}const dC=6e4,jm={turns:[],replaying:!1,replayedTurns:0,errorCode:null,jobs:[],context:null};function ioe(e,t){switch(t.kind){case"replay-start":return{...jm,replaying:!0};case"replay-end":return{...e,replaying:!1,replayedTurns:t.turns};case"context":{const n={total:t.total,max:t.max,...t.reserved!==void 0?{reserved:t.reserved}:{},...t.compactAt!==void 0?{compactAt:t.compactAt}:{},slices:t.slices,memoryFiles:t.memoryFiles??[],mcpTools:t.mcpTools??[]},r={...e,context:n};return e.turns.length===0?r:Cu(r,i=>({...i,contextBefore:t.total}))}case"dispatch":{const n={dispatch:{text:t.text,...t.at!==void 0?{at:t.at}:{}},items:[],state:e.replaying?"done":"working",toolCount:0,draft:""};return{...e,turns:[...hoe(e),n]}}case"turn-start":{const n=e.turns.at(-1);if(!n||n.state!=="working"){const r={dispatch:null,items:[],state:"working",toolCount:0,draft:"",...t.at!==void 0?{startedAt:t.at}:{}};return{...e,turns:[...e.turns,r]}}return Cu(e,r=>({...r,state:"working",...t.at!==void 0?{startedAt:t.at}:{}}))}case"text":return Cu(em(e,{type:"text",text:t.text}),n=>({...n,draft:""}));case"text-delta":return Cu(e,n=>n.state!=="working"||n.draft.length>=dC?n:{...n,draft:(n.draft+t.text).slice(0,dC)});case"tool-start":return em(e,{type:"tool",name:t.name,detail:"",id:t.id,state:"running"});case"tool":{const n=e.replaying?"done":"running",r={type:"tool",name:t.name,detail:t.detail,state:n,...t.id!==void 0?{id:t.id}:{},...t.outside===!0?{outside:!0}:{},...t.change?{change:t.change}:{}};return(t.id!==void 0?pC(e,t.id,l=>({...r,state:l.state??n})):null)??em(e,r)}case"ask":return em(e,{type:"ask",ask:{id:t.id,form:t.form,questions:t.questions??[],...t.plan!==void 0?{plan:t.plan}:{},...t.truncated===!0?{truncated:!0}:{}}});case"ask-settled":return foe(e,t.id,r=>({...r,outcome:t.outcome,...t.answers?{answers:t.answers}:{}}))??e;case"tool-result":return pC(e,t.id,r=>({...r,state:t.ok?"ok":"fail",...t.summary.length>0?{result:t.summary}:{}}))??e;case"turn-end":return Cu(e,n=>({...n,...n.draft.length>0?{items:[...fC(n.items),{type:"text",text:n.draft}],draft:""}:{items:fC(n.items),draft:""},state:t.stopped===!0?"stopped":t.ok?"done":"error",...t.durationMs!==void 0?{durationMs:t.durationMs}:{},...t.answer!==void 0?{answer:t.answer}:{}}));case"job":{const n=e.jobs.find(i=>i.id===t.id),r={id:t.id,kind:t.jobKind,title:t.title,...t.who!==void 0?{who:t.who}:{},...t.toolUseId!==void 0?{toolUseId:t.toolUseId}:{},...t.at!==void 0?{startedAt:t.at}:{},open:!0,stages:n?.stages??[],ends:n?.ends??0};return{...e,jobs:n?e.jobs.map(i=>i.id===t.id?{...i,...r}:i):[...e.jobs,r]}}case"job-progress":return hC(e,t.id,n=>({...n,open:n.status===void 0?!0:n.open,...t.note!==void 0?{note:t.note}:{},...t.lastTool!==void 0?{lastTool:t.lastTool}:{},...t.tokens!==void 0?{tokens:t.tokens}:{},...t.tools!==void 0?{tools:t.tools}:{},...t.durationMs!==void 0?{durationMs:t.durationMs}:{},...t.stages!==void 0?{stages:t.stages}:{}}));case"job-end":return hC(e,t.id,n=>({...n,open:!1,ends:n.ends+1,...t.status!==void 0?{status:t.status}:{},...t.summary!==void 0?{summary:t.summary}:{},...t.tokens!==void 0?{tokens:t.tokens}:{},...t.tools!==void 0?{tools:t.tools}:{},...t.durationMs!==void 0?{durationMs:t.durationMs}:{}}));case"jobs":{const n=new Set(t.ids),r=new Set(e.jobs.map(l=>l.id)),i=t.ids.filter(l=>!r.has(l)).map(l=>({id:l,kind:"other",title:l,open:!0,stages:[],ends:0}));return{...e,jobs:[...e.jobs.map(l=>({...l,open:n.has(l.id)})),...i]}}case"error":return{...e,errorCode:t.code};default:return e}}function hC(e,t,n){if(!e.jobs.some(r=>r.id===t)){const r={id:t,kind:"other",title:t,open:!0,stages:[],ends:0};return{...e,jobs:[...e.jobs,n(r)]}}return{...e,jobs:e.jobs.map(r=>r.id===t?n(r):r)}}function soe(e){return e.jobs.filter(t=>t.open)}function fC(e){return e.some(t=>t.state==="running")?e.map(t=>t.state==="running"?{...t,state:"done"}:t):e}function aoe(e){const t=e.items.at(-1),n=t?.type==="text"?t.text??"":null,r=doe(e.items),i=e.items.reduce((o,u)=>o+(u.state==="fail"?1:0),0),l=e.items.some(o=>o.type==="ask"&&o.ask?.outcome===void 0);if(e.state==="working"){const o=(n??"")+e.draft;return{ledger:n!==null?e.items.slice(0,-1):e.items,answer:null,streamingText:o.length>0?o:null,changes:r,failed:i,awaiting:l}}return e.state==="error"?{ledger:e.items,answer:null,streamingText:null,changes:r,failed:i,awaiting:l}:e.state==="stopped"?{ledger:n!==null?e.items.slice(0,-1):e.items,answer:null,streamingText:n!==null&&n.length>0?n:null,changes:r,failed:i,awaiting:l}:e.answer!==void 0?{ledger:n!==null&&n.trim()===e.answer.trim()?e.items.slice(0,-1):e.items,answer:e.answer,streamingText:null,changes:r,failed:i,awaiting:l}:n!==null&&n.length>0?{ledger:e.items.slice(0,-1),answer:n,streamingText:null,changes:r,failed:i,awaiting:l}:{ledger:e.items,answer:null,streamingText:null,changes:r,failed:i,awaiting:l}}const ooe={Read:"read",NotebookRead:"read",Write:"write",Edit:"edit",MultiEdit:"edit",NotebookEdit:"edit",Bash:"run",BashOutput:"inspect",TaskOutput:"inspect",Glob:"search",Grep:"search",WebSearch:"search",WebFetch:"fetch",Task:"delegate",Agent:"delegate",Workflow:"workflow",TaskStop:"stop",KillShell:"stop",TodoWrite:"plan",AskUserQuestion:"ask",ExitPlanMode:"propose"};function P4(e){return(e!==void 0?ooe[e]:void 0)??"other"}function loe(e,t=0,n){const r=[];for(const i of e){if(i.type==="text"){const o=i.text!==void 0?coe(i.text):void 0;r.push({...o!==void 0?{note:o}:{},steps:[]});continue}const l=r.at(-1);l?l.steps.push(i):r.push({steps:[i]})}return r.length===0?[]:r.map((i,l)=>{const o=t>0&&l===r.length-1;return uoe(i.note,i.steps,o?t:0,n)}).filter(i=>i.note!==void 0||i.groups.length>0||i.inline.length>0||i.running.length>0)}function coe(e){return e.trim().length>0?e:void 0}function uoe(e,t,n,r){const i=new Set;let l=n;for(let y=t.length-1;y>=0&&l>0;y-=1){const v=t[y];v&&v.type!=="ask"&&v.state!=="running"&&(v.state!=="ok"&&v.state!=="fail"||r?.(v)!==!0&&(i.add(y),l-=1))}const o=[],u=[],d=[],f=[],m=new Map;return t.forEach((y,v)=>{if(y.type==="ask"){o.push(y);return}if(y.state==="running"){u.push(y);return}if(!(y.state==="ok"||y.state==="fail")||i.has(v)||r?.(y)===!0){o.push(y);return}d.push(y);const b=P4(y.name),x=b==="other"?`other:${y.name??""}`:b,S=m.get(x);if(S===void 0)m.set(x,f.length),f.push({family:b,count:1,...b==="other"?{name:y.name??""}:{}});else{const T=f[S];T&&(f[S]={...T,count:T.count+1})}}),{...e!==void 0?{note:e}:{},groups:f,folded:d,inline:o,running:u}}function doe(e){const t=new Map;for(const n of e){if(!n.change||n.state!=="ok")continue;const r=t.get(n.change.file);r?(r.added+=n.change.added,r.removed+=n.change.removed):t.set(n.change.file,{...n.change})}return[...t.values()]}function hoe(e){if(!e.replaying)return e.turns;const t=e.turns.at(-1);return!t||t.state==="done"?e.turns:[...e.turns.slice(0,-1),{...t,state:"done"}]}function Cu(e,t){const n=e.turns.at(-1);return n?{...e,turns:[...e.turns.slice(0,-1),t(n)]}:e}function pC(e,t,n){for(let r=e.turns.length-1;r>=0;r-=1){const i=e.turns[r];if(!i)continue;const l=i.items.findIndex(f=>f.type==="tool"&&f.id===t);if(l<0)continue;const o=i.items[l];if(!o)continue;const u=[...i.items];u[l]=n(o);const d=[...e.turns];return d[r]={...i,items:u},{...e,turns:d}}return null}function foe(e,t,n){for(let r=e.turns.length-1;r>=0;r-=1){const i=e.turns[r];if(!i)continue;const l=i.items.findIndex(f=>f.type==="ask"&&f.ask?.id===t);if(l<0)continue;const o=i.items[l];if(!o?.ask)continue;const u=[...i.items];u[l]={...o,ask:n(o.ask)};const d=[...e.turns];return d[r]={...i,items:u},{...e,turns:d}}return null}function em(e,t){if(!e.turns.at(-1)){const r={dispatch:null,items:[t],state:e.replaying?"done":"working",toolCount:t.type==="tool"?1:0,draft:""};return{...e,turns:[r]}}return Cu(e,r=>({...r,items:[...r.items,t],toolCount:r.toolCount+(t.type==="tool"?1:0)}))}const poe=["canonicalCwd","cwd","providerSession","ticket","token","transcriptPath","prompt","persona","toolAllowlist"];class mr extends Error{status;shortenByChars;reason;constructor(t,n,r,i){super(n),this.name="AgentApiError",this.status=t,r!==void 0&&(this.shortenByChars=r),i!==void 0&&(this.reason=i)}}async function pO(e){const t=await fetch("/plugins/terminal/agent/state",{signal:e});await Nc(t);const n=await t.json();if(!Array.isArray(n.agentClis))throw new mr(t.status,"Invalid agent state response");return n.agentClis.map(r=>Aoe(r,t.status))}async function moe(e){const t=await fetch("/plugins/terminal/agent/agent-cli/state",{signal:e});await Nc(t);const n=await t.json();if(!Array.isArray(n.clis))throw new mr(t.status,"Invalid Agent CLI state response");return n}async function goe(e){const t=await fetch("/plugins/terminal/agent/agent-cli/diagnostics",{signal:e});await Nc(t);const n=await t.json();if(!Array.isArray(n.entries))throw new mr(t.status,"Invalid Agent CLI diagnostics response");return n}async function yoe(e,t,n){const r=await fetch("/plugins/terminal/agent/agent-cli/path",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({cliCommand:e,path:t}),signal:n});if(!r.ok){const i=await r.json().catch(()=>null);throw new mr(r.status,typeof i?.error=="string"?i.error:`Agent plugin request failed: ${r.status}`)}}async function voe(e){const t=await fetch("/plugins/terminal/agent/sessions",{signal:e});await Nc(t);const n=await t.json();if(!Array.isArray(n.sessions))throw new mr(t.status,"Invalid agent sessions response");return n.sessions.map(r=>K1(r,t.status))}async function boe(e){const t=await fetch("/api/v1/operations",{signal:e});await Nc(t);const n=await t.json();if(!Array.isArray(n.operations))throw new mr(t.status,"Invalid operations response");return{operations:n.operations.map(r=>Moe(r,t.status))}}async function _oe(e,t,n,r){const i=typeof n?.model=="string"&&n.model.length>0?n.model:void 0,l=typeof n?.effort=="string"&&n.effort.length>0?n.effort:void 0,o=typeof n?.prompt=="string"&&n.prompt.length>0?n.prompt:void 0,u=n?.attachmentIds?.length?n.attachmentIds:void 0,d=n?.viewMode==="chat"?"chat":void 0,f=await fetch("/plugins/terminal/agent/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({theaterId:e,cliId:t,...i?{model:i}:{},...l?{effort:l}:{},...o?{prompt:o}:{},...u?{attachmentIds:u}:{},...d?{viewMode:d}:{}}),signal:r});if(!f.ok){const m=await f.json().catch(()=>null);throw new mr(f.status,typeof m?.error=="string"?m.error:`Agent plugin request failed: ${f.status}`,typeof m?.shortenByChars=="number"?m.shortenByChars:void 0)}return K1(await f.json(),f.status)}async function woe(e,t){const n=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/resume`,{method:"POST",...t?.fresh?{headers:{"Content-Type":"application/json"},body:JSON.stringify({fresh:!0})}:{},signal:t?.signal});if(!n.ok){const r=await n.json().catch(()=>null);throw new mr(n.status,typeof r?.error=="string"?r.error:`Agent plugin request failed: ${n.status}`)}return K1(await n.json(),n.status)}async function xoe(e,t,n,r){const i=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:t,...n?.length?{attachmentIds:n}:{}}),signal:r});if(!i.ok){const l=await i.json().catch(()=>null);throw new mr(i.status,typeof l?.error=="string"?l.error:`Agent plugin request failed: ${i.status}`)}}async function koe(e,t,n){const r=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/chat-job-stop`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({jobId:t}),signal:n});if(!r.ok){const i=await r.json().catch(()=>null);throw new mr(r.status,typeof i?.error=="string"?i.error:`Agent plugin request failed: ${r.status}`)}}async function Soe(e,t,n){const r=`?jobId=${encodeURIComponent(t)}`,i=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/chat-job${r}`,{signal:n});if(i.status===404||i.status===409)return null;if(!i.ok){const o=await i.json().catch(()=>null);throw new mr(i.status,typeof o?.error=="string"?o.error:`Agent plugin request failed: ${i.status}`)}const l=await i.json().catch(()=>null);return roe(l)}async function mO(e,t){const n=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/chat`,{method:"POST",signal:t});if(!n.ok){const r=await n.json().catch(()=>null);throw new mr(n.status,typeof r?.error=="string"?r.error:`Agent plugin request failed: ${n.status}`,void 0,typeof r?.reason=="string"?r.reason:void 0)}}async function Toe(e,t){const n=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}/chat`,{method:"DELETE",signal:t});if(!n.ok){const r=await n.json().catch(()=>null);throw new mr(n.status,typeof r?.error=="string"?r.error:`Agent plugin request failed: ${n.status}`)}}async function Coe(e,t){const n=await fetch("/plugins/terminal/agent/attachments",{method:"POST",headers:{"Content-Type":e.type||"application/octet-stream"},body:e,signal:t});if(!n.ok){const i=await n.json().catch(()=>null);throw new mr(n.status,typeof i?.error=="string"?i.error:`Agent plugin request failed: ${n.status}`)}const r=await n.json();if(typeof r.id!="string"||r.id.length===0)throw new mr(n.status,"attachment_upload_failed");return{id:r.id}}async function Loe(e,t){const n=await fetch(`/plugins/terminal/agent/attachments/${encodeURIComponent(e)}`,{method:"DELETE",signal:t});await Nc(n)}async function Eoe(e,t){const n=await fetch(`/plugins/terminal/agent/sessions/${encodeURIComponent(e)}`,{method:"DELETE",signal:t});await Nc(n)}function K1(e,t){const n=e;if(!n||typeof n.sessionId!="string"||typeof n.cwdLabel!="string"||typeof n.status!="string"||typeof n.createdAt!="number"||U3(n))throw new mr(t,"Invalid agent session response");return{sessionId:n.sessionId,terminalSessionId:typeof n.terminalSessionId=="string"?n.terminalSessionId:n.sessionId,cwdLabel:n.cwdLabel,label:typeof n.label=="string"?n.label:void 0,cliId:typeof n.cliId=="string"?n.cliId:void 0,cliLabel:typeof n.cliLabel=="string"?n.cliLabel:void 0,status:n.status,turnState:n.turnState==="running"||n.turnState==="ended"?n.turnState:"none",modelActivity:n.modelActivity==="working"||n.modelActivity==="not-working"?n.modelActivity:void 0,attentionPending:typeof n.attentionPending=="boolean"?n.attentionPending:void 0,backgroundPending:typeof n.backgroundPending=="boolean"?n.backgroundPending:void 0,chatActive:typeof n.chatActive=="boolean"?n.chatActive:void 0,createdAt:n.createdAt,theaterId:typeof n.theaterId=="string"?n.theaterId:void 0,tenantId:typeof n.tenantId=="string"?n.tenantId:void 0,registrationId:typeof n.registrationId=="string"?n.registrationId:void 0,resumeAvailable:n.resumeAvailable===!0}}async function Nc(e){if(!e.ok)throw new mr(e.status,`Agent plugin request failed: ${e.status}`)}function Aoe(e,t){const n=e;if(!n||typeof n.id!="string"||typeof n.label!="string")throw new mr(t,"Invalid Agent CLI metadata response");return{id:n.id,label:n.label,available:n.available===!0,signedIn:n.signedIn!==!1}}function Moe(e,t){const n=e;if(!n||typeof n.id!="string"||typeof n.theaterId!="string"||typeof n.type!="string"||typeof n.pluginId!="string"||typeof n.title!="string"||!n.payload||typeof n.payload!="object"||Array.isArray(n.payload)||!n.ts||typeof n.ts.createdAt!="number"||typeof n.ts.updatedAt!="number"||U3(n)||U3(n.payload))throw new mr(t,"Invalid operation response");return{id:n.id,theaterId:n.theaterId,type:n.type,pluginId:n.pluginId,title:n.title,payload:n.payload,geometry:n.geometry??null,ts:n.ts}}function U3(e){return W3(e,new Set(poe))}function W3(e,t){return!e||typeof e!="object"?!1:Array.isArray(e)?e.some(n=>W3(n,t)):Object.entries(e).some(([n,r])=>t.has(n)||W3(r,t))}const Roe="/plugins/terminal/agent/ticket",Noe="/plugins/terminal/ws",mC=250,joe=5e3,Ooe=1,Ioe=8e3;function Doe(e,t=!0){const[n,r]=p.useState(t?"connecting":"idle"),[i,l]=p.useState(jm),o=p.useRef(null);p.useEffect(()=>{if(!t){r("idle"),o.current=null;return}r("connecting"),l(jm);const f=Boe({operationId:e,onConnection:m=>{m==="open"&&l(()=>jm),r(m)},onEvent:m=>{const y=Jae(m);y&&l(v=>ioe(v,y.event))}});return o.current=f,f.start(),()=>{f.dispose(),o.current===f&&(o.current=null)}},[e,t]);const u=p.useCallback(async()=>{await o.current?.send({type:"stop"})},[]),d=p.useCallback(async f=>{await o.current?.send({type:"answer",...f})},[]);return p.useMemo(()=>({...i,connection:n,stopTurn:u,answerAsk:d}),[i,n,u,d])}function Boe(e){const t=new AbortController,n=e.fetchImpl??fetch;let r=mC,i=null,l=0;const o=new Map,u=m=>{for(const y of o.values())clearTimeout(y.timer),y.reject(m);o.clear()},d=async m=>{await new Promise((y,v)=>{const _=(e.webSocketFactory??Foe)(m);i=_;let b=!1;_.onopen=()=>{b=!0,e.onConnection("open")},_.onmessage=x=>{if(typeof x.data!="string")return;let S;try{S=JSON.parse(x.data)}catch{return}if(S&&typeof S=="object"&&"type"in S){const T=S;if((T.type==="ok"||T.type==="nack")&&typeof T.id=="string"){const A=o.get(T.id);if(!A)return;o.delete(T.id),clearTimeout(A.timer),T.type==="ok"?A.resolve():A.reject(new Error(typeof T.error=="string"?T.error:"chat_command_failed"));return}}e.onEvent(x.data)},_.onerror=()=>{b||v(new Error("chat_socket_error"))},_.onclose=()=>{i===_&&(i=null),u(new Error("chat_socket_closed")),b?y():v(new Error("chat_socket_closed"))}})},f=async()=>{for(;!t.signal.aborted;){e.onConnection("connecting");try{const m=await Poe(e.operationId,t.signal,n);if(t.signal.aborted)return;await d(cN(m,e.location,Noe)),r=mC}catch{if(t.signal.aborted)return;e.onConnection("lost")}if(t.signal.aborted)return;await $oe(r,t.signal),r=Math.min(r*2,joe)}};return{start:()=>{f()},send:m=>{const y=i;if(!y||y.readyState!==Ooe)return Promise.reject(new Error("chat_not_connected"));const v=`c${++l}`;return new Promise((_,b)=>{const x=setTimeout(()=>{o.delete(v),b(new Error("chat_command_timeout"))},Ioe);o.set(v,{resolve:_,reject:b,timer:x}),y.send(JSON.stringify({id:v,...m}))})},dispose:()=>{t.abort(),u(new Error("chat_socket_closed")),i?.close(),i=null}}}async function Poe(e,t,n){const r=await n(Roe,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({operationId:e,channel:"chat"}),signal:t});if(!r.ok){const l=await r.json().catch(()=>null);throw new s4(typeof l?.error=="string"?l.error:`http_${r.status}`,r.status)}const i=await r.json();if(typeof i.ticket!="string")throw new Error("Invalid chat ticket response");return i.ticket}function Foe(e){return new WebSocket(e)}async function $oe(e,t){await new Promise(n=>{const r=()=>{clearTimeout(i),t.removeEventListener("abort",r),n()},i=setTimeout(r,e);t.addEventListener("abort",r)})}function Qoe({context:e,onOpenTerminal:t,tourAnchors:n,leadingChip:r}){const i=xt(e.language??"en"),l=Doe(e.operationId,e.bodyLive!==!1),o=e.runtimeState,u=o?.lifecycle==="live"&&o.activity==="running",[d,f]=p.useState(!1),[m,y]=p.useState("none"),[v,_]=p.useState(!1),[b,x]=p.useState(!0),[S,T]=p.useState(!1),[A,C]=p.useState(null),[L,N]=p.useState(.42),z=p.useRef(null),E=p.useRef(null),P=p.useRef(!0),R=p.useRef(null),Q=p.useRef(0),q=p.useCallback(async()=>{f(!0),y("none");try{await t()}catch(oe){y(oe instanceof mr&&oe.message==="chat_busy"?"busy":"failed")}finally{f(!1)}},[t]),K=l.turns.length===0&&!l.replaying&&l.connection==="open",ee=l.turns.reduce((oe,Re)=>oe+Re.items.length+(Re.dispatch?1:0)+Re.draft.length,0),Y=p.useCallback(oe=>{const Re=E.current;Re&&Re.clientHeight!==0&&Re.scrollTop!==oe&&(Q.current+=1,Re.scrollTop=oe,requestAnimationFrame(()=>{Q.current=Math.max(0,Q.current-1)}))},[]),J=p.useCallback(()=>{const oe=E.current;!oe||!P.current||Y(oe.scrollHeight)},[Y]),F=p.useCallback(()=>{const oe=E.current;!oe||P.current||Y(Math.max(0,oe.scrollHeight-oe.clientHeight-(R.current??0)))},[Y]),B=p.useCallback(()=>{P.current?J():F()},[J,F]);p.useLayoutEffect(()=>{J();const oe=E.current;!oe||P.current||oe.clientHeight===0||(R.current=Math.max(0,oe.scrollHeight-oe.scrollTop-oe.clientHeight))},[J,ee,u,l.turns.length]),p.useEffect(()=>{const oe=E.current;if(!oe||typeof ResizeObserver>"u")return;const Re=new ResizeObserver(()=>B());return Re.observe(oe),()=>Re.disconnect()},[B]);const I=p.useCallback(()=>{const oe=E.current;if(!oe||Q.current>0||oe.clientHeight===0)return;const Re=oe.scrollHeight-oe.scrollTop-oe.clientHeight,Ne=Re<80;P.current=Ne,R.current=Ne?null:Re,x(Ne)},[]),H=p.useCallback(()=>{P.current=!0,R.current=null,x(!0);const oe=E.current;oe&&Y(oe.scrollHeight)},[Y]),O=p.useMemo(()=>new Intl.DateTimeFormat(e.language==="ko"?"ko":"en",{hour:"2-digit",minute:"2-digit"}),[e.language]),M=soe(l),Z=p.useMemo(()=>{const oe=new Map;for(const Re of l.jobs)Re.toolUseId!==void 0&&oe.set(Re.toolUseId,Re);return oe},[l.jobs]),W=A===null?null:l.jobs.find(oe=>oe.id===A)??null,ne=e.language??"en",me=p.useCallback(oe=>{C(oe),T(!0)},[]),Te=p.useId(),he=l.jobs.length>0,Ce=l.turns.at(-1)?.state==="working",ue=p.useCallback(()=>{T(!1),C(null)},[]),ie=p.useCallback(async()=>{_(!0);try{await l.stopTurn()}catch{}finally{_(!1)}},[l.stopTurn]),re=p.useCallback(oe=>{const Re=z.current;if(!Re)return;const Ne=oe.currentTarget;Ne.setPointerCapture(oe.pointerId);const De=getComputedStyle(Re).flexDirection!=="column",_t=tt=>{const Nt=Re.getBoundingClientRect(),gt=De?(Nt.right-tt.clientX)/Nt.width:(Nt.bottom-tt.clientY)/Nt.height;N(Math.min(.78,Math.max(.18,gt)))},je=()=>{Ne.removeEventListener("pointermove",_t),Ne.removeEventListener("pointerup",je),Ne.removeEventListener("pointercancel",je)};Ne.addEventListener("pointermove",_t),Ne.addEventListener("pointerup",je),Ne.addEventListener("pointercancel",je)},[]);return s.jsx("section",{className:"agent-chat","aria-label":i("terminal.chat.aria"),children:s.jsxs("div",{className:`agent-chat-split${S?" is-open":""}`,ref:z,style:S?{"--agent-chat-work":`${Math.round(L*1e3)/10}%`}:void 0,children:[s.jsxs("div",{className:"agent-chat-pane",children:[s.jsxs("div",{className:"agent-view-chip-row",children:[r,s.jsx(fle,{context:l.context,language:ne}),s.jsxs("button",{type:"button",className:"agent-chat-mode-chip",...n?{"data-chat-tour":"terminal"}:{},disabled:d,"aria-label":i("terminal.chat.openTerminalAria"),onClick:()=>{q()},children:[s.jsx("span",{"aria-hidden":"true",children:"❯"})," ",i(d?"terminal.chat.openingTerminal":"terminal.chat.openTerminal")]})]}),s.jsxs("div",{className:"agent-chat-log",ref:E,onScroll:I,...n?{"data-chat-tour":"log"}:{},children:[l.errorCode==="chat_transcript_missing"?s.jsx("div",{className:"agent-chat-sys agent-chat-sys--error",children:i("terminal.chat.transcriptMissing")}):l.connection==="connecting"&&l.turns.length===0?s.jsx("div",{className:"agent-chat-sys",children:i("terminal.chat.connecting")}):null,l.replayedTurns>0?s.jsx("div",{className:"agent-chat-sys",children:i("terminal.chat.replayed",{count:l.replayedTurns})}):null,l.errorCode==="chat_replay_unavailable"?s.jsx("div",{className:"agent-chat-sys agent-chat-sys--warn",children:i("terminal.chat.replayUnavailable")}):null,l.turns.map((oe,Re)=>s.jsx(zoe,{operationId:e.operationId,turn:oe,nextContextBefore:l.turns[Re+1]?.contextBefore,language:ne,timeFormat:O,streaming:Re===l.turns.length-1&&oe.state==="working",jobsByToolUse:Z,onOpenJob:me,onAnswer:l.answerAsk},Re)),l.errorCode==="chat_turn_failed"?s.jsx("div",{className:"agent-chat-sys agent-chat-sys--error",children:i("terminal.chat.turnFailed")}):null,l.connection==="lost"?s.jsx("div",{className:"agent-chat-sys agent-chat-sys--error",children:i("terminal.chat.connectionLost")}):null,m!=="none"?s.jsxs("div",{className:"agent-chat-sys agent-chat-sys--error",role:"alert",children:[s.jsx("span",{"aria-hidden":"true",children:m==="busy"?"⚠":"✕"})," ",i(m==="busy"?"terminal.chat.openTerminalBusy":"terminal.chat.openTerminalFailed")]}):null]}),b?null:s.jsx("button",{type:"button",className:"agent-chat-follow","aria-label":i("terminal.chat.followAria"),onClick:H,children:i("terminal.chat.follow")}),!S&&M.length>0?s.jsxs("button",{type:"button",className:"agent-chat-strip","aria-label":i("terminal.chat.stripAria"),"aria-expanded":!1,"aria-controls":`${Te}-work`,onClick:()=>{C(null),T(!0)},children:[s.jsx("span",{className:"agent-chat-strip-orbit","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-strip-count",children:i("terminal.chat.stripRunning",{count:M.length})}),s.jsx("span",{className:"agent-chat-strip-names",children:M.map(oe=>`${F4(oe.kind)} ${oe.who??oe.title}`).join(" · ")}),s.jsx("span",{className:"agent-chat-strip-chev","aria-hidden":"true",children:"⌃"})]}):null,!S&&he&&M.length===0?s.jsxs("button",{type:"button",className:"agent-chat-strip is-rest","aria-label":i("terminal.chat.stripAria"),"aria-expanded":!1,"aria-controls":`${Te}-work`,onClick:()=>{C(null),T(!0)},children:[s.jsx("span",{className:"agent-chat-strip-dot","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-strip-count",children:gO(l.jobs.length,i)}),s.jsx("span",{className:"agent-chat-strip-chev","aria-hidden":"true",children:"⌃"})]}):null,Ce?s.jsxs("button",{type:"button",className:"agent-chat-stop","aria-label":i("terminal.chat.stopAria"),title:i("terminal.chat.stopTitle"),disabled:v,onClick:()=>{ie()},children:[s.jsx("span",{className:"agent-chat-stop-mark","aria-hidden":"true"}),i("terminal.chat.stop")]}):null,K?s.jsx("p",{className:"agent-chat-invite","aria-hidden":"true",children:i("terminal.chat.emptyInvite")}):null,s.jsx("button",{type:"button",className:K?"agent-chat-reply agent-chat-reply--inviting":"agent-chat-reply",...n?{"data-chat-tour":"composer"}:{},"aria-label":i(K?"terminal.chat.emptyInviteAria":"terminal.chat.replyAria"),title:i(K?"terminal.chat.emptyInvite":"terminal.chat.replyTitle"),onClick:()=>{e.composer.open({mentionOperationId:e.operationId})},children:s.jsx(Hoe,{})})]}),S?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"agent-chat-grip",role:"separator","aria-orientation":"vertical","aria-label":i("terminal.chat.gripAria"),onPointerDown:re}),s.jsx(ele,{id:`${Te}-work`,jobs:l.jobs,job:W,openJobs:M,operationId:e.operationId,language:ne,onOpen:C,onBack:()=>C(null),onCollapse:ue})]}):null]})})}function Hoe(){return s.jsx("svg",{viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",children:s.jsx("path",{d:"M6.4 15.6H6a3 3 0 0 1-3-3V7.6a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v5a3 3 0 0 1-3 3H9.6l-3.2 2.6z",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinejoin:"round"})})}function zoe({operationId:e,turn:t,nextContextBefore:n,language:r,timeFormat:i,streaming:l,jobsByToolUse:o,onOpenJob:u,onAnswer:d}){const f=xt(r),m=aoe(t),y=t.state==="working",v=t.items.reduce((b,x)=>{const S=x.id!==void 0?o.get(x.id):void 0;return b+(S?.open===!0?1:0)},0),_=t.contextBefore!==void 0&&n!==void 0?n-t.contextBefore:void 0;return s.jsxs(s.Fragment,{children:[t.dispatch?s.jsxs("div",{className:"agent-chat-dispatch",children:[s.jsxs("div",{className:"agent-chat-dispatch-meta",children:[s.jsx("span",{className:"agent-chat-dispatch-via",children:f("terminal.chat.viaQuickLaunch")}),t.dispatch.at!==void 0?s.jsx("span",{children:i.format(new Date(t.dispatch.at))}):null]}),s.jsx("div",{className:"agent-chat-dispatch-bubble",children:t.dispatch.text})]}):null,t.items.length>0||y||m.answer!==null?s.jsxs("div",{className:`agent-chat-turn is-${t.state}`,children:[s.jsx("div",{className:"agent-chat-turn-spine","aria-hidden":"true",children:s.jsx("span",{className:"agent-chat-turn-node"})}),s.jsxs("div",{className:"agent-chat-turn-body",children:[y?s.jsx("div",{className:"agent-chat-turn-head",children:s.jsx(qoe,{turn:t,language:r})}):null,y?s.jsxs(s.Fragment,{children:[s.jsx(gC,{changes:m.changes,language:r}),s.jsx(yC,{operationId:e,items:m.ledger,language:r,jobsByToolUse:o,onOpenJob:u,onAnswer:d,working:!0,pending:m.streamingText===null&&!m.ledger.some(b=>b.state==="running")&&!m.awaiting})]}):m.ledger.length>0||m.changes.length>0?s.jsxs(Yoe,{durationMs:t.durationMs,failed:m.failed,running:v,error:t.state==="error",stopped:t.state==="stopped",contextGrew:_,language:r,children:[s.jsx(gC,{changes:m.changes,language:r}),s.jsx(yC,{operationId:e,items:m.ledger,language:r,jobsByToolUse:o,onOpenJob:u,onAnswer:d})]}):null,m.streamingText!==null?s.jsx(od,{className:"agent-chat-stream markdown-body",text:m.streamingText,streaming:y&&l,language:r}):null,!y&&m.answer!==null?s.jsxs("div",{className:"agent-chat-answer",children:[s.jsx("div",{className:"agent-chat-answer-kicker",children:f("terminal.chat.answerLabel")}),s.jsx(od,{className:"agent-chat-answer-body markdown-body",text:m.answer,streaming:!1,language:r})]}):null]})]}):null]})}function qoe({turn:e,language:t}){const n=xt(t),r=ule(e.startedAt,e.state==="working");return s.jsx("span",{"aria-hidden":"true",children:n("terminal.chat.turnWorking",{elapsed:dle(r)})})}function gC({changes:e,language:t}){const n=xt(t);return e.length===0?null:s.jsx("div",{className:"agent-chat-changes","aria-label":n("terminal.chat.changesAria"),children:e.map(r=>s.jsxs("span",{className:"agent-chat-change",children:[s.jsx("span",{className:"agent-chat-change-file",children:r.file}),r.added>0?s.jsxs("span",{className:"agent-chat-change-add",children:["+",r.added]}):null,r.removed>0?s.jsxs("span",{className:"agent-chat-change-del",children:["−",r.removed]}):null]},r.file))})}const Uoe=8;function yC({operationId:e,items:t,language:n,jobsByToolUse:r,onOpenJob:i,onAnswer:l,working:o=!1,pending:u=!1}){const d=xt(n),f=p.useCallback(v=>v.id!==void 0&&r.has(v.id),[r]),m=loe(t,o?Uoe:0,f);if(m.length===0&&!u)return null;const y=(v,_)=>s.jsx(yO,{item:v,language:n,jobsByToolUse:r,onOpenJob:i},_);return s.jsxs("div",{className:"agent-chat-ledger",children:[m.map((v,_)=>s.jsxs("div",{className:"agent-chat-segment",children:[v.note!==void 0?s.jsx(od,{className:"agent-chat-ledger-note markdown-body",text:v.note,streaming:!1,language:n}):null,s.jsx(Woe,{groups:v.groups,folded:v.folded,language:n,jobsByToolUse:r,onOpenJob:i}),v.inline.map((b,x)=>b.type==="ask"&&b.ask?s.jsx(Koe,{ask:b.ask,language:n,onAnswer:l},`ask-${b.ask.id}`):y(b,`in-${x}`)),v.running.map((b,x)=>y(b,`run-${x}`))]},_)),u?s.jsxs("div",{className:"agent-chat-step is-running",children:[s.jsx("span",{className:"agent-chat-step-orbit","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-step-verb",role:"status",children:d("terminal.chat.stepThinking")})]}):null]})}function Woe({groups:e,folded:t,language:n,jobsByToolUse:r,onOpenJob:i}){const l=xt(n);if(e.length===0)return null;const o=e.map((u,d)=>s.jsxs(p.Fragment,{children:[d>0?s.jsx("span",{className:"agent-chat-tally-sep","aria-hidden":"true",children:"·"}):null,u.family==="other"&&u.name!==void 0?s.jsx("span",{className:"agent-chat-tally-name",children:u.name}):null,s.jsx("span",{children:Goe(u,l)})]},`${u.family}-${u.name??""}`));return t.length===0?s.jsx("div",{className:"agent-chat-tally",children:o}):s.jsxs("details",{className:"agent-chat-tally-fold",children:[s.jsxs("summary",{className:"agent-chat-tally","aria-label":l("terminal.chat.tallyAria"),children:[o,s.jsx("span",{className:"agent-chat-tally-chev","aria-hidden":"true",children:"⌄"})]}),s.jsx("div",{className:"agent-chat-tally-body",children:t.map((u,d)=>s.jsx(yO,{item:u,language:n,jobsByToolUse:r,onOpenJob:i},d))})]})}function gO(e,t){return e===1?t("terminal.chat.stripSettled_one",{count:e}):t("terminal.chat.stripSettled_other",{count:e})}function Goe(e,t){const n=e.count===1?"one":"other",r=`terminal.chat.group.${e.family}_${n}`;return t(r,{count:e.count,...e.name!==void 0?{name:e.name}:{}})}function Koe({ask:e,language:t,onAnswer:n}){const r=xt(t),[i,l]=p.useState(()=>e.questions.map(()=>[])),[o,u]=p.useState(()=>e.questions.map(()=>"")),[d,f]=p.useState(""),[m,y]=p.useState(!1),[v,_]=p.useState(!1);if(e.outcome!==void 0)return s.jsx(Zoe,{ask:e,language:t});const b=async L=>{y(!0),_(!1);try{await n(L)}catch{_(!0)}finally{y(!1)}};if(e.form==="plan")return s.jsxs("div",{className:"agent-chat-ask is-plan",children:[s.jsx("div",{className:"agent-chat-ask-head",children:s.jsxs("span",{className:"agent-chat-ask-badge",children:[s.jsx("span",{className:"agent-chat-ask-dot","aria-hidden":"true"}),r("terminal.chat.ask.planBadge")]})}),s.jsx(od,{className:"agent-chat-ask-plan markdown-body",text:e.plan??"",streaming:!1,language:t}),s.jsxs("div",{className:"agent-chat-ask-free",children:[s.jsx("input",{className:"agent-chat-ask-input",type:"text",value:d,disabled:m,placeholder:r("terminal.chat.ask.revisePlaceholder"),"aria-label":r("terminal.chat.ask.reviseAria"),onChange:L=>{f(L.target.value)},onKeyDown:L=>{L.key!=="Enter"||d.trim().length===0||(L.preventDefault(),b({askId:e.id,message:d.trim()}))}}),s.jsx("button",{type:"button",className:"agent-chat-ask-send is-quiet",disabled:m||d.trim().length===0,onClick:()=>{b({askId:e.id,message:d.trim()})},children:r("terminal.chat.ask.revise")})]}),s.jsxs("div",{className:"agent-chat-ask-foot",children:[s.jsx("button",{type:"button",className:"agent-chat-ask-send",disabled:m||e.truncated===!0,onClick:()=>{b({askId:e.id,approve:!0})},children:r("terminal.chat.ask.approve")}),s.jsx("span",{className:"agent-chat-ask-hint",children:e.truncated===!0?r("terminal.chat.ask.planTruncated"):r("terminal.chat.ask.approveHint")})]}),v?s.jsx("div",{className:"agent-chat-ask-error",children:r("terminal.chat.ask.failed")}):null]});const x=e.questions.map((L,N)=>{const z=(o[N]??"").trim();return z.length>0?z:(i[N]??[]).join(", ")}),S=x.every(L=>L.length>0),T=!e.questions.some(L=>L.multiSelect),A=L=>{b({askId:e.id,answers:[...L]})},C=(L,N,z)=>{const E=i[L]??[],P=i.map((Q,q)=>q!==L?Q:z?E.includes(N)?E.filter(K=>K!==N):[...E,N]:[N]);if(l(P),!T)return;const R=e.questions.map((Q,q)=>{const K=(o[q]??"").trim();return K.length>0?K:(P[q]??[]).join(", ")});R.every(Q=>Q.length>0)&&A(R)};return s.jsxs("div",{className:"agent-chat-ask",children:[e.questions.map((L,N)=>s.jsx(Voe,{question:L,index:N,total:e.questions.length,picks:i[N]??[],free:o[N]??"",disabled:m,language:t,onChoose:z=>{C(N,z,L.multiSelect)},onType:z=>{u(o.map((E,P)=>P===N?z:E))}},N)),s.jsxs("div",{className:"agent-chat-ask-foot",children:[s.jsx("button",{type:"button",className:"agent-chat-ask-mini",disabled:m,onClick:()=>{b({askId:e.id})},children:r("terminal.chat.ask.dismiss")}),!T||x.some((L,N)=>(o[N]??"").trim().length>0)?s.jsx("button",{type:"button",className:"agent-chat-ask-send",disabled:m||!S,onClick:()=>{A(x)},children:r("terminal.chat.ask.send")}):null,s.jsx("span",{className:"agent-chat-ask-hint",children:r("terminal.chat.ask.hint")})]}),v?s.jsx("div",{className:"agent-chat-ask-error",children:r("terminal.chat.ask.failed")}):null]})}function Voe({question:e,index:t,total:n,picks:r,free:i,disabled:l,language:o,onChoose:u,onType:d}){const f=xt(o);return s.jsxs("div",{className:"agent-chat-ask-question",children:[s.jsxs("div",{className:"agent-chat-ask-head",children:[s.jsxs("span",{className:"agent-chat-ask-badge",children:[s.jsx("span",{className:"agent-chat-ask-dot","aria-hidden":"true"}),e.header]}),n>1?s.jsx("span",{className:"agent-chat-ask-counter",children:f("terminal.chat.ask.counter",{index:t+1,total:n})}):null]}),s.jsx("p",{className:"agent-chat-ask-text",children:e.question}),s.jsx("div",{className:"agent-chat-ask-options",children:e.options.map(m=>{const y=r.includes(m.label);return s.jsxs("button",{type:"button",className:"agent-chat-ask-option",disabled:l,"aria-pressed":y,onClick:()=>{u(m.label)},children:[s.jsx("span",{className:"agent-chat-ask-option-label",children:m.label}),m.description?s.jsx("span",{className:"agent-chat-ask-option-desc",children:m.description}):null]},m.label)})}),s.jsx("div",{className:"agent-chat-ask-free",children:s.jsx("input",{className:"agent-chat-ask-input",type:"text",value:i,disabled:l,placeholder:f("terminal.chat.ask.freePlaceholder"),"aria-label":f("terminal.chat.ask.freeAria"),onChange:m=>{d(m.target.value)}})})]})}function Zoe({ask:e,language:t}){const n=xt(t),r=e.outcome==="answered"||e.outcome==="approved",i=e.answers&&e.answers.length>0?e.answers:[{header:e.form==="plan"?n("terminal.chat.ask.planBadge"):n("terminal.chat.ask.questionBadge"),value:n(`terminal.chat.ask.outcome.${e.outcome??"dismissed"}`)}];return s.jsx(s.Fragment,{children:i.map((l,o)=>s.jsxs("div",{className:`agent-chat-ask-settled${r?"":" is-open"}`,children:[s.jsx("span",{className:"agent-chat-ask-settled-mark","aria-hidden":"true",children:r?"✓":"✕"}),s.jsx("span",{className:"agent-chat-ask-settled-head",children:l.header}),s.jsx("span",{"aria-hidden":"true",children:"→"}),s.jsx("span",{className:"agent-chat-ask-settled-value",children:l.value})]},o))})}function yO({item:e,language:t,jobsByToolUse:n,onOpenJob:r}){const i=xt(t),l=e.id!==void 0?n.get(e.id):void 0;if(l!==void 0)return s.jsx(G3,{job:l,language:t,onOpen:r});const o=e.state==="running",u=e.state==="fail",d=e.state==="done",f=e.name??"",m=o?ole(f,t):d?f:lle(f,t),y=u?e.result??i("terminal.chat.stepFailed"):d?i("terminal.chat.stepUnconfirmed"):e.change&&(e.change.added>0||e.change.removed>0)?cle(e.change):e.result??null;return s.jsxs("div",{className:`agent-chat-step is-${e.state??"done"}`,children:[o?s.jsx("span",{className:"agent-chat-step-orbit","aria-hidden":"true"}):s.jsx("span",{className:"agent-chat-step-mark","aria-hidden":"true",children:u?"✕":d?"·":"✓"}),s.jsx("span",{className:"agent-chat-step-verb",...o?{role:"status"}:{},children:m}),e.detail?s.jsx("span",{className:"agent-chat-step-object",children:e.detail}):null,e.outside?s.jsx("span",{className:"agent-chat-step-outside",title:i("terminal.chat.outsideTheaterTitle"),children:i("terminal.chat.outsideTheater")}):null,y?s.jsx("span",{className:`agent-chat-step-out${u?" is-error":""}${d?" is-unknown":""}`,children:y}):null]})}function Yoe({durationMs:e,failed:t,running:n,error:r,stopped:i,contextGrew:l,language:o,children:u}){const d=xt(o),f=e!==void 0?d("terminal.chat.workedFor",{duration:$4(e)}):d("terminal.chat.workedLabel");return s.jsxs("details",{className:"agent-chat-fold",...n>0?{open:!0}:{},children:[s.jsxs("summary",{"aria-label":d("terminal.chat.foldAria"),children:[s.jsx("span",{className:"agent-chat-fold-label",children:f}),n>0?s.jsx("span",{className:"agent-chat-fold-running",children:d("terminal.chat.foldRunning",{count:n})}):null,t>0?s.jsx("span",{className:"agent-chat-fold-failed",children:d("terminal.chat.foldFailed",{count:t})}):null,i?s.jsx("span",{className:"agent-chat-fold-stopped",children:d("terminal.chat.foldTurnStopped")}):null,t===0&&r?s.jsx("span",{className:"agent-chat-fold-failed",children:d("terminal.chat.foldTurnFailed")}):null,l!==void 0&&l!==0?s.jsxs("span",{className:"agent-chat-fold-context",children:[l>0?"+":"−",va(Math.abs(l))]}):null,s.jsx("span",{className:"agent-chat-fold-chev","aria-hidden":"true",children:"⌄"})]}),s.jsx("div",{className:"agent-chat-fold-body",children:u})]})}function F4(e){return e==="agent"?"◆":e==="shell"?"❯":e==="workflow"?"⣿":"▪"}function Xoe(e,t){return xt(t)(`terminal.chat.jobKind.${e}`)}function vO(e,t){const n=xt(t);return e.open?n("terminal.chat.jobOpen"):e.status==="completed"?n("terminal.chat.jobCompleted"):e.status==="failed"?n("terminal.chat.jobFailed"):e.status==="stopped"?n("terminal.chat.jobStopped"):n("terminal.chat.jobUnknown")}function bO(e){return e.open?"is-open":e.status==="completed"?"is-done":e.status==="failed"?"is-fail":e.status==="stopped"?"is-stopped":"is-unknown"}function _O(e,t){const n=xt(t),r=[Xoe(e.kind,t)];return e.who!==void 0&&r.push(e.who),e.tokens!==void 0&&e.tokens>0&&r.push(n("terminal.chat.jobTokens",{count:wO(e.tokens)})),e.tools!==void 0&&e.tools>0&&r.push(n("terminal.chat.jobTools",{count:e.tools})),e.durationMs!==void 0&&e.durationMs>0&&r.push($4(e.durationMs)),r}function G3({job:e,language:t,onOpen:n}){const r=xt(t);return s.jsxs("button",{type:"button",className:`agent-chat-job ${bO(e)}`,"aria-label":r("terminal.chat.workOpenAria"),onClick:()=>n(e.id),children:[s.jsxs("span",{className:"agent-chat-job-head",children:[e.open?s.jsx("span",{className:"agent-chat-step-orbit","aria-hidden":"true"}):s.jsx("span",{className:"agent-chat-job-mark","aria-hidden":"true",children:e.status==="failed"?"✕":e.status==="completed"?"✓":"·"}),s.jsx("span",{className:"agent-chat-job-glyph","aria-hidden":"true",children:F4(e.kind)}),s.jsx("span",{className:"agent-chat-job-title",children:e.title}),s.jsx("span",{className:"agent-chat-job-outcome",children:vO(e,t)}),s.jsx("span",{className:"agent-chat-job-chev","aria-hidden":"true",children:"›"})]}),s.jsxs("span",{className:"agent-chat-job-meta",children:[_O(e,t).map((i,l)=>s.jsxs(p.Fragment,{children:[l>0?s.jsx("span",{"aria-hidden":"true",children:"·"}):null,s.jsx("span",{children:i})]},l)),e.kind==="workflow"&&e.stages.length>0?s.jsx(Joe,{stages:e.stages}):null]})]})}function Joe({stages:e}){return s.jsx("span",{className:"agent-chat-job-dots","aria-hidden":"true",children:e.map((t,n)=>s.jsxs(p.Fragment,{children:[n>0?s.jsx("span",{className:"agent-chat-job-dot-gap"}):null,t.agents.map((r,i)=>s.jsx("span",{className:`agent-chat-job-dot${r.state==="done"?" is-done":r.state==="running"?" is-live":""}`},i))]},n))})}function ele({id:e,jobs:t,job:n,openJobs:r,operationId:i,language:l,onOpen:o,onBack:u,onCollapse:d}){const f=xt(l),m=t.filter(v=>v.open),y=t.filter(v=>!v.open);return s.jsxs("section",{className:"agent-chat-work",id:e,"aria-label":f("terminal.chat.workAria"),children:[s.jsxs("button",{type:"button",className:`agent-chat-work-cap${r.length===0?" is-rest":""}`,"aria-expanded":!0,"aria-label":f("terminal.chat.workCollapseAria"),onClick:d,children:[r.length>0?s.jsx("span",{className:"agent-chat-strip-orbit","aria-hidden":"true"}):s.jsx("span",{className:"agent-chat-strip-dot","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-strip-count",children:r.length>0?f("terminal.chat.stripRunning",{count:r.length}):gO(t.length,f)}),s.jsx("span",{className:"agent-chat-work-cap-chev","aria-hidden":"true",children:"⌄"})]}),s.jsx("div",{className:"agent-chat-work-body",children:n!==null?s.jsx(tle,{job:n,operationId:i,language:l,onBack:u}):t.length===0?s.jsx("div",{className:"agent-chat-work-empty",children:f("terminal.chat.workEmpty")}):s.jsxs(s.Fragment,{children:[m.length>0?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"agent-chat-work-sec",children:[f("terminal.chat.workRunning")," ",m.length]}),m.map(v=>s.jsx(G3,{job:v,language:l,onOpen:o},v.id))]}):null,y.length>0?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"agent-chat-work-sec",children:[f("terminal.chat.workSettled")," ",y.length]}),y.map(v=>s.jsx(G3,{job:v,language:l,onOpen:o},v.id))]}):null]})})]})}function tle({job:e,operationId:t,language:n,onBack:r}){const i=xt(n),l=rle(t,e),o=ile(t,e);return s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"agent-chat-detail-head",children:[s.jsxs("button",{type:"button",className:"agent-chat-detail-back","aria-label":i("terminal.chat.workBackAria"),onClick:r,children:["‹ ",i("terminal.chat.workBack")]}),s.jsx("span",{className:"agent-chat-job-glyph","aria-hidden":"true",children:F4(e.kind)}),s.jsx("span",{className:"agent-chat-detail-title",children:e.title}),s.jsx("span",{className:`agent-chat-job-outcome ${bO(e)}`,children:vO(e,n)}),e.open?s.jsx("button",{type:"button",className:"agent-chat-detail-stop","aria-label":i("terminal.chat.jobStopAria"),disabled:o.state==="stopping",onClick:o.request,children:o.state==="stopping"?i("terminal.chat.jobStopping"):i("terminal.chat.jobStop")}):null]}),o.state==="failed"?s.jsx("div",{className:"agent-chat-detail-stop-error",children:i("terminal.chat.jobStopFailed")}):null,s.jsx("div",{className:"agent-chat-detail-meta",children:_O(e,n).join(" · ")}),s.jsxs("div",{className:"agent-chat-detail-body",children:[e.kind==="workflow"?e.stages.length>0?e.stages.map((u,d)=>s.jsx(sle,{stage:u,language:n},d)):s.jsx("div",{className:"agent-chat-work-empty",children:i("terminal.chat.stagesUnavailable")}):null,e.summary!==void 0?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"agent-chat-kicker",children:i("terminal.chat.jobReport")}),s.jsx(od,{className:"agent-chat-detail-report markdown-body",text:e.summary,streaming:!1,language:n})]}):e.kind!=="workflow"&&!e.open?s.jsx("div",{className:"agent-chat-work-empty",children:i("terminal.chat.jobNoReport")}):null,e.open&&e.note!==void 0?s.jsx("p",{className:"agent-chat-detail-note",children:e.note}):null,s.jsx(nle,{detail:l,language:n})]})]})}function nle({detail:e,language:t}){const n=xt(t);if(e.state==="idle")return null;if(e.state==="loading")return s.jsx("div",{className:"agent-chat-detail-loading",children:n("terminal.chat.jobDetailLoading")});const r=e.value;return r===null?s.jsx("div",{className:"agent-chat-work-empty",children:n("terminal.chat.jobDetailUnavailable")}):r.kind==="shell"?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"agent-chat-kicker",children:n("terminal.chat.jobOutput")}),r.truncated?s.jsx("div",{className:"agent-chat-detail-cut",children:n("terminal.chat.jobOutputCut")}):null,s.jsx("pre",{className:"agent-chat-detail-tail",children:r.tail})]}):r.steps.length===0?s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"agent-chat-kicker",children:n("terminal.chat.jobTrail")}),s.jsx("div",{className:"agent-chat-work-empty",children:n("terminal.chat.jobTrailEmpty")})]}):s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"agent-chat-kicker",children:[n("terminal.chat.jobTrail")," ",r.steps.length]}),r.truncated?s.jsx("div",{className:"agent-chat-detail-cut",children:n("terminal.chat.jobTrailCut")}):null,s.jsx("div",{className:"agent-chat-trail",children:r.steps.map((i,l)=>s.jsxs("div",{className:`agent-chat-step is-${i.failed===!0?"fail":"ok"}`,children:[s.jsx("span",{className:"agent-chat-step-mark","aria-hidden":"true",children:i.failed===!0?"✕":"✓"}),s.jsx("span",{className:"agent-chat-step-verb",children:i.name}),i.detail!==void 0?s.jsx("span",{className:"agent-chat-step-object",children:i.detail}):null,i.outcome!==void 0?s.jsx("span",{className:`agent-chat-step-out${i.failed===!0?" is-error":""}`,children:i.outcome}):null]},l))})]})}function rle(e,t){const n=(t.kind==="agent"||t.kind==="shell")&&!t.open,[r,i]=p.useState({state:"idle",value:null});return p.useEffect(()=>{if(!n){i({state:"idle",value:null});return}let l=!0;i({state:"loading",value:null});const o=new AbortController;return Soe(e,t.id,o.signal).then(u=>{l&&i({state:"ready",value:u})}).catch(()=>{l&&i({state:"ready",value:null})}),()=>{l=!1,o.abort()}},[e,t.id,n,t.ends]),r}function ile(e,t){const[n,r]=p.useState("idle");p.useEffect(()=>{r("idle")},[t.id]);const i=p.useCallback(()=>{r("stopping"),koe(e,t.id).then(()=>r("idle")).catch(()=>r("failed"))},[e,t.id]);return{state:n,request:i}}function sle({stage:e,language:t}){const n=xt(t),r=e.agents.filter(i=>i.state==="done").length;return s.jsxs("div",{className:"agent-chat-stage",children:[s.jsxs("div",{className:"agent-chat-stage-head",children:[s.jsx("span",{children:e.title}),s.jsxs("span",{className:"agent-chat-stage-count",children:[r,"/",e.agents.length]})]}),s.jsxs("div",{className:"agent-chat-stage-rows",role:"table",children:[s.jsxs("div",{className:"agent-chat-stage-row is-head",role:"row",children:[s.jsx("span",{role:"columnheader"}),s.jsx("span",{role:"columnheader",children:n("terminal.chat.stageAgent")}),s.jsx("span",{role:"columnheader",children:n("terminal.chat.stageModel")}),s.jsx("span",{role:"columnheader",className:"is-num",children:n("terminal.chat.stageTokens")}),s.jsx("span",{role:"columnheader",className:"is-num",children:n("terminal.chat.stageTools")}),s.jsx("span",{role:"columnheader",className:"is-num",children:n("terminal.chat.stageTime")})]}),e.agents.map((i,l)=>s.jsxs("div",{className:`agent-chat-stage-row${i.state==="done"?"":" is-pending"}`,role:"row",children:[s.jsx("span",{role:"cell",className:"is-mark","aria-hidden":"true",children:i.state==="done"?"✓":i.state==="running"?"◐":"·"}),s.jsx("span",{role:"cell",className:"is-name",title:i.result??i.label,children:i.label}),s.jsx("span",{role:"cell",className:"is-model",title:i.model,children:i.model!==void 0?ale(i.model):"—"}),s.jsx("span",{role:"cell",className:"is-num",children:i.tokens!==void 0?wO(i.tokens):"—"}),s.jsx("span",{role:"cell",className:"is-num",children:i.tools!==void 0?i.tools:"—"}),s.jsx("span",{role:"cell",className:"is-num",children:i.durationMs!==void 0?$4(i.durationMs):"—"})]},l))]})]})}const vC="claude-gateway--";function ale(e){return e.startsWith(vC)?e.slice(vC.length):e}function wO(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function ole(e,t){const n=xt(t),r=P4(e);return r==="other"?n("terminal.chat.activityUsing",{name:e}):n(`terminal.chat.verb.${r}.now`)}function lle(e,t){const n=xt(t),r=P4(e);return r==="other"?e:n(`terminal.chat.verb.${r}.past`)}function cle(e){const t=[];return e.added>0&&t.push(`+${e.added}`),e.removed>0&&t.push(`−${e.removed}`),t.join(" ")}function ule(e,t){const[n,r]=p.useState(()=>Date.now());return p.useEffect(()=>{if(!t||e===void 0)return;r(Date.now());const i=window.setInterval(()=>r(Date.now()),1e3);return()=>window.clearInterval(i)},[t,e]),e===void 0?0:Math.max(0,n-e)}function dle(e){const t=Math.floor(e/1e3);return t<90?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function $4(e){if(e<1e3)return`${Math.round(e)}ms`;const t=e/1e3;return t<90?`${t.toFixed(1)}s`:`${Math.round(t/60)}m ${Math.round(t%60)}s`}function va(e){if(e<1e3)return String(Math.round(e));const t=e/1e3;return t<10?`${t.toFixed(1)}k`:`${Math.round(t)}k`}function hle(e){const t=e.total/e.max,n=e.compactAt!==void 0?e.compactAt/e.max:1;return t>=n*.97?" is-critical":t>=n*.75?" is-warn":""}function fle({context:e,language:t}){const n=xt(t),[r,i]=p.useState(!1),l=p.useRef(null);if(p.useEffect(()=>{if(!r)return;const d=m=>{l.current?.contains(m.target)||i(!1)},f=m=>{m.key==="Escape"&&(m.stopPropagation(),i(!1))};return document.addEventListener("pointerdown",d,!0),document.addEventListener("keydown",f,!0),()=>{document.removeEventListener("pointerdown",d,!0),document.removeEventListener("keydown",f,!0)}},[r]),!e)return null;const o=Math.round(e.total/e.max*100),u=`${va(e.total)} / ${va(e.max)}`;return s.jsxs("div",{className:`agent-chat-ctx${hle(e)}`,ref:l,children:[s.jsxs("button",{type:"button",className:"agent-chat-mode-chip agent-chat-ctx-chip","aria-expanded":r,"aria-label":n("terminal.chat.contextAria",{percent:String(o),summary:u}),title:n("terminal.chat.contextAt",{summary:u}),onClick:()=>i(d=>!d),children:[s.jsx(ple,{ratio:e.total/e.max}),s.jsxs("span",{className:"agent-chat-ctx-pct",children:[o,"%"]})]}),r?s.jsx(mle,{context:e,language:t}):null]})}function ple({ratio:e}){const n=2*Math.PI*6,r=Math.max(0,Math.min(1,e))*n;return s.jsxs("svg",{className:"agent-chat-ctx-arc",viewBox:"0 0 16 16","aria-hidden":"true",children:[s.jsx("circle",{className:"agent-chat-ctx-arc-track",cx:"8",cy:"8",r:6}),s.jsx("circle",{className:"agent-chat-ctx-arc-fill",cx:"8",cy:"8",r:6,strokeDasharray:`${r.toFixed(2)} ${n.toFixed(2)}`})]})}function mle({context:e,language:t}){const n=xt(t),r=[...e.slices].sort((u,d)=>d.tokens-u.tokens),i=e.reserved??0,l=Math.max(0,e.max-e.total-i),o=Math.round(e.total/e.max*100);return s.jsxs("div",{className:"agent-chat-ctx-pop",role:"dialog","aria-label":n("terminal.chat.contextTitle"),children:[s.jsxs("div",{className:"agent-chat-ctx-pop-head",children:[s.jsx("span",{className:"agent-chat-ctx-pop-title",children:n("terminal.chat.contextTitle")}),s.jsxs("span",{className:"agent-chat-ctx-pop-total",children:[va(e.total)," / ",va(e.max)," · ",o,"%"]})]}),s.jsx("div",{className:"agent-chat-ctx-stack",children:r.map((u,d)=>s.jsx("i",{style:{width:`${u.tokens/e.max*100}%`,"--agent-chat-ctx-step":String(Math.min(d,5))}},u.name))}),s.jsxs("ul",{className:"agent-chat-ctx-rows",children:[r.map((u,d)=>s.jsxs("li",{children:[s.jsx("span",{className:"agent-chat-ctx-swatch",style:{"--agent-chat-ctx-step":String(Math.min(d,5))},"aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-ctx-name",children:u.name}),s.jsx("span",{className:"agent-chat-ctx-tokens",children:va(u.tokens)}),s.jsxs("span",{className:"agent-chat-ctx-share",children:[(u.tokens/e.max*100).toFixed(1),"%"]})]},u.name)),i>0?s.jsxs("li",{className:"agent-chat-ctx-free",children:[s.jsx("span",{className:"agent-chat-ctx-swatch is-free","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-ctx-name",children:n("terminal.chat.contextReserved")}),s.jsx("span",{className:"agent-chat-ctx-tokens",children:va(i)}),s.jsxs("span",{className:"agent-chat-ctx-share",children:[(i/e.max*100).toFixed(1),"%"]})]}):null,s.jsxs("li",{className:"agent-chat-ctx-free",children:[s.jsx("span",{className:"agent-chat-ctx-swatch is-free","aria-hidden":"true"}),s.jsx("span",{className:"agent-chat-ctx-name",children:n("terminal.chat.contextFree")}),s.jsx("span",{className:"agent-chat-ctx-tokens",children:va(l)}),s.jsxs("span",{className:"agent-chat-ctx-share",children:[(l/e.max*100).toFixed(1),"%"]})]})]}),s.jsx(bC,{label:n("terminal.chat.contextMemoryFiles"),rows:e.memoryFiles}),s.jsx(bC,{label:n("terminal.chat.contextMcpTools"),rows:e.mcpTools}),s.jsx("p",{className:"agent-chat-ctx-foot",children:n("terminal.chat.contextAge")})]})}function bC({label:e,rows:t}){const n=t.reduce((i,l)=>i+l.tokens,0);if(t.length===0||n===0)return null;const r=[...t].sort((i,l)=>l.tokens-i.tokens);return s.jsxs("details",{className:"agent-chat-ctx-detail",children:[s.jsxs("summary",{children:[s.jsx("span",{className:"agent-chat-ctx-name",children:e}),s.jsx("span",{className:"agent-chat-ctx-tokens",children:va(n)}),s.jsx("span",{className:"agent-chat-ctx-count",children:r.length})]}),s.jsx("ul",{className:"agent-chat-ctx-rows",children:r.map(i=>s.jsxs("li",{children:[s.jsx("span",{className:"agent-chat-ctx-name",title:i.name,children:i.name}),s.jsx("span",{className:"agent-chat-ctx-tokens",children:va(i.tokens)})]},i.name))})]})}const gle=new Set(["idle_prompt","permission_prompt","auth_success","elicitation_dialog","elicitation_complete","elicitation_response"]);function yle(){let e="";return t=>{e+=t;const n=[];let r=e.indexOf(`
|
|
198
198
|
|
|
199
199
|
`);for(;r>=0;){const i=e.slice(0,r);e=e.slice(r+2);const l=ble(i);l&&n.push(l),r=e.indexOf(`
|
|
200
200
|
|