@opensumi/cli-engine 3.9.1-next-1761715915.0 → 3.9.1-next-1761881348.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 +8 -8
- package/package.json +10 -10
package/lib/browser/browser.js
CHANGED
|
@@ -32950,13 +32950,13 @@ ${JSON.stringify(r,null,2)}`);const l=n[o]();return new Language(INTERNAL,l)})}}
|
|
|
32950
32950
|
User's intention: ${c.instructions}
|
|
32951
32951
|
`:""}
|
|
32952
32952
|
Provide the complete updated code.
|
|
32953
|
-
`,{...await this.chatProxyService.getRequestOptions(),trimTexts:["<updated-code>","</updated-code>"],system:"You are a coding assistant that helps merge code updates, ensuring every modification is fully integrated."})}}};t.ApplyService=h,n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],h.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],h.prototype,"modelService",void 0),n.__decorate([(0,r.Autowired)(o.AIBackSerivcePath),n.__metadata("design:type",Object)],h.prototype,"aiBackService",void 0),n.__decorate([(0,r.Autowired)(p.ChatProxyServiceToken),n.__metadata("design:type",g.ChatProxyService)],h.prototype,"chatProxyService",void 0),t.ApplyService=h=n.__decorate([(0,r.Injectable)()],h)},74055:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatAgentService=void 0;const n=e(85608),r=n.__importDefault(e(66652)),o=e(76003),l=e(43718),_=e(46044),v=e(73307),m=e(29770);let p=class extends l.Disposable{constructor(){super(),this.agents=new Map,this.initialUserMessageMap=new Map,this.shouldUpdateContext=!1,this._onDidChangeAgents=new l.Emitter,this.onDidChangeAgents=this._onDidChangeAgents.event,this._onDidSendMessage=new l.Emitter,this.onDidSendMessage=this._onDidSendMessage.event,this.addDispose(this._onDidChangeAgents),this.addDispose(this.llmContextService.onDidContextFilesChangeEvent(g=>{g.version!==this.contextVersion&&(this.contextVersion=g.version,this.shouldUpdateContext=!0)}))}registerAgent(g){if(this.agents.has(g.id))throw new Error(`Already registered an agent with id ${g.id}`);return this.agents.set(g.id,{agent:g,commands:[]}),this._onDidChangeAgents.fire(),(0,l.toDisposable)(()=>{this.agents.delete(g.id)&&this._onDidChangeAgents.fire()})}async updateAgent(g,a){const h=this.agents.get(g);if(!h)throw new Error(`No agent with id ${g} registered`);h.agent.metadata={...h.agent.metadata,...a},h.commands=await h.agent.provideSlashCommands(l.CancellationToken.None),a.isDefault&&(this.defaultAgentId=g);const u=await h.agent.provideChatWelcomeMessage(l.CancellationToken.None);if(u){const{content:c,sampleQuestions:E}=u;this.chatFeatureRegistry.registerWelcome(c,E)}this._onDidChangeAgents.fire()}getAgents(){return Array.from(this.agents.values(),g=>g.agent)}hasAgent(g){return this.agents.has(g)}getDefaultAgentId(){return this.defaultAgentId}getAgent(g){const a=this.agents.get(g);return a?.agent}async invokeAgent(g,a,h,u,c){const E=this.agents.get(g);if(!E)throw new Error(`No agent with id ${g}`);if(this.initialUserMessageMap.has(a.sessionId))(this.shouldUpdateContext||a.regenerate||u.length===0)&&(a.message=await this.provideContextMessage(a.message,a.sessionId),this.shouldUpdateContext=!1);else{this.initialUserMessageMap.set(a.sessionId,a.message);const d=a.message;a.message=await this.provideContextMessage(d,a.sessionId)}return await E.agent.invoke(a,h,u,c)}async provideContextMessage(g,a){const h=await this.llmContextService.serialize(),u=await this.promptProvider.provideContextPrompt(h,g);return this.aiReporter.send({msgType:l.AIServiceType.Chat,actionType:l.ActionTypeEnum.ContextEnhance,actionSource:l.ActionSourceEnum.Chat,sessionId:a,message:u}),u}populateChatInput(g,a){this.aiChatService.sendMessage({...a,agentId:g,immediate:!1})}getCommands(){return(0,r.default)(Array.from(this.agents.values(),({agent:g,commands:a})=>a.map(h=>({...h,agentId:g.id}))))}async getFollowups(g,a,h){const u=this.agents.get(g);if(!u)throw new Error(`No agent with id ${g}`);return u.agent.provideFollowups?u.agent.provideFollowups(a,h):[]}async getSampleQuestions(g,a){const h=this.agents.get(g);if(!h)throw new Error(`No agent with id ${g}`);return h.agent.provideSampleQuestions?h.agent.provideSampleQuestions(a):[]}async getAllSampleQuestions(){const g=await Promise.all(Array.from(this.agents.values()).map(async({agent:a})=>{try{return await this.getSampleQuestions(a.id,l.CancellationToken.None)}catch(h){return this.logger.error(h),[]}}));return(0,r.default)(g)}sendMessage(g){this._onDidSendMessage.fire(g)}parseMessage(g,a){var h;const u={agentId:"",command:"",message:g};let c=a;const E=this.getAgents(),f=new RegExp(`^@(${E.map(y=>y.id).join("|")})(?:\\s+|$)`,"i"),d=u.message.match(f);if(d){const y=E.find(b=>b.id.toLowerCase()===d[1].toLowerCase());if(!y)return u;c=y.id,u.agentId=c,u.message=u.message.replace(d[0],"")}if(c){const y=(h=this.agents.get(c))===null||h===void 0?void 0:h.commands;if(y?.length){const b=new RegExp(`^/\\s?(${y.map(S=>S.name).join("|")})(?:\\s+|$)`,"i"),A=u.message.match(b);if(A){const S=y.find(D=>D.name.toLowerCase()===A[1].toLowerCase());if(!S)return u;u.command=S.name,u.message=u.message.replace(A[0],"")}}}return u}};t.ChatAgentService=p,n.__decorate([(0,o.Autowired)(l.ILogger),n.__metadata("design:type",Object)],p.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(l.IAIReporter),n.__metadata("design:type",Object)],p.prototype,"aiReporter",void 0),n.__decorate([(0,o.Autowired)(_.LLMContextServiceToken),n.__metadata("design:type",Object)],p.prototype,"llmContextService",void 0),n.__decorate([(0,o.Autowired)(v.ChatAgentPromptProvider),n.__metadata("design:type",Object)],p.prototype,"promptProvider",void 0),n.__decorate([(0,o.Autowired)(l.ChatServiceToken),n.__metadata("design:type",m.ChatService)],p.prototype,"aiChatService",void 0),n.__decorate([(0,o.Autowired)(l.ChatFeatureRegistryToken),n.__metadata("design:type",Object)],p.prototype,"chatFeatureRegistry",void 0),t.ChatAgentService=p=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],p)},84543:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatAgentViewService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(19413),_=e(51081);let v=class{constructor(){this.componentsMap=new Map,this.componentsDeferredMap=new Map}registerChatComponent(p){return this.componentsMap.set(p.id,p),this.componentsDeferredMap.has(p.id)&&(this.componentsDeferredMap.get(p.id).resolve(p),this.componentsDeferredMap.delete(p.id)),{dispose:()=>{this.componentsMap.get(p.id)===p&&(this.componentsMap.delete(p.id),this.componentsDeferredMap.delete(p.id))}}}getChatComponent(p){return this.componentsMap.has(p)?this.componentsMap.get(p):(this.componentsDeferredMap.has(p)||this.componentsDeferredMap.set(p,new o.Deferred),null)}getChatComponentDeferred(p){return this.componentsDeferredMap.get(p)||null}getRenderAgents(){return this.chatAgentService.getAgents().filter(p=>p.id!==_.ChatProxyService.AGENT_ID)}};t.ChatAgentViewService=v,n.__decorate([(0,r.Autowired)(l.IChatAgentService),n.__metadata("design:type",Object)],v.prototype,"chatAgentService",void 0),t.ChatAgentViewService=v=n.__decorate([(0,r.Injectable)()],v)},98987:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatEditSchemeDocumentProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(54414),_=e(96689),v=e(73974);let m=class{constructor(){this._onDidChangeContent=new o.Emitter,this.onDidChangeContent=this._onDidChangeContent.event}handlesScheme(s){return s===v.BaseApplyService.CHAT_EDITING_SOURCE_RESOLVER_SCHEME}async provideEditorDocumentModelContent(s,g){const{id:a,side:h}=s.getParsedQuery(),u=this.baseApplyService.getSessionCodeBlocks(),c=u?.find(f=>f.toolCallId===a);return(h==="left"?c?.originalCode:c?.updatedCode)||""}isReadonly(s){return!0}onDidDisposeModel(){}};t.ChatEditSchemeDocumentProvider=m,n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],m.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,r.Autowired)(l.WorkbenchEditorService),n.__metadata("design:type",l.WorkbenchEditorService)],m.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(o.IApplicationService),n.__metadata("design:type",Object)],m.prototype,"applicationService",void 0),n.__decorate([(0,r.Autowired)(v.BaseApplyService),n.__metadata("design:type",v.BaseApplyService)],m.prototype,"baseApplyService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],m.prototype,"preferenceService",void 0),t.ChatEditSchemeDocumentProvider=m=n.__decorate([(0,r.Injectable)()],m)},61282:(P,t,e)=>{"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatManagerService=void 0;const o=e(85608),l=e(76003),_=e(41869),v=e(43718),m=e(65677),p=e(19413),s=e(44260),g=e(42033),a=e(11735),h=20;class u extends v.LRUCache{disposeKey(f){const d=this.get(f);d&&d.dispose(),this.delete(f)}dispose(){this.forEach(f=>{f.dispose()}),this.clear()}}let c=class extends v.Disposable{fromJSON(f){return f.filter(d=>d.history.messages.length>0).map(d=>{const y=new g.ChatModel(this.chatFeatureRegistry,{sessionId:d.sessionId,history:new s.MsgHistoryManager(this.chatFeatureRegistry,d.history),modelId:d.modelId}),b=d.requests.map(A=>new g.ChatRequestModel(A.requestId,y,A.message,new g.ChatResponseModel(A.requestId,y,A.message.agentId,{responseContents:A.response.responseContents,isComplete:!0,responseText:A.response.responseText,responseParts:A.response.responseParts,errorDetails:A.response.errorDetails,followups:A.response.followups,isCanceled:A.response.isCanceled})));return y.restoreRequests(b),y})}constructor(){super(),n.set(this,this.registerDispose(new u(h))),r.set(this,this.registerDispose(new v.DisposableMap)),this.storageInitEmitter=new v.Emitter,this.onStorageInit=this.storageInitEmitter.event}async init(){this._chatStorage=await this.storageProvider(v.STORAGE_NAMESPACE.CHAT);const f=this._chatStorage.get("sessionModels",[]);this.fromJSON(f).forEach(y=>{o.__classPrivateFieldGet(this,n,"f").set(y.sessionId,y),this.listenSession(y)}),await this.storageInitEmitter.fireAndAwait()}getSessions(){return Array.from(o.__classPrivateFieldGet(this,n,"f").values())}startSession(){const f=new g.ChatModel(this.chatFeatureRegistry);return o.__classPrivateFieldGet(this,n,"f").set(f.sessionId,f),this.listenSession(f),f}getSession(f){return o.__classPrivateFieldGet(this,n,"f").get(f)}clearSession(f){var d;if(!o.__classPrivateFieldGet(this,n,"f").get(f))throw new Error(`Unknown session: ${f}`);o.__classPrivateFieldGet(this,n,"f").disposeKey(f),(d=o.__classPrivateFieldGet(this,r,"f").get(f))===null||d===void 0||d.cancel(),o.__classPrivateFieldGet(this,r,"f").disposeKey(f),this.saveSessions()}createRequest(f,d,y,b,A){const S=this.getSession(f);if(!S)throw new Error(`Unknown session: ${f}`);if(!o.__classPrivateFieldGet(this,r,"f").has(f))return S.addRequest({prompt:d,agentId:y,command:b,images:A})}async sendRequest(f,d,y){const b=this.getSession(f);if(!b)throw new Error(`Unknown session: ${f}`);const A=b.modelId,S=this.preferenceService.get(v.AINativeSettingSectionsId.ModelID);if(!A)b.modelId=S;else if(A!==S)throw new Error("Model changed unexpectedly");const D=new v.CancellationTokenSource,I=D.token;o.__classPrivateFieldGet(this,r,"f").set(b.sessionId,D);const w=I.onCancellationRequested(()=>{d.response.cancel()}),T=this.preferenceService.get(v.AINativeSettingSectionsId.ContextWindow),R=b.getMessageHistory(T);try{const M=k=>{I.isCancellationRequested||b.acceptResponseProgress(d,k)},O={sessionId:f,requestId:d.requestId,message:d.message.prompt,command:d.message.command,images:d.message.images,regenerate:y},x=await this.chatAgentService.invokeAgent(d.message.agentId,O,M,R,I);I.isCancellationRequested||(x.errorDetails&&d.response.setErrorDetails(x.errorDetails),this.chatAgentService.getFollowups(d.message.agentId,f,v.CancellationToken.None).then(F=>{d.response.setFollowups(F),d.response.complete()}))}finally{w.dispose(),o.__classPrivateFieldGet(this,r,"f").disposeKey(b.sessionId),this.saveSessions()}}listenSession(f){this.addDispose(f.history.onMessageAdditionalChange(()=>{this.saveSessions()}))}saveSessions(){this._chatStorage.set("sessionModels",this.getSessions())}cancelRequest(f){var d;(d=o.__classPrivateFieldGet(this,r,"f").get(f))===null||d===void 0||d.cancel(),o.__classPrivateFieldGet(this,r,"f").disposeKey(f),this.saveSessions()}};t.ChatManagerService=c,n=new WeakMap,r=new WeakMap,o.__decorate([(0,l.Autowired)(l.INJECTOR_TOKEN),o.__metadata("design:type",l.Injector)],c.prototype,"injector",void 0),o.__decorate([(0,l.Autowired)(p.IChatAgentService),o.__metadata("design:type",Object)],c.prototype,"chatAgentService",void 0),o.__decorate([(0,l.Autowired)(v.StorageProvider),o.__metadata("design:type",Function)],c.prototype,"storageProvider",void 0),o.__decorate([(0,l.Autowired)(_.PreferenceService),o.__metadata("design:type",Object)],c.prototype,"preferenceService",void 0),o.__decorate([(0,l.Autowired)(m.ChatFeatureRegistryToken),o.__metadata("design:type",a.ChatFeatureRegistry)],c.prototype,"chatFeatureRegistry",void 0),o.__decorate([(0,v.debounce)(1e3),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",void 0)],c.prototype,"saveSessions",null),t.ChatManagerService=c=o.__decorate([(0,l.Injectable)(),o.__metadata("design:paramtypes",[])],c)},42033:(P,t,e)=>{"use strict";var n,r,o,l,_,v,m,p,s,g,a,h,u,c,E,f,d;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatSlashCommandItemModel=t.ChatWelcomeMessageModel=t.ChatModel=t.ChatRequestModel=t.ChatResponseModel=void 0;const y=e(85608),b=e(76003),A=e(43718),S=e(90684),D=e(19413),I=e(44260);class w extends A.Disposable{get responseParts(){return y.__classPrivateFieldGet(this,r,"f")}get responseContents(){return y.__classPrivateFieldGet(this,o,"f")}get isComplete(){return y.__classPrivateFieldGet(this,l,"f")}get isCanceled(){return y.__classPrivateFieldGet(this,_,"f")}get requestId(){return y.__classPrivateFieldGet(this,v,"f")}get responseText(){return y.__classPrivateFieldGet(this,m,"f")}get errorDetails(){return y.__classPrivateFieldGet(this,p,"f")}get followups(){return y.__classPrivateFieldGet(this,s,"f")}get onDidChange(){return y.__classPrivateFieldGet(this,g,"f").event}constructor(k,F,L,N){super(),n.add(this),this.session=F,this.agentId=L,r.set(this,[]),o.set(this,[]),l.set(this,!1),_.set(this,!1),v.set(this,void 0),m.set(this,""),p.set(this,void 0),s.set(this,void 0),g.set(this,this.registerDispose(new A.Emitter)),y.__classPrivateFieldSet(this,v,k,"f"),N&&(y.__classPrivateFieldSet(this,o,N.responseContents,"f"),y.__classPrivateFieldSet(this,r,N.responseParts||[],"f"),y.__classPrivateFieldSet(this,m,N.responseText,"f"),y.__classPrivateFieldSet(this,l,N.isComplete,"f"),y.__classPrivateFieldSet(this,_,N.isCanceled,"f"),y.__classPrivateFieldSet(this,p,N.errorDetails,"f"),y.__classPrivateFieldSet(this,s,N.followups,"f"))}updateContent(k,F){var L;const N=y.__classPrivateFieldGet(this,r,"f").length-1;if(k.kind==="content"||k.kind==="markdownContent"){const U=y.__classPrivateFieldGet(this,r,"f")[N];!U||U.kind!=="markdownContent"?k.kind==="content"?y.__classPrivateFieldGet(this,r,"f").push({content:new S.MarkdownString(k.content),kind:"markdownContent"}):y.__classPrivateFieldGet(this,r,"f").push(k):k.kind==="markdownContent"?y.__classPrivateFieldGet(this,r,"f")[N]={content:new S.MarkdownString(U.content.value+k.content.value),kind:"markdownContent"}:y.__classPrivateFieldGet(this,r,"f")[N]={content:new S.MarkdownString(U.content.value+k.content,U.content),kind:"markdownContent"},y.__classPrivateFieldGet(this,n,"m",a).call(this)}else if(k.kind==="reasoning"){const U=y.__classPrivateFieldGet(this,r,"f")[N];!U||U.kind!=="reasoning"?y.__classPrivateFieldGet(this,r,"f").push({content:k.content.replace(/^<think>/,""),kind:"reasoning"}):y.__classPrivateFieldGet(this,r,"f")[N]={content:U.content+k.content,kind:"reasoning"},y.__classPrivateFieldGet(this,n,"m",a).call(this)}else if(k.kind==="asyncContent"){const U=y.__classPrivateFieldGet(this,r,"f").push(k)-1;y.__classPrivateFieldGet(this,n,"m",a).call(this),(L=k.resolvedContent)===null||L===void 0||L.then(W=>{typeof W=="string"?y.__classPrivateFieldGet(this,r,"f")[U]={content:new S.MarkdownString(W),kind:"markdownContent"}:(0,S.isMarkdownString)(W)?y.__classPrivateFieldGet(this,r,"f")[U]={content:W,kind:"markdownContent"}:y.__classPrivateFieldGet(this,r,"f")[U]=W,y.__classPrivateFieldGet(this,n,"m",a).call(this,F)})}else if(k.kind==="treeData"||k.kind==="component")y.__classPrivateFieldGet(this,r,"f").push(k),y.__classPrivateFieldGet(this,n,"m",a).call(this,F);else if(k.kind==="toolCall"){const U=y.__classPrivateFieldGet(this,r,"f").findIndex(W=>W.kind==="toolCall"&&W.content.id===k.content.id);U!==-1?y.__classPrivateFieldGet(this,r,"f")[U]={kind:"toolCall",content:{...k.content}}:y.__classPrivateFieldGet(this,r,"f").push(k),y.__classPrivateFieldGet(this,n,"m",a).call(this,F)}}complete(){y.__classPrivateFieldSet(this,l,!0,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}cancel(){y.__classPrivateFieldSet(this,l,!0,"f"),y.__classPrivateFieldSet(this,_,!0,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}reset(){y.__classPrivateFieldSet(this,o,[],"f"),y.__classPrivateFieldSet(this,r,[],"f"),y.__classPrivateFieldSet(this,m,"","f"),y.__classPrivateFieldSet(this,_,!1,"f"),y.__classPrivateFieldSet(this,l,!1,"f"),y.__classPrivateFieldSet(this,p,void 0,"f"),y.__classPrivateFieldSet(this,s,void 0,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}setErrorDetails(k){y.__classPrivateFieldSet(this,p,k,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}setFollowups(k){y.__classPrivateFieldSet(this,s,k,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}toJSON(){return{isCanceled:this.isCanceled,responseContents:this.responseContents,responseText:this.responseText,responseParts:this.responseParts,errorDetails:this.errorDetails,followups:this.followups}}}t.ChatResponseModel=w,r=new WeakMap,o=new WeakMap,l=new WeakMap,_=new WeakMap,v=new WeakMap,m=new WeakMap,p=new WeakMap,s=new WeakMap,g=new WeakMap,n=new WeakSet,a=function(k){y.__classPrivateFieldSet(this,m,y.__classPrivateFieldGet(this,r,"f").map(L=>L.kind==="asyncContent"?L.content:L.kind==="treeData"||L.kind==="component"?"":L.kind==="toolCall"?L.content.function.name:L.kind==="reasoning"?"":L.content.value).join(`
|
|
32953
|
+
`,{...await this.chatProxyService.getRequestOptions(),trimTexts:["<updated-code>","</updated-code>"],system:"You are a coding assistant that helps merge code updates, ensuring every modification is fully integrated."})}}};t.ApplyService=h,n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],h.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],h.prototype,"modelService",void 0),n.__decorate([(0,r.Autowired)(o.AIBackSerivcePath),n.__metadata("design:type",Object)],h.prototype,"aiBackService",void 0),n.__decorate([(0,r.Autowired)(p.ChatProxyServiceToken),n.__metadata("design:type",g.ChatProxyService)],h.prototype,"chatProxyService",void 0),t.ApplyService=h=n.__decorate([(0,r.Injectable)()],h)},74055:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatAgentService=void 0;const n=e(85608),r=n.__importDefault(e(66652)),o=e(76003),l=e(43718),_=e(46044),v=e(73307),m=e(29770);let p=class extends l.Disposable{constructor(){super(),this.agents=new Map,this.initialUserMessageMap=new Map,this.shouldUpdateContext=!1,this._onDidChangeAgents=new l.Emitter,this.onDidChangeAgents=this._onDidChangeAgents.event,this._onDidSendMessage=new l.Emitter,this.onDidSendMessage=this._onDidSendMessage.event,this.addDispose(this._onDidChangeAgents),this.addDispose(this.llmContextService.onDidContextFilesChangeEvent(g=>{g.version!==this.contextVersion&&(this.contextVersion=g.version,this.shouldUpdateContext=!0)}))}registerAgent(g){if(this.agents.has(g.id))throw new Error(`Already registered an agent with id ${g.id}`);return this.agents.set(g.id,{agent:g,commands:[]}),this._onDidChangeAgents.fire(),(0,l.toDisposable)(()=>{this.agents.delete(g.id)&&this._onDidChangeAgents.fire()})}async updateAgent(g,a){const h=this.agents.get(g);if(!h)throw new Error(`No agent with id ${g} registered`);h.agent.metadata={...h.agent.metadata,...a},h.commands=await h.agent.provideSlashCommands(l.CancellationToken.None),a.isDefault&&(this.defaultAgentId=g);const u=await h.agent.provideChatWelcomeMessage(l.CancellationToken.None);if(u){const{content:c,sampleQuestions:E}=u;this.chatFeatureRegistry.registerWelcome(c,E)}this._onDidChangeAgents.fire()}getAgents(){return Array.from(this.agents.values(),g=>g.agent)}hasAgent(g){return this.agents.has(g)}getDefaultAgentId(){return this.defaultAgentId}getAgent(g){const a=this.agents.get(g);return a?.agent}async invokeAgent(g,a,h,u,c){const E=this.agents.get(g);if(!E)throw new Error(`No agent with id ${g}`);if(this.initialUserMessageMap.has(a.sessionId))(this.shouldUpdateContext||a.regenerate||u.length===0)&&(a.message=await this.provideContextMessage(a.message,a.sessionId),this.shouldUpdateContext=!1);else{this.initialUserMessageMap.set(a.sessionId,a.message);const d=a.message;a.message=await this.provideContextMessage(d,a.sessionId)}return await E.agent.invoke(a,h,u,c)}async provideContextMessage(g,a){const h=await this.llmContextService.serialize(),u=await this.promptProvider.provideContextPrompt(h,g);return this.aiReporter.send({msgType:l.AIServiceType.Chat,actionType:l.ActionTypeEnum.ContextEnhance,actionSource:l.ActionSourceEnum.Chat,sessionId:a,message:u}),u}populateChatInput(g,a){this.aiChatService.sendMessage({...a,agentId:g,immediate:!1})}getCommands(){return(0,r.default)(Array.from(this.agents.values(),({agent:g,commands:a})=>a.map(h=>({...h,agentId:g.id}))))}async getFollowups(g,a,h){const u=this.agents.get(g);if(!u)throw new Error(`No agent with id ${g}`);return u.agent.provideFollowups?u.agent.provideFollowups(a,h):[]}async getSampleQuestions(g,a){const h=this.agents.get(g);if(!h)throw new Error(`No agent with id ${g}`);return h.agent.provideSampleQuestions?h.agent.provideSampleQuestions(a):[]}async getAllSampleQuestions(){const g=await Promise.all(Array.from(this.agents.values()).map(async({agent:a})=>{try{return await this.getSampleQuestions(a.id,l.CancellationToken.None)}catch(h){return this.logger.error(h),[]}}));return(0,r.default)(g)}sendMessage(g){this._onDidSendMessage.fire(g)}parseMessage(g,a){var h;const u={agentId:"",command:"",message:g};let c=a;const E=this.getAgents(),f=new RegExp(`^@(${E.map(y=>y.id).join("|")})(?:\\s+|$)`,"i"),d=u.message.match(f);if(d){const y=E.find(b=>b.id.toLowerCase()===d[1].toLowerCase());if(!y)return u;c=y.id,u.agentId=c,u.message=u.message.replace(d[0],"")}if(c){const y=(h=this.agents.get(c))===null||h===void 0?void 0:h.commands;if(y?.length){const b=new RegExp(`^/\\s?(${y.map(S=>S.name).join("|")})(?:\\s+|$)`,"i"),A=u.message.match(b);if(A){const S=y.find(D=>D.name.toLowerCase()===A[1].toLowerCase());if(!S)return u;u.command=S.name,u.message=u.message.replace(A[0],"")}}}return u}};t.ChatAgentService=p,n.__decorate([(0,o.Autowired)(l.ILogger),n.__metadata("design:type",Object)],p.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(l.IAIReporter),n.__metadata("design:type",Object)],p.prototype,"aiReporter",void 0),n.__decorate([(0,o.Autowired)(_.LLMContextServiceToken),n.__metadata("design:type",Object)],p.prototype,"llmContextService",void 0),n.__decorate([(0,o.Autowired)(v.ChatAgentPromptProvider),n.__metadata("design:type",Object)],p.prototype,"promptProvider",void 0),n.__decorate([(0,o.Autowired)(l.ChatServiceToken),n.__metadata("design:type",m.ChatService)],p.prototype,"aiChatService",void 0),n.__decorate([(0,o.Autowired)(l.ChatFeatureRegistryToken),n.__metadata("design:type",Object)],p.prototype,"chatFeatureRegistry",void 0),t.ChatAgentService=p=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],p)},84543:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatAgentViewService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(19413),_=e(51081);let v=class{constructor(){this.componentsMap=new Map,this.componentsDeferredMap=new Map}registerChatComponent(p){return this.componentsMap.set(p.id,p),this.componentsDeferredMap.has(p.id)&&(this.componentsDeferredMap.get(p.id).resolve(p),this.componentsDeferredMap.delete(p.id)),{dispose:()=>{this.componentsMap.get(p.id)===p&&(this.componentsMap.delete(p.id),this.componentsDeferredMap.delete(p.id))}}}getChatComponent(p){return this.componentsMap.has(p)?this.componentsMap.get(p):(this.componentsDeferredMap.has(p)||this.componentsDeferredMap.set(p,new o.Deferred),null)}getChatComponentDeferred(p){return this.componentsDeferredMap.get(p)||null}getRenderAgents(){return this.chatAgentService.getAgents().filter(p=>p.id!==_.ChatProxyService.AGENT_ID)}};t.ChatAgentViewService=v,n.__decorate([(0,r.Autowired)(l.IChatAgentService),n.__metadata("design:type",Object)],v.prototype,"chatAgentService",void 0),t.ChatAgentViewService=v=n.__decorate([(0,r.Injectable)()],v)},98987:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatEditSchemeDocumentProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(54414),_=e(96689),v=e(73974);let m=class{constructor(){this._onDidChangeContent=new o.Emitter,this.onDidChangeContent=this._onDidChangeContent.event}handlesScheme(s){return s===v.BaseApplyService.CHAT_EDITING_SOURCE_RESOLVER_SCHEME}async provideEditorDocumentModelContent(s,g){const{id:a,side:h}=s.getParsedQuery(),c=this.baseApplyService.getSessionCodeBlocks().find(f=>f.toolCallId===a);return(h==="left"?c?.originalCode:c?.updatedCode)||""}isReadonly(s){return!0}onDidDisposeModel(){}};t.ChatEditSchemeDocumentProvider=m,n.__decorate([(0,r.Autowired)(_.IEditorDocumentModelService),n.__metadata("design:type",Object)],m.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,r.Autowired)(l.WorkbenchEditorService),n.__metadata("design:type",l.WorkbenchEditorService)],m.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(o.IApplicationService),n.__metadata("design:type",Object)],m.prototype,"applicationService",void 0),n.__decorate([(0,r.Autowired)(v.BaseApplyService),n.__metadata("design:type",v.BaseApplyService)],m.prototype,"baseApplyService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],m.prototype,"preferenceService",void 0),t.ChatEditSchemeDocumentProvider=m=n.__decorate([(0,r.Injectable)()],m)},61282:(P,t,e)=>{"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatManagerService=void 0;const o=e(85608),l=e(76003),_=e(41869),v=e(43718),m=e(65677),p=e(19413),s=e(44260),g=e(42033),a=e(11735),h=20;class u extends v.LRUCache{disposeKey(f){const d=this.get(f);d&&d.dispose(),this.delete(f)}dispose(){this.forEach(f=>{f.dispose()}),this.clear()}}let c=class extends v.Disposable{fromJSON(f){return f.filter(d=>d.history.messages.length>0).map(d=>{const y=new g.ChatModel(this.chatFeatureRegistry,{sessionId:d.sessionId,history:new s.MsgHistoryManager(this.chatFeatureRegistry,d.history),modelId:d.modelId}),b=d.requests.map(A=>new g.ChatRequestModel(A.requestId,y,A.message,new g.ChatResponseModel(A.requestId,y,A.message.agentId,{responseContents:A.response.responseContents,isComplete:!0,responseText:A.response.responseText,responseParts:A.response.responseParts,errorDetails:A.response.errorDetails,followups:A.response.followups,isCanceled:A.response.isCanceled})));return y.restoreRequests(b),y})}constructor(){super(),n.set(this,this.registerDispose(new u(h))),r.set(this,this.registerDispose(new v.DisposableMap)),this.storageInitEmitter=new v.Emitter,this.onStorageInit=this.storageInitEmitter.event}async init(){this._chatStorage=await this.storageProvider(v.STORAGE_NAMESPACE.CHAT);const f=this._chatStorage.get("sessionModels",[]);this.fromJSON(f).forEach(y=>{o.__classPrivateFieldGet(this,n,"f").set(y.sessionId,y),this.listenSession(y)}),await this.storageInitEmitter.fireAndAwait()}getSessions(){return Array.from(o.__classPrivateFieldGet(this,n,"f").values())}startSession(){const f=new g.ChatModel(this.chatFeatureRegistry);return o.__classPrivateFieldGet(this,n,"f").set(f.sessionId,f),this.listenSession(f),f}getSession(f){return o.__classPrivateFieldGet(this,n,"f").get(f)}clearSession(f){var d;if(!o.__classPrivateFieldGet(this,n,"f").get(f))throw new Error(`Unknown session: ${f}`);o.__classPrivateFieldGet(this,n,"f").disposeKey(f),(d=o.__classPrivateFieldGet(this,r,"f").get(f))===null||d===void 0||d.cancel(),o.__classPrivateFieldGet(this,r,"f").disposeKey(f),this.saveSessions()}createRequest(f,d,y,b,A){const S=this.getSession(f);if(!S)throw new Error(`Unknown session: ${f}`);if(!o.__classPrivateFieldGet(this,r,"f").has(f))return S.addRequest({prompt:d,agentId:y,command:b,images:A})}async sendRequest(f,d,y){const b=this.getSession(f);if(!b)throw new Error(`Unknown session: ${f}`);const A=b.modelId,S=this.preferenceService.get(v.AINativeSettingSectionsId.ModelID);if(!A)b.modelId=S;else if(A!==S)throw new Error("Model changed unexpectedly");const D=new v.CancellationTokenSource,I=D.token;o.__classPrivateFieldGet(this,r,"f").set(b.sessionId,D);const w=I.onCancellationRequested(()=>{d.response.cancel()}),T=this.preferenceService.get(v.AINativeSettingSectionsId.ContextWindow),R=b.getMessageHistory(T);try{const M=k=>{I.isCancellationRequested||b.acceptResponseProgress(d,k)},O={sessionId:f,requestId:d.requestId,message:d.message.prompt,command:d.message.command,images:d.message.images,regenerate:y},x=await this.chatAgentService.invokeAgent(d.message.agentId,O,M,R,I);I.isCancellationRequested||(x.errorDetails&&d.response.setErrorDetails(x.errorDetails),this.chatAgentService.getFollowups(d.message.agentId,f,v.CancellationToken.None).then(F=>{d.response.setFollowups(F),d.response.complete()}))}finally{w.dispose(),o.__classPrivateFieldGet(this,r,"f").disposeKey(b.sessionId),this.saveSessions()}}listenSession(f){this.addDispose(f.history.onMessageAdditionalChange(()=>{this.saveSessions()}))}saveSessions(){this._chatStorage.set("sessionModels",this.getSessions())}cancelRequest(f){var d;(d=o.__classPrivateFieldGet(this,r,"f").get(f))===null||d===void 0||d.cancel(),o.__classPrivateFieldGet(this,r,"f").disposeKey(f),this.saveSessions()}};t.ChatManagerService=c,n=new WeakMap,r=new WeakMap,o.__decorate([(0,l.Autowired)(l.INJECTOR_TOKEN),o.__metadata("design:type",l.Injector)],c.prototype,"injector",void 0),o.__decorate([(0,l.Autowired)(p.IChatAgentService),o.__metadata("design:type",Object)],c.prototype,"chatAgentService",void 0),o.__decorate([(0,l.Autowired)(v.StorageProvider),o.__metadata("design:type",Function)],c.prototype,"storageProvider",void 0),o.__decorate([(0,l.Autowired)(_.PreferenceService),o.__metadata("design:type",Object)],c.prototype,"preferenceService",void 0),o.__decorate([(0,l.Autowired)(m.ChatFeatureRegistryToken),o.__metadata("design:type",a.ChatFeatureRegistry)],c.prototype,"chatFeatureRegistry",void 0),o.__decorate([(0,v.debounce)(1e3),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",void 0)],c.prototype,"saveSessions",null),t.ChatManagerService=c=o.__decorate([(0,l.Injectable)(),o.__metadata("design:paramtypes",[])],c)},42033:(P,t,e)=>{"use strict";var n,r,o,l,_,v,m,p,s,g,a,h,u,c,E,f,d;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatSlashCommandItemModel=t.ChatWelcomeMessageModel=t.ChatModel=t.ChatRequestModel=t.ChatResponseModel=void 0;const y=e(85608),b=e(76003),A=e(43718),S=e(90684),D=e(19413),I=e(44260);class w extends A.Disposable{get responseParts(){return y.__classPrivateFieldGet(this,r,"f")}get responseContents(){return y.__classPrivateFieldGet(this,o,"f")}get isComplete(){return y.__classPrivateFieldGet(this,l,"f")}get isCanceled(){return y.__classPrivateFieldGet(this,_,"f")}get requestId(){return y.__classPrivateFieldGet(this,v,"f")}get responseText(){return y.__classPrivateFieldGet(this,m,"f")}get errorDetails(){return y.__classPrivateFieldGet(this,p,"f")}get followups(){return y.__classPrivateFieldGet(this,s,"f")}get onDidChange(){return y.__classPrivateFieldGet(this,g,"f").event}constructor(k,F,L,N){super(),n.add(this),this.session=F,this.agentId=L,r.set(this,[]),o.set(this,[]),l.set(this,!1),_.set(this,!1),v.set(this,void 0),m.set(this,""),p.set(this,void 0),s.set(this,void 0),g.set(this,this.registerDispose(new A.Emitter)),y.__classPrivateFieldSet(this,v,k,"f"),N&&(y.__classPrivateFieldSet(this,o,N.responseContents,"f"),y.__classPrivateFieldSet(this,r,N.responseParts||[],"f"),y.__classPrivateFieldSet(this,m,N.responseText,"f"),y.__classPrivateFieldSet(this,l,N.isComplete,"f"),y.__classPrivateFieldSet(this,_,N.isCanceled,"f"),y.__classPrivateFieldSet(this,p,N.errorDetails,"f"),y.__classPrivateFieldSet(this,s,N.followups,"f"))}updateContent(k,F){var L;const N=y.__classPrivateFieldGet(this,r,"f").length-1;if(k.kind==="content"||k.kind==="markdownContent"){const U=y.__classPrivateFieldGet(this,r,"f")[N];!U||U.kind!=="markdownContent"?k.kind==="content"?y.__classPrivateFieldGet(this,r,"f").push({content:new S.MarkdownString(k.content),kind:"markdownContent"}):y.__classPrivateFieldGet(this,r,"f").push(k):k.kind==="markdownContent"?y.__classPrivateFieldGet(this,r,"f")[N]={content:new S.MarkdownString(U.content.value+k.content.value),kind:"markdownContent"}:y.__classPrivateFieldGet(this,r,"f")[N]={content:new S.MarkdownString(U.content.value+k.content,U.content),kind:"markdownContent"},y.__classPrivateFieldGet(this,n,"m",a).call(this)}else if(k.kind==="reasoning"){const U=y.__classPrivateFieldGet(this,r,"f")[N];!U||U.kind!=="reasoning"?y.__classPrivateFieldGet(this,r,"f").push({content:k.content.replace(/^<think>/,""),kind:"reasoning"}):y.__classPrivateFieldGet(this,r,"f")[N]={content:U.content+k.content,kind:"reasoning"},y.__classPrivateFieldGet(this,n,"m",a).call(this)}else if(k.kind==="asyncContent"){const U=y.__classPrivateFieldGet(this,r,"f").push(k)-1;y.__classPrivateFieldGet(this,n,"m",a).call(this),(L=k.resolvedContent)===null||L===void 0||L.then(W=>{typeof W=="string"?y.__classPrivateFieldGet(this,r,"f")[U]={content:new S.MarkdownString(W),kind:"markdownContent"}:(0,S.isMarkdownString)(W)?y.__classPrivateFieldGet(this,r,"f")[U]={content:W,kind:"markdownContent"}:y.__classPrivateFieldGet(this,r,"f")[U]=W,y.__classPrivateFieldGet(this,n,"m",a).call(this,F)})}else if(k.kind==="treeData"||k.kind==="component")y.__classPrivateFieldGet(this,r,"f").push(k),y.__classPrivateFieldGet(this,n,"m",a).call(this,F);else if(k.kind==="toolCall"){const U=y.__classPrivateFieldGet(this,r,"f").findIndex(W=>W.kind==="toolCall"&&W.content.id===k.content.id);U!==-1?y.__classPrivateFieldGet(this,r,"f")[U]={kind:"toolCall",content:{...k.content}}:y.__classPrivateFieldGet(this,r,"f").push(k),y.__classPrivateFieldGet(this,n,"m",a).call(this,F)}}complete(){y.__classPrivateFieldSet(this,l,!0,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}cancel(){y.__classPrivateFieldSet(this,l,!0,"f"),y.__classPrivateFieldSet(this,_,!0,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}reset(){y.__classPrivateFieldSet(this,o,[],"f"),y.__classPrivateFieldSet(this,r,[],"f"),y.__classPrivateFieldSet(this,m,"","f"),y.__classPrivateFieldSet(this,_,!1,"f"),y.__classPrivateFieldSet(this,l,!1,"f"),y.__classPrivateFieldSet(this,p,void 0,"f"),y.__classPrivateFieldSet(this,s,void 0,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}setErrorDetails(k){y.__classPrivateFieldSet(this,p,k,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}setFollowups(k){y.__classPrivateFieldSet(this,s,k,"f"),y.__classPrivateFieldGet(this,g,"f").fire()}toJSON(){return{isCanceled:this.isCanceled,responseContents:this.responseContents,responseText:this.responseText,responseParts:this.responseParts,errorDetails:this.errorDetails,followups:this.followups}}}t.ChatResponseModel=w,r=new WeakMap,o=new WeakMap,l=new WeakMap,_=new WeakMap,v=new WeakMap,m=new WeakMap,p=new WeakMap,s=new WeakMap,g=new WeakMap,n=new WeakSet,a=function(k){y.__classPrivateFieldSet(this,m,y.__classPrivateFieldGet(this,r,"f").map(L=>L.kind==="asyncContent"?L.content:L.kind==="treeData"||L.kind==="component"?"":L.kind==="toolCall"?L.content.function.name:L.kind==="reasoning"?"":L.content.value).join(`
|
|
32954
32954
|
|
|
32955
32955
|
`),"f");const F=[];for(const L of y.__classPrivateFieldGet(this,r,"f")){const N=F[F.length-1];L.kind==="markdownContent"&&N?.kind==="markdownContent"?F[F.length-1]={content:new S.MarkdownString(N.content.value+L.content.value,{isTrusted:N.content.isTrusted}),kind:"markdownContent"}:F.push(L)}y.__classPrivateFieldSet(this,o,F,"f"),k||y.__classPrivateFieldGet(this,g,"f").fire()};class T{get requestId(){return y.__classPrivateFieldGet(this,h,"f")}constructor(k,F,L,N){this.session=F,this.message=L,this.response=N,h.set(this,void 0),y.__classPrivateFieldSet(this,h,k,"f")}toJSON(){return{requestId:this.requestId,message:this.message,response:this.response}}}t.ChatRequestModel=T,h=new WeakMap;class R extends A.Disposable{constructor(k,F){var L,N;super(),this.chatFeatureRegistry=k,this.requestIdPool=0,u.set(this,void 0),c.set(this,new Map),E.set(this,0),f.set(this,void 0),y.__classPrivateFieldSet(this,u,(L=F?.sessionId)!==null&&L!==void 0?L:(0,A.uuid)(),"f"),this.history=(N=F?.history)!==null&&N!==void 0?N:new I.MsgHistoryManager(this.chatFeatureRegistry),y.__classPrivateFieldSet(this,f,F?.modelId,"f")}get sessionId(){return y.__classPrivateFieldGet(this,u,"f")}get requests(){return Array.from(y.__classPrivateFieldGet(this,c,"f").values())}restoreRequests(k){y.__classPrivateFieldSet(this,c,new Map(k.map(F=>[F.requestId,F])),"f"),this.requestIdPool=k.length}get slicedMessageCount(){return y.__classPrivateFieldGet(this,E,"f")}get modelId(){return y.__classPrivateFieldGet(this,f,"f")}set modelId(k){y.__classPrivateFieldSet(this,f,k,"f")}processMemorySummaries(){const k=this.history.getMemorySummaries();if(k.length===0)return[];const F=k.map(L=>{try{const N=JSON.parse(L.content);return N.memory||N.content||L.content}catch{return L.content}}).filter(L=>L&&L!=="no_memory_needed").filter((L,N,U)=>U.indexOf(L)===N);return F.length>0?[{role:"system",content:`\u4EE5\u4E0B\u662F\u4E4B\u524D\u5BF9\u8BDD\u7684\u603B\u7ED3\uFF1A
|
|
32956
32956
|
`+F.join(`
|
|
32957
32957
|
|
|
32958
|
-
`)}]:[]}processToolCall(k,F){F[F.length-1].role!=="assistant"&&F.push({role:"assistant",content:[]});const L=k.content.id,N={id:L,name:k.content.function.name,args:this.parseJsonSafely(k.content.function.arguments||"{}","tool call arguments"),result:this.parseJsonSafely(k.content.result||"{}","tool result")};this.history.addToolCall(N),this.history.setMessageAdditional(k.content.id,{toolCallId:L});const U=F[F.length-1];U.content=[{type:"tool-call",toolCallId:k.content.id,toolName:k.content.function.name,args:N.args}],F.push({role:"tool",content:[{type:"tool-result",toolCallId:k.content.id,toolName:k.content.function.name,result:N.result}]})}parseJsonSafely(k,F){try{return JSON.parse(k)}catch(L){return console.error(`[ChatModel] Failed to parse ${F}:`,L),{}}}processRecentMessages(){const k=[],F=this.history.getMessages().filter(L=>!L.isSummarized).slice(-this.history.memoryConfig.shortTermSize);for(const L of F){k.push({role:"user",content:L.content});const N=this.history.getMessageAdditional(L.id);if(N?.response){const U=N.response;U.kind==="toolCall"?this.processToolCall(U,k):k.push({role:"assistant",content:U.kind==="markdownContent"?U.content.value:U.content})}}return k}limitTokens(k,F){if(!F)return k;let L=k,N=JSON.stringify(L).length/3;for(;N>F&&L.length>1;)L[0].role==="system"&&L.length>2?L=[L[0],...L.slice(2)]:L=L.slice(1),N=JSON.stringify(L).length/3;return L}getMessageHistory(k){const F=this.processMemorySummaries(),L=this.processRecentMessages(),N=[...F,...L];return this.limitTokens(N,k)}addRequest(k){const F=k,L=`${this.sessionId}_request_${this.requestIdPool++}`,N=new w(L,this,F.agentId),U=new T(L,this,F,N);return y.__classPrivateFieldGet(this,c,"f").set(L,U),U}acceptResponseProgress(k,F,L){if(k.response.isComplete)throw new Error("acceptResponseProgress: Adding progress to a completed response");const{kind:N}=F;["content","markdownContent","asyncContent","treeData","component","toolCall","reasoning"].includes(N)?k.response.updateContent(F,L):console.error(`Couldn't handle progress: ${JSON.stringify(F)}`)}getRequest(k){return y.__classPrivateFieldGet(this,c,"f").get(k)}dispose(){super.dispose(),y.__classPrivateFieldGet(this,c,"f").forEach(k=>k.response.dispose())}toJSON(){return{sessionId:this.sessionId,modelId:this.modelId,history:this.history,requests:this.requests}}}t.ChatModel=R,u=new WeakMap,c=new WeakMap,E=new WeakMap,f=new WeakMap;let M=d=class extends A.Disposable{get id(){return this._id}constructor(k,F){super(),this.content=k,this.sampleQuestions=F,this._id="welcome_"+d.nextId++}};t.ChatWelcomeMessageModel=M,M.nextId=0,t.ChatWelcomeMessageModel=M=d=y.__decorate([(0,b.Injectable)({multiple:!0}),y.__metadata("design:paramtypes",[Object,Array])],M);let O=class extends A.Disposable{constructor(k,F,L){super(),this.chatCommand=k,this.command=F,this.agentId=L}get name(){return this.chatCommand.name}get isShortcut(){return!!this.chatCommand.isShortcut}get icon(){return this.chatCommand.icon}get description(){return this.chatCommand.description}get tooltip(){return this.chatCommand.tooltip}get nameWithSlash(){return this.name.startsWith(D.SLASH_SYMBOL)?this.name:`${D.SLASH_SYMBOL} ${this.name}`}};t.ChatSlashCommandItemModel=O,t.ChatSlashCommandItemModel=O=y.__decorate([(0,b.Injectable)({multiple:!0}),y.__metadata("design:paramtypes",[Object,String,String])],O)},42995:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatMultiDiffSource=t.ChatMultiDiffResolver=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(64335),v=e(73974);let m=n=class{canHandleUri(a){return a.scheme===n.CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME}resolveDiffSource(a){return Promise.resolve(new s(this.baseApplyService,this.appConfig))}};t.ChatMultiDiffResolver=m,m.CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME="chat-editing-multi-diff-source",r.__decorate([(0,o.Autowired)(v.BaseApplyService),r.__metadata("design:type",v.BaseApplyService)],m.prototype,"baseApplyService",void 0),r.__decorate([(0,o.Autowired)(l.AppConfig),r.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),t.ChatMultiDiffResolver=m=n=r.__decorate([(0,o.Injectable)()],m);const p=(g,a,h)=>l.URI.from({scheme:v.BaseApplyService.CHAT_EDITING_SOURCE_RESOLVER_SCHEME,path:g,query:l.URI.stringifyQuery({id:a,side:h})});class s{constructor(a,h){this.baseApplyService=a,this.appConfig=h,this.resources=(()=>{const u=this.baseApplyService,c=this.appConfig;return{get value(){return(u.getSessionCodeBlocks()||[]).filter(E=>E.status==="success"||E.status==="pending").reduce((E,f)=>{const d=E.find(y=>y.relativePath===f.relativePath);return d?(f.version<d.oldVersion&&(d.oldVersion=f.version,d.oldBlockId=f.toolCallId),f.version>d.newVersion&&(d.newVersion=f.version,d.newBlockId=f.toolCallId)):E.push({relativePath:f.relativePath,oldBlockId:f.toolCallId,newBlockId:f.toolCallId,oldVersion:f.version,newVersion:f.version}),E},[]).map(E=>{const f=l.path.join(c.workspaceDir,E.relativePath);return new _.MultiDiffEditorItem(p(f,E.oldBlockId,"left"),p(f,E.newBlockId,"right"),l.URI.file(f))})},onDidChange:this.baseApplyService.onCodeBlockUpdate}})()}}t.ChatMultiDiffSource=s},51081:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatProxyService=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(43718),v=e(27284),m=e(9447),p=e(72665),s=e(93062),g=e(19413),a=e(85907),h=e(34817),u=e(33108),c=e(11735);let E=n=class extends _.Disposable{constructor(){super(...arguments),this.chatDeferred=new _.Deferred}async getRequestOptions(){const d=this.preferenceService.get(v.AINativeSettingSectionsId.LLMModelSelection),y=this.preferenceService.get(v.AINativeSettingSectionsId.ModelID);let b="",A="";d==="deepseek"?b=this.preferenceService.get(v.AINativeSettingSectionsId.DeepseekApiKey,""):d==="openai"?b=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiApiKey,""):d==="anthropic"?b=this.preferenceService.get(v.AINativeSettingSectionsId.AnthropicApiKey,""):(b=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiApiKey,""),A=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiBaseURL,""));const S=this.preferenceService.get(v.AINativeSettingSectionsId.MaxTokens),D=this.chatAgentService.getAgent(n.AGENT_ID),I=await this.mcpConfigService.getDisabledTools();return{clientId:this.applicationService.clientId,model:d,modelId:y,apiKey:b,baseURL:A,maxTokens:S,system:D?.metadata.systemPrompt,disabledTools:I}}registerDefaultAgent(){this.chatAgentViewService.registerChatComponent({id:"toolCall",component:h.ChatToolRender,initialProps:{}}),this.applicationService.getBackendOS().then(()=>{this.addDispose(this.chatAgentService.registerAgent({id:n.AGENT_ID,metadata:{systemPrompt:this.preferenceService.get(v.AINativeSettingSectionsId.SystemPrompt,a.DEFAULT_SYSTEM_PROMPT)},invoke:async(d,y,b,A)=>{this.chatDeferred=new _.Deferred;const{message:S,command:D}=d;let I=S;if(D){const T=this.chatFeatureRegistry.getSlashCommandHandler(D);if(T&&T.providerPrompt){const R=this.monacoCommandRegistry.getActiveCodeEditor();I=await T.providerPrompt(S,R)}}const w=await this.aiBackService.requestStream(I,{requestId:d.requestId,sessionId:d.sessionId,history:b,images:d.images,...await this.getRequestOptions()},A);return(0,s.listenReadable)(w,{onData:T=>{y(T)},onEnd:()=>{this.chatDeferred.resolve()},onError:T=>{this.messageService.error(T.message),this.aiReporter.end(d.sessionId+"_"+d.requestId,{message:T.message,success:!1,command:D})}}),await this.chatDeferred.promise,{}},provideSlashCommands:async()=>this.chatFeatureRegistry.getAllSlashCommand().map(d=>({...d,name:d.name,description:d.description||""})),provideChatWelcomeMessage:async()=>{}}))}),queueMicrotask(()=>{this.chatAgentService.updateAgent(n.AGENT_ID,{})})}};t.ChatProxyService=E,E.AGENT_ID="Default_Chat_Agent",r.__decorate([(0,o.Autowired)(g.IChatAgentService),r.__metadata("design:type",Object)],E.prototype,"chatAgentService",void 0),r.__decorate([(0,o.Autowired)(_.AIBackSerivcePath),r.__metadata("design:type",Object)],E.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(_.ChatFeatureRegistryToken),r.__metadata("design:type",c.ChatFeatureRegistry)],E.prototype,"chatFeatureRegistry",void 0),r.__decorate([(0,o.Autowired)(m.MonacoCommandRegistry),r.__metadata("design:type",m.MonacoCommandRegistry)],E.prototype,"monacoCommandRegistry",void 0),r.__decorate([(0,o.Autowired)(_.IAIReporter),r.__metadata("design:type",Object)],E.prototype,"aiReporter",void 0),r.__decorate([(0,o.Autowired)(_.ChatAgentViewServiceToken),r.__metadata("design:type",Object)],E.prototype,"chatAgentViewService",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],E.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(_.IApplicationService),r.__metadata("design:type",Object)],E.prototype,"applicationService",void 0),r.__decorate([(0,o.Autowired)(p.IMessageService),r.__metadata("design:type",Object)],E.prototype,"messageService",void 0),r.__decorate([(0,o.Autowired)(_.MCPConfigServiceToken),r.__metadata("design:type",u.MCPConfigService)],E.prototype,"mcpConfigService",void 0),t.ChatProxyService=E=n=r.__decorate([(0,o.Injectable)()],E)},29770:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(63067),_=e(19413),v=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(_.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)}scrollToBottom(){this._onScrollToBottom.fire()}};t.ChatService=m,n.__decorate([(0,r.Autowired)(_.IChatInternalService),n.__metadata("design:type",v.ChatInternalService)],m.prototype,"chatInternalService",void 0),n.__decorate([(0,r.Autowired)(l.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:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatFeatureRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(19413),_=e(42033),v=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}registerImageUploadProvider(s){this.imageUploadProvider=s}getImageUploadProvider(){return this.imageUploadProvider}registerMessageSummaryProvider(s){this.messageSummaryProvider=s}getMessageSummaryProvider(){return this.messageSummaryProvider}dispose(){super.dispose(),this.slashCommandsMap.clear(),this.slashCommandsHandlerMap.clear()}registerWelcome(s,g){this.chatWelcomeMessageModel=new _.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 _.ChatSlashCommandItemModel(s,a,v.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(l.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:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatInternalService=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(43718),v=e(19413),m=e(61282);let p=class extends _.Disposable{constructor(){super(...arguments),this._onChangeRequestId=new _.Emitter,this.onChangeRequestId=this._onChangeRequestId.event,this._onChangeSession=new _.Emitter,this.onChangeSession=this._onChangeSession.event,this._onCancelRequest=new _.Emitter,this.onCancelRequest=this._onCancelRequest.event,this._onWillClearSession=new _.Emitter,this.onWillClearSession=this._onWillClearSession.event,this._onRegenerateRequest=new _.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,u){return this.chatManagerService.createRequest(r.__classPrivateFieldGet(this,n,"f").sessionId,g,a,u,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._onWillClearSession.fire(g),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()}getSession(g){return this.chatManagerService.getSession(g)}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=p,n=new WeakMap,r.__decorate([(0,o.Autowired)(_.AIBackSerivcePath),r.__metadata("design:type",Object)],p.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(v.IChatManagerService),r.__metadata("design:type",m.ChatManagerService)],p.prototype,"chatManagerService",void 0),t.ChatInternalService=p=r.__decorate([(0,o.Injectable)()],p)},70394:(P,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 l=class extends o.Disposable{registerWelcomeRender(v){this.chatWelcomeRender=v}registerAIRoleRender(v){this.chatAIRoleRender=v}registerUserRoleRender(v){this.chatUserRoleRender=v}registerThinkingRender(v){this.chatThinkingRender=v}registerInputRender(v){this.chatInputRender=v}registerThinkingResultRender(v){this.chatThinkingResultRender=v}registerChatViewHeaderRender(v){this.chatViewHeaderRender=v}};t.ChatRenderRegistry=l,t.ChatRenderRegistry=l=n.__decorate([(0,r.Injectable)()],l)},76154:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIChatView=void 0,t.DefaultChatViewHeader=U;const n=e(85608),r=n.__importStar(e(14041)),o=e(68392),l=e(41869),_=e(81878),v=e(89195),m=e(43718),p=e(54414),s=e(63067),g=e(72665);e(41937);const a=e(51500),h=e(19413),u=e(46044),c=e(98864),E=e(87785),f=e(25834),d=n.__importDefault(e(90103)),y=e(57987),b=e(56474),A=e(49601),S=e(15016),D=e(29039),I=e(78048),w=e(86556),T=e(73974),R=e(77633),M=e(42033),O=e(51081),x=n.__importDefault(e(77256)),k="chat_scroll",F=100,L=W=>W.map(j=>{var Q;const $=((Q=j.applyResult)===null||Q===void 0?void 0:Q.diff.split(`
|
|
32959
|
-
`).reduce(([Z,G],V)=>(V.startsWith("-")?Z+=1:V.startsWith("+")&&(G+=1),[Z,G]),[0,0]))||[0,0];return{path:j.relativePath,additions:$[1],deletions:$[0],status:j.status}}).reduce((j,Q)=>{const $=j.find(Z=>Z.path===Q.path);return $?($.additions+=Q.additions,$.deletions+=Q.deletions,$.status=Q.status):j.push(Q),j},[]),N=()=>{const W=(0,l.useInjectable)(h.IChatInternalService),j=(0,l.useInjectable)(m.ChatServiceToken),Q=(0,l.useInjectable)(m.IAIReporter),$=(0,l.useInjectable)(h.IChatAgentService),Z=(0,l.useInjectable)(m.ChatFeatureRegistryToken),G=(0,l.useInjectable)(m.ChatRenderRegistryToken),V=(0,l.useInjectable)(R.TokenMCPServerRegistry),H=(0,l.useInjectable)(l.AINativeConfigService),K=(0,l.useInjectable)(u.LLMContextServiceToken),Y=(0,l.useInjectable)(s.IMainLayoutService),X=W.sessionModel.history,re=r.useRef(null),oe=r.useRef(!0),he=r.useRef(null),me=(0,l.useInjectable)(p.WorkbenchEditorService),q=(0,l.useInjectable)(l.AppConfig),Ae=(0,l.useInjectable)(T.BaseApplyService),ge=(0,l.useInjectable)(l.LabelService),te=(0,l.useInjectable)(a.IWorkspaceService),fe=(0,l.useInjectable)(m.CommandService),[Oe,Me]=r.useState([]),[Pe,Be]=r.useState(W.sessionModel.modelId),[De,_e]=r.useState(L(Ae.getSessionCodeBlocks()||[])),[Ne,Te]=r.useReducer((Re,Le)=>{switch(Le.type){case"add":return[...Re,...Le.payload||[]];case"clear":return[];case"init":return Array.isArray(Le.payload)?Le.payload:[];default:return Re}},[]),[We,pe]=r.useState(!1),[ie,le]=r.useState(""),[Se,ye]=r.useState(""),[Ue,Ye]=r.useState(""),[Ve,pt]=r.useState(null);r.useEffect(()=>{Be(W.sessionModel.modelId)},[We,W.sessionModel]),r.useEffect(()=>{const Re=new m.Disposable,Le=()=>{const ze=L(Ae.getSessionCodeBlocks()||[]);_e(ze)};return Re.addDispose(W.onChangeSession(Le)),Re.addDispose(Ae.onCodeBlockUpdate(Le)),()=>Re.dispose()},[]),r.useEffect(()=>{const Re=Z.getAllShortcutSlashCommand(),Le=$.onDidChangeAgents(()=>{const ze=$.getCommands().filter(St=>St.isShortcut).map(St=>new M.ChatSlashCommandItemModel({icon:"",name:`${St.name} `,description:St.description,isShortcut:St.isShortcut},St.name,St.agentId));Me(Re.concat(ze))});return Me(Re),()=>Le.dispose()},[Z,$]),(0,l.useUpdateOnEvent)(W.onChangeSession);const vt=r.useMemo(()=>G.chatInputRender?G.chatInputRender:H.capabilities.supportsMCP?A.ChatMentionInput:y.ChatInput,[G.chatInputRender]),xt=r.useMemo(()=>(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:"",text:r.createElement(w.WelcomeMessage,null)}),[]),lt=r.useCallback(Re=>{Re.deltaY<0?oe.current=!1:oe.current=!0},[oe]);r.useEffect(()=>{if(re.current)return re.current.addEventListener("wheel",lt),()=>{var Re;(Re=re.current)===null||Re===void 0||Re.removeEventListener("wheel",lt)}},[oe]);const wt=r.useCallback(()=>{if(re&&re.current&&oe.current){const Re=re.current.lastElementChild;Re&&Re.scrollIntoView({behavior:"smooth",block:"end"}),re.current.scrollHeight>re.current.clientHeight&&re.current.classList.add(k)}},[re,oe]),at=r.useCallback(Re=>{Te(Re),requestAnimationFrame(()=>{wt()})},[Te,wt]);r.useEffect(()=>{at({type:"init",payload:[xt]})},[]),r.useEffect(()=>{const Re=new m.Disposable;return Re.addDispose(j.onScrollToBottom(()=>{requestAnimationFrame(()=>{})})),Re.addDispose(j.onChatMessageLaunch(async Le=>{var ze;if(Le.immediate!==!1){if(We)return;await ui(Le.message,Le.images,Le.agentId,Le.command)}else Le.agentId&&le(Le.agentId),Le.command&&Ye(Le.command),(ze=he?.current)===null||ze===void 0||ze.setInputValue(Le.message)})),Re.addDispose(j.onChatReplyMessageLaunch(Le=>{if(Le.kind==="content"){const ze=Q.start(m.AIServiceType.CustomReply,{message:Le.content,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({content:Le.content,relationId:ze}),Ut({chunk:Le.content,relationId:ze})}else{const ze=Q.start(m.AIServiceType.CustomReply,{message:"component#"+Le.component,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({componentId:Le.component,componentValue:Le.value,content:"",relationId:ze}),_n({chunk:Le,relationId:ze})}})),Re.addDispose(j.onChatMessageListLaunch(Le=>{const ze=[];Le.forEach(St=>{const{role:$t}=St,On=Q.start(m.AIServiceType.Chat,{message:"",sessionId:W.sessionModel.sessionId});if($t==="assistant"){const Bn=St;ze.push((0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:On,text:r.createElement(S.ChatNotify,{requestId:On,chunk:Bn})},x.default.chat_notify))}if($t==="user"){const{message:Bn}=St,di=O.ChatProxyService.AGENT_ID,li=G.chatUserRoleRender,Ni=di===O.ChatProxyService.AGENT_ID?"":di;ze.push((0,I.createMessageByUser)({id:(0,m.uuid)(6),relationId:On,text:li?r.createElement(li,{content:Bn,agentId:Ni}):r.createElement(f.CodeBlockWrapperInput,{relationId:On,text:Bn,agentId:Ni,command:Ue,labelService:ge,workspaceService:te,commandService:fe})},x.default.chat_message_code))}}),at({type:"add",payload:ze}),setTimeout(wt,0)})),()=>Re.dispose()},[j,G.chatAIRoleRender,X]),r.useEffect(()=>{const Re=new m.Disposable;return Re.addDispose($.onDidSendMessage(Le=>{const ze=Le,St=Q.start(m.AIServiceType.Agent,{message:""}),$t=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:St,text:r.createElement(S.ChatNotify,{requestId:W.latestRequestId,chunk:ze})},x.default.chat_notify);at({type:"add",payload:[$t]})})),Re.addDispose($.onDidChangeAgents(async()=>{const Le=$.getDefaultAgentId();ye(Le??"")})),()=>Re.dispose()},[$,X,W]);const tt=r.useCallback(async Re=>{const{userMessage:Le,relationId:ze,requestId:St,render:$t,startTime:On,command:Bn,agentId:di}=Re;X.addAssistantMessage({type:"component",content:""});const li=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,className:x.default.chat_with_more_actions,text:r.createElement(D.SlashCustomRender,{userMessage:Le,startTime:On,relationId:ze,requestId:St,renderContent:$t,command:Bn,agentId:di})});at({type:"add",payload:[li]})},[re,X]),st=r.useCallback(async Re=>{const Le=G.chatUserRoleRender,{message:ze,images:St,agentId:$t,relationId:On,command:Bn}=Re,di=$t===O.ChatProxyService.AGENT_ID?"":$t,li=(0,I.createMessageByUser)({id:(0,m.uuid)(6),relationId:On,text:Le?r.createElement(Le,{content:ze,images:St,agentId:di,command:Bn}):r.createElement(f.CodeBlockWrapperInput,{labelService:ge,relationId:On,text:ze,images:St,agentId:di,command:Bn,workspaceService:te,commandService:fe})},x.default.chat_message_code);at({type:"add",payload:[li]})},[G,G.chatUserRoleRender,X,wt]),At=r.useCallback(async Re=>{const{message:Le,agentId:ze,request:St,relationId:$t,command:On,startTime:Bn,msgId:di}=Re,li=ze===O.ChatProxyService.AGENT_ID?"":ze;if(ze===O.ChatProxyService.AGENT_ID&&On){const In=Z.getSlashCommandHandler(On);if(In&&In.providerRender)return pe(!1),tt({userMessage:Le,render:In.providerRender,relationId:$t,requestId:St.requestId,startTime:Bn,agentId:ze,command:On})}const Ni=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:$t,className:x.default.chat_with_more_actions,text:r.createElement(S.ChatReply,{relationId:$t,request:St,startTime:Bn,agentId:li,command:On,onDidChange:()=>{wt()},history:X,onDone:()=>{pe(!1)},onRegenerate:()=>{St&&W.sendRequest(St,!0)},msgId:di})});at({type:"add",payload:[Ni]})},[G,X,wt]),Ut=r.useCallback(Re=>{const{chunk:Le,relationId:ze}=Re;let St=r.createElement(b.ChatMarkdown,{markdown:Le,fillInIncompleteTokens:!0,agentId:ie,command:Ue});if(G.chatAIRoleRender){const On=G.chatAIRoleRender;St=r.createElement(On,{content:Le})}const $t=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,text:St,className:x.default.chat_with_more_actions});at({type:"add",payload:[$t]})},[G,X,wt]),_n=r.useCallback(Re=>{const{chunk:Le,relationId:ze}=Re,St=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,text:r.createElement(S.ChatNotify,{requestId:ze,chunk:Le})},x.default.chat_notify);at({type:"add",payload:[St]})},[G,X,wt]),Ln=r.useCallback(async Re=>{const{message:Le,images:ze,agentId:St,command:$t,reportExtra:On}=Re,{actionType:Bn,actionSource:di}=On||{},li=W.createRequest(Le.replaceAll(u.LLM_CONTEXT_KEY_REGEX,""),St,ze,$t);if(!li)return;pe(!0),W.setLatestRequestId(li.requestId);const Ni=Date.now(),In=O.ChatProxyService.AGENT_ID===St?m.AIServiceType.Chat:m.AIServiceType.Agent,Cn=Q.start($t||In,{agentId:St,userMessage:Le,actionType:Bn,actionSource:di,sessionId:W.sessionModel.sessionId},600*1e3);X.addUserMessage({content:Le,images:ze||[],agentId:St,agentCommand:$t,relationId:Cn}),await st({relationId:Cn,message:Le,images:ze,command:$t,agentId:St}),W.sendRequest(li);const $n=X.addAssistantMessage({content:"",relationId:Cn,requestId:li.requestId,replyStartTime:Ni});V.activeMessageInfo={messageId:$n,sessionId:W.sessionModel.sessionId},await At({startTime:Ni,relationId:Cn,message:Le,agentId:St,command:$t,request:li,msgId:$n})},[G,G.chatUserRoleRender,X,wt,We]),ui=r.useCallback(async(Re,Le,ze,St)=>{var $t,On,Bn;const di={actionSource:m.ActionSourceEnum.Chat,actionType:m.ActionTypeEnum.Send};ze=ze||O.ChatProxyService.AGENT_ID;let li=Re;const Ni=/\{\{@file:(.*?)\}\}/g,In=Re.match(Ni);if(In)for(const Kn of In){const Xt=Kn.replace(/\{\{@file:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt),_t=(($t=await te.asRelativePath(Qe))===null||$t===void 0?void 0:$t.path)||Qe.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${_t}\``)}const Cn=/\{\{@folder:(.*?)\}\}/g,$n=li.match(Cn);if($n)for(const Kn of $n){const Xt=Kn.replace(/\{\{@folder:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt),_t=((On=await te.asRelativePath(Qe))===null||On===void 0?void 0:On.path)||Qe.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFolder}${_t}\``)}const Si=/\{\{@code:(.*?)\}\}/g,Ui=li.match(Si);if(Ui)for(const Kn of Ui){const Xt=Kn.replace(/\{\{@code:(.*?)\}\}/,"$1"),[Qe,_t]=Xt.split(":");let mt=[0,0];if(_t){const[Gt,Kt]=_t.slice(1).split("-");mt=[parseInt(Gt,10),parseInt(Kt,10)]}const gt=new m.URI(Qe),nn=((Bn=await te.asRelativePath(gt))===null||Bn===void 0?void 0:Bn.path)||gt.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${nn}:L${mt[0]}-${mt[1]}\``)}const bi=/\{\{@rule:(.*?)\}\}/g,hn=li.match(bi);if(hn)for(const Kn of hn){const Xt=Kn.replace(/\{\{@rule:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt);li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${Qe.displayName}\``)}return Ln({message:li,images:Le,agentId:ze,command:St,reportExtra:di})},[Ln]),Rn=r.useCallback(()=>{W.clearSessionModel(),j.clearHistoryMessages(),ln()},[Ne]),ln=r.useCallback(()=>{var Re;(Re=re?.current)===null||Re===void 0||Re.classList.remove(k),at({type:"init",payload:[xt]})},[Ne]),Un=Re=>{We||(pt(Re.nameWithSlash),le(Re.agentId),Ye(Re.command))},rn=r.useCallback(()=>{Y.toggleSlot(h.AI_CHAT_VIEW_ID)},[Y]),ct=G.chatViewHeaderRender||U,$e=r.useCallback(async Re=>{for(const Le of X.getMessages()){if(Re.isCancellationRequested)return;if(Le.role===1)await st({relationId:Le.relationId,message:Le.content,agentId:Le.agentId,command:Le.agentCommand,images:Le.images});else if(Le.role===2&&Le.requestId){const ze=W.sessionModel.getRequest(Le.requestId);ze&&!ze.response.isComplete&&pe(!0),await At({msgId:Le.id,relationId:Le.relationId,message:Le.content,agentId:Le.agentId,command:Le.agentCommand,startTime:Le.replyStartTime,request:ze})}else Le.role===2&&Le.content?await Ut({relationId:Le.relationId,chunk:Le.content}):Le.role===2&&Le.componentId&&await _n({relationId:Le.relationId,chunk:{kind:"component",component:Le.componentId,value:Le.componentValue}})}},[At]);return r.useEffect(()=>{ln();const Re=new m.CancellationTokenSource;return pe(!1),$e(Re.token),()=>{Re.cancel()}},[W.sessionModel]),r.createElement("div",{id:x.default.ai_chat_view},r.createElement("div",{className:x.default.header_container},r.createElement(ct,{handleClear:Rn,handleCloseChatView:rn})),r.createElement("div",{className:x.default.body_container},r.createElement("div",{className:x.default.left_bar,id:"ai_chat_left_container"},r.createElement("div",{className:x.default.chat_container,ref:re},r.createElement(o.MessageList,{className:x.default.message_list,lockable:!0,toBottomHeight:"100%",dataSource:Ne})),W.sessionModel.slicedMessageCount?r.createElement("div",{className:x.default.chat_tips_text},r.createElement("div",{className:x.default.chat_tips_container},(0,m.formatLocalize)("aiNative.chat.ai.assistant.limit.message",W.sessionModel.slicedMessageCount))):null,r.createElement("div",{className:x.default.chat_input_wrap},r.createElement("div",{className:x.default.header_operate},r.createElement("div",{className:x.default.header_operate_left},Oe.map(Re=>r.createElement(_.Popover,{id:`ai-chat-shortcut-${Re.name}`,key:`ai-chat-shortcut-${Re.name}`,title:Re.tooltip||Re.name},r.createElement("div",{className:x.default.tag,onClick:()=>Un(Re)},Re.name))))),De.length>0&&r.createElement(E.FileListDisplay,{files:De,hideActions:We,onFileClick:Re=>{me.open(m.URI.file(m.path.join(q.workspaceDir,Re)))},onRejectAll:()=>{Ae.processAll("reject")},onAcceptAll:()=>{Ae.processAll("accept")}}),r.createElement(vt,{onSend:ui,disabled:We,enableOptions:!0,theme:Ve,setTheme:pt,agentId:ie,setAgentId:le,defaultAgentId:Se,command:Ue,setCommand:Ye,contextService:K,ref:he,disableModelSelector:Pe!==void 0||We,sessionModelId:Pe})))))};t.AIChatView=N;function U({handleClear:W,handleCloseChatView:j}){const Q=(0,l.useInjectable)(h.IChatInternalService),$=(0,l.useInjectable)(g.IMessageService),Z=(0,l.useInjectable)(m.ChatFeatureRegistryToken),[G,V]=r.useState([]),[H,K]=r.useState(""),Y=r.useCallback(()=>{if(Q.sessionModel.history.getMessages().length>0)try{Q.createSessionModel()}catch(me){$.error(me.message)}},[Q]),X=r.useCallback(me=>{Q.activateSession(me.id)},[Q]),re=r.useCallback(me=>{Q.clearSessionModel(me.id)},[Q]),oe=r.useCallback(async(me,q,Ae)=>{if(!Ae)return q;try{const ge=await Ae.getMessageSummary(me);return ge?ge.slice(0,F):q}catch{return q}},[]),he=r.useRef(0);return r.useEffect(()=>{const me=async()=>{const ge=Q.sessionModel.history.getMessages(),te=[...ge].find(Me=>Me.role===1),fe=te?(0,c.cleanAttachedTextWrapper)(te.content).slice(0,F):"";K(fe);const Oe=ge.map(Me=>({role:Me.role,content:Me.content}));if(Oe.length>2){const Me=Date.now();he.current=Me;const Pe=Z.getMessageSummaryProvider(),Be=await oe(Oe,fe,Pe);Me===he.current&&Be&&K(Be)}V(Q.getSessions().map(Me=>{const Be=Me.history.getMessages(),De=Be.length>0?(0,c.cleanAttachedTextWrapper)(Be[0].content).slice(0,F):"",_e=Be.length>0&&Be[Be.length-1].replyStartTime||0;return{id:Me.sessionId,title:De,updatedAt:_e,loading:!1}}))};me();const q=new m.DisposableCollection,Ae=new Set;return q.push(Q.onChangeSession(ge=>{me(),!Ae.has(ge)&&(Ae.add(ge),q.push(Q.sessionModel.history.onMessageChange(()=>{me()})))})),q.push(Q.sessionModel.history.onMessageChange(()=>{me()})),()=>{q.dispose()}},[Q]),r.createElement("div",{className:x.default.header},r.createElement(d.default,{className:x.default.chat_history,currentId:Q.sessionModel.sessionId,title:H||(0,m.localize)("aiNative.chat.ai.assistant.name"),historyList:G,onNewChat:Y,onHistoryItemSelect:X,onHistoryItemDelete:re,onHistoryItemChange:()=>{}}),r.createElement(_.Popover,{overlayClassName:x.default.popover_icon,id:"ai-chat-header-clear",title:(0,m.localize)("aiNative.operate.clear.title")},r.createElement(v.EnhanceIcon,{wrapperClassName:x.default.action_btn,className:(0,l.getIcon)("clear"),onClick:W,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.clear.title")})),r.createElement(_.Popover,{overlayClassName:x.default.popover_icon,id:"ai-chat-header-close",position:_.PopoverPosition.left,title:(0,m.localize)("aiNative.operate.close.title")},r.createElement(v.EnhanceIcon,{wrapperClassName:x.default.action_btn,className:(0,l.getIcon)("window-close"),onClick:j,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.close.title")})))}},21967:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApplyStatus=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(97267),l=n.__importDefault(e(6960)),_=({status:v,error:m})=>{const p=()=>{switch(v){case"generating":return r.default.createElement(o.Loading,null);case"pending":return r.default.createElement(o.Popover,{title:"Pending",id:"edit-file-tool-status-pending"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-circle-large"}));case"success":return r.default.createElement(o.Popover,{title:"Success",id:"edit-file-tool-status-success"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-pass"}));case"failed":return r.default.createElement(o.Popover,{title:`(${m||"Unknown error"})`,id:"edit-file-tool-status-failed"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-error"}));case"cancelled":return r.default.createElement(o.Popover,{title:"Cancelled",id:"edit-file-tool-status-cancelled"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-circle-slash",style:{color:"var(--input-placeholderForeground)"}}));default:return null}};return r.default.createElement("span",{className:l.default.status},p())};t.ApplyStatus=_},87785:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileListDisplay=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),_=e(54414),v=e(42995),m=e(21967),p=n.__importDefault(e(80919)),s=g=>{const{files:a,onFileClick:h,onRejectAll:u,onAcceptAll:c,hideActions:E}=g,[f,d]=(0,r.useState)(!0),y=(0,l.useInjectable)(_.WorkbenchEditorService),b=(0,l.useInjectable)(l.LabelService),A=(0,r.useMemo)(()=>a.map(R=>{const M=l.URI.parse(R.path),O=b.getIcon(M);return r.default.createElement("span",{className:O})}),[a]),S=a.length,D=a.reduce((R,M)=>({additions:R.additions+M.additions,deletions:R.deletions+M.deletions}),{additions:0,deletions:0}),I=()=>{d(!f)},w=R=>R?r.default.createElement("span",{className:p.default.viewChanges,onClick:M=>{M.stopPropagation(),y.open(l.URI.from({scheme:v.ChatMultiDiffResolver.CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME,path:"chat-editing-multi-diff-source"}),{label:(0,l.localize)("aiNative.chat.view-changes")})}},r.default.createElement(o.Icon,{icon:"unorderedlist",size:"small"}),(0,l.localize)("aiNative.chat.view-changes")):null,T=(R,M)=>{const O=[];return R>0&&O.push(r.default.createElement("span",{key:"add",className:p.default.additions},"+",R)),M>0&&(O.length>0&&O.push(" "),O.push(r.default.createElement("span",{key:"del",className:p.default.deletions},"-",M))),O.length===0&&O.push(r.default.createElement("span",{key:"no-change",className:p.default.noChange},"No changes")),O};return r.default.createElement("div",{className:p.default.container},r.default.createElement("div",{className:p.default.header},r.default.createElement("span",{className:p.default.title},r.default.createElement("button",{className:p.default.toggleButton,onClick:I},f?r.default.createElement(o.Icon,{icon:"down"}):r.default.createElement(o.Icon,{icon:"right"})," Changed Files(",S,")"),T(D.additions,D.deletions),!E&&w(a.length)),!E&&a.some(R=>R.status==="pending")&&r.default.createElement("div",{className:p.default.actions},r.default.createElement(o.Button,{type:"link",size:"small",onClick:R=>{R.stopPropagation(),u()}},"Reject"),r.default.createElement(o.Button,{size:"small",onClick:R=>{R.stopPropagation(),c()}},"Accept"))),r.default.createElement("ul",{className:`${p.default.fileList} ${f?"":p.default.collapsed}`},a.map((R,M)=>r.default.createElement("li",{key:M,className:p.default.fileItem,onClick:()=>h(R.path)},r.default.createElement("span",{className:p.default.fileIcon},A[M]||"\u{1F4C4}"),r.default.createElement("div",{className:p.default.fileInfo},r.default.createElement("div",{className:p.default.filePath},R.path),r.default.createElement("div",{className:p.default.fileStats},T(R.additions,R.deletions)),r.default.createElement(m.ApplyStatus,{status:R.status}))))))};t.FileListDisplay=s},25834:(P,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.__importDefault(e(97331)),l=n.__importStar(e(14041)),_=n.__importDefault(e(10580)),v=e(46541),m=e(41869),p=e(81878),s=e(89195),g=e(43718),a=e(30526),h=e(9447),u=e(52416),c=n.__importDefault(e(6960)),E=e(83933),f=e(44692);e(38191);const d=S=>{const{input:D,language:I,relationId:w,agentId:T,command:R,hideInsert:M}=S,O=l.default.useRef(null),x=(0,m.useInjectable)(h.MonacoCommandRegistry),k=(0,m.useInjectable)(m.IClipboardService),F=(0,m.useInjectable)(u.IThemeService),L=(0,m.useInjectable)(g.IAIReporter),[N,U]=(0,l.useState)(!1),W=(0,l.useMemo)(()=>(0,m.uuid)(12),[O,O.current]);(0,l.useEffect)(()=>{const Z=H=>{H.type==="dark"||H.type==="hcDark"?e.e(622).then(e.bind(e,51622)):(H.type==="light"||H.type==="hcLight")&&e.e(412).then(e.bind(e,50412))},G=F.onThemeChange(H=>{Z(H)}),V=F.getCurrentThemeSync();return Z(V),()=>G.dispose()},[]);const j=(0,l.useRef)((0,o.default)(()=>{var Z;if(O.current){const G=O.current,V=(Z=G?.el)===null||Z===void 0?void 0:Z.querySelector("code"),H=V?.children;if(H){const K=H[H.length-1];K&&(K.scrollIntoViewIfNeeded?K.scrollIntoViewIfNeeded():K.scrollIntoView(!1))}}},150,{leading:!0,trailing:!0})).current;(0,l.useEffect)(()=>(j(),()=>{j.cancel()}),[D,j]);const Q=(0,l.useCallback)(async()=>{U(!0),await k.writeText(D),L.end(w,{copy:!0,code:D,language:I,agentId:T,command:R,actionSource:g.ActionSourceEnum.Chat,actionType:g.ActionTypeEnum.ChatCopyCode}),(0,g.runWhenIdle)(()=>{U(!1)},1e3)},[k,D,w]),$=(0,l.useCallback)(()=>{const Z=x.getActiveCodeEditor();if(Z){const G=Z.getSelection();G&&((0,a.insertSnippetWithMonacoEditor)(Z,D,[G],{undoStopBefore:!1,undoStopAfter:!1}),L.end(w,{insert:!0,code:D,language:I,agentId:T,command:R,actionSource:g.ActionSourceEnum.Chat,actionType:g.ActionTypeEnum.ChatInsertCode}))}},[x]);return l.default.createElement("div",{className:c.default.monaco_wrapper},l.default.createElement("div",{className:c.default.action_toolbar},!M&&l.default.createElement(p.Popover,{id:`ai-chat-inser-${W}`,title:(0,g.localize)("aiNative.chat.code.insert")},l.default.createElement(s.EnhanceIcon,{className:(0,m.getIcon)("insert"),onClick:()=>$(),tabIndex:0,role:"button",ariaLabel:(0,g.localize)("aiNative.chat.code.insert")})),l.default.createElement(p.Popover,{id:`ai-chat-copy-${W}`,title:(0,g.localize)(N?"aiNative.chat.code.copy.success":"aiNative.chat.code.copy")},l.default.createElement(s.EnhanceIcon,{className:(0,m.getIcon)("copy"),onClick:()=>Q(),tabIndex:0,role:"button",ariaLabel:(0,g.localize)("aiNative.chat.code.copy")}))),l.default.createElement(_.default,{language:I,ref:O,className:c.default.highlight_editor},D))};t.CodeEditorWithHighlight=d;const y=({content:S="",relationId:D,renderText:I,agentId:w="",command:T="",labelService:R,commandService:M,workspaceService:O})=>{const x=/`([^`]+)`/g,k=/```([^]+?)```/g,F=/```([^]+)?/g,L=/<attached_file>(.*)/g,N=/<attached_folder>(.*)/g,U=(0,l.useCallback)(async($,Z)=>{const G=await O?.roots;let V;if(G)for(const H of G){V=new g.URI(H.uri).resolve($);try{await M?.executeCommand(m.FILE_COMMANDS.REVEAL_IN_EXPLORER.id,V),Z===f.MentionType.FILE&&await M?.executeCommand(m.EDITOR_COMMANDS.OPEN_RESOURCE.id,V);break}catch{continue}}},[M,O]),W=($,Z=!1,G)=>l.default.createElement("span",{className:c.default.attachment,key:G,onClick:()=>U($,Z?f.MentionType.FOLDER:f.MentionType.FILE)},l.default.createElement(p.Icon,{iconClass:Z?(0,m.getIcon)("folder"):R?.getIcon(new g.URI($||"file"))}),l.default.createElement("span",{className:c.default.attachment_text},$)),j=$=>{const Z=$.split(`
|
|
32958
|
+
`)}]:[]}processToolCall(k,F){F[F.length-1].role!=="assistant"&&F.push({role:"assistant",content:[]});const L=k.content.id,N={id:L,name:k.content.function.name,args:this.parseJsonSafely(k.content.function.arguments||"{}","tool call arguments"),result:this.parseJsonSafely(k.content.result||"{}","tool result")};this.history.addToolCall(N),this.history.setMessageAdditional(k.content.id,{toolCallId:L});const U=F[F.length-1];U.content=[{type:"tool-call",toolCallId:k.content.id,toolName:k.content.function.name,args:N.args}],F.push({role:"tool",content:[{type:"tool-result",toolCallId:k.content.id,toolName:k.content.function.name,result:N.result}]})}parseJsonSafely(k,F){try{return JSON.parse(k)}catch(L){return console.error(`[ChatModel] Failed to parse ${F}:`,L),{}}}processRecentMessages(){const k=[],F=this.history.getMessages().filter(L=>!L.isSummarized).slice(-this.history.memoryConfig.shortTermSize);for(const L of F){k.push({role:"user",content:L.content});const N=this.history.getMessageAdditional(L.id);if(N?.response){const U=N.response;U.kind==="toolCall"?this.processToolCall(U,k):k.push({role:"assistant",content:U.kind==="markdownContent"?U.content.value:U.content})}}return k}limitTokens(k,F){if(!F)return k;let L=k,N=JSON.stringify(L).length/3;for(;N>F&&L.length>1;)L[0].role==="system"&&L.length>2?L=[L[0],...L.slice(2)]:L=L.slice(1),N=JSON.stringify(L).length/3;return L}getMessageHistory(k){const F=this.processMemorySummaries(),L=this.processRecentMessages(),N=[...F,...L];return this.limitTokens(N,k)}addRequest(k){const F=k,L=`${this.sessionId}_request_${this.requestIdPool++}`,N=new w(L,this,F.agentId),U=new T(L,this,F,N);return y.__classPrivateFieldGet(this,c,"f").set(L,U),U}acceptResponseProgress(k,F,L){if(k.response.isComplete)throw new Error("acceptResponseProgress: Adding progress to a completed response");const{kind:N}=F;["content","markdownContent","asyncContent","treeData","component","toolCall","reasoning"].includes(N)?k.response.updateContent(F,L):console.error(`Couldn't handle progress: ${JSON.stringify(F)}`)}getRequest(k){return y.__classPrivateFieldGet(this,c,"f").get(k)}dispose(){super.dispose(),y.__classPrivateFieldGet(this,c,"f").forEach(k=>k.response.dispose())}toJSON(){return{sessionId:this.sessionId,modelId:this.modelId,history:this.history,requests:this.requests}}}t.ChatModel=R,u=new WeakMap,c=new WeakMap,E=new WeakMap,f=new WeakMap;let M=d=class extends A.Disposable{get id(){return this._id}constructor(k,F){super(),this.content=k,this.sampleQuestions=F,this._id="welcome_"+d.nextId++}};t.ChatWelcomeMessageModel=M,M.nextId=0,t.ChatWelcomeMessageModel=M=d=y.__decorate([(0,b.Injectable)({multiple:!0}),y.__metadata("design:paramtypes",[Object,Array])],M);let O=class extends A.Disposable{constructor(k,F,L){super(),this.chatCommand=k,this.command=F,this.agentId=L}get name(){return this.chatCommand.name}get isShortcut(){return!!this.chatCommand.isShortcut}get icon(){return this.chatCommand.icon}get description(){return this.chatCommand.description}get tooltip(){return this.chatCommand.tooltip}get nameWithSlash(){return this.name.startsWith(D.SLASH_SYMBOL)?this.name:`${D.SLASH_SYMBOL} ${this.name}`}};t.ChatSlashCommandItemModel=O,t.ChatSlashCommandItemModel=O=y.__decorate([(0,b.Injectable)({multiple:!0}),y.__metadata("design:paramtypes",[Object,String,String])],O)},42995:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatMultiDiffSource=t.ChatMultiDiffResolver=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(64335),v=e(73974);let m=n=class{canHandleUri(a){return a.scheme===n.CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME}resolveDiffSource(a){return Promise.resolve(new s(this.baseApplyService,this.appConfig))}};t.ChatMultiDiffResolver=m,m.CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME="chat-editing-multi-diff-source",r.__decorate([(0,o.Autowired)(v.BaseApplyService),r.__metadata("design:type",v.BaseApplyService)],m.prototype,"baseApplyService",void 0),r.__decorate([(0,o.Autowired)(l.AppConfig),r.__metadata("design:type",Object)],m.prototype,"appConfig",void 0),t.ChatMultiDiffResolver=m=n=r.__decorate([(0,o.Injectable)()],m);const p=(g,a,h)=>l.URI.from({scheme:v.BaseApplyService.CHAT_EDITING_SOURCE_RESOLVER_SCHEME,path:g,query:l.URI.stringifyQuery({id:a,side:h})});class s{constructor(a,h){this.baseApplyService=a,this.appConfig=h,this.resources=(()=>{const u=this.baseApplyService,c=this.appConfig;return{get value(){return u.getSessionCodeBlocks().filter(E=>E.status==="success"||E.status==="pending").reduce((E,f)=>{const d=E.find(y=>y.relativePath===f.relativePath);return d?(f.version<d.oldVersion&&(d.oldVersion=f.version,d.oldBlockId=f.toolCallId),f.version>d.newVersion&&(d.newVersion=f.version,d.newBlockId=f.toolCallId)):E.push({relativePath:f.relativePath,oldBlockId:f.toolCallId,newBlockId:f.toolCallId,oldVersion:f.version,newVersion:f.version}),E},[]).map(E=>{const f=l.path.join(c.workspaceDir,E.relativePath);return new _.MultiDiffEditorItem(p(f,E.oldBlockId,"left"),p(f,E.newBlockId,"right"),l.URI.file(f))})},onDidChange:this.baseApplyService.onCodeBlockUpdate}})()}}t.ChatMultiDiffSource=s},51081:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatProxyService=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(43718),v=e(27284),m=e(9447),p=e(72665),s=e(93062),g=e(19413),a=e(85907),h=e(34817),u=e(33108),c=e(11735);let E=n=class extends _.Disposable{constructor(){super(...arguments),this.chatDeferred=new _.Deferred}async getRequestOptions(){const d=this.preferenceService.get(v.AINativeSettingSectionsId.LLMModelSelection),y=this.preferenceService.get(v.AINativeSettingSectionsId.ModelID);let b="",A="";d==="deepseek"?b=this.preferenceService.get(v.AINativeSettingSectionsId.DeepseekApiKey,""):d==="openai"?b=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiApiKey,""):d==="anthropic"?b=this.preferenceService.get(v.AINativeSettingSectionsId.AnthropicApiKey,""):(b=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiApiKey,""),A=this.preferenceService.get(v.AINativeSettingSectionsId.OpenaiBaseURL,""));const S=this.preferenceService.get(v.AINativeSettingSectionsId.MaxTokens),D=this.chatAgentService.getAgent(n.AGENT_ID),I=await this.mcpConfigService.getDisabledTools();return{clientId:this.applicationService.clientId,model:d,modelId:y,apiKey:b,baseURL:A,maxTokens:S,system:D?.metadata.systemPrompt,disabledTools:I}}registerDefaultAgent(){this.chatAgentViewService.registerChatComponent({id:"toolCall",component:h.ChatToolRender,initialProps:{}}),this.applicationService.getBackendOS().then(()=>{this.addDispose(this.chatAgentService.registerAgent({id:n.AGENT_ID,metadata:{systemPrompt:this.preferenceService.get(v.AINativeSettingSectionsId.SystemPrompt,a.DEFAULT_SYSTEM_PROMPT)},invoke:async(d,y,b,A)=>{this.chatDeferred=new _.Deferred;const{message:S,command:D}=d;let I=S;if(D){const T=this.chatFeatureRegistry.getSlashCommandHandler(D);if(T&&T.providerPrompt){const R=this.monacoCommandRegistry.getActiveCodeEditor();I=await T.providerPrompt(S,R)}}const w=await this.aiBackService.requestStream(I,{requestId:d.requestId,sessionId:d.sessionId,history:b,images:d.images,...await this.getRequestOptions()},A);return(0,s.listenReadable)(w,{onData:T=>{y(T)},onEnd:()=>{this.chatDeferred.resolve()},onError:T=>{this.messageService.error(T.message),this.aiReporter.end(d.sessionId+"_"+d.requestId,{message:T.message,success:!1,command:D})}}),await this.chatDeferred.promise,{}},provideSlashCommands:async()=>this.chatFeatureRegistry.getAllSlashCommand().map(d=>({...d,name:d.name,description:d.description||""})),provideChatWelcomeMessage:async()=>{}}))}),queueMicrotask(()=>{this.chatAgentService.updateAgent(n.AGENT_ID,{})})}};t.ChatProxyService=E,E.AGENT_ID="Default_Chat_Agent",r.__decorate([(0,o.Autowired)(g.IChatAgentService),r.__metadata("design:type",Object)],E.prototype,"chatAgentService",void 0),r.__decorate([(0,o.Autowired)(_.AIBackSerivcePath),r.__metadata("design:type",Object)],E.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(_.ChatFeatureRegistryToken),r.__metadata("design:type",c.ChatFeatureRegistry)],E.prototype,"chatFeatureRegistry",void 0),r.__decorate([(0,o.Autowired)(m.MonacoCommandRegistry),r.__metadata("design:type",m.MonacoCommandRegistry)],E.prototype,"monacoCommandRegistry",void 0),r.__decorate([(0,o.Autowired)(_.IAIReporter),r.__metadata("design:type",Object)],E.prototype,"aiReporter",void 0),r.__decorate([(0,o.Autowired)(_.ChatAgentViewServiceToken),r.__metadata("design:type",Object)],E.prototype,"chatAgentViewService",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],E.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(_.IApplicationService),r.__metadata("design:type",Object)],E.prototype,"applicationService",void 0),r.__decorate([(0,o.Autowired)(p.IMessageService),r.__metadata("design:type",Object)],E.prototype,"messageService",void 0),r.__decorate([(0,o.Autowired)(_.MCPConfigServiceToken),r.__metadata("design:type",u.MCPConfigService)],E.prototype,"mcpConfigService",void 0),t.ChatProxyService=E=n=r.__decorate([(0,o.Injectable)()],E)},29770:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(63067),_=e(19413),v=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(_.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)}scrollToBottom(){this._onScrollToBottom.fire()}};t.ChatService=m,n.__decorate([(0,r.Autowired)(_.IChatInternalService),n.__metadata("design:type",v.ChatInternalService)],m.prototype,"chatInternalService",void 0),n.__decorate([(0,r.Autowired)(l.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:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatFeatureRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(19413),_=e(42033),v=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}registerImageUploadProvider(s){this.imageUploadProvider=s}getImageUploadProvider(){return this.imageUploadProvider}registerMessageSummaryProvider(s){this.messageSummaryProvider=s}getMessageSummaryProvider(){return this.messageSummaryProvider}dispose(){super.dispose(),this.slashCommandsMap.clear(),this.slashCommandsHandlerMap.clear()}registerWelcome(s,g){this.chatWelcomeMessageModel=new _.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 _.ChatSlashCommandItemModel(s,a,v.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(l.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:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.ChatInternalService=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(43718),v=e(19413),m=e(61282);let p=class extends _.Disposable{constructor(){super(...arguments),this._onChangeRequestId=new _.Emitter,this.onChangeRequestId=this._onChangeRequestId.event,this._onChangeSession=new _.Emitter,this.onChangeSession=this._onChangeSession.event,this._onCancelRequest=new _.Emitter,this.onCancelRequest=this._onCancelRequest.event,this._onWillClearSession=new _.Emitter,this.onWillClearSession=this._onWillClearSession.event,this._onRegenerateRequest=new _.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,u){return this.chatManagerService.createRequest(r.__classPrivateFieldGet(this,n,"f").sessionId,g,a,u,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._onWillClearSession.fire(g),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()}getSession(g){return this.chatManagerService.getSession(g)}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=p,n=new WeakMap,r.__decorate([(0,o.Autowired)(_.AIBackSerivcePath),r.__metadata("design:type",Object)],p.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(v.IChatManagerService),r.__metadata("design:type",m.ChatManagerService)],p.prototype,"chatManagerService",void 0),t.ChatInternalService=p=r.__decorate([(0,o.Injectable)()],p)},70394:(P,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 l=class extends o.Disposable{registerWelcomeRender(v){this.chatWelcomeRender=v}registerAIRoleRender(v){this.chatAIRoleRender=v}registerUserRoleRender(v){this.chatUserRoleRender=v}registerThinkingRender(v){this.chatThinkingRender=v}registerInputRender(v){this.chatInputRender=v}registerThinkingResultRender(v){this.chatThinkingResultRender=v}registerChatViewHeaderRender(v){this.chatViewHeaderRender=v}};t.ChatRenderRegistry=l,t.ChatRenderRegistry=l=n.__decorate([(0,r.Injectable)()],l)},76154:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIChatView=void 0,t.DefaultChatViewHeader=U;const n=e(85608),r=n.__importStar(e(14041)),o=e(68392),l=e(41869),_=e(81878),v=e(89195),m=e(43718),p=e(54414),s=e(63067),g=e(72665);e(41937);const a=e(51500),h=e(19413),u=e(46044),c=e(98864),E=e(87785),f=e(25834),d=n.__importDefault(e(90103)),y=e(57987),b=e(56474),A=e(49601),S=e(15016),D=e(29039),I=e(78048),w=e(86556),T=e(73974),R=e(77633),M=e(42033),O=e(51081),x=n.__importDefault(e(77256)),k="chat_scroll",F=100,L=W=>W.map(j=>{var Q;const $=((Q=j.applyResult)===null||Q===void 0?void 0:Q.diff.split(`
|
|
32959
|
+
`).reduce(([Z,G],V)=>(V.startsWith("-")?Z+=1:V.startsWith("+")&&(G+=1),[Z,G]),[0,0]))||[0,0];return{path:j.relativePath,additions:$[1],deletions:$[0],status:j.status}}).reduce((j,Q)=>{const $=j.find(Z=>Z.path===Q.path);return $?($.additions+=Q.additions,$.deletions+=Q.deletions,$.status=Q.status):j.push(Q),j},[]),N=()=>{const W=(0,l.useInjectable)(h.IChatInternalService),j=(0,l.useInjectable)(m.ChatServiceToken),Q=(0,l.useInjectable)(m.IAIReporter),$=(0,l.useInjectable)(h.IChatAgentService),Z=(0,l.useInjectable)(m.ChatFeatureRegistryToken),G=(0,l.useInjectable)(m.ChatRenderRegistryToken),V=(0,l.useInjectable)(R.TokenMCPServerRegistry),H=(0,l.useInjectable)(l.AINativeConfigService),K=(0,l.useInjectable)(u.LLMContextServiceToken),Y=(0,l.useInjectable)(s.IMainLayoutService),X=W.sessionModel.history,re=r.useRef(null),oe=r.useRef(!0),he=r.useRef(null),me=(0,l.useInjectable)(p.WorkbenchEditorService),q=(0,l.useInjectable)(l.AppConfig),Ae=(0,l.useInjectable)(T.BaseApplyService),ge=(0,l.useInjectable)(l.LabelService),te=(0,l.useInjectable)(a.IWorkspaceService),fe=(0,l.useInjectable)(m.CommandService),[Oe,Me]=r.useState([]),[Pe,Be]=r.useState(W.sessionModel.modelId),[De,_e]=r.useState(L(Ae.getSessionCodeBlocks())),[Ne,Te]=r.useReducer((Re,Le)=>{switch(Le.type){case"add":return[...Re,...Le.payload||[]];case"clear":return[];case"init":return Array.isArray(Le.payload)?Le.payload:[];default:return Re}},[]),[We,pe]=r.useState(!1),[ie,le]=r.useState(""),[Se,ye]=r.useState(""),[Ue,Ye]=r.useState(""),[Ve,pt]=r.useState(null);r.useEffect(()=>{Be(W.sessionModel.modelId)},[We,W.sessionModel]),r.useEffect(()=>{const Re=new m.Disposable,Le=()=>{const ze=L(Ae.getSessionCodeBlocks());_e(ze)};return Re.addDispose(W.onChangeSession(Le)),Re.addDispose(Ae.onCodeBlockUpdate(Le)),()=>Re.dispose()},[]),r.useEffect(()=>{const Re=Z.getAllShortcutSlashCommand(),Le=$.onDidChangeAgents(()=>{const ze=$.getCommands().filter(St=>St.isShortcut).map(St=>new M.ChatSlashCommandItemModel({icon:"",name:`${St.name} `,description:St.description,isShortcut:St.isShortcut},St.name,St.agentId));Me(Re.concat(ze))});return Me(Re),()=>Le.dispose()},[Z,$]),(0,l.useUpdateOnEvent)(W.onChangeSession);const vt=r.useMemo(()=>G.chatInputRender?G.chatInputRender:H.capabilities.supportsMCP?A.ChatMentionInput:y.ChatInput,[G.chatInputRender]),xt=r.useMemo(()=>(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:"",text:r.createElement(w.WelcomeMessage,null)}),[]),lt=r.useCallback(Re=>{Re.deltaY<0?oe.current=!1:oe.current=!0},[oe]);r.useEffect(()=>{if(re.current)return re.current.addEventListener("wheel",lt),()=>{var Re;(Re=re.current)===null||Re===void 0||Re.removeEventListener("wheel",lt)}},[oe]);const wt=r.useCallback(()=>{if(re&&re.current&&oe.current){const Re=re.current.lastElementChild;Re&&Re.scrollIntoView({behavior:"smooth",block:"end"}),re.current.scrollHeight>re.current.clientHeight&&re.current.classList.add(k)}},[re,oe]),at=r.useCallback(Re=>{Te(Re),requestAnimationFrame(()=>{wt()})},[Te,wt]);r.useEffect(()=>{at({type:"init",payload:[xt]})},[]),r.useEffect(()=>{const Re=new m.Disposable;return Re.addDispose(j.onScrollToBottom(()=>{requestAnimationFrame(()=>{})})),Re.addDispose(j.onChatMessageLaunch(async Le=>{var ze;if(Le.immediate!==!1){if(We)return;await ui(Le.message,Le.images,Le.agentId,Le.command)}else Le.agentId&&le(Le.agentId),Le.command&&Ye(Le.command),(ze=he?.current)===null||ze===void 0||ze.setInputValue(Le.message)})),Re.addDispose(j.onChatReplyMessageLaunch(Le=>{if(Le.kind==="content"){const ze=Q.start(m.AIServiceType.CustomReply,{message:Le.content,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({content:Le.content,relationId:ze}),Ut({chunk:Le.content,relationId:ze})}else{const ze=Q.start(m.AIServiceType.CustomReply,{message:"component#"+Le.component,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({componentId:Le.component,componentValue:Le.value,content:"",relationId:ze}),_n({chunk:Le,relationId:ze})}})),Re.addDispose(j.onChatMessageListLaunch(Le=>{const ze=[];Le.forEach(St=>{const{role:$t}=St,On=Q.start(m.AIServiceType.Chat,{message:"",sessionId:W.sessionModel.sessionId});if($t==="assistant"){const Bn=St;ze.push((0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:On,text:r.createElement(S.ChatNotify,{requestId:On,chunk:Bn})},x.default.chat_notify))}if($t==="user"){const{message:Bn}=St,di=O.ChatProxyService.AGENT_ID,li=G.chatUserRoleRender,Ni=di===O.ChatProxyService.AGENT_ID?"":di;ze.push((0,I.createMessageByUser)({id:(0,m.uuid)(6),relationId:On,text:li?r.createElement(li,{content:Bn,agentId:Ni}):r.createElement(f.CodeBlockWrapperInput,{relationId:On,text:Bn,agentId:Ni,command:Ue,labelService:ge,workspaceService:te,commandService:fe})},x.default.chat_message_code))}}),at({type:"add",payload:ze}),setTimeout(wt,0)})),()=>Re.dispose()},[j,G.chatAIRoleRender,X]),r.useEffect(()=>{const Re=new m.Disposable;return Re.addDispose($.onDidSendMessage(Le=>{const ze=Le,St=Q.start(m.AIServiceType.Agent,{message:""}),$t=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:St,text:r.createElement(S.ChatNotify,{requestId:W.latestRequestId,chunk:ze})},x.default.chat_notify);at({type:"add",payload:[$t]})})),Re.addDispose($.onDidChangeAgents(async()=>{const Le=$.getDefaultAgentId();ye(Le??"")})),()=>Re.dispose()},[$,X,W]);const tt=r.useCallback(async Re=>{const{userMessage:Le,relationId:ze,requestId:St,render:$t,startTime:On,command:Bn,agentId:di}=Re;X.addAssistantMessage({type:"component",content:""});const li=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,className:x.default.chat_with_more_actions,text:r.createElement(D.SlashCustomRender,{userMessage:Le,startTime:On,relationId:ze,requestId:St,renderContent:$t,command:Bn,agentId:di})});at({type:"add",payload:[li]})},[re,X]),st=r.useCallback(async Re=>{const Le=G.chatUserRoleRender,{message:ze,images:St,agentId:$t,relationId:On,command:Bn}=Re,di=$t===O.ChatProxyService.AGENT_ID?"":$t,li=(0,I.createMessageByUser)({id:(0,m.uuid)(6),relationId:On,text:Le?r.createElement(Le,{content:ze,images:St,agentId:di,command:Bn}):r.createElement(f.CodeBlockWrapperInput,{labelService:ge,relationId:On,text:ze,images:St,agentId:di,command:Bn,workspaceService:te,commandService:fe})},x.default.chat_message_code);at({type:"add",payload:[li]})},[G,G.chatUserRoleRender,X,wt]),At=r.useCallback(async Re=>{const{message:Le,agentId:ze,request:St,relationId:$t,command:On,startTime:Bn,msgId:di}=Re,li=ze===O.ChatProxyService.AGENT_ID?"":ze;if(ze===O.ChatProxyService.AGENT_ID&&On){const In=Z.getSlashCommandHandler(On);if(In&&In.providerRender)return pe(!1),tt({userMessage:Le,render:In.providerRender,relationId:$t,requestId:St.requestId,startTime:Bn,agentId:ze,command:On})}const Ni=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:$t,className:x.default.chat_with_more_actions,text:r.createElement(S.ChatReply,{relationId:$t,request:St,startTime:Bn,agentId:li,command:On,onDidChange:()=>{wt()},history:X,onDone:()=>{pe(!1)},onRegenerate:()=>{St&&W.sendRequest(St,!0)},msgId:di})});at({type:"add",payload:[Ni]})},[G,X,wt]),Ut=r.useCallback(Re=>{const{chunk:Le,relationId:ze}=Re;let St=r.createElement(b.ChatMarkdown,{markdown:Le,fillInIncompleteTokens:!0,agentId:ie,command:Ue});if(G.chatAIRoleRender){const On=G.chatAIRoleRender;St=r.createElement(On,{content:Le})}const $t=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,text:St,className:x.default.chat_with_more_actions});at({type:"add",payload:[$t]})},[G,X,wt]),_n=r.useCallback(Re=>{const{chunk:Le,relationId:ze}=Re,St=(0,I.createMessageByAI)({id:(0,m.uuid)(6),relationId:ze,text:r.createElement(S.ChatNotify,{requestId:ze,chunk:Le})},x.default.chat_notify);at({type:"add",payload:[St]})},[G,X,wt]),Ln=r.useCallback(async Re=>{const{message:Le,images:ze,agentId:St,command:$t,reportExtra:On}=Re,{actionType:Bn,actionSource:di}=On||{},li=W.createRequest(Le.replaceAll(u.LLM_CONTEXT_KEY_REGEX,""),St,ze,$t);if(!li)return;pe(!0),W.setLatestRequestId(li.requestId);const Ni=Date.now(),In=O.ChatProxyService.AGENT_ID===St?m.AIServiceType.Chat:m.AIServiceType.Agent,Cn=Q.start($t||In,{agentId:St,userMessage:Le,actionType:Bn,actionSource:di,sessionId:W.sessionModel.sessionId},600*1e3);X.addUserMessage({content:Le,images:ze||[],agentId:St,agentCommand:$t,relationId:Cn}),await st({relationId:Cn,message:Le,images:ze,command:$t,agentId:St}),W.sendRequest(li);const $n=X.addAssistantMessage({content:"",relationId:Cn,requestId:li.requestId,replyStartTime:Ni});V.activeMessageInfo={messageId:$n,sessionId:W.sessionModel.sessionId},await At({startTime:Ni,relationId:Cn,message:Le,agentId:St,command:$t,request:li,msgId:$n})},[G,G.chatUserRoleRender,X,wt,We]),ui=r.useCallback(async(Re,Le,ze,St)=>{var $t,On,Bn;const di={actionSource:m.ActionSourceEnum.Chat,actionType:m.ActionTypeEnum.Send};ze=ze||O.ChatProxyService.AGENT_ID;let li=Re;const Ni=/\{\{@file:(.*?)\}\}/g,In=Re.match(Ni);if(In)for(const Kn of In){const Xt=Kn.replace(/\{\{@file:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt),_t=(($t=await te.asRelativePath(Qe))===null||$t===void 0?void 0:$t.path)||Qe.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${_t}\``)}const Cn=/\{\{@folder:(.*?)\}\}/g,$n=li.match(Cn);if($n)for(const Kn of $n){const Xt=Kn.replace(/\{\{@folder:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt),_t=((On=await te.asRelativePath(Qe))===null||On===void 0?void 0:On.path)||Qe.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFolder}${_t}\``)}const Si=/\{\{@code:(.*?)\}\}/g,Ui=li.match(Si);if(Ui)for(const Kn of Ui){const Xt=Kn.replace(/\{\{@code:(.*?)\}\}/,"$1"),[Qe,_t]=Xt.split(":");let mt=[0,0];if(_t){const[Gt,Kt]=_t.slice(1).split("-");mt=[parseInt(Gt,10),parseInt(Kt,10)]}const gt=new m.URI(Qe),nn=((Bn=await te.asRelativePath(gt))===null||Bn===void 0?void 0:Bn.path)||gt.displayName;li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${nn}:L${mt[0]}-${mt[1]}\``)}const bi=/\{\{@rule:(.*?)\}\}/g,hn=li.match(bi);if(hn)for(const Kn of hn){const Xt=Kn.replace(/\{\{@rule:(.*?)\}\}/,"$1"),Qe=new m.URI(Xt);li=li.replace(Kn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${Qe.displayName}\``)}return Ln({message:li,images:Le,agentId:ze,command:St,reportExtra:di})},[Ln]),Rn=r.useCallback(()=>{W.clearSessionModel(),j.clearHistoryMessages(),ln()},[Ne]),ln=r.useCallback(()=>{var Re;(Re=re?.current)===null||Re===void 0||Re.classList.remove(k),at({type:"init",payload:[xt]})},[Ne]),Un=Re=>{We||(pt(Re.nameWithSlash),le(Re.agentId),Ye(Re.command))},rn=r.useCallback(()=>{Y.toggleSlot(h.AI_CHAT_VIEW_ID)},[Y]),ct=G.chatViewHeaderRender||U,$e=r.useCallback(async Re=>{for(const Le of X.getMessages()){if(Re.isCancellationRequested)return;if(Le.role===1)await st({relationId:Le.relationId,message:Le.content,agentId:Le.agentId,command:Le.agentCommand,images:Le.images});else if(Le.role===2&&Le.requestId){const ze=W.sessionModel.getRequest(Le.requestId);ze&&!ze.response.isComplete&&pe(!0),await At({msgId:Le.id,relationId:Le.relationId,message:Le.content,agentId:Le.agentId,command:Le.agentCommand,startTime:Le.replyStartTime,request:ze})}else Le.role===2&&Le.content?await Ut({relationId:Le.relationId,chunk:Le.content}):Le.role===2&&Le.componentId&&await _n({relationId:Le.relationId,chunk:{kind:"component",component:Le.componentId,value:Le.componentValue}})}},[At]);return r.useEffect(()=>{ln();const Re=new m.CancellationTokenSource;return pe(!1),$e(Re.token),()=>{Re.cancel()}},[W.sessionModel]),r.createElement("div",{id:x.default.ai_chat_view},r.createElement("div",{className:x.default.header_container},r.createElement(ct,{handleClear:Rn,handleCloseChatView:rn})),r.createElement("div",{className:x.default.body_container},r.createElement("div",{className:x.default.left_bar,id:"ai_chat_left_container"},r.createElement("div",{className:x.default.chat_container,ref:re},r.createElement(o.MessageList,{className:x.default.message_list,lockable:!0,toBottomHeight:"100%",dataSource:Ne})),W.sessionModel.slicedMessageCount?r.createElement("div",{className:x.default.chat_tips_text},r.createElement("div",{className:x.default.chat_tips_container},(0,m.formatLocalize)("aiNative.chat.ai.assistant.limit.message",W.sessionModel.slicedMessageCount))):null,r.createElement("div",{className:x.default.chat_input_wrap},r.createElement("div",{className:x.default.header_operate},r.createElement("div",{className:x.default.header_operate_left},Oe.map(Re=>r.createElement(_.Popover,{id:`ai-chat-shortcut-${Re.name}`,key:`ai-chat-shortcut-${Re.name}`,title:Re.tooltip||Re.name},r.createElement("div",{className:x.default.tag,onClick:()=>Un(Re)},Re.name))))),De.length>0&&r.createElement(E.FileListDisplay,{files:De,hideActions:We,onFileClick:Re=>{me.open(m.URI.file(m.path.join(q.workspaceDir,Re)))},onRejectAll:()=>{Ae.processAll("reject")},onAcceptAll:()=>{Ae.processAll("accept")}}),r.createElement(vt,{onSend:ui,disabled:We,enableOptions:!0,theme:Ve,setTheme:pt,agentId:ie,setAgentId:le,defaultAgentId:Se,command:Ue,setCommand:Ye,contextService:K,ref:he,disableModelSelector:Pe!==void 0||We,sessionModelId:Pe})))))};t.AIChatView=N;function U({handleClear:W,handleCloseChatView:j}){const Q=(0,l.useInjectable)(h.IChatInternalService),$=(0,l.useInjectable)(g.IMessageService),Z=(0,l.useInjectable)(m.ChatFeatureRegistryToken),[G,V]=r.useState([]),[H,K]=r.useState(""),Y=r.useCallback(()=>{if(Q.sessionModel.history.getMessages().length>0)try{Q.createSessionModel()}catch(me){$.error(me.message)}},[Q]),X=r.useCallback(me=>{Q.activateSession(me.id)},[Q]),re=r.useCallback(me=>{Q.clearSessionModel(me.id)},[Q]),oe=r.useCallback(async(me,q,Ae)=>{if(!Ae)return q;try{const ge=await Ae.getMessageSummary(me);return ge?ge.slice(0,F):q}catch{return q}},[]),he=r.useRef(0);return r.useEffect(()=>{const me=async()=>{const ge=Q.sessionModel.history.getMessages(),te=[...ge].find(Me=>Me.role===1),fe=te?(0,c.cleanAttachedTextWrapper)(te.content).slice(0,F):"";K(fe);const Oe=ge.map(Me=>({role:Me.role,content:Me.content}));if(Oe.length>2){const Me=Date.now();he.current=Me;const Pe=Z.getMessageSummaryProvider(),Be=await oe(Oe,fe,Pe);Me===he.current&&Be&&K(Be)}V(Q.getSessions().map(Me=>{const Be=Me.history.getMessages(),De=Be.length>0?(0,c.cleanAttachedTextWrapper)(Be[0].content).slice(0,F):"",_e=Be.length>0&&Be[Be.length-1].replyStartTime||0;return{id:Me.sessionId,title:De,updatedAt:_e,loading:!1}}))};me();const q=new m.DisposableCollection,Ae=new Set;return q.push(Q.onChangeSession(ge=>{me(),!Ae.has(ge)&&(Ae.add(ge),q.push(Q.sessionModel.history.onMessageChange(()=>{me()})))})),q.push(Q.sessionModel.history.onMessageChange(()=>{me()})),()=>{q.dispose()}},[Q]),r.createElement("div",{className:x.default.header},r.createElement(d.default,{className:x.default.chat_history,currentId:Q.sessionModel.sessionId,title:H||(0,m.localize)("aiNative.chat.ai.assistant.name"),historyList:G,onNewChat:Y,onHistoryItemSelect:X,onHistoryItemDelete:re,onHistoryItemChange:()=>{}}),r.createElement(_.Popover,{overlayClassName:x.default.popover_icon,id:"ai-chat-header-clear",title:(0,m.localize)("aiNative.operate.clear.title")},r.createElement(v.EnhanceIcon,{wrapperClassName:x.default.action_btn,className:(0,l.getIcon)("clear"),onClick:W,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.clear.title")})),r.createElement(_.Popover,{overlayClassName:x.default.popover_icon,id:"ai-chat-header-close",position:_.PopoverPosition.left,title:(0,m.localize)("aiNative.operate.close.title")},r.createElement(v.EnhanceIcon,{wrapperClassName:x.default.action_btn,className:(0,l.getIcon)("window-close"),onClick:j,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.close.title")})))}},21967:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ApplyStatus=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(97267),l=n.__importDefault(e(6960)),_=({status:v,error:m})=>{const p=()=>{switch(v){case"generating":return r.default.createElement(o.Loading,null);case"pending":return r.default.createElement(o.Popover,{title:"Pending",id:"edit-file-tool-status-pending"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-circle-large"}));case"success":return r.default.createElement(o.Popover,{title:"Success",id:"edit-file-tool-status-success"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-pass"}));case"failed":return r.default.createElement(o.Popover,{title:`(${m||"Unknown error"})`,id:"edit-file-tool-status-failed"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-error"}));case"cancelled":return r.default.createElement(o.Popover,{title:"Cancelled",id:"edit-file-tool-status-cancelled"},r.default.createElement(o.Icon,{iconClass:"codicon codicon-circle-slash",style:{color:"var(--input-placeholderForeground)"}}));default:return null}};return r.default.createElement("span",{className:l.default.status},p())};t.ApplyStatus=_},87785:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileListDisplay=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),_=e(54414),v=e(42995),m=e(21967),p=n.__importDefault(e(80919)),s=g=>{const{files:a,onFileClick:h,onRejectAll:u,onAcceptAll:c,hideActions:E}=g,[f,d]=(0,r.useState)(!0),y=(0,l.useInjectable)(_.WorkbenchEditorService),b=(0,l.useInjectable)(l.LabelService),A=(0,r.useMemo)(()=>a.map(R=>{const M=l.URI.parse(R.path),O=b.getIcon(M);return r.default.createElement("span",{className:O})}),[a]),S=a.length,D=a.reduce((R,M)=>({additions:R.additions+M.additions,deletions:R.deletions+M.deletions}),{additions:0,deletions:0}),I=()=>{d(!f)},w=R=>R?r.default.createElement("span",{className:p.default.viewChanges,onClick:M=>{M.stopPropagation(),y.open(l.URI.from({scheme:v.ChatMultiDiffResolver.CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME,path:"chat-editing-multi-diff-source"}),{label:(0,l.localize)("aiNative.chat.view-changes")})}},r.default.createElement(o.Icon,{icon:"unorderedlist",size:"small"}),(0,l.localize)("aiNative.chat.view-changes")):null,T=(R,M)=>{const O=[];return R>0&&O.push(r.default.createElement("span",{key:"add",className:p.default.additions},"+",R)),M>0&&(O.length>0&&O.push(" "),O.push(r.default.createElement("span",{key:"del",className:p.default.deletions},"-",M))),O.length===0&&O.push(r.default.createElement("span",{key:"no-change",className:p.default.noChange},"No changes")),O};return r.default.createElement("div",{className:p.default.container},r.default.createElement("div",{className:p.default.header},r.default.createElement("span",{className:p.default.title},r.default.createElement("button",{className:p.default.toggleButton,onClick:I},f?r.default.createElement(o.Icon,{icon:"down"}):r.default.createElement(o.Icon,{icon:"right"})," Changed Files(",S,")"),T(D.additions,D.deletions),!E&&w(a.length)),!E&&a.some(R=>R.status==="pending")&&r.default.createElement("div",{className:p.default.actions},r.default.createElement(o.Button,{type:"link",size:"small",onClick:R=>{R.stopPropagation(),u()}},"Reject"),r.default.createElement(o.Button,{size:"small",onClick:R=>{R.stopPropagation(),c()}},"Accept"))),r.default.createElement("ul",{className:`${p.default.fileList} ${f?"":p.default.collapsed}`},a.map((R,M)=>r.default.createElement("li",{key:M,className:p.default.fileItem,onClick:()=>h(R.path)},r.default.createElement("span",{className:p.default.fileIcon},A[M]||"\u{1F4C4}"),r.default.createElement("div",{className:p.default.fileInfo},r.default.createElement("div",{className:p.default.filePath},R.path),r.default.createElement("div",{className:p.default.fileStats},T(R.additions,R.deletions)),r.default.createElement(m.ApplyStatus,{status:R.status}))))))};t.FileListDisplay=s},25834:(P,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.__importDefault(e(97331)),l=n.__importStar(e(14041)),_=n.__importDefault(e(10580)),v=e(46541),m=e(41869),p=e(81878),s=e(89195),g=e(43718),a=e(30526),h=e(9447),u=e(52416),c=n.__importDefault(e(6960)),E=e(83933),f=e(44692);e(38191);const d=S=>{const{input:D,language:I,relationId:w,agentId:T,command:R,hideInsert:M}=S,O=l.default.useRef(null),x=(0,m.useInjectable)(h.MonacoCommandRegistry),k=(0,m.useInjectable)(m.IClipboardService),F=(0,m.useInjectable)(u.IThemeService),L=(0,m.useInjectable)(g.IAIReporter),[N,U]=(0,l.useState)(!1),W=(0,l.useMemo)(()=>(0,m.uuid)(12),[O,O.current]);(0,l.useEffect)(()=>{const Z=H=>{H.type==="dark"||H.type==="hcDark"?e.e(622).then(e.bind(e,51622)):(H.type==="light"||H.type==="hcLight")&&e.e(412).then(e.bind(e,50412))},G=F.onThemeChange(H=>{Z(H)}),V=F.getCurrentThemeSync();return Z(V),()=>G.dispose()},[]);const j=(0,l.useRef)((0,o.default)(()=>{var Z;if(O.current){const G=O.current,V=(Z=G?.el)===null||Z===void 0?void 0:Z.querySelector("code"),H=V?.children;if(H){const K=H[H.length-1];K&&(K.scrollIntoViewIfNeeded?K.scrollIntoViewIfNeeded():K.scrollIntoView(!1))}}},150,{leading:!0,trailing:!0})).current;(0,l.useEffect)(()=>(j(),()=>{j.cancel()}),[D,j]);const Q=(0,l.useCallback)(async()=>{U(!0),await k.writeText(D),L.end(w,{copy:!0,code:D,language:I,agentId:T,command:R,actionSource:g.ActionSourceEnum.Chat,actionType:g.ActionTypeEnum.ChatCopyCode}),(0,g.runWhenIdle)(()=>{U(!1)},1e3)},[k,D,w]),$=(0,l.useCallback)(()=>{const Z=x.getActiveCodeEditor();if(Z){const G=Z.getSelection();G&&((0,a.insertSnippetWithMonacoEditor)(Z,D,[G],{undoStopBefore:!1,undoStopAfter:!1}),L.end(w,{insert:!0,code:D,language:I,agentId:T,command:R,actionSource:g.ActionSourceEnum.Chat,actionType:g.ActionTypeEnum.ChatInsertCode}))}},[x]);return l.default.createElement("div",{className:c.default.monaco_wrapper},l.default.createElement("div",{className:c.default.action_toolbar},!M&&l.default.createElement(p.Popover,{id:`ai-chat-inser-${W}`,title:(0,g.localize)("aiNative.chat.code.insert")},l.default.createElement(s.EnhanceIcon,{className:(0,m.getIcon)("insert"),onClick:()=>$(),tabIndex:0,role:"button",ariaLabel:(0,g.localize)("aiNative.chat.code.insert")})),l.default.createElement(p.Popover,{id:`ai-chat-copy-${W}`,title:(0,g.localize)(N?"aiNative.chat.code.copy.success":"aiNative.chat.code.copy")},l.default.createElement(s.EnhanceIcon,{className:(0,m.getIcon)("copy"),onClick:()=>Q(),tabIndex:0,role:"button",ariaLabel:(0,g.localize)("aiNative.chat.code.copy")}))),l.default.createElement(_.default,{language:I,ref:O,className:c.default.highlight_editor},D))};t.CodeEditorWithHighlight=d;const y=({content:S="",relationId:D,renderText:I,agentId:w="",command:T="",labelService:R,commandService:M,workspaceService:O})=>{const x=/`([^`]+)`/g,k=/```([^]+?)```/g,F=/```([^]+)?/g,L=/<attached_file>(.*)/g,N=/<attached_folder>(.*)/g,U=(0,l.useCallback)(async($,Z)=>{const G=await O?.roots;let V;if(G)for(const H of G){V=new g.URI(H.uri).resolve($);try{await M?.executeCommand(m.FILE_COMMANDS.REVEAL_IN_EXPLORER.id,V),Z===f.MentionType.FILE&&await M?.executeCommand(m.EDITOR_COMMANDS.OPEN_RESOURCE.id,V);break}catch{continue}}},[M,O]),W=($,Z=!1,G)=>l.default.createElement("span",{className:c.default.attachment,key:G,onClick:()=>U($,Z?f.MentionType.FOLDER:f.MentionType.FILE)},l.default.createElement(p.Icon,{iconClass:Z?(0,m.getIcon)("folder"):R?.getIcon(new g.URI($||"file"))}),l.default.createElement("span",{className:c.default.attachment_text},$)),j=$=>{const Z=$.split(`
|
|
32960
32960
|
`)[0].trim().toLowerCase(),G=E.highLightLanguageSupport.find(V=>V===Z)||"plaintext";return $=$.replace(/.*?\n/,""),$=$.trim(),l.default.createElement("div",{className:c.default.code_block},l.default.createElement("div",{className:c.default.code_language},(0,r.default)(G)),l.default.createElement(t.CodeEditorWithHighlight,{input:$,language:Z,relationId:D,agentId:w,command:T}))},Q=(0,l.useMemo)(()=>{const $=S.split(k),Z=[];return $.map((G,V)=>{V%2===0?G.split(x).map((H,K)=>{if(K%2===0){if(H.includes("```")){const Y=H.split(F).filter(Boolean);if(Y.length===2){Z.push(Y[0]),Z.push(j(Y[1]));return}}I?Z.push(I(H)):Z.push(H)}else{const Y=H,X=[...H.matchAll(L)],re=[...H.matchAll(N)];if(X.length||re.length){let oe=0;const he=[],me=(q,Ae)=>{q.forEach((ge,te)=>{if(ge.index!==void 0){const fe=Y.slice(oe,ge.index);fe&&he.push(l.default.createElement("span",{key:`${K}-${te}-${Ae?"folder":"file"}`},fe)),he.push(W(ge[1],Ae,`${K}-tag-${te}-${Ae?"folder":"file"}`)),oe=ge.index+ge[0].length}})};me(X,!1),me(re,!0),he.push(Y.slice(oe)),Z.push(...he)}else Z.push(l.default.createElement("span",{className:c.default.code_inline,key:K},H))}}):Z.push(j(G))}),Z},[S,I]);return l.default.createElement(l.default.Fragment,null,Q)},b=({text:S,renderText:D,relationId:I,agentId:w,labelService:T,commandService:R,workspaceService:M})=>l.default.createElement("div",{className:c.default.ai_chat_code_wrapper},l.default.createElement("div",{className:c.default.render_text},l.default.createElement(y,{content:S,labelService:T,renderText:D,relationId:I,agentId:w,commandService:R,workspaceService:M})));t.CodeBlockWrapper=b;const A=({text:S,images:D,relationId:I,agentId:w,command:T,labelService:R,workspaceService:M,commandService:O})=>{const x=(0,m.useInjectable)(g.ChatFeatureRegistryToken),[k,F]=(0,l.useState)(""),[L,N]=(0,l.useState)(S);return l.default.useEffect(()=>{const{value:U,nameWithSlash:W}=x.parseSlashCommand(S);if(W){F(W),N(U);return}else N(S)},[S,x]),l.default.createElement("div",{className:c.default.ai_chat_code_wrapper},D?.map(U=>l.default.createElement("div",{className:c.default.image_wrapper},l.default.createElement(v.Image,{src:U}))),l.default.createElement("div",{className:c.default.render_text},k&&l.default.createElement("div",{className:c.default.tag_wrapper},l.default.createElement("span",{className:c.default.tag},k)),w&&l.default.createElement("div",{className:c.default.tag,style:{marginRight:4}},"@",w),T&&l.default.createElement("div",{className:c.default.tag},"/ ",T),l.default.createElement(y,{content:L,labelService:R,relationId:I,agentId:w,command:T,workspaceService:M,commandService:O})))};t.CodeBlockWrapperInput=A},90103:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(89195),m=n.__importDefault(e(35553)),p=100,s=(0,o.memo)(({title:g,historyList:a,currentId:h,onNewChat:u,onHistoryItemSelect:c,onHistoryItemChange:E,onHistoryItemDelete:f,className:d})=>{const[y,b]=(0,o.useState)(null),[A,S]=(0,o.useState)(""),D=(0,o.useRef)(null),I=(0,o.useCallback)(W=>{S(W.target.value)},[A]),w=(0,o.useCallback)(W=>{c(W),S("")},[c,A]),T=(0,o.useCallback)(W=>{b({[W.id]:!0})},[y]),R=(0,o.useCallback)((W,j)=>{b({[W.id]:!1}),E(W,j)},[E,y]),M=(0,o.useCallback)(W=>{b({[W.id]:!1})},[y]),O=(0,o.useCallback)(()=>{u()},[u]);(0,o.useEffect)(()=>{var W;y&&((W=D.current)===null||W===void 0||W.focus({cursor:"end"}))},[y]);const x=(0,o.useCallback)(W=>{f(W)},[f]),k=(0,o.useCallback)(W=>{if(W<60*60*1e3){const Q=Math.floor(W/6e4);return Q===0?"Just now":`${Q}m ago`}else{if(W<24*60*60*1e3)return`${Math.floor(W/36e5)}h ago`;if(W<7*24*60*60*1e3)return`${Math.floor(W/864e5)}d ago`;if(W<30*24*60*60*1e3)return`${Math.floor(W/6048e5)}w ago`;if(W<365*24*60*60*1e3)return`${Math.floor(W/2592e6)}mo ago`}return`${Math.floor(W/(365*24*60*60*1e3))}y ago`},[]),F=(0,o.useCallback)(W=>{const j=new Date,Q=[];return W.forEach($=>{const Z=new Date($.updatedAt),G=j.getTime()-Z.getTime(),V=k(G),H=Q.find(K=>K.key===V);H?H.items.push($):Q.push({key:V,items:[$]})}),Q},[k]),L=(0,o.useCallback)(W=>o.default.createElement("div",{key:W.id,className:(0,r.default)(m.default.chat_history_item,W.id===h?m.default.chat_history_item_selected:""),onClick:()=>w(W)},o.default.createElement("div",{className:m.default.chat_history_item_content},W.loading?o.default.createElement(l.Loading,null):o.default.createElement(l.Icon,{icon:"message",style:{width:"16px",height:"16px",marginRight:4}}),y?.[W.id]?o.default.createElement(l.Input,{className:m.default.chat_history_item_title,defaultValue:W.title,ref:D,onPressEnter:j=>{R(W,j.target.value)},onBlur:()=>M(W)}):o.default.createElement("span",{id:`chat-history-item-title-${W.id}`,className:m.default.chat_history_item_title},W.title)),o.default.createElement("div",{className:m.default.chat_history_item_actions},o.default.createElement(v.EnhanceIcon,{className:(0,r.default)(m.default.chat_history_item_actions_delete,(0,l.getIcon)("delete")),onClick:j=>{j.preventDefault(),j.stopPropagation(),x(W)},ariaLabel:(0,_.localize)("aiNative.operate.chatHistory.delete")}))),[y,w,R,M,T,x,h,D]),N=(0,o.useCallback)(()=>{const W=a.slice(-p).reverse().filter(Q=>Q.title&&Q.title.includes(A)),j=F(W);return o.default.createElement("div",null,o.default.createElement(l.Input,{placeholder:(0,_.localize)("aiNative.operate.chatHistory.searchPlaceholder"),className:m.default.chat_history_search,value:A,onChange:I}),o.default.createElement("div",{className:m.default.chat_history_list},j.map(Q=>o.default.createElement("div",{key:Q.key,style:{padding:"4px"}},o.default.createElement("div",{className:m.default.chat_history_time},Q.key),Q.items.map(L)))))},[a,A,F,I,L]),U=(0,o.useCallback)(W=>W.parentElement,[]);return o.default.createElement("div",{className:(0,r.default)(m.default.chat_history_header,d)},o.default.createElement("div",{className:m.default.chat_history_header_title},o.default.createElement("span",null,g)),o.default.createElement("div",{className:m.default.chat_history_header_actions},o.default.createElement(l.Popover,{id:"chat-history-header-actions-history",content:N(),trigger:l.PopoverTriggerType.click,position:l.PopoverPosition.bottomRight,title:(0,_.localize)("aiNative.operate.chatHistory.title"),getPopupContainer:U},o.default.createElement("div",{className:m.default.chat_history_header_actions_history,title:(0,_.localize)("aiNative.operate.chatHistory.title")},o.default.createElement(v.EnhanceIcon,{className:(0,r.default)(m.default.chat_history_header_actions_history,"codicon codicon-history")}))),o.default.createElement(l.Popover,{id:"ai-chat-header-new",position:l.PopoverPosition.top,title:(0,_.localize)("aiNative.operate.newChat.title")},o.default.createElement(v.EnhanceIcon,{className:(0,r.default)(m.default.chat_history_header_actions_new,(0,l.getIcon)("plus")),onClick:O}))))});t.default=s},57987:(P,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)),l=e(41869),_=e(81878),v=e(89195),m=e(83913),p=e(43718),s=e(92323),g=e(9447),a=e(72665),h=e(19413),u=e(42033),c=e(51081),E=e(27397),f=e(30703),d=n.__importDefault(e(6960)),y=8,b=68,A=({icon:w,name:T,description:R,agentId:M,command:O,selectedAgentId:x})=>{const k=(0,o.useMemo)(()=>!x&&M&&M!==c.ChatProxyService.AGENT_ID&&O?o.default.createElement("span",{className:d.default.agent_label},"@",M):null,[]);return o.default.createElement("div",{className:d.default.block},w&&o.default.createElement(v.EnhanceIcon,{className:w}),T&&o.default.createElement("span",{className:d.default.name},T),R&&o.default.createElement("span",{className:d.default.text},R),k)},S=({onClick:w,bottom:T,trigger:R,agentId:M})=>{const O=(0,l.useInjectable)(h.IChatAgentService),x=(0,l.useInjectable)(p.ChatAgentViewServiceToken),k=(0,o.useMemo)(()=>R===h.AT_SIGN_SYMBOL?x.getRenderAgents().map(L=>new u.ChatSlashCommandItemModel({icon:"",name:`${h.AT_SIGN_SYMBOL}${L.id} `,description:L.metadata.description},"",L.id)):O.getCommands().map(L=>new u.ChatSlashCommandItemModel({icon:"",name:`${h.SLASH_SYMBOL} ${L.name} `,description:L.description},L.name,L.agentId)).filter(L=>!M||L.agentId===M),[R,O]),F=(0,o.useCallback)((L,N,U)=>{w&&w(L||"",N,U)},[w]);return k.length===0?null:o.default.createElement("div",{className:d.default.instruction_options_container,style:{bottom:T+"px"}},o.default.createElement("div",{className:d.default.options},o.default.createElement("ul",null,k.map(({icon:L,name:N,nameWithSlash:U,description:W,agentId:j,command:Q})=>o.default.createElement("li",{key:`${j||""}-${N}`,onMouseDown:()=>F(U,j,Q)},o.default.createElement(A,{icon:L,name:N,description:W,agentId:j,command:Q,selectedAgentId:M}))))))},D=({themeBlock:w})=>o.default.createElement("div",{className:d.default.theme_container},o.default.createElement("div",{className:d.default.theme_block},w)),I=({agentId:w,command:T})=>o.default.createElement("div",{className:d.default.theme_container},w!==c.ChatProxyService.AGENT_ID&&o.default.createElement("div",{className:d.default.theme_block,style:{marginRight:4}},"@",w),T&&o.default.createElement("div",{className:d.default.theme_block},h.SLASH_SYMBOL," ",T));t.ChatInput=o.default.forwardRef((w,T)=>{const{onSend:R,onValueChange:M,enableOptions:O=!1,disabled:x=!1,defaultHeight:k=32,autoFocus:F,setTheme:L,theme:N,setAgentId:U,agentId:W,defaultAgentId:j,setCommand:Q,command:$,sendBtnClassName:Z}=w,G=W||j,V=(0,o.useRef)(null),H=(0,o.useRef)(null),[K,Y]=(0,o.useState)(w.value||""),[X,re]=(0,o.useState)(!1),[oe,he]=(0,o.useState)(k),[me,q]=(0,o.useState)(!1),[Ae,ge]=(0,o.useState)(!1),[te,fe]=(0,o.useState)(!1),[Oe,Me]=(0,o.useState)((0,p.localize)("aiNative.chat.input.placeholder.default")),Pe=(0,l.useInjectable)(h.IChatInternalService),Be=(0,l.useInjectable)(a.IDialogService),De=(0,l.useInjectable)(l.AINativeConfigService),_e=(0,l.useInjectable)(h.TokenMCPServerProxyService),Ne=(0,l.useInjectable)(g.MonacoCommandRegistry),Te=(0,l.useInjectable)(h.IChatAgentService),We=(0,l.useInjectable)(p.ChatFeatureRegistryToken),pe=(0,l.useInjectable)(s.CommandService),ie=(0,l.useLatest)(G),le=o.default.useCallback(()=>{pe.executeCommand(E.MCPConfigCommands.OPEN_MCP_CONFIG.id)},[pe]),Se=o.default.useCallback(async()=>{const tt=await _e.getAllMCPTools();Be.open({message:o.default.createElement(f.MCPToolsDialog,{tools:tt}),type:p.MessageType.Empty,buttons:[(0,p.localize)("dialog.file.close")]})},[_e,Be]);(0,o.useImperativeHandle)(T,()=>({setInputValue:tt=>{Y(tt),(0,p.runWhenIdle)(()=>{var st;(st=V.current)===null||st===void 0||st.focus()},120)}})),(0,o.useEffect)(()=>{w.value!==K&&Y(w.value||"")},[w.value]),(0,o.useEffect)(()=>{var tt;(tt=V.current)===null||tt===void 0||tt.focus();const st=(0,p.localize)("aiNative.chat.input.placeholder.default"),At=We.getSlashCommandHandler($);if(At&&At.providerInputPlaceholder){const Ut=Ne.getActiveCodeEditor(),_n=At.providerInputPlaceholder(K,Ut);Me(_n||st)}else Me(st)},[We,$]),(0,o.useEffect)(()=>{Ve(N||"",G,$)},[N,G,$]),(0,o.useEffect)(()=>{var tt;V&&F&&((tt=V.current)===null||tt===void 0||tt.focus())},[V,F,w.value]),(0,o.useEffect)(()=>{if(O&&((K===h.SLASH_SYMBOL||K===h.AT_SIGN_SYMBOL&&Te.getAgents().length>0)&&!te?re(!0):re(!1)),K.startsWith(h.SLASH_SYMBOL)){const{value:tt,nameWithSlash:st}=We.parseSlashCommand(K);if(st){const At=We.getSlashCommandBySlashName(st);Y(tt),L(st),At&&(U(At.agentId),Q(At.command));return}}if(Te.getAgents().length){const tt=Te.parseMessage(K,ie.current);(tt.agentId||tt.command)&&(L(""),Y(tt.message),tt.agentId&&U(tt.agentId),tt.command&&Q(tt.command))}},[V,K,O,We]),(0,o.useEffect)(()=>{K||(he(k),ge(!1),fe(!1))},[K]);const ye=(0,o.useCallback)(tt=>{Y(tt),M&&M(tt)},[]),Ue=(0,o.useCallback)(()=>{Pe.cancelRequest()},[]),Ye=(0,o.useCallback)(async()=>{if(x)return;const tt=(st=K)=>{R(st,[],G,$),Y(""),L(""),U(""),Q("")};if($){const st=We.getSlashCommandHandler($);if(st&&st.execute){const At=Ne.getActiveCodeEditor();await st.execute(K,Ut=>tt(Ut),At);return}}tt()},[R,K,G,$,We]),Ve=(0,o.useCallback)((tt,st,At)=>{if(st){if(re(!1),L(""),U(st),Q(At||""),V?.current){const Ut=V.current.value;(Ut===h.AT_SIGN_SYMBOL||At&&Ut===h.SLASH_SYMBOL)&&Y(""),(0,p.runWhenIdle)(()=>V.current.focus())}}else if(tt){re(!1),U(""),Q("");const Ut=We.getSlashCommandBySlashName(tt);if(L(Ut?Ut.nameWithSlash:""),V&&V.current){const _n=V.current.value;_n.length===1&&_n.startsWith(h.SLASH_SYMBOL)&&Y(""),(0,p.runWhenIdle)(()=>V.current.focus())}}},[V,We]),pt=(0,o.useMemo)(()=>{const tt=y+oe;return te&&re(!1),tt},[oe]),vt=tt=>{var st,At;if(tt.key==="Backspace"&&((st=V.current)===null||st===void 0?void 0:st.selectionEnd)===0&&((At=V.current)===null||At===void 0?void 0:At.selectionStart)===0){if(L(""),G===c.ChatProxyService.AGENT_ID){Q(""),U("");return}G&&($?Q(""):U(""))}},xt=(0,o.useCallback)(tt=>{he(tt),tt>b?ge(!0):ge(!1)},[]),lt=(0,o.useCallback)(()=>{q(!1),re(!1)},[V]),wt=(0,o.useCallback)(()=>{q(!0)},[V]),at=(0,o.useCallback)(()=>{const tt=te;if(fe(!tt),tt)he(k),ge(!1);else{const At=document.querySelector("#ai_chat_left_container").clientHeight-68-(N?32:0)-16;he(At)}},[te]);return o.default.createElement("div",{className:(0,r.default)(d.default.chat_input_container,me?d.default.active:null)},X&&o.default.createElement("div",{ref:H},o.default.createElement(S,{onClick:Ve,bottom:pt,trigger:K,agentId:G})),N&&o.default.createElement(D,{themeBlock:N}),G&&o.default.createElement(I,{agentId:G,command:$}),Ae&&o.default.createElement("div",{className:d.default.expand_icon,onClick:()=>at()},o.default.createElement(_.Popover,{id:"ai_chat_input_expand",title:(0,p.localize)(te?"aiNative.chat.expand.unfullscreen":"aiNative.chat.expand.fullescreen")},o.default.createElement(_.Icon,{className:(0,r.default)(te?(0,_.getIcon)("unfullscreen"):(0,_.getIcon)("fullescreen"))}))),o.default.createElement(m.InteractiveInput,{ref:V,placeholder:Oe,value:K,onKeyDown:vt,onBlur:lt,onFocus:wt,onValueChange:ye,disabled:x,className:d.default.input_wrapper,onSend:Ye,onStop:Ue,sendBtnClassName:Z,onHeightChange:xt,height:oe,popoverPosition:_.PopoverPosition.left}),o.default.createElement("div",{className:d.default.chat_input_footer},De.capabilities.supportsMCP&&o.default.createElement("div",{className:d.default.mcp_desc},o.default.createElement(_.Popover,{overlayClassName:d.default.popover_icon,id:"ai-chat-header-mcp-server",position:_.PopoverPosition.left,title:"MCP Server"},o.default.createElement(v.EnhanceIcon,{wrapperClassName:d.default.action_btn,className:"codicon codicon-radio-tower",onClick:le,tabIndex:0,role:"button",ariaLabel:"MCP Server"})),o.default.createElement(_.Popover,{overlayClassName:d.default.popover_icon,id:"ai-chat-header-tools",position:_.PopoverPosition.left,title:(0,p.localize)("aiNative.operate.tools.title")},o.default.createElement(v.EnhanceIcon,{wrapperClassName:d.default.action_btn,className:(0,_.getIcon)("menubar-tool"),onClick:Se,tabIndex:0,role:"button",ariaLabel:(0,p.localize)("aiNative.operate.tools.title")})))))})},56474:(P,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)),l=e(13719),_=e(84605),v=e(41869),m=e(90684),p=e(25834),s=n.__importDefault(e(6960)),g=T=>{const R=(0,o.useRef)(null),M=(0,v.useInjectable)(v.AppConfig),[O,x]=(0,o.useState)(),[k,F]=(0,o.useState)();return(0,o.useEffect)(()=>{var L;if(!R.current)return;const U=typeof T.markdown=="string"?new m.MarkdownString(T.markdown):T.markdown,W=new l.MarkdownReactRenderer;W.code=(V,H)=>{const K=a(H);return o.default.createElement("div",{className:s.default.code},o.default.createElement(v.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")},K),o.default.createElement(p.CodeEditorWithHighlight,{input:V,language:K,relationId:T.relationId||"",agentId:T.agentId,command:T.command,hideInsert:T.hideInsert}))))},W.codespan=V=>o.default.createElement("code",{className:s.default.code_inline},V);const j=new l.MarkdownReactParser({renderer:W}),Q={..._.marked.defaults,...T.markedOptions,renderer:j,smartypants:!1};let $=(L=U.value)!==null&&L!==void 0?L:"";$.length>1e5&&($=`${$.slice(0,1e5)}\u2026`);let Z,G;if(T.fillInIncompleteTokens){const V=_.marked.lexer($,Q),H=h(V);Z=_.marked.parser(H,Q),G=H}else{const V=_.marked.lexer($,Q);Z=_.marked.parser(V,Q),G=V}F(G),x(j)},[T.markdown]),o.default.createElement("div",{className:(0,r.default)(s.default.markdown_container,T.className),ref:R,tabIndex:0},k&&O&&O.parse(k))};t.ChatMarkdown=g;function a(T){if(!T)return"";const R=T.split(/[\s+|:|,|\{|\?]/,1);return R.length?R[0]:T}function h(T){let R,M;for(R=0;R<T.length;R++){const O=T[R];if(O.type==="paragraph"&&O.raw.match(/(\n|^)```/)){M=u(T.slice(R));break}if(O.type==="paragraph"&&O.raw.match(/(\n|^)\|/)){M=D(T.slice(R));break}if(O.type==="paragraph"&&R===T.length-1){const x=w(O);if(x){M=[x];break}}}if(M){const O=[...T.slice(0,R),...M];return O.links=T.links,O}return T}function u(T){const R=I(T);return _.marked.lexer(R+"\n```")}function c(T){return S(T,"`")}function E(T){return S(T,"*")}function f(T){return S(T,"_")}function d(T){return S(T,")")}function y(T){return S(T,"](about:blank)")}function b(T){return S(T,"**")}function A(T){return S(T,"__")}function S(T,R){const M=I(Array.isArray(T)?T:[T]);return _.marked.lexer(M+R)[0]}function D(T){const R=I(T),M=R.split(`
|
|
32961
32961
|
`);let O=0,x=!1;for(let k=0;k<M.length;k++){const F=M[k].trim();if(typeof O>"u"&&F.match(/^\s*\|/)){const L=F.match(/(\|[^\|]+)(?=\||$)/g);L&&(O=L.length)}else if(typeof O=="number")if(F.match(/^\s*\|/)&&k===M.length-1)x=!0;else return}if(O>0){const k=x?M.slice(0,-1).join(`
|
|
32962
32962
|
`):R,F=!!k.match(/\|\s*$/),L=k+(F?"":"|")+`
|
|
@@ -33071,10 +33071,10 @@ ${A.slice(1).join(`
|
|
|
33071
33071
|
`).slice(c.startPosition.row);return`${f[0].slice(c.startPosition.column)}${f.length>1?`
|
|
33072
33072
|
${f.slice(1).join(`
|
|
33073
33073
|
`)}`:""}`}}return a.text}findTypeIdentifier(a){let h=a;for(;h;){if(h.type==="type_identifier")return h.text;const u=h.child(1);if(!u)break;h=u}return""}async extractImportPaths(a){var h;const u=[],c=await this.parser.parse(a),E=c?.rootNode,f=[],d=[];if(E)for(let y=0;y<E?.childCount;y++){const b=E.child(y);if(b?.type==="import_statement")f.push(b);else if(b?.type==="type_annotation"){const A=b.child(1);A&&d.push(A.text)}else if(b?.type==="lexical_declaration"){const A=this.findTypeIdentifier(b);A&&d.push(A)}}for(const y of f)if(d.some(b=>y.text.includes(b))){let b=(h=y.child(3))===null||h===void 0?void 0:h.text;(b?.includes("'")||b?.includes('"'))&&(b=b.slice(1,-1)),b&&u.push(b)}return u}async extractInterfaceOrTypeCode(a){var h;const u=[];if(this.language==="typescript"){await this.parserLoaded.promise;const c=(h=this.parser)===null||h===void 0?void 0:h.parse(a),E=c?.rootNode;if(E)for(let f=0;f<E?.childCount;f++){const d=E.child(f);if(d?.type==="export_statement"){const y=d.child(1);(y?.type==="interface_declaration"||y?.type==="type_alias_declaration")&&u.push(y.text)}else(d?.type==="interface_declaration"||d?.type==="type_alias_declaration")&&u.push(d.text)}}return u}async findSyntaxErrorCount(a){var h;await this.parserLoaded.promise;const u=(h=this.parser)===null||h===void 0?void 0:h.parse(a),c=u?.rootNode;if(!c)return 0;let E=0;const f=d=>{(d.type==="function_declaration"||d.type==="class_declaration"||d.type==="variable_declarator"||d.type==="statement_block"||d.type==="expression_statement")&&(d.hasError||d.isMissing||d.type==="ERROR")&&E++;for(let b=0;b<d.childCount;b++){const A=d.child(b);A&&f(A)}};return f(c),E}async findNearestCodeBlockWithPosition(a,h){const u=await this.parser.parse(a);if(u){const{rootNode:c}=u,E=c.namedDescendantForIndex(h),f=this.findContainingCodeBlockWithPosition(E,h);if(!f)return null;let y=a.split(`
|
|
33074
|
-
`).slice(0,f.startPosition.row).reduce((b,A)=>b+A.length,0);return y+=f.startPosition.row,y+=f.startPosition.column,{codeBlock:f.text,range:{start:{line:f.startPosition.row,character:0},end:{line:f.endPosition.row,character:1/0}},offset:y,type:f.startPosition.row===f.endPosition.row?_.NearestCodeBlockType.Line:_.NearestCodeBlockType.Block}}return null}dispose(){this.parser.delete(),this.lruCache.clear()}};t.LanguageParser=s,n.__decorate([(0,o.Autowired)(p.WasmModuleManager),n.__metadata("design:type",p.WasmModuleManager)],s.prototype,"wasmModuleManager",void 0),n.__decorate([(0,o.Autowired)(m.TreeSitterLanguageFacts),n.__metadata("design:type",m.TreeSitterLanguageFacts)],s.prototype,"languageFacts",void 0),t.LanguageParser=s=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String])],s)},85679:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageParserService=void 0;const n=e(85608),r=e(76003),o=e(3073),l=e(22486);let _=class{constructor(){this.pool=new Map}createParser(m){const p=l.parserNameMap[m];if(p)return this.pool.has(p)||this.pool.set(p,this.injector.get(o.LanguageParser,[p])),this.pool.get(p)}dispose(){this.pool.forEach(m=>m.dispose()),this.pool.clear()}};t.LanguageParserService=_,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],_.prototype,"injector",void 0),t.LanguageParserService=_=n.__decorate([(0,r.Injectable)()],_)},53374:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toMonacoRange=e;function e(n){return{startLineNumber:n.startPosition.row+1,startColumn:n.startPosition.column+1,endLineNumber:n.endPosition.row+1,endColumn:n.endPosition.column+1}}},19584:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GolangLanguageFacts=void 0;const e=["function_declaration","method_declaration","block","if_statement","else_statement","switch_statement","case_clause","for_statement","range_clause","type_switch_statement","type_case_clause","comm_clause","select_statement","go_statement","defer_statement"],n=new Set(e);class r{constructor(){this.name="go",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return n}isCodeBlock(l){return n.has(l)}}t.GolangLanguageFacts=r},22486:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TreeSitterLanguageFacts=t.knownLanguageFacts=void 0;const n=e(85608);n.__exportStar(e(17973),t);const r=e(76003),o=e(19584),l=e(44606),_=e(82381),v=e(41486),m=e(98588),p=e(96436),s=e(2349),g=e(78542),a=new Set;t.knownLanguageFacts=[o.GolangLanguageFacts,l.JavaLanguageFacts,_.JavaScriptLanguageFacts,v.JavaScriptReactLanguageFacts,m.PythonLanguageFacts,p.RustLanguageFacts,s.TypeScriptLanguageFacts,g.TypeScriptReactLanguageFacts];let h=class{constructor(){this.langs=new Map,t.knownLanguageFacts.forEach(c=>{const E=new c;this.langs.set(E.name,E)})}isCodeBlock(c,E){const f=this.langs.get(c);return f&&f.isCodeBlock?f.isCodeBlock(E):!1}isFunctionCodeBlock(c,E){const f=this.langs.get(c);return f&&f.isFunctionCodeBlocks?f.isFunctionCodeBlocks(E):!1}provideFunctionInfo(c,E){const f=this.langs.get(c);return f&&f.provideFunctionInfo?f.provideFunctionInfo(E):null}getCodeBlockTypes(c){const E=this.langs.get(c);return E?E.provideCodeBlocks():a}};t.TreeSitterLanguageFacts=h,t.TreeSitterLanguageFacts=h=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],h)},44606:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaLanguageFacts=void 0;const e=["compilation_unit","class_declaration","interface_declaration","enum_declaration","method_declaration","constructor_declaration","block","static_initializer","instance_initializer","if_statement","switch_statement","while_statement","do_statement","for_statement","enhanced_for_statement","try_statement","catch_clause","finally_clause"],n=new Set(["method_declaration","constructor_declaration"]),r=new Set(e);class o{constructor(){this.name="java",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return r}isCodeBlock(_){return r.has(_)}isFunctionCodeBlocks(_){return n.has(_)}}t.JavaLanguageFacts=o},82381:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptLanguageFacts=t.functionBlockCodeTypes=t.javascriptBlockCodeTypes=void 0;const n=e(53374);t.javascriptBlockCodeTypes=["function","function_declaration","function_expression","arrow_function","class_declaration","method_definition","if_statement","switch_case","while_statement","do_statement","for_statement","for_in_statement","try_statement","catch_clause","block","export_statement","lexical_declaration"],t.functionBlockCodeTypes=["function","function_declaration","function_expression","arrow_function","method_definition"];const r=new Set(t.functionBlockCodeTypes),o=new Set(t.javascriptBlockCodeTypes);class l{constructor(){this.name="javascript",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return o}isCodeBlock(v){return o.has(v)}isFunctionCodeBlocks(v){return r.has(v)}provideFunctionInfo(v){var m,p,s;switch(v.type){case"function_declaration":case"function_expression":return{infoCategory:"function",type:v.type,name:((m=v.firstNamedChild)===null||m===void 0?void 0:m.text)||"",signatures:v.children.filter(g=>g.type==="parameter").map(g=>{var a;return((a=g.firstChild)===null||a===void 0?void 0:a.text)||""}),range:(0,n.toMonacoRange)(v)};case"arrow_function":{const g=v.parent;return g&&g.type==="variable_declarator"&&g.parent&&(g.parent.type==="lexical_declaration"||g.parent.type==="export_statement"||g.parent.type==="variable_declaration")?{infoCategory:"function",type:v.type,name:((p=g.firstChild)===null||p===void 0?void 0:p.text)||"",signatures:v.children.filter(a=>a.type==="parameter").map(a=>{var h;return((h=a.firstChild)===null||h===void 0?void 0:h.text)||""}),range:(0,n.toMonacoRange)(g.parent)}:null}case"method_definition":return{infoCategory:"function",type:v.type,name:((s=v.firstNamedChild)===null||s===void 0?void 0:s.text)||"",signatures:v.children.filter(g=>g.type==="parameter").map(g=>{var a;return((a=g.firstChild)===null||a===void 0?void 0:a.text)||""}),range:(0,n.toMonacoRange)(v)}}return null}}t.JavaScriptLanguageFacts=l},41486:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptReactLanguageFacts=t.javascriptreactBlockCodeTypes=void 0;const n=e(82381);t.javascriptreactBlockCodeTypes=[...n.javascriptBlockCodeTypes,"jsx_element","jsx_self_closing_element","jsx_expression","jsx_fragment"];const r=new Set(t.javascriptreactBlockCodeTypes);class o{constructor(){this.name="jsx",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return r}isCodeBlock(_){return r.has(_)}}t.JavaScriptReactLanguageFacts=o},98588:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PythonLanguageFacts=t.pythonBlockCodeTypes=void 0,t.pythonBlockCodeTypes=["function_definition","class_definition","compound_statement","if_statement","elif_clause","else_clause","for_statement","while_statement","try_statement","except_clause","with_statement","decorated_definition"];const e=new Set(t.pythonBlockCodeTypes);class n{constructor(){this.name="python",this.listCommentStyle="# ",this.blockCommentStyle={start:"'''",end:"'''",linePrefix:""}}provideCodeBlocks(){return e}isCodeBlock(o){return e.has(o)}}t.PythonLanguageFacts=n},96436:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RustLanguageFacts=t.rustBlockCodeTypes=void 0,t.rustBlockCodeTypes=["function_item","impl_item","trait_item","block","if_expression","match_expression","while_expression","loop_expression","for_expression","closure_expression","struct_item","enum_item","union_item","mod_item"];const e=new Set(t.rustBlockCodeTypes);class n{constructor(){this.name="rust",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return e}isCodeBlock(o){return e.has(o)}}t.RustLanguageFacts=n},17973:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parserIdentifierMap=t.parserNameMap=void 0;const r=e(85608).__importDefault(e(19891)),o={typescript:"typescript",typescriptreact:"tsx",javascript:"javascript",javascriptreact:"jsx",rust:"rust",python:"python",java:"java",go:"go"};t.parserNameMap=o,t.parserIdentifierMap=(0,r.default)(t.parserNameMap)},2349:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeScriptLanguageFacts=t.typescriptBlockTypes=void 0,t.typescriptBlockTypes=["function","function_declaration","function_expression","arrow_function","class_declaration","interface_declaration","method_definition","method_signature","enum_declaration","type_alias_declaration","lexical_declaration","if_statement","switch_case","while_statement","do_statement","for_statement","for_in_statement","for_of_statement","try_statement","catch_clause","block","module","public_field_definition","private_field_definition","export_statement"];const e=new Set(t.typescriptBlockTypes);class n{constructor(){this.name="typescript",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return e}isCodeBlock(o){return e.has(o)}}t.TypeScriptLanguageFacts=n},78542:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeScriptReactLanguageFacts=t.typescriptreactBlockTypes=void 0;const n=e(2349);t.typescriptreactBlockTypes=[...n.typescriptBlockTypes,"jsx_element","jsx_self_closing_element","jsx_expression","jsx_fragment"];const r=new Set(t.typescriptreactBlockTypes);class o{constructor(){this.name="tsx",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return r}isCodeBlock(_){return r.has(_)}}t.TypeScriptReactLanguageFacts=o},67045:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WasmModuleManager=void 0;const n=e(85608),r=n.__importDefault(e(13833)),o=e(76003),l=e(6858),_=e(70392);let v=class{async resolveResourceUri(){const p=await this.rendererRuntime.provideResourceUri(l.EKnownResources.TreeSitterWasmDirectory);this.resolvedResourceUriDeferred.resolve(p)}constructor(){this.resolvedResourceUriDeferred=new _.Deferred,this.cachedRuntime=new Map,this.parserInitialized=!1,this.resolveResourceUri()}async initParser(){const p=await this.resolvedResourceUriDeferred.promise;let s;return p.endsWith("/")?s=`${p}tree-sitter.wasm`:s=`${p}/tree-sitter.wasm`,this.parserInitialized||(await r.default.init({locateFile:()=>s}),this.parserInitialized=!0),new r.default}async loadLanguage(p){if(!this.cachedRuntime.has(p)){const s=new _.Deferred;this.cachedRuntime.set(p,s);const g=await this.resolvedResourceUriDeferred.promise;let a;g.endsWith("/")?a=`${g}tree-sitter-${p}.wasm`:a=`${g}/tree-sitter-${p}.wasm`,fetch(a).then(h=>h.arrayBuffer()).then(h=>{s.resolve(h)})}return this.cachedRuntime.get(p).promise}};t.WasmModuleManager=v,n.__decorate([(0,o.Autowired)(l.RendererRuntime),n.__metadata("design:type",l.RendererRuntime)],v.prototype,"rendererRuntime",void 0),t.WasmModuleManager=v=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],v)},4972:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIRightTabRenderer=t.AILeftTabRenderer=t.AIChatTabRendererWithTab=t.AIChatTabRenderer=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),_=e(89195),v=e(1149),m=e(43718),p=e(11090),s=e(63067),g=e(46245),a=e(66368),h=e(19951),u=e(752),c=e(19413),E=n.__importDefault(e(87708)),f=()=>o.default.createElement("div",{style:{width:0}},o.default.createElement(g.TabbarViewBase,{tabSize:0,MoreTabView:g.IconElipses,TabView:g.IconTabView,barSize:0,panelBorderSize:0})),d=({className:D,components:I})=>o.default.createElement(h.TabRendererBase,{side:c.AI_CHAT_VIEW_ID,direction:"left-to-right",id:E.default.ai_chat_panel,className:(0,r.default)(D,`${c.AI_CHAT_VIEW_ID}-slot`),components:I,TabbarView:()=>o.default.createElement(f,null),TabpanelView:()=>o.default.createElement(a.BaseTabPanelView,{PanelView:a.ContainerView,PanelViewProps:{className:E.default.ai_chat_view_container}})});t.AIChatTabRenderer=d;const y=({className:D,components:I})=>o.default.createElement(h.TabRendererBase,{side:c.AI_CHAT_VIEW_ID,direction:"right-to-left",id:E.default.ai_chat_panel,className:(0,r.default)(D,`${c.AI_CHAT_VIEW_ID}-slot`,"design_right_slot"),components:I,TabbarView:()=>o.default.createElement(g.ChatTabbarRenderer2,null),TabpanelView:()=>o.default.createElement(a.BaseTabPanelView,{PanelView:a.ContainerView,PanelViewProps:{className:E.default.ai_chat_view_container}})});t.AIChatTabRendererWithTab=y;const b=({className:D,components:I})=>o.default.createElement(p.DesignLeftTabRenderer,{className:D,components:I,tabbarView:A});t.AILeftTabRenderer=b;const A=()=>{const D=(0,l.useInjectable)(s.IMainLayoutService),I=(0,l.useInjectable)(u.TabbarServiceFactory)(l.SlotLocation.extendView),w=(0,l.useAutorun)(I.currentContainerId),T=o.default.useMemo(()=>D.getExtraMenu(),[D]),[R]=(0,l.useContextMenus)(T),M=(0,o.useCallback)(({renderContainers:O})=>{const x=I.visibleContainers.filter(k=>{var F;return!(!((F=k.options)===null||F===void 0)&&F.hideTab)});return o.default.createElement(o.default.Fragment,null,x.length>0&&o.default.createElement(_.HorizontalVertical,{margin:"8px auto 0px",width:"60%"}),x.map(k=>O(k,I,w)))},[w,I]);return o.default.createElement(g.LeftTabbarRenderer,{renderOtherVisibleContainers:M,isRenderExtraTopMenus:!1,renderExtraMenus:o.default.createElement("div",{className:E.default.extra_bottom_icon_container},R.length>=0?R.map(O=>o.default.createElement(_.EnhanceIconWithCtxMenu,{key:O.id,id:O.id,wrapperClassName:E.default.extra_bottom_icon,iconClass:O.icon,menuNodes:O.children,skew:{x:-8,y:-4}})):null)})},S=({components:D})=>{const I=(0,l.useInjectable)(u.TabbarServiceFactory)(l.SlotLocation.extendView),w=(0,l.useInjectable)(v.DesignLayoutConfig),T=(0,o.useCallback)(()=>{I.updateCurrentContainerId("")},[]),R=(0,o.useCallback)(O=>{const{component:x}=O,{options:k}=x;return o.default.createElement(a.ContainerView,{...O,customTitleBar:o.default.createElement("div",{className:E.default.header},o.default.createElement("span",{className:E.default.title},k&&k.title),o.default.createElement("div",{className:E.default.side},o.default.createElement(_.EnhancePopover,{id:"ai_right_panel_header_close",title:(0,m.localize)("editor.title.context.close")},o.default.createElement(_.EnhanceIcon,{icon:"close",onClick:T})))),renderContainerWrap:({children:F})=>o.default.createElement("div",{className:E.default.right_slot_container_wrap},o.default.createElement("div",{className:E.default.container},F))})},[]),M=(0,o.useMemo)(()=>w.useMergeRightWithLeftPanel?E.default.right_tab_renderer:"",[w]);return o.default.createElement(p.DesignRightTabRenderer,{components:D,className:M,tabbarView:()=>o.default.createElement(g.RightTabbarRenderer,{barSize:0,style:{width:0}}),tabpanelView:()=>o.default.createElement(a.BaseTabPanelView,{PanelView:R})})};t.AIRightTabRenderer=S},82983:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIChatLogoAvatar=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(89195),_=e(63067),v=e(19413),m=n.__importDefault(e(88473)),p=()=>{const s=(0,o.useInjectable)(_.IMainLayoutService),g=r.default.useCallback(()=>{s.toggleSlot(v.AI_CHAT_VIEW_ID)},[s]);return r.default.createElement("div",{className:m.default.ai_switch,onClick:g},r.default.createElement(l.AILogoAvatar,{iconClassName:m.default.avatar_icon_large}))};t.AIChatLogoAvatar=p},73974:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseApplyService=void 0;const n=e(85608),r=e(41429),o=e(76003),l=e(41869),_=e(54414),v=e(57517),m=e(55126),p=e(20868),s=e(70392),g=e(2261),a=e(19413),h=e(59347),u=e(40111),c=e(15989);class E extends l.WithEventBus{constructor(){var d;super(),this.onCodeBlockUpdateEmitter=new s.Emitter,this.onCodeBlockUpdate=this.onCodeBlockUpdateEmitter.event,this.activePreviewerMap=this.registerDispose(new s.DisposableMap),this.editorListenerMap=this.registerDispose(new s.DisposableMap),this.addDispose(this.chatInternalService.onCancelRequest(()=>{const y=this.chatInternalService.sessionModel.history.lastMessageId;if(!y)return;const b=this.getMessageCodeBlocks(y);b&&Object.values(b).forEach(A=>{this.cancelApply(A)})})),this.currentSessionId=(d=this.chatInternalService.sessionModel)===null||d===void 0?void 0:d.sessionId,this.addDispose(this.chatInternalService.onChangeSession(y=>{y!==this.currentSessionId&&(this.cancelAllApply(),this.currentSessionId=y)})),this.addDispose(this.chatInternalService.onRegenerateRequest(()=>{var y;const b=(y=this.chatInternalService.sessionModel)===null||y===void 0?void 0:y.history.getMessages(),A=b[b.length-1].id,S=this.getMessageCodeBlocks(A);S&&Object.values(S).forEach(D=>{this.cancelApply(D)})})),this.addDispose(this.chatInternalService.onWillClearSession(y=>{this.cancelAllApply(y)}))}getMessageCodeBlocks(d,y){y=y||this.chatInternalService.sessionModel.sessionId;const b=this.chatInternalService.getSession(y);if(!b)throw new Error(`Session ${y} not found`);const A=b.history.getMessageAdditional(d);return A?.codeBlockMap}onEditorGroupClose(d){const y=s.path.relative(this.appConfig.workspaceDir,d.payload.resource.uri.path.toString());this.activePreviewerMap.get(y)&&this.activePreviewerMap.disposeKey(y),this.editorListenerMap.disposeKey(d.payload.resource.uri.toString())}async onEditorGroupOpen(d){var y,b;const A=s.path.relative(this.appConfig.workspaceDir,d.payload.resource.uri.path.toString());if(this.duringApply||this.activePreviewerMap.has(A)||!(!((y=this.chatInternalService.sessionModel)===null||y===void 0)&&y.history.getMessages().length))return;const S=((b=this.getUriCodeBlocks(d.payload.resource.uri))===null||b===void 0?void 0:b.filter(D=>D.status==="pending"))||[];if(S.length>0&&S[0].updatedCode){const D=d.payload.group.codeEditor.monacoEditor;await this.renderApplyResult(D,S[0],S[0].updatedCode)}}get currentPreviewer(){var d;const y=(d=this.editorService.currentEditor)===null||d===void 0?void 0:d.currentUri;if(y)return this.activePreviewerMap.get(s.path.relative(this.appConfig.workspaceDir,y.path.toString()))}getUriCodeBlocks(d){const y=this.getSessionCodeBlocks()||[],b=s.path.relative(this.appConfig.workspaceDir,d.path.toString());return y.filter(A=>A.relativePath===b).sort((A,S)=>S.version-A.version)}getPendingPaths(d){return this.getSessionCodeBlocks(d).filter(b=>b.status==="pending").map(b=>b.relativePath)}getSessionCodeBlocks(d){const y=d?this.chatInternalService.getSession(d):this.chatInternalService.sessionModel;if(!y)return[];const b=y.history.sessionAdditionals;return Array.from(b.values()).map(A=>A.codeBlockMap||{}).reduce((A,S)=>(Object.values(S).forEach(D=>{A.push(D)}),A),[])}getCodeBlock(d,y){if(y=y||this.chatInternalService.sessionModel.history.lastMessageId,!y)throw new Error("Message ID is required");const b=this.getMessageCodeBlocks(y);if(b)return b[d]}updateCodeBlock(d){const y=d.messageId,b=this.getMessageCodeBlocks(y);if(!b)throw new Error("Code block not found");b[d.toolCallId]=d,this.chatInternalService.sessionModel.history.setMessageAdditional(y,{codeBlockMap:b}),this.onCodeBlockUpdateEmitter.fire(d)}async registerCodeBlock(d,y,b,A){var S,D;const I=this.chatInternalService.sessionModel.history.lastMessageId,w=this.getUriCodeBlocks(s.URI.file(s.path.join(this.appConfig.workspaceDir,d))),T=await this.editorDocumentModelService.createModelReference(s.URI.file(s.path.join(this.appConfig.workspaceDir,d))),R={codeEdit:y,relativePath:d,status:"generating",iterationCount:1,version:1,createdAt:Date.now(),toolCallId:b,messageId:I,instructions:A,originalCode:T.instance.getText()};if(w?.length){R.version=w.length+1;for(const O of w)if(O.relativePath===d&&(!((D=(S=O.applyResult)===null||S===void 0?void 0:S.diagnosticInfos)===null||D===void 0)&&D.length))R.iterationCount++;else break}const M=this.getMessageCodeBlocks(I)||{};return M[b]=R,this.chatInternalService.sessionModel.history.setMessageAdditional(I,{codeBlockMap:M}),this.onCodeBlockUpdateEmitter.fire(R),R}async apply(d){var y,b;try{if(this.duringApply=!0,d.iterationCount>3)throw new Error("Lint error max iteration count exceeded");const A=d.originalCode?await this.doApply(d):{result:d.codeEdit};if(!A.stream&&!A.result)return d.status="failed",this.updateCodeBlock(d),d;this.activePreviewerMap.has(d.relativePath)&&(this.editorListenerMap.disposeKey(s.URI.file(s.path.join(this.appConfig.workspaceDir,d.relativePath)).toString()),this.activePreviewerMap.disposeKey(d.relativePath));const S=await this.editorService.open(s.URI.file(s.path.join(this.appConfig.workspaceDir,d.relativePath)));if(!S)throw new Error("Failed to open file");const D=await this.renderApplyResult(S.group.codeEditor.monacoEditor,d,A.result||A.stream,A.range);if(d.updatedCode=D.updatedCode,d.status="pending",this.postApplyHandler&&typeof this.postApplyHandler=="function")try{await this.postApplyHandler(S.group.codeEditor.monacoEditor)}catch{}const I=S.group.codeEditor.monacoEditor.getModel(),w=this.getDiagnosticInfos(I.uri.toString(),((y=D.result)===null||y===void 0?void 0:y.rangesFromDiffHunk)||[]);return D.result&&(d.applyResult={diff:(b=D.result)===null||b===void 0?void 0:b.diff,diagnosticInfos:w}),this.updateCodeBlock(d),d}catch(A){throw d.status="failed",this.updateCodeBlock(d),A}finally{this.duringApply=!1}}async renderApplyResult(d,y,b,A){var S,D,I;const w=new s.Deferred,T=c.InlineDiffController.get(d);if(A=A||d.getModel().getFullModelRange(),typeof b=="string"){const R=b,M=d.getModel().getValue(),O=s.URI.file(s.path.join(this.appConfig.workspaceDir,y.relativePath)),x=this.editorDocumentModelService.getModelReference(O);(M!==R||x?.instance.dirty)&&((S=d.getModel())===null||S===void 0||S.pushEditOperations([],[g.EditOperation.replace(A,R)],()=>null),await this.editorService.save(O));const k=(D=this.getUriCodeBlocks(O))===null||D===void 0?void 0:D.filter(W=>W.status==="pending"),F=k?.[k.length-1];if(((I=F||y)===null||I===void 0?void 0:I.originalCode)===R)throw new Error("No changes applied");const L=T.createDiffPreviewer(d,p.Selection.fromRange(A,p.SelectionDirection.LTR),{disposeWhenEditorClosed:!0,renderRemovedWidgetImmediately:!0,reverse:!0});this.activePreviewerMap.set(y.relativePath,L),L.setValue(F?.originalCode||y.originalCode||`
|
|
33074
|
+
`).slice(0,f.startPosition.row).reduce((b,A)=>b+A.length,0);return y+=f.startPosition.row,y+=f.startPosition.column,{codeBlock:f.text,range:{start:{line:f.startPosition.row,character:0},end:{line:f.endPosition.row,character:1/0}},offset:y,type:f.startPosition.row===f.endPosition.row?_.NearestCodeBlockType.Line:_.NearestCodeBlockType.Block}}return null}dispose(){this.parser.delete(),this.lruCache.clear()}};t.LanguageParser=s,n.__decorate([(0,o.Autowired)(p.WasmModuleManager),n.__metadata("design:type",p.WasmModuleManager)],s.prototype,"wasmModuleManager",void 0),n.__decorate([(0,o.Autowired)(m.TreeSitterLanguageFacts),n.__metadata("design:type",m.TreeSitterLanguageFacts)],s.prototype,"languageFacts",void 0),t.LanguageParser=s=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String])],s)},85679:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageParserService=void 0;const n=e(85608),r=e(76003),o=e(3073),l=e(22486);let _=class{constructor(){this.pool=new Map}createParser(m){const p=l.parserNameMap[m];if(p)return this.pool.has(p)||this.pool.set(p,this.injector.get(o.LanguageParser,[p])),this.pool.get(p)}dispose(){this.pool.forEach(m=>m.dispose()),this.pool.clear()}};t.LanguageParserService=_,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],_.prototype,"injector",void 0),t.LanguageParserService=_=n.__decorate([(0,r.Injectable)()],_)},53374:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toMonacoRange=e;function e(n){return{startLineNumber:n.startPosition.row+1,startColumn:n.startPosition.column+1,endLineNumber:n.endPosition.row+1,endColumn:n.endPosition.column+1}}},19584:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GolangLanguageFacts=void 0;const e=["function_declaration","method_declaration","block","if_statement","else_statement","switch_statement","case_clause","for_statement","range_clause","type_switch_statement","type_case_clause","comm_clause","select_statement","go_statement","defer_statement"],n=new Set(e);class r{constructor(){this.name="go",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return n}isCodeBlock(l){return n.has(l)}}t.GolangLanguageFacts=r},22486:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TreeSitterLanguageFacts=t.knownLanguageFacts=void 0;const n=e(85608);n.__exportStar(e(17973),t);const r=e(76003),o=e(19584),l=e(44606),_=e(82381),v=e(41486),m=e(98588),p=e(96436),s=e(2349),g=e(78542),a=new Set;t.knownLanguageFacts=[o.GolangLanguageFacts,l.JavaLanguageFacts,_.JavaScriptLanguageFacts,v.JavaScriptReactLanguageFacts,m.PythonLanguageFacts,p.RustLanguageFacts,s.TypeScriptLanguageFacts,g.TypeScriptReactLanguageFacts];let h=class{constructor(){this.langs=new Map,t.knownLanguageFacts.forEach(c=>{const E=new c;this.langs.set(E.name,E)})}isCodeBlock(c,E){const f=this.langs.get(c);return f&&f.isCodeBlock?f.isCodeBlock(E):!1}isFunctionCodeBlock(c,E){const f=this.langs.get(c);return f&&f.isFunctionCodeBlocks?f.isFunctionCodeBlocks(E):!1}provideFunctionInfo(c,E){const f=this.langs.get(c);return f&&f.provideFunctionInfo?f.provideFunctionInfo(E):null}getCodeBlockTypes(c){const E=this.langs.get(c);return E?E.provideCodeBlocks():a}};t.TreeSitterLanguageFacts=h,t.TreeSitterLanguageFacts=h=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],h)},44606:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaLanguageFacts=void 0;const e=["compilation_unit","class_declaration","interface_declaration","enum_declaration","method_declaration","constructor_declaration","block","static_initializer","instance_initializer","if_statement","switch_statement","while_statement","do_statement","for_statement","enhanced_for_statement","try_statement","catch_clause","finally_clause"],n=new Set(["method_declaration","constructor_declaration"]),r=new Set(e);class o{constructor(){this.name="java",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return r}isCodeBlock(_){return r.has(_)}isFunctionCodeBlocks(_){return n.has(_)}}t.JavaLanguageFacts=o},82381:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptLanguageFacts=t.functionBlockCodeTypes=t.javascriptBlockCodeTypes=void 0;const n=e(53374);t.javascriptBlockCodeTypes=["function","function_declaration","function_expression","arrow_function","class_declaration","method_definition","if_statement","switch_case","while_statement","do_statement","for_statement","for_in_statement","try_statement","catch_clause","block","export_statement","lexical_declaration"],t.functionBlockCodeTypes=["function","function_declaration","function_expression","arrow_function","method_definition"];const r=new Set(t.functionBlockCodeTypes),o=new Set(t.javascriptBlockCodeTypes);class l{constructor(){this.name="javascript",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return o}isCodeBlock(v){return o.has(v)}isFunctionCodeBlocks(v){return r.has(v)}provideFunctionInfo(v){var m,p,s;switch(v.type){case"function_declaration":case"function_expression":return{infoCategory:"function",type:v.type,name:((m=v.firstNamedChild)===null||m===void 0?void 0:m.text)||"",signatures:v.children.filter(g=>g.type==="parameter").map(g=>{var a;return((a=g.firstChild)===null||a===void 0?void 0:a.text)||""}),range:(0,n.toMonacoRange)(v)};case"arrow_function":{const g=v.parent;return g&&g.type==="variable_declarator"&&g.parent&&(g.parent.type==="lexical_declaration"||g.parent.type==="export_statement"||g.parent.type==="variable_declaration")?{infoCategory:"function",type:v.type,name:((p=g.firstChild)===null||p===void 0?void 0:p.text)||"",signatures:v.children.filter(a=>a.type==="parameter").map(a=>{var h;return((h=a.firstChild)===null||h===void 0?void 0:h.text)||""}),range:(0,n.toMonacoRange)(g.parent)}:null}case"method_definition":return{infoCategory:"function",type:v.type,name:((s=v.firstNamedChild)===null||s===void 0?void 0:s.text)||"",signatures:v.children.filter(g=>g.type==="parameter").map(g=>{var a;return((a=g.firstChild)===null||a===void 0?void 0:a.text)||""}),range:(0,n.toMonacoRange)(v)}}return null}}t.JavaScriptLanguageFacts=l},41486:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptReactLanguageFacts=t.javascriptreactBlockCodeTypes=void 0;const n=e(82381);t.javascriptreactBlockCodeTypes=[...n.javascriptBlockCodeTypes,"jsx_element","jsx_self_closing_element","jsx_expression","jsx_fragment"];const r=new Set(t.javascriptreactBlockCodeTypes);class o{constructor(){this.name="jsx",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return r}isCodeBlock(_){return r.has(_)}}t.JavaScriptReactLanguageFacts=o},98588:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PythonLanguageFacts=t.pythonBlockCodeTypes=void 0,t.pythonBlockCodeTypes=["function_definition","class_definition","compound_statement","if_statement","elif_clause","else_clause","for_statement","while_statement","try_statement","except_clause","with_statement","decorated_definition"];const e=new Set(t.pythonBlockCodeTypes);class n{constructor(){this.name="python",this.listCommentStyle="# ",this.blockCommentStyle={start:"'''",end:"'''",linePrefix:""}}provideCodeBlocks(){return e}isCodeBlock(o){return e.has(o)}}t.PythonLanguageFacts=n},96436:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RustLanguageFacts=t.rustBlockCodeTypes=void 0,t.rustBlockCodeTypes=["function_item","impl_item","trait_item","block","if_expression","match_expression","while_expression","loop_expression","for_expression","closure_expression","struct_item","enum_item","union_item","mod_item"];const e=new Set(t.rustBlockCodeTypes);class n{constructor(){this.name="rust",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return e}isCodeBlock(o){return e.has(o)}}t.RustLanguageFacts=n},17973:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parserIdentifierMap=t.parserNameMap=void 0;const r=e(85608).__importDefault(e(19891)),o={typescript:"typescript",typescriptreact:"tsx",javascript:"javascript",javascriptreact:"jsx",rust:"rust",python:"python",java:"java",go:"go"};t.parserNameMap=o,t.parserIdentifierMap=(0,r.default)(t.parserNameMap)},2349:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeScriptLanguageFacts=t.typescriptBlockTypes=void 0,t.typescriptBlockTypes=["function","function_declaration","function_expression","arrow_function","class_declaration","interface_declaration","method_definition","method_signature","enum_declaration","type_alias_declaration","lexical_declaration","if_statement","switch_case","while_statement","do_statement","for_statement","for_in_statement","for_of_statement","try_statement","catch_clause","block","module","public_field_definition","private_field_definition","export_statement"];const e=new Set(t.typescriptBlockTypes);class n{constructor(){this.name="typescript",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return e}isCodeBlock(o){return e.has(o)}}t.TypeScriptLanguageFacts=n},78542:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeScriptReactLanguageFacts=t.typescriptreactBlockTypes=void 0;const n=e(2349);t.typescriptreactBlockTypes=[...n.typescriptBlockTypes,"jsx_element","jsx_self_closing_element","jsx_expression","jsx_fragment"];const r=new Set(t.typescriptreactBlockTypes);class o{constructor(){this.name="tsx",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return r}isCodeBlock(_){return r.has(_)}}t.TypeScriptReactLanguageFacts=o},67045:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WasmModuleManager=void 0;const n=e(85608),r=n.__importDefault(e(13833)),o=e(76003),l=e(6858),_=e(70392);let v=class{async resolveResourceUri(){const p=await this.rendererRuntime.provideResourceUri(l.EKnownResources.TreeSitterWasmDirectory);this.resolvedResourceUriDeferred.resolve(p)}constructor(){this.resolvedResourceUriDeferred=new _.Deferred,this.cachedRuntime=new Map,this.parserInitialized=!1,this.resolveResourceUri()}async initParser(){const p=await this.resolvedResourceUriDeferred.promise;let s;return p.endsWith("/")?s=`${p}tree-sitter.wasm`:s=`${p}/tree-sitter.wasm`,this.parserInitialized||(await r.default.init({locateFile:()=>s}),this.parserInitialized=!0),new r.default}async loadLanguage(p){if(!this.cachedRuntime.has(p)){const s=new _.Deferred;this.cachedRuntime.set(p,s);const g=await this.resolvedResourceUriDeferred.promise;let a;g.endsWith("/")?a=`${g}tree-sitter-${p}.wasm`:a=`${g}/tree-sitter-${p}.wasm`,fetch(a).then(h=>h.arrayBuffer()).then(h=>{s.resolve(h)})}return this.cachedRuntime.get(p).promise}};t.WasmModuleManager=v,n.__decorate([(0,o.Autowired)(l.RendererRuntime),n.__metadata("design:type",l.RendererRuntime)],v.prototype,"rendererRuntime",void 0),t.WasmModuleManager=v=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],v)},4972:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIRightTabRenderer=t.AILeftTabRenderer=t.AIChatTabRendererWithTab=t.AIChatTabRenderer=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),_=e(89195),v=e(1149),m=e(43718),p=e(11090),s=e(63067),g=e(46245),a=e(66368),h=e(19951),u=e(752),c=e(19413),E=n.__importDefault(e(87708)),f=()=>o.default.createElement("div",{style:{width:0}},o.default.createElement(g.TabbarViewBase,{tabSize:0,MoreTabView:g.IconElipses,TabView:g.IconTabView,barSize:0,panelBorderSize:0})),d=({className:D,components:I})=>o.default.createElement(h.TabRendererBase,{side:c.AI_CHAT_VIEW_ID,direction:"left-to-right",id:E.default.ai_chat_panel,className:(0,r.default)(D,`${c.AI_CHAT_VIEW_ID}-slot`),components:I,TabbarView:()=>o.default.createElement(f,null),TabpanelView:()=>o.default.createElement(a.BaseTabPanelView,{PanelView:a.ContainerView,PanelViewProps:{className:E.default.ai_chat_view_container}})});t.AIChatTabRenderer=d;const y=({className:D,components:I})=>o.default.createElement(h.TabRendererBase,{side:c.AI_CHAT_VIEW_ID,direction:"right-to-left",id:E.default.ai_chat_panel,className:(0,r.default)(D,`${c.AI_CHAT_VIEW_ID}-slot`,"design_right_slot"),components:I,TabbarView:()=>o.default.createElement(g.ChatTabbarRenderer2,null),TabpanelView:()=>o.default.createElement(a.BaseTabPanelView,{PanelView:a.ContainerView,PanelViewProps:{className:E.default.ai_chat_view_container}})});t.AIChatTabRendererWithTab=y;const b=({className:D,components:I})=>o.default.createElement(p.DesignLeftTabRenderer,{className:D,components:I,tabbarView:A});t.AILeftTabRenderer=b;const A=()=>{const D=(0,l.useInjectable)(s.IMainLayoutService),I=(0,l.useInjectable)(u.TabbarServiceFactory)(l.SlotLocation.extendView),w=(0,l.useAutorun)(I.currentContainerId),T=o.default.useMemo(()=>D.getExtraMenu(),[D]),[R]=(0,l.useContextMenus)(T),M=(0,o.useCallback)(({renderContainers:O})=>{const x=I.visibleContainers.filter(k=>{var F;return!(!((F=k.options)===null||F===void 0)&&F.hideTab)});return o.default.createElement(o.default.Fragment,null,x.length>0&&o.default.createElement(_.HorizontalVertical,{margin:"8px auto 0px",width:"60%"}),x.map(k=>O(k,I,w)))},[w,I]);return o.default.createElement(g.LeftTabbarRenderer,{renderOtherVisibleContainers:M,isRenderExtraTopMenus:!1,renderExtraMenus:o.default.createElement("div",{className:E.default.extra_bottom_icon_container},R.length>=0?R.map(O=>o.default.createElement(_.EnhanceIconWithCtxMenu,{key:O.id,id:O.id,wrapperClassName:E.default.extra_bottom_icon,iconClass:O.icon,menuNodes:O.children,skew:{x:-8,y:-4}})):null)})},S=({components:D})=>{const I=(0,l.useInjectable)(u.TabbarServiceFactory)(l.SlotLocation.extendView),w=(0,l.useInjectable)(v.DesignLayoutConfig),T=(0,o.useCallback)(()=>{I.updateCurrentContainerId("")},[]),R=(0,o.useCallback)(O=>{const{component:x}=O,{options:k}=x;return o.default.createElement(a.ContainerView,{...O,customTitleBar:o.default.createElement("div",{className:E.default.header},o.default.createElement("span",{className:E.default.title},k&&k.title),o.default.createElement("div",{className:E.default.side},o.default.createElement(_.EnhancePopover,{id:"ai_right_panel_header_close",title:(0,m.localize)("editor.title.context.close")},o.default.createElement(_.EnhanceIcon,{icon:"close",onClick:T})))),renderContainerWrap:({children:F})=>o.default.createElement("div",{className:E.default.right_slot_container_wrap},o.default.createElement("div",{className:E.default.container},F))})},[]),M=(0,o.useMemo)(()=>w.useMergeRightWithLeftPanel?E.default.right_tab_renderer:"",[w]);return o.default.createElement(p.DesignRightTabRenderer,{components:D,className:M,tabbarView:()=>o.default.createElement(g.RightTabbarRenderer,{barSize:0,style:{width:0}}),tabpanelView:()=>o.default.createElement(a.BaseTabPanelView,{PanelView:R})})};t.AIRightTabRenderer=S},82983:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIChatLogoAvatar=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(89195),_=e(63067),v=e(19413),m=n.__importDefault(e(88473)),p=()=>{const s=(0,o.useInjectable)(_.IMainLayoutService),g=r.default.useCallback(()=>{s.toggleSlot(v.AI_CHAT_VIEW_ID)},[s]);return r.default.createElement("div",{className:m.default.ai_switch,onClick:g},r.default.createElement(l.AILogoAvatar,{iconClassName:m.default.avatar_icon_large}))};t.AIChatLogoAvatar=p},73974:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseApplyService=void 0;const n=e(85608),r=e(41429),o=e(76003),l=e(41869),_=e(54414),v=e(57517),m=e(55126),p=e(20868),s=e(70392),g=e(2261),a=e(19413),h=e(59347),u=e(40111),c=e(15989);class E extends l.WithEventBus{constructor(){super(),this.onCodeBlockUpdateEmitter=new s.Emitter,this.onCodeBlockUpdate=this.onCodeBlockUpdateEmitter.event,this.activePreviewerMap=this.registerDispose(new s.DisposableMap),this.editorListenerMap=this.registerDispose(new s.DisposableMap),this.addDispose(this.chatInternalService.onCancelRequest(()=>{const d=this.chatInternalService.sessionModel.history.lastMessageId;if(!d)return;const y=this.getMessageCodeBlocks(d);y&&Object.values(y).forEach(b=>{this.cancelApply(b)})})),this.currentSessionId=this.chatInternalService.sessionModel.sessionId,this.addDispose(this.chatInternalService.onChangeSession(d=>{d!==this.currentSessionId&&(this.cancelAllApply(),this.currentSessionId=d)})),this.addDispose(this.chatInternalService.onRegenerateRequest(()=>{const d=this.chatInternalService.sessionModel.history.getMessages(),y=d[d.length-1].id,b=this.getMessageCodeBlocks(y);b&&Object.values(b).forEach(A=>{this.cancelApply(A)})})),this.addDispose(this.chatInternalService.onWillClearSession(d=>{this.cancelAllApply(d)}))}getMessageCodeBlocks(d,y){y=y||this.chatInternalService.sessionModel.sessionId;const b=this.chatInternalService.getSession(y);if(!b)throw new Error(`Session ${y} not found`);const A=b.history.getMessageAdditional(d);return A?.codeBlockMap}onEditorGroupClose(d){const y=s.path.relative(this.appConfig.workspaceDir,d.payload.resource.uri.path.toString());this.activePreviewerMap.get(y)&&this.activePreviewerMap.disposeKey(y),this.editorListenerMap.disposeKey(d.payload.resource.uri.toString())}async onEditorGroupOpen(d){var y;const b=s.path.relative(this.appConfig.workspaceDir,d.payload.resource.uri.path.toString());if(this.duringApply||this.activePreviewerMap.has(b)||!this.chatInternalService.sessionModel.history.getMessages().length)return;const A=((y=this.getUriCodeBlocks(d.payload.resource.uri))===null||y===void 0?void 0:y.filter(S=>S.status==="pending"))||[];if(A.length>0&&A[0].updatedCode){const S=d.payload.group.codeEditor.monacoEditor;await this.renderApplyResult(S,A[0],A[0].updatedCode)}}get currentPreviewer(){var d;const y=(d=this.editorService.currentEditor)===null||d===void 0?void 0:d.currentUri;if(y)return this.activePreviewerMap.get(s.path.relative(this.appConfig.workspaceDir,y.path.toString()))}getUriCodeBlocks(d){const y=this.getSessionCodeBlocks(),b=s.path.relative(this.appConfig.workspaceDir,d.path.toString());return y.filter(A=>A.relativePath===b).sort((A,S)=>S.version-A.version)}getPendingPaths(d){return this.getSessionCodeBlocks(d).filter(b=>b.status==="pending").map(b=>b.relativePath)}getSessionCodeBlocks(d){const y=d?this.chatInternalService.getSession(d):this.chatInternalService.sessionModel;if(!y)throw new Error(`Session ${d} not found`);const b=y.history.sessionAdditionals;return Array.from(b.values()).map(A=>A.codeBlockMap||{}).reduce((A,S)=>(Object.values(S).forEach(D=>{A.push(D)}),A),[])}getCodeBlock(d,y){if(y=y||this.chatInternalService.sessionModel.history.lastMessageId,!y)throw new Error("Message ID is required");const b=this.getMessageCodeBlocks(y);if(b)return b[d]}updateCodeBlock(d){const y=d.messageId,b=this.getMessageCodeBlocks(y);if(!b)throw new Error("Code block not found");b[d.toolCallId]=d,this.chatInternalService.sessionModel.history.setMessageAdditional(y,{codeBlockMap:b}),this.onCodeBlockUpdateEmitter.fire(d)}async registerCodeBlock(d,y,b,A){var S,D;const I=this.chatInternalService.sessionModel.history.lastMessageId,w=this.getUriCodeBlocks(s.URI.file(s.path.join(this.appConfig.workspaceDir,d))),T=await this.editorDocumentModelService.createModelReference(s.URI.file(s.path.join(this.appConfig.workspaceDir,d))),R={codeEdit:y,relativePath:d,status:"generating",iterationCount:1,version:1,createdAt:Date.now(),toolCallId:b,messageId:I,instructions:A,originalCode:T.instance.getText()};if(w?.length){R.version=w.length+1;for(const O of w)if(O.relativePath===d&&(!((D=(S=O.applyResult)===null||S===void 0?void 0:S.diagnosticInfos)===null||D===void 0)&&D.length))R.iterationCount++;else break}const M=this.getMessageCodeBlocks(I)||{};return M[b]=R,this.chatInternalService.sessionModel.history.setMessageAdditional(I,{codeBlockMap:M}),this.onCodeBlockUpdateEmitter.fire(R),R}async apply(d){var y,b;try{if(this.duringApply=!0,d.iterationCount>3)throw new Error("Lint error max iteration count exceeded");const A=d.originalCode?await this.doApply(d):{result:d.codeEdit};if(!A.stream&&!A.result)return d.status="failed",this.updateCodeBlock(d),d;this.activePreviewerMap.has(d.relativePath)&&(this.editorListenerMap.disposeKey(s.URI.file(s.path.join(this.appConfig.workspaceDir,d.relativePath)).toString()),this.activePreviewerMap.disposeKey(d.relativePath));const S=await this.editorService.open(s.URI.file(s.path.join(this.appConfig.workspaceDir,d.relativePath)));if(!S)throw new Error("Failed to open file");const D=await this.renderApplyResult(S.group.codeEditor.monacoEditor,d,A.result||A.stream,A.range);if(d.updatedCode=D.updatedCode,d.status="pending",this.postApplyHandler&&typeof this.postApplyHandler=="function")try{await this.postApplyHandler(S.group.codeEditor.monacoEditor)}catch{}const I=S.group.codeEditor.monacoEditor.getModel(),w=this.getDiagnosticInfos(I.uri.toString(),((y=D.result)===null||y===void 0?void 0:y.rangesFromDiffHunk)||[]);return D.result&&(d.applyResult={diff:(b=D.result)===null||b===void 0?void 0:b.diff,diagnosticInfos:w}),this.updateCodeBlock(d),d}catch(A){throw d.status="failed",this.updateCodeBlock(d),A}finally{this.duringApply=!1}}async renderApplyResult(d,y,b,A){var S,D,I;const w=new s.Deferred,T=c.InlineDiffController.get(d);if(A=A||d.getModel().getFullModelRange(),typeof b=="string"){const R=b,M=d.getModel().getValue(),O=s.URI.file(s.path.join(this.appConfig.workspaceDir,y.relativePath)),x=this.editorDocumentModelService.getModelReference(O);(M!==R||x?.instance.dirty)&&((S=d.getModel())===null||S===void 0||S.pushEditOperations([],[g.EditOperation.replace(A,R)],()=>null),await this.editorService.save(O));const k=(D=this.getUriCodeBlocks(O))===null||D===void 0?void 0:D.filter(W=>W.status==="pending"),F=k?.[k.length-1];if(((I=F||y)===null||I===void 0?void 0:I.originalCode)===R)throw new Error("No changes applied");const L=T.createDiffPreviewer(d,p.Selection.fromRange(A,p.SelectionDirection.LTR),{disposeWhenEditorClosed:!0,renderRemovedWidgetImmediately:!0,reverse:!0});this.activePreviewerMap.set(y.relativePath,L),L.setValue(F?.originalCode||y.originalCode||`
|
|
33075
33075
|
`),this.eventBus.fire(new v.RegisterEditorSideComponentEvent),this.listenPartialEdit(d.getModel(),y).then(W=>{if(W){const j=this.getDiagnosticInfos(d.getModel().uri.toString(),U);y.applyResult={diff:W.diff,diagnosticInfos:j}}this.updateCodeBlock(y),this.editorService.save(s.URI.file(s.path.join(this.appConfig.workspaceDir,y.relativePath)))});const{diff:N,rangesFromDiffHunk:U}=this.getDiffResult(y.originalCode,R,y.relativePath);w.resolve({result:{diff:N,rangesFromDiffHunk:U},updatedCode:R})}else{const R=new u.InlineChatController;R.mountReadable(b);const M=T.showPreviewerByStream(d,{crossSelection:p.Selection.fromRange(A,p.SelectionDirection.LTR),chatResponse:R,previewerOptions:{disposeWhenEditorClosed:!0,renderRemovedWidgetImmediately:!1}});this.addDispose(R.onError(O=>{w.reject(O)})),this.addDispose(R.onAbort(()=>{w.reject(new Error("Apply aborted"))})),this.addDispose(M.getNode().onDiffFinished(async O=>{const x=O.newFullRangeTextLines.join(`
|
|
33076
|
-
`);if(y.originalCode===x){M.dispose(),w.reject(new Error("no changes applied"));return}M.dispose();try{const k=await this.renderApplyResult(d,y,x);w.resolve(k)}catch(k){w.reject(k)}})),this.activePreviewerMap.set(y.relativePath,M)}return w.promise}cancelApply(d,y){var b,A;(d.status==="generating"||d.status==="pending")&&(this.editorListenerMap.disposeKey(s.URI.file(s.path.join(this.appConfig.workspaceDir,d.relativePath)).toString()),this.activePreviewerMap.has(d.relativePath)&&((A=(b=this.activePreviewerMap.get(d.relativePath))===null||b===void 0?void 0:b.getNode())===null||A===void 0||A.livePreviewDiffDecorationModel.discardUnProcessed(),this.activePreviewerMap.disposeKey(d.relativePath)),d.status="cancelled",this.updateCodeBlock(d))}cancelAllApply(d){
|
|
33077
|
-
`).find(I=>I.startsWith("@@"));let A=0,S=0;if(b){const[,,,I,w]=b.match(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);A=parseInt(I,10)-1,S=parseInt(w,10)-1}this.editorService.open(s.URI.file(s.path.join(this.appConfig.workspaceDir,d.relativePath)));const D=this.editorService.currentEditor;D&&D.setSelection(new p.Selection(A,0,S,0))}async processAll(d,y){var b
|
|
33076
|
+
`);if(y.originalCode===x){M.dispose(),w.reject(new Error("no changes applied"));return}M.dispose();try{const k=await this.renderApplyResult(d,y,x);w.resolve(k)}catch(k){w.reject(k)}})),this.activePreviewerMap.set(y.relativePath,M)}return w.promise}cancelApply(d,y){var b,A;(d.status==="generating"||d.status==="pending")&&(this.editorListenerMap.disposeKey(s.URI.file(s.path.join(this.appConfig.workspaceDir,d.relativePath)).toString()),this.activePreviewerMap.has(d.relativePath)&&((A=(b=this.activePreviewerMap.get(d.relativePath))===null||b===void 0?void 0:b.getNode())===null||A===void 0||A.livePreviewDiffDecorationModel.discardUnProcessed(),this.activePreviewerMap.disposeKey(d.relativePath)),d.status="cancelled",this.updateCodeBlock(d))}cancelAllApply(d){this.getSessionCodeBlocks(d).forEach(b=>{this.cancelApply(b)})}revealApplyPosition(d){var y;const b=(y=d.applyResult)===null||y===void 0?void 0:y.diff.split(`
|
|
33077
|
+
`).find(I=>I.startsWith("@@"));let A=0,S=0;if(b){const[,,,I,w]=b.match(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);A=parseInt(I,10)-1,S=parseInt(w,10)-1}this.editorService.open(s.URI.file(s.path.join(this.appConfig.workspaceDir,d.relativePath)));const D=this.editorService.currentEditor;D&&D.setSelection(new p.Selection(A,0,S,0))}async processAll(d,y){var b;const A=y?(b=this.getUriCodeBlocks(y))===null||b===void 0?void 0:b.filter(w=>w.status==="pending"):this.getSessionCodeBlocks().filter(w=>w.status==="pending");if(!A?.length)throw new Error("No pending code block found");const S=y?[A[0].relativePath]:A.map(w=>w.relativePath).reduce((w,T)=>(w.includes(T)||w.push(T),w),[]),D=this.editorService.getAllOpenedUris(),I=S.filter(w=>!D.some(T=>T.codeUri.fsPath.endsWith(w))).map(w=>s.URI.file(s.path.join(this.appConfig.workspaceDir,w)));I.length&&await this.editorService.openUris(I),S.forEach(w=>{this.doProcess(d,w)}),A.forEach(w=>{w.status=d==="accept"?"success":"cancelled",this.updateCodeBlock(w)})}doProcess(d,y){var b,A;const S=(A=(b=this.activePreviewerMap.get(y))===null||b===void 0?void 0:b.getNode())===null||A===void 0?void 0:A.livePreviewDiffDecorationModel;if(!S)throw new Error("No active previewer found");d==="accept"?S.acceptUnProcessed():S.discardUnProcessed(),this.editorService.save(s.URI.file(s.path.join(this.appConfig.workspaceDir,y)))}listenPartialEdit(d,y){const b=new s.Deferred,A=d.uri.toString(),S=this.inlineDiffService.onPartialEdit(D=>{if(D.totalPartialEditCount===D.resolvedPartialEditCount&&D.uri.path===d.uri.path.toString()){if(D.acceptPartialEditCount>0){y.status="success";const I=d.getValue(),{diff:w,rangesFromDiffHunk:T}=this.getDiffResult(y.originalCode,I,y.relativePath),R=this.getDiagnosticInfos(d.uri.toString(),T);this.aiReporter.send({msgType:l.AIServiceType.Chat,actionType:l.ActionTypeEnum.Accept,actionSource:l.ActionSourceEnum.Chat,sessionId:this.chatInternalService.sessionModel.sessionId,isReceive:!0,isDrop:D.acceptPartialEditCount!==D.totalPartialEditCount,code:I,originCode:y.originalCode,message:JSON.stringify({diff:w,diagnosticInfos:R,instructions:y.instructions,codeEdit:y.codeEdit,partialEditCount:D.totalPartialEditCount,acceptPartialEditCount:D.acceptPartialEditCount,addedLinesCount:D.totalAddedLinesCount,deletedLinesCount:D.totalDeletedLinesCount})}),b.resolve({diff:w,rangesFromDiffHunk:T})}else y.status="cancelled",b.resolve(),this.aiReporter.send({msgType:l.AIServiceType.Chat,actionType:l.ActionTypeEnum.Discard,actionSource:l.ActionSourceEnum.Chat,sessionId:this.chatInternalService.sessionModel.sessionId,isReceive:!1,isDrop:!0,originCode:y.originalCode,message:JSON.stringify({instructions:y.instructions,codeEdit:y.codeEdit})});this.editorListenerMap.disposeKey(A)}});return this.editorListenerMap.set(A,S),b.promise}getDiffResult(d,y,b){const A=(0,r.createPatch)(b,d,y).split(`
|
|
33078
33078
|
`).slice(4).join(`
|
|
33079
33079
|
`),S=A.split(`
|
|
33080
33080
|
`).map(D=>{if(D.startsWith("@@")){const[,,,I,w]=D.match(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);return new p.Range(parseInt(I,10),0,parseInt(I,10)+parseInt(w,10)-1,0)}return null}).filter(D=>D!==null);return{diff:A,rangesFromDiffHunk:S}}getDiagnosticInfos(d,y){return this.markerService.getManager().getMarkers({resource:d}).filter(A=>A.severity>=l.MarkerSeverity.Warning&&y.some(S=>S.containsPosition(new p.Position(A.startLineNumber,A.startColumn))))}}t.BaseApplyService=E,E.CHAT_EDITING_SOURCE_RESOLVER_SCHEME="chat-editing-source",n.__decorate([(0,o.Autowired)(a.IChatInternalService),n.__metadata("design:type",h.ChatInternalService)],E.prototype,"chatInternalService",void 0),n.__decorate([(0,o.Autowired)(l.AppConfig),n.__metadata("design:type",Object)],E.prototype,"appConfig",void 0),n.__decorate([(0,o.Autowired)(_.WorkbenchEditorService),n.__metadata("design:type",_.WorkbenchEditorService)],E.prototype,"editorService",void 0),n.__decorate([(0,o.Autowired)(a.InlineDiffServiceToken),n.__metadata("design:type",Object)],E.prototype,"inlineDiffService",void 0),n.__decorate([(0,o.Autowired)(m.IMarkerService),n.__metadata("design:type",Object)],E.prototype,"markerService",void 0),n.__decorate([(0,o.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],E.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,o.Autowired)(l.IAIReporter),n.__metadata("design:type",Object)],E.prototype,"aiReporter",void 0),n.__decorate([(0,l.OnEvent)(v.EditorGroupCloseEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.EditorGroupCloseEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"onEditorGroupClose",null),n.__decorate([(0,l.OnEvent)(v.EditorGroupOpenEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.EditorGroupOpenEvent]),n.__metadata("design:returntype",Promise)],E.prototype,"onEditorGroupOpen",null)},75279:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(41869),v=e(43718),m=e(19413),p=n.__importDefault(e(76599)),s=e(51750),g=()=>{const a=(0,_.useInjectable)(v.MCPConfigServiceToken),[h,u]=o.default.useState([]),[c,E]=o.default.useState(!1),[f,d]=o.default.useState(),[y,b]=o.default.useState(),[A,S]=o.default.useState(a.isInitialized),[D,I]=o.default.useState([]),w=(0,o.useCallback)(async()=>{const N=await a.getServers();u(N)},[a]),T=(0,o.useCallback)(async()=>{const N=await a.getDisabledTools();I(N)},[a]);o.default.useEffect(()=>{w(),T();const N=a.onMCPServersChange(U=>{U&&S(!0),w()});return()=>{N.dispose()}},[w,T]);const R=(0,o.useCallback)(async(N,U)=>{try{b(N),await a.controlServer(N,U),await w(),b(void 0)}catch{b(void 0)}},[a,w]),M=(0,o.useCallback)(()=>{d(void 0),E(!0)},[]),O=(0,o.useCallback)(async N=>{const U=await a.getServerConfigByName(N.name);U&&(d(U),E(!0))},[a]),x=(0,o.useCallback)(async N=>{await a.deleteServer(N),await w()},[a,w]),k=(0,o.useCallback)(async(N,U)=>{E(!1),await a.saveServer(N,U),N?.enabled&&(b(U.name),await a.controlServer(U.name,!0),b(void 0)),await w()},[a,w]),F=(0,o.useCallback)(async N=>{b(N.name),await a.syncServer(N.name),await w(),b(void 0)},[a,w]),L=(0,o.useCallback)(async N=>{await a.toggleToolEnabled(N),I(U=>U.includes(N)?U.filter(j=>j!==N):[...U,N])},[a]);return o.default.createElement("div",{className:p.default.container},o.default.createElement("div",{className:p.default.header},o.default.createElement("div",null,o.default.createElement("h2",{className:p.default.title},"MCP Servers"),o.default.createElement("p",{className:p.default.description},(0,v.localize)("ai.native.mcp.manage.connections"))),o.default.createElement("button",{className:p.default.actionButton,onClick:M},o.default.createElement(l.Icon,{icon:"plus",className:p.default.actionButtonIcon}),(0,v.localize)("ai.native.mcp.addMCPServer.title"))),o.default.createElement("div",{className:p.default.serversList},h.map(N=>o.default.createElement("div",{key:N.name,className:p.default.serverItem},o.default.createElement("div",{className:p.default.serverHeader},o.default.createElement("div",{className:p.default.serverTitleRow},o.default.createElement("h3",{className:p.default.serverName},N.name,o.default.createElement("span",{className:(0,r.default)(p.default.serverStatusIcon,N.isStarted?p.default.active:p.default.inactive)}))),o.default.createElement("div",{className:p.default.serverActions},o.default.createElement(l.Popover,{id:"mcp-server-action-popover",trigger:l.PopoverTriggerType.hover,content:N.isStarted?(0,v.localize)("ai.native.mcp.disable.title"):(0,v.localize)("ai.native.mcp.enable.title")},o.default.createElement(l.Button,{type:"default",className:(0,r.default)(p.default.serverActionButton,N.isStarted&&p.default.active),onClick:()=>R(N.name,!N.isStarted)},o.default.createElement("i",{className:`codicon ${y===N.name||!A&&N.name!==m.BUILTIN_MCP_SERVER_NAME&&!N.isStarted?"codicon-loading kt-icon-loading":N.isStarted?"codicon-check":"codicon-circle"}`}),o.default.createElement("span",null,(0,v.localize)(N.isStarted?"ai.native.mcp.enabled":"ai.native.mcp.disabled")))),N.name!==m.BUILTIN_MCP_SERVER_NAME&&o.default.createElement(l.Button,{type:"icon",iconClass:"codicon codicon-edit",className:p.default.iconButton,title:(0,v.localize)("ai.native.mcp.tool.action.edit"),onClick:()=>O(N)}),N.name!==m.BUILTIN_MCP_SERVER_NAME&&o.default.createElement(l.Button,{type:"icon",iconClass:"codicon codicon-sync",className:p.default.iconButton,title:(0,v.localize)("ai.native.mcp.tool.action.sync"),onClick:()=>F(N)}),N.name!==m.BUILTIN_MCP_SERVER_NAME&&o.default.createElement(l.Button,{type:"icon",iconClass:"codicon codicon-trash",className:p.default.iconButton,title:(0,v.localize)("ai.native.mcp.tool.action.delete"),onClick:()=>x(N.name)}))),o.default.createElement("div",{className:p.default.serverDetail},N.type&&o.default.createElement("div",{className:p.default.detailRow},o.default.createElement("span",{className:p.default.detailLabel},"Type:"),o.default.createElement(l.Badge,{className:(0,r.default)(p.default.serverType,p.default.typeTag)},a.getReadableServerType(N.type)))),N.tools&&N.tools.length>0&&o.default.createElement("div",{className:p.default.serverDetail},o.default.createElement("div",{className:p.default.detailRow},o.default.createElement("span",{className:p.default.detailLabel},"Tools:"),o.default.createElement("span",{className:p.default.detailContent},N.tools.map((U,W)=>{const j=D.includes(U.name);return o.default.createElement(l.Badge,{key:W,className:(0,r.default)(p.default.toolTag,j&&p.default.disabledTool),title:`${U.description}${j?" (\u5DF2\u7981\u7528)":""}`,onClick:()=>L(U.name),style:{cursor:"pointer"}},U.name,j&&o.default.createElement("span",{style:{marginLeft:"4px",opacity:.6}},"\u2715"))})))),N.command&&o.default.createElement("div",{className:p.default.serverDetail},o.default.createElement("div",{className:p.default.detailRow},o.default.createElement("span",{className:p.default.detailLabel},"Command:"),o.default.createElement("span",{className:p.default.detailContent},N.command))),N.url&&o.default.createElement("div",{className:p.default.serverDetail},o.default.createElement("div",{className:p.default.detailRow},o.default.createElement("span",{className:p.default.detailLabel},"Server Link:"),o.default.createElement("span",{className:(0,r.default)(p.default.detailContent,p.default.link)},N.url)))))),o.default.createElement(s.MCPServerForm,{visible:c,initialData:f,servers:h,onSave:N=>k(f,N),onCancel:()=>E(!1)}))};t.MCPConfigView=g},51750:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServerForm=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),_=e(48412),v=e(53017),m=e(41869),p=e(43718),s=e(72665),g=e(69820),a=n.__importDefault(e(83761)),h=({visible:u,initialData:c,onSave:E,onCancel:f,servers:d})=>{const[y,b]=(0,o.useState)(()=>({name:"",command:"",args:[],env:{},type:g.MCP_SERVER_TYPE.STDIO,...c})),A=(0,m.useInjectable)(s.IMessageService),[S,D]=(0,o.useState)(()=>{var N;return((N=c?.args)===null||N===void 0?void 0:N.join(" "))||""}),[I,w]=(0,o.useState)(()=>c?.env?Object.entries(c.env).map(([N,U])=>`${N}=${U}`).join(`
|
|
@@ -33307,8 +33307,8 @@ ${y}`)}return this.keybindingsChanged.fire({affectsCommands:[f.command]}),{dispo
|
|
|
33307
33307
|
`))}}})}registerMenus(u){u.registerMenuItem(l.MenuId.DebugCallStackContext,{command:{id:_.DEBUG_COMMANDS.RESTART_FRAME.id,label:(0,o.localize)("debugger.menu.restartFrame")},when:`${v.CONTEXT_CALLSTACK_ITEM_TYPE.equalsTo("stackFrame")} && ${v.CONTEXT_RESTART_FRAME_SUPPORTED.raw}`,enabledWhen:v.CONTEXT_STACK_FRAME_SUPPORTS_RESTART.raw,order:10}),u.registerMenuItem(l.MenuId.DebugCallStackContext,{command:{id:_.DEBUG_COMMANDS.COPY_STACK_TRACE.id,label:(0,o.localize)("debugger.menu.copyCallstack")},when:v.CONTEXT_CALLSTACK_ITEM_TYPE.equalsTo("stackFrame"),order:20})}};t.DebugCallStackContribution=a,n.__decorate([(0,r.Autowired)(m.IDebugSessionManager),n.__metadata("design:type",p.DebugSessionManager)],a.prototype,"debugSessionManager",void 0),n.__decorate([(0,r.Autowired)(o.IClipboardService),n.__metadata("design:type",Object)],a.prototype,"clipboardService",void 0),t.DebugCallStackContribution=a=n.__decorate([(0,o.Domain)(l.MenuContribution,o.CommandContribution)],a)},61520:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugStackOperationView=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(66498),_=e(96090),v=n.__importDefault(e(12920)),m=p=>{const{session:s,thread:g}=p,{doStop:a,doStepIn:h,doStepOut:u,doStepOver:c,doContinue:E,doRestart:f,doPause:d,updateCurrentSession:y}=(0,o.useInjectable)(_.DebugToolbarService);if(s&&!g){const b=A=>{y(s),A()};return r.default.createElement("div",{className:v.default.debug_stack_session_operations},r.default.createElement(l.DebugAction,{run:()=>b(f),icon:"reload",label:(0,o.localize)("debug.action.restart")}),r.default.createElement(l.DebugAction,{run:()=>b(a),icon:"stop",label:(0,o.localize)("debug.action.stop")}))}if(!s&&g){const{stopped:b}=g,A=D=>{g.session.currentThread=g,D()},S=D=>D?r.default.createElement(l.DebugAction,{run:()=>A(E),icon:"continue",label:(0,o.localize)("debug.action.continue")}):r.default.createElement(l.DebugAction,{run:()=>A(d),enabled:!0,icon:"pause",label:(0,o.localize)("debug.action.pause")});return r.default.createElement("div",{className:v.default.debug_stack_thread_operations},S(b),r.default.createElement(l.DebugAction,{run:()=>A(c),enabled:b,icon:"step",label:(0,o.localize)("debug.action.step-over")}),r.default.createElement(l.DebugAction,{run:()=>A(h),enabled:b,icon:"step-in",label:(0,o.localize)("debug.action.step-into")}),r.default.createElement(l.DebugAction,{run:()=>A(u),enabled:b,icon:"step-out",label:(0,o.localize)("debug.action.step-out")}))}return null};t.DebugStackOperationView=m},85294:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugCallStackService=void 0;const n=e(85608),r=e(76003),o=e(93899),l=e(50755),_=e(4983),v=e(17280),m=e(29539);let p=class{constructor(){this.handleContextMenu=(g,a)=>{this.stackFrameSupportsRestart.reset(),g.stopPropagation(),g.preventDefault(),a instanceof m.DebugSession?this.callStackItemType.set("session"):a instanceof l.DebugThread?this.callStackItemType.set("thread"):a instanceof l.DebugStackFrame?(this.callStackItemType.set("stackFrame"),this.stackFrameSupportsRestart.set(a.canRestart)):this.callStackItemType.reset();const{x:h,y:u}=g.nativeEvent,c=this.contextMenuService.createMenu({id:o.MenuId.DebugCallStackContext,contextKeyService:this.debugContextKey.contextKeyScoped}),E=c.getMergedMenuNodes();c.dispose();const f=()=>{var y;return a instanceof l.DebugStackFrame?!((y=a.source)===null||y===void 0)&&y.inMemory?a.source.raw.path||a.source.reference||a.source.name:a.source?a.source.uri.toString():"":a instanceof l.DebugThread||a instanceof m.DebugSession?a.id:""},d=()=>a instanceof l.DebugStackFrame?{sessionId:a.session.id,threadId:a.thread.id,frameId:a.id}:a instanceof l.DebugThread?{sessionId:a.session.id,threadId:a.id}:a instanceof m.DebugSession?{sessionId:a.id}:void 0;this.ctxMenuRenderer.show({anchor:{x:h,y:u},menuNodes:E,args:[f(),d()],contextKeyService:this.debugContextKey.contextKeyScoped})},this.stackFrameSupportsRestart||(this.stackFrameSupportsRestart=_.CONTEXT_STACK_FRAME_SUPPORTS_RESTART.bind(this.debugContextKey.contextKeyScoped)),this.callStackItemType||(this.callStackItemType=_.CONTEXT_CALLSTACK_ITEM_TYPE.bind(this.debugContextKey.contextKeyScoped))}};t.DebugCallStackService=p,n.__decorate([(0,r.Autowired)(o.AbstractContextMenuService),n.__metadata("design:type",o.AbstractContextMenuService)],p.prototype,"contextMenuService",void 0),n.__decorate([(0,r.Autowired)(o.ICtxMenuRenderer),n.__metadata("design:type",o.ICtxMenuRenderer)],p.prototype,"ctxMenuRenderer",void 0),n.__decorate([(0,r.Autowired)(v.DebugContextKey),n.__metadata("design:type",v.DebugContextKey)],p.prototype,"debugContextKey",void 0),t.DebugCallStackService=p=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],p)},18028:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugCallStackView=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(64582),_=e(75651),v=n.__importDefault(e(12920)),m=({viewState:p})=>{const s=(0,o.useInjectable)(l.IDebugSessionManager),[g,a]=r.default.useState([]);return r.default.useEffect(()=>{const h=s.onDidStartDebugSession(c=>{g.push(c),a([...g])}),u=s.onDidDestroyDebugSession(c=>{const E=g.findIndex(f=>f.id===c.id);g.splice(E,1),a([...g])});return()=>{h.dispose(),u.dispose()}},[]),r.default.createElement("div",{className:v.default.call_stack_wrapper},g.filter(h=>!h.parentSession).map(h=>r.default.createElement(_.DebugStackSessionView,{key:h.id,viewState:p,session:h,indent:0})))};t.DebugCallStackView=m},59334:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DebugVariablesModel=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(98650);let m=n=class extends l.TreeModel{constructor(s){super(),this.flushDispatchChangeDelayer=new _.ThrottledDelayer(n.DEFAULT_FLUSH_DELAY),this.init(s)}init(s){this.root=s,this.root.watcher.on(l.TreeNodeEvent.BranchDidUpdate,()=>{this.flushDispatchChangeDelayer.isTriggered()||this.flushDispatchChangeDelayer.cancel(),this.flushDispatchChangeDelayer.trigger(async()=>{this.dispatchChange()})})}};t.DebugVariablesModel=m,m.DEFAULT_FLUSH_DELAY=100,t.DebugVariablesModel=m=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[v.ExpressionContainer])],m)},30865:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DebugVariablesModelService=void 0;const r=e(85608),o=r.__importDefault(e(46343)),l=e(76003),_=e(97267),v=e(41869),m=e(93899),p=e(98650),s=e(32756),g=e(17280),a=e(59334),h=r.__importDefault(e(57259));class u{constructor(){this._keepExpandedScopesMap=new Map}getMirrorScope(f){return Array.from(this._keepExpandedScopesMap.keys()).find(d=>(0,o.default)(d,f.getRawScope()))}set(f){const d=f.getRawScope();if(d){const y=this.getMirrorScope(f);if(y){const b=this._keepExpandedScopesMap.get(y);let A;f.expanded?A=Array.from(new Set([...b,f.variablesReference])):A=b.filter(S=>S!==f.variablesReference),this._keepExpandedScopesMap.set(y,A)}else this._keepExpandedScopesMap.set(d,f.expanded?[f.variablesReference]:[])}}get(f){const d=this.getMirrorScope(f);return d?this._keepExpandedScopesMap.get(d)||[]:[]}clear(){this._keepExpandedScopesMap.clear()}}let c=n=class{constructor(){this.selectedDecoration=new _.Decoration(h.default.mod_selected),this.focusedDecoration=new _.Decoration(h.default.mod_focused),this.contextMenuDecoration=new _.Decoration(h.default.mod_actived),this.loadingDecoration=new _.Decoration(h.default.mod_loading),this._selectedNodes=[],this.onDidRefreshedEmitter=new v.Emitter,this.onDidUpdateTreeModelEmitter=new v.Emitter,this.flushDispatchChangeDelayer=new v.ThrottledDelayer(n.DEFAULT_TRIGGER_DELAY),this.disposableCollection=new v.DisposableCollection,this.keepExpandedScopesModel=new u,this.activeNodeDecoration=(f,d=!0)=>{var y;if(this.contextMenuNode&&(this.contextMenuDecoration.removeTarget(this.contextMenuNode),this._contextMenuNode=void 0),f){if(this.selectedNodes.length>0)for(const b of this.selectedDecoration.appliedTargets.keys())this.selectedDecoration.removeTarget(b);this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode),this.selectedDecoration.addTarget(f),this.focusedDecoration.addTarget(f),this._focusedNode=f,this._selectedNodes=[f],d&&((y=this.treeModel)===null||y===void 0||y.dispatchChange())}},this.activeNodeActivedDecoration=f=>{var d;this.contextMenuNode&&this.contextMenuDecoration.removeTarget(this.contextMenuNode),this.focusedNode&&(this.focusedDecoration.removeTarget(this.focusedNode),this._focusedNode=void 0),this.contextMenuDecoration.addTarget(f),this._contextMenuNode=f,(d=this.treeModel)===null||d===void 0||d.dispatchChange()},this.enactiveNodeDecoration=()=>{var f;this.focusedNode&&(this.focusedDecoration.removeTarget(this.focusedNode),this._focusedNode=void 0),this.contextMenuNode&&this.contextMenuDecoration.removeTarget(this.contextMenuNode),(f=this.treeModel)===null||f===void 0||f.dispatchChange()},this.handleContextMenu=(f,d)=>{var y;if(f.stopPropagation(),f.preventDefault(),!d||d instanceof p.DebugScope){this.enactiveNodeDecoration(),this.debugContextKey.contextVariableEvaluateNamePresent.set(!1);return}this._currentVariableInternalContext=d;const{x:b,y:A}=f.nativeEvent;d&&(this.activeNodeActivedDecoration(d),this.debugContextKey.contextDebugProtocolVariableMenu.set(d.variableMenuContext),this.debugContextKey.contextVariableEvaluateNamePresent.set(!!d.evaluateName)),!((y=d.session)===null||y===void 0)&&y.capabilities.supportsReadMemoryRequest&&d.memoryReference!==void 0?this.debugContextKey.contextCanViewMemory.set(!0):this.debugContextKey.contextCanViewMemory.set(!1);const S=this.contextMenuService.createMenu({id:m.MenuId.DebugVariablesContext,contextKeyService:this.debugContextKey.contextKeyScoped}),D=S.getMergedMenuNodes();S.dispose(),this.ctxMenuRenderer.show({anchor:{x:b,y:A},menuNodes:D,args:[d.toDebugProtocolObject()]})},this.handleTreeBlur=()=>{this.enactiveNodeDecoration()},this.handleItemClick=f=>{this.activeNodeDecoration(f)},this.handleTwistierClick=(f,d)=>{d===_.TreeNodeType.CompositeTreeNode?(this.activeNodeDecoration(f,!1),this.toggleDirectory(f)):this.activeNodeDecoration(f)},this.toggleDirectory=async f=>{f.expanded?f.setCollapsed():await f.setExpanded(!0),this.keepExpandedScopesModel.set(f)},this.listenViewModelChange()}get flushEventQueuePromise(){return this.flushEventQueueDeferred&&this.flushEventQueueDeferred.promise}get treeHandle(){return this._debugVariablesTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._activeTreeModel}get currentVariableInternalContext(){return this._currentVariableInternalContext}get focusedNode(){return this._focusedNode}get selectedNodes(){return this._selectedNodes}get contextMenuNode(){return this._contextMenuNode}get onDidUpdateTreeModel(){return this.onDidUpdateTreeModelEmitter.event}get onDidRefreshed(){return this.onDidRefreshedEmitter.event}dispose(){this.disposableCollection.disposed||this.disposableCollection.dispose()}listenViewModelChange(){this.viewModel.onDidChange(async()=>{this.flushDispatchChangeDelayer.isTriggered()||this.flushDispatchChangeDelayer.cancel(),this.flushDispatchChangeDelayer.trigger(async()=>{var f,d;if(this.viewModel&&this.viewModel.currentSession&&!this.viewModel.currentSession.terminated){const y=await this.initTreeModel(this.viewModel.currentSession);this._activeTreeModel=y,await((f=this._activeTreeModel)===null||f===void 0?void 0:f.ensureReady);const b=((d=this._activeTreeModel)===null||d===void 0?void 0:d.root.children)||[];if(b.length>0&&b.every(S=>!S.expanded))for(const S of b)S.getRawScope().expensive===!1&&!S.expanded&&await this.toggleDirectory(S);const A=async S=>{for(const D of S)this.keepExpandedScopesModel.get(D).includes(D.variablesReference)&&(await D.setExpanded(!0),Array.isArray(D.children)&&await A(D.children))};b.forEach(async S=>{Array.isArray(S.children)&&await A(S.children)})}else this._activeTreeModel=void 0,this.keepExpandedScopesModel.clear();this.onDidUpdateTreeModelEmitter.fire(this._activeTreeModel)})})}listenTreeViewChange(){this.dispose(),this.treeModel&&(this.disposableCollection.push(this.treeModel.root.watcher.on(_.TreeNodeEvent.WillResolveChildren,f=>{this.loadingDecoration.addTarget(f)})),this.disposableCollection.push(this.treeModel.root.watcher.on(_.TreeNodeEvent.DidResolveChildren,f=>{this.loadingDecoration.removeTarget(f)})))}async initTreeModel(f){const d=new p.DebugVariableRoot(f);if(d)return this._activeTreeModel=this.injector.get(a.DebugVariablesModel,[d]),this.initDecorations(d),this.listenTreeViewChange(),this._activeTreeModel}initDecorations(f){this._decorations=new _.DecorationsManager(f),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations.addDecoration(this.contextMenuDecoration),this._decorations.addDecoration(this.loadingDecoration)}removeNodeDecoration(){this.decorations&&(this.decorations.removeDecoration(this.selectedDecoration),this.decorations.removeDecoration(this.focusedDecoration),this.decorations.removeDecoration(this.loadingDecoration),this.decorations.removeDecoration(this.contextMenuDecoration))}handleTreeHandler(f){this._debugVariablesTreeHandle={...f,getModel:()=>this.treeModel}}async copyEvaluateName(f){f&&await this.clipboardService.writeText(f.evaluateName)}async copyValue(f){if(!f)return;const y=await(async()=>{if(f.session&&f.session.capabilities.supportsValueFormattingOptions)try{const{variable:{evaluateName:b}}=f;if(b){const A=await f.session.evaluate(b,"clipboard");if(A)return A.result}return""}catch{return""}else return f.value})();y&&await this.clipboardService.writeText(y)}};t.DebugVariablesModelService=c,c.DEFAULT_TRIGGER_DELAY=200,r.__decorate([(0,l.Autowired)(l.INJECTOR_TOKEN),r.__metadata("design:type",l.Injector)],c.prototype,"injector",void 0),r.__decorate([(0,l.Autowired)(m.ICtxMenuRenderer),r.__metadata("design:type",m.ICtxMenuRenderer)],c.prototype,"ctxMenuRenderer",void 0),r.__decorate([(0,l.Autowired)(m.AbstractContextMenuService),r.__metadata("design:type",m.AbstractContextMenuService)],c.prototype,"contextMenuService",void 0),r.__decorate([(0,l.Autowired)(s.DebugViewModel),r.__metadata("design:type",s.DebugViewModel)],c.prototype,"viewModel",void 0),r.__decorate([(0,l.Autowired)(v.IClipboardService),r.__metadata("design:type",Object)],c.prototype,"clipboardService",void 0),r.__decorate([(0,l.Autowired)(g.DebugContextKey),r.__metadata("design:type",g.DebugContextKey)],c.prototype,"debugContextKey",void 0),t.DebugVariablesModelService=c=n=r.__decorate([(0,l.Injectable)(),r.__metadata("design:paramtypes",[])],c)},86752:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VariablesPanelContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(43718),v=e(57517),m=e(14951),p=e(2156),s=e(72665),g=e(94170),a=e(23268),h=e(64582),u=e(61752),c=e(32756),E=e(4983),f=e(95033),d=e(30865);let y=class{registerCommands(A){A.registerCommand(h.DEBUG_COMMANDS.SET_VARIABLE_VALUE,{execute:async()=>{var I;this.reporterService.point(h.DEBUG_REPORT_NAME===null||h.DEBUG_REPORT_NAME===void 0?void 0:h.DEBUG_REPORT_NAME.DEBUG_VARIABLES,h.DEBUG_COMMANDS.SET_VARIABLE_VALUE.id);const{currentVariableInternalContext:w}=this.debugVariablesModelService;if(!w)return;const T=await this.quickInputService.open({placeHolder:(0,o.localize)("debugger.menu.setValue.param"),value:w.description.replace(/^\"(.*)\"$/,"$1")});if(T!=null){try{await w.setValue(T)}catch(R){this.messageService.error(R.message)}(I=this.debugVariablesModelService.treeModel)===null||I===void 0||I.dispatchChange()}}}),A.registerCommand(h.DEBUG_COMMANDS.COPY_VARIABLE_VALUE,{execute:async()=>{const{currentVariableInternalContext:I}=this.debugVariablesModelService;this.debugVariablesModelService.copyValue(I)}}),A.registerCommand(h.DEBUG_COMMANDS.COPY_EVALUATE_PATH,{execute:async()=>{const{currentVariableInternalContext:I}=this.debugVariablesModelService;this.debugVariablesModelService.copyEvaluateName(I)}}),A.registerCommand(h.DEBUG_COMMANDS.ADD_TO_WATCH_ID,{execute:async I=>{const{currentVariableInternalContext:w}=this.debugVariablesModelService;if(I instanceof _.URI){const T=this.workbenchEditorService.currentEditor;if(!T?.monacoEditor||!T?.monacoEditor.hasModel())return;const R=T.monacoEditor,M=R.getModel().getValueInRange(R.getSelection());this.debugWatchModelService.addWatchExpression(M);return}else w&&this.debugWatchModelService.addWatchExpression(w.evaluateName)}});const S="ms-vscode.hexeditor",D=`${_.CUSTOM_EDITOR_SCHEME}-hexEditor.hexedit`;A.registerCommand(h.DEBUG_COMMANDS.VIEW_MEMORY_ID,{execute:async I=>{var w;const T=await this.commandService.executeCommand("extension.getDescription",S);if(T&&T.enabled){const R=(w=this.viewModel.currentSession)===null||w===void 0?void 0:w.id,M=I.memoryReference;this.workbenchEditorService.open(_.URI.from({scheme:E.DEBUG_MEMORY_SCHEME,authority:R,path:"/"+encodeURIComponent(M||"")+"/memory.bin"}),{disableNavigate:!0,preview:!0,forceOpenType:{type:v.EditorOpenType.component,componentId:D}})}else this.messageService.warning((0,o.localize)("debug.variables.view.memory.prompt.hexEditor.notInstalled"))}})}async initialize(){this.fileSystem.registerProvider(E.DEBUG_MEMORY_SCHEME,this.debugMemoryFileSystemProvider)}registerResource(A){A.registerResourceProvider({scheme:E.DEBUG_MEMORY_SCHEME,provideResource:async S=>({uri:S,icon:(0,o.getIcon)("hex"),name:S.displayName})})}registerMenus(A){var S;A.registerMenuItem(l.MenuId.DebugVariablesContext,{command:{id:h.DEBUG_COMMANDS.SET_VARIABLE_VALUE.id,label:(0,o.localize)("debugger.menu.setValue")},order:10,when:E.CONTEXT_SET_VARIABLE_SUPPORTED.raw,group:"3_modification"}),A.registerMenuItem(l.MenuId.DebugVariablesContext,{command:{id:h.DEBUG_COMMANDS.COPY_VARIABLE_VALUE.id,label:(0,o.localize)("debugger.menu.copyValue")},order:10,group:"5_cutcopypaste"}),A.registerMenuItem(l.MenuId.DebugVariablesContext,{command:{id:h.DEBUG_COMMANDS.COPY_EVALUATE_PATH.id,label:(0,o.localize)("debugger.menu.copyEvaluatePath")},when:E.CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT.raw,order:20,group:"5_cutcopypaste"}),A.registerMenuItem(l.MenuId.DebugVariablesContext,{command:{id:h.DEBUG_COMMANDS.ADD_TO_WATCH_ID.id,label:(0,o.localize)("debugger.menu.addToWatchExpressions")},when:E.CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT.raw,order:100,group:"z_commands"}),A.registerMenuItem(l.MenuId.EditorContext,{command:{id:h.DEBUG_COMMANDS.ADD_TO_WATCH_ID.id,label:(0,o.localize)("debugger.menu.addToWatchExpressions")},when:(S=a.ContextKeyExpr.and(g.EditorContextKeys.hasNonEmptySelection,g.EditorContextKeys.editorTextFocus))===null||S===void 0?void 0:S.keys().reduce((D,I)=>D+" && "+I,E.CONTEXT_IN_DEBUG_MODE.raw),group:"debug",order:1}),A.registerMenuItem(l.MenuId.DebugVariablesContext,{command:{id:h.DEBUG_COMMANDS.VIEW_MEMORY_ID.id,label:(0,o.localize)("debug.variables.view.memory")},iconClass:"",when:`${E.CONTEXT_CAN_VIEW_MEMORY.equalsTo(!0)} && ${E.CONTEXT_IN_DEBUG_MODE.equalsTo(!0)}`,type:"icon"})}};t.VariablesPanelContribution=y,n.__decorate([(0,r.Autowired)(o.IQuickInputService),n.__metadata("design:type",Object)],y.prototype,"quickInputService",void 0),n.__decorate([(0,r.Autowired)(d.DebugVariablesModelService),n.__metadata("design:type",d.DebugVariablesModelService)],y.prototype,"debugVariablesModelService",void 0),n.__decorate([(0,r.Autowired)(f.DebugWatchModelService),n.__metadata("design:type",f.DebugWatchModelService)],y.prototype,"debugWatchModelService",void 0),n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],y.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(s.IMessageService),n.__metadata("design:type",Object)],y.prototype,"messageService",void 0),n.__decorate([(0,r.Autowired)(o.IReporterService),n.__metadata("design:type",Object)],y.prototype,"reporterService",void 0),n.__decorate([(0,r.Autowired)(_.CommandService),n.__metadata("design:type",Object)],y.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(c.DebugViewModel),n.__metadata("design:type",c.DebugViewModel)],y.prototype,"viewModel",void 0),n.__decorate([(0,r.Autowired)(m.IFileServiceClient),n.__metadata("design:type",p.FileServiceClient)],y.prototype,"fileSystem",void 0),n.__decorate([(0,r.Autowired)(u.DebugMemoryFileSystemProvider),n.__metadata("design:type",u.DebugMemoryFileSystemProvider)],y.prototype,"debugMemoryFileSystemProvider",void 0),t.VariablesPanelContribution=y=n.__decorate([(0,o.Domain)(o.ClientAppContribution,v.BrowserEditorContribution,l.MenuContribution,o.CommandContribution)],y)},28875:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEBUG_VARIABLE_TREE_NODE_HEIGHT=t.DebugVariableRenderedNode=t.DebugVariableView=t.DEBUG_VARIABLE_TREE_FIELD_NAME=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),_=e(41869),v=e(98650),m=e(30865),p=n.__importDefault(e(57259));t.DEBUG_VARIABLE_TREE_FIELD_NAME="DEBUG_VARIABLE_TREE_FIELD";const s=({viewState:a})=>{const h=(0,_.useInjectable)(m.DebugVariablesModelService),u=o.default.useRef(null),[c,E]=o.default.useState(),f=22,{width:d,height:y}=a;o.default.useEffect(()=>{const M=h.onDidUpdateTreeModel(async O=>{E(O)});return()=>{M.dispose(),h.removeNodeDecoration(),E(void 0)}},[]);const b=M=>{h.handleTreeHandler({...M,hasDirectFocus:()=>u.current===document.activeElement})},A=(M,O,x)=>{M.stopPropagation();const{handleTwistierClick:k}=h;O&&k(O,x)},S=(M,O)=>{const{handleContextMenu:x}=h;x(M,O)},D=M=>{const{handleContextMenu:O}=h;O(M)},I=M=>{const{enactiveNodeDecoration:O}=h;O()},w=M=>{const{enactiveNodeDecoration:O}=h;O()},T=o.default.useCallback(M=>{const O=h.decorations.getDecorations(M.item);return o.default.createElement(t.DebugVariableRenderedNode,{item:M.item,itemType:M.itemType,decorations:O,onClick:A,onTwistierClick:A,onContextMenu:S,defaultLeftPadding:0,leftPadding:8})},[c]),R=()=>c?o.default.createElement(l.RecycleTree,{height:y,width:d,itemHeight:f,onReady:b,model:c,placeholder:()=>o.default.createElement("span",null),overflow:"auto"},T):o.default.createElement("span",null);return o.default.createElement("div",{className:p.default.debug_variables_container,tabIndex:-1,ref:u,onContextMenu:D,onClick:I,onBlur:w,"data-name":t.DEBUG_VARIABLE_TREE_FIELD_NAME},R())};t.DebugVariableView=s;const g=({item:a,decorations:h,defaultLeftPadding:u,leftPadding:c,onClick:E,onTwistierClick:f,onContextMenu:d,itemType:y})=>{const b=(0,_.useDesignStyles)(p.default.expansion_toggle,"expansion_toggle"),A=k=>{E(k,a,l.CompositeTreeNode.is(a)?l.TreeNodeType.CompositeTreeNode:l.TreeNodeType.TreeNode)},S=k=>{k.nativeEvent.which!==0&&(y===l.TreeNodeType.TreeNode||y===l.TreeNodeType.CompositeTreeNode)&&d&&d(k,a,y)},D=`${(u||8)+(a.depth||0)*(c||0)+(v.ExpressionContainer.is(a)?0:18)}px`,I={height:t.DEBUG_VARIABLE_TREE_NODE_HEIGHT,lineHeight:`${t.DEBUG_VARIABLE_TREE_NODE_HEIGHT}px`,paddingLeft:D},w=k=>o.default.createElement("div",{className:(0,r.default)(p.default.debug_variables_node_segment,p.default.debug_variables_node_displayname,p.default.debug_variables_variable,k.description?p.default.name:"")},k.displayName,k.value?":":""),T=k=>{const F=/^true|false$/i,L=/^(['"]).*\1$/,{description:N=""}=k,U=N!=="undefined"?N.replace("function","\u0192 "):"",W=[p.default.debug_variables_variable];return a.variableType==="number"||a.variableType==="boolean"||a.variableType==="string"?W.push(p.default[a.variableType]):isNaN(+U)?F.test(U)?W.push(p.default.boolean):L.test(U)&&W.push(p.default.string):W.push(p.default.number),o.default.createElement("div",{className:(0,r.default)(p.default.debug_variables_node_segment_grow,p.default.debug_variables_node_description,...W)},U)},R=()=>o.default.createElement("div",{className:(0,r.default)(p.default.debug_variables_node_segment,p.default.debug_variables_node_tail)},M()),M=()=>o.default.createElement("div",{className:p.default.debug_variables_node_status},a.badge),O=(k,F)=>{const L=N=>{F(N,k,y)};return h&&h?.classlist.indexOf(p.default.mod_loading)>-1?o.default.createElement("div",{className:(0,r.default)(p.default.debug_variables_node_segment,b)},o.default.createElement(l.Loading,null)):o.default.createElement("div",{onClick:L,className:(0,r.default)(p.default.debug_variables_node_segment,b,(0,_.getIcon)("right"),{[`${p.default.mod_collapsed}`]:!k.expanded})})},x=k=>{if(l.CompositeTreeNode.is(k))return O(k,f)};return o.default.createElement("div",{key:a.id,onClick:A,onContextMenu:S,title:a.description||"",className:(0,r.default)(p.default.debug_variables_node,h?h.classlist:null),style:I,"data-id":a.id},o.default.createElement("div",{className:(0,r.default)(p.default.debug_variables_node_content)},x(a),o.default.createElement("div",{className:p.default.debug_variables_node_overflow_wrap},w(a),T(a)),R()))};t.DebugVariableRenderedNode=g,t.DEBUG_VARIABLE_TREE_NODE_HEIGHT=22},85454:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DebugWatchModel=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(98650);let m=n=class extends l.TreeModel{constructor(s){super(),this.flushDispatchChangeDelayer=new _.ThrottledDelayer(n.DEFAULT_FLUSH_DELAY),this.init(s)}init(s){this.root=s,this.root.watcher.on(l.TreeNodeEvent.BranchDidUpdate,()=>{this.flushDispatchChangeDelayer.isTriggered()||this.flushDispatchChangeDelayer.cancel(),this.flushDispatchChangeDelayer.trigger(async()=>{this.dispatchChange()})})}};t.DebugWatchModel=m,m.DEFAULT_FLUSH_DELAY=100,t.DebugWatchModel=m=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[v.ExpressionContainer])],m)},95033:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DebugWatchModelService=void 0;const r=e(85608),o=e(76003),l=e(97267),_=e(41869),v=e(93899),m=e(38029),p=e(50755),s=e(98650),g=e(32756),a=e(4983),h=e(26296),u=e(85454),c=r.__importDefault(e(21315)),{Path:E}=_.path;let f=n=class{constructor(){this._changeEventDispatchQueue=[],this.selectedDecoration=new l.Decoration(c.default.mod_selected),this.focusedDecoration=new l.Decoration(c.default.mod_focused),this.contextMenuDecoration=new l.Decoration(c.default.mod_actived),this.loadingDecoration=new l.Decoration(c.default.mod_loading),this._selectedNodes=[],this.onDidRefreshedEmitter=new _.Emitter,this.onDidUpdateTreeModelEmitter=new _.Emitter,this.flushDispatchChangeDelayer=new _.ThrottledDelayer(n.DEFAULT_TRIGGER_DELAY),this.disposableCollection=new _.DisposableCollection,this.loadedDeferred=new _.Deferred,this.activeNodeDecoration=(y,b=!0)=>{var A;if(a.CONTEXT_WATCH_EXPRESSIONS_FOCUSED.bind(this.contextKeyService),this.contextMenuNode&&(this.focusedDecoration.removeTarget(this.contextMenuNode),this.selectedDecoration.removeTarget(this.contextMenuNode),this._contextMenuNode=void 0),y){if(this.selectedNodes.length>0)for(const S of this.selectedDecoration.appliedTargets.keys())this.selectedDecoration.removeTarget(S);this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode),this.selectedDecoration.addTarget(y),this.focusedDecoration.addTarget(y),this._focusedNode=y,this._selectedNodes=[y],b&&((A=this.treeModel)===null||A===void 0||A.dispatchChange())}},this.activeNodeActivedDecoration=y=>{var b;this.contextMenuNode&&this.contextMenuDecoration.removeTarget(this.contextMenuNode),this.focusedNode&&(this.focusedDecoration.removeTarget(this.focusedNode),this._focusedNode=void 0),this.contextMenuDecoration.addTarget(y),this._contextMenuNode=y,(b=this.treeModel)===null||b===void 0||b.dispatchChange()},this.enactiveNodeDecoration=()=>{var y;a.CONTEXT_WATCH_EXPRESSIONS_FOCUSED.bind(this.contextKeyService).set(!1),this.focusedNode&&(this.focusedDecoration.removeTarget(this.focusedNode),this._focusedNode=void 0),this.contextMenuNode&&this.contextMenuDecoration.removeTarget(this.contextMenuNode),(y=this.treeModel)===null||y===void 0||y.dispatchChange()},this.handleContextMenu=(y,b)=>{var A;y.stopPropagation(),y.preventDefault();const{x:S,y:D}=y.nativeEvent;b?this.activeNodeActivedDecoration(b):this.enactiveNodeDecoration();let I;b?I=b:I=(A=this.treeModel)===null||A===void 0?void 0:A.root,this.watchItemType.set(I instanceof s.DebugWatchNode?"expression":I instanceof s.DebugVariable||I instanceof s.DebugVariableContainer?"variable":void 0);const w=this.contextMenuService.createMenu({id:v.MenuId.DebugWatchContext,contextKeyService:this.contextMenuContextKeyService}),T=w.getMergedMenuNodes();w.dispose(),this.ctxMenuRenderer.show({anchor:{x:S,y:D},menuNodes:T,args:[I]})},this.handleTreeBlur=()=>{this.enactiveNodeDecoration()},this.handleItemClick=y=>{this.activeNodeDecoration(y)},this.handleTwistierClick=(y,b)=>{if(b===l.TreeNodeType.CompositeTreeNode){if(s.DebugWatchNode.is(y)&&y.available){this.activeNodeDecoration(y,!1),this.toggleDirectory(y);return}else if(y.variablesReference){this.activeNodeDecoration(y,!1),this.toggleDirectory(y);return}}this.activeNodeDecoration(y)},this.toggleDirectory=async y=>{y.expanded?this.treeHandle.collapseNode(y):this.treeHandle.expandNode(y)},this.proxyPrompt=y=>{let b=!1;const A=async S=>{if(!b){if(b=!0,S){if(y instanceof l.NewPromptHandle){const D=y.parent;if(y.addAddonAfter("loading_indicator"),D.session)this.addWatchExpression(S);else{const I=new s.DebugWatchNode(D.session,S,D);this.dispatchWatchEvent(D.path,{type:l.WatchEvent.Added,node:I,id:D.id}),this.debugWatch.addWatchExpression(S)}}else if(y instanceof l.RenamePromptHandle){const D=y.target,I=D.parent;if(y.addAddonAfter("loading_indicator"),I.session)this.debugWatch.renameWatchExpression(D.name,S),this.initTreeModel();else{const w=new E(D.path).dir.join(S).toString();this.dispatchWatchEvent(I.path,{type:l.WatchEvent.Moved,oldPath:D.path,newPath:w}),this.debugWatch.renameWatchExpression(D.name,S)}}}return!0}};y.destroyed||(y.onCommit(A),y.onBlur(A))},this.flushEventQueue=()=>{let y;if(!this._changeEventDispatchQueue||this._changeEventDispatchQueue.length===0)return;this._changeEventDispatchQueue.sort((A,S)=>{const D=E.pathDepth(A),I=E.pathDepth(S);return D-I});const b=[this._changeEventDispatchQueue[0]];for(const A of this._changeEventDispatchQueue)b.some(S=>A.indexOf(S)===0)||b.push(A);return y=(0,_.pSeries)(b.map(A=>async()=>{var S,D;const I=(D=(S=this.treeModel)===null||S===void 0?void 0:S.root)===null||D===void 0?void 0:D.watchEvents.get(A);return I&&typeof I.callback=="function"&&await I.callback({type:l.WatchEvent.Changed,path:A}),null})),this._changeEventDispatchQueue=[],y},this.debugWatch=new p.DebugWatch(this.manager,this.reporterService),this.init(),this.watchItemType=a.CONTEXT_WATCH_ITEM_TYPE.bind(this.contextKeyService)}get flushEventQueuePromise(){return this.flushEventQueueDeferred&&this.flushEventQueueDeferred.promise}get contextMenuContextKeyService(){return this._contextMenuContextKeyService||(this._contextMenuContextKeyService=this.contextKeyService.createScoped()),this._contextMenuContextKeyService}get treeHandle(){return this._debugWatchTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._activeTreeModel}get focusedNode(){return this._focusedNode}get selectedNodes(){return this._selectedNodes}get contextMenuNode(){return this._contextMenuNode}get onDidUpdateTreeModel(){return this.onDidUpdateTreeModelEmitter.event}get onDidRefreshed(){return this.onDidRefreshedEmitter.event}dispose(){this.disposableCollection.disposed||this.disposableCollection.dispose()}async save(y=[]){await(await this.storageProvider(_.STORAGE_NAMESPACE.DEBUG)).set(n.DEBUG_WATCHER_EXPRESSIONS_STORAGE_KEY,y)}async load(){const b=await(await this.storageProvider(_.STORAGE_NAMESPACE.DEBUG)).get(n.DEBUG_WATCHER_EXPRESSIONS_STORAGE_KEY,[]);await this.debugWatch.updateWatchExpressions(b),this.loadedDeferred.resolve()}async init(){await this.loadedDeferred.promise,this.initTreeModel(),this.listenDebugWatchChange()}listenDebugWatchChange(){this.debugWatch.onDidChange(async()=>{this.flushDispatchChangeDelayer.isTriggered()||this.flushDispatchChangeDelayer.cancel(),this.flushDispatchChangeDelayer.trigger(async()=>{this.initTreeModel()})}),this.debugWatch.onDidVariableChange(async()=>{this.refresh()}),this.debugWatch.onDidExpressionChange(y=>{this.save(y)})}listenTreeViewChange(){this.dispose(),this.treeModel&&(this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.WillResolveChildren,y=>{this.loadingDecoration.addTarget(y)})),this.disposableCollection.push(this.treeModel.root.watcher.on(l.TreeNodeEvent.DidResolveChildren,y=>{this.loadingDecoration.removeTarget(y)})))}async initTreeModel(){const y=await this.debugWatch.getRoot();if(y)return this._activeTreeModel=this.injector.get(u.DebugWatchModel,[y]),this.initDecorations(y),this.listenTreeViewChange(),this.onDidUpdateTreeModelEmitter.fire(this._activeTreeModel),this._activeTreeModel}initDecorations(y){this._decorations=new l.DecorationsManager(y),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations.addDecoration(this.contextMenuDecoration),this._decorations.addDecoration(this.loadingDecoration)}removeNodeDecoration(){this.decorations&&(this.decorations.removeDecoration(this.selectedDecoration),this.decorations.removeDecoration(this.focusedDecoration),this.decorations.removeDecoration(this.contextMenuDecoration),this.decorations.removeDecoration(this.loadingDecoration))}handleTreeHandler(y){this._debugWatchTreeHandle=y}async newDebugWatchNodePrompt(){this.treeModel&&this.proxyPrompt(await this.treeHandle.promptNewTreeNode(this.treeModel.root))}async renameDebugWatchNodePrompt(y){this.treeModel&&this.proxyPrompt(await this.treeHandle.promptRename(y))}removeDebugWatchNode(y){this.debugWatch.removeWatchExpression(y.name),y.session?this.initTreeModel():this.dispatchWatchEvent(y.parent.path,{type:l.WatchEvent.Removed,path:y.path})}async copyValue(y){const b=await y.getClipboardValue();b&&await this.clipboardService.writeText(b)}async clearAllExpression(){this.debugWatch.updateWatchExpressions([]),await this.initTreeModel(),this.save()}addWatchExpression(y){this.debugWatch.addWatchExpression(y),this.initTreeModel()}dispatchWatchEvent(y,b){var A;const S=(A=this.treeModel)===null||A===void 0?void 0:A.root.watchEvents.get(y);S&&S.callback&&S.callback(b)}collapsedAll(){var y;(y=this.treeModel)===null||y===void 0||y.root.collapsedAll()}async refresh(y){if(!y)if(this.treeModel)y=this.treeModel.root;else return;!s.ExpressionContainer.is(y)&&y.parent&&(y=y.parent),this.queueChangeEvent(y.path,()=>{this.onDidRefreshedEmitter.fire()})}queueChangeEvent(y,b){this.flushEventQueueDeferred||(this.flushEventQueueDeferred=new _.Deferred,clearTimeout(this._eventFlushTimeout),this._eventFlushTimeout=setTimeout(async()=>{var A;await this.flushEventQueue(),(A=this.flushEventQueueDeferred)===null||A===void 0||A.resolve(),this.flushEventQueueDeferred=null,b()},n.DEFAULT_REFRESH_DELAY)),this._changeEventDispatchQueue.indexOf(y)===-1&&this._changeEventDispatchQueue.push(y)}};t.DebugWatchModelService=f,f.DEFAULT_REFRESH_DELAY=100,f.DEFAULT_TRIGGER_DELAY=200,f.DEBUG_WATCHER_EXPRESSIONS_STORAGE_KEY="watchers",r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],f.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(v.ICtxMenuRenderer),r.__metadata("design:type",v.ICtxMenuRenderer)],f.prototype,"ctxMenuRenderer",void 0),r.__decorate([(0,o.Autowired)(v.AbstractContextMenuService),r.__metadata("design:type",v.AbstractContextMenuService)],f.prototype,"contextMenuService",void 0),r.__decorate([(0,o.Autowired)(g.DebugViewModel),r.__metadata("design:type",g.DebugViewModel)],f.prototype,"viewModel",void 0),r.__decorate([(0,o.Autowired)(h.IDebugSessionManager),r.__metadata("design:type",m.DebugSessionManager)],f.prototype,"manager",void 0),r.__decorate([(0,o.Autowired)(_.IReporterService),r.__metadata("design:type",Object)],f.prototype,"reporterService",void 0),r.__decorate([(0,o.Autowired)(_.IContextKeyService),r.__metadata("design:type",Object)],f.prototype,"contextKeyService",void 0),r.__decorate([(0,o.Autowired)(_.StorageProvider),r.__metadata("design:type",Function)],f.prototype,"storageProvider",void 0),r.__decorate([(0,o.Autowired)(_.IClipboardService),r.__metadata("design:type",Object)],f.prototype,"clipboardService",void 0),t.DebugWatchModelService=f=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],f)},14600:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WatchPanelContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(64582),v=e(98650),m=e(4983),p=e(95033);let s=class{registerCommands(a){a.registerCommand(_.DEBUG_COMMANDS.ADD_WATCHER,{execute:()=>{this.debugWatchModelService.newDebugWatchNodePrompt()}}),a.registerCommand(_.DEBUG_COMMANDS.COLLAPSE_ALL_WATCHER,{execute:()=>{this.debugWatchModelService.collapsedAll()}}),a.registerCommand(_.DEBUG_COMMANDS.REMOVE_ALL_WATCHER,{execute:()=>{this.debugWatchModelService.clearAllExpression()}}),a.registerCommand(_.DEBUG_COMMANDS.REMOVE_WATCHER,{execute:h=>{h instanceof v.DebugWatchNode&&this.debugWatchModelService.removeDebugWatchNode(h);const[u]=this.debugWatchModelService.selectedNodes;u instanceof v.DebugWatchNode&&this.debugWatchModelService.removeDebugWatchNode(u)}}),a.registerCommand(_.DEBUG_COMMANDS.EDIT_WATCHER,{execute:h=>{this.debugWatchModelService.renameDebugWatchNodePrompt(h)}}),a.registerCommand(_.DEBUG_COMMANDS.COPY_WATCHER_VALUE,{execute:h=>{this.debugWatchModelService.copyValue(h)}})}registerToolbarItems(a){a.registerItem({id:_.DEBUG_COMMANDS.REMOVE_ALL_WATCHER.id,command:_.DEBUG_COMMANDS.REMOVE_ALL_WATCHER.id,iconClass:(0,o.getIcon)("close-all"),viewId:_.DEBUG_WATCH_ID,tooltip:(0,o.localize)("debug.watch.removeAll")}),a.registerItem({id:_.DEBUG_COMMANDS.COLLAPSE_ALL_WATCHER.id,iconClass:(0,o.getIcon)("collapse-all"),command:_.DEBUG_COMMANDS.COLLAPSE_ALL_WATCHER.id,viewId:_.DEBUG_WATCH_ID,tooltip:(0,o.localize)("debug.watch.collapseAll"),when:m.CONTEXT_IN_DEBUG_MODE.raw}),a.registerItem({id:_.DEBUG_COMMANDS.ADD_WATCHER.id,iconClass:(0,o.getIcon)("plus"),command:_.DEBUG_COMMANDS.ADD_WATCHER.id,viewId:_.DEBUG_WATCH_ID,tooltip:(0,o.localize)("debug.watch.add"),when:m.CONTEXT_IN_DEBUG_MODE.raw})}registerMenus(a){a.registerMenuItem(l.MenuId.DebugWatchContext,{command:{id:_.DEBUG_COMMANDS.ADD_WATCHER.id,label:(0,o.localize)("debug.watch.add")},order:10,group:"3_modification"}),a.registerMenuItem(l.MenuId.DebugWatchContext,{command:{id:_.DEBUG_COMMANDS.EDIT_WATCHER.id,label:(0,o.localize)("debug.watch.edit")},when:m.CONTEXT_WATCH_ITEM_TYPE.equalsTo("expression"),order:20,group:"3_modification"}),a.registerMenuItem(l.MenuId.DebugWatchContext,{command:{id:_.DEBUG_COMMANDS.COPY_WATCHER_VALUE.id,label:(0,o.localize)("debug.watch.copyValue")},when:`${m.CONTEXT_WATCH_ITEM_TYPE.equalsTo("expression")} || ${m.CONTEXT_WATCH_ITEM_TYPE.equalsTo("variable")} && ${m.CONTEXT_IN_DEBUG_MODE.raw}`,order:30,enabledWhen:m.CONTEXT_IN_DEBUG_MODE.raw,group:"3_modification"}),a.registerMenuItem(l.MenuId.DebugWatchContext,{command:{id:_.DEBUG_COMMANDS.REMOVE_WATCHER.id,label:(0,o.localize)("debug.watch.remove")},when:m.CONTEXT_WATCH_ITEM_TYPE.equalsTo("expression"),order:10,group:"z_commands"}),a.registerMenuItem(l.MenuId.DebugWatchContext,{command:{id:_.DEBUG_COMMANDS.REMOVE_ALL_WATCHER.id,label:(0,o.localize)("debug.watch.removeAll")},order:20,group:"z_commands"})}registerKeybindings(a){a.registerKeybinding({command:_.DEBUG_COMMANDS.REMOVE_WATCHER.id,keybinding:"ctrlcmd+backspace",when:m.CONTEXT_WATCH_EXPRESSIONS_FOCUSED.raw})}onStart(){this.debugWatchModelService.load()}};t.WatchPanelContribution=s,n.__decorate([(0,r.Autowired)(p.DebugWatchModelService),n.__metadata("design:type",p.DebugWatchModelService)],s.prototype,"debugWatchModelService",void 0),t.WatchPanelContribution=s=n.__decorate([(0,o.Domain)(o.ClientAppContribution,l.MenuContribution,o.CommandContribution,o.TabBarToolbarContribution,o.KeybindingContribution)],s)},64611:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEBUG_WATCH_TREE_NODE_HEIGHT=t.DebugWatchRenderedNode=t.DebugWatchView=t.DEBUG_WATCH_TREE_FIELD_NAME=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),_=e(41869),v=e(98650),m=e(95033),p=n.__importDefault(e(21315));t.DEBUG_WATCH_TREE_FIELD_NAME="DEBUG_WATCH_TREE_FIELD";const s=({viewState:a})=>{const h=(0,_.useInjectable)(m.DebugWatchModelService),u=22,c=o.default.useRef(null),[E,f]=o.default.useState(),{height:d}=a;o.default.useEffect(()=>y(),[]);const y=()=>{const M=h.treeModel;let O=!0;const x=new _.DisposableCollection;return x.push(_.Disposable.create(()=>{O=!1})),M&&M.ensureReady.then(()=>{O&&f(M)}),x.push(h.onDidUpdateTreeModel(async k=>{k&&await k.ensureReady,O&&f(k)})),()=>{h.removeNodeDecoration(),x.dispose()}},b=M=>{h.handleTreeHandler({...M,getModel:()=>E,hasDirectFocus:()=>c.current===document.activeElement})},A=(M,O,x)=>{M.stopPropagation();const{handleTwistierClick:k}=h;O&&k(O,x)},S=(M,O)=>{const{handleContextMenu:x}=h;x(M,O)},D=M=>{const{handleContextMenu:O}=h;O(M)},I=M=>{const{enactiveNodeDecoration:O}=h;O()},w=M=>{const{enactiveNodeDecoration:O}=h;O()},T=o.default.useCallback(M=>{const O=h.decorations.getDecorations(M.item);return o.default.createElement(t.DebugWatchRenderedNode,{item:M.item,itemType:M.itemType,decorations:O,onClick:A,onTwistierClick:A,onContextMenu:S,defaultLeftPadding:12,leftPadding:8})},[E]),R=()=>E?o.default.createElement(l.RecycleTree,{height:d,itemHeight:u,onReady:b,model:E,placeholder:()=>o.default.createElement("span",null)},T):o.default.createElement("span",null);return o.default.createElement("div",{className:p.default.debug_watch_container,tabIndex:-1,ref:c,onContextMenu:D,onClick:I,onBlur:w,"data-name":t.DEBUG_WATCH_TREE_FIELD_NAME},R())};t.DebugWatchView=s;const g=({item:a,decorations:h,defaultLeftPadding:u,leftPadding:c,onClick:E,onTwistierClick:f,onContextMenu:d,itemType:y})=>{const b=(0,_.useDesignStyles)(p.default.expansion_toggle,"expansion_toggle"),A=y===l.TreeNodeType.RenamePrompt,S=y===l.TreeNodeType.NewPrompt,D=A||S,I=N=>{const U=a.getRawWatch();U&&E(N,a,U.variablesReference>0?l.TreeNodeType.CompositeTreeNode:l.TreeNodeType.TreeNode)},w=N=>{N.nativeEvent.which!==0&&(y===l.TreeNodeType.TreeNode||y===l.TreeNodeType.CompositeTreeNode)&&d&&d(N,a,y)},T={height:t.DEBUG_WATCH_TREE_NODE_HEIGHT,lineHeight:`${t.DEBUG_WATCH_TREE_NODE_HEIGHT}px`,paddingLeft:`${(u||8)+(a.depth||0)*(c||0)}px`},R=N=>D&&N instanceof l.PromptHandle?o.default.createElement("div",{className:(0,r.default)(p.default.debug_watch_node_segment,p.default.debug_watch_node_inputbox)},o.default.createElement("div",{className:(0,r.default)("input-box",p.default.debug_watch_node_prompt_box)},o.default.createElement(N.ProxiedInput,{wrapperStyle:{height:t.DEBUG_WATCH_TREE_NODE_HEIGHT,padding:"0 5px"}}))):o.default.createElement("div",{className:(0,r.default)(p.default.debug_watch_node_segment,p.default.debug_watch_node_displayname,p.default.debug_watch_variable,N.description?p.default.name:"")},N.name,N.description?":":""),M=N=>{const U=/^true|false$/i,W=/^(['"]).*\1$/,j=N.description?N.description.replace("function","\u0192 "):"",Q=[p.default.debug_watch_variable];return D?null:(a.variableType==="number"||a.variableType==="boolean"||a.variableType==="string"?Q.push(p.default[a.variableType]):isNaN(+j)?U.test(j)?Q.push(p.default.boolean):W.test(j)&&Q.push(p.default.string):Q.push(p.default.number),o.default.createElement("div",{className:(0,r.default)(p.default.debug_watch_node_segment_grow,p.default.debug_watch_node_description,...Q)},j))},O=()=>o.default.createElement("div",{className:(0,r.default)(p.default.debug_watch_node_segment,p.default.debug_watch_node_tail)},x()),x=()=>o.default.createElement("div",{className:p.default.debug_watch_node_status},a.badge),k=()=>a.tooltip,F=(N,U)=>{const W=j=>{U(j,N,y)};return h&&h?.classlist.indexOf(p.default.mod_loading)>-1?o.default.createElement("div",{className:(0,r.default)(p.default.debug_watch_node_segment,b)},o.default.createElement(l.Loading,null)):o.default.createElement("div",{onClick:W,className:(0,r.default)(p.default.debug_watch_node_segment,b,(0,_.getIcon)("right"),{[`${p.default.mod_collapsed}`]:!N.expanded})})},L=N=>{if(v.DebugWatchNode.is(N)){if(N.available&&N.variablesReference)return F(N,f)}else if(v.ExpressionContainer.is(N)&&N.variablesReference)return F(N,f)};return o.default.createElement("div",{key:a.id,onClick:I,onContextMenu:w,title:k(),className:(0,r.default)(p.default.debug_watch_node,h?h.classlist:null),style:T,"data-id":a.id},o.default.createElement("div",{className:(0,r.default)(p.default.debug_watch_node_content)},L(a),o.default.createElement("div",{style:{height:t.DEBUG_WATCH_TREE_NODE_HEIGHT},className:D?p.default.debug_watch_node_prompt_wrap:p.default.debug_watch_node_overflow_wrap},R(a),M(a)),O()))};t.DebugWatchRenderedNode=g,t.DEBUG_WATCH_TREE_NODE_HEIGHT=22},46118:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEBUG_COMMANDS=void 0;var e;(function(n){n.ADD_WATCHER={id:"debug.watch.add"},n.COLLAPSE_ALL_WATCHER={id:"debug.watch.collapseAll"},n.REMOVE_ALL_WATCHER={id:"debug.watch.removeAll"},n.REMOVE_WATCHER={id:"debug.watch.remove"},n.EDIT_WATCHER={id:"debug.watch.edit"},n.COPY_WATCHER_VALUE={id:"debug.watch.copyValue"},n.REMOVE_ALL_BREAKPOINTS={id:"debug.breakpoints.remove.all"},n.TOGGLE_BREAKPOINTS={id:"debug.breakpoints.toggle"},n.ACTIVE_BREAKPOINTS={id:"debug.breakpoints.active"},n.DEACTIVE_BREAKPOINTS={id:"debug.breakpoints.deactive"},n.START={id:"debug.start"},n.NEXT={id:"debug.next"},n.PREV={id:"debug.prev"},n.OVER={id:"debug.over"},n.STOP={id:"debug.stop"},n.CONTINUE={id:"debug.continue"},n.RESTART={id:"debug.restart"},n.PAUSE={id:"debug.pause"},n.DELETE_BREAKPOINT={id:"debug.delete.breakpoint",label:"%debug.menu.delete.breakpoint%"},n.EDIT_BREAKPOINT={id:"debug.edit.breakpoint",label:"%debug.menu.edit.breakpoint%"},n.DISABLE_BREAKPOINT={id:"debug.disable.breakpoint",label:"%debug.menu.disable.breakpoint%"},n.ENABLE_BREAKPOINT={id:"debug.enable.breakpoint",label:"%debug.menu.enable.breakpoint%"},n.ENABLE_LOGPOINT={id:"debug.enable.logpoint",label:"%debug.menu.enable.logpoint"},n.ADD_BREAKPOINT={id:"debug.add.breakpoint",label:"%debug.menu.add.breakpoint%"},n.ADD_LOGPOINT={id:"debug.add.logpoint",label:"%debug.menu.add.logpoint%"},n.ADD_CONDITIONAL_BREAKPOINT={id:"debug.add.conditional",label:"%debug.menu.add.conditional%"},n.RESTART_FRAME={id:"debug.callstack.restart.frame"},n.COPY_STACK_TRACE={id:"debug.callstack.copy"},n.SET_VARIABLE_VALUE={id:"debug.variables.setValue"},n.COPY_VARIABLE_VALUE={id:"debug.variables.copy"},n.COPY_EVALUATE_PATH={id:"debug.evaluate.copy"},n.ADD_TO_WATCH_ID={id:"debug.addToWatchExpressions"},n.VIEW_MEMORY_ID={id:"debug.variables.view.memory"},n.CLEAR_CONSOLE={id:"debug.console.clear",label:"%debug.console.clear%"},n.COPY_CONSOLE_ITEM={id:"debug.console.copy"},n.COPY_CONSOLE_ALL={id:"debug.console.copyALl"},n.COLLAPSE_ALL_CONSOLE_ITEM={id:"debug.console.collapseAll",label:"%debug.console.collapseAll%"},n.CONSOLE_ENTER_EVALUATE={id:"debug.console.keybing.enter.evaluate"},n.CONSOLE_INPUT_DOWN_ARROW={id:"debug.console.input.down.arrow"},n.CONSOLE_INPUT_UP_ARROW={id:"debug.console.input.up.arrow"},n.CONSOLE_FILTER_FOCUS={id:"debug.console.filter.input.focus"},n.RUN_TO_CURSOR={id:"debug.action.runToCursor",label:"%debug.action.runToCursor%"},n.FORCE_RUN_TO_CURSOR={id:"debug.action.forceRunToCursor",label:"%debug.action.forceRunToCursor%"},n.EXCEPTION_WIDGET_CLOSE={id:"debug.action.closeExceptionWidget"},n.SHOW_ALL_AUTOMATIC_DEBUG_CONFIGURATIONS={id:"debug.showAllAutomaticDebugConfigurations"}})(e||(t.DEBUG_COMMANDS=e={}))},4983:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CONTEXT_DEBUGGERS_AVAILABLE=t.CONTEXT_BREAKPOINTS_EXIST=t.CONTEXT_STEP_INTO_TARGETS_SUPPORTED=t.CONTEXT_JUMP_TO_CURSOR_SUPPORTED=t.CONTEXT_STACK_FRAME_SUPPORTS_RESTART=t.CONTEXT_RESTART_FRAME_SUPPORTED=t.CONTEXT_STEP_BACK_SUPPORTED=t.CONTEXT_FOCUSED_SESSION_IS_ATTACH=t.CONTEXT_LOADED_SCRIPTS_ITEM_TYPE=t.CONTEXT_LOADED_SCRIPTS_SUPPORTED=t.CONTEXT_BREAKPOINT_SUPPORTS_CONDITION=t.CONTEXT_BREAKPOINT_ACCESS_TYPE=t.CONTEXT_BREAKPOINT_ITEM_TYPE=t.CONTEXT_WATCH_ITEM_TYPE=t.CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD=t.CONTEXT_CALLSTACK_ITEM_STOPPED=t.CONTEXT_CALLSTACK_SESSION_IS_ATTACH=t.CONTEXT_CALLSTACK_ITEM_TYPE=t.CONTEXT_BREAKPOINT_INPUT_FOCUSED=t.CONTEXT_EXPRESSION_SELECTED=t.CONTEXT_VARIABLES_FOCUSED=t.CONTEXT_WATCH_EXPRESSIONS_EXIST=t.CONTEXT_WATCH_EXPRESSIONS_FOCUSED=t.CONTEXT_BREAKPOINTS_FOCUSED=t.CONTEXT_IN_BREAKPOINT_WIDGET=t.CONTEXT_BREAKPOINT_WIDGET_VISIBLE=t.CONTEXT_IN_DEBUG_CONSOLE=t.CONTEXT_IN_DEBUG_REPL=t.CONTEXT_IN_DEBUG_MODE=t.CONTEXT_DEBUG_UX=t.CONTEXT_DEBUG_UX_KEY=t.CONTEXT_DEBUG_STATE=t.CONTEXT_DEBUG_CONFIGURATION_TYPE=t.CONTEXT_DEBUG_TYPE=t.CONTEXT_DEBUG_TYPE_KEY=t.CONTEXT_IN_DEBUG_MODE_KEY=t.CONTEXT_DEBUG_STOPPED_KEY=t.DEBUG_SCHEME=t.DEBUG_FLOATING_CLICK_WIDGET=t.DEBUG_STACK_ID=t.DEBUG_WELCOME_ID=t.DEBUG_BREAKPOINTS_ID=t.DEBUG_VARIABLES_ID=t.DEBUG_THREAD_ID=t.DEBUG_WATCH_ID=t.DEBUG_MEMORY_SCHEME=t.LAUNCH_VIEW_COMPONENT_ID=t.LAUNCH_VIEW_SCHEME=t.DEBUG_CONTAINER_ID=t.DEBUG_CONSOLE_CONTAINER_ID=void 0,t.CONTEXT_ACTIVE_BREAKPOINTS=t.CONTEXT_CAN_VIEW_MEMORY=t.CONTEXT_MULTI_SESSION_DEBUG=t.CONTEXT_MULTI_SESSION_REPL=t.CONTEXT_EXCEPTION_WIDGET_VISIBLE=t.CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT=t.CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED=t.CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED=t.CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED=t.CONTEXT_SET_VARIABLE_SUPPORTED=t.CONTEXT_DEBUG_PROTOCOL_VARIABLE_MENU_CONTEXT=void 0;const n=e(30144);Object.defineProperty(t,"DEBUG_CONSOLE_CONTAINER_ID",{enumerable:!0,get:function(){return n.DEBUG_CONSOLE_CONTAINER_ID}}),Object.defineProperty(t,"DEBUG_CONTAINER_ID",{enumerable:!0,get:function(){return n.DEBUG_CONTAINER_ID}});const r=e(40191);t.LAUNCH_VIEW_SCHEME="launch_view_scheme",t.LAUNCH_VIEW_COMPONENT_ID="launch-view",t.DEBUG_MEMORY_SCHEME="vscode-debug-memory",t.DEBUG_WATCH_ID="debug-watch",t.DEBUG_THREAD_ID="debug-thread",t.DEBUG_VARIABLES_ID="debug-variable",t.DEBUG_BREAKPOINTS_ID="debug-breakpoints",t.DEBUG_WELCOME_ID="debug-welcome",t.DEBUG_STACK_ID="debug-stack",t.DEBUG_FLOATING_CLICK_WIDGET="debug.overlayWidget.floatingClickWidget",t.DEBUG_SCHEME="debug",t.CONTEXT_DEBUG_STOPPED_KEY="debugStopped",t.CONTEXT_IN_DEBUG_MODE_KEY="inDebugMode",t.CONTEXT_DEBUG_TYPE_KEY="debugType",t.CONTEXT_DEBUG_TYPE=new r.RawContextKey("debugType",void 0),t.CONTEXT_DEBUG_CONFIGURATION_TYPE=new r.RawContextKey("debugConfigurationType",void 0),t.CONTEXT_DEBUG_STATE=new r.RawContextKey("debugState","Inactive"),t.CONTEXT_DEBUG_UX_KEY="debugUx",t.CONTEXT_DEBUG_UX=new r.RawContextKey(t.CONTEXT_DEBUG_UX_KEY,"default"),t.CONTEXT_IN_DEBUG_MODE=new r.RawContextKey("inDebugMode",!1),t.CONTEXT_IN_DEBUG_REPL=new r.RawContextKey("inDebugRepl",!1),t.CONTEXT_IN_DEBUG_CONSOLE=new r.RawContextKey("inDebugConsole",!1),t.CONTEXT_BREAKPOINT_WIDGET_VISIBLE=new r.RawContextKey("breakpointWidgetVisible",!1),t.CONTEXT_IN_BREAKPOINT_WIDGET=new r.RawContextKey("inBreakpointWidget",!1),t.CONTEXT_BREAKPOINTS_FOCUSED=new r.RawContextKey("breakpointsFocused",!0),t.CONTEXT_WATCH_EXPRESSIONS_FOCUSED=new r.RawContextKey("watchExpressionsFocused",!0),t.CONTEXT_WATCH_EXPRESSIONS_EXIST=new r.RawContextKey("watchExpressionsExist",!1),t.CONTEXT_VARIABLES_FOCUSED=new r.RawContextKey("variablesFocused",!0),t.CONTEXT_EXPRESSION_SELECTED=new r.RawContextKey("expressionSelected",!1),t.CONTEXT_BREAKPOINT_INPUT_FOCUSED=new r.RawContextKey("breakpointInputFocused",!1),t.CONTEXT_CALLSTACK_ITEM_TYPE=new r.RawContextKey("callStackItemType",void 0),t.CONTEXT_CALLSTACK_SESSION_IS_ATTACH=new r.RawContextKey("callStackSessionIsAttach",!1),t.CONTEXT_CALLSTACK_ITEM_STOPPED=new r.RawContextKey("callStackItemStopped",!1),t.CONTEXT_CALLSTACK_SESSION_HAS_ONE_THREAD=new r.RawContextKey("callStackSessionHasOneThread",!1),t.CONTEXT_WATCH_ITEM_TYPE=new r.RawContextKey("watchItemType",void 0),t.CONTEXT_BREAKPOINT_ITEM_TYPE=new r.RawContextKey("breakpointItemType",void 0),t.CONTEXT_BREAKPOINT_ACCESS_TYPE=new r.RawContextKey("breakpointAccessType",void 0),t.CONTEXT_BREAKPOINT_SUPPORTS_CONDITION=new r.RawContextKey("breakpointSupportsCondition",!1),t.CONTEXT_LOADED_SCRIPTS_SUPPORTED=new r.RawContextKey("loadedScriptsSupported",!1),t.CONTEXT_LOADED_SCRIPTS_ITEM_TYPE=new r.RawContextKey("loadedScriptsItemType",void 0),t.CONTEXT_FOCUSED_SESSION_IS_ATTACH=new r.RawContextKey("focusedSessionIsAttach",!1),t.CONTEXT_STEP_BACK_SUPPORTED=new r.RawContextKey("stepBackSupported",!1),t.CONTEXT_RESTART_FRAME_SUPPORTED=new r.RawContextKey("restartFrameSupported",!1),t.CONTEXT_STACK_FRAME_SUPPORTS_RESTART=new r.RawContextKey("stackFrameSupportsRestart",!1),t.CONTEXT_JUMP_TO_CURSOR_SUPPORTED=new r.RawContextKey("jumpToCursorSupported",!1),t.CONTEXT_STEP_INTO_TARGETS_SUPPORTED=new r.RawContextKey("stepIntoTargetsSupported",!1),t.CONTEXT_BREAKPOINTS_EXIST=new r.RawContextKey("breakpointsExist",!1),t.CONTEXT_DEBUGGERS_AVAILABLE=new r.RawContextKey("debuggersAvailable",!1),t.CONTEXT_DEBUG_PROTOCOL_VARIABLE_MENU_CONTEXT=new r.RawContextKey("debugProtocolVariableMenuContext",void 0),t.CONTEXT_SET_VARIABLE_SUPPORTED=new r.RawContextKey("debugSetVariableSupported",!1),t.CONTEXT_BREAK_WHEN_VALUE_CHANGES_SUPPORTED=new r.RawContextKey("breakWhenValueChangesSupported",!1),t.CONTEXT_BREAK_WHEN_VALUE_IS_ACCESSED_SUPPORTED=new r.RawContextKey("breakWhenValueIsAccessedSupported",!1),t.CONTEXT_BREAK_WHEN_VALUE_IS_READ_SUPPORTED=new r.RawContextKey("breakWhenValueIsReadSupported",!1),t.CONTEXT_VARIABLE_EVALUATE_NAME_PRESENT=new r.RawContextKey("variableEvaluateNamePresent",!1),t.CONTEXT_EXCEPTION_WIDGET_VISIBLE=new r.RawContextKey("exceptionWidgetVisible",!1),t.CONTEXT_MULTI_SESSION_REPL=new r.RawContextKey("multiSessionRepl",!1),t.CONTEXT_MULTI_SESSION_DEBUG=new r.RawContextKey("multiSessionDebug",!1),t.CONTEXT_CAN_VIEW_MEMORY=new r.RawContextKey("canViewMemory",void 0),t.CONTEXT_ACTIVE_BREAKPOINTS=new r.RawContextKey("activateBreakpoints",!0)},95581:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},53670:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MASSIVE_PROPERTY_FLAG=t.DEFAULT_CONFIGURATION_INDEX_SEPARATOR=t.DEFAULT_CONFIGURATION_NAME_SEPARATOR=t.DEFAULT_NO_CONFIGURATION_KEY=t.DEFAULT_DYNAMIC_CONFIGURATION_KEY=t.DEFAULT_EDIT_CONFIGURATION_KEY=t.DEFAULT_ADD_CONFIGURATION_KEY=t.DebugConfiguration=void 0;var e;(function(n){function r(o){return!!o&&typeof o=="object"&&"type"in o&&"name"in o&&"request"in o}n.is=r})(e||(t.DebugConfiguration=e={})),t.DEFAULT_ADD_CONFIGURATION_KEY="__ADD_CONF__",t.DEFAULT_EDIT_CONFIGURATION_KEY="__EDIT_CONF__",t.DEFAULT_DYNAMIC_CONFIGURATION_KEY="__DYNAMIC_CONF__",t.DEFAULT_NO_CONFIGURATION_KEY="__NO_CONF__",t.DEFAULT_CONFIGURATION_NAME_SEPARATOR="__CONF__",t.DEFAULT_CONFIGURATION_INDEX_SEPARATOR="__INDEX__",t.MASSIVE_PROPERTY_FLAG="massive_property_flag"},70049:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IDebugConsoleModelService=void 0,t.IDebugConsoleModelService=Symbol("IDebugConsoleModelService")},24395:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugEditor=void 0,t.DebugEditor=Symbol("DebugEditor")},91797:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isFrameDeemphasized=e;function e(n){var r,o;const l=(r=n.presentationHint)!==null&&r!==void 0?r:(o=n.source)===null||o===void 0?void 0:o.presentationHint;return l==="deemphasize"||l==="subtle"}},2242:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},32385:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IDebugModelManager=t.DebugModelSupportedEventType=t.MemoryRegion=t.IDebugModel=t.DebugModelFactory=t.DebugAdapterContribution=t.DebugAdapterFactory=t.DebugAdapterSessionFactory=t.DebugAdapterSession=void 0;const n=e(43718);t.DebugAdapterSession=Symbol("DebugAdapterSession"),t.DebugAdapterSessionFactory=Symbol("DebugAdapterSessionFactory"),t.DebugAdapterFactory=Symbol("DebugAdapterFactory"),t.DebugAdapterContribution=Symbol("DebugAdapterContribution"),t.DebugModelFactory=Symbol("DebugModelFactory"),t.IDebugModel=Symbol("IDebugModel");class r extends n.Disposable{constructor(_,v){super(),this.memoryReference=_,this.session=v,this.invalidateEmitter=this.registerDispose(new n.Emitter),this.onDidInvalidate=this.invalidateEmitter.event,this.writable=!!this.session.capabilities.supportsWriteMemoryRequest,this.registerDispose(v.onDidInvalidateMemory(m=>{m.body.memoryReference===_&&this.invalidate(m.body.offset,m.body.count-m.body.offset)}))}async read(_,v){var m;const p=v-_,s=_,g=await this.session.readMemory(this.memoryReference,s,p);if(g===void 0||!(!((m=g.body)===null||m===void 0)&&m.data))return[{type:1,offset:s,length:p}];let a;try{a=(0,n.decodeBase64)(g.body.data)}catch(c){return[{type:2,offset:s,length:p,error:c.message}]}const h=g.body.unreadableBytes||0,u=p-h;if(a.byteLength<u){const c=n.BinaryBuffer.alloc(u-a.byteLength);c.buffer.fill(0),a=n.BinaryBuffer.concat([a,c],u)}else a.byteLength>u&&(a=a.slice(0,u));return h?[{type:0,offset:s,length:u,data:a},{type:1,offset:s+u,length:h}]:[{type:0,offset:s,length:p,data:a}]}async write(_,v){var m,p;const s=await this.session.writeMemory(this.memoryReference,_,(0,n.encodeBase64)(v),!0),g=(p=(m=s?.body)===null||m===void 0?void 0:m.bytesWritten)!==null&&p!==void 0?p:v.byteLength;return this.invalidate(_,_+g),g}dispose(){super.dispose()}invalidate(_,v){this.invalidateEmitter.fire({fromOffset:_,toOffset:v})}}t.MemoryRegion=r;var o;(function(l){l.down="Down",l.move="Move",l.leave="Leave",l.contextMenu="contextMenu"})(o||(t.DebugModelSupportedEventType=o={})),t.IDebugModelManager=Symbol("DebugModelManager")},79845:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IDebugProgress=void 0,t.IDebugProgress=Symbol("DebugProgress")},60709:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSON_SCHEMA_TYPE=t.launchDefaultSchemaUri=t.launchExtensionSchemaUri=t.launchSchemaUri=void 0,t.launchSchemaUri="vscode://schemas/launch",t.launchExtensionSchemaUri="vscode://schemas/launch/extension",t.launchDefaultSchemaUri="vscode://schemas/launch/user";var e;(function(n){n.ARRAY="array",n.BOOLEAN="boolean",n.NULL="null",n.NUMBER="number",n.OBJECT="object",n.STRING="string"})(e||(t.JSON_SCHEMA_TYPE=e={}))},70159:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ILaunchService=t.IDebugService=t.IDebugServer=t.DebugAdapterPath=t.DebugConfigurationProviderTriggerKind=void 0;var e;(function(n){n[n.Initial=1]="Initial",n[n.Dynamic=2]="Dynamic"})(e||(t.DebugConfigurationProviderTriggerKind=e={})),t.DebugAdapterPath="DebugAdaptor",t.IDebugServer=Symbol("DebugServer"),t.IDebugService=Symbol("DebugService"),t.ILaunchService=Symbol("ILaunchService")},50883:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IDebugSessionDTO=void 0;var e;(function(n){function r(o){return"id"in o}n.is=r})(e||(t.IDebugSessionDTO=e={}))},26296:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IDebugSessionManager=t.IDebugSession=t.DebugState=void 0,t.getSequenceId=r;var e;(function(o){o[o.Inactive=0]="Inactive",o[o.Initializing=1]="Initializing",o[o.Running=2]="Running",o[o.Stopped=3]="Stopped"})(e||(t.DebugState=e={})),t.IDebugSession=Symbol("DebugSession"),t.IDebugSessionManager=Symbol("DebugSessionManager");let n=1;function r(){return n++}},64582:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(53670),t),n.__exportStar(e(70159),t),n.__exportStar(e(2242),t),n.__exportStar(e(95581),t),n.__exportStar(e(32385),t),n.__exportStar(e(26296),t),n.__exportStar(e(70049),t),n.__exportStar(e(50883),t),n.__exportStar(e(24395),t),n.__exportStar(e(79845),t),n.__exportStar(e(60709),t),n.__exportStar(e(7428),t),n.__exportStar(e(37723),t),n.__exportStar(e(4983),t),n.__exportStar(e(71120),t),n.__exportStar(e(46118),t)},7428:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},71120:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isWindowsDriveLetter=r,t.hasDriveLetter=o,t.getDriveLetter=l,t.prepareCommand=_;const n=e(43718);function r(v){return v>=65&&v<=90||v>=97&&v<=122}function o(v,m=n.isWindows){return m?r(v.charCodeAt(0))&&v.charCodeAt(1)===58:!1}function l(v){return o(v)?v[0]:void 0}function _(v,m,p,s,g){v=v.trim().toLowerCase();let a;v.indexOf("powershell")>=0||v.indexOf("pwsh")>=0?a=1:v.indexOf("cmd.exe")>=0?a=0:v.indexOf("bash")>=0?a=2:n.isWindows?a=0:a=2;let h,u=" ";switch(a){case 1:if(h=c=>(c=c.replace(/'/g,"''"),c.length>0&&c.charAt(c.length-1)==="\\"?`'${c}\\'`:`'${c}'`),s){const c=l(s);c&&(u+=`${c}:; `),u+=`cd ${h(s)}; `}if(g)for(const c in g){const E=g[c];E===null?u+=`Remove-Item env:${c}; `:u+=`\${env:${c}}='${E}'; `}if(m.length>0){const c=m.shift(),E=p?c:h(c);u+=E[0]==="'"?`& ${E} `:`${E} `;for(const f of m)u+=f==="<"||f===">"||p?f:h(f),u+=" "}break;case 0:if(h=c=>(c=c.replace(/"/g,'""'),c=c.replace(/([><!^&|])/g,"^$1"),' "'.split("").some(E=>c.includes(E))||c.length===0?`"${c}"`:c),s){const c=l(s);c&&(u+=`${c}: && `),u+=`cd ${h(s)} && `}if(g){u+='cmd /C "';for(const c in g){let E=g[c];E===null?u+=`set "${c}=" && `:(E=E.replace(/[&^|<>]/g,f=>`^${f}`),u+=`set "${c}=${E}" && `)}}for(const c of m)u+=c==="<"||c===">"||p?c:h(c),u+=" ";g&&(u+='"');break;case 2:{h=E=>(E=E.replace(/(["'\\$!><#()[\]*&^| ;{}`])/g,"\\$1"),E.length===0?'""':E);const c=E=>/[^\w@%/+=,.:^-]/.test(E)?`'${E.replace(/'/g,"'\\''")}'`:E;if(s&&(u+=`cd ${h(s)} ; `),g){u+="/usr/bin/env";for(const E in g){const f=g[E];f===null?u+=` -u ${c(E)}`:u+=` ${c(`${E}=${f}`)}`}u+=" "}for(const E of m)u+=E==="<"||E===">"||p?E:h(E),u+=" ";break}}return u}},37723:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebugConfigurationsReadyEvent=t.DEBUG_REPORT_NAME=void 0;const n=e(43718);var r;(function(l){l.DEBUG_SESSION_START_TIME="debugSessionStartTime",l.DEBUG_PRE_LAUNCH_TASK_TIME="debugPreLaunchTaskTime",l.DEBUG_TOOLBAR_OPERATION_TIME="debugToolBarOperationTime",l.DEBUG_TOOLBAR_OPERATION="debugToolBarOperation",l.DEBUG_PANEL_OPERATION_FOLDEXPR="debugPanelOperationFoldexpr",l.DEBUG_WATCH="debugWatch",l.DEBUG_VARIABLES="debugVariables",l.DEBUG_BREAKPOINT="debugBreakpoint",l.DEBUG_ADAPTER_PROTOCOL_TIME="debugAdapterProtocolTime",l.DEBUG_STOPPED="debugStopped",l.DEBUG_UI_FRONTEND_TIME="debugFrontEndTime"})(r||(t.DEBUG_REPORT_NAME=r={}));class o extends n.BasicEvent{}t.DebugConfigurationsReadyEvent=o},66482:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(64582),t)},83670:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileDecorationsService=void 0;const n=e(85608),r=e(76003),o=e(43718),{isFalsyOrWhitespace:l}=o.strings,{asArray:_}=o.arrays;class v{constructor(){this._data=o.TernarySearchTree.forPaths()}affectsResource(u){return this._data.get(u.toString())||this._data.findSuperstr(u.toString())!==void 0}static debouncer(u,c){if(u||(u=new v),Array.isArray(c))for(const E of c)u._data.set(E.toString(),!0);else u._data.set(c.toString(),!0);return u}}class m{constructor(u,c){this.source=u,this.thenable=c}}class p{constructor(u,c,E){this._provider=u,this._uriEmitter=c,this._flushEmitter=E,this.data=o.TernarySearchTree.forPaths(),this._dispoable=this._provider.onDidChange(f=>{if(!f)this.data.clear(),this._flushEmitter.fire({affectsResource(){return!0}});else for(const d of f)this._fetchData(d)})}dispose(){this._dispoable.dispose(),this.data.clear()}knowsAbout(u){return!!this.data.get(u.toString())||!!this.data.findSuperstr(u.toString())}getOrRetrieve(u,c,E){const f=u.toString();let d=this.data.get(f);if(d===void 0&&(d=this._fetchData(u)),d&&!(d instanceof m)&&E(d,!1),c){const y=this.data.findSuperstr(f);if(y)for(let b=y.next();!b.done;b=y.next())b.value&&!(b.value instanceof m)&&E(b.value,!0)}}_fetchData(u){const c=this.data.get(u.toString());c instanceof m&&(c.source.cancel(),this.data.delete(u.toString()));const E=new o.CancellationTokenSource,f=this._provider.provideDecorations(u,E.token);if((0,o.isThenable)(f)){const d=new m(E,Promise.resolve(f).then(y=>{this.data.get(u.toString())===d&&this._keepItem(u,y)}).catch(y=>{!(0,o.isPromiseCanceledError)(y)&&this.data.get(u.toString())===d&&this.data.delete(u.toString())}));return this.data.set(u.toString(),d),null}else return this._keepItem(u,f)}_keepItem(u,c){const E=c||null,f=this.data.set(u.toString(),E);return(E||f)&&this._uriEmitter.fire(u),E}}function s(h){return _(h).map(({color:c,letter:E})=>`${c}/${E}`).join(",")}function g(h){const u=_(h);if(u.length)return{key:s(h),color:u[0].color,badge:u.filter(c=>!l(c.letter)).map(c=>c.letter).join(","),tooltip:u.filter(c=>!l(c.tooltip)).map(c=>c.tooltip).join(" \u2022 ")}}let a=class extends o.Disposable{constructor(){super(...arguments),this.logger=(0,o.getDebugLogger)(),this._data=new o.LinkedList,this._onDidChangeDecorationsDelayed=new o.Emitter,this._onDidChangeDecorations=new o.Emitter,this.onDidChangeDecorations=o.Event.any(this._onDidChangeDecorations.event,o.Event.debounce(this._onDidChangeDecorationsDelayed.event,v.debouncer,void 0,void 0,500))}dispose(){(0,o.dispose)(this._onDidChangeDecorations),(0,o.dispose)(this._onDidChangeDecorationsDelayed)}registerDecorationsProvider(u){this.logger.log("DecorationService#registerDecorationsProvider",u);const c=new p(u,this._onDidChangeDecorationsDelayed,this._onDidChangeDecorations),E=this._data.push(c);return this._onDidChangeDecorations.fire({affectsResource(){return!0}}),(0,o.toDisposable)(()=>{E(),this._onDidChangeDecorations.fire({affectsResource:f=>c.knowsAbout(f)}),c.dispose()})}getDecoration(u,c){const E=[];let f=!1;for(let d=this._data.iterator(),y=d.next();!y.done;y=d.next())y.value.getOrRetrieve(u,c,(b,A)=>{(!A||b.bubble)&&(E.push(b),f=A||f)});if(E.length!==0)return this.asDecoration(E,f)}asDecoration(u,c){u.sort((f,d)=>(d.weight||0)-(f.weight||0));const E=g(u);return E&&c&&(E.badge="\u2022",E.tooltip=(0,o.localize)("bubbleTitle","Contains emphasized items")),E}};t.FileDecorationsService=a,t.FileDecorationsService=a=n.__decorate([(0,r.Injectable)()],a)},4958:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DecorationModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93364),_=e(83670);let v=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.IDecorationsService,useClass:_.FileDecorationsService}]}};t.DecorationModule=v,t.DecorationModule=v=n.__decorate([(0,r.Injectable)()],v)},93364:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IDecorationsService=void 0;const n=e(43718);class r extends n.Disposable{}t.IDecorationsService=r},87323:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(93364),t)},41893:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(87323),t)},67988:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DesignCoreContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(1149),_=e(43718),v=e(14951),m=e(2156),p=e(11090),s=e(37517);let g=class{initialize(){this.fileSystem.registerProvider(_.Schemes.design,this.designThemeFileSystemProvider),this.layoutViewSize.setEditorTabsHeight(36,l.ConfigPriority.ModuleDefined),this.layoutViewSize.setStatusBarHeight(36,l.ConfigPriority.ModuleDefined),this.layoutViewSize.setAccordionHeaderSizeHeight(36,l.ConfigPriority.ModuleDefined)}registerRenderer(h){h.registerSlotRenderer(o.SlotLocation.view,p.DesignLeftTabRenderer,{supportedActions:{accordion:!0}}),h.registerSlotRenderer(o.SlotLocation.panel,p.DesignBottomTabRenderer,{isLatter:!0,supportedActions:{expand:!0,toggle:!0}}),h.registerSlotRenderer(o.SlotLocation.extendView,p.DesignRightTabRenderer,{isLatter:!0,supportedActions:{accordion:!0}})}};t.DesignCoreContribution=g,n.__decorate([(0,r.Autowired)(v.IFileServiceClient),n.__metadata("design:type",m.FileServiceClient)],g.prototype,"fileSystem",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.DesignThemeFileSystemProvider)],g.prototype,"designThemeFileSystemProvider",void 0),n.__decorate([(0,r.Autowired)(l.LayoutViewSizeConfig),n.__metadata("design:type",l.LayoutViewSizeConfig)],g.prototype,"layoutViewSize",void 0),t.DesignCoreContribution=g=n.__decorate([(0,r.Injectable)(),(0,o.Domain)(o.ClientAppContribution,o.SlotRendererContribution)],g)},17242:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DesignModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(71707),_=e(80832),v=e(97222),m=e(43718),p=e(57517),s=e(52416),g=e(51706),a=e(9132),h=e(67988),u=e(3013),c=e(31385),E=e(72141),f=e(45365),d=n.__importDefault(e(49107)),y=n.__importDefault(e(13925)),b=n.__importDefault(e(63080)),A=e(98741);let S=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[u.DesignMenuBarContribution,h.DesignCoreContribution],this.preferences=I=>{e.e(454).then(e.bind(e,77454)),I.get(_.IDesignStyleService).setStyles(d.default),(0,A.overrideColorToken)(),(0,A.overrideMonacoColorToken)();const T=I.get(m.AppLifeCycleServiceToken);m.Event.once(m.Event.filter(T.onDidLifeCyclePhaseChange,R=>R===3))(()=>{const R=I.get(s.IThemeService);[y.default,b.default].forEach(M=>{R.registerThemes([{id:M.id,label:M.name,path:"",extensionId:M.id,uiTheme:M.base}],o.URI.parse(`${M.id}.json`).withQuery(M.id).withScheme(m.Schemes.design))})}),I.overrideProviders({token:s.IThemeStore,useClass:class extends g.ThemeStore{async getThemeData(R,M){const O=await super.getThemeData(R,M);return document.body.classList.remove(b.default.designThemeType),document.body.classList.remove(y.default.designThemeType),y.default.id===R?.id?document.body.classList.add(y.default.designThemeType):b.default.id===R?.id&&document.body.classList.add(b.default.designThemeType),O}},override:!0,isDefault:!0},{token:s.IThemeService,useClass:class extends a.WorkbenchThemeService{async ensureValidTheme(){return super.ensureValidTheme(y.default.id)}},override:!0,isDefault:!0},{token:p.IEditorTabService,useClass:c.DesignEditorTabService,override:!0,isDefault:!0},{token:l.ISplitPanelService,useClass:f.DesignSplitPanelService,override:!0,isDefault:!0},{token:v.IBrowserCtxMenu,useClass:E.DesignBrowserCtxMenuService})}}};t.DesignModule=S,t.DesignModule=S=n.__decorate([(0,r.Injectable)()],S)},11090:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DesignRightTabRenderer=t.DesignBottomTabRenderer=t.DesignLeftTabRenderer=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(19951),_=({className:p,components:s,tabbarView:g})=>o.default.createElement(l.LeftTabRenderer,{className:(0,r.default)(p,"design_left_slot"),components:s,tabbarView:g});t.DesignLeftTabRenderer=_;const v=({className:p,components:s})=>o.default.createElement(l.BottomTabRenderer,{className:(0,r.default)(p,"design_bottom_slot"),components:s});t.DesignBottomTabRenderer=v;const m=({className:p,components:s,tabbarView:g,tabpanelView:a})=>o.default.createElement(l.RightTabRenderer,{className:(0,r.default)("design_right_slot",p),components:s,tabbarView:g,tabpanelView:a});t.DesignRightTabRenderer=m},3013:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DesignMenuBarContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(64267),v=e(38879),m=e(12458);let p=class extends o.Disposable{constructor(){super(),this.menubarStore.unregisterMenusBarByCompact(l.MenuId.DesignMenuBarTopExtra);let g;this.addDispose(this.menubarStore.onDidMenuBarChange(a=>{g&&g.dispose(),g=this.menuRegistry.registerMenuItems(l.MenuId.DesignMenuBarTopExtra,a.map(h=>{var u;return{label:h.label,submenu:h.id,iconClass:h.iconClass,group:h.group||"1_navigation",order:(u=h.order)!==null&&u!==void 0?u:100}}))}))}registerComponent(g){g.register(v.DESIGN_MENUBAR_CONTAINER_VIEW_ID,{component:m.DesignMenuBarView,id:v.DESIGN_MENUBAR_CONTAINER_VIEW_ID})}};t.DesignMenuBarContribution=p,n.__decorate([(0,r.Autowired)(_.MenubarStore),n.__metadata("design:type",_.MenubarStore)],p.prototype,"menubarStore",void 0),n.__decorate([(0,r.Autowired)(l.IMenuRegistry),n.__metadata("design:type",l.IMenuRegistry)],p.prototype,"menuRegistry",void 0),t.DesignMenuBarContribution=p=n.__decorate([(0,o.Domain)(o.ComponentContribution),n.__metadata("design:paramtypes",[])],p)},12458:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DesignMenuBarView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),_=e(81878),v=e(89195),m=e(1149),p=e(63373),s=e(93899),g=e(43718),a=e(63067),h=e(55039),u=e(38879),c=n.__importDefault(e(52151)),E=n.__importDefault(e(90946)),f=()=>{const y=(0,l.useInjectable)(s.AbstractContextMenuService),b=(0,l.useInjectable)(m.DesignLayoutConfig),A=(0,l.useInjectable)(s.ICtxMenuRenderer),S=o.useRef(null),[D,I]=o.useState(void 0);o.useEffect(()=>{w()},[]);const w=o.useCallback(O=>{requestAnimationFrame(()=>{if(S.current){const x=S.current.getBoundingClientRect(),{x:k,y:F,width:L,height:N}=x,U={x:k,y:F+N};I(U),O&&O(U)}})},[S.current]),T=o.useMemo(()=>y.createMenu({id:s.MenuId.DesignMenuBarTopExtra}),[y]),R=o.useCallback(()=>{if(!D)return;const O=T.getMergedMenuNodes();T.dispose(),w(x=>{A.show({anchor:x,menuNodes:O})})},[D,T]),M=o.useMemo(()=>b.menubarLogo||c.default,[b.menubarLogo]);return o.createElement(o.Fragment,null,o.createElement(v.EnhanceIcon,{wrapperClassName:E.default.ai_enhance_menu,ref:S,onClick:R},o.createElement("div",{className:E.default.logo_container},o.createElement("img",{className:E.default.extra_top_icon,src:M,alt:""}),o.createElement(_.Icon,{className:(0,r.default)((0,l.getIcon)("down"),E.default.caret_icon)}))))},d=()=>{const y=(0,l.useInjectable)(g.CommandService),b=(0,l.useInjectable)(a.IMainLayoutService),A=(0,l.useInjectable)(l.AINativeConfigService),[S,D]=o.useState(!1);o.useEffect(()=>{requestAnimationFrame(()=>{D(w())});const R=b.getTabbarService(l.SlotLocation.view).onCurrentChange(({previousId:M,currentId:O})=>{M&&!O?D(!1):!M&&O&&D(!0)});return()=>{R.dispose()}},[]);const I=o.useCallback(()=>{y.executeCommand("main-layout.left-panel.toggle"),requestAnimationFrame(()=>{D(w())})},[]),w=o.useCallback(()=>!!b.getTabbarService(l.SlotLocation.view).currentContainerId.get(),[b]);return o.createElement("div",{id:p.VIEW_CONTAINERS.MENUBAR,className:E.default.menu_bar_view,style:{height:A.layoutViewSize.menubarHeight}},o.createElement("div",{className:E.default.container},o.createElement("div",{className:E.default.left},o.createElement(v.EnhanceIcon,{wrapperClassName:E.default.enhance_menu,icon:S?"left-nav-open":"left-nav-close",onClick:I}),o.createElement("span",{className:E.default.dividing}),o.createElement("div",{className:E.default.top_menus_bar},o.createElement(f,null)),o.createElement(l.SlotRenderer,{id:"design-menubar-left",slot:u.DESIGN_MENU_BAR_LEFT,flex:1})),o.createElement("div",{className:E.default.right},o.createElement(h.ToolBar,null),o.createElement(l.SlotRenderer,{id:"design-menubar-right",slot:u.DESIGN_MENU_BAR_RIGHT,flex:1}))))};t.DesignMenuBarView=d},31385:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DesignEditorTabService=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(76003),_=e(81878),v=e(1149),m=e(43718),p=e(30612),s=n.__importDefault(e(49107)),g=h=>{const{children:u}=h,[c,E]=o.default.useState(!1),f=(0,o.useMemo)(()=>"editor-tab-close-"+(0,m.uuid)(6),[]),d=(0,o.useCallback)(()=>{E(!1)},[]),y=(0,o.useMemo)(()=>(0,m.formatLocalize)("editor.closeTab.title",m.isMacintosh?"\u2318W":"Ctrl+W"),[]);return o.default.createElement(_.Popover,{delay:1e3,position:_.PopoverPosition.bottom,id:f,title:y,onClickAction:d,display:c},o.default.createElement("span",{title:""},u))};let a=class extends p.EditorTabService{renderEditorTab(u,c){return o.default.createElement("div",{className:(0,r.default)({[s.default["design-editor_tab_block_container"]]:!0,[s.default.active]:c}),style:{height:this.layoutViewSize.editorTabsHeight}},u)}renderTabCloseComponent(u){return o.default.createElement(g,null,u)}};t.DesignEditorTabService=a,n.__decorate([(0,l.Autowired)(v.LayoutViewSizeConfig),n.__metadata("design:type",v.LayoutViewSizeConfig)],a.prototype,"layoutViewSize",void 0),t.DesignEditorTabService=a=n.__decorate([(0,l.Injectable)()],a)},72141:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DesignBrowserCtxMenuService=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(76003),_=e(97267),v=e(41869),m=e(31388),p=e(52416),s=n.__importDefault(e(49107)),g=h=>{const u=(0,v.useInjectable)(p.IIconService),{data:c,disabled:E,hasSubmenu:f}=h,d=(0,o.useMemo)(()=>c.checked?o.default.createElement(_.Icon,{icon:"check"}):c.icon?o.default.createElement(_.Icon,{iconClass:c.icon}):null,[c]);return o.default.createElement("div",{className:(0,r.default)(s.default.menuAction__sub_menu_action_container,{[s.default.disabled]:E,[s.default.checked]:c.checked},c.className)},o.default.createElement("div",{className:s.default.icon},d),o.default.createElement("div",{className:s.default.label},c.label?(0,v.transformLabelWithCodicon)(v.strings.mnemonicButtonLabel(c.label,!0),{margin:"0 3px"},u?.fromString.bind(u)):""),o.default.createElement("div",{className:s.default.tip},c.keybinding?o.default.createElement("div",{className:s.default.shortcut},c.keybinding):null,f?o.default.createElement("div",{className:s.default.submenuIcon},o.default.createElement(_.Icon,{icon:"right-arrow"})):null,!c.keybinding&&!f&&c.extraDesc&&o.default.createElement("div",{className:s.default.extraDesc},c.extraDesc)))};let a=class extends m.BrowserCtxMenuService{renderSubMenuTitle(u,c){return o.default.createElement(g,{data:u,...c})}renderMenuItem(u,c){return o.default.createElement(g,{data:u,...c})}};t.DesignBrowserCtxMenuService=a,t.DesignBrowserCtxMenuService=a=n.__decorate([(0,l.Injectable)()],a)},45365:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DesignSplitPanelService=void 0;const n=e(71707);class r extends n.SplitPanelService{renderSplitPanel(l,_,v){return super.renderSplitPanel(l,_,v)}interceptProps(l){return l}}t.DesignSplitPanelService=r},13925:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={tokenColors:[{scope:["meta.embedded","source.groovy.embedded"],settings:{foreground:"#D4D4D4"}},{scope:"emphasis",settings:{fontStyle:"italic"}},{scope:"strong",settings:{fontStyle:"bold"}},{scope:"header",settings:{foreground:"#000080"}},{scope:"comment",settings:{foreground:"#6A9955"}},{scope:"constant.language",settings:{foreground:"#569cd6"}},{scope:["constant.numeric","variable.other.enummember","keyword.operator.plus.exponent","keyword.operator.minus.exponent"],settings:{foreground:"#b5cea8"}},{scope:"constant.regexp",settings:{foreground:"#646695"}},{scope:"entity.name.tag",settings:{foreground:"#569cd6"}},{scope:"entity.name.tag.css",settings:{foreground:"#d7ba7d"}},{scope:"entity.other.attribute-name",settings:{foreground:"#9cdcfe"}},{scope:["entity.other.attribute-name.class.css","entity.other.attribute-name.class.mixin.css","entity.other.attribute-name.id.css","entity.other.attribute-name.parent-selector.css","entity.other.attribute-name.pseudo-class.css","entity.other.attribute-name.pseudo-element.css","source.css.less entity.other.attribute-name.id","entity.other.attribute-name.scss"],settings:{foreground:"#d7ba7d"}},{scope:"invalid",settings:{foreground:"#f44747"}},{scope:"markup.underline",settings:{fontStyle:"underline"}},{scope:"markup.bold",settings:{fontStyle:"bold",foreground:"#569cd6"}},{scope:"markup.heading",settings:{fontStyle:"bold",foreground:"#569cd6"}},{scope:"markup.italic",settings:{fontStyle:"italic"}},{scope:"markup.inserted",settings:{foreground:"#b5cea8"}},{scope:"markup.deleted",settings:{foreground:"#ce9178"}},{scope:"markup.changed",settings:{foreground:"#569cd6"}},{scope:"punctuation.definition.quote.begin.markdown",settings:{foreground:"#6A9955"}},{scope:"punctuation.definition.list.begin.markdown",settings:{foreground:"#6796e6"}},{scope:"markup.inline.raw",settings:{foreground:"#ce9178"}},{name:"brackets of XML/HTML tags",scope:"punctuation.definition.tag",settings:{foreground:"#808080"}},{scope:["meta.preprocessor","entity.name.function.preprocessor"],settings:{foreground:"#569cd6"}},{scope:"meta.preprocessor.string",settings:{foreground:"#ce9178"}},{scope:"meta.preprocessor.numeric",settings:{foreground:"#b5cea8"}},{scope:"meta.structure.dictionary.key.python",settings:{foreground:"#9cdcfe"}},{scope:"meta.diff.header",settings:{foreground:"#569cd6"}},{scope:"storage",settings:{foreground:"#569cd6"}},{scope:"storage.type",settings:{foreground:"#569cd6"}},{scope:["storage.modifier","keyword.operator.noexcept"],settings:{foreground:"#569cd6"}},{scope:["string","meta.embedded.assembly"],settings:{foreground:"#ce9178"}},{scope:"string.tag",settings:{foreground:"#ce9178"}},{scope:"string.value",settings:{foreground:"#ce9178"}},{scope:"string.regexp",settings:{foreground:"#d16969"}},{name:"String interpolation",scope:["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],settings:{foreground:"#569cd6"}},{name:"Reset JavaScript string interpolation expression",scope:["meta.template.expression"],settings:{foreground:"#d4d4d4"}},{scope:["support.type.vendored.property-name","support.type.property-name","variable.css","variable.scss","variable.other.less","source.coffee.embedded"],settings:{foreground:"#9cdcfe"}},{scope:"keyword",settings:{foreground:"#569cd6"}},{scope:"keyword.control",settings:{foreground:"#569cd6"}},{scope:"keyword.operator",settings:{foreground:"#d4d4d4"}},{scope:["keyword.operator.new","keyword.operator.expression","keyword.operator.cast","keyword.operator.sizeof","keyword.operator.alignof","keyword.operator.typeid","keyword.operator.alignas","keyword.operator.instanceof","keyword.operator.logical.python","keyword.operator.wordlike"],settings:{foreground:"#569cd6"}},{scope:"keyword.other.unit",settings:{foreground:"#b5cea8"}},{scope:["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],settings:{foreground:"#569cd6"}},{scope:"support.function.git-rebase",settings:{foreground:"#9cdcfe"}},{scope:"constant.sha.git-rebase",settings:{foreground:"#b5cea8"}},{name:"coloring of the Java import and package identifiers",scope:["storage.modifier.import.java","variable.language.wildcard.java","storage.modifier.package.java"],settings:{foreground:"#d4d4d4"}},{name:"this.self",scope:"variable.language",settings:{foreground:"#569cd6"}},{name:"Function declarations",scope:["entity.name.function","support.function","support.constant.handlebars","source.powershell variable.other.member","entity.name.operator.custom-literal"],settings:{foreground:"#DCDCAA"}},{name:"Types declaration and references",scope:["meta.return-type","support.class","support.type","entity.name.type","entity.name.namespace","entity.other.attribute","entity.name.scope-resolution","entity.name.class","storage.type.numeric.go","storage.type.byte.go","storage.type.boolean.go","storage.type.string.go","storage.type.uintptr.go","storage.type.error.go","storage.type.rune.go","storage.type.cs","storage.type.generic.cs","storage.type.modifier.cs","storage.type.variable.cs","storage.type.annotation.java","storage.type.generic.java","storage.type.java","storage.type.object.array.java","storage.type.primitive.array.java","storage.type.primitive.java","storage.type.token.java","storage.type.groovy","storage.type.annotation.groovy","storage.type.parameters.groovy","storage.type.generic.groovy","storage.type.object.array.groovy","storage.type.primitive.array.groovy","storage.type.primitive.groovy"],settings:{foreground:"#4EC9B0"}},{name:"Types declaration and references, TS grammar specific",scope:["meta.type.cast.expr","meta.type.new.expr","support.constant.math","support.constant.dom","support.constant.json","entity.other.inherited-class"],settings:{foreground:"#4EC9B0"}},{name:"Control flow / Special keywords",scope:["keyword.control","source.cpp keyword.operator.new","keyword.operator.delete","keyword.other.using","keyword.other.operator","entity.name.operator"],settings:{foreground:"#C586C0"}},{name:"Variable and parameter name",scope:["variable","meta.definition.variable.name","support.variable","entity.nam1e.variable","constant.other.placeholder"],settings:{foreground:"#9CDCFE"}},{name:"Constants and enums",scope:["variable.other.constant","variable.other.enummember"],settings:{foreground:"#4FC1FF"}},{name:"Object keys, TS grammar specific",scope:["meta.object-literal.key"],settings:{foreground:"#9CDCFE"}},{name:"CSS property value",scope:["support.constant.property-value","support.constant.font-name","support.constant.media-type","support.constant.media","constant.other.color.rgb-value","constant.other.rgb-value","support.constant.color"],settings:{foreground:"#CE9178"}},{name:"Regular expression groups",scope:["punctuation.definition.group.regexp","punctuation.definition.group.assertion.regexp","punctuation.definition.character-class.regexp","punctuation.character.set.begin.regexp","punctuation.character.set.end.regexp","keyword.operator.negation.regexp","support.other.parenthesis.regexp"],settings:{foreground:"#CE9178"}},{scope:["constant.character.character-class.regexp","constant.other.character-class.set.regexp","constant.other.character-class.regexp","constant.character.set.regexp"],settings:{foreground:"#d16969"}},{scope:["keyword.operator.or.regexp","keyword.control.anchor.regexp"],settings:{foreground:"#DCDCAA"}},{scope:"keyword.operator.quantifier.regexp",settings:{foreground:"#d7ba7d"}},{scope:"constant.character",settings:{foreground:"#569cd6"}},{scope:"constant.character.escape",settings:{foreground:"#d7ba7d"}},{scope:"entity.name.label",settings:{foreground:"#C8C8C8"}}],colors:{"activityBar.activeBorder":"#ffffff1f","activityBar.activeForeground":"#FFFFFF","activityBar.background":"#00000000","activityBar.border":"#252729","activityBar.disableForeground":"#5F656B","activityBar.dropBackground":"#43484D","activityBar.foreground":"#fff","activityBar.inactiveForeground":"#ffffff73","activityBarBadge.background":"#167CDB","activityBarBadge.foreground":"#FFFFFF","badge.background":"#FFFFFF40","badge.foreground":"#D7DBDE","breadcrumb.background":"#222830","breadcrumb.foreground":"#ffffff73","checkbox.background":"#ffffff14","checkbox.border":"#ffffff1f",descriptionForeground:"#868C91","diffEditor.insertedTextBackground":"#12A7A740","editorGroup.border":"#43484D","editorGroup.dropBackground":"#5F656B40","editorGroup.emptyBackground":"#00000000","editorGroupHeader.tabsBackground":"#222830","editorSuggestWidget.selectedBackground":"#1A66AC",errorForeground:"#D21F28",focusBorder:"#ffffff1f",foreground:"#D7DBDE","editorCommentsWidget.unresolvedBorder":"#ffffff","gitDecoration.addedResourceForeground":"#8FD460","gitDecoration.conflictingResourceForeground":"#7F9EF3","gitDecoration.deletedResourceForeground":"#F3956A","gitDecoration.ignoredResourceForeground":"#BBC0C4","gitDecoration.modifiedResourceForeground":"#F3CC62","gitDecoration.submoduleResourceForeground":"#67ABEB","gitDecoration.untrackedResourceForeground":"#58D1C9","icon.foreground":"#D7DBDE","input.background":"#ffffff14","input.foreground":"#d7dbde","input.placeholderForeground":"#ffffff59","inputDropdown.searchMatchForeground":"#3895EB","inputIcon.foreground":"#5F656B","inputValidation.errorBackground":"#321115","inputValidation.errorBorder":"#D21F28","inputValidation.errorForeground":"#D7DBDE","inputValidation.errorText":"#D21F28","inputValidation.warningBackground":"#332510","inputValidation.warningBorder":"#DBA936","inputValidation.warningText":"#DBA936","inputValidation.warningForeground":"#d7dbde","keybinding.background":"#5F656B33","kt.accentForeground":"#FFFFFF","kt.actionbar.disableForeground":"#5F656B","kt.actionbar.foreground":"#D7DBDE","kt.actionbar.selectionBorder":"#1A66AC","kt.actionbar.separatorBackground":"#5F656B40","kt.activityBar.dropUpBackground":"#1F507D","kt.button.disableBackground":"#5F656B40","kt.button.disableBorder":"#5F656B80","kt.button.disableForeground":"#5F656B","kt.checkbox.disableBackground":"#5F656B40","kt.checkbox.disableForeground":"#5F656B","kt.checkbox.hoverBorder":"#167CDB","kt.checkbox.selectionBackground":"#167CDB","kt.checkbox.selectionForeground":"#FFFFFF","kt.dangerButton.background":"#DB4345","kt.dangerButton.clickBackground":"#D21F28","kt.dangerButton.foreground":"#FFFFFF","kt.dangerButton.hoverBackground":"#F37370","kt.dangerGhostButton.border":"#DB4345","kt.dangerGhostButton.clickBorder":"#D21F28","kt.dangerGhostButton.clickForeground":"#D21F28","kt.dangerGhostButton.foreground":"#DB4345","kt.dangerGhostButton.hoverBorder":"#F37370","kt.dangerGhostButton.hoverForeground":"#F37370","kt.defaultButton.background":"#ffffff14","kt.defaultButton.border":"#00000000","kt.defaultButton.clickBackground":"#ffffff14","kt.defaultButton.clickBorder":"#00000000","kt.defaultButton.disableBackground":"#ffffff14","kt.defaultButton.disableBorder":"#00000000","kt.defaultButton.disableForeground":"#ffffff40","kt.defaultButton.foreground":"#D7DBDE","kt.defaultButton.hoverBackground":"#ffffff29","kt.defaultButton.hoverBorder":"#00000000","kt.defaultButton.selectionBackground":"#ffffff29","kt.defaultButton.selectionForeground":"#fff","kt.dirtyDot.foreground":"#868C91","kt.disableForeground":"#5F656B","kt.editorBreadcrumb.borderDown":"#e9e9e914","kt.errorBackground":"#D21F2840","kt.errorIconForeground":"#DB4345","kt.hintBackground":"#5F656B40","kt.hintIconForeground":"#868C91","kt.icon.clickForeground":"#D7DBDE","kt.icon.disableForeground":"#5F656B","kt.icon.foreground":"#ffffff73","kt.icon.hoverBackground":"#ffffff14","kt.icon.hoverForeground":"#D7DBDE","kt.icon.secondaryForeground":"#868C91","kt.infoBackground":"#167CDB40","kt.infoIconForeground":"#3895EB","kt.input.border":"#00000000","kt.input.disableBackground":"#5F656B40","kt.input.disableForeground":"#ffffff40","kt.input.selectionBackground":"#1A66AC","kt.linkButton.clickForeground":"#167CDB","kt.linkButton.disableForeground":"#5F656B","kt.linkButton.foreground":"#3895EB","kt.linkButton.hoverForeground":"#67ABEB","kt.menu.descriptionForeground":"#868C91","kt.menu.disableForeground":"#5F656B","kt.menubar.background":"#00000000","kt.menubar.border":"#252729","kt.menubar.foreground":"#D7DBDE","kt.menubar.separatorBackground":"#5F656B40","kt.modal.background":"#222830","kt.modal.foreground":"#D7DBDE","kt.modal.separatorBackground":"#2C3033","kt.modalErrorIcon.foreground":"#DB4345","kt.modalInfoIcon.foreground":"#3895EB","kt.modalSuccessIcon.foreground":"#64B436","kt.modalWarningIcon.foreground":"#DBA936","kt.panel.secondaryForeground":"#868C91","kt.panelTab.activeBackground":"#151b21","kt.panelTab.activeForeground":"#FFFFFF","kt.panelTab.border":"#ffffff1f","kt.panelTab.inactiveBackground":"#00000000","kt.panelTab.inactiveForeground":"#D7DBDE","kt.panelTitle.background":"#222830","kt.popover.background":"#2b333d","kt.popover.border":"#363940","kt.popover.foreground":"#fffffff2","kt.popover.prominentBackground":"#2C3033","kt.primaryButton.background":"#3c8dff","kt.primaryButton.clickBackground":"#3c8dffa6","kt.primaryButton.foreground":"#fff","kt.primaryButton.hoverBackground":"#3c8dffa6","kt.primaryButton.border":"#00000000","kt.primaryGhostButton.clickBorder":"#3c8dff","kt.primaryGhostButton.clickForeground":"#167CDB","kt.primaryGhostButton.clickBackground":"#00000000","kt.primaryGhostButton.foreground":"#3895EB","kt.primaryGhostButton.border":"#3c8dff","kt.primaryGhostButton.background":"#00000000","kt.secondaryButton.border":"#5F656B","kt.secondaryButton.clickBorder":"#167CDB","kt.secondaryButton.clickForeground":"#167CDB","kt.secondaryButton.foreground":"#D7DBDE","kt.secondaryButton.hoverBorder":"#3895EB","kt.secondaryButton.hoverForeground":"#3895EB","kt.secondaryButton.background":"#00000000","kt.select.background":"#ffffff14","kt.select.border":"#00000000","kt.select.disableBackground":"#5F656B40","kt.select.disableForeground":"#5F656B","kt.select.foreground":"#D7DBDE","kt.select.placeholderForeground":"#5F656B","kt.selectDropdown.background":"#222830","kt.selectDropdown.foreground":"#D7DBDE","kt.selectDropdown.hoverBackground":"#ffffff14","kt.selectDropdown.selectionBackground":"#ffffff14","kt.selectOption.activeBorder":"#167CDB","kt.statusbar.offline.background":"#DB4345","kt.successBackground":"#48A91840","kt.successIconForeground":"#64B436","kt.tab.activeBorder":"#167CDB","kt.tab.activeForeground":"#FFFFFF","kt.tab.borderDown":"#5F656B40","kt.tab.inactiveForeground":"#D7DBDE","kt.tree.activeSelectionBackground":"#1A66AC","kt.tree.activeSelectionForeground":"#FFFFFF","kt.tree.hoverBackground":"#5F656B40","kt.tree.hoverForeground":"#D7DBDE","kt.tree.inactiveSelectionBackground":"#ffffff1f","kt.tree.inactiveSelectionForeground":"#fff","kt.warningBackground":"#D7951340","kt.warningIconForeground":"#DBA936","kt.whiteGhostButton.border":"#FFFFFF","kt.whiteGhostButton.clickBorder":"#FFFFFFA6","kt.whiteGhostButton.clickForeground":"#FFFFFFA6","kt.whiteGhostButton.disableBackground":"#FFFFFF03","kt.whiteGhostButton.disableBorder":"#FFFFFF40","kt.whiteGhostButton.disableForeground":"#FFFFFF40","kt.whiteGhostButton.foreground":"#FFFFFF","list.activeSelectionBackground":"#1A66AC","list.activeSelectionForeground":"#e1e4e8","list.evenItemBackground":"#5F656B14","list.headerBackground":"#5F656B1F","list.hoverBackground":"#5F656B40","menu.background":"#222830d9","menu.foreground":"#D7DBDE","menu.selectionBackground":"#5F656B40","menu.selectionForeground":"#FFFFFF","menu.separatorBackground":"#43484D","menubar.selectionBackground":"#5f656b40","menubar.selectionForeground":"#FFFFFF","message.background":"#222830","message.foreground":"#D7DBDE","messageErrorIcon.foreground":"#DB4345","messageInfoIcon.foreground":"#3895EB","messageSuccessIcon.foreground":"#64B436","messageWarningIcon.foreground":"#DBA936","notifications.background":"#222830","notifications.foreground":"#D7DBDE","notificationsErrorIcon.foreground":"#DB4345","notificationsInfoIcon.foreground":"#3895EB","notificationsWarningIcon.foreground":"#DBA936","panel.background":"#151b21","panel.border":"#43484D","panel.foreground":"#D7DBDE","panel.selectionBackground":"#5F656B40","panel.separatorBackground":"#2C3033","panelMenuBadge.background":"#00000040","panelMenuBar.background":"#2C3033","panelMenuBarBadge.foreground":"#5F656B40","panelTabBarActionIcon.Background":"#868C91","panelTabBarError.foreground":"#DB4345","panelTitle.activeBorder":"#167CDB","panelTitle.activeForeground":"#FFFFFF","panelTitle.hoverForeground":"#FFFFFF","panelTitle.inactiveForeground":"#ffffff73","selectDropdown.descriptionForeground":"#868C91","selectDropdown.teamForeground":"#868C91","sideBar.background":"#00000000","sideBar.border":"#ffffff1f","sideBar.dropBackground":"#43484D","sideBar.dropUpBackground":"#1F507D","sideBarSectionHeader.background":"#00000000","sideBarSectionHeader.foreground":"#ffffffa6","sideBarTitle.foreground":"#FFFFFF","statusBar.background":"#00000000","statusBar.debuggingBackground":"#D77915","statusBar.foreground":"#ffffff73","statusBar.noFolderBackground":"#43484D","statusBarItem.activeBackground":"#FFFFFF40","statusBarItem.hoverBackground":"#FFFFFF03","statusBarItem.remoteBackground":"#3c8dff","statusBarItem.prominentForeground":"#d2d2d2a6","statusBarItem.prominentBackground":"#2a2a2a80","tab.activeBackground":"#151b21","tab.activeForeground":"#FFFFFF","tab.border":"#e9e9e914","tab.inactiveBackground":"#00000000","tab.inactiveForeground":"#ffffff73","tab.hoverBackground":"#00000000","tab.unfocusedActiveBackground":"#202224","tab.unfocusedActiveForeground":"#868C91","tab.unfocusedInactiveForeground":"#868C91","terminal.background":"#151b21","terminal.border":"#252729","terminal.foreground":"#D7DBDE","terminal.offlineBackground":"#D21F2840","terminal.offlineForeground":"#868C91","terminal.offlineLinkForeground":"#3895EB","terminal.selectionBackground":"#5F656B40","tooltip.background":"#35393D","tooltip.foreground":"#D7DBDE","widget.shadow":"#00000099","list.focusOutline":"#00000000","editorInlayHint.parameterBackground":"#00000000","button.background":"#ffffff14","scrollbarSlider.background":"#ffffff14","editor.background":"#181818","quickInput.background":"#222830","list.focusBackground":"#ffffff1f","textLink.foreground":"#3c8dff","editorStickyScroll.background":"#151b21"},semanticHighlighting:!0,semanticTokenColors:{newOperator:"#d4d4d4",stringLiteral:"#ce9178",customLiteral:"#D4D4D4",numberLiteral:"#b5cea8"},encodedTokensColors:[],rules:[],base:"vs-dark",designThemeType:"design-dark",inherit:!0,hasDefaultTokens:!1,id:"opensumi-design-dark-theme",name:"OpenSumi Design Dark+ (default dark)"}},37517:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DesignThemeFileSystemProvider=void 0;const n=e(85608),r=e(76003),o=e(43718),l=n.__importDefault(e(13925)),_=n.__importDefault(e(63080));let v=class{constructor(){this.capabilities=2048,this.onDidChangeCapabilities=o.Event.None,this.onDidChangeFile=o.Event.None}stat(p){return Promise.resolve({type:o.FileType.File,uri:p.toString(),lastModification:Date.now(),isDirectory:!1})}async readFile(p){const{query:s}=p;return l.default.id===s?this.toBuffer(JSON.stringify(l.default)):this.toBuffer(JSON.stringify(_.default))}toBuffer(p){return o.BinaryBuffer.fromString(p).buffer}readDirectory(){throw new Error("Not allowed")}createDirectory(){throw new Error("Not allowed")}rename(){throw new Error("Not allowed")}delete(){throw new Error("Not allowed")}watch(){throw new Error("Not allowed")}writeFile(){throw new Error("Not allowed")}};t.DesignThemeFileSystemProvider=v,t.DesignThemeFileSystemProvider=v=n.__decorate([(0,r.Injectable)()],v)},63080:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={tokenColors:[{scope:["meta.embedded","source.groovy.embedded"],settings:{foreground:"#000000ff"}},{scope:"emphasis",settings:{fontStyle:"italic"}},{scope:"strong",settings:{fontStyle:"bold"}},{scope:"meta.diff.header",settings:{foreground:"#000080"}},{scope:"comment",settings:{foreground:"#008000"}},{scope:"constant.language",settings:{foreground:"#0000ff"}},{scope:["constant.numeric","variable.other.enummember","keyword.operator.plus.exponent","keyword.operator.minus.exponent"],settings:{foreground:"#098658"}},{scope:"constant.regexp",settings:{foreground:"#811f3f"}},{name:"css tags in selectors, xml tags",scope:"entity.name.tag",settings:{foreground:"#800000"}},{scope:"entity.name.selector",settings:{foreground:"#800000"}},{scope:"entity.other.attribute-name",settings:{foreground:"#ff0000"}},{scope:["entity.other.attribute-name.class.css","entity.other.attribute-name.class.mixin.css","entity.other.attribute-name.id.css","entity.other.attribute-name.parent-selector.css","entity.other.attribute-name.pseudo-class.css","entity.other.attribute-name.pseudo-element.css","source.css.less entity.other.attribute-name.id","entity.other.attribute-name.scss"],settings:{foreground:"#800000"}},{scope:"invalid",settings:{foreground:"#cd3131"}},{scope:"markup.underline",settings:{fontStyle:"underline"}},{scope:"markup.bold",settings:{fontStyle:"bold",foreground:"#000080"}},{scope:"markup.heading",settings:{fontStyle:"bold",foreground:"#800000"}},{scope:"markup.italic",settings:{fontStyle:"italic"}},{scope:"markup.inserted",settings:{foreground:"#098658"}},{scope:"markup.deleted",settings:{foreground:"#a31515"}},{scope:"markup.changed",settings:{foreground:"#0451a5"}},{scope:["punctuation.definition.quote.begin.markdown","punctuation.definition.list.begin.markdown"],settings:{foreground:"#0451a5"}},{scope:"markup.inline.raw",settings:{foreground:"#800000"}},{name:"brackets of XML/HTML tags",scope:"punctuation.definition.tag",settings:{foreground:"#800000"}},{scope:["meta.preprocessor","entity.name.function.preprocessor"],settings:{foreground:"#0000ff"}},{scope:"meta.preprocessor.string",settings:{foreground:"#a31515"}},{scope:"meta.preprocessor.numeric",settings:{foreground:"#098658"}},{scope:"meta.structure.dictionary.key.python",settings:{foreground:"#0451a5"}},{scope:"storage",settings:{foreground:"#0000ff"}},{scope:"storage.type",settings:{foreground:"#0000ff"}},{scope:["storage.modifier","keyword.operator.noexcept"],settings:{foreground:"#0000ff"}},{scope:["string","meta.embedded.assembly"],settings:{foreground:"#a31515"}},{scope:["string.comment.buffered.block.pug","string.quoted.pug","string.interpolated.pug","string.unquoted.plain.in.yaml","string.unquoted.plain.out.yaml","string.unquoted.block.yaml","string.quoted.single.yaml","string.quoted.double.xml","string.quoted.single.xml","string.unquoted.cdata.xml","string.quoted.double.html","string.quoted.single.html","string.unquoted.html","string.quoted.single.handlebars","string.quoted.double.handlebars"],settings:{foreground:"#0000ff"}},{scope:"string.regexp",settings:{foreground:"#811f3f"}},{name:"String interpolation",scope:["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],settings:{foreground:"#0000ff"}},{name:"Reset JavaScript string interpolation expression",scope:["meta.template.expression"],settings:{foreground:"#000000"}},{scope:["support.constant.property-value","support.constant.font-name","support.constant.media-type","support.constant.media","constant.other.color.rgb-value","constant.other.rgb-value","support.constant.color"],settings:{foreground:"#0451a5"}},{scope:["support.type.vendored.property-name","support.type.property-name","variable.css","variable.scss","variable.other.less","source.coffee.embedded"],settings:{foreground:"#ff0000"}},{scope:["support.type.property-name.json"],settings:{foreground:"#0451a5"}},{scope:"keyword",settings:{foreground:"#0000ff"}},{scope:"keyword.control",settings:{foreground:"#0000ff"}},{scope:"keyword.operator",settings:{foreground:"#000000"}},{scope:["keyword.operator.new","keyword.operator.expression","keyword.operator.cast","keyword.operator.sizeof","keyword.operator.alignof","keyword.operator.typeid","keyword.operator.alignas","keyword.operator.instanceof","keyword.operator.logical.python","keyword.operator.wordlike"],settings:{foreground:"#0000ff"}},{scope:"keyword.other.unit",settings:{foreground:"#098658"}},{scope:["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],settings:{foreground:"#800000"}},{scope:"support.function.git-rebase",settings:{foreground:"#0451a5"}},{scope:"constant.sha.git-rebase",settings:{foreground:"#098658"}},{name:"coloring of the Java import and package identifiers",scope:["storage.modifier.import.java","variable.language.wildcard.java","storage.modifier.package.java"],settings:{foreground:"#000000"}},{name:"this.self",scope:"variable.language",settings:{foreground:"#0000ff"}},{name:"Function declarations",scope:["entity.name.function","support.function","support.constant.handlebars","source.powershell variable.other.member","entity.name.operator.custom-literal"],settings:{foreground:"#795E26"}},{name:"Types declaration and references",scope:["meta.return-type","support.class","support.type","entity.name.type","entity.name.namespace","entity.other.attribute","entity.name.scope-resolution","entity.name.class","storage.type.numeric.go","storage.type.byte.go","storage.type.boolean.go","storage.type.string.go","storage.type.uintptr.go","storage.type.error.go","storage.type.rune.go","storage.type.cs","storage.type.generic.cs","storage.type.modifier.cs","storage.type.variable.cs","storage.type.annotation.java","storage.type.generic.java","storage.type.java","storage.type.object.array.java","storage.type.primitive.array.java","storage.type.primitive.java","storage.type.token.java","storage.type.groovy","storage.type.annotation.groovy","storage.type.parameters.groovy","storage.type.generic.groovy","storage.type.object.array.groovy","storage.type.primitive.array.groovy","storage.type.primitive.groovy"],settings:{foreground:"#267f99"}},{name:"Types declaration and references, TS grammar specific",scope:["meta.type.cast.expr","meta.type.new.expr","support.constant.math","support.constant.dom","support.constant.json","entity.other.inherited-class"],settings:{foreground:"#267f99"}},{name:"Control flow / Special keywords",scope:["keyword.control","source.cpp keyword.operator.new","source.cpp keyword.operator.delete","keyword.other.using","keyword.other.operator","entity.name.operator"],settings:{foreground:"#AF00DB"}},{name:"Variable and parameter name",scope:["variable","meta.definition.variable.name","support.variable","entity.name.variable","constant.other.placeholder"],settings:{foreground:"#001080"}},{name:"Constants and enums",scope:["variable.other.constant","variable.other.enummember"],settings:{foreground:"#0070C1"}},{name:"Object keys, TS grammar specific",scope:["meta.object-literal.key"],settings:{foreground:"#001080"}},{name:"CSS property value",scope:["support.constant.property-value","support.constant.font-name","support.constant.media-type","support.constant.media","constant.other.color.rgb-value","constant.other.rgb-value","support.constant.color"],settings:{foreground:"#0451a5"}},{name:"Regular expression groups",scope:["punctuation.definition.group.regexp","punctuation.definition.group.assertion.regexp","punctuation.definition.character-class.regexp","punctuation.character.set.begin.regexp","punctuation.character.set.end.regexp","keyword.operator.negation.regexp","support.other.parenthesis.regexp"],settings:{foreground:"#d16969"}},{scope:["constant.character.character-class.regexp","constant.other.character-class.set.regexp","constant.other.character-class.regexp","constant.character.set.regexp"],settings:{foreground:"#811f3f"}},{scope:"keyword.operator.quantifier.regexp",settings:{foreground:"#000000"}},{scope:["keyword.operator.or.regexp","keyword.control.anchor.regexp"],settings:{foreground:"#EE0000"}},{scope:"constant.character",settings:{foreground:"#0000ff"}},{scope:"constant.character.escape",settings:{foreground:"#EE0000"}},{scope:"entity.name.label",settings:{foreground:"#000000"}}],colors:{"activityBar.activeBorder":"#151b2114","activityBar.activeForeground":"#FFFFFF","activityBar.background":"#00000000","activityBar.border":"#252729","activityBar.disableForeground":"#5F656B","activityBar.dropBackground":"#43484D","activityBar.foreground":"#151b21","activityBar.inactiveForeground":"#151b21a6","activityBarBadge.background":"#3C8DFF","activityBarBadge.foreground":"#FFFFFF","badge.background":"#151b5814","badge.foreground":"#151b21a6","breadcrumb.background":"#fff","breadcrumb.foreground":"#5d646c","checkbox.background":"#fff","checkbox.border":"#151b2129",descriptionForeground:"#151b21a6","diffEditor.insertedTextBackground":"#12A7A740","editorGroup.border":"#151b2133","editorGroup.dropBackground":"#5F656B40","editorGroup.emptyBackground":"#ffffff","editorGroupHeader.tabsBackground":"#DDE8F4","editorSuggestWidget.selectedBackground":"#6eb6fa40",errorForeground:"#D21F28",focusBorder:"#151b2129",foreground:"#151b21d9","editorCommentsWidget.unresolvedBorder":"#4d9ded","gitDecoration.addedResourceForeground":"#52c41a","gitDecoration.modifiedResourceForeground":"#faad14","gitDecoration.deletedResourceForeground":"#fa541c","gitDecoration.untrackedResourceForeground":"#13c2c2","gitDecoration.ignoredResourceForeground":"#666666","gitDecoration.conflictingResourceForeground":"#ff0000","gitDecoration.submoduleResourceForeground":"#1785eb","icon.foreground":"#151b21d9","input.background":"#fff","input.foreground":"#151b21","input.placeholderForeground":"#151b2173","inputDropdown.searchMatchForeground":"#3895EB","inputIcon.foreground":"#5F656B","inputValidation.errorBackground":"#321115","inputValidation.errorBorder":"#D21F28","inputValidation.errorForeground":"#D7DBDE","inputValidation.errorText":"#D21F28","inputValidation.warningBackground":"#fff","inputValidation.warningBorder":"#DBA936","inputValidation.warningText":"#DBA936","inputValidation.warningForeground":"#151b21","keybinding.background":"#5F656B33","kt.accentForeground":"#FFFFFF","kt.actionbar.disableForeground":"#5F656B","kt.actionbar.foreground":"#151b21a6","kt.actionbar.selectionBorder":"#1A66AC","kt.actionbar.separatorBackground":"#5F656B40","kt.activityBar.dropUpBackground":"#1F507D","kt.button.disableBackground":"#151b210a","kt.button.disableBorder":"#151b2114","kt.button.disableForeground":"#151b2159","kt.checkbox.disableBackground":"#5F656B40","kt.checkbox.disableForeground":"#5F656B","kt.checkbox.hoverBorder":"#167CDB","kt.checkbox.selectionBackground":"#167CDB","kt.checkbox.selectionForeground":"#FFFFFF","kt.dangerButton.background":"#DB4345","kt.dangerButton.clickBackground":"#D21F28","kt.dangerButton.foreground":"#FFFFFF","kt.dangerButton.hoverBackground":"#F37370","kt.dangerGhostButton.border":"#DB4345","kt.dangerGhostButton.clickBorder":"#D21F28","kt.dangerGhostButton.clickForeground":"#D21F28","kt.dangerGhostButton.foreground":"#DB4345","kt.dangerGhostButton.hoverBorder":"#F37370","kt.dangerGhostButton.hoverForeground":"#F37370","kt.dirtyDot.foreground":"#868C91","kt.disableForeground":"#5F656B","kt.editorBreadcrumb.borderDown":"#e9e9e914","kt.errorBackground":"#D21F2840","kt.errorIconForeground":"#DB4345","kt.hintBackground":"#5F656B40","kt.hintIconForeground":"#868C91","kt.icon.clickForeground":"#D7DBDE","kt.icon.disableForeground":"#5F656B","kt.icon.foreground":"#151b21a6","kt.icon.hoverBackground":"#151b2114","kt.icon.hoverForeground":"#151b21d9","kt.icon.secondaryForeground":"#868C91","kt.infoBackground":"#167CDB40","kt.infoIconForeground":"#3895EB","kt.input.border":"#151b2129","kt.input.disableBackground":"#151b210a","kt.input.disableForeground":"#151b2159","kt.input.selectionBackground":"#1A66AC","kt.linkButton.clickForeground":"#167CDB","kt.linkButton.disableForeground":"#5F656B","kt.linkButton.foreground":"#3895EB","kt.linkButton.hoverForeground":"#67ABEB","kt.menu.descriptionForeground":"#868C91","kt.menu.disableForeground":"#5F656B","kt.menubar.background":"#00000000","kt.menubar.border":"#252729","kt.menubar.foreground":"#D7DBDE","kt.menubar.separatorBackground":"#5F656B40","kt.modal.background":"#fff","kt.modal.foreground":"#151b21d9","kt.modal.separatorBackground":"#2C3033","kt.modalErrorIcon.foreground":"#DB4345","kt.modalInfoIcon.foreground":"#3895EB","kt.modalSuccessIcon.foreground":"#64B436","kt.modalWarningIcon.foreground":"#DBA936","kt.panel.secondaryForeground":"#151b21a6","kt.panelTab.activeBackground":"#fff","kt.panelTab.activeForeground":"#151b21","kt.panelTab.border":"#151b2114","kt.panelTab.inactiveBackground":"#00000000","kt.panelTab.inactiveForeground":"#151b21d9","kt.panelTitle.background":"#fff","kt.popover.background":"#000000e3","kt.popover.border":"#000000e3","kt.popover.foreground":"#fffffff2","kt.popover.prominentBackground":"#2C3033","kt.defaultButton.background":"#fafafb","kt.defaultButton.border":"#00000000","kt.defaultButton.clickBackground":"#fafafb","kt.defaultButton.clickBorder":"#00000000","kt.defaultButton.disableBackground":"#fff","kt.defaultButton.disableBorder":"#00000000","kt.defaultButton.disableForeground":"#151b2159","kt.defaultButton.foreground":"#000a1aff","kt.defaultButton.hoverBackground":"#F5F5F6","kt.defaultButton.hoverBorder":"#00000000","kt.defaultButton.selectionBackground":"#fff","kt.defaultButton.selectionForeground":"#151b21","kt.primaryButton.background":"#3c8dff","kt.primaryButton.clickBackground":"#3c8dff","kt.primaryButton.foreground":"#fff","kt.primaryButton.hoverBackground":"#5b9fff","kt.primaryButton.border":"#00000000","kt.primaryGhostButton.clickBorder":"#3c8dff","kt.primaryGhostButton.clickForeground":"#167CDB","kt.primaryGhostButton.clickBackground":"#fff","kt.primaryGhostButton.foreground":"#3895EB","kt.primaryGhostButton.border":"#3c8dff","kt.primaryGhostButton.background":"#fff","kt.secondaryButton.border":"#00000026","kt.secondaryButton.clickBorder":"#00000026","kt.secondaryButton.clickForeground":"#151b21","kt.secondaryButton.foreground":"#151b21d9","kt.secondaryButton.background":"#fff","kt.secondaryButton.hoverBorder":"#00000026","kt.secondaryButton.hoverForeground":"#151b21","kt.select.background":"#fff","kt.select.border":"#151b2129","kt.select.disableBackground":"#151b2114","kt.select.disableForeground":"#151b2159","kt.select.foreground":"#151b21","kt.select.placeholderForeground":"#151b2173","kt.selectDropdown.background":"#fff","kt.selectDropdown.foreground":"#151b21","kt.selectDropdown.hoverBackground":"#151b2114","kt.selectDropdown.selectionBackground":"#151b2114","kt.selectDropdown.selectionForeground":"#151b21","kt.selectOption.activeBorder":"#167CDB","kt.statusbar.offline.background":"#DB4345","kt.successBackground":"#48A91840","kt.successIconForeground":"#64B436","kt.tab.activeBorder":"#167CDB","kt.tab.activeForeground":"#151b21","kt.tab.borderDown":"#151b211f","kt.tab.inactiveForeground":"#151b21a6","kt.tree.activeSelectionBackground":"#1A66AC","kt.tree.activeSelectionForeground":"#FFFFFF","kt.tree.hoverBackground":"#151b5814","kt.tree.hoverForeground":"#151b21","kt.tree.inactiveSelectionBackground":"#151b5814","kt.tree.inactiveSelectionForeground":"#151b21","kt.warningBackground":"#D7951340","kt.warningIconForeground":"#DBA936","kt.whiteGhostButton.border":"#FFFFFF","kt.whiteGhostButton.clickBorder":"#FFFFFFA6","kt.whiteGhostButton.clickForeground":"#FFFFFFA6","kt.whiteGhostButton.disableBackground":"#FFFFFF03","kt.whiteGhostButton.disableBorder":"#FFFFFF40","kt.whiteGhostButton.disableForeground":"#FFFFFF40","kt.whiteGhostButton.foreground":"#FFFFFF","list.activeSelectionBackground":"#1A66AC","list.activeSelectionForeground":"#e1e4e8","list.evenItemBackground":"#5F656B14","list.headerBackground":"#5F656B1F","list.hoverBackground":"#151b5814","menu.background":"#FFFFFF","menu.foreground":"#151b21","menu.selectionBackground":"#151b2114","menu.selectionForeground":"#151b21","menu.separatorBackground":"#151b211f","menubar.selectionBackground":"#151b2114","menubar.selectionForeground":"#151b21","message.background":"#151b21d9","message.foreground":"#D7DBDE","messageErrorIcon.foreground":"#DB4345","messageInfoIcon.foreground":"#3895EB","messageSuccessIcon.foreground":"#64B436","messageWarningIcon.foreground":"#DBA936","notifications.background":"#fff","notifications.foreground":"#151b21d9","notificationsErrorIcon.foreground":"#DB4345","notificationsInfoIcon.foreground":"#3895EB","notificationsWarningIcon.foreground":"#DBA936","panel.background":"#fff","panel.border":"#43484D","panel.foreground":"#151b21","panel.selectionBackground":"#5F656B40","panel.separatorBackground":"#2C3033","panelMenuBadge.background":"#00000040","panelMenuBar.background":"#2C3033","panelMenuBarBadge.foreground":"#5F656B40","panelTabBarActionIcon.Background":"#868C91","panelTabBarError.foreground":"#DB4345","panelTitle.activeBorder":"#3c8dff","panelTitle.activeForeground":"#151b21","panelTitle.hoverForeground":"#FFFFFF","panelTitle.inactiveForeground":"#151b21a6","selectDropdown.descriptionForeground":"#868C91","selectDropdown.teamForeground":"#868C91","sideBar.background":"#00000000","sideBar.border":"#151b211f","sideBar.dropBackground":"#43484D","sideBar.dropUpBackground":"#1F507D","sideBarSectionHeader.background":"#00000000","sideBarSectionHeader.foreground":"#151b21d9","sideBarTitle.foreground":"#151b21d9","statusBar.background":"#00000000","statusBar.debuggingBackground":"#D77915","statusBar.foreground":"#151b21a6","statusBar.noFolderBackground":"#43484D","statusBarItem.activeBackground":"#FFFFFF40","statusBarItem.hoverBackground":"#FFFFFF03","statusBarItem.remoteBackground":"#3c8dff","statusBarItem.prominentForeground":"#151b21a6","statusBarItem.prominentBackground":"#f1f1f180","tab.activeBackground":"#ffffff","tab.activeForeground":"#151b21","tab.border":"#e9e9e914","tab.inactiveBackground":"#00000000","tab.inactiveForeground":"#151b21d9","tab.hoverBackground":"#00000000","tab.unfocusedActiveBackground":"#202224","tab.unfocusedActiveForeground":"#868C91","tab.unfocusedInactiveForeground":"#868C91","terminal.background":"#FFFFFF","terminal.border":"#252729","terminal.foreground":"#151b21","terminal.offlineBackground":"#D21F2840","terminal.offlineForeground":"#868C91","terminal.offlineLinkForeground":"#3895EB","terminal.selectionBackground":"#5F656B40","tooltip.background":"#35393D","tooltip.foreground":"#D7DBDE","widget.shadow":"#00000099","list.focusOutline":"#00000000","editorInlayHint.parameterBackground":"#00000000","button.background":"#ffffff14","scrollbarSlider.background":"#151b211f","editor.background":"#F1F2F3","quickInput.background":"#fff","list.focusBackground":"#151b5814","textLink.foreground":"#3c8dff","editorStickyScroll.background":"#fff","multiDiffEditor.background":"#fff","multiDiffEditor.border":"#151b211f","multiDiffEditor.headerBackground":"#fff"},semanticHighlighting:!0,semanticTokenColors:{newOperator:"#d4d4d4",stringLiteral:"#ce9178",customLiteral:"#D4D4D4",numberLiteral:"#b5cea8"},encodedTokensColors:[],rules:[],base:"vs",designThemeType:"design-light",inherit:!0,hasDefaultTokens:!1,id:"opensumi-design-light-theme",name:"OpenSumi Design Light+ (default light)"}},98741:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.overrideMonacoColorToken=t.overrideColorToken=void 0;const n=e(85608),r=e(52416),o=n.__importDefault(e(13925)),l=n.__importDefault(e(63080)),_=()=>{const m=(0,r.getColorRegistry)();m.getColors().forEach(({id:p})=>{if(o.default.colors[p]&&l.default.colors[p]){const s=m.getColor(p);(0,r.registerColor)(p,{dark:o.default.colors[p],light:l.default.colors[p],hcDark:s.defaults.hcDark||null,hcLight:s.defaults.hcLight||null},s.description)}})};t.overrideColorToken=_;const v=()=>{(0,r.registerColor)("vscode.quickInputList.focusBackground",{light:"#151b2114",dark:"#5F656B40",hcDark:null,hcLight:null},"Quick picker background color for the focused item."),(0,r.registerColor)("quickInputList.focusForeground",{dark:"#ffffff",light:"#151b21",hcDark:null,hcLight:null},"Quick picker foreground color for the focused item.")};t.overrideMonacoColorToken=v},66338:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DESIGN_MENU_BAR_LEFT=t.DESIGN_MENU_BAR_RIGHT=t.DESIGN_MENUBAR_CONTAINER_VIEW_ID=void 0,t.DESIGN_MENUBAR_CONTAINER_VIEW_ID="design_menubar",t.DESIGN_MENU_BAR_RIGHT="design_menu_bar_right",t.DESIGN_MENU_BAR_LEFT="design_menu_bar_left"},38879:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(66338),t)},82353:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(38879),t)},30526:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiffEditorPart=t.BaseMonacoEditorWrapper=void 0,t.insertSnippetWithMonacoEditor=g;const n=e(85608),r=e(76003),o=e(43718),l=n.__importStar(e(20868)),_=e(99721),v=e(23418),m=e(84677),p=e(6043),s=e(82196);function g(E,f,d,y){const b=E.getContribution("snippetController2"),A=d.map(S=>new l.Selection(S.startLineNumber,S.startColumn,S.endLineNumber,S.endColumn));E.setSelections(A),E.focus(),b.insert(f,0,0,y.undoStopBefore,y.undoStopAfter)}const{removeUndefined:a}=o.objects;function h(E,f,d){E.updateOptions(f),E.getModel()&&E.getModel().updateOptions(d)}let u=class extends o.WithEventBus{get currentUri(){return this.currentDocumentModel?this.currentDocumentModel.uri:null}getId(){return this.monacoEditor.getId()}getSelections(){return this.monacoEditor.getSelections()||[]}disableSelectionEmitter(){this._disableSelectionEmitter=!0}enableSelectionEmitter(){this._disableSelectionEmitter=!1}constructor(f,d){super(),this.monacoEditor=f,this.type=d,this.onFocus=this.monacoEditor.onDidFocusEditorWidget,this.onBlur=this.monacoEditor.onDidBlurEditorWidget,this._specialEditorOptions={},this._specialModelOptions={},this._editorOptionsFromContribution={},this._disableSelectionEmitter=!1,this.decorationApplier=this.injector.get(m.MonacoEditorDecorationApplier,[this.monacoEditor]),this.addDispose(this.monacoEditor.onDidChangeModel(this.onDidChangeModel.bind(this))),this.addDispose(this.monacoEditor.onDidChangeModelLanguage(()=>{this._doUpdateOptions()})),this.addDispose(this.configurationService.onDidChangeConfiguration(y=>{Array.from(y.affectedKeys.values()).filter(A=>(0,p.isEditorOption)(A)).length>0&&this._doUpdateOptions()}))}async onDidChangeModel(){this._editorOptionsFromContribution={};const f=this.currentUri;f&&Promise.resolve(this.editorFeatureRegistry.runProvideEditorOptionsForUri(f)).then(d=>{!this.currentUri||!f.isEqual(this.currentUri)||d&&Object.keys(d).length>0&&(this._editorOptionsFromContribution=d,(0,o.isEmptyObject)(this._editorOptionsFromContribution)||this._doUpdateOptions())})}getType(){return this.type}updateOptions(f={},d={}){this._specialEditorOptions=a({...this._specialEditorOptions,...f}),this._specialModelOptions=a({...this._specialModelOptions,...d}),this._doUpdateOptions()}_doUpdateOptions(){const{editorOptions:f,modelOptions:d}=this._calculateFinalOptions();h(this.monacoEditor,f,d)}_calculateFinalOptions(){var f;const d=this.currentUri?this.currentUri.toString():void 0,y=this.currentDocumentModel?this.currentDocumentModel.languageId:void 0,b=(0,p.getConvertedMonacoOptions)(this.configurationService,d,y,void 0);let S={...{readOnly:((f=this.currentDocumentModel)===null||f===void 0?void 0:f.readonly)||!1},...b.editorOptions,...this._editorOptionsFromContribution,...this._specialEditorOptions};return this.type!==v.EditorType.CODE&&(S={...S,...b.diffOptions}),{editorOptions:S,modelOptions:{...b.modelOptions,...this._specialModelOptions}}}insertSnippet(f,d,y){g(this.monacoEditor,f,d,y)}applyDecoration(f,d){this.decorationApplier.applyDecoration(f,d)}onSelectionsChanged(f){return this.monacoEditor.onDidChangeCursorSelection(d=>{this._disableSelectionEmitter||f({selections:this.getSelections(),source:d.source})})}onVisibleRangesChanged(f){const d=new o.Disposable,y=this.monacoEditor;return d.addDispose(y.onDidScrollChange(b=>{f(this.monacoEditor.getVisibleRanges())})),d.addDispose(y.onDidLayoutChange(b=>{f(this.monacoEditor.getVisibleRanges())})),d}setSelections(f){return this.monacoEditor.setSelections(f)}setSelection(f){return this.monacoEditor.setSelection(f)}async save(){this.currentDocumentModel&&await this.currentDocumentModel.save()}onConfigurationChanged(f){return this.monacoEditor.onDidChangeConfiguration(y=>{f()})}};t.BaseMonacoEditorWrapper=u,n.__decorate([(0,r.Autowired)(s.IEditorFeatureRegistry),n.__metadata("design:type",Object)],u.prototype,"editorFeatureRegistry",void 0),n.__decorate([(0,r.Autowired)(_.IConfigurationService),n.__metadata("design:type",Object)],u.prototype,"configurationService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],u.prototype,"injector",void 0),t.BaseMonacoEditorWrapper=u=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object])],u);let c=class extends u{get currentDocumentModel(){return this._getDocumentModel()}updateDocumentModel(f){const d=this.documents.get();if(d!=="loading"){for(const y of d)y.object.modified&&o.URI.from(y.object.modified.uri).isEqual(f)&&(this._getDocumentModel=()=>y.object.modifiedInstance),y.object.original&&o.URI.from(y.object.original.uri).isEqual(f)&&(this._getDocumentModel=()=>y.object.originalInstance);this.decorationApplier.clearDecorations(),this.decorationApplier.applyDecorationFromProvider()}}constructor(f,d,y,b){super(f,y),this._getDocumentModel=d,this.documents=b}};t.DiffEditorPart=c,t.DiffEditorPart=c=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Function,Object,Object])],c)},87802:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultBreadCrumbProvider=void 0,t.findCurrentDocumentSymbol=h;const n=e(85608),r=n.__importDefault(e(12784)),o=e(76003),l=e(41869),_=e(26542),v=e(79929),m=e(97408),p=e(82196),s=e(17459),{Path:g}=l.path;let a=class extends l.WithEventBus{constructor(){super(...arguments),this._onDidUpdateBreadCrumb=new l.Emitter,this.onDidUpdateBreadCrumb=this._onDidUpdateBreadCrumb.event,this.debouncedFireUriEvent=new Map,this.cachedBreadCrumb=new l.LRUMap(200,100)}handlesUri(d){return this.fileServiceClient.handlesScheme(d.scheme)}provideBreadCrumbForUri(d,y){return this.getFileParts(d).concat(this.getDocumentSymbolParts(d,y))}getFileParts(d){const y=this.workspaceService.workspace?new l.URI(this.workspaceService.workspace.uri):void 0;let b,A;y&&y.isEqualOrParent(d)?(b=y,A=y.relative(d)):(b=l.URI.from({scheme:d.scheme,authority:d.authority}),A=d.path);let S=b.path;const D=[];for(const I of A.toString().split(g.separator).filter(w=>!!w)){S=S.join(I);const w=b.withPath(S);D.push(this.createFilePartBreadCrumbUri(w,!w.isEqual(d)))}return D}createFilePartBreadCrumbUri(d,y){const b=d.toString();if(this.cachedBreadCrumb.has(b))return this.cachedBreadCrumb.get(b);const A={name:d.path.base,uri:d,icon:this.labelService.getIcon(d,{isDirectory:y}),getSiblings:async()=>{const S=l.URI.from({scheme:d.scheme}).withPath(d.path.dir),D=await this.fileServiceClient.getFileStat(S.toString()),I=[];let w=-1;return D&&D.children&&D.children.length>0&&u(D.children).forEach((T,R)=>{I.push(this.createFilePartBreadCrumbUri(new l.URI(T.uri),T.isDirectory)),w===-1&&d.toString()===T.uri&&(w=R)}),{parts:I,currentIndex:w}}};return y?A.getChildren=async()=>{const S=await this.fileServiceClient.getFileStat(d.toString()),D=[];return S&&S.children&&S.children.length>0&&u(S.children).forEach((I,w)=>{D.push(this.createFilePartBreadCrumbUri(new l.URI(I.uri),I.isDirectory))}),D}:A.onClick=()=>{this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,d)},this.cachedBreadCrumb.set(b,A),A}getDocumentSymbolParts(d,y){if(!y)return[];const b=this.documentSymbolStore.getDocumentSymbol(d);if(b&&b.length>0){const A=h(b,y.monacoEditor.getPosition());return A.length>0?A.map(S=>this.createFromDocumentSymbol(S,y)):[{name:"...",getSiblings:()=>({parts:b.sort((S,D)=>E(S.range,D.range)).map(S=>this.createFromDocumentSymbol(S,y)),currentIndex:-1})}]}else return[]}createFromDocumentSymbol(d,y){const b={name:d.name,icon:(0,l.getSymbolIcon)(d.kind),isSymbol:!0,onClick:()=>{y.setSelection({startColumn:d.range.startColumn,endColumn:d.range.startColumn,startLineNumber:d.range.startLineNumber,endLineNumber:d.range.startLineNumber}),y.monacoEditor.revealRangeInCenter(d.range),y.monacoEditor.focus()}};return d.parent&&(b.getSiblings=()=>({parts:d.parent.children.sort((A,S)=>E(A.range,S.range)).map(A=>this.createFromDocumentSymbol(A,y)),currentIndex:d.parent.children.indexOf(d)})),d.children&&d.children.length>0&&(b.getChildren=()=>d.children.sort((A,S)=>E(A.range,S.range)).map(A=>this.createFromDocumentSymbol(A,y))),b}onDocumentSymbolChangedEvent(d){this.notifyUpdate(d.payload)}onEditorSelectionChangeEvent(d){this.notifyUpdate(d.payload.editorUri)}notifyUpdate(d){this.debouncedFireUriEvent.has(d.toString())||this.debouncedFireUriEvent.set(d.toString(),(0,r.default)(()=>{this._onDidUpdateBreadCrumb.fire(d)},100,{maxWait:1e3})),this.debouncedFireUriEvent.get(d.toString())()}};t.DefaultBreadCrumbProvider=a,n.__decorate([(0,o.Autowired)(v.IFileServiceClient),n.__metadata("design:type",Object)],a.prototype,"fileServiceClient",void 0),n.__decorate([(0,o.Autowired)(m.IWorkspaceService),n.__metadata("design:type",Object)],a.prototype,"workspaceService",void 0),n.__decorate([(0,o.Autowired)(_.LabelService),n.__metadata("design:type",_.LabelService)],a.prototype,"labelService",void 0),n.__decorate([(0,o.Autowired)(l.CommandService),n.__metadata("design:type",Object)],a.prototype,"commandService",void 0),n.__decorate([(0,o.Autowired)(),n.__metadata("design:type",s.DocumentSymbolStore)],a.prototype,"documentSymbolStore",void 0),n.__decorate([(0,l.OnEvent)(s.DocumentSymbolChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[s.DocumentSymbolChangedEvent]),n.__metadata("design:returntype",void 0)],a.prototype,"onDocumentSymbolChangedEvent",null),n.__decorate([(0,l.OnEvent)(p.EditorSelectionChangeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorSelectionChangeEvent]),n.__metadata("design:returntype",void 0)],a.prototype,"onEditorSelectionChangeEvent",null),t.DefaultBreadCrumbProvider=a=n.__decorate([(0,o.Injectable)()],a);function h(f,d){const y=[];if(!d)return y;let b=f;for(;b&&b.length>0;){let A=!1;for(const S of b)if(c(d,S.range)){y.push(S),b=S.children,A=!0;break}if(!A)break}return y}function u(f){return f.sort((d,y)=>{if(d.isDirectory&&y.isDirectory||!d.isDirectory&&!y.isDirectory){const b=new l.URI(d.uri).path.name,A=new l.URI(y.uri).path.name;return b.localeCompare(A,"kn",{numeric:!0})}else return d.isDirectory&&!y.isDirectory?-1:!d.isDirectory&&y.isDirectory?1:0})}function c(f,d){return f.lineNumber<d.startLineNumber?!1:f.lineNumber===d.startLineNumber?f.column>=d.startColumn:f.lineNumber<d.endLineNumber?!0:f.lineNumber===d.endLineNumber?f.column<=d.endColumn:!1}function E(f,d){return f.startLineNumber>d.startLineNumber?1:f.startLineNumber<d.startLineNumber?-1:f.startColumn===d.startColumn?0:f.startColumn>d.startColumn?1:-1}},17459:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SymbolTag=t.DocumentSymbolChangedEvent=t.DocumentSymbolStore=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=e(76003),l=e(41869),_=e(79865),v=e(40540);Object.defineProperty(t,"SymbolTag",{enumerable:!0,get:function(){return v.SymbolTag}});const m=e(23418),p=e(96689);let s=class extends l.WithEventBus{constructor(){super(),this.documentSymbols=new Map,this.pendingUpdate=new Set,this.debounced=new Map,this.symbolDeferred=new Map,this.addDispose(_.languageFeaturesService.documentSymbolProvider.onDidChange(()=>{Array.from(this.documentSymbols.keys()).forEach(c=>{this.markNeedUpdate(new l.URI(c))})}))}getDocumentSymbol(c){return this.documentSymbols.has(c.toString())||(this.documentSymbols.set(c.toString(),void 0),this.createDocumentSymbolCache(c)),this.pendingUpdate.has(c.toString())&&this.updateDocumentSymbolCache(c),this.documentSymbols.get(c.toString())}async getDocumentSymbolAsync(c,E){var f;const d=c.toString();return E&&E.onCancellationRequested(()=>{var y;(y=this.symbolDeferred.get(d))===null||y===void 0||y.resolve(),this.symbolDeferred.delete(d)}),(!this.documentSymbols.has(d)||this.pendingUpdate.has(d))&&!this.symbolDeferred.has(d)&&(this.symbolDeferred.set(d,new l.Deferred),this.updateDocumentSymbolCache(c)),await((f=this.symbolDeferred.get(d))===null||f===void 0?void 0:f.promise),this.documentSymbols.get(d)}async createDocumentSymbolCache(c){this.updateDocumentSymbolCache(c)}async doUpdateDocumentSymbolCache(c){var E,f;this.pendingUpdate.delete(c.toString());const d=await this.editorDocumentModelRegistry.createModelReference(c);if(!d){(E=this.symbolDeferred.get(c.toString()))===null||E===void 0||E.resolve();return}try{const y=_.languageFeaturesService.documentSymbolProvider.all(d.instance.getMonacoModel());let b;for(const A of y)if(b=await A.provideDocumentSymbols(d.instance.getMonacoModel(),new l.CancellationTokenSource().token),b)break;b&&a(b,{children:b},c),this.documentSymbols.set(c.toString(),b),this.eventBus.fire(new g(c))}finally{d.dispose()}(f=this.symbolDeferred.get(c.toString()))===null||f===void 0||f.resolve()}updateDocumentSymbolCache(c){this.debounced.has(c.toString())||this.debounced.set(c.toString(),(0,r.default)(()=>this.doUpdateDocumentSymbolCache(c),100,{maxWait:1e3})),this.debounced.get(c.toString())()}onEditorDocumentModelContentChangedEvent(c){c.payload.changes&&c.payload.changes.length>0&&this.markNeedUpdate(c.payload.uri)}markNeedUpdate(c){this.pendingUpdate.add(c.toString()),this.isWatching(c)&&this.updateDocumentSymbolCache(c)}isWatching(c){for(const E of this.editorService.editorGroups)if(E.currentResource&&E.currentResource.uri.isEqual(c))return!0;return!1}};t.DocumentSymbolStore=s,n.__decorate([(0,o.Autowired)(p.IEditorDocumentModelService),n.__metadata("design:type",Object)],s.prototype,"editorDocumentModelRegistry",void 0),n.__decorate([(0,o.Autowired)(m.WorkbenchEditorService),n.__metadata("design:type",m.WorkbenchEditorService)],s.prototype,"editorService",void 0),n.__decorate([(0,l.OnEvent)(p.EditorDocumentModelContentChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorDocumentModelContentChangedEvent]),n.__metadata("design:returntype",void 0)],s.prototype,"onEditorDocumentModelContentChangedEvent",null),t.DocumentSymbolStore=s=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],s);class g extends l.BasicEvent{}t.DocumentSymbolChangedEvent=g;function a(u,c,E){return u.forEach((f,d)=>{const y=f;y.parent=c,y.id=h(E,y,d),f.children&&f.children.length>0&&a(f.children,f,E)}),u}function h(u,c,E){const f=[c.name];for(;c.parent;){const d=c.parent;if(!d.name)break;f.unshift(d.name),c=d}return`${u.toString()}__${f.join("-")}__${E}`}},88895:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BreadCrumbServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(87802),{addElement:_}=o.arrays;let v=class{constructor(){this.providers=[],this._onDidUpdateBreadCrumbResults=new o.Emitter,this.onDidUpdateBreadCrumbResults=this._onDidUpdateBreadCrumbResults.event,this.crumbResults=new Map,this.registerBreadCrumbProvider(this.defaultBreadCrumbProvider)}registerBreadCrumbProvider(g){const a=_(this.providers,g);return g.onDidUpdateBreadCrumb(h=>{this.crumbResults.forEach((u,c)=>{u.has(h.toString())&&this.getBreadCrumbs(h,c)})}),a}getBreadCrumbs(g,a){const h=this.getEditorCrumbResults(a);for(const u of this.providers)if(u.handlesUri(g)){const c=h.get(g.toString()),E=u.provideBreadCrumbForUri(g,a);m(c,E)||(h.set(g.toString(),E),this._onDidUpdateBreadCrumbResults.fire({editor:a,uri:g}));break}return h.get(g.toString())}getEditorCrumbResults(g){return this.crumbResults.has(g)||(this.crumbResults.set(g,new Map),g&&g.monacoEditor.onDidDispose(()=>{this.crumbResults.delete(g)})),this.crumbResults.get(g)}disposeCrumb(g){}};t.BreadCrumbServiceImpl=v,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.DefaultBreadCrumbProvider)],v.prototype,"defaultBreadCrumbProvider",void 0),t.BreadCrumbServiceImpl=v=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],v);function m(s,g){if(!s&&!g)return!0;if(!s||!g)return!1;if(s.length!==g.length)return!1;for(let a=0;a<s.length;a++)if(!p(s[a],g[a]))return!1;return!0}function p(s,g){return s.name===g.name}},11673:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorComponentRegistryImpl=void 0;const n=e(85608),r=n.__importDefault(e(46343)),o=n.__importDefault(e(19106)),l=n.__importDefault(e(43144)),_=e(76003),v=e(43718),m=e(82196);let p=class{constructor(){this.components=new Map,this.sideWidgets={bottom:new Set,top:new Set},this.initialPropsMap=new Map,this.resolvers=new Map,this.normalizedResolvers=[],this.perWorkbenchComponents={}}registerEditorComponent(g,a){const h=g.uid;return g.renderMode||(g.renderMode=m.EditorComponentRenderMode.ONE_PER_GROUP),this.components.set(h,g),this.initialPropsMap.set(h,a),this.eventBus.fire(new v.ExtensionActivateEvent({topic:"onRegisterEditorComponent",data:h})),this.eventBus.fire(new m.RegisterEditorComponentEvent(h)),{dispose:()=>{this.components.get(h)===g&&(this.components.delete(h),this.eventBus.fire(new m.EditorComponentDisposeEvent(g)))}}}registerEditorComponentResolver(g,a){let h;return typeof g=="function"?h={handleScheme:g,resolver:a}:h={handleScheme:u=>u===g?10:-1,resolver:a},this.normalizedResolvers.push(h),this.resolvers.clear(),{dispose:()=>{for(const c of this.resolvers.values()){const E=c.indexOf(a);E!==-1&&c.splice(E,1)}const u=this.normalizedResolvers.indexOf(h);u!==-1&&this.normalizedResolvers.splice(u,1)}}}async resolveEditorComponent(g){let a=[];const h=this.getResolvers(g.uri.scheme).slice();let u=!1;const c=E=>{a=E,u=!0};for(const E of h)if(await E(g,a,c),u)break;return a.sort((E,f)=>{const d=E.weight||0;return(f.weight||0)-d}),(0,o.default)(a,r.default)}calculateSchemeResolver(g){const a=this.normalizedResolvers.slice(),h=[];return a.forEach((u,c)=>{const E=u.handleScheme(g);E>=0&&h.push({weight:E,index:c,resolver:u.resolver})}),h.sort((u,c)=>u.weight>c.weight?-1:u.weight<c.weight?1:c.index-u.index).map(u=>u.resolver)}getResolvers(g){return this.resolvers.has(g)||this.resolvers.set(g,this.calculateSchemeResolver(g)),this.resolvers.get(g)}getEditorComponent(g){return this.components.get(g)||null}getEditorInitialProps(g){return this.initialPropsMap.get(g)||null}clearPerWorkbenchComponentCache(g){l.default.unmountComponentAtNode(this.perWorkbenchComponents[g]),delete this.perWorkbenchComponents[g]}getSideWidgets(g,a){const h=[];return this.sideWidgets[g].forEach(u=>{u.displaysOnResource(a)&&h.push(u)}),h.sort((u,c)=>{const E=u.weight===void 0?10:u.weight;return(c.weight===void 0?10:c.weight)-E})}registerEditorSideWidget(g){const a=g.side||"bottom";return this.sideWidgets[a].add(g),this.eventBus.fire(new m.RegisterEditorSideComponentEvent),{dispose:()=>{this.sideWidgets[a].delete(g)}}}};t.EditorComponentRegistryImpl=p,n.__decorate([(0,_.Autowired)(v.IEventBus),n.__metadata("design:type",Object)],p.prototype,"eventBus",void 0),t.EditorComponentRegistryImpl=p=n.__decorate([(0,_.Injectable)()],p)},84677:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoEditorDecorationApplier=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=e(76003),l=e(43718),_=e(52416),v=e(82196);let m=class extends l.Disposable{constructor(u){super(),this.editor=u,this.decorations=new Map,this.applyDecorationFromProvider(),this.addDispose(this.editor.onDidChangeModel(()=>{this.clearDecorations(),this.applyDecorationFromProvider()})),this.addDispose(this.editor.onDidDispose(()=>{this.dispose()})),this.addDispose(this.eventBus.on(v.EditorDecorationChangeEvent,c=>{const E=this.getEditorUri();E&&c.payload.uri.isEqual(E)&&this.applyDecorationFromProvider(c.payload.key)})),this.addDispose(this.eventBus.on(v.EditorDecorationTypeRemovedEvent,c=>{this.deltaDecoration(c.payload,[])}))}getEditorUri(){return this.editor.getModel()?new l.URI(this.editor.getModel().uri.toString()):null}async applyDecorationFromProvider(u){if(this.editor.getModel()){const c=new l.URI(this.editor.getModel().uri.toString()),E=await this.decorationService.getDecorationFromProvider(c,u);if(!this.editor.getModel()||this.editor.getModel().uri.toString()!==c.toString())return;for(const f of Object.keys(E))this.deltaDecoration(f,E[f]);this.eventBus.fire(new v.DidApplyEditorDecorationFromProvider({key:u,uri:c}))}}dispose(){super.dispose(),this.clearDecorations()}clearDecorations(){this.decorations.forEach(u=>{u.dispose(),this.editor.deltaDecorations(u.decorations,[])}),this.decorations.clear()}deltaDecoration(u,c){let E=[];if(this.decorations.has(u)&&(E=this.decorations.get(u).decorations,this.decorations.get(u).dispose(),this.decorations.delete(u)),E.length===0&&c.length===0)return;const f=this.editor.deltaDecorations(E,c);this.decorations.set(u,{decorations:f,dispose:()=>null})}applyDecoration(u,c){const E=this.decorations.get(u);E&&E.dispose();const f=E?E.decorations:[],d=[],y=new l.Disposable;if(f.length===0&&c.length===0)return;c.forEach(A=>{const S=this.resolveDecorationRenderer(u,A.renderOptions);d.push({range:A.range,options:{...S.options,hoverMessage:g(A.hoverMessage)}}),y.addDispose(S)});const b=this.editor.deltaDecorations(f,d);this.decorations.set(u,{decorations:b,dispose:()=>y.dispose()})}resolveDecorationRenderer(u,c){const E=this.decorationService.getTextEditorDecorationType(u),f={description:u},d=this.themeService.getCurrentThemeSync().type,y=new l.Disposable;if(E){const b=E.property;p(f,b,d)}if(c){const b=this.decorationService.createTextEditorDecorationType(c);p(f,b.property,d),y.addDispose(b)}return{options:f,dispose:()=>y.dispose()}}};t.MonacoEditorDecorationApplier=m,n.__decorate([(0,o.Autowired)(v.IEditorDecorationCollectionService),n.__metadata("design:type",Object)],m.prototype,"decorationService",void 0),n.__decorate([(0,o.Autowired)(_.IThemeService),n.__metadata("design:type",Object)],m.prototype,"themeService",void 0),n.__decorate([(0,o.Autowired)(l.IEventBus),n.__metadata("design:type",Object)],m.prototype,"eventBus",void 0),t.MonacoEditorDecorationApplier=m=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],m);function p(h,u,c){u.overviewRulerLane&&(h.overviewRuler?h.overviewRuler.position=u.overviewRulerLane:h.overviewRuler={color:null,position:u.overviewRulerLane}),u.default&&s(h,u.default),c==="dark"&&u.dark&&s(h,u.dark),c==="light"&&u.light&&s(h,u.light),u.isWholeLine!==void 0&&(h.isWholeLine=u.isWholeLine),u.rangeBehavior&&(h.stickiness=u.rangeBehavior),h.inlineClassNameAffectsLetterSpacing=!0}function s(h,u){u.className&&(h.className=(0,r.default)(h.className,u.className)),u.inlineClassName&&(h.inlineClassName=(0,r.default)(h.inlineClassName,u.inlineClassName)),u.afterContentClassName&&(h.afterContentClassName=(0,r.default)(h.afterContentClassName,u.afterContentClassName)),u.beforeContentClassName&&(h.beforeContentClassName=(0,r.default)(h.beforeContentClassName,u.beforeContentClassName)),u.glyphMarginClassName&&(h.glyphMarginClassName=(0,r.default)(h.glyphMarginClassName,u.glyphMarginClassName)),u.overviewRulerColor&&h.overviewRuler&&(h.overviewRuler.color=u.overviewRulerColor)}function g(h){if(h)return h instanceof Array?h.map(a):a(h)}function a(h){return typeof h=="string"?{value:h,isTrusted:!0}:h}},84158:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CompareEditorContribution=t.CompareService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),_=e(82196);let v=class{constructor(){this.comparing=new Map}compare(s,g,a){const h=o.URI.from({scheme:_.DIFF_SCHEME,query:o.URI.stringifyQuery({name:a,original:s,modified:g,comparing:!0})});if(!this.comparing.has(h.toString())){const u=new o.Deferred;this.comparing.set(h.toString(),u),u.promise.then(()=>{this.comparing.delete(h.toString()),this.commandService.executeCommand(o.EDITOR_COMMANDS.CLOSE_ALL.id,h)})}return this.commandService.executeCommand(o.EDITOR_COMMANDS.OPEN_RESOURCE.id,h),this.comparing.get(h.toString()).promise}};t.CompareService=v,n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],v.prototype,"commandService",void 0),t.CompareService=v=n.__decorate([(0,r.Injectable)()],v);let m=class{registerMenus(s){s.registerMenuItems(l.MenuId.EditorTitle,[{command:{id:o.DIFF_EDITOR_COMMANDS.ACCEPT.id,label:(0,o.localize)("editor.action.accept")},iconClass:(0,o.getIcon)("check"),group:"navigation",when:"isInDiffEditor && diffResource =~ /%26comparing%3Dtrue$/"}]),s.registerMenuItems(l.MenuId.EditorTitle,[{command:{id:o.DIFF_EDITOR_COMMANDS.REVERT.id,label:(0,o.localize)("editor.action.revert")},iconClass:(0,o.getIcon)("rollback"),group:"navigation",when:"isInDiffEditor && diffResource =~ /%26comparing%3Dtrue$/"}]),s.registerMenuItems(l.MenuId.EditorTitle,[{command:{id:o.DIFF_EDITOR_COMMANDS.TOGGLE_COLLAPSE_UNCHANGED_REGIONS.id,label:(0,o.localize)("diffEditor.action.toggleCollapseUnchangedRegions")},toggledWhen:"config.diffEditor.hideUnchangedRegions.enabled",iconClass:"codicon codicon-map",group:"navigation",when:"isInDiffEditor"}])}registerCommands(s){s.registerCommand(o.DIFF_EDITOR_COMMANDS.ACCEPT,{execute:g=>{g&&this.compareService.comparing.has(g.toString())&&this.compareService.comparing.get(g.toString()).resolve(_.CompareResult.accept)}}),s.registerCommand(o.DIFF_EDITOR_COMMANDS.REVERT,{execute:g=>{g&&this.compareService.comparing.has(g.toString())&&this.compareService.comparing.get(g.toString()).resolve(_.CompareResult.revert)}}),s.registerCommand(o.DIFF_EDITOR_COMMANDS.TOGGLE_COLLAPSE_UNCHANGED_REGIONS,{execute:()=>{const g=this.preferenceService.get("diffEditor.hideUnchangedRegions.enabled");this.preferenceService.set("diffEditor.hideUnchangedRegions.enabled",!g,o.PreferenceScope.User)}})}};t.CompareEditorContribution=m,n.__decorate([(0,r.Autowired)(_.ICompareService),n.__metadata("design:type",v)],m.prototype,"compareService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],m.prototype,"preferenceService",void 0),t.CompareEditorContribution=m=n.__decorate([(0,o.Domain)(l.MenuContribution,o.CommandContribution)],m)},57581:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultDiffEditorContribution=t.DiffResourceProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26542),_=e(14951),v=e(23418),m=e(82196);let p=class extends o.WithEventBus{constructor(){super(...arguments),this.scheme=v.DIFF_SCHEME,this.modifiedToResource=new Map}onResourceDecorationChangeEvent(a){a.payload.uri&&this.modifiedToResource.has(a.payload.uri.toString())&&this.eventBus.fire(new v.ResourceDecorationNeedChangeEvent({uri:this.modifiedToResource.get(a.payload.uri.toString()),decoration:a.payload.decoration}))}async getCurrentUserHome(){if(!this.userhomePath)try{const a=await this.fileServiceClient.getCurrentUserHome();a&&(this.userhomePath=new o.URI(a.uri))}catch{}return this.userhomePath}async getReadableTooltip(a){const h=a.toString(),u=await this.getCurrentUserHome();if(!u)return decodeURIComponent(a.withScheme("").toString());if(u.isEqualOrParent(a)){const c=u&&u.toString();return decodeURIComponent(h.replace(c,"~"))}return decodeURIComponent(a.withScheme("").toString())}async provideResource(a){const{original:h,modified:u,name:c}=a.getParsedQuery(),E=new o.URI(h),f=new o.URI(u);return this.modifiedToResource.set(f.toString(),a),Promise.all([this.labelService.getIcon(E),this.getReadableTooltip(f)]).then(([d,y])=>{var b;return{name:c,icon:d,uri:a,supportsRevive:(b=this.appConfig.enableDiffRevive)!==null&&b!==void 0?b:!0,metadata:{original:E,modified:f},title:y}})}async shouldCloseResource(a,h){const{modified:u}=a.uri.getParsedQuery(),c=new o.URI(u),E=await this.resourceService.getResource(c);return E?await this.resourceService.shouldCloseResource(E,h):!0}};t.DiffResourceProvider=p,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.LabelService)],p.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(v.ResourceService),n.__metadata("design:type",v.ResourceService)],p.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",Object)],p.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],p.prototype,"appConfig",void 0),n.__decorate([(0,o.OnEvent)(v.ResourceDecorationChangeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.ResourceDecorationChangeEvent]),n.__metadata("design:returntype",void 0)],p.prototype,"onResourceDecorationChangeEvent",null),t.DiffResourceProvider=p=n.__decorate([(0,r.Injectable)()],p);let s=class{registerResource(a){a.registerResourceProvider(this.diffResourceProvider)}registerEditorComponent(a){a.registerEditorComponentResolver(v.DIFF_SCHEME,(h,u)=>{u.push({type:m.EditorOpenType.diff})})}};t.DefaultDiffEditorContribution=s,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",p)],s.prototype,"diffResourceProvider",void 0),t.DefaultDiffEditorContribution=s=n.__decorate([(0,o.Domain)(m.BrowserEditorContribution)],s)},21690:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EmptyDocCacheImpl=void 0;const n=e(85608),r=e(76003);let o=class{hasCache(_){return!1}isFlushed(){return!0}getCache(_){return null}persistCache(_,v){}};t.EmptyDocCacheImpl=o,t.EmptyDocCacheImpl=o=n.__decorate([(0,r.Injectable)()],o)},80487:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(21690),t),n.__exportStar(e(7220),t)},7220:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LocalStorageDocCacheImpl=void 0;const n=e(85608),r=e(76003),o=e(51500),l=e(93107);let _=class{hasCache(m){return!0}isFlushed(){return!0}async getCache(m){const p=this.parseKeyFrom(m);return await this.storageService.getData(p)||null}persistCache(m,p){const s=this.parseKeyFrom(m),g=this.parseCacheFrom(m,p);this.storageService.setData(s,g)}parseCacheFrom(m,p){if(!(!p.dirty||!p.changeMatrix.length))return{path:m.path.toString(),startMD5:p.startMD5,changeMatrix:p.changeMatrix.map(s=>s.map(g=>(0,l.parseCacheValueFrom)(g)))}}parseKeyFrom(m){return`LocalStorageDocCacheImpl_${m.toString()}`}};t.LocalStorageDocCacheImpl=_,n.__decorate([(0,r.Autowired)(o.IWorkspaceStorageService),n.__metadata("design:type",Object)],_.prototype,"storageService",void 0),t.LocalStorageDocCacheImpl=_=n.__decorate([(0,r.Injectable)()],_)},86942:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorDocumentError=void 0;var e;(function(n){n.READ_CACHE_ERROR="EditorDocumentError:READ_CACHE_ERROR",n.APPLY_CACHE_TO_DIRTY_DOCUMENT="EditorDocumentError:APPLY_CACHE_TO_DIRTY_DOCUMENT",n.APPLY_CACHE_TO_DIFFERENT_DOCUMENT="EditorDocumentError:APPLY_CACHE_TO_DIFFERENT_DOCUMENT",n.FORMAT_ERROR="EditorDocumentError:FORMAT_ERROR"})(e||(t.EditorDocumentError=e={}))},9519:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorDocumentModelServiceImpl=t.EDITOR_DOC_OPTIONS_PREF_KEY=t.EDITOR_DOCUMENT_MODEL_STORAGE=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(96405),_=e(14951),v=e(91249),m=e(96689);t.EDITOR_DOCUMENT_MODEL_STORAGE=new o.URI("editor-doc").withScheme(o.STORAGE_SCHEMA.SCOPE),t.EDITOR_DOC_OPTIONS_PREF_KEY="editor_doc_pref";let p=class extends o.WithEventBus{constructor(){super(),this.editorDocModels=new Map,this.creatingEditorModels=new Map,this._modelsToDispose=new Set,this.preferredModelOptions=new Map,this._ready=this.registerDispose(new o.ReadyEvent),this.modelCreationEventDispatcher=this.registerDispose(new o.Dispatcher),this._modelReferenceManager=new o.ReferenceManager(g=>(this._modelsToDispose.has(g)&&this._modelsToDispose.delete(g),this.getOrCreateModel(g))),this._modelReferenceManager.onReferenceAllDisposed(g=>{this._delete(g)}),this._modelReferenceManager.onInstanceCreated(g=>{this.modelCreationEventDispatcher.dispatch(g.uri.toString()),this.eventBus.fire(new m.EditorDocumentModelCreationEvent({uri:g.uri,languageId:g.languageId,eol:g.eol,encoding:g.encoding,content:g.getText(),readonly:g.readonly,versionId:g.getMonacoModel().getVersionId()}))}),this.addDispose(this.preferenceService.onPreferenceChanged(g=>{g.preferenceName==="editor.detectIndentation"&&this.editorDocModels.forEach(a=>{a.updateOptions({})})}))}onDocumentModelCreated(g,a){return this.modelCreationEventDispatcher.on(g)(a)}_delete(g){const a=this.preferenceService.get("editor.modelDisposeTime",3e3);this._modelsToDispose.add(g.toString());let h=null;const u=this.addDispose({dispose:()=>{h&&clearTimeout(h)}});h=window.setTimeout(()=>{u.dispose(),h=null,this._modelsToDispose.has(g.toString())&&this._doDelete(g.toString())},a)}_doDelete(g){const a=this.editorDocModels.get(g);if(a&&(!a.dirty||a.disposeEvenDirty))return a.dispose(),this.editorDocModels.delete(g),a;this._modelsToDispose.delete(g)}async changeModelOptions(g,a){return this.onceReady(()=>{this.preferredModelOptions.has(g.toString())&&(a={...this.preferredModelOptions.get(g.toString()),...a}),this.preferredModelOptions.set(g.toString(),a);const h=this.getModelReference(g);return h&&(a.encoding&&a.encoding!==h.instance.encoding&&h.instance.updateEncoding(a.encoding),a.languageId&&a.languageId!==h.instance.languageId&&(h.instance.languageId=a.languageId),a.eol&&a.eol!==h.instance.eol&&(h.instance.eol=a.eol),h.dispose()),this.persistOptionsPreference()})}persistOptionsPreference(){return this.storage.set(t.EDITOR_DOC_OPTIONS_PREF_KEY,JSON.stringify((0,o.mapToSerializable)(this.preferredModelOptions)))}async initialize(){if(this.storage=await this.getStorage(t.EDITOR_DOCUMENT_MODEL_STORAGE),this.storage.get(t.EDITOR_DOC_OPTIONS_PREF_KEY))try{this.preferredModelOptions=(0,o.serializableToMap)(JSON.parse(this.storage.get(t.EDITOR_DOC_OPTIONS_PREF_KEY)))}catch(g){this.logger.error(g)}this._ready.ready()}async acceptExternalChange(g){this.hashCalculateService.initialized||await this.hashCalculateService.initialize();const a=this.editorDocModels.get(g.payload.toString());if(a&&!a.dirty){const h=await this.contentRegistry.getProvider(a.uri);if(h)if(h.provideEditorDocumentModelContentMd5)await h.provideEditorDocumentModelContentMd5(a.uri,a.encoding)!==a.getBaseContentMd5()&&a.updateContent(await this.contentRegistry.getContentForUri(a.uri,a.encoding),void 0,!0);else{const u=await this.contentRegistry.getContentForUri(a.uri,a.encoding);this.hashCalculateService.calculate(u)!==a.getBaseContentMd5()&&a.updateContent(u,void 0,!0)}}}createModelReference(g,a){return this._modelReferenceManager.getReference(g.toString(),a)}getModelReference(g,a){return this._modelReferenceManager.getReferenceIfHasInstance(g.toString(),a)}getModelDescription(g,a){const h=this.getModelReference(g,a);if(!h)return null;const u=h.instance,c={alwaysDirty:u.alwaysDirty,closeAutoSave:u.closeAutoSave,disposeEvenDirty:u.disposeEvenDirty,eol:u.eol,encoding:u.encoding,dirty:u.dirty,languageId:u.languageId,readonly:u.readonly,uri:u.uri,id:u.id,savable:u.savable};return h.dispose(),c}getAllModels(){return Array.from(this.editorDocModels.values())}hasLanguage(g){return this.getAllModels().findIndex(a=>a.languageId===g)!==-1}async getOrCreateModel(g,a){return this.editorDocModels.has(g)?this.editorDocModels.get(g):this.createModel(g,a)}get onceReady(){return this.initialize(),this._ready.onceReady.bind(this._ready)}createModel(g,a){if(!this.creatingEditorModels.has(g)){const h=this.doCreateModel(g,a).then(u=>(this.creatingEditorModels.delete(g),u),u=>{throw this.creatingEditorModels.delete(g),u});this.creatingEditorModels.set(g,h)}return this.creatingEditorModels.get(g)}async doCreateModel(g,a){const h=new o.URI(g);let u=await this.contentRegistry.getProvider(h);if(u||await this.fileSystem.shouldWaitProvider(h.scheme)&&(u=await this.contentRegistry.getProvider(h)),!u)throw new Error(`No document provider found for ${h.toString()}`);const[c,E,f,d,y,b]=await Promise.all([u.provideEditorDocumentModelContent(h,a),u.isReadonly?u.isReadonly(h):void 0,u.preferLanguageForUri?u.preferLanguageForUri(h):void 0,u.isAlwaysDirty?u.isAlwaysDirty(h):!1,u.closeAutoSave?u.closeAutoSave(h):!1,u.disposeEvenDirty?u.disposeEvenDirty(h):!1]);!a&&u.provideEncoding&&(a=await u.provideEncoding(h));const A=u.provideEOL?await u.provideEOL(h):`
|
|
33308
33308
|
`,S=!!u.saveDocumentModel,D=this.injector.get(v.EditorDocumentModel,[h,c,{readonly:E,languageId:f,savable:S,eol:A,encoding:a,alwaysDirty:d,closeAutoSave:y,disposeEvenDirty:b}]);return this.onceReady(()=>{if(this.preferredModelOptions.has(h.toString())){const I=this.preferredModelOptions.get(h.toString());I?.encoding&&D.updateEncoding(I.encoding),I?.eol&&(D.eol=I.eol),I?.languageId&&(D.languageId=I.languageId)}}),this.editorDocModels.set(h.toString(),D),D}async saveEditorDocumentModel(g,a,h,u,c,E,f){const d=await this.contentRegistry.getProvider(g);if(!d)throw new Error(`No document provider found for ${g.toString()}`);if(!d.saveDocumentModel)throw new Error(`The document provider of ${g.toString()} does not have a save method`);return await d.saveDocumentModel(g,a,h,u,c,E,f)}dispose(){super.dispose(),this.getAllModels().forEach(g=>{g.getMonacoModel().dispose()})}};t.EditorDocumentModelServiceImpl=p,n.__decorate([(0,r.Autowired)(m.IEditorDocumentModelContentRegistry),n.__metadata("design:type",Object)],p.prototype,"contentRegistry",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],p.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(o.StorageProvider),n.__metadata("design:type",Function)],p.prototype,"getStorage",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],p.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],p.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(l.IHashCalculateService),n.__metadata("design:type",Object)],p.prototype,"hashCalculateService",void 0),n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",Object)],p.prototype,"fileSystem",void 0),n.__decorate([o.memoize,n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",Promise)],p.prototype,"initialize",null),n.__decorate([(0,o.OnEvent)(m.EditorDocumentModelOptionExternalUpdatedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[m.EditorDocumentModelOptionExternalUpdatedEvent]),n.__metadata("design:returntype",Promise)],p.prototype,"acceptExternalChange",null),t.EditorDocumentModelServiceImpl=p=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],p)},91249:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.EditorDocumentModel=void 0;const r=e(85608),o=r.__importDefault(e(12784)),l=e(76003),_=e(41869),v=e(96405),m=e(52902),p=e(68475),s=e(72665),g=e(2261),a=e(44781),h=e(43255),u=e(24347),c=e(23418),E=e(55113),f=e(90915),d=e(82196),y=e(86942),b=e(98469),A=e(96689);let S=n=class extends _.Disposable{constructor(I,w,T={}){super(),this.uri=I,this.saveQueue=new _.Throttler,this._encoding="utf8",this.readonly=!1,this.savable=!1,this.alwaysDirty=!1,this.closeAutoSave=!1,this.disposeEvenDirty=!1,this._originalEncoding=this._encoding,this._persistVersionId=0,this._baseContent="",this.savingTasks=[],this.dirtyChanges=[],this._isInitOption=!0,this._onDidChangeEncoding=new _.Emitter,this.onDidChangeEncoding=this._onDidChangeEncoding.event,this.onDispose(()=>{this.eventBus.fire(new A.EditorDocumentModelRemovalEvent(this.uri))}),T.encoding&&(this._encoding=T.encoding),this.readonly=!!T.readonly,this.savable=!!T.savable,this.alwaysDirty=!!T.alwaysDirty,this.disposeEvenDirty=!!T.disposeEvenDirty,this.closeAutoSave=!!T.closeAutoSave,this.monacoModel=m.monaco.editor.createModel(w,T.languageId,m.URI.parse(I.toString())),this.editorPreferences=(0,f.createEditorPreferenceProxy)(this.preferences,this.uri.toString(),this.languageId),this.updateOptions({}),T.eol&&(this.eol=T.eol),this._originalEncoding=this._encoding,this._previousVersionId=this.monacoModel.getVersionId(),this._persistVersionId=this.monacoModel.getAlternativeVersionId(),this.baseContent=w,this._isInitOption=!1,this.listenTo(this.monacoModel),this.readCacheToApply(),this.addDispose(this._onDidChangeEncoding),this.addDispose(this.monacoModel.onDidChangeLanguage(R=>{this.eventBus.fire(new A.EditorDocumentModelOptionChangedEvent({uri:this.uri,languageId:R.newLanguage}))}))}updateOptions(I){const w={tabSize:this.editorPreferences["editor.tabSize"]||1,insertSpaces:this.editorPreferences["editor.insertSpaces"],detectIndentation:this.editorPreferences["editor.detectIndentation"],...I};w.detectIndentation?this.monacoModel.detectIndentation(w.insertSpaces,w.tabSize):this.monacoModel.updateOptions(w)}listenTo(I){this.addDispose(I.onDidChangeContent(w=>{w.changes&&w.changes.length>0&&this.dirtyChanges.push({fromVersionId:this._previousVersionId,toVersionId:w.versionId,changes:w.changes}),this._previousVersionId=w.versionId,this.notifyChangeEvent(w.changes,w.isRedoing,w.isUndoing)})),this.addDispose(I)}readCacheToApply(){if(!this.cacheProvider.hasCache(this.uri))return;const I=this.cacheProvider.getCache(this.uri,this.encoding);I&&((0,_.isThenable)(I)?I.then(w=>{w&&this.applyCache(w)}).catch(w=>{this.logger.error(`${y.EditorDocumentError.READ_CACHE_ERROR} ${w&&w.message}`)}):this.applyCache(I))}applyCache(I){if(this.dirty){this.logger.error(y.EditorDocumentError.APPLY_CACHE_TO_DIRTY_DOCUMENT);return}if(this.baseContentMd5!==I.startMD5){this.logger.error(y.EditorDocumentError.APPLY_CACHE_TO_DIFFERENT_DOCUMENT);return}const w=T=>{const[R,M,O,x,k]=T;return a.Range.lift({startLineNumber:M,startColumn:O,endLineNumber:x,endColumn:k})};if((0,c.isDocContentCache)(I))this.monacoModel.setValue(I.content);else for(const T of I.changeMatrix){const R=T.map(M=>({range:w(M),text:M[0]}));this.monacoModel.applyEdits(R)}}cleanAndUpdateContent(I){this.monacoModel.setValue(I),this.monacoModel._commandManager.clear(),this._persistVersionId=this.monacoModel.getAlternativeVersionId(),this.savingTasks=[],this.notifyChangeEvent([],!1,!1),this.baseContent=I}async updateEncoding(I){let w=!1;this._encoding!==I&&(w=!0),this._encoding=I,await this.reload(),w&&(this.eventBus.fire(new A.EditorDocumentModelOptionChangedEvent({uri:this.uri,encoding:this._encoding})),this._onDidChangeEncoding.fire())}get encoding(){return this._encoding}set eol(I){this.monacoModel.setEOL(I===`
|
|
33309
33309
|
`?p.EndOfLineSequence.LF:p.EndOfLineSequence.CRLF),this._isInitOption||this.eventBus.fire(new A.EditorDocumentModelOptionChangedEvent({uri:this.uri,eol:I}))}get eol(){return this.monacoModel.getEOL()}get dirty(){return this.alwaysDirty?!0:!this.savable||this.monacoModel.isDisposed()||this.readonly?!1:this._persistVersionId!==this.monacoModel.getAlternativeVersionId()}set languageId(I){m.monaco.editor.setModelLanguage(this.monacoModel,I),this.eventBus.fire(new A.EditorDocumentModelOptionChangedEvent({uri:this.uri,languageId:I}))}get languageId(){return this.monacoModel.getLanguageId()}get id(){return this.monacoModel.id}getMonacoModel(){return this.monacoModel}async syncDocumentModelToExtThread(){await this.eventBus.fireAndAwait(new A.EditorDocumentModelOptionChangedEvent({uri:this.uri,languageId:this.languageId,encoding:this.encoding,eol:this.eol,dirty:this.dirty}))}async save(I=!1,w=c.SaveReason.Manual){if(!this.dirty)return await this.syncDocumentModelToExtThread(),!1;const T=await this.contentRegistry.getProvider(this.uri);if(await T?.isReadonly(this.uri))return!1;const M=async(O=!1,x=c.SaveReason.Manual)=>{if(await this.formatOnSave(x),await this.eventBus.fireAndAwait(new A.EditorDocumentModelWillSaveEvent({uri:this.uri,reason:x,language:this.languageId,dirty:this.dirty})),this.editorPreferences["editor.askIfDiff"]||(O=!0),!this.dirty)return!1;const k=this.monacoModel.getVersionId(),F=this.savingTasks[this.savingTasks.length-1];if(F&&F.versionId===k){F.cancel();const U=this.savingTasks.pop();U?.dispose()}const L=new b.SaveTask(this.uri,k,this.monacoModel.getAlternativeVersionId(),this.getText(),O);this.savingTasks.push(L),this.savingTasks.length>0&&this.initSave();const N=await L.finished;if(N.state===_.SaveTaskResponseState.SUCCESS)return this.monacoModel.pushStackElement(),!0;if(N.state===_.SaveTaskResponseState.ERROR)return N.errorMessage!=="cancel"&&(this.logger.error(N.errorMessage),this.messageService.error((0,_.localize)("doc.saveError.failed")+`
|
|
33310
|
-
`+N.errorMessage)),!1;if(N.state===_.SaveTaskResponseState.DIFF){const U=(0,_.localize)("doc.saveError.diffAndSave"),W=(0,_.localize)("doc.saveError.overwrite");return this.messageService.error((0,_.formatLocalize)("doc.saveError.diff",this.uri.toString()),[U,W]).then(j=>{j===U?this.compareAndSave():j===W&&M(!0,x)}),this.logger.error("The file cannot be saved, the version is inconsistent with the disk"),!1}return!1};return this.saveQueue.queue(M.bind(this,I,w))}async compareAndSave(){const I=_.URI.from({scheme:A.ORIGINAL_DOC_SCHEME,query:_.URI.stringifyQuery({target:this.uri.toString()})}),w=this.uri.path.base,T=await this.compareService.compare(I,this.uri,(0,_.formatLocalize)("editor.compareAndSave.title",w,w));T===d.CompareResult.revert?this.revert():T===d.CompareResult.accept&&this.save(!0)}async initSave(){for(;this.savingTasks.length>0;){const I=this.dirtyChanges;this.dirtyChanges=[]
|
|
33311
|
-
`?h.DefaultEndOfLine.CRLF:h.DefaultEndOfLine.LF,{textBuffer:M,disposable:O}=(0,u.createTextBuffer)(I,R),x=n._computeEdits(this.monacoModel,M);this.monacoModel.pushEditOperations([],x,()=>[]),T&&(this.setPersist(this.monacoModel.getAlternativeVersionId()),this.baseContent=I,this.dirtyChanges=[]),O.dispose()}static _computeEdits(I,w){const T=I.getLineCount(),R=w.getLineCount(),M=this._commonPrefix(I,T,1,w,R,1);if(T===R&&M===T)return[];const O=this._commonSuffix(I,T-M,M,w,R-M,M);let x,k;return O>0?(x=new a.Range(M+1,1,T-O+1,1),k=new a.Range(M+1,1,R-O+1,1)):M>0?(x=new a.Range(M,I.getLineMaxColumn(M),T,I.getLineMaxColumn(T)),k=new a.Range(M,1+w.getLineLength(M),R,1+w.getLineLength(R))):(x=new a.Range(1,1,T,I.getLineMaxColumn(T)),k=new a.Range(1,1,R,1+w.getLineLength(R))),[g.EditOperation.replaceMove(x,w.getValueInRange(k,h.EndOfLinePreference.TextDefined))]}static _commonPrefix(I,w,T,R,M,O){const x=Math.min(w,M);let k=0;for(let F=0;F<x&&I.getLineContent(T+F)===R.getLineContent(O+F);F++)k++;return k}static _commonSuffix(I,w,T,R,M,O){const x=Math.min(w,M);let k=0;for(let F=0;F<x&&I.getLineContent(T+w-F)===R.getLineContent(O+M-F);F++)k++;return k}set baseContent(I){this._baseContent=I,this._baseContentMd5=null}get baseContent(){return this._baseContent}get baseContentMd5(){return this._baseContentMd5||(this._baseContentMd5=this.hashCalculateService.calculate(this._baseContent)),this._baseContentMd5}get tryAutoSaveAfterDelay(){return this._tryAutoSaveAfterDelay||(this._tryAutoSaveAfterDelay=(0,o.default)(()=>{this.save(void 0,c.SaveReason.AfterDelay)},this.editorPreferences["editor.autoSaveDelay"]||1e3),this.addDispose(this.editorPreferences.onPreferenceChanged(I=>{I.preferenceName==="editor.autoSaveDelay"&&(this._tryAutoSaveAfterDelay=(0,o.default)(()=>{this.save(void 0,c.SaveReason.AfterDelay)},this.editorPreferences["editor.autoSaveDelay"]||1e3))}))),this._tryAutoSaveAfterDelay}getBaseContentMd5(){return this._baseContentMd5||(this._baseContentMd5=this.hashCalculateService.calculate(this._baseContent)),this._baseContentMd5}notifyChangeEvent(I=[],w,T){!this.closeAutoSave&&this.savable&&this.editorPreferences["editor.autoSave"]===E.AUTO_SAVE_MODE.AFTER_DELAY&&this.tryAutoSaveAfterDelay(),this.eventBus.fire(new A.EditorDocumentModelContentChangedEvent({uri:this.uri,dirty:this.dirty,readonly:this.readonly,changes:I,eol:this.eol,isRedoing:w,isUndoing:T,versionId:this.monacoModel.getVersionId()}));const R=this;this.cacheProvider.persistCache(this.uri,{get dirty(){return R.dirty},get startMD5(){return R.getBaseContentMd5()},get content(){return R.getText()},get changeMatrix(){return R.dirtyChanges.map(({changes:M})=>M)},encoding:this.encoding})}async formatOnSave(I){if(this.editorPreferences["editor.formatOnSave"]&&I!==c.SaveReason.AfterDelay){const T=this.editorPreferences["editor.formatOnSaveTimeout"]||3e3,R=this.reporter.time(_.REPORT_NAME.FORMAT_ON_SAVE);try{await Promise.race([new Promise((M,O)=>{setTimeout(()=>{const x=new Error((0,_.formatLocalize)("preference.editor.formatOnSaveTimeoutError",T));x.name="FormatOnSaveTimeoutError",O(x)},T)}),this.commandService.executeCommand(_.EDITOR_COMMANDS.FORMAT_DOCUMENT.id)])}catch(M){M.name==="FormatOnSaveTimeoutError"&&this.reporter.point(_.REPORT_NAME.FORMAT_ON_SAVE_TIMEOUT_ERROR,this.uri.toString()),this.logger.warn(`${y.EditorDocumentError.FORMAT_ERROR} ${M&&M.message}`)}finally{R.timeEnd(this.uri.path.ext)}}}dispose(){var I;const w=this._tryAutoSaveAfterDelay;(I=w?.cancel)===null||I===void 0||I.call(w),this._tryAutoSaveAfterDelay=void 0;for(const T of this.savingTasks)try{T.dispose()}catch{}this.savingTasks=[],this.dirtyChanges=[],this._baseContent="",this._baseContentMd5=null,this.monacoModel&&!this.monacoModel.isDisposed()&&this.monacoModel.dispose(),this.monacoModel=void 0,super.dispose()}};t.EditorDocumentModel=S,r.__decorate([(0,l.Autowired)(A.IEditorDocumentModelContentRegistry),r.__metadata("design:type",Object)],S.prototype,"contentRegistry",void 0),r.__decorate([(0,l.Autowired)(A.IEditorDocumentModelService),r.__metadata("design:type",Object)],S.prototype,"service",void 0),r.__decorate([(0,l.Autowired)(d.ICompareService),r.__metadata("design:type",Object)],S.prototype,"compareService",void 0),r.__decorate([(0,l.Autowired)(c.IDocPersistentCacheProvider),r.__metadata("design:type",Object)],S.prototype,"cacheProvider",void 0),r.__decorate([(0,l.Autowired)(s.IMessageService),r.__metadata("design:type",Object)],S.prototype,"messageService",void 0),r.__decorate([(0,l.Autowired)(_.IEventBus),r.__metadata("design:type",Object)],S.prototype,"eventBus",void 0),r.__decorate([(0,l.Autowired)(_.ILogger),r.__metadata("design:type",Object)],S.prototype,"logger",void 0),r.__decorate([(0,l.Autowired)(_.CommandService),r.__metadata("design:type",Object)],S.prototype,"commandService",void 0),r.__decorate([(0,l.Autowired)(_.IReporterService),r.__metadata("design:type",Object)],S.prototype,"reporter",void 0),r.__decorate([(0,l.Autowired)(_.PreferenceService),r.__metadata("design:type",Object)],S.prototype,"preferences",void 0),r.__decorate([(0,l.Autowired)(v.IHashCalculateService),r.__metadata("design:type",Object)],S.prototype,"hashCalculateService",void 0),t.EditorDocumentModel=S=n=r.__decorate([(0,l.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[_.URI,String,Object])],S)},78157:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorDocumentModelContentRegistryImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(96689);let _=class{constructor(){this.providers=[],this._onOriginalDocChanged=new o.Emitter,this.cachedProviders=new o.LRUMap(1e3,500),this.originalProvider={handlesScheme:m=>m===l.ORIGINAL_DOC_SCHEME,provideEditorDocumentModelContent:async m=>{const{target:p}=m.getParsedQuery(),s=new o.URI(p);return await this.getContentForUri(s)||""},isReadonly:()=>!0,onDidChangeContent:this._onOriginalDocChanged.event},this.registerEditorDocumentModelContentProvider(this.originalProvider)}registerEditorDocumentModelContentProvider(m){this.providers.push(m),this.cachedProviders.clear();const p=m.onDidChangeContent(s=>{this.eventBus.fire(new l.EditorDocumentModelOptionExternalUpdatedEvent(s))});return m!==this.originalProvider&&m.onDidChangeContent&&m.onDidChangeContent(s=>{this._onOriginalDocChanged.fire(o.URI.from({scheme:l.ORIGINAL_DOC_SCHEME,query:o.URI.stringifyQuery({target:s.toString()})}))}),{dispose:()=>{p.dispose();const s=this.providers.indexOf(m);s&&(this.providers.splice(s,1),this.cachedProviders.clear())}}}getProvider(m){const p=m.toString();return this.cachedProviders.has(p)||this.cachedProviders.set(p,this.calculateProvider(m)),this.cachedProviders.get(p)}async calculateProvider(m){let p={provider:void 0,weight:-1,index:1};for(const s of this.providers){let g=-1;const a=this.providers.indexOf(s);s.handlesUri?g=await s.handlesUri(m):s.handlesScheme&&(g=await s.handlesScheme(m.scheme)?10:-1),g>=0&&(g>p.weight||g===p.weight&&a>p.index)&&(p={index:a,weight:g,provider:s})}return p.provider}async getContentForUri(m,p){const s=await this.getProvider(m);if(!s)throw new Error;return s.provideEditorDocumentModelContent(m,p)}};t.EditorDocumentModelContentRegistryImpl=_,n.__decorate([(0,r.Autowired)(o.IEventBus),n.__metadata("design:type",Object)],_.prototype,"eventBus",void 0),t.EditorDocumentModelContentRegistryImpl=_=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],_)},37275:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(9519),t),n.__exportStar(e(91249),t),n.__exportStar(e(78157),t),n.__exportStar(e(98469),t)},89618:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoTextModelService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(96689);let _=class{canHandleResource(m){return!0}hasTextModelContentProvider(m){throw new Error("Method not implemented.")}async createModelReference(m){const p=await this.documentModelManager.createModelReference(new o.URI(m.toString()),"monaco");if(p){const s=p.instance.getMonacoModel();return Promise.resolve({object:{textEditorModel:s},dispose:()=>{p.dispose()}})}}registerTextModelContentProvider(m,p){return{dispose(){}}}};t.MonacoTextModelService=_,n.__decorate([(0,r.Autowired)(l.IEditorDocumentModelService),n.__metadata("design:type",Object)],_.prototype,"documentModelManager",void 0),t.MonacoTextModelService=_=n.__decorate([(0,r.Injectable)()],_)},98469:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SaveTask=void 0;const n=e(41869);class r extends n.Disposable{constructor(l,_,v,m,p){super(),this.uri=l,this.versionId=_,this.alternativeVersionId=v,this.content=m,this.ignoreDiff=p,this.deferred=new n.Deferred,this.finished=this.deferred.promise,this.started=!1,this.disposables.push(this.cancelToken=new n.CancellationTokenSource)}async run(l,_,v,m,p){this.started=!0;try{const s=await l.saveEditorDocumentModel(this.uri,this.content,_,v,m,this.ignoreDiff,p,this.cancelToken.token);return this.deferred.resolve(s),s}catch(s){const g={errorMessage:s.message,state:n.SaveTaskResponseState.ERROR};return this.deferred.resolve(g),g}}cancel(){this.cancelToken.cancel();const l={errorMessage:"cancel",state:n.SaveTaskResponseState.ERROR};this.deferred.resolve(l)}}t.SaveTask=r},66537:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SaveParticipantsContribution=t.TrimFinalNewLinesParticipant=t.CodeActionOnSaveParticipant=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(68969),_=n.__importStar(e(20868)),v=e(29046),m=e(52902),p=e(79865),s=e(2261),g=e(44781),a=n.__importStar(e(40540)),h=e(84866),u=e(93152),c=e(82196),E=e(96689);function f(A,S){let D=null;if(A.isAttachedToEditor()){for(const I of S.listCodeEditors())if(I.hasModel()&&I.getModel()===A){if(I.hasTextFocus())return I;D=I}}return D}let d=class extends o.WithEventBus{get bulkEditService(){return this.overrideServiceRegistry.getRegisteredService(o.ServiceNames.BULK_EDIT_SERVICE)}activate(){}async onEditorDocumentModelWillSave(S){if(S.payload.reason!==c.SaveReason.Manual)return;const D=this.preferenceService.get("editor.codeActionsOnSave",void 0,S.payload.uri.toString(),S.payload.language);if(!D)return;const I=this.preferenceService.get("editor.codeActionsOnSaveNotification",!0,S.payload.uri.toString(),S.payload.language),w=T=>{const M=(Array.isArray(D)?D:Object.keys(D)).map(N=>new v.CodeActionKind(N));if(Array.isArray(D)||M.sort((N,U)=>v.CodeActionKind.SourceFixAll.contains(N)?v.CodeActionKind.SourceFixAll.contains(U)?0:-1:v.CodeActionKind.SourceFixAll.contains(U)?1:0),M.length===0)return;const O=this.docService.getModelReference(S.payload.uri,"codeActionOnSave");if(!O)return;const x=O.instance.getMonacoModel(),k=new _.CancellationTokenSource,F=this.preferenceService.get("editor.codeActionsOnSaveTimeout",void 0,S.payload.uri.toString(),S.payload.language),L=Array.isArray(D)?[]:Object.keys(D).filter(N=>D[N]===!1).map(N=>new v.CodeActionKind(N));return Promise.race([new Promise((N,U)=>setTimeout(()=>{k.cancel(),U("codeActionsOnSave timeout")},F)),this.applyOnSaveActions(x,M,L,T,k.token)]).finally(()=>{k.cancel(),O.dispose()})};return I?this.progressService.withProgress({title:(0,o.formatLocalize)("editor.saveCodeActions.saving",S.payload.uri.displayName),location:o.ProgressLocation.Notification,cancellable:!0},async T=>w(T)):w(null)}async applyOnSaveActions(S,D,I,w,T){const R=new class{constructor(){this._names=new Set}_report(){w&&w.report({message:(0,o.formatLocalize)("editor.saveCodeActions.getting",[...this._names].map(M=>`'${M}'`).join(", "))})}report(M){M.displayName&&!this._names.has(M.displayName)&&(this._names.add(M.displayName),this._report())}};for(const M of D)try{const O=await this.getActionsToRun(S,M,I,R,T);await this.applyCodeActions(O.validActions)}catch(O){this.logger.error(O)}}async applyCodeActions(S){var D;for(const I of S)I.action.edit&&await((D=this.bulkEditService)===null||D===void 0?void 0:D.apply(m.ResourceEdit.convert(I.action.edit))),I.action.command&&await this.commandService.executeCommand(I.action.command.id,...I.action.command.arguments||[])}async getActionsToRun(S,D,I,w,T){return(0,h.getCodeActions)(p.languageFeaturesService.codeActionProvider,S,S.getFullModelRange(),{type:a.CodeActionTriggerType.Auto,filter:{include:D,excludes:I,includeSourceActions:!0},triggerAction:v.CodeActionTriggerSource.OnSave},w,T)}};t.CodeActionOnSaveParticipant=d,n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],d.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.MonacoOverrideServiceRegistry),n.__metadata("design:type",o.MonacoOverrideServiceRegistry)],d.prototype,"overrideServiceRegistry",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],d.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(E.IEditorDocumentModelService),n.__metadata("design:type",Object)],d.prototype,"docService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],d.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(l.IProgressService),n.__metadata("design:type",Object)],d.prototype,"progressService",void 0),n.__decorate([(0,o.OnEvent)(E.EditorDocumentModelWillSaveEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[E.EditorDocumentModelWillSaveEvent]),n.__metadata("design:returntype",Promise)],d.prototype,"onEditorDocumentModelWillSave",null),t.CodeActionOnSaveParticipant=d=n.__decorate([(0,r.Injectable)()],d);let y=class extends o.WithEventBus{activate(){}async onEditorDocumentModelWillSave(S){if(this.preferenceService.get("files.trimFinalNewlines")){const I=this.docService.getModelReference(S.payload.uri,"trimFinalNewlines");if(!I)return;const w=I.instance.getMonacoModel();this.doTrimFinalNewLines(w,S.payload.reason!==c.SaveReason.Manual),I.dispose()}}findLastNonEmptyLine(S){for(let D=S.getLineCount();D>=1;D--)if(S.getLineContent(D).length>0)return D;return 0}doTrimFinalNewLines(S,D){const I=S.getLineCount();if(I===1)return;let w=[],T=0;const R=this.injector.get(u.MonacoCodeService),M=f(S,R);if(M&&(w=M.getSelections(),D))for(let F=0,L=w.length;F<L;F++){const N=w[F].positionLineNumber;N>T&&(T=N)}const O=this.findLastNonEmptyLine(S),x=Math.max(O+1,T+1),k=S.validateRange(new g.Range(x,1,I,S.getLineMaxColumn(I)));k.isEmpty()||(S.pushEditOperations(w,[s.EditOperation.delete(k)],()=>w),M?.setSelections(w))}};t.TrimFinalNewLinesParticipant=y,n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],y.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(E.IEditorDocumentModelService),n.__metadata("design:type",Object)],y.prototype,"docService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],y.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],y.prototype,"injector",void 0),n.__decorate([(0,o.OnEvent)(E.EditorDocumentModelWillSaveEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[E.EditorDocumentModelWillSaveEvent]),n.__metadata("design:returntype",Promise)],y.prototype,"onEditorDocumentModelWillSave",null),t.TrimFinalNewLinesParticipant=y=n.__decorate([(0,r.Injectable)()],y);let b=class{onStart(){this.codeActionOnSaveParticipant.activate(),this.trimFinalNewLinesParticipant.activate()}};t.SaveParticipantsContribution=b,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",d)],b.prototype,"codeActionOnSaveParticipant",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",y)],b.prototype,"trimFinalNewLinesParticipant",void 0),t.SaveParticipantsContribution=b=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],b)},96689:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ORIGINAL_DOC_SCHEME=t.EditorDocumentModelWillSaveEvent=t.EditorDocumentModelSavedEvent=t.EditorDocumentModelRemovalEvent=t.EditorDocumentModelCreationEvent=t.EditorDocumentModelOptionExternalUpdatedEvent=t.EditorDocumentModelOptionChangedEvent=t.EditorDocumentModelContentChangedEvent=t.IEditorDocumentModelContentRegistry=t.IEditorDocumentModelService=void 0;const n=e(41869);t.IEditorDocumentModelService=Symbol("IEditorDocumentModelService"),t.IEditorDocumentModelContentRegistry=Symbol("IEditorDocumentModelContentRegistry");class r extends n.BasicEvent{}t.EditorDocumentModelContentChangedEvent=r;class o extends n.BasicEvent{}t.EditorDocumentModelOptionChangedEvent=o;class l extends n.BasicEvent{}t.EditorDocumentModelOptionExternalUpdatedEvent=l;class _ extends n.BasicEvent{}t.EditorDocumentModelCreationEvent=_;class v extends n.BasicEvent{}t.EditorDocumentModelRemovalEvent=v;class m extends n.BasicEvent{}t.EditorDocumentModelSavedEvent=m;class p extends n.BasicEvent{}t.EditorDocumentModelWillSaveEvent=p,t.ORIGINAL_DOC_SCHEME="original_doc"},71624:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserDiffEditor=t.BrowserCodeEditor=t.EditorCollectionServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(66e3),_=e(22689),v=e(43718),m=e(99721),p=e(23418),s=e(55113),g=e(30526),a=e(96689),h=e(59879),u=e(39266),c=e(6043),E=e(82196);let f=class extends v.WithEventBus{get currentEditor(){return this._currentEditor}constructor(){super(),this._editors=new Set,this._diffEditors=new Set,this._multiDiffEditors=new Set,this._onCodeEditorCreate=new v.Emitter,this._onDiffEditorCreate=new v.Emitter,this._onMultiDiffEditorCreate=new v.Emitter,this._onCodeEditorChange=new v.Emitter,this._onDiffEditorChange=new v.Emitter,this._onMultiDiffEditorChange=new v.Emitter,this.onCodeEditorCreate=this._onCodeEditorCreate.event,this.onDiffEditorCreate=this._onDiffEditorCreate.event,this.onMultiDiffEditorCreate=this._onMultiDiffEditorCreate.event,this.onCodeEditorChange=this._onCodeEditorChange.event,this.onDiffEditorChange=this._onDiffEditorChange.event,this.onMultiDiffEditorChange=this._onMultiDiffEditorChange.event,this.addDispose(this.editorFeatureRegistry.onDidRegisterFeature(D=>{this._editors.forEach(I=>{this.editorFeatureRegistry.runOneContribution(I,D)})}))}createCodeEditor(D,I,w){const T={...(0,c.getConvertedMonacoOptions)(this.configurationService).editorOptions,...I},R=this.monacoService.createCodeEditor(D,T,w),M=this.injector.get(d,[R,I]);return this._onCodeEditorCreate.fire(M),M}listEditors(){return Array.from(this._editors.values())}getEditorByUri(D){var I;for(const w of this._editors.values())if(!((I=w.currentUri)===null||I===void 0)&&I.isEqual(D))return w}addEditors(D){const I=this._editors.size;D.forEach(w=>{let T=!1;const R=Array.from(this._editors).find(M=>M.currentUri&&w.currentUri&&M.currentUri.isEqual(w.currentUri));R&&R.monacoEditor.getId()===w.monacoEditor.getId()&&(T=!0),T?(w.decorationApplier.clearDecorations(),w.decorationApplier.applyDecorationFromProvider()):(this._editors.add(w),this.editorFeatureRegistry.runContributions(w),w.monacoEditor.onDidFocusEditorWidget(()=>{this._currentEditor=w}),w.monacoEditor.onContextMenu(()=>{this._currentEditor=w}))}),this._editors.size!==I&&this._onCodeEditorChange.fire()}removeEditors(D){const I=this._editors.size;D.forEach(w=>{this._editors.delete(w),this._currentEditor===w&&(this._currentEditor=void 0)}),this._editors.size!==I&&this._onCodeEditorChange.fire()}createDiffEditor(D,I,w){const T=(0,c.getConvertedMonacoOptions)(this.configurationService),R={...T.editorOptions,...T.diffOptions,...I},M=this.monacoService.createDiffEditor(D,R,w),O=this.injector.get(y,[M,I]);return this._onDiffEditorCreate.fire(O),O}createMultiDiffEditor(D,I,w){const T=(0,c.getConvertedMonacoOptions)(this.configurationService),R=this.monacoService.createMultiDiffEditorWidget(D,w),M={...T.diffOptions,...I};return this.injector.get(u.BrowserMultiDiffEditor,[R,M,this])}createMergeEditor(D,I,w){const T=(0,c.getConvertedMonacoOptions)(this.configurationService),R={...T.editorOptions,...T.diffOptions,...I,wordWrap:"off"};return this.monacoService.createMergeEditor(D,R,w)}listDiffEditors(){return Array.from(this._diffEditors.values())}addDiffEditors(D){const I=this._diffEditors.size;D.forEach(w=>{this._diffEditors.has(w)||this._diffEditors.add(w)}),this._diffEditors.size!==I&&this._onDiffEditorChange.fire()}removeDiffEditors(D){const I=this._diffEditors.size;D.forEach(w=>{this._diffEditors.delete(w)}),this._diffEditors.size!==I&&this._onDiffEditorChange.fire()}listMultiDiffEditors(){return Array.from(this._multiDiffEditors.values())}addMultiDiffEditors(D){const I=this._multiDiffEditors.size;D.forEach(w=>{this._multiDiffEditors.has(w)||this._multiDiffEditors.add(w)}),this._multiDiffEditors.size!==I&&this._onMultiDiffEditorChange.fire()}removeMultiDiffEditors(D){const I=this._multiDiffEditors.size;D.forEach(w=>{this._multiDiffEditors.delete(w)}),this._multiDiffEditors.size!==I&&this._onMultiDiffEditorChange.fire()}onDocModelContentChangedEvent(D){this.eventBus.fire(new p.ResourceDecorationNeedChangeEvent({uri:D.payload.uri,decoration:{dirty:!!D.payload.dirty,readOnly:!!D.payload.readonly}}))}};t.EditorCollectionServiceImpl=f,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.MonacoService)],f.prototype,"monacoService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],f.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(m.IConfigurationService),n.__metadata("design:type",Object)],f.prototype,"configurationService",void 0),n.__decorate([(0,r.Autowired)(E.IEditorFeatureRegistry),n.__metadata("design:type",h.EditorFeatureRegistryImpl)],f.prototype,"editorFeatureRegistry",void 0),n.__decorate([(0,r.Autowired)(a.IEditorDocumentModelService),n.__metadata("design:type",Object)],f.prototype,"documentModelService",void 0),n.__decorate([(0,v.OnEvent)(a.EditorDocumentModelContentChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[a.EditorDocumentModelContentChangedEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onDocModelContentChangedEvent",null),t.EditorCollectionServiceImpl=f=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],f);let d=class extends g.BaseMonacoEditorWrapper{get currentDocumentModel(){return this._currentDocumentModelRef&&!this._currentDocumentModelRef.disposed?this._currentDocumentModelRef.instance:null}getType(){return p.EditorType.CODE}constructor(D,I={}){super(D,p.EditorType.CODE),this.monacoEditor=D,this.editorState=new Map,this._onCursorPositionChanged=new v.Emitter,this.onCursorPositionChanged=this._onCursorPositionChanged.event,this._onRefOpen=new v.Emitter,this.onRefOpen=this._onRefOpen.event,this._specialEditorOptions=I,this.collectionService.addEditors([this]);const w=D.onDidChangeModel(()=>{b(this.monacoEditor.getDomNode()),w.dispose()});this.addDispose(D.onDidChangeCursorPosition(()=>{if(!this.currentDocumentModel)return;const T=D.getSelection();this._onCursorPositionChanged.fire({position:D.getPosition(),selectionLength:T?this.currentDocumentModel.getMonacoModel().getValueInRange(T).length:0})})),this.addDispose(this.monacoEditor)}layout(D,I=!1){this.monacoEditor.layout(D,I)}focus(){this.monacoEditor.focus()}dispose(){super.dispose(),this.saveCurrentState(),this.collectionService.removeEditors([this])}saveCurrentState(){if(this.currentUri){const D=this.monacoEditor.saveViewState();D&&this.editorState.set(this.currentUri.toString(),D)}}restoreState(){if(this.currentUri){const D=this.editorState.get(this.currentUri.toString());(0,s.isTextEditorViewState)(D)&&this.monacoEditor.restoreViewState(D)}}open(D){this.saveCurrentState(),this._currentDocumentModelRef=D;const I=this.currentDocumentModel.getMonacoModel();this.disableSelectionEmitter(),this.monacoEditor.setModel(I),this.enableSelectionEmitter(),this.restoreState(),this._onRefOpen.fire(D),this._onCursorPositionChanged.fire({position:this.monacoEditor.getPosition(),selectionLength:0});const{instance:w}=D;this.updateOptions(),this.eventBus.fire(new p.ResourceDecorationNeedChangeEvent({uri:w.uri,decoration:{readOnly:w.readonly}}))}};t.BrowserCodeEditor=d,n.__decorate([(0,r.Autowired)(p.EditorCollectionService),n.__metadata("design:type",f)],d.prototype,"collectionService",void 0),n.__decorate([(0,r.Autowired)(E.IEditorFeatureRegistry),n.__metadata("design:type",Object)],d.prototype,"editorFeatureRegistry",void 0),t.BrowserCodeEditor=d=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object])],d);class y extends v.WithEventBus{get originalDocModel(){return this.originalDocModelRef&&!this.originalDocModelRef.disposed?this.originalDocModelRef.instance:null}get modifiedDocModel(){return this.modifiedDocModelRef&&!this.modifiedDocModelRef.disposed?this.modifiedDocModelRef.instance:null}saveCurrentState(){if(this.currentUri){const D=this.monacoDiffEditor.saveViewState();D&&this.editorState.set(this.currentUri.toString(),D)}}restoreState(D){if(this.currentUri){const I=this.editorState.get(this.currentUri.toString());(0,s.isTextEditorViewState)(I)&&((D.range||D.originalRange)&&(I.modified.cursorState=[]),this.monacoDiffEditor.restoreViewState(I))}}constructor(D,I={}){super(),this.monacoDiffEditor=D,this.specialOptions=I,this.editorState=new Map,this._onRefOpen=new v.Emitter,this.onRefOpen=this._onRefOpen.event,this.wrapEditors(),this.addDispose(this.configurationService.onDidChangeConfiguration(w=>{Array.from(w.affectedKeys.values()).filter(R=>(0,c.isDiffEditorOption)(R)).length>0&&this.updateDiffOptions()}))}async compare(D,I,w={},T){if(this.saveCurrentState(),this.originalDocModelRef=D,this.modifiedDocModelRef=I,!this.originalDocModel||!this.modifiedDocModel)return;const R=this.originalDocModel.getMonacoModel(),M=this.modifiedDocModel.getMonacoModel(),O=this.monacoDiffEditor.createViewModel({original:R,modified:M});if(this.monacoDiffEditor.setModel(O),T?this.currentUri=T:this.currentUri=v.URI.from({scheme:p.DIFF_SCHEME,query:v.URI.stringifyQuery({name,original:this.originalDocModel.uri.toString(),modified:this.modifiedDocModel.uri.toString()})}),await O?.waitForDiff(),this.restoreState(w),w.range||w.originalRange){const k=w.range||w.originalRange,F=w.range?this.modifiedEditor.monacoEditor:this.originalEditor.monacoEditor;setTimeout(()=>{F.revealRangeInCenter(k),F.setSelection(k)}),v.Event.once(this.monacoDiffEditor.onDidUpdateDiff)(()=>{F.setSelection(k),setTimeout(()=>{F.revealRangeInCenter(k)})})}this._onRefOpen.fire(D),this._onRefOpen.fire(I);const x=this.preferenceService.get("diffEditor.hideUnchangedRegions.enabled");if(w.revealFirstDiff&&!x){const k=this.monacoDiffEditor.getLineChanges();if(k&&k.length>0)this.showFirstDiff(O);else{const F=this.monacoDiffEditor.onDidUpdateDiff(()=>{this.showFirstDiff(O),F.dispose()})}}await this.updateOptionsOnModelChange(),this.diffResourceKeys.forEach(k=>k.set(this.currentUri))}async showFirstDiff(D){await D?.waitForDiff(),this.monacoDiffEditor.revealFirstDiff()}async updateOptionsOnModelChange(){await this.doUpdateDiffOptions()}isReadonly(){var D;return!!(!((D=this.modifiedDocModel)===null||D===void 0)&&D.readonly)}async doUpdateDiffOptions(){const D=this.modifiedEditor.currentUri?this.modifiedEditor.currentUri.toString():void 0,I=this.modifiedEditor.currentDocumentModel?this.modifiedEditor.currentDocumentModel.languageId:void 0,w=(0,c.getConvertedMonacoOptions)(this.configurationService,D,I),T=this.isReadonly();this.monacoDiffEditor.updateOptions({...w.diffOptions,...this.specialOptions,readOnly:T,renderMarginRevertIcon:!T}),this.currentUri&&this.eventBus.fire(new p.ResourceDecorationNeedChangeEvent({uri:this.currentUri,decoration:{readOnly:this.isReadonly()}}))}updateDiffOptions(){this.doUpdateDiffOptions()}getLineChanges(){const D=this.monacoDiffEditor.getLineChanges();return D?D.map(I=>{var w;return[I.originalStartLineNumber,I.originalEndLineNumber,I.modifiedStartLineNumber,I.modifiedEndLineNumber,(w=I.charChanges)===null||w===void 0?void 0:w.map(T=>[T.originalStartLineNumber,T.originalStartColumn,T.originalEndLineNumber,T.originalEndColumn,T.modifiedStartLineNumber,T.modifiedStartColumn,T.modifiedEndLineNumber,T.modifiedEndColumn])]}):null}wrapEditors(){const D=this;this.originalEditor=this.injector.get(g.DiffEditorPart,[D.monacoDiffEditor.getOriginalEditor(),()=>D.originalDocModel,p.EditorType.ORIGINAL_DIFF]),this.modifiedEditor=this.injector.get(g.DiffEditorPart,[D.monacoDiffEditor.getModifiedEditor(),()=>D.modifiedDocModel,p.EditorType.MODIFIED_DIFF]),this.collectionService.addEditors([this.originalEditor,this.modifiedEditor]),this.collectionService.addDiffEditors([this]);const I=this.contextKeyService.createScoped(this.modifiedEditor.monacoEditor._contextKeyService),w=this.contextKeyService.createScoped(this.originalEditor.monacoEditor._contextKeyService);this.diffResourceKeys=[new l.ResourceContextKey(I,void 0,"diffResource"),new l.ResourceContextKey(w,void 0,"diffResource")]}layout(){return this.monacoDiffEditor.layout()}focus(){this.monacoDiffEditor.focus()}dispose(){super.dispose(),this.collectionService.removeEditors([this.originalEditor,this.modifiedEditor]),this.collectionService.removeDiffEditors([this]),this.monacoDiffEditor.dispose(),this._disposed=!0}}t.BrowserDiffEditor=y,n.__decorate([(0,r.Autowired)(p.EditorCollectionService),n.__metadata("design:type",f)],y.prototype,"collectionService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],y.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(m.IConfigurationService),n.__metadata("design:type",Object)],y.prototype,"configurationService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],y.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],y.prototype,"contextKeyService",void 0);function b(S){S.addEventListener("mousewheel",A)}function A(S){S.preventDefault(),S.stopPropagation(),(this.offsetWidth+this.scrollLeft+S.deltaX>this.scrollWidth||this.scrollLeft+S.deltaX<0)&&(S.preventDefault(),S.stopPropagation())}},17315:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorElectronContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(37406),v=e(23418),m=e(96689),p=e(82196),s=e(51553);let g=class extends l.WithEventBus{onResourceDecorationChangeEvent(){const h=this.workbenchEditorService.hasDirty();this.electronMainUIService.setDocumentEdited(o.electronEnv.currentWindowId,!!h)}async onWillStop(){return!!(await this.workbenchEditorService.closeAllOnlyConfirmOnce()||!this.cacheProvider.isFlushed())}registerKeybindings(h){h.registerKeybinding({command:o.EDITOR_COMMANDS.NEXT.id,keybinding:"ctrl+tab"}),h.registerKeybinding({command:o.EDITOR_COMMANDS.PREVIOUS.id,keybinding:"ctrl+shift+tab"}),l.isOSX&&(h.registerKeybinding({command:o.EDITOR_COMMANDS.NEXT.id,keybinding:"ctrlcmd+shift+]"}),h.registerKeybinding({command:o.EDITOR_COMMANDS.PREVIOUS.id,keybinding:"ctrlcmd+shift+["}))}};t.EditorElectronContribution=g,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",s.WorkbenchEditorServiceImpl)],g.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(v.IDocPersistentCacheProvider),n.__metadata("design:type",Object)],g.prototype,"cacheProvider",void 0),n.__decorate([(0,r.Autowired)(m.IEditorDocumentModelContentRegistry),n.__metadata("design:type",Object)],g.prototype,"contentRegistry",void 0),n.__decorate([(0,r.Autowired)(_.IElectronMainUIService),n.__metadata("design:type",Object)],g.prototype,"electronMainUIService",void 0),n.__decorate([(0,l.OnEvent)(p.ResourceDecorationChangeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],g.prototype,"onResourceDecorationChangeEvent",null),t.EditorElectronContribution=g=n.__decorate([(0,o.Domain)(o.ClientAppContribution,o.KeybindingContribution)],g)},75522:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorOpener=void 0;const n=e(85608),r=e(76003),o=e(23418);let l=class{async open(v){let m;const p=/^L?(\d+)(?:,(\d+))?/.exec(v.fragment);if(p){const s=parseInt(p[1],10),g=p[2]?parseInt(p[2],10):1;m={startLineNumber:s,startColumn:g,endLineNumber:s,endColumn:g},v=v.withFragment("")}return await this.workbenchEditorService.open(v,{range:m}),!0}async handleURI(v){return this.resourceService.handlesUri(v)}handleScheme(){return!1}};t.EditorOpener=l,n.__decorate([(0,r.Autowired)(o.ResourceService),n.__metadata("design:type",o.ResourceService)],l.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(o.WorkbenchEditorService),n.__metadata("design:type",o.WorkbenchEditorService)],l.prototype,"workbenchEditorService",void 0),t.EditorOpener=l=n.__decorate([(0,r.Injectable)()],l)},19352:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Scroll=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=n.__importDefault(e(62251));class _ extends o.default.Component{constructor(){super(...arguments),this.position={top:0,left:0},this.dragging=!1,this.draggingStart=0,this.draggingStartPos=0,this.shouldHideThumb=!0,this.isAtTop=!0,this.onMouseMoveHorizontal=m=>{if(!this.dragging)return;const p=m.pageX-this.draggingStart;this.ref.scrollLeft=this.draggingStartPos+this.calculateXToLeft(p)},this.onMouseUpHorizontal=m=>{this.dragging=!1,document.removeEventListener("mousemove",this.onMouseMoveHorizontal),document.removeEventListener("mouseup",this.onMouseUpHorizontal),this.shouldHideThumb&&this.hideThumb()},this.onMouseMoveVertical=m=>{if(!this.dragging)return;const p=m.pageY-this.draggingStart;this.ref.scrollTop=this.draggingStartPos+this.calculateYToTop(p)},this.onMouseUpVertical=m=>{this.dragging=!1,document.removeEventListener("mousemove",this.onMouseMoveVertical),document.removeEventListener("mouseup",this.onMouseUpVertical),this.shouldHideThumb&&this.hideThumb()},this.onMousewheel=m=>{this.ref.clientHeight>=this.ref.scrollHeight&&(m.deltaY!==0&&(this.ref.scrollLeft+=m.deltaY),m.deltaX!==0&&(this.ref.scrollLeft+=m.deltaX))},this.onMouseEnter=()=>{this.update()},this.handleWindowResize=()=>{this.update()},this.update=m=>{this.requestFrame&&window.cancelAnimationFrame(this.requestFrame),this.requestFrame=window.requestAnimationFrame(()=>{this._update(),m&&m()})}}onScroll(m){this.position={top:this.ref.scrollTop,left:this.ref.scrollLeft},this.props.onScroll&&this.props.onScroll(this.position),this.update(()=>{const p=this.ref.scrollWidth,s=this.ref.offsetWidth,g=this.ref.scrollHeight,a=this.ref.offsetHeight;this.thumbH.style.left=this.position.left*s/p+"px",this.thumbV.style.top=this.position.top*a/g+"px"}),!this.isAtTop&&this.ref.scrollTop===0?(this.isAtTop=!0,this.setCss()):this.isAtTop&&this.ref.scrollTop!==0&&(this.isAtTop=!1,this.setCss()),this.ref.scrollLeft>0?(this.decorationL.style.opacity=String(1),this.decorationR.style.opacity=String(1)):this.decorationL.style.opacity=String(0),(this.ref.scrollWidth===this.ref.offsetWidth||this.ref.scrollLeft===this.ref.scrollWidth-this.ref.offsetWidth)&&(this.decorationR.style.opacity=String(0))}scrollTo(m){this.ref.scrollLeft=m.left,this.ref.scrollTop=m.top}onMouseDownHorizontal(m){this.dragging=!0,m.target===this.trackH&&this.onMouseDownOnTrack(m),this.draggingStart=m.pageX,this.draggingStartPos=this.ref.scrollLeft,document.addEventListener("mousemove",this.onMouseMoveHorizontal),document.addEventListener("mouseup",this.onMouseUpHorizontal)}onMouseDownOnTrack(m){const p=m.target,s=m.clientX-p.getBoundingClientRect().left,g=this.ref.scrollWidth,a=this.ref.offsetWidth,h=s*g/a-.5*a;this.scrollTo({left:h,top:this.position.top})}calculateXToLeft(m){const p=this.ref.scrollWidth,s=this.ref.offsetWidth;return m*p/s}onMouseDownVertical(m){this.dragging=!0,m.target===this.trackV&&this.onMouseDownOnTrackVertical(m),this.draggingStart=m.pageY,this.draggingStartPos=this.ref.scrollTop,document.addEventListener("mousemove",this.onMouseMoveVertical),document.addEventListener("mouseup",this.onMouseUpVertical)}onMouseDownOnTrackVertical(m){const p=m.target,s=m.clientY-p.getBoundingClientRect().top,g=this.ref.scrollHeight,a=this.ref.offsetHeight,h=s*g/a-.5*a;this.scrollTo({left:this.position.left,top:h})}calculateYToTop(m){const p=this.ref.scrollHeight,s=this.ref.offsetHeight;return m*p/s}componentDidUpdate(){this.update(),this.props.delegate&&this.props.delegate({scrollTo:this.scrollTo.bind(this)})}componentDidMount(){this.update(),window.addEventListener("resize",this.handleWindowResize),this.props.delegate&&this.props.delegate({scrollTo:this.scrollTo.bind(this)}),this.ref&&(this.ref.addEventListener("mouseenter",this.onMouseEnter),this.ref.addEventListener("wheel",this.onMousewheel))}componentWillUnmount(){this.ref&&(this.ref.removeEventListener("mouseenter",this.onMouseEnter),this.ref.removeEventListener("wheel",this.onMousewheel)),window.removeEventListener("resize",this.handleWindowResize),this.requestFrame&&window.cancelAnimationFrame(this.requestFrame)}sizeEqual(m,p){return m&&p&&m.offsetHeight===p.offsetHeight&&m.scrollHeight===p.scrollHeight&&m.offsetWidth===p.offsetWidth&&m.scrollWidth===p.scrollWidth}_update(){this.ref&&(this.sizeEqual(this.size,this.ref)||(this.size={offsetHeight:this.ref.offsetHeight,offsetWidth:this.ref.offsetWidth,scrollWidth:this.ref.scrollWidth,scrollHeight:this.ref.scrollHeight},this.updateScrollBar()))}updateScrollBar(){const m=this.ref.scrollWidth,p=this.ref.offsetWidth;if(p<m){const a=p*p/m;this.thumbH.style.width=a+"px",this.trackH.parentElement.style.display="block"}else this.trackH.parentElement.style.display="none";const s=this.ref.scrollHeight,g=this.ref.offsetHeight;g<s?(this.thumbV.style.height=g*g/s+"px",this.trackV.parentElement.style.display="block"):this.trackV.parentElement.style.display="none"}hideThumb(){this.shouldHideThumb=!0,this.dragging||this.setCss()}showThumb(){this.shouldHideThumb=!1,this.setCss()}setCss(){this.container.className=(0,r.default)({[l.default.scroll]:!0,[l.default["hide-thumb"]]:this.shouldHideThumb&&!this.dragging});const m={};this.props.atTopClassName&&(m[this.props.atTopClassName]=this.isAtTop),this.props.className&&(m[this.props.className]=!0),this.ref.className=(0,r.default)(m)}render(){return o.default.createElement("div",{className:(0,r.default)(l.default.scroll,l.default["hide-thumb"]),ref:m=>{m&&(this.container=m,this.props.forwardedRef(m))},onMouseMove:()=>this.showThumb(),onMouseLeave:()=>this.hideThumb(),style:this.props.containerStyle},o.default.createElement("div",{style:this.props.style,className:(0,r.default)(this.props.className),onScroll:this.onScroll.bind(this),ref:m=>m&&(this.ref=m),onMouseDown:()=>this.update(),onMouseUp:()=>this.update()},this.props.children),o.default.createElement("div",{className:l.default["scrollbar-decoration-vertical-l"],ref:m=>m&&(this.decorationL=m)}),o.default.createElement("div",{className:l.default["scrollbar-decoration-vertical-r"],ref:m=>m&&(this.decorationR=m)}),o.default.createElement("div",{className:l.default["scroll-horizontal"]},o.default.createElement("div",{className:l.default["track-horizontal"],ref:m=>m&&(this.trackH=m),onMouseDown:this.onMouseDownHorizontal.bind(this)}),o.default.createElement("div",{className:"kt-editor-scrollbar-thumb-horizontal",onMouseDown:this.onMouseDownHorizontal.bind(this),ref:m=>m&&(this.thumbH=m)})),o.default.createElement("div",{className:l.default["scroll-vertical"]},o.default.createElement("div",{className:l.default["track-vertical"],ref:m=>m&&(this.trackV=m),onMouseDown:this.onMouseDownVertical.bind(this)}),o.default.createElement("div",{className:"kt-editor-scrollbar-thumb-vertical",onMouseDown:this.onMouseDownVertical.bind(this),ref:m=>m&&(this.thumbV=m)})))}}t.Scroll=_},93669:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorContext=t.defaultEditorContext=void 0;const r=e(85608).__importDefault(e(14041));t.defaultEditorContext={minimapWidth:108},t.EditorContext=r.default.createContext(t.defaultEditorContext)},60362:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorAutoSaveEditorContribution=t.EditorContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(68456),_=e(93899),v=e(1237),m=e(77661),p=e(75524),s=e(43718),g=e(96177),a=e(62660),h=n.__importStar(e(84555)),u=e(94170),c=e(23268),E=e(96640),f=e(23418),d=e(55113),y=e(64335),b=e(89618),A=e(96689),S=e(75522),D=e(93152),I=e(8287),w=e(14385),T=e(57719),R=e(85857),M=e(95338),O=e(94617),x=e(86997),k=e(93532),F=e(53135),L=e(50236),N=e(82196),U=e(6670),W=e(67903),j=e(51553);let Q=class extends o.Disposable{registerComponent(G){G.register("@opensumi/ide-editor",{id:"ide-editor",component:w.EditorView}),G.register("breadcrumb-menu",{id:"breadcrumb-menu",component:k.NavigationMenuContainer})}registerOverrideService(G){const V=this.injector.get(D.MonacoCodeService),K=this.injector.get(o.IContextKeyService).createScoped();this.workbenchEditorService.setEditorContextKeyService(K),G.registerOverrideService(o.ServiceNames.CONTEXT_KEY_SERVICE,K.contextKeyService),G.registerOverrideService(o.ServiceNames.CODE_EDITOR_SERVICE,V),G.registerOverrideService(o.ServiceNames.CONTEXT_VIEW_SERVICE,new D.MonacoContextViewService(V)),G.registerOverrideService(o.ServiceNames.TEXT_MODEL_SERVICE,this.injector.get(b.MonacoTextModelService))}registerMonacoDefaultFormattingSelector(G){const V=this.injector.get(R.FormattingSelector);this.addDispose(G(V.selectFormatter.bind(V)))}registerEditorExtensionContribution(G){G(O.EditorContextMenuController.ID,new E.SyncDescriptor(O.EditorContextMenuController,[this.contextMenuService,this.globalContextKeyService,this.contextMenuRenderer]))}getMimeForMode(G){for(const V of this.textmateService.getLanguages())if(V.id===G&&V.mimetypes)return V.mimetypes[0]}registerPlatformLanguageAssociations(G){const V=this.corePreferences["files.associations"];if(!V)return;const H=Object.keys(V).map(K=>({id:V[K],filepattern:K,mime:this.getMimeForMode(V[K])||`text/x-${V.id}`}));G(H)}async interceptOpen(G){try{return await this.openerService.open(G),!0}catch(V){return this.logger.error(V),!1}}onWillStop(G){if(!this.appConfig.isElectronRenderer)return this.workbenchEditorService.hasDirty()||!this.cacheProvider.isFlushed()}extractGroupAndUriFromArgs(G,V){let H,K;if(G instanceof o.URI)H=V||this.workbenchEditorService.currentEditorGroup,K=G||H&&H.currentResource&&H.currentResource.uri;else{const Y=G||{};H=Y.group||this.workbenchEditorService.currentEditorGroup,K=Y.uri||H&&H.currentResource&&H.currentResource.uri}return{group:H,uri:K}}isElectronRenderer(){return this.appConfig.isElectronRenderer}registerKeybindings(G){G.registerKeybinding({command:o.EDITOR_COMMANDS.SAVE_CURRENT.id,keybinding:"ctrlcmd+s"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.FOCUS_IF_NOT_ACTIVATE_ELEMENT.id,keybinding:"ctrlcmd+f",when:"!editorFocus"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.CLOSE.id,keybinding:this.isElectronRenderer()?"ctrlcmd+w":"alt+shift+w"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.PREVIOUS.id,keybinding:this.isElectronRenderer()?"alt+cmd+left":"ctrlcmd+ctrl+left"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.NEXT.id,keybinding:this.isElectronRenderer()?"alt+cmd+right":"ctrlcmd+ctrl+right"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.PREVIOUS.id,keybinding:this.isElectronRenderer()?"ctrlcmd+pageup":"alt+pageup"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.NEXT.id,keybinding:this.isElectronRenderer()?"ctrlcmd+pagedown":"alt+pagedown"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.GO_FORWARD.id,keybinding:s.isWindows?"alt+right":"ctrl+shift+-"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.GO_BACK.id,keybinding:s.isWindows?"alt+left":"ctrl+-"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.CHANGE_LANGUAGE.id,keybinding:"ctrlcmd+k m"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.SPLIT_TO_RIGHT.id,keybinding:"ctrlcmd+\\"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.NAVIGATE_NEXT.id,keybinding:"ctrlcmd+k ctrlcmd+right"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.NAVIGATE_PREVIOUS.id,keybinding:"ctrlcmd+k ctrlcmd+left"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.SAVE_ALL.id,keybinding:"alt+ctrlcmd+s"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.CLOSE_ALL_IN_GROUP.id,keybinding:"ctrlcmd+k w"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.CLOSE_ALL.id,keybinding:"ctrlcmd+k ctrlcmd+w"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.CLOSE_SAVED.id,keybinding:"ctrlcmd+k u"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.PIN_CURRENT.id,keybinding:"ctrlcmd+k enter"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.COPY_CURRENT_PATH.id,keybinding:"ctrlcmd+k p"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.REOPEN_CLOSED.id,keybinding:this.isElectronRenderer()?"ctrlcmd+shift+t":"alt+shift+t"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.NEW_UNTITLED_FILE.id,keybinding:this.isElectronRenderer()?"ctrlcmd+n":"alt+n"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL.id,keybinding:this.isElectronRenderer()?"ctrlcmd+t":"ctrlcmd+o"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL_CLASS.id,keybinding:this.isElectronRenderer()?"ctrlcmd+alt+t":"ctrlcmd+alt+o"});for(let V=1;V<10;V++)G.registerKeybinding({command:o.EDITOR_COMMANDS.GO_TO_GROUP.id,keybinding:"ctrlcmd+"+V,args:[V]});["left","up","down","right"].forEach(V=>{G.registerKeybinding({command:o.EDITOR_COMMANDS.MOVE_GROUP.id,keybinding:"ctrlcmd+k "+V,args:[V]})}),G.registerKeybinding({command:o.EDITOR_COMMANDS.COMPONENT_UNDO.id,keybinding:"ctrlcmd+z",when:"inEditorComponent && !inputFocus"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.COMPONENT_REDO.id,keybinding:"shift+ctrlcmd+z",when:"inEditorComponent && !inputFocus"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.TOGGLE_WORD_WRAP.id,keybinding:"alt+z",when:"editorFocus"})}initialize(){this.editorStatusBarService.setListener(),this.historyService.init()}registerCommands(G){G.registerCommand(o.EDITOR_COMMANDS.GO_FORWARD,{execute:()=>{this.historyService.forward()}}),G.registerCommand(o.EDITOR_COMMANDS.FOCUS_IF_NOT_ACTIVATE_ELEMENT,{execute:()=>{var V,H;if(!document.activeElement||document.activeElement===document.body){const K=this.workbenchEditorService.currentEditorGroup;K?.focus(),(H=(V=K?.currentCodeEditor)===null||V===void 0?void 0:V.monacoEditor)===null||H===void 0||H.trigger("api","actions.find",null)}}}),G.registerCommand(o.EDITOR_COMMANDS.GO_BACK,{execute:()=>{this.historyService.back()}}),G.registerCommand(o.EDITOR_COMMANDS.OPEN_RESOURCE,{execute:async(V,H)=>{const K=await this.workbenchEditorService.open(V,H);if(K)return{groupId:K?.group.name}}}),G.registerCommand(o.EDITOR_COMMANDS.OPEN_RESOURCES,{execute:({uris:V})=>{this.workbenchEditorService.openUris(V)}}),G.registerCommand(o.EDITOR_COMMANDS.COMPARE,{execute:({original:V,modified:H,name:K},Y={})=>(K=K||`${V.displayName} <=> ${H.displayName}`,this.workbenchEditorService.open(o.URI.from({scheme:f.DIFF_SCHEME,query:o.URI.stringifyQuery({name:K,original:V,modified:H})}),Y))}),G.registerCommand(o.EDITOR_COMMANDS.OPEN_MERGEEDITOR_DEV,{execute:async()=>{try{const V=await this.quickInputService.open({value:""});if(!V)return;const H=JSON.parse(V);this.commandService.executeCommand(o.EDITOR_COMMANDS.OPEN_MERGEEDITOR.id,H)}catch{}}}),G.registerCommand(o.EDITOR_COMMANDS.OPEN_MERGEEDITOR,{execute:V=>{const H=p.IRelaxedOpenMergeEditorArgs.validate(V);this.workbenchEditorService.open(o.URI.from({scheme:"mergeEditor",query:o.URI.stringifyQuery({name:(0,o.formatLocalize)("mergeEditor.workbench.tab.name",H.output.displayName),openMetadata:p.IRelaxedOpenMergeEditorArgs.toString(H)})}))}}),G.registerCommand(o.EDITOR_COMMANDS.MERGEEDITOR_RESET,{execute:()=>{const V=this.mergeEditorService.getNutrition();if(!V)return;const{output:H}=V,{uri:K}=H;this.mergeEditorService.fireRestoreState(K),this.mergeEditorService.compare()}}),G.registerCommand(o.EDITOR_COMMANDS.SAVE_CURRENT,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;V&&V.currentResource&&(V.pin(V.currentResource.uri),V.saveCurrent())}}),G.registerCommand(o.EDITOR_COMMANDS.SAVE_URI,{execute:async V=>{for(const H of this.workbenchEditorService.editorGroups){const K=H.resources.find(Y=>Y.uri.isEqual(V));K&&H.saveResource(K)}}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_ALL_IN_GROUP,{execute:async(V,H)=>{const{group:K}=this.extractGroupAndUriFromArgs(V,H);K&&await K.closeAll()}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_SAVED,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup}=V;H&&await H.closeSaved()}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_OTHER_IN_GROUP,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.closeOthers(K)}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.close(K)}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_TO_RIGHT,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.closeToRight(K)}}),G.registerCommand(o.EDITOR_COMMANDS.GET_CURRENT,{execute:()=>this.workbenchEditorService.currentEditorGroup}),G.registerCommand(o.EDITOR_COMMANDS.GET_CURRENT_RESOURCE,{execute:()=>this.workbenchEditorService.currentResource}),G.registerCommand(o.EDITOR_COMMANDS.PIN_CURRENT,{execute:()=>{const V=this.workbenchEditorService.currentEditorGroup;V&&V.pinPreviewed()}}),G.registerCommand(o.EDITOR_COMMANDS.COPY_CURRENT_PATH,{execute:()=>{const V=this.workbenchEditorService.currentResource;V&&V.uri.scheme===o.Schemes.file&&this.clipboardService.writeText(V.uri.codeUri.fsPath)}}),G.registerCommand(o.EDITOR_COMMANDS.SPLIT_TO_LEFT,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.split(f.EditorGroupSplitAction.Left,K,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.SPLIT_TO_RIGHT,{execute:async(V,H)=>{const{group:K,uri:Y}=this.extractGroupAndUriFromArgs(V,H);K&&Y&&await K.split(f.EditorGroupSplitAction.Right,Y,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.GO_TO_GROUP,{execute:async(V=1)=>{var H;const K=this.workbenchEditorService.sortedEditorGroups[V-1];if(K){K.focus();return}const Y=this.workbenchEditorService.sortedEditorGroups.length;if(Y===V-1){const X=this.workbenchEditorService.sortedEditorGroups[Y-1],re=(H=X?.currentResource)===null||H===void 0?void 0:H.uri;X&&re&&await X.split(f.EditorGroupSplitAction.Right,re,{focus:!0})}}}),G.registerCommand(o.EDITOR_COMMANDS.MOVE_GROUP,{execute:async V=>{if(V){const H=this.workbenchEditorService.currentEditorGroup;H&&H.grid.move(V)}}}),G.registerCommand(o.EDITOR_COMMANDS.FOCUS_ACTIVE_EDITOR_GROUP,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;V&&V.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.SPLIT_TO_TOP,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.split(f.EditorGroupSplitAction.Top,K,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.SPLIT_TO_BOTTOM,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.split(f.EditorGroupSplitAction.Bottom,K,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.CHANGE_LANGUAGE,{execute:async V=>{const K=this.languagesService.languages.map(X=>({label:X.name,value:X.id,description:`(${X.id})`})),Y=await this.quickPickService.show(K,{placeholder:(0,o.localize)("editor.changeLanguageId"),selectIndex:()=>K.findIndex(X=>{var re,oe;return X.value===((oe=(re=this.workbenchEditorService.currentCodeEditor)===null||re===void 0?void 0:re.currentDocumentModel)===null||oe===void 0?void 0:oe.languageId)})});if(Y&&V!==Y&&this.workbenchEditorService.currentEditor){const X=this.workbenchEditorService.currentEditor.currentDocumentModel;X&&this.editorDocumentModelService.changeModelOptions(X.uri,{languageId:Y})}}}),G.registerCommand(o.EDITOR_COMMANDS.GET_ENCODING,{execute:V=>{if(!V)return;const H=this.editorDocumentModelService.getModelDescription(V);if(H)return H.encoding}}),G.registerCommand(o.EDITOR_COMMANDS.CHANGE_ENCODING,{execute:async V=>{var H,K,Y,X;V=V??((H=this.workbenchEditorService.currentResource)===null||H===void 0?void 0:H.uri);const re=(K=this.workbenchEditorService.currentEditor)===null||K===void 0?void 0:K.currentDocumentModel;if(!V)return;const oe=this.preferenceService.get("files.encoding","utf8",V.toString(),(0,o.getLanguageIdFromMonaco)(V)),he=await this.contentRegistry.getProvider(V),me=await((Y=he?.guessEncoding)===null||Y===void 0?void 0:Y.call(he,V)),q=this.editorDocumentModelService.getModelDescription(V),Ae=(X=re?.encoding)!==null&&X!==void 0?X:q?.encoding;let ge;const te=Object.keys(o.SUPPORTED_ENCODINGS).sort((Me,Pe)=>Me===oe?-1:Pe===oe?1:o.SUPPORTED_ENCODINGS[Me].order-o.SUPPORTED_ENCODINGS[Pe].order).filter(Me=>Me===me&&me!==oe?!1:!o.SUPPORTED_ENCODINGS[Me].encodeOnly).map((Me,Pe)=>((Me===Ae||o.SUPPORTED_ENCODINGS[Me].alias===Ae)&&(ge=Pe),{label:o.SUPPORTED_ENCODINGS[Me].labelLong,value:Me,description:Me}));me&&oe!==me&&o.SUPPORTED_ENCODINGS[me]&&(te[0]&&(te[0].showBorder=!0),te.unshift({label:o.SUPPORTED_ENCODINGS[me].labelLong,value:me,description:(0,o.localize)("editor.guessEncodingFromContent")}),typeof ge=="number"&&ge++);const fe=await this.quickPickService.show(te,{placeholder:(0,o.localize)("editor.chooseEncoding"),selectIndex(Me){return Me?-1:typeof ge=="number"?ge:-1}});if(!fe)return;const Oe=[];if(V.scheme===f.DIFF_SCHEME){const Me=await this.resourceService.getResource(V);Me.metadata&&(Oe.push(Me.metadata.original),Oe.push(Me.metadata.modified))}else Oe.push(V);Oe.forEach(Me=>{this.editorDocumentModelService.changeModelOptions(Me,{encoding:fe})})}}),G.registerCommand(o.EDITOR_COMMANDS.CHANGE_EOL,{execute:async()=>{const V=this.workbenchEditorService.currentResource,H=this.workbenchEditorService.currentCodeEditor;if(H&&H.currentDocumentModel&&V){const K=await this.quickPickService.show([{label:"LF",value:`
|
|
33310
|
+
`+N.errorMessage)),!1;if(N.state===_.SaveTaskResponseState.DIFF){const U=(0,_.localize)("doc.saveError.diffAndSave"),W=(0,_.localize)("doc.saveError.overwrite");return this.messageService.error((0,_.formatLocalize)("doc.saveError.diff",this.uri.toString()),[U,W]).then(j=>{j===U?this.compareAndSave():j===W&&M(!0,x)}),this.logger.error("The file cannot be saved, the version is inconsistent with the disk"),!1}return!1};return this.saveQueue.queue(M.bind(this,I,w))}async compareAndSave(){const I=_.URI.from({scheme:A.ORIGINAL_DOC_SCHEME,query:_.URI.stringifyQuery({target:this.uri.toString()})}),w=this.uri.path.base,T=await this.compareService.compare(I,this.uri,(0,_.formatLocalize)("editor.compareAndSave.title",w,w));T===d.CompareResult.revert?this.revert():T===d.CompareResult.accept&&this.save(!0)}async initSave(){for(;this.savingTasks.length>0;){const I=this.dirtyChanges;this.dirtyChanges=[];const w=await this.savingTasks[0].run(this.service,this.baseContent,I,this.encoding,this.eol);w.state==="success"&&this.savingTasks[0]?(this.baseContent=this.savingTasks[0].content,this.eventBus.fire(new A.EditorDocumentModelSavedEvent(this.uri)),this.setPersist(this.savingTasks[0].alternativeVersionId)):(w.state==="error"&&this.eventBus.fire(new A.EditorDocumentModelSaveErrorEvent({uri:this.uri,errorMessage:w.errorMessage})),this.dirtyChanges.unshift(...I)),this.savingTasks.shift()}}setPersist(I){this._persistVersionId=I,this.notifyChangeEvent([],!1,!1)}async reload(){try{const I=await this.contentRegistry.getContentForUri(this.uri,this._encoding);(0,_.isUndefinedOrNull)(I)||this.cleanAndUpdateContent(I)}catch{this._persistVersionId=this.monacoModel.getAlternativeVersionId()}}async revert(I){I?this._persistVersionId=this.monacoModel.getAlternativeVersionId():await this.updateEncoding(this._originalEncoding)}getText(I){return I?this.monacoModel.getValueInRange(I):this.monacoModel.getValue()}updateContent(I,w,T=!1){w&&(this.eol=w);const R=this.eol===`\r
|
|
33311
|
+
`?h.DefaultEndOfLine.CRLF:h.DefaultEndOfLine.LF,{textBuffer:M,disposable:O}=(0,u.createTextBuffer)(I,R),x=n._computeEdits(this.monacoModel,M);this.monacoModel.pushEditOperations([],x,()=>[]),T&&(this.setPersist(this.monacoModel.getAlternativeVersionId()),this.baseContent=I,this.dirtyChanges=[]),O.dispose()}static _computeEdits(I,w){const T=I.getLineCount(),R=w.getLineCount(),M=this._commonPrefix(I,T,1,w,R,1);if(T===R&&M===T)return[];const O=this._commonSuffix(I,T-M,M,w,R-M,M);let x,k;return O>0?(x=new a.Range(M+1,1,T-O+1,1),k=new a.Range(M+1,1,R-O+1,1)):M>0?(x=new a.Range(M,I.getLineMaxColumn(M),T,I.getLineMaxColumn(T)),k=new a.Range(M,1+w.getLineLength(M),R,1+w.getLineLength(R))):(x=new a.Range(1,1,T,I.getLineMaxColumn(T)),k=new a.Range(1,1,R,1+w.getLineLength(R))),[g.EditOperation.replaceMove(x,w.getValueInRange(k,h.EndOfLinePreference.TextDefined))]}static _commonPrefix(I,w,T,R,M,O){const x=Math.min(w,M);let k=0;for(let F=0;F<x&&I.getLineContent(T+F)===R.getLineContent(O+F);F++)k++;return k}static _commonSuffix(I,w,T,R,M,O){const x=Math.min(w,M);let k=0;for(let F=0;F<x&&I.getLineContent(T+w-F)===R.getLineContent(O+M-F);F++)k++;return k}set baseContent(I){this._baseContent=I,this._baseContentMd5=null}get baseContent(){return this._baseContent}get baseContentMd5(){return this._baseContentMd5||(this._baseContentMd5=this.hashCalculateService.calculate(this._baseContent)),this._baseContentMd5}get tryAutoSaveAfterDelay(){return this._tryAutoSaveAfterDelay||(this._tryAutoSaveAfterDelay=(0,o.default)(()=>{this.save(void 0,c.SaveReason.AfterDelay)},this.editorPreferences["editor.autoSaveDelay"]||1e3),this.addDispose(this.editorPreferences.onPreferenceChanged(I=>{I.preferenceName==="editor.autoSaveDelay"&&(this._tryAutoSaveAfterDelay=(0,o.default)(()=>{this.save(void 0,c.SaveReason.AfterDelay)},this.editorPreferences["editor.autoSaveDelay"]||1e3))}))),this._tryAutoSaveAfterDelay}getBaseContentMd5(){return this._baseContentMd5||(this._baseContentMd5=this.hashCalculateService.calculate(this._baseContent)),this._baseContentMd5}notifyChangeEvent(I=[],w,T){!this.closeAutoSave&&this.savable&&this.editorPreferences["editor.autoSave"]===E.AUTO_SAVE_MODE.AFTER_DELAY&&this.tryAutoSaveAfterDelay(),this.eventBus.fire(new A.EditorDocumentModelContentChangedEvent({uri:this.uri,dirty:this.dirty,readonly:this.readonly,changes:I,eol:this.eol,isRedoing:w,isUndoing:T,versionId:this.monacoModel.getVersionId()}));const R=this;this.cacheProvider.persistCache(this.uri,{get dirty(){return R.dirty},get startMD5(){return R.getBaseContentMd5()},get content(){return R.getText()},get changeMatrix(){return R.dirtyChanges.map(({changes:M})=>M)},encoding:this.encoding})}async formatOnSave(I){if(this.editorPreferences["editor.formatOnSave"]&&I!==c.SaveReason.AfterDelay){const T=this.editorPreferences["editor.formatOnSaveTimeout"]||3e3,R=this.reporter.time(_.REPORT_NAME.FORMAT_ON_SAVE);try{await Promise.race([new Promise((M,O)=>{setTimeout(()=>{const x=new Error((0,_.formatLocalize)("preference.editor.formatOnSaveTimeoutError",T));x.name="FormatOnSaveTimeoutError",O(x)},T)}),this.commandService.executeCommand(_.EDITOR_COMMANDS.FORMAT_DOCUMENT.id)])}catch(M){M.name==="FormatOnSaveTimeoutError"&&this.reporter.point(_.REPORT_NAME.FORMAT_ON_SAVE_TIMEOUT_ERROR,this.uri.toString()),this.logger.warn(`${y.EditorDocumentError.FORMAT_ERROR} ${M&&M.message}`)}finally{R.timeEnd(this.uri.path.ext)}}}dispose(){var I;const w=this._tryAutoSaveAfterDelay;(I=w?.cancel)===null||I===void 0||I.call(w),this._tryAutoSaveAfterDelay=void 0;for(const T of this.savingTasks)try{T.dispose()}catch{}this.savingTasks=[],this.dirtyChanges=[],this._baseContent="",this._baseContentMd5=null,this.monacoModel&&!this.monacoModel.isDisposed()&&this.monacoModel.dispose(),this.monacoModel=void 0,super.dispose()}};t.EditorDocumentModel=S,r.__decorate([(0,l.Autowired)(A.IEditorDocumentModelContentRegistry),r.__metadata("design:type",Object)],S.prototype,"contentRegistry",void 0),r.__decorate([(0,l.Autowired)(A.IEditorDocumentModelService),r.__metadata("design:type",Object)],S.prototype,"service",void 0),r.__decorate([(0,l.Autowired)(d.ICompareService),r.__metadata("design:type",Object)],S.prototype,"compareService",void 0),r.__decorate([(0,l.Autowired)(c.IDocPersistentCacheProvider),r.__metadata("design:type",Object)],S.prototype,"cacheProvider",void 0),r.__decorate([(0,l.Autowired)(s.IMessageService),r.__metadata("design:type",Object)],S.prototype,"messageService",void 0),r.__decorate([(0,l.Autowired)(_.IEventBus),r.__metadata("design:type",Object)],S.prototype,"eventBus",void 0),r.__decorate([(0,l.Autowired)(_.ILogger),r.__metadata("design:type",Object)],S.prototype,"logger",void 0),r.__decorate([(0,l.Autowired)(_.CommandService),r.__metadata("design:type",Object)],S.prototype,"commandService",void 0),r.__decorate([(0,l.Autowired)(_.IReporterService),r.__metadata("design:type",Object)],S.prototype,"reporter",void 0),r.__decorate([(0,l.Autowired)(_.PreferenceService),r.__metadata("design:type",Object)],S.prototype,"preferences",void 0),r.__decorate([(0,l.Autowired)(v.IHashCalculateService),r.__metadata("design:type",Object)],S.prototype,"hashCalculateService",void 0),t.EditorDocumentModel=S=n=r.__decorate([(0,l.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[_.URI,String,Object])],S)},78157:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorDocumentModelContentRegistryImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(96689);let _=class{constructor(){this.providers=[],this._onOriginalDocChanged=new o.Emitter,this.cachedProviders=new o.LRUMap(1e3,500),this.originalProvider={handlesScheme:m=>m===l.ORIGINAL_DOC_SCHEME,provideEditorDocumentModelContent:async m=>{const{target:p}=m.getParsedQuery(),s=new o.URI(p);return await this.getContentForUri(s)||""},isReadonly:()=>!0,onDidChangeContent:this._onOriginalDocChanged.event},this.registerEditorDocumentModelContentProvider(this.originalProvider)}registerEditorDocumentModelContentProvider(m){this.providers.push(m),this.cachedProviders.clear();const p=m.onDidChangeContent(s=>{this.eventBus.fire(new l.EditorDocumentModelOptionExternalUpdatedEvent(s))});return m!==this.originalProvider&&m.onDidChangeContent&&m.onDidChangeContent(s=>{this._onOriginalDocChanged.fire(o.URI.from({scheme:l.ORIGINAL_DOC_SCHEME,query:o.URI.stringifyQuery({target:s.toString()})}))}),{dispose:()=>{p.dispose();const s=this.providers.indexOf(m);s&&(this.providers.splice(s,1),this.cachedProviders.clear())}}}getProvider(m){const p=m.toString();return this.cachedProviders.has(p)||this.cachedProviders.set(p,this.calculateProvider(m)),this.cachedProviders.get(p)}async calculateProvider(m){let p={provider:void 0,weight:-1,index:1};for(const s of this.providers){let g=-1;const a=this.providers.indexOf(s);s.handlesUri?g=await s.handlesUri(m):s.handlesScheme&&(g=await s.handlesScheme(m.scheme)?10:-1),g>=0&&(g>p.weight||g===p.weight&&a>p.index)&&(p={index:a,weight:g,provider:s})}return p.provider}async getContentForUri(m,p){const s=await this.getProvider(m);if(!s)throw new Error;return s.provideEditorDocumentModelContent(m,p)}};t.EditorDocumentModelContentRegistryImpl=_,n.__decorate([(0,r.Autowired)(o.IEventBus),n.__metadata("design:type",Object)],_.prototype,"eventBus",void 0),t.EditorDocumentModelContentRegistryImpl=_=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],_)},37275:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(9519),t),n.__exportStar(e(91249),t),n.__exportStar(e(78157),t),n.__exportStar(e(98469),t)},89618:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoTextModelService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(96689);let _=class{canHandleResource(m){return!0}hasTextModelContentProvider(m){throw new Error("Method not implemented.")}async createModelReference(m){const p=await this.documentModelManager.createModelReference(new o.URI(m.toString()),"monaco");if(p){const s=p.instance.getMonacoModel();return Promise.resolve({object:{textEditorModel:s},dispose:()=>{p.dispose()}})}}registerTextModelContentProvider(m,p){return{dispose(){}}}};t.MonacoTextModelService=_,n.__decorate([(0,r.Autowired)(l.IEditorDocumentModelService),n.__metadata("design:type",Object)],_.prototype,"documentModelManager",void 0),t.MonacoTextModelService=_=n.__decorate([(0,r.Injectable)()],_)},98469:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SaveTask=void 0;const n=e(41869);class r extends n.Disposable{constructor(l,_,v,m,p){super(),this.uri=l,this.versionId=_,this.alternativeVersionId=v,this.content=m,this.ignoreDiff=p,this.deferred=new n.Deferred,this.finished=this.deferred.promise,this.started=!1,this.disposables.push(this.cancelToken=new n.CancellationTokenSource)}async run(l,_,v,m,p){this.started=!0;try{const s=await l.saveEditorDocumentModel(this.uri,this.content,_,v,m,this.ignoreDiff,p,this.cancelToken.token);return this.deferred.resolve(s),s}catch(s){const g={errorMessage:s.message,state:n.SaveTaskResponseState.ERROR};return this.deferred.resolve(g),g}}cancel(){this.cancelToken.cancel();const l={errorMessage:"cancel",state:n.SaveTaskResponseState.ERROR};this.deferred.resolve(l)}}t.SaveTask=r},66537:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SaveParticipantsContribution=t.TrimFinalNewLinesParticipant=t.CodeActionOnSaveParticipant=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(68969),_=n.__importStar(e(20868)),v=e(29046),m=e(52902),p=e(79865),s=e(2261),g=e(44781),a=n.__importStar(e(40540)),h=e(84866),u=e(93152),c=e(82196),E=e(96689);function f(A,S){let D=null;if(A.isAttachedToEditor()){for(const I of S.listCodeEditors())if(I.hasModel()&&I.getModel()===A){if(I.hasTextFocus())return I;D=I}}return D}let d=class extends o.WithEventBus{get bulkEditService(){return this.overrideServiceRegistry.getRegisteredService(o.ServiceNames.BULK_EDIT_SERVICE)}activate(){}async onEditorDocumentModelWillSave(S){if(S.payload.reason!==c.SaveReason.Manual)return;const D=this.preferenceService.get("editor.codeActionsOnSave",void 0,S.payload.uri.toString(),S.payload.language);if(!D)return;const I=this.preferenceService.get("editor.codeActionsOnSaveNotification",!0,S.payload.uri.toString(),S.payload.language),w=T=>{const M=(Array.isArray(D)?D:Object.keys(D)).map(N=>new v.CodeActionKind(N));if(Array.isArray(D)||M.sort((N,U)=>v.CodeActionKind.SourceFixAll.contains(N)?v.CodeActionKind.SourceFixAll.contains(U)?0:-1:v.CodeActionKind.SourceFixAll.contains(U)?1:0),M.length===0)return;const O=this.docService.getModelReference(S.payload.uri,"codeActionOnSave");if(!O)return;const x=O.instance.getMonacoModel(),k=new _.CancellationTokenSource,F=this.preferenceService.get("editor.codeActionsOnSaveTimeout",void 0,S.payload.uri.toString(),S.payload.language),L=Array.isArray(D)?[]:Object.keys(D).filter(N=>D[N]===!1).map(N=>new v.CodeActionKind(N));return Promise.race([new Promise((N,U)=>setTimeout(()=>{k.cancel(),U("codeActionsOnSave timeout")},F)),this.applyOnSaveActions(x,M,L,T,k.token)]).finally(()=>{k.cancel(),O.dispose()})};return I?this.progressService.withProgress({title:(0,o.formatLocalize)("editor.saveCodeActions.saving",S.payload.uri.displayName),location:o.ProgressLocation.Notification,cancellable:!0},async T=>w(T)):w(null)}async applyOnSaveActions(S,D,I,w,T){const R=new class{constructor(){this._names=new Set}_report(){w&&w.report({message:(0,o.formatLocalize)("editor.saveCodeActions.getting",[...this._names].map(M=>`'${M}'`).join(", "))})}report(M){M.displayName&&!this._names.has(M.displayName)&&(this._names.add(M.displayName),this._report())}};for(const M of D)try{const O=await this.getActionsToRun(S,M,I,R,T);await this.applyCodeActions(O.validActions)}catch(O){this.logger.error(O)}}async applyCodeActions(S){var D;for(const I of S)I.action.edit&&await((D=this.bulkEditService)===null||D===void 0?void 0:D.apply(m.ResourceEdit.convert(I.action.edit))),I.action.command&&await this.commandService.executeCommand(I.action.command.id,...I.action.command.arguments||[])}async getActionsToRun(S,D,I,w,T){return(0,h.getCodeActions)(p.languageFeaturesService.codeActionProvider,S,S.getFullModelRange(),{type:a.CodeActionTriggerType.Auto,filter:{include:D,excludes:I,includeSourceActions:!0},triggerAction:v.CodeActionTriggerSource.OnSave},w,T)}};t.CodeActionOnSaveParticipant=d,n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],d.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.MonacoOverrideServiceRegistry),n.__metadata("design:type",o.MonacoOverrideServiceRegistry)],d.prototype,"overrideServiceRegistry",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],d.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(E.IEditorDocumentModelService),n.__metadata("design:type",Object)],d.prototype,"docService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],d.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(l.IProgressService),n.__metadata("design:type",Object)],d.prototype,"progressService",void 0),n.__decorate([(0,o.OnEvent)(E.EditorDocumentModelWillSaveEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[E.EditorDocumentModelWillSaveEvent]),n.__metadata("design:returntype",Promise)],d.prototype,"onEditorDocumentModelWillSave",null),t.CodeActionOnSaveParticipant=d=n.__decorate([(0,r.Injectable)()],d);let y=class extends o.WithEventBus{activate(){}async onEditorDocumentModelWillSave(S){if(this.preferenceService.get("files.trimFinalNewlines")){const I=this.docService.getModelReference(S.payload.uri,"trimFinalNewlines");if(!I)return;const w=I.instance.getMonacoModel();this.doTrimFinalNewLines(w,S.payload.reason!==c.SaveReason.Manual),I.dispose()}}findLastNonEmptyLine(S){for(let D=S.getLineCount();D>=1;D--)if(S.getLineContent(D).length>0)return D;return 0}doTrimFinalNewLines(S,D){const I=S.getLineCount();if(I===1)return;let w=[],T=0;const R=this.injector.get(u.MonacoCodeService),M=f(S,R);if(M&&(w=M.getSelections(),D))for(let F=0,L=w.length;F<L;F++){const N=w[F].positionLineNumber;N>T&&(T=N)}const O=this.findLastNonEmptyLine(S),x=Math.max(O+1,T+1),k=S.validateRange(new g.Range(x,1,I,S.getLineMaxColumn(I)));k.isEmpty()||(S.pushEditOperations(w,[s.EditOperation.delete(k)],()=>w),M?.setSelections(w))}};t.TrimFinalNewLinesParticipant=y,n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],y.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(E.IEditorDocumentModelService),n.__metadata("design:type",Object)],y.prototype,"docService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],y.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],y.prototype,"injector",void 0),n.__decorate([(0,o.OnEvent)(E.EditorDocumentModelWillSaveEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[E.EditorDocumentModelWillSaveEvent]),n.__metadata("design:returntype",Promise)],y.prototype,"onEditorDocumentModelWillSave",null),t.TrimFinalNewLinesParticipant=y=n.__decorate([(0,r.Injectable)()],y);let b=class{onStart(){this.codeActionOnSaveParticipant.activate(),this.trimFinalNewLinesParticipant.activate()}};t.SaveParticipantsContribution=b,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",d)],b.prototype,"codeActionOnSaveParticipant",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",y)],b.prototype,"trimFinalNewLinesParticipant",void 0),t.SaveParticipantsContribution=b=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],b)},96689:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ORIGINAL_DOC_SCHEME=t.EditorDocumentModelWillSaveEvent=t.EditorDocumentModelSaveErrorEvent=t.EditorDocumentModelSavedEvent=t.EditorDocumentModelRemovalEvent=t.EditorDocumentModelCreationEvent=t.EditorDocumentModelOptionExternalUpdatedEvent=t.EditorDocumentModelOptionChangedEvent=t.EditorDocumentModelContentChangedEvent=t.IEditorDocumentModelContentRegistry=t.IEditorDocumentModelService=void 0;const n=e(41869);t.IEditorDocumentModelService=Symbol("IEditorDocumentModelService"),t.IEditorDocumentModelContentRegistry=Symbol("IEditorDocumentModelContentRegistry");class r extends n.BasicEvent{}t.EditorDocumentModelContentChangedEvent=r;class o extends n.BasicEvent{}t.EditorDocumentModelOptionChangedEvent=o;class l extends n.BasicEvent{}t.EditorDocumentModelOptionExternalUpdatedEvent=l;class _ extends n.BasicEvent{}t.EditorDocumentModelCreationEvent=_;class v extends n.BasicEvent{}t.EditorDocumentModelRemovalEvent=v;class m extends n.BasicEvent{}t.EditorDocumentModelSavedEvent=m;class p extends n.BasicEvent{}t.EditorDocumentModelSaveErrorEvent=p;class s extends n.BasicEvent{}t.EditorDocumentModelWillSaveEvent=s,t.ORIGINAL_DOC_SCHEME="original_doc"},71624:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserDiffEditor=t.BrowserCodeEditor=t.EditorCollectionServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(66e3),_=e(22689),v=e(43718),m=e(99721),p=e(23418),s=e(55113),g=e(30526),a=e(96689),h=e(59879),u=e(39266),c=e(6043),E=e(82196);let f=class extends v.WithEventBus{get currentEditor(){return this._currentEditor}constructor(){super(),this._editors=new Set,this._diffEditors=new Set,this._multiDiffEditors=new Set,this._onCodeEditorCreate=new v.Emitter,this._onDiffEditorCreate=new v.Emitter,this._onMultiDiffEditorCreate=new v.Emitter,this._onCodeEditorChange=new v.Emitter,this._onDiffEditorChange=new v.Emitter,this._onMultiDiffEditorChange=new v.Emitter,this.onCodeEditorCreate=this._onCodeEditorCreate.event,this.onDiffEditorCreate=this._onDiffEditorCreate.event,this.onMultiDiffEditorCreate=this._onMultiDiffEditorCreate.event,this.onCodeEditorChange=this._onCodeEditorChange.event,this.onDiffEditorChange=this._onDiffEditorChange.event,this.onMultiDiffEditorChange=this._onMultiDiffEditorChange.event,this.addDispose(this.editorFeatureRegistry.onDidRegisterFeature(D=>{this._editors.forEach(I=>{this.editorFeatureRegistry.runOneContribution(I,D)})}))}createCodeEditor(D,I,w){const T={...(0,c.getConvertedMonacoOptions)(this.configurationService).editorOptions,...I},R=this.monacoService.createCodeEditor(D,T,w),M=this.injector.get(d,[R,I]);return this._onCodeEditorCreate.fire(M),M}listEditors(){return Array.from(this._editors.values())}getEditorByUri(D){var I;for(const w of this._editors.values())if(!((I=w.currentUri)===null||I===void 0)&&I.isEqual(D))return w}addEditors(D){const I=this._editors.size;D.forEach(w=>{let T=!1;const R=Array.from(this._editors).find(M=>M.currentUri&&w.currentUri&&M.currentUri.isEqual(w.currentUri));R&&R.monacoEditor.getId()===w.monacoEditor.getId()&&(T=!0),T?(w.decorationApplier.clearDecorations(),w.decorationApplier.applyDecorationFromProvider()):(this._editors.add(w),this.editorFeatureRegistry.runContributions(w),w.monacoEditor.onDidFocusEditorWidget(()=>{this._currentEditor=w}),w.monacoEditor.onContextMenu(()=>{this._currentEditor=w}))}),this._editors.size!==I&&this._onCodeEditorChange.fire()}removeEditors(D){const I=this._editors.size;D.forEach(w=>{this._editors.delete(w),this._currentEditor===w&&(this._currentEditor=void 0)}),this._editors.size!==I&&this._onCodeEditorChange.fire()}createDiffEditor(D,I,w){const T=(0,c.getConvertedMonacoOptions)(this.configurationService),R={...T.editorOptions,...T.diffOptions,...I},M=this.monacoService.createDiffEditor(D,R,w),O=this.injector.get(y,[M,I]);return this._onDiffEditorCreate.fire(O),O}createMultiDiffEditor(D,I,w){const T=(0,c.getConvertedMonacoOptions)(this.configurationService),R=this.monacoService.createMultiDiffEditorWidget(D,w),M={...T.diffOptions,...I};return this.injector.get(u.BrowserMultiDiffEditor,[R,M,this])}createMergeEditor(D,I,w){const T=(0,c.getConvertedMonacoOptions)(this.configurationService),R={...T.editorOptions,...T.diffOptions,...I,wordWrap:"off"};return this.monacoService.createMergeEditor(D,R,w)}listDiffEditors(){return Array.from(this._diffEditors.values())}addDiffEditors(D){const I=this._diffEditors.size;D.forEach(w=>{this._diffEditors.has(w)||this._diffEditors.add(w)}),this._diffEditors.size!==I&&this._onDiffEditorChange.fire()}removeDiffEditors(D){const I=this._diffEditors.size;D.forEach(w=>{this._diffEditors.delete(w)}),this._diffEditors.size!==I&&this._onDiffEditorChange.fire()}listMultiDiffEditors(){return Array.from(this._multiDiffEditors.values())}addMultiDiffEditors(D){const I=this._multiDiffEditors.size;D.forEach(w=>{this._multiDiffEditors.has(w)||this._multiDiffEditors.add(w)}),this._multiDiffEditors.size!==I&&this._onMultiDiffEditorChange.fire()}removeMultiDiffEditors(D){const I=this._multiDiffEditors.size;D.forEach(w=>{this._multiDiffEditors.delete(w)}),this._multiDiffEditors.size!==I&&this._onMultiDiffEditorChange.fire()}onDocModelContentChangedEvent(D){this.eventBus.fire(new p.ResourceDecorationNeedChangeEvent({uri:D.payload.uri,decoration:{dirty:!!D.payload.dirty,readOnly:!!D.payload.readonly}}))}};t.EditorCollectionServiceImpl=f,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.MonacoService)],f.prototype,"monacoService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],f.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(m.IConfigurationService),n.__metadata("design:type",Object)],f.prototype,"configurationService",void 0),n.__decorate([(0,r.Autowired)(E.IEditorFeatureRegistry),n.__metadata("design:type",h.EditorFeatureRegistryImpl)],f.prototype,"editorFeatureRegistry",void 0),n.__decorate([(0,r.Autowired)(a.IEditorDocumentModelService),n.__metadata("design:type",Object)],f.prototype,"documentModelService",void 0),n.__decorate([(0,v.OnEvent)(a.EditorDocumentModelContentChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[a.EditorDocumentModelContentChangedEvent]),n.__metadata("design:returntype",void 0)],f.prototype,"onDocModelContentChangedEvent",null),t.EditorCollectionServiceImpl=f=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],f);let d=class extends g.BaseMonacoEditorWrapper{get currentDocumentModel(){return this._currentDocumentModelRef&&!this._currentDocumentModelRef.disposed?this._currentDocumentModelRef.instance:null}getType(){return p.EditorType.CODE}constructor(D,I={}){super(D,p.EditorType.CODE),this.monacoEditor=D,this.editorState=new Map,this._onCursorPositionChanged=new v.Emitter,this.onCursorPositionChanged=this._onCursorPositionChanged.event,this._onRefOpen=new v.Emitter,this.onRefOpen=this._onRefOpen.event,this._specialEditorOptions=I,this.collectionService.addEditors([this]);const w=D.onDidChangeModel(()=>{b(this.monacoEditor.getDomNode()),w.dispose()});this.addDispose(D.onDidChangeCursorPosition(()=>{if(!this.currentDocumentModel)return;const T=D.getSelection();this._onCursorPositionChanged.fire({position:D.getPosition(),selectionLength:T?this.currentDocumentModel.getMonacoModel().getValueInRange(T).length:0})})),this.addDispose(this.monacoEditor)}layout(D,I=!1){this.monacoEditor.layout(D,I)}focus(){this.monacoEditor.focus()}dispose(){super.dispose(),this.saveCurrentState(),this.collectionService.removeEditors([this])}saveCurrentState(){if(this.currentUri){const D=this.monacoEditor.saveViewState();D&&this.editorState.set(this.currentUri.toString(),D)}}restoreState(){if(this.currentUri){const D=this.editorState.get(this.currentUri.toString());(0,s.isTextEditorViewState)(D)&&this.monacoEditor.restoreViewState(D)}}open(D){this.saveCurrentState(),this._currentDocumentModelRef=D;const I=this.currentDocumentModel.getMonacoModel();this.disableSelectionEmitter(),this.monacoEditor.setModel(I),this.enableSelectionEmitter(),this.restoreState(),this._onRefOpen.fire(D),this._onCursorPositionChanged.fire({position:this.monacoEditor.getPosition(),selectionLength:0});const{instance:w}=D;this.updateOptions(),this.eventBus.fire(new p.ResourceDecorationNeedChangeEvent({uri:w.uri,decoration:{readOnly:w.readonly}}))}};t.BrowserCodeEditor=d,n.__decorate([(0,r.Autowired)(p.EditorCollectionService),n.__metadata("design:type",f)],d.prototype,"collectionService",void 0),n.__decorate([(0,r.Autowired)(E.IEditorFeatureRegistry),n.__metadata("design:type",Object)],d.prototype,"editorFeatureRegistry",void 0),t.BrowserCodeEditor=d=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object])],d);class y extends v.WithEventBus{get originalDocModel(){return this.originalDocModelRef&&!this.originalDocModelRef.disposed?this.originalDocModelRef.instance:null}get modifiedDocModel(){return this.modifiedDocModelRef&&!this.modifiedDocModelRef.disposed?this.modifiedDocModelRef.instance:null}saveCurrentState(){if(this.currentUri){const D=this.monacoDiffEditor.saveViewState();D&&this.editorState.set(this.currentUri.toString(),D)}}restoreState(D){if(this.currentUri){const I=this.editorState.get(this.currentUri.toString());(0,s.isTextEditorViewState)(I)&&((D.range||D.originalRange)&&(I.modified.cursorState=[]),this.monacoDiffEditor.restoreViewState(I))}}constructor(D,I={}){super(),this.monacoDiffEditor=D,this.specialOptions=I,this.editorState=new Map,this._onRefOpen=new v.Emitter,this.onRefOpen=this._onRefOpen.event,this.wrapEditors(),this.addDispose(this.configurationService.onDidChangeConfiguration(w=>{Array.from(w.affectedKeys.values()).filter(R=>(0,c.isDiffEditorOption)(R)).length>0&&this.updateDiffOptions()}))}async compare(D,I,w={},T){if(this.saveCurrentState(),this.originalDocModelRef=D,this.modifiedDocModelRef=I,!this.originalDocModel||!this.modifiedDocModel)return;const R=this.originalDocModel.getMonacoModel(),M=this.modifiedDocModel.getMonacoModel(),O=this.monacoDiffEditor.createViewModel({original:R,modified:M});if(this.monacoDiffEditor.setModel(O),T?this.currentUri=T:this.currentUri=v.URI.from({scheme:p.DIFF_SCHEME,query:v.URI.stringifyQuery({name,original:this.originalDocModel.uri.toString(),modified:this.modifiedDocModel.uri.toString()})}),await O?.waitForDiff(),this.restoreState(w),w.range||w.originalRange){const k=w.range||w.originalRange,F=w.range?this.modifiedEditor.monacoEditor:this.originalEditor.monacoEditor;setTimeout(()=>{F.revealRangeInCenter(k),F.setSelection(k)}),v.Event.once(this.monacoDiffEditor.onDidUpdateDiff)(()=>{F.setSelection(k),setTimeout(()=>{F.revealRangeInCenter(k)})})}this._onRefOpen.fire(D),this._onRefOpen.fire(I);const x=this.preferenceService.get("diffEditor.hideUnchangedRegions.enabled");if(w.revealFirstDiff&&!x){const k=this.monacoDiffEditor.getLineChanges();if(k&&k.length>0)this.showFirstDiff(O);else{const F=this.monacoDiffEditor.onDidUpdateDiff(()=>{this.showFirstDiff(O),F.dispose()})}}await this.updateOptionsOnModelChange(),this.diffResourceKeys.forEach(k=>k.set(this.currentUri))}async showFirstDiff(D){await D?.waitForDiff(),this.monacoDiffEditor.revealFirstDiff()}async updateOptionsOnModelChange(){await this.doUpdateDiffOptions()}isReadonly(){var D;return!!(!((D=this.modifiedDocModel)===null||D===void 0)&&D.readonly)}async doUpdateDiffOptions(){const D=this.modifiedEditor.currentUri?this.modifiedEditor.currentUri.toString():void 0,I=this.modifiedEditor.currentDocumentModel?this.modifiedEditor.currentDocumentModel.languageId:void 0,w=(0,c.getConvertedMonacoOptions)(this.configurationService,D,I),T=this.isReadonly();this.monacoDiffEditor.updateOptions({...w.diffOptions,...this.specialOptions,readOnly:T,renderMarginRevertIcon:!T}),this.currentUri&&this.eventBus.fire(new p.ResourceDecorationNeedChangeEvent({uri:this.currentUri,decoration:{readOnly:this.isReadonly()}}))}updateDiffOptions(){this.doUpdateDiffOptions()}getLineChanges(){const D=this.monacoDiffEditor.getLineChanges();return D?D.map(I=>{var w;return[I.originalStartLineNumber,I.originalEndLineNumber,I.modifiedStartLineNumber,I.modifiedEndLineNumber,(w=I.charChanges)===null||w===void 0?void 0:w.map(T=>[T.originalStartLineNumber,T.originalStartColumn,T.originalEndLineNumber,T.originalEndColumn,T.modifiedStartLineNumber,T.modifiedStartColumn,T.modifiedEndLineNumber,T.modifiedEndColumn])]}):null}wrapEditors(){const D=this;this.originalEditor=this.injector.get(g.DiffEditorPart,[D.monacoDiffEditor.getOriginalEditor(),()=>D.originalDocModel,p.EditorType.ORIGINAL_DIFF]),this.modifiedEditor=this.injector.get(g.DiffEditorPart,[D.monacoDiffEditor.getModifiedEditor(),()=>D.modifiedDocModel,p.EditorType.MODIFIED_DIFF]),this.collectionService.addEditors([this.originalEditor,this.modifiedEditor]),this.collectionService.addDiffEditors([this]);const I=this.contextKeyService.createScoped(this.modifiedEditor.monacoEditor._contextKeyService),w=this.contextKeyService.createScoped(this.originalEditor.monacoEditor._contextKeyService);this.diffResourceKeys=[new l.ResourceContextKey(I,void 0,"diffResource"),new l.ResourceContextKey(w,void 0,"diffResource")]}layout(){return this.monacoDiffEditor.layout()}focus(){this.monacoDiffEditor.focus()}dispose(){super.dispose(),this.collectionService.removeEditors([this.originalEditor,this.modifiedEditor]),this.collectionService.removeDiffEditors([this]),this.monacoDiffEditor.dispose(),this._disposed=!0}}t.BrowserDiffEditor=y,n.__decorate([(0,r.Autowired)(p.EditorCollectionService),n.__metadata("design:type",f)],y.prototype,"collectionService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],y.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(m.IConfigurationService),n.__metadata("design:type",Object)],y.prototype,"configurationService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],y.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],y.prototype,"contextKeyService",void 0);function b(S){S.addEventListener("mousewheel",A)}function A(S){S.preventDefault(),S.stopPropagation(),(this.offsetWidth+this.scrollLeft+S.deltaX>this.scrollWidth||this.scrollLeft+S.deltaX<0)&&(S.preventDefault(),S.stopPropagation())}},17315:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorElectronContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=e(37406),v=e(23418),m=e(96689),p=e(82196),s=e(51553);let g=class extends l.WithEventBus{onResourceDecorationChangeEvent(){const h=this.workbenchEditorService.hasDirty();this.electronMainUIService.setDocumentEdited(o.electronEnv.currentWindowId,!!h)}async onWillStop(){return!!(await this.workbenchEditorService.closeAllOnlyConfirmOnce()||!this.cacheProvider.isFlushed())}registerKeybindings(h){h.registerKeybinding({command:o.EDITOR_COMMANDS.NEXT.id,keybinding:"ctrl+tab"}),h.registerKeybinding({command:o.EDITOR_COMMANDS.PREVIOUS.id,keybinding:"ctrl+shift+tab"}),l.isOSX&&(h.registerKeybinding({command:o.EDITOR_COMMANDS.NEXT.id,keybinding:"ctrlcmd+shift+]"}),h.registerKeybinding({command:o.EDITOR_COMMANDS.PREVIOUS.id,keybinding:"ctrlcmd+shift+["}))}};t.EditorElectronContribution=g,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",s.WorkbenchEditorServiceImpl)],g.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(v.IDocPersistentCacheProvider),n.__metadata("design:type",Object)],g.prototype,"cacheProvider",void 0),n.__decorate([(0,r.Autowired)(m.IEditorDocumentModelContentRegistry),n.__metadata("design:type",Object)],g.prototype,"contentRegistry",void 0),n.__decorate([(0,r.Autowired)(_.IElectronMainUIService),n.__metadata("design:type",Object)],g.prototype,"electronMainUIService",void 0),n.__decorate([(0,l.OnEvent)(p.ResourceDecorationChangeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],g.prototype,"onResourceDecorationChangeEvent",null),t.EditorElectronContribution=g=n.__decorate([(0,o.Domain)(o.ClientAppContribution,o.KeybindingContribution)],g)},75522:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorOpener=void 0;const n=e(85608),r=e(76003),o=e(23418);let l=class{async open(v){let m;const p=/^L?(\d+)(?:,(\d+))?/.exec(v.fragment);if(p){const s=parseInt(p[1],10),g=p[2]?parseInt(p[2],10):1;m={startLineNumber:s,startColumn:g,endLineNumber:s,endColumn:g},v=v.withFragment("")}return await this.workbenchEditorService.open(v,{range:m}),!0}async handleURI(v){return this.resourceService.handlesUri(v)}handleScheme(){return!1}};t.EditorOpener=l,n.__decorate([(0,r.Autowired)(o.ResourceService),n.__metadata("design:type",o.ResourceService)],l.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(o.WorkbenchEditorService),n.__metadata("design:type",o.WorkbenchEditorService)],l.prototype,"workbenchEditorService",void 0),t.EditorOpener=l=n.__decorate([(0,r.Injectable)()],l)},19352:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Scroll=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=n.__importDefault(e(62251));class _ extends o.default.Component{constructor(){super(...arguments),this.position={top:0,left:0},this.dragging=!1,this.draggingStart=0,this.draggingStartPos=0,this.shouldHideThumb=!0,this.isAtTop=!0,this.onMouseMoveHorizontal=m=>{if(!this.dragging)return;const p=m.pageX-this.draggingStart;this.ref.scrollLeft=this.draggingStartPos+this.calculateXToLeft(p)},this.onMouseUpHorizontal=m=>{this.dragging=!1,document.removeEventListener("mousemove",this.onMouseMoveHorizontal),document.removeEventListener("mouseup",this.onMouseUpHorizontal),this.shouldHideThumb&&this.hideThumb()},this.onMouseMoveVertical=m=>{if(!this.dragging)return;const p=m.pageY-this.draggingStart;this.ref.scrollTop=this.draggingStartPos+this.calculateYToTop(p)},this.onMouseUpVertical=m=>{this.dragging=!1,document.removeEventListener("mousemove",this.onMouseMoveVertical),document.removeEventListener("mouseup",this.onMouseUpVertical),this.shouldHideThumb&&this.hideThumb()},this.onMousewheel=m=>{this.ref.clientHeight>=this.ref.scrollHeight&&(m.deltaY!==0&&(this.ref.scrollLeft+=m.deltaY),m.deltaX!==0&&(this.ref.scrollLeft+=m.deltaX))},this.onMouseEnter=()=>{this.update()},this.handleWindowResize=()=>{this.update()},this.update=m=>{this.requestFrame&&window.cancelAnimationFrame(this.requestFrame),this.requestFrame=window.requestAnimationFrame(()=>{this._update(),m&&m()})}}onScroll(m){this.position={top:this.ref.scrollTop,left:this.ref.scrollLeft},this.props.onScroll&&this.props.onScroll(this.position),this.update(()=>{const p=this.ref.scrollWidth,s=this.ref.offsetWidth,g=this.ref.scrollHeight,a=this.ref.offsetHeight;this.thumbH.style.left=this.position.left*s/p+"px",this.thumbV.style.top=this.position.top*a/g+"px"}),!this.isAtTop&&this.ref.scrollTop===0?(this.isAtTop=!0,this.setCss()):this.isAtTop&&this.ref.scrollTop!==0&&(this.isAtTop=!1,this.setCss()),this.ref.scrollLeft>0?(this.decorationL.style.opacity=String(1),this.decorationR.style.opacity=String(1)):this.decorationL.style.opacity=String(0),(this.ref.scrollWidth===this.ref.offsetWidth||this.ref.scrollLeft===this.ref.scrollWidth-this.ref.offsetWidth)&&(this.decorationR.style.opacity=String(0))}scrollTo(m){this.ref.scrollLeft=m.left,this.ref.scrollTop=m.top}onMouseDownHorizontal(m){this.dragging=!0,m.target===this.trackH&&this.onMouseDownOnTrack(m),this.draggingStart=m.pageX,this.draggingStartPos=this.ref.scrollLeft,document.addEventListener("mousemove",this.onMouseMoveHorizontal),document.addEventListener("mouseup",this.onMouseUpHorizontal)}onMouseDownOnTrack(m){const p=m.target,s=m.clientX-p.getBoundingClientRect().left,g=this.ref.scrollWidth,a=this.ref.offsetWidth,h=s*g/a-.5*a;this.scrollTo({left:h,top:this.position.top})}calculateXToLeft(m){const p=this.ref.scrollWidth,s=this.ref.offsetWidth;return m*p/s}onMouseDownVertical(m){this.dragging=!0,m.target===this.trackV&&this.onMouseDownOnTrackVertical(m),this.draggingStart=m.pageY,this.draggingStartPos=this.ref.scrollTop,document.addEventListener("mousemove",this.onMouseMoveVertical),document.addEventListener("mouseup",this.onMouseUpVertical)}onMouseDownOnTrackVertical(m){const p=m.target,s=m.clientY-p.getBoundingClientRect().top,g=this.ref.scrollHeight,a=this.ref.offsetHeight,h=s*g/a-.5*a;this.scrollTo({left:this.position.left,top:h})}calculateYToTop(m){const p=this.ref.scrollHeight,s=this.ref.offsetHeight;return m*p/s}componentDidUpdate(){this.update(),this.props.delegate&&this.props.delegate({scrollTo:this.scrollTo.bind(this)})}componentDidMount(){this.update(),window.addEventListener("resize",this.handleWindowResize),this.props.delegate&&this.props.delegate({scrollTo:this.scrollTo.bind(this)}),this.ref&&(this.ref.addEventListener("mouseenter",this.onMouseEnter),this.ref.addEventListener("wheel",this.onMousewheel))}componentWillUnmount(){this.ref&&(this.ref.removeEventListener("mouseenter",this.onMouseEnter),this.ref.removeEventListener("wheel",this.onMousewheel)),window.removeEventListener("resize",this.handleWindowResize),this.requestFrame&&window.cancelAnimationFrame(this.requestFrame)}sizeEqual(m,p){return m&&p&&m.offsetHeight===p.offsetHeight&&m.scrollHeight===p.scrollHeight&&m.offsetWidth===p.offsetWidth&&m.scrollWidth===p.scrollWidth}_update(){this.ref&&(this.sizeEqual(this.size,this.ref)||(this.size={offsetHeight:this.ref.offsetHeight,offsetWidth:this.ref.offsetWidth,scrollWidth:this.ref.scrollWidth,scrollHeight:this.ref.scrollHeight},this.updateScrollBar()))}updateScrollBar(){const m=this.ref.scrollWidth,p=this.ref.offsetWidth;if(p<m){const a=p*p/m;this.thumbH.style.width=a+"px",this.trackH.parentElement.style.display="block"}else this.trackH.parentElement.style.display="none";const s=this.ref.scrollHeight,g=this.ref.offsetHeight;g<s?(this.thumbV.style.height=g*g/s+"px",this.trackV.parentElement.style.display="block"):this.trackV.parentElement.style.display="none"}hideThumb(){this.shouldHideThumb=!0,this.dragging||this.setCss()}showThumb(){this.shouldHideThumb=!1,this.setCss()}setCss(){this.container.className=(0,r.default)({[l.default.scroll]:!0,[l.default["hide-thumb"]]:this.shouldHideThumb&&!this.dragging});const m={};this.props.atTopClassName&&(m[this.props.atTopClassName]=this.isAtTop),this.props.className&&(m[this.props.className]=!0),this.ref.className=(0,r.default)(m)}render(){return o.default.createElement("div",{className:(0,r.default)(l.default.scroll,l.default["hide-thumb"]),ref:m=>{m&&(this.container=m,this.props.forwardedRef(m))},onMouseMove:()=>this.showThumb(),onMouseLeave:()=>this.hideThumb(),style:this.props.containerStyle},o.default.createElement("div",{style:this.props.style,className:(0,r.default)(this.props.className),onScroll:this.onScroll.bind(this),ref:m=>m&&(this.ref=m),onMouseDown:()=>this.update(),onMouseUp:()=>this.update()},this.props.children),o.default.createElement("div",{className:l.default["scrollbar-decoration-vertical-l"],ref:m=>m&&(this.decorationL=m)}),o.default.createElement("div",{className:l.default["scrollbar-decoration-vertical-r"],ref:m=>m&&(this.decorationR=m)}),o.default.createElement("div",{className:l.default["scroll-horizontal"]},o.default.createElement("div",{className:l.default["track-horizontal"],ref:m=>m&&(this.trackH=m),onMouseDown:this.onMouseDownHorizontal.bind(this)}),o.default.createElement("div",{className:"kt-editor-scrollbar-thumb-horizontal",onMouseDown:this.onMouseDownHorizontal.bind(this),ref:m=>m&&(this.thumbH=m)})),o.default.createElement("div",{className:l.default["scroll-vertical"]},o.default.createElement("div",{className:l.default["track-vertical"],ref:m=>m&&(this.trackV=m),onMouseDown:this.onMouseDownVertical.bind(this)}),o.default.createElement("div",{className:"kt-editor-scrollbar-thumb-vertical",onMouseDown:this.onMouseDownVertical.bind(this),ref:m=>m&&(this.thumbV=m)})))}}t.Scroll=_},93669:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorContext=t.defaultEditorContext=void 0;const r=e(85608).__importDefault(e(14041));t.defaultEditorContext={minimapWidth:108},t.EditorContext=r.default.createContext(t.defaultEditorContext)},60362:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorAutoSaveEditorContribution=t.EditorContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(68456),_=e(93899),v=e(1237),m=e(77661),p=e(75524),s=e(43718),g=e(96177),a=e(62660),h=n.__importStar(e(84555)),u=e(94170),c=e(23268),E=e(96640),f=e(23418),d=e(55113),y=e(64335),b=e(89618),A=e(96689),S=e(75522),D=e(93152),I=e(8287),w=e(14385),T=e(57719),R=e(85857),M=e(95338),O=e(94617),x=e(86997),k=e(93532),F=e(53135),L=e(50236),N=e(82196),U=e(6670),W=e(67903),j=e(51553);let Q=class extends o.Disposable{registerComponent(G){G.register("@opensumi/ide-editor",{id:"ide-editor",component:w.EditorView}),G.register("breadcrumb-menu",{id:"breadcrumb-menu",component:k.NavigationMenuContainer})}registerOverrideService(G){const V=this.injector.get(D.MonacoCodeService),K=this.injector.get(o.IContextKeyService).createScoped();this.workbenchEditorService.setEditorContextKeyService(K),G.registerOverrideService(o.ServiceNames.CONTEXT_KEY_SERVICE,K.contextKeyService),G.registerOverrideService(o.ServiceNames.CODE_EDITOR_SERVICE,V),G.registerOverrideService(o.ServiceNames.CONTEXT_VIEW_SERVICE,new D.MonacoContextViewService(V)),G.registerOverrideService(o.ServiceNames.TEXT_MODEL_SERVICE,this.injector.get(b.MonacoTextModelService))}registerMonacoDefaultFormattingSelector(G){const V=this.injector.get(R.FormattingSelector);this.addDispose(G(V.selectFormatter.bind(V)))}registerEditorExtensionContribution(G){G(O.EditorContextMenuController.ID,new E.SyncDescriptor(O.EditorContextMenuController,[this.contextMenuService,this.globalContextKeyService,this.contextMenuRenderer]))}getMimeForMode(G){for(const V of this.textmateService.getLanguages())if(V.id===G&&V.mimetypes)return V.mimetypes[0]}registerPlatformLanguageAssociations(G){const V=this.corePreferences["files.associations"];if(!V)return;const H=Object.keys(V).map(K=>({id:V[K],filepattern:K,mime:this.getMimeForMode(V[K])||`text/x-${V.id}`}));G(H)}async interceptOpen(G){try{return await this.openerService.open(G),!0}catch(V){return this.logger.error(V),!1}}onWillStop(G){if(!this.appConfig.isElectronRenderer)return this.workbenchEditorService.hasDirty()||!this.cacheProvider.isFlushed()}extractGroupAndUriFromArgs(G,V){let H,K;if(G instanceof o.URI)H=V||this.workbenchEditorService.currentEditorGroup,K=G||H&&H.currentResource&&H.currentResource.uri;else{const Y=G||{};H=Y.group||this.workbenchEditorService.currentEditorGroup,K=Y.uri||H&&H.currentResource&&H.currentResource.uri}return{group:H,uri:K}}isElectronRenderer(){return this.appConfig.isElectronRenderer}registerKeybindings(G){G.registerKeybinding({command:o.EDITOR_COMMANDS.SAVE_CURRENT.id,keybinding:"ctrlcmd+s"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.FOCUS_IF_NOT_ACTIVATE_ELEMENT.id,keybinding:"ctrlcmd+f",when:"!editorFocus"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.CLOSE.id,keybinding:this.isElectronRenderer()?"ctrlcmd+w":"alt+shift+w"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.PREVIOUS.id,keybinding:this.isElectronRenderer()?"alt+cmd+left":"ctrlcmd+ctrl+left"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.NEXT.id,keybinding:this.isElectronRenderer()?"alt+cmd+right":"ctrlcmd+ctrl+right"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.PREVIOUS.id,keybinding:this.isElectronRenderer()?"ctrlcmd+pageup":"alt+pageup"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.NEXT.id,keybinding:this.isElectronRenderer()?"ctrlcmd+pagedown":"alt+pagedown"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.GO_FORWARD.id,keybinding:s.isWindows?"alt+right":"ctrl+shift+-"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.GO_BACK.id,keybinding:s.isWindows?"alt+left":"ctrl+-"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.CHANGE_LANGUAGE.id,keybinding:"ctrlcmd+k m"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.SPLIT_TO_RIGHT.id,keybinding:"ctrlcmd+\\"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.NAVIGATE_NEXT.id,keybinding:"ctrlcmd+k ctrlcmd+right"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.NAVIGATE_PREVIOUS.id,keybinding:"ctrlcmd+k ctrlcmd+left"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.SAVE_ALL.id,keybinding:"alt+ctrlcmd+s"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.CLOSE_ALL_IN_GROUP.id,keybinding:"ctrlcmd+k w"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.CLOSE_ALL.id,keybinding:"ctrlcmd+k ctrlcmd+w"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.CLOSE_SAVED.id,keybinding:"ctrlcmd+k u"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.PIN_CURRENT.id,keybinding:"ctrlcmd+k enter"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.COPY_CURRENT_PATH.id,keybinding:"ctrlcmd+k p"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.REOPEN_CLOSED.id,keybinding:this.isElectronRenderer()?"ctrlcmd+shift+t":"alt+shift+t"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.NEW_UNTITLED_FILE.id,keybinding:this.isElectronRenderer()?"ctrlcmd+n":"alt+n"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL.id,keybinding:this.isElectronRenderer()?"ctrlcmd+t":"ctrlcmd+o"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL_CLASS.id,keybinding:this.isElectronRenderer()?"ctrlcmd+alt+t":"ctrlcmd+alt+o"});for(let V=1;V<10;V++)G.registerKeybinding({command:o.EDITOR_COMMANDS.GO_TO_GROUP.id,keybinding:"ctrlcmd+"+V,args:[V]});["left","up","down","right"].forEach(V=>{G.registerKeybinding({command:o.EDITOR_COMMANDS.MOVE_GROUP.id,keybinding:"ctrlcmd+k "+V,args:[V]})}),G.registerKeybinding({command:o.EDITOR_COMMANDS.COMPONENT_UNDO.id,keybinding:"ctrlcmd+z",when:"inEditorComponent && !inputFocus"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.COMPONENT_REDO.id,keybinding:"shift+ctrlcmd+z",when:"inEditorComponent && !inputFocus"}),G.registerKeybinding({command:o.EDITOR_COMMANDS.TOGGLE_WORD_WRAP.id,keybinding:"alt+z",when:"editorFocus"})}initialize(){this.editorStatusBarService.setListener(),this.historyService.init()}registerCommands(G){G.registerCommand(o.EDITOR_COMMANDS.GO_FORWARD,{execute:()=>{this.historyService.forward()}}),G.registerCommand(o.EDITOR_COMMANDS.FOCUS_IF_NOT_ACTIVATE_ELEMENT,{execute:()=>{var V,H;if(!document.activeElement||document.activeElement===document.body){const K=this.workbenchEditorService.currentEditorGroup;K?.focus(),(H=(V=K?.currentCodeEditor)===null||V===void 0?void 0:V.monacoEditor)===null||H===void 0||H.trigger("api","actions.find",null)}}}),G.registerCommand(o.EDITOR_COMMANDS.GO_BACK,{execute:()=>{this.historyService.back()}}),G.registerCommand(o.EDITOR_COMMANDS.OPEN_RESOURCE,{execute:async(V,H)=>{const K=await this.workbenchEditorService.open(V,H);if(K)return{groupId:K?.group.name}}}),G.registerCommand(o.EDITOR_COMMANDS.OPEN_RESOURCES,{execute:({uris:V})=>{this.workbenchEditorService.openUris(V)}}),G.registerCommand(o.EDITOR_COMMANDS.COMPARE,{execute:({original:V,modified:H,name:K},Y={})=>(K=K||`${V.displayName} <=> ${H.displayName}`,this.workbenchEditorService.open(o.URI.from({scheme:f.DIFF_SCHEME,query:o.URI.stringifyQuery({name:K,original:V,modified:H})}),Y))}),G.registerCommand(o.EDITOR_COMMANDS.OPEN_MERGEEDITOR_DEV,{execute:async()=>{try{const V=await this.quickInputService.open({value:""});if(!V)return;const H=JSON.parse(V);this.commandService.executeCommand(o.EDITOR_COMMANDS.OPEN_MERGEEDITOR.id,H)}catch{}}}),G.registerCommand(o.EDITOR_COMMANDS.OPEN_MERGEEDITOR,{execute:V=>{const H=p.IRelaxedOpenMergeEditorArgs.validate(V);this.workbenchEditorService.open(o.URI.from({scheme:"mergeEditor",query:o.URI.stringifyQuery({name:(0,o.formatLocalize)("mergeEditor.workbench.tab.name",H.output.displayName),openMetadata:p.IRelaxedOpenMergeEditorArgs.toString(H)})}))}}),G.registerCommand(o.EDITOR_COMMANDS.MERGEEDITOR_RESET,{execute:()=>{const V=this.mergeEditorService.getNutrition();if(!V)return;const{output:H}=V,{uri:K}=H;this.mergeEditorService.fireRestoreState(K),this.mergeEditorService.compare()}}),G.registerCommand(o.EDITOR_COMMANDS.SAVE_CURRENT,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;V&&V.currentResource&&(V.pin(V.currentResource.uri),V.saveCurrent())}}),G.registerCommand(o.EDITOR_COMMANDS.SAVE_URI,{execute:async V=>{for(const H of this.workbenchEditorService.editorGroups){const K=H.resources.find(Y=>Y.uri.isEqual(V));K&&H.saveResource(K)}}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_ALL_IN_GROUP,{execute:async(V,H)=>{const{group:K}=this.extractGroupAndUriFromArgs(V,H);K&&await K.closeAll()}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_SAVED,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup}=V;H&&await H.closeSaved()}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_OTHER_IN_GROUP,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.closeOthers(K)}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.close(K)}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_TO_RIGHT,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.closeToRight(K)}}),G.registerCommand(o.EDITOR_COMMANDS.GET_CURRENT,{execute:()=>this.workbenchEditorService.currentEditorGroup}),G.registerCommand(o.EDITOR_COMMANDS.GET_CURRENT_RESOURCE,{execute:()=>this.workbenchEditorService.currentResource}),G.registerCommand(o.EDITOR_COMMANDS.PIN_CURRENT,{execute:()=>{const V=this.workbenchEditorService.currentEditorGroup;V&&V.pinPreviewed()}}),G.registerCommand(o.EDITOR_COMMANDS.COPY_CURRENT_PATH,{execute:()=>{const V=this.workbenchEditorService.currentResource;V&&V.uri.scheme===o.Schemes.file&&this.clipboardService.writeText(V.uri.codeUri.fsPath)}}),G.registerCommand(o.EDITOR_COMMANDS.SPLIT_TO_LEFT,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.split(f.EditorGroupSplitAction.Left,K,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.SPLIT_TO_RIGHT,{execute:async(V,H)=>{const{group:K,uri:Y}=this.extractGroupAndUriFromArgs(V,H);K&&Y&&await K.split(f.EditorGroupSplitAction.Right,Y,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.GO_TO_GROUP,{execute:async(V=1)=>{var H;const K=this.workbenchEditorService.sortedEditorGroups[V-1];if(K){K.focus();return}const Y=this.workbenchEditorService.sortedEditorGroups.length;if(Y===V-1){const X=this.workbenchEditorService.sortedEditorGroups[Y-1],re=(H=X?.currentResource)===null||H===void 0?void 0:H.uri;X&&re&&await X.split(f.EditorGroupSplitAction.Right,re,{focus:!0})}}}),G.registerCommand(o.EDITOR_COMMANDS.MOVE_GROUP,{execute:async V=>{if(V){const H=this.workbenchEditorService.currentEditorGroup;H&&H.grid.move(V)}}}),G.registerCommand(o.EDITOR_COMMANDS.FOCUS_ACTIVE_EDITOR_GROUP,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;V&&V.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.SPLIT_TO_TOP,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.split(f.EditorGroupSplitAction.Top,K,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.SPLIT_TO_BOTTOM,{execute:async V=>{V=V||{};const{group:H=this.workbenchEditorService.currentEditorGroup,uri:K=H&&H.currentResource&&H.currentResource.uri}=V;H&&K&&await H.split(f.EditorGroupSplitAction.Bottom,K,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.CHANGE_LANGUAGE,{execute:async V=>{const K=this.languagesService.languages.map(X=>({label:X.name,value:X.id,description:`(${X.id})`})),Y=await this.quickPickService.show(K,{placeholder:(0,o.localize)("editor.changeLanguageId"),selectIndex:()=>K.findIndex(X=>{var re,oe;return X.value===((oe=(re=this.workbenchEditorService.currentCodeEditor)===null||re===void 0?void 0:re.currentDocumentModel)===null||oe===void 0?void 0:oe.languageId)})});if(Y&&V!==Y&&this.workbenchEditorService.currentEditor){const X=this.workbenchEditorService.currentEditor.currentDocumentModel;X&&this.editorDocumentModelService.changeModelOptions(X.uri,{languageId:Y})}}}),G.registerCommand(o.EDITOR_COMMANDS.GET_ENCODING,{execute:V=>{if(!V)return;const H=this.editorDocumentModelService.getModelDescription(V);if(H)return H.encoding}}),G.registerCommand(o.EDITOR_COMMANDS.CHANGE_ENCODING,{execute:async V=>{var H,K,Y,X;V=V??((H=this.workbenchEditorService.currentResource)===null||H===void 0?void 0:H.uri);const re=(K=this.workbenchEditorService.currentEditor)===null||K===void 0?void 0:K.currentDocumentModel;if(!V)return;const oe=this.preferenceService.get("files.encoding","utf8",V.toString(),(0,o.getLanguageIdFromMonaco)(V)),he=await this.contentRegistry.getProvider(V),me=await((Y=he?.guessEncoding)===null||Y===void 0?void 0:Y.call(he,V)),q=this.editorDocumentModelService.getModelDescription(V),Ae=(X=re?.encoding)!==null&&X!==void 0?X:q?.encoding;let ge;const te=Object.keys(o.SUPPORTED_ENCODINGS).sort((Me,Pe)=>Me===oe?-1:Pe===oe?1:o.SUPPORTED_ENCODINGS[Me].order-o.SUPPORTED_ENCODINGS[Pe].order).filter(Me=>Me===me&&me!==oe?!1:!o.SUPPORTED_ENCODINGS[Me].encodeOnly).map((Me,Pe)=>((Me===Ae||o.SUPPORTED_ENCODINGS[Me].alias===Ae)&&(ge=Pe),{label:o.SUPPORTED_ENCODINGS[Me].labelLong,value:Me,description:Me}));me&&oe!==me&&o.SUPPORTED_ENCODINGS[me]&&(te[0]&&(te[0].showBorder=!0),te.unshift({label:o.SUPPORTED_ENCODINGS[me].labelLong,value:me,description:(0,o.localize)("editor.guessEncodingFromContent")}),typeof ge=="number"&&ge++);const fe=await this.quickPickService.show(te,{placeholder:(0,o.localize)("editor.chooseEncoding"),selectIndex(Me){return Me?-1:typeof ge=="number"?ge:-1}});if(!fe)return;const Oe=[];if(V.scheme===f.DIFF_SCHEME){const Me=await this.resourceService.getResource(V);Me.metadata&&(Oe.push(Me.metadata.original),Oe.push(Me.metadata.modified))}else Oe.push(V);Oe.forEach(Me=>{this.editorDocumentModelService.changeModelOptions(Me,{encoding:fe})})}}),G.registerCommand(o.EDITOR_COMMANDS.CHANGE_EOL,{execute:async()=>{const V=this.workbenchEditorService.currentResource,H=this.workbenchEditorService.currentCodeEditor;if(H&&H.currentDocumentModel&&V){const K=await this.quickPickService.show([{label:"LF",value:`
|
|
33312
33312
|
`},{label:"CRLF",value:`\r
|
|
33313
33313
|
`}],{placeholder:(0,o.localize)("editor.changeEol"),selectIndex:()=>H.currentDocumentModel.eol===`
|
|
33314
33314
|
`?0:1});K&&this.editorDocumentModelService.changeModelOptions(V.uri,{eol:K})}}}),G.registerCommand(o.EDITOR_COMMANDS.FOCUS,{execute:async()=>{this.workbenchEditorService.currentEditor&&this.workbenchEditorService.currentEditor.monacoEditor.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_NEXT,{execute:async()=>{let V=this.workbenchEditorService.currentEditorGroup.index+1;return this.workbenchEditorService.editorGroups.length<=V&&(V=0),this.workbenchEditorService.sortedEditorGroups[V].focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_PREVIOUS,{execute:async()=>{let V=this.workbenchEditorService.currentEditorGroup.index-1;return V<0&&(V=this.workbenchEditorService.editorGroups.length-1),this.workbenchEditorService.sortedEditorGroups[V].focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_UP,{execute:async()=>{const H=this.workbenchEditorService.currentEditorGroup.grid.findGird(f.Direction.UP);if(H)return H.editorGroup.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_DOWN,{execute:async()=>{const H=this.workbenchEditorService.currentEditorGroup.grid.findGird(f.Direction.DOWN);if(H)return H.editorGroup.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_LEFT,{execute:async()=>{const H=this.workbenchEditorService.currentEditorGroup.grid.findGird(f.Direction.LEFT);if(H)return H.editorGroup.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.NAVIGATE_RIGHT,{execute:async()=>{const H=this.workbenchEditorService.currentEditorGroup.grid.findGird(f.Direction.RIGHT);if(H)return H.editorGroup.focus()}}),G.registerCommand(o.EDITOR_COMMANDS.PREVIOUS_IN_GROUP,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(!V.currentResource)return;const H=V.resources.findIndex(K=>K.uri.isEqual(V.currentResource.uri))-1;return V.resources[H]?V.open(V.resources[H].uri,{focus:!0}):V.open(V.resources[0].uri,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.NEXT_IN_GROUP,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(!V.currentResource)return;const H=V.resources.findIndex(K=>K.uri.isEqual(V.currentResource.uri))+1;return V.resources[H]?V.open(V.resources[H].uri,{focus:!0}):V.open(V.resources[V.resources.length-1].uri,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.NEXT,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(!V.currentResource)return;const H=V.resources.findIndex(K=>K.uri.isEqual(V.currentResource.uri))+1;if(V.resources[H])return V.open(V.resources[H].uri,{focus:!0});{const K=V.index===this.workbenchEditorService.editorGroups.length-1?0:V.index+1,Y=this.workbenchEditorService.sortedEditorGroups[K];return Y.focus(),Y.open(Y.resources[0].uri,{focus:!0})}}}),G.registerCommand(o.EDITOR_COMMANDS.PREVIOUS,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(!V.currentResource)return;const H=V.resources.findIndex(K=>K.uri.isEqual(V.currentResource.uri))-1;if(V.resources[H])return V.open(V.resources[H].uri,{focus:!0});{const K=V.index===0?this.workbenchEditorService.editorGroups.length-1:V.index-1,Y=this.workbenchEditorService.sortedEditorGroups[K];return Y.focus(),Y.open(Y.resources[Y.resources.length-1].uri,{focus:!0})}}}),G.registerCommand(o.EDITOR_COMMANDS.LAST_IN_GROUP,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(V.resources.length>0)return V.open(V.resources[V.resources.length-1].uri,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.EVEN_EDITOR_GROUPS,{execute:async()=>{this.injector.get(o.IEventBus).fire(new N.EditorGroupsResetSizeEvent)}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_OTHER_GROUPS,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;this.workbenchEditorService.editorGroups.filter(K=>K!==V).forEach(K=>{K.dispose()})}}),G.registerCommand(o.EDITOR_COMMANDS.OPEN_EDITOR_AT_INDEX,{execute:async V=>{const H=this.workbenchEditorService.currentEditorGroup,K=H.resources[V];K&&await H.open(K.uri,{focus:!0})}}),G.registerCommand(o.EDITOR_COMMANDS.REVERT_DOCUMENT,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(V.isCodeEditorMode()){const H=V.codeEditor.currentDocumentModel;H&&await H.revert()}}}),G.registerCommand(o.EDITOR_COMMANDS.REVERT_AND_CLOSE,{execute:async()=>{const V=this.workbenchEditorService.currentEditorGroup;if(V.isCodeEditorMode()){const H=V.codeEditor.currentDocumentModel;H&&await H.revert(),V.close(V.currentResource.uri)}}}),G.registerCommand(o.EDITOR_COMMANDS.SAVE_ALL,{execute:async V=>{this.workbenchEditorService.saveAll(void 0,V)}}),G.registerCommand(o.EDITOR_COMMANDS.CLOSE_ALL,{execute:async V=>{this.workbenchEditorService.closeAll(V)}}),G.registerCommand(o.EDITOR_COMMANDS.REOPEN_CLOSED,{execute:async()=>{this.historyService.popClosed()}}),G.registerCommand(o.EDITOR_COMMANDS.NEW_UNTITLED_FILE,{execute:()=>{this.workbenchEditorService.createUntitledResource()}}),G.registerCommand(o.EDITOR_COMMANDS.COMPONENT_UNDO,{execute:()=>{this.workbenchEditorService.currentEditorGroup.componentUndo()}}),G.registerCommand(o.EDITOR_COMMANDS.COMPONENT_REDO,{execute:()=>{this.workbenchEditorService.currentEditorGroup.componentRedo()}}),G.registerCommand(o.EDITOR_COMMANDS.TEST_TOKENIZE,{execute:()=>{const V=this.workbenchEditorService.currentCodeEditor;if(V){const H=V.getSelections();if(H&&H.length>0&&V.currentDocumentModel){const{selectionStartLineNumber:K,selectionStartColumn:Y,positionLineNumber:X,positionColumn:re}=H[0],oe=V.currentDocumentModel.getText(new h.Range(K,Y,X,re));this.monacoService.testTokenize(oe,V.currentDocumentModel.languageId)}}}}),G.registerCommand(o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL,{execute:()=>this.prefixQuickOpenService.open("#")}),G.registerCommand(o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL_CLASS,{execute:()=>this.prefixQuickOpenService.open("##")}),G.registerCommand(o.EDITOR_COMMANDS.GO_TO_LINE,{execute:()=>this.prefixQuickOpenService.open(":")}),G.registerCommand(o.EDITOR_COMMANDS.TOGGLE_COLUMN_SELECTION,{execute:()=>{const V=this.preferenceService.get("editor.columnSelection");this.preferenceService.set("editor.columnSelection",!V,s.PreferenceScope.User)}}),G.registerCommand(o.EDITOR_COMMANDS.TOGGLE_WORD_WRAP,{execute:()=>{const V=this.preferenceService.get("editor.wordWrap");if(V){const H=["off","on"],K=H.indexOf(V)+1;K>-1&&this.preferenceService.set("editor.wordWrap",H[K%H.length],s.PreferenceScope.User)}}}),G.registerCommand(o.EDITOR_COMMANDS.FORMAT_DOCUMENT_WITH,{execute:async()=>{this.injector.get(T.DocumentFormatService).formatDocumentWith()}}),G.registerCommand(o.EDITOR_COMMANDS.FORMAT_SELECTION_WITH,{execute:async()=>{this.injector.get(T.DocumentFormatService).formatSelectionWith()}}),G.registerCommand({id:o.EDITOR_COMMANDS.VSCODE_OPEN_MULTI_DIFF_EDITOR_COMMAND_ID},{execute:async V=>{const H=[];for(const{originalUri:Y,modifiedUri:X}of V.resources)H.push(new y.MultiDiffEditorItem(Y?o.URI.from(Y):void 0,X?o.URI.from(X):void 0,X?o.URI.from(X):void 0));const K=o.URI.from(V.multiDiffSourceUri);this.multiDiffResolver.registerSources(K,H),await this.workbenchEditorService.open(K,{label:V.title,...V.editorOptions})}})}registerMenus(G){G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.COPY_PATH.id,group:"10_path",order:1}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.COPY_RELATIVE_PATH.id,group:"10_path",order:2}),G.registerMenuItem(_.MenuId.BreadcrumbsTitleContext,{command:o.EDITOR_COMMANDS.COPY_PATH.id,group:"0_path",order:1}),G.registerMenuItem(_.MenuId.BreadcrumbsTitleContext,{command:o.EDITOR_COMMANDS.COPY_RELATIVE_PATH.id,group:"0_path",order:2}),G.registerMenuItem(_.MenuId.BreadcrumbsTitleContext,{command:{id:o.FILE_COMMANDS.REVEAL_IN_EXPLORER.id,label:(0,o.localize)("file.revealInExplorer")},group:"1_file",order:3}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:{id:o.FILE_COMMANDS.REVEAL_IN_EXPLORER.id,label:(0,o.localize)("file.revealInExplorer")},group:"6_file",order:3}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.SPLIT_TO_LEFT.id,group:"9_split"}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.SPLIT_TO_RIGHT.id,group:"9_split"}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.SPLIT_TO_TOP.id,group:"9_split"}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.SPLIT_TO_BOTTOM.id,group:"9_split"}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:{id:o.EDITOR_COMMANDS.CLOSE.id,label:(0,o.localize)("editor.title.context.close")},group:"0_tab",order:1}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.CLOSE_ALL_IN_GROUP.id,group:"0_tab",order:2}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.CLOSE_SAVED.id,group:"0_tab",order:3}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.CLOSE_OTHER_IN_GROUP.id,group:"0_tab",order:4}),G.registerMenuItem(_.MenuId.EditorTitleContext,{command:o.EDITOR_COMMANDS.CLOSE_TO_RIGHT.id,group:"0_tab",order:5}),G.registerMenuItem(_.MenuId.EditorTitle,{command:o.EDITOR_COMMANDS.CLOSE_ALL_IN_GROUP.id,group:"0_internal"}),G.registerMenuItem(_.MenuId.EditorTitle,{command:o.EDITOR_COMMANDS.SPLIT_TO_RIGHT.id,iconClass:(0,o.getIcon)("embed"),group:"navigation",when:"resource",order:5}),G.registerMenuItem(_.MenuId.EditorContext,{command:o.EDITOR_COMMANDS.FORMAT_DOCUMENT_WITH.id,group:"1_modification",order:1.3,when:c.ContextKeyExpr.and(u.EditorContextKeys.writable,u.EditorContextKeys.hasMultipleDocumentFormattingProvider)}),G.registerMenuItem(_.MenuId.EditorContext,{command:o.EDITOR_COMMANDS.FORMAT_SELECTION_WITH.id,when:c.ContextKeyExpr.and(u.EditorContextKeys.writable,u.EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider,u.EditorContextKeys.hasNonEmptySelection),group:"1_modification",order:1.31})}registerOpener(G){G.registerOpener(this.editorOpener)}registerQuickOpenHandlers(G){G.registerHandler(this.workspaceSymbolQuickOpenHandler,{title:(0,o.localize)("quickopen.tab.symbol"),order:3,commandId:o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL.id,sub:{"#":{title:(0,o.localize)("quickopen.tab.class"),order:2,commandId:o.EDITOR_COMMANDS.SEARCH_WORKSPACE_SYMBOL_CLASS.id}}}),G.registerHandler(this.goToLineQuickOpenHandler,{title:(0,o.localize)("quickopen.tab.goToLine"),commandId:o.EDITOR_COMMANDS.GO_TO_LINE.id,order:5})}};t.EditorContribution=Q,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],Q.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],Q.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(f.WorkbenchEditorService),n.__metadata("design:type",j.WorkbenchEditorServiceImpl)],Q.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",I.EditorStatusBarService)],Q.prototype,"editorStatusBarService",void 0),n.__decorate([(0,r.Autowired)(o.QuickPickService),n.__metadata("design:type",Object)],Q.prototype,"quickPickService",void 0),n.__decorate([(0,r.Autowired)(f.ILanguageService),n.__metadata("design:type",Object)],Q.prototype,"languagesService",void 0),n.__decorate([(0,r.Autowired)(A.IEditorDocumentModelService),n.__metadata("design:type",Object)],Q.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,r.Autowired)(f.IDocPersistentCacheProvider),n.__metadata("design:type",Object)],Q.prototype,"cacheProvider",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",M.EditorHistoryService)],Q.prototype,"historyService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",o.MonacoService)],Q.prototype,"monacoService",void 0),n.__decorate([(0,r.Autowired)(o.IOpenerService),n.__metadata("design:type",Object)],Q.prototype,"openerService",void 0),n.__decorate([(0,r.Autowired)(s.ILogger),n.__metadata("design:type",Object)],Q.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",S.EditorOpener)],Q.prototype,"editorOpener",void 0),n.__decorate([(0,r.Autowired)(o.IClipboardService),n.__metadata("design:type",Object)],Q.prototype,"clipboardService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",L.WorkspaceSymbolQuickOpenHandler)],Q.prototype,"workspaceSymbolQuickOpenHandler",void 0),n.__decorate([(0,r.Autowired)(o.PrefixQuickOpenService),n.__metadata("design:type",Object)],Q.prototype,"prefixQuickOpenService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",F.GoToLineQuickOpenHandler)],Q.prototype,"goToLineQuickOpenHandler",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],Q.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(a.ITextmateTokenizer),n.__metadata("design:type",Object)],Q.prototype,"textmateService",void 0),n.__decorate([(0,r.Autowired)(o.CorePreferences),n.__metadata("design:type",Object)],Q.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(g.MergeEditorService),n.__metadata("design:type",g.MergeEditorService)],Q.prototype,"mergeEditorService",void 0),n.__decorate([(0,r.Autowired)(A.IEditorDocumentModelContentRegistry),n.__metadata("design:type",Object)],Q.prototype,"contentRegistry",void 0),n.__decorate([(0,r.Autowired)(o.IQuickInputService),n.__metadata("design:type",Object)],Q.prototype,"quickInputService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],Q.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(f.ResourceService),n.__metadata("design:type",f.ResourceService)],Q.prototype,"resourceService",void 0),n.__decorate([(0,r.Autowired)(v.AbstractContextMenuService),n.__metadata("design:type",v.AbstractContextMenuService)],Q.prototype,"contextMenuService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],Q.prototype,"globalContextKeyService",void 0),n.__decorate([(0,r.Autowired)(m.ICtxMenuRenderer),n.__metadata("design:type",m.ICtxMenuRenderer)],Q.prototype,"contextMenuRenderer",void 0),n.__decorate([(0,r.Autowired)(x.MultiDiffResolver),n.__metadata("design:type",x.MultiDiffResolver)],Q.prototype,"multiDiffResolver",void 0),t.EditorContribution=Q=n.__decorate([(0,o.Domain)(o.CommandContribution,o.ClientAppContribution,o.KeybindingContribution,o.MonacoContribution,l.ComponentContribution,_.MenuContribution,o.OpenerContribution,o.QuickOpenContribution)],Q);let $=class{registerEditorFeature(G){G.registerEditorFeatureContribution({contribute:V=>{const H=new o.Disposable;return H.addDispose(V.monacoEditor.onDidBlurEditorWidget(()=>{this.preferenceService.get("editor.autoSave")===d.AUTO_SAVE_MODE.EDITOR_FOCUS_CHANGE&&V.currentDocumentModel&&!V.currentDocumentModel.closeAutoSave&&V.currentDocumentModel.dirty&&V.currentDocumentModel.savable&&V.currentDocumentModel.save(void 0,f.SaveReason.FocusOut)})),H.addDispose(V.monacoEditor.onDidChangeModel(K=>{if(this.preferenceService.get("editor.autoSave")===d.AUTO_SAVE_MODE.EDITOR_FOCUS_CHANGE&&K.oldModelUrl){const Y=new o.URI(K.oldModelUrl.toString()),X=this.editorDocumentService.getModelReference(Y,"editor-focus-autosave");X&&!X.instance.closeAutoSave&&X.instance.dirty&&X.instance.savable&&X.instance.save(void 0,f.SaveReason.FocusOut),X?.dispose()}})),H}}),window.addEventListener("blur",()=>{this.preferenceService.get("editor.autoSave")===d.AUTO_SAVE_MODE.WINDOWS_LOST_FOCUS&&this.commandService.executeCommand(o.EDITOR_COMMANDS.SAVE_ALL.id,f.SaveReason.FocusOut)}),this.preferenceSettings.setEnumLabels("editor.autoSave",{[d.AUTO_SAVE_MODE.OFF]:(0,o.localize)("editor.autoSave.enum.off"),[d.AUTO_SAVE_MODE.AFTER_DELAY]:(0,o.localize)("editor.autoSave.enum.afterDelay"),[d.AUTO_SAVE_MODE.EDITOR_FOCUS_CHANGE]:(0,o.localize)("editor.autoSave.enum.editorFocusChange"),[d.AUTO_SAVE_MODE.WINDOWS_LOST_FOCUS]:(0,o.localize)("editor.autoSave.enum.windowLostFocus")}),G.registerEditorFeatureContribution(new W.EditorTopPaddingContribution),G.registerEditorFeatureContribution(this.injector.get(U.EditorSuggestWidgetContribution)),this.registerAutoSaveConfigurationChange()}registerAutoSaveConfigurationChange(){this.preferenceService.onSpecificPreferenceChange("editor.autoSave",G=>{const V=G.newValue;if(V!==d.AUTO_SAVE_MODE.OFF){let H=f.SaveReason.FocusOut;V===d.AUTO_SAVE_MODE.AFTER_DELAY&&(H=f.SaveReason.AfterDelay);for(const K of this.workbenchEditorService.editorGroups)for(const Y of K.resources)G.affects(Y?.uri.toString())&&K.saveResource(Y,H)}})}registerCommands(G){G.registerCommand(o.EDITOR_COMMANDS.AUTO_SAVE,{execute:()=>{const V="editor.autoSave",H=this.preferenceSettings.getPreference(V,s.PreferenceScope.User).value||d.AUTO_SAVE_MODE.OFF,K=[d.AUTO_SAVE_MODE.AFTER_DELAY,d.AUTO_SAVE_MODE.EDITOR_FOCUS_CHANGE,d.AUTO_SAVE_MODE.WINDOWS_LOST_FOCUS].includes(H)?d.AUTO_SAVE_MODE.OFF:d.AUTO_SAVE_MODE.AFTER_DELAY;return this.preferenceSettings.setPreference(V,K,s.PreferenceScope.User)}}),G.registerCommand(o.EDITOR_COMMANDS.COPY_PATH,{execute:V=>{V&&this.commandService.executeCommand(o.FILE_COMMANDS.COPY_PATH.id,V.uri)}}),G.registerCommand(o.EDITOR_COMMANDS.COPY_RELATIVE_PATH,{execute:V=>{V&&this.commandService.executeCommand(o.FILE_COMMANDS.COPY_RELATIVE_PATH.id,V.uri)}})}};t.EditorAutoSaveEditorContribution=$,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],$.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],$.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(f.WorkbenchEditorService),n.__metadata("design:type",j.WorkbenchEditorServiceImpl)],$.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],$.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(A.IEditorDocumentModelService),n.__metadata("design:type",Object)],$.prototype,"editorDocumentService",void 0),n.__decorate([(0,r.Autowired)(o.IPreferenceSettingsService),n.__metadata("design:type",Object)],$.prototype,"preferenceSettings",void 0),t.EditorAutoSaveEditorContribution=$=n.__decorate([(0,o.Domain)(N.BrowserEditorContribution,o.CommandContribution)],$)},2863:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.EditorDecorationCollectionService=void 0;const r=e(85608),o=e(76003),l=e(41869),_=e(52416),v=e(10045),m=e(82196);let p=n=class{constructor(){this.decorations=new Map,this.tempId=0,this.decorationProviders=new Map}getNextTempId(){return this.tempId++,"temp-decoration-"+this.tempId}createTextEditorDecorationType(g,a){a||(a=this.getNextTempId());const h=this.resolveDecoration(a,g),u={key:a,property:h,dispose:()=>{a&&this.decorations.has(a)&&(h.dispose(),this.decorations.delete(a),this.eventBus.fire(new m.EditorDecorationTypeRemovedEvent(a)))}};return this.decorations.set(a,u),u}getTextEditorDecorationType(g){return this.decorations.get(g)}resolveDecoration(g,a){const h=this.createThemeCSSStyleCollection(g,a);return{default:h.default,light:h.light,dark:h.dark,isWholeLine:a.isWholeLine||!1,overviewRulerLane:a.overviewRulerLane,dispose:()=>{h.dispose()}}}createThemeCSSStyleCollection(g,a){const h=new l.DisposableStore,c={default:this.addedThemeDecorationToCSSStyleSheet(g,a),light:null,dark:null,dispose:()=>{h.dispose()}};if(a.light){const E=this.addedThemeDecorationToCSSStyleSheet(g+"-light",a.light);c.light=E,h.add(E)}if(a.dark){const E=this.addedThemeDecorationToCSSStyleSheet(g+"-dark",a.dark);c.dark=E,h.add(E)}return c}addedThemeDecorationToCSSStyleSheet(g,a){const h=g,u=g+"-inline",c=new l.DisposableStore;let E,f,d;const y=this.createInlineBlockCSSStyleIfNeeded(),b=this.resolveCSSStyle(a),A=this.resolveInlineCSSStyle(a);if(c.add(this.cssManager.addClass(h,b)),c.add(this.cssManager.addClass(u,A)),a.after){const S=`${g}-after`,D=this.resolveContentCSSStyle(a.after);c.add(this.cssManager.addClass(S+"::after",D)),E=`${y} ${S}`}if(a.before){const S=`${g}-before`,D=this.resolveContentCSSStyle(a.before);c.add(this.cssManager.addClass(S+"::before",D)),f=`${y} ${S}`}if(a.gutterIconPath){const S=this.resolveCSSStyle({backgroundIconSize:a.gutterIconSize,backgroundIcon:a.gutterIconPath.toString()});d=g+"-glyphMargin",c.add(this.cssManager.addClass(d,S))}return{className:h,inlineClassName:u,afterContentClassName:E,beforeContentClassName:f,glyphMarginClassName:d,overviewRulerColor:a.overviewRulerColor,dispose(){return c.dispose()}}}resolveCSSStyle(g){var a;const h=!((a=g.backgroundIcon)===null||a===void 0)&&a.startsWith("data:")?this.iconService.encodeBase64Path(decodeURIComponent(g.backgroundIcon)):g.backgroundIcon;return{backgroundColor:this.themeService.getColorVar(g.backgroundColor),background:g.backgroundIcon?`url("${h}") center center no-repeat`:void 0,backgroundSize:g.backgroundIconSize?`${g.backgroundIconSize}`:void 0,outline:g.outline,outlineColor:g.outlineColor,outlineStyle:g.outlineStyle,outlineWidth:g.outlineWidth,border:g.border,borderColor:this.themeService.getColorVar(g.borderColor),borderRadius:g.borderRadius,borderSpacing:g.borderSpacing,borderStyle:g.borderStyle,borderWidth:g.borderWidth}}resolveInlineCSSStyle(g){return{fontStyle:g.fontStyle,fontWeight:g.fontWeight,textDecoration:g.textDecoration,textUnderlinePosition:g.textUnderlinePosition,cursor:g.cursor,color:this.themeService.getColorVar(g.color),opacity:g.opacity,letterSpacing:g.letterSpacing}}resolveContentCSSStyle(g){let a;return g.contentText?a=`"${g.contentText}"`:g.contentIconPath&&(a=`url('${l.URI.from(g.contentIconPath).toString(!0).replace(/'/g,"%27")}')`),{display:"block",content:a,border:g.border,borderColor:this.themeService.getColorVar(g.borderColor),fontStyle:g.fontStyle,fontWeight:g.fontWeight,textDecoration:g.textDecoration,color:this.themeService.getColorVar(g.color),backgroundColor:this.themeService.getColorVar(g.backgroundColor),margin:g.margin,width:g.width,height:g.height}}createInlineBlockCSSStyleIfNeeded(){return this.inlineBlockDecorationDisposer||(this.inlineBlockDecorationDisposer=this.cssManager.addClass(n.DISPLAY_INLINE_BLOCK_CLS,{display:"inline-block"})),n.DISPLAY_INLINE_BLOCK_CLS}registerDecorationProvider(g){this.decorationProviders.set(g.key,g),this.eventBus.fire(new m.EditorDecorationProviderRegistrationEvent(g));const a=g.onDidDecorationChange(h=>{this.eventBus.fire(new m.EditorDecorationChangeEvent({uri:h,key:g.key}))});return{dispose:()=>{this.decorationProviders.get(g.key)===g&&(this.decorationProviders.delete(g.key),this.eventBus.fire(new m.EditorDecorationTypeRemovedEvent(g.key))),a.dispose()}}}async getDecorationFromProvider(g,a){const h={};let u=[];return a?this.decorationProviders.has(a)&&u.push(this.decorationProviders.get(a)):u=Array.from(this.decorationProviders.values()),await Promise.all(u.map(async c=>{if(c.schemes&&c.schemes.indexOf(g.scheme)===-1)return;const E=await c.provideEditorDecoration(g);E&&(h[c.key]=E)})),h}};t.EditorDecorationCollectionService=p,p.DISPLAY_INLINE_BLOCK_CLS="display-inline-block-decoration",r.__decorate([(0,o.Autowired)(v.ICSSStyleService),r.__metadata("design:type",Object)],p.prototype,"cssManager",void 0),r.__decorate([(0,o.Autowired)(_.IThemeService),r.__metadata("design:type",Object)],p.prototype,"themeService",void 0),r.__decorate([(0,o.Autowired)(_.IIconService),r.__metadata("design:type",Object)],p.prototype,"iconService",void 0),r.__decorate([(0,o.Autowired)(l.IEventBus),r.__metadata("design:type",Object)],p.prototype,"eventBus",void 0),t.EditorDecorationCollectionService=p=n=r.__decorate([(0,o.Injectable)()],p)},93152:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoContextViewService=t.MonacoCodeService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),_=n.__importStar(e(20868)),v=e(76947),m=e(18099),p=e(79731),s=e(16781),g=e(7760),a=e(26917),h=e(23418),u=e(51553);let c=class extends m.AbstractCodeEditorService{constructor(){super(s.StandaloneServices.get(g.IStandaloneThemeService))}getActiveCodeEditor(){return this.workbenchEditorService.currentEditor?this.workbenchEditorService.currentEditor.monacoEditor:null}async openCodeEditor(d,y,b){var A,S,D,I,w,T;const R=d.resource;if(!this.preferenceService.get("editor.enablePreviewFromCodeNavigation")&&y&&!b&&(0,v.isEqual)((A=y.getModel())===null||A===void 0?void 0:A.uri,d.resource)){for(const N of this.workbenchEditorService.editorGroups)if(((S=N.currentOpenType)===null||S===void 0?void 0:S.type)===h.EditorOpenType.code){if(((D=N.currentEditor)===null||D===void 0?void 0:D.monacoEditor)===y){N.pinPreviewed((I=N.currentResource)===null||I===void 0?void 0:I.uri);break}}else if(((w=N.currentOpenType)===null||w===void 0?void 0:w.type)===h.EditorOpenType.diff&&(N.diffEditor.modifiedEditor.monacoEditor===y||N.diffEditor.originalEditor.monacoEditor===y)){N.pinPreviewed((T=N.currentResource)===null||T===void 0?void 0:T.uri);break}}let O=this.workbenchEditorService.currentEditorGroup,x;y&&(O=this.workbenchEditorService.editorGroups.find(N=>N.currentEditor&&N.currentEditor.monacoEditor===y)||O,x=O.resources.findIndex(N=>O.currentResource&&N.uri===O.currentResource.uri),x>=0&&x++);const k=d.options?d.options.selection:null;let F;k&&(typeof k.endLineNumber=="number"&&typeof k.endColumn=="number"?F=k:F=new _.Range(k.startLineNumber,k.startColumn,k.startLineNumber,k.startColumn));const L=l.URI.parse(R.toString());return await O.open(L,{index:x,range:F,focus:!0}),O.codeEditor.monacoEditor}};t.MonacoCodeService=c,n.__decorate([(0,r.Autowired)(h.WorkbenchEditorService),n.__metadata("design:type",u.WorkbenchEditorServiceImpl)],c.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],c.prototype,"preferenceService",void 0),t.MonacoCodeService=c=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],c);class E extends a.ContextViewService{constructor(d){super(new p.EditorScopedLayoutService(document.body,d))}setContainer(d){this.menuContainer||(this.menuContainer=document.createElement("div"),this.menuContainer.className=d.className,this.menuContainer.style.left="0",this.menuContainer.style.top="0",this.menuContainer.style.position="fixed",this.menuContainer.style.zIndex="10",document.body.append(this.menuContainer)),super.setContainer(this.menuContainer)}}t.MonacoContextViewService=E},8287:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorStatusBarService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26542),_=e(23418),v=e(96689);let m=class extends o.WithEventBus{setListener(){this.workbenchEditorService.onActiveResourceChange(()=>{this.updateLanguageStatus(this.workbenchEditorService.currentEditor)}),this.workbenchEditorService.onCursorChange(s=>{this.updateCursorStatus(s)}),this.eventBus.on(v.EditorDocumentModelOptionChangedEvent,s=>{const g=this.workbenchEditorService.currentEditor;g&&g.currentUri&&g.currentUri.isEqual(s.payload.uri)&&this.updateLanguageStatus(this.workbenchEditorService.currentEditor)})}updateCursorStatus(s){const{position:g,selectionLength:a}=s;if(!g){this.statusBar.removeElement("editor-status-cursor");return}this.statusBar.addElement("editor-status-cursor",{name:(0,o.localize)("status-bar.editor-selection"),text:`%status-bar.label.line%${g.lineNumber}\uFF0C%status-bar.label.column%${g.column}${a?`\uFF08%status-bar.label.selected%${a}\uFF09`:""}`,priority:4,alignment:l.StatusBarAlignment.RIGHT,command:o.EDITOR_COMMANDS.GO_TO_LINE.id,tooltip:(0,o.localize)("status.editor.goToLineCol")})}updateLanguageStatus(s){if(!s){this.statusBar.removeElement("editor-status-language"),this.statusBar.removeElement("editor-status-encoding"),this.statusBar.removeElement("editor-status-eol"),this.statusBar.removeElement("editor-status-space");return}let g="",a="",h="",u=!1,c=2;const E=s.currentDocumentModel;E&&(g=E.languageId,a=E.encoding,h=E.eol,u=E.getMonacoModel().getOptions().insertSpaces,c=E.getMonacoModel().getOptions().tabSize);const f=h===`
|