@opensumi/cli-engine 3.8.3-next-1745566910.0 → 3.8.3-next-1745568063.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/lib/browser/browser.js +1 -1
- package/package.json +10 -10
package/lib/browser/browser.js
CHANGED
|
@@ -31401,7 +31401,7 @@ The user's OS is ${(0,p.getOperatingSystemName)()}. The absolute path of the use
|
|
|
31401
31401
|
`);let R=0,P=!1;for(let k=0;k<M.length;k++){const F=M[k].trim();if(typeof R>"u"&&F.match(/^\s*\|/)){const L=F.match(/(\|[^\|]+)(?=\||$)/g);L&&(R=L.length)}else if(typeof R=="number")if(F.match(/^\s*\|/)&&k===M.length-1)P=!0;else return}if(R>0){const k=P?M.slice(0,-1).join(`
|
|
31402
31402
|
`):O,F=!!k.match(/\|\s*$/),L=k+(F?"":"|")+`
|
|
31403
31403
|
|${" --- |".repeat(R)}`;return p.marked.lexer(L)}}function T(I){return I.reduce((O,M)=>O+M.raw,"")}function D(I){for(const{type:O,raw:M}of I.tokens){if(O!=="text")continue;const R=M.split(`
|
|
31404
|
-
`),P=R[R.length-1],k=[{condition:P.includes("`"),action:d},{condition:P.includes("**"),action:y},{condition:P.match(/\*\w/),action:E},{condition:P.match(/(^|\s)__\w/),action:A},{condition:P.match(/(^|\s)_\w/),action:f},{condition:P.match(/(^|\s)\[.*\]\(\w*/),action:l},{condition:P.match(/(^|\s)\[\w/),action:b}];for(const F of k)if(F.condition)return F.action(I)}}},49601:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatMentionInput=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(46541),c=e(41869),p=e(81878),v=e(43718),m=e(92323),_=e(87863),s=e(54414),g=e(47720),a=e(83890),h=e(29037),u=e(72665),d=e(51500),E=e(19413),f=e(27397),l=n.__importDefault(e(6960)),b=e(96086),y=e(44692),A=w=>{const{onSend:T,disabled:D=!1,contextService:I}=w,[O,M]=(0,r.useState)(w.value||""),[R,P]=(0,r.useState)(w.images||[]),k=(0,c.useInjectable)(E.IChatInternalService),F=(0,c.useInjectable)(m.CommandService),L=(0,c.useInjectable)(g.FileSearchServicePath),B=(0,c.useInjectable)(c.RecentFilesManager),j=(0,c.useInjectable)(d.IWorkspaceService),W=(0,c.useInjectable)(s.WorkbenchEditorService),U=(0,c.useInjectable)(c.LabelService),Q=(0,c.useInjectable)(u.IMessageService),V=(0,c.useInjectable)(v.ChatFeatureRegistryToken),$=(0,c.useInjectable)(h.OutlineTreeService),Y=(0,r.useRef)([]),H=r.default.useCallback(()=>{F.executeCommand(f.OPEN_MCP_CONFIG_COMMAND.id)},[F]);(0,r.useEffect)(()=>{w.value!==O&&M(w.value||"")},[w.value]);const z=(0,r.useCallback)(async(me,q=[])=>{me||(me=(await $.resolveChildren())[0]);const we=await $.resolveChildren(me);for(const _e of we)q.push(_e),a.OutlineCompositeTreeNode.is(_e)&&await z(_e,q);return q},[$]),K=[{id:"code",type:"code",text:"Code",icon:(0,p.getIcon)("codebraces"),getHighestLevelItems:()=>[],getItems:async me=>{if(!me||Y.current.length===0){const q=$.currentUri;if(!q)return[];const we=await z();return Y.current=await Promise.all(we.map(async _e=>{var ne;const ge=await j.asRelativePath(q);return{id:_e.raw.id,type:y.MentionType.CODE,text:_e.raw.name,symbol:_e.raw,value:_e.raw.id,description:`${ge?.root?ge.path:""}:L${_e.raw.range.startLineNumber}-${_e.raw.range.endLineNumber}`,kind:_e.raw.kind,contextId:`${(ne=$.currentUri)===null||ne===void 0?void 0:ne.codeUri.fsPath}:L${_e.raw.range.startLineNumber}-${_e.raw.range.endLineNumber}`,icon:(0,c.getSymbolIcon)(_e.raw.kind)+" outline-icon"}})),Y.current}else return me=me.toLocaleLowerCase(),Y.current.sort((q,we)=>q.text.toLocaleLowerCase().includes(me)&&we.text.toLocaleLowerCase().includes(me)?0:q.text.toLocaleLowerCase().includes(me)?-1:we.text.toLocaleLowerCase().includes(me)?1:0)}},{id:y.MentionType.FILE,type:y.MentionType.FILE,text:"File",icon:(0,p.getIcon)("file"),getHighestLevelItems:()=>{const me=W.currentEditor,q=me?.currentUri;return q?[{id:q.codeUri.fsPath,type:y.MentionType.FILE,text:q.displayName,value:q.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFile")})`,contextId:q.codeUri.fsPath,icon:U.getIcon(q)}]:[]},getItems:async me=>{if(me){const q=(await j.roots).map(_e=>new v.URI(_e.uri).codeUri.fsPath.toString()),we=await L.find(me,{rootUris:q,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,limit:10});return Promise.all(we.map(async _e=>{var ne;const ge=new v.URI(_e),Re=(ne=await j.asRelativePath(ge.parent))===null||ne===void 0?void 0:ne.path;return{id:ge.codeUri.fsPath,type:y.MentionType.FILE,text:ge.displayName,value:ge.codeUri.fsPath,description:Re||"",contextId:ge.codeUri.fsPath,icon:U.getIcon(ge)}}))}else{const q=await B.getMostRecentlyOpenedFiles();return Promise.all(q.map(async we=>{var _e;const ne=new v.URI(we),ge=(_e=await j.asRelativePath(ne.parent))===null||_e===void 0?void 0:_e.path;return{id:ne.codeUri.fsPath,type:y.MentionType.FILE,text:ne.displayName,value:ne.codeUri.fsPath,description:ge||"",contextId:ne.codeUri.fsPath,icon:U.getIcon(ne)}}))}}},{id:y.MentionType.FOLDER,type:y.MentionType.FOLDER,text:"Folder",icon:(0,p.getIcon)("folder"),getHighestLevelItems:()=>{var me,q;const we=W.currentEditor,_e=(me=we?.currentUri)===null||me===void 0?void 0:me.parent;return _e?_e.toString()===((q=j.workspace)===null||q===void 0?void 0:q.uri)?[]:[{id:_e.codeUri.fsPath,type:y.MentionType.FOLDER,text:_e.displayName,value:_e.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFolder")})`,contextId:_e.codeUri.fsPath,icon:(0,p.getIcon)("folder")}]:[]},getItems:async me=>{let q=[];if(me){const we=(await j.roots).map(ge=>new v.URI(ge.uri).codeUri.fsPath.toString()),_e=await L.find(me,{rootUris:we,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,excludePatterns:Object.keys(_.defaultFilesWatcherExcludes),limit:10}),ne=Array.from(new Set(_e.map(ge=>new v.URI(ge).parent.toString()).filter(ge=>{var Re;return ge!==((Re=j.workspace)===null||Re===void 0?void 0:Re.uri.toString())})));return Promise.all(ne.map(async ge=>{var Re;const xe=new v.URI(ge);return{id:xe.codeUri.fsPath,type:y.MentionType.FOLDER,text:xe.displayName,value:xe.codeUri.fsPath,description:((Re=await j.asRelativePath(xe.parent))===null||Re===void 0?void 0:Re.path)||"",contextId:xe.codeUri.fsPath,icon:(0,p.getIcon)("folder")}}))}else{const we=await B.getMostRecentlyOpenedFiles(),_e=Array.from(new Set(we.map(ne=>new v.URI(ne).parent.codeUri.fsPath).filter(ne=>{var ge;return ne!==((ge=j.workspace)===null||ge===void 0?void 0:ge.uri.toString())&&ne!=="/"})));q=await Promise.all(_e.map(async ne=>{const ge=new v.URI(ne),Re=await j.asRelativePath(ge);return{id:ge.codeUri.fsPath,type:y.MentionType.FOLDER,text:ge.displayName,value:ge.codeUri.fsPath,description:Re?.root?Re.path:"",contextId:ge.codeUri.fsPath,icon:(0,p.getIcon)("folder")}}))}return q.filter(we=>{var _e;return we.id!==new v.URI((_e=j.workspace)===null||_e===void 0?void 0:_e.uri).codeUri.fsPath})}}],Z=(0,r.useMemo)(()=>({modelOptions:[{label:"QWQ 32B",value:"qwq-32b"},{label:"DeepSeek R1",value:"deepseek-r1"}],defaultModel:w.sessionModelId||"deepseek-r1",buttons:[{id:"mcp-server",icon:"mcp",title:"MCP Server",onClick:H,position:y.FooterButtonPosition.LEFT},{id:"upload-image",icon:"image",title:(0,v.localize)("aiNative.chat.imageUpload"),onClick:()=>{const me=document.createElement("input");me.type="file",me.accept="image/*",me.onchange=q=>{const we=q.target.files;we?.length&&oe(Array.from(we))},me.click()},position:y.FooterButtonPosition.LEFT}],showModelSelector:!0,disableModelSelector:w.disableModelSelector}),[H,w.disableModelSelector,w.sessionModelId]),X=(0,r.useCallback)(()=>{k.cancelRequest()},[]),ie=(0,r.useCallback)(async(me,q)=>{D||(T(me,R.map(we=>we.toString()),void 0,void 0,q),P(w.images||[]))},[T,R,D]),oe=(0,r.useCallback)(async me=>{const q=["image/jpeg","image/jpg","image/png","image/webp","image/gif"];if(me.filter(Re=>!q.includes(Re.type)).length>0){Q.error("Only JPG, PNG, WebP and GIF images are supported");return}const _e=V.getImageUploadProvider();if(!_e){Q.error("No image upload provider found");return}const ne=await Promise.all(me.map(Re=>_e.imageUpload(Re))),ge=[...R,...ne];P(ge)},[R]),le=(0,r.useCallback)(me=>{P(R.filter((q,we)=>we!==me))},[R]);return r.default.createElement("div",{className:l.default.chat_input_container},R.length>0&&r.default.createElement(S,{images:R,onDelete:le}),r.default.createElement(b.MentionInput,{mentionItems:K,onSend:ie,onStop:X,loading:D,labelService:U,workspaceService:j,placeholder:(0,v.localize)("aiNative.chat.input.placeholder.default"),footerConfig:Z,onImageUpload:oe,contextService:I}))};t.ChatMentionInput=A;const S=({images:w,onDelete:T})=>r.default.createElement("div",null,r.default.createElement("div",{className:l.default.thumbnail_container},w.map((D,I)=>r.default.createElement("div",{key:I,className:l.default.thumbnail},r.default.createElement(o.Image,{src:D.toString()}),r.default.createElement("button",{onClick:()=>T(I),className:l.default.delete_button},r.default.createElement(p.Icon,{iconClass:"codicon codicon-close"}))))))},92635:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatNotify=t.ChatReply=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(48412),p=e(91416),v=e(78569),m=e(72871),_=e(41869),s=e(81878),g=e(89195),a=e(43718),h=e(52416),u=e(90684),d=e(19413),E=e(56474),f=e(17319),l=n.__importDefault(e(6960)),b=T=>{const D=(0,_.useInjectable)(_.LabelService),I=(0,_.useInjectable)(_.CommandService),O=(L,B,j)=>{let W=D.getIcon(L,{isDirectory:B});return B&&j&&(W+=" expanded"),W},M=(0,o.useMemo)(()=>{const L=B=>{const j=typeof B.type=="number"?B.type===a.FileType.Directory:!!B.children,W=new a.URI(B.uri);return{label:B.label,iconClassName:O(W,j,j),expandable:!0,expanded:!0,children:j?(B.children||[]).map(L):null,uri:W}};return(T.treeData.children||[]).map(L)},[T.treeData]),[R,P]=(0,o.useState)(22),k=(0,o.useRef)(null),F=L=>{k.current=L;const B=()=>{let j=L.getModel().root.branchSize;j<1?j=1:j>20&&(j=20),P(j*22)};B(),L.onDidUpdate(B)};return M.length?o.default.createElement("div",{className:l.default.tree_container},o.default.createElement(p.BasicRecycleTree,{height:R,treeData:M,onContextMenu:L=>L.preventDefault(),onClick:(L,B)=>{!k.current||!B||(v.BasicCompositeTreeNode.is(B)?B.raw.iconClassName=O(B.raw.uri,!0,B.expanded):I.executeCommand(_.EDITOR_COMMANDS.OPEN_RESOURCE.id,B.raw.uri,{disableNavigate:!0,preview:!0}))},onReady:F,treeName:T.treeData.label,leaveBottomBlank:!1,baseIndent:0})):null},y=T=>{const{toolCall:D,messageId:I}=T,O=(0,_.useInjectable)(a.ChatAgentViewServiceToken),[M,R]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const P=O.getChatComponent("toolCall");if(P){const{component:F,initialProps:L}=P;R(o.default.createElement(F,{...L,value:D,messageId:I}));return}R(o.default.createElement("div",null,o.default.createElement(g.Loading,null),o.default.createElement("span",{style:{marginLeft:4}},"\u6B63\u5728\u52A0\u8F7D\u7EC4\u4EF6"))),O.getChatComponentDeferred("toolCall").promise.then(({component:F,initialProps:L})=>{R(o.default.createElement(F,{...L,value:D,messageId:I}))})},[D.state]),M},A=T=>{const D=(0,_.useInjectable)(a.ChatAgentViewServiceToken),[I,O]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const M=D.getChatComponent(T.component);if(M){const{component:P,initialProps:k}=M;O(o.default.createElement(P,{...k,value:T.value,messageId:T.messageId}));return}O(o.default.createElement("div",null,o.default.createElement(g.Loading,null),o.default.createElement("span",{style:{marginLeft:4}},"\u6B63\u5728\u52A0\u8F7D\u7EC4\u4EF6"))),D.getChatComponentDeferred(T.component).promise.then(({component:P,initialProps:k})=>{O(o.default.createElement(P,{...k,value:T.value}))})},[T.component,T.value]),I},S=T=>{var D,I;const{relationId:O,request:M,startTime:R=0,onRegenerate:P,onDidChange:k,onDone:F,agentId:L,command:B,history:j,msgId:W}=T,[,U]=(0,o.useReducer)(_e=>(_e+1)%1e6,0),Q=(0,_.useInjectable)(a.IAIReporter),V=(0,_.useInjectable)(h.IIconService),$=(0,_.useInjectable)(_.IContextKeyService),Y=(0,_.useInjectable)(d.IChatInternalService),H=(0,_.useInjectable)(a.ChatServiceToken),z=(0,_.useInjectable)(d.IChatAgentService),K=(0,_.useInjectable)(a.ChatRenderRegistryToken),[Z,X]=(0,o.useState)(M.response.isComplete?new Set(M.response.responseContents.map((_e,ne)=>_e.kind==="reasoning"?ne:-1).filter(_e=>_e!==-1)):new Set);(0,o.useEffect)(()=>{M.response.isComplete&&X(new Set(M.response.responseContents.map((_e,ne)=>_e.kind==="reasoning"?ne:-1).filter(_e=>_e!==-1)))},[M.response.isComplete]),(0,o.useEffect)(()=>{const _e=new _.DisposableCollection;return _e.push(M.response.onDidChange(()=>{j.updateAssistantMessage(W,{content:M.response.responseText}),M.response.isComplete&&(F&&F(),Q.end(O,{assistantMessage:M.response.responseText,replytime:Date.now()-R,success:!0,isStop:!1,command:B,agentId:L,messageId:W,sessionId:Y.sessionModel.sessionId})),(0,o.startTransition)(()=>{k?.(),U()})})),()=>_e.dispose()},[O,k,F]);const ie=(0,o.useCallback)(()=>{M.response.reset(),P?.()},[P]),oe=(0,o.useCallback)(_e=>{if(K.chatAIRoleRender){const ne=K.chatAIRoleRender;return o.default.createElement(ne,{content:_e.value})}return o.default.createElement(E.ChatMarkdown,{markdown:_e,fillInIncompleteTokens:!0})},[K,K.chatAIRoleRender]),le=_e=>o.default.createElement(b,{treeData:_e}),me=_e=>o.default.createElement("div",{className:l.default.placeholder},o.default.createElement(s.Icon,{iconClass:V.fromString("$(codicon/sync~spin)")}),o.default.createElement("div",{className:l.default.placeholder_content},oe(_e))),q=o.default.useMemo(()=>M.response.responseContents.map((_e,ne)=>{let ge;if(_e.kind==="asyncContent")ge=me(new u.MarkdownString(_e.content));else if(_e.kind==="treeData")ge=le(_e.treeData);else if(_e.kind==="component")ge=o.default.createElement(A,{component:_e.component,value:_e.value,messageId:W});else if(_e.kind==="toolCall")ge=o.default.createElement(y,{toolCall:_e.content,messageId:W});else if(_e.kind==="reasoning"){const Re=ne===M.response.responseContents.length-1&&!M.response.isComplete;ge=o.default.createElement("div",{className:(0,r.default)(l.default.reasoning,{[l.default.thinking]:Re})},o.default.createElement(c.Button,{size:"small",type:"secondary",className:l.default.thinking,onClick:()=>{Re||(Z.has(ne)?Z.delete(ne):Z.add(ne),X(new Set(Z)))}},o.default.createElement(s.Icon,{iconClass:"codicon codicon-sparkle"}),(0,a.localize)("aiNative.chat.thinking"),Re?o.default.createElement(g.Loading,null):Z.has(ne)?o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-right"}):o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-down"})),Z.has(ne)?null:o.default.createElement("div",{className:l.default.reasoning_content},oe(new u.MarkdownString(_e.content))))}else ge=oe(_e.content);return o.default.createElement(o.Fragment,{key:`${_e.kind}-${ne}`},ge)}),[M.response.responseContents,Z]),we=o.default.useMemo(()=>M.response.followups?M.response.followups.map((_e,ne)=>{let ge=null;if(_e.kind==="reply"){const Re=o.default.createElement("a",{onClick:()=>{H.sendMessage({...z.parseMessage(_e.message),reportExtra:{actionSource:a.ActionSourceEnum.Chat,actionType:a.ActionTypeEnum.Followup}})}},_e.title||_e.message);ge=_e.tooltip?o.default.createElement(m.Tooltip,{title:_e.tooltip},Re):Re}else _e.when&&!$.match(_e.when)&&(ge=null),ge=o.default.createElement(c.Button,{type:"default"},_e.title);return ge&&o.default.createElement(o.Fragment,{key:ne},ge)}):null,[M.response.followups]);return M.response.isComplete?o.default.createElement(f.ChatThinkingResult,{hasMessage:M.response.responseParts.length>0||M.response.responseContents.length>0||!!(!((D=M.response.errorDetails)===null||D===void 0)&&D.message),onRegenerate:ie,requestId:M.requestId},o.default.createElement("div",{className:l.default.ai_chat_response_container},!((I=M.response.errorDetails)===null||I===void 0)&&I.message?o.default.createElement("div",{className:l.default.error},o.default.createElement(s.Icon,{className:(0,s.getIcon)("close-circle")}),o.default.createElement("span",null,M.response.errorDetails.message)):o.default.createElement(o.default.Fragment,null,q,we?.length!==0&&o.default.createElement("div",{className:l.default.followups},we)))):o.default.createElement(f.ChatThinking,{message:M.response.responseText},q)};t.ChatReply=S;const w=T=>{const{chunk:D}=T,I=(0,_.useInjectable)(a.ChatRenderRegistryToken),O=o.default.useMemo(()=>{let M;if(D.kind==="component")M=o.default.createElement(A,{component:D.component,value:D.value});else{let R=o.default.createElement(E.ChatMarkdown,{markdown:D.content,fillInIncompleteTokens:!0});if(I.chatAIRoleRender){const P=I.chatAIRoleRender;R=o.default.createElement(P,{content:D.content})}M=R}return M},[D]);return o.default.createElement(f.ChatThinkingResult,{hasMessage:!0,requestId:T.requestId,showRegenerate:!1},o.default.createElement("div",{className:l.default.ai_chat_response_container},O))};t.ChatNotify=w},17319:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatThinkingResult=t.ChatThinking=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),c=e(89195),p=e(68974),v=e(43718),m=e(19413),_=n.__importDefault(e(6960)),s=a=>{const{children:h,message:u,thinkingText:d}=a,E=(0,o.useInjectable)(v.ChatRenderRegistryToken),f=(0,r.useMemo)(()=>E.chatThinkingRender,[E,E.chatThinkingRender]),l=(0,r.useMemo)(()=>Array.isArray(h)?h.length===0:!h,[h]),b=(0,r.useCallback)(()=>l?f?r.default.createElement(f,{thinkingText:d}):r.default.createElement("span",{className:_.default.thinking_text},d||"Thinking..."):h,[u,h,d,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:_.default.content},b()),r.default.createElement("div",{className:_.default.thinking_container},r.default.createElement("div",{className:_.default.stop},!f&&r.default.createElement("span",{className:_.default.progress_bar},l&&r.default.createElement(p.Progress,{loading:!0,wrapperClassName:_.default.ai_native_progress_wrapper})))))};t.ChatThinking=s;const g=({children:a,message:h,onRegenerate:u,requestId:d,hasMessage:E=!0,showRegenerate:f})=>{const l=(0,o.useInjectable)(m.IChatInternalService),[b,y]=(0,r.useState)(l.latestRequestId),A=(0,o.useInjectable)(v.ChatRenderRegistryToken);(0,r.useEffect)(()=>{const I=l.onChangeRequestId(O=>{y(O)});return()=>I.dispose()},[l]);const S=(0,r.useMemo)(()=>A.chatThinkingResultRender,[A,A.chatThinkingResultRender]),w=(0,r.useCallback)(()=>{u&&u()},[u]),T=(0,r.useCallback)(()=>{if(typeof E=="boolean"?!E:!h?.trim()){const I=(0,v.localize)("aiNative.chat.stop.immediately");return S?r.default.createElement(S,{thinkingResult:I}):r.default.createElement("span",null,I)}return a},[h,E,a]),D=(0,r.useMemo)(()=>(0,v.isUndefined)(f)?b===d&&!!d:!!f,[b,d,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:_.default.content},T()),r.default.createElement("div",{className:_.default.thinking_container},r.default.createElement("div",{className:_.default.bottom_container},r.default.createElement("div",{className:_.default.reset},D?r.default.createElement(c.EnhanceIcon,{icon:"refresh",wrapperClassName:_.default.text_btn,className:_.default.transform,onClick:w,tabIndex:0,role:"button"},r.default.createElement("span",null,(0,v.localize)("aiNative.operate.afresh.title"))):null),r.default.createElement("div",{className:_.default.thumbs},r.default.createElement(c.Thumbs,{relationId:d,wrapperClassName:_.default.icon_btn})))))};t.ChatThinkingResult=g},34817:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatToolRender=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(41869),p=e(81878),v=e(89195),m=e(43718),_=e(33783),s=e(77633),g=e(25834),a=n.__importDefault(e(16796)),h=u=>{var d,E,f;const{value:l,messageId:b}=u,[y,A]=(0,o.useState)(!1),S=(0,c.useInjectable)(s.TokenMCPServerRegistry);if(!l||!l.function||!l.id)return null;const w=((d=S.getMCPTool(l.function.name))===null||d===void 0?void 0:d.label)||l.function.name,T=S.getToolComponent(l.function.name),D=R=>{switch(R){case"streaming-start":case"streaming":return{label:"Generating",icon:o.default.createElement(v.Loading,null)};case"complete":return{label:"Complete",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-check"})};case"result":return{label:"Result Ready",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-check-all"})};default:return{label:R||"Unknown",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-question"})}}},I=()=>{var R;try{return l.state!=="complete"&&l.state!=="result"?{}:JSON.parse(((R=l.function)===null||R===void 0?void 0:R.arguments)||"{}")}catch{return{}}},O=()=>{A(!y)},M=D(l.state);return T&&(l.state==="complete"||l.state==="result")?o.default.createElement(T,{state:l.state,args:I(),result:l.result,index:l.index,messageId:b,toolCallId:l.id}):o.default.createElement("div",{className:a.default.chat_tool_render},o.default.createElement("div",{className:a.default.tool_header,onClick:O},o.default.createElement("div",{className:a.default.tool_name},o.default.createElement(p.Icon,{iconClass:`codicon codicon-chevron-${y?"down":"right"}`}),o.default.createElement(p.Icon,{size:"small",iconClass:(0,r.default)("codicon codicon-tools",a.default.tool_icon)}),o.default.createElement("span",{className:a.default.tool_label},w)),l.state&&o.default.createElement("div",{className:a.default.tool_state},o.default.createElement("span",{className:a.default.state_icon},M.icon))),o.default.createElement("div",{className:(0,r.default)(a.default.tool_content,{[a.default.expanded]:y})},((E=l?.function)===null||E===void 0?void 0:E.arguments)&&o.default.createElement("div",{className:a.default.tool_arguments},o.default.createElement("div",{className:a.default.section_label},(0,_.localize)("ai.native.mcp.tool.arguments"),":"),o.default.createElement(g.CodeEditorWithHighlight,{input:(f=l?.function)===null||f===void 0?void 0:f.arguments,language:"json",relationId:(0,m.uuid)(4)})),l?.result&&o.default.createElement("div",{className:a.default.tool_result},o.default.createElement("div",{className:a.default.section_label},(0,_.localize)("ai.native.mcp.tool.results"),":"),o.default.createElement(g.CodeEditorWithHighlight,{input:l.result,language:"json",relationId:(0,m.uuid)(4)}))))};t.ChatToolRender=h},29039:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SlashCustomRender=void 0;const r=e(85608).__importStar(e(14041)),o=e(41869),c=e(43718),p=e(19413),v=m=>{const{userMessage:_,relationId:s,requestId:g,renderContent:a,startTime:h,agentId:u,command:d}=m,E=(0,o.useInjectable)(p.IChatInternalService),f=(0,o.useInjectable)(c.IAIReporter);return r.useEffect(()=>{E.setLatestRequestId(g),f.end(s,{message:_,replytime:Date.now()-h,success:!0,isStop:!1,agentId:u,command:d})},[a,g,s]),r.createElement("div",null,a({userMessage:_}))};t.SlashCustomRender=v},86556:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WelcomeMessage=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),c=e(81878),p=e(4246),v=e(43718),m=e(90684);e(41937);const _=e(19413),s=e(56474),g=e(17319),a=e(78048),h=n.__importDefault(e(6960)),u=()=>{var d,E;const f=(0,o.useInjectable)(v.ChatServiceToken),l=(0,o.useInjectable)(_.IChatAgentService),b=(0,o.useInjectable)(v.ChatFeatureRegistryToken),y=(0,o.useInjectable)(v.ChatRenderRegistryToken),[A,S]=r.useState([]);(0,o.useUpdateOnEvent)(b.onDidWelcomeMessageChange);const w=r.useMemo(()=>{if(!b.chatWelcomeMessageModel)return[];const{sampleQuestions:O=[]}=b.chatWelcomeMessageModel;return O.map(a.extractIcon)},[(d=b.chatWelcomeMessageModel)===null||d===void 0?void 0:d.sampleQuestions]),T=r.useMemo(()=>{if(!b.chatWelcomeMessageModel)return"";const{content:O}=b.chatWelcomeMessageModel;return O},[(E=b.chatWelcomeMessageModel)===null||E===void 0?void 0:E.content]);if(r.useEffect(()=>{const O=l.onDidChangeAgents(async()=>{const R=(await l.getAllSampleQuestions()).map(a.extractIcon);S(R)});return()=>O.dispose()},[]),!T)return r.createElement(g.ChatThinking,{thinkingText:(0,v.localize)("aiNative.chat.welcome.loading.text")});const D=r.useMemo(()=>w.concat(A),[w,A]);return r.useMemo(()=>{if(y.chatWelcomeRender){const O=y.chatWelcomeRender;return r.createElement(O,{message:T,sampleQuestions:D})}return r.createElement("div",{className:h.default.chat_welcome_head},r.createElement("div",{className:h.default.chat_container_des},(0,m.isMarkdownString)(T)?r.createElement(s.ChatMarkdown,{key:"welcome",markdown:T}):T),r.createElement("div",{className:h.default.chat_container_content},D.map((O,M)=>{const R=r.createElement("a",{className:h.default.link_item,onClick:(0,p.withPrevented)(()=>{f.sendMessage({...l.parseMessage(O.message),reportExtra:{actionType:v.ActionTypeEnum.Welcome,actionSource:v.ActionSourceEnum.Chat}})})},O.icon?r.createElement(c.Icon,{className:O.icon,style:{color:"inherit",marginRight:"4px"}}):"",r.createElement("span",null,O.title));return O.tooltip?r.createElement(c.Tooltip,{title:O.tooltip,key:M},R):r.createElement(r.Fragment,{key:M},R)})))},[y.chatWelcomeRender,T,D])};t.WelcomeMessage=u},83933:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.highLightLanguageSupport=void 0,t.highLightLanguageSupport=["1c","abnf","accesslog","actionscript","ada","angelscript","apache","applescript","arcade","arduino","armasm","xml","asciidoc","aspectj","autohotkey","autoit","avrasm","awk","axapta","bash","basic","bnf","brainfuck","c-like","c","cal","capnproto","ceylon","clean","clojure","clojure-repl","cmake","coffeescript","coq","cos","cpp","crmsh","crystal","csharp","csp","css","d","markdown","dart","delphi","diff","django","dns","dockerfile","dos","dsconfig","dts","dust","ebnf","elixir","elm","ruby","erb","erlang-repl","erlang","excel","fix","flix","fortran","fsharp","gams","gauss","gcode","gherkin","glsl","gml","go","golo","gradle","groovy","haml","handlebars","haskell","haxe","hsp","htmlbars","http","hy","inform7","ini","irpf90","isbl","java","javascript","jboss-cli","json","julia","julia-repl","kotlin","lasso","latex","ldif","leaf","less","lisp","livecodeserver","livescript","llvm","lsl","lua","makefile","mathematica","matlab","maxima","mel","mercury","mipsasm","mizar","perl","mojolicious","monkey","moonscript","n1ql","nginx","nim","nix","node-repl","nsis","objectivec","ocaml","openscad","oxygene","parser3","pf","pgsql","php","php-template","plaintext","pony","powershell","processing","profile","prolog","properties","protobuf","puppet","purebasic","python","python-repl","q","qml","r","reasonml","rib","roboconf","routeros","rsl","ruleslanguage","rust","sas","scala","scheme","scilab","scss","shell","smali","smalltalk","sml","sqf","sql_more","sql","stan","stata","step21","stylus","subunit","swift","taggerscript","yaml","tap","tcl","thrift","tp","twig","typescript","vala","vbnet","vbscript","vbscript-html","verilog","vhdl","vim","x86asm","xl","xquery","zephir"]},96086:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MentionInput=t.WHITE_SPACE_TEXT=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(41869),p=e(81878),v=e(89195),m=e(70392),_=n.__importDefault(e(97599)),s=e(80732),g=e(44692);t.WHITE_SPACE_TEXT=" ";const a=({mentionItems:h=[],onSend:u,onStop:d,loading:E=!1,mentionKeyword:f=g.MENTION_KEYWORD,onSelectionChange:l,onImageUpload:b,labelService:y,workspaceService:A,placeholder:S="Ask anything, @ to mention",footerConfig:w={buttons:[],showModelSelector:!1},contextService:T})=>{const D=o.useRef(null),[I,O]=o.useState({active:!1,startPos:null,filter:"",position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1}),[M,R]=o.useState(w.defaultModel||""),[P,k]=o.useState({}),[F,L]=o.useState([]),[B,j]=o.useState(-1),[W,U]=o.useState(""),[Q,V]=o.useState(!1),[$,Y]=o.useState({files:[],folders:[]}),H=()=>I.level===0?h:I.parentType?I.loading?P[I.parentType]||[]:P[I.parentType]||[]:[],K=((ve,Ae)=>{const[Ee,fe]=o.useState(ve);return o.useEffect(()=>{const Pe=setTimeout(()=>{fe(ve)},Ae);return()=>{clearTimeout(Pe)}},[ve,Ae]),Ee})(I.secondLevelFilter,300);o.useEffect(()=>{R(w.defaultModel||"")},[w.defaultModel]),o.useEffect(()=>{if(I.level===1&&I.parentType&&K!==void 0){const ve=h.find(Ee=>Ee.id===I.parentType);if(!ve)return;O(Ee=>({...Ee,loading:!0})),(async()=>{try{const Ee=[];if(ve.getHighestLevelItems){const fe=ve.getHighestLevelItems();for(const Pe of fe)Ee.some(Te=>Te.id===Pe.id)||Ee.push(Pe);k(Pe=>({...Pe,[I.parentType]:fe}))}if(ve.getItems)try{const fe=await ve.getItems(K),Pe=[...Ee];for(const Te of fe)Pe.some(Ne=>Ne.id===Te.id)||Pe.push(Te);k(Te=>({...Te,[I.parentType]:Pe}))}catch{O(Pe=>({...Pe,loading:!1}))}O(fe=>({...fe,loading:!1}))}catch{O(fe=>({...fe,loading:!1}))}})()}},[K,I.level,I.parentType]),o.useEffect(()=>{const ve=T?.onDidContextFilesChangeEvent(({attached:Ae,attachedFolders:Ee})=>{Y({files:Ae,folders:Ee})});return()=>{ve?.dispose()}},[T]);const Z=ve=>{const Ae=window.getSelection();if(!Ae||!Ae.rangeCount)return 0;const Ee=Ae.getRangeAt(0),fe=Ee.cloneRange();return fe.selectNodeContents(ve),fe.setEnd(Ee.endContainer,Ee.endOffset),fe.toString().length},X=()=>{Q&&(V(!1),j(-1));const ve=window.getSelection();if(!ve||!ve.rangeCount||!D.current)return;const Ae=D.current.textContent||"",Ee=Z(D.current);if(Ae[Ee-1]===f&&!I.active&&!I.inlineSearchActive&&O({active:!0,startPos:Ee,filter:f,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1}),I.active&&I.level===0&&I.startPos!==null)if(Ee<I.startPos)O(fe=>({...fe,active:!1}));else{const fe=Ae.substring(I.startPos-1,Ee);O(Pe=>({...Pe,filter:fe,activeIndex:0}))}if(I.inlineSearchActive&&I.inlineSearchStartPos!==null&&I.parentType){const fe=h.find(Ne=>Ne.id===I.parentType);if(!fe)return;const Pe=`@${fe.type}:`,Te=I.inlineSearchStartPos-Pe.length;if(Te>=0&&Ee>Te+Pe.length){const Ne=Ae.substring(Te+Pe.length,Ee);Ne!==I.secondLevelFilter&&O(pe=>({...pe,secondLevelFilter:Ne,active:!0,activeIndex:0}))}else Ee<=Te&&O(Ne=>({...Ne,inlineSearchActive:!1,active:!1}))}if(D.current&&(D.current.scrollHeight>=120?D.current.style.overflowY="auto":D.current.style.overflowY="hidden"),D.current){const fe=D.current.innerHTML;(fe===""||fe==="<br>"||fe==="<br/>")&&(D.current.innerHTML="")}},ie=ve=>{if(ve.key==="Escape"&&(I.active||I.inlineSearchActive)){I.level>0?O(Ee=>({...Ee,level:0,activeIndex:0,secondLevelFilter:"",inlineSearchActive:!1})):O(Ee=>({...Ee,active:!1,inlineSearchActive:!1})),ve.preventDefault();return}if(ve.key===g.MENTION_KEYWORD&&!I.active&&!I.inlineSearchActive&&D.current){const Ee=Z(D.current);O({active:!0,startPos:Ee+1,filter:f,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1})}if((ve.key==="ArrowUp"||ve.key==="ArrowDown")&&!ve.shiftKey&&!ve.ctrlKey&&!ve.metaKey&&!ve.altKey){if(!I.active&&!I.inlineSearchActive&&D.current&&F.length>0){const Ee=D.current.innerHTML;if(!Ee||Ee==="<br>"||Q&&B>=0&&F[F.length-1-B]===Ee){ve.preventDefault(),Q||(U(Ee),V(!0));let Pe=B;ve.key==="ArrowUp"?Pe=Math.min(F.length-1,B+1):Pe=Math.max(-1,B-1),j(Pe),Pe===-1?D.current.innerHTML=W:D.current.innerHTML=F[F.length-1-Pe];const Te=document.createRange();Te.selectNodeContents(D.current),Te.collapse(!1);const Ne=window.getSelection();Ne&&(Ne.removeAllRanges(),Ne.addRange(Te));return}}}else Q&&ve.key!=="ArrowUp"&&ve.key!=="ArrowDown"&&(V(!1),j(-1));if(ve.key==="Enter"){if(ve.nativeEvent.isComposing)return;if(!ve.shiftKey&&(ve.preventDefault(),!I.active)){_e();return}}if(!I.active)return;let Ae=H();if(I.level===0&&I.filter&&I.filter.length>1){const Ee=I.filter.substring(1).toLowerCase();Ae=Ae.filter(fe=>fe.text.toLowerCase().includes(Ee))}Ae.length!==0&&(ve.key==="ArrowDown"?(O(Ee=>({...Ee,activeIndex:(Ee.activeIndex+1)%Ae.length})),ve.preventDefault()):ve.key==="ArrowUp"?(O(Ee=>({...Ee,activeIndex:(Ee.activeIndex-1+Ae.length)%Ae.length})),ve.preventDefault()):(ve.key==="Enter"||ve.key==="Tab")&&Ae.length>0&&(q(Ae[I.activeIndex]),ve.preventDefault()))},oe=()=>{},le=async ve=>{const Ae=ve.clipboardData.items,Ee=[];for(let he=0;he<Ae.length;he++)if(Ae[he].kind==="file"&&Ae[he].type.startsWith("image/")){const Oe=Ae[he].getAsFile();Oe&&Ee.push(Oe)}if(ve.preventDefault(),Ee.length>0&&b){await b(Ee);return}const Pe=ve.clipboardData.getData("text/plain").replace(/\t/g," ").replace(/\n\s*\n/g,`
|
|
31404
|
+
`),P=R[R.length-1],k=[{condition:P.includes("`"),action:d},{condition:P.includes("**"),action:y},{condition:P.match(/\*\w/),action:E},{condition:P.match(/(^|\s)__\w/),action:A},{condition:P.match(/(^|\s)_\w/),action:f},{condition:P.match(/(^|\s)\[.*\]\(\w*/),action:l},{condition:P.match(/(^|\s)\[\w/),action:b}];for(const F of k)if(F.condition)return F.action(I)}}},49601:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatMentionInput=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(46541),c=e(41869),p=e(81878),v=e(43718),m=e(92323),_=e(87863),s=e(54414),g=e(47720),a=e(83890),h=e(29037),u=e(72665),d=e(51500),E=e(19413),f=e(27397),l=n.__importDefault(e(6960)),b=e(96086),y=e(44692),A=w=>{const{onSend:T,disabled:D=!1,contextService:I}=w,[O,M]=(0,r.useState)(w.value||""),[R,P]=(0,r.useState)(w.images||[]),k=(0,c.useInjectable)(E.IChatInternalService),F=(0,c.useInjectable)(m.CommandService),L=(0,c.useInjectable)(g.FileSearchServicePath),B=(0,c.useInjectable)(c.RecentFilesManager),j=(0,c.useInjectable)(d.IWorkspaceService),W=(0,c.useInjectable)(s.WorkbenchEditorService),U=(0,c.useInjectable)(c.LabelService),Q=(0,c.useInjectable)(u.IMessageService),V=(0,c.useInjectable)(v.ChatFeatureRegistryToken),$=(0,c.useInjectable)(h.OutlineTreeService),Y=(0,r.useRef)([]),H=r.default.useCallback(()=>{F.executeCommand(f.OPEN_MCP_CONFIG_COMMAND.id)},[F]);(0,r.useEffect)(()=>{w.value!==O&&M(w.value||"")},[w.value]);const z=(0,r.useCallback)(async(me,q=[])=>{me||(me=(await $.resolveChildren())[0]);const we=await $.resolveChildren(me);for(const _e of we)q.push(_e),a.OutlineCompositeTreeNode.is(_e)&&await z(_e,q);return q},[$]),K=[{id:"code",type:"code",text:"Code",icon:(0,p.getIcon)("codebraces"),getHighestLevelItems:()=>[],getItems:async me=>{if(!me||Y.current.length===0){const q=$.currentUri;if(!q)return[];const we=await z();return Y.current=await Promise.all(we.map(async _e=>{var ne;const ge=await j.asRelativePath(q);return{id:_e.raw.id,type:y.MentionType.CODE,text:_e.raw.name,symbol:_e.raw,value:_e.raw.id,description:`${ge?.root?ge.path:""}:L${_e.raw.range.startLineNumber}-${_e.raw.range.endLineNumber}`,kind:_e.raw.kind,contextId:`${(ne=$.currentUri)===null||ne===void 0?void 0:ne.codeUri.fsPath}:L${_e.raw.range.startLineNumber}-${_e.raw.range.endLineNumber}`,icon:(0,c.getSymbolIcon)(_e.raw.kind)+" outline-icon"}})),Y.current}else return me=me.toLocaleLowerCase(),Y.current.sort((q,we)=>q.text.toLocaleLowerCase().includes(me)&&we.text.toLocaleLowerCase().includes(me)?0:q.text.toLocaleLowerCase().includes(me)?-1:we.text.toLocaleLowerCase().includes(me)?1:0)}},{id:y.MentionType.FILE,type:y.MentionType.FILE,text:"File",icon:(0,p.getIcon)("file"),getHighestLevelItems:()=>{const me=W.currentEditor,q=me?.currentUri;return q?[{id:q.codeUri.fsPath,type:y.MentionType.FILE,text:q.displayName,value:q.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFile")})`,contextId:q.codeUri.fsPath,icon:U.getIcon(q)}]:[]},getItems:async me=>{if(me){const q=(await j.roots).map(_e=>new v.URI(_e.uri).codeUri.fsPath.toString()),we=await L.find(me,{rootUris:q,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,limit:10});return Promise.all(we.map(async _e=>{var ne;const ge=new v.URI(_e),Re=(ne=await j.asRelativePath(ge.parent))===null||ne===void 0?void 0:ne.path;return{id:ge.codeUri.fsPath,type:y.MentionType.FILE,text:ge.displayName,value:ge.codeUri.fsPath,description:Re||"",contextId:ge.codeUri.fsPath,icon:U.getIcon(ge)}}))}else{const q=await B.getMostRecentlyOpenedFiles();return Promise.all(q.map(async we=>{var _e;const ne=new v.URI(we),ge=(_e=await j.asRelativePath(ne.parent))===null||_e===void 0?void 0:_e.path;return{id:ne.codeUri.fsPath,type:y.MentionType.FILE,text:ne.displayName,value:ne.codeUri.fsPath,description:ge||"",contextId:ne.codeUri.fsPath,icon:U.getIcon(ne)}}))}}},{id:y.MentionType.FOLDER,type:y.MentionType.FOLDER,text:"Folder",icon:(0,p.getIcon)("folder"),getHighestLevelItems:()=>{var me,q;const we=W.currentEditor,_e=(me=we?.currentUri)===null||me===void 0?void 0:me.parent;return _e?_e.toString()===((q=j.workspace)===null||q===void 0?void 0:q.uri)?[]:[{id:_e.codeUri.fsPath,type:y.MentionType.FOLDER,text:_e.displayName,value:_e.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFolder")})`,contextId:_e.codeUri.fsPath,icon:(0,p.getIcon)("folder")}]:[]},getItems:async me=>{let q=[];if(me){const we=(await j.roots).map(ge=>new v.URI(ge.uri).codeUri.fsPath.toString()),_e=await L.find(me,{rootUris:we,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,excludePatterns:Object.keys(_.defaultFilesWatcherExcludes),limit:10}),ne=Array.from(new Set(_e.map(ge=>new v.URI(ge).parent.toString()).filter(ge=>{var Re;return ge!==((Re=j.workspace)===null||Re===void 0?void 0:Re.uri.toString())})));return Promise.all(ne.map(async ge=>{var Re;const xe=new v.URI(ge);return{id:xe.codeUri.fsPath,type:y.MentionType.FOLDER,text:xe.displayName,value:xe.codeUri.fsPath,description:((Re=await j.asRelativePath(xe.parent))===null||Re===void 0?void 0:Re.path)||"",contextId:xe.codeUri.fsPath,icon:(0,p.getIcon)("folder")}}))}else{const we=await B.getMostRecentlyOpenedFiles(),_e=Array.from(new Set(we.map(ne=>new v.URI(ne).parent.codeUri.fsPath).filter(ne=>{var ge;return ne!==((ge=j.workspace)===null||ge===void 0?void 0:ge.uri.toString())&&ne!=="/"})));q=await Promise.all(_e.map(async ne=>{const ge=new v.URI(ne),Re=await j.asRelativePath(ge);return{id:ge.codeUri.fsPath,type:y.MentionType.FOLDER,text:ge.displayName,value:ge.codeUri.fsPath,description:Re?.root?Re.path:"",contextId:ge.codeUri.fsPath,icon:(0,p.getIcon)("folder")}}))}return q.filter(we=>{var _e;return we.id!==new v.URI((_e=j.workspace)===null||_e===void 0?void 0:_e.uri).codeUri.fsPath})}}],Z=(0,r.useMemo)(()=>({modelOptions:[{label:"QWQ 32B",value:"qwq-32b"},{label:"DeepSeek R1",value:"deepseek-r1"}],defaultModel:w.sessionModelId||"deepseek-r1",buttons:[{id:"mcp-server",icon:"mcp",title:"MCP Server",onClick:H,position:y.FooterButtonPosition.LEFT},{id:"upload-image",icon:"image",title:(0,v.localize)("aiNative.chat.imageUpload"),onClick:()=>{const me=document.createElement("input");me.type="file",me.accept="image/*",me.onchange=q=>{const we=q.target.files;we?.length&&oe(Array.from(we))},me.click()},position:y.FooterButtonPosition.LEFT}],showModelSelector:!0,disableModelSelector:w.disableModelSelector}),[H,w.disableModelSelector,w.sessionModelId]),X=(0,r.useCallback)(()=>{k.cancelRequest()},[]),ie=(0,r.useCallback)(async(me,q)=>{D||(T(me,R.map(we=>we.toString()),void 0,void 0,q),P(w.images||[]))},[T,R,D]),oe=(0,r.useCallback)(async me=>{const q=["image/jpeg","image/jpg","image/png","image/webp","image/gif"];if(me.filter(Re=>!q.includes(Re.type)).length>0){Q.error("Only JPG, PNG, WebP and GIF images are supported");return}const _e=V.getImageUploadProvider();if(!_e){Q.error("No image upload provider found");return}const ne=await Promise.all(me.map(Re=>_e.imageUpload(Re))),ge=[...R,...ne];P(ge)},[R]),le=(0,r.useCallback)(me=>{P(R.filter((q,we)=>we!==me))},[R]);return r.default.createElement("div",{className:l.default.chat_input_container},R.length>0&&r.default.createElement(S,{images:R,onDelete:le}),r.default.createElement(b.MentionInput,{mentionItems:K,onSend:ie,onStop:X,loading:D,labelService:U,workspaceService:j,placeholder:(0,v.localize)("aiNative.chat.input.placeholder.default"),footerConfig:Z,onImageUpload:oe,contextService:I}))};t.ChatMentionInput=A;const S=({images:w,onDelete:T})=>r.default.createElement("div",null,r.default.createElement("div",{className:l.default.thumbnail_container},w.map((D,I)=>r.default.createElement("div",{key:I,className:l.default.thumbnail},r.default.createElement(o.Image,{src:D.toString()}),r.default.createElement("button",{onClick:()=>T(I),className:l.default.delete_button},r.default.createElement(p.Icon,{iconClass:"codicon codicon-close"}))))))},92635:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatNotify=t.ChatReply=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(48412),p=e(91416),v=e(78569),m=e(72871),_=e(41869),s=e(81878),g=e(89195),a=e(43718),h=e(52416),u=e(90684),d=e(19413),E=e(56474),f=e(17319),l=n.__importDefault(e(6960)),b=T=>{const D=(0,_.useInjectable)(_.LabelService),I=(0,_.useInjectable)(_.CommandService),O=(L,B,j)=>{let W=D.getIcon(L,{isDirectory:B});return B&&j&&(W+=" expanded"),W},M=(0,o.useMemo)(()=>{const L=B=>{const j=typeof B.type=="number"?B.type===a.FileType.Directory:!!B.children,W=new a.URI(B.uri);return{label:B.label,iconClassName:O(W,j,j),expandable:!0,expanded:!0,children:j?(B.children||[]).map(L):null,uri:W}};return(T.treeData.children||[]).map(L)},[T.treeData]),[R,P]=(0,o.useState)(22),k=(0,o.useRef)(null),F=L=>{k.current=L;const B=()=>{let j=L.getModel().root.branchSize;j<1?j=1:j>20&&(j=20),P(j*22)};B(),L.onDidUpdate(B)};return M.length?o.default.createElement("div",{className:l.default.tree_container},o.default.createElement(p.BasicRecycleTree,{height:R,treeData:M,onContextMenu:L=>L.preventDefault(),onClick:(L,B)=>{!k.current||!B||(v.BasicCompositeTreeNode.is(B)?B.raw.iconClassName=O(B.raw.uri,!0,B.expanded):I.executeCommand(_.EDITOR_COMMANDS.OPEN_RESOURCE.id,B.raw.uri,{disableNavigate:!0,preview:!0}))},onReady:F,treeName:T.treeData.label,leaveBottomBlank:!1,baseIndent:0})):null},y=T=>{const{toolCall:D,messageId:I}=T,O=(0,_.useInjectable)(a.ChatAgentViewServiceToken),[M,R]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const P=O.getChatComponent("toolCall");if(P){const{component:F,initialProps:L}=P;R(o.default.createElement(F,{...L,value:D,messageId:I}));return}R(o.default.createElement("div",null,o.default.createElement(g.Loading,null),o.default.createElement("span",{style:{marginLeft:4}},"\u6B63\u5728\u52A0\u8F7D\u7EC4\u4EF6"))),O.getChatComponentDeferred("toolCall").promise.then(({component:F,initialProps:L})=>{R(o.default.createElement(F,{...L,value:D,messageId:I}))})},[D.state]),M},A=T=>{const D=(0,_.useInjectable)(a.ChatAgentViewServiceToken),[I,O]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const M=D.getChatComponent(T.component);if(M){const{component:P,initialProps:k}=M;O(o.default.createElement(P,{...k,value:T.value,messageId:T.messageId}));return}O(o.default.createElement("div",null,o.default.createElement(g.Loading,null),o.default.createElement("span",{style:{marginLeft:4}},"\u6B63\u5728\u52A0\u8F7D\u7EC4\u4EF6"))),D.getChatComponentDeferred(T.component).promise.then(({component:P,initialProps:k})=>{O(o.default.createElement(P,{...k,value:T.value}))})},[T.component,T.value]),I},S=T=>{var D,I;const{relationId:O,request:M,startTime:R=0,onRegenerate:P,onDidChange:k,onDone:F,agentId:L,command:B,history:j,msgId:W}=T,[,U]=(0,o.useReducer)(_e=>(_e+1)%1e6,0),Q=(0,_.useInjectable)(a.IAIReporter),V=(0,_.useInjectable)(h.IIconService),$=(0,_.useInjectable)(_.IContextKeyService),Y=(0,_.useInjectable)(d.IChatInternalService),H=(0,_.useInjectable)(a.ChatServiceToken),z=(0,_.useInjectable)(d.IChatAgentService),K=(0,_.useInjectable)(a.ChatRenderRegistryToken),[Z,X]=(0,o.useState)(M.response.isComplete?new Set(M.response.responseContents.map((_e,ne)=>_e.kind==="reasoning"?ne:-1).filter(_e=>_e!==-1)):new Set);(0,o.useEffect)(()=>{M.response.isComplete&&X(new Set(M.response.responseContents.map((_e,ne)=>_e.kind==="reasoning"?ne:-1).filter(_e=>_e!==-1)))},[M.response.isComplete]),(0,o.useEffect)(()=>{const _e=new _.DisposableCollection;return _e.push(M.response.onDidChange(()=>{j.updateAssistantMessage(W,{content:M.response.responseText}),M.response.isComplete&&(F&&F(),Q.end(O,{assistantMessage:M.response.responseText,replytime:Date.now()-R,success:!0,isStop:!1,command:B,agentId:L,messageId:W,sessionId:Y.sessionModel.sessionId})),(0,o.startTransition)(()=>{k?.(),U()})})),()=>_e.dispose()},[O,k,F]);const ie=(0,o.useCallback)(()=>{M.response.reset(),P?.()},[P]),oe=(0,o.useCallback)(_e=>{if(K.chatAIRoleRender){const ne=K.chatAIRoleRender;return o.default.createElement(ne,{content:_e.value})}return o.default.createElement(E.ChatMarkdown,{markdown:_e,fillInIncompleteTokens:!0})},[K,K.chatAIRoleRender]),le=_e=>o.default.createElement(b,{treeData:_e}),me=_e=>o.default.createElement("div",{className:l.default.placeholder},o.default.createElement(s.Icon,{iconClass:V.fromString("$(codicon/sync~spin)")}),o.default.createElement("div",{className:l.default.placeholder_content},oe(_e))),q=o.default.useMemo(()=>M.response.responseContents.map((_e,ne)=>{let ge;if(_e.kind==="asyncContent")ge=me(new u.MarkdownString(_e.content));else if(_e.kind==="treeData")ge=le(_e.treeData);else if(_e.kind==="component")ge=o.default.createElement(A,{component:_e.component,value:_e.value,messageId:W});else if(_e.kind==="toolCall")ge=o.default.createElement(y,{toolCall:_e.content,messageId:W});else if(_e.kind==="reasoning"){const Re=ne===M.response.responseContents.length-1&&!M.response.isComplete;ge=o.default.createElement("div",{className:(0,r.default)(l.default.reasoning,{[l.default.thinking]:Re})},o.default.createElement(c.Button,{size:"small",type:"secondary",className:l.default.thinking,onClick:()=>{Re||(Z.has(ne)?Z.delete(ne):Z.add(ne),X(new Set(Z)))}},o.default.createElement(s.Icon,{iconClass:"codicon codicon-sparkle"}),(0,a.localize)("aiNative.chat.thinking"),Re?o.default.createElement(g.Loading,null):Z.has(ne)?o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-right"}):o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-down"})),Z.has(ne)?null:o.default.createElement("div",{className:l.default.reasoning_content},oe(new u.MarkdownString(_e.content))))}else ge=oe(_e.content);return o.default.createElement(o.Fragment,{key:`${_e.kind}-${ne}`},ge)}),[M.response.responseContents,Z]),we=o.default.useMemo(()=>M.response.followups?M.response.followups.map((_e,ne)=>{let ge=null;if(_e.kind==="reply"){const Re=o.default.createElement("a",{onClick:()=>{H.sendMessage({...z.parseMessage(_e.message),reportExtra:{actionSource:a.ActionSourceEnum.Chat,actionType:a.ActionTypeEnum.Followup}})}},_e.title||_e.message);ge=_e.tooltip?o.default.createElement(m.Tooltip,{title:_e.tooltip},Re):Re}else _e.when&&!$.match(_e.when)&&(ge=null),ge=o.default.createElement(c.Button,{type:"default"},_e.title);return ge&&o.default.createElement(o.Fragment,{key:ne},ge)}):null,[M.response.followups]);return M.response.isComplete?o.default.createElement(f.ChatThinkingResult,{hasMessage:M.response.responseParts.length>0||M.response.responseContents.length>0||!!(!((D=M.response.errorDetails)===null||D===void 0)&&D.message),onRegenerate:ie,requestId:M.requestId},o.default.createElement("div",{className:l.default.ai_chat_response_container},!((I=M.response.errorDetails)===null||I===void 0)&&I.message?o.default.createElement("div",{className:l.default.error},o.default.createElement(s.Icon,{className:(0,s.getIcon)("close-circle")}),o.default.createElement("span",null,M.response.errorDetails.message)):o.default.createElement(o.default.Fragment,null,q,we?.length!==0&&o.default.createElement("div",{className:l.default.followups},we)))):o.default.createElement(f.ChatThinking,{message:M.response.responseText},q)};t.ChatReply=S;const w=T=>{const{chunk:D}=T,I=(0,_.useInjectable)(a.ChatRenderRegistryToken),O=o.default.useMemo(()=>{let M;if(D.kind==="component")M=o.default.createElement(A,{component:D.component,value:D.value});else{let R=o.default.createElement(E.ChatMarkdown,{markdown:D.content,fillInIncompleteTokens:!0});if(I.chatAIRoleRender){const P=I.chatAIRoleRender;R=o.default.createElement(P,{content:D.content})}M=R}return M},[D]);return o.default.createElement(f.ChatThinkingResult,{hasMessage:!0,requestId:T.requestId,showRegenerate:!1},o.default.createElement("div",{className:l.default.ai_chat_response_container},O))};t.ChatNotify=w},17319:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatThinkingResult=t.ChatThinking=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),c=e(89195),p=e(68974),v=e(43718),m=e(19413),_=n.__importDefault(e(6960)),s=a=>{const{children:h,message:u,thinkingText:d}=a,E=(0,o.useInjectable)(v.ChatRenderRegistryToken),f=(0,r.useMemo)(()=>E.chatThinkingRender,[E,E.chatThinkingRender]),l=(0,r.useMemo)(()=>Array.isArray(h)?h.length===0:!h,[h]),b=(0,r.useCallback)(()=>l?f?r.default.createElement(f,{thinkingText:d}):r.default.createElement("span",{className:_.default.thinking_text},d||"Thinking..."):h,[u,h,d,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:_.default.content},b()),r.default.createElement("div",{className:_.default.thinking_container},r.default.createElement("div",{className:_.default.stop},!f&&r.default.createElement("span",{className:_.default.progress_bar},l&&r.default.createElement(p.Progress,{loading:!0,wrapperClassName:_.default.ai_native_progress_wrapper})))))};t.ChatThinking=s;const g=({children:a,message:h,onRegenerate:u,requestId:d,hasMessage:E=!0,showRegenerate:f})=>{const l=(0,o.useInjectable)(m.IChatInternalService),[b,y]=(0,r.useState)(l.latestRequestId),A=(0,o.useInjectable)(v.ChatRenderRegistryToken);(0,r.useEffect)(()=>{const I=l.onChangeRequestId(O=>{y(O)});return()=>I.dispose()},[l]);const S=(0,r.useMemo)(()=>A.chatThinkingResultRender,[A,A.chatThinkingResultRender]),w=(0,r.useCallback)(()=>{u&&u()},[u]),T=(0,r.useCallback)(()=>{if(typeof E=="boolean"?!E:!h?.trim()){const I=(0,v.localize)("aiNative.chat.stop.immediately");return S?r.default.createElement(S,{thinkingResult:I}):r.default.createElement("span",null,I)}return a},[h,E,a]),D=(0,r.useMemo)(()=>(0,v.isUndefined)(f)?b===d&&!!d:!!f,[b,d,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:_.default.content},T()),r.default.createElement("div",{className:_.default.thinking_container},r.default.createElement("div",{className:_.default.bottom_container},r.default.createElement("div",{className:_.default.reset},D?r.default.createElement(c.EnhanceIcon,{icon:"refresh",wrapperClassName:_.default.text_btn,className:_.default.transform,onClick:w,tabIndex:0,role:"button"},r.default.createElement("span",null,(0,v.localize)("aiNative.operate.afresh.title"))):null),r.default.createElement("div",{className:_.default.thumbs},r.default.createElement(c.Thumbs,{relationId:d,wrapperClassName:_.default.icon_btn})))))};t.ChatThinkingResult=g},34817:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatToolRender=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(41869),p=e(81878),v=e(89195),m=e(43718),_=e(33783),s=e(77633),g=e(25834),a=n.__importDefault(e(16796)),h=u=>{var d,E,f;const{value:l,messageId:b}=u,[y,A]=(0,o.useState)(!1),S=(0,c.useInjectable)(s.TokenMCPServerRegistry);if(!l||!l.function||!l.id)return null;const w=((d=S.getMCPTool(l.function.name))===null||d===void 0?void 0:d.label)||l.function.name,T=S.getToolComponent(l.function.name),D=R=>{switch(R){case"streaming-start":case"streaming":return{label:"Generating",icon:o.default.createElement(v.Loading,null)};case"complete":return{label:"Complete",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-check"})};case"result":return{label:"Result Ready",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-check-all"})};default:return{label:R||"Unknown",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-question"})}}},I=()=>{var R;try{return l.state!=="complete"&&l.state!=="result"?{}:JSON.parse(((R=l.function)===null||R===void 0?void 0:R.arguments)||"{}")}catch{return{}}},O=()=>{A(!y)},M=D(l.state);return T&&(l.state==="complete"||l.state==="result")?o.default.createElement(T,{state:l.state,args:I(),result:l.result,index:l.index,messageId:b,toolCallId:l.id}):o.default.createElement("div",{className:a.default.chat_tool_render},o.default.createElement("div",{className:a.default.tool_header,onClick:O},o.default.createElement("div",{className:a.default.tool_name},o.default.createElement(p.Icon,{iconClass:`codicon codicon-chevron-${y?"down":"right"}`}),o.default.createElement(p.Icon,{size:"small",iconClass:(0,r.default)("codicon codicon-tools",a.default.tool_icon)}),o.default.createElement("span",{className:a.default.tool_label},w)),l.state&&o.default.createElement("div",{className:a.default.tool_state},o.default.createElement("span",{className:a.default.state_icon},M.icon))),o.default.createElement("div",{className:(0,r.default)(a.default.tool_content,{[a.default.expanded]:y})},((E=l?.function)===null||E===void 0?void 0:E.arguments)&&o.default.createElement("div",{className:a.default.tool_arguments},o.default.createElement("div",{className:a.default.section_label},(0,_.localize)("ai.native.mcp.tool.arguments"),":"),o.default.createElement(g.CodeEditorWithHighlight,{input:(f=l?.function)===null||f===void 0?void 0:f.arguments,language:"json",relationId:(0,m.uuid)(4)})),l?.result&&o.default.createElement("div",{className:a.default.tool_result},o.default.createElement("div",{className:a.default.section_label},(0,_.localize)("ai.native.mcp.tool.results"),":"),o.default.createElement(g.CodeEditorWithHighlight,{input:l.result,language:"json",relationId:(0,m.uuid)(4)}))))};t.ChatToolRender=h},29039:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SlashCustomRender=void 0;const r=e(85608).__importStar(e(14041)),o=e(41869),c=e(43718),p=e(19413),v=m=>{const{userMessage:_,relationId:s,requestId:g,renderContent:a,startTime:h,agentId:u,command:d}=m,E=(0,o.useInjectable)(p.IChatInternalService),f=(0,o.useInjectable)(c.IAIReporter);return r.useEffect(()=>{E.setLatestRequestId(g),f.end(s,{message:_,replytime:Date.now()-h,success:!0,isStop:!1,agentId:u,command:d})},[a,g,s]),r.createElement("div",null,a({userMessage:_}))};t.SlashCustomRender=v},86556:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WelcomeMessage=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),c=e(81878),p=e(4246),v=e(43718),m=e(90684);e(41937);const _=e(19413),s=e(56474),g=e(17319),a=e(78048),h=n.__importDefault(e(6960)),u=()=>{var d,E;const f=(0,o.useInjectable)(v.ChatServiceToken),l=(0,o.useInjectable)(_.IChatAgentService),b=(0,o.useInjectable)(v.ChatFeatureRegistryToken),y=(0,o.useInjectable)(v.ChatRenderRegistryToken),[A,S]=r.useState([]);(0,o.useUpdateOnEvent)(b.onDidWelcomeMessageChange);const w=r.useMemo(()=>{if(!b.chatWelcomeMessageModel)return[];const{sampleQuestions:O=[]}=b.chatWelcomeMessageModel;return O.map(a.extractIcon)},[(d=b.chatWelcomeMessageModel)===null||d===void 0?void 0:d.sampleQuestions]),T=r.useMemo(()=>{if(!b.chatWelcomeMessageModel)return"";const{content:O}=b.chatWelcomeMessageModel;return O},[(E=b.chatWelcomeMessageModel)===null||E===void 0?void 0:E.content]);if(r.useEffect(()=>{const O=l.onDidChangeAgents(async()=>{const R=(await l.getAllSampleQuestions()).map(a.extractIcon);S(R)});return()=>O.dispose()},[]),!T)return r.createElement(g.ChatThinking,{thinkingText:(0,v.localize)("aiNative.chat.welcome.loading.text")});const D=r.useMemo(()=>w.concat(A),[w,A]);return r.useMemo(()=>{if(y.chatWelcomeRender){const O=y.chatWelcomeRender;return r.createElement(O,{message:T,sampleQuestions:D})}return r.createElement("div",{className:h.default.chat_welcome_head},r.createElement("div",{className:h.default.chat_container_des},(0,m.isMarkdownString)(T)?r.createElement(s.ChatMarkdown,{key:"welcome",markdown:T}):T),r.createElement("div",{className:h.default.chat_container_content},D.map((O,M)=>{const R=r.createElement("a",{className:h.default.link_item,onClick:(0,p.withPrevented)(()=>{f.sendMessage({...l.parseMessage(O.message),reportExtra:{actionType:v.ActionTypeEnum.Welcome,actionSource:v.ActionSourceEnum.Chat}})})},O.icon?r.createElement(c.Icon,{className:O.icon,style:{color:"inherit",marginRight:"4px"}}):"",r.createElement("span",null,O.title));return O.tooltip?r.createElement(c.Tooltip,{title:O.tooltip,key:M},R):r.createElement(r.Fragment,{key:M},R)})))},[y.chatWelcomeRender,T,D])};t.WelcomeMessage=u},83933:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.highLightLanguageSupport=void 0,t.highLightLanguageSupport=["1c","abnf","accesslog","actionscript","ada","angelscript","apache","applescript","arcade","arduino","armasm","xml","asciidoc","aspectj","autohotkey","autoit","avrasm","awk","axapta","bash","basic","bnf","brainfuck","c-like","c","cal","capnproto","ceylon","clean","clojure","clojure-repl","cmake","coffeescript","coq","cos","cpp","crmsh","crystal","csharp","csp","css","d","markdown","dart","delphi","diff","django","dns","dockerfile","dos","dsconfig","dts","dust","ebnf","elixir","elm","ruby","erb","erlang-repl","erlang","excel","fix","flix","fortran","fsharp","gams","gauss","gcode","gherkin","glsl","gml","go","golo","gradle","groovy","haml","handlebars","haskell","haxe","hsp","htmlbars","http","hy","inform7","ini","irpf90","isbl","java","javascript","jboss-cli","json","julia","julia-repl","kotlin","lasso","latex","ldif","leaf","less","lisp","livecodeserver","livescript","llvm","lsl","lua","makefile","mathematica","matlab","maxima","mel","mercury","mipsasm","mizar","perl","mojolicious","monkey","moonscript","n1ql","nginx","nim","nix","node-repl","nsis","objectivec","ocaml","openscad","oxygene","parser3","pf","pgsql","php","php-template","plaintext","pony","powershell","processing","profile","prolog","properties","protobuf","puppet","purebasic","python","python-repl","q","qml","r","reasonml","rib","roboconf","routeros","rsl","ruleslanguage","rust","sas","scala","scheme","scilab","scss","shell","smali","smalltalk","sml","sqf","sql_more","sql","stan","stata","step21","stylus","subunit","swift","taggerscript","yaml","tap","tcl","thrift","tp","twig","typescript","vala","vbnet","vbscript","vbscript-html","verilog","vhdl","vim","x86asm","xl","xquery","zephir"]},96086:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MentionInput=t.WHITE_SPACE_TEXT=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(41869),p=e(81878),v=e(89195),m=e(70392),_=n.__importDefault(e(97599)),s=e(80732),g=e(44692);t.WHITE_SPACE_TEXT=" ";const a=({mentionItems:h=[],onSend:u,onStop:d,loading:E=!1,mentionKeyword:f=g.MENTION_KEYWORD,onSelectionChange:l,onImageUpload:b,labelService:y,workspaceService:A,placeholder:S="Ask anything, @ to mention",footerConfig:w={buttons:[],showModelSelector:!1},contextService:T})=>{const D=o.useRef(null),[I,O]=o.useState({active:!1,startPos:null,filter:"",position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1}),[M,R]=o.useState(w.defaultModel||""),[P,k]=o.useState({}),[F,L]=o.useState([]),[B,j]=o.useState(-1),[W,U]=o.useState(""),[Q,V]=o.useState(!1),[$,Y]=o.useState({files:[],folders:[]}),H=()=>I.level===0?h:I.parentType?I.loading?P[I.parentType]||[]:P[I.parentType]||[]:[],K=((ve,Ae)=>{const[Ee,fe]=o.useState(ve);return o.useEffect(()=>{const Pe=setTimeout(()=>{fe(ve)},Ae);return()=>{clearTimeout(Pe)}},[ve,Ae]),Ee})(I.secondLevelFilter,300);o.useEffect(()=>{R(w.defaultModel||"")},[w.defaultModel]),o.useEffect(()=>{if(I.level===1&&I.parentType&&K!==void 0){const ve=h.find(Ee=>Ee.id===I.parentType);if(!ve)return;O(Ee=>({...Ee,loading:!0})),(async()=>{try{const Ee=[];if(ve.getHighestLevelItems){const fe=ve.getHighestLevelItems();for(const Pe of fe)Ee.some(Te=>Te.id===Pe.id)||Ee.push(Pe);k(Pe=>({...Pe,[I.parentType]:fe}))}if(ve.getItems)try{const fe=await ve.getItems(K),Pe=[...Ee];for(const Te of fe)Pe.some(Ne=>Ne.id===Te.id)||Pe.push(Te);k(Te=>({...Te,[I.parentType]:Pe}))}catch{O(Pe=>({...Pe,loading:!1}))}O(fe=>({...fe,loading:!1}))}catch{O(fe=>({...fe,loading:!1}))}})()}},[K,I.level,I.parentType]),o.useEffect(()=>{const ve=T?.onDidContextFilesChangeEvent(({attached:Ae,attachedFolders:Ee})=>{Y({files:Ae,folders:Ee})});return()=>{ve?.dispose()}},[T]);const Z=ve=>{const Ae=window.getSelection();if(!Ae||!Ae.rangeCount)return 0;const Ee=Ae.getRangeAt(0),fe=Ee.cloneRange();return fe.selectNodeContents(ve),fe.setEnd(Ee.endContainer,Ee.endOffset),fe.toString().length},X=()=>{Q&&(V(!1),j(-1));const ve=window.getSelection();if(!ve||!ve.rangeCount||!D.current)return;const Ae=D.current.textContent||"",Ee=Z(D.current);if(Ae[Ee-1]===f&&!I.active&&!I.inlineSearchActive&&O({active:!0,startPos:Ee,filter:f,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1}),I.active&&I.level===0&&I.startPos!==null)if(Ee<I.startPos)O(fe=>({...fe,active:!1}));else{const fe=Ae.substring(I.startPos-1,Ee);O(Pe=>({...Pe,filter:fe,activeIndex:0}))}if(I.inlineSearchActive&&I.inlineSearchStartPos!==null&&I.parentType){const fe=h.find(Ne=>Ne.id===I.parentType);if(!fe)return;const Pe=`@${fe.type}:`,Te=I.inlineSearchStartPos-Pe.length;if(Te>=0&&Ee>Te+Pe.length){const Ne=Ae.substring(Te+Pe.length,Ee);Ne!==I.secondLevelFilter&&O(pe=>({...pe,secondLevelFilter:Ne,active:!0,activeIndex:0}))}else Ee<=Te&&O(Ne=>({...Ne,inlineSearchActive:!1,active:!1}))}if(D.current&&(D.current.scrollHeight>=120?D.current.style.overflowY="auto":D.current.style.overflowY="hidden"),D.current){const fe=D.current.innerHTML;(fe===""||fe==="<br>"||fe==="<br/>")&&(D.current.innerHTML="")}},ie=ve=>{if(ve.key==="Escape"&&(I.active||I.inlineSearchActive)){I.level>0?O(Ee=>({...Ee,level:0,activeIndex:0,secondLevelFilter:"",inlineSearchActive:!1})):O(Ee=>({...Ee,active:!1,inlineSearchActive:!1})),ve.preventDefault();return}if((ve.key==="Backspace"||ve.key==="Delete")&&D.current&&(!D.current.textContent||D.current.textContent.trim()==="")&&T?.cleanFileContext(),ve.key===g.MENTION_KEYWORD&&!I.active&&!I.inlineSearchActive&&D.current){const Ee=Z(D.current);O({active:!0,startPos:Ee+1,filter:f,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1})}if((ve.key==="ArrowUp"||ve.key==="ArrowDown")&&!ve.shiftKey&&!ve.ctrlKey&&!ve.metaKey&&!ve.altKey){if(!I.active&&!I.inlineSearchActive&&D.current&&F.length>0){const Ee=D.current.innerHTML;if(!Ee||Ee==="<br>"||Q&&B>=0&&F[F.length-1-B]===Ee){ve.preventDefault(),Q||(U(Ee),V(!0));let Pe=B;ve.key==="ArrowUp"?Pe=Math.min(F.length-1,B+1):Pe=Math.max(-1,B-1),j(Pe),Pe===-1?D.current.innerHTML=W:D.current.innerHTML=F[F.length-1-Pe];const Te=document.createRange();Te.selectNodeContents(D.current),Te.collapse(!1);const Ne=window.getSelection();Ne&&(Ne.removeAllRanges(),Ne.addRange(Te));return}}}else Q&&ve.key!=="ArrowUp"&&ve.key!=="ArrowDown"&&(V(!1),j(-1));if(ve.key==="Enter"){if(ve.nativeEvent.isComposing)return;if(!ve.shiftKey&&(ve.preventDefault(),!I.active)){_e();return}}if(!I.active)return;let Ae=H();if(I.level===0&&I.filter&&I.filter.length>1){const Ee=I.filter.substring(1).toLowerCase();Ae=Ae.filter(fe=>fe.text.toLowerCase().includes(Ee))}Ae.length!==0&&(ve.key==="ArrowDown"?(O(Ee=>({...Ee,activeIndex:(Ee.activeIndex+1)%Ae.length})),ve.preventDefault()):ve.key==="ArrowUp"?(O(Ee=>({...Ee,activeIndex:(Ee.activeIndex-1+Ae.length)%Ae.length})),ve.preventDefault()):(ve.key==="Enter"||ve.key==="Tab")&&Ae.length>0&&(q(Ae[I.activeIndex]),ve.preventDefault()))},oe=()=>{},le=async ve=>{const Ae=ve.clipboardData.items,Ee=[];for(let he=0;he<Ae.length;he++)if(Ae[he].kind==="file"&&Ae[he].type.startsWith("image/")){const Oe=Ae[he].getAsFile();Oe&&Ee.push(Oe)}if(ve.preventDefault(),Ee.length>0&&b){await b(Ee);return}const Pe=ve.clipboardData.getData("text/plain").replace(/\t/g," ").replace(/\n\s*\n/g,`
|
|
31405
31405
|
|
|
31406
31406
|
`).replace(/[ \t]+$/gm,""),Te=window.getSelection();if(!Te||!Te.rangeCount)return;const Ne=Te.getRangeAt(0);Ne.deleteContents();const pe=Pe.split(`
|
|
31407
31407
|
`),re=document.createDocumentFragment();pe.forEach((he,Oe)=>{const De=he.replace(/^[ ]+/g,Ge=>{const je=document.createElement("span");return je.innerHTML="\xA0".repeat(Ge.length),je.innerHTML}),Fe=document.createElement("span");for(Fe.innerHTML=De;Fe.firstChild;)re.appendChild(Fe.firstChild);Oe<pe.length-1&&re.appendChild(document.createElement("br"))}),Ne.insertNode(re),Ne.setStartAfter(re),Ne.setEndAfter(re),Te.removeAllRanges(),Te.addRange(Ne),X()};o.useEffect(()=>{D.current&&S&&!D.current.textContent&&D.current.setAttribute("data-placeholder",S)},[S]);const me=ve=>{var Ae;I.active&&!(!((Ae=document.querySelector(`.${_.default.mention_panel}`))===null||Ae===void 0)&&Ae.contains(ve.target))&&O(Ee=>({...Ee,active:!1,inlineSearchActive:!1}))};o.useEffect(()=>(document.addEventListener("click",me,!0),()=>{document.removeEventListener("click",me,!0)}),[I.active]);const q=(ve,Ae=!1)=>{var Ee;if(!D.current)return;if(ve.getItems){const Ge=window.getSelection();if(!Ge||!Ge.rangeCount)return;if(I.level===0&&I.startPos!==null){let je,gt,ot;const Mt=document.createTreeWalker(D.current,NodeFilter.SHOW_TEXT);let lt=0,At;for(;At=Mt.nextNode();){const rt=((Ee=At.textContent)===null||Ee===void 0?void 0:Ee.length)||0;if(I.startPos-1>=lt&&I.startPos-1<lt+rt){je=At,gt=I.startPos-1-lt;const st=Ae?I.startPos+I.filter.length-1:Z(D.current);ot=Math.min(st-lt,rt);break}lt+=rt}if(je){const rt=document.createRange();rt.setStart(je,gt),rt.setEnd(je,ot),rt.deleteContents();const st=document.createTextNode(`${f}${ve.type}:`);rt.insertNode(st);const ct=document.createRange();ct.setStartAfter(st),ct.setEndAfter(st),Ge.removeAllRanges(),Ge.addRange(ct),O(yt=>({...yt,active:!0,level:1,parentType:ve.id,inlineSearchActive:!0,inlineSearchStartPos:Z(D.current),secondLevelFilter:"",activeIndex:0})),D.current.focus();return}}return}const fe=window.getSelection();if(!fe||!fe.rangeCount)return;if(I.inlineSearchActive&&I.parentType&&I.inlineSearchStartPos!==null){const Ge=h.find(ot=>ot.id===I.parentType);if(!Ge)return;const je=`${f}${Ge.type}:`,gt=I.inlineSearchStartPos-je.length;if(gt>=0){let Ut=function(hn){if(hn.nodeType===3)yt.push({node:hn,start:st,end:st+hn.textContent.length}),st+=hn.textContent.length;else if(hn.nodeType===1){const kn=hn.childNodes||[];for(const fi of Array.from(kn))Ut(fi)}};const ot=document.createElement("span");if(ot.className=_.default.mention_tag,ot.dataset.id=ve.id,ot.dataset.type=ve.type,ot.dataset.contextId=ve.contextId||"",ot.contentEditable="false",ve.type===g.MentionType.FILE||ve.type===g.MentionType.FOLDER){const hn=document.createElement("span");hn.className=(0,r.default)(_.default.mention_icon,ve.type===g.MentionType.FILE?y?.getIcon(new m.URI(ve.text)):(0,p.getIcon)("folder")),ot.appendChild(hn),ve.type===g.MentionType.FOLDER?T?.addFolderToContext(new m.URI(ve.contextId),!0):T?.addFileToContext(new m.URI(ve.contextId),void 0,!0)}else if(ve.type===g.MentionType.CODE){const hn=document.createElement("span");hn.className=(0,r.default)(_.default.mention_icon,ve.kind&&(0,c.getSymbolIcon)(ve.kind)+" outline-icon"),ot.appendChild(hn),ve.symbol&&T?.addFileToContext(new m.URI(ve.contextId),[ve.symbol.range.startLineNumber,ve.symbol.range.endLineNumber],!0)}const Mt=A?.workspace;let lt=ve.text;Mt&&ve.contextId&&(lt=ve.contextId.replace(new m.URI(Mt.uri).codeUri.fsPath,"").slice(1));const At=document.createTextNode(lt);ot.appendChild(At);const rt=document.createRange();let st=0,ct=!1;const yt=[];Ut(D.current);for(const hn of yt){if(gt>=hn.start&><=hn.end){const kn=gt-hn.start;rt.setStart(hn.node,kn),ct=!0}if(ct){const kn=Ae?gt+je.length+I.secondLevelFilter.length:Z(D.current);if(kn>=hn.start&&kn<=hn.end){const fi=kn-hn.start;rt.setEnd(hn.node,fi);break}}}if(ct){rt.deleteContents(),rt.insertNode(ot);const hn=document.createRange();hn.setStartAfter(ot),hn.setEndAfter(ot),fe.removeAllRanges(),fe.addRange(hn);const kn=document.createTextNode("\xA0");hn.insertNode(kn),hn.setStartAfter(kn),hn.setEndAfter(kn),fe.removeAllRanges(),fe.addRange(hn)}O(hn=>({...hn,active:!1,inlineSearchActive:!1})),D.current.focus();return}}const Pe=document.createElement("span");if(Pe.className=_.default.mention_tag,Pe.dataset.id=ve.id,Pe.dataset.type=ve.type,Pe.dataset.contextId=ve.contextId||"",Pe.contentEditable="false",ve.type==="file"||ve.type==="folder"){const Ge=document.createElement("span");Ge.className=(0,r.default)(_.default.mention_icon,ve.type==="file"?y?.getIcon(new m.URI(ve.text)):(0,p.getIcon)("folder")),Pe.appendChild(Ge)}const Te=A?.workspace;let Ne=ve.text;Te&&ve.contextId&&(Ne=ve.contextId.replace(new m.URI(Te.uri).codeUri.fsPath,"").slice(1));const pe=document.createTextNode(Ne);Pe.appendChild(pe);let re=0,he=!1;const Oe=[];function De(Ge){if(Ge.nodeType===3)Oe.push({node:Ge,start:re,end:re+Ge.textContent.length}),re+=Ge.textContent.length;else if(Ge.nodeType===1){const je=Ge.childNodes;for(const gt of Array.from(je))De(gt)}}De(D.current);const Fe=document.createRange();if(I.startPos!==null)for(const Ge of Oe){if(I.startPos-1>=Ge.start&&I.startPos-1<=Ge.end){const je=I.startPos-1-Ge.start;Fe.setStart(Ge.node,je),he=!0}if(he){const je=Ae?I.startPos+I.filter.length-1:Z(D.current);if(je>=Ge.start&&je<=Ge.end){const gt=je-Ge.start;Fe.setEnd(Ge.node,gt);break}}}if(he){Fe.deleteContents(),Fe.insertNode(Pe);const Ge=document.createRange();Ge.setStartAfter(Pe),Ge.setEndAfter(Pe),fe.removeAllRanges(),fe.addRange(Ge);const je=document.createTextNode("\xA0");Ge.insertNode(je),Ge.setStartAfter(je),Ge.setEndAfter(je),fe.removeAllRanges(),fe.addRange(Ge)}O(Ge=>({...Ge,active:!1})),D.current.focus()},we=o.useCallback(ve=>{R(ve),l?.(ve)},[M,l]),_e=()=>{if(!D.current)return;const ve=D.current.innerHTML;if(!ve)return;const Ae=document.createElement("div");Ae.innerHTML=ve,Ae.querySelectorAll(`.${_.default.mention_tag}`).forEach(Pe=>{var Te;const Ne=Pe.getAttribute("data-context-id");if(Ne){const pe=document.createTextNode(`{{${f}${Pe.getAttribute("data-type")}:${Ne}}}`);(Te=Pe.parentNode)===null||Te===void 0||Te.replaceChild(pe,Pe)}});let fe=Ae.innerHTML;fe=fe.trim().replaceAll(t.WHITE_SPACE_TEXT," "),ve&&(L(Pe=>[...Pe,ve]),j(-1),V(!1)),u&&u(fe,{model:M,...w}),D.current.innerHTML="",D.current&&(D.current.style.overflowY="hidden",D.current.style.height="auto")},ne=o.useCallback(()=>{T?.cleanFileContext()},[T]),ge=o.useCallback(()=>{d&&d()},[d]),Re=o.useCallback(ve=>(w.buttons||[]).filter(Ae=>Ae.position===ve).map(Ae=>o.createElement(p.Popover,{key:Ae.id,overlayClassName:_.default.popover_icon,id:`ai-chat-${Ae.id}`,position:p.PopoverPosition.top,title:Ae.title},o.createElement(v.EnhanceIcon,{className:(0,r.default)(Ae.icon?(0,p.getIcon)(Ae.icon):Ae.iconClass,_.default[`${Ae.id}_logo`]),tabIndex:0,role:"button",ariaLabel:Ae.title,onClick:Ae.onClick}))),[w.buttons]),xe=o.useMemo(()=>$.files.length>0||$.folders.length>0,[$]);return o.createElement("div",{className:_.default.input_container},I.active&&o.createElement("div",{className:_.default.mention_panel_container},o.createElement(s.MentionPanel,{items:H(),activeIndex:I.activeIndex,onSelectItem:ve=>q(ve,!0),position:{top:0,left:0},filter:I.level===0?I.filter:I.secondLevelFilter,visible:!0,level:I.level,loading:I.loading})),o.createElement("div",{className:_.default.editor_area},o.createElement("div",{ref:D,className:_.default.editor,contentEditable:!0,onInput:X,onKeyDown:ie,onPaste:le,onCompositionEnd:oe})),o.createElement("div",{className:_.default.footer},o.createElement("div",{className:_.default.left_control},w.showModelSelector&&o.createElement(p.Select,{options:w.modelOptions||[],value:M,onChange:we,className:_.default.model_selector,size:"small",disabled:w.disableModelSelector}),Re(g.FooterButtonPosition.LEFT)),o.createElement("div",{className:_.default.right_control},Re(g.FooterButtonPosition.RIGHT),o.createElement(p.Popover,{overlayClassName:_.default.popover_icon,id:"ai-chat-clear-context",position:p.PopoverPosition.top,content:(0,c.localize)("aiNative.chat.context.clear")},o.createElement("div",{className:_.default.context_container,onClick:ne},o.createElement("div",{className:_.default.context_icon},o.createElement(p.Icon,{icon:"out-link"}),o.createElement(p.Icon,{icon:"close"})),o.createElement("div",{className:_.default.context_description},(0,c.formatLocalize)("aiNative.chat.context.description",$.files.length+$.folders.length)))),o.createElement(p.Popover,{overlayClassName:_.default.popover_icon,id:"ai-chat-send",position:p.PopoverPosition.top,content:E?"Stop":"Send"},E?o.createElement(v.EnhanceIcon,{wrapperClassName:_.default.stop_logo,className:(0,r.default)((0,p.getIcon)("stop"),_.default.stop_logo_icon),tabIndex:0,role:"button",ariaLabel:"Stop",onClick:ge}):o.createElement(v.EnhanceIcon,{wrapperClassName:_.default.send_logo,className:(0,r.default)((0,p.getIcon)("send-outlined"),_.default.send_logo_icon),tabIndex:0,role:"button",onClick:_e,ariaLabel:"Send"})))))};t.MentionInput=a},40167:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MentionItem=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(81878),p=n.__importDefault(e(97599)),v=({item:m,isActive:_,onClick:s})=>o.createElement("div",{className:`${p.default.mention_item} ${_?p.default.active:""}`,onClick:()=>s(m)},o.createElement("div",{className:p.default.mention_item_left},o.createElement(c.Icon,{className:(0,r.default)(p.default.mention_item_icon,m.icon)}),o.createElement("span",{className:p.default.mention_item_text},m.text),o.createElement("span",{className:p.default.mention_item_description},m.description)),m.getItems&&o.createElement(c.Icon,{className:(0,r.default)(p.default.mention_item_right,(0,c.getIcon)("arrowright"))}));t.MentionItem=v},80732:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MentionPanel=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=n.__importDefault(e(97599)),c=e(40167),p=({items:v,activeIndex:m,onSelectItem:_,position:s,filter:g,visible:a,level:h,loading:u=!1})=>{const d=r.useRef(null);if(r.useEffect(()=>{if(a&&d.current){const l=d.current.querySelector(`.${o.default.mention_item}.${o.default.active}`);l&&l.scrollIntoView({block:"nearest"})}},[m,a]),!a)return null;const f=(()=>{let l=v;if(h===0){if(g&&g.length>1){const b=g.substring(1).toLowerCase();l=v.filter(y=>y.text.toLowerCase().includes(b))}}else g&&g.length>0&&(l=v.filter(b=>b.text.toLowerCase().includes(g.toLowerCase())));return l})();return h===0&&f.length===0?null:r.createElement("div",{ref:d,className:o.default.mention_panel,style:{top:s.top,left:s.left}},u&&r.createElement("div",{className:o.default.loading_bar}),v.length>0?r.createElement("ul",{className:o.default.mention_list},v.map((l,b)=>r.createElement(c.MentionItem,{key:l.id,item:l,isActive:b===m,onClick:()=>_(l,!0)}))):r.createElement("div",{className:o.default.no_results},u?"\u6B63\u5728\u641C\u7D22...":"\u65E0\u5339\u914D\u7ED3\u679C"))};t.MentionPanel=p},44692:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MENTION_KEYWORD=t.MentionType=t.FooterButtonPosition=void 0;var e;(function(r){r.LEFT="left",r.RIGHT="right"})(e||(t.FooterButtonPosition=e={}));var n;(function(r){r.FILE="file",r.FOLDER="folder",r.CODE="code"})(n||(t.MentionType=n={})),t.MENTION_KEYWORD="@"},78048:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extractIcon=t.createMessageByAI=t.createMessageByUser=void 0;const n=e(41869),r="",o=m=>({...m,type:"text",className:`${m.position==="left"?"rce-ai-msg":"rce-user-msg"} ${m.className?m.className:""}`}),c=(m,_)=>o({...m,position:"right",title:r,className:_,role:1});t.createMessageByUser=c;const p=(m,_)=>o({...m,position:"left",title:"",className:_,role:2});t.createMessageByAI=p;const v=m=>{let{title:_}=m;const{message:s,tooltip:g}=m;let a=m.icon||"";if(!_)return{icon:a,title:s,message:s,tooltip:g};const h=_.match(/^\$\(([a-z.]+\/)?([a-z0-9-]+)(~[a-z]+)?\)/i);if(h){const[u,d,E,f]=h,l=d?d.slice(0,-1):n.CODICON_OWNER;a=(0,n.getExternalIcon)(E,l),f&&(a+=` ${f.slice(1)}`),_=_.slice(u.length)}return{icon:a,title:_,message:s,tooltip:g}};t.extractIcon=v},19957:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LlmContextContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(46044);let p=class{initialize(){this.llmContextService.startAutoCollection()}};t.LlmContextContribution=p,n.__decorate([(0,r.Autowired)(c.LLMContextServiceToken),n.__metadata("design:type",Object)],p.prototype,"llmContextService",void 0),t.LlmContextContribution=p=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],p)},63536:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LLMContextServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(11050),c=e(25234),p=e(19083),v=e(86560),m=e(96689),_=e(82196),s=e(14951),g=e(6287),a=e(20868);let h=class extends c.WithEventBus{constructor(){super(...arguments),this.isAutoCollecting=!1,this.contextVersion=0,this.maxAttachFilesLimit=10,this.maxAttachFoldersLimit=10,this.maxViewFilesLimit=20,this.attachedFiles=[],this.attachedFolders=[],this.recentlyViewFiles=[],this.onDidContextFilesChangeEmitter=new v.Emitter,this.onDidContextFilesChangeEvent=this.onDidContextFilesChangeEmitter.event}addFileToList(d,E,f){const l=E.findIndex(b=>b.uri.toString()===d.uri.toString());l>-1&&E.splice(l,1),E.push(d),E.length>f&&E.shift()}addFolderToList(d,E,f){const l=E.findIndex(b=>b.uri.toString()===d.uri.toString());l>-1&&E.splice(l,1),E.push(d),E.length>f&&E.shift()}addFileToContext(d,E,f=!1){if(!d)return;const l={uri:d,selection:E},b=f?this.attachedFiles:this.recentlyViewFiles,y=f?this.maxAttachFilesLimit:this.maxViewFilesLimit;f&&this.docModelManager.createModelReference(d),this.addFileToList(l,b,y),this.notifyContextChange()}addFolderToContext(d){if(!d)return;const E={uri:d};this.addFolderToList(E,this.attachedFolders,this.maxAttachFoldersLimit),this.notifyContextChange()}notifyContextChange(){this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles())}cleanFileContext(){this.attachedFiles=[],this.attachedFolders=[],this.notifyContextChange()}getAllContextFiles(){return{viewed:this.recentlyViewFiles,attached:this.attachedFiles,attachedFolders:this.attachedFolders,version:this.contextVersion++}}removeFileFromContext(d,E=!1){const f=E?this.attachedFiles:this.recentlyViewFiles,l=f.findIndex(b=>b.uri.toString()===d.toString());l>-1&&f.splice(l,1),this.notifyContextChange()}startAutoCollection(){this.isAutoCollecting||(this.isAutoCollecting=!0,this.startAutoCollectionInternal())}startAutoCollectionInternal(){this.disposables.push(this.eventBus.on(m.EditorDocumentModelCreationEvent,d=>{d.payload.uri.scheme==="file"&&this.addFileToContext(d.payload.uri,void 0,!1)})),this.disposables.push(this.eventBus.on(m.EditorDocumentModelRemovalEvent,d=>{d.payload.scheme==="file"&&this.removeFileFromContext(d.payload,!1)})),this.disposables.push(this.eventBus.on(m.EditorDocumentModelSavedEvent,d=>{d.payload.scheme})),this.disposables.push(this.eventBus.on(_.EditorSelectionChangeEvent,d=>{if(d.payload.selections.length>0){const E=[d.payload.selections[0].selectionStartLineNumber,d.payload.selections[0].positionLineNumber].sort();E[0]===E[1]?this.addFileToContext(d.payload.editorUri,void 0,!1):this.addFileToContext(d.payload.editorUri,E.sort((f,l)=>f-l),!1)}}))}stopAutoCollection(){this.dispose()}async serialize(){const d=this.getAllContextFiles(),E=v.URI.file(this.appConfig.workspaceDir);return{recentlyViewFiles:this.serializeRecentlyViewFiles(d.viewed,E),attachedFiles:this.serializeAttachedFiles(d.attached,E),attachedFolders:await this.serializeAttachedFolders(d.attachedFolders,E)}}async serializeAttachedFolders(d,E){const f=Array.from(new Set(d.map(l=>l.uri.toString())));return Promise.all(f.map(async l=>{var b;const y=new v.URI(l);return`\`\`\`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/cli-engine",
|
|
3
|
-
"version": "3.8.3-next-
|
|
3
|
+
"version": "3.8.3-next-1745568063.0",
|
|
4
4
|
"description": "Integration engine runtime for opensumi-cli and opensumi extension",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@koa/cors": "^5.0.0",
|
|
28
28
|
"@opensumi/di": "^1.8.0",
|
|
29
|
-
"@opensumi/ide-core-browser": "3.8.3-next-
|
|
30
|
-
"@opensumi/ide-core-common": "3.8.3-next-
|
|
31
|
-
"@opensumi/ide-core-node": "3.8.3-next-
|
|
32
|
-
"@opensumi/ide-express-file-server": "3.8.3-next-
|
|
33
|
-
"@opensumi/ide-extension": "3.8.3-next-
|
|
34
|
-
"@opensumi/ide-i18n": "3.8.3-next-
|
|
35
|
-
"@opensumi/ide-main-layout": "3.8.3-next-
|
|
36
|
-
"@opensumi/ide-startup": "3.8.3-next-
|
|
29
|
+
"@opensumi/ide-core-browser": "3.8.3-next-1745568063.0",
|
|
30
|
+
"@opensumi/ide-core-common": "3.8.3-next-1745568063.0",
|
|
31
|
+
"@opensumi/ide-core-node": "3.8.3-next-1745568063.0",
|
|
32
|
+
"@opensumi/ide-express-file-server": "3.8.3-next-1745568063.0",
|
|
33
|
+
"@opensumi/ide-extension": "3.8.3-next-1745568063.0",
|
|
34
|
+
"@opensumi/ide-i18n": "3.8.3-next-1745568063.0",
|
|
35
|
+
"@opensumi/ide-main-layout": "3.8.3-next-1745568063.0",
|
|
36
|
+
"@opensumi/ide-startup": "3.8.3-next-1745568063.0",
|
|
37
37
|
"chalk": "^4.1.2",
|
|
38
38
|
"ejs": "^3.1.7",
|
|
39
39
|
"ip": "^1.1.8",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"webpack": "^5.90.0",
|
|
73
73
|
"webpack-cli": "^5.1.4"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "b35515eda0454d220b67c2a27e78f4d252dbc57b"
|
|
76
76
|
}
|