@opensumi/cli-engine 3.7.2-next-1740448398.0 → 3.7.2-next-1740450374.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
|
@@ -29277,7 +29277,7 @@ Use the appropriate tools to fulfill the USER\u2019s request, ensuring all requi
|
|
|
29277
29277
|
|
|
29278
29278
|
<user_info>
|
|
29279
29279
|
The user's OS version is ${this.applicationService.frontendOS}. The absolute path of the user's workspace is ${this.appConfig.workspaceDir}.
|
|
29280
|
-
</user_info>`},invoke:async(f,l,b,y)=>{this.chatDeferred=new p.Deferred;const{message:S,command:A}=f;let D=S;if(A){const R=this.chatFeatureRegistry.getSlashCommandHandler(A);if(R&&R.providerPrompt){const P=this.monacoCommandRegistry.getActiveCodeEditor();D=await R.providerPrompt(S,P)}}const T=this.preferenceService.get(_.AINativeSettingSectionsId.LLMModelSelection);let w="",I="";T==="deepseek"?w=this.preferenceService.get(_.AINativeSettingSectionsId.DeepseekApiKey,""):T==="openai"?(w=this.preferenceService.get(_.AINativeSettingSectionsId.OpenaiApiKey,""),I=this.preferenceService.get(_.AINativeSettingSectionsId.OpenaiBaseURL,"")):w=this.preferenceService.get(_.AINativeSettingSectionsId.AnthropicApiKey,"");const M=await this.aiBackService.requestStream(D,{requestId:f.requestId,sessionId:f.sessionId,history:this.aiChatService.getHistoryMessages(30720),clientId:this.applicationService.clientId,apiKey:w,model:T,baseURL:I},y);return(0,s.listenReadable)(M,{onData:R=>{l(R)},onEnd:()=>{this.chatDeferred.resolve()},onError:R=>{this.messageService.error(R.message),this.aiReporter.end(f.sessionId+"_"+f.requestId,{message:R.message,success:!1,command:A})}}),await this.chatDeferred.promise,{}},provideSlashCommands:async f=>this.chatFeatureRegistry.getAllSlashCommand().map(l=>({...l,name:l.name,description:l.description||""})),provideChatWelcomeMessage:async f=>{}})),queueMicrotask(()=>{this.chatAgentService.updateAgent(n.AGENT_ID,{})})}};t.ChatProxyService=d,d.AGENT_ID="Default_Chat_Agent",r.__decorate([(0,o.Autowired)(g.IChatAgentService),r.__metadata("design:type",Object)],d.prototype,"chatAgentService",void 0),r.__decorate([(0,o.Autowired)(p.AIBackSerivcePath),r.__metadata("design:type",Object)],d.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(p.ChatFeatureRegistryToken),r.__metadata("design:type",u.ChatFeatureRegistry)],d.prototype,"chatFeatureRegistry",void 0),r.__decorate([(0,o.Autowired)(m.MonacoCommandRegistry),r.__metadata("design:type",m.MonacoCommandRegistry)],d.prototype,"monacoCommandRegistry",void 0),r.__decorate([(0,o.Autowired)(p.ChatServiceToken),r.__metadata("design:type",h.ChatService)],d.prototype,"aiChatService",void 0),r.__decorate([(0,o.Autowired)(p.IAIReporter),r.__metadata("design:type",Object)],d.prototype,"aiReporter",void 0),r.__decorate([(0,o.Autowired)(p.ChatAgentViewServiceToken),r.__metadata("design:type",Object)],d.prototype,"chatAgentViewService",void 0),r.__decorate([(0,o.Autowired)(c.PreferenceService),r.__metadata("design:type",Object)],d.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(p.IApplicationService),r.__metadata("design:type",Object)],d.prototype,"applicationService",void 0),r.__decorate([(0,o.Autowired)(v.IMessageService),r.__metadata("design:type",Object)],d.prototype,"messageService",void 0),r.__decorate([(0,o.Autowired)(c.AppConfig),r.__metadata("design:type",Object)],d.prototype,"appConfig",void 0),t.ChatProxyService=d=n=r.__decorate([(0,o.Injectable)()],d)},29770:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatService=void 0;const n=e(85608),r=e(76003),o=e(43718),c=e(63067),p=e(19413),_=e(59347);let m=class extends o.Disposable{constructor(){super(),this._onChatMessageLaunch=new o.Emitter,this.onChatMessageLaunch=this._onChatMessageLaunch.event,this._onChatReplyMessageLaunch=new o.Emitter,this.onChatReplyMessageLaunch=this._onChatReplyMessageLaunch.event,this._onChatMessageListLaunch=new o.Emitter,this.onChatMessageListLaunch=this._onChatMessageListLaunch.event,this._onScrollToBottom=new o.Emitter,this.onScrollToBottom=this._onScrollToBottom.event}showChatView(){this.mainLayoutService.toggleSlot(p.AI_CHAT_VIEW_ID,!0)}sendMessage(s){this.showChatView(),this._onChatMessageLaunch.fire(s)}clearHistoryMessages(){var s;(s=this.chatInternalService.sessionModel)===null||s===void 0||s.history.clearMessages()}sendReplyMessage(s){typeof s=="string"?this._onChatReplyMessageLaunch.fire({kind:"content",content:s}):this._onChatReplyMessageLaunch.fire(s)}sendMessageList(s){this._onChatMessageListLaunch.fire(s)}getHistoryMessages(s){var g;return((g=this.chatInternalService.sessionModel)===null||g===void 0?void 0:g.history.getMessages(s))||[]}scrollToBottom(){this._onScrollToBottom.fire()}};t.ChatService=m,n.__decorate([(0,r.Autowired)(p.IChatInternalService),n.__metadata("design:type",_.ChatInternalService)],m.prototype,"chatInternalService",void 0),n.__decorate([(0,r.Autowired)(c.IMainLayoutService),n.__metadata("design:type",Object)],m.prototype,"mainLayoutService",void 0),t.ChatService=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},11735:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatFeatureRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718),c=e(19413),p=e(42033),_=e(51081);let m=class extends o.Disposable{constructor(){super(...arguments),this.logger=(0,o.getDebugLogger)(),this.slashCommandsMap=new Map,this.slashCommandsHandlerMap=new Map,this._onDidWelcomeMessageChange=new o.Emitter,this.onDidWelcomeMessageChange=this._onDidWelcomeMessageChange.event}dispose(){super.dispose(),this.slashCommandsMap.clear(),this.slashCommandsHandlerMap.clear()}registerWelcome(s,g){this.chatWelcomeMessageModel=new p.ChatWelcomeMessageModel(s,g),this._onDidWelcomeMessageChange.fire()}registerSlashCommand(s,g){const{name:a}=s;if(this.slashCommandsMap.has(a)){this.logger.warn(`ChatFeatureRegistry: commands name ${a} already exists`);return}this.slashCommandsMap.set(a,new p.ChatSlashCommandItemModel(s,a,_.ChatProxyService.AGENT_ID)),this.slashCommandsHandlerMap.set(a,g)}getSlashCommandHandler(s){return this.slashCommandsHandlerMap.get(s)}getSlashCommand(s){return this.slashCommandsMap.get(s)}getSlashCommandHandlerBySlashName(s){const g=this.getAllSlashCommand().find(a=>a.nameWithSlash===s);if(g)return this.getSlashCommandHandler(g.name)}getSlashCommandBySlashName(s){const g=this.getAllSlashCommand().find(a=>a.nameWithSlash===s);if(g)return this.getSlashCommand(g.name)}getAllSlashCommand(){return Array.from(this.slashCommandsMap.values())}getAllShortcutSlashCommand(){return this.getAllSlashCommand().filter(s=>s.isShortcut===!0)}parseSlashCommand(s){if(s.startsWith(c.SLASH_SYMBOL)){const g=this.getAllSlashCommand();for(const a of g){const{nameWithSlash:h}=a;if(s.startsWith(h))return{value:s.slice(h.length),nameWithSlash:h}}}return{value:s,nameWithSlash:""}}};t.ChatFeatureRegistry=m,t.ChatFeatureRegistry=m=n.__decorate([(0,r.Injectable)()],m)},59347:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatInternalService=void 0;const r=e(85608),o=e(76003),c=e(41869),p=e(43718),_=e(19413),m=e(61282);let v=class extends p.Disposable{constructor(){super(...arguments),this._onChangeRequestId=new p.Emitter,this.onChangeRequestId=this._onChangeRequestId.event,this._onChangeSession=new p.Emitter,this.onChangeSession=this._onChangeSession.event,this._onCancelRequest=new p.Emitter,this.onCancelRequest=this._onCancelRequest.event,this._onRegenerateRequest=new p.Emitter,this.onRegenerateRequest=this._onRegenerateRequest.event,n.set(this,void 0)}get latestRequestId(){return this._latestRequestId}get sessionModel(){return r.__classPrivateFieldGet(this,n,"f")}init(){this.chatManagerService.onStorageInit(()=>{const g=this.chatManagerService.getSessions();g.length>0?this.activateSession(g[g.length-1].sessionId):this.createSessionModel()})}setLatestRequestId(g){this._latestRequestId=g,this._onChangeRequestId.fire(g)}createRequest(g,a,h){return this.chatManagerService.createRequest(r.__classPrivateFieldGet(this,n,"f").sessionId,g,a,h)}sendRequest(g,a=!1){const h=this.chatManagerService.sendRequest(r.__classPrivateFieldGet(this,n,"f").sessionId,g,a);return a&&this._onRegenerateRequest.fire(),h}cancelRequest(){this.chatManagerService.cancelRequest(r.__classPrivateFieldGet(this,n,"f").sessionId),this._onCancelRequest.fire()}createSessionModel(){r.__classPrivateFieldSet(this,n,this.chatManagerService.startSession(),"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}clearSessionModel(g){g=g||r.__classPrivateFieldGet(this,n,"f").sessionId,this.chatManagerService.clearSession(g),g===r.__classPrivateFieldGet(this,n,"f").sessionId&&r.__classPrivateFieldSet(this,n,this.chatManagerService.startSession(),"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}getSessions(){return this.chatManagerService.getSessions()}activateSession(g){const a=this.chatManagerService.getSession(g);if(!a)throw new Error(`There is no session with session id ${g}`);r.__classPrivateFieldSet(this,n,a,"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}dispose(){var g;(g=r.__classPrivateFieldGet(this,n,"f"))===null||g===void 0||g.dispose(),super.dispose()}};t.ChatInternalService=v,n=new WeakMap,r.__decorate([(0,o.Autowired)(p.AIBackSerivcePath),r.__metadata("design:type",Object)],v.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(c.PreferenceService),r.__metadata("design:type",Object)],v.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(_.IChatManagerService),r.__metadata("design:type",m.ChatManagerService)],v.prototype,"chatManagerService",void 0),t.ChatInternalService=v=r.__decorate([(0,o.Injectable)()],v)},70394:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatRenderRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718);let c=class extends o.Disposable{registerWelcomeRender(_){this.chatWelcomeRender=_}registerAIRoleRender(_){this.chatAIRoleRender=_}registerUserRoleRender(_){this.chatUserRoleRender=_}registerThinkingRender(_){this.chatThinkingRender=_}registerInputRender(_){this.chatInputRender=_}registerThinkingResultRender(_){this.chatThinkingResultRender=_}registerChatViewHeaderRender(_){this.chatViewHeaderRender=_}};t.ChatRenderRegistry=c,t.ChatRenderRegistry=c=n.__decorate([(0,r.Injectable)()],c)},76154:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIChatView=void 0,t.DefaultChatViewHeader=P;const n=e(85608),r=n.__importStar(e(14041)),o=e(68392),c=e(41869),p=e(81878),_=e(89195),m=e(43718),v=e(63067),s=e(72665);e(41937);const g=e(19413),a=e(46044),h=e(73307),u=e(27399),d=e(25834),E=n.__importDefault(e(90103)),f=e(57987),l=e(56474),b=e(92635),y=e(29039),S=e(78048),A=e(86556),D=e(30703),T=e(42033),w=e(51081),I=n.__importDefault(e(77256)),O="chat_scroll",M=100,R=()=>{const k=(0,c.useInjectable)(g.IChatInternalService),F=(0,c.useInjectable)(m.ChatServiceToken),L=(0,c.useInjectable)(m.IAIReporter),B=(0,c.useInjectable)(g.IChatAgentService),U=(0,c.useInjectable)(m.ChatFeatureRegistryToken),W=(0,c.useInjectable)(m.ChatRenderRegistryToken),j=(0,c.useInjectable)(a.LLMContextServiceToken),Z=(0,c.useInjectable)(h.ChatAgentPromptProvider),V=(0,c.useInjectable)(v.IMainLayoutService),$=(0,c.useInjectable)(g.TokenMCPServerProxyService),Q=k.sessionModel.history,G=r.useRef(null),z=r.useRef(null),K=(0,c.useInjectable)(s.IDialogService),X=(0,c.useInjectable)(c.AINativeConfigService),[Y,oe]=r.useState([]),[ie,he]=r.useReducer((nt,_t)=>{switch(_t.type){case"add":return[...nt,..._t.payload||[]];case"clear":return[];case"init":return Array.isArray(_t.payload)?_t.payload:[];default:return nt}},[]),[_e,q]=r.useState(!1),[Oe,ye]=r.useState(""),[ne,ge]=r.useState(""),[Pe,ke]=r.useState(""),[be,we]=r.useState(null),[ve,fe]=r.useState(0);r.useEffect(()=>{const nt=U.getAllShortcutSlashCommand(),_t=B.onDidChangeAgents(()=>{const Nt=B.getCommands().filter(an=>an.isShortcut).map(an=>new T.ChatSlashCommandItemModel({icon:"",name:`${an.name} `,description:an.description,isShortcut:an.isShortcut},an.name,an.agentId));oe(nt.concat(Nt))});return oe(nt),()=>_t.dispose()},[U,B]),(0,c.useUpdateOnEvent)(k.onChangeSession);const xe=r.useMemo(()=>W.chatInputRender?W.chatInputRender:f.ChatInput,[W.chatInputRender]),Ie=r.useMemo(()=>(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:"",text:r.createElement(A.WelcomeMessage,null)}),[]),Fe=r.useCallback(()=>{if(G&&G.current){const nt=G.current.lastElementChild;nt&&nt.scrollIntoView({behavior:"smooth",block:"end"}),G.current.scrollHeight>G.current.clientHeight&&G.current.classList.add(O)}},[G]),pe=r.useCallback(nt=>{he(nt),requestAnimationFrame(()=>{Fe()})},[he,Fe]);r.useEffect(()=>{pe({type:"init",payload:[Ie]})},[]),r.useEffect(()=>{const nt=new m.Disposable;return nt.addDispose(F.onScrollToBottom(()=>{requestAnimationFrame(()=>{Fe()})})),nt.addDispose(F.onChatMessageLaunch(async _t=>{var Nt;if(_t.immediate!==!1){if(_e)return;await Ve(_t)}else _t.agentId&&ye(_t.agentId),_t.command&&ke(_t.command),(Nt=z?.current)===null||Nt===void 0||Nt.setInputValue(_t.message)})),nt.addDispose(F.onChatReplyMessageLaunch(_t=>{if(_t.kind==="content"){const Nt=L.start(m.AIServiceType.CustomReplay,{message:_t.content});Q.addAssistantMessage({content:_t.content,relationId:Nt}),Se({chunk:_t.content,relationId:Nt})}else{const Nt=L.start(m.AIServiceType.CustomReplay,{message:"component#"+_t.component});Q.addAssistantMessage({componentId:_t.component,componentValue:_t.value,content:"",relationId:Nt}),We({chunk:_t,relationId:Nt})}})),nt.addDispose(F.onChatMessageListLaunch(_t=>{const Nt=[];_t.forEach(an=>{const{role:Nn}=an,vi=L.start(m.AIServiceType.Chat,{message:""});if(Nn==="assistant"){const Ln=an;Nt.push((0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:vi,text:r.createElement(b.ChatNotify,{requestId:vi,chunk:Ln})},I.default.chat_notify))}if(Nn==="user"){const{message:Ln}=an,rn=w.ChatProxyService.AGENT_ID,zn=W.chatUserRoleRender,un=rn===w.ChatProxyService.AGENT_ID?"":rn;Nt.push((0,S.createMessageByUser)({id:(0,m.uuid)(6),relationId:vi,text:zn?r.createElement(zn,{content:Ln,agentId:un}):r.createElement(d.CodeBlockWrapperInput,{relationId:vi,text:Ln,agentId:un,command:Pe})},I.default.chat_message_code))}}),pe({type:"add",payload:Nt}),setTimeout(Fe,0)})),()=>nt.dispose()},[F,W.chatAIRoleRender,Q]),r.useEffect(()=>{const nt=new m.Disposable;return nt.addDispose(B.onDidSendMessage(_t=>{const Nt=_t,an=L.start(m.AIServiceType.Agent,{message:""}),Nn=(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:an,text:r.createElement(b.ChatNotify,{requestId:k.latestRequestId,chunk:Nt})},I.default.chat_notify);pe({type:"add",payload:[Nn]})})),nt.addDispose(B.onDidChangeAgents(async()=>{const _t=B.getDefaultAgentId();ge(_t??"")})),()=>nt.dispose()},[B,Q,k]);const re=r.useCallback(async nt=>{const{userMessage:_t,relationId:Nt,requestId:an,render:Nn,startTime:vi,command:Ln,agentId:rn}=nt;Q.addAssistantMessage({type:"component",content:""});const zn=(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:Nt,className:I.default.chat_with_more_actions,text:r.createElement(y.SlashCustomRender,{userMessage:_t,startTime:vi,relationId:Nt,requestId:an,renderContent:Nn,command:Ln,agentId:rn})});pe({type:"add",payload:[zn]})},[G,Q]),le=r.useCallback(async nt=>{const _t=W.chatUserRoleRender,{message:Nt,agentId:an,relationId:Nn,command:vi}=nt,Ln=an===w.ChatProxyService.AGENT_ID?"":an,rn=(0,S.createMessageByUser)({id:(0,m.uuid)(6),relationId:Nn,text:_t?r.createElement(_t,{content:Nt,agentId:Ln,command:vi}):r.createElement(d.CodeBlockWrapperInput,{relationId:Nn,text:Nt,agentId:Ln,command:vi})},I.default.chat_message_code);pe({type:"add",payload:[rn]})},[W,W.chatUserRoleRender,Q,Fe]),Te=r.useCallback(async nt=>{const{message:_t,agentId:Nt,request:an,relationId:Nn,command:vi,startTime:Ln,msgId:rn}=nt,zn=Nt===w.ChatProxyService.AGENT_ID?"":Nt;if(Nt===w.ChatProxyService.AGENT_ID&&vi){const jt=U.getSlashCommandHandler(vi);if(jt&&jt.providerRender)return q(!1),re({userMessage:_t,render:jt.providerRender,relationId:Nn,requestId:an.requestId,startTime:Ln,agentId:Nt,command:vi})}const un=(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:Nn,className:I.default.chat_with_more_actions,text:r.createElement(b.ChatReply,{relationId:Nn,request:an,startTime:Ln,agentId:zn,command:vi,onDidChange:()=>{Fe()},history:Q,onDone:()=>{q(!1)},onRegenerate:()=>{an&&k.sendRequest(an,!0)},msgId:rn})});pe({type:"add",payload:[un]})},[W,Q,Fe]),Se=r.useCallback(nt=>{const{chunk:_t,relationId:Nt}=nt;let an=r.createElement(l.ChatMarkdown,{markdown:_t,fillInIncompleteTokens:!0,agentId:Oe,command:Pe});if(W.chatAIRoleRender){const vi=W.chatAIRoleRender;an=r.createElement(vi,{content:_t})}const Nn=(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:Nt,text:an,className:I.default.chat_with_more_actions});pe({type:"add",payload:[Nn]})},[W,Q,Fe]),We=r.useCallback(nt=>{const{chunk:_t,relationId:Nt}=nt,an=(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:Nt,text:r.createElement(b.ChatNotify,{requestId:Nt,chunk:_t})},I.default.chat_notify);pe({type:"add",payload:[an]})},[W,Q,Fe]),Ge=r.useCallback(async nt=>{const{message:_t,agentId:Nt,command:an,reportExtra:Nn}=nt,{actionType:vi,actionSource:Ln}=Nn||{},rn=j.serialize(),zn=await Z.provideContextPrompt(rn,_t),un=k.createRequest(zn,Nt,an);if(!un)return;q(!0),k.setLatestRequestId(un.requestId);const jt=Date.now(),vt=w.ChatProxyService.AGENT_ID===Nt?m.AIServiceType.Chat:m.AIServiceType.Agent,He=L.start(an||vt,{message:_t,agentId:Nt,userMessage:_t,actionType:vi,actionSource:Ln});Q.addUserMessage({content:_t,agentId:Nt,agentCommand:an,relationId:He}),await le({relationId:He,message:_t,command:an,agentId:Nt}),k.sendRequest(un);const Ze=Q.addAssistantMessage({content:"",relationId:He,requestId:un.requestId,replyStartTime:jt});await Te({startTime:jt,relationId:He,message:_t,agentId:Nt,command:an,request:un,msgId:Ze})},[W,W.chatUserRoleRender,Q,Fe]),Ve=r.useCallback(async nt=>{const{message:_t,command:Nt,reportExtra:an}=nt,Nn=nt.agentId?nt.agentId:w.ChatProxyService.AGENT_ID;return Ge({message:_t,agentId:Nn,command:Nt,reportExtra:an})},[Ge]),ft=r.useCallback(()=>{k.clearSessionModel(),F.clearHistoryMessages(),it()},[ie]),it=r.useCallback(()=>{var nt;(nt=G?.current)===null||nt===void 0||nt.classList.remove(O),pe({type:"init",payload:[Ie]})},[ie]),Pt=nt=>{_e||(we(nt.nameWithSlash),ye(nt.agentId),ke(nt.command))},lt=r.useCallback(()=>{V.toggleSlot(g.AI_CHAT_VIEW_ID)},[V]),bt=W.chatViewHeaderRender||P,rt=r.useCallback(async nt=>{for(const _t of Q.getMessages()){if(nt.isCancellationRequested)return;if(_t.role===1)await le({relationId:_t.relationId,message:_t.content,agentId:_t.agentId,command:_t.agentCommand});else if(_t.role===2&&_t.requestId){const Nt=k.sessionModel.getRequest(_t.requestId);Nt&&!Nt.response.isComplete&&q(!0),await Te({msgId:_t.id,relationId:_t.relationId,message:_t.content,agentId:_t.agentId,command:_t.agentCommand,startTime:_t.replyStartTime,request:Nt})}else _t.role===2&&_t.content?await Se({relationId:_t.relationId,chunk:_t.content}):_t.role===2&&_t.componentId&&await We({relationId:_t.relationId,chunk:{kind:"component",component:_t.componentId,value:_t.componentValue}})}},[Te]);r.useEffect(()=>{it();const nt=new m.CancellationTokenSource;return q(!1),rt(nt.token),()=>{nt.cancel()}},[k.sessionModel]),(0,c.useEventEffect)($.onChangeMCPServers,()=>{$.getAllMCPTools().then(nt=>{fe(nt.length)})},[$]);const ut=r.useCallback(async()=>{const nt=await $.getAllMCPTools();K.open({message:r.createElement(D.MCPToolsDialog,{tools:nt}),type:m.MessageType.Empty,buttons:["\u5173\u95ED"]})},[$,K]);return r.createElement("div",{id:I.default.ai_chat_view},r.createElement("div",{className:I.default.header_container},r.createElement(bt,{handleClear:ft,handleCloseChatView:lt})),r.createElement("div",{className:I.default.body_container},r.createElement("div",{className:I.default.left_bar,id:"ai_chat_left_container"},r.createElement("div",{className:I.default.chat_container,ref:G},r.createElement(o.MessageList,{className:I.default.message_list,lockable:!0,toBottomHeight:"100%",dataSource:ie})),Q.slicedMessageCount?r.createElement("div",{className:I.default.chat_tips_text},r.createElement("div",{className:I.default.chat_tips_container},(0,m.formatLocalize)("aiNative.chat.ai.assistant.limit.message",Q.slicedMessageCount))):null,r.createElement("div",{className:I.default.chat_input_wrap},r.createElement(u.ChatContext,null),r.createElement("div",{className:I.default.header_operate},r.createElement("div",{className:I.default.header_operate_left},Y.map(nt=>r.createElement(p.Popover,{id:`ai-chat-shortcut-${nt.name}`,key:`ai-chat-shortcut-${nt.name}`,title:nt.tooltip||nt.name},r.createElement("div",{className:I.default.tag,onClick:()=>Pt(nt)},nt.name)))),r.createElement("div",{className:I.default.header_operate_right},X.capabilities.supportsMCP&&r.createElement("div",{className:I.default.tag,onClick:ut},`MCP Tools: ${ve}`))),r.createElement(xe,{onSend:(nt,_t,Nt)=>Ve({message:nt,agentId:_t,command:Nt,reportExtra:{actionSource:m.ActionSourceEnum.Chat,actionType:m.ActionTypeEnum.Send}}),disabled:_e,enableOptions:!0,theme:be,setTheme:we,agentId:Oe,setAgentId:ye,defaultAgentId:ne,command:Pe,setCommand:ke,ref:z})))))};t.AIChatView=R;function P({handleClear:k,handleCloseChatView:F}){const L=(0,c.useInjectable)(g.IChatInternalService),[B,U]=r.useState([]),[W,j]=r.useState(""),Z=r.useCallback(()=>{L.sessionModel.history.getMessages().length>0&&L.createSessionModel()},[L]),V=r.useCallback(Q=>{L.activateSession(Q.id)},[L]),$=r.useCallback(Q=>{L.clearSessionModel(Q.id)},[L]);return r.useEffect(()=>{const Q=()=>{const K=L.sessionModel.history.getMessages();j(K.length>0?K[K.length-1].content.slice(0,M):""),U(L.getSessions().map(X=>{const oe=X.history.getMessages(),ie=oe.length>0?oe[0].content.slice(0,M):"",he=oe.length>0&&oe[oe.length-1].replyStartTime||0;return{id:X.sessionId,title:ie,updatedAt:he,loading:!1}}))};Q();const G=new m.DisposableCollection,z=new Set;return G.push(L.onChangeSession(K=>{Q(),!z.has(K)&&(z.add(K),G.push(L.sessionModel.history.onMessageChange(()=>{Q()})))})),G.push(L.sessionModel.history.onMessageChange(()=>{Q()})),()=>{G.dispose()}},[L]),r.createElement("div",{className:I.default.header},r.createElement(E.default,{className:I.default.chat_history,currentId:L.sessionModel.sessionId,title:W||(0,m.localize)("aiNative.chat.ai.assistant.name"),historyList:B,onNewChat:Z,onHistoryItemSelect:V,onHistoryItemDelete:$,onHistoryItemChange:()=>{}}),r.createElement(p.Popover,{overlayClassName:I.default.popover_icon,id:"ai-chat-header-clear",title:(0,m.localize)("aiNative.operate.clear.title")},r.createElement(_.EnhanceIcon,{wrapperClassName:I.default.action_btn,className:(0,c.getIcon)("clear"),onClick:k,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.clear.title")})),r.createElement(p.Popover,{overlayClassName:I.default.popover_icon,id:"ai-chat-header-close",position:p.PopoverPosition.left,title:(0,m.localize)("aiNative.operate.close.title")},r.createElement(_.EnhanceIcon,{wrapperClassName:I.default.action_btn,className:(0,c.getIcon)("window-close"),onClick:F,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.close.title")})))}},55369:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextSelector=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=e(45250),c=n.__importStar(e(14041)),p=e(58998),_=e(41869),m=e(81878),v=e(95263),s=e(95422),g=e(15625),a=e(70392),h=n.__importDefault(e(97431)),u=(0,c.memo)(({uri:d,active:E,selected:f,onDidSelect:l,onDidDeselect:b})=>{var y;const S=(0,s.useInjectable)(_.LabelService),A=(0,s.useInjectable)(_.AppConfig),D=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(E&&D.current){const T={behavior:"instant",block:"end"};D.current.scrollIntoView(T)}},[E,D.current]),c.default.createElement("div",{className:(0,r.default)(h.default.candidate_file,E&&h.default.active),ref:T=>D.current=T,onClick:()=>f?b(d):l(d)},c.default.createElement(m.Icon,{iconClass:S.getIcon(d)}),c.default.createElement("span",{className:h.default.basename},d.path.base),c.default.createElement("span",{className:h.default.dir},(y=a.URI.file(A.workspaceDir).relative(d.parent))===null||y===void 0?void 0:y.toString()),f&&c.default.createElement(m.Icon,{icon:"check",style:{marginLeft:"auto",color:"var(--editorGutter-addedBackground)"}}))});t.ContextSelector=(0,c.memo)(({addedFiles:d,onDidDeselect:E,onDidSelect:f,onDidClose:l})=>{const[b,y]=(0,c.useState)([]),[S,A]=(0,c.useState)(null),[D,T]=(0,c.useState)(!1),[w,I]=(0,c.useState)([]),O=(0,s.useInjectable)(v.RecentFilesManager),M=(0,s.useInjectable)(_.AppConfig),R=(0,s.useInjectable)(g.FileSearchServicePath),P=(0,c.useRef)();(0,c.useEffect)(()=>{b.length===0&&O.getMostRecentlyOpenedFiles().then(L=>{const B=d.map(W=>W.uri),U=L.filter(W=>!B.includes(new a.URI(W))).map(W=>new a.URI(W));y(U),A(U[0]||null)})},[d]);const k=(0,c.useCallback)((0,o.debounce)(L=>{if(L.target.value.trim()===""){I([]),A(b[0]);return}T(!0),R.find(L.target.value,{rootUris:[M.workspaceDir],limit:200,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0}).then(B=>{const U=B.map(W=>new a.URI(W));I(U),A(U[0])}).finally(()=>{T(!1)})},500),[]),F=(0,c.useCallback)(L=>{const{key:B}=L;if(B==="Escape"){l();return}if(B==="Enter"&&S){f(S);return}if(!["ArrowUp","ArrowDown"].includes(B))return;const W=w.length>0?w:b;if(W.length===0)return;const j=W.indexOf(S),Z=j===-1?0:j,V=W.length-1,$=B==="ArrowUp"?Z>0?Z-1:V:Z<V?Z+1:0;A(W[$])},[S,w,b]);return c.default.createElement(p.ClickOutside,{mouseEvents:["click","contextmenu"],onOutsideClick:()=>l()},c.default.createElement("div",{className:h.default.context_selector,onKeyDown:F,tabIndex:-1},c.default.createElement("div",{style:{padding:"4px"}},c.default.createElement(m.Input,{placeholder:"Search files by name",autoFocus:!0,onInput:k})),c.default.createElement(m.Scrollbars,{forwardedRef:L=>L?P.current=L.ref:null},c.default.createElement("div",{className:h.default.context_list},D&&c.default.createElement("div",{className:h.default.context_search_layer}),c.default.createElement("span",{className:h.default.list_desc},w.length>0?"Search Results":"Recent Opened Files"),(w.length>0?w:b).map(L=>c.default.createElement(u,{key:L.toString(),uri:L,active:S===L,onDidSelect:f,onDidDeselect:E,selected:!!d.find(B=>B.uri.isEqual(L))}))))))})},27399:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatContext=void 0;const n=e(85608),r=n.__importStar(e(1171)),o=n.__importStar(e(14041));e(628);const c=e(80564),p=e(81878),_=e(89195),m=e(95422),v=e(11050),s=e(63214),g=e(33783),a=e(86560),h=e(82196),u=e(46044),d=e(55369),E=n.__importDefault(e(97431)),f=()=>({height:0,opacity:0}),l=S=>({height:S.scrollHeight,opacity:1}),b=S=>({height:S.offsetHeight}),y=(S,A)=>A.propertyName==="height";t.ChatContext=(0,o.memo)(()=>{const[S,A]=(0,o.useState)([]),[D,T]=(0,o.useState)(!1),w=(0,m.useInjectable)(s.LabelService),I=(0,m.useInjectable)(v.AppConfig),O=(0,m.useInjectable)(h.WorkbenchEditorService),M=(0,m.useInjectable)(u.LLMContextServiceToken);(0,o.useEffect)(()=>{const U=a.Event.debounce(M.onDidContextFilesChangeEvent,(W,j)=>j,50)(W=>{W&&A(W.attached)},M);return()=>{U.dispose()}},[]);const R=(0,o.useCallback)(()=>{T(!0)},[S]),P=(0,o.useCallback)(U=>{M.addFileToContext(U,void 0,!0)},[]),k=(0,o.useCallback)(U=>{M.removeFileFromContext(U)},[]),F=(0,o.useCallback)(U=>{O.open(U)},[]),L=(0,o.useCallback)(U=>{U.stopPropagation(),U.preventDefault(),M.cleanFileContext()},[]),B=(0,o.useCallback)((U,W)=>{U.stopPropagation(),U.preventDefault(),k(W)},[]);return o.default.createElement("div",{className:E.default.chat_context},o.default.createElement(r.default,{expandIcon:({isActive:U})=>U?o.default.createElement(c.Icon,{icon:"down"}):o.default.createElement(c.Icon,{icon:"right"}),openMotion:{motionName:"rc-collapse-motion",onEnterStart:f,onEnterActive:l,onLeaveStart:b,onLeaveActive:f,onEnterEnd:y,onLeaveEnd:y,motionDeadline:100,leavedClassName:E.default.collapse_hide}},o.default.createElement(r.Panel,{header:o.default.createElement("div",{className:E.default.context_header},o.default.createElement("h3",{className:E.default.chat_context_title},"Context ",S.length>0?` (${S.length} files)`:""),o.default.createElement(p.Popover,{overlayClassName:E.default.popover_icon,id:"ai-context-header-clear",title:(0,g.localize)("aiNative.operate.clear.title")},o.default.createElement(_.EnhanceIcon,{wrapperClassName:E.default.action_btn,className:(0,p.getIcon)("clear"),onClick:L,tabIndex:0,role:"button",ariaLabel:(0,g.localize)("aiNative.operate.clear.title")}))),key:"context-panel"},o.default.createElement("div",{className:E.default.file_list},S.map(U=>{var W;return o.default.createElement("div",{className:E.default.selected_item,key:U.uri.toString(),onClick:()=>F(U.uri)},o.default.createElement(c.Icon,{iconClass:w.getIcon(U.uri)}),o.default.createElement("span",{className:E.default.basename},U.uri.path.base,U.selection?` (${U.selection[0]}-${U.selection[1]})`:""),o.default.createElement("span",{className:E.default.dir},(W=a.URI.file(I.workspaceDir).relative(U.uri.parent))===null||W===void 0?void 0:W.toString()),o.default.createElement(c.Icon,{icon:"close",className:E.default.close_icon,onClick:j=>B(j,U.uri)}))})),o.default.createElement("div",{className:E.default.add_context,onClick:R},o.default.createElement(c.Icon,{icon:"add"}),"Add Files"))),D&&o.default.createElement(d.ContextSelector,{onDidClose:()=>T(!1),onDidDeselect:k,onDidSelect:P,addedFiles:S}))})},25834:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeBlockWrapperInput=t.CodeBlockWrapper=t.CodeEditorWithHighlight=void 0;const n=e(85608),r=n.__importDefault(e(56005)),o=n.__importStar(e(14041)),c=n.__importDefault(e(10580)),p=e(41869),_=e(81878),m=e(89195),v=e(43718),s=e(71624),g=e(9447),a=e(52416),h=n.__importDefault(e(6960)),u=e(83933);e(38191);const d=b=>{const{input:y,language:S,relationId:A,agentId:D,command:T,hideInsert:w}=b,I=o.default.useRef(null),O=(0,p.useInjectable)(g.MonacoCommandRegistry),M=(0,p.useInjectable)(p.IClipboardService),R=(0,p.useInjectable)(a.IThemeService),P=(0,p.useInjectable)(v.IAIReporter),[k,F]=(0,o.useState)(!1),L=(0,o.useMemo)(()=>(0,p.uuid)(12),[I,I.current]);(0,o.useEffect)(()=>{const W=V=>{V.type==="dark"||V.type==="hcDark"?e.e(622).then(e.bind(e,51622)):(V.type==="light"||V.type==="hcLight")&&e.e(412).then(e.bind(e,50412))},j=R.onThemeChange(V=>{W(V)}),Z=R.getCurrentThemeSync();return W(Z),()=>j.dispose()},[]);const B=(0,o.useCallback)(async()=>{F(!0),await M.writeText(y),P.end(A,{copy:!0,code:y,language:S,agentId:D,command:T,actionSource:v.ActionSourceEnum.Chat,actionType:v.ActionTypeEnum.ChatCopyCode}),(0,v.runWhenIdle)(()=>{F(!1)},1e3)},[M,y,A]),U=(0,o.useCallback)(()=>{const W=O.getActiveCodeEditor();if(W){const j=W.getSelection();j&&((0,s.insertSnippetWithMonacoEditor)(W,y,[j],{undoStopBefore:!1,undoStopAfter:!1}),P.end(A,{insert:!0,code:y,language:S,agentId:D,command:T,actionSource:v.ActionSourceEnum.Chat,actionType:v.ActionTypeEnum.ChatInsertCode}))}},[O]);return o.default.createElement("div",{className:h.default.monaco_wrapper},o.default.createElement("div",{className:h.default.action_toolbar},!w&&o.default.createElement(_.Popover,{id:`ai-chat-inser-${L}`,title:(0,v.localize)("aiNative.chat.code.insert")},o.default.createElement(m.EnhanceIcon,{className:(0,p.getIcon)("insert"),onClick:()=>U(),tabIndex:0,role:"button",ariaLabel:(0,v.localize)("aiNative.chat.code.insert")})),o.default.createElement(_.Popover,{id:`ai-chat-copy-${L}`,title:(0,v.localize)(k?"aiNative.chat.code.copy.success":"aiNative.chat.code.copy")},o.default.createElement(m.EnhanceIcon,{className:(0,p.getIcon)("copy"),onClick:()=>B(),tabIndex:0,role:"button",ariaLabel:(0,v.localize)("aiNative.chat.code.copy")}))),o.default.createElement(c.default,{language:S,ref:I,className:h.default.editor},y))};t.CodeEditorWithHighlight=d;const E=({content:b="",relationId:y,renderText:S,agentId:A="",command:D=""})=>{const T=/`([^`]+)`/g,w=/```([^]+?)```/g,I=/```([^]+)?/g,O=R=>{const P=R.split(`
|
|
29280
|
+
</user_info>`},invoke:async(f,l,b,y)=>{this.chatDeferred=new p.Deferred;const{message:S,command:A}=f;let D=S;if(A){const R=this.chatFeatureRegistry.getSlashCommandHandler(A);if(R&&R.providerPrompt){const P=this.monacoCommandRegistry.getActiveCodeEditor();D=await R.providerPrompt(S,P)}}const T=this.preferenceService.get(_.AINativeSettingSectionsId.LLMModelSelection);let w="",I="";T==="deepseek"?w=this.preferenceService.get(_.AINativeSettingSectionsId.DeepseekApiKey,""):T==="openai"?(w=this.preferenceService.get(_.AINativeSettingSectionsId.OpenaiApiKey,""),I=this.preferenceService.get(_.AINativeSettingSectionsId.OpenaiBaseURL,"")):w=this.preferenceService.get(_.AINativeSettingSectionsId.AnthropicApiKey,"");const M=await this.aiBackService.requestStream(D,{requestId:f.requestId,sessionId:f.sessionId,history:this.aiChatService.getHistoryMessages(30720),clientId:this.applicationService.clientId,apiKey:w,model:T,baseURL:I},y);return(0,s.listenReadable)(M,{onData:R=>{l(R)},onEnd:()=>{this.chatDeferred.resolve()},onError:R=>{this.messageService.error(R.message),this.aiReporter.end(f.sessionId+"_"+f.requestId,{message:R.message,success:!1,command:A})}}),await this.chatDeferred.promise,{}},provideSlashCommands:async f=>this.chatFeatureRegistry.getAllSlashCommand().map(l=>({...l,name:l.name,description:l.description||""})),provideChatWelcomeMessage:async f=>{}})),queueMicrotask(()=>{this.chatAgentService.updateAgent(n.AGENT_ID,{})})}};t.ChatProxyService=d,d.AGENT_ID="Default_Chat_Agent",r.__decorate([(0,o.Autowired)(g.IChatAgentService),r.__metadata("design:type",Object)],d.prototype,"chatAgentService",void 0),r.__decorate([(0,o.Autowired)(p.AIBackSerivcePath),r.__metadata("design:type",Object)],d.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(p.ChatFeatureRegistryToken),r.__metadata("design:type",u.ChatFeatureRegistry)],d.prototype,"chatFeatureRegistry",void 0),r.__decorate([(0,o.Autowired)(m.MonacoCommandRegistry),r.__metadata("design:type",m.MonacoCommandRegistry)],d.prototype,"monacoCommandRegistry",void 0),r.__decorate([(0,o.Autowired)(p.ChatServiceToken),r.__metadata("design:type",h.ChatService)],d.prototype,"aiChatService",void 0),r.__decorate([(0,o.Autowired)(p.IAIReporter),r.__metadata("design:type",Object)],d.prototype,"aiReporter",void 0),r.__decorate([(0,o.Autowired)(p.ChatAgentViewServiceToken),r.__metadata("design:type",Object)],d.prototype,"chatAgentViewService",void 0),r.__decorate([(0,o.Autowired)(c.PreferenceService),r.__metadata("design:type",Object)],d.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(p.IApplicationService),r.__metadata("design:type",Object)],d.prototype,"applicationService",void 0),r.__decorate([(0,o.Autowired)(v.IMessageService),r.__metadata("design:type",Object)],d.prototype,"messageService",void 0),r.__decorate([(0,o.Autowired)(c.AppConfig),r.__metadata("design:type",Object)],d.prototype,"appConfig",void 0),t.ChatProxyService=d=n=r.__decorate([(0,o.Injectable)()],d)},29770:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatService=void 0;const n=e(85608),r=e(76003),o=e(43718),c=e(63067),p=e(19413),_=e(59347);let m=class extends o.Disposable{constructor(){super(),this._onChatMessageLaunch=new o.Emitter,this.onChatMessageLaunch=this._onChatMessageLaunch.event,this._onChatReplyMessageLaunch=new o.Emitter,this.onChatReplyMessageLaunch=this._onChatReplyMessageLaunch.event,this._onChatMessageListLaunch=new o.Emitter,this.onChatMessageListLaunch=this._onChatMessageListLaunch.event,this._onScrollToBottom=new o.Emitter,this.onScrollToBottom=this._onScrollToBottom.event}showChatView(){this.mainLayoutService.toggleSlot(p.AI_CHAT_VIEW_ID,!0)}sendMessage(s){this.showChatView(),this._onChatMessageLaunch.fire(s)}clearHistoryMessages(){var s;(s=this.chatInternalService.sessionModel)===null||s===void 0||s.history.clearMessages()}sendReplyMessage(s){typeof s=="string"?this._onChatReplyMessageLaunch.fire({kind:"content",content:s}):this._onChatReplyMessageLaunch.fire(s)}sendMessageList(s){this._onChatMessageListLaunch.fire(s)}getHistoryMessages(s){var g;return((g=this.chatInternalService.sessionModel)===null||g===void 0?void 0:g.history.getMessages(s))||[]}scrollToBottom(){this._onScrollToBottom.fire()}};t.ChatService=m,n.__decorate([(0,r.Autowired)(p.IChatInternalService),n.__metadata("design:type",_.ChatInternalService)],m.prototype,"chatInternalService",void 0),n.__decorate([(0,r.Autowired)(c.IMainLayoutService),n.__metadata("design:type",Object)],m.prototype,"mainLayoutService",void 0),t.ChatService=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},11735:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatFeatureRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718),c=e(19413),p=e(42033),_=e(51081);let m=class extends o.Disposable{constructor(){super(...arguments),this.logger=(0,o.getDebugLogger)(),this.slashCommandsMap=new Map,this.slashCommandsHandlerMap=new Map,this._onDidWelcomeMessageChange=new o.Emitter,this.onDidWelcomeMessageChange=this._onDidWelcomeMessageChange.event}dispose(){super.dispose(),this.slashCommandsMap.clear(),this.slashCommandsHandlerMap.clear()}registerWelcome(s,g){this.chatWelcomeMessageModel=new p.ChatWelcomeMessageModel(s,g),this._onDidWelcomeMessageChange.fire()}registerSlashCommand(s,g){const{name:a}=s;if(this.slashCommandsMap.has(a)){this.logger.warn(`ChatFeatureRegistry: commands name ${a} already exists`);return}this.slashCommandsMap.set(a,new p.ChatSlashCommandItemModel(s,a,_.ChatProxyService.AGENT_ID)),this.slashCommandsHandlerMap.set(a,g)}getSlashCommandHandler(s){return this.slashCommandsHandlerMap.get(s)}getSlashCommand(s){return this.slashCommandsMap.get(s)}getSlashCommandHandlerBySlashName(s){const g=this.getAllSlashCommand().find(a=>a.nameWithSlash===s);if(g)return this.getSlashCommandHandler(g.name)}getSlashCommandBySlashName(s){const g=this.getAllSlashCommand().find(a=>a.nameWithSlash===s);if(g)return this.getSlashCommand(g.name)}getAllSlashCommand(){return Array.from(this.slashCommandsMap.values())}getAllShortcutSlashCommand(){return this.getAllSlashCommand().filter(s=>s.isShortcut===!0)}parseSlashCommand(s){if(s.startsWith(c.SLASH_SYMBOL)){const g=this.getAllSlashCommand();for(const a of g){const{nameWithSlash:h}=a;if(s.startsWith(h))return{value:s.slice(h.length),nameWithSlash:h}}}return{value:s,nameWithSlash:""}}};t.ChatFeatureRegistry=m,t.ChatFeatureRegistry=m=n.__decorate([(0,r.Injectable)()],m)},59347:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatInternalService=void 0;const r=e(85608),o=e(76003),c=e(41869),p=e(43718),_=e(19413),m=e(61282);let v=class extends p.Disposable{constructor(){super(...arguments),this._onChangeRequestId=new p.Emitter,this.onChangeRequestId=this._onChangeRequestId.event,this._onChangeSession=new p.Emitter,this.onChangeSession=this._onChangeSession.event,this._onCancelRequest=new p.Emitter,this.onCancelRequest=this._onCancelRequest.event,this._onRegenerateRequest=new p.Emitter,this.onRegenerateRequest=this._onRegenerateRequest.event,n.set(this,void 0)}get latestRequestId(){return this._latestRequestId}get sessionModel(){return r.__classPrivateFieldGet(this,n,"f")}init(){this.chatManagerService.onStorageInit(()=>{const g=this.chatManagerService.getSessions();g.length>0?this.activateSession(g[g.length-1].sessionId):this.createSessionModel()})}setLatestRequestId(g){this._latestRequestId=g,this._onChangeRequestId.fire(g)}createRequest(g,a,h){return this.chatManagerService.createRequest(r.__classPrivateFieldGet(this,n,"f").sessionId,g,a,h)}sendRequest(g,a=!1){const h=this.chatManagerService.sendRequest(r.__classPrivateFieldGet(this,n,"f").sessionId,g,a);return a&&this._onRegenerateRequest.fire(),h}cancelRequest(){this.chatManagerService.cancelRequest(r.__classPrivateFieldGet(this,n,"f").sessionId),this._onCancelRequest.fire()}createSessionModel(){r.__classPrivateFieldSet(this,n,this.chatManagerService.startSession(),"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}clearSessionModel(g){g=g||r.__classPrivateFieldGet(this,n,"f").sessionId,this.chatManagerService.clearSession(g),g===r.__classPrivateFieldGet(this,n,"f").sessionId&&r.__classPrivateFieldSet(this,n,this.chatManagerService.startSession(),"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}getSessions(){return this.chatManagerService.getSessions()}activateSession(g){const a=this.chatManagerService.getSession(g);if(!a)throw new Error(`There is no session with session id ${g}`);r.__classPrivateFieldSet(this,n,a,"f"),this._onChangeSession.fire(r.__classPrivateFieldGet(this,n,"f").sessionId)}dispose(){var g;(g=r.__classPrivateFieldGet(this,n,"f"))===null||g===void 0||g.dispose(),super.dispose()}};t.ChatInternalService=v,n=new WeakMap,r.__decorate([(0,o.Autowired)(p.AIBackSerivcePath),r.__metadata("design:type",Object)],v.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(c.PreferenceService),r.__metadata("design:type",Object)],v.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(_.IChatManagerService),r.__metadata("design:type",m.ChatManagerService)],v.prototype,"chatManagerService",void 0),t.ChatInternalService=v=r.__decorate([(0,o.Injectable)()],v)},70394:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatRenderRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718);let c=class extends o.Disposable{registerWelcomeRender(_){this.chatWelcomeRender=_}registerAIRoleRender(_){this.chatAIRoleRender=_}registerUserRoleRender(_){this.chatUserRoleRender=_}registerThinkingRender(_){this.chatThinkingRender=_}registerInputRender(_){this.chatInputRender=_}registerThinkingResultRender(_){this.chatThinkingResultRender=_}registerChatViewHeaderRender(_){this.chatViewHeaderRender=_}};t.ChatRenderRegistry=c,t.ChatRenderRegistry=c=n.__decorate([(0,r.Injectable)()],c)},76154:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIChatView=void 0,t.DefaultChatViewHeader=P;const n=e(85608),r=n.__importStar(e(14041)),o=e(68392),c=e(41869),p=e(81878),_=e(89195),m=e(43718),v=e(63067),s=e(72665);e(41937);const g=e(19413),a=e(46044),h=e(73307),u=e(27399),d=e(25834),E=n.__importDefault(e(90103)),f=e(57987),l=e(56474),b=e(92635),y=e(29039),S=e(78048),A=e(86556),D=e(30703),T=e(42033),w=e(51081),I=n.__importDefault(e(77256)),O="chat_scroll",M=100,R=()=>{const k=(0,c.useInjectable)(g.IChatInternalService),F=(0,c.useInjectable)(m.ChatServiceToken),L=(0,c.useInjectable)(m.IAIReporter),B=(0,c.useInjectable)(g.IChatAgentService),U=(0,c.useInjectable)(m.ChatFeatureRegistryToken),W=(0,c.useInjectable)(m.ChatRenderRegistryToken),j=(0,c.useInjectable)(a.LLMContextServiceToken),Z=(0,c.useInjectable)(h.ChatAgentPromptProvider),V=(0,c.useInjectable)(v.IMainLayoutService),$=(0,c.useInjectable)(g.TokenMCPServerProxyService),Q=k.sessionModel.history,G=r.useRef(null),z=r.useRef(null),K=(0,c.useInjectable)(s.IDialogService),X=(0,c.useInjectable)(c.AINativeConfigService),[Y,oe]=r.useState([]),[ie,he]=r.useReducer((nt,_t)=>{switch(_t.type){case"add":return[...nt,..._t.payload||[]];case"clear":return[];case"init":return Array.isArray(_t.payload)?_t.payload:[];default:return nt}},[]),[_e,q]=r.useState(!1),[Oe,ye]=r.useState(""),[ne,ge]=r.useState(""),[Pe,ke]=r.useState(""),[be,we]=r.useState(null),[ve,fe]=r.useState(0);r.useEffect(()=>{const nt=U.getAllShortcutSlashCommand(),_t=B.onDidChangeAgents(()=>{const Nt=B.getCommands().filter(an=>an.isShortcut).map(an=>new T.ChatSlashCommandItemModel({icon:"",name:`${an.name} `,description:an.description,isShortcut:an.isShortcut},an.name,an.agentId));oe(nt.concat(Nt))});return oe(nt),()=>_t.dispose()},[U,B]),(0,c.useUpdateOnEvent)(k.onChangeSession);const xe=r.useMemo(()=>W.chatInputRender?W.chatInputRender:f.ChatInput,[W.chatInputRender]),Ie=r.useMemo(()=>(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:"",text:r.createElement(A.WelcomeMessage,null)}),[]),Fe=r.useCallback(()=>{if(G&&G.current){const nt=G.current.lastElementChild;nt&&nt.scrollIntoView({behavior:"smooth",block:"end"}),G.current.scrollHeight>G.current.clientHeight&&G.current.classList.add(O)}},[G]),pe=r.useCallback(nt=>{he(nt),requestAnimationFrame(()=>{Fe()})},[he,Fe]);r.useEffect(()=>{pe({type:"init",payload:[Ie]})},[]),r.useEffect(()=>{const nt=new m.Disposable;return nt.addDispose(F.onScrollToBottom(()=>{requestAnimationFrame(()=>{Fe()})})),nt.addDispose(F.onChatMessageLaunch(async _t=>{var Nt;if(_t.immediate!==!1){if(_e)return;await Ve(_t)}else _t.agentId&&ye(_t.agentId),_t.command&&ke(_t.command),(Nt=z?.current)===null||Nt===void 0||Nt.setInputValue(_t.message)})),nt.addDispose(F.onChatReplyMessageLaunch(_t=>{if(_t.kind==="content"){const Nt=L.start(m.AIServiceType.CustomReplay,{message:_t.content});Q.addAssistantMessage({content:_t.content,relationId:Nt}),Se({chunk:_t.content,relationId:Nt})}else{const Nt=L.start(m.AIServiceType.CustomReplay,{message:"component#"+_t.component});Q.addAssistantMessage({componentId:_t.component,componentValue:_t.value,content:"",relationId:Nt}),We({chunk:_t,relationId:Nt})}})),nt.addDispose(F.onChatMessageListLaunch(_t=>{const Nt=[];_t.forEach(an=>{const{role:Nn}=an,vi=L.start(m.AIServiceType.Chat,{message:""});if(Nn==="assistant"){const Ln=an;Nt.push((0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:vi,text:r.createElement(b.ChatNotify,{requestId:vi,chunk:Ln})},I.default.chat_notify))}if(Nn==="user"){const{message:Ln}=an,rn=w.ChatProxyService.AGENT_ID,zn=W.chatUserRoleRender,un=rn===w.ChatProxyService.AGENT_ID?"":rn;Nt.push((0,S.createMessageByUser)({id:(0,m.uuid)(6),relationId:vi,text:zn?r.createElement(zn,{content:Ln,agentId:un}):r.createElement(d.CodeBlockWrapperInput,{relationId:vi,text:Ln,agentId:un,command:Pe})},I.default.chat_message_code))}}),pe({type:"add",payload:Nt}),setTimeout(Fe,0)})),()=>nt.dispose()},[F,W.chatAIRoleRender,Q]),r.useEffect(()=>{const nt=new m.Disposable;return nt.addDispose(B.onDidSendMessage(_t=>{const Nt=_t,an=L.start(m.AIServiceType.Agent,{message:""}),Nn=(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:an,text:r.createElement(b.ChatNotify,{requestId:k.latestRequestId,chunk:Nt})},I.default.chat_notify);pe({type:"add",payload:[Nn]})})),nt.addDispose(B.onDidChangeAgents(async()=>{const _t=B.getDefaultAgentId();ge(_t??"")})),()=>nt.dispose()},[B,Q,k]);const re=r.useCallback(async nt=>{const{userMessage:_t,relationId:Nt,requestId:an,render:Nn,startTime:vi,command:Ln,agentId:rn}=nt;Q.addAssistantMessage({type:"component",content:""});const zn=(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:Nt,className:I.default.chat_with_more_actions,text:r.createElement(y.SlashCustomRender,{userMessage:_t,startTime:vi,relationId:Nt,requestId:an,renderContent:Nn,command:Ln,agentId:rn})});pe({type:"add",payload:[zn]})},[G,Q]),le=r.useCallback(async nt=>{const _t=W.chatUserRoleRender,{message:Nt,agentId:an,relationId:Nn,command:vi}=nt,Ln=an===w.ChatProxyService.AGENT_ID?"":an,rn=(0,S.createMessageByUser)({id:(0,m.uuid)(6),relationId:Nn,text:_t?r.createElement(_t,{content:Nt,agentId:Ln,command:vi}):r.createElement(d.CodeBlockWrapperInput,{relationId:Nn,text:Nt,agentId:Ln,command:vi})},I.default.chat_message_code);pe({type:"add",payload:[rn]})},[W,W.chatUserRoleRender,Q,Fe]),Te=r.useCallback(async nt=>{const{message:_t,agentId:Nt,request:an,relationId:Nn,command:vi,startTime:Ln,msgId:rn}=nt,zn=Nt===w.ChatProxyService.AGENT_ID?"":Nt;if(Nt===w.ChatProxyService.AGENT_ID&&vi){const jt=U.getSlashCommandHandler(vi);if(jt&&jt.providerRender)return q(!1),re({userMessage:_t,render:jt.providerRender,relationId:Nn,requestId:an.requestId,startTime:Ln,agentId:Nt,command:vi})}const un=(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:Nn,className:I.default.chat_with_more_actions,text:r.createElement(b.ChatReply,{relationId:Nn,request:an,startTime:Ln,agentId:zn,command:vi,onDidChange:()=>{Fe()},history:Q,onDone:()=>{q(!1)},onRegenerate:()=>{an&&k.sendRequest(an,!0)},msgId:rn})});pe({type:"add",payload:[un]})},[W,Q,Fe]),Se=r.useCallback(nt=>{const{chunk:_t,relationId:Nt}=nt;let an=r.createElement(l.ChatMarkdown,{markdown:_t,fillInIncompleteTokens:!0,agentId:Oe,command:Pe});if(W.chatAIRoleRender){const vi=W.chatAIRoleRender;an=r.createElement(vi,{content:_t})}const Nn=(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:Nt,text:an,className:I.default.chat_with_more_actions});pe({type:"add",payload:[Nn]})},[W,Q,Fe]),We=r.useCallback(nt=>{const{chunk:_t,relationId:Nt}=nt,an=(0,S.createMessageByAI)({id:(0,m.uuid)(6),relationId:Nt,text:r.createElement(b.ChatNotify,{requestId:Nt,chunk:_t})},I.default.chat_notify);pe({type:"add",payload:[an]})},[W,Q,Fe]),Ge=r.useCallback(async nt=>{const{message:_t,agentId:Nt,command:an,reportExtra:Nn}=nt,{actionType:vi,actionSource:Ln}=Nn||{},rn=j.serialize(),zn=await Z.provideContextPrompt(rn,_t),un=k.createRequest(zn,Nt,an);if(!un)return;q(!0),k.setLatestRequestId(un.requestId);const jt=Date.now(),vt=w.ChatProxyService.AGENT_ID===Nt?m.AIServiceType.Chat:m.AIServiceType.Agent,He=L.start(an||vt,{message:_t,agentId:Nt,userMessage:_t,actionType:vi,actionSource:Ln});Q.addUserMessage({content:_t,agentId:Nt,agentCommand:an,relationId:He}),await le({relationId:He,message:_t,command:an,agentId:Nt}),k.sendRequest(un);const Ze=Q.addAssistantMessage({content:"",relationId:He,requestId:un.requestId,replyStartTime:jt});await Te({startTime:jt,relationId:He,message:_t,agentId:Nt,command:an,request:un,msgId:Ze})},[W,W.chatUserRoleRender,Q,Fe]),Ve=r.useCallback(async nt=>{const{message:_t,command:Nt,reportExtra:an}=nt,Nn=nt.agentId?nt.agentId:w.ChatProxyService.AGENT_ID;return Ge({message:_t,agentId:Nn,command:Nt,reportExtra:an})},[Ge]),ft=r.useCallback(()=>{k.clearSessionModel(),F.clearHistoryMessages(),it()},[ie]),it=r.useCallback(()=>{var nt;(nt=G?.current)===null||nt===void 0||nt.classList.remove(O),pe({type:"init",payload:[Ie]})},[ie]),Pt=nt=>{_e||(we(nt.nameWithSlash),ye(nt.agentId),ke(nt.command))},lt=r.useCallback(()=>{V.toggleSlot(g.AI_CHAT_VIEW_ID)},[V]),bt=W.chatViewHeaderRender||P,rt=r.useCallback(async nt=>{for(const _t of Q.getMessages()){if(nt.isCancellationRequested)return;if(_t.role===1)await le({relationId:_t.relationId,message:_t.content,agentId:_t.agentId,command:_t.agentCommand});else if(_t.role===2&&_t.requestId){const Nt=k.sessionModel.getRequest(_t.requestId);Nt&&!Nt.response.isComplete&&q(!0),await Te({msgId:_t.id,relationId:_t.relationId,message:_t.content,agentId:_t.agentId,command:_t.agentCommand,startTime:_t.replyStartTime,request:Nt})}else _t.role===2&&_t.content?await Se({relationId:_t.relationId,chunk:_t.content}):_t.role===2&&_t.componentId&&await We({relationId:_t.relationId,chunk:{kind:"component",component:_t.componentId,value:_t.componentValue}})}},[Te]);r.useEffect(()=>{it();const nt=new m.CancellationTokenSource;return q(!1),rt(nt.token),()=>{nt.cancel()}},[k.sessionModel]),(0,c.useEventEffect)($.onChangeMCPServers,()=>{$.getAllMCPTools().then(nt=>{fe(nt.length)})},[$]);const ut=r.useCallback(async()=>{const nt=await $.getAllMCPTools();K.open({message:r.createElement(D.MCPToolsDialog,{tools:nt}),type:m.MessageType.Empty,buttons:["\u5173\u95ED"]})},[$,K]);return r.createElement("div",{id:I.default.ai_chat_view},r.createElement("div",{className:I.default.header_container},r.createElement(bt,{handleClear:ft,handleCloseChatView:lt})),r.createElement("div",{className:I.default.body_container},r.createElement("div",{className:I.default.left_bar,id:"ai_chat_left_container"},r.createElement("div",{className:I.default.chat_container,ref:G},r.createElement(o.MessageList,{className:I.default.message_list,lockable:!0,toBottomHeight:"100%",dataSource:ie})),Q.slicedMessageCount?r.createElement("div",{className:I.default.chat_tips_text},r.createElement("div",{className:I.default.chat_tips_container},(0,m.formatLocalize)("aiNative.chat.ai.assistant.limit.message",Q.slicedMessageCount))):null,r.createElement("div",{className:I.default.chat_input_wrap},r.createElement(u.ChatContext,null),r.createElement("div",{className:I.default.header_operate},r.createElement("div",{className:I.default.header_operate_left},Y.map(nt=>r.createElement(p.Popover,{id:`ai-chat-shortcut-${nt.name}`,key:`ai-chat-shortcut-${nt.name}`,title:nt.tooltip||nt.name},r.createElement("div",{className:I.default.tag,onClick:()=>Pt(nt)},nt.name)))),r.createElement("div",{className:I.default.header_operate_right},X.capabilities.supportsMCP&&r.createElement("div",{className:I.default.tag,onClick:ut},`MCP Tools: ${ve}`))),r.createElement(xe,{onSend:(nt,_t,Nt)=>Ve({message:nt,agentId:_t,command:Nt,reportExtra:{actionSource:m.ActionSourceEnum.Chat,actionType:m.ActionTypeEnum.Send}}),disabled:_e,enableOptions:!0,theme:be,setTheme:we,agentId:Oe,setAgentId:ye,defaultAgentId:ne,command:Pe,setCommand:ke,ref:z})))))};t.AIChatView=R;function P({handleClear:k,handleCloseChatView:F}){const L=(0,c.useInjectable)(g.IChatInternalService),[B,U]=r.useState([]),[W,j]=r.useState(""),Z=r.useCallback(()=>{L.sessionModel.history.getMessages().length>0&&L.createSessionModel()},[L]),V=r.useCallback(Q=>{L.activateSession(Q.id)},[L]),$=r.useCallback(Q=>{L.clearSessionModel(Q.id)},[L]);return r.useEffect(()=>{const Q=()=>{const K=L.sessionModel.history.getMessages();j(K.length>0?K[K.length-1].content.slice(0,M):""),U(L.getSessions().map(X=>{const oe=X.history.getMessages(),ie=oe.length>0?oe[0].content.slice(0,M):"",he=oe.length>0&&oe[oe.length-1].replyStartTime||0;return{id:X.sessionId,title:ie,updatedAt:he,loading:!1}}))};Q();const G=new m.DisposableCollection,z=new Set;return G.push(L.onChangeSession(K=>{Q(),!z.has(K)&&(z.add(K),G.push(L.sessionModel.history.onMessageChange(()=>{Q()})))})),G.push(L.sessionModel.history.onMessageChange(()=>{Q()})),()=>{G.dispose()}},[L]),r.createElement("div",{className:I.default.header},r.createElement(E.default,{className:I.default.chat_history,currentId:L.sessionModel.sessionId,title:W||(0,m.localize)("aiNative.chat.ai.assistant.name"),historyList:B,onNewChat:Z,onHistoryItemSelect:V,onHistoryItemDelete:$,onHistoryItemChange:()=>{}}),r.createElement(p.Popover,{overlayClassName:I.default.popover_icon,id:"ai-chat-header-clear",title:(0,m.localize)("aiNative.operate.clear.title")},r.createElement(_.EnhanceIcon,{wrapperClassName:I.default.action_btn,className:(0,c.getIcon)("clear"),onClick:k,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.clear.title")})),r.createElement(p.Popover,{overlayClassName:I.default.popover_icon,id:"ai-chat-header-close",position:p.PopoverPosition.left,title:(0,m.localize)("aiNative.operate.close.title")},r.createElement(_.EnhanceIcon,{wrapperClassName:I.default.action_btn,className:(0,c.getIcon)("window-close"),onClick:F,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.close.title")})))}},55369:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContextSelector=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=e(45250),c=n.__importStar(e(14041)),p=e(58998),_=e(41869),m=e(81878),v=e(95263),s=e(95422),g=e(15625),a=e(70392),h=n.__importDefault(e(97431)),u=(0,c.memo)(({uri:d,active:E,selected:f,onDidSelect:l,onDidDeselect:b})=>{var y;const S=(0,s.useInjectable)(_.LabelService),A=(0,s.useInjectable)(_.AppConfig),D=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(E&&D.current){const T={behavior:"instant",block:"end"};D.current.scrollIntoView(T)}},[E,D.current]),c.default.createElement("div",{className:(0,r.default)(h.default.candidate_file,E&&h.default.active),ref:T=>D.current=T,onClick:()=>f?b(d):l(d)},c.default.createElement(m.Icon,{iconClass:S.getIcon(d)}),c.default.createElement("span",{className:h.default.basename},d.path.base),c.default.createElement("span",{className:h.default.dir},(y=a.URI.file(A.workspaceDir).relative(d.parent))===null||y===void 0?void 0:y.toString()),f&&c.default.createElement(m.Icon,{icon:"check",style:{marginLeft:"auto",color:"var(--editorGutter-addedBackground)"}}))});t.ContextSelector=(0,c.memo)(({addedFiles:d,onDidDeselect:E,onDidSelect:f,onDidClose:l})=>{const[b,y]=(0,c.useState)([]),[S,A]=(0,c.useState)(null),[D,T]=(0,c.useState)(!1),[w,I]=(0,c.useState)([]),O=(0,s.useInjectable)(v.RecentFilesManager),M=(0,s.useInjectable)(_.AppConfig),R=(0,s.useInjectable)(g.FileSearchServicePath),P=(0,c.useRef)();(0,c.useEffect)(()=>{b.length===0&&O.getMostRecentlyOpenedFiles().then(L=>{const B=d.map(W=>W.uri),U=L.filter(W=>!B.includes(new a.URI(W))).map(W=>new a.URI(W));y(U),A(U[0]||null)})},[d]);const k=(0,c.useCallback)((0,o.debounce)(L=>{if(L.target.value.trim()===""){I([]),A(b[0]);return}T(!0),R.find(L.target.value,{rootUris:[M.workspaceDir],limit:200,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0}).then(B=>{const U=B.map(W=>new a.URI(W));I(U),A(U[0])}).finally(()=>{T(!1)})},500),[]),F=(0,c.useCallback)(L=>{const{key:B}=L;if(B==="Escape"){l();return}if(B==="Enter"&&S){f(S);return}if(!["ArrowUp","ArrowDown"].includes(B))return;const W=w.length>0?w:b;if(W.length===0)return;const j=W.indexOf(S),Z=j===-1?0:j,V=W.length-1,$=B==="ArrowUp"?Z>0?Z-1:V:Z<V?Z+1:0;A(W[$])},[S,w,b]);return c.default.createElement(p.ClickOutside,{mouseEvents:["click","contextmenu"],onOutsideClick:()=>l()},c.default.createElement("div",{className:h.default.context_selector,onKeyDown:F,tabIndex:-1},c.default.createElement("div",{style:{padding:"4px"}},c.default.createElement(m.Input,{placeholder:"Search files by name",autoFocus:!0,onInput:k})),c.default.createElement(m.Scrollbars,{forwardedRef:L=>L?P.current=L.ref:null},c.default.createElement("div",{className:h.default.context_list},D&&c.default.createElement("div",{className:h.default.context_search_layer}),c.default.createElement("span",{className:h.default.list_desc},w.length>0?"Search Results":"Recent Opened Files"),(w.length>0?w:b).map(L=>c.default.createElement(u,{key:L.toString(),uri:L,active:S===L,onDidSelect:f,onDidDeselect:E,selected:!!d.find(B=>B.uri.isEqual(L))}))))))})},27399:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatContext=void 0;const n=e(85608),r=n.__importStar(e(1171)),o=n.__importStar(e(14041));e(628);const c=e(80564),p=e(81878),_=e(89195),m=e(95422),v=e(11050),s=e(63214),g=e(33783),a=e(86560),h=e(82196),u=e(46044),d=e(55369),E=n.__importDefault(e(97431)),f=()=>({height:0,opacity:0}),l=S=>({height:S.scrollHeight,opacity:1}),b=S=>({height:S.offsetHeight}),y=(S,A)=>A.propertyName==="height";t.ChatContext=(0,o.memo)(()=>{const[S,A]=(0,o.useState)([]),[D,T]=(0,o.useState)(!1),w=(0,m.useInjectable)(s.LabelService),I=(0,m.useInjectable)(v.AppConfig),O=(0,m.useInjectable)(h.WorkbenchEditorService),M=(0,m.useInjectable)(u.LLMContextServiceToken);(0,o.useEffect)(()=>{const U=a.Event.debounce(M.onDidContextFilesChangeEvent,(W,j)=>j,50)(W=>{W&&A([...W.attached])},M);return()=>{U.dispose()}},[]);const R=(0,o.useCallback)(()=>{T(!0)},[S]),P=(0,o.useCallback)(U=>{M.addFileToContext(U,void 0,!0)},[]),k=(0,o.useCallback)(U=>{M.removeFileFromContext(U,!0)},[]),F=(0,o.useCallback)(U=>{O.open(U)},[]),L=(0,o.useCallback)(U=>{U.stopPropagation(),U.preventDefault(),M.cleanFileContext()},[]),B=(0,o.useCallback)((U,W)=>{U.stopPropagation(),U.preventDefault(),k(W)},[]);return o.default.createElement("div",{className:E.default.chat_context},o.default.createElement(r.default,{expandIcon:({isActive:U})=>U?o.default.createElement(c.Icon,{icon:"down"}):o.default.createElement(c.Icon,{icon:"right"}),openMotion:{motionName:"rc-collapse-motion",onEnterStart:f,onEnterActive:l,onLeaveStart:b,onLeaveActive:f,onEnterEnd:y,onLeaveEnd:y,motionDeadline:100,leavedClassName:E.default.collapse_hide}},o.default.createElement(r.Panel,{header:o.default.createElement("div",{className:E.default.context_header},o.default.createElement("h3",{className:E.default.chat_context_title},"Context ",S.length>0?` (${S.length} files)`:""),o.default.createElement(p.Popover,{overlayClassName:E.default.popover_icon,id:"ai-context-header-clear",title:(0,g.localize)("aiNative.operate.clear.title")},o.default.createElement(_.EnhanceIcon,{wrapperClassName:E.default.action_btn,className:(0,p.getIcon)("clear"),onClick:L,tabIndex:0,role:"button",ariaLabel:(0,g.localize)("aiNative.operate.clear.title")}))),key:"context-panel"},o.default.createElement("div",{className:E.default.file_list},S.map(U=>{var W;return o.default.createElement("div",{className:E.default.selected_item,key:U.uri.toString(),onClick:()=>F(U.uri)},o.default.createElement(c.Icon,{iconClass:w.getIcon(U.uri)}),o.default.createElement("span",{className:E.default.basename},U.uri.path.base,U.selection?` (${U.selection[0]}-${U.selection[1]})`:""),o.default.createElement("span",{className:E.default.dir},(W=a.URI.file(I.workspaceDir).relative(U.uri.parent))===null||W===void 0?void 0:W.toString()),o.default.createElement(c.Icon,{icon:"close",className:E.default.close_icon,onClick:j=>B(j,U.uri)}))})),o.default.createElement("div",{className:E.default.add_context,onClick:R},o.default.createElement(c.Icon,{icon:"add"}),"Add Files"))),D&&o.default.createElement(d.ContextSelector,{onDidClose:()=>T(!1),onDidDeselect:k,onDidSelect:P,addedFiles:S}))})},25834:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeBlockWrapperInput=t.CodeBlockWrapper=t.CodeEditorWithHighlight=void 0;const n=e(85608),r=n.__importDefault(e(56005)),o=n.__importStar(e(14041)),c=n.__importDefault(e(10580)),p=e(41869),_=e(81878),m=e(89195),v=e(43718),s=e(71624),g=e(9447),a=e(52416),h=n.__importDefault(e(6960)),u=e(83933);e(38191);const d=b=>{const{input:y,language:S,relationId:A,agentId:D,command:T,hideInsert:w}=b,I=o.default.useRef(null),O=(0,p.useInjectable)(g.MonacoCommandRegistry),M=(0,p.useInjectable)(p.IClipboardService),R=(0,p.useInjectable)(a.IThemeService),P=(0,p.useInjectable)(v.IAIReporter),[k,F]=(0,o.useState)(!1),L=(0,o.useMemo)(()=>(0,p.uuid)(12),[I,I.current]);(0,o.useEffect)(()=>{const W=V=>{V.type==="dark"||V.type==="hcDark"?e.e(622).then(e.bind(e,51622)):(V.type==="light"||V.type==="hcLight")&&e.e(412).then(e.bind(e,50412))},j=R.onThemeChange(V=>{W(V)}),Z=R.getCurrentThemeSync();return W(Z),()=>j.dispose()},[]);const B=(0,o.useCallback)(async()=>{F(!0),await M.writeText(y),P.end(A,{copy:!0,code:y,language:S,agentId:D,command:T,actionSource:v.ActionSourceEnum.Chat,actionType:v.ActionTypeEnum.ChatCopyCode}),(0,v.runWhenIdle)(()=>{F(!1)},1e3)},[M,y,A]),U=(0,o.useCallback)(()=>{const W=O.getActiveCodeEditor();if(W){const j=W.getSelection();j&&((0,s.insertSnippetWithMonacoEditor)(W,y,[j],{undoStopBefore:!1,undoStopAfter:!1}),P.end(A,{insert:!0,code:y,language:S,agentId:D,command:T,actionSource:v.ActionSourceEnum.Chat,actionType:v.ActionTypeEnum.ChatInsertCode}))}},[O]);return o.default.createElement("div",{className:h.default.monaco_wrapper},o.default.createElement("div",{className:h.default.action_toolbar},!w&&o.default.createElement(_.Popover,{id:`ai-chat-inser-${L}`,title:(0,v.localize)("aiNative.chat.code.insert")},o.default.createElement(m.EnhanceIcon,{className:(0,p.getIcon)("insert"),onClick:()=>U(),tabIndex:0,role:"button",ariaLabel:(0,v.localize)("aiNative.chat.code.insert")})),o.default.createElement(_.Popover,{id:`ai-chat-copy-${L}`,title:(0,v.localize)(k?"aiNative.chat.code.copy.success":"aiNative.chat.code.copy")},o.default.createElement(m.EnhanceIcon,{className:(0,p.getIcon)("copy"),onClick:()=>B(),tabIndex:0,role:"button",ariaLabel:(0,v.localize)("aiNative.chat.code.copy")}))),o.default.createElement(c.default,{language:S,ref:I,className:h.default.editor},y))};t.CodeEditorWithHighlight=d;const E=({content:b="",relationId:y,renderText:S,agentId:A="",command:D=""})=>{const T=/`([^`]+)`/g,w=/```([^]+?)```/g,I=/```([^]+)?/g,O=R=>{const P=R.split(`
|
|
29281
29281
|
`)[0].trim().toLowerCase(),k=u.highLightLanguageSupport.find(F=>F===P)||"plaintext";return R=R.replace(/.*?\n/,""),R=R.trim(),o.default.createElement("div",{className:h.default.code_block},o.default.createElement("div",{className:h.default.code_language},(0,r.default)(k)),o.default.createElement(t.CodeEditorWithHighlight,{input:R,language:P,relationId:y,agentId:A,command:D}))},M=(0,o.useMemo)(()=>{const R=b.split(w),P=[];return R.map((k,F)=>{F%2===0?k.split(T).map((L,B)=>{if(B%2===0){if(L.includes("```")){const U=L.split(I).filter(Boolean);if(U.length===2){P.push(U[0]),P.push(O(U[1]));return}}S?P.push(S(L)):P.push(L)}else P.push(o.default.createElement("span",{className:h.default.code_inline,key:B},L))}):P.push(O(k))}),P},[b,S]);return o.default.createElement(o.default.Fragment,null,M)},f=({text:b,renderText:y,relationId:S,agentId:A})=>o.default.createElement("div",{className:h.default.ai_chat_code_wrapper},o.default.createElement("div",{className:h.default.render_text},o.default.createElement(E,{content:b,renderText:y,relationId:S,agentId:A})));t.CodeBlockWrapper=f;const l=({text:b,relationId:y,agentId:S,command:A})=>{const D=(0,p.useInjectable)(v.ChatFeatureRegistryToken),[T,w]=(0,o.useState)(""),[I,O]=(0,o.useState)(b);return o.default.useEffect(()=>{const{value:M,nameWithSlash:R}=D.parseSlashCommand(b);if(R){w(R),O(M);return}else O(b)},[b,D]),o.default.createElement("div",{className:h.default.ai_chat_code_wrapper},o.default.createElement("div",{className:h.default.render_text},T&&o.default.createElement("div",{className:h.default.tag_wrapper},o.default.createElement("span",{className:h.default.tag},T)),S&&o.default.createElement("div",{className:h.default.tag,style:{marginRight:4}},"@",S),A&&o.default.createElement("div",{className:h.default.tag},"/ ",A),o.default.createElement(E,{content:I,relationId:y,agentId:S,command:A})))};t.CodeBlockWrapperInput=l},90103:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267);e(84183);const p=e(41869),_=e(89195),m=100,v=(0,o.memo)(({title:s,historyList:g,currentId:a,onNewChat:h,onHistoryItemSelect:u,onHistoryItemChange:d,onHistoryItemDelete:E,className:f})=>{const[l,b]=(0,o.useState)(null),[y,S]=(0,o.useState)(""),A=(0,o.useRef)(null),D=(0,o.useCallback)(U=>{S(U.target.value)},[y]),T=(0,o.useCallback)(U=>{u(U),S("")},[u,y]),w=(0,o.useCallback)(U=>{b({[U.id]:!0})},[l]),I=(0,o.useCallback)((U,W)=>{b({[U.id]:!1}),d(U,W)},[d,l]),O=(0,o.useCallback)(U=>{b({[U.id]:!1})},[l]),M=(0,o.useCallback)(()=>{h()},[h]);(0,o.useEffect)(()=>{var U;l&&((U=A.current)===null||U===void 0||U.focus({cursor:"end"}))},[l]);const R=(0,o.useCallback)(U=>{E(U)},[E]),P=(0,o.useCallback)(U=>{if(U<60*60*1e3){const j=Math.floor(U/6e4);return j===0?"Just now":`${j}m ago`}else{if(U<24*60*60*1e3)return`${Math.floor(U/36e5)}h ago`;if(U<7*24*60*60*1e3)return`${Math.floor(U/864e5)}d ago`;if(U<30*24*60*60*1e3)return`${Math.floor(U/6048e5)}w ago`;if(U<365*24*60*60*1e3)return`${Math.floor(U/2592e6)}mo ago`}return`${Math.floor(U/(365*24*60*60*1e3))}y ago`},[]),k=(0,o.useCallback)(U=>{const W=new Date,j=[];return U.forEach(Z=>{const V=new Date(Z.updatedAt),$=W.getTime()-V.getTime(),Q=P($),G=j.find(z=>z.key===Q);G?G.items.push(Z):j.push({key:Q,items:[Z]})}),j},[P]),F=(0,o.useCallback)(U=>o.default.createElement("div",{key:U.id,className:(0,r.default)("dm-chat-history-item",U.id===a?"dm-chat-history-item-selected":""),onClick:()=>T(U)},o.default.createElement("div",{className:"dm-chat-history-item-content"},U.loading?o.default.createElement(c.Loading,null):o.default.createElement(c.Icon,{icon:"message",style:{width:"16px",height:"16px",marginRight:4}}),l?.[U.id]?o.default.createElement(c.Input,{className:"dm-chat-history-item-title",defaultValue:U.title,ref:A,onPressEnter:W=>{I(U,W.target.value)},onBlur:()=>O(U)}):o.default.createElement("span",{id:`dm-chat-history-item-title-${U.id}`,className:"dm-chat-history-item-title"},U.title)),o.default.createElement("div",{className:"dm-chat-history-item-actions"},o.default.createElement(_.EnhanceIcon,{className:(0,r.default)("dm-chat-history-item-actions-delete",(0,c.getIcon)("delete")),onClick:W=>{W.preventDefault(),W.stopPropagation(),R(U)},ariaLabel:(0,p.localize)("aiNative.operate.chatHistory.delete")}))),[l,T,I,O,w,R,a,A]),L=(0,o.useCallback)(()=>{const U=g.slice(0,m).filter(j=>j.title&&j.title.includes(y)),W=k(U);return o.default.createElement("div",null,o.default.createElement(c.Input,{placeholder:(0,p.localize)("aiNative.operate.chatHistory.searchPlaceholder"),style:{width:"100%",maxWidth:"100%"},value:y,onChange:D}),o.default.createElement("div",{className:"dm-chat-history-list"},W.map(j=>o.default.createElement("div",{key:j.key,style:{padding:"4px"}},o.default.createElement("div",{className:"dm-chat-history-time"},j.key),j.items.map(F)))))},[g,y,k,D,F]),B=(0,o.useCallback)(U=>U.parentElement,[]);return o.default.createElement("div",{className:(0,r.default)("dm-chat-history-header",f)},o.default.createElement("div",{className:"dm-chat-history-header-title"},o.default.createElement("span",null,s)),o.default.createElement("div",{className:"dm-chat-history-header-actions"},o.default.createElement(c.Popover,{id:"dm-chat-history-header-actions-history",content:L(),trigger:c.PopoverTriggerType.click,position:c.PopoverPosition.bottomRight,title:(0,p.localize)("aiNative.operate.chatHistory.title"),getPopupContainer:B},o.default.createElement("div",{className:"dm-chat-history-header-actions-history",title:(0,p.localize)("aiNative.operate.chatHistory.title")},o.default.createElement(_.EnhanceIcon,{className:(0,r.default)("dm-chat-history-header-actions-history","codicon codicon-history")}))),o.default.createElement(c.Popover,{id:"ai-chat-header-close",position:c.PopoverPosition.top,title:(0,p.localize)("aiNative.operate.newChat.title")},o.default.createElement(_.EnhanceIcon,{className:(0,r.default)("dm-chat-history-header-actions-new",(0,c.getIcon)("plus")),onClick:M}))))});t.default=v},57987:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatInput=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(41869),p=e(81878),_=e(89195),m=e(83913),v=e(43718),s=e(9447),g=e(19413),a=e(42033),h=e(51081),u=n.__importDefault(e(6960)),d=8,E=68,f=({icon:S,name:A,description:D,agentId:T,command:w,selectedAgentId:I})=>{const O=(0,o.useMemo)(()=>!I&&T&&T!==h.ChatProxyService.AGENT_ID&&w?o.default.createElement("span",{className:u.default.agent_label},"@",T):null,[]);return o.default.createElement("div",{className:u.default.block},S&&o.default.createElement(_.EnhanceIcon,{className:S}),A&&o.default.createElement("span",{className:u.default.name},A),D&&o.default.createElement("span",{className:u.default.text},D),O)},l=({onClick:S,bottom:A,trigger:D,agentId:T})=>{const w=(0,c.useInjectable)(g.IChatAgentService),I=(0,c.useInjectable)(v.ChatAgentViewServiceToken),O=(0,o.useMemo)(()=>D===g.AT_SIGN_SYMBOL?I.getRenderAgents().map(R=>new a.ChatSlashCommandItemModel({icon:"",name:`${g.AT_SIGN_SYMBOL}${R.id} `,description:R.metadata.description},"",R.id)):w.getCommands().map(R=>new a.ChatSlashCommandItemModel({icon:"",name:`${g.SLASH_SYMBOL} ${R.name} `,description:R.description},R.name,R.agentId)).filter(R=>!T||R.agentId===T),[D,w]),M=(0,o.useCallback)((R,P,k)=>{S&&S(R||"",P,k)},[S]);return O.length===0?null:o.default.createElement("div",{className:u.default.instruction_options_container,style:{bottom:A+"px"}},o.default.createElement("div",{className:u.default.options},o.default.createElement("ul",null,O.map(({icon:R,name:P,nameWithSlash:k,description:F,agentId:L,command:B})=>o.default.createElement("li",{key:`${L||""}-${P}`,onMouseDown:()=>M(k,L,B)},o.default.createElement(f,{icon:R,name:P,description:F,agentId:L,command:B,selectedAgentId:T}))))))},b=({themeBlock:S})=>o.default.createElement("div",{className:u.default.theme_container},o.default.createElement("div",{className:u.default.theme_block},S)),y=({agentId:S,command:A})=>o.default.createElement("div",{className:u.default.theme_container},S!==h.ChatProxyService.AGENT_ID&&o.default.createElement("div",{className:u.default.theme_block,style:{marginRight:4}},"@",S),A&&o.default.createElement("div",{className:u.default.theme_block},g.SLASH_SYMBOL," ",A));t.ChatInput=o.default.forwardRef((S,A)=>{const{onSend:D,onValueChange:T,enableOptions:w=!1,disabled:I=!1,defaultHeight:O=32,autoFocus:M,setTheme:R,theme:P,setAgentId:k,agentId:F,defaultAgentId:L,setCommand:B,command:U,sendBtnClassName:W}=S,j=F||L,Z=(0,o.useRef)(null),V=(0,o.useRef)(null),[$,Q]=(0,o.useState)(S.value||""),[G,z]=(0,o.useState)(!1),[K,X]=(0,o.useState)(O),[Y,oe]=(0,o.useState)(!1),[ie,he]=(0,o.useState)(!1),[_e,q]=(0,o.useState)(!1),[Oe,ye]=(0,o.useState)((0,v.localize)("aiNative.chat.input.placeholder.default")),ne=(0,c.useInjectable)(s.MonacoCommandRegistry),ge=(0,c.useInjectable)(g.IChatAgentService),Pe=(0,c.useInjectable)(v.ChatFeatureRegistryToken),ke=(0,c.useLatest)(j);(0,o.useImperativeHandle)(A,()=>({setInputValue:le=>{Q(le),(0,v.runWhenIdle)(()=>{var Te;(Te=Z.current)===null||Te===void 0||Te.focus()},120)}})),(0,o.useEffect)(()=>{S.value!==$&&Q(S.value||"")},[S.value]),(0,o.useEffect)(()=>{var le;(le=Z.current)===null||le===void 0||le.focus();const Te=(0,v.localize)("aiNative.chat.input.placeholder.default"),Se=Pe.getSlashCommandHandler(U);if(Se&&Se.providerInputPlaceholder){const We=ne.getActiveCodeEditor(),Ge=Se.providerInputPlaceholder($,We);ye(Ge||Te)}else ye(Te)},[Pe,U]),(0,o.useEffect)(()=>{ve(P||"",j,U)},[P,j,U]),(0,o.useEffect)(()=>{var le;Z&&M&&((le=Z.current)===null||le===void 0||le.focus())},[Z,M,S.value]),(0,o.useEffect)(()=>{if(w&&(($===g.SLASH_SYMBOL||$===g.AT_SIGN_SYMBOL&&ge.getAgents().length>0)&&!_e?z(!0):z(!1)),$.startsWith(g.SLASH_SYMBOL)){const{value:le,nameWithSlash:Te}=Pe.parseSlashCommand($);if(Te){const Se=Pe.getSlashCommandBySlashName(Te);Q(le),R(Te),Se&&(k(Se.agentId),B(Se.command));return}}if(ge.getAgents().length){const le=ge.parseMessage($,ke.current);(le.agentId||le.command)&&(R(""),Q(le.message),le.agentId&&k(le.agentId),le.command&&B(le.command))}},[Z,$,w,Pe]),(0,o.useEffect)(()=>{$||(X(O),he(!1),q(!1))},[$]);const be=(0,o.useCallback)(le=>{Q(le),T&&T(le)},[]),we=(0,o.useCallback)(async()=>{if(I)return;const le=(Te=$)=>{D(Te,j,U),Q(""),R(""),k(""),B("")};if(U){const Te=Pe.getSlashCommandHandler(U);if(Te&&Te.execute){const Se=ne.getActiveCodeEditor();await Te.execute($,We=>le(We),Se);return}}le()},[D,$,j,U,Pe]),ve=(0,o.useCallback)((le,Te,Se)=>{if(Te){if(z(!1),R(""),k(Te),B(Se||""),Z?.current){const We=Z.current.value;(We===g.AT_SIGN_SYMBOL||Se&&We===g.SLASH_SYMBOL)&&Q(""),(0,v.runWhenIdle)(()=>Z.current.focus())}}else if(le){z(!1),k(""),B("");const We=Pe.getSlashCommandBySlashName(le);if(R(We?We.nameWithSlash:""),Z&&Z.current){const Ge=Z.current.value;Ge.length===1&&Ge.startsWith(g.SLASH_SYMBOL)&&Q(""),(0,v.runWhenIdle)(()=>Z.current.focus())}}},[Z,Pe]),fe=(0,o.useMemo)(()=>{const le=d+K;return _e&&z(!1),le},[K]),xe=le=>{var Te,Se;if(le.key==="Backspace"&&((Te=Z.current)===null||Te===void 0?void 0:Te.selectionEnd)===0&&((Se=Z.current)===null||Se===void 0?void 0:Se.selectionStart)===0){if(R(""),j===h.ChatProxyService.AGENT_ID){B(""),k("");return}j&&(U?B(""):k(""))}},Ie=(0,o.useCallback)(le=>{X(le),le>E?he(!0):he(!1)},[]),Fe=(0,o.useCallback)(()=>{oe(!1),z(!1)},[Z]),pe=(0,o.useCallback)(()=>{oe(!0)},[Z]),re=(0,o.useCallback)(()=>{const le=_e;if(q(!le),le)X(O),he(!1);else{const Se=document.querySelector("#ai_chat_left_container").clientHeight-68-(P?32:0)-16;X(Se)}},[_e]);return o.default.createElement("div",{className:(0,r.default)(u.default.chat_input_container,Y?u.default.active:null)},G&&o.default.createElement("div",{ref:V},o.default.createElement(l,{onClick:ve,bottom:fe,trigger:$,agentId:j})),P&&o.default.createElement(b,{themeBlock:P}),j&&o.default.createElement(y,{agentId:j,command:U}),ie&&o.default.createElement("div",{className:u.default.expand_icon,onClick:()=>re()},o.default.createElement(p.Popover,{id:"ai_chat_input_expand",title:(0,v.localize)(_e?"aiNative.chat.expand.unfullscreen":"aiNative.chat.expand.fullescreen")},o.default.createElement(p.Icon,{className:(0,r.default)(_e?(0,p.getIcon)("unfullscreen"):(0,p.getIcon)("fullescreen"))}))),o.default.createElement(m.InteractiveInput,{ref:Z,placeholder:Oe,value:$,onKeyDown:xe,onBlur:Fe,onFocus:pe,onValueChange:be,disabled:I,className:u.default.input_wrapper,onSend:we,sendBtnClassName:W,onHeightChange:Ie,height:K,popoverPosition:p.PopoverPosition.left}))})},56474:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatMarkdown=void 0,t.postProcessCodeBlockLanguageId=a,t.fillInIncompleteTokens=h;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(13719),p=e(84605),_=e(41869),m=e(90684),v=e(25834),s=n.__importDefault(e(6960)),g=I=>{const O=(0,o.useRef)(null),M=(0,_.useInjectable)(_.AppConfig),[R,P]=(0,o.useState)(),[k,F]=(0,o.useState)();return(0,o.useEffect)(()=>{var L,B;if(!O.current)return;const W=typeof I.markdown=="string"?new m.MarkdownString(I.markdown):I.markdown,j=new c.MarkdownReactRenderer;j.code=(z,K)=>{const X=a(K);return o.default.createElement("div",{className:s.default.code},o.default.createElement(_.ConfigProvider,{value:M},o.default.createElement("div",{className:s.default.code_block},o.default.createElement("div",{className:(0,r.default)(s.default.code_language,"language-badge")},X),o.default.createElement(v.CodeEditorWithHighlight,{input:z,language:X,relationId:I.relationId||"",agentId:I.agentId,command:I.command,hideInsert:I.hideInsert}))))},j.codespan=z=>o.default.createElement("code",{className:s.default.code_inline},z);const Z=new c.MarkdownReactParser({renderer:j}),V=(L=I.markedOptions)!==null&&L!==void 0?L:{};V.renderer=Z;let $=(B=W.value)!==null&&B!==void 0?B:"";$.length>1e5&&($=`${$.slice(0,1e5)}\u2026`);let Q,G;if(I.fillInIncompleteTokens){const z={...p.marked.defaults,...V},K=p.marked.lexer($,z),X=h(K);Q=p.marked.parser(X,z),G=X}else{const z=p.marked.lexer($,p.marked.defaults);Q=p.marked.parser(z,V),G=z}F(G),P(Z)},[I.markdown]),o.default.createElement("div",{className:(0,r.default)(s.default.markdown_container,I.className),ref:O,tabIndex:0},k&&R&&R.parse(k))};t.ChatMarkdown=g;function a(I){if(!I)return"";const O=I.split(/[\s+|:|,|\{|\?]/,1);return O.length?O[0]:I}function h(I){let O,M;for(O=0;O<I.length;O++){const R=I[O];if(R.type==="paragraph"&&R.raw.match(/(\n|^)```/)){M=u(I.slice(O));break}if(R.type==="paragraph"&&R.raw.match(/(\n|^)\|/)){M=D(I.slice(O));break}if(R.type==="paragraph"&&O===I.length-1){const P=w(R);if(P){M=[P];break}}}if(M){const R=[...I.slice(0,O),...M];return R.links=I.links,R}return I}function u(I){const O=T(I);return p.marked.lexer(O+"\n```")}function d(I){return A(I,"`")}function E(I){return A(I,"*")}function f(I){return A(I,"_")}function l(I){return A(I,")")}function b(I){return A(I,"](about:blank)")}function y(I){return A(I,"**")}function S(I){return A(I,"__")}function A(I,O){const M=T(Array.isArray(I)?I:[I]);return p.marked.lexer(M+O)[0]}function D(I){const O=T(I),M=O.split(`
|
|
29282
29282
|
`);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(`
|
|
29283
29283
|
`):O,F=!!k.match(/\|\s*$/),L=k+(F?"":"|")+`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/cli-engine",
|
|
3
|
-
"version": "3.7.2-next-
|
|
3
|
+
"version": "3.7.2-next-1740450374.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.7.2-next-
|
|
30
|
-
"@opensumi/ide-core-common": "3.7.2-next-
|
|
31
|
-
"@opensumi/ide-core-node": "3.7.2-next-
|
|
32
|
-
"@opensumi/ide-express-file-server": "3.7.2-next-
|
|
33
|
-
"@opensumi/ide-extension": "3.7.2-next-
|
|
34
|
-
"@opensumi/ide-i18n": "3.7.2-next-
|
|
35
|
-
"@opensumi/ide-main-layout": "3.7.2-next-
|
|
36
|
-
"@opensumi/ide-startup": "3.7.2-next-
|
|
29
|
+
"@opensumi/ide-core-browser": "3.7.2-next-1740450374.0",
|
|
30
|
+
"@opensumi/ide-core-common": "3.7.2-next-1740450374.0",
|
|
31
|
+
"@opensumi/ide-core-node": "3.7.2-next-1740450374.0",
|
|
32
|
+
"@opensumi/ide-express-file-server": "3.7.2-next-1740450374.0",
|
|
33
|
+
"@opensumi/ide-extension": "3.7.2-next-1740450374.0",
|
|
34
|
+
"@opensumi/ide-i18n": "3.7.2-next-1740450374.0",
|
|
35
|
+
"@opensumi/ide-main-layout": "3.7.2-next-1740450374.0",
|
|
36
|
+
"@opensumi/ide-startup": "3.7.2-next-1740450374.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": "12458460da12fc6e96c4942034c7012b2381990c"
|
|
76
76
|
}
|