1import{n as e,o as t}from"./rolldown-runtime-CMxvf4Kt.js";import{F as n,L as r}from"../vendor/vendor-data-runtime-nLFaCKB0.js";import{Yi as i}from"../vendor/vendor-ai-runtime-DrDK77gy.js";import{Ao as a,g as o,jo as s}from"./app-const-BzFqCjOv.js";import{A as c,Do as l,Fn as u,Oo as d,bo as f,to as p,vo as ee,wo as m,zn as te}from"./ScrollArea-CdDxdn_v.js";import{fa as ne,n as re}from"./es-D7HWafs1.js";import{$s as ie,Gn as ae,Zs as oe,_v as se,et as h,lt as ce}from"../vendor/vendor-icons-BXJMWD35.js";import{n as le}from"./base-ui-Bi3Dz7GG.js";import{h as g,n as ue}from"./icons-Bz1tvWUu.js";import{a as _,d as de,dt as fe,f as pe,lt as me,n as he,o as ge,pt as v}from"./agent-Dh3-_0ai.js";import{b as _e,t as ve,y as ye}from"./selectors-IDJ5-Ts8.js";import{C as be,an as xe}from"./agentDocument-GhemY2N0.js";import{r as Se,t as Ce}from"./swr-C_leGIiU.js";import{j as we}from"./keys-BAizXMAH.js";import{Ci as Te,Eo as Ee,Ni as De,S as Oe,T as y,a as ke,bi as Ae,di as je,en as Me,hi as Ne,ki as Pe,n as b,o as Fe}from"./store-JX60g0Lu.js";import{n as Ie,r as Le}from"./connector-CTv0KPI6.js";import{n as Re,t as ze}from"./localFileService-DGk4gV-M.js";import{Cn as x,Dt as S,E as C,H as Be,Kn as Ve,Rn as w,Tn as He,_n as Ue,hn as T,i as We,jn as Ge,m as Ke,qt as E,rn as D,rt as qe,yt as O}from"./Lexical.prod-ZYFyn_a-.js";import{Ei as Je,It as k,Lt as Ye,Ti as Xe,Zt as Ze,_a as A,_n as Qe,ba as j,co as M,dn as $e,gi as et,hi as tt,ln as nt,lo as rt,na as it,pa as at,qt as ot,ra as st,so as ct,ta as lt,tn as ut}from"./index-Doip7UYu.js";import{a as dt,n as ft,o as pt,t as mt}from"./useAgentId-SQgiQkxZ.js";import{a as ht,i as gt,n as _t,o as vt,r as yt,t as bt}from"./useProjectSkills-DrKAm0K1.js";var xt=e((()=>{})),N,P,St=e((()=>{f(),xt(),N=(e,t)=>` 2 color: ${e}; 3 4 &.selected { 5 border-radius: ${t}; 6 outline: 2px solid ${e}; 7 outline-offset: 1px; 8 } 9`,P=m(({css:e,cssVar:t})=>({actionTag:e` 10 cursor: default; 11 user-select: none; 12 13 display: inline-flex; 14 gap: 4px; 15 align-items: center; 16 17 margin-inline-end: ${4}px; 18 padding-inline: 2px; 19 `,actionTagLabel:e` 20 font-weight: 500; 21 `,agentSkillTag:e` 22 ${N(t.colorSuccess,t.borderRadius)} 23 `,clickable:e` 24 cursor: pointer; 25 border-radius: ${t.borderRadius}; 26 transition: background 0.2s; 27 28 &:hover { 29 background: ${t.colorFillTertiary}; 30 } 31 `,commandTag:e` 32 ${N(t.purple,t.borderRadius)} 33 `,projectSkillTag:e` 34 ${N(t.colorSuccess,t.borderRadius)} 35 `,skillTag:e` 36 ${N(t.colorSuccess,t.borderRadius)} 37 `,toolTag:e` 38 ${N(t.colorInfo,t.borderRadius)} 39 `}))})),Ct,F,wt,Tt,Et,Dt,I,Ot=e((()=>{re(),ue(),f(),h(),Ct=t(s()),n(),St(),F=t(a()),wt={agentSkill:g,command:ae,projectSkill:g,skill:g,tool:ce},Tt={agentSkill:`actionTag.category.agentSkill`,command:`actionTag.category.command`,projectSkill:`actionTag.category.projectSkill`,skill:`actionTag.category.skill`,tool:`actionTag.category.tool`},Et={agentSkill:`actionTag.tooltip.agentSkill`,command:`actionTag.tooltip.command`,projectSkill:`actionTag.tooltip.projectSkill`,skill:`actionTag.tooltip.skill`,tool:`actionTag.tooltip.tool`},Dt={agentSkill:`agentSkillTag`,command:`commandTag`,projectSkill:`projectSkillTag`,skill:`skillTag`,tool:`toolTag`},I=(0,Ct.memo)(({category:e,label:t,description:n,clickable:i,onClick:a})=>{let{t:o}=r(`editor`),s=o(Tt[e]),c=o(Et[e]),l=wt[e],u=Dt[e],f=i??!!a,m=n||c,ne=a?e=>{e.stopPropagation(),a()}:void 0;return(0,F.jsx)(te,{title:(0,F.jsxs)(ee,{gap:2,children:[(0,F.jsx)(`div`,{style:{fontWeight:500},children:t}),(0,F.jsx)(`div`,{style:{opacity:.65},children:s}),m&&(0,F.jsx)(`div`,{children:m}),f&&(0,F.jsx)(`div`,{style:{opacity:.65},children:o(`actionTag.tooltip.clickToView`)})]}),children:(0,F.jsxs)(`span`,{className:d(P.actionTag,P[u],f&&P.clickable),onClick:ne,children:[(0,F.jsx)(p,{icon:l,size:14}),(0,F.jsx)(`span`,{className:P.actionTagLabel,children:t})]})})}),I.displayName=`ActionMention`}));function kt(e,t,n){return T(new L(e,t,n))}function At(e){return e.getType()===L.getType()}var jt,L,R=e((()=>{M(),k(),D(),jt=t(s()),Ot(),L=class e extends C{__actionType;__actionCategory;__actionLabel;static getType(){return`action-tag`}static clone(t){return new e(t.__actionType,t.__actionCategory,t.__actionLabel,t.__key)}static importJSON(e){return kt(e.actionType,e.actionCategory,e.actionLabel).updateFromJSON(e)}static importDOM(){return null}constructor(e,t,n,r){super(r),this.__actionType=e,this.__actionCategory=t,this.__actionLabel=n}get actionType(){return this.__actionType}get actionCategory(){return this.__actionCategory}get actionLabel(){return this.__actionLabel}exportDOM(){return{element:document.createElement(`span`)}}createDOM(e){let t=document.createElement(`span`);return E(t,e.theme.actionTag),t}getTextContent(){return this.__actionLabel}isInline(){return!0}updateDOM(){return!1}exportJSON(){return{...super.exportJSON(),actionCategory:this.__actionCategory,actionLabel:this.__actionLabel,actionType:this.__actionType}}updateFromJSON(e){return super.updateFromJSON(e)}decorate(t){let n=rt(t)?.getDecorator(e.getType());return n?typeof n==`function`?n(this,t):{queryDOM:n.queryDOM,render:n.render(this,t)}:null}renderHeadless({key:e}){return(0,jt.createElement)(I,{category:this.__actionCategory,key:e,label:this.__actionLabel})}}}));function Mt(e){return e.registerCommand(z,t=>(e.update(()=>{let e=kt(t.type,t.category,t.label);w([e]),O(e.getParentOrThrow())&&ct(e,S).selectEnd()}),!0),3)}var z,B=e((()=>{M(),D(),R(),z=x(`INSERT_ACTION_TAG_COMMAND`)})),Nt,Pt,Ft=e((()=>{o(),Nt=t(s()),me(),de(),ht(),he(),ge(),bt(),Pt=e=>{let t=vt(e),n=_(t=>e?v.getAgencyConfigById(e)(t):void 0),r=_(t=>e?v.isAgentHeterogeneousById(e)(t):!1),i=fe(n,{clientExecutionAvailable:!1,deviceRoutingAvailable:pe(e),isHetero:r,workspaceScoped:_(t=>e?v.isWorkspaceAgentById(e)(t):!1)})===`device`&&n?.boundDeviceId?n.boundDeviceId:void 0,{items:a,onOpenSkill:o}=_t(i&&t?t:void 0,i);return(0,Nt.useCallback)(e=>{let t=a.find(t=>t.name===e);if(t)return{description:t.description,name:t.name,open:()=>o(t)}},[a,o])}})),V,It,Lt,Rt=e((()=>{D(),V=t(s()),Ft(),mt(),Ot(),It=t(a()),Lt=(0,V.memo)(({node:e,editor:t,label:n})=>{let r=(0,V.useRef)(null),i=Pt(ft()),a=e.actionCategory===`projectSkill`?i(e.actionType):void 0,o=a?.open,s=(0,V.useCallback)(e=>e.target===r.current||r.current?.contains(e.target)?(o?.(),!0):!1,[o]);return(0,V.useEffect)(()=>
39t.registerCommand(He,s,1),[t,s]),(0,It.jsx)(`span`,{ref:r,style:{verticalAlign:-3},children:(0,It.jsx)(I,{category:e.actionCategory,clickable:!!o,description:a?.description,label:n})})}),Lt.displayName=`ActionTag`}));function zt(e){let t=[];return e.registerUpdateListener(({editorState:n})=>{let r=n.read(()=>We()),i=[];(qe(r)||Ve(r)&&!r.isCollapsed())&&n.read(()=>{for(let e of r.getNodes())At(e)&&i.push(e.getKey())});let a=t.filter(e=>!i.includes(e)),o=i.filter(e=>!t.includes(e));t=[...i];for(let t of a)e.getElementByKey(t)?.classList.remove(`selected`);for(let t of o)e.getElementByKey(t)?.classList.add(`selected`)})}var Bt=e((()=>{D(),R()})),Vt,Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t=e((()=>{o(),k(),D(),R(),B(),Bt(),Vt=e=>{let t=e.getAttribute(`name`)||``;return{actionCategory:t.startsWith(`agent-skills:`)?`agentSkill`:`skill`,actionLabel:e.getAttribute(`label`)||``,actionType:t,type:L.getType(),version:1}},Ht=e=>({actionCategory:`tool`,actionLabel:e.getAttribute(`label`)||``,actionType:e.getAttribute(`name`)||``,type:L.getType(),version:1}),Ut=e=>({actionCategory:`projectSkill`,actionLabel:e.getAttribute(`label`)||``,actionType:e.getAttribute(`name`)||``,type:L.getType(),version:1}),Wt=e=>({actionCategory:e.getAttribute(`category`)||`skill`,actionLabel:e.getAttribute(`label`)||``,actionType:e.getAttribute(`type`)||`translate`,type:L.getType(),version:1}),Gt={action:Wt,projectskill:Ut,skill:Vt,tool:Ht},Kt=/<(skill|projectskill|tool|action)(\s[^>]*?)?\/>/i,qt=/([\w-]+)\s*=\s*(?:"([^"]*)"|'([^']*)')/g,Jt=e=>{let t={},n;for(qt.lastIndex=0;(n=qt.exec(e))!==null;)t[n[1]]=n[2]??n[3]??``;return{getAttribute:e=>e in t?t[e]:null}},Yt=(e,t)=>{let n=Gt[e.toLowerCase()];return n?n(Jt(t)):null},Xt=new Set([`code`,`codeInline`,`code-highlight`,`codemirror`]),Zt=e=>{if(e.hasFormat(`code`))return!0;let t=e;for(;t;){if(Xt.has(t.getType()))return!0;t=t.getParent()}return!1},Qt=class{static pluginName=`ActionTagPlugin`;config;kernel;clears=[];constructor(e,t){this.kernel=e,this.config=t,e.registerNodes([L]),t?.theme&&e.registerThemes(t.theme),e.registerDecorator(L.getType(),(e,n)=>t?.decorator?t.decorator(e,n):null)}onInit(e){this.clears.push(Mt(e)),this.clears.push(zt(e)),this.clears.push(this.registerTextTagTransform(e)),this.registerMarkdown(),this.registerLiteXml()}registerTextTagTransform(e){return e.registerNodeTransform(Ue,e=>{if(Zt(e))return;let t=e.getTextContent(),n=Kt.exec(t);if(!n)return;let[r,i,a]=n,o=Yt(i,a??``);if(!o)return;let s=kt(o.actionType,o.actionCategory,o.actionLabel),c=n.index,l=c+r.length;(c===0?e.splitText(l)[0]:e.splitText(c,l)[1]).replace(s)})}registerMarkdown(){this.kernel.requireService(A)?.registerMarkdownWriter(L.getType(),(e,t)=>{if(At(t)){let n=t.actionCategory;n===`skill`||n===`agentSkill`||n===`projectSkill`?e.appendLine(`<skill name="${t.actionType}" label="${t.actionLabel}" />`):n===`tool`?e.appendLine(`<tool name="${t.actionType}" label="${t.actionLabel}" />`):e.appendLine(`<action type="${t.actionType}" category="${n}" label="${t.actionLabel}" />`)}})}registerLiteXml(){let e=this.kernel.requireService(at);e?.registerXMLWriter(L.getType(),(e,t)=>{if(At(e)){let n=e.actionCategory;return n===`skill`||n===`agentSkill`?t.createXmlNode(`skill`,{label:e.actionLabel,name:e.actionType}):n===`tool`?t.createXmlNode(`tool`,{label:e.actionLabel,name:e.actionType}):n===`projectSkill`?t.createXmlNode(`projectSkill`,{label:e.actionLabel,name:e.actionType}):t.createXmlNode(`action`,{category:n,label:e.actionLabel,type:e.actionType})}return!1}),e?.registerXMLReader(`skill`,Vt),e?.registerXMLReader(`tool`,Ht),e?.registerXMLReader(`projectSkill`,Ut),e?.registerXMLReader(`action`,Wt)}destroy(){for(let e of this.clears)e();this.clears=[],this.kernel.unregisterDecorator?.(L.getType())}}})),en,tn,nn,rn=e((()=>{k(),en=t(s()),n(),Rt(),$t(),tn=t(a()),nn=()=>{let[e]=j(),{t}=r(`editor`);return(0,en.useLayoutEffect)(()=>{e.registerPlugin(Qt,{decorator:(e,n)=>(0,tn.jsx)(Lt,{editor:n,label:e.actionCategory===`command`?t(`slash.${e.actionType}`):e.actionLabel,node:e})})},[e,t]),null},nn.displayName=`ReactActionTagPlugin`})),an,on=e((()=>{an=[{category:`command`,label:`newTopic`,type:`newTopic`},{category:`command`,label:`compact`,type:`compact`}]})),H,sn,cn,ln=e((()=>{H=t(i()),sn=t(s()),Oe(),Me(),Ie(),cn=()=>{let e=y(Ae.installedBuiltinSkills,H.default),t=y(Le.customConnectors,H.default),n=y(je.installedPluginMetaList,H.default),r=y(Te.getServers,H.default),i=y(Ne.getServers,H.default),a=y(Pe.getMarketAgentSkills,H.default),o=y(Pe.getUserAgentSkills,H.default);return(0,sn.useMemo)(()=>{let s=[],c=new Map;for(let t of e)c.set(t.identifier,{description:t.description,icon:t.avatar,label:t.title||t.name||t.identifier});for(let e of i)c.has(e.identifier)||c.set(e.identifier,{icon:e.icon,label:e.name||e.
39identifier});for(let e of a)c.has(e.identifier)||c.set(e.identifier,{description:e.description||e.manifest?.description,label:e.name||e.identifier});for(let e of o)c.has(e.identifier)||c.set(e.identifier,{description:e.description||e.manifest?.description,label:e.name||e.identifier});let l=new Map;for(let e of t)!e.isEnabled||(e.tools?.length??0)===0||c.has(e.identifier)||l.has(e.identifier)||l.set(e.identifier,{label:e.name||e.identifier});for(let e of n)c.has(e.identifier)||l.has(e.identifier)||l.set(e.identifier,{icon:e.avatar,label:e.title||e.identifier});for(let e of r)c.has(e.identifier)||l.has(e.identifier)||l.set(e.identifier,{icon:e.icon,label:e.label||e.identifier});for(let[e,{description:t,icon:n,label:r}]of c)s.push({category:`skill`,description:t,icon:n,label:r,type:e});for(let[e,{icon:t,label:n}]of l)s.push({category:`tool`,icon:t,label:n,type:e});return s},[e,t,n,r,i,a,o])}})),un,dn,fn,pn,mn=e((()=>{o(),ue(),un=t(i()),it(),D(),h(),dn=t(s()),n(),me(),de(),ht(),yt(),he(),ge(),Ee(),Oe(),Me(),mt(),dt(),B(),on(),ln(),fn={compact:se,newTopic:ie},pn=()=>{let{t:e}=r(`editor`),t=pt(e=>e.editor),n=b(e=>e.activeTopicId),i=ft(),a=vt(i),o=_(e=>i?v.getAgencyConfigById(i)(e):void 0),s=_(e=>i?v.isAgentHeterogeneousById(i)(e):!1),c=fe(o,{clientExecutionAvailable:!1,deviceRoutingAvailable:pe(i),isHetero:s,workspaceScoped:_(e=>i?v.isWorkspaceAgentById(i)(e):!1)})===`device`&&o?.boundDeviceId?o.boundDeviceId:void 0,{data:l}=gt(c&&a?a:void 0,c),u=l?.skills;y(e=>e.useFetchAgentDocumentSkills)(i);let d=y(De.getAgentDocumentSkills,un.default),f=cn(),p=(0,dn.useMemo)(()=>f.filter(e=>e.category===`skill`),[f]);return(0,dn.useCallback)(async r=>{let i=[],a=t=>({icon:fn[t.type],key:`action-${t.type}`,label:e(`slash.${t.type}`),metadata:{category:t.category,description:e(`slash.${t.type}.desc`,{defaultValue:``}),type:t.type},onSelect:n=>{let r={category:t.category,label:e(`slash.${t.type}`),type:t.type};n.dispatchCommand(z,r)}}),o=e=>({icon:g,key:`project-skill-${e.name}`,label:e.name,metadata:{category:`projectSkill`,description:e.description,type:e.name},onSelect:t=>{let n={category:`projectSkill`,label:e.name,type:e.name};t.dispatchCommand(z,n)}}),s=e=>({icon:g,key:`skill-${e.type}`,label:e.label,metadata:{category:`skill`,description:e.description,type:e.type},onSelect:t=>{let n={category:`skill`,label:e.label,type:e.type};t.dispatchCommand(z,n)}}),c=e=>{let t=e.title||e.name;return{icon:g,key:`agent-skill-${e.identifier}`,label:t,metadata:{category:`agentSkill`,description:e.description,type:e.identifier},onSelect:n=>{let r={category:`agentSkill`,label:t,type:e.identifier};n.dispatchCommand(z,r)}}},l=r===null,f=!1;if(!l&&t){let e=t.getLexicalEditor();e&&e.getEditorState().read(()=>{let e=We();if(!Ve(e))return;let t=e.anchor.getNode().getTopLevelElement();if(!t)return;let n=t.getTextContent(),i=`/`+(r?.matchingString||``);if(n===i){l=!0;return}let a=n.lastIndexOf(i);a===0?l=!0:a>0&&/\s/.test(n[a-1])&&(f=!0)})}if(!l&&!f)return[];if(l)for(let e of an)e.type===`newTopic`&&!n||i.push(a(e));for(let e of p)i.push(s(e));for(let e of d)i.push(c(e));if(u&&u.length>0)for(let e of u)i.push(o(e));return r?.matchingString&&r.matchingString.length>0?new lt(i,{keys:[`key`,`label`,`metadata.description`],threshold:.4}).search(r.matchingString).map(e=>e.item):i},[e,t,n,u,p,d])}})),hn=e((()=>{R(),B(),rn(),on(),mn()}));function gn(e,t,n=!1){return T(new U(e,t,n))}function _n(e){return e instanceof U}var vn,U,yn=e((()=>{M(),k(),D(),vn=t(s()),tt(),U=class e extends C{__name;__path;__isDirectory;static getType(){return`local-file-tag`}static clone(t){return new e(t.__name,t.__path,t.__isDirectory,t.__key)}static importJSON(e){return gn(e.name,e.path,e.isDirectory).updateFromJSON(e)}static importDOM(){return null}constructor(e,t,n=!1,r){super(r),this.__name=e,this.__path=t,this.__isDirectory=n}get name(){return this.__name}get path(){return this.__path}get isDirectory(){return this.__isDirectory}exportDOM(){return{element:document.createElement(`span`)}}createDOM(e){let t=document.createElement(`span`);return E(t,e.theme.localFileTag),t}getTextContent(){return this.__name}isInline(){return!0}updateDOM(){return!1}exportJSON(){return{...super.exportJSON(),isDirectory:this.__isDirectory,name:this.__name,path:this.__path}}updateFromJSON(e){return super.updateFromJSON(e)}decorate(t){let n=rt(t)?.getDecorator(e.getType());return n?typeof n==`function`?n(this,t):{queryDOM:n.queryDOM,render:n.render(this,t)}:null}renderHeadless({key:e}){return(0,vn.createElement)(et,{isDirectory:this.__isDirectory,key:e,name:this.__name,path:this.__path})}}})),bn,xn,Sn=e((()=>{M(),be(),k(),D(),yn(),bn=x(`INSERT_LOCAL_FILE_TAG_COMMAND`),xn=class{static pluginName=`LocalFileTagPlugin`;config;kernel;constructor(e,t){this.kernel=e,this.config=t,e.registerNodes([U]),t?.theme&&e.registerThemes(t.theme),e.registerDecorator(U.getType(),(e,n)=>t?.decorator?t.decorator(e,n):null)}onInit(e){this.registerMarkdown(),this.registerLiteXml(),this.registerCommand(e)}registerMarkdown(){this.kernel.requireService(A)?.registerMarkdownWriter(U.getType(),(e,t)=>{if(_n(t)){let n=xe(t.name),r=xe(t.path),i=t.isDirectory?` isDirectory`:``;e.appendLine(`<localFile name="${n}" path="${r}"${i} />`)}})}registerCommand(e){e.registerCommand(bn,t=>(e.update(()=>{let e=gn(t.name,t.path,!!t.isDirectory);w([e,Ge(` `)]),O(e.getParentOrThrow())&&ct(e,S).selectEnd()}),!0),3)}registerLiteXml(){let e=this.kernel.requireService(at);e?.registerXMLWriter(U.getType(),(e,t)=>_n(e)?t.createXmlNode(`localFile`,{...e.isDirectory?{isDirectory:`true`}:{},name:e.name,path:e.path}):!1);let t=e=>({isDirectory:e.hasAttribute?.(`isDirectory`)||e.getAttribute(`isDirectory`)===`true`,name:e.getAttribute(`name`)||``,path:e.getAttribute(`path`)||``,type:U.getType(),version:1});e?.registerXMLReader(`localFile`,t),e?.registerXMLReader(`localFileTag`,t)}destroy(){this.kernel.unregisterDecorator?.(U.getType())}}})),Cn,wn,Tn,En,Dn,On,W,G,kn,An,jn,Mn,Nn,Pn,Fn,In,Ln=e((()=>{Cn=`lobeLocalFileLink`,wn=/^(?:[a-z]:[\\/]|\\\\)/i,Tn=/^[a-z][a-z\d+.-]*:/i,En=/:(\d+)(?::(\d+))?$/,Dn=[`/Applications/`,`/Users/`,`/Volumes/`,`/home/`,`/mnt/`,`/opt/`,`/private/`,`/tmp/`,`/var/`,`/workspace/`],On=e=>{try{return decodeURIComponent(e)}catch{return e}},W=e=>{let t=e.replaceAll(`\\`,`/`);return t===`/`?t:t.replace(/\/+$/,``)},G=e=>wn.test(e),kn=e=>e.startsWith(`/`),An=e=>kn(e)||G(e),jn=(e,t)=>{let n=W(e),r=W(t);return n===r||n.startsWith(`${r}/`)},Mn=e=>{if(G(e))return!0;let t=W(e);return Dn.some(e=>t===e.slice(0,-1)||t.startsWith(e))},Nn=e=>{let t=e.replace(/[\\/]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));
39return n<=0?t.startsWith(`/`)?`/`:t:t.slice(0,n)},Pn=e=>{let t=e.match(En);if(!t)return{filePath:e};let n=e.slice(0,-t[0].length);if(!n)return{filePath:e};let r=Number.parseInt(t[1],10),i=t[2]?Number.parseInt(t[2],10):void 0;return{column:i&&i>0?i:void 0,filePath:n,line:r>0?r:void 0}},Fn=e=>{if(e.toLowerCase().startsWith(`file:`))try{let t=new URL(e);if(t.protocol!==`file:`)return null;let n=On(t.pathname);return/^\/[a-z]:/i.test(n)?n.slice(1):n}catch{return null}return Tn.test(e)&&!G(e)?null:On(e)},In=(e,{workingDirectory:t}={})=>{let n=e?.trim();if(!n)return null;let r=Fn(n);if(!r)return null;let{filePath:i,line:a,column:o}=Pn(r);if(!An(i))return null;let s=t&&jn(i,t)?t:void 0;return!s&&!n.toLowerCase().startsWith(`file:`)&&!Mn(i)?null:{column:o,filePath:i,line:a,workingDirectory:s||Nn(i)}}})),Rn=e((()=>{})),K,q,J,Y,X,zn,Bn=e((()=>{o(),re(),le(),f(),D(),h(),K=t(s()),n(),Je(),Ce(),we(),ze(),ke(),Ee(),ve(),Ln(),xt(),Rn(),q=t(a()),new Set([`avif`,`bmp`,`gif`,`ico`,`jpeg`,`jpg`,`png`,`svg`,`webp`]),J=m(({css:e})=>({actionBar:e` 40 flex-wrap: wrap; 41 max-width: 320px; 42 `,label:e` 43 overflow: hidden; 44 font-weight: 500; 45 text-overflow: ellipsis; 46 white-space: nowrap; 47 `,path:e` 48 max-width: 360px; 49 padding-block: 8px; 50 padding-inline: 10px; 51 border-radius: ${l.borderRadius}; 52 53 font-family: ${l.fontFamilyCode}; 54 font-size: 12px; 55 line-height: 1.5; 56 color: ${l.colorTextSecondary}; 57 word-break: break-all; 58 59 background: ${l.colorFillQuaternary}; 60 `,popover:e` 61 max-width: 392px; 62 `,previewFrame:e` 63 overflow: hidden; 64 display: flex; 65 align-items: center; 66 justify-content: center; 67 68 width: min(360px, 72vw); 69 max-height: 240px; 70 border: 1px solid ${l.colorFillSecondary}; 71 border-radius: ${l.borderRadiusLG}; 72 73 background: ${l.colorFillQuaternary}; 74 `,previewImage:e` 75 display: block; 76 max-width: 100%; 77 max-height: 240px; 78 object-fit: contain; 79 `,tag:e` 80 cursor: default; 81 user-select: none; 82 83 display: inline-flex; 84 gap: 4px; 85 align-items: center; 86 87 max-width: 240px; 88 margin-inline-end: ${4}px; 89 padding-inline: 2px; 90 border-radius: ${l.borderRadius}; 91 92 color: ${l.colorInfo}; 93 vertical-align: baseline; 94 95 &.selected { 96 outline: 2px solid ${l.colorInfo}; 97 outline-offset: 1px; 98 } 99 `,thumbnail:e` 100 flex-shrink: 0; 101 102 width: 16px; 103 height: 16px; 104 border-radius: ${l.borderRadiusXS}; 105 106 object-fit: cover; 107 background: ${l.colorFillQuaternary}; 108 box-shadow: inset 0 0 0 1px ${l.colorFillSecondary}; 109 `})),Y=e=>{e.preventDefault(),e.stopPropagation()},X=(0,K.memo)(({children:e,className:t,editor:n,nodeKey:r,ref:i,title:a,...o})=>{let s=(0,K.useRef)(null),c=(0,K.useCallback)(e=>{if(s.current=e,!i)return;if(typeof i==`function`){i(e);return}let t=i;t.current=e},[i]),l=(0,K.useCallback)(e=>!n||!r||e.target!==s.current&&!s.current?.contains(e.target)?!1:(e.preventDefault(),n.update(()=>{let e=Be();e.add(r),Ke(e)}),!0),[n,r]);return(0,K.useEffect)(()=>{if(!(!n||!r))return n.registerCommand(He,l,1)},[n,r,l]),(0,q.jsx)(`span`,{...o,className:d(J.tag,t),ref:c,title:a,children:e})}),X.displayName=`LocalFileTagTrigger`,zn=(0,K.memo)(({className:e,editor:t,file:n,nodeKey:i})=>{let{t:a}=r(`chat`),o=b(e=>e.openLocalFile),s=b(_e.currentTopicWorkingDirectory),l=(0,K.useMemo)(()=>In(n.path,{workingDirectory:s}),[n.path,s]),d=!!l&&(!s||l.workingDirectory!==s),{data:f}=Se(null,()=>Fe.getLocalFilePreview({accept:`image`,allowExternalFile:d||void 0,path:l.filePath,workingDirectory:l.workingDirectory}),{revalidateOnFocus:!1}),[p,m]=(0,K.useState)();return(0,K.useEffect)(()=>{m(void 0)},[!1,f]),(0,K.useCallback)(e=>{Y(e),l&&o({allowExternalFilePreview:d,filePath:l.filePath,workingDirectory:l.workingDirectory})},[d,o,l]),(0,K.useCallback)(e=>{Y(e),Re.openLocalFileOrFolder(n.path,!!n.isDirectory)},[n.isDirectory,n.path]),(0,K.useCallback)(e=>{Y(e),Re.openFileFolder(n.path)},[n.path]),(0,q.jsx)(c,{content:(0,q.jsxs)(ee,{className:J.popover,gap:10,onClick:e=>e.stopPropagation(),children:[p&&(0,q.jsx)(`div`,{className:J.previewFrame,children:(0,q.jsx)(`img`,{alt:n.name,className:J.previewImage,"data-testid":`local-file-image-hover-preview`,draggable:!1,src:p})}),(0,q.jsx)(u,{className:J.path,children:n.path}),!1]}),styles:{content:{padding:8}},trigger:`hover`,children:(0,q.jsxs)(X,{className:e,editor:t,nodeKey:i,title:n.path,children:[p?(0,q.jsx)(`img`,{alt:``,className:J.thumbnail,"data-testid":`local-file-image-preview`,draggable:!1,src:p}):(0,q.jsx)(Xe,{fileName:n.name,isDirectory:!!n.isDirectory,size:16,variant:`raw`}),(0,q.jsx)(`span`,{className:J.label,children:n.name})]})})}),zn.displayName=`LocalFileTag`})),Vn,Hn,Un,Wn=e((()=>{k(),Vn=t(s()),Bn(),Sn(),Hn=t(a()),Un=()=>{let[e]=j();return(0,Vn.useLayoutEffect)(()=>{e.registerPlugin(xn,{decorator:(e,t)=>
109(0,Hn.jsx)(zn,{editor:t,nodeKey:e.getKey(),file:{isDirectory:e.isDirectory,name:e.name,path:e.path}})})},[e]),null},Un.displayName=`ReactLocalFileTagPlugin`})),Gn=e((()=>{yn(),Sn(),Wn()})),Kn,Z,Q,qn=e((()=>{re(),h(),Kn=t(s()),n(),Ee(),ye(),xt(),Z=t(a()),Q=(0,Kn.memo)(({topicId:e,fallbackTitle:t})=>{let{t:n}=r(`topic`),i=b(_e.getTopicById(e))?.title||t,a=b(e=>e.switchTopic),o=(0,Kn.useCallback)(t=>{t.stopPropagation(),e&&a(e)},[a,e]);return(0,Z.jsx)(`span`,{style:{cursor:e?`pointer`:`default`,display:`inline-flex`,marginInlineEnd:4,userSelect:`none`},onClick:o,children:(0,Z.jsx)(ne,{color:`blue`,icon:(0,Z.jsx)(oe,{size:12}),variant:`borderless`,children:i||n(`defaultTitle`)})})}),Q.displayName=`ReferTopicView`})),Jn,Yn,Xn,Zn=e((()=>{Jn=t(s()),qn(),Yn=t(a()),Xn=(0,Jn.memo)(({node:e})=>(0,Yn.jsx)(Q,{fallbackTitle:e.topicTitle,topicId:e.topicId})),Xn.displayName=`ReferTopic`}));function Qn(e,t){return T(new $(e,t))}function $n(e){return e.getType()===$.getType()}var er,$,tr=e((()=>{M(),k(),D(),er=t(s()),qn(),$=class e extends C{__topicId;__topicTitle;static getType(){return`refer-topic`}static clone(t){return new e(t.__topicId,t.__topicTitle,t.__key)}static importJSON(e){return Qn(e.topicId,e.topicTitle).updateFromJSON(e)}static importDOM(){return null}constructor(e,t,n){super(n),this.__topicId=e,this.__topicTitle=t}get topicId(){return this.__topicId}get topicTitle(){return this.__topicTitle}exportDOM(){return{element:document.createElement(`span`)}}createDOM(e){let t=document.createElement(`span`);return E(t,e.theme.referTopic),t}getTextContent(){return this.__topicTitle}isInline(){return!0}updateDOM(){return!1}exportJSON(){return{...super.exportJSON(),topicId:this.__topicId,topicTitle:this.__topicTitle}}updateFromJSON(e){return super.updateFromJSON(e)}decorate(t){let n=rt(t)?.getDecorator(e.getType());return n?typeof n==`function`?n(this,t):{queryDOM:n.queryDOM,render:n.render(this,t)}:null}renderHeadless({key:e}){return(0,er.createElement)(Q,{fallbackTitle:this.__topicTitle,key:e,topicId:this.__topicId})}}})),nr,rr,ir=e((()=>{M(),k(),D(),tr(),nr=x(`INSERT_REFER_TOPIC_COMMAND`),rr=class{static pluginName=`ReferTopicPlugin`;config;kernel;constructor(e,t){this.kernel=e,this.config=t,e.registerNodes([$]),t?.theme&&e.registerThemes(t.theme),e.registerDecorator($.getType(),(e,n)=>t?.decorator?t.decorator(e,n):null)}onInit(e){this.registerMarkdown(),this.registerLiteXml(),this.registerCommand(e)}registerMarkdown(){this.kernel.requireService(A)?.registerMarkdownWriter($.getType(),(e,t)=>{$n(t)&&e.appendLine(`<refer_topic name="${t.topicTitle}" id="${t.topicId}" />`)})}registerCommand(e){e.registerCommand(nr,t=>(e.update(()=>{let e=Qn(t.topicId,t.topicTitle);w([e]),O(e.getParentOrThrow())&&ct(e,S).selectEnd()}),!0),3)}registerLiteXml(){let e=this.kernel.requireService(at);e?.registerXMLWriter($.getType(),(e,t)=>$n(e)?t.createXmlNode(`referTopic`,{id:e.topicId,name:e.topicTitle}):!1),e?.registerXMLReader(`referTopic`,e=>({topicId:e.getAttribute(`id`)||``,topicTitle:e.getAttribute(`name`)||``,type:$.getType(),version:1}))}destroy(){this.kernel.unregisterDecorator?.($.getType())}}})),ar,or,sr,cr=e((()=>{k(),ar=t(s()),Zn(),ir(),or=t(a()),sr=()=>{let[e]=j();return(0,ar.useLayoutEffect)(()=>{e.registerPlugin(rr,{decorator:e=>(0,or.jsx)(Xn,{node:e})})},[e]),null},sr.displayName=`ReactReferTopicPlugin`})),lr=e((()=>{cr(),tr(),ir()})),ur,dr,fr=e((()=>{k(),hn(),Gn(),lr(),ur=[nn,sr,Un,st],dr=({linkPlugin:e=ut,mathPlugin:t=ot}={})=>[Ze,Qe,$e,nt,...e?[e]:[],Ye,t,...ur]}));export{Pt as C,R as D,L as E,I as O,Ft as S,B as T,hn as _,nr as a,ln as b,tr as c,Ln as d,In as f,yn as g,U as h,lr as i,Ot as k,Gn as l,Sn as m,dr as n,ir as o,bn as p,fr as r,$ as s,ur as t,Cn as u,mn as v,z as w,cn as x,pn as y};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.