@opensumi/cli-engine 3.8.3-next-1747120248.0 → 3.8.3-next-1747128777.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 -6
- package/package.json +10 -10
package/lib/browser/browser.js
CHANGED
|
@@ -11326,6 +11326,7 @@ html li {
|
|
|
11326
11326
|
border-radius: 4px;
|
|
11327
11327
|
padding: 0 4px;
|
|
11328
11328
|
margin: 0 3px;
|
|
11329
|
+
font-size: 12px;
|
|
11329
11330
|
user-select: all;
|
|
11330
11331
|
cursor: default;
|
|
11331
11332
|
display: inline-flex;
|
|
@@ -11387,7 +11388,7 @@ html li {
|
|
|
11387
11388
|
color: #666;
|
|
11388
11389
|
font-style: italic;
|
|
11389
11390
|
}
|
|
11390
|
-
`,"",{version:3,sources:["webpack://./../../packages/ai-native/lib/browser/components/mention-input/mention-input.module.less"],names:[],mappings:"AAAA;EACE,kBAAkB;EAClB,WAAW;EACX,cAAc;EACd,kBAAkB;AACpB;AACA;EACE,iBAAiB;EACjB,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,WAAW;EACX,6BAA6B;EAC7B,YAAY;EACZ,eAAe;EACf,iBAAiB;EACjB,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;EAClB,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;;EAEE,+BAA+B;EAC/B,mCAAmC;EACnC,oBAAoB;EACpB,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,mBAAmB;EACnB,sBAAsB;AACxB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,8BAA8B;AAChC;AACA;EACE,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,2BAA2B;EAC3B,mBAAmB;EACnB,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,2BAA2B;EAC3B,mBAAmB;EACnB,OAAO;AACT;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,yBAAyB;EACzB,mBAAmB;AACrB;AACA;;EAEE,yCAAyC;EACzC,8BAA8B;AAChC;AACA;;EAEE,iBAAiB;EACjB,wCAAwC;AAC1C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,6BAA6B;EAC7B,YAAY;EACZ,kBAAkB;EAClB,iBAAiB;EACjB,eAAe;EACf,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,iCAAiC;AACnC;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,OAAO;EACP,QAAQ;EACR,WAAW;EACX,aAAa;EACb,4BAA4B;EAC5B,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,eAAe;AACjB;AACA;EACE,YAAY;EACZ,cAAc;AAChB;AACA;EACE,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,OAAO;EACP,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;EACnB,mCAAmC;AACrC;AACA;EACE,0CAA0C;EAC1C,+BAA+B;EAC/B,kBAAkB;EAClB,iBAAiB;EACjB,gBAAgB;EAChB,aAAa;EACb,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,eAAe;EACf,iBAAiB;EACjB,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,yBAAyB;EACzB,8BAA8B;EAC9B,wBAAwB;EACxB,kBAAkB;EAClB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,SAAS;EACT,UAAU;EACV,gBAAgB;AAClB;AACA;EACE,iDAAiD;EACjD,sDAAsD;AACxD;AACA;EACE,iDAAiD;EACjD,sDAAsD;AACxD;AACA;EACE,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,OAAO;AACT;AACA;EACE,iBAAiB;EACjB,WAAW;EACX,YAAY;EACZ,4BAA4B;EAC5B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,eAAe;EACf,iBAAiB;EACjB,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,mCAAmC;EACnC,eAAe;EACf,eAAe;EACf,OAAO;EACP,cAAc;EACd,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;EACnB,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,cAAc;EACd,eAAe;AACjB;AACA;EACE,iBAAiB;EACjB,eAAe;EACf,aAAa;EACb,8BAA8B;EAC9B,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,yCAAyC;EACzC,8BAA8B;EAC9B,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;AACjB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,gBAAgB;EAChB,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,eAAe;EACf,eAAe;EACf,aAAa;EACb,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,gBAAgB;EAChB,YAAY;EACZ,eAAe;EACf,eAAe;EACf,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,oDAAoD;EACpD,yCAAyC;EACzC,kBAAkB;EAClB,cAAc;EACd,aAAa;EACb,gBAAgB;EAChB,eAAe;EACf,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,iBAAiB;EACjB,eAAe;AACjB;AACA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,mCAAmC;EACnC,eAAe;AACjB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,6BAA6B;EAC7B,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,aAAa;AACf;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,WAAW;EACX,gGAAgG;EAChG,0BAA0B;EAC1B,6CAAoC;EACpC,WAAW;AACb;AACA;EACE;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;EAC9B;AACF;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,WAAW;EACX,kBAAkB;AACpB",sourcesContent:[`.input_container {
|
|
11391
|
+
`,"",{version:3,sources:["webpack://./../../packages/ai-native/lib/browser/components/mention-input/mention-input.module.less"],names:[],mappings:"AAAA;EACE,kBAAkB;EAClB,WAAW;EACX,cAAc;EACd,kBAAkB;AACpB;AACA;EACE,iBAAiB;EACjB,gBAAgB;AAClB;AACA;EACE,kBAAkB;EAClB,eAAe;AACjB;AACA;EACE,WAAW;EACX,6BAA6B;EAC7B,YAAY;EACZ,eAAe;EACf,iBAAiB;EACjB,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;EAClB,sBAAsB;AACxB;AACA;EACE,aAAa;EACb,sBAAsB;AACxB;AACA;;EAEE,+BAA+B;EAC/B,mCAAmC;EACnC,oBAAoB;EACpB,cAAc;AAChB;AACA;EACE,kBAAkB;EAClB,gBAAgB;EAChB,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,mBAAmB;EACnB,sBAAsB;AACxB;AACA;EACE,oCAAoC;AACtC;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,8BAA8B;AAChC;AACA;EACE,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,aAAa;EACb,2BAA2B;EAC3B,mBAAmB;EACnB,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,2BAA2B;EAC3B,mBAAmB;EACnB,OAAO;AACT;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,yBAAyB;EACzB,mBAAmB;AACrB;AACA;;EAEE,yCAAyC;EACzC,8BAA8B;AAChC;AACA;;EAEE,iBAAiB;EACjB,wCAAwC;AAC1C;AACA;EACE,oDAAoD;AACtD;AACA;EACE,yCAAyC;AAC3C;AACA;EACE,6BAA6B;EAC7B,YAAY;EACZ,kBAAkB;EAClB,iBAAiB;EACjB,eAAe;EACf,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,iCAAiC;AACnC;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,OAAO;EACP,QAAQ;EACR,WAAW;EACX,aAAa;EACb,4BAA4B;EAC5B,aAAa;EACb,uBAAuB;AACzB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,eAAe;AACjB;AACA;EACE,YAAY;EACZ,cAAc;AAChB;AACA;EACE,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;AACA;EACE,aAAa;AACf;AACA;EACE,OAAO;EACP,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;EACf,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;EACnB,mCAAmC;AACrC;AACA;EACE,0CAA0C;EAC1C,+BAA+B;EAC/B,kBAAkB;EAClB,iBAAiB;EACjB,gBAAgB;EAChB,aAAa;EACb,gBAAgB;EAChB,WAAW;AACb;AACA;EACE,cAAc;EACd,kBAAkB;EAClB,eAAe;EACf,iBAAiB;EACjB,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,yBAAyB;EACzB,8BAA8B;EAC9B,wBAAwB;EACxB,kBAAkB;EAClB,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,SAAS;EACT,UAAU;EACV,gBAAgB;AAClB;AACA;EACE,iDAAiD;EACjD,sDAAsD;AACxD;AACA;EACE,iDAAiD;EACjD,sDAAsD;AACxD;AACA;EACE,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,OAAO;AACT;AACA;EACE,iBAAiB;EACjB,WAAW;EACX,YAAY;EACZ,4BAA4B;EAC5B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,eAAe;EACf,iBAAiB;EACjB,eAAe;EACf,gBAAgB;AAClB;AACA;EACE,mCAAmC;EACnC,eAAe;EACf,eAAe;EACf,OAAO;EACP,cAAc;EACd,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;EACnB,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,cAAc;EACd,eAAe;AACjB;AACA;EACE,iBAAiB;EACjB,eAAe;EACf,aAAa;EACb,8BAA8B;EAC9B,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,yCAAyC;EACzC,8BAA8B;EAC9B,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;AACjB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,gBAAgB;EAChB,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,eAAe;EACf,eAAe;EACf,aAAa;EACb,mBAAmB;EACnB,YAAY;AACd;AACA;EACE,UAAU;AACZ;AACA;EACE,gBAAgB;EAChB,YAAY;EACZ,eAAe;EACf,eAAe;EACf,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,0BAA0B;AAC5B;AACA;EACE,oDAAoD;EACpD,yCAAyC;EACzC,kBAAkB;EAClB,cAAc;EACd,aAAa;EACb,eAAe;EACf,gBAAgB;EAChB,eAAe;EACf,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,iBAAiB;EACjB,eAAe;AACjB;AACA;EACE,iBAAiB;EACjB,kBAAkB;EAClB,mCAAmC;EACnC,eAAe;AACjB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,6BAA6B;EAC7B,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,6CAA6C;AAC/C;AACA;EACE,aAAa;AACf;AACA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,WAAW;EACX,gGAAgG;EAChG,0BAA0B;EAC1B,6CAAoC;EACpC,WAAW;AACb;AACA;EACE;IACE,2BAA2B;EAC7B;EACA;IACE,4BAA4B;EAC9B;AACF;AACA;EACE,aAAa;EACb,kBAAkB;EAClB,WAAW;EACX,kBAAkB;AACpB",sourcesContent:[`.input_container {
|
|
11391
11392
|
position: relative;
|
|
11392
11393
|
width: 100%;
|
|
11393
11394
|
margin: 0 auto;
|
|
@@ -11671,6 +11672,7 @@ html li {
|
|
|
11671
11672
|
border-radius: 4px;
|
|
11672
11673
|
padding: 0 4px;
|
|
11673
11674
|
margin: 0 3px;
|
|
11675
|
+
font-size: 12px;
|
|
11674
11676
|
user-select: all;
|
|
11675
11677
|
cursor: default;
|
|
11676
11678
|
display: inline-flex;
|
|
@@ -31548,12 +31550,12 @@ Use the appropriate tools to fulfill the USER\u2019s request, ensuring all requi
|
|
|
31548
31550
|
<user_info>
|
|
31549
31551
|
The user's OS is ${(0,p.getOperatingSystemName)()}. The absolute path of the user's workspace is ${this.appConfig.workspaceDir}.
|
|
31550
31552
|
</user_info>`},invoke:async(f,c,y,b)=>{this.chatDeferred=new p.Deferred;const{message:A,command:S}=f;let w=A;if(S){const D=this.chatFeatureRegistry.getSlashCommandHandler(S);if(D&&D.providerPrompt){const I=this.monacoCommandRegistry.getActiveCodeEditor();w=await D.providerPrompt(A,I)}}const T=await this.aiBackService.requestStream(w,{requestId:f.requestId,sessionId:f.sessionId,history:y,images:f.images,...this.getRequestOptions()},b);return(0,s.listenReadable)(T,{onData:D=>{c(D)},onEnd:()=>{this.chatDeferred.resolve()},onError:D=>{this.messageService.error(D.message),this.aiReporter.end(f.sessionId+"_"+f.requestId,{message:D.message,success:!1,command:S})}}),await this.chatDeferred.promise,{}},provideSlashCommands:async f=>this.chatFeatureRegistry.getAllSlashCommand().map(c=>({...c,name:c.name,description:c.description||""})),provideChatWelcomeMessage:async f=>{}})),queueMicrotask(()=>{this.chatAgentService.updateAgent(n.AGENT_ID,{})})}};t.ChatProxyService=d,d.AGENT_ID="Default_Chat_Agent",r.__decorate([(0,o.Autowired)(g.IChatAgentService),r.__metadata("design:type",Object)],d.prototype,"chatAgentService",void 0),r.__decorate([(0,o.Autowired)(p.AIBackSerivcePath),r.__metadata("design:type",Object)],d.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(p.ChatFeatureRegistryToken),r.__metadata("design:type",u.ChatFeatureRegistry)],d.prototype,"chatFeatureRegistry",void 0),r.__decorate([(0,o.Autowired)(m.MonacoCommandRegistry),r.__metadata("design:type",m.MonacoCommandRegistry)],d.prototype,"monacoCommandRegistry",void 0),r.__decorate([(0,o.Autowired)(p.ChatServiceToken),r.__metadata("design:type",h.ChatService)],d.prototype,"aiChatService",void 0),r.__decorate([(0,o.Autowired)(p.IAIReporter),r.__metadata("design:type",Object)],d.prototype,"aiReporter",void 0),r.__decorate([(0,o.Autowired)(p.ChatAgentViewServiceToken),r.__metadata("design:type",Object)],d.prototype,"chatAgentViewService",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],d.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(p.IApplicationService),r.__metadata("design:type",Object)],d.prototype,"applicationService",void 0),r.__decorate([(0,o.Autowired)(_.IMessageService),r.__metadata("design:type",Object)],d.prototype,"messageService",void 0),r.__decorate([(0,o.Autowired)(l.AppConfig),r.__metadata("design:type",Object)],d.prototype,"appConfig",void 0),t.ChatProxyService=d=n=r.__decorate([(0,o.Injectable)()],d)},29770:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(63067),p=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(p.AI_CHAT_VIEW_ID,!0)}sendMessage(s){this.showChatView(),this._onChatMessageLaunch.fire(s)}clearHistoryMessages(){var s;(s=this.chatInternalService.sessionModel)===null||s===void 0||s.history.clearMessages()}sendReplyMessage(s){typeof s=="string"?this._onChatReplyMessageLaunch.fire({kind:"content",content:s}):this._onChatReplyMessageLaunch.fire(s)}sendMessageList(s){this._onChatMessageListLaunch.fire(s)}scrollToBottom(){this._onScrollToBottom.fire()}};t.ChatService=m,n.__decorate([(0,r.Autowired)(p.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:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatFeatureRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(19413),p=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}dispose(){super.dispose(),this.slashCommandsMap.clear(),this.slashCommandsHandlerMap.clear()}registerWelcome(s,g){this.chatWelcomeMessageModel=new p.ChatWelcomeMessageModel(s,g),this._onDidWelcomeMessageChange.fire()}registerSlashCommand(s,g){const{name:a}=s;if(this.slashCommandsMap.has(a)){this.logger.warn(`ChatFeatureRegistry: commands name ${a} already exists`);return}this.slashCommandsMap.set(a,new p.ChatSlashCommandItemModel(s,a,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:(x,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),p=e(43718),v=e(19413),m=e(61282);let _=class extends p.Disposable{constructor(){super(...arguments),this._onChangeRequestId=new p.Emitter,this.onChangeRequestId=this._onChangeRequestId.event,this._onChangeSession=new p.Emitter,this.onChangeSession=this._onChangeSession.event,this._onCancelRequest=new p.Emitter,this.onCancelRequest=this._onCancelRequest.event,this._onWillClearSession=new p.Emitter,this.onWillClearSession=this._onWillClearSession.event,this._onRegenerateRequest=new p.Emitter,this.onRegenerateRequest=this._onRegenerateRequest.event,n.set(this,void 0)}get latestRequestId(){return this._latestRequestId}get sessionModel(){return r.__classPrivateFieldGet(this,n,"f")}init(){this.chatManagerService.onStorageInit(()=>{const g=this.chatManagerService.getSessions();g.length>0?this.activateSession(g[g.length-1].sessionId):this.createSessionModel()})}setLatestRequestId(g){this._latestRequestId=g,this._onChangeRequestId.fire(g)}createRequest(g,a,h,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=_,n=new WeakMap,r.__decorate([(0,o.Autowired)(p.AIBackSerivcePath),r.__metadata("design:type",Object)],_.prototype,"aiBackService",void 0),r.__decorate([(0,o.Autowired)(l.PreferenceService),r.__metadata("design:type",Object)],_.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(v.IChatManagerService),r.__metadata("design:type",m.ChatManagerService)],_.prototype,"chatManagerService",void 0),t.ChatInternalService=_=r.__decorate([(0,o.Injectable)()],_)},70394:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatRenderRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718);let 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:(x,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),p=e(81878),v=e(89195),m=e(43718),_=e(54414),s=e(63067),g=e(72665);e(41937);const a=e(51500),h=e(19413),u=e(46044),d=e(98864),E=e(87785),f=e(25834),c=n.__importDefault(e(90103)),y=e(57987),b=e(56474),A=e(49601),S=e(15016),w=e(29039),T=e(78048),D=e(86556),I=e(73974),R=e(77633),P=e(42033),O=e(51081),M=n.__importDefault(e(77256)),k="chat_scroll",F=100,L=W=>W.map(j=>{var G;const $=((G=j.applyResult)===null||G===void 0?void 0:G.diff.split(`
|
|
31551
|
-
`).reduce(([Z,Y],V)=>(V.startsWith("-")?Z+=1:V.startsWith("+")&&(Y+=1),[Z,Y]),[0,0]))||[0,0];return{path:j.relativePath,additions:$[1],deletions:$[0],status:j.status}}).reduce((j,G)=>{const $=j.find(Z=>Z.path===G.path);return $?($.additions+=G.additions,$.deletions+=G.deletions,$.status=G.status):j.push(G),j},[]),B=()=>{const W=(0,l.useInjectable)(h.IChatInternalService),j=(0,l.useInjectable)(m.ChatServiceToken),G=(0,l.useInjectable)(m.IAIReporter),$=(0,l.useInjectable)(h.IChatAgentService),Z=(0,l.useInjectable)(m.ChatFeatureRegistryToken),Y=(0,l.useInjectable)(m.ChatRenderRegistryToken),V=(0,l.useInjectable)(R.TokenMCPServerRegistry),H=(0,l.useInjectable)(l.AINativeConfigService),K=(0,l.useInjectable)(u.LLMContextServiceToken),Q=(0,l.useInjectable)(s.IMainLayoutService),X=W.sessionModel.history,oe=r.useRef(null),ie=r.useRef(!0),fe=r.useRef(null),_e=(0,l.useInjectable)(_.WorkbenchEditorService),q=(0,l.useInjectable)(l.AppConfig),Se=(0,l.useInjectable)(I.BaseApplyService),ge=(0,l.useInjectable)(l.LabelService),te=(0,l.useInjectable)(a.IWorkspaceService),le=(0,l.useInjectable)(m.CommandService),[Ae,Re]=r.useState([]),[Ee,Ce]=r.useState(W.sessionModel.modelId),[ve,me]=r.useState(L(Se.getSessionCodeBlocks())),[Pe,we]=r.useReducer((We,Ke)=>{switch(Ke.type){case"add":return[...We,...Ke.payload||[]];case"clear":return[];case"init":return Array.isArray(Ke.payload)?Ke.payload:[];default:return We}},[]),[Ne,pe]=r.useState(!1),[re,he]=r.useState(""),[Me,Te]=r.useState(""),[Fe,Ge]=r.useState(""),[Ue,ft]=r.useState(null);r.useEffect(()=>{Ce(W.sessionModel.modelId)},[Ne,W.sessionModel]),r.useEffect(()=>{const We=new m.Disposable,Ke=()=>{const Je=L(Se.getSessionCodeBlocks());me(Je)};return We.addDispose(W.onChangeSession(Ke)),We.addDispose(Se.onCodeBlockUpdate(Ke)),()=>We.dispose()},[]),r.useEffect(()=>{const We=Z.getAllShortcutSlashCommand(),Ke=$.onDidChangeAgents(()=>{const Je=$.getCommands().filter(Yt=>Yt.isShortcut).map(Yt=>new P.ChatSlashCommandItemModel({icon:"",name:`${Yt.name} `,description:Yt.description,isShortcut:Yt.isShortcut},Yt.name,Yt.agentId));Re(We.concat(Je))});return Re(We),()=>Ke.dispose()},[Z,$]),(0,l.useUpdateOnEvent)(W.onChangeSession);const ht=r.useMemo(()=>Y.chatInputRender?Y.chatInputRender:H.capabilities.supportsMCP?A.ChatMentionInput:y.ChatInput,[Y.chatInputRender]),Rt=r.useMemo(()=>(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:"",text:r.createElement(D.WelcomeMessage,null)}),[]),at=r.useCallback(We=>{We.deltaY<0?ie.current=!1:ie.current=!0},[ie]);r.useEffect(()=>{if(oe.current)return oe.current.addEventListener("wheel",at),()=>{var We;(We=oe.current)===null||We===void 0||We.removeEventListener("wheel",at)}},[ie]);const At=r.useCallback(()=>{if(oe&&oe.current&&ie.current){const We=oe.current.lastElementChild;We&&We.scrollIntoView({behavior:"smooth",block:"end"}),oe.current.scrollHeight>oe.current.clientHeight&&oe.current.classList.add(k)}},[oe,ie]),rt=r.useCallback(We=>{we(We),requestAnimationFrame(()=>{At()})},[we,At]);r.useEffect(()=>{rt({type:"init",payload:[Rt]})},[]),r.useEffect(()=>{const We=new m.Disposable;return We.addDispose(j.onScrollToBottom(()=>{requestAnimationFrame(()=>{})})),We.addDispose(j.onChatMessageLaunch(async Ke=>{var Je;if(Ke.immediate!==!1){if(Ne)return;await li(Ke.message,Ke.images,Ke.agentId,Ke.command)}else Ke.agentId&&he(Ke.agentId),Ke.command&&Ge(Ke.command),(Je=fe?.current)===null||Je===void 0||Je.setInputValue(Ke.message)})),We.addDispose(j.onChatReplyMessageLaunch(Ke=>{if(Ke.kind==="content"){const Je=G.start(m.AIServiceType.CustomReply,{message:Ke.content,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({content:Ke.content,relationId:Je}),Wt({chunk:Ke.content,relationId:Je})}else{const Je=G.start(m.AIServiceType.CustomReply,{message:"component#"+Ke.component,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({componentId:Ke.component,componentValue:Ke.value,content:"",relationId:Je}),pn({chunk:Ke,relationId:Je})}})),We.addDispose(j.onChatMessageListLaunch(Ke=>{const Je=[];Ke.forEach(Yt=>{const{role:vn}=Yt,Zn=G.start(m.AIServiceType.Chat,{message:"",sessionId:W.sessionModel.sessionId});if(vn==="assistant"){const ni=Yt;Je.push((0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:Zn,text:r.createElement(S.ChatNotify,{requestId:Zn,chunk:ni})},M.default.chat_notify))}if(vn==="user"){const{message:ni}=Yt,Mi=O.ChatProxyService.AGENT_ID,vi=Y.chatUserRoleRender,Wi=Mi===O.ChatProxyService.AGENT_ID?"":Mi;Je.push((0,T.createMessageByUser)({id:(0,m.uuid)(6),relationId:Zn,text:vi?r.createElement(vi,{content:ni,agentId:Wi}):r.createElement(f.CodeBlockWrapperInput,{relationId:Zn,text:ni,agentId:Wi,command:Fe,labelService:ge,workspaceService:te,commandService:le})},M.default.chat_message_code))}}),rt({type:"add",payload:Je}),setTimeout(At,0)})),()=>We.dispose()},[j,Y.chatAIRoleRender,X]),r.useEffect(()=>{const We=new m.Disposable;return We.addDispose($.onDidSendMessage(Ke=>{const Je=Ke,Yt=G.start(m.AIServiceType.Agent,{message:""}),vn=(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:Yt,text:r.createElement(S.ChatNotify,{requestId:W.latestRequestId,chunk:Je})},M.default.chat_notify);rt({type:"add",payload:[vn]})})),We.addDispose($.onDidChangeAgents(async()=>{const Ke=$.getDefaultAgentId();Te(Ke??"")})),()=>We.dispose()},[$,X,W]);const ot=r.useCallback(async We=>{const{userMessage:Ke,relationId:Je,requestId:Yt,render:vn,startTime:Zn,command:ni,agentId:Mi}=We;X.addAssistantMessage({type:"component",content:""});const vi=(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:Je,className:M.default.chat_with_more_actions,text:r.createElement(w.SlashCustomRender,{userMessage:Ke,startTime:Zn,relationId:Je,requestId:Yt,renderContent:vn,command:ni,agentId:Mi})});rt({type:"add",payload:[vi]})},[oe,X]),dt=r.useCallback(async We=>{const Ke=Y.chatUserRoleRender,{message:Je,images:Yt,agentId:vn,relationId:Zn,command:ni}=We,Mi=vn===O.ChatProxyService.AGENT_ID?"":vn,vi=(0,T.createMessageByUser)({id:(0,m.uuid)(6),relationId:Zn,text:Ke?r.createElement(Ke,{content:Je,images:Yt,agentId:Mi,command:ni}):r.createElement(f.CodeBlockWrapperInput,{labelService:ge,relationId:Zn,text:Je,images:Yt,agentId:Mi,command:ni,workspaceService:te,commandService:le})},M.default.chat_message_code);rt({type:"add",payload:[vi]})},[Y,Y.chatUserRoleRender,X,At]),bt=r.useCallback(async We=>{const{message:Ke,agentId:Je,request:Yt,relationId:vn,command:Zn,startTime:ni,msgId:Mi}=We,vi=Je===O.ChatProxyService.AGENT_ID?"":Je;if(Je===O.ChatProxyService.AGENT_ID&&Zn){const kn=Z.getSlashCommandHandler(Zn);if(kn&&kn.providerRender)return pe(!1),ot({userMessage:Ke,render:kn.providerRender,relationId:vn,requestId:Yt.requestId,startTime:ni,agentId:Je,command:Zn})}const Wi=(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:vn,className:M.default.chat_with_more_actions,text:r.createElement(S.ChatReply,{relationId:vn,request:Yt,startTime:ni,agentId:vi,command:Zn,onDidChange:()=>{At()},history:X,onDone:()=>{pe(!1)},onRegenerate:()=>{Yt&&W.sendRequest(Yt,!0)},msgId:Mi})});rt({type:"add",payload:[Wi]})},[Y,X,At]),Wt=r.useCallback(We=>{const{chunk:Ke,relationId:Je}=We;let Yt=r.createElement(b.ChatMarkdown,{markdown:Ke,fillInIncompleteTokens:!0,agentId:re,command:Fe});if(Y.chatAIRoleRender){const Zn=Y.chatAIRoleRender;Yt=r.createElement(Zn,{content:Ke})}const vn=(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:Je,text:Yt,className:M.default.chat_with_more_actions});rt({type:"add",payload:[vn]})},[Y,X,At]),pn=r.useCallback(We=>{const{chunk:Ke,relationId:Je}=We,Yt=(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:Je,text:r.createElement(S.ChatNotify,{requestId:Je,chunk:Ke})},M.default.chat_notify);rt({type:"add",payload:[Yt]})},[Y,X,At]),In=r.useCallback(async We=>{const{message:Ke,images:Je,agentId:Yt,command:vn,reportExtra:Zn}=We,{actionType:ni,actionSource:Mi}=Zn||{},vi=W.createRequest(Ke,Yt,Je,vn);if(!vi)return;pe(!0),W.setLatestRequestId(vi.requestId);const Wi=Date.now(),kn=O.ChatProxyService.AGENT_ID===Yt?m.AIServiceType.Chat:m.AIServiceType.Agent,bn=G.start(vn||kn,{agentId:Yt,userMessage:Ke,actionType:ni,actionSource:Mi,sessionId:W.sessionModel.sessionId},600*1e3);X.addUserMessage({content:Ke,images:Je||[],agentId:Yt,agentCommand:vn,relationId:bn}),await dt({relationId:bn,message:Ke,images:Je,command:vn,agentId:Yt}),W.sendRequest(vi);const ei=X.addAssistantMessage({content:"",relationId:bn,requestId:vi.requestId,replyStartTime:Wi});V.activeMessageInfo={messageId:ei,sessionId:W.sessionModel.sessionId},await bt({startTime:Wi,relationId:bn,message:Ke,agentId:Yt,command:vn,request:vi,msgId:ei})},[Y,Y.chatUserRoleRender,X,At,Ne]),li=r.useCallback(async(We,Ke,Je,Yt)=>{var vn,Zn,ni;const Mi={actionSource:m.ActionSourceEnum.Chat,actionType:m.ActionTypeEnum.Send};Je=Je||O.ChatProxyService.AGENT_ID;let vi=We;const Wi=/\{\{@file:(.*?)\}\}/g,kn=We.match(Wi);let bn=!1;if(kn)for(const dn of kn){const Hn=dn.replace(/\{\{@file:(.*?)\}\}/,"$1");Hn&&!bn&&(bn=!0,K.cleanFileContext());const Qt=new m.URI(Hn),$e=((vn=await te.asRelativePath(Qt))===null||vn===void 0?void 0:vn.path)||Qt.displayName;vi=vi.replace(dn,`\`<attached_file>${$e}\``)}const ei=/\{\{@folder:(.*?)\}\}/g,Ri=vi.match(ei);if(Ri)for(const dn of Ri){const Hn=dn.replace(/\{\{@folder:(.*?)\}\}/,"$1"),Qt=new m.URI(Hn),$e=((Zn=await te.asRelativePath(Qt))===null||Zn===void 0?void 0:Zn.path)||Qt.displayName;vi=vi.replace(dn,`\`<attached_folder>${$e}\``)}const Ki=/\{\{@code:(.*?)\}\}/g,bi=vi.match(Ki);if(bi)for(const dn of bi){const Hn=dn.replace(/\{\{@code:(.*?)\}\}/,"$1"),[Qt,$e]=Hn.split(":");let pt=[0,0];if($e){const[tn,zt]=$e.slice(1).split("-");pt=[parseInt(tn,10),parseInt(zt,10)]}const mt=new m.URI(Qt),ut=((ni=await te.asRelativePath(mt))===null||ni===void 0?void 0:ni.path)||mt.displayName;vi=vi.replace(dn,`\`<attached_file>${ut}:L${pt[0]}-${pt[1]}\``)}return In({message:vi,images:Ke,agentId:Je,command:Yt,reportExtra:Mi})},[In]),Mn=r.useCallback(()=>{W.clearSessionModel(),j.clearHistoryMessages(),cn()},[Pe]),cn=r.useCallback(()=>{var We;(We=oe?.current)===null||We===void 0||We.classList.remove(k),rt({type:"init",payload:[Rt]})},[Pe]),Un=We=>{Ne||(ft(We.nameWithSlash),he(We.agentId),Ge(We.command))},fn=r.useCallback(()=>{Q.toggleSlot(h.AI_CHAT_VIEW_ID)},[Q]),Vt=Y.chatViewHeaderRender||U,vt=r.useCallback(async We=>{for(const Ke of X.getMessages()){if(We.isCancellationRequested)return;if(Ke.role===1)await dt({relationId:Ke.relationId,message:Ke.content,agentId:Ke.agentId,command:Ke.agentCommand,images:Ke.images});else if(Ke.role===2&&Ke.requestId){const Je=W.sessionModel.getRequest(Ke.requestId);Je&&!Je.response.isComplete&&pe(!0),await bt({msgId:Ke.id,relationId:Ke.relationId,message:Ke.content,agentId:Ke.agentId,command:Ke.agentCommand,startTime:Ke.replyStartTime,request:Je})}else Ke.role===2&&Ke.content?await Wt({relationId:Ke.relationId,chunk:Ke.content}):Ke.role===2&&Ke.componentId&&await pn({relationId:Ke.relationId,chunk:{kind:"component",component:Ke.componentId,value:Ke.componentValue}})}},[bt]);return r.useEffect(()=>{cn();const We=new m.CancellationTokenSource;return pe(!1),vt(We.token),()=>{We.cancel()}},[W.sessionModel]),r.createElement("div",{id:M.default.ai_chat_view},r.createElement("div",{className:M.default.header_container},r.createElement(Vt,{handleClear:Mn,handleCloseChatView:fn})),r.createElement("div",{className:M.default.body_container},r.createElement("div",{className:M.default.left_bar,id:"ai_chat_left_container"},r.createElement("div",{className:M.default.chat_container,ref:oe},r.createElement(o.MessageList,{className:M.default.message_list,lockable:!0,toBottomHeight:"100%",dataSource:Pe})),W.sessionModel.slicedMessageCount?r.createElement("div",{className:M.default.chat_tips_text},r.createElement("div",{className:M.default.chat_tips_container},(0,m.formatLocalize)("aiNative.chat.ai.assistant.limit.message",W.sessionModel.slicedMessageCount))):null,r.createElement("div",{className:M.default.chat_input_wrap},r.createElement("div",{className:M.default.header_operate},r.createElement("div",{className:M.default.header_operate_left},Ae.map(We=>r.createElement(p.Popover,{id:`ai-chat-shortcut-${We.name}`,key:`ai-chat-shortcut-${We.name}`,title:We.tooltip||We.name},r.createElement("div",{className:M.default.tag,onClick:()=>Un(We)},We.name))))),ve.length>0&&r.createElement(E.FileListDisplay,{files:ve,hideActions:Ne,onFileClick:We=>{_e.open(m.URI.file(m.path.join(q.workspaceDir,We)))},onRejectAll:()=>{Se.processAll("reject")},onAcceptAll:()=>{Se.processAll("accept")}}),r.createElement(ht,{onSend:li,disabled:Ne,enableOptions:!0,theme:Ue,setTheme:ft,agentId:re,setAgentId:he,defaultAgentId:Me,command:Fe,setCommand:Ge,contextService:K,ref:fe,disableModelSelector:Ee!==void 0||Ne,sessionModelId:Ee})))))};t.AIChatView=B;function U({handleClear:W,handleCloseChatView:j}){const G=(0,l.useInjectable)(h.IChatInternalService),$=(0,l.useInjectable)(g.IMessageService),[Z,Y]=r.useState([]),[V,H]=r.useState(""),K=r.useCallback(()=>{if(G.sessionModel.history.getMessages().length>0)try{G.createSessionModel()}catch(oe){$.error(oe.message)}},[G]),Q=r.useCallback(oe=>{G.activateSession(oe.id)},[G]),X=r.useCallback(oe=>{G.clearSessionModel(oe.id)},[G]);return r.useEffect(()=>{const oe=()=>{const q=G.sessionModel.history.getMessages().findLast(Se=>Se.role===1);H(q?(0,d.cleanAttachedTextWrapper)(q.content).slice(0,F):""),Y(G.getSessions().map(Se=>{const te=Se.history.getMessages(),le=te.length>0?(0,d.cleanAttachedTextWrapper)(te[0].content).slice(0,F):"",Ae=te.length>0&&te[te.length-1].replyStartTime||0;return{id:Se.sessionId,title:le,updatedAt:Ae,loading:!1}}))};oe();const ie=new m.DisposableCollection,fe=new Set;return ie.push(G.onChangeSession(_e=>{oe(),!fe.has(_e)&&(fe.add(_e),ie.push(G.sessionModel.history.onMessageChange(()=>{oe()})))})),ie.push(G.sessionModel.history.onMessageChange(()=>{oe()})),()=>{ie.dispose()}},[G]),r.createElement("div",{className:M.default.header},r.createElement(c.default,{className:M.default.chat_history,currentId:G.sessionModel.sessionId,title:V||(0,m.localize)("aiNative.chat.ai.assistant.name"),historyList:Z,onNewChat:K,onHistoryItemSelect:Q,onHistoryItemDelete:X,onHistoryItemChange:()=>{}}),r.createElement(p.Popover,{overlayClassName:M.default.popover_icon,id:"ai-chat-header-clear",title:(0,m.localize)("aiNative.operate.clear.title")},r.createElement(v.EnhanceIcon,{wrapperClassName:M.default.action_btn,className:(0,l.getIcon)("clear"),onClick:W,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.clear.title")})),r.createElement(p.Popover,{overlayClassName:M.default.popover_icon,id:"ai-chat-header-close",position:p.PopoverPosition.left,title:(0,m.localize)("aiNative.operate.close.title")},r.createElement(v.EnhanceIcon,{wrapperClassName:M.default.action_btn,className:(0,l.getIcon)("window-close"),onClick:j,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.close.title")})))}},21967:(x,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)),p=({status:v,error:m})=>{const _=()=>{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:`Failed (${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},_())};t.ApplyStatus=p},87785:(x,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),p=e(54414),v=e(42995),m=e(21967),_=n.__importDefault(e(80919)),s=g=>{const{files:a,onFileClick:h,onRejectAll:u,onAcceptAll:d,hideActions:E}=g,[f,c]=(0,r.useState)(!0),y=(0,l.useInjectable)(p.WorkbenchEditorService),b=(0,l.useInjectable)(l.LabelService),A=(0,r.useMemo)(()=>a.map(R=>{const P=l.URI.parse(R.path),O=b.getIcon(P);return r.default.createElement("span",{className:O})}),[a]),S=a.length,w=a.reduce((R,P)=>({additions:R.additions+P.additions,deletions:R.deletions+P.deletions}),{additions:0,deletions:0}),T=()=>{c(!f)},D=R=>R?r.default.createElement("span",{className:_.default.viewChanges,onClick:P=>{P.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,I=(R,P)=>{const O=[];return R>0&&O.push(r.default.createElement("span",{key:"add",className:_.default.additions},"+",R)),P>0&&(O.length>0&&O.push(" "),O.push(r.default.createElement("span",{key:"del",className:_.default.deletions},"-",P))),O.length===0&&O.push(r.default.createElement("span",{key:"no-change",className:_.default.noChange},"No changes")),O};return r.default.createElement("div",{className:_.default.container},r.default.createElement("div",{className:_.default.header},r.default.createElement("span",{className:_.default.title},r.default.createElement("button",{className:_.default.toggleButton,onClick:T},f?r.default.createElement(o.Icon,{icon:"down"}):r.default.createElement(o.Icon,{icon:"right"})," Changed Files(",S,")"),I(w.additions,w.deletions),!E&&D(a.length)),!E&&a.some(R=>R.status==="pending")&&r.default.createElement("div",{className:_.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(),d()}},"Accept"))),r.default.createElement("ul",{className:`${_.default.fileList} ${f?"":_.default.collapsed}`},a.map((R,P)=>r.default.createElement("li",{key:P,className:_.default.fileItem,onClick:()=>h(R.path)},r.default.createElement("span",{className:_.default.fileIcon},A[P]||"\u{1F4C4}"),r.default.createElement("div",{className:_.default.fileInfo},r.default.createElement("div",{className:_.default.filePath},R.path),r.default.createElement("div",{className:_.default.fileStats},I(R.additions,R.deletions)),r.default.createElement(m.ApplyStatus,{status:R.status}))))))};t.FileListDisplay=s},25834:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeBlockWrapperInput=t.CodeBlockWrapper=t.CodeEditorWithHighlight=void 0;const n=e(85608),r=n.__importDefault(e(56005)),o=n.__importStar(e(14041)),l=n.__importDefault(e(10580)),p=e(46541),v=e(41869),m=e(81878),_=e(89195),s=e(43718),g=e(71624),a=e(9447),h=e(52416),u=n.__importDefault(e(6960)),d=e(83933),E=e(44692);e(38191);const f=A=>{const{input:S,language:w,relationId:T,agentId:D,command:I,hideInsert:R}=A,P=o.default.useRef(null),O=(0,v.useInjectable)(a.MonacoCommandRegistry),M=(0,v.useInjectable)(v.IClipboardService),k=(0,v.useInjectable)(h.IThemeService),F=(0,v.useInjectable)(s.IAIReporter),[L,B]=(0,o.useState)(!1),U=(0,o.useMemo)(()=>(0,v.uuid)(12),[P,P.current]);(0,o.useEffect)(()=>{const G=Y=>{Y.type==="dark"||Y.type==="hcDark"?e.e(622).then(e.bind(e,51622)):(Y.type==="light"||Y.type==="hcLight")&&e.e(412).then(e.bind(e,50412))},$=k.onThemeChange(Y=>{G(Y)}),Z=k.getCurrentThemeSync();return G(Z),()=>$.dispose()},[]);const W=(0,o.useCallback)(async()=>{B(!0),await M.writeText(S),F.end(T,{copy:!0,code:S,language:w,agentId:D,command:I,actionSource:s.ActionSourceEnum.Chat,actionType:s.ActionTypeEnum.ChatCopyCode}),(0,s.runWhenIdle)(()=>{B(!1)},1e3)},[M,S,T]),j=(0,o.useCallback)(()=>{const G=O.getActiveCodeEditor();if(G){const $=G.getSelection();$&&((0,g.insertSnippetWithMonacoEditor)(G,S,[$],{undoStopBefore:!1,undoStopAfter:!1}),F.end(T,{insert:!0,code:S,language:w,agentId:D,command:I,actionSource:s.ActionSourceEnum.Chat,actionType:s.ActionTypeEnum.ChatInsertCode}))}},[O]);return o.default.createElement("div",{className:u.default.monaco_wrapper},o.default.createElement("div",{className:u.default.action_toolbar},!R&&o.default.createElement(m.Popover,{id:`ai-chat-inser-${U}`,title:(0,s.localize)("aiNative.chat.code.insert")},o.default.createElement(_.EnhanceIcon,{className:(0,v.getIcon)("insert"),onClick:()=>j(),tabIndex:0,role:"button",ariaLabel:(0,s.localize)("aiNative.chat.code.insert")})),o.default.createElement(m.Popover,{id:`ai-chat-copy-${U}`,title:(0,s.localize)(L?"aiNative.chat.code.copy.success":"aiNative.chat.code.copy")},o.default.createElement(_.EnhanceIcon,{className:(0,v.getIcon)("copy"),onClick:()=>W(),tabIndex:0,role:"button",ariaLabel:(0,s.localize)("aiNative.chat.code.copy")}))),o.default.createElement(l.default,{language:w,ref:P,className:u.default.editor},S))};t.CodeEditorWithHighlight=f;const c=({content:A="",relationId:S,renderText:w,agentId:T="",command:D="",labelService:I,commandService:R,workspaceService:P})=>{const O=/`([^`]+)`/g,M=/```([^]+?)```/g,k=/```([^]+)?/g,F=/<attached_file>(.*)/g,L=/<attached_folder>(.*)/g,B=(0,o.useCallback)(async(G,$)=>{const Z=await P?.roots;let Y;if(Z)for(const V of Z){Y=new s.URI(V.uri).resolve(G);try{await R?.executeCommand(v.FILE_COMMANDS.REVEAL_IN_EXPLORER.id,Y),$===E.MentionType.FILE&&await R?.executeCommand(v.EDITOR_COMMANDS.OPEN_RESOURCE.id,Y);break}catch{continue}}},[R,P]),U=(G,$=!1,Z)=>o.default.createElement("span",{className:u.default.attachment,key:Z,onClick:()=>B(G,$?E.MentionType.FOLDER:E.MentionType.FILE)},o.default.createElement(m.Icon,{iconClass:$?(0,v.getIcon)("folder"):I?.getIcon(new s.URI(G||"file"))}),o.default.createElement("span",{className:u.default.attachment_text},G)),W=G=>{const $=G.split(`
|
|
31553
|
+
`).reduce(([Z,Y],V)=>(V.startsWith("-")?Z+=1:V.startsWith("+")&&(Y+=1),[Z,Y]),[0,0]))||[0,0];return{path:j.relativePath,additions:$[1],deletions:$[0],status:j.status}}).reduce((j,G)=>{const $=j.find(Z=>Z.path===G.path);return $?($.additions+=G.additions,$.deletions+=G.deletions,$.status=G.status):j.push(G),j},[]),B=()=>{const W=(0,l.useInjectable)(h.IChatInternalService),j=(0,l.useInjectable)(m.ChatServiceToken),G=(0,l.useInjectable)(m.IAIReporter),$=(0,l.useInjectable)(h.IChatAgentService),Z=(0,l.useInjectable)(m.ChatFeatureRegistryToken),Y=(0,l.useInjectable)(m.ChatRenderRegistryToken),V=(0,l.useInjectable)(R.TokenMCPServerRegistry),H=(0,l.useInjectable)(l.AINativeConfigService),K=(0,l.useInjectable)(u.LLMContextServiceToken),Q=(0,l.useInjectable)(s.IMainLayoutService),X=W.sessionModel.history,oe=r.useRef(null),ie=r.useRef(!0),fe=r.useRef(null),_e=(0,l.useInjectable)(_.WorkbenchEditorService),q=(0,l.useInjectable)(l.AppConfig),Se=(0,l.useInjectable)(I.BaseApplyService),ge=(0,l.useInjectable)(l.LabelService),te=(0,l.useInjectable)(a.IWorkspaceService),le=(0,l.useInjectable)(m.CommandService),[Ae,Re]=r.useState([]),[Ee,Ce]=r.useState(W.sessionModel.modelId),[ve,me]=r.useState(L(Se.getSessionCodeBlocks())),[Pe,we]=r.useReducer((We,Ke)=>{switch(Ke.type){case"add":return[...We,...Ke.payload||[]];case"clear":return[];case"init":return Array.isArray(Ke.payload)?Ke.payload:[];default:return We}},[]),[Ne,pe]=r.useState(!1),[re,he]=r.useState(""),[Me,Te]=r.useState(""),[Fe,Ge]=r.useState(""),[Ue,ft]=r.useState(null);r.useEffect(()=>{Ce(W.sessionModel.modelId)},[Ne,W.sessionModel]),r.useEffect(()=>{const We=new m.Disposable,Ke=()=>{const Je=L(Se.getSessionCodeBlocks());me(Je)};return We.addDispose(W.onChangeSession(Ke)),We.addDispose(Se.onCodeBlockUpdate(Ke)),()=>We.dispose()},[]),r.useEffect(()=>{const We=Z.getAllShortcutSlashCommand(),Ke=$.onDidChangeAgents(()=>{const Je=$.getCommands().filter(Yt=>Yt.isShortcut).map(Yt=>new P.ChatSlashCommandItemModel({icon:"",name:`${Yt.name} `,description:Yt.description,isShortcut:Yt.isShortcut},Yt.name,Yt.agentId));Re(We.concat(Je))});return Re(We),()=>Ke.dispose()},[Z,$]),(0,l.useUpdateOnEvent)(W.onChangeSession);const ht=r.useMemo(()=>Y.chatInputRender?Y.chatInputRender:H.capabilities.supportsMCP?A.ChatMentionInput:y.ChatInput,[Y.chatInputRender]),Rt=r.useMemo(()=>(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:"",text:r.createElement(D.WelcomeMessage,null)}),[]),at=r.useCallback(We=>{We.deltaY<0?ie.current=!1:ie.current=!0},[ie]);r.useEffect(()=>{if(oe.current)return oe.current.addEventListener("wheel",at),()=>{var We;(We=oe.current)===null||We===void 0||We.removeEventListener("wheel",at)}},[ie]);const At=r.useCallback(()=>{if(oe&&oe.current&&ie.current){const We=oe.current.lastElementChild;We&&We.scrollIntoView({behavior:"smooth",block:"end"}),oe.current.scrollHeight>oe.current.clientHeight&&oe.current.classList.add(k)}},[oe,ie]),rt=r.useCallback(We=>{we(We),requestAnimationFrame(()=>{At()})},[we,At]);r.useEffect(()=>{rt({type:"init",payload:[Rt]})},[]),r.useEffect(()=>{const We=new m.Disposable;return We.addDispose(j.onScrollToBottom(()=>{requestAnimationFrame(()=>{})})),We.addDispose(j.onChatMessageLaunch(async Ke=>{var Je;if(Ke.immediate!==!1){if(Ne)return;await li(Ke.message,Ke.images,Ke.agentId,Ke.command)}else Ke.agentId&&he(Ke.agentId),Ke.command&&Ge(Ke.command),(Je=fe?.current)===null||Je===void 0||Je.setInputValue(Ke.message)})),We.addDispose(j.onChatReplyMessageLaunch(Ke=>{if(Ke.kind==="content"){const Je=G.start(m.AIServiceType.CustomReply,{message:Ke.content,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({content:Ke.content,relationId:Je}),Wt({chunk:Ke.content,relationId:Je})}else{const Je=G.start(m.AIServiceType.CustomReply,{message:"component#"+Ke.component,sessionId:W.sessionModel.sessionId});X.addAssistantMessage({componentId:Ke.component,componentValue:Ke.value,content:"",relationId:Je}),pn({chunk:Ke,relationId:Je})}})),We.addDispose(j.onChatMessageListLaunch(Ke=>{const Je=[];Ke.forEach(Yt=>{const{role:vn}=Yt,Zn=G.start(m.AIServiceType.Chat,{message:"",sessionId:W.sessionModel.sessionId});if(vn==="assistant"){const ni=Yt;Je.push((0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:Zn,text:r.createElement(S.ChatNotify,{requestId:Zn,chunk:ni})},M.default.chat_notify))}if(vn==="user"){const{message:ni}=Yt,Mi=O.ChatProxyService.AGENT_ID,vi=Y.chatUserRoleRender,Wi=Mi===O.ChatProxyService.AGENT_ID?"":Mi;Je.push((0,T.createMessageByUser)({id:(0,m.uuid)(6),relationId:Zn,text:vi?r.createElement(vi,{content:ni,agentId:Wi}):r.createElement(f.CodeBlockWrapperInput,{relationId:Zn,text:ni,agentId:Wi,command:Fe,labelService:ge,workspaceService:te,commandService:le})},M.default.chat_message_code))}}),rt({type:"add",payload:Je}),setTimeout(At,0)})),()=>We.dispose()},[j,Y.chatAIRoleRender,X]),r.useEffect(()=>{const We=new m.Disposable;return We.addDispose($.onDidSendMessage(Ke=>{const Je=Ke,Yt=G.start(m.AIServiceType.Agent,{message:""}),vn=(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:Yt,text:r.createElement(S.ChatNotify,{requestId:W.latestRequestId,chunk:Je})},M.default.chat_notify);rt({type:"add",payload:[vn]})})),We.addDispose($.onDidChangeAgents(async()=>{const Ke=$.getDefaultAgentId();Te(Ke??"")})),()=>We.dispose()},[$,X,W]);const ot=r.useCallback(async We=>{const{userMessage:Ke,relationId:Je,requestId:Yt,render:vn,startTime:Zn,command:ni,agentId:Mi}=We;X.addAssistantMessage({type:"component",content:""});const vi=(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:Je,className:M.default.chat_with_more_actions,text:r.createElement(w.SlashCustomRender,{userMessage:Ke,startTime:Zn,relationId:Je,requestId:Yt,renderContent:vn,command:ni,agentId:Mi})});rt({type:"add",payload:[vi]})},[oe,X]),dt=r.useCallback(async We=>{const Ke=Y.chatUserRoleRender,{message:Je,images:Yt,agentId:vn,relationId:Zn,command:ni}=We,Mi=vn===O.ChatProxyService.AGENT_ID?"":vn,vi=(0,T.createMessageByUser)({id:(0,m.uuid)(6),relationId:Zn,text:Ke?r.createElement(Ke,{content:Je,images:Yt,agentId:Mi,command:ni}):r.createElement(f.CodeBlockWrapperInput,{labelService:ge,relationId:Zn,text:Je,images:Yt,agentId:Mi,command:ni,workspaceService:te,commandService:le})},M.default.chat_message_code);rt({type:"add",payload:[vi]})},[Y,Y.chatUserRoleRender,X,At]),bt=r.useCallback(async We=>{const{message:Ke,agentId:Je,request:Yt,relationId:vn,command:Zn,startTime:ni,msgId:Mi}=We,vi=Je===O.ChatProxyService.AGENT_ID?"":Je;if(Je===O.ChatProxyService.AGENT_ID&&Zn){const kn=Z.getSlashCommandHandler(Zn);if(kn&&kn.providerRender)return pe(!1),ot({userMessage:Ke,render:kn.providerRender,relationId:vn,requestId:Yt.requestId,startTime:ni,agentId:Je,command:Zn})}const Wi=(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:vn,className:M.default.chat_with_more_actions,text:r.createElement(S.ChatReply,{relationId:vn,request:Yt,startTime:ni,agentId:vi,command:Zn,onDidChange:()=>{At()},history:X,onDone:()=>{pe(!1)},onRegenerate:()=>{Yt&&W.sendRequest(Yt,!0)},msgId:Mi})});rt({type:"add",payload:[Wi]})},[Y,X,At]),Wt=r.useCallback(We=>{const{chunk:Ke,relationId:Je}=We;let Yt=r.createElement(b.ChatMarkdown,{markdown:Ke,fillInIncompleteTokens:!0,agentId:re,command:Fe});if(Y.chatAIRoleRender){const Zn=Y.chatAIRoleRender;Yt=r.createElement(Zn,{content:Ke})}const vn=(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:Je,text:Yt,className:M.default.chat_with_more_actions});rt({type:"add",payload:[vn]})},[Y,X,At]),pn=r.useCallback(We=>{const{chunk:Ke,relationId:Je}=We,Yt=(0,T.createMessageByAI)({id:(0,m.uuid)(6),relationId:Je,text:r.createElement(S.ChatNotify,{requestId:Je,chunk:Ke})},M.default.chat_notify);rt({type:"add",payload:[Yt]})},[Y,X,At]),In=r.useCallback(async We=>{const{message:Ke,images:Je,agentId:Yt,command:vn,reportExtra:Zn}=We,{actionType:ni,actionSource:Mi}=Zn||{},vi=W.createRequest(Ke,Yt,Je,vn);if(!vi)return;pe(!0),W.setLatestRequestId(vi.requestId);const Wi=Date.now(),kn=O.ChatProxyService.AGENT_ID===Yt?m.AIServiceType.Chat:m.AIServiceType.Agent,bn=G.start(vn||kn,{agentId:Yt,userMessage:Ke,actionType:ni,actionSource:Mi,sessionId:W.sessionModel.sessionId},600*1e3);X.addUserMessage({content:Ke.replaceAll(u.LLM_CONTEXT_KEY_REGEX,""),images:Je||[],agentId:Yt,agentCommand:vn,relationId:bn}),await dt({relationId:bn,message:Ke,images:Je,command:vn,agentId:Yt}),W.sendRequest(vi);const ei=X.addAssistantMessage({content:"",relationId:bn,requestId:vi.requestId,replyStartTime:Wi});V.activeMessageInfo={messageId:ei,sessionId:W.sessionModel.sessionId},await bt({startTime:Wi,relationId:bn,message:Ke,agentId:Yt,command:vn,request:vi,msgId:ei})},[Y,Y.chatUserRoleRender,X,At,Ne]),li=r.useCallback(async(We,Ke,Je,Yt)=>{var vn,Zn,ni;const Mi={actionSource:m.ActionSourceEnum.Chat,actionType:m.ActionTypeEnum.Send};Je=Je||O.ChatProxyService.AGENT_ID;let vi=We;const Wi=/\{\{@file:(.*?)\}\}/g,kn=We.match(Wi);let bn=!1;if(kn)for(const dn of kn){const Hn=dn.replace(/\{\{@file:(.*?)\}\}/,"$1");Hn&&!bn&&(bn=!0,K.cleanFileContext());const Qt=new m.URI(Hn),$e=((vn=await te.asRelativePath(Qt))===null||vn===void 0?void 0:vn.path)||Qt.displayName;vi=vi.replace(dn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${$e}\``)}const ei=/\{\{@folder:(.*?)\}\}/g,Ri=vi.match(ei);if(Ri)for(const dn of Ri){const Hn=dn.replace(/\{\{@folder:(.*?)\}\}/,"$1"),Qt=new m.URI(Hn),$e=((Zn=await te.asRelativePath(Qt))===null||Zn===void 0?void 0:Zn.path)||Qt.displayName;vi=vi.replace(dn,`\`${u.LLM_CONTEXT_KEY.AttachedFolder}${$e}\``)}const Ki=/\{\{@code:(.*?)\}\}/g,bi=vi.match(Ki);if(bi)for(const dn of bi){const Hn=dn.replace(/\{\{@code:(.*?)\}\}/,"$1"),[Qt,$e]=Hn.split(":");let pt=[0,0];if($e){const[tn,zt]=$e.slice(1).split("-");pt=[parseInt(tn,10),parseInt(zt,10)]}const mt=new m.URI(Qt),ut=((ni=await te.asRelativePath(mt))===null||ni===void 0?void 0:ni.path)||mt.displayName;vi=vi.replace(dn,`\`${u.LLM_CONTEXT_KEY.AttachedFile}${ut}:L${pt[0]}-${pt[1]}\``)}return In({message:vi,images:Ke,agentId:Je,command:Yt,reportExtra:Mi})},[In]),Mn=r.useCallback(()=>{W.clearSessionModel(),j.clearHistoryMessages(),cn()},[Pe]),cn=r.useCallback(()=>{var We;(We=oe?.current)===null||We===void 0||We.classList.remove(k),rt({type:"init",payload:[Rt]})},[Pe]),Un=We=>{Ne||(ft(We.nameWithSlash),he(We.agentId),Ge(We.command))},fn=r.useCallback(()=>{Q.toggleSlot(h.AI_CHAT_VIEW_ID)},[Q]),Vt=Y.chatViewHeaderRender||U,vt=r.useCallback(async We=>{for(const Ke of X.getMessages()){if(We.isCancellationRequested)return;if(Ke.role===1)await dt({relationId:Ke.relationId,message:Ke.content,agentId:Ke.agentId,command:Ke.agentCommand,images:Ke.images});else if(Ke.role===2&&Ke.requestId){const Je=W.sessionModel.getRequest(Ke.requestId);Je&&!Je.response.isComplete&&pe(!0),await bt({msgId:Ke.id,relationId:Ke.relationId,message:Ke.content,agentId:Ke.agentId,command:Ke.agentCommand,startTime:Ke.replyStartTime,request:Je})}else Ke.role===2&&Ke.content?await Wt({relationId:Ke.relationId,chunk:Ke.content}):Ke.role===2&&Ke.componentId&&await pn({relationId:Ke.relationId,chunk:{kind:"component",component:Ke.componentId,value:Ke.componentValue}})}},[bt]);return r.useEffect(()=>{cn();const We=new m.CancellationTokenSource;return pe(!1),vt(We.token),()=>{We.cancel()}},[W.sessionModel]),r.createElement("div",{id:M.default.ai_chat_view},r.createElement("div",{className:M.default.header_container},r.createElement(Vt,{handleClear:Mn,handleCloseChatView:fn})),r.createElement("div",{className:M.default.body_container},r.createElement("div",{className:M.default.left_bar,id:"ai_chat_left_container"},r.createElement("div",{className:M.default.chat_container,ref:oe},r.createElement(o.MessageList,{className:M.default.message_list,lockable:!0,toBottomHeight:"100%",dataSource:Pe})),W.sessionModel.slicedMessageCount?r.createElement("div",{className:M.default.chat_tips_text},r.createElement("div",{className:M.default.chat_tips_container},(0,m.formatLocalize)("aiNative.chat.ai.assistant.limit.message",W.sessionModel.slicedMessageCount))):null,r.createElement("div",{className:M.default.chat_input_wrap},r.createElement("div",{className:M.default.header_operate},r.createElement("div",{className:M.default.header_operate_left},Ae.map(We=>r.createElement(p.Popover,{id:`ai-chat-shortcut-${We.name}`,key:`ai-chat-shortcut-${We.name}`,title:We.tooltip||We.name},r.createElement("div",{className:M.default.tag,onClick:()=>Un(We)},We.name))))),ve.length>0&&r.createElement(E.FileListDisplay,{files:ve,hideActions:Ne,onFileClick:We=>{_e.open(m.URI.file(m.path.join(q.workspaceDir,We)))},onRejectAll:()=>{Se.processAll("reject")},onAcceptAll:()=>{Se.processAll("accept")}}),r.createElement(ht,{onSend:li,disabled:Ne,enableOptions:!0,theme:Ue,setTheme:ft,agentId:re,setAgentId:he,defaultAgentId:Me,command:Fe,setCommand:Ge,contextService:K,ref:fe,disableModelSelector:Ee!==void 0||Ne,sessionModelId:Ee})))))};t.AIChatView=B;function U({handleClear:W,handleCloseChatView:j}){const G=(0,l.useInjectable)(h.IChatInternalService),$=(0,l.useInjectable)(g.IMessageService),[Z,Y]=r.useState([]),[V,H]=r.useState(""),K=r.useCallback(()=>{if(G.sessionModel.history.getMessages().length>0)try{G.createSessionModel()}catch(oe){$.error(oe.message)}},[G]),Q=r.useCallback(oe=>{G.activateSession(oe.id)},[G]),X=r.useCallback(oe=>{G.clearSessionModel(oe.id)},[G]);return r.useEffect(()=>{const oe=()=>{const q=G.sessionModel.history.getMessages().findLast(Se=>Se.role===1);H(q?(0,d.cleanAttachedTextWrapper)(q.content).slice(0,F):""),Y(G.getSessions().map(Se=>{const te=Se.history.getMessages(),le=te.length>0?(0,d.cleanAttachedTextWrapper)(te[0].content).slice(0,F):"",Ae=te.length>0&&te[te.length-1].replyStartTime||0;return{id:Se.sessionId,title:le,updatedAt:Ae,loading:!1}}))};oe();const ie=new m.DisposableCollection,fe=new Set;return ie.push(G.onChangeSession(_e=>{oe(),!fe.has(_e)&&(fe.add(_e),ie.push(G.sessionModel.history.onMessageChange(()=>{oe()})))})),ie.push(G.sessionModel.history.onMessageChange(()=>{oe()})),()=>{ie.dispose()}},[G]),r.createElement("div",{className:M.default.header},r.createElement(c.default,{className:M.default.chat_history,currentId:G.sessionModel.sessionId,title:V||(0,m.localize)("aiNative.chat.ai.assistant.name"),historyList:Z,onNewChat:K,onHistoryItemSelect:Q,onHistoryItemDelete:X,onHistoryItemChange:()=>{}}),r.createElement(p.Popover,{overlayClassName:M.default.popover_icon,id:"ai-chat-header-clear",title:(0,m.localize)("aiNative.operate.clear.title")},r.createElement(v.EnhanceIcon,{wrapperClassName:M.default.action_btn,className:(0,l.getIcon)("clear"),onClick:W,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.clear.title")})),r.createElement(p.Popover,{overlayClassName:M.default.popover_icon,id:"ai-chat-header-close",position:p.PopoverPosition.left,title:(0,m.localize)("aiNative.operate.close.title")},r.createElement(v.EnhanceIcon,{wrapperClassName:M.default.action_btn,className:(0,l.getIcon)("window-close"),onClick:j,tabIndex:0,role:"button",ariaLabel:(0,m.localize)("aiNative.operate.close.title")})))}},21967:(x,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)),p=({status:v,error:m})=>{const _=()=>{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:`Failed (${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},_())};t.ApplyStatus=p},87785:(x,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),p=e(54414),v=e(42995),m=e(21967),_=n.__importDefault(e(80919)),s=g=>{const{files:a,onFileClick:h,onRejectAll:u,onAcceptAll:d,hideActions:E}=g,[f,c]=(0,r.useState)(!0),y=(0,l.useInjectable)(p.WorkbenchEditorService),b=(0,l.useInjectable)(l.LabelService),A=(0,r.useMemo)(()=>a.map(R=>{const P=l.URI.parse(R.path),O=b.getIcon(P);return r.default.createElement("span",{className:O})}),[a]),S=a.length,w=a.reduce((R,P)=>({additions:R.additions+P.additions,deletions:R.deletions+P.deletions}),{additions:0,deletions:0}),T=()=>{c(!f)},D=R=>R?r.default.createElement("span",{className:_.default.viewChanges,onClick:P=>{P.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,I=(R,P)=>{const O=[];return R>0&&O.push(r.default.createElement("span",{key:"add",className:_.default.additions},"+",R)),P>0&&(O.length>0&&O.push(" "),O.push(r.default.createElement("span",{key:"del",className:_.default.deletions},"-",P))),O.length===0&&O.push(r.default.createElement("span",{key:"no-change",className:_.default.noChange},"No changes")),O};return r.default.createElement("div",{className:_.default.container},r.default.createElement("div",{className:_.default.header},r.default.createElement("span",{className:_.default.title},r.default.createElement("button",{className:_.default.toggleButton,onClick:T},f?r.default.createElement(o.Icon,{icon:"down"}):r.default.createElement(o.Icon,{icon:"right"})," Changed Files(",S,")"),I(w.additions,w.deletions),!E&&D(a.length)),!E&&a.some(R=>R.status==="pending")&&r.default.createElement("div",{className:_.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(),d()}},"Accept"))),r.default.createElement("ul",{className:`${_.default.fileList} ${f?"":_.default.collapsed}`},a.map((R,P)=>r.default.createElement("li",{key:P,className:_.default.fileItem,onClick:()=>h(R.path)},r.default.createElement("span",{className:_.default.fileIcon},A[P]||"\u{1F4C4}"),r.default.createElement("div",{className:_.default.fileInfo},r.default.createElement("div",{className:_.default.filePath},R.path),r.default.createElement("div",{className:_.default.fileStats},I(R.additions,R.deletions)),r.default.createElement(m.ApplyStatus,{status:R.status}))))))};t.FileListDisplay=s},25834:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeBlockWrapperInput=t.CodeBlockWrapper=t.CodeEditorWithHighlight=void 0;const n=e(85608),r=n.__importDefault(e(56005)),o=n.__importStar(e(14041)),l=n.__importDefault(e(10580)),p=e(46541),v=e(41869),m=e(81878),_=e(89195),s=e(43718),g=e(71624),a=e(9447),h=e(52416),u=n.__importDefault(e(6960)),d=e(83933),E=e(44692);e(38191);const f=A=>{const{input:S,language:w,relationId:T,agentId:D,command:I,hideInsert:R}=A,P=o.default.useRef(null),O=(0,v.useInjectable)(a.MonacoCommandRegistry),M=(0,v.useInjectable)(v.IClipboardService),k=(0,v.useInjectable)(h.IThemeService),F=(0,v.useInjectable)(s.IAIReporter),[L,B]=(0,o.useState)(!1),U=(0,o.useMemo)(()=>(0,v.uuid)(12),[P,P.current]);(0,o.useEffect)(()=>{const G=Y=>{Y.type==="dark"||Y.type==="hcDark"?e.e(622).then(e.bind(e,51622)):(Y.type==="light"||Y.type==="hcLight")&&e.e(412).then(e.bind(e,50412))},$=k.onThemeChange(Y=>{G(Y)}),Z=k.getCurrentThemeSync();return G(Z),()=>$.dispose()},[]);const W=(0,o.useCallback)(async()=>{B(!0),await M.writeText(S),F.end(T,{copy:!0,code:S,language:w,agentId:D,command:I,actionSource:s.ActionSourceEnum.Chat,actionType:s.ActionTypeEnum.ChatCopyCode}),(0,s.runWhenIdle)(()=>{B(!1)},1e3)},[M,S,T]),j=(0,o.useCallback)(()=>{const G=O.getActiveCodeEditor();if(G){const $=G.getSelection();$&&((0,g.insertSnippetWithMonacoEditor)(G,S,[$],{undoStopBefore:!1,undoStopAfter:!1}),F.end(T,{insert:!0,code:S,language:w,agentId:D,command:I,actionSource:s.ActionSourceEnum.Chat,actionType:s.ActionTypeEnum.ChatInsertCode}))}},[O]);return o.default.createElement("div",{className:u.default.monaco_wrapper},o.default.createElement("div",{className:u.default.action_toolbar},!R&&o.default.createElement(m.Popover,{id:`ai-chat-inser-${U}`,title:(0,s.localize)("aiNative.chat.code.insert")},o.default.createElement(_.EnhanceIcon,{className:(0,v.getIcon)("insert"),onClick:()=>j(),tabIndex:0,role:"button",ariaLabel:(0,s.localize)("aiNative.chat.code.insert")})),o.default.createElement(m.Popover,{id:`ai-chat-copy-${U}`,title:(0,s.localize)(L?"aiNative.chat.code.copy.success":"aiNative.chat.code.copy")},o.default.createElement(_.EnhanceIcon,{className:(0,v.getIcon)("copy"),onClick:()=>W(),tabIndex:0,role:"button",ariaLabel:(0,s.localize)("aiNative.chat.code.copy")}))),o.default.createElement(l.default,{language:w,ref:P,className:u.default.editor},S))};t.CodeEditorWithHighlight=f;const c=({content:A="",relationId:S,renderText:w,agentId:T="",command:D="",labelService:I,commandService:R,workspaceService:P})=>{const O=/`([^`]+)`/g,M=/```([^]+?)```/g,k=/```([^]+)?/g,F=/<attached_file>(.*)/g,L=/<attached_folder>(.*)/g,B=(0,o.useCallback)(async(G,$)=>{const Z=await P?.roots;let Y;if(Z)for(const V of Z){Y=new s.URI(V.uri).resolve(G);try{await R?.executeCommand(v.FILE_COMMANDS.REVEAL_IN_EXPLORER.id,Y),$===E.MentionType.FILE&&await R?.executeCommand(v.EDITOR_COMMANDS.OPEN_RESOURCE.id,Y);break}catch{continue}}},[R,P]),U=(G,$=!1,Z)=>o.default.createElement("span",{className:u.default.attachment,key:Z,onClick:()=>B(G,$?E.MentionType.FOLDER:E.MentionType.FILE)},o.default.createElement(m.Icon,{iconClass:$?(0,v.getIcon)("folder"):I?.getIcon(new s.URI(G||"file"))}),o.default.createElement("span",{className:u.default.attachment_text},G)),W=G=>{const $=G.split(`
|
|
31552
31554
|
`)[0].trim().toLowerCase(),Z=d.highLightLanguageSupport.find(Y=>Y===$)||"plaintext";return G=G.replace(/.*?\n/,""),G=G.trim(),o.default.createElement("div",{className:u.default.code_block},o.default.createElement("div",{className:u.default.code_language},(0,r.default)(Z)),o.default.createElement(t.CodeEditorWithHighlight,{input:G,language:$,relationId:S,agentId:T,command:D}))},j=(0,o.useMemo)(()=>{const G=A.split(M),$=[];return G.map((Z,Y)=>{Y%2===0?Z.split(O).map((V,H)=>{if(H%2===0){if(V.includes("```")){const K=V.split(k).filter(Boolean);if(K.length===2){$.push(K[0]),$.push(W(K[1]));return}}w?$.push(w(V)):$.push(V)}else{const K=V,Q=[...V.matchAll(F)],X=[...V.matchAll(L)];if(Q.length||X.length){let oe=0;const ie=[],fe=(_e,q)=>{_e.forEach((Se,ge)=>{if(Se.index!==void 0){const te=K.slice(oe,Se.index);te&&ie.push(o.default.createElement("span",{key:`${H}-${ge}-${q?"folder":"file"}`},te)),ie.push(U(Se[1],q,`${H}-tag-${ge}-${q?"folder":"file"}`)),oe=Se.index+Se[0].length}})};fe(Q,!1),fe(X,!0),ie.push(K.slice(oe)),$.push(...ie)}else $.push(o.default.createElement("span",{className:u.default.code_inline,key:H},V))}}):$.push(W(Z))}),$},[A,w]);return o.default.createElement(o.default.Fragment,null,j)},y=({text:A,renderText:S,relationId:w,agentId:T,labelService:D,commandService:I,workspaceService:R})=>o.default.createElement("div",{className:u.default.ai_chat_code_wrapper},o.default.createElement("div",{className:u.default.render_text},o.default.createElement(c,{content:A,labelService:D,renderText:S,relationId:w,agentId:T,commandService:I,workspaceService:R})));t.CodeBlockWrapper=y;const b=({text:A,images:S,relationId:w,agentId:T,command:D,labelService:I,workspaceService:R,commandService:P})=>{const O=(0,v.useInjectable)(s.ChatFeatureRegistryToken),[M,k]=(0,o.useState)(""),[F,L]=(0,o.useState)(A);return o.default.useEffect(()=>{const{value:B,nameWithSlash:U}=O.parseSlashCommand(A);if(U){k(U),L(B);return}else L(A)},[A,O]),o.default.createElement("div",{className:u.default.ai_chat_code_wrapper},S?.map(B=>o.default.createElement("div",{className:u.default.image_wrapper},o.default.createElement(p.Image,{src:B}))),o.default.createElement("div",{className:u.default.render_text},M&&o.default.createElement("div",{className:u.default.tag_wrapper},o.default.createElement("span",{className:u.default.tag},M)),T&&o.default.createElement("div",{className:u.default.tag,style:{marginRight:4}},"@",T),D&&o.default.createElement("div",{className:u.default.tag},"/ ",D),o.default.createElement(c,{content:F,labelService:I,relationId:w,agentId:T,command:D,workspaceService:R,commandService:P})))};t.CodeBlockWrapperInput=b},90103:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),p=e(41869),v=e(89195),m=n.__importDefault(e(35553)),_=100,s=(0,o.memo)(({title:g,historyList:a,currentId:h,onNewChat:u,onHistoryItemSelect:d,onHistoryItemChange:E,onHistoryItemDelete:f,className:c})=>{const[y,b]=(0,o.useState)(null),[A,S]=(0,o.useState)(""),w=(0,o.useRef)(null),T=(0,o.useCallback)(W=>{S(W.target.value)},[A]),D=(0,o.useCallback)(W=>{d(W),S("")},[d,A]),I=(0,o.useCallback)(W=>{b({[W.id]:!0})},[y]),R=(0,o.useCallback)((W,j)=>{b({[W.id]:!1}),E(W,j)},[E,y]),P=(0,o.useCallback)(W=>{b({[W.id]:!1})},[y]),O=(0,o.useCallback)(()=>{u()},[u]);(0,o.useEffect)(()=>{var W;y&&((W=w.current)===null||W===void 0||W.focus({cursor:"end"}))},[y]);const M=(0,o.useCallback)(W=>{f(W)},[f]),k=(0,o.useCallback)(W=>{if(W<60*60*1e3){const G=Math.floor(W/6e4);return G===0?"Just now":`${G}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,G=[];return W.forEach($=>{const Z=new Date($.updatedAt),Y=j.getTime()-Z.getTime(),V=k(Y),H=G.find(K=>K.key===V);H?H.items.push($):G.push({key:V,items:[$]})}),G},[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:()=>D(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:w,onPressEnter:j=>{R(W,j.target.value)},onBlur:()=>P(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(),M(W)},ariaLabel:(0,p.localize)("aiNative.operate.chatHistory.delete")}))),[y,D,R,P,I,M,h,w]),B=(0,o.useCallback)(()=>{const W=a.slice(0,_).filter(G=>G.title&&G.title.includes(A)),j=F(W);return o.default.createElement("div",null,o.default.createElement(l.Input,{placeholder:(0,p.localize)("aiNative.operate.chatHistory.searchPlaceholder"),className:m.default.chat_history_search,value:A,onChange:T}),o.default.createElement("div",{className:m.default.chat_history_list},j.map(G=>o.default.createElement("div",{key:G.key,style:{padding:"4px"}},o.default.createElement("div",{className:m.default.chat_history_time},G.key),G.items.map(L)))))},[a,A,F,T,L]),U=(0,o.useCallback)(W=>W.parentElement,[]);return o.default.createElement("div",{className:(0,r.default)(m.default.chat_history_header,c)},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:B(),trigger:l.PopoverTriggerType.click,position:l.PopoverPosition.bottomRight,title:(0,p.localize)("aiNative.operate.chatHistory.title"),getPopupContainer:U},o.default.createElement("div",{className:m.default.chat_history_header_actions_history,title:(0,p.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,p.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:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatInput=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),p=e(81878),v=e(89195),m=e(83913),_=e(43718),s=e(92323),g=e(9447),a=e(72665),h=e(19413),u=e(42033),d=e(51081),E=e(27397),f=e(30703),c=n.__importDefault(e(6960)),y=8,b=68,A=({icon:D,name:I,description:R,agentId:P,command:O,selectedAgentId:M})=>{const k=(0,o.useMemo)(()=>!M&&P&&P!==d.ChatProxyService.AGENT_ID&&O?o.default.createElement("span",{className:c.default.agent_label},"@",P):null,[]);return o.default.createElement("div",{className:c.default.block},D&&o.default.createElement(v.EnhanceIcon,{className:D}),I&&o.default.createElement("span",{className:c.default.name},I),R&&o.default.createElement("span",{className:c.default.text},R),k)},S=({onClick:D,bottom:I,trigger:R,agentId:P})=>{const O=(0,l.useInjectable)(h.IChatAgentService),M=(0,l.useInjectable)(_.ChatAgentViewServiceToken),k=(0,o.useMemo)(()=>R===h.AT_SIGN_SYMBOL?M.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=>!P||L.agentId===P),[R,O]),F=(0,o.useCallback)((L,B,U)=>{D&&D(L||"",B,U)},[D]);return k.length===0?null:o.default.createElement("div",{className:c.default.instruction_options_container,style:{bottom:I+"px"}},o.default.createElement("div",{className:c.default.options},o.default.createElement("ul",null,k.map(({icon:L,name:B,nameWithSlash:U,description:W,agentId:j,command:G})=>o.default.createElement("li",{key:`${j||""}-${B}`,onMouseDown:()=>F(U,j,G)},o.default.createElement(A,{icon:L,name:B,description:W,agentId:j,command:G,selectedAgentId:P}))))))},w=({themeBlock:D})=>o.default.createElement("div",{className:c.default.theme_container},o.default.createElement("div",{className:c.default.theme_block},D)),T=({agentId:D,command:I})=>o.default.createElement("div",{className:c.default.theme_container},D!==d.ChatProxyService.AGENT_ID&&o.default.createElement("div",{className:c.default.theme_block,style:{marginRight:4}},"@",D),I&&o.default.createElement("div",{className:c.default.theme_block},h.SLASH_SYMBOL," ",I));t.ChatInput=o.default.forwardRef((D,I)=>{const{onSend:R,onValueChange:P,enableOptions:O=!1,disabled:M=!1,defaultHeight:k=32,autoFocus:F,setTheme:L,theme:B,setAgentId:U,agentId:W,defaultAgentId:j,setCommand:G,command:$,sendBtnClassName:Z}=D,Y=W||j,V=(0,o.useRef)(null),H=(0,o.useRef)(null),[K,Q]=(0,o.useState)(D.value||""),[X,oe]=(0,o.useState)(!1),[ie,fe]=(0,o.useState)(k),[_e,q]=(0,o.useState)(!1),[Se,ge]=(0,o.useState)(!1),[te,le]=(0,o.useState)(!1),[Ae,Re]=(0,o.useState)((0,_.localize)("aiNative.chat.input.placeholder.default")),Ee=(0,l.useInjectable)(h.IChatInternalService),Ce=(0,l.useInjectable)(a.IDialogService),ve=(0,l.useInjectable)(l.AINativeConfigService),me=(0,l.useInjectable)(h.TokenMCPServerProxyService),Pe=(0,l.useInjectable)(g.MonacoCommandRegistry),we=(0,l.useInjectable)(h.IChatAgentService),Ne=(0,l.useInjectable)(_.ChatFeatureRegistryToken),pe=(0,l.useInjectable)(s.CommandService),re=(0,l.useLatest)(Y),he=o.default.useCallback(()=>{pe.executeCommand(E.MCPConfigCommands.OPEN_MCP_CONFIG.id)},[pe]),Me=o.default.useCallback(async()=>{const ot=await me.getAllMCPTools();Ce.open({message:o.default.createElement(f.MCPToolsDialog,{tools:ot}),type:_.MessageType.Empty,buttons:[(0,_.localize)("dialog.file.close")]})},[me,Ce]);(0,o.useImperativeHandle)(I,()=>({setInputValue:ot=>{Q(ot),(0,_.runWhenIdle)(()=>{var dt;(dt=V.current)===null||dt===void 0||dt.focus()},120)}})),(0,o.useEffect)(()=>{D.value!==K&&Q(D.value||"")},[D.value]),(0,o.useEffect)(()=>{var ot;(ot=V.current)===null||ot===void 0||ot.focus();const dt=(0,_.localize)("aiNative.chat.input.placeholder.default"),bt=Ne.getSlashCommandHandler($);if(bt&&bt.providerInputPlaceholder){const Wt=Pe.getActiveCodeEditor(),pn=bt.providerInputPlaceholder(K,Wt);Re(pn||dt)}else Re(dt)},[Ne,$]),(0,o.useEffect)(()=>{Ue(B||"",Y,$)},[B,Y,$]),(0,o.useEffect)(()=>{var ot;V&&F&&((ot=V.current)===null||ot===void 0||ot.focus())},[V,F,D.value]),(0,o.useEffect)(()=>{if(O&&((K===h.SLASH_SYMBOL||K===h.AT_SIGN_SYMBOL&&we.getAgents().length>0)&&!te?oe(!0):oe(!1)),K.startsWith(h.SLASH_SYMBOL)){const{value:ot,nameWithSlash:dt}=Ne.parseSlashCommand(K);if(dt){const bt=Ne.getSlashCommandBySlashName(dt);Q(ot),L(dt),bt&&(U(bt.agentId),G(bt.command));return}}if(we.getAgents().length){const ot=we.parseMessage(K,re.current);(ot.agentId||ot.command)&&(L(""),Q(ot.message),ot.agentId&&U(ot.agentId),ot.command&&G(ot.command))}},[V,K,O,Ne]),(0,o.useEffect)(()=>{K||(fe(k),ge(!1),le(!1))},[K]);const Te=(0,o.useCallback)(ot=>{Q(ot),P&&P(ot)},[]),Fe=(0,o.useCallback)(()=>{Ee.cancelRequest()},[]),Ge=(0,o.useCallback)(async()=>{if(M)return;const ot=(dt=K)=>{R(dt,[],Y,$),Q(""),L(""),U(""),G("")};if($){const dt=Ne.getSlashCommandHandler($);if(dt&&dt.execute){const bt=Pe.getActiveCodeEditor();await dt.execute(K,Wt=>ot(Wt),bt);return}}ot()},[R,K,Y,$,Ne]),Ue=(0,o.useCallback)((ot,dt,bt)=>{if(dt){if(oe(!1),L(""),U(dt),G(bt||""),V?.current){const Wt=V.current.value;(Wt===h.AT_SIGN_SYMBOL||bt&&Wt===h.SLASH_SYMBOL)&&Q(""),(0,_.runWhenIdle)(()=>V.current.focus())}}else if(ot){oe(!1),U(""),G("");const Wt=Ne.getSlashCommandBySlashName(ot);if(L(Wt?Wt.nameWithSlash:""),V&&V.current){const pn=V.current.value;pn.length===1&&pn.startsWith(h.SLASH_SYMBOL)&&Q(""),(0,_.runWhenIdle)(()=>V.current.focus())}}},[V,Ne]),ft=(0,o.useMemo)(()=>{const ot=y+ie;return te&&oe(!1),ot},[ie]),ht=ot=>{var dt,bt;if(ot.key==="Backspace"&&((dt=V.current)===null||dt===void 0?void 0:dt.selectionEnd)===0&&((bt=V.current)===null||bt===void 0?void 0:bt.selectionStart)===0){if(L(""),Y===d.ChatProxyService.AGENT_ID){G(""),U("");return}Y&&($?G(""):U(""))}},Rt=(0,o.useCallback)(ot=>{fe(ot),ot>b?ge(!0):ge(!1)},[]),at=(0,o.useCallback)(()=>{q(!1),oe(!1)},[V]),At=(0,o.useCallback)(()=>{q(!0)},[V]),rt=(0,o.useCallback)(()=>{const ot=te;if(le(!ot),ot)fe(k),ge(!1);else{const bt=document.querySelector("#ai_chat_left_container").clientHeight-68-(B?32:0)-16;fe(bt)}},[te]);return o.default.createElement("div",{className:(0,r.default)(c.default.chat_input_container,_e?c.default.active:null)},X&&o.default.createElement("div",{ref:H},o.default.createElement(S,{onClick:Ue,bottom:ft,trigger:K,agentId:Y})),B&&o.default.createElement(w,{themeBlock:B}),Y&&o.default.createElement(T,{agentId:Y,command:$}),Se&&o.default.createElement("div",{className:c.default.expand_icon,onClick:()=>rt()},o.default.createElement(p.Popover,{id:"ai_chat_input_expand",title:(0,_.localize)(te?"aiNative.chat.expand.unfullscreen":"aiNative.chat.expand.fullescreen")},o.default.createElement(p.Icon,{className:(0,r.default)(te?(0,p.getIcon)("unfullscreen"):(0,p.getIcon)("fullescreen"))}))),o.default.createElement(m.InteractiveInput,{ref:V,placeholder:Ae,value:K,onKeyDown:ht,onBlur:at,onFocus:At,onValueChange:Te,disabled:M,className:c.default.input_wrapper,onSend:Ge,onStop:Fe,sendBtnClassName:Z,onHeightChange:Rt,height:ie,popoverPosition:p.PopoverPosition.left}),o.default.createElement("div",{className:c.default.chat_input_footer},ve.capabilities.supportsMCP&&o.default.createElement("div",{className:c.default.mcp_desc},o.default.createElement(p.Popover,{overlayClassName:c.default.popover_icon,id:"ai-chat-header-mcp-server",position:p.PopoverPosition.left,title:"MCP Server"},o.default.createElement(v.EnhanceIcon,{wrapperClassName:c.default.action_btn,className:"codicon codicon-radio-tower",onClick:he,tabIndex:0,role:"button",ariaLabel:"MCP Server"})),o.default.createElement(p.Popover,{overlayClassName:c.default.popover_icon,id:"ai-chat-header-tools",position:p.PopoverPosition.left,title:(0,_.localize)("aiNative.operate.tools.title")},o.default.createElement(v.EnhanceIcon,{wrapperClassName:c.default.action_btn,className:(0,p.getIcon)("menubar-tool"),onClick:Me,tabIndex:0,role:"button",ariaLabel:(0,_.localize)("aiNative.operate.tools.title")})))))})},56474:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatMarkdown=void 0,t.postProcessCodeBlockLanguageId=a,t.fillInIncompleteTokens=h;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(13719),p=e(84605),v=e(41869),m=e(90684),_=e(25834),s=n.__importDefault(e(6960)),g=I=>{const R=(0,o.useRef)(null),P=(0,v.useInjectable)(v.AppConfig),[O,M]=(0,o.useState)(),[k,F]=(0,o.useState)();return(0,o.useEffect)(()=>{var L,B;if(!R.current)return;const W=typeof I.markdown=="string"?new m.MarkdownString(I.markdown):I.markdown,j=new l.MarkdownReactRenderer;j.code=(H,K)=>{const Q=a(K);return o.default.createElement("div",{className:s.default.code},o.default.createElement(v.ConfigProvider,{value:P},o.default.createElement("div",{className:s.default.code_block},o.default.createElement("div",{className:(0,r.default)(s.default.code_language,"language-badge")},Q),o.default.createElement(_.CodeEditorWithHighlight,{input:H,language:Q,relationId:I.relationId||"",agentId:I.agentId,command:I.command,hideInsert:I.hideInsert}))))},j.codespan=H=>o.default.createElement("code",{className:s.default.code_inline},H);const G=new l.MarkdownReactParser({renderer:j}),$=(L=I.markedOptions)!==null&&L!==void 0?L:{};$.renderer=G;let Z=(B=W.value)!==null&&B!==void 0?B:"";Z.length>1e5&&(Z=`${Z.slice(0,1e5)}\u2026`);let Y,V;if(I.fillInIncompleteTokens){const H={...p.marked.defaults,...$},K=p.marked.lexer(Z,H),Q=h(K);Y=p.marked.parser(Q,H),V=Q}else{const H=p.marked.lexer(Z,p.marked.defaults);Y=p.marked.parser(H,$),V=H}F(V),M(G)},[I.markdown]),o.default.createElement("div",{className:(0,r.default)(s.default.markdown_container,I.className),ref:R,tabIndex:0},k&&O&&O.parse(k))};t.ChatMarkdown=g;function a(I){if(!I)return"";const R=I.split(/[\s+|:|,|\{|\?]/,1);return R.length?R[0]:I}function h(I){let R,P;for(R=0;R<I.length;R++){const O=I[R];if(O.type==="paragraph"&&O.raw.match(/(\n|^)```/)){P=u(I.slice(R));break}if(O.type==="paragraph"&&O.raw.match(/(\n|^)\|/)){P=w(I.slice(R));break}if(O.type==="paragraph"&&R===I.length-1){const M=D(O);if(M){P=[M];break}}}if(P){const O=[...I.slice(0,R),...P];return O.links=I.links,O}return I}function u(I){const R=T(I);return p.marked.lexer(R+"\n```")}function d(I){return S(I,"`")}function E(I){return S(I,"*")}function f(I){return S(I,"_")}function c(I){return S(I,")")}function y(I){return S(I,"](about:blank)")}function b(I){return S(I,"**")}function A(I){return S(I,"__")}function S(I,R){const P=T(Array.isArray(I)?I:[I]);return p.marked.lexer(P+R)[0]}function w(I){const R=T(I),P=R.split(`
|
|
31553
31555
|
`);let O=0,M=!1;for(let k=0;k<P.length;k++){const F=P[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===P.length-1)M=!0;else return}if(O>0){const k=M?P.slice(0,-1).join(`
|
|
31554
31556
|
`):R,F=!!k.match(/\|\s*$/),L=k+(F?"":"|")+`
|
|
31555
31557
|
|${" --- |".repeat(O)}`;return p.marked.lexer(L)}}function T(I){return I.reduce((R,P)=>R+P.raw,"")}function D(I){for(const{type:R,raw:P}of I.tokens){if(R!=="text")continue;const O=P.split(`
|
|
31556
|
-
`),M=O[O.length-1],k=[{condition:M.includes("`"),action:d},{condition:M.includes("**"),action:b},{condition:M.match(/\*\w/),action:E},{condition:M.match(/(^|\s)__\w/),action:A},{condition:M.match(/(^|\s)_\w/),action:f},{condition:M.match(/(^|\s)\[.*\]\(\w*/),action:c},{condition:M.match(/(^|\s)\[\w/),action:y}];for(const F of k)if(F.condition)return F.action(I)}}},49601:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatMentionInput=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(46541),l=e(41869),p=e(81878),v=e(43718),m=e(92323),_=e(87863),s=e(54414),g=e(47720),a=e(83890),h=e(29037),u=e(72665),d=e(51500),E=e(19413),f=e(27397),c=n.__importDefault(e(6960)),y=e(96086),b=e(44692),A=w=>{const{onSend:T,disabled:D=!1,contextService:I}=w,[R,P]=(0,r.useState)(w.value||""),[O,M]=(0,r.useState)(w.images||[]),k=(0,l.useInjectable)(E.IChatInternalService),F=(0,l.useInjectable)(m.CommandService),L=(0,l.useInjectable)(g.FileSearchServicePath),B=(0,l.useInjectable)(l.RecentFilesManager),U=(0,l.useInjectable)(d.IWorkspaceService),W=(0,l.useInjectable)(s.WorkbenchEditorService),j=(0,l.useInjectable)(l.LabelService),G=(0,l.useInjectable)(u.IMessageService),$=(0,l.useInjectable)(v.ChatFeatureRegistryToken),Z=(0,l.useInjectable)(h.OutlineTreeService),Y=(0,r.useRef)([]),V=(0,l.useInjectable)(l.PreferenceService),H=r.default.useCallback(()=>{F.executeCommand(f.MCPConfigCommands.OPEN_MCP_CONFIG.id)},[F]);(0,r.useEffect)(()=>{w.value!==R&&P(w.value||"")},[w.value]);const K=(0,r.useCallback)(async(q,Se=[])=>{q||(q=(await Z.resolveChildren())[0]);const ge=await Z.resolveChildren(q);for(const te of ge)Se.push(te),a.OutlineCompositeTreeNode.is(te)&&await K(te,Se);return Se},[Z]),Q=[{id:"code",type:"code",text:"Code",icon:(0,p.getIcon)("codebraces"),getHighestLevelItems:()=>[],getItems:async q=>{if(!q||Y.current.length===0){const Se=Z.currentUri;if(!Se)return[];const ge=await K();return Y.current=await Promise.all(ge.map(async te=>{var le;const Ae=await U.asRelativePath(Se);return{id:te.raw.id,type:b.MentionType.CODE,text:te.raw.name,symbol:te.raw,value:te.raw.id,description:`${Ae?.root?Ae.path:""}:L${te.raw.range.startLineNumber}-${te.raw.range.endLineNumber}`,kind:te.raw.kind,contextId:`${(le=Z.currentUri)===null||le===void 0?void 0:le.codeUri.fsPath}:L${te.raw.range.startLineNumber}-${te.raw.range.endLineNumber}`,icon:(0,l.getSymbolIcon)(te.raw.kind)+" outline-icon"}})),Y.current}else return q=q.toLocaleLowerCase(),Y.current.sort((Se,ge)=>Se.text.toLocaleLowerCase().includes(q)&&ge.text.toLocaleLowerCase().includes(q)?0:Se.text.toLocaleLowerCase().includes(q)?-1:ge.text.toLocaleLowerCase().includes(q)?1:0)}},{id:b.MentionType.FILE,type:b.MentionType.FILE,text:"File",icon:(0,p.getIcon)("file"),getHighestLevelItems:()=>{const q=W.currentEditor,Se=q?.currentUri;return Se?[{id:Se.codeUri.fsPath,type:b.MentionType.FILE,text:Se.displayName,value:Se.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFile")})`,contextId:Se.codeUri.fsPath,icon:j.getIcon(Se)}]:[]},getItems:async q=>{if(q){const Se=(await U.roots).map(te=>new v.URI(te.uri).codeUri.fsPath.toString()),ge=await L.find(q,{rootUris:Se,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,limit:10});return Promise.all(ge.map(async te=>{var le;const Ae=new v.URI(te),Re=(le=await U.asRelativePath(Ae.parent))===null||le===void 0?void 0:le.path;return{id:Ae.codeUri.fsPath,type:b.MentionType.FILE,text:Ae.displayName,value:Ae.codeUri.fsPath,description:Re||"",contextId:Ae.codeUri.fsPath,icon:j.getIcon(Ae)}}))}else{const Se=await B.getMostRecentlyOpenedFiles();return Promise.all(Se.map(async ge=>{var te;const le=new v.URI(ge),Ae=(te=await U.asRelativePath(le.parent))===null||te===void 0?void 0:te.path;return{id:le.codeUri.fsPath,type:b.MentionType.FILE,text:le.displayName,value:le.codeUri.fsPath,description:Ae||"",contextId:le.codeUri.fsPath,icon:j.getIcon(le)}}))}}},{id:b.MentionType.FOLDER,type:b.MentionType.FOLDER,text:"Folder",icon:(0,p.getIcon)("folder"),getHighestLevelItems:()=>{var q,Se;const ge=W.currentEditor,te=(q=ge?.currentUri)===null||q===void 0?void 0:q.parent;return te?te.toString()===((Se=U.workspace)===null||Se===void 0?void 0:Se.uri)?[]:[{id:te.codeUri.fsPath,type:b.MentionType.FOLDER,text:te.displayName,value:te.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFolder")})`,contextId:te.codeUri.fsPath,icon:(0,p.getIcon)("folder")}]:[]},getItems:async q=>{let Se=[];if(q){const ge=(await U.roots).map(Ae=>new v.URI(Ae.uri).codeUri.fsPath.toString()),te=await L.find(q,{rootUris:ge,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,excludePatterns:Object.keys(_.defaultFilesWatcherExcludes),limit:10}),le=Array.from(new Set(te.map(Ae=>new v.URI(Ae).parent.toString()).filter(Ae=>{var Re;return Ae!==((Re=U.workspace)===null||Re===void 0?void 0:Re.uri.toString())})));return Promise.all(le.map(async Ae=>{var Re;const Ee=new v.URI(Ae);return{id:Ee.codeUri.fsPath,type:b.MentionType.FOLDER,text:Ee.displayName,value:Ee.codeUri.fsPath,description:((Re=await U.asRelativePath(Ee.parent))===null||Re===void 0?void 0:Re.path)||"",contextId:Ee.codeUri.fsPath,icon:(0,p.getIcon)("folder")}}))}else{const ge=await B.getMostRecentlyOpenedFiles(),te=Array.from(new Set(ge.map(le=>new v.URI(le).parent.codeUri.fsPath).filter(le=>{var Ae;return le!==((Ae=U.workspace)===null||Ae===void 0?void 0:Ae.uri.toString())&&le!=="/"})));Se=await Promise.all(te.map(async le=>{const Ae=new v.URI(le),Re=await U.asRelativePath(Ae);return{id:Ae.codeUri.fsPath,type:b.MentionType.FOLDER,text:Ae.displayName,value:Ae.codeUri.fsPath,description:Re?.root?Re.path:"",contextId:Ae.codeUri.fsPath,icon:(0,p.getIcon)("folder")}}))}return Se.filter(ge=>{var te;return ge.id!==new v.URI((te=U.workspace)===null||te===void 0?void 0:te.uri).codeUri.fsPath})}}],X=(0,r.useMemo)(()=>({modelOptions:[{label:"QWQ 32B",value:"qwq-32b"},{label:"DeepSeek R1",value:"deepseek-r1"}],defaultModel:w.sessionModelId||V.get(v.AINativeSettingSectionsId.ModelID)||"deepseek-r1",buttons:[{id:"mcp-server",icon:"mcp",title:"MCP Server",onClick:H,position:b.FooterButtonPosition.LEFT},{id:"upload-image",icon:"image",title:(0,v.localize)("aiNative.chat.imageUpload"),onClick:()=>{const q=document.createElement("input");q.type="file",q.accept="image/*",q.onchange=Se=>{const ge=Se.target.files;ge?.length&&fe(Array.from(ge))},q.click()},position:b.FooterButtonPosition.LEFT}],showModelSelector:!0,disableModelSelector:w.disableModelSelector}),[H,w.disableModelSelector,w.sessionModelId]),oe=(0,r.useCallback)(()=>{k.cancelRequest()},[]),ie=(0,r.useCallback)(async(q,Se)=>{D||(T(q,O.map(ge=>ge.toString()),void 0,void 0,Se),M(w.images||[]))},[T,O,D]),fe=(0,r.useCallback)(async q=>{const Se=["image/jpeg","image/jpg","image/png","image/webp","image/gif"];if(q.filter(Re=>!Se.includes(Re.type)).length>0){G.error("Only JPG, PNG, WebP and GIF images are supported");return}const te=$.getImageUploadProvider();if(!te){G.error("No image upload provider found");return}const le=await Promise.all(q.map(Re=>te.imageUpload(Re))),Ae=[...O,...le];M(Ae)},[O]),_e=(0,r.useCallback)(q=>{M(O.filter((Se,ge)=>ge!==q))},[O]);return r.default.createElement("div",{className:c.default.chat_input_container},O.length>0&&r.default.createElement(S,{images:O,onDelete:_e}),r.default.createElement(y.MentionInput,{mentionItems:Q,onSend:ie,onStop:oe,loading:D,labelService:j,workspaceService:U,placeholder:(0,v.localize)("aiNative.chat.input.placeholder.default"),footerConfig:X,onImageUpload:fe,contextService:I}))};t.ChatMentionInput=A;const S=({images:w,onDelete:T})=>r.default.createElement("div",null,r.default.createElement("div",{className:c.default.thumbnail_container},w.map((D,I)=>r.default.createElement("div",{key:I,className:c.default.thumbnail},r.default.createElement(o.Image,{src:D.toString()}),r.default.createElement("button",{onClick:()=>T(I),className:c.default.delete_button},r.default.createElement(p.Icon,{iconClass:"codicon codicon-close"}))))))},15016:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatNotify=t.ChatReply=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(48412),p=e(91416),v=e(78569),m=e(72871),_=e(41869),s=e(81878),g=e(89195),a=e(43718),h=e(52416),u=e(90684),d=e(19413),E=e(56474),f=e(17319),c=n.__importDefault(e(6960)),y=T=>{const D=(0,_.useInjectable)(_.LabelService),I=(0,_.useInjectable)(_.CommandService),R=(L,B,U)=>{let W=D.getIcon(L,{isDirectory:B});return B&&U&&(W+=" expanded"),W},P=(0,o.useMemo)(()=>{const L=B=>{const U=typeof B.type=="number"?B.type===a.FileType.Directory:!!B.children,W=new a.URI(B.uri);return{label:B.label,iconClassName:R(W,U,U),expandable:!0,expanded:!0,children:U?(B.children||[]).map(L):null,uri:W}};return(T.treeData.children||[]).map(L)},[T.treeData]),[O,M]=(0,o.useState)(22),k=(0,o.useRef)(null),F=L=>{k.current=L;const B=()=>{let U=L.getModel().root.branchSize;U<1?U=1:U>20&&(U=20),M(U*22)};B(),L.onDidUpdate(B)};return P.length?o.default.createElement("div",{className:c.default.tree_container},o.default.createElement(p.BasicRecycleTree,{height:O,treeData:P,onContextMenu:L=>L.preventDefault(),onClick:(L,B)=>{!k.current||!B||(v.BasicCompositeTreeNode.is(B)?B.raw.iconClassName=R(B.raw.uri,!0,B.expanded):I.executeCommand(_.EDITOR_COMMANDS.OPEN_RESOURCE.id,B.raw.uri,{disableNavigate:!0,preview:!0}))},onReady:F,treeName:T.treeData.label,leaveBottomBlank:!1,baseIndent:0})):null},b=T=>{const{toolCall:D,messageId:I}=T,R=(0,_.useInjectable)(a.ChatAgentViewServiceToken),[P,O]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const M=R.getChatComponent("toolCall");if(M){const{component:F,initialProps:L}=M;O(o.default.createElement(F,{...L,value:D,messageId:I}));return}O(o.default.createElement("div",null,o.default.createElement(g.Loading,null),o.default.createElement("span",{style:{marginLeft:4}},"\u6B63\u5728\u52A0\u8F7D\u7EC4\u4EF6"))),R.getChatComponentDeferred("toolCall").promise.then(({component:F,initialProps:L})=>{O(o.default.createElement(F,{...L,value:D,messageId:I}))})},[D.state]),P},A=T=>{const D=(0,_.useInjectable)(a.ChatAgentViewServiceToken),[I,R]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const P=D.getChatComponent(T.component);if(P){const{component:M,initialProps:k}=P;R(o.default.createElement(M,{...k,value:T.value,messageId:T.messageId}));return}R(o.default.createElement("div",null,o.default.createElement(g.Loading,null),o.default.createElement("span",{style:{marginLeft:4}},"\u6B63\u5728\u52A0\u8F7D\u7EC4\u4EF6"))),D.getChatComponentDeferred(T.component).promise.then(({component:M,initialProps:k})=>{R(o.default.createElement(M,{...k,value:T.value}))})},[T.component,T.value]),I},S=T=>{var D,I;const{relationId:R,request:P,startTime:O=0,onRegenerate:M,onDidChange:k,onDone:F,agentId:L,command:B,history:U,msgId:W}=T,[,j]=(0,o.useReducer)(ge=>(ge+1)%1e6,0),G=(0,_.useInjectable)(a.IAIReporter),$=(0,_.useInjectable)(h.IIconService),Z=(0,_.useInjectable)(_.IContextKeyService),Y=(0,_.useInjectable)(d.IChatInternalService),V=(0,_.useInjectable)(a.ChatServiceToken),H=(0,_.useInjectable)(d.IChatAgentService),K=(0,_.useInjectable)(a.ChatRenderRegistryToken),[Q,X]=(0,o.useState)(P.response.isComplete?new Set(P.response.responseContents.map((ge,te)=>ge.kind==="reasoning"?te:-1).filter(ge=>ge!==-1)):new Set);(0,o.useEffect)(()=>{P.response.isComplete&&X(new Set(P.response.responseContents.map((ge,te)=>ge.kind==="reasoning"?te:-1).filter(ge=>ge!==-1)))},[P.response.isComplete]),(0,o.useEffect)(()=>{const ge=new _.DisposableCollection;return ge.push(P.response.onDidChange(()=>{U.updateAssistantMessage(W,{content:P.response.responseText}),P.response.isComplete&&(F&&F(),G.end(R,{assistantMessage:P.response.responseText,replytime:Date.now()-O,success:!0,isStop:!1,command:B,agentId:L,messageId:W,sessionId:Y.sessionModel.sessionId})),(0,o.startTransition)(()=>{k?.(),j()})})),()=>ge.dispose()},[R,k,F]);const oe=(0,o.useCallback)(()=>{P.response.reset(),M?.()},[M]),ie=(0,o.useCallback)(ge=>{if(K.chatAIRoleRender){const te=K.chatAIRoleRender;return o.default.createElement(te,{content:ge.value})}return o.default.createElement(E.ChatMarkdown,{markdown:ge,fillInIncompleteTokens:!0})},[K,K.chatAIRoleRender]),fe=ge=>o.default.createElement(y,{treeData:ge}),_e=ge=>o.default.createElement("div",{className:c.default.placeholder},o.default.createElement(s.Icon,{iconClass:$.fromString("$(codicon/sync~spin)")}),o.default.createElement("div",{className:c.default.placeholder_content},ie(ge))),q=o.default.useMemo(()=>P.response.responseContents.map((ge,te)=>{let le;if(ge.kind==="asyncContent")le=_e(new u.MarkdownString(ge.content));else if(ge.kind==="treeData")le=fe(ge.treeData);else if(ge.kind==="component")le=o.default.createElement(A,{component:ge.component,value:ge.value,messageId:W});else if(ge.kind==="toolCall")le=o.default.createElement(b,{toolCall:ge.content,messageId:W});else if(ge.kind==="reasoning"){const Ae=te===P.response.responseContents.length-1&&!P.response.isComplete;le=o.default.createElement("div",{className:(0,r.default)(c.default.reasoning,{[c.default.thinking]:Ae})},o.default.createElement(l.Button,{size:"small",type:"secondary",className:c.default.thinking,onClick:()=>{Ae||(Q.has(te)?Q.delete(te):Q.add(te),X(new Set(Q)))}},o.default.createElement(s.Icon,{iconClass:"codicon codicon-sparkle"}),(0,a.localize)("aiNative.chat.thinking"),Ae?o.default.createElement(g.Loading,null):Q.has(te)?o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-right"}):o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-down"})),Q.has(te)?null:o.default.createElement("div",{className:c.default.reasoning_content},ie(new u.MarkdownString(ge.content))))}else le=ie(ge.content);return o.default.createElement(o.Fragment,{key:`${ge.kind}-${te}`},le)}),[P.response.responseContents,Q]),Se=o.default.useMemo(()=>P.response.followups?P.response.followups.map((ge,te)=>{let le=null;if(ge.kind==="reply"){const Ae=o.default.createElement("a",{onClick:()=>{V.sendMessage({...H.parseMessage(ge.message),reportExtra:{actionSource:a.ActionSourceEnum.Chat,actionType:a.ActionTypeEnum.Followup}})}},ge.title||ge.message);le=ge.tooltip?o.default.createElement(m.Tooltip,{title:ge.tooltip},Ae):Ae}else ge.when&&!Z.match(ge.when)&&(le=null),le=o.default.createElement(l.Button,{type:"default"},ge.title);return le&&o.default.createElement(o.Fragment,{key:te},le)}):null,[P.response.followups]);return P.response.isComplete?o.default.createElement(f.ChatThinkingResult,{hasMessage:P.response.responseParts.length>0||P.response.responseContents.length>0||!!(!((D=P.response.errorDetails)===null||D===void 0)&&D.message),onRegenerate:oe,requestId:P.requestId},o.default.createElement("div",{className:c.default.ai_chat_response_container},!((I=P.response.errorDetails)===null||I===void 0)&&I.message?o.default.createElement("div",{className:c.default.error},o.default.createElement(s.Icon,{className:(0,s.getIcon)("close-circle")}),o.default.createElement("span",null,P.response.errorDetails.message)):o.default.createElement(o.default.Fragment,null,q,Se?.length!==0&&o.default.createElement("div",{className:c.default.followups},Se)))):o.default.createElement(f.ChatThinking,{message:P.response.responseText},q)};t.ChatReply=S;const w=T=>{const{chunk:D}=T,I=(0,_.useInjectable)(a.ChatRenderRegistryToken),R=o.default.useMemo(()=>{let P;if(D.kind==="component")P=o.default.createElement(A,{component:D.component,value:D.value});else{let O=o.default.createElement(E.ChatMarkdown,{markdown:D.content,fillInIncompleteTokens:!0});if(I.chatAIRoleRender){const M=I.chatAIRoleRender;O=o.default.createElement(M,{content:D.content})}P=O}return P},[D]);return o.default.createElement(f.ChatThinkingResult,{hasMessage:!0,requestId:T.requestId,showRegenerate:!1},o.default.createElement("div",{className:c.default.ai_chat_response_container},R))};t.ChatNotify=w},17319:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatThinkingResult=t.ChatThinking=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(89195),p=e(68974),v=e(43718),m=e(19413),_=n.__importDefault(e(6960)),s=a=>{const{children:h,message:u,thinkingText:d}=a,E=(0,o.useInjectable)(v.ChatRenderRegistryToken),f=(0,r.useMemo)(()=>E.chatThinkingRender,[E,E.chatThinkingRender]),c=(0,r.useMemo)(()=>Array.isArray(h)?h.length===0:!h,[h]),y=(0,r.useCallback)(()=>c?f?r.default.createElement(f,{thinkingText:d}):r.default.createElement("span",{className:_.default.thinking_text},d||"Thinking..."):h,[u,h,d,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:_.default.content},y()),r.default.createElement("div",{className:_.default.thinking_container},r.default.createElement("div",{className:_.default.stop},!f&&r.default.createElement("span",{className:_.default.progress_bar},c&&r.default.createElement(p.Progress,{loading:!0,wrapperClassName:_.default.ai_native_progress_wrapper})))))};t.ChatThinking=s;const g=({children:a,message:h,onRegenerate:u,requestId:d,hasMessage:E=!0,showRegenerate:f})=>{const c=(0,o.useInjectable)(m.IChatInternalService),[y,b]=(0,r.useState)(c.latestRequestId),A=(0,o.useInjectable)(v.ChatRenderRegistryToken);(0,r.useEffect)(()=>{const I=c.onChangeRequestId(R=>{b(R)});return()=>I.dispose()},[c]);const S=(0,r.useMemo)(()=>A.chatThinkingResultRender,[A,A.chatThinkingResultRender]),w=(0,r.useCallback)(()=>{u&&u()},[u]),T=(0,r.useCallback)(()=>{if(typeof E=="boolean"?!E:!h?.trim()){const I=(0,v.localize)("aiNative.chat.stop.immediately");return S?r.default.createElement(S,{thinkingResult:I}):r.default.createElement("span",null,I)}return a},[h,E,a]),D=(0,r.useMemo)(()=>(0,v.isUndefined)(f)?y===d&&!!d:!!f,[y,d,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:_.default.content},T()),r.default.createElement("div",{className:_.default.thinking_container},r.default.createElement("div",{className:_.default.bottom_container},r.default.createElement("div",{className:_.default.reset},D?r.default.createElement(l.EnhanceIcon,{icon:"refresh",wrapperClassName:_.default.text_btn,className:_.default.transform,onClick:w,tabIndex:0,role:"button"},r.default.createElement("span",null,(0,v.localize)("aiNative.operate.afresh.title"))):null),r.default.createElement("div",{className:_.default.thumbs},r.default.createElement(l.Thumbs,{relationId:d,wrapperClassName:_.default.icon_btn})))))};t.ChatThinkingResult=g},34817:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatToolRender=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),p=e(81878),v=e(89195),m=e(43718),_=e(33783),s=e(77633),g=e(25834),a=n.__importDefault(e(16796)),h=e(78112),u=d=>{var E,f,c;const{value:y,messageId:b}=d,[A,S]=(0,o.useState)(!1),w=(0,l.useInjectable)(s.TokenMCPServerRegistry);if(!y||!y.function||!y.id)return null;const T=((E=w.getMCPTool(y.function.name))===null||E===void 0?void 0:E.label)||y.function.name,D=w.getToolComponent(y.function.name),I=M=>{switch(M){case"streaming-start":case"streaming":return{label:"Generating",icon:o.default.createElement(v.Loading,null)};case"complete":return{label:"Complete",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-check"})};case"result":return{label:"Result Ready",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-check-all"})};default:return{label:M||"Unknown",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-question"})}}},R=()=>{var M;try{return y.state!=="complete"&&y.state!=="result"?{}:JSON.parse(((M=y.function)===null||M===void 0?void 0:M.arguments)||"{}")}catch{return{}}},P=()=>{S(!A)},O=I(y.state);return D&&(y.state==="complete"||y.state==="result")?o.default.createElement(D,{state:y.state,args:R(),result:y.result,index:y.index,messageId:b,toolCallId:y.id}):o.default.createElement("div",{className:a.default.chat_tool_render},o.default.createElement("div",{className:a.default.tool_header,onClick:P},o.default.createElement("div",{className:a.default.tool_name},o.default.createElement(p.Icon,{iconClass:`codicon codicon-chevron-${A?"down":"right"}`}),o.default.createElement(p.Icon,{size:"small",iconClass:(0,r.default)("codicon codicon-tools",a.default.tool_icon)}),o.default.createElement("span",{className:a.default.tool_label},T)),y.state&&o.default.createElement("div",{className:a.default.tool_state},o.default.createElement("span",{className:a.default.state_icon},O.icon))),o.default.createElement("div",{className:(0,r.default)(a.default.tool_content,{[a.default.expanded]:A})},((f=y?.function)===null||f===void 0?void 0:f.arguments)&&o.default.createElement("div",{className:a.default.tool_arguments},o.default.createElement("div",{className:a.default.section_label},(0,_.localize)("ai.native.mcp.tool.arguments"),":"),o.default.createElement(g.CodeEditorWithHighlight,{input:(c=y?.function)===null||c===void 0?void 0:c.arguments,language:"json",relationId:(0,m.uuid)(4)})),y?.result&&o.default.createElement("div",{className:a.default.tool_result},o.default.createElement("div",{className:a.default.section_label},(0,_.localize)("ai.native.mcp.tool.results"),":"),o.default.createElement(h.ChatToolResult,{result:y.result,relationId:(0,m.uuid)(4)}))))};t.ChatToolRender=u},78112:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatToolResult=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(33783),l=e(25834),p=n.__importDefault(e(48091)),v=({result:m,relationId:_})=>{const s=r.default.useCallback(h=>{try{return JSON.parse(h).content||[]}catch{return[{type:"text",text:h}]}},[]),g=r.default.useCallback((h,u)=>{switch(h.type){case"text":return h.text?r.default.createElement("div",{key:`text-${u}`,className:p.default.text_content},r.default.createElement(l.CodeEditorWithHighlight,{input:h.text,language:"text",relationId:_||""})):null;case"image":return h.data?r.default.createElement("div",{key:`image-${u}`,className:p.default.image_content},r.default.createElement("img",{src:`data:${h.mimeType||"image/png"};base64,${h.data}`,alt:(0,o.localize)("aiNative.chat.result.image")})):null;default:return null}},[_]),a=r.default.useMemo(()=>s(m),[m,s]);return a.length?r.default.createElement("div",{className:p.default.result_container},a.map((h,u)=>g(h,u))):null};t.ChatToolResult=v},29039:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SlashCustomRender=void 0;const r=e(85608).__importStar(e(14041)),o=e(41869),l=e(43718),p=e(19413),v=m=>{const{userMessage:_,relationId:s,requestId:g,renderContent:a,startTime:h,agentId:u,command:d}=m,E=(0,o.useInjectable)(p.IChatInternalService),f=(0,o.useInjectable)(l.IAIReporter);return r.useEffect(()=>{E.setLatestRequestId(g),f.end(s,{message:_,replytime:Date.now()-h,success:!0,isStop:!1,agentId:u,command:d})},[a,g,s]),r.createElement("div",null,a({userMessage:_}))};t.SlashCustomRender=v},86556:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WelcomeMessage=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(81878),p=e(4246),v=e(43718),m=e(90684);e(41937);const _=e(19413),s=e(56474),g=e(17319),a=e(78048),h=n.__importDefault(e(6960)),u=()=>{var d,E;const f=(0,o.useInjectable)(v.ChatServiceToken),c=(0,o.useInjectable)(_.IChatAgentService),y=(0,o.useInjectable)(v.ChatFeatureRegistryToken),b=(0,o.useInjectable)(v.ChatRenderRegistryToken),[A,S]=r.useState([]);(0,o.useUpdateOnEvent)(y.onDidWelcomeMessageChange);const w=r.useMemo(()=>{if(!y.chatWelcomeMessageModel)return[];const{sampleQuestions:R=[]}=y.chatWelcomeMessageModel;return R.map(a.extractIcon)},[(d=y.chatWelcomeMessageModel)===null||d===void 0?void 0:d.sampleQuestions]),T=r.useMemo(()=>{if(!y.chatWelcomeMessageModel)return"";const{content:R}=y.chatWelcomeMessageModel;return R},[(E=y.chatWelcomeMessageModel)===null||E===void 0?void 0:E.content]);if(r.useEffect(()=>{const R=c.onDidChangeAgents(async()=>{const O=(await c.getAllSampleQuestions()).map(a.extractIcon);S(O)});return()=>R.dispose()},[]),!T)return r.createElement(g.ChatThinking,{thinkingText:(0,v.localize)("aiNative.chat.welcome.loading.text")});const D=r.useMemo(()=>w.concat(A),[w,A]);return r.useMemo(()=>{if(b.chatWelcomeRender){const R=b.chatWelcomeRender;return r.createElement(R,{message:T,sampleQuestions:D})}return r.createElement("div",{className:h.default.chat_welcome_head},r.createElement("div",{className:h.default.chat_container_des},(0,m.isMarkdownString)(T)?r.createElement(s.ChatMarkdown,{key:"welcome",markdown:T}):T),r.createElement("div",{className:h.default.chat_container_content},D.map((R,P)=>{const O=r.createElement("a",{className:h.default.link_item,onClick:(0,p.withPrevented)(()=>{f.sendMessage({...c.parseMessage(R.message),reportExtra:{actionType:v.ActionTypeEnum.Welcome,actionSource:v.ActionSourceEnum.Chat}})})},R.icon?r.createElement(l.Icon,{className:R.icon,style:{color:"inherit",marginRight:"4px"}}):"",r.createElement("span",null,R.title));return R.tooltip?r.createElement(l.Tooltip,{title:R.tooltip,key:P},O):r.createElement(r.Fragment,{key:P},O)})))},[b.chatWelcomeRender,T,D])};t.WelcomeMessage=u},83933:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.highLightLanguageSupport=void 0,t.highLightLanguageSupport=["1c","abnf","accesslog","actionscript","ada","angelscript","apache","applescript","arcade","arduino","armasm","xml","asciidoc","aspectj","autohotkey","autoit","avrasm","awk","axapta","bash","basic","bnf","brainfuck","c-like","c","cal","capnproto","ceylon","clean","clojure","clojure-repl","cmake","coffeescript","coq","cos","cpp","crmsh","crystal","csharp","csp","css","d","markdown","dart","delphi","diff","django","dns","dockerfile","dos","dsconfig","dts","dust","ebnf","elixir","elm","ruby","erb","erlang-repl","erlang","excel","fix","flix","fortran","fsharp","gams","gauss","gcode","gherkin","glsl","gml","go","golo","gradle","groovy","haml","handlebars","haskell","haxe","hsp","htmlbars","http","hy","inform7","ini","irpf90","isbl","java","javascript","jboss-cli","json","julia","julia-repl","kotlin","lasso","latex","ldif","leaf","less","lisp","livecodeserver","livescript","llvm","lsl","lua","makefile","mathematica","matlab","maxima","mel","mercury","mipsasm","mizar","perl","mojolicious","monkey","moonscript","n1ql","nginx","nim","nix","node-repl","nsis","objectivec","ocaml","openscad","oxygene","parser3","pf","pgsql","php","php-template","plaintext","pony","powershell","processing","profile","prolog","properties","protobuf","puppet","purebasic","python","python-repl","q","qml","r","reasonml","rib","roboconf","routeros","rsl","ruleslanguage","rust","sas","scala","scheme","scilab","scss","shell","smali","smalltalk","sml","sqf","sql_more","sql","stan","stata","step21","stylus","subunit","swift","taggerscript","yaml","tap","tcl","thrift","tp","twig","typescript","vala","vbnet","vbscript","vbscript-html","verilog","vhdl","vim","x86asm","xl","xquery","zephir"]},96086:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MentionInput=t.WHITE_SPACE_TEXT=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),p=e(81878),v=e(89195),m=e(70392),_=n.__importDefault(e(97599)),s=e(80732),g=e(44692);t.WHITE_SPACE_TEXT=" ";const a=({mentionItems:h=[],onSend:u,onStop:d,loading:E=!1,mentionKeyword:f=g.MENTION_KEYWORD,onSelectionChange:c,onImageUpload:y,labelService:b,workspaceService:A,placeholder:S="Ask anything, @ to mention",footerConfig:w={buttons:[],showModelSelector:!1},contextService:T})=>{const D=o.useRef(null),[I,R]=o.useState({active:!1,startPos:null,filter:"",position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1}),[P,O]=o.useState(w.defaultModel||""),[M,k]=o.useState({}),[F,L]=o.useState([]),[B,U]=o.useState(-1),[W,j]=o.useState(""),[G,$]=o.useState(!1),[Z,Y]=o.useState({files:[],folders:[]}),V=()=>I.level===0?h:I.parentType?I.loading?M[I.parentType]||[]:M[I.parentType]||[]:[],K=((Ce,ve)=>{const[me,Pe]=o.useState(Ce);return o.useEffect(()=>{const we=setTimeout(()=>{Pe(Ce)},ve);return()=>{clearTimeout(we)}},[Ce,ve]),me})(I.secondLevelFilter,300);o.useEffect(()=>{O(w.defaultModel||"")},[w.defaultModel]),o.useEffect(()=>{if(I.level===1&&I.parentType&&K!==void 0){const Ce=h.find(me=>me.id===I.parentType);if(!Ce)return;R(me=>({...me,loading:!0})),(async()=>{try{const me=[];if(Ce.getHighestLevelItems){const Pe=Ce.getHighestLevelItems();for(const we of Pe)me.some(Ne=>Ne.id===we.id)||me.push(we);k(we=>({...we,[I.parentType]:Pe}))}if(Ce.getItems)try{const Pe=await Ce.getItems(K),we=[...me];for(const Ne of Pe)we.some(pe=>pe.id===Ne.id)||we.push(Ne);k(Ne=>({...Ne,[I.parentType]:we}))}catch{R(we=>({...we,loading:!1}))}R(Pe=>({...Pe,loading:!1}))}catch{R(Pe=>({...Pe,loading:!1}))}})()}},[K,I.level,I.parentType]),o.useEffect(()=>{const Ce=T?.onDidContextFilesChangeEvent(({attached:ve,attachedFolders:me})=>{Y({files:ve,folders:me})});return()=>{Ce?.dispose()}},[T]);const Q=Ce=>{const ve=window.getSelection();if(!ve||!ve.rangeCount)return 0;const me=ve.getRangeAt(0),Pe=me.cloneRange();return Pe.selectNodeContents(Ce),Pe.setEnd(me.endContainer,me.endOffset),Pe.toString().length},X=()=>{G&&($(!1),U(-1));const Ce=window.getSelection();if(!Ce||!Ce.rangeCount||!D.current)return;const ve=D.current.textContent||"",me=Q(D.current);if(ve[me-1]===f&&!I.active&&!I.inlineSearchActive&&R({active:!0,startPos:me,filter:f,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1}),I.active&&I.level===0&&I.startPos!==null)if(me<I.startPos)R(Pe=>({...Pe,active:!1}));else{const Pe=ve.substring(I.startPos-1,me);R(we=>({...we,filter:Pe,activeIndex:0}))}if(I.inlineSearchActive&&I.inlineSearchStartPos!==null&&I.parentType){const Pe=h.find(pe=>pe.id===I.parentType);if(!Pe)return;const we=`@${Pe.type}:`,Ne=I.inlineSearchStartPos-we.length;if(Ne>=0&&me>Ne+we.length){const pe=ve.substring(Ne+we.length,me);pe!==I.secondLevelFilter&&R(re=>({...re,secondLevelFilter:pe,active:!0,activeIndex:0}))}else me<=Ne&&R(pe=>({...pe,inlineSearchActive:!1,active:!1}))}if(D.current&&(D.current.scrollHeight>=120?D.current.style.overflowY="auto":D.current.style.overflowY="hidden"),D.current){const Pe=D.current.innerHTML;(Pe===""||Pe==="<br>"||Pe==="<br/>")&&(D.current.innerHTML="")}},oe=Ce=>{if(Ce.key==="Escape"&&(I.active||I.inlineSearchActive)){I.level>0?R(me=>({...me,level:0,activeIndex:0,secondLevelFilter:"",inlineSearchActive:!1})):R(me=>({...me,active:!1,inlineSearchActive:!1})),Ce.preventDefault();return}if((Ce.key==="Backspace"||Ce.key==="Delete")&&D.current&&(!D.current.textContent||D.current.textContent.trim()==="")&&T?.cleanFileContext(),Ce.key===g.MENTION_KEYWORD&&!I.active&&!I.inlineSearchActive&&D.current){const me=Q(D.current);R({active:!0,startPos:me+1,filter:f,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1})}if((Ce.key==="ArrowUp"||Ce.key==="ArrowDown")&&!Ce.shiftKey&&!Ce.ctrlKey&&!Ce.metaKey&&!Ce.altKey){if(!I.active&&!I.inlineSearchActive&&D.current&&F.length>0){const me=D.current.innerHTML;if(!me||me==="<br>"||G&&B>=0&&F[F.length-1-B]===me){Ce.preventDefault(),G||(j(me),$(!0));let we=B;Ce.key==="ArrowUp"?we=Math.min(F.length-1,B+1):we=Math.max(-1,B-1),U(we),we===-1?D.current.innerHTML=W:D.current.innerHTML=F[F.length-1-we];const Ne=document.createRange();Ne.selectNodeContents(D.current),Ne.collapse(!1);const pe=window.getSelection();pe&&(pe.removeAllRanges(),pe.addRange(Ne));return}}}else G&&Ce.key!=="ArrowUp"&&Ce.key!=="ArrowDown"&&($(!1),U(-1));if(Ce.key==="Enter"){if(Ce.nativeEvent.isComposing)return;if(!Ce.shiftKey&&(Ce.preventDefault(),!I.active)){ge();return}}if(!I.active)return;let ve=V();if(I.level===0&&I.filter&&I.filter.length>1){const me=I.filter.substring(1).toLowerCase();ve=ve.filter(Pe=>Pe.text.toLowerCase().includes(me))}ve.length!==0&&(Ce.key==="ArrowDown"?(R(me=>({...me,activeIndex:(me.activeIndex+1)%ve.length})),Ce.preventDefault()):Ce.key==="ArrowUp"?(R(me=>({...me,activeIndex:(me.activeIndex-1+ve.length)%ve.length})),Ce.preventDefault()):(Ce.key==="Enter"||Ce.key==="Tab")&&ve.length>0&&(q(ve[I.activeIndex]),Ce.preventDefault()))},ie=()=>{},fe=async Ce=>{const ve=Ce.clipboardData.items,me=[];for(let Te=0;Te<ve.length;Te++)if(ve[Te].kind==="file"&&ve[Te].type.startsWith("image/")){const Fe=ve[Te].getAsFile();Fe&&me.push(Fe)}if(Ce.preventDefault(),me.length>0&&y){await y(me);return}const we=Ce.clipboardData.getData("text/plain").replace(/\t/g," ").replace(/\n\s*\n/g,`
|
|
31558
|
+
`),M=O[O.length-1],k=[{condition:M.includes("`"),action:d},{condition:M.includes("**"),action:b},{condition:M.match(/\*\w/),action:E},{condition:M.match(/(^|\s)__\w/),action:A},{condition:M.match(/(^|\s)_\w/),action:f},{condition:M.match(/(^|\s)\[.*\]\(\w*/),action:c},{condition:M.match(/(^|\s)\[\w/),action:y}];for(const F of k)if(F.condition)return F.action(I)}}},49601:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatMentionInput=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(46541),l=e(41869),p=e(81878),v=e(43718),m=e(92323),_=e(87863),s=e(54414),g=e(47720),a=e(83890),h=e(29037),u=e(72665),d=e(51500),E=e(19413),f=e(27397),c=n.__importDefault(e(6960)),y=e(96086),b=e(44692),A=w=>{const{onSend:T,disabled:D=!1,contextService:I}=w,[R,P]=(0,r.useState)(w.value||""),[O,M]=(0,r.useState)(w.images||[]),k=(0,l.useInjectable)(E.IChatInternalService),F=(0,l.useInjectable)(m.CommandService),L=(0,l.useInjectable)(g.FileSearchServicePath),B=(0,l.useInjectable)(l.RecentFilesManager),U=(0,l.useInjectable)(d.IWorkspaceService),W=(0,l.useInjectable)(s.WorkbenchEditorService),j=(0,l.useInjectable)(l.LabelService),G=(0,l.useInjectable)(u.IMessageService),$=(0,l.useInjectable)(v.ChatFeatureRegistryToken),Z=(0,l.useInjectable)(h.OutlineTreeService),Y=(0,r.useRef)([]),V=(0,l.useInjectable)(l.PreferenceService),H=r.default.useCallback(()=>{F.executeCommand(f.MCPConfigCommands.OPEN_MCP_CONFIG.id)},[F]);(0,r.useEffect)(()=>{w.value!==R&&P(w.value||"")},[w.value]);const K=(0,r.useCallback)(async(q,Se=[])=>{q||(q=(await Z.resolveChildren())[0]);const ge=await Z.resolveChildren(q);for(const te of ge)Se.push(te),a.OutlineCompositeTreeNode.is(te)&&await K(te,Se);return Se},[Z]),Q=[{id:b.MentionType.FILE,type:b.MentionType.FILE,text:"File",icon:(0,p.getIcon)("file"),getHighestLevelItems:()=>{const q=W.currentEditor,Se=q?.currentUri;return Se?[{id:Se.codeUri.fsPath,type:b.MentionType.FILE,text:Se.displayName,value:Se.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFile")})`,contextId:Se.codeUri.fsPath,icon:j.getIcon(Se)}]:[]},getItems:async q=>{if(q){const Se=(await U.roots).map(te=>new v.URI(te.uri).codeUri.fsPath.toString()),ge=await L.find(q,{rootUris:Se,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,limit:10});return Promise.all(ge.map(async te=>{var le;const Ae=new v.URI(te),Re=(le=await U.asRelativePath(Ae.parent))===null||le===void 0?void 0:le.path;return{id:Ae.codeUri.fsPath,type:b.MentionType.FILE,text:Ae.displayName,value:Ae.codeUri.fsPath,description:Re||"",contextId:Ae.codeUri.fsPath,icon:j.getIcon(Ae)}}))}else{const Se=await B.getMostRecentlyOpenedFiles();return Promise.all(Se.map(async ge=>{var te;const le=new v.URI(ge),Ae=(te=await U.asRelativePath(le.parent))===null||te===void 0?void 0:te.path;return{id:le.codeUri.fsPath,type:b.MentionType.FILE,text:le.displayName,value:le.codeUri.fsPath,description:Ae||"",contextId:le.codeUri.fsPath,icon:j.getIcon(le)}}))}}},{id:b.MentionType.FOLDER,type:b.MentionType.FOLDER,text:"Folder",icon:(0,p.getIcon)("folder"),getHighestLevelItems:()=>{var q,Se;const ge=W.currentEditor,te=(q=ge?.currentUri)===null||q===void 0?void 0:q.parent;return te?te.toString()===((Se=U.workspace)===null||Se===void 0?void 0:Se.uri)?[]:[{id:te.codeUri.fsPath,type:b.MentionType.FOLDER,text:te.displayName,value:te.codeUri.fsPath,description:`(${(0,v.localize)("aiNative.chat.defaultContextFolder")})`,contextId:te.codeUri.fsPath,icon:(0,p.getIcon)("folder")}]:[]},getItems:async q=>{let Se=[];if(q){const ge=(await U.roots).map(Ae=>new v.URI(Ae.uri).codeUri.fsPath.toString()),te=await L.find(q,{rootUris:ge,useGitIgnore:!0,noIgnoreParent:!0,fuzzyMatch:!0,excludePatterns:Object.keys(_.defaultFilesWatcherExcludes),limit:10}),le=Array.from(new Set(te.map(Ae=>new v.URI(Ae).parent.toString()).filter(Ae=>{var Re;return Ae!==((Re=U.workspace)===null||Re===void 0?void 0:Re.uri.toString())})));return Promise.all(le.map(async Ae=>{var Re;const Ee=new v.URI(Ae);return{id:Ee.codeUri.fsPath,type:b.MentionType.FOLDER,text:Ee.displayName,value:Ee.codeUri.fsPath,description:((Re=await U.asRelativePath(Ee.parent))===null||Re===void 0?void 0:Re.path)||"",contextId:Ee.codeUri.fsPath,icon:(0,p.getIcon)("folder")}}))}else{const ge=await B.getMostRecentlyOpenedFiles(),te=Array.from(new Set(ge.map(le=>new v.URI(le).parent.codeUri.fsPath).filter(le=>{var Ae;return le!==((Ae=U.workspace)===null||Ae===void 0?void 0:Ae.uri.toString())&&le!=="/"})));Se=await Promise.all(te.map(async le=>{const Ae=new v.URI(le),Re=await U.asRelativePath(Ae);return{id:Ae.codeUri.fsPath,type:b.MentionType.FOLDER,text:Ae.displayName,value:Ae.codeUri.fsPath,description:Re?.root?Re.path:"",contextId:Ae.codeUri.fsPath,icon:(0,p.getIcon)("folder")}}))}return Se.filter(ge=>{var te;return ge.id!==new v.URI((te=U.workspace)===null||te===void 0?void 0:te.uri).codeUri.fsPath})}},{id:"code",type:"code",text:"Code",icon:(0,p.getIcon)("codebraces"),getHighestLevelItems:()=>[],getItems:async q=>{if(!q||Y.current.length===0){const Se=Z.currentUri;if(!Se)return[];const ge=await K();return Y.current=await Promise.all(ge.map(async te=>{var le;const Ae=await U.asRelativePath(Se);return{id:te.raw.id,type:b.MentionType.CODE,text:te.raw.name,symbol:te.raw,value:te.raw.id,description:`${Ae?.root?Ae.path:""}:L${te.raw.range.startLineNumber}-${te.raw.range.endLineNumber}`,kind:te.raw.kind,contextId:`${(le=Z.currentUri)===null||le===void 0?void 0:le.codeUri.fsPath}:L${te.raw.range.startLineNumber}-${te.raw.range.endLineNumber}`,icon:(0,l.getSymbolIcon)(te.raw.kind)+" outline-icon"}})),Y.current}else return q=q.toLocaleLowerCase(),Y.current.sort((Se,ge)=>Se.text.toLocaleLowerCase().includes(q)&&ge.text.toLocaleLowerCase().includes(q)?0:Se.text.toLocaleLowerCase().includes(q)?-1:ge.text.toLocaleLowerCase().includes(q)?1:0)}}],X=(0,r.useMemo)(()=>({modelOptions:[{label:"QWQ 32B",value:"qwq-32b"},{label:"DeepSeek R1",value:"deepseek-r1"}],defaultModel:w.sessionModelId||V.get(v.AINativeSettingSectionsId.ModelID)||"deepseek-r1",buttons:[{id:"mcp-server",icon:"mcp",title:"MCP Server",onClick:H,position:b.FooterButtonPosition.LEFT},{id:"upload-image",icon:"image",title:(0,v.localize)("aiNative.chat.imageUpload"),onClick:()=>{const q=document.createElement("input");q.type="file",q.accept="image/*",q.onchange=Se=>{const ge=Se.target.files;ge?.length&&fe(Array.from(ge))},q.click()},position:b.FooterButtonPosition.LEFT}],showModelSelector:!0,disableModelSelector:w.disableModelSelector}),[H,w.disableModelSelector,w.sessionModelId]),oe=(0,r.useCallback)(()=>{k.cancelRequest()},[]),ie=(0,r.useCallback)(async(q,Se)=>{D||(T(q,O.map(ge=>ge.toString()),void 0,void 0,Se),M(w.images||[]))},[T,O,D]),fe=(0,r.useCallback)(async q=>{const Se=["image/jpeg","image/jpg","image/png","image/webp","image/gif"];if(q.filter(Re=>!Se.includes(Re.type)).length>0){G.error("Only JPG, PNG, WebP and GIF images are supported");return}const te=$.getImageUploadProvider();if(!te){G.error("No image upload provider found");return}const le=await Promise.all(q.map(Re=>te.imageUpload(Re))),Ae=[...O,...le];M(Ae)},[O]),_e=(0,r.useCallback)(q=>{M(O.filter((Se,ge)=>ge!==q))},[O]);return r.default.createElement("div",{className:c.default.chat_input_container},O.length>0&&r.default.createElement(S,{images:O,onDelete:_e}),r.default.createElement(y.MentionInput,{mentionItems:Q,onSend:ie,onStop:oe,loading:D,labelService:j,workspaceService:U,placeholder:(0,v.localize)("aiNative.chat.input.placeholder.default"),footerConfig:X,onImageUpload:fe,contextService:I}))};t.ChatMentionInput=A;const S=({images:w,onDelete:T})=>r.default.createElement("div",null,r.default.createElement("div",{className:c.default.thumbnail_container},w.map((D,I)=>r.default.createElement("div",{key:I,className:c.default.thumbnail},r.default.createElement(o.Image,{src:D.toString()}),r.default.createElement("button",{onClick:()=>T(I),className:c.default.delete_button},r.default.createElement(p.Icon,{iconClass:"codicon codicon-close"}))))))},15016:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatNotify=t.ChatReply=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(48412),p=e(91416),v=e(78569),m=e(72871),_=e(41869),s=e(81878),g=e(89195),a=e(43718),h=e(52416),u=e(90684),d=e(19413),E=e(56474),f=e(17319),c=n.__importDefault(e(6960)),y=T=>{const D=(0,_.useInjectable)(_.LabelService),I=(0,_.useInjectable)(_.CommandService),R=(L,B,U)=>{let W=D.getIcon(L,{isDirectory:B});return B&&U&&(W+=" expanded"),W},P=(0,o.useMemo)(()=>{const L=B=>{const U=typeof B.type=="number"?B.type===a.FileType.Directory:!!B.children,W=new a.URI(B.uri);return{label:B.label,iconClassName:R(W,U,U),expandable:!0,expanded:!0,children:U?(B.children||[]).map(L):null,uri:W}};return(T.treeData.children||[]).map(L)},[T.treeData]),[O,M]=(0,o.useState)(22),k=(0,o.useRef)(null),F=L=>{k.current=L;const B=()=>{let U=L.getModel().root.branchSize;U<1?U=1:U>20&&(U=20),M(U*22)};B(),L.onDidUpdate(B)};return P.length?o.default.createElement("div",{className:c.default.tree_container},o.default.createElement(p.BasicRecycleTree,{height:O,treeData:P,onContextMenu:L=>L.preventDefault(),onClick:(L,B)=>{!k.current||!B||(v.BasicCompositeTreeNode.is(B)?B.raw.iconClassName=R(B.raw.uri,!0,B.expanded):I.executeCommand(_.EDITOR_COMMANDS.OPEN_RESOURCE.id,B.raw.uri,{disableNavigate:!0,preview:!0}))},onReady:F,treeName:T.treeData.label,leaveBottomBlank:!1,baseIndent:0})):null},b=T=>{const{toolCall:D,messageId:I}=T,R=(0,_.useInjectable)(a.ChatAgentViewServiceToken),[P,O]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const M=R.getChatComponent("toolCall");if(M){const{component:F,initialProps:L}=M;O(o.default.createElement(F,{...L,value:D,messageId:I}));return}O(o.default.createElement("div",null,o.default.createElement(g.Loading,null),o.default.createElement("span",{style:{marginLeft:4}},"\u6B63\u5728\u52A0\u8F7D\u7EC4\u4EF6"))),R.getChatComponentDeferred("toolCall").promise.then(({component:F,initialProps:L})=>{O(o.default.createElement(F,{...L,value:D,messageId:I}))})},[D.state]),P},A=T=>{const D=(0,_.useInjectable)(a.ChatAgentViewServiceToken),[I,R]=(0,o.useState)(null);return(0,o.useEffect)(()=>{const P=D.getChatComponent(T.component);if(P){const{component:M,initialProps:k}=P;R(o.default.createElement(M,{...k,value:T.value,messageId:T.messageId}));return}R(o.default.createElement("div",null,o.default.createElement(g.Loading,null),o.default.createElement("span",{style:{marginLeft:4}},"\u6B63\u5728\u52A0\u8F7D\u7EC4\u4EF6"))),D.getChatComponentDeferred(T.component).promise.then(({component:M,initialProps:k})=>{R(o.default.createElement(M,{...k,value:T.value}))})},[T.component,T.value]),I},S=T=>{var D,I;const{relationId:R,request:P,startTime:O=0,onRegenerate:M,onDidChange:k,onDone:F,agentId:L,command:B,history:U,msgId:W}=T,[,j]=(0,o.useReducer)(ge=>(ge+1)%1e6,0),G=(0,_.useInjectable)(a.IAIReporter),$=(0,_.useInjectable)(h.IIconService),Z=(0,_.useInjectable)(_.IContextKeyService),Y=(0,_.useInjectable)(d.IChatInternalService),V=(0,_.useInjectable)(a.ChatServiceToken),H=(0,_.useInjectable)(d.IChatAgentService),K=(0,_.useInjectable)(a.ChatRenderRegistryToken),[Q,X]=(0,o.useState)(P.response.isComplete?new Set(P.response.responseContents.map((ge,te)=>ge.kind==="reasoning"?te:-1).filter(ge=>ge!==-1)):new Set);(0,o.useEffect)(()=>{P.response.isComplete&&X(new Set(P.response.responseContents.map((ge,te)=>ge.kind==="reasoning"?te:-1).filter(ge=>ge!==-1)))},[P.response.isComplete]),(0,o.useEffect)(()=>{const ge=new _.DisposableCollection;return ge.push(P.response.onDidChange(()=>{U.updateAssistantMessage(W,{content:P.response.responseText}),P.response.isComplete&&(F&&F(),G.end(R,{assistantMessage:P.response.responseText,replytime:Date.now()-O,success:!0,isStop:!1,command:B,agentId:L,messageId:W,sessionId:Y.sessionModel.sessionId})),(0,o.startTransition)(()=>{k?.(),j()})})),()=>ge.dispose()},[R,k,F]);const oe=(0,o.useCallback)(()=>{P.response.reset(),M?.()},[M]),ie=(0,o.useCallback)(ge=>{if(K.chatAIRoleRender){const te=K.chatAIRoleRender;return o.default.createElement(te,{content:ge.value})}return o.default.createElement(E.ChatMarkdown,{markdown:ge,fillInIncompleteTokens:!0})},[K,K.chatAIRoleRender]),fe=ge=>o.default.createElement(y,{treeData:ge}),_e=ge=>o.default.createElement("div",{className:c.default.placeholder},o.default.createElement(s.Icon,{iconClass:$.fromString("$(codicon/sync~spin)")}),o.default.createElement("div",{className:c.default.placeholder_content},ie(ge))),q=o.default.useMemo(()=>P.response.responseContents.map((ge,te)=>{let le;if(ge.kind==="asyncContent")le=_e(new u.MarkdownString(ge.content));else if(ge.kind==="treeData")le=fe(ge.treeData);else if(ge.kind==="component")le=o.default.createElement(A,{component:ge.component,value:ge.value,messageId:W});else if(ge.kind==="toolCall")le=o.default.createElement(b,{toolCall:ge.content,messageId:W});else if(ge.kind==="reasoning"){const Ae=te===P.response.responseContents.length-1&&!P.response.isComplete;le=o.default.createElement("div",{className:(0,r.default)(c.default.reasoning,{[c.default.thinking]:Ae})},o.default.createElement(l.Button,{size:"small",type:"secondary",className:c.default.thinking,onClick:()=>{Ae||(Q.has(te)?Q.delete(te):Q.add(te),X(new Set(Q)))}},o.default.createElement(s.Icon,{iconClass:"codicon codicon-sparkle"}),(0,a.localize)("aiNative.chat.thinking"),Ae?o.default.createElement(g.Loading,null):Q.has(te)?o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-right"}):o.default.createElement(s.Icon,{iconClass:"codicon codicon-chevron-down"})),Q.has(te)?null:o.default.createElement("div",{className:c.default.reasoning_content},ie(new u.MarkdownString(ge.content))))}else le=ie(ge.content);return o.default.createElement(o.Fragment,{key:`${ge.kind}-${te}`},le)}),[P.response.responseContents,Q]),Se=o.default.useMemo(()=>P.response.followups?P.response.followups.map((ge,te)=>{let le=null;if(ge.kind==="reply"){const Ae=o.default.createElement("a",{onClick:()=>{V.sendMessage({...H.parseMessage(ge.message),reportExtra:{actionSource:a.ActionSourceEnum.Chat,actionType:a.ActionTypeEnum.Followup}})}},ge.title||ge.message);le=ge.tooltip?o.default.createElement(m.Tooltip,{title:ge.tooltip},Ae):Ae}else ge.when&&!Z.match(ge.when)&&(le=null),le=o.default.createElement(l.Button,{type:"default"},ge.title);return le&&o.default.createElement(o.Fragment,{key:te},le)}):null,[P.response.followups]);return P.response.isComplete?o.default.createElement(f.ChatThinkingResult,{hasMessage:P.response.responseParts.length>0||P.response.responseContents.length>0||!!(!((D=P.response.errorDetails)===null||D===void 0)&&D.message),onRegenerate:oe,requestId:P.requestId},o.default.createElement("div",{className:c.default.ai_chat_response_container},!((I=P.response.errorDetails)===null||I===void 0)&&I.message?o.default.createElement("div",{className:c.default.error},o.default.createElement(s.Icon,{className:(0,s.getIcon)("close-circle")}),o.default.createElement("span",null,P.response.errorDetails.message)):o.default.createElement(o.default.Fragment,null,q,Se?.length!==0&&o.default.createElement("div",{className:c.default.followups},Se)))):o.default.createElement(f.ChatThinking,{message:P.response.responseText},q)};t.ChatReply=S;const w=T=>{const{chunk:D}=T,I=(0,_.useInjectable)(a.ChatRenderRegistryToken),R=o.default.useMemo(()=>{let P;if(D.kind==="component")P=o.default.createElement(A,{component:D.component,value:D.value});else{let O=o.default.createElement(E.ChatMarkdown,{markdown:D.content,fillInIncompleteTokens:!0});if(I.chatAIRoleRender){const M=I.chatAIRoleRender;O=o.default.createElement(M,{content:D.content})}P=O}return P},[D]);return o.default.createElement(f.ChatThinkingResult,{hasMessage:!0,requestId:T.requestId,showRegenerate:!1},o.default.createElement("div",{className:c.default.ai_chat_response_container},R))};t.ChatNotify=w},17319:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatThinkingResult=t.ChatThinking=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(89195),p=e(68974),v=e(43718),m=e(19413),_=n.__importDefault(e(6960)),s=a=>{const{children:h,message:u,thinkingText:d}=a,E=(0,o.useInjectable)(v.ChatRenderRegistryToken),f=(0,r.useMemo)(()=>E.chatThinkingRender,[E,E.chatThinkingRender]),c=(0,r.useMemo)(()=>Array.isArray(h)?h.length===0:!h,[h]),y=(0,r.useCallback)(()=>c?f?r.default.createElement(f,{thinkingText:d}):r.default.createElement("span",{className:_.default.thinking_text},d||"Thinking..."):h,[u,h,d,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:_.default.content},y()),r.default.createElement("div",{className:_.default.thinking_container},r.default.createElement("div",{className:_.default.stop},!f&&r.default.createElement("span",{className:_.default.progress_bar},c&&r.default.createElement(p.Progress,{loading:!0,wrapperClassName:_.default.ai_native_progress_wrapper})))))};t.ChatThinking=s;const g=({children:a,message:h,onRegenerate:u,requestId:d,hasMessage:E=!0,showRegenerate:f})=>{const c=(0,o.useInjectable)(m.IChatInternalService),[y,b]=(0,r.useState)(c.latestRequestId),A=(0,o.useInjectable)(v.ChatRenderRegistryToken);(0,r.useEffect)(()=>{const I=c.onChangeRequestId(R=>{b(R)});return()=>I.dispose()},[c]);const S=(0,r.useMemo)(()=>A.chatThinkingResultRender,[A,A.chatThinkingResultRender]),w=(0,r.useCallback)(()=>{u&&u()},[u]),T=(0,r.useCallback)(()=>{if(typeof E=="boolean"?!E:!h?.trim()){const I=(0,v.localize)("aiNative.chat.stop.immediately");return S?r.default.createElement(S,{thinkingResult:I}):r.default.createElement("span",null,I)}return a},[h,E,a]),D=(0,r.useMemo)(()=>(0,v.isUndefined)(f)?y===d&&!!d:!!f,[y,d,f]);return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:_.default.content},T()),r.default.createElement("div",{className:_.default.thinking_container},r.default.createElement("div",{className:_.default.bottom_container},r.default.createElement("div",{className:_.default.reset},D?r.default.createElement(l.EnhanceIcon,{icon:"refresh",wrapperClassName:_.default.text_btn,className:_.default.transform,onClick:w,tabIndex:0,role:"button"},r.default.createElement("span",null,(0,v.localize)("aiNative.operate.afresh.title"))):null),r.default.createElement("div",{className:_.default.thumbs},r.default.createElement(l.Thumbs,{relationId:d,wrapperClassName:_.default.icon_btn})))))};t.ChatThinkingResult=g},34817:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatToolRender=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),p=e(81878),v=e(89195),m=e(43718),_=e(33783),s=e(77633),g=e(25834),a=n.__importDefault(e(16796)),h=e(78112),u=d=>{var E,f,c;const{value:y,messageId:b}=d,[A,S]=(0,o.useState)(!1),w=(0,l.useInjectable)(s.TokenMCPServerRegistry);if(!y||!y.function||!y.id)return null;const T=((E=w.getMCPTool(y.function.name))===null||E===void 0?void 0:E.label)||y.function.name,D=w.getToolComponent(y.function.name),I=M=>{switch(M){case"streaming-start":case"streaming":return{label:"Generating",icon:o.default.createElement(v.Loading,null)};case"complete":return{label:"Complete",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-check"})};case"result":return{label:"Result Ready",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-check-all"})};default:return{label:M||"Unknown",icon:o.default.createElement(p.Icon,{iconClass:"codicon codicon-question"})}}},R=()=>{var M;try{return y.state!=="complete"&&y.state!=="result"?{}:JSON.parse(((M=y.function)===null||M===void 0?void 0:M.arguments)||"{}")}catch{return{}}},P=()=>{S(!A)},O=I(y.state);return D&&(y.state==="complete"||y.state==="result")?o.default.createElement(D,{state:y.state,args:R(),result:y.result,index:y.index,messageId:b,toolCallId:y.id}):o.default.createElement("div",{className:a.default.chat_tool_render},o.default.createElement("div",{className:a.default.tool_header,onClick:P},o.default.createElement("div",{className:a.default.tool_name},o.default.createElement(p.Icon,{iconClass:`codicon codicon-chevron-${A?"down":"right"}`}),o.default.createElement(p.Icon,{size:"small",iconClass:(0,r.default)("codicon codicon-tools",a.default.tool_icon)}),o.default.createElement("span",{className:a.default.tool_label},T)),y.state&&o.default.createElement("div",{className:a.default.tool_state},o.default.createElement("span",{className:a.default.state_icon},O.icon))),o.default.createElement("div",{className:(0,r.default)(a.default.tool_content,{[a.default.expanded]:A})},((f=y?.function)===null||f===void 0?void 0:f.arguments)&&o.default.createElement("div",{className:a.default.tool_arguments},o.default.createElement("div",{className:a.default.section_label},(0,_.localize)("ai.native.mcp.tool.arguments"),":"),o.default.createElement(g.CodeEditorWithHighlight,{input:(c=y?.function)===null||c===void 0?void 0:c.arguments,language:"json",relationId:(0,m.uuid)(4)})),y?.result&&o.default.createElement("div",{className:a.default.tool_result},o.default.createElement("div",{className:a.default.section_label},(0,_.localize)("ai.native.mcp.tool.results"),":"),o.default.createElement(h.ChatToolResult,{result:y.result,relationId:(0,m.uuid)(4)}))))};t.ChatToolRender=u},78112:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChatToolResult=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(33783),l=e(25834),p=n.__importDefault(e(48091)),v=({result:m,relationId:_})=>{const s=r.default.useCallback(h=>{try{return JSON.parse(h).content||[]}catch{return[{type:"text",text:h}]}},[]),g=r.default.useCallback((h,u)=>{switch(h.type){case"text":return h.text?r.default.createElement("div",{key:`text-${u}`,className:p.default.text_content},r.default.createElement(l.CodeEditorWithHighlight,{input:h.text,language:"text",relationId:_||""})):null;case"image":return h.data?r.default.createElement("div",{key:`image-${u}`,className:p.default.image_content},r.default.createElement("img",{src:`data:${h.mimeType||"image/png"};base64,${h.data}`,alt:(0,o.localize)("aiNative.chat.result.image")})):null;default:return null}},[_]),a=r.default.useMemo(()=>s(m),[m,s]);return a.length?r.default.createElement("div",{className:p.default.result_container},a.map((h,u)=>g(h,u))):null};t.ChatToolResult=v},29039:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SlashCustomRender=void 0;const r=e(85608).__importStar(e(14041)),o=e(41869),l=e(43718),p=e(19413),v=m=>{const{userMessage:_,relationId:s,requestId:g,renderContent:a,startTime:h,agentId:u,command:d}=m,E=(0,o.useInjectable)(p.IChatInternalService),f=(0,o.useInjectable)(l.IAIReporter);return r.useEffect(()=>{E.setLatestRequestId(g),f.end(s,{message:_,replytime:Date.now()-h,success:!0,isStop:!1,agentId:u,command:d})},[a,g,s]),r.createElement("div",null,a({userMessage:_}))};t.SlashCustomRender=v},86556:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WelcomeMessage=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(81878),p=e(4246),v=e(43718),m=e(90684);e(41937);const _=e(19413),s=e(56474),g=e(17319),a=e(78048),h=n.__importDefault(e(6960)),u=()=>{var d,E;const f=(0,o.useInjectable)(v.ChatServiceToken),c=(0,o.useInjectable)(_.IChatAgentService),y=(0,o.useInjectable)(v.ChatFeatureRegistryToken),b=(0,o.useInjectable)(v.ChatRenderRegistryToken),[A,S]=r.useState([]);(0,o.useUpdateOnEvent)(y.onDidWelcomeMessageChange);const w=r.useMemo(()=>{if(!y.chatWelcomeMessageModel)return[];const{sampleQuestions:R=[]}=y.chatWelcomeMessageModel;return R.map(a.extractIcon)},[(d=y.chatWelcomeMessageModel)===null||d===void 0?void 0:d.sampleQuestions]),T=r.useMemo(()=>{if(!y.chatWelcomeMessageModel)return"";const{content:R}=y.chatWelcomeMessageModel;return R},[(E=y.chatWelcomeMessageModel)===null||E===void 0?void 0:E.content]);if(r.useEffect(()=>{const R=c.onDidChangeAgents(async()=>{const O=(await c.getAllSampleQuestions()).map(a.extractIcon);S(O)});return()=>R.dispose()},[]),!T)return r.createElement(g.ChatThinking,{thinkingText:(0,v.localize)("aiNative.chat.welcome.loading.text")});const D=r.useMemo(()=>w.concat(A),[w,A]);return r.useMemo(()=>{if(b.chatWelcomeRender){const R=b.chatWelcomeRender;return r.createElement(R,{message:T,sampleQuestions:D})}return r.createElement("div",{className:h.default.chat_welcome_head},r.createElement("div",{className:h.default.chat_container_des},(0,m.isMarkdownString)(T)?r.createElement(s.ChatMarkdown,{key:"welcome",markdown:T}):T),r.createElement("div",{className:h.default.chat_container_content},D.map((R,P)=>{const O=r.createElement("a",{className:h.default.link_item,onClick:(0,p.withPrevented)(()=>{f.sendMessage({...c.parseMessage(R.message),reportExtra:{actionType:v.ActionTypeEnum.Welcome,actionSource:v.ActionSourceEnum.Chat}})})},R.icon?r.createElement(l.Icon,{className:R.icon,style:{color:"inherit",marginRight:"4px"}}):"",r.createElement("span",null,R.title));return R.tooltip?r.createElement(l.Tooltip,{title:R.tooltip,key:P},O):r.createElement(r.Fragment,{key:P},O)})))},[b.chatWelcomeRender,T,D])};t.WelcomeMessage=u},83933:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.highLightLanguageSupport=void 0,t.highLightLanguageSupport=["1c","abnf","accesslog","actionscript","ada","angelscript","apache","applescript","arcade","arduino","armasm","xml","asciidoc","aspectj","autohotkey","autoit","avrasm","awk","axapta","bash","basic","bnf","brainfuck","c-like","c","cal","capnproto","ceylon","clean","clojure","clojure-repl","cmake","coffeescript","coq","cos","cpp","crmsh","crystal","csharp","csp","css","d","markdown","dart","delphi","diff","django","dns","dockerfile","dos","dsconfig","dts","dust","ebnf","elixir","elm","ruby","erb","erlang-repl","erlang","excel","fix","flix","fortran","fsharp","gams","gauss","gcode","gherkin","glsl","gml","go","golo","gradle","groovy","haml","handlebars","haskell","haxe","hsp","htmlbars","http","hy","inform7","ini","irpf90","isbl","java","javascript","jboss-cli","json","julia","julia-repl","kotlin","lasso","latex","ldif","leaf","less","lisp","livecodeserver","livescript","llvm","lsl","lua","makefile","mathematica","matlab","maxima","mel","mercury","mipsasm","mizar","perl","mojolicious","monkey","moonscript","n1ql","nginx","nim","nix","node-repl","nsis","objectivec","ocaml","openscad","oxygene","parser3","pf","pgsql","php","php-template","plaintext","pony","powershell","processing","profile","prolog","properties","protobuf","puppet","purebasic","python","python-repl","q","qml","r","reasonml","rib","roboconf","routeros","rsl","ruleslanguage","rust","sas","scala","scheme","scilab","scss","shell","smali","smalltalk","sml","sqf","sql_more","sql","stan","stata","step21","stylus","subunit","swift","taggerscript","yaml","tap","tcl","thrift","tp","twig","typescript","vala","vbnet","vbscript","vbscript-html","verilog","vhdl","vim","x86asm","xl","xquery","zephir"]},96086:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MentionInput=t.WHITE_SPACE_TEXT=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),p=e(81878),v=e(89195),m=e(70392),_=n.__importDefault(e(97599)),s=e(80732),g=e(44692);t.WHITE_SPACE_TEXT=" ";const a=({mentionItems:h=[],onSend:u,onStop:d,loading:E=!1,mentionKeyword:f=g.MENTION_KEYWORD,onSelectionChange:c,onImageUpload:y,labelService:b,workspaceService:A,placeholder:S="Ask anything, @ to mention",footerConfig:w={buttons:[],showModelSelector:!1},contextService:T})=>{const D=o.useRef(null),[I,R]=o.useState({active:!1,startPos:null,filter:"",position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1}),[P,O]=o.useState(w.defaultModel||""),[M,k]=o.useState({}),[F,L]=o.useState([]),[B,U]=o.useState(-1),[W,j]=o.useState(""),[G,$]=o.useState(!1),[Z,Y]=o.useState({files:[],folders:[]}),V=()=>I.level===0?h:I.parentType?I.loading?M[I.parentType]||[]:M[I.parentType]||[]:[],K=((Ce,ve)=>{const[me,Pe]=o.useState(Ce);return o.useEffect(()=>{const we=setTimeout(()=>{Pe(Ce)},ve);return()=>{clearTimeout(we)}},[Ce,ve]),me})(I.secondLevelFilter,300);o.useEffect(()=>{O(w.defaultModel||"")},[w.defaultModel]),o.useEffect(()=>{if(I.level===1&&I.parentType&&K!==void 0){const Ce=h.find(me=>me.id===I.parentType);if(!Ce)return;R(me=>({...me,loading:!0})),(async()=>{try{const me=[];if(Ce.getHighestLevelItems){const Pe=Ce.getHighestLevelItems();for(const we of Pe)me.some(Ne=>Ne.id===we.id)||me.push(we);k(we=>({...we,[I.parentType]:Pe}))}if(Ce.getItems)try{const Pe=await Ce.getItems(K),we=[...me];for(const Ne of Pe)we.some(pe=>pe.id===Ne.id)||we.push(Ne);k(Ne=>({...Ne,[I.parentType]:we}))}catch{R(we=>({...we,loading:!1}))}R(Pe=>({...Pe,loading:!1}))}catch{R(Pe=>({...Pe,loading:!1}))}})()}},[K,I.level,I.parentType]),o.useEffect(()=>{const Ce=T?.onDidContextFilesChangeEvent(({attached:ve,attachedFolders:me})=>{Y({files:ve,folders:me})});return()=>{Ce?.dispose()}},[T]);const Q=Ce=>{const ve=window.getSelection();if(!ve||!ve.rangeCount)return 0;const me=ve.getRangeAt(0),Pe=me.cloneRange();return Pe.selectNodeContents(Ce),Pe.setEnd(me.endContainer,me.endOffset),Pe.toString().length},X=()=>{G&&($(!1),U(-1));const Ce=window.getSelection();if(!Ce||!Ce.rangeCount||!D.current)return;const ve=D.current.textContent||"",me=Q(D.current);if(ve[me-1]===f&&!I.active&&!I.inlineSearchActive&&R({active:!0,startPos:me,filter:f,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1}),I.active&&I.level===0&&I.startPos!==null)if(me<I.startPos)R(Pe=>({...Pe,active:!1}));else{const Pe=ve.substring(I.startPos-1,me);R(we=>({...we,filter:Pe,activeIndex:0}))}if(I.inlineSearchActive&&I.inlineSearchStartPos!==null&&I.parentType){const Pe=h.find(pe=>pe.id===I.parentType);if(!Pe)return;const we=`@${Pe.type}:`,Ne=I.inlineSearchStartPos-we.length;if(Ne>=0&&me>Ne+we.length){const pe=ve.substring(Ne+we.length,me);pe!==I.secondLevelFilter&&R(re=>({...re,secondLevelFilter:pe,active:!0,activeIndex:0}))}else me<=Ne&&R(pe=>({...pe,inlineSearchActive:!1,active:!1}))}if(D.current&&(D.current.scrollHeight>=120?D.current.style.overflowY="auto":D.current.style.overflowY="hidden"),D.current){const Pe=D.current.innerHTML;(Pe===""||Pe==="<br>"||Pe==="<br/>")&&(D.current.innerHTML="")}},oe=Ce=>{if(Ce.key==="Escape"&&(I.active||I.inlineSearchActive)){I.level>0?R(me=>({...me,level:0,activeIndex:0,secondLevelFilter:"",inlineSearchActive:!1})):R(me=>({...me,active:!1,inlineSearchActive:!1})),Ce.preventDefault();return}if((Ce.key==="Backspace"||Ce.key==="Delete")&&D.current&&(!D.current.textContent||D.current.textContent.trim()==="")&&T?.cleanFileContext(),Ce.key===g.MENTION_KEYWORD&&!I.active&&!I.inlineSearchActive&&D.current){const me=Q(D.current);R({active:!0,startPos:me+1,filter:f,position:{top:0,left:0},activeIndex:0,level:0,parentType:null,secondLevelFilter:"",inlineSearchActive:!1,inlineSearchStartPos:null,loading:!1})}if((Ce.key==="ArrowUp"||Ce.key==="ArrowDown")&&!Ce.shiftKey&&!Ce.ctrlKey&&!Ce.metaKey&&!Ce.altKey){if(!I.active&&!I.inlineSearchActive&&D.current&&F.length>0){const me=D.current.innerHTML;if(!me||me==="<br>"||G&&B>=0&&F[F.length-1-B]===me){Ce.preventDefault(),G||(j(me),$(!0));let we=B;Ce.key==="ArrowUp"?we=Math.min(F.length-1,B+1):we=Math.max(-1,B-1),U(we),we===-1?D.current.innerHTML=W:D.current.innerHTML=F[F.length-1-we];const Ne=document.createRange();Ne.selectNodeContents(D.current),Ne.collapse(!1);const pe=window.getSelection();pe&&(pe.removeAllRanges(),pe.addRange(Ne));return}}}else G&&Ce.key!=="ArrowUp"&&Ce.key!=="ArrowDown"&&($(!1),U(-1));if(Ce.key==="Enter"){if(Ce.nativeEvent.isComposing)return;if(!Ce.shiftKey&&(Ce.preventDefault(),!I.active)){ge();return}}if(!I.active)return;let ve=V();if(I.level===0&&I.filter&&I.filter.length>1){const me=I.filter.substring(1).toLowerCase();ve=ve.filter(Pe=>Pe.text.toLowerCase().includes(me))}ve.length!==0&&(Ce.key==="ArrowDown"?(R(me=>({...me,activeIndex:(me.activeIndex+1)%ve.length})),Ce.preventDefault()):Ce.key==="ArrowUp"?(R(me=>({...me,activeIndex:(me.activeIndex-1+ve.length)%ve.length})),Ce.preventDefault()):(Ce.key==="Enter"||Ce.key==="Tab")&&ve.length>0&&(q(ve[I.activeIndex]),Ce.preventDefault()))},ie=()=>{},fe=async Ce=>{const ve=Ce.clipboardData.items,me=[];for(let Te=0;Te<ve.length;Te++)if(ve[Te].kind==="file"&&ve[Te].type.startsWith("image/")){const Fe=ve[Te].getAsFile();Fe&&me.push(Fe)}if(Ce.preventDefault(),me.length>0&&y){await y(me);return}const we=Ce.clipboardData.getData("text/plain").replace(/\t/g," ").replace(/\n\s*\n/g,`
|
|
31557
31559
|
|
|
31558
31560
|
`).replace(/[ \t]+$/gm,""),Ne=window.getSelection();if(!Ne||!Ne.rangeCount)return;const pe=Ne.getRangeAt(0);pe.deleteContents();const re=we.split(`
|
|
31559
31561
|
`),he=document.createDocumentFragment();re.forEach((Te,Fe)=>{const Ge=Te.replace(/^[ ]+/g,ft=>{const ht=document.createElement("span");return ht.innerHTML="\xA0".repeat(ft.length),ht.innerHTML}),Ue=document.createElement("span");for(Ue.innerHTML=Ge;Ue.firstChild;)he.appendChild(Ue.firstChild);Fe<re.length-1&&he.appendChild(document.createElement("br"))});const Me=he.lastChild;if(pe.insertNode(he),Me&&Me.parentNode){const Te=document.createRange();Te.setStartAfter(Me),Ne.removeAllRanges(),Ne.addRange(Te)}X()};o.useEffect(()=>{D.current&&S&&!D.current.textContent&&D.current.setAttribute("data-placeholder",S)},[S]);const _e=Ce=>{var ve;I.active&&!(!((ve=document.querySelector(`.${_.default.mention_panel}`))===null||ve===void 0)&&ve.contains(Ce.target))&&R(me=>({...me,active:!1,inlineSearchActive:!1}))};o.useEffect(()=>(document.addEventListener("click",_e,!0),()=>{document.removeEventListener("click",_e,!0)}),[I.active]);const q=(Ce,ve=!1)=>{var me;if(!D.current)return;if(Ce.getItems){const Ue=window.getSelection();if(!Ue||!Ue.rangeCount)return;if(I.level===0&&I.startPos!==null){let ft,ht,Rt;const at=document.createTreeWalker(D.current,NodeFilter.SHOW_TEXT);let At=0,rt;for(;rt=at.nextNode();){const ot=((me=rt.textContent)===null||me===void 0?void 0:me.length)||0;if(I.startPos-1>=At&&I.startPos-1<At+ot){ft=rt,ht=I.startPos-1-At;const dt=ve?I.startPos+I.filter.length-1:Q(D.current);Rt=Math.min(dt-At,ot);break}At+=ot}if(ft){const ot=document.createRange();ot.setStart(ft,ht),ot.setEnd(ft,Rt),ot.deleteContents();const dt=document.createTextNode(`${f}${Ce.type}:`);ot.insertNode(dt);const bt=document.createRange();bt.setStartAfter(dt),bt.setEndAfter(dt),Ue.removeAllRanges(),Ue.addRange(bt),R(Wt=>({...Wt,active:!0,level:1,parentType:Ce.id,inlineSearchActive:!0,inlineSearchStartPos:Q(D.current),secondLevelFilter:"",activeIndex:0})),D.current.focus();return}}return}const Pe=window.getSelection();if(!Pe||!Pe.rangeCount)return;if(I.inlineSearchActive&&I.parentType&&I.inlineSearchStartPos!==null){const Ue=h.find(Rt=>Rt.id===I.parentType);if(!Ue)return;const ft=`${f}${Ue.type}:`,ht=I.inlineSearchStartPos-ft.length;if(ht>=0){let pn=function(In){if(In.nodeType===3)Wt.push({node:In,start:dt,end:dt+In.textContent.length}),dt+=In.textContent.length;else if(In.nodeType===1){const li=In.childNodes||[];for(const Mn of Array.from(li))pn(Mn)}};const Rt=document.createElement("span");if(Rt.className=_.default.mention_tag,Rt.dataset.id=Ce.id,Rt.dataset.type=Ce.type,Rt.dataset.contextId=Ce.contextId||"",Rt.contentEditable="false",Ce.type===g.MentionType.FILE||Ce.type===g.MentionType.FOLDER){const In=document.createElement("span");In.className=(0,r.default)(_.default.mention_icon,Ce.type===g.MentionType.FILE?b?.getIcon(new m.URI(Ce.text)):(0,p.getIcon)("folder")),Rt.appendChild(In),Ce.type===g.MentionType.FOLDER?T?.addFolderToContext(new m.URI(Ce.contextId),!0):T?.addFileToContext(new m.URI(Ce.contextId),void 0,!0)}else if(Ce.type===g.MentionType.CODE){const In=document.createElement("span");In.className=(0,r.default)(_.default.mention_icon,Ce.kind&&(0,l.getSymbolIcon)(Ce.kind)+" outline-icon"),Rt.appendChild(In),Ce.symbol&&T?.addFileToContext(new m.URI(Ce.contextId),[Ce.symbol.range.startLineNumber,Ce.symbol.range.endLineNumber],!0)}const at=A?.workspace;let At=Ce.text;at&&Ce.contextId&&(At=Ce.contextId.replace(new m.URI(at.uri).codeUri.fsPath,"").slice(1));const rt=document.createTextNode(At);Rt.appendChild(rt);const ot=document.createRange();let dt=0,bt=!1;const Wt=[];pn(D.current);for(const In of Wt){if(ht>=In.start&&ht<=In.end){const li=ht-In.start;ot.setStart(In.node,li),bt=!0}if(bt){const li=ve?ht+ft.length+I.secondLevelFilter.length:Q(D.current);if(li>=In.start&&li<=In.end){const Mn=li-In.start;ot.setEnd(In.node,Mn);break}}}if(bt){ot.deleteContents(),ot.insertNode(Rt);const In=document.createRange();In.setStartAfter(Rt),In.setEndAfter(Rt),Pe.removeAllRanges(),Pe.addRange(In);const li=document.createTextNode("\xA0");In.insertNode(li),In.setStartAfter(li),In.setEndAfter(li),Pe.removeAllRanges(),Pe.addRange(In)}R(In=>({...In,active:!1,inlineSearchActive:!1})),D.current.focus();return}}const we=document.createElement("span");if(we.className=_.default.mention_tag,we.dataset.id=Ce.id,we.dataset.type=Ce.type,we.dataset.contextId=Ce.contextId||"",we.contentEditable="false",Ce.type==="file"||Ce.type==="folder"){const Ue=document.createElement("span");Ue.className=(0,r.default)(_.default.mention_icon,Ce.type==="file"?b?.getIcon(new m.URI(Ce.text)):(0,p.getIcon)("folder")),we.appendChild(Ue)}const Ne=A?.workspace;let pe=Ce.text;Ne&&Ce.contextId&&(pe=Ce.contextId.replace(new m.URI(Ne.uri).codeUri.fsPath,"").slice(1));const re=document.createTextNode(pe);we.appendChild(re);let he=0,Me=!1;const Te=[];function Fe(Ue){if(Ue.nodeType===3)Te.push({node:Ue,start:he,end:he+Ue.textContent.length}),he+=Ue.textContent.length;else if(Ue.nodeType===1){const ft=Ue.childNodes;for(const ht of Array.from(ft))Fe(ht)}}Fe(D.current);const Ge=document.createRange();if(I.startPos!==null)for(const Ue of Te){if(I.startPos-1>=Ue.start&&I.startPos-1<=Ue.end){const ft=I.startPos-1-Ue.start;Ge.setStart(Ue.node,ft),Me=!0}if(Me){const ft=ve?I.startPos+I.filter.length-1:Q(D.current);if(ft>=Ue.start&&ft<=Ue.end){const ht=ft-Ue.start;Ge.setEnd(Ue.node,ht);break}}}if(Me){Ge.deleteContents(),Ge.insertNode(we);const Ue=document.createRange();Ue.setStartAfter(we),Ue.setEndAfter(we),Pe.removeAllRanges(),Pe.addRange(Ue);const ft=document.createTextNode("\xA0");Ue.insertNode(ft),Ue.setStartAfter(ft),Ue.setEndAfter(ft),Pe.removeAllRanges(),Pe.addRange(Ue)}R(Ue=>({...Ue,active:!1})),D.current.focus()},Se=o.useCallback(Ce=>{O(Ce),c?.(Ce)},[P,c]),ge=()=>{if(!D.current)return;const Ce=D.current.innerHTML;if(!Ce)return;const ve=document.createElement("div");ve.innerHTML=Ce,ve.querySelectorAll(`.${_.default.mention_tag}`).forEach(we=>{var Ne;const pe=we.getAttribute("data-context-id");if(pe){const re=document.createTextNode(`{{${f}${we.getAttribute("data-type")}:${pe}}}`);(Ne=we.parentNode)===null||Ne===void 0||Ne.replaceChild(re,we)}});let Pe=ve.innerHTML;Pe=Pe.trim().replaceAll(t.WHITE_SPACE_TEXT," "),Ce&&(L(we=>[...we,Ce]),U(-1),$(!1)),u&&u(Pe,{model:P,...w}),D.current.innerHTML="",D.current&&(D.current.style.overflowY="hidden",D.current.style.height="auto")},te=o.useCallback(()=>{T?.cleanFileContext()},[T]),le=o.useCallback(()=>{d&&d()},[d]),Ae=o.useCallback(Ce=>(w.buttons||[]).filter(ve=>ve.position===Ce).map(ve=>o.createElement(p.Popover,{key:ve.id,overlayClassName:_.default.popover_icon,id:`ai-chat-${ve.id}`,position:p.PopoverPosition.top,title:ve.title},o.createElement(v.EnhanceIcon,{className:(0,r.default)(ve.icon?(0,p.getIcon)(ve.icon):ve.iconClass,_.default[`${ve.id}_logo`]),tabIndex:0,role:"button",ariaLabel:ve.title,onClick:ve.onClick}))),[w.buttons]),Re=o.useMemo(()=>Z.files.length>0||Z.folders.length>0,[Z]),Ee=o.useCallback(Ce=>w.disableModelSelector?o.createElement(p.Popover,{id:"ai-chat-model-selector",title:(0,l.localize)("aiNative.chat.modelSelector.disableTip"),position:p.PopoverPosition.top},Ce):Ce,[w.disableModelSelector]);return o.createElement("div",{className:_.default.input_container},I.active&&o.createElement("div",{className:_.default.mention_panel_container},o.createElement(s.MentionPanel,{items:V(),activeIndex:I.activeIndex,onSelectItem:Ce=>q(Ce,!0),position:{top:0,left:0},filter:I.level===0?I.filter:I.secondLevelFilter,visible:!0,level:I.level,loading:I.loading})),o.createElement("div",{className:_.default.editor_area},o.createElement("div",{ref:D,className:_.default.editor,contentEditable:!0,onInput:X,onKeyDown:oe,onPaste:fe,onCompositionEnd:ie})),o.createElement("div",{className:_.default.footer},o.createElement("div",{className:_.default.left_control},w.showModelSelector&&Ee(o.createElement(p.Select,{options:w.modelOptions||[],value:P,onChange:Se,className:_.default.model_selector,size:"small",disabled:w.disableModelSelector})),Ae(g.FooterButtonPosition.LEFT)),o.createElement("div",{className:_.default.right_control},Ae(g.FooterButtonPosition.RIGHT),Re&&o.createElement(p.Popover,{overlayClassName:_.default.popover_icon,id:"ai-chat-clear-context",position:p.PopoverPosition.top,content:(0,l.localize)("aiNative.chat.context.clear")},o.createElement("div",{className:_.default.context_container,onClick:te},o.createElement("div",{className:_.default.context_icon},o.createElement(p.Icon,{icon:"out-link"}),o.createElement(p.Icon,{icon:"close"})),o.createElement("div",{className:_.default.context_description},(0,l.formatLocalize)("aiNative.chat.context.description",Z.files.length+Z.folders.length)))),o.createElement(p.Popover,{overlayClassName:_.default.popover_icon,id:"ai-chat-send",position:p.PopoverPosition.top,content:E?"Stop":"Send"},E?o.createElement(v.EnhanceIcon,{wrapperClassName:_.default.stop_logo,className:(0,r.default)((0,p.getIcon)("stop"),_.default.stop_logo_icon),tabIndex:0,role:"button",ariaLabel:"Stop",onClick:le}):o.createElement(v.EnhanceIcon,{wrapperClassName:_.default.send_logo,className:(0,r.default)((0,p.getIcon)("send-outlined"),_.default.send_logo_icon),tabIndex:0,role:"button",onClick:ge,ariaLabel:"Send"})))))};t.MentionInput=a},40167:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MentionItem=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(81878),p=n.__importDefault(e(97599)),v=({item:m,isActive:_,onClick:s})=>o.createElement("div",{className:`${p.default.mention_item} ${_?p.default.active:""}`,onClick:()=>s(m)},o.createElement("div",{className:p.default.mention_item_left},o.createElement(l.Icon,{className:(0,r.default)(p.default.mention_item_icon,m.icon)}),o.createElement("span",{className:p.default.mention_item_text},m.text),o.createElement("span",{className:p.default.mention_item_description},m.description)),m.getItems&&o.createElement(l.Icon,{className:(0,r.default)(p.default.mention_item_right,(0,l.getIcon)("arrowright"))}));t.MentionItem=v},80732:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MentionPanel=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=n.__importDefault(e(97599)),l=e(40167),p=({items:v,activeIndex:m,onSelectItem:_,position:s,filter:g,visible:a,level:h,loading:u=!1})=>{const d=r.useRef(null);if(r.useEffect(()=>{if(a&&d.current){const c=d.current.querySelector(`.${o.default.mention_item}.${o.default.active}`);c&&c.scrollIntoView({block:"nearest"})}},[m,a]),!a)return null;const f=(()=>{let c=v;if(h===0){if(g&&g.length>1){const y=g.substring(1).toLowerCase();c=v.filter(b=>b.text.toLowerCase().includes(y))}}else g&&g.length>0&&(c=v.filter(y=>y.text.toLowerCase().includes(g.toLowerCase())));return c})();return h===0&&f.length===0?null:r.createElement("div",{ref:d,className:o.default.mention_panel,style:{top:s.top,left:s.left}},u&&r.createElement("div",{className:o.default.loading_bar}),v.length>0?r.createElement("ul",{className:o.default.mention_list},v.map((c,y)=>r.createElement(l.MentionItem,{key:c.id,item:c,isActive:y===m,onClick:()=>_(c,!0)}))):r.createElement("div",{className:o.default.no_results},u?"\u6B63\u5728\u641C\u7D22...":"\u65E0\u5339\u914D\u7ED3\u679C"))};t.MentionPanel=p},44692:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MENTION_KEYWORD=t.MentionType=t.FooterButtonPosition=void 0;var e;(function(r){r.LEFT="left",r.RIGHT="right"})(e||(t.FooterButtonPosition=e={}));var n;(function(r){r.FILE="file",r.FOLDER="folder",r.CODE="code"})(n||(t.MentionType=n={})),t.MENTION_KEYWORD="@"},78048:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.extractIcon=t.createMessageByAI=t.createMessageByUser=void 0;const n=e(41869),r="",o=m=>({...m,type:"text",className:`${m.position==="left"?"rce-ai-msg":"rce-user-msg"} ${m.className?m.className:""}`}),l=(m,_)=>o({...m,position:"right",title:r,className:_,role:1});t.createMessageByUser=l;const p=(m,_)=>o({...m,position:"left",title:"",className:_,role:2});t.createMessageByAI=p;const v=m=>{let{title:_}=m;const{message:s,tooltip:g}=m;let a=m.icon||"";if(!_)return{icon:a,title:s,message:s,tooltip:g};const h=_.match(/^\$\(([a-z.]+\/)?([a-z0-9-]+)(~[a-z]+)?\)/i);if(h){const[u,d,E,f]=h,c=d?d.slice(0,-1):n.CODICON_OWNER;a=(0,n.getExternalIcon)(E,c),f&&(a+=` ${f.slice(1)}`),_=_.slice(u.length)}return{icon:a,title:_,message:s,tooltip:g}};t.extractIcon=v},19957:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LlmContextContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(46044);let p=class{initialize(){this.llmContextService.startAutoCollection()}};t.LlmContextContribution=p,n.__decorate([(0,r.Autowired)(l.LLMContextServiceToken),n.__metadata("design:type",Object)],p.prototype,"llmContextService",void 0),t.LlmContextContribution=p=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],p)},63536:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LLMContextServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(11050),l=e(25234),p=e(19083),v=e(86560),m=e(96689),_=e(82196),s=e(14951),g=e(6287),a=e(20868);let h=class extends l.WithEventBus{constructor(){super(...arguments),this.isAutoCollecting=!1,this.contextVersion=0,this.maxAttachFilesLimit=10,this.maxAttachFoldersLimit=10,this.maxViewFilesLimit=20,this.attachedFiles=[],this.attachedFolders=[],this.recentlyViewFiles=[],this.onDidContextFilesChangeEmitter=new v.Emitter,this.hasUserManualReference=!1,this.onDidContextFilesChangeEvent=this.onDidContextFilesChangeEmitter.event}addFileToList(d,E,f){const c=E.findIndex(y=>{var b,A,S,w;return y.uri.toString()===d.uri.toString()&&((b=y.selection)===null||b===void 0?void 0:b[0])===((A=d.selection)===null||A===void 0?void 0:A[0])&&((S=y.selection)===null||S===void 0?void 0:S[1])===((w=d.selection)===null||w===void 0?void 0:w[1])});c>-1&&E.splice(c,1),E.push(d),E.length>f&&E.shift()}addFolderToList(d,E,f){const c=E.findIndex(y=>y.uri.toString()===d.uri.toString());c>-1&&E.splice(c,1),E.push(d),E.length>f&&E.shift()}addFileToContext(d,E,f=!1){if(!d)return;const c={uri:d,selection:E},y=f?this.attachedFiles:this.recentlyViewFiles,b=f?this.maxAttachFilesLimit:this.maxViewFilesLimit;f&&(this.docModelManager.createModelReference(d),this.hasUserManualReference=!0),this.addFileToList(c,y,b),this.notifyContextChange()}addFolderToContext(d){if(!d)return;const E={uri:d};this.addFolderToList(E,this.attachedFolders,this.maxAttachFoldersLimit),this.notifyContextChange()}notifyContextChange(){this.onDidContextFilesChangeEmitter.fire(this.getAllContextFiles())}cleanFileContext(){this.attachedFiles=[],this.attachedFolders=[],this.hasUserManualReference=!1,this.notifyContextChange()}getAllContextFiles(){return{viewed:this.recentlyViewFiles,attached:this.attachedFiles,attachedFolders:this.attachedFolders,version:this.contextVersion++}}removeFileFromContext(d,E=!1){const f=E?this.attachedFiles:this.recentlyViewFiles,c=f.findIndex(y=>y.uri.toString()===d.toString());c>-1&&f.splice(c,1),E&&this.attachedFiles.length===0&&(this.hasUserManualReference=!1),this.notifyContextChange()}startAutoCollection(){this.isAutoCollecting||(this.isAutoCollecting=!0,this.startAutoCollectionInternal())}startAutoCollectionInternal(){this.disposables.push(this.eventBus.on(m.EditorDocumentModelCreationEvent,d=>{d.payload.uri.scheme==="file"&&this.addFileToContext(d.payload.uri,void 0,!1)})),this.disposables.push(this.eventBus.on(m.EditorDocumentModelRemovalEvent,d=>{d.payload.scheme==="file"&&this.removeFileFromContext(d.payload,!1)})),this.disposables.push(this.eventBus.on(m.EditorDocumentModelSavedEvent,d=>{d.payload.scheme})),this.disposables.push(this.eventBus.on(_.EditorSelectionChangeEvent,d=>{if(d.payload.selections.length>0){const E=[d.payload.selections[0].selectionStartLineNumber,d.payload.selections[0].positionLineNumber].sort();this.hasUserManualReference||(E[0]===E[1]?this.addFileToContext(d.payload.editorUri,void 0,!1):this.addFileToContext(d.payload.editorUri,E.sort((f,c)=>f-c),!1))}}))}stopAutoCollection(){this.dispose()}async serialize(){const d=this.getAllContextFiles(),E=v.URI.file(this.appConfig.workspaceDir);return{recentlyViewFiles:this.serializeRecentlyViewFiles(d.viewed,E),attachedFiles:this.serializeAttachedFiles(d.attached,E),attachedFolders:await this.serializeAttachedFolders(d.attachedFolders,E)}}async serializeAttachedFolders(d,E){const f=Array.from(new Set(d.map(c=>c.uri.toString())));return Promise.all(f.map(async c=>{var y;const b=new v.URI(c);return`\`\`\`
|
|
@@ -31735,7 +31737,7 @@ Adhere to these rules:
|
|
|
31735
31737
|
6. Dont include any newlines in the command.`,inputSchema:_.inputSchema,handler:this.handler.bind(this)}}async handler(a,h){return this.runCommandHandler.handler(a,h)}};t.RunTerminalCommandTool=s,n.__decorate([(0,r.Autowired)(p.ITerminalController),n.__metadata("design:type",Object)],s.prototype,"terminalController",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],s.prototype,"appConfig",void 0),n.__decorate([(0,r.Autowired)(p.ITerminalGroupViewService),n.__metadata("design:type",Object)],s.prototype,"terminalView",void 0),n.__decorate([(0,r.Autowired)(_.RunCommandHandler),n.__metadata("design:type",_.RunCommandHandler)],s.prototype,"runCommandHandler",void 0),t.RunTerminalCommandTool=s=n.__decorate([(0,l.Domain)(v.MCPServerContribution)],s)},53617:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EnhanceDecorationsCollection=t.DeltaDecorations=void 0;const n=e(43718);class r{get isHidden(){return this._hidden}get codeEditor(){return this.metadata.codeEditor}get deltaData(){return this.metadata.deltaData}get id(){return this.metadata.id}get decorationId(){return this._decorationId}get editorDecoration(){return this.metadata.editorDecoration}get group(){return this._group}constructor(p){this.metadata=p,this._hidden=!1;const{editorDecoration:v,deltaData:m,isHidden:_,group:s}=p;(0,n.isUndefined)(m.length)?this.length=v.range.endLineNumber-v.range.startLineNumber:this.length=m.length,this.range=v.range,this.options=v.options,this.resumeRange=this.range,this._hidden=!!_,this._hidden&&this.hide(),(0,n.isDefined)(s)&&this.setGroup(s)}setGroup(p){this._group=p}setRange(p){this.range=p}getRange(){return this.range}dispose(){var p,v;this.hide(),(v=(p=this.deltaData).dispose)===null||v===void 0||v.call(p)}show(){this.codeEditor.changeDecorations(p=>{this._decorationId=p.addDecoration(this.range,this.options)})}hide(){this.resumeRange=this.range,this._hidden=!0,this._decorationId&&this.codeEditor.changeDecorations(p=>{p.removeDecoration(this._decorationId)})}resume(){this._hidden&&(this._hidden=!1,this.codeEditor.changeDecorations(p=>{this._decorationId=p.addDecoration(this.resumeRange,this.options)}))}}t.DeltaDecorations=r;class o extends n.Disposable{get model(){return this.codeEditor.getModel()}constructor(p){super(),this.codeEditor=p,this.deltaDecorations=[],this._onDidDecorationsChange=this.registerDispose(new n.Emitter),this.onDidDecorationsChange=this._onDidDecorationsChange.event,this.addDispose(this.codeEditor.onDidContentSizeChange(v=>{const{contentHeightChanged:m}=v;m&&this.flush()}))}flush(){this.deltaDecorations=this.deltaDecorations.map(p=>{const{decorationId:v,editorDecoration:{range:m}}=p,_=this.model.getDecorationRange(v);return p.setRange(_??m),p}),this._onDidDecorationsChange.fire(this.deltaDecorations)}delete(p){this.deltaDecorations=this.deltaDecorations.filter(v=>v.id!==p)}createDecorations(p){return new r(p)}set(p){this.clear(),this.deltaDecorations=p.map(v=>{const m=(0,n.uuid)(6),_=this.createDecorations({id:m,editorDecoration:v,codeEditor:this.codeEditor,isHidden:v.isHidden,group:v.group,deltaData:{dispose:()=>this.delete(m),length:v.length}});return _.show(),_})}getDecorations(){return this.deltaDecorations}getDecorationByGroup(p){return this.deltaDecorations.find(v=>v.group===p)}getDecorationByLineNumber(p){return this.deltaDecorations.find(v=>v.getRange().startLineNumber===p)}clear(){this.deltaDecorations.map(p=>p.dispose()),this.deltaDecorations=[]}}t.EnhanceDecorationsCollection=o},44260:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MsgHistoryManager=void 0;const n=e(43718);class r extends n.Disposable{constructor(l){super(),this.messageMap=new Map,this.messageAdditionalMap=new Map,this._onMessageChange=new n.Emitter,this.onMessageChange=this._onMessageChange.event,this._onMessageAdditionalChange=new n.Emitter,this.onMessageAdditionalChange=this._onMessageAdditionalChange.event,l&&(this.messageMap=new Map(l.messages.map(p=>[p.id,p])),this.messageAdditionalMap=new Map(Object.entries(l.additional)))}dispose(){this.clearMessages(),super.dispose()}get size(){return this.messageMap.size}clearMessages(){this.messageMap.clear(),this.messageAdditionalMap.clear()}doAddMessage(l){const p=(0,n.uuid)(6),v=this.messageMap.size,m={...l,id:p,order:v,type:l.type||"string"};return this.messageMap.set(p,m),this._onMessageChange.fire(this.getMessages()),p}get messageList(){return Array.from(this.messageMap.values()).sort((l,p)=>l.order-p.order)}get lastMessageId(){var l;const p=this.messageList;return(l=p[p.length-1])===null||l===void 0?void 0:l.id}getMessages(){return this.messageList}addUserMessage(l){return this.doAddMessage({...l,role:1})}addAssistantMessage(l){return this.doAddMessage({...l,role:2})}updateAssistantMessage(l,p){if(!this.messageMap.has(l))return;const v=this.messageMap.get(l);this.messageMap.set(l,{...v,content:p.content})}setMessageAdditional(l,p){if(!this.messageMap.has(l))return;const m={...this.messageAdditionalMap.get(l)||{},...p};this.messageAdditionalMap.set(l,m),this._onMessageAdditionalChange.fire(m)}getMessageAdditional(l){return this.messageAdditionalMap.get(l)||{}}get sessionAdditionals(){return this.messageAdditionalMap}toJSON(){return{messages:this.getMessages(),additional:Object.fromEntries(this.messageAdditionalMap.entries())}}}t.MsgHistoryManager=r},3841:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AINativePreferencesContribution=void 0;const n=e(85608),r=e(41869),o=e(83854);let l=class{constructor(){this.schema=o.aiNativePreferenceSchema}};t.AINativePreferencesContribution=l,t.AINativePreferencesContribution=l=n.__decorate([(0,r.Domain)(r.PreferenceContribution)],l)},83854:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.aiNativePreferenceSchema=t.ETerminalAutoExecutionPolicy=t.EInlineDiffPreviewMode=void 0;const n=e(41869),r=e(40650);var o;(function(p){p.inlineLive="inlineLive",p.sideBySide="sideBySide"})(o||(t.EInlineDiffPreviewMode=o={}));var l;(function(p){p.off="off",p.auto="auto",p.always="always"})(l||(t.ETerminalAutoExecutionPolicy=l={})),t.aiNativePreferenceSchema={properties:{[n.AINativeSettingSectionsId.InlineDiffPreviewMode]:{type:"string",enum:[o.inlineLive,o.sideBySide],enumDescriptions:["%preference.ai.native.inlineDiff.preview.mode.inlineLive%","%preference.ai.native.inlineDiff.preview.mode.sideBySide%"],default:o.inlineLive},[n.AINativeSettingSectionsId.InlineChatAutoVisible]:{type:"boolean",default:!0},[n.AINativeSettingSectionsId.InlineChatCodeActionEnabled]:{type:"boolean",default:!0},[n.AINativeSettingSectionsId.InterfaceQuickNavigationEnabled]:{type:"boolean",default:!0},[n.AINativeSettingSectionsId.ChatVisibleType]:{type:"string",enum:["never","always","default"],default:"default"},[n.AINativeSettingSectionsId.IntelligentCompletionsPromptEngineeringEnabled]:{type:"boolean",default:!0},[n.AINativeSettingSectionsId.IntelligentCompletionsDebounceTime]:{type:"number",default:150},[n.AINativeSettingSectionsId.IntelligentCompletionsCacheEnabled]:{type:"boolean",default:!0},[n.AINativeSettingSectionsId.IntelligentCompletionsAlwaysVisible]:{type:"boolean",default:!1},[n.AINativeSettingSectionsId.CodeEditsLintErrors]:{type:"boolean",default:!1},[n.AINativeSettingSectionsId.CodeEditsLineChange]:{type:"boolean",default:!1},[n.AINativeSettingSectionsId.CodeEditsRenderType]:{type:"string",default:r.CodeEditsRenderType.Default,enum:[r.CodeEditsRenderType.Legacy,r.CodeEditsRenderType.Default],description:"%preference.ai.native.codeEdits.renderType%"},[n.AINativeSettingSectionsId.LLMModelSelection]:{type:"string",default:"deepseek",enum:["deepseek","anthropic","openai","openai-compatible"],description:"%preference.ai.native.llm.model.selection.description%"},[n.AINativeSettingSectionsId.ModelID]:{type:"string",default:"deepseek-chat",description:"%preference.ai.native.llm.model.id%"},[n.AINativeSettingSectionsId.DeepseekApiKey]:{type:"string",default:"",description:"%preference.ai.native.deepseek.apiKey.description%"},[n.AINativeSettingSectionsId.AnthropicApiKey]:{type:"string",default:"",description:"%preference.ai.native.anthropic.apiKey.description%"},[n.AINativeSettingSectionsId.OpenaiApiKey]:{type:"string",default:"",description:"%preference.ai.native.openai.apiKey.description%"},[n.AINativeSettingSectionsId.OpenaiBaseURL]:{type:"string",default:"",description:"%preference.ai.native.openai.baseURL.description%"},[n.AINativeSettingSectionsId.ContextWindow]:{type:"number",description:"%preference.ai.native.contextWindow.description%"},[n.AINativeSettingSectionsId.MaxTokens]:{type:"number",description:"%preference.ai.native.maxTokens.description%"},[n.AINativeSettingSectionsId.MCPServers]:{type:"array",default:[],description:"%preference.ai.native.mcp.servers.description%",items:{type:"object",required:["name","command","args"],properties:{name:{type:"string",description:"%preference.ai.native.mcp.servers.name.description%"},command:{type:"string",description:"%preference.ai.native.mcp.servers.command.description%"},type:{type:"string",enum:["stdio","sse"],enumDescriptions:["%preference.ai.native.mcp.servers.type.stdio%","%preference.ai.native.mcp.servers.type.sse%"],description:"%preference.ai.native.mcp.servers.type.description%",default:"stdio"},enabled:{type:"boolean",description:"%preference.ai.native.mcp.servers.enabled.description%",default:!0},args:{type:"array",items:{type:"string"},default:[],description:"%preference.ai.native.mcp.servers.args.description%"},env:{type:"object",additionalProperties:{type:"string"},description:"%preference.ai.native.mcp.servers.env.description%",default:{}}}}},[n.AINativeSettingSectionsId.TerminalAutoRun]:{type:"string",enum:[l.off,l.auto,l.always],default:l.auto,markdownDescription:"%ai.native.terminal.autorun.description%"},[n.AINativeSettingSectionsId.CodeEditsTyping]:{type:"boolean",default:!1},[n.AINativeSettingSectionsId.SystemPrompt]:{type:"string",description:"%preference.ai.native.chat.system.prompt.description%"}}}},77633:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenMCPServerRegistry=t.MCPServerContribution=t.AINativeCoreContribution=t.TerminalSuggestionReadableStream=t.ERunStrategy=void 0;const n=e(93062);var r;(function(l){l.EXECUTE="EXECUTE",l.PREVIEW="PREVIEW"})(r||(t.ERunStrategy=r={}));class o extends n.SumiReadableStream{static create(){return new o}}t.TerminalSuggestionReadableStream=o,t.AINativeCoreContribution=Symbol("AINativeCoreContribution"),t.MCPServerContribution=Symbol("MCPServerContribution"),t.TokenMCPServerRegistry=Symbol("TokenMCPServerRegistry")},24522:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ttPolicy=t.renderLines=void 0;const n=e(85608),r=e(55405),o=n.__importStar(e(98236)),l=e(27357),p=e(31324),v=e(33892),m=e(24315),_=(s,g,a,h)=>{const u=h.get(p.EditorOption.disableMonospaceOptimizations),d=h.get(p.EditorOption.stopRenderingLineAfter),E="none",f=h.get(p.EditorOption.renderControlCharacters),c=h.get(p.EditorOption.fontLigatures),y=h.get(p.EditorOption.fontInfo),b=h.get(p.EditorOption.lineHeight),A=new v.StringBuilder(1e4);A.appendString('<div class="suggest-preview-text">');for(let T=0,D=a.length;T<D;T++){const I=a[T],R=I.content;A.appendString('<div class="view-line'),A.appendString('" style="top:'),A.appendString(String(T*b)),A.appendString('px;width:1000000px;">');const P=o.isBasicASCII(R),O=o.containsRTL(R);(0,m.renderViewLine)(new m.RenderLineInput(y.isMonospace&&!u,y.canUseHalfwidthRightwardsArrow,R,!1,P,O,0,I.lineTokens,I.decorations,g,0,y.spaceWidth,y.middotWidth,y.wsmiddotWidth,d,E,f,c!==p.EditorFontLigatures.OFF,null),A),A.appendString("</div>")}A.appendString("</div>"),(0,l.applyFontInfo)(s,y);const S=A.build(),w=t.ttPolicy?t.ttPolicy.createHTML(S):S;s.innerHTML=w};t.renderLines=_,t.ttPolicy=(0,r.createTrustedTypesPolicy)("editorGhostText",{createHTML:s=>s})},90614:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineResultAction=void 0;const r=e(85608).__importStar(e(14041)),o=e(66205),l=e(89195),p=e(43718),v=e(31031),m=({onResultClick:_})=>{const s=(0,r.useMemo)(()=>[{icon:"check",text:(0,p.localize)("aiNative.inline.chat.operate.check.title"),btnType:"default",onClick:()=>_(v.EResultKind.ACCEPT)},{icon:"discard",text:(0,p.localize)("aiNative.operate.discard.title"),onClick:()=>_(v.EResultKind.DISCARD)},{icon:"afresh",text:(0,p.localize)("aiNative.operate.afresh.title"),onClick:()=>_(v.EResultKind.REGENERATE)}],[_]);return r.default.createElement(o.ContentWidgetContainerPanel,{style:{transform:"translateY(4px)"}},r.default.createElement(l.AIInlineResult,{iconItems:s}))};t.InlineResultAction=m},40111:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineChatController=void 0;const n=e(43718),r=e(93062),o=e(98864);class l{static is(v){return v instanceof l&&typeof v.mountReadable=="function"}constructor(v){this.options=v,this._onData=new n.Emitter,this.onData=this._onData.event,this._onEnd=new n.Emitter,this.onEnd=this._onEnd.event,this._onAbort=new n.Emitter,this.onAbort=this._onAbort.event,this._onError=new n.Emitter,this.onError=this._onError.event,this._stream=null,this._listened=!1}calculateCodeBlocks(v){var m;return!((m=this.options)===null||m===void 0)&&m.enableCodeblockRender?(0,o.extractCodeBlocks)(v):v}mountReadable(v){this._stream=v}get isListened(){return this._listened}listen(){if(this._listened)return;if(!this._stream)throw new Error("No Stream mounted");this._listened=!0;const v=new n.ReplyResponse("");let m="";(0,r.listenReadable)(this._stream,{onData:_=>{m+=_.content;const s=this.calculateCodeBlocks(m);v.updateMessage(s),this._onData.fire(v)},onEnd:()=>{m?this._onEnd.fire():this._onError.fire(new n.ErrorResponse(new Error("No content")))},onError:_=>{n.AbortError.is(_)?this._onAbort.fire():this._onError.fire(new n.ErrorResponse(_))}})}}t.InlineChatController=l},51221:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineChatEditorController=void 0;const n=e(41869),r=e(43718),o=e(66482),l=e(54414),p=e(52902),v=e(77659),m=e(99906),_=e(89132),s=e(38890),g=e(40111),a=e(31031),h=e(26664);class u extends m.BaseAIMonacoEditorController{constructor(){super(...arguments),this.aiInlineChatDisposable=new r.Disposable,this.aiInlineChatOperationDisposable=new r.Disposable,this.inlineChatInUsing=!1}static get(E){return E.getContribution(u.ID)}get aiNativeConfigService(){return this.injector.get(n.AINativeConfigService)}get aiInlineChatService(){return this.injector.get(n.IAIInlineChatService)}get inlineChatFeatureRegistry(){return this.injector.get(r.InlineChatFeatureRegistryToken)}get preferenceService(){return this.injector.get(n.PreferenceService)}get aiReporter(){return this.injector.get(r.IAIReporter)}get workbenchEditorService(){return this.injector.get(l.WorkbenchEditorService)}get codeActionService(){return this.injector.get(_.CodeActionService)}get logger(){return this.injector.get(r.ILogger)}get contextKeyService(){return this.injector.get(n.IContextKeyService)}mount(){if(this.aiNativeContextKey=this.injector.get(v.AINativeContextKey,[this.monacoEditor.contextKeyService]),this.inlineDiffController=s.InlineDiffController.get(this.monacoEditor),!this.monacoEditor)return this.featureDisposable;this.featureDisposable.addDispose(this.aiInlineChatService.onInlineChatVisible(c=>{c?this.showInlineChat(this.monacoEditor):(this.cancelToken(),this.disposeAllWidget())})),this.featureDisposable.addDispose(this.codeActionService.onCodeActionRun(({id:c,range:y})=>{const b=this.workbenchEditorService.currentEditor;b?.getId()===this.monacoEditor.getId()&&(this.monacoEditor.setSelection(y),this.showInlineChat(this.monacoEditor),this.aiInlineContentWidget&&this.aiInlineContentWidget.clickActionId(c,"codeAction"))})),this.featureDisposable.addDispose(this.monacoEditor.onWillChangeModel(()=>{this.disposeAllWidget()}));let E=!1;this.featureDisposable.addDispose(this.monacoEditor.onMouseDown(c=>{const b=c.target.detail;E=!1,!(b&&typeof b=="string"&&b===r.AIInlineChatContentWidgetId)&&this.aiInlineContentWidget&&!this.aiInlineContentWidget.isPersisted&&this.disposeAllWidget()})),this.featureDisposable.addDispose(this.monacoEditor.onMouseUp(c=>{const b=c.target.detail;b&&typeof b=="string"&&b===r.AIInlineChatContentWidgetId?E=!1:E=!0}));let f=this.preferenceService.getValid(r.AINativeSettingSectionsId.InlineChatAutoVisible,!0);return this.featureDisposable.addDispose(this.preferenceService.onSpecificPreferenceChange(r.AINativeSettingSectionsId.InlineChatAutoVisible,({newValue:c})=>{f=c})),this.featureDisposable.addDispose(r.Event.debounce(r.Event.any(this.monacoEditor.onDidChangeCursorSelection,this.monacoEditor.onMouseUp),(c,y)=>y,r.FRAME_THREE)(()=>{!f||!E||this.aiInlineContentWidget&&this.aiInlineContentWidget.isPersisted||this.showInlineChat(this.monacoEditor)})),this.featureDisposable}disposeAllWidget(){[this.aiInlineContentWidget,this.aiInlineChatDisposable,this.aiInlineChatOperationDisposable].forEach(E=>{E?.dispose()}),this.inlineChatInUsing=!1,this.cancelToken()}showInlineContentWidget(E,f){this.aiInlineContentWidget&&this.aiInlineContentWidget.dispose(),this.aiInlineContentWidget=this.injector.get(h.AIInlineContentWidget,[E]),this.aiInlineContentWidget.show({selection:f})}async showInlineChat(E){if(this.contextKeyService.getContextKeyValue(o.CONTEXT_IN_DEBUG_MODE_KEY)||this.aiNativeContextKey.inlineInputWidgetIsVisible.get()||this.aiNativeContextKey.inlineInputWidgetIsStreaming.get()||!this.aiNativeConfigService.capabilities.supportsInlineChat||this.inlineChatInUsing)return;this.inlineChatInUsing=!0,this.disposeAllWidget();const b=E.getSelection();!b||b.isEmpty()||(this.showInlineContentWidget(E,b),this.aiInlineChatDisposable.addDispose(this.aiInlineContentWidget.onActionClick(({actionId:A,source:S})=>{const w=this.inlineChatFeatureRegistry.getEditorHandler(A),T=this.inlineChatFeatureRegistry.getAction(A);if(!w||!T)return;const D=this.getCrossSelection(E);if(!D)return;const I=()=>{const R=w.providerDiffPreviewStrategy?w.providerDiffPreviewStrategy:w.providePreviewStrategy;if(R)return R.bind(this,E,D,this.token)};this.runAction({monacoEditor:E,crossSelection:D,reporterFn:()=>this.aiReporter.start(T.name,{message:T.name,type:r.AIServiceType.InlineChat,source:S,runByCodeAction:S==="codeAction",actionSource:S==="codeAction"?r.ActionSourceEnum.CodeAction:r.ActionSourceEnum.InlineChat,actionType:T.name}),execute:w.execute?w.execute.bind(this,E,D,this.token):void 0,providerPreview:I(),extraData:{actionSource:S==="codeAction"?r.ActionSourceEnum.CodeAction:r.ActionSourceEnum.InlineChat,actionType:T.name}})})))}getCrossSelection(E){const f=E.getSelection();if(!f){this.logger.error("No selection found, aborting inline chat action.");return}return f.setStartPosition(f.startLineNumber,1).setEndPosition(f.endLineNumber,E.getModel().getLineMaxColumn(f.endLineNumber))}convertInlineChatStatus(E,f){if(!this.aiInlineContentWidget)return;const{relationId:c,message:y,startTime:b,isRetry:A,isStop:S}=f;let w;E===a.EInlineChatStatus.DONE&&(w=this.inlineDiffController.getModifyContent()),this.aiInlineChatDisposable.addDispose(this.aiInlineContentWidget.launchChatStatus(E)),this.aiReporter.end(c,{message:y,success:E!==a.EInlineChatStatus.ERROR,replytime:Date.now()-b,isStop:S,isRetry:A,code:w,actionType:f?.actionType,actionSource:f?.actionSource})}visibleDiffWidget(E){const{monacoEditor:f,options:c,reportInfo:y}=E,{chatResponse:b}=c,{relationId:A,startTime:S,isRetry:w,actionType:T,actionSource:D}=y;if(g.InlineChatController.is(b))this.aiInlineChatOperationDisposable.addDispose([b.onError(R=>{this.convertInlineChatStatus(a.EInlineChatStatus.ERROR,{relationId:A,message:R.message||"",startTime:S,isRetry:w,actionSource:D,actionType:T})}),b.onAbort(()=>{this.convertInlineChatStatus(a.EInlineChatStatus.READY,{relationId:A,message:"abort",startTime:S,isRetry:w,isStop:!0,actionSource:D,actionType:T})}),b.onEnd(()=>{this.convertInlineChatStatus(a.EInlineChatStatus.DONE,{relationId:A,message:"",startTime:S,isRetry:w,actionSource:D,actionType:T})})]);else{if(this.aiInlineContentWidget&&this.aiInlineChatDisposable.disposed||r.CancelResponse.is(b)){this.convertInlineChatStatus(a.EInlineChatStatus.READY,{relationId:A,message:b.message||"",startTime:S,isRetry:w,isStop:!0,actionSource:D,actionType:T});return}if(r.ErrorResponse.is(b)){this.convertInlineChatStatus(a.EInlineChatStatus.ERROR,{relationId:A,message:b.message||"",startTime:S,isRetry:w,actionSource:D,actionType:T});return}this.convertInlineChatStatus(a.EInlineChatStatus.DONE,{relationId:A,message:"",startTime:S,isRetry:w,actionSource:D,actionType:T})}this.inlineDiffController.showPreviewerByStream(f,c).mountWidget(this.aiInlineContentWidget)}ensureInlineChatVisible(E,f){this.aiInlineContentWidget.disposed?this.showInlineContentWidget(E,f):this.aiInlineContentWidget.isHidden&&this.aiInlineContentWidget.resume()}async handleDiffPreviewStrategy(E){if(!this.aiInlineContentWidget)return;const{monacoEditor:f,strategy:c,crossSelection:y,relationId:b,isRetry:A,actionType:S,actionSource:w}=E,T=f.getModel();this.aiInlineChatOperationDisposable.dispose(),this.ensureInlineChatVisible(f,y),this.aiInlineChatDisposable.addDispose(this.aiInlineContentWidget.launchChatStatus(a.EInlineChatStatus.THINKING));const D=Date.now();if(this.token.isCancellationRequested){this.convertInlineChatStatus(a.EInlineChatStatus.READY,{relationId:b,message:"abort",startTime:D,isRetry:A,isStop:!0,actionSource:w,actionType:S});return}const I=await c();if(r.CancelResponse.is(I)){this.convertInlineChatStatus(a.EInlineChatStatus.READY,{relationId:b,message:"abort",startTime:D,isRetry:A,isStop:!0,actionSource:w,actionType:S}),this.disposeAllWidget();return}this.aiInlineChatOperationDisposable.addDispose([this.aiInlineContentWidget.onResultClick(R=>{const P=this.inlineDiffController.getModifyContent(),O=this.inlineDiffController.getOriginContent();this.inlineDiffController.handleAction(R),R===a.EResultKind.ACCEPT?(this.aiReporter.end(b,{message:"accept",success:!0,isReceive:!0,isDrop:!1,code:P,originCode:O,actionType:r.ActionTypeEnum.Accept}),(0,r.runWhenIdle)(()=>{this.disposeAllWidget()})):R===a.EResultKind.DISCARD?(this.aiReporter.end(b,{message:"discard",success:!0,isDrop:!0,isReceive:!1,code:P,originCode:O,actionType:r.ActionTypeEnum.Discard}),(0,r.runWhenIdle)(()=>{this.disposeAllWidget()})):R===a.EResultKind.REGENERATE&&(this.aiReporter.end(b,{message:"regenerate",success:!0,isDrop:!0,isReceive:!1,code:P,originCode:O,actionType:r.ActionTypeEnum.Regenerate}),this.handleDiffPreviewStrategy({monacoEditor:f,strategy:c,crossSelection:y,relationId:b,isRetry:!0,actionSource:w,actionType:S}))}),this.aiInlineChatService.onThumbs(R=>{this.aiReporter.end(b,{isLike:R})}),this.inlineDiffController.onMaxLineCount(R=>{requestAnimationFrame(()=>{if(y.endLineNumber===T.getLineCount()){const P=f.getOption(p.monacoApi.editor.EditorOption.lineHeight);this.aiInlineContentWidget.setOffsetTop(P*R+12)}})})]),this.visibleDiffWidget({monacoEditor:f,options:{crossSelection:y,chatResponse:I},reportInfo:{relationId:b,startTime:D,isRetry:A,actionType:S,actionSource:w}})}async runAction(E){const{monacoEditor:f,crossSelection:c,reporterFn:y,execute:b,providerPreview:A,extraData:S}=E;if(b&&(await b(),this.disposeAllWidget()),A){const w=y();await this.handleDiffPreviewStrategy({monacoEditor:f,strategy:A,crossSelection:c,relationId:w,isRetry:!1,actionSource:S?.actionSource,actionType:S?.actionType})}}}t.InlineChatEditorController=u,u.ID="editor.contrib.ai.inline.chat"},2281:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineChatFeatureRegistry=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(57925),p=e(43718),v=e(89132),m=e(74353),_=e(86443);let s=class extends p.Disposable{constructor(){super(...arguments),this.actionsMap=new Map,this.editorHandlerMap=new Map,this.terminalHandlerMap=new Map}dispose(){super.dispose(),this.actionsMap.clear(),this.editorHandlerMap.clear(),this.terminalHandlerMap.clear()}collectActions(a){const{id:h}=a;return this.actionsMap.has(h)?(this.logger.warn(`InlineChatFeatureRegistry: id ${h} already exists`),!1):((0,p.isUndefined)(a.renderType)&&(a.renderType="button"),(0,p.isUndefined)(a.order)&&(a.order=0),this.actionsMap.set(h,a),!0)}removeCollectedActions(a){this.actionsMap.delete(a.id),this.codeActionService.deleteCodeActionById(a.id)}registerEditorInlineChat(a,h){return this.collectActions(a)&&(this.editorHandlerMap.set(a.id,h),this.codeActionService.registerCodeAction(a)),{dispose:()=>{this.removeCollectedActions(a)}}}unregisterEditorInlineChat(a){return this.removeCollectedActions(a)}registerTerminalInlineChat(a,h){return this.collectActions(a)&&((0,p.isUndefined)(h.triggerRules)&&(h.triggerRules="selection"),this.terminalHandlerMap.set(a.id,h)),{dispose:()=>{this.removeCollectedActions(a)}}}unregisterTerminalInlineChat(a){return this.removeCollectedActions(a)}registerInteractiveInput(a,h){const u=()=>{const d=String(this.inlineInputService.getSequenceKeyString());if(!d)return;const E={id:_.InteractiveInputModel.ID,name:(0,p.formatLocalize)("aiNative.inline.chat.operate.chat.title",d.toLocaleUpperCase()),renderType:"button",order:Number.MAX_SAFE_INTEGER};this.actionsMap.has(E.id)?this.actionsMap.set(E.id,E):this.collectActions(E)};return this.addDispose(p.Event.filter(this.keybindingRegistry.onKeybindingsChanged,({affectsCommands:d})=>d.includes(l.AI_INLINE_CHAT_INTERACTIVE_INPUT_VISIBLE.id))(()=>u())),u(),this.inlineInputService.registerInlineInput(a,h)}getEditorActionButtons(){const a=Array.from(this.editorHandlerMap.keys()).filter(h=>{const u=this.actionsMap.get(h);return u&&u.renderType==="button"}).map(h=>this.actionsMap.get(h)).sort((h,u)=>h.order-u.order);return this.actionsMap.has(_.InteractiveInputModel.ID)&&a.push(this.actionsMap.get(_.InteractiveInputModel.ID)),a}getEditorActionMenus(){return Array.from(this.editorHandlerMap.keys()).filter(a=>{const h=this.actionsMap.get(a);return h&&h.renderType==="dropdown"}).map(a=>this.actionsMap.get(a))}getEditorHandler(a){return this.editorHandlerMap.get(a)}getTerminalHandler(a){return this.terminalHandlerMap.get(a)}getTerminalActions(){return Array.from(this.terminalHandlerMap.keys()).map(a=>this.actionsMap.get(a))}getAction(a){return this.actionsMap.get(a)}};t.InlineChatFeatureRegistry=s,n.__decorate([(0,r.Autowired)(o.Logger),n.__metadata("design:type",o.Logger)],s.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(v.CodeActionService),n.__metadata("design:type",v.CodeActionService)],s.prototype,"codeActionService",void 0),n.__decorate([(0,r.Autowired)(m.InlineInputService),n.__metadata("design:type",m.InlineInputService)],s.prototype,"inlineInputService",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],s.prototype,"keybindingRegistry",void 0),t.InlineChatFeatureRegistry=s=n.__decorate([(0,r.Injectable)()],s)},31031:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineChatService=t.EResultKind=t.EInlineChatStatus=void 0;const n=e(85608),r=e(76003),o=e(43718);var l=e(19413);Object.defineProperty(t,"EInlineChatStatus",{enumerable:!0,get:function(){return l.EInlineChatStatus}}),Object.defineProperty(t,"EResultKind",{enumerable:!0,get:function(){return l.EResultKind}});let p=class{constructor(){this._onInlineChatVisible=new o.Emitter,this.onInlineChatVisible=this._onInlineChatVisible.event,this._onThumbs=new o.Emitter,this.onThumbs=this._onThumbs.event}fireThumbsEvent(m){this._onThumbs.fire(m)}};t.InlineChatService=p,t.InlineChatService=p=n.__decorate([(0,r.Injectable)({multiple:!1})],p)},26664:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIInlineContentWidget=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(76003),l=e(41869),p=e(89195),v=e(64102),m=e(43718),_=n.__importStar(e(20868)),s=e(62663),g=e(52659),a=e(77659),h=e(90614),u=e(74353),d=e(86443),E=n.__importDefault(e(26899)),f=e(31031),c=b=>{const{onClickActions:A,onClose:S,onChatStatus:w,onResultClick:T}=b,D=(0,l.useInjectable)(l.IAIInlineChatService),I=(0,l.useInjectable)(m.InlineChatFeatureRegistryToken),[R,P]=(0,r.useState)(f.EInlineChatStatus.READY);(0,r.useEffect)(()=>{const j=new m.Disposable;return j.addDispose(w(G=>P(G))),()=>{j.dispose()}},[w,D]),(0,r.useEffect)(()=>{R===f.EInlineChatStatus.ERROR&&S?.()},[S]);const O=(0,r.useMemo)(()=>R===f.EInlineChatStatus.THINKING,[R]),M=(0,r.useMemo)(()=>R===f.EInlineChatStatus.DONE,[R]),k=(0,r.useMemo)(()=>R===f.EInlineChatStatus.ERROR,[R]),F=(0,r.useMemo)(()=>I.getEditorActionButtons(),[I]),L=(0,r.useCallback)(j=>{A?.(j)},[A]),B=(0,r.useCallback)(()=>{S?.()},[S]),U=(0,r.useMemo)(()=>I.getEditorActionMenus().map(j=>new v.MenuNode({id:`ai.menu.operation.${j.id}`,label:j.name,className:E.default.more_operation_menu_item,execute:()=>{L(j.id)}})),[I]),W=(0,r.useCallback)(()=>F.length===0&&U.length===0||k?null:M?r.default.createElement(h.InlineResultAction,{onResultClick:T}):r.default.createElement(p.AIAction,{operationList:F,moreOperation:U,onClickItem:L,onClose:B,loading:O}),[F,U,T,R]);return r.default.createElement("div",{className:E.default.inline_chat_controller_box},W())};let y=class extends g.ReactInlineContentWidget{get status(){return this._status}get isPersisted(){return!this.isHidden&&this.status!==f.EInlineChatStatus.READY&&this.status!==f.EInlineChatStatus.ERROR}constructor(A){super(A),this.editor=A,this.allowEditorOverflow=!0,this._onActionClickEmitter=new m.Emitter,this.onActionClick=this._onActionClickEmitter.event,this._onStatusChange=new m.Emitter,this.onStatusChange=this._onStatusChange.event,this._onResultClick=new m.Emitter,this.onResultClick=this._onResultClick.event,this._status=f.EInlineChatStatus.READY,this.aiNativeContextKey=this.injector.get(a.AINativeContextKey,[this.editor.contextKeyService])}launchChatStatus(A){return(0,m.runWhenIdle)(()=>{this._status=A,this._onStatusChange.fire(A)})}dispose(){this.launchChatStatus(f.EInlineChatStatus.READY),super.dispose()}clickActionId(A,S){var w;if(A===d.InteractiveInputModel.ID&&(!((w=this.options)===null||w===void 0)&&w.selection)){this.hide(),this.inlineInputService.visibleBySelection(this.options.selection);return}this._onActionClickEmitter.fire({actionId:A,source:S})}renderView(){return r.default.createElement(c,{onClickActions:A=>this.clickActionId(A,"widget"),onClose:()=>this.dispose(),onChatStatus:this.onStatusChange.bind(this),onResultClick:A=>{this._onResultClick.fire(A)}})}async show(A){super.show(A),this.aiNativeContextKey.inlineChatIsVisible.set(!0)}getDomNode(){const A=super.getDomNode();return requestAnimationFrame(()=>{A.style.zIndex=(l.StackingLevel.FindWidget-1).toString()}),A}async hide(){this.aiNativeContextKey.inlineChatIsVisible.set(!1),super.hide()}setOptions(A){this.options=A}setOffsetTop(A){this.domNode.style.transform=`translateY(${A}px)`}id(){return m.AIInlineChatContentWidgetId}getPosition(){const A=super.getPosition();if(A)return A;if(!this.options)return null;const{selection:S}=this.options;if(!S)return null;const w=this.computePosition(S);return w||null}safeGetLineLastNonWhitespaceColumn(A){const S=this.editor.getModel();A<1&&(A=1);const w=S.getLineCount();return A>w&&(A=w),S.getLineLastNonWhitespaceColumn(A)}toAbovePosition(A,S){return{position:new _.Position(A,S),preference:[s.monacoBrowser.editor.ContentWidgetPositionPreference.ABOVE,s.monacoBrowser.editor.ContentWidgetPositionPreference.BELOW]}}toBelowPosition(A,S){return{position:new _.Position(A,S),preference:[s.monacoBrowser.editor.ContentWidgetPositionPreference.BELOW,s.monacoBrowser.editor.ContentWidgetPositionPreference.ABOVE]}}recheckSelection(A){const S=A.getStartPosition(),w=A.getEndPosition(),D=this.editor.getModel().getLineCount(),I=Math.max(1,w.lineNumber-1),R=Math.min(D,w.lineNumber+1),P=S.with(I,1),O=w.with(R,this.safeGetLineLastNonWhitespaceColumn(R));if(D===1)return this.toBelowPosition(R,this.safeGetLineLastNonWhitespaceColumn(R));if(O.lineNumber===1&&w.lineNumber!==S.lineNumber)return this.computePosition(_.Selection.fromPositions(P,O));const M=this.safeGetLineLastNonWhitespaceColumn(I),k=this.safeGetLineLastNonWhitespaceColumn(R),F=this.safeGetLineLastNonWhitespaceColumn(w.lineNumber);return k>F&&k>M?this.computePosition(_.Selection.fromPositions(O,P)):this.computePosition(_.Selection.fromPositions(P,O))}isProtrudeAbove(A){const S=this.safeGetLineLastNonWhitespaceColumn(A);return S>=this.safeGetLineLastNonWhitespaceColumn(A-1)&&S>=this.safeGetLineLastNonWhitespaceColumn(A-2)}isProtrudeBelow(A){const S=this.safeGetLineLastNonWhitespaceColumn(A);return S>=this.safeGetLineLastNonWhitespaceColumn(A+1)&&S>=this.safeGetLineLastNonWhitespaceColumn(A+2)}computePosition(A){const S=A.getStartPosition(),w=A.getEndPosition();let T=A.getPosition();const I=this.editor.getModel().getLineCount();if(S.lineNumber===w.lineNumber)return this.recheckSelection(A);w.lineNumber-S.lineNumber===1&&(T=w);const R=this.safeGetLineLastNonWhitespaceColumn(T.lineNumber);let P=T.lineNumber,O="below";if(T.equals(S)){if(Math.max(this.safeGetLineLastNonWhitespaceColumn(T.lineNumber-1),this.safeGetLineLastNonWhitespaceColumn(T.lineNumber-2))<=R)return this.toAbovePosition(T.lineNumber,R);for(let F=S.lineNumber;F<=w.lineNumber;F++){if(this.isProtrudeAbove(F)){P=F,O="above";break}if(this.isProtrudeBelow(F)){P=F,O="below";break}}}else if(T.equals(w)){if(Math.max(this.safeGetLineLastNonWhitespaceColumn(T.lineNumber+1),this.safeGetLineLastNonWhitespaceColumn(T.lineNumber+2))<=R)return this.toBelowPosition(T.lineNumber,R);for(let F=Math.min(I,w.lineNumber+1);F>=S.lineNumber;F--){if(this.isProtrudeBelow(F)){P=F,O="below";break}if(this.isProtrudeAbove(F)){P=F,O="above";break}}}const M=this.safeGetLineLastNonWhitespaceColumn(P)+1;return O==="below"?this.toBelowPosition(P,M):this.toAbovePosition(P,M)}};t.AIInlineContentWidget=y,n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],y.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(u.InlineInputService),n.__metadata("design:type",u.InlineInputService)],y.prototype,"inlineInputService",void 0),t.AIInlineContentWidget=y=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],y)},15989:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(38890),t),n.__exportStar(e(49444),t),n.__exportStar(e(37679),t),n.__exportStar(e(51347),t)},95608:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineDiffManager=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),p=e(54414),v=e(73974),m=n.__importDefault(e(69790)),_=g=>r.default.createElement(o.Popover,{content:g.content,id:g.id,onClick:g.onClick},r.default.createElement(o.Icon,{iconClass:g.icon,className:g.disabled?m.default.disabled:""})),s=g=>{var a,h;const{resource:u}=g,d=(0,l.useInjectable)(v.BaseApplyService),E=(0,l.useInjectable)(p.WorkbenchEditorService),f=(0,l.useInjectable)(l.AppConfig),[c,y]=(0,r.useState)(!0),[b,A]=(0,r.useState)(0),[S,w]=(0,r.useState)(0),[T,D]=(0,r.useState)(d.getPendingPaths()),I=(0,r.useMemo)(()=>l.path.relative(f.workspaceDir,u.uri.path.toString()),[u]),R=(h=(a=d.currentPreviewer)===null||a===void 0?void 0:a.getNode())===null||h===void 0?void 0:h.livePreviewDiffDecorationModel;(0,r.useEffect)(()=>{const F=new l.DisposableStore;return R&&(A(R.partialEditWidgetCount),F.add(R.onPartialEditWidgetListChange(L=>{A(L.filter(B=>B.status==="pending").length)}))),F.add(d.onCodeBlockUpdate(L=>{l.path.relative(f.workspaceDir,g.resource.uri.path.toString())===L.relativePath&&y(L.status==="pending");const B=d.getPendingPaths();D(B),R&&A(R.partialEditWidgetCount)})),()=>{F.dispose()}},[R]);const P=(0,r.useCallback)(F=>{const L=R?.revealSiblingChange(F);L!==void 0&&w(L)},[R]),O=(0,r.useCallback)(F=>{const L=T.indexOf(I);if(L===-1)return;const B=l.URI.file(l.path.join(f.workspaceDir,T[L+(F==="up"?-1:1)]));E.open(B)},[I,T]),M=(0,r.useMemo)(()=>b===0?"":` ${S+1} of ${b}`,[b,S]),k=(0,r.useMemo)(()=>I?` ${T.indexOf(I)+1} of ${T.length}`:"",[I,T]);return r.default.createElement("div",{className:m.default.inlineDiffManager,style:{display:c?"flex":"none"}},r.default.createElement("div",{className:m.default.mid},r.default.createElement(_,{icon:"codicon codicon-check",onClick:()=>d.processAll("accept",g.resource.uri),content:(0,l.localize)("aiNative.inlineDiff.acceptAll"),id:"inline-diff-manager-accept-all"}),r.default.createElement(_,{icon:"codicon codicon-close",onClick:()=>d.processAll("reject",g.resource.uri),content:(0,l.localize)("aiNative.inlineDiff.rejectAll"),id:"inline-diff-manager-reject-all"}),r.default.createElement(_,{icon:"codicon codicon-arrow-up",content:(0,l.localize)("aiNative.inlineDiff.up")+M,id:"inline-diff-manager-up",disabled:S===0,onClick:()=>P("up")}),r.default.createElement(_,{icon:"codicon codicon-arrow-down",content:(0,l.localize)("aiNative.inlineDiff.down")+M,id:"inline-diff-manager-down",disabled:S===b-1,onClick:()=>P("down")})),r.default.createElement("div",{className:m.default.right},r.default.createElement(_,{icon:"codicon codicon-arrow-left",onClick:()=>O("up"),disabled:T.length===0||T[0]===I,content:(0,l.localize)("aiNative.inlineDiff.left")+k,id:"inline-diff-manager-left"}),r.default.createElement(_,{icon:"codicon codicon-arrow-right",onClick:()=>O("down"),disabled:T.length===0||T[T.length-1]===I,content:(0,l.localize)("aiNative.inlineDiff.right")+k,id:"inline-diff-manager-right"})))};t.InlineDiffManager=s},49444:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LiveInlineDiffPreviewer=t.SideBySideInlineDiffWidget=t.BaseInlineDiffPreviewer=void 0;const r=e(85608),o=e(76003),l=e(43718),p=e(54414),v=e(20868),m=e(90052),_=e(77714),s=e(52451),g=e(43255),a=e(24347),h=e(11827),u=e(9491),d=e(31031),E=e(33062),f=e(37679);let c=class extends l.Disposable{constructor(S){super(),this.monacoEditor=S,this.inlineContentWidget=null,this.model=this.monacoEditor.getModel(),this.modelId=this.model.id,this.addDispose(l.Disposable.create(()=>{this.inlineContentWidget&&this.inlineContentWidget.dispose(),this.attachNode(void 0)}))}formatIndentation(S){const w=this.selection.startLineNumber,T=(0,_.getLeadingWhitespace)(this.model.getLineContent(w));if(S===_.empty||T===_.empty)return S;const{tabSize:D,insertSpaces:I}=this.model.getOptions(),R=this.model.getEOL(),P=(0,u.getSpaceCnt)(T,D);let O=(0,u.generateIndent)(P,D,I);const M=S.split(R),k=M[0];let F=!1;if(k){const B=(0,_.getLeadingWhitespace)(k);O===B?O="":O.length>B.length?O=O.slice(B.length):(O=B.slice(O.length),F=!0)}return M.map(B=>{if(F){const U=(0,_.getLeadingWhitespace)(B);return B=O+B.substring(U.length),B}return O+B}).join(R)}getNode(){return this.node}mountWidget(S){this.inlineContentWidget=S}layout(){var S,w;(S=this.inlineContentWidget)===null||S===void 0||S.setOptions({position:this.getPosition()}),(w=this.inlineContentWidget)===null||w===void 0||w.layoutContentWidget()}onReady(S){return S(),l.Disposable.NULL}create(S,w={disposeWhenEditorClosed:!0}){this.selection=S,this.node=this.createNode(w.reverse),this.node.setPreviewerOptions(w)}attachNode(S){this.node=S}show(S,w){}onLineCount(S){return this}setValue(S){}getValue(){return""}getOriginValue(){return""}onError(S){}onAbort(){}onEnd(){}revealFirstDiff(){}render(){}hide(){}resume(){}isModel(S){return this.model.uri.toString()===S}};t.BaseInlineDiffPreviewer=c,r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],c.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(p.WorkbenchEditorService),r.__metadata("design:type",p.WorkbenchEditorService)],c.prototype,"editorService",void 0),t.BaseInlineDiffPreviewer=c=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[Object])],c);let y=n=class extends c{createNode(){const S=this.injector.get(f.InlineDiffWidget,[n.AI_DIFF_WIDGET_ID,{editor:this.monacoEditor,selection:this.selection}]);return S.create(),this.addDispose(S),S}mountWidget(S){super.mountWidget(S),S.addDispose(this)}getPosition(){return v.Position.lift({lineNumber:this.selection.endLineNumber+1,column:1})}layout(){var S;(S=this.inlineContentWidget)===null||S===void 0||S.setPositionPreference([m.ContentWidgetPositionPreference.BELOW]),super.layout()}onReady(S){return this.node?this.node.onReady(S.bind(this)):l.Disposable.NULL}show(S,w){var T;(T=this.node)===null||T===void 0||T.showByLine(S,w)}setValue(S){var w;const T=(w=this.node)===null||w===void 0?void 0:w.getModifiedModel();T?.setValue(this.formatIndentation(S))}getValue(){var S;return((S=this.node)===null||S===void 0?void 0:S.getModifiedModel()).getValue()}getOriginValue(){var S;return((S=this.node)===null||S===void 0?void 0:S.getOriginModel()).getValue()||""}handleAction(S){if(S===d.EResultKind.ACCEPT){const w=this.getValue();this.model.pushEditOperations(null,[{range:this.selection,text:w}],()=>null),this.model.pushStackElement()}}onLineCount(S){var w;return(w=this.node)===null||w===void 0||w.onMaxLineCount(S.bind(this)),this}onData(S){var w,T;const{message:D}=S,I=this.formatIndentation(D),R=(w=this.node)===null||w===void 0?void 0:w.getModifiedModel(),P=R.getEOL()===`\r
|
|
31736
31738
|
`?g.DefaultEndOfLine.CRLF:g.DefaultEndOfLine.LF,{textBuffer:O,disposable:M}=(0,a.createTextBuffer)(I,P),k=h.ModelService._computeEdits(R,O);R.pushEditOperations([],k,()=>[]),M.dispose(),(T=this.node)===null||T===void 0||T.layout()}onError(S){var w;(w=this.node)===null||w===void 0||w.layout()}onAbort(){var S;(S=this.node)===null||S===void 0||S.layout()}onEnd(){var S;(S=this.node)===null||S===void 0||S.layout()}};t.SideBySideInlineDiffWidget=y,y.AI_DIFF_WIDGET_ID="AI-DIFF-WIDGET",t.SideBySideInlineDiffWidget=y=n=r.__decorate([(0,o.Injectable)({multiple:!0})],y);let b=class extends c{listenNode(S){S.addDispose(S.onDidEditChange(()=>this.layout())),S.addDispose(S.onPartialEditWidgetListChange(T=>{var D;T.every(I=>I.isHidden)&&(this.dispose(),(D=this.inlineContentWidget)===null||D===void 0||D.dispose())}));const w=S.onDispose(()=>{this.dispose(),w.dispose()});this.addDispose(S)}createNode(S){let w;return S?w=this.injector.get(E.ReverseInlineStreamDiffHandler,[this.monacoEditor]):w=this.injector.get(E.InlineStreamDiffHandler,[this.monacoEditor]),w.initialize(this.selection),this.listenNode(w),w}getPosition(){var S;const w=(S=this.node)===null||S===void 0?void 0:S.getZone();return w?v.Position.lift({lineNumber:w.startLineNumber,column:1}):v.Position.lift({lineNumber:1,column:1})}handleAction(S){var w,T;switch(S){case d.EResultKind.ACCEPT:(w=this.node)===null||w===void 0||w.acceptAll();break;case d.EResultKind.DISCARD:case d.EResultKind.REGENERATE:(T=this.node)===null||T===void 0||T.rejectAll();break;default:break}}onLineCount(){return l.Disposable.NULL}layout(){var S,w,T;(S=this.inlineContentWidget)===null||S===void 0||S.setPositionPreference([m.ContentWidgetPositionPreference.ABOVE,m.ContentWidgetPositionPreference.BELOW]),super.layout();const D=this.getPosition();if(D&&this.inlineContentWidget){const I=(w=this.node)===null||w===void 0?void 0:w.livePreviewDiffDecorationModel.getRemovedWidgets();if(I?.length){const R=D.lineNumber,P=I[0];if(P)if(((T=P.getLastPosition())===null||T===void 0?void 0:T.lineNumber)<=R){const M=this.inlineContentWidget.getLineHeight(),k=P.height+1;this.inlineContentWidget.setOffsetTop(-M*k-4)}else this.inlineContentWidget.setOffsetTop(0)}else this.inlineContentWidget.setOffsetTop(0)}}render(){var S,w;(S=this.inlineContentWidget)===null||S===void 0||S.show(),(w=this.node)===null||w===void 0||w.rateRenderEditController()}hide(){var S,w;(S=this.inlineContentWidget)===null||S===void 0||S.hide(),(w=this.node)===null||w===void 0||w.hide()}resume(){var S,w;(S=this.inlineContentWidget)===null||S===void 0||S.show(),(w=this.node)===null||w===void 0||w.resume()}onData(S){var w;const{message:T}=S;(w=this.node)===null||w===void 0||w.addLinesToDiff(this.formatIndentation(T))}onAbort(){var S,w;const T=(S=this.node)===null||S===void 0?void 0:S.recompute(E.EComputerMode.default);T&&(T.activeLine=0,T.pendingRange=new s.LineRange(0,0),(w=this.node)===null||w===void 0||w.finallyRender(T))}onEnd(){var S,w;const T=(S=this.node)===null||S===void 0?void 0:S.recompute(E.EComputerMode.legacy);T&&((w=this.node)===null||w===void 0||w.pushRateFinallyDiffStack(T))}getValue(){var S;return((S=this.node)===null||S===void 0?void 0:S.getVirtualModelValue())||""}getOriginValue(){var S;return((S=this.node)===null||S===void 0?void 0:S.getOriginModelValue())||""}setValue(S){var w,T;const D=(w=this.node)===null||w===void 0?void 0:w.recompute(E.EComputerMode.legacy,this.formatIndentation(S));D&&((T=this.node)===null||T===void 0||T.finallyRender(D))}revealFirstDiff(){var S;(S=this.node)===null||S===void 0||S.revealFirstDiff()}};t.LiveInlineDiffPreviewer=b,t.LiveInlineDiffPreviewer=b=r.__decorate([(0,o.Injectable)({multiple:!0})],b)},37679:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineDiffWidget=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(43144),l=n.__importDefault(e(25873)),p=e(76003),v=e(41869),m=n.__importStar(e(20868)),_=e(87822),s=e(34819),g=e(16781),a=n.__importDefault(e(69790)),h={fixedOverflowWidgets:!0,readOnly:!1,enableSplitViewResizing:!0,ignoreTrimWhitespace:!0,renderSideBySide:!0,lineNumbers:"on",glyphMargin:!0,scrollbar:{useShadows:!1,alwaysConsumeMouseWheel:!1,vertical:"hidden"},scrollBeyondLastLine:!1,renderMarginRevertIcon:!1,renderOverviewRuler:!1,rulers:void 0,overviewRulerBorder:void 0,overviewRulerLanes:0,padding:{top:0,bottom:0},folding:!1,diffCodeLens:!1,stickyScroll:{enabled:!1},minimap:{enabled:!1},automaticLayout:!0,renderIndicators:!1,inDiffEditor:!0},u=r.default.memo(E=>{const{range:f,onMaxLineCount:c,editor:y,onReady:b}=E,A=(0,v.useInjectable)(v.MonacoService),S=(0,r.useRef)(null);return(0,r.useEffect)(()=>{if(!f)return;const w=y.getModel();if(!w)return;const T=w.getValueInRange(f),D=A.createDiffEditor(S.current,{...h,lineDecorationsWidth:y.getLayoutInfo().decorationsWidth,lineNumbersMinChars:y.getOption(m.editor.EditorOption.lineNumbersMinChars)}),I=g.StandaloneServices.get(_.IModelService),R={languageId:w.getLanguageId(),onDidChange:v.Event.None},P=I.createModel(T,R,m.Uri.from({scheme:v.Schemes.inMemory,path:"inline-diff-widget/"+(0,v.randomString)(8)}),!0),O=I.createModel("",R,m.Uri.from({scheme:v.Schemes.inMemory,path:"inline-diff-widget/"+(0,v.randomString)(8)}),!0);D.setModel({original:P,modified:O}),D.revealLine(f.startLineNumber,m.editor.ScrollType.Immediate);const M=()=>{if(c){const k=P.getLineCount(),F=O.getLineCount();c(Math.max(k,F)+1)}};return b&&b({getModifiedModel:()=>O,getOriginModel:()=>P,layout:M}),M(),()=>{D&&D.dispose()}},[f,y]),r.default.createElement("div",{ref:S,className:a.default.diff_editor_widget})});let d=class extends s.ZoneWidget{setPreviewerOptions(f){this.previewerOptions=f}_fillContainer(f){this.setCssClass("inline-diff-widget"),this.root=l.default.createRoot(f);let c=null;if(this._resolveResultWidget)if(f.parentNode){const y=document.createElement("div");requestAnimationFrame(()=>{y.className=a.default.ai_diff_editor_resolve_result_widget;const b=this.editor.getLayoutInfo();y.style.width=`${b.contentWidth}px`,y.style.left=`${b.contentLeft}px`}),f.parentNode.appendChild(y),c=(0,o.createPortal)(this._resolveResultWidget,y),this.resultContainer=y}else throw new Error("[impossible path] container.parentNode is null");this.root.render(r.default.createElement(v.ConfigProvider,{value:this.configContext},r.default.createElement("div",{className:a.default.ai_diff_editor_container},r.default.createElement(u,{range:this.range,editor:this.editor,onMaxLineCount:y=>{y&&(this._relayout(y),this._onMaxLineCount.fire(y))},onReady:y=>{this.diffWidgetHandler=y,this._onReady.fire()}})),c))}computeResultWidgetWidth(){const f=this.editor.getLayoutInfo();return f.contentWidth+f.contentLeft}_onWidth(f){super._onWidth(f),requestAnimationFrame(()=>{this.resultContainer&&(this.resultContainer.style.width=`${this.computeResultWidgetWidth()}px`)})}getModifiedModel(){var f;return(f=this.diffWidgetHandler)===null||f===void 0?void 0:f.getModifiedModel()}getOriginModel(){var f;return(f=this.diffWidgetHandler)===null||f===void 0?void 0:f.getOriginModel()}layout(){var f;return(f=this.diffWidgetHandler)===null||f===void 0?void 0:f.layout()}constructor(f,c){super(c.editor,{showArrow:!1,showFrame:!1,arrowColor:void 0,frameColor:void 0,keepEditorSelection:!0,showInHiddenAreas:!0}),this.id=f,this._onMaxLineCount=new v.Emitter,this.onMaxLineCount=this._onMaxLineCount.event,this._onReady=new v.Emitter,this.onReady=this._onReady.event,this.diffWidgetHandler=null,this.resultContainer=null,this._resolveResultWidget=null;const{selection:y,hiddenArea:b,editor:A}=c;this.range=y,this.hiddenArea=b||y,A.setHiddenAreas([this.hiddenArea],this.id)}revealRange(f,c){}setContainerStyle(f){var c;const y=Object.keys(f);for(const b of y)Object.prototype.hasOwnProperty.call((c=this.container)===null||c===void 0?void 0:c.style,b)&&(this.container.style[b]=f[b])}addClassName(f){return this.setCssClass(f),this}dispose(){this.hide(),super.dispose()}hide(){this.editor.setHiddenAreas([],this.id),super.hide(),this.root&&this.root.unmount()}showByLine(f,c=20){this.editor._modelData.viewModel.coordinatesConverter.modelPositionIsVisible=()=>!0,super.show({startLineNumber:f,startColumn:1,endLineNumber:f,endColumn:Number.MAX_SAFE_INTEGER},c)}setResolveResultWidget(f){this._resolveResultWidget=f}};t.InlineDiffWidget=d,n.__decorate([(0,p.Autowired)(v.AppConfig),n.__metadata("design:type",Object)],d.prototype,"configContext",void 0),t.InlineDiffWidget=d=n.__decorate([(0,p.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String,Object])],d)},38890:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineDiffController=void 0;const n=e(41869),r=e(43718),o=e(28423),l=e(99906),p=e(83854),v=e(40111),m=e(49444);class _ extends l.BaseAIMonacoEditorController{constructor(){super(...arguments),this._onMaxLineCount=new r.Emitter,this.onMaxLineCount=this._onMaxLineCount.event}static get(g){return g.getContribution(_.ID)}get preferenceService(){return this.injector.get(n.PreferenceService)}mount(){return this.previewerStore=new Map,this.currentPreviewer=(0,o.observableValue)(this,void 0),this.modelChangeObs=(0,o.observableFromEvent)(this,this.monacoEditor.onDidChangeModel,()=>this.monacoEditor.getModel()),this.featureDisposable.addDispose((0,o.autorun)(g=>{const a=this.modelChangeObs.read(g);if(!a)return;const h=a.id,u=this.currentPreviewer.get();u&&u.modelId!==h&&!u.disposed&&u.hide();const d=this.previewerStore.get(a.id);(0,o.transaction)(E=>{d&&d.modelId===h?(this.currentPreviewer.set(d,E),d.resume()):this.currentPreviewer.set(void 0,E)})})),this.featureDisposable}getPreviewer(){return this.currentPreviewer.get()}renderDiff(g,a){var h;g&&(g.onData(a),((h=this.modelChangeObs.get())===null||h===void 0?void 0:h.id)===g.modelId&&g.render())}showPreviewerByStream(g,a){const{crossSelection:h,chatResponse:u}=a,d=new r.Disposable,E=this.createDiffPreviewer(g,h,a.previewerOptions),f=()=>{E.layout(),d.dispose()},c=new r.DisposableCollection;return d.addDispose(E.onReady(()=>{if(v.InlineChatController.is(u)){const y=u;c.pushAll([y.onData(b=>{r.ReplyResponse.is(b)&&this.renderDiff(E,b)}),y.onError(b=>{E.onError(b),f()}),y.onAbort(()=>{E.onAbort(),f()}),y.onEnd(()=>{E.onEnd(),f()})]),y.listen()}else E.setValue(u.message),f()})),E.onDispose(()=>{c.dispose()}),d.addDispose(c),E.layout(),E}createDiffPreviewer(g,a,h){const u=this.preferenceService.getValid(r.AINativeSettingSectionsId.InlineDiffPreviewMode,p.EInlineDiffPreviewMode.inlineLive);let d;return u===p.EInlineDiffPreviewMode.sideBySide?d=this.injector.get(m.SideBySideInlineDiffWidget,[g]):d=this.injector.get(m.LiveInlineDiffPreviewer,[g]),d.create(a,h),d.show(a.startLineNumber-1,a.endLineNumber-a.startLineNumber+2),d.addDispose(d.onLineCount(E=>this._onMaxLineCount.fire(E))),d.addDispose(r.Disposable.create(()=>{this.previewerStore.delete(d.modelId)})),(0,o.transaction)(E=>{this.currentPreviewer.set(d,E),this.previewerStore.set(d.modelId,d)}),d}handleAction(g){const a=this.getPreviewer();a&&a.handleAction(g)}getModifyContent(){const g=this.getPreviewer();if(g)return g.getValue()}getOriginContent(){const g=this.getPreviewer();if(g)return g.getOriginValue()}revealFirstDiff(){const g=this.getPreviewer();g&&g.revealFirstDiff()}}t.InlineDiffController=_,_.ID="editor.contrib.ai.inline.diff"},51347:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineDiffService=void 0;const n=e(85608),r=e(76003),o=e(70392);let l=class{constructor(){this._partialEventEmitter=new o.Emitter,this.onPartialEdit=this._partialEventEmitter.event}firePartialEdit(v){this._partialEventEmitter.fire(v)}};t.InlineDiffService=l,t.InlineDiffService=l=n.__decorate([(0,r.Injectable)()],l)},53182:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineHintLineDecoration=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(57925),p=e(43718),v=e(20868),m=e(60304),_=e(52416),s=e(75189),g="inline_hint_description",a="inline_hint_description_key";let h=class extends p.Disposable{constructor(d){super(),this.monacoEditor=d,this.colorRegister=(0,_.getColorRegistry)(),m.StandaloneServices.get(s.ICodeEditorService).registerDecorationType(g,a,{isWholeLine:!0}),this.addDispose(p.Disposable.create(()=>{this.monacoEditor.setDecorationsByType(g,a,[])}))}getSequenceKeyString(d="+"){var E;const c=(E=this.keybindingRegistry.getKeybindingsForCommand(l.AI_INLINE_CHAT_INTERACTIVE_INPUT_VISIBLE.id)[0])===null||E===void 0?void 0:E.resolved;return c?this.keybindingRegistry.acceleratorForSequence(c,d):""}async show(d){var E;const f=(0,p.formatLocalize)("aiNative.inline.hint.widget.placeholder",this.getSequenceKeyString("")),c=await this.themeService.getCurrentTheme(),y=this.colorRegister.resolveDefaultColor(_.inputPlaceholderForeground,c);this.monacoEditor.setDecorationsByType(g,a,[{range:v.Range.fromPositions(d),renderOptions:{after:{contentText:f,opacity:"0.5",color:(E=y?.toString())!==null&&E!==void 0?E:"",padding:"0 0 0 12px",width:"max-content",fontFamily:"-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,sans-serif"}}}])}};t.InlineHintLineDecoration=h,n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],h.prototype,"keybindingRegistry",void 0),n.__decorate([(0,r.Autowired)(_.IThemeService),n.__metadata("design:type",Object)],h.prototype,"themeService",void 0),t.InlineHintLineDecoration=h=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],h)},77886:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineHintController=void 0;const n=e(85608),r=n.__importDefault(e(97331)),o=e(43718),l=n.__importStar(e(20868)),p=e(77659),v=e(99906),m=e(71863),_=e(19520),s=e(53182);class g extends v.BaseAIMonacoEditorController{static get(h){return h.getContribution(g.ID)}get inlineCompletionsService(){return this.injector.get(m.AICompletionsService)}mount(){return this.registerHintLineFeature(this.monacoEditor)}registerHintLineFeature(h){const u=new o.Disposable,d=this.injector.get(p.AINativeContextKey,[h.contextKeyService]),E=()=>{u.dispose()},f=y=>{const b=h.getModel();if(!b||y.lineNumber>b.getLineCount()||this.inlineCompletionsService.isVisibleCompletion)return;if(!b.getLineDecorations(y.lineNumber).some(w=>w.options.description===_.InlineInputPreviewDecorationID)){const w=this.injector.get(s.InlineHintLineDecoration,[h]),T=b.getLineContent(y.lineNumber);T?.trim()||w.show(y),d.inlineHintWidgetIsVisible.set(!0),u.addDispose(w.onDispose(()=>{d.inlineHintWidgetIsVisible.set(!1)})),u.addDispose(w)}},c=(0,r.default)(async y=>{E(),f(y)},100);return this.featureDisposable.addDispose(h.onDidChangeCursorPosition(y=>{c(y.position)})),this.featureDisposable.addDispose(h.onDidChangeModelContent(y=>{var b,A;c(new l.Position((b=y.changes[0])===null||b===void 0?void 0:b.range.endLineNumber,(A=y.changes[0])===null||A===void 0?void 0:A.range.endColumn))})),this.featureDisposable.addDispose(h.onDidFocusEditorWidget(()=>{const y=h.getPosition();y&&(E(),f(y))})),this.featureDisposable.addDispose(h.onDidBlurEditorWidget(()=>{E()})),this.featureDisposable.addDispose(this.inlineCompletionsService.onVisibleCompletion(y=>{y&&E()})),this.featureDisposable.addDispose(u),this.featureDisposable}}t.InlineHintController=g,g.ID="editor.contrib.ai.inline.hint"},32213:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineInputWidget=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(76003),l=e(41869),p=e(89195),v=e(43718),m=e(90052),_=e(90614),s=e(31031),g=e(26664),a=n.__importDefault(e(13185)),h=d=>{const{defaultValue:E,onClose:f,onInteractiveInputSend:c,onLayoutChange:y,onChatStatus:b,onResultClick:A,onValueChange:S}=d,[w,T]=(0,r.useState)(s.EInlineChatStatus.READY),D=(0,l.useInjectable)(l.AINativeConfigService);(0,r.useEffect)(()=>{const k=new v.Disposable;return k.addDispose(b(F=>T(F))),()=>{k.dispose()}},[b]);const I=(0,r.useMemo)(()=>w===s.EInlineChatStatus.THINKING,[w]),R=(0,r.useMemo)(()=>w===s.EInlineChatStatus.DONE,[w]),P=(0,r.useMemo)(()=>w===s.EInlineChatStatus.ERROR,[w]),O=(0,r.useCallback)(()=>{f?.()},[f]),M=(0,r.useCallback)(k=>{c?.(k)},[c]);return P?null:R?r.default.createElement(_.InlineResultAction,{onResultClick:A}):r.default.createElement(p.AIAction,{loadingShowOperation:!0,onClose:O,loading:I,customOperationRender:r.default.createElement(p.InteractiveInput,{autoFocus:!0,defaultValue:E,onValueChange:S,onHeightChange:k=>y(k),size:"small",placeholder:(0,v.localize)("aiNative.inline.chat.input.placeholder.default"),width:D.inlineChat.inputWidth,disabled:I,onSend:M})})};let u=class extends g.AIInlineContentWidget{constructor(E,f){super(E),this.editor=E,this.defaultValue=f,this.allowEditorOverflow=!0,this.positionPreference=[m.ContentWidgetPositionPreference.ABOVE],this._onSend=new v.Emitter,this.onSend=this._onSend.event,this._onClose=new v.Emitter,this.onClose=this._onClose.event,this._onValueChange=new v.Emitter,this.onValueChange=this._onValueChange.event}dispose(){super.dispose(),this.inlineInputService.hide()}id(){return v.AIInlineInputChatContentWidgetId}renderView(){return r.default.createElement("div",{className:a.default.input_wrapper},r.default.createElement(h,{defaultValue:this.defaultValue,onClose:()=>this._onClose.fire(),onChatStatus:this.onStatusChange.bind(this),onLayoutChange:()=>{this.editor.layoutContentWidget(this)},onValueChange:E=>{this._onValueChange.fire(E)},onInteractiveInputSend:E=>{this.launchChatStatus(s.EInlineChatStatus.THINKING),this._onSend.fire(E)},onResultClick:E=>{this._onResultClick.fire(E)}}))}};t.InlineInputWidget=u,t.InlineInputWidget=u=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,String])],u)},89060:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.InlineInputController=void 0;const r=e(85608),o=e(76003),l=e(43718),p=e(57517),v=r.__importStar(e(20868)),m=e(28423),_=e(75124),s=e(2261),g=e(52451),a=e(24347),h=e(77659),u=e(99906),d=e(77633),E=e(40111),f=e(31031),c=e(15989),y=e(19520),b=e(32213),A=r.__importDefault(e(13185)),S=e(74353),w=e(86443);let T=n=class extends u.BaseAIMonacoEditorController{static get(I){return I.getContribution(n.ID)}get inlineInputService(){return this.injector.get(S.InlineInputService)}get aiReporter(){return this.injector.get(l.IAIReporter)}get eventBus(){return this.injector.get(l.IEventBus)}get messageService(){return this.injector.get(_.MessageService)}mount(){return this.inputDisposable=new l.Disposable,this.aiNativeContextKey=this.injector.get(h.AINativeContextKey,[this.monacoEditor.contextKeyService]),this.inlineDiffController=c.InlineDiffController.get(this.monacoEditor),this.inputValue=(0,m.observableValue)(this,""),this.modelChangeObs=(0,m.observableFromEvent)(this,this.monacoEditor.onDidChangeModel,()=>this.monacoEditor.getModel()),this.inlineInputWidgetStore=new Map,this.featureDisposable.addDispose(this.eventBus.on(p.EditorGroupCloseEvent,I=>{var R;if(!this.aiNativeContextKey.inlineInputWidgetIsStreaming.get())return;const O=I.payload.resource.uri.toString();if(((R=this.monacoEditor.getModel())===null||R===void 0?void 0:R.uri.toString())===O){this.hideInput();const k=(0,l.localize)("aiNative.inline.chat.generating.canceled");k&&this.messageService.info(k)}})),this.featureDisposable.addDispose(this.inlineInputService.onHidden(()=>{this.hideInput()})),this.featureDisposable.addDispose(this.inlineInputService.onInteractiveInputVisibleInPosition(async I=>{I?this.showInputInEmptyLine(I,this.monacoEditor):setTimeout(()=>this.monacoEditor.focus(),0)})),this.featureDisposable.addDispose(this.inlineInputService.onInteractiveInputVisibleInSelection(I=>{I&&this.showInputInSelection(I,this.monacoEditor)})),this.featureDisposable.addDispose(this.inputDisposable),this.featureDisposable}cancelToken(){super.cancelToken(),this.aiNativeContextKey.inlineInputWidgetIsStreaming.set(!1)}hideInput(){this.inlineInputWidgetStore.delete(this.monacoEditor.getModel().id),this.inputDisposable.dispose()}async showInputInEmptyLine(I,R,P){const O=R.getModel();if(!O)return;const M=R.getSelection();if(M&&!M.isEmpty())return;this.inputValue.set(P||"",void 0),this.inlineInputWidgetStore.set(O.id,new w.InlineInputWidgetStoreInEmptyLine(I,P)),this.inputDisposable&&(this.inputDisposable.dispose(),this.inputDisposable=new l.Disposable);const k=R.createDecorationsCollection(),F=this.injector.get(b.InlineInputWidget,[R,this.inputValue.get()]);k.append([{range:v.Range.fromPositions(I),options:a.ModelDecorationOptions.register({description:y.InlineInputPreviewDecorationID,isWholeLine:!0,className:A.default.input_decoration_readable_container,inlineClassName:A.default.inline_chat_inserted_range})}]);const L=k.getRange(0);let B;L&&(B=g.LineRange.fromRange(L),F.show({position:L.getStartPosition()}),this.aiNativeContextKey.inlineInputWidgetIsVisible.set(!0)),this.inputDisposable.addDispose(F.onDispose(()=>{this.cancelToken(),k.clear(),this.aiNativeContextKey.inlineInputWidgetIsVisible.set(!1)})),this.inputDisposable.addDispose(F.onValueChange(U=>{this.inputValue.set(U,void 0);const W=this.inlineInputWidgetStore.get(O.id);W instanceof w.InlineInputWidgetStoreInEmptyLine&&W.setValue(U)})),this.inputDisposable.addDispose(F.onResultClick(async U=>{const W=()=>{const j=k.getRange(0);O.pushStackElement(),O.pushEditOperations(null,[s.EditOperation.delete(j)],()=>null),O.pushStackElement()};switch(U){case f.EResultKind.ACCEPT:this.hideInput();break;case f.EResultKind.DISCARD:W(),this.hideInput();break;case f.EResultKind.REGENERATE:W(),requestAnimationFrame(()=>{const G=k.getRange(0).getStartPosition();this.showInputInEmptyLine(G,R,this.inputValue.get())});break;default:break}})),this.inputDisposable.addDispose(l.Event.debounce(k.onDidChange.bind(k),()=>{},l.FRAME_THREE)(()=>{if(!k.getRange(0))return;const U=k.getRange(0),W=g.LineRange.fromRange(U);B.equals(W)||(F.setOptions({position:U.getStartPosition()}),F.layoutContentWidget()),B=W})),this.inputDisposable.addDispose(F.onClose(()=>{this.aiNativeContextKey.inlineInputWidgetIsStreaming.get()?this.cancelToken():this.hideInput()})),this.inputDisposable.addDispose(F.onSend(async U=>{R.focus();const W=this.inlineInputService.getInteractiveInputHandler(),j=R.getModel();if(!W||!j)return;F.launchChatStatus(f.EInlineChatStatus.THINKING);const G=await this.inlineInputService.getInteractiveInputStrategyHandler()(R,U),$=v.Selection.fromPositions(I);if(G===d.ERunStrategy.EXECUTE&&W.execute){W.execute(R,$,U,this.token),F.launchChatStatus(f.EInlineChatStatus.DONE),this.hideInput();return}if(G===d.ERunStrategy.PREVIEW&&W.providePreviewStrategy){const Z=await W.providePreviewStrategy(R,$,U,this.token);if(l.CancelResponse.is(Z)){F.launchChatStatus(f.EInlineChatStatus.READY),this.hideInput();return}if(E.InlineChatController.is(Z)){const Y=Z;let V;const H=this.registerDispose(new l.RunOnceScheduler(()=>{const K=k.getRange(0);K&&V&&j.pushEditOperations(null,[s.EditOperation.replace(K,V)],()=>null)},l.FRAME_FIVE));this.inputDisposable.addDispose([Y.onData(async K=>{l.ReplyResponse.is(K)&&(this.aiNativeContextKey.inlineInputWidgetIsStreaming.set(!0),V=K.message,H.isScheduled()||H.schedule())}),Y.onError(K=>{this.aiNativeContextKey.inlineInputWidgetIsStreaming.set(!1),F.launchChatStatus(f.EInlineChatStatus.READY)}),Y.onAbort(()=>{this.aiNativeContextKey.inlineInputWidgetIsStreaming.set(!1),j.pushStackElement(),F.launchChatStatus(f.EInlineChatStatus.DONE)}),Y.onEnd(()=>{this.aiNativeContextKey.inlineInputWidgetIsStreaming.set(!1),j.pushStackElement(),F.launchChatStatus(f.EInlineChatStatus.DONE)})]),Y.listen()}}})),this.inputDisposable.addDispose(F)}async showInputInSelection(I,R,P){this.inputDisposable&&(this.inputDisposable.dispose(),this.inputDisposable=new l.Disposable);const O=R.getModel();if(!O)return;const M=R.createDecorationsCollection();M.set([{range:v.Range.fromPositions({lineNumber:I.startLineNumber,column:1},{lineNumber:I.endLineNumber,column:R.getModel().getLineMaxColumn(I.endLineNumber)}),options:a.ModelDecorationOptions.register({description:y.InlineInputPreviewDecorationID,isWholeLine:!0,className:A.default.input_decoration_pending_container})}]);const k=v.Selection.fromRange(M.getRange(0),I.getDirection());this.inputValue.set(P||"",void 0),this.inlineInputWidgetStore.set(O.id,new w.InlineInputWidgetStoreInSelection(k,P));const F=this.injector.get(b.InlineInputWidget,[R,this.inputValue.get()]);F.show({selection:k}),this.aiNativeContextKey.inlineInputWidgetIsVisible.set(!0),this.inputDisposable.addDispose(F.onDispose(()=>{this.cancelToken(),M.clear(),this.aiNativeContextKey.inlineInputWidgetIsVisible.set(!1)})),this.inputDisposable.addDispose(F.onValueChange(L=>{this.inputValue.set(L,void 0);const B=this.inlineInputWidgetStore.get(O.id);B instanceof w.InlineInputWidgetStoreInSelection&&B.setValue(L)})),this.inputDisposable.addDispose(F.onClose(()=>{this.aiNativeContextKey.inlineInputWidgetIsStreaming.get()?this.cancelToken():this.hideInput()})),this.inputDisposable.addDispose(F.onSend(async L=>{R.focus();const B=this.inlineInputService.getInteractiveInputHandler();if(!B)return;if(F.launchChatStatus(f.EInlineChatStatus.THINKING),await this.inlineInputService.getInteractiveInputStrategyHandler()(R,L)===d.ERunStrategy.PREVIEW&&B.providePreviewStrategy){const W=await B.providePreviewStrategy(R,k,L,this.token);if(l.CancelResponse.is(W)){M.clear(),this.aiNativeContextKey.inlineInputWidgetIsStreaming.set(!1),F.launchChatStatus(f.EInlineChatStatus.DONE);return}if(E.InlineChatController.is(W)){const j=W;this.inputDisposable.addDispose([j.onData($=>{M.clear(),l.ReplyResponse.is($)&&this.aiNativeContextKey.inlineInputWidgetIsStreaming.set(!0)}),j.onError($=>{this.aiNativeContextKey.inlineInputWidgetIsStreaming.set(!1),F.launchChatStatus(f.EInlineChatStatus.READY)}),j.onAbort(()=>{M.clear(),this.aiNativeContextKey.inlineInputWidgetIsStreaming.set(!1),F.launchChatStatus(f.EInlineChatStatus.DONE)}),j.onEnd(()=>{M.clear(),this.aiNativeContextKey.inlineInputWidgetIsStreaming.set(!1),F.launchChatStatus(f.EInlineChatStatus.DONE)})]),this.inlineDiffController.showPreviewerByStream(R,{crossSelection:k,chatResponse:j}).mountWidget(F),j.listen()}}else M.clear(),F.launchChatStatus(f.EInlineChatStatus.READY),this.hideInput()})),this.inputDisposable.addDispose(F.onResultClick(L=>{this.inlineDiffController.handleAction(L),this.hideInput(),L===f.EResultKind.REGENERATE&&requestAnimationFrame(()=>{this.showInputInSelection(k,R,this.inputValue.get())})})),this.inputDisposable.addDispose(F)}};t.InlineInputController=T,T.ID="editor.contrib.ai.inline.input",t.InlineInputController=T=n=r.__decorate([(0,o.Injectable)()],T)},74353:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineInputService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(57925),p=e(43718),v=e(20868),m=e(85679),_=e(77633),s=e(86443);let g=class extends p.Disposable{constructor(){super(...arguments),this.interactiveInputModel=new s.InteractiveInputModel,this._onInteractiveInputVisibleInPosition=new p.Emitter,this.onInteractiveInputVisibleInPosition=this._onInteractiveInputVisibleInPosition.event,this._onInteractiveInputVisibleInSelection=new p.Emitter,this.onInteractiveInputVisibleInSelection=this._onInteractiveInputVisibleInSelection.event,this._onHidden=new p.Emitter,this.onHidden=this._onHidden.event}visibleByPosition(h){this._onInteractiveInputVisibleInPosition.fire(h)}visibleBySelection(h){this._onInteractiveInputVisibleInSelection.fire(h)}async visibleByNearestCodeBlock(h,u){const d=await this.findNearestCodeBlockWithPosition(h,u);d&&this.visibleBySelection(d)}hide(){this._onHidden.fire()}getInteractiveInputHandler(){return this.interactiveInputModel.handler()}getInteractiveInputStrategyHandler(){return this.interactiveInputModel.strategyHandler()}async findNearestCodeBlockWithPosition(h,u){const d=u.getModel(),E=d?.getOffsetAt(h),f=d?.getLanguageId(),c=this.languageParserService.createParser(f),y=await c?.findNearestCodeBlockWithPosition(d?.getValue()||"",E);if(y)return new v.Selection(y.range.start.line+1,y.range.start.character,y.range.end.line+1,y.range.end.character)}getSequenceKeyString(){var h;const d=(h=this.keybindingRegistry.getKeybindingsForCommand(l.AI_INLINE_CHAT_INTERACTIVE_INPUT_VISIBLE.id)[0])===null||h===void 0?void 0:h.resolved;return d?this.keybindingRegistry.acceleratorForSequence(d,"+"):""}registerInlineInput(h,u){return this.interactiveInputModel.setHandler(u),h.handleStrategy?this.interactiveInputModel.setStrategyHandler(h.handleStrategy):this.interactiveInputModel.setStrategyHandler(()=>h.strategy||_.ERunStrategy.EXECUTE),this.interactiveInputModel}};t.InlineInputService=g,n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],g.prototype,"keybindingRegistry",void 0),n.__decorate([(0,r.Autowired)(m.LanguageParserService),n.__metadata("design:type",m.LanguageParserService)],g.prototype,"languageParserService",void 0),t.InlineInputService=g=n.__decorate([(0,r.Injectable)()],g)},86443:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineInputWidgetStoreInSelection=t.InlineInputWidgetStoreInEmptyLine=t.InteractiveInputModel=void 0;const n=e(89195),r=e(43718);class o{setHandler(m){this._handler=m}handler(){return this._handler}setStrategyHandler(m){this._strategyHandler=m}strategyHandler(){return this._strategyHandler}dispose(){this._handler=void 0}}t.InteractiveInputModel=o,o.ID=`${n.InteractiveInput.displayName}:${(0,r.uuid)(4)}`;class l{constructor(m,_){this.position=m,this.value=_}getPosition(){return this.position}setPosition(m){this.position=m}getValue(){return this.value}setValue(m){this.value=m}}t.InlineInputWidgetStoreInEmptyLine=l;class p{constructor(m,_){this.selection=m,this.value=_}getSelection(){return this.selection}setSelection(m){this.selection=m}getValue(){return this.value}setValue(m){this.value=m}}t.InlineInputWidgetStoreInSelection=p},99136:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineStreamDiffComputer=void 0;const n=e(9514),r=e(52451),o=e(37348),l=e(44781),p=e(68450),v=e(56702),m=e(89216),_=e(10438),s=e(30861),g=e(46739),a=(u,d,E=p.InfiniteTimeout.instance)=>{if(!u.length||!d.length)return p.DiffAlgorithmResult.trivial(u,d);const f=new _.Array2D(2*u.length+1,d.length+1),c=new _.Array2D(2*u.length+1,d.length+1);for(let D=0;D<=d.length;D++)f.set(0,D,D),c.set(0,D,D>0);for(let D=0;D<=2*u.length;D++)f.set(D,0,Math.floor((D+1)/2)),c.set(D,0,!1);for(let D=1;D<=d.length;D++)for(let I=1;I<=2*u.length;I++){if(!E.isValid())return p.DiffAlgorithmResult.trivialTimedOut(u,d);if(I%2===0){const R=f.get(I,D-1)+1,P=f.get(I-1,D),O=R<P;f.set(I,D,O?R:P),c.set(I,D,O)}else{const R=f.get(I-1,D)+.4,P=u.getElement(Math.floor(I/2))===d.getElement(D-1)?f.get(I-1,D-1):Number.MAX_VALUE,O=P<R;f.set(I,D,O?P:R),c.set(I,D,O)}}let y=Number.MAX_VALUE,b=-1;for(let D=0;D<=2*u.length;D++){const I=f.get(D,d.length);I<y&&(y=I,b=D)}const A=[];let S=b,w=d.length;S<=2*u.length-2&&A.push(new p.SequenceDiff(new o.OffsetRange(Math.floor((S+1)/2),u.length),new o.OffsetRange(w,w)));let T;for(;S>=0&&w>=0;)c.get(S,w)?(S%2===0?T===void 0&&(T={originalLineIndex:Math.floor(S/2),modifiedLineIndex:w}):(T!==void 0&&((T.originalLineIndex!==Math.floor(S/2)+1||T.modifiedLineIndex!==w)&&A.push(new p.SequenceDiff(new o.OffsetRange(Math.floor(S/2)+1,T.originalLineIndex),new o.OffsetRange(w,T.modifiedLineIndex))),T=void 0),S-=1),w-=1):(T=T||{originalLineIndex:Math.floor((S+1)/2),modifiedLineIndex:w},S-=1);return T!==void 0&&((T.originalLineIndex!==Math.floor(S/2)+1||T.modifiedLineIndex!==w)&&A.push(new p.SequenceDiff(new o.OffsetRange(Math.floor(S/2)+1,T.originalLineIndex),new o.OffsetRange(w,T.modifiedLineIndex))),T=void 0),A.reverse(),new p.DiffAlgorithmResult(A,!1)};class h extends v.DefaultLinesDiffComputer{computeDiff(d,E,f){if(d.length<=1&&(0,n.equals)(d,E,(M,k)=>M===k))return new s.LinesDiff([],[],!1);if(d.length===1&&d[0].length===0||E.length===1&&E[0].length===0)return new s.LinesDiff([new g.DetailedLineRangeMapping(new r.LineRange(1,d.length+1),new r.LineRange(1,E.length+1),[new g.RangeMapping(new l.Range(1,1,d.length,d[d.length-1].length+1),new l.Range(1,1,E.length,E[E.length-1].length+1))])],[],!1);const c=f.maxComputationTimeMs===0?p.InfiniteTimeout.instance:new p.DateTimeout(f.maxComputationTimeMs),y=new Map;function b(M){let k=y.get(M);return k===void 0&&(k=y.size,y.set(M,k)),k}const A=d.length*E.length<1e6&&f.onlyCareAboutPrefixOfOriginalLines,S=d.map(M=>b(A?M:M.trim())),w=E.map(M=>b(A?M:M.trim())),T=new m.LineSequence(S,d),D=new m.LineSequence(w,E),I=d.every(M=>M.trim().length===0);let R;A?I?R=p.DiffAlgorithmResult.trivial(T,D):R=a(T,D,c):T.length+D.length<1700?R=this.dynamicProgrammingDiffing.compute(T,D,c,(M,k)=>d[M]===E[k]?E[k].length===0?.1:1+Math.log(1+E[k].length):.99):R=this.myersDiffingAlgorithm.compute(T,D,c);const P=R.diffs,O=R.hitTimeout;if(A){const M=P.map(k=>new g.DetailedLineRangeMapping(new r.LineRange(k.seq1Range.start+1,k.seq1Range.endExclusive+1),new r.LineRange(k.seq2Range.start+1,k.seq2Range.endExclusive+1),[]));return new s.LinesDiff(M,[],O)}return super.computeDiff(d,E,f)}}t.InlineStreamDiffComputer=h},33062:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReverseInlineStreamDiffHandler=t.InlineStreamDiffHandler=t.BaseInlineStreamDiffHandler=t.EComputerMode=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(20868),p=e(60304),v=e(28423),m=e(52451),_=e(84968),s=e(46739),g=e(87822),a=e(99093),h=e(25539),u=e(99136),d=e(80715);var E;(function(A){A.legacy="legacy",A.default="default"})(E||(t.EComputerMode=E={}));const f=new u.InlineStreamDiffComputer;let c=class extends o.Disposable{get uri(){return this.savedModel.uri}constructor(S){super(),this.monacoEditor=S,this._onDidEditChange=this.registerDispose(new o.Emitter),this.onDidEditChange=this._onDidEditChange.event,this.onDiffFinishedEmitter=this.registerDispose(new o.Emitter),this.onDiffFinished=this.onDiffFinishedEmitter.event,this.undoRedoGroup=new h.UndoRedoGroup,this.finallyDiffModel=(0,v.observableValue)(this,void 0),this.currentEditLine=0,this.isEditing=!1;const w=p.StandaloneServices.get(g.IModelService),T=this.monacoEditor.getModel(),D=w.createModel("",null,o.Uri.from({scheme:o.Schemes.inMemory,path:"inline-stream-diff/"+(0,o.randomString)(8)}),!0);this.savedModel=T,this.virtualModel=D,this.livePreviewDiffDecorationModel=this.injector.get(d.LivePreviewDiffDecorationModel,[this.monacoEditor]),this.addDispose(this.livePreviewDiffDecorationModel),this.addDispose(this.virtualModel);const I=this.livePreviewDiffDecorationModel.onDispose(()=>{this.dispose(),I.dispose()})}setPreviewerOptions(S){this.previewerOptions=S,this.livePreviewDiffDecorationModel.setPreviewerOptions({partialEditWidgetOptions:{hideAcceptPartialEditWidget:S.hideAcceptPartialEditWidget},renderRemovedWidgetImmediately:S.renderRemovedWidgetImmediately})}getVirtualModelValue(){return this.virtualModel.getValue()}getOriginModelValue(){return this.rawSavedTextLines.join(`
|
|
31737
31739
|
`)}get onPartialEditWidgetListChange(){return this.livePreviewDiffDecorationModel.onPartialEditWidgetListChange}computeDiff(S,w,T=E.default){const D=(T===E.default?f:_.linesDiffComputers.getLegacy()).computeDiff(S,w,{computeMoves:!1,maxComputationTimeMs:200,ignoreTrimWhitespace:!1,onlyCareAboutPrefixOfOriginalLines:!0});let I=D.changes;D.hitTimeout&&(I=[new s.DetailedLineRangeMapping(new m.LineRange(1,S.length+1),new m.LineRange(1,w.length+1),void 0)]);const R=[];let P=[];for(const F of I)if(F.modified.endLineNumberExclusive===w.length+1&&T===E.default){if(P=S.slice(F.original.startLineNumber-1,F.original.endLineNumberExclusive-1),F.modified.isEmpty)continue;R.push({removedTextLines:[],removedLinesOriginalRange:new m.LineRange(F.original.startLineNumber,F.original.startLineNumber),addedRange:F.modified,relativeInnerChanges:void 0})}else R.push({removedTextLines:S.slice(F.original.startLineNumber-1,F.original.endLineNumberExclusive-1),removedLinesOriginalRange:F.original,addedRange:F.modified,relativeInnerChanges:F.innerChanges?F.innerChanges.map(L=>({originalRange:L.originalRange.delta(-F.original.startLineNumber+1),modifiedRange:L.modifiedRange.delta(-F.modified.startLineNumber+1)})):void 0});const O=[...w,...P];let M=0,k=new m.LineRange(1,1);return P.length>0&&(M=w.length+1,k=new m.LineRange(w.length+1,w.length+1+P.length)),{changes:R,newFullRangeTextLines:O,activeLine:M,pendingRange:k}}calculateAddedDecorationCollectionState(S){const w=this.getZone();return S.changes.map(D=>{const I=D.addedRange,R={lineNumber:w.startLineNumber+I.startLineNumber-1,column:1},P={lineNumber:w.startLineNumber+I.endLineNumberExclusive-2,column:1};return{startPosition:R,endPosition:P,len:I.endLineNumberExclusive-I.startLineNumber}})}renderPartialEditWidgets(S){const w=this.calculateAddedDecorationCollectionState(S);this.livePreviewDiffDecorationModel.touchPartialEditWidgets(w.map(T=>T.startPosition.lineNumber))}renderAddedRangeDecoration(S){const w=this.calculateAddedDecorationCollectionState(S);this.livePreviewDiffDecorationModel.touchAddedRange(w)}renderRemovedRangeDecoration(S){const{changes:w}=S,T=this.getZone();let D=0;const I=[];for(const R of w){const{removedTextLines:P,removedLinesOriginalRange:O,addedRange:M}=R;P.length>0&&I.push({position:{column:1,lineNumber:T.startLineNumber+O.startLineNumber-2-D},textLines:P.map((k,F)=>{var L;return{text:k,lineTokens:((L=this.rawOriginTextLinesTokens)===null||L===void 0?void 0:L[O.startLineNumber-1+F])||a.LineTokens.createEmpty(k,{encodeLanguageId:()=>0,decodeLanguageId:()=>"plaintext"})}})}),D+=O.length-M.length}this.livePreviewDiffDecorationModel.touchRemovedWidget(I,()=>{this._onDidEditChange.fire()})}pushStackElement(){const S=this.livePreviewDiffDecorationModel.createEditStackElement(this.undoRedoGroup);S.attachModel(this.livePreviewDiffDecorationModel),S.registerUndo(w=>{w.dispose()})}renderDiffEdits(S){const{activeLine:w,newFullRangeTextLines:T,pendingRange:D}=S,I=this.getZone(),R=this.getOriginalModel(),P=R.getEOL(),O=I.startLineNumber<I.endLineNumberExclusive?new l.Range(I.startLineNumber,1,I.endLineNumberExclusive-1,R.getLineMaxColumn(I.endLineNumberExclusive-1)):new l.Range(I.startLineNumber,1,I.startLineNumber,1),M=R.getValueInRange(O).split(P),k=_.linesDiffComputers.getDefault().computeDiff(M,T,{computeMoves:!1,maxComputationTimeMs:200,ignoreTrimWhitespace:!1}),F=[];if(k.hitTimeout){let L=T.join(P);O.isEmpty()&&(L+=P);const B={range:O,text:L,forceMoveMarkers:!1};F.push(B)}else for(const L of k.changes){let B=T.slice(L.modified.startLineNumber-1,L.modified.endLineNumberExclusive-1).join(P),U;L.original.isEmpty?(U=new l.Range(O.startLineNumber+L.original.startLineNumber-1,1,O.startLineNumber+L.original.startLineNumber-1,1),B+=P):L.modified.isEmpty?(U=new l.Range(O.startLineNumber+L.original.startLineNumber-1,1,O.startLineNumber+L.original.endLineNumberExclusive-1,1),B=null):U=new l.Range(O.startLineNumber+L.original.startLineNumber-1,1,O.startLineNumber+L.original.endLineNumberExclusive-2,R.getLineMaxColumn(O.startLineNumber+L.original.endLineNumberExclusive-2));const W={range:U,text:B,forceMoveMarkers:!1};F.push(W)}R.pushEditOperations(null,F,()=>null,this.undoRedoGroup),this.livePreviewDiffDecorationModel.updateZone(new m.LineRange(I.startLineNumber,I.startLineNumber+T.length)),w>0?this.livePreviewDiffDecorationModel.touchActiveLine(w):this.livePreviewDiffDecorationModel.clearActiveLine(),this.renderAddedRangeDecoration(S),D.length>0?this.livePreviewDiffDecorationModel.touchPendingRange(D):this.livePreviewDiffDecorationModel.clearPendingLine(),this.renderRemovedRangeDecoration(S),this._onDidEditChange.fire()}recompute(S,w){w&&this.virtualModel.setValue(w);const T=this.virtualModel.getLinesContent();return this.processDiffComputation(T,S)}async rateRenderEditController(){var S;if(this.isEditing===!1){for(this.isEditing=!0;this.currentEditLine<=this.virtualModel.getLinesContent().length;){if(this.disposed)return;const D=this.virtualModel.getLinesContent().slice(0,this.currentEditLine),I=this.processDiffComputation(D);this.savedModel.id===((S=this.monacoEditor.getModel())===null||S===void 0?void 0:S.id)&&this.renderDiffEdits(I),this.currentEditLine+=1,await(0,o.sleep)(o.FRAME_THREE)}const w=this.finallyDiffModel.get();w&&this.finallyRender(w),this.isEditing=!1}}addLinesToDiff(S,w=E.default){this.recompute(w,S)}pushRateFinallyDiffStack(S){(0,v.transaction)(w=>{this.finallyDiffModel.set(S,w),this.isEditing===!1&&this.finallyRender(S)})}finallyRender(S){var w;(0,v.transaction)(T=>{this.finallyDiffModel.set(S,T)}),this.savedModel.id===((w=this.monacoEditor.getModel())===null||w===void 0?void 0:w.id)&&(this.onDiffFinishedEmitter.fire(S),!this.livePreviewDiffDecorationModel.disposed&&(this.renderPartialEditWidgets(S),this.renderDiffEdits(S),this.pushStackElement(),this.monacoEditor.focus()))}hide(){this.livePreviewDiffDecorationModel.hide()}resume(){this.finallyDiffModel.get()||this.rateRenderEditController(),this.livePreviewDiffDecorationModel.resume()}acceptAll(){this.livePreviewDiffDecorationModel.acceptUnProcessed(),this.dispose()}rejectAll(){this.livePreviewDiffDecorationModel.discardUnProcessed(),this.dispose()}revealFirstDiff(){this.livePreviewDiffDecorationModel.revealFirstDiff()}getZone(){return this.livePreviewDiffDecorationModel.getZone()}getTotalCodeInfo(){return this.livePreviewDiffDecorationModel.getTotalCodeInfo()}};t.BaseInlineStreamDiffHandler=c,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],c.prototype,"injector",void 0),t.BaseInlineStreamDiffHandler=c=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],c);let y=class extends c{initialize(S){const w=this.savedModel.getEOL(),T=S.getStartPosition(),D=S.getEndPosition();this.rawSavedTextLines=this.savedModel.getValueInRange(l.Range.fromPositions(T,D)).split(w);const I=m.LineRange.fromRangeInclusive(l.Range.fromPositions({lineNumber:S.startLineNumber,column:1},{lineNumber:S.endLineNumber,column:Number.MAX_SAFE_INTEGER}));this.livePreviewDiffDecorationModel.initialize(I),this.rawOriginTextLinesTokens=this.rawSavedTextLines.map((R,P)=>{const O=T.lineNumber+P;return this.savedModel.tokenization.forceTokenization(O),this.savedModel.tokenization.getLineTokens(O)})}processDiffComputation(S,w){return this.computeDiff(this.rawSavedTextLines,S,w)}getOriginalModel(){return this.savedModel}};t.InlineStreamDiffHandler=y,t.InlineStreamDiffHandler=y=n.__decorate([(0,r.Injectable)({multiple:!0})],y);let b=class extends c{recompute(S,w){const T=super.recompute(S,w);return this.rawOriginTextLinesTokens=this.virtualModel.getLinesContent().map((D,I)=>{const R=I+1;return this.virtualModel.tokenization.forceTokenization(R),this.virtualModel.tokenization.getLineTokens(R)}),T}initialize(){const S=this.savedModel.getEOL();this.rawSavedTextLines=this.savedModel.getValue().split(S);const w=m.LineRange.fromRangeInclusive(l.Range.fromPositions({lineNumber:1,column:1},{lineNumber:this.virtualModel.getLineCount(),column:Number.MAX_SAFE_INTEGER}));this.livePreviewDiffDecorationModel.initialize(w)}getOriginalModel(){return this.virtualModel}processDiffComputation(S,w){return this.computeDiff(S,this.rawSavedTextLines,w)}};t.ReverseInlineStreamDiffHandler=b,t.ReverseInlineStreamDiffHandler=b=n.__decorate([(0,r.Injectable)({multiple:!0})],b)},22169:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineStreamDiffService=void 0;const n=e(85608),r=e(76003),o=e(43718);let l=class{constructor(){this._onAcceptDiscardPartialEdit=new o.Emitter,this.onAcceptDiscardPartialEdit=this._onAcceptDiscardPartialEdit.event}launchAcceptDiscardPartialEdit(v){this._onAcceptDiscardPartialEdit.fire(v)}};t.InlineStreamDiffService=l,t.InlineStreamDiffService=l=n.__decorate([(0,r.Injectable)()],l)},54362:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LivePreviewUndoRedoStackElement=void 0;const n=e(25539);class r{get type(){return n.UndoRedoElementType.Resource}get label(){return"Live.Preview.UndoRedo"}get code(){return"Live.Preview.UndoRedo"}get resource(){return this.model.uri}constructor(l){this.model=l,this.confirmBeforeUndo=!1}attachModel(l){this.decorationModel=l}registerUndo(l){this._undo=l}undo(){var l;(l=this._undo)===null||l===void 0||l.call(this,this.decorationModel)}registerRedo(l){this._redo=l}redo(){var l;(l=this._redo)===null||l===void 0||l.call(this,this.decorationModel)}}t.LivePreviewUndoRedoStackElement=r},8106:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.AddedRangeDecorationsCollection=t.RemovedZoneWidget=t.AcceptPartialEditWidget=t.PendingRangeDecoration=t.AddedRangeDecoration=t.ActiveLineDecoration=void 0;const r=e(85608),o=r.__importDefault(e(53373)),l=r.__importStar(e(14041)),p=r.__importDefault(e(25873)),v=e(76003),m=e(41869),_=e(57925),s=e(43718),g=e(52659),a=e(90052),h=e(31324),u=e(34819),d=e(53617),E=e(24522),f=r.__importDefault(e(71749));t.ActiveLineDecoration="activeLine-decoration",t.AddedRangeDecoration="added-range-decoration",t.PendingRangeDecoration="pending-range-decoration";const c=T=>{const{keyStrings:D,onAccept:I,onDiscard:R,editor:P}=T,[O,M]=l.default.useState(0),k=(0,l.useCallback)(()=>{I?.()},[I]),F=(0,l.useCallback)(()=>{R?.()},[R]);return(0,m.useDisposable)(()=>P.onDidScrollChange(L=>{const{scrollLeftChanged:B,scrollLeft:U}=L;B&&M(U)}),[P]),l.default.createElement("div",{className:(0,o.default)("kt-inline-diff-accept-partial-widget-container",f.default.inline_diff_accept_partial_widget_container),style:{marginLeft:O}},l.default.createElement("div",{className:f.default.content},l.default.createElement("span",{className:(0,o.default)(f.default.accept_btn,f.default.btn),onClick:k},(0,s.localize)("aiNative.inline.diff.accept"),l.default.createElement("span",null,D.acceptSequence)),l.default.createElement("span",{className:(0,o.default)(f.default.discard_btn,f.default.btn),onClick:F},(0,s.localize)("aiNative.inline.diff.reject"),l.default.createElement("span",null,D.discardSequence))))};let y=n=class extends g.ReactInlineContentWidget{constructor(D,I){super(D),this.editor=D,this.editWidgetOptions=I,this._onAccept=this.registerDispose(new s.Emitter),this.onAccept=this._onAccept.event,this._onDiscard=this.registerDispose(new s.Emitter),this.onDiscard=this._onDiscard.event,this.positionPreference=[a.ContentWidgetPositionPreference.EXACT],this.addedLinesCount=0,this.deletedLinesCount=0,this.status="pending"}get group(){return this._group}getSequenceKeyStrings(){let D=this.keybindingRegistry.getKeybindingsForCommand(_.AI_INLINE_DIFF_PARTIAL_EDIT.id);if(D=D.sort((I,R)=>R.args-I.args),!(!D||D.length!==2&&D.some(I=>(0,s.isUndefined)(I.resolved))))return{acceptSequence:this.keybindingRegistry.acceleratorForSequence(D[0].resolved,"")[0],discardSequence:this.keybindingRegistry.acceleratorForSequence(D[1].resolved,"")[0]}}renderView(){var D;if(!((D=this.editWidgetOptions)===null||D===void 0)&&D.hideAcceptPartialEditWidget)return;const I=this.getSequenceKeyStrings();if(I)return l.default.createElement(c,{keyStrings:I,onAccept:()=>this._onAccept.fire(),onDiscard:()=>this._onDiscard.fire(),editor:this.editor})}id(){return this._id||(this._id=`${n.ID}_${(0,s.uuid)(4)}`),this._id}getClassName(){return f.default.accept_partial_edit_widget_id}recordAddedRangeId(D){this._addedRangeId=D}getAddedRangeId(){return this._addedRangeId}resume(){this.status="pending",this.addedLinesCount=0,this.deletedLinesCount=0,super.resume()}setGroup(D){this._group=D}get isPending(){return this.status==="pending"}accept(D,I){this.status="accept",this.addedLinesCount=D,this.deletedLinesCount=I,super.hide()}get isAccepted(){return this.status==="accept"}discard(D,I){this.status="discard",this.addedLinesCount=D,this.deletedLinesCount=I,super.hide()}get isRejected(){return this.status==="discard"}};t.AcceptPartialEditWidget=y,y.ID="AcceptPartialEditWidgetID",r.__decorate([(0,v.Autowired)(m.KeybindingRegistry),r.__metadata("design:type",Object)],y.prototype,"keybindingRegistry",void 0),t.AcceptPartialEditWidget=y=n=r.__decorate([(0,v.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[Object,Object])],y);const b=({dom:T,editor:D})=>{const I=l.default.useRef(null),[R,P]=l.default.useState(0),[O,M]=l.default.useState(0);return(0,l.useEffect)(()=>{T&&I&&I.current&&I.current.appendChild(T)},[T,I]),(0,m.useDisposable)(()=>D.onDidScrollChange(k=>{const{scrollLeftChanged:F,scrollLeft:L}=k;F&&P(L)}),[D]),(0,m.useDisposable)(()=>(M(D.getOption(h.EditorOption.layoutInfo).contentLeft),D.onDidChangeConfiguration(k=>{k.hasChanged(h.EditorOption.layoutInfo)&&M(D.getOption(h.EditorOption.layoutInfo).contentLeft)})),[D]),l.default.createElement("div",{className:f.default.inline_diff_remove_zone_fixed_box,style:{marginLeft:O+"px"}},l.default.createElement("div",{className:f.default.inline_diff_remove_zone,ref:I,style:{marginLeft:-R+"px"}}))};class A extends u.ZoneWidget{get isHidden(){return this._hidden}get group(){return this._group}constructor(D,I,R){super(D,R),this.textLines=I,this._hidden=!1,this.status="pending",(0,s.isDefined)(R.isHidden)&&(this._hidden=R.isHidden),(0,s.isDefined)(R.recordPosition)&&(this._recordPosition=R.recordPosition),(0,s.isDefined)(R.undoRedoGroup)&&(this._group=R.undoRedoGroup);const P=this._positionMarkerId;this._disposables.add(P.onDidChange(O=>{const M=P.getRange(0);M&&(this._recordPosition=M.getStartPosition())}))}setGroup(D){this._group=D}_fillContainer(D){D.classList.add(f.default.inline_diff_remove_zone_widget_container),this.root=p.default.createRoot(D)}getRemovedTextLines(){return this.textLines.map(D=>D.text)}get height(){return this.textLines.length}getLastPosition(){return this.position||this._recordPosition}accept(){this.status="accept",this.hide()}discard(){this.status="discard",super.hide()}hide(){this._hidden=!0,super.hide()}resume(){this.status="pending";const D=this.getLastPosition();D&&this.show(D,this.height)}show(D,I){this._hidden=!1,this.status="pending",super.show(D,I)}revealRange(){}create(){super.create(),this.mountRender()}mountRender(){const D=document.createElement("div");(0,E.renderLines)(D,this.editor.getOption(h.EditorOption.tabIndex),this.textLines.map(({text:I,lineTokens:R})=>({content:I,decorations:[],lineTokens:R})),this.editor.getOptions()),this.root.render(l.default.createElement(b,{dom:D,editor:this.editor}))}dispose(){this.root.unmount(),super.dispose()}}t.RemovedZoneWidget=A;class S extends d.DeltaDecorations{constructor(){super(...arguments),this.status="pending"}accept(){this.status="accept",super.hide()}discard(){this.status="discard",super.hide()}}class w extends d.EnhanceDecorationsCollection{createDecorations(D){return new S(D)}}t.AddedRangeDecorationsCollection=w},80715:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LivePreviewDiffDecorationModel=void 0;const r=e(85608),o=e(76003),l=e(41869),p=e(43718),v=e(20868),m=e(60304),_=e(72665),s=e(2261),g=e(24347),a=e(25539),h=e(19413),u=e(69820),d=e(77659),E=r.__importDefault(e(71749)),f=e(22169),c=e(54362),y=e(8106);let b=n=class extends p.Disposable{get partialEditWidgetCount(){return this.partialEditWidgetList.length}constructor(S){super(),this.monacoEditor=S,this._onPartialEditWidgetListChange=this.registerDispose(new p.Emitter),this.onPartialEditWidgetListChange=this._onPartialEditWidgetListChange.event,this.options={partialEditWidgetOptions:{}},this.partialEditWidgetList=[],this.removedZoneWidgets=[],this.currentChangeIndex=0,this.model=this.monacoEditor.getModel(),this.undoRedoService=m.StandaloneServices.get(a.IUndoRedoService),this.aiNativeContextKey=this.injector.get(d.AINativeContextKey,[this.monacoEditor.contextKeyService]),this.activeLineDec=this.monacoEditor.createDecorationsCollection(),this.pendingRangeDec=this.monacoEditor.createDecorationsCollection(),this.addDispose(this.inlineStreamDiffService.onAcceptDiscardPartialEdit(w=>{const T=this.monacoEditor.getPosition(),D=this.partialEditWidgetList.filter(I=>!I.isHidden).sort((I,R)=>{var P,O,M,k;const F=((O=(P=I.getPosition())===null||P===void 0?void 0:P.position)===null||O===void 0?void 0:O.lineNumber)||1,L=((k=(M=R.getPosition())===null||M===void 0?void 0:M.position)===null||k===void 0?void 0:k.lineNumber)||1,B=Math.abs(T.lineNumber-F),U=Math.abs(T.lineNumber-L);return B-U});D.length>0&&this.handlePartialEditAction(w?u.EPartialEdit.accept:u.EPartialEdit.discard,D[0])})),this.addedRangeDec=new y.AddedRangeDecorationsCollection(this.monacoEditor),this.addDispose(this.addedRangeDec.onDidDecorationsChange(w=>{this.aiNativeContextKey.inlineDiffPartialEditsIsVisible.get()&&this.partialEditWidgetList.forEach(D=>{const I=w.find(R=>D.getAddedRangeId()===R.id);if(I){const R=I.getRange();D.setOptions({position:{lineNumber:R.startLineNumber,column:1}}),D.layoutContentWidget()}})})),this.addDispose(p.Disposable.create(()=>this.clear()))}clear(){this.clearPendingLine(),this.clearActiveLine(),this.clearAddedLine(),this.clearRemovedWidgets(),this.clearPartialEditWidgetList()}hide(){this.addedRangeDec.getDecorations().forEach(S=>S.hide()),this.partialEditWidgetList.forEach(S=>S.hide()),this.removedZoneWidgets.forEach(S=>S.hide()),this.activeLineDec.clear(),this.pendingRangeDec.clear()}resume(){this.addedRangeDec.getDecorations().forEach(S=>S.status==="pending"&&S.resume()),this.partialEditWidgetList.forEach(S=>S.status==="pending"&&S.resume()),this.removedZoneWidgets.forEach(S=>S.status==="pending"&&S.resume())}initialize(S){this.updateZone(S)}getRemovedWidgets(){return this.removedZoneWidgets}showRemovedWidgetByLineNumber(S,w,T){const D=new v.Position(S,1),I=w.length,R=new y.RemovedZoneWidget(this.monacoEditor,w,{...T,showInHiddenAreas:!0,showFrame:!1,showArrow:!1});R.create(),this.removedZoneWidgets.push(R),T.isHidden?R.hide():R.show(D,I)}updateZone(S){this.zone=S}getZone(){return this.zone}touchActiveLine(S){const w=this.getZone();this.activeLineDec.set([{range:v.Range.fromPositions({lineNumber:w.startLineNumber+S-1,column:0}),options:g.ModelDecorationOptions.register({description:y.ActiveLineDecoration,isWholeLine:!0,className:E.default.inline_diff_current,zIndex:l.StackingLevel.Workbench})}])}doDiscardPartialWidget(S,w,T){let D=null,I=0,R=0;if(w&&w.length>0){const P=w.getRange();D=s.EditOperation.delete(v.Range.lift({startLineNumber:P.startLineNumber,startColumn:P.startColumn,endLineNumber:P.endLineNumber+1,endColumn:1})),I=w.length,w.hide()}if(T){const P=T.getLastPosition(),O=this.model.getEOL(),M=T.getRemovedTextLines();R=M.length;const k=M.join(O)+O;D?D=s.EditOperation.replace(v.Range.lift(D.range),k):D=s.EditOperation.insert(P.delta(1),k),T.hide()}return S.discard(I,R),D}handlePartialEditAction(S,w,T=!0,D=!1){const I=w.getPosition().position,R=this.aiReporter.getRelationId(),P=this.model,O=this.removedZoneWidgets.find(K=>K.getLastPosition().lineNumber===Math.max(1,I.lineNumber-1)),M=this.addedRangeDec.getDecorationByLineNumber(I.lineNumber),k=M?.length||0,F=O?.height||0,L=new a.UndoRedoGroup;w.setGroup(L),O?.setGroup(L),M?.setGroup(L);const B=K=>K.partialEditWidgetList.find(Q=>Q.group===L),U=K=>K.removedZoneWidgets.find(Q=>Q.group===L),W=K=>K.addedRangeDec.getDecorationByGroup(L);let j;const G=O?.getRemovedTextLines().join(`
|
|
31738
|
-
`)||"",$=M?.getRange();try{$&&(j=P.getValueInRange({...$,endColumn:P.getLineMaxColumn($.endLineNumber)}))}catch{j=""}const Z=K=>{D&&this.aiReporter.end(R,{message:"discard",success:!0,isDrop:!0,code:j,originCode:G,actionSource:p.ActionSourceEnum.InlineChat,actionType:p.ActionTypeEnum.LineDiscard});const Q=U(K);Q?.discard();const X=W(K);X?.discard();const oe=B(K);return this.doDiscardPartialWidget(oe,X,Q)},Y=K=>{D&&this.aiReporter.end(R,{message:"accept",success:!0,isReceive:!0,code:j,originCode:G,actionSource:p.ActionSourceEnum.InlineChat,actionType:p.ActionTypeEnum.lineAccept});const Q=B(K);Q?.accept(k,F);const X=U(K);X?.accept();const oe=W(K);oe?.accept()},V=K=>{const Q=B(K);Q?.resume();const X=U(K);X?.resume();const oe=W(K);oe?.resume()};switch(S){case u.EPartialEdit.accept:if(Y(this),T){const K=this.createEditStackElement(L);K.attachModel(this),K.registerUndo(Q=>{V(Q)}),K.registerRedo(Q=>{Y(Q)})}break;case u.EPartialEdit.discard:{const K=Z(this);if(K){if(T){const Q=this.createEditStackElement(L);Q.attachModel(this),Q.registerUndo(X=>{V(X)}),Q.registerRedo(X=>{Z(X)})}P.pushStackElement(),P.pushEditOperations(null,[K],()=>null,L),P.pushStackElement()}}break;default:break}const H={uri:this.model.uri,totalPartialEditCount:this.partialEditWidgetList.length,resolvedPartialEditCount:this.partialEditWidgetList.filter(K=>K.isHidden).length,acceptPartialEditCount:this.partialEditWidgetList.filter(K=>K.isAccepted).length,currentPartialEdit:{addedLinesCount:k,deletedLinesCount:F,type:S},...this.getTotalCodeInfo()};this.monacoEditor.focus(),this.inlineDiffService.firePartialEdit(H),this.firePartialEditWidgetList()}firePartialEditWidgetList(){this._onPartialEditWidgetListChange.fire(this.partialEditWidgetList);const S=this.partialEditWidgetList.filter(w=>!w.isHidden);this.aiNativeContextKey.inlineDiffPartialEditsIsVisible.set(S.length!==0)}createEditStackElement(S){const w=new c.LivePreviewUndoRedoStackElement(this.model);return this.undoRedoService.pushElement(w,S),w}static computeCodeInfo(S,w,T){const D=R(S),I={added:0,deleted:0,changed:0};return S.forEach((P,O)=>{if(P.status==="pending"){const M=w[O],k=T[O],F=M?.length||0,L=k?.height||0;I.added+=F,I.deleted+=L,I.changed+=Math.max(F,L)}}),{totalAddedLinesCount:D.added,totalDeletedLinesCount:D.deleted,totalChangedLinesCount:D.changed,unresolvedAddedLinesCount:I.added,unresolvedDeletedLinesCount:I.deleted,unresolvedChangedLinesCount:I.changed};function R(P){const O={added:0,deleted:0,changed:0};return P.forEach(M=>{const k=M.addedLinesCount,F=M.deletedLinesCount;O.added+=k,O.deleted+=F,O.changed+=Math.max(k,F)}),O}}getTotalCodeInfo(){const S=this.partialEditWidgetList,w=this.addedRangeDec.getDecorations(),T=this.removedZoneWidgets;return n.computeCodeInfo(S,w,T)}recordPartialEditWidgetWithAddedDec(){this.partialEditWidgetList.forEach(S=>{var w,T;const D=(T=(w=S.getPosition())===null||w===void 0?void 0:w.position)===null||T===void 0?void 0:T.lineNumber;if(D){const I=this.addedRangeDec.getDecorationByLineNumber(D);I&&S.recordAddedRangeId(I.id)}})}acceptUnProcessed(){this.partialEditWidgetList.filter(w=>w.isPending).forEach(w=>{this.handlePartialEditAction(u.EPartialEdit.accept,w,!1)})}discardUnProcessed(){this.partialEditWidgetList.filter(w=>w.isPending).forEach(w=>{this.handlePartialEditAction(u.EPartialEdit.discard,w,!1)})}createPartialEditWidget(S){const w=this.injector.get(y.AcceptPartialEditWidget,[this.monacoEditor,this.options.partialEditWidgetOptions]);w.show({position:{lineNumber:S,column:1}});const T=w.onDispose(()=>{const D=w.getId();this.partialEditWidgetList=this.partialEditWidgetList.filter(I=>I.getId()!==D),T.dispose()});return w.addDispose([w.onAccept(()=>{this.handlePartialEditAction(u.EPartialEdit.accept,w,!0,!0)}),w.onDiscard(()=>{this.handlePartialEditAction(u.EPartialEdit.discard,w,!0,!0)})]),w}touchPartialEditWidgets(S){this.clearPartialEditWidgetList(),this.partialEditWidgetList=S.map(w=>this.createPartialEditWidget(w)),this.firePartialEditWidgetList()}touchAddedRange(S){this.addedRangeDec.set(S.map(w=>{const T=w.startPosition,D=w.endPosition,I=w.len;let R=v.Range.fromPositions(T,D),P=E.default.inline_diff_added_range+" ";return I===0&&(R=v.Range.fromPositions(T),P+=E.default.hide),{length:I,range:R,isHidden:I===0,options:g.ModelDecorationOptions.register({description:y.AddedRangeDecoration,isWholeLine:!0,className:P})}})),this.recordPartialEditWidgetWithAddedDec()}touchRemovedWidget(S,w){const T=()=>{this.clearRemovedWidgets(),S.forEach(({textLines:D,position:I})=>{this.showRemovedWidgetByLineNumber(I.lineNumber,D,{})}),w?.()};this.options.renderRemovedWidgetImmediately?T():this.addDispose((0,p.runWhenIdle)(T))}touchPendingRange(S){const w=this.getZone();this.pendingRangeDec.set([{range:v.Range.fromPositions({lineNumber:w.startLineNumber+S.startLineNumber-1,column:0},{lineNumber:w.startLineNumber+S.endLineNumberExclusive-2,column:Number.MAX_SAFE_INTEGER}),options:g.ModelDecorationOptions.register({description:y.PendingRangeDecoration,isWholeLine:!0,className:E.default.inline_diff_pending_range})}])}clearPendingLine(){this.pendingRangeDec.clear()}clearActiveLine(){this.activeLineDec.clear()}clearAddedLine(){this.addedRangeDec.clear()}clearPartialEditWidgetList(){this.partialEditWidgetList.forEach(S=>{S.dispose()}),this.partialEditWidgetList=[],this.aiNativeContextKey.inlineDiffPartialEditsIsVisible.set(!1)}clearRemovedWidgets(){this.removedZoneWidgets.forEach(S=>{S.dispose()}),this.removedZoneWidgets=[]}revealFirstDiff(){const S=this.removedZoneWidgets[0];if(S){const w=S.getLastPosition();w&&this.monacoEditor.revealLineInCenterIfOutsideViewport(w.lineNumber)}}revealSiblingChange(S){if(this.currentChangeIndex=this.currentChangeIndex+(S==="up"?-1:1),this.currentChangeIndex>=0&&this.currentChangeIndex<this.partialEditWidgetList.length){const T=this.partialEditWidgetList[this.currentChangeIndex].getPosition();if(T?.position)return this.monacoEditor.revealLineInCenter(T.position.lineNumber),this.currentChangeIndex}else this.messageService.info(S==="up"?(0,p.localize)("aiNative.inlineDiff.noMoreChangesUp"):(0,p.localize)("aiNative.inlineDiff.noMoreChangesDown"))}setPreviewerOptions(S){this.options=S}};t.LivePreviewDiffDecorationModel=b,r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],b.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(p.IAIReporter),r.__metadata("design:type",Object)],b.prototype,"aiReporter",void 0),r.__decorate([(0,o.Autowired)(f.InlineStreamDiffService),r.__metadata("design:type",f.InlineStreamDiffService)],b.prototype,"inlineStreamDiffService",void 0),r.__decorate([(0,o.Autowired)(h.InlineDiffServiceToken),r.__metadata("design:type",Object)],b.prototype,"inlineDiffService",void 0),r.__decorate([(0,o.Autowired)(_.IMessageService),r.__metadata("design:type",Object)],b.prototype,"messageService",void 0),t.LivePreviewDiffDecorationModel=b=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[Object])],b)},19520:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineInputPreviewDecorationID=void 0,t.InlineInputPreviewDecorationID="InlineInputPreviewDecorationID"},90058:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SumiLightBulbWidget=void 0;const n=e(41869),r=e(3908),o=e(19202);class l extends o.LightBulbWidget{_updateLightBulbTitleAndIcon(){super._updateLightBulbTitleAndIcon();const v=super.state;if(v.type!==1)return;let m=super.icon;(v.actions.allAIFixes||v.actions.hasAutoFix&&v.actions.hasAIFix||v.actions.hasAIFix)&&(m=r.Sumicon.magicWand),m&&(this.getDomNode().classList.remove(...this._iconClasses),this.getDomNode().classList.add(...(0,n.asClassNameArrayWrapper)(m)))}}t.SumiLightBulbWidget=l},8191:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RewriteWidget=t.REWRITE_DECORATION_INLINE_ADD=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=n.__importDefault(e(25873)),p=e(76003),v=e(41869),m=n.__importStar(e(20868)),_=e(52659),s=e(90052),g=e(77714),a=e(2261),h=e(87822),u=e(16781),d=n.__importDefault(e(32518)),E={fixedOverflowWidgets:!0,readOnly:!0,domReadOnly:!0,lineNumbers:"off",glyphMargin:!1,scrollBeyondLastLine:!1,rulers:void 0,overviewRulerBorder:void 0,overviewRulerLanes:0,padding:{top:0,bottom:0},folding:!1,stickyScroll:{enabled:!1},minimap:{enabled:!1},automaticLayout:!0,scrollbar:{horizontal:"hidden",vertical:"hidden",horizontalScrollbarSize:0,verticalScrollbarSize:0,arrowSize:0,verticalSliderSize:0,horizontalSliderSize:0,ignoreHorizontalScrollbarInContentHeight:!0},hover:{enabled:!1},guides:{indentation:!1}};t.REWRITE_DECORATION_INLINE_ADD="rewrite-decoration-inline-add";const f=o.default.memo(y=>{const{editor:b,onReady:A}=y,S=(0,v.useInjectable)(v.MonacoService),w=(0,o.useRef)(null),T=(0,o.useRef)(null),[D,I]=(0,o.useState)(null),[R,P]=(0,o.useState)(0),[O,M]=(0,o.useState)(null),k=(0,o.useCallback)((U,W,j)=>{const G=b.getModel().getEOL();let $=W.startLineNumber,Z=W.startColumn;const Y=U.getModel();U.changeDecorations(ie=>{if(U){Y.getAllDecorations().map(fe=>fe.id).forEach(fe=>ie.removeDecoration(fe));for(const fe of j){if(fe.removed)continue;const _e=fe.value.split(G);for(let q=0;q<_e.length;q++){const Se=_e[q];q!==0&&($++,Z=1),fe.added&&ie.addDecoration(new m.Range($,Z,$,Z+Se.length),{description:t.REWRITE_DECORATION_INLINE_ADD,className:d.default.ghost_text_decoration_inline_add}),Z+=Se.length}}}});const V=U.getOption(m.editor.EditorOption.lineHeight);U?.setScrollTop(Math.max(W.startLineNumber-1,0)*V);const H=$-W.startLineNumber,K=U.getOption(m.editor.EditorOption.fontInfo).spaceWidth,Q=U.getOption(m.editor.EditorOption.layoutInfo).contentLeft;let X=0;const oe=Y.getOptions().tabSize;Array.from({length:H+1},(ie,fe)=>W.startLineNumber+fe).forEach(ie=>{const fe=Y.getLineContent(ie);let _e=0;for(const q of fe)q===g.space?_e+=oe:_e+=1,X=Math.max(X,_e)}),I({width:X*K+Q*2,height:V*(H+1)})},[D,b]);(0,o.useEffect)(()=>{if(b.getModel())return A&&A({getVirtualEditor:()=>O,renderVirtualEditor:(W,j,G)=>F(W,j,G),renderTextLineThrough:W=>L(W),layout:W=>B(W)}),()=>{O&&O.dispose(),T.current&&(0,v.runWhenIdle)(()=>{var W;(W=T.current)===null||W===void 0||W.unmount(),T.current=null})}},[b,A,O]);const F=(0,o.useCallback)((U,W,j)=>{if(!w.current)return;const G=b.getModel();if(!G)return;let $=O;if(!$){$=S.createCodeEditor(w.current,E);const Z=u.StandaloneServices.get(h.IModelService),Y={languageId:G.getLanguageId(),onDidChange:v.Event.None},V=Z.createModel("",Y);$.setModel(V),M($)}$.setValue(U),k($,W,j)},[w,O]),L=(0,o.useCallback)(U=>{if(!w.current)return;O&&(O.dispose(),M(null));const W=({changes:j})=>{const G=b.getOption(m.editor.EditorOption.lineHeight),$=b.getOption(m.editor.EditorOption.fontInfo).spaceWidth,Z=(V,H=d.default.ghost_text_decoration)=>o.default.createElement("span",{className:(0,r.default)(d.default.space_span,H),style:{width:`${$*V}px`}},g.space.repeat(V)),Y=(V,H)=>o.default.createElement("span",{className:(0,r.default)(d.default.text_span,H)},V);return o.default.createElement(o.default.Fragment,null,j.map((V,H)=>{let K=!0,Q="",X=0;const oe=[];for(const ie of V){const{value:fe,added:_e,removed:q}=ie;if(q)Q+=fe;else{K=!1,X+=fe.length;const Se=fe.length-fe.trimStart().length,ge=fe.length-fe.trimEnd().length,te=fe.trim();oe.push(Z(Se)),te&&(oe.push(Y(te,_e?d.default.ghost_text_decoration_inline_add:d.default.ghost_text_decoration)),oe.push(Z(ge)))}}if(K){const ie=Q.length-Q.trimStart().length,fe=Q.length-Q.trimEnd().length,_e=Q.trim();oe.push(Z(ie,d.default.ghost_text_decoration_remove)),_e&&(oe.push(Y(_e,d.default.ghost_text_decoration_inline_remove)),oe.push(Z(fe,d.default.ghost_text_decoration_inline_remove)))}return o.default.createElement("div",{key:H,className:d.default.deletions_code_line,style:{height:`${G}px`}},oe)}))};T.current&&(T.current.unmount(),T.current=null),T.current=l.default.createRoot(w.current),T.current.render(o.default.createElement(o.default.Fragment,null,U.map((j,G)=>o.default.createElement(W,{key:G,changes:j.changes}))))},[b,w,O,T]),B=(0,o.useCallback)(U=>{const W=b.getOption(m.editor.EditorOption.fontInfo).spaceWidth;let j=0;for(let G=U.startLineNumber;G<=U.endLineNumber;G++){const $=b.getModel().getLineMaxColumn(G);j=Math.max(j,$)}P(j*W+10)},[b]);return o.default.createElement("div",{className:d.default.rewrite_widget_container,style:{width:D?.width,height:D?.height,marginLeft:R}},o.default.createElement("div",{className:d.default.virtual_editor_container,ref:w}))});let c=class extends _.ReactInlineContentWidget{constructor(){super(...arguments),this.virtualEditorHandler=null,this.positionPreference=[s.ContentWidgetPositionPreference.EXACT],this.defered=new v.Deferred,this.updateFontStyle=()=>{const b=this.editor.getOption(m.editor.EditorOption.fontInfo);this.domNode.style.fontFamily=b.fontFamily,this.domNode.style.fontSize=b.fontSize+"px"}}renderView(){return this.updateFontStyle(),o.default.createElement(f,{editor:this.editor,onReady:b=>{this.defered.resolve(),this.virtualEditorHandler=b}})}id(){return"RewriteWidget"}show(b){const{position:A}=b;if(!A)return;const{lineNumber:S}=A;super.show({position:m.Position.lift({lineNumber:S,column:1})})}setInsertText(b){this.insertText=b}setEditArea(b){this.editArea=b}getEditArea(){return this.editArea}getVirtualEditor(){var b,A;return(A=(b=this.virtualEditorHandler)===null||b===void 0?void 0:b.getVirtualEditor())!==null&&A!==void 0?A:null}renderTextLineThrough(b){var A,S;(A=this.virtualEditorHandler)===null||A===void 0||A.renderTextLineThrough(b),(S=this.virtualEditorHandler)===null||S===void 0||S.layout(this.editArea)}renderVirtualEditor(b,A){this.virtualEditorHandler.renderVirtualEditor(b,this.editArea,A),this.virtualEditorHandler.layout(this.editArea)}accept(){(0,v.isUndefined)(this.insertText)||(this.editor.pushUndoStop(),this.editor.getModel().pushEditOperations(null,[a.EditOperation.replace(m.Range.lift(this.editArea),this.insertText)],()=>null))}};t.RewriteWidget=c,t.RewriteWidget=c=n.__decorate([(0,p.Injectable)({multiple:!0})],c)},19413:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineDiffServiceToken=t.IAIInlineCompletionsProvider=t.EResultKind=t.EInlineChatStatus=t.SumiMCPServerProxyServicePath=t.TokenMCPServerProxyService=t.ChatProxyServiceToken=t.IChatAgentService=t.IChatManagerService=t.IChatInternalService=t.ChatCompletionRequestMessageRoleEnum=t.AT_SIGN_SYMBOL=t.SLASH_SYMBOL=t.AI_MENUBAR_CONTAINER_VIEW_ID=t.BUILTIN_MCP_SERVER_NAME=t.AI_MENU_BAR_DEBUG_TOOLBAR=t.AI_CHAT_LOGO_AVATAR_ID=t.AI_CHAT_CONTAINER_ID=t.AI_CHAT_VIEW_ID=t.AIInlineChatContentWidget=t.IAINativeService=void 0;const n=e(85608),r=e(43718),o=e(66338);n.__exportStar(e(25264),t),t.IAINativeService=Symbol("IAINativeService"),t.AIInlineChatContentWidget=r.AIInlineChatContentWidgetId,t.AI_CHAT_VIEW_ID="AI-Chat",t.AI_CHAT_CONTAINER_ID="AI-Chat-Container",t.AI_CHAT_LOGO_AVATAR_ID="AI-Chat-Logo-Avatar",t.AI_MENU_BAR_DEBUG_TOOLBAR="AI_MENU_BAR_DEBUG_TOOLBAR",t.BUILTIN_MCP_SERVER_NAME="Builtin",t.AI_MENUBAR_CONTAINER_VIEW_ID=o.DESIGN_MENUBAR_CONTAINER_VIEW_ID,t.SLASH_SYMBOL="/",t.AT_SIGN_SYMBOL="@";var l;(function(m){m.System="system",m.User="user",m.Assistant="assistant"})(l||(t.ChatCompletionRequestMessageRoleEnum=l={})),t.IChatInternalService=Symbol("IChatInternalService"),t.IChatManagerService=Symbol("IChatManagerService"),t.IChatAgentService=Symbol("IChatAgentService"),t.ChatProxyServiceToken=Symbol("ChatProxyServiceToken"),t.TokenMCPServerProxyService=Symbol("TokenMCPServerProxyService"),t.SumiMCPServerProxyServicePath="SumiMCPServerProxyServicePath";var p;(function(m){m[m.READY=0]="READY",m[m.THINKING=1]="THINKING",m[m.DONE=2]="DONE",m[m.ERROR=3]="ERROR"})(p||(t.EInlineChatStatus=p={}));var v;(function(m){m.ACCEPT="ACCEPT",m.DISCARD="DISCARD",m.REGENERATE="REGENERATE"})(v||(t.EResultKind=v={})),t.IAIInlineCompletionsProvider=Symbol("IAIInlineCompletionsProvider"),t.InlineDiffServiceToken=Symbol("InlineDiffService")},46044:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LLMContextServiceToken=void 0,t.LLMContextServiceToken=Symbol("LLMContextService")},64811:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServersEnabledKey=t.MCPServerManagerPath=t.MCPServerManager=void 0,t.MCPServerManager=Symbol("MCPServerManager"),t.MCPServerManagerPath="ServicesMCPServerManager",t.MCPServersEnabledKey="mcp_servers_enabled"},25264:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.openAiNativeModels=t.anthropicModels=t.deepSeekModels=void 0,t.deepSeekModels={"deepseek-chat":{maxTokens:8e3,contextWindow:64e3,supportsImages:!1},"deepseek-reasoner":{maxTokens:8e3,contextWindow:64e3,supportsImages:!1,temperature:.7,topP:.95}},t.anthropicModels={"claude-3-7-sonnet-20250219":{maxTokens:8192,contextWindow:2e5,supportsImages:!0},"claude-3-5-sonnet-20241022":{maxTokens:8192,contextWindow:2e5,supportsImages:!0},"claude-3-5-haiku-20241022":{maxTokens:8192,contextWindow:2e5,supportsImages:!1},"claude-3-opus-20240229":{maxTokens:4096,contextWindow:2e5,supportsImages:!0},"claude-3-haiku-20240307":{maxTokens:4096,contextWindow:2e5,supportsImages:!0}},t.openAiNativeModels={"o3-mini":{maxTokens:1e5,contextWindow:2e5,supportsImages:!1},o1:{maxTokens:1e5,contextWindow:2e5,supportsImages:!0},"o1-preview":{maxTokens:32768,contextWindow:128e3,supportsImages:!0},"o1-mini":{maxTokens:65536,contextWindow:128e3,supportsImages:!0},"gpt-4o":{maxTokens:4096,contextWindow:128e3,supportsImages:!0},"gpt-4o-mini":{maxTokens:16384,contextWindow:128e3,supportsImages:!0},"gpt-4.5-preview":{maxTokens:16384,contextWindow:128e3,supportsImages:!0}}},73307:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultChatAgentPromptProvider=t.ChatAgentPromptProvider=void 0;const n=e(85608),r=e(76003),o=e(55113),l=e(51500);t.ChatAgentPromptProvider=Symbol("ChatAgentPromptProvider");let p=class{async provideContextPrompt(m,_){const s=m.attachedFiles.length>0||m.attachedFolders.length>0?null:await this.getCurrentFileInfo();return this.buildPromptTemplate({recentFiles:this.buildRecentFilesSection(m.recentlyViewFiles),attachedFiles:this.buildAttachedFilesSection(m.attachedFiles),attachedFolders:this.buildAttachedFoldersSection(m.attachedFolders),currentFile:s,userMessage:_})}async getCurrentFileInfo(){var m;const _=this.workbenchEditorService.currentEditor,s=_?.currentDocumentModel;return s?.uri?{path:((m=await this.workspaceService.asRelativePath(s.uri))===null||m===void 0?void 0:m.path)||s.uri.codeUri.fsPath,languageId:s.languageId,content:s.getText()}:null}buildPromptTemplate({recentFiles:m,attachedFiles:_,attachedFolders:s,currentFile:g,userMessage:a}){return["<additional_data>","Below are some potentially helpful/relevant pieces of information for figuring out to respond",m,_,s,this.buildCurrentFileSection(g),"</additional_data>","<user_query>",a,"</user_query>"].filter(Boolean).join(`
|
|
31740
|
+
`)||"",$=M?.getRange();try{$&&(j=P.getValueInRange({...$,endColumn:P.getLineMaxColumn($.endLineNumber)}))}catch{j=""}const Z=K=>{D&&this.aiReporter.end(R,{message:"discard",success:!0,isDrop:!0,code:j,originCode:G,actionSource:p.ActionSourceEnum.InlineChat,actionType:p.ActionTypeEnum.LineDiscard});const Q=U(K);Q?.discard();const X=W(K);X?.discard();const oe=B(K);return this.doDiscardPartialWidget(oe,X,Q)},Y=K=>{D&&this.aiReporter.end(R,{message:"accept",success:!0,isReceive:!0,code:j,originCode:G,actionSource:p.ActionSourceEnum.InlineChat,actionType:p.ActionTypeEnum.lineAccept});const Q=B(K);Q?.accept(k,F);const X=U(K);X?.accept();const oe=W(K);oe?.accept()},V=K=>{const Q=B(K);Q?.resume();const X=U(K);X?.resume();const oe=W(K);oe?.resume()};switch(S){case u.EPartialEdit.accept:if(Y(this),T){const K=this.createEditStackElement(L);K.attachModel(this),K.registerUndo(Q=>{V(Q)}),K.registerRedo(Q=>{Y(Q)})}break;case u.EPartialEdit.discard:{const K=Z(this);if(K){if(T){const Q=this.createEditStackElement(L);Q.attachModel(this),Q.registerUndo(X=>{V(X)}),Q.registerRedo(X=>{Z(X)})}P.pushStackElement(),P.pushEditOperations(null,[K],()=>null,L),P.pushStackElement()}}break;default:break}const H={uri:this.model.uri,totalPartialEditCount:this.partialEditWidgetList.length,resolvedPartialEditCount:this.partialEditWidgetList.filter(K=>K.isHidden).length,acceptPartialEditCount:this.partialEditWidgetList.filter(K=>K.isAccepted).length,currentPartialEdit:{addedLinesCount:k,deletedLinesCount:F,type:S},...this.getTotalCodeInfo()};this.monacoEditor.focus(),this.inlineDiffService.firePartialEdit(H),this.firePartialEditWidgetList()}firePartialEditWidgetList(){this._onPartialEditWidgetListChange.fire(this.partialEditWidgetList);const S=this.partialEditWidgetList.filter(w=>!w.isHidden);this.aiNativeContextKey.inlineDiffPartialEditsIsVisible.set(S.length!==0)}createEditStackElement(S){const w=new c.LivePreviewUndoRedoStackElement(this.model);return this.undoRedoService.pushElement(w,S),w}static computeCodeInfo(S,w,T){const D=R(S),I={added:0,deleted:0,changed:0};return S.forEach((P,O)=>{if(P.status==="pending"){const M=w[O],k=T[O],F=M?.length||0,L=k?.height||0;I.added+=F,I.deleted+=L,I.changed+=Math.max(F,L)}}),{totalAddedLinesCount:D.added,totalDeletedLinesCount:D.deleted,totalChangedLinesCount:D.changed,unresolvedAddedLinesCount:I.added,unresolvedDeletedLinesCount:I.deleted,unresolvedChangedLinesCount:I.changed};function R(P){const O={added:0,deleted:0,changed:0};return P.forEach(M=>{const k=M.addedLinesCount,F=M.deletedLinesCount;O.added+=k,O.deleted+=F,O.changed+=Math.max(k,F)}),O}}getTotalCodeInfo(){const S=this.partialEditWidgetList,w=this.addedRangeDec.getDecorations(),T=this.removedZoneWidgets;return n.computeCodeInfo(S,w,T)}recordPartialEditWidgetWithAddedDec(){this.partialEditWidgetList.forEach(S=>{var w,T;const D=(T=(w=S.getPosition())===null||w===void 0?void 0:w.position)===null||T===void 0?void 0:T.lineNumber;if(D){const I=this.addedRangeDec.getDecorationByLineNumber(D);I&&S.recordAddedRangeId(I.id)}})}acceptUnProcessed(){this.partialEditWidgetList.filter(w=>w.isPending).forEach(w=>{this.handlePartialEditAction(u.EPartialEdit.accept,w,!1)})}discardUnProcessed(){this.partialEditWidgetList.filter(w=>w.isPending).forEach(w=>{this.handlePartialEditAction(u.EPartialEdit.discard,w,!1)})}createPartialEditWidget(S){const w=this.injector.get(y.AcceptPartialEditWidget,[this.monacoEditor,this.options.partialEditWidgetOptions]);w.show({position:{lineNumber:S,column:1}});const T=w.onDispose(()=>{const D=w.getId();this.partialEditWidgetList=this.partialEditWidgetList.filter(I=>I.getId()!==D),T.dispose()});return w.addDispose([w.onAccept(()=>{this.handlePartialEditAction(u.EPartialEdit.accept,w,!0,!0)}),w.onDiscard(()=>{this.handlePartialEditAction(u.EPartialEdit.discard,w,!0,!0)})]),w}touchPartialEditWidgets(S){this.clearPartialEditWidgetList(),this.partialEditWidgetList=S.map(w=>this.createPartialEditWidget(w)),this.firePartialEditWidgetList()}touchAddedRange(S){this.addedRangeDec.set(S.map(w=>{const T=w.startPosition,D=w.endPosition,I=w.len;let R=v.Range.fromPositions(T,D),P=E.default.inline_diff_added_range+" ";return I===0&&(R=v.Range.fromPositions(T),P+=E.default.hide),{length:I,range:R,isHidden:I===0,options:g.ModelDecorationOptions.register({description:y.AddedRangeDecoration,isWholeLine:!0,className:P})}})),this.recordPartialEditWidgetWithAddedDec()}touchRemovedWidget(S,w){const T=()=>{this.clearRemovedWidgets(),S.forEach(({textLines:D,position:I})=>{this.showRemovedWidgetByLineNumber(I.lineNumber,D,{})}),w?.()};this.options.renderRemovedWidgetImmediately?T():this.addDispose((0,p.runWhenIdle)(T))}touchPendingRange(S){const w=this.getZone();this.pendingRangeDec.set([{range:v.Range.fromPositions({lineNumber:w.startLineNumber+S.startLineNumber-1,column:0},{lineNumber:w.startLineNumber+S.endLineNumberExclusive-2,column:Number.MAX_SAFE_INTEGER}),options:g.ModelDecorationOptions.register({description:y.PendingRangeDecoration,isWholeLine:!0,className:E.default.inline_diff_pending_range})}])}clearPendingLine(){this.pendingRangeDec.clear()}clearActiveLine(){this.activeLineDec.clear()}clearAddedLine(){this.addedRangeDec.clear()}clearPartialEditWidgetList(){this.partialEditWidgetList.forEach(S=>{S.dispose()}),this.partialEditWidgetList=[],this.aiNativeContextKey.inlineDiffPartialEditsIsVisible.set(!1)}clearRemovedWidgets(){this.removedZoneWidgets.forEach(S=>{S.dispose()}),this.removedZoneWidgets=[]}revealFirstDiff(){const S=this.removedZoneWidgets[0];if(S){const w=S.getLastPosition();w&&this.monacoEditor.revealLineInCenterIfOutsideViewport(w.lineNumber)}}revealSiblingChange(S){if(this.currentChangeIndex=this.currentChangeIndex+(S==="up"?-1:1),this.currentChangeIndex>=0&&this.currentChangeIndex<this.partialEditWidgetList.length){const T=this.partialEditWidgetList[this.currentChangeIndex].getPosition();if(T?.position)return this.monacoEditor.revealLineInCenter(T.position.lineNumber),this.currentChangeIndex}else this.messageService.info(S==="up"?(0,p.localize)("aiNative.inlineDiff.noMoreChangesUp"):(0,p.localize)("aiNative.inlineDiff.noMoreChangesDown"))}setPreviewerOptions(S){this.options=S}};t.LivePreviewDiffDecorationModel=b,r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],b.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(p.IAIReporter),r.__metadata("design:type",Object)],b.prototype,"aiReporter",void 0),r.__decorate([(0,o.Autowired)(f.InlineStreamDiffService),r.__metadata("design:type",f.InlineStreamDiffService)],b.prototype,"inlineStreamDiffService",void 0),r.__decorate([(0,o.Autowired)(h.InlineDiffServiceToken),r.__metadata("design:type",Object)],b.prototype,"inlineDiffService",void 0),r.__decorate([(0,o.Autowired)(_.IMessageService),r.__metadata("design:type",Object)],b.prototype,"messageService",void 0),t.LivePreviewDiffDecorationModel=b=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[Object])],b)},19520:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineInputPreviewDecorationID=void 0,t.InlineInputPreviewDecorationID="InlineInputPreviewDecorationID"},90058:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SumiLightBulbWidget=void 0;const n=e(41869),r=e(3908),o=e(19202);class l extends o.LightBulbWidget{_updateLightBulbTitleAndIcon(){super._updateLightBulbTitleAndIcon();const v=super.state;if(v.type!==1)return;let m=super.icon;(v.actions.allAIFixes||v.actions.hasAutoFix&&v.actions.hasAIFix||v.actions.hasAIFix)&&(m=r.Sumicon.magicWand),m&&(this.getDomNode().classList.remove(...this._iconClasses),this.getDomNode().classList.add(...(0,n.asClassNameArrayWrapper)(m)))}}t.SumiLightBulbWidget=l},8191:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RewriteWidget=t.REWRITE_DECORATION_INLINE_ADD=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=n.__importDefault(e(25873)),p=e(76003),v=e(41869),m=n.__importStar(e(20868)),_=e(52659),s=e(90052),g=e(77714),a=e(2261),h=e(87822),u=e(16781),d=n.__importDefault(e(32518)),E={fixedOverflowWidgets:!0,readOnly:!0,domReadOnly:!0,lineNumbers:"off",glyphMargin:!1,scrollBeyondLastLine:!1,rulers:void 0,overviewRulerBorder:void 0,overviewRulerLanes:0,padding:{top:0,bottom:0},folding:!1,stickyScroll:{enabled:!1},minimap:{enabled:!1},automaticLayout:!0,scrollbar:{horizontal:"hidden",vertical:"hidden",horizontalScrollbarSize:0,verticalScrollbarSize:0,arrowSize:0,verticalSliderSize:0,horizontalSliderSize:0,ignoreHorizontalScrollbarInContentHeight:!0},hover:{enabled:!1},guides:{indentation:!1}};t.REWRITE_DECORATION_INLINE_ADD="rewrite-decoration-inline-add";const f=o.default.memo(y=>{const{editor:b,onReady:A}=y,S=(0,v.useInjectable)(v.MonacoService),w=(0,o.useRef)(null),T=(0,o.useRef)(null),[D,I]=(0,o.useState)(null),[R,P]=(0,o.useState)(0),[O,M]=(0,o.useState)(null),k=(0,o.useCallback)((U,W,j)=>{const G=b.getModel().getEOL();let $=W.startLineNumber,Z=W.startColumn;const Y=U.getModel();U.changeDecorations(ie=>{if(U){Y.getAllDecorations().map(fe=>fe.id).forEach(fe=>ie.removeDecoration(fe));for(const fe of j){if(fe.removed)continue;const _e=fe.value.split(G);for(let q=0;q<_e.length;q++){const Se=_e[q];q!==0&&($++,Z=1),fe.added&&ie.addDecoration(new m.Range($,Z,$,Z+Se.length),{description:t.REWRITE_DECORATION_INLINE_ADD,className:d.default.ghost_text_decoration_inline_add}),Z+=Se.length}}}});const V=U.getOption(m.editor.EditorOption.lineHeight);U?.setScrollTop(Math.max(W.startLineNumber-1,0)*V);const H=$-W.startLineNumber,K=U.getOption(m.editor.EditorOption.fontInfo).spaceWidth,Q=U.getOption(m.editor.EditorOption.layoutInfo).contentLeft;let X=0;const oe=Y.getOptions().tabSize;Array.from({length:H+1},(ie,fe)=>W.startLineNumber+fe).forEach(ie=>{const fe=Y.getLineContent(ie);let _e=0;for(const q of fe)q===g.space?_e+=oe:_e+=1,X=Math.max(X,_e)}),I({width:X*K+Q*2,height:V*(H+1)})},[D,b]);(0,o.useEffect)(()=>{if(b.getModel())return A&&A({getVirtualEditor:()=>O,renderVirtualEditor:(W,j,G)=>F(W,j,G),renderTextLineThrough:W=>L(W),layout:W=>B(W)}),()=>{O&&O.dispose(),T.current&&(0,v.runWhenIdle)(()=>{var W;(W=T.current)===null||W===void 0||W.unmount(),T.current=null})}},[b,A,O]);const F=(0,o.useCallback)((U,W,j)=>{if(!w.current)return;const G=b.getModel();if(!G)return;let $=O;if(!$){$=S.createCodeEditor(w.current,E);const Z=u.StandaloneServices.get(h.IModelService),Y={languageId:G.getLanguageId(),onDidChange:v.Event.None},V=Z.createModel("",Y);$.setModel(V),M($)}$.setValue(U),k($,W,j)},[w,O]),L=(0,o.useCallback)(U=>{if(!w.current)return;O&&(O.dispose(),M(null));const W=({changes:j})=>{const G=b.getOption(m.editor.EditorOption.lineHeight),$=b.getOption(m.editor.EditorOption.fontInfo).spaceWidth,Z=(V,H=d.default.ghost_text_decoration)=>o.default.createElement("span",{className:(0,r.default)(d.default.space_span,H),style:{width:`${$*V}px`}},g.space.repeat(V)),Y=(V,H)=>o.default.createElement("span",{className:(0,r.default)(d.default.text_span,H)},V);return o.default.createElement(o.default.Fragment,null,j.map((V,H)=>{let K=!0,Q="",X=0;const oe=[];for(const ie of V){const{value:fe,added:_e,removed:q}=ie;if(q)Q+=fe;else{K=!1,X+=fe.length;const Se=fe.length-fe.trimStart().length,ge=fe.length-fe.trimEnd().length,te=fe.trim();oe.push(Z(Se)),te&&(oe.push(Y(te,_e?d.default.ghost_text_decoration_inline_add:d.default.ghost_text_decoration)),oe.push(Z(ge)))}}if(K){const ie=Q.length-Q.trimStart().length,fe=Q.length-Q.trimEnd().length,_e=Q.trim();oe.push(Z(ie,d.default.ghost_text_decoration_remove)),_e&&(oe.push(Y(_e,d.default.ghost_text_decoration_inline_remove)),oe.push(Z(fe,d.default.ghost_text_decoration_inline_remove)))}return o.default.createElement("div",{key:H,className:d.default.deletions_code_line,style:{height:`${G}px`}},oe)}))};T.current&&(T.current.unmount(),T.current=null),T.current=l.default.createRoot(w.current),T.current.render(o.default.createElement(o.default.Fragment,null,U.map((j,G)=>o.default.createElement(W,{key:G,changes:j.changes}))))},[b,w,O,T]),B=(0,o.useCallback)(U=>{const W=b.getOption(m.editor.EditorOption.fontInfo).spaceWidth;let j=0;for(let G=U.startLineNumber;G<=U.endLineNumber;G++){const $=b.getModel().getLineMaxColumn(G);j=Math.max(j,$)}P(j*W+10)},[b]);return o.default.createElement("div",{className:d.default.rewrite_widget_container,style:{width:D?.width,height:D?.height,marginLeft:R}},o.default.createElement("div",{className:d.default.virtual_editor_container,ref:w}))});let c=class extends _.ReactInlineContentWidget{constructor(){super(...arguments),this.virtualEditorHandler=null,this.positionPreference=[s.ContentWidgetPositionPreference.EXACT],this.defered=new v.Deferred,this.updateFontStyle=()=>{const b=this.editor.getOption(m.editor.EditorOption.fontInfo);this.domNode.style.fontFamily=b.fontFamily,this.domNode.style.fontSize=b.fontSize+"px"}}renderView(){return this.updateFontStyle(),o.default.createElement(f,{editor:this.editor,onReady:b=>{this.defered.resolve(),this.virtualEditorHandler=b}})}id(){return"RewriteWidget"}show(b){const{position:A}=b;if(!A)return;const{lineNumber:S}=A;super.show({position:m.Position.lift({lineNumber:S,column:1})})}setInsertText(b){this.insertText=b}setEditArea(b){this.editArea=b}getEditArea(){return this.editArea}getVirtualEditor(){var b,A;return(A=(b=this.virtualEditorHandler)===null||b===void 0?void 0:b.getVirtualEditor())!==null&&A!==void 0?A:null}renderTextLineThrough(b){var A,S;(A=this.virtualEditorHandler)===null||A===void 0||A.renderTextLineThrough(b),(S=this.virtualEditorHandler)===null||S===void 0||S.layout(this.editArea)}renderVirtualEditor(b,A){this.virtualEditorHandler.renderVirtualEditor(b,this.editArea,A),this.virtualEditorHandler.layout(this.editArea)}accept(){(0,v.isUndefined)(this.insertText)||(this.editor.pushUndoStop(),this.editor.getModel().pushEditOperations(null,[a.EditOperation.replace(m.Range.lift(this.editArea),this.insertText)],()=>null))}};t.RewriteWidget=c,t.RewriteWidget=c=n.__decorate([(0,p.Injectable)({multiple:!0})],c)},19413:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineDiffServiceToken=t.IAIInlineCompletionsProvider=t.EResultKind=t.EInlineChatStatus=t.SumiMCPServerProxyServicePath=t.TokenMCPServerProxyService=t.ChatProxyServiceToken=t.IChatAgentService=t.IChatManagerService=t.IChatInternalService=t.ChatCompletionRequestMessageRoleEnum=t.AT_SIGN_SYMBOL=t.SLASH_SYMBOL=t.AI_MENUBAR_CONTAINER_VIEW_ID=t.BUILTIN_MCP_SERVER_NAME=t.AI_MENU_BAR_DEBUG_TOOLBAR=t.AI_CHAT_LOGO_AVATAR_ID=t.AI_CHAT_CONTAINER_ID=t.AI_CHAT_VIEW_ID=t.AIInlineChatContentWidget=t.IAINativeService=void 0;const n=e(85608),r=e(43718),o=e(66338);n.__exportStar(e(25264),t),t.IAINativeService=Symbol("IAINativeService"),t.AIInlineChatContentWidget=r.AIInlineChatContentWidgetId,t.AI_CHAT_VIEW_ID="AI-Chat",t.AI_CHAT_CONTAINER_ID="AI-Chat-Container",t.AI_CHAT_LOGO_AVATAR_ID="AI-Chat-Logo-Avatar",t.AI_MENU_BAR_DEBUG_TOOLBAR="AI_MENU_BAR_DEBUG_TOOLBAR",t.BUILTIN_MCP_SERVER_NAME="Builtin",t.AI_MENUBAR_CONTAINER_VIEW_ID=o.DESIGN_MENUBAR_CONTAINER_VIEW_ID,t.SLASH_SYMBOL="/",t.AT_SIGN_SYMBOL="@";var l;(function(m){m.System="system",m.User="user",m.Assistant="assistant"})(l||(t.ChatCompletionRequestMessageRoleEnum=l={})),t.IChatInternalService=Symbol("IChatInternalService"),t.IChatManagerService=Symbol("IChatManagerService"),t.IChatAgentService=Symbol("IChatAgentService"),t.ChatProxyServiceToken=Symbol("ChatProxyServiceToken"),t.TokenMCPServerProxyService=Symbol("TokenMCPServerProxyService"),t.SumiMCPServerProxyServicePath="SumiMCPServerProxyServicePath";var p;(function(m){m[m.READY=0]="READY",m[m.THINKING=1]="THINKING",m[m.DONE=2]="DONE",m[m.ERROR=3]="ERROR"})(p||(t.EInlineChatStatus=p={}));var v;(function(m){m.ACCEPT="ACCEPT",m.DISCARD="DISCARD",m.REGENERATE="REGENERATE"})(v||(t.EResultKind=v={})),t.IAIInlineCompletionsProvider=Symbol("IAIInlineCompletionsProvider"),t.InlineDiffServiceToken=Symbol("InlineDiffService")},46044:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LLM_CONTEXT_KEY_REGEX=t.LLM_CONTEXT_KEY=t.LLMContextServiceToken=void 0,t.LLMContextServiceToken=Symbol("LLMContextService");var e;(function(n){n.AttachedFile="<attached_file>",n.AttachedFolder="<attached_folder>"})(e||(t.LLM_CONTEXT_KEY=e={})),t.LLM_CONTEXT_KEY_REGEX=/<attached_file>|<attached_folder>/g},64811:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServersEnabledKey=t.MCPServerManagerPath=t.MCPServerManager=void 0,t.MCPServerManager=Symbol("MCPServerManager"),t.MCPServerManagerPath="ServicesMCPServerManager",t.MCPServersEnabledKey="mcp_servers_enabled"},25264:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.openAiNativeModels=t.anthropicModels=t.deepSeekModels=void 0,t.deepSeekModels={"deepseek-chat":{maxTokens:8e3,contextWindow:64e3,supportsImages:!1},"deepseek-reasoner":{maxTokens:8e3,contextWindow:64e3,supportsImages:!1,temperature:.7,topP:.95}},t.anthropicModels={"claude-3-7-sonnet-20250219":{maxTokens:8192,contextWindow:2e5,supportsImages:!0},"claude-3-5-sonnet-20241022":{maxTokens:8192,contextWindow:2e5,supportsImages:!0},"claude-3-5-haiku-20241022":{maxTokens:8192,contextWindow:2e5,supportsImages:!1},"claude-3-opus-20240229":{maxTokens:4096,contextWindow:2e5,supportsImages:!0},"claude-3-haiku-20240307":{maxTokens:4096,contextWindow:2e5,supportsImages:!0}},t.openAiNativeModels={"o3-mini":{maxTokens:1e5,contextWindow:2e5,supportsImages:!1},o1:{maxTokens:1e5,contextWindow:2e5,supportsImages:!0},"o1-preview":{maxTokens:32768,contextWindow:128e3,supportsImages:!0},"o1-mini":{maxTokens:65536,contextWindow:128e3,supportsImages:!0},"gpt-4o":{maxTokens:4096,contextWindow:128e3,supportsImages:!0},"gpt-4o-mini":{maxTokens:16384,contextWindow:128e3,supportsImages:!0},"gpt-4.5-preview":{maxTokens:16384,contextWindow:128e3,supportsImages:!0}}},73307:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultChatAgentPromptProvider=t.ChatAgentPromptProvider=void 0;const n=e(85608),r=e(76003),o=e(55113),l=e(51500);t.ChatAgentPromptProvider=Symbol("ChatAgentPromptProvider");let p=class{async provideContextPrompt(m,_){const s=m.attachedFiles.length>0||m.attachedFolders.length>0?null:await this.getCurrentFileInfo();return this.buildPromptTemplate({recentFiles:this.buildRecentFilesSection(m.recentlyViewFiles),attachedFiles:this.buildAttachedFilesSection(m.attachedFiles),attachedFolders:this.buildAttachedFoldersSection(m.attachedFolders),currentFile:s,userMessage:_})}async getCurrentFileInfo(){var m;const _=this.workbenchEditorService.currentEditor,s=_?.currentDocumentModel;return s?.uri?{path:((m=await this.workspaceService.asRelativePath(s.uri))===null||m===void 0?void 0:m.path)||s.uri.codeUri.fsPath,languageId:s.languageId,content:s.getText()}:null}buildPromptTemplate({recentFiles:m,attachedFiles:_,attachedFolders:s,currentFile:g,userMessage:a}){return["<additional_data>","Below are some potentially helpful/relevant pieces of information for figuring out to respond",m,_,s,this.buildCurrentFileSection(g),"</additional_data>","<user_query>",a,"</user_query>"].filter(Boolean).join(`
|
|
31739
31741
|
`)}buildRecentFilesSection(m){return m.length?`<recently_viewed_files>
|
|
31740
31742
|
${m.map((_,s)=>` ${s+1}: ${_}`).join(`
|
|
31741
31743
|
`)}
|
|
@@ -31758,7 +31760,7 @@ ${m.content}
|
|
|
31758
31760
|
\`\`\`
|
|
31759
31761
|
</current_opened_file>`:""}};t.DefaultChatAgentPromptProvider=p,n.__decorate([(0,r.Autowired)(o.WorkbenchEditorService),n.__metadata("design:type",o.WorkbenchEditorService)],p.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(l.IWorkspaceService),n.__metadata("design:type",Object)],p.prototype,"workspaceService",void 0),t.DefaultChatAgentPromptProvider=p=n.__decorate([(0,r.Injectable)()],p)},69820:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EPartialEdit=t.MCP_SERVER_TYPE=t.NearestCodeBlockType=void 0;var e;(function(o){o.Block="block",o.Line="line"})(e||(t.NearestCodeBlockType=e={}));var n;(function(o){o.STDIO="stdio",o.SSE="sse",o.BUILTIN="builtin"})(n||(t.MCP_SERVER_TYPE=n={}));var r;(function(o){o.accept="accept",o.discard="discard"})(r||(t.EPartialEdit=r={}))},98864:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cleanAttachedTextWrapper=t.getToolName=t.extractCodeBlocks=t.isDocumentValid=t.isDocumentTooShort=t.isDocumentTooLarge=void 0;const n=e(19413),r="```",o=10,l=g=>{try{g.getText()}catch(a){if(a instanceof RangeError)return!0}return!1};t.isDocumentTooLarge=l;const p=g=>g.getText().length<o;t.isDocumentTooShort=p;const v=g=>!((0,t.isDocumentTooLarge)(g)||(0,t.isDocumentTooShort)(g));t.isDocumentValid=v;const m=g=>{const a=g.split(`
|
|
31760
31762
|
`);let h=[],u=!1,d=0;return a.forEach((E,f)=>{if(!u&&E.trim().startsWith(r))u=!0,d=f+1;else if(u&&E.trim().startsWith(r)){u=!1;const c=f;h=a.slice(d,c)}u&&d!==f+1&&h.push(E)}),h.join(`
|
|
31761
|
-
`)};t.extractCodeBlocks=m;const _=(g,a=n.BUILTIN_MCP_SERVER_NAME)=>`mcp_${a}_${g}`;t.getToolName=_;const s=g=>{const a=/`<attached_file>(.*)`/g,h=/`<attached_folder>(.*)`/g;return g=g.replace(a,"$1"),g=g.replace(h,"$1"),g};t.cleanAttachedTextWrapper=s},26471:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(19413),t)},15504:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentReactions=t.CommentReactionSwitcher=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(81878),p=e(25918),v=e(93899),m=e(52416),_=e(69635),s=n.__importDefault(e(38877)),g=({thread:h,comment:u,className:d})=>{const E=`${h.providerId}_${h.id}_${u.id}`,f=`${v.MenuId.CommentReactionSwitcherMenu}_${E}`,c=(0,o.useInjectable)(v.IMenuRegistry),y=(0,o.useInjectable)(v.AbstractMenuService);r.default.useEffect(()=>{const A=new o.Disposable,S=`${v.MenuId.CommentReactionSwitcherSubmenu}_${E}`;return A.addDispose(c.registerMenuItem(f,{submenu:S,label:S,iconClass:(0,o.getExternalIcon)("reactions"),group:"navigation"})),A.addDispose(c.registerMenuItems(S,u.reactions.map(w=>({command:{id:_.SwitchCommandReaction,label:w.label},extraTailArgs:[{thread:h,comment:u,reaction:w}]})))),()=>A.dispose()},[]);const b=r.default.useMemo(()=>y.createMenu(f),[]);return r.default.createElement(p.InlineActionBar,{className:d,menus:b,regroup:A=>[A,[]],type:"icon"})};t.CommentReactionSwitcher=g;const a=({thread:h,comment:u})=>{var d;const E=(0,o.useInjectable)(o.IEventBus),f=(0,o.useInjectable)(m.IIconService),c=r.default.useCallback(y=>{E.fire(new _.CommentReactionClick({thread:h,comment:u,reaction:y}))},[]);return r.default.createElement("div",{className:s.default.comment_reactions},(d=u.reactions)===null||d===void 0?void 0:d.filter(y=>y.count!==0).map(y=>r.default.createElement(l.Button,{key:y.label,onClick:()=>c(y),type:"secondary",size:"small",title:y.label,className:s.default.comment_reaction,iconClass:f.fromIcon("",y.iconPath.toString(),m.IconType.Background)},"\xA0",y.count)))};t.CommentReactions=a},54143:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsBody=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(43144)),l=e(84605),p=n.__importDefault(e(38877)),v=e(70154),m=({root:_,children:s})=>o.default.createPortal(s,_);t.CommentsBody=r.default.memo(({body:_})=>{const s=r.default.useRef(null),[g,a]=r.default.useState(null),h=r.default.useMemo(()=>{const u=(0,l.createMarkedRenderer)();return u.link=(d,E,f)=>`<a target="_blank" rel="noopener" href="${d}" title="${E}">${f}</a>`,u},[]);return r.default.useEffect(()=>{if(s.current){const u=s.current.attachShadow({mode:"open"});g||a(u)}},[]),r.default.createElement("div",{ref:s,className:p.default.comment_shadow_box},g&&r.default.createElement(m,{root:g},r.default.createElement("style",null,v.markdownCss),r.default.createElement("div",{dangerouslySetInnerHTML:{__html:(0,l.toMarkdownHtml)(typeof _=="string"?_:_.value,{gfm:!0,breaks:!1,pedantic:!1,smartLists:!0,smartypants:!1,renderer:h})}})))})},66480:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsFeatureRegistry=void 0;const n=e(85608),r=e(76003);let o=class{constructor(){this.config={},this.options={},this.panelTreeNodeHandlers=[],this.mentionsOptions={},this.providerFeature=new Map}registerConfig(p){this.config={...this.config,...p}}registerPanelTreeNodeHandler(p){this.panelTreeNodeHandlers.push(p)}registerPanelOptions(p){this.options={...this.options,...p}}registerFileUploadHandler(p){this.fileUploadHandler=p}registerMentionsOptions(p){this.mentionsOptions=p}registerZoneWidgetRender(p){this.zoneWidgetRender=p}getConfig(){return this.config}getCommentsPanelOptions(){return this.options}getCommentsPanelTreeNodeHandlers(){return this.panelTreeNodeHandlers}getFileUploadHandler(){return this.fileUploadHandler}getMentionsOptions(){return this.mentionsOptions}getZoneWidgetRender(){return this.zoneWidgetRender}registerProviderFeature(p,v){this.providerFeature.set(p,v)}getProviderFeature(p){return this.providerFeature.get(p)}};t.CommentsFeatureRegistry=o,t.CommentsFeatureRegistry=o=n.__decorate([(0,r.Injectable)()],o)},37357:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentItem=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(97267),l=e(41869),p=e(25918),v=e(93899),m=e(69635),_=e(15504),s=e(54143),g=e(42018),a=n.__importDefault(e(38877)),h=({timestamp:f})=>{const c=r.default.useMemo(()=>{const y=new Date(f);return(0,l.toLocalString)(y)},[f]);return r.default.createElement("span",{className:a.default.comment_item_timestamp},c)},u=(f,c)=>{const y=(0,l.useInjectable)(v.AbstractMenuService),{body:b,contextValue:A}=c,[S,w]=r.default.useState(""),T=(0,l.useInjectable)(m.ICommentsFeatureRegistry),D=r.default.useMemo(()=>T.getFileUploadHandler(),[]);r.default.useEffect(()=>{w(b)},[b]);const I=r.default.useMemo(()=>f.createScoped(),[]),R=r.default.useMemo(()=>I.createKey("commentIsEmpty",!c.body),[]),P=r.default.useMemo(()=>y.createMenu(v.MenuId.CommentsCommentContext,I),[]),O=r.default.useMemo(()=>y.createMenu(v.MenuId.CommentsCommentTitle,I),[]),M=r.default.useRef(I.createKey("comment",A));r.default.useEffect(()=>{M.current.set(A)},[A]);const k=r.default.useCallback(L=>{R.set(!L.target.value),w(L.target.value)},[]),F=r.default.useCallback(async L=>{if(D){const B=await D(S,L);w(U=>{const W=U+B;return R.set(!W),W})}},[S]);return[S,w,k,P,O,F]},d=({reply:f,thread:c})=>{var y;const{contextKeyService:b}=c,{author:A,label:S,body:w,mode:T,timestamp:D}=f,I=(y=A.iconPath)===null||y===void 0?void 0:y.toString(),[R,P,O,M,k,F]=u(b,f),L=r.default.useMemo(()=>{const B=(0,l.toMarkdownHtml)(typeof w=="string"?w:w.value);return/^\<p\>[^<>]+\<\/p\>\n$/.test(B)},[w]);return r.default.createElement("div",{className:a.default.reply_item},(0,l.isUndefined)(T)||T===m.CommentMode.Preview?r.default.createElement("div",null,L?r.default.createElement(r.default.Fragment,null,I&&r.default.createElement("img",{className:a.default.reply_item_icon,src:I,alt:A.name}),r.default.createElement("span",{className:a.default.comment_item_author_name},A.name),D&&r.default.createElement(h,{timestamp:D}),typeof S=="string"?r.default.createElement("span",{className:a.default.comment_item_label},S):S," : ",r.default.createElement("span",{className:a.default.comment_item_body},typeof w=="string"?w:w.value),f.reactions&&f.reactions.length>0&&r.default.createElement(_.CommentReactionSwitcher,{className:a.default.reply_item_title,thread:c,comment:f}),r.default.createElement(p.InlineActionBar,{separator:"inline",className:a.default.reply_item_title,menus:k,context:[{thread:c,comment:f,menuId:v.MenuId.CommentsCommentTitle}],type:"icon"})):r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:a.default.comment_item_markdown_header},r.default.createElement("div",null,I&&r.default.createElement("img",{className:a.default.reply_item_icon,src:I,alt:A.name}),r.default.createElement("span",{className:a.default.comment_item_author_name},A.name),D&&r.default.createElement(h,{timestamp:D}),typeof S=="string"?r.default.createElement("span",{className:a.default.comment_item_label},S):S," : "),r.default.createElement(p.InlineActionBar,{separator:"inline",className:a.default.reply_item_title,menus:k,context:[{thread:c,comment:f,menuId:v.MenuId.CommentsCommentTitle}],type:"icon"})),r.default.createElement(s.CommentsBody,{body:w}))):r.default.createElement("div",null,r.default.createElement(g.CommentsTextArea,{value:typeof R=="string"?R:R.value,autoFocus:!0,onChange:O,dragFiles:F}),r.default.createElement(p.InlineActionBar,{className:a.default.comment_item_reply,menus:M,context:[{thread:c,comment:f,body:R,menuId:v.MenuId.CommentsCommentContext}],type:"button",separator:"inline",afterClick:()=>{P(w)}})),f.reactions&&f.reactions.length>0&&r.default.createElement(_.CommentReactions,{thread:c,comment:f}))},E=({thread:f,commentThreadContext:c,widget:y})=>{var b,A;const[S,w]=r.default.useState(!1),[T,D]=r.default.useState(""),{contextKeyService:I}=f,R=(0,l.useAutorun)(f.readOnly),[P,...O]=(0,l.useAutorun)(f.comments),{author:M,label:k,body:F,mode:L,timestamp:B}=P,U=(0,l.isString)(M.iconPath)?M.iconPath:!((b=M.iconPath)===null||b===void 0)&&b.authority?(A=M.iconPath)===null||A===void 0?void 0:A.toString():"",[W,j,G,$,Z,Y]=u(I,P),V=(0,l.useInjectable)(m.ICommentsFeatureRegistry),H=r.default.useMemo(()=>V.getFileUploadHandler(),[]),K=r.default.useMemo(()=>I.createKey("commentIsEmpty",!0),[]);function Q(oe){K.set(!oe.target.value),D(oe.target.value)}const X=r.default.useCallback(async oe=>{if(H){const ie=await H(W,oe);D(fe=>{const _e=fe+ie;return K.set(!_e),_e})}},[T]);return r.default.createElement("div",{className:a.default.comment_item},U&&r.default.createElement("img",{className:a.default.comment_item_icon,src:U,alt:M.name}),r.default.createElement("div",{className:a.default.comment_item_content},r.default.createElement("div",{className:a.default.comment_item_head},r.default.createElement("div",{className:a.default.comment_item_name},r.default.createElement("span",{className:a.default.comment_item_author_name},M.name),B&&r.default.createElement(h,{timestamp:B}),typeof k=="string"?r.default.createElement("span",{className:a.default.comment_item_label},k):k),r.default.createElement("div",{className:a.default.comment_item_actions},P.reactions&&P.reactions.length>0&&r.default.createElement(_.CommentReactionSwitcher,{thread:f,comment:P}),!R&&r.default.createElement(o.Button,{className:a.default.comment_item_reply_button,size:"small",type:"secondary",onClick:()=>w(!0)},(0,l.localize)("comments.thread.action.reply")),r.default.createElement(p.InlineActionBar,{menus:Z,context:[{thread:f,comment:P,menuId:v.MenuId.CommentsCommentTitle}],type:"button"}))),(0,l.isUndefined)(L)||L===m.CommentMode.Preview?r.default.createElement(s.CommentsBody,{body:F}):r.default.createElement("div",null,r.default.createElement(g.CommentsTextArea,{value:typeof W=="string"?W:W.value,autoFocus:!0,onChange:G,dragFiles:Y}),r.default.createElement(p.InlineActionBar,{className:a.default.comment_item_context,menus:$,context:[{thread:f,comment:P,body:W,menuId:v.MenuId.CommentsCommentContext}],separator:"inline",type:"button",afterClick:()=>{j(F)}})),P.reactions&&P.reactions.length>0&&r.default.createElement(_.CommentReactions,{thread:f,comment:P}),(O.length>0||S)&&r.default.createElement("div",{className:a.default.comment_item_reply_wrap},O.map(oe=>r.default.createElement(d,{key:oe.id,thread:f,reply:oe})),S&&r.default.createElement("div",null,r.default.createElement(g.CommentsTextArea,{autoFocus:!0,value:T,onChange:Q,placeholder:`${(0,l.localize)("comments.reply.placeholder")}...`,dragFiles:X}),r.default.createElement(p.InlineActionBar,{className:a.default.comment_item_reply,menus:c,context:[{thread:f,text:T,widget:y,menuId:v.MenuId.CommentsCommentThreadContext}],separator:"inline",type:"button",afterClick:()=>{D(""),w(!1)}})))))};t.CommentItem=E},53878:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsPanel=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),p=e(69635),v=n.__importDefault(e(38877)),m=e(5167),_=e(47842),s=({viewState:g})=>{const a=(0,l.useInjectable)(_.CommentModelService),[h,u]=(0,r.useState)(),d=(0,r.useRef)(null),E=(0,l.useInjectable)(p.ICommentsFeatureRegistry),{handleTreeBlur:f}=a;(0,r.useEffect)(()=>{u(a.treeModel);const T=a.onDidUpdateTreeModel(D=>{u(D)});return()=>{T.dispose()}},[]);const c=(0,r.useCallback)(T=>{a.handleTreeHandler(T)},[a]),y=(0,r.useCallback)(T=>r.default.createElement(m.CommentNodeRendered,{item:T.item,itemType:T.itemType,decorations:a.decorations.getDecorations(T.item),defaultLeftPadding:8,onTwistierClick:a.handleTwistierClick,onClick:a.handleItemClick,leftPadding:8}),[h]),b=(0,r.useMemo)(()=>E.getCommentsPanelOptions(),[]),A=(0,r.useMemo)(()=>b.header,[b]),S=(0,r.useMemo)(()=>r.default.createElement("div",{className:v.default.panel_placeholder},b.defaultPlaceholder||(0,l.localize)("comments.panel.placeholder")),[b]),w=(0,r.useCallback)(()=>h?r.default.createElement(o.RecycleTree,{height:g.height-(A?.height||0),itemHeight:m.COMMENT_TREE_NODE_HEIGHT,onReady:c,model:h,placeholder:()=>S},y):S,[h,A,g.height]);return r.default.createElement("div",{className:v.default.comment_panel,tabIndex:-1,onBlur:f,ref:d},A?.component,w())};t.CommentsPanel=s},42018:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsTextArea=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(34801),l=e(97267),p=e(41869),v=e(69635),m=e(54143),_=n.__importDefault(e(38877)),s=e(73136),g="@",a="@[__display__](__id__)",h=(u,d)=>`@${d}`;t.CommentsTextArea=r.default.forwardRef((u,d)=>{const{focusDelay:E=0,autoFocus:f=!1,placeholder:c="",onFocus:y,onBlur:b,onChange:A,maxRows:S=10,minRows:w=2,value:T,initialHeight:D,dragFiles:I}=u,[R,P]=r.default.useState(0),O=(0,p.useInjectable)(v.ICommentsFeatureRegistry),M=r.default.useRef(null),k=r.default.useRef(null),F=r.default.useRef(null);r.default.useImperativeHandle(d,()=>M.current);const L=r.default.useCallback(async Z=>{var Y;Z.stopPropagation(),Z.preventDefault();const V=(Y=Z.clipboardData)===null||Y===void 0?void 0:Y.files;V&&I&&await I(V),M.current&&(M.current.focus(),W(M.current.value))},[I]),B=r.default.useCallback(async Z=>{var Y;Z.stopPropagation(),Z.preventDefault();const V=(Y=Z.dataTransfer)===null||Y===void 0?void 0:Y.files;V&&I&&await I(V),M.current&&(M.current.focus(),W(M.current.value))},[I]),U=r.default.useCallback(Z=>{Z.stopPropagation(),Z.preventDefault(),Z.dataTransfer.dropEffect="copy"},[]),W=r.default.useCallback(Z=>{const Y=M.current;if(Y){const V=Z.toString().length;Y.setSelectionRange(V,V)}},[]);r.default.useEffect(()=>{var Z;const Y=M.current;if(!Y)return;D&&Y.style&&(Y.style.height=D),E&&setTimeout(()=>{Y.focus({preventScroll:!0})},E),W(T);function V(H){var K,Q,X;const oe=H.target;oe&&(oe.nodeName.toUpperCase()==="TEXTAREA"&&oe.scrollHeight>oe.clientHeight||oe.nodeName.toUpperCase()==="UL"||((K=oe.parentElement)===null||K===void 0?void 0:K.nodeName.toUpperCase())==="UL"||((X=(Q=oe.parentElement)===null||Q===void 0?void 0:Q.parentElement)===null||X===void 0?void 0:X.nodeName.toUpperCase())==="UL")&&H.stopPropagation()}return(Z=k.current)===null||Z===void 0||Z.addEventListener("mousewheel",V,!0),()=>{var H;(H=k.current)===null||H===void 0||H.removeEventListener("mousewheel",V,!0)}},[]),r.default.useEffect(()=>{R===0&&(setTimeout(()=>{var Z;(Z=M.current)===null||Z===void 0||Z.focus({preventScroll:!0})},E),W(T))},[R]);const j=r.default.useMemo(()=>(0,s.getMentionBoxStyle)({minRows:w,maxRows:S}),[w,S]),G=r.default.useMemo(()=>O.getMentionsOptions(),[O]),$=r.default.useCallback(async(Z,Y)=>{if(G.providerData){const V=await G.providerData(Z);Y(V)}else Y([])},[G]);return r.default.createElement("div",{className:_.default.textarea_container},r.default.createElement(l.Tabs,{mini:!0,value:R,onChange:Z=>P(Z),tabs:[(0,p.localize)("comments.thread.textarea.write"),(0,p.localize)("comments.thread.textarea.preview")]}),r.default.createElement("div",null,R===0?r.default.createElement("div",{ref:k},r.default.createElement(o.MentionsInput,{autoFocus:f,onPaste:L,inputRef:M,onDragOver:U,onDrop:B,ref:F,value:T,placeholder:c,onChange:A,onFocus:y,onBlur:b,style:j},r.default.createElement(o.Mention,{markup:G.markup||a,renderSuggestion:G.renderSuggestion,trigger:g,data:$,displayTransform:G.displayTransform||h}))):r.default.createElement("div",{className:_.default.textarea_preview},r.default.createElement(m.CommentsBody,{body:T}))))})},49867:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsThread=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(91830),p=e(54414),v=e(28423),m=e(69635),_=e(90366);let s=class extends o.Disposable{set contextValue(a){this._contextKeyService.createKey("thread",a)}get contextValue(){return this._contextKeyService.getContextKeyValue("thread")}get onDidChangeCollapsibleState(){return this.onDidChangeCollapsibleStateEmitter.event}get onDidChange(){return this.onDidChangeEmitter.event}constructor(a,h,u,d){super(),this.uri=a,this.range=h,this.providerId=u,this.options=d,this.comments=(0,v.observableValue)(this,[]),this.label=(0,v.observableValue)(this,void 0),this.readOnly=(0,v.observableValue)(this,!1),this.isCollapsed=(0,v.observableValue)(this,!1),this.onDidChangeCollapsibleStateEmitter=new o.Emitter,this.widgets=new Map,this._id=`thread_${(0,o.uuid)()}`,this.onDidChangeEmitter=new o.Emitter,this.threadHeaderTitle=(0,v.derived)(this,A=>{const S=this.label.read(A);if(S)return S;const w=this.comments.read(A);if(w.length){const T=new Set(w.map(D=>`@${D.author.name}`));return`${(0,o.localize)("comments.participants")}: `+[...T].join(" ")}else return(0,o.localize)("comments.zone.title")}),this.toggle=A=>{if(this.comments.get().length>0){const w=this.widgets.get(A);w&&w.toggle()}else this.dispose()},this.updateComments(d.comments?d.comments.map(A=>({...A,id:(0,o.uuid)()})):[]),this.data=this.options.data,this._contextKeyService=this.registerDispose(this.globalContextKeyService.createScoped()),new l.ResourceContextKey(this._contextKeyService).set(a),this._contextKeyService.createKey("thread",d.contextValue),(0,v.transaction)(A=>{this.setReadOnly(!!d.readOnly),this.label.set(d.label,A),this.isCollapsed.set(!!this.options.isCollapsed,A)});const f=this._contextKeyService.createKey("threadsLength",this.commentsService.getThreadsByUri(a).length),c=this.comments.get(),y=this._contextKeyService.createKey("commentsLength",c.length),b=this._contextKeyService.createKey("commentThreadIsEmpty",!c.length);this._contextKeyService.createKey("commentController",u),this.addDispose((0,v.autorun)(A=>{const S=this.comments.read(A).length;y.set(S),b.set(!S)})),this.addDispose((0,v.autorun)(A=>{this.isCollapsed.read(A)?this.hideAll():this.showAll()})),this.addDispose(this.commentsService.onThreadsChanged(A=>{A.uri.isEqual(a)&&f.set(this.commentsService.getThreadsByUri(a).length)})),this.addDispose({dispose:()=>{this.updateComments([])}}),this.onDidChangeEmitter.fire()}updateComments(a){(0,v.transaction)(h=>{this.comments.set(a,h)})}getWidgetByEditor(a){return this.widgets.get(a)}get id(){return this._id}get contextKeyService(){return this._contextKeyService}setReadOnly(a){(0,v.transaction)(h=>{this.readOnly.set(a,h),this._contextKeyService.createKey("readOnly",a)})}getEditorsByUri(a){return this.editorCollectionService.listEditors().filter(h=>{var u;return(u=h.currentUri)===null||u===void 0?void 0:u.isEqual(a)})}addWidgetByEditor(a){const h=this.injector.get(_.CommentsZoneWidget,[a,this,{arrowColor:"var(--peekView-border)"}]);return this.addDispose(h.onChangeZoneWidget(()=>{const u=this.commentsService.commentsThreads.filter(f=>this.isEqual(f)),d=u.findIndex(f=>f===this),E=u.slice(d+1);for(const f of E)if(f.isShowWidget(a)){const c=f.getWidgetByEditor(a);c?.resize()}})),this.addDispose(h),this.widgets.set(a,h),a.onDispose(()=>{h.dispose(),this.widgets.delete(a)}),h}show(a){if(a){let h=this.widgets.get(a);h||(h=this.addWidgetByEditor(a)),h.show()}else this.getEditorsByUri(this.uri).forEach(u=>{var d;let E=this.widgets.get(u);E||(E=this.addWidgetByEditor(u)),!((d=u.currentUri)===null||d===void 0)&&d.isEqual(this.uri)&&E.show()})}showWidgetsIfShowed(){var a;for(const h of this.getEditorsByUri(this.uri)){let u=this.widgets.get(h);u||(u=this.addWidgetByEditor(h)),!((a=h.currentUri)===null||a===void 0)&&a.isEqual(this.uri)&&setTimeout(()=>{u?.show()},0)}}hideWidgetsByDispose(){var a;for(const[h,u]of this.widgets)!(!((a=h.currentUri)===null||a===void 0)&&a.isEqual(this.uri))&&u.dispose()}isShowWidget(a){if(a){const h=this.widgets.get(a);return h?h.isShow:!1}else{for(const[,h]of this.widgets)return h.isShow;return!1}}hide(a){if(a){const h=this.widgets.get(a);h?.hide()}else this.hideAll()}showAll(){(0,v.transaction)(a=>{this.isCollapsed.set(!1,a)});for(const[,a]of this.widgets)a.show();this.onDidChangeCollapsibleStateEmitter.fire(m.CommentThreadCollapsibleState.Expanded)}hideAll(a){var h;(0,v.transaction)(u=>{this.isCollapsed.set(!0,u)});for(const[u,d]of this.widgets)a?!(!((h=u.currentUri)===null||h===void 0)&&h.isEqual(this.uri))&&d.dispose():d.hide();this.onDidChangeCollapsibleStateEmitter.fire(m.CommentThreadCollapsibleState.Collapsed)}addComment(...a){const h=this.comments.get();(0,v.transaction)(u=>{this.comments.set([...h,...a.map(d=>({...d,id:(0,o.uuid)()}))],u)}),this.onDidChangeEmitter.fire()}removeComment(a){(0,v.transaction)(h=>{this.comments.set(this.comments.get().filter(u=>u!==a),h)}),this.onDidChangeEmitter.fire()}isEqual(a){return a.uri.isEqual(this.uri)&&a.range.startLineNumber===this.range.startLineNumber&&a.range.endLineNumber===this.range.endLineNumber}};t.CommentsThread=s,n.__decorate([(0,r.Autowired)(m.ICommentsService),n.__metadata("design:type",Object)],s.prototype,"commentsService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],s.prototype,"globalContextKeyService",void 0),n.__decorate([(0,r.Autowired)(p.EditorCollectionService),n.__metadata("design:type",p.EditorCollectionService)],s.prototype,"editorCollectionService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],s.prototype,"injector",void 0),t.CommentsThread=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[o.URI,Object,String,Object])],s)},73804:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsZoneService=void 0;const n=e(85608),r=e(76003),o=e(93899),l=e(43718),p=e(69635),v=e(49867);let m=class extends l.Disposable{constructor(s){super(),this.thread=s}setCurrentCommentThread(s){this.commentService.setCurrentCommentThread(s)}get commentThreadTitle(){return this.registerDispose(this.menuService.createMenu(o.MenuId.CommentsCommentThreadTitle,this.thread.contextKeyService))}get commentThreadContext(){return this.registerDispose(this.menuService.createMenu(o.MenuId.CommentsCommentThreadContext,this.thread.contextKeyService))}};t.CommentsZoneService=m,n.__decorate([(0,r.Autowired)(o.AbstractMenuService),n.__metadata("design:type",o.AbstractMenuService)],m.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(p.ICommentsService),n.__metadata("design:type",Object)],m.prototype,"commentService",void 0),n.__decorate([l.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],m.prototype,"commentThreadTitle",null),n.__decorate([l.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],m.prototype,"commentThreadContext",null),t.CommentsZoneService=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[v.CommentsThread])],m)},90366:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsZoneWidget=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=n.__importDefault(e(25873)),p=e(76003),v=e(41869),m=e(25918),_=e(93899),s=e(20303),g=e(69635),a=e(37357),h=e(42018),u=e(73804),d=n.__importDefault(e(38877)),E=({thread:c,widget:y})=>{const{contextKeyService:b}=c,A=(0,v.useAutorun)(c.comments),S=(0,v.useAutorun)(c.threadHeaderTitle),T=(0,v.useInjectable)(p.INJECTOR_TOKEN).get(u.CommentsZoneService,[c]),D=(0,v.useInjectable)(g.ICommentsFeatureRegistry),I=o.default.useMemo(()=>D.getFileUploadHandler(),[]),[R,P]=o.default.useState(""),O=o.default.useMemo(()=>b.createKey("commentIsEmpty",!R),[]),M=T.commentThreadTitle,k=T.commentThreadContext,F=o.default.useCallback($=>{const{value:Z}=$.target;P(Z),O.set(!Z)},[]),L=o.default.useMemo(()=>{var $;return(($=D.getProviderFeature(c.providerId))===null||$===void 0?void 0:$.placeholder)||`${(0,v.localize)("comments.reply.placeholder")}...`},[]),B=o.default.useCallback(async $=>{if(I){const Z=await I(R,$);P(Y=>{const V=Y+Z;return O.set(!V),V})}},[R]);o.default.useEffect(()=>{const $=y.onFirstDisplay(()=>{setTimeout(()=>{y.coreEditor.monacoEditor.revealLine(c.range.endLineNumber+1)},0)});return()=>{$.dispose()}},[]);const U=o.default.useCallback(()=>{T.setCurrentCommentThread(T.thread)},[]),W=o.default.useCallback(()=>{T.setCurrentCommentThread(void 0)},[]),j=o.default.useCallback(()=>{T.setCurrentCommentThread(T.thread)},[]),G=o.default.useCallback(()=>{T.setCurrentCommentThread(void 0)},[]);return o.default.createElement("div",{tabIndex:-1,onMouseOver:U,onMouseOut:W,onFocus:j,onBlur:G,className:(0,r.default)(c.options.threadClassName,d.default.comment_container)},o.default.createElement("div",{className:(0,r.default)(c.options.threadHeadClassName,d.default.head)},o.default.createElement("div",{className:d.default.review_title},S),o.default.createElement(m.InlineActionBar,{menus:M,context:[{thread:c,widget:y,menuId:_.MenuId.CommentsCommentThreadTitle}],separator:"inline",type:"icon"})),o.default.createElement("div",{className:d.default.comment_body},A.length>0?o.default.createElement(a.CommentItem,{widget:y,commentThreadContext:k,thread:c}):o.default.createElement("div",null,o.default.createElement(h.CommentsTextArea,{focusDelay:100,initialHeight:"auto",value:R,onChange:F,placeholder:L,dragFiles:B}),o.default.createElement("div",{className:d.default.comment_bottom_actions},o.default.createElement(m.InlineActionBar,{className:d.default.comment_reply_actions,separator:"inline",type:"button",context:[{text:R,widget:y,thread:c,menuId:_.MenuId.CommentsCommentThreadContext}],menus:k})))))};let f=class extends s.ResizeZoneWidget{_fillContainer(){}constructor(y,b,A){super(y.monacoEditor,b.range,{...A,showInHiddenAreas:!0}),this.thread=b,this._onShow=new v.Emitter,this.onShow=this._onShow.event,this._onHide=new v.Emitter,this.onHide=this._onHide.event,this._editor=y,this._isShow=!b.isCollapsed.get();const S=document.createElement("div");this._container.appendChild(S),this.observeContainer(S);const w=this.commentsFeatureRegistry.getZoneWidgetRender();this.wrapperRoot=l.default.createRoot(S),this.wrapperRoot.render(o.default.createElement(v.ConfigProvider,{value:this.appConfig},w?w(this.thread,this):o.default.createElement(E,{thread:this.thread,widget:this}))),this.addDispose({dispose:()=>{var T;(T=this.wrapperRoot)===null||T===void 0||T.unmount(),this.wrapperRoot=void 0}})}get coreEditor(){return this._editor}get isShow(){return this._isShow}show(){super.show(),this._isShow=!0,this._onShow.fire()}hide(){super.hide(),this._isShow=!1,this._onHide.fire()}toggle(){this._isShow?this.hide():this.show()}applyClass(){}applyStyle(){}};t.CommentsZoneWidget=f,n.__decorate([(0,p.Autowired)(v.AppConfig),n.__metadata("design:type",Object)],f.prototype,"appConfig",void 0),n.__decorate([(0,p.Autowired)(g.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],f.prototype,"commentsFeatureRegistry",void 0),t.CommentsZoneWidget=f=n.__decorate([(0,p.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object,Object])],f)},62604:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsBrowserContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),p=e(57517),v=e(63067),m=e(69635),_=e(47842);let s=class extends o.Disposable{onStart(){this.registerCommentsFeature(),this.listenToCreateCommentsPanel(),this.commentsService.init()}get panelBadge(){const a=this.commentsService.commentsThreads.length;return a?a+"":""}registerCommands(a){a.registerCommand({id:m.CollapseId,label:"%comments.panel.action.collapse%",iconClass:(0,o.getIcon)("collapse-all")},{execute:()=>{this.commentModelService.collapsedAll()}}),a.registerCommand({id:m.CloseThreadId,label:"%comments.thread.action.close%",iconClass:(0,o.getIcon)("up")},{execute:h=>{const{thread:u,widget:d}=h;u.comments.get().length?d.isShow&&d.toggle():u.dispose()}}),a.registerCommand({id:m.SwitchCommandReaction},{execute:h=>{this.eventBus.fire(new m.CommentReactionClick(h))}})}registerMenus(a){a.registerMenuItem(l.MenuId.CommentsCommentThreadTitle,{command:m.CloseThreadId,group:"inline",order:Number.MAX_SAFE_INTEGER})}registerToolbarItems(a){a.registerItem({id:m.CollapseId,viewId:m.CommentPanelId,command:m.CollapseId,tooltip:(0,o.localize)("comments.panel.action.collapse")})}registerCommentsFeature(){this.contributions.getContributions().forEach((a,h)=>{this.addDispose(this.commentsService.registerCommentRangeProvider(`contribution_${h}`,{getCommentingRanges:u=>a.provideCommentingRanges(u)})),a.registerCommentsFeature&&a.registerCommentsFeature(this.commentsFeatureRegistry)})}listenToCreateCommentsPanel(){this.commentsFeatureRegistry.getCommentsPanelOptions().defaultShow?this.commentsService.registerCommentPanel():o.Event.once(this.commentsService.onThreadsCreated)(()=>{this.commentsService.registerCommentPanel()}),this.addDispose(o.Event.debounce(this.commentsService.onThreadsChanged,()=>{},100)(()=>{const a=this.layoutService.getTabbarHandler(m.CommentPanelId);a?.setBadge(this.panelBadge)},this))}registerEditorFeature(a){a.registerEditorFeatureContribution({contribute:h=>this.commentsService.handleOnCreateEditor(h),provideEditorOptionsForUri:async h=>(await this.commentsService.getContributionRanges(h)).length?{lineDecorationsWidth:25,lineNumbersMinChars:5}:{}})}};t.CommentsBrowserContribution=s,n.__decorate([(0,r.Autowired)(m.ICommentsService),n.__metadata("design:type",Object)],s.prototype,"commentsService",void 0),n.__decorate([(0,r.Autowired)(v.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(m.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],s.prototype,"commentsFeatureRegistry",void 0),n.__decorate([(0,r.Autowired)(m.CommentsContribution),n.__metadata("design:type",Object)],s.prototype,"contributions",void 0),n.__decorate([(0,r.Autowired)(o.IEventBus),n.__metadata("design:type",Object)],s.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(_.CommentModelService),n.__metadata("design:type",_.CommentModelService)],s.prototype,"commentModelService",void 0),t.CommentsBrowserContribution=s=n.__decorate([(0,o.Domain)(o.ClientAppContribution,p.BrowserEditorContribution,o.CommandContribution,o.TabBarToolbarContribution,l.MenuContribution)],s)},55011:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsService=void 0;const n=e(85608),r=n.__importDefault(e(53435)),o=n.__importDefault(e(87809)),l=e(76003),p=e(41869),v=e(57517),m=e(63067),_=e(20868),s=n.__importStar(e(20868)),g=e(62663),a=e(52416),h=n.__importStar(e(24347)),u=e(69635),d=e(53878),E=e(49867),f=e(53711);let c=class extends p.Disposable{constructor(){super(...arguments),this.decorationChangeEmitter=new p.Emitter,this.threads=new Map,this.threadsChangeEmitter=new p.Emitter,this.threadsCommentChangeEmitter=new p.Emitter,this.commentRangeProviderChangeEmitter=new p.Emitter,this.onDidChangeCurrentCommentThreadEmitter=new p.Emitter,this.threadsCreatedEmitter=new p.Emitter,this.rangeProviderMap=new Map,this.rangeOwner=new Map,this.providerDecorationCache=new p.LRUCache(1e4),this.commentRangeDecorationMap=new Map,this.shouldShowCommentsSchemes=new Set(["file","git","diff"]),this.decorationProviderDisposer=p.Disposable.NULL,this.activeThreadDecorationIds=[],this.allEditors=[],this.editorCommentingRangeSpaceReservedMap=new Map,this.editorLineDecorationsWidthMap=new Map}get commentsThreads(){return[...this.threads.values()]}get isMultiCommentsForSingleLine(){var b;return!!(!((b=this.commentsFeatureRegistry.getConfig())===null||b===void 0)&&b.isMultiCommentsForSingleLine)}get currentAuthorAvatar(){var b,A;return(A=(b=this.commentsFeatureRegistry.getConfig())===null||b===void 0?void 0:b.author)===null||A===void 0?void 0:A.avatar}get filterThreadDecoration(){var b;return(b=this.commentsFeatureRegistry.getConfig())===null||b===void 0?void 0:b.filterThreadDecoration}get onThreadsChanged(){return this.threadsChangeEmitter.event}get onThreadsCommentChange(){return this.threadsCommentChangeEmitter.event}get onThreadsCreated(){return this.threadsCreatedEmitter.event}get onCommentRangeProviderChange(){return this.commentRangeProviderChangeEmitter.event}get onDidChangeCurrentCommentThread(){return this.onDidChangeCurrentCommentThreadEmitter.event}setCurrentCommentThread(b){this.onDidChangeCurrentCommentThreadEmitter.fire(b)}createThreadDecoration(b){var A;const S=b.comments.get(),w=S.length===0?this.currentAuthorAvatar:(A=S[0].author.iconPath)===null||A===void 0?void 0:A.toString(),T=w?`${this.iconService.fromIcon("",w,a.IconType.Background)} avatar-icon`:this.iconService.fromString("$(comment)"),D={description:"comments-thread-decoration",glyphMarginClassName:w?["comment-thread",T].join(" "):["comment-range","comment-thread",T].join(" ")};return h.ModelDecorationOptions.createDynamic(D)}updateActiveThreadDecoration(b){var A;const S=this.getCurrentEditor(b?.uri);if(!S)return;(A=this.currentThreadCollapseStateListener)===null||A===void 0||A.dispose();const w=[];if(b){const T=b.range;b.isCollapsed.get()||(this.currentThreadCollapseStateListener=b.onDidChangeCollapsibleState(D=>{D===u.CommentThreadCollapsibleState.Collapsed&&this.updateActiveThreadDecoration(void 0)}),w.push({range:T,options:this.createThreadRangeActiveDecoration()}))}this.activeThreadDecorationIds=S.monacoEditor.deltaDecorations(this.activeThreadDecorationIds,w)}createDottedRangeDecoration(){const b={description:"comments-multiline-hover-decoration",linesDecorationsClassName:["comment-range","multiline-add"].join(" ")};return h.ModelDecorationOptions.createDynamic(b)}createHoverDecoration(){const b={description:"comments-hover-decoration",linesDecorationsClassName:["comment-range","line-hover","comment-add"].join(" ")};return h.ModelDecorationOptions.createDynamic(b)}createThreadRangeActiveDecoration(){const b={description:"comments-thread-range-active-decoration",isWholeLine:!1,zIndex:20,className:"comment-thread-range-current",shouldFillLineOnLineBreak:!0};return h.ModelDecorationOptions.createDynamic(b)}createThreadRangeDecoration(){const b={description:"comments-thread-range-decoration",isWholeLine:!1,zIndex:20,className:"comment-thread-range",shouldFillLineOnLineBreak:!0};return h.ModelDecorationOptions.createDynamic(b)}createCommentRangeDecoration(){const b={description:"comments-range-decoration",linesDecorationsClassName:["comment-range","comment-diff-added"].join(" ")};return h.ModelDecorationOptions.createDynamic(b)}init(){const b=this.resourceService.getSupportedSchemes();for(const A of b)this.shouldShowCommentsSchemes.add(A);this.addDispose(this.resourceService.onRegisterResourceProvider(A=>{A.scheme&&(this.shouldShowCommentsSchemes.add(A.scheme),this.registerDecorationProvider())})),this.addDispose(this.resourceService.onUnregisterResourceProvider(A=>{A.scheme&&(this.shouldShowCommentsSchemes.delete(A.scheme),this.registerDecorationProvider())})),this.registerDecorationProvider()}getCurrentEditor(b){var A;if(b){for(const S of this.allEditors)if(!((A=S.currentUri)===null||A===void 0)&&A.isEqual(b))return this.editor=S,S}return this.editor}handleOnCreateEditor(b){this.allEditors.push(b),this.editor=b;const A=new p.Disposable;let S=[],w=!1;return A.addDispose(b.monacoEditor.onMouseDown(T=>{if(T.target.type===g.monacoBrowser.editor.MouseTargetType.GUTTER_LINE_DECORATIONS&&T.target.element&&T.target.element.className.indexOf("comment-add")>-1){const{target:D}=T;if(D&&D.range){const{range:I}=D;this.startCommentRange=I,T.event.stopPropagation()}}else if(T.target.type===g.monacoBrowser.editor.MouseTargetType.GUTTER_GLYPH_MARGIN&&T.target.element&&T.target.element.className.indexOf("comment-thread")>-1){const{target:D}=T;if(D&&D.range){const{range:I}=D,R=this.commentsThreads.filter(P=>b.currentUri&&P.uri.isEqual(b.currentUri)&&P.range.endLineNumber===I.endLineNumber);R.length&&(R.some(O=>O.isShowWidget(b))?R.forEach(O=>O.hide(b)):R.forEach(O=>O.show(b)))}T.event.stopPropagation()}})),A.addDispose(b.monacoEditor.onMouseUp(async T=>{if(this.startCommentRange){if(w){this.renderCommentRange(b),w=!1,this.startCommentRange=null,this.endCommentRange=null;return}let D=this.startCommentRange;this.endCommentRange&&(this.endCommentRange.startLineNumber<this.startCommentRange.startLineNumber?(D.startColumn=this.endCommentRange.startColumn,D.startLineNumber=this.endCommentRange.startLineNumber):(D.endColumn=this.endCommentRange.endColumn,D.endLineNumber=this.endCommentRange.endLineNumber)),b.currentUri&&(D=await this.getValidRange(D,b.currentUri)),D&&(this.commentsThreads.some(I=>I.comments.get().length===0&&b.currentUri&&I.uri.isEqual(b.currentUri)&&I.range.startLineNumber===D.startLineNumber&&I.range.endLineNumber===D.endLineNumber)||this.createThread(b.currentUri,D).show(b),T.event.stopPropagation())}else if(T.target.type===g.monacoBrowser.editor.MouseTargetType.GUTTER_LINE_DECORATIONS&&T.target.element&&T.target.element.className.indexOf("comment-range")>-1&&T.target.element.className.indexOf("comment-thread")<0){const{target:D}=T,I=D.range;I&&(this.commentsThreads.some(R=>R.comments.get().length===0&&b.currentUri&&R.uri.isEqual(b.currentUri)&&R.range.startLineNumber===I.startLineNumber&&R.range.endLineNumber===I.endLineNumber)||this.createThread(b.currentUri,I).show(b),T.event.stopPropagation())}this.startCommentRange=null,this.endCommentRange=null})),A.addDispose(b.monacoEditor.onMouseMove(async T=>{var D,I,R;const P=b.currentUri,O=T.target.range;if(this.startCommentRange){if(!((D=T.target.element)===null||D===void 0)&&D.className||!((R=(I=T.target.element)===null||I===void 0?void 0:I.offsetParent)===null||R===void 0)&&R.className.includes("diff-hidden-lines")&&(w=!0),P&&O){let M={startLineNumber:this.startCommentRange.startLineNumber,endLineNumber:O.endLineNumber,startColumn:this.startCommentRange.startColumn,endColumn:O.endColumn};this.startCommentRange.startLineNumber>O.startLineNumber&&(M={startLineNumber:O.startLineNumber,endLineNumber:this.startCommentRange.endLineNumber,startColumn:O.startColumn,endColumn:this.startCommentRange.endColumn}),this.renderCommentRange(b,M),this.endCommentRange=O}}else if(P&&O&&await this.shouldShowHoverDecoration(P,O)){const M=[{range:(0,_.positionToRange)(O.startLineNumber),options:this.createHoverDecoration()}];S=b.monacoEditor.deltaDecorations(S,M)}})),A.addDispose(b.monacoEditor.onMouseLeave(async T=>{var D;const I=(D=T.target)===null||D===void 0?void 0:D.range,R=[];!this.startCommentRange&&I&&R.push({range:(0,_.positionToRange)(I.startLineNumber),options:this.createCommentRangeDecoration()}),S=b.monacoEditor.deltaDecorations(S,R)})),A.addDispose(this.onCommentRangeProviderChange(()=>{this.renderCommentRange(b)})),A.addDispose(p.Event.any(this.onThreadsChanged,this.onThreadsCommentChange,this.onThreadsCreated)(T=>{const D=this.getCurrentEditor(T.uri);D&&this.renderCommentRange(D),this.updateActiveThreadDecoration(void 0)})),A.addDispose(this.onDidChangeCurrentCommentThread(T=>{this.updateActiveThreadDecoration(T)})),this.tryUpdateReservedSpace(b),A.addDispose(b.monacoEditor.onDidChangeModel(()=>{this.renderCommentRange(b),this.tryUpdateReservedSpace(b)})),A}async getValidRange(b,A){if(!A)return b;const S=await this.getContributionRanges(A);if(S.length===0)return b;const w=S.find(T=>{if(b.startLineNumber>=T.startLineNumber&&b.startLineNumber<=T.endLineNumber)return!0});return w&&w.endLineNumber<b.endLineNumber?{startLineNumber:b.startLineNumber,startColumn:b.startColumn,endLineNumber:w.endLineNumber,endColumn:w.endColumn}:b}ensureCommentingRangeReservedAmount(b){const A=this.getExistingCommentEditorOptions(b),S=this.editorLineDecorationsWidthMap.get(b.getId());A.lineDecorationsWidth!==S&&b.updateOptions({lineDecorationsWidth:this.getWithCommentsLineDecorationWidth(b,A.lineDecorationsWidth)})}async tryUpdateReservedSpace(b){if(!b)return;let A=this.editorCommentingRangeSpaceReservedMap.get(b.getId())||!1;const S=b.currentUri?this.shouldShowCommentsSchemes.has(b.currentUri.scheme):!1,w=this.commentsThreads.some(D=>b.currentUri&&D.uri.isEqual(b.currentUri)&&D.comments.get().length>0),T=S||w;if(T)if(A)this.ensureCommentingRangeReservedAmount(b);else{A=!0;const{lineDecorationsWidth:D,extraEditorClassName:I}=this.getExistingCommentEditorOptions(b),R=this.getWithCommentsEditorOptions(b,I,D);this.updateEditorLayoutOptions(b,R.extraEditorClassName,R.lineDecorationsWidth)}else if(!T&&A){A=!1;const{lineDecorationsWidth:D,extraEditorClassName:I}=this.getExistingCommentEditorOptions(b),R=this.getWithoutCommentsEditorOptions(b,I,D);this.updateEditorLayoutOptions(b,R.extraEditorClassName,R.lineDecorationsWidth)}this.editorCommentingRangeSpaceReservedMap.set(b.getId(),A)}getExistingCommentEditorOptions(b){const A=b.monacoEditor.getOption(s.EditorOption.lineDecorationsWidth);let S=[];const w=b.monacoEditor.getRawOptions().extraEditorClassName;return w&&(S=w.split(" ")),{lineDecorationsWidth:A,extraEditorClassName:S}}getWithoutCommentsEditorOptions(b,A,S){let w=S;const T=A.findIndex(I=>I==="inline-comment");T>=0&&A.splice(T,1);const D=b.monacoEditor.getOptions();return D.get(s.EditorOption.folding)&&D.get(s.EditorOption.showFoldingControls)!=="never"&&(w+=11),w-=24,{extraEditorClassName:A,lineDecorationsWidth:w}}updateEditorLayoutOptions(b,A,S){b.updateOptions({extraEditorClassName:A.join(" "),lineDecorationsWidth:S})}getWithCommentsEditorOptions(b,A,S){return A.push("inline-comment"),{lineDecorationsWidth:this.getWithCommentsLineDecorationWidth(b,S),extraEditorClassName:A}}getWithCommentsLineDecorationWidth(b,A){let S=A;const w=b.monacoEditor.getOptions();return w.get(s.EditorOption.folding)&&w.get(s.EditorOption.showFoldingControls)!=="never"&&(S-=11),S+=24,this.editorLineDecorationsWidthMap.set(b.getId(),S),S}async renderCommentRange(b,A={startLineNumber:0,endLineNumber:0,startColumn:0,endColumn:0}){if(!b.currentUri)return;const S=await this.getContributionRanges(b.currentUri);if(S.length>0){const w=[];S.map(D=>{if(A.startLineNumber===0&&A.endLineNumber===0)w.push({range:D,options:this.createCommentRangeDecoration()});else if(A.startLineNumber<=D.startLineNumber&&A.endLineNumber>=D.endLineNumber)w.push({range:D,options:this.createDottedRangeDecoration()},{range:D,options:this.createThreadRangeDecoration()});else if(A.endLineNumber>=D.endLineNumber)if(A.startLineNumber<=D.endLineNumber){const I={startLineNumber:A.startLineNumber,endLineNumber:D.endLineNumber,startColumn:A.startColumn,endColumn:D.endColumn},R={startLineNumber:D.startLineNumber,endLineNumber:I.startLineNumber-1,startColumn:D.startColumn,endColumn:I.endColumn};w.push({range:R,options:this.createCommentRangeDecoration()},{range:I,options:this.createDottedRangeDecoration()},{range:I,options:this.createThreadRangeDecoration()})}else w.push({range:D,options:this.createCommentRangeDecoration()});else if(A.endLineNumber<D.endLineNumber)if(A.endLineNumber>=D.startLineNumber)if(A.startLineNumber>=D.startLineNumber){const I={startLineNumber:D.startLineNumber,startColumn:D.startColumn,endLineNumber:A.startLineNumber-1,endColumn:A.startColumn},R={startLineNumber:A.endLineNumber+1,startColumn:A.endColumn,endLineNumber:D.endLineNumber,endColumn:D.endColumn},P=A.startLineNumber!==D.startLineNumber?[{range:I,options:this.createCommentRangeDecoration()}]:[];P.push({range:A,options:this.createDottedRangeDecoration()}),P.push({range:A,options:this.createThreadRangeDecoration()}),P.push({range:R,options:this.createCommentRangeDecoration()}),w.push(...P)}else{const I={startLineNumber:D.startLineNumber,startColumn:D.startColumn,endLineNumber:A.endLineNumber,endColumn:A.endColumn},R={startLineNumber:I.endLineNumber+1,startColumn:I.endColumn,endLineNumber:D.endLineNumber,endColumn:D.endColumn};w.push({range:I,options:this.createDottedRangeDecoration()},{range:I,options:this.createThreadRangeDecoration()},{range:R,options:this.createCommentRangeDecoration()})}else w.push({range:D,options:this.createCommentRangeDecoration()})});const T=this.commentRangeDecorationMap.get(b.currentUri.toString())||[];this.commentRangeDecorationMap.set(b.currentUri.toString(),b.monacoEditor.deltaDecorations(T,w))}else this.commentRangeDecorationMap.set(b.currentUri.toString(),[])}async shouldShowHoverDecoration(b,A){return this.shouldShowCommentsSchemes.has(b.scheme)?(await this.getContributionRanges(b)).some(T=>A.startLineNumber<=T.endLineNumber):!1}createThread(b,A,S={comments:[],readOnly:!1}){const w=this.getProviderIdsByLine(A.endLineNumber)[0],T=this.injector.get(E.CommentsThread,[b,A,w,S]);return T.onDispose(()=>{this.threads.delete(T.id),this.threadsChangeEmitter.fire(T),this.decorationChangeEmitter.fire(b)}),T.onDidChange(()=>{this.threadsChangeEmitter.fire(T)}),this.threads.set(T.id,T),this.addDispose(T),this.threadsChangeEmitter.fire(T),this.threadsCreatedEmitter.fire(T),this.decorationChangeEmitter.fire(b),T}getThreadsByUri(b){return this.commentsThreads.filter(A=>A.uri.isEqual(b)).sort((A,S)=>A.range.startLineNumber-S.range.startLineNumber)}handleCommentFileNode(b){const A=[],S=[...this.threads.values()].filter(T=>T.comments.get().length),w=(0,o.default)(S,T=>T.uri);return Object.keys(w).map(T=>{var D;const I=w[T];if(I.length===0)return;const R=new p.URI(this.appConfig.workspaceDir),P=new p.URI(T),O=(D=R.relative(P))===null||D===void 0?void 0:D.toString();A.push(new f.CommentFileNode(this,I,O,P.codeUri.fsPath,this.labelService.getIcon(P),P,b))}),A}handleCommentContentNode(b){var A;const S=[];for(const w of b.threads){const T=w.comments.get(),[D]=T,I=typeof D.body=="string"?D.body:D.body.value;let R=`[Ln ${w.range.startLineNumber}]`;w.range.startLineNumber!==w.range.endLineNumber&&(R=`[Ln ${w.range.startLineNumber}-${w.range.endLineNumber}]`),S.push(new f.CommentContentNode(this,w,I,R,D.author.iconPath&&(!((A=D.author.iconPath)===null||A===void 0)&&A.authority)?this.iconService.fromIcon("",D.author.iconPath.toString(),a.IconType.Background):(0,p.getIcon)("message"),D.author,b.resource,b))}return S}handleCommentReplyNode(b){const A=[],S=b.thread,w=S.comments.get(),[T,...D]=w,I=D[D.length-1].author.name;return A.push(new f.CommentReplyNode(this,S,(0,p.formatLocalize)("comment.reply.count",D?.length||0),(0,p.formatLocalize)("comment.reply.lastReply",I),"",b.resource,b)),A}async resolveChildren(b){let A=[];if(b?f.CommentRoot.isRoot(b)?A=this.handleCommentFileNode(b):f.CommentFileNode.is(b)?A=this.handleCommentContentNode(b):f.CommentContentNode.is(b)&&(A=this.handleCommentReplyNode(b)):A.push(new f.CommentRoot(this)),A.length===1&&f.CommentRoot.isRoot(A[0]))return A;const S=this.commentsFeatureRegistry.getCommentsPanelTreeNodeHandlers();if(S.length>0)for(const w of S)A=w(A);return A}async getContributionRanges(b){const A=this.providerDecorationCache.get(b.toString());if(A)return await A.promise;const S=this.documentService.getModelReference(b,"Get Comment Range"),w=[];for(const R of this.rangeProviderMap){const[P,O]=R;w.push((async()=>{if(!S?.instance)return;const M=await O.getCommentingRanges(S.instance);return M&&M.length&&this.rangeOwner.set(P,M),M})())}const T=new p.Deferred;this.providerDecorationCache.set(b.toString(),T);const D=(await Promise.all(w)).filter(Boolean);S?.dispose();const I=(0,r.default)(D).filter(Boolean);return T.resolve(I),I}fireThreadCommentChange(b){this.threadsCommentChangeEmitter.fire(b)}registerDecorationProvider(){this.decorationProviderDisposer.dispose(),this.decorationProviderDisposer=this.editorDecorationCollectionService.registerDecorationProvider({schemes:[...this.shouldShowCommentsSchemes.values()],key:"comments",onDidDecorationChange:this.decorationChangeEmitter.event,provideEditorDecoration:b=>this.commentsThreads.map(A=>(A.uri.codeUri.path===b.codeUri.path?A.comments.get().length&&A.showWidgetsIfShowed():A.hide(),A)).filter(A=>{const S=A.uri.isEqual(b);return this.filterThreadDecoration?S&&this.filterThreadDecoration(A):S}).map(A=>({range:{startLineNumber:A.range.endLineNumber,endLineNumber:A.range.endLineNumber,startColumn:A.range.endColumn,endColumn:A.range.endColumn},options:this.createThreadDecoration(A)}))}),this.addDispose(this.decorationProviderDisposer)}registerCommentPanel(){this.layoutService.getTabbarHandler(u.CommentPanelId)||this.layoutService.collectTabbarComponent([{id:u.CommentPanelId,component:d.CommentsPanel}],{badge:this.panelBadge,containerId:u.CommentPanelId,title:(0,p.localize)("comments").toUpperCase(),hidden:!1,activateKeyBinding:"ctrlcmd+shift+c",...this.commentsFeatureRegistry.getCommentsPanelOptions()},"bottom")}get panelBadge(){const b=this.commentsThreads.length;return b?b+"":""}registerCommentRangeProvider(b,A){return this.rangeProviderMap.set(b,A),this.providerDecorationCache.clear(),this.commentRangeProviderChangeEmitter.fire(),p.Disposable.create(()=>{this.rangeProviderMap.delete(b),this.rangeOwner.delete(b),this.providerDecorationCache.clear()})}forceUpdateDecoration(){var b,A,S;const w=(b=this.workbenchEditorService.currentEditor)===null||b===void 0?void 0:b.currentUri;w&&this.decorationChangeEmitter.fire(w);const T=(S=(A=this.workbenchEditorService.currentEditorGroup)===null||A===void 0?void 0:A.diffEditor)===null||S===void 0?void 0:S.originalEditor.currentUri;T&&this.decorationChangeEmitter.fire(T)}getProviderIdsByLine(b){const A=[];if(this.rangeOwner.size===1)return[this.rangeOwner.keys().next().value];for(const S of this.rangeOwner){const[w,T]=S;T&&T.some(D=>D.startLineNumber<=b&&b<=D.endLineNumber)&&A.push(w)}return A}};t.CommentsService=c,n.__decorate([(0,l.Autowired)(l.INJECTOR_TOKEN),n.__metadata("design:type",l.Injector)],c.prototype,"injector",void 0),n.__decorate([(0,l.Autowired)(p.AppConfig),n.__metadata("design:type",Object)],c.prototype,"appConfig",void 0),n.__decorate([(0,l.Autowired)(v.IEditorDecorationCollectionService),n.__metadata("design:type",Object)],c.prototype,"editorDecorationCollectionService",void 0),n.__decorate([(0,l.Autowired)(a.IIconService),n.__metadata("design:type",Object)],c.prototype,"iconService",void 0),n.__decorate([(0,l.Autowired)(p.LabelService),n.__metadata("design:type",p.LabelService)],c.prototype,"labelService",void 0),n.__decorate([(0,l.Autowired)(u.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],c.prototype,"commentsFeatureRegistry",void 0),n.__decorate([(0,l.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],c.prototype,"documentService",void 0),n.__decorate([(0,l.Autowired)(m.IMainLayoutService),n.__metadata("design:type",Object)],c.prototype,"layoutService",void 0),n.__decorate([(0,l.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],c.prototype,"workbenchEditorService",void 0),n.__decorate([(0,l.Autowired)(v.ResourceService),n.__metadata("design:type",v.ResourceService)],c.prototype,"resourceService",void 0),n.__decorate([p.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],c.prototype,"isMultiCommentsForSingleLine",null),n.__decorate([p.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],c.prototype,"currentAuthorAvatar",null),n.__decorate([p.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],c.prototype,"filterThreadDecoration",null),t.CommentsService=c=n.__decorate([(0,l.Injectable)()],c)},54230:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(69635),p=e(66480),v=e(62604),m=e(55011),_=e(47842);let s=class extends o.BrowserModule{constructor(){super(...arguments),this.contributionProvider=l.CommentsContribution,this.providers=[{token:l.ICommentsService,useClass:m.CommentsService},{token:_.CommentModelService,useClass:_.CommentModelService},{token:l.ICommentsFeatureRegistry,useClass:p.CommentsFeatureRegistry},v.CommentsBrowserContribution]}};t.CommentsModule=s,t.CommentsModule=s=n.__decorate([(0,r.Injectable)()],s)},70154:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.markdownCss=void 0,t.markdownCss=`
|
|
31763
|
+
`)};t.extractCodeBlocks=m;const _=(g,a)=>a===n.BUILTIN_MCP_SERVER_NAME?g:`mcp_${a}_${g}`;t.getToolName=_;const s=g=>{const a=/`<attached_file>(.*)`/g,h=/`<attached_folder>(.*)`/g;return g=g.replace(a,"$1"),g=g.replace(h,"$1"),g};t.cleanAttachedTextWrapper=s},26471:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(19413),t)},15504:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentReactions=t.CommentReactionSwitcher=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(81878),p=e(25918),v=e(93899),m=e(52416),_=e(69635),s=n.__importDefault(e(38877)),g=({thread:h,comment:u,className:d})=>{const E=`${h.providerId}_${h.id}_${u.id}`,f=`${v.MenuId.CommentReactionSwitcherMenu}_${E}`,c=(0,o.useInjectable)(v.IMenuRegistry),y=(0,o.useInjectable)(v.AbstractMenuService);r.default.useEffect(()=>{const A=new o.Disposable,S=`${v.MenuId.CommentReactionSwitcherSubmenu}_${E}`;return A.addDispose(c.registerMenuItem(f,{submenu:S,label:S,iconClass:(0,o.getExternalIcon)("reactions"),group:"navigation"})),A.addDispose(c.registerMenuItems(S,u.reactions.map(w=>({command:{id:_.SwitchCommandReaction,label:w.label},extraTailArgs:[{thread:h,comment:u,reaction:w}]})))),()=>A.dispose()},[]);const b=r.default.useMemo(()=>y.createMenu(f),[]);return r.default.createElement(p.InlineActionBar,{className:d,menus:b,regroup:A=>[A,[]],type:"icon"})};t.CommentReactionSwitcher=g;const a=({thread:h,comment:u})=>{var d;const E=(0,o.useInjectable)(o.IEventBus),f=(0,o.useInjectable)(m.IIconService),c=r.default.useCallback(y=>{E.fire(new _.CommentReactionClick({thread:h,comment:u,reaction:y}))},[]);return r.default.createElement("div",{className:s.default.comment_reactions},(d=u.reactions)===null||d===void 0?void 0:d.filter(y=>y.count!==0).map(y=>r.default.createElement(l.Button,{key:y.label,onClick:()=>c(y),type:"secondary",size:"small",title:y.label,className:s.default.comment_reaction,iconClass:f.fromIcon("",y.iconPath.toString(),m.IconType.Background)},"\xA0",y.count)))};t.CommentReactions=a},54143:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsBody=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(43144)),l=e(84605),p=n.__importDefault(e(38877)),v=e(70154),m=({root:_,children:s})=>o.default.createPortal(s,_);t.CommentsBody=r.default.memo(({body:_})=>{const s=r.default.useRef(null),[g,a]=r.default.useState(null),h=r.default.useMemo(()=>{const u=(0,l.createMarkedRenderer)();return u.link=(d,E,f)=>`<a target="_blank" rel="noopener" href="${d}" title="${E}">${f}</a>`,u},[]);return r.default.useEffect(()=>{if(s.current){const u=s.current.attachShadow({mode:"open"});g||a(u)}},[]),r.default.createElement("div",{ref:s,className:p.default.comment_shadow_box},g&&r.default.createElement(m,{root:g},r.default.createElement("style",null,v.markdownCss),r.default.createElement("div",{dangerouslySetInnerHTML:{__html:(0,l.toMarkdownHtml)(typeof _=="string"?_:_.value,{gfm:!0,breaks:!1,pedantic:!1,smartLists:!0,smartypants:!1,renderer:h})}})))})},66480:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsFeatureRegistry=void 0;const n=e(85608),r=e(76003);let o=class{constructor(){this.config={},this.options={},this.panelTreeNodeHandlers=[],this.mentionsOptions={},this.providerFeature=new Map}registerConfig(p){this.config={...this.config,...p}}registerPanelTreeNodeHandler(p){this.panelTreeNodeHandlers.push(p)}registerPanelOptions(p){this.options={...this.options,...p}}registerFileUploadHandler(p){this.fileUploadHandler=p}registerMentionsOptions(p){this.mentionsOptions=p}registerZoneWidgetRender(p){this.zoneWidgetRender=p}getConfig(){return this.config}getCommentsPanelOptions(){return this.options}getCommentsPanelTreeNodeHandlers(){return this.panelTreeNodeHandlers}getFileUploadHandler(){return this.fileUploadHandler}getMentionsOptions(){return this.mentionsOptions}getZoneWidgetRender(){return this.zoneWidgetRender}registerProviderFeature(p,v){this.providerFeature.set(p,v)}getProviderFeature(p){return this.providerFeature.get(p)}};t.CommentsFeatureRegistry=o,t.CommentsFeatureRegistry=o=n.__decorate([(0,r.Injectable)()],o)},37357:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentItem=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(97267),l=e(41869),p=e(25918),v=e(93899),m=e(69635),_=e(15504),s=e(54143),g=e(42018),a=n.__importDefault(e(38877)),h=({timestamp:f})=>{const c=r.default.useMemo(()=>{const y=new Date(f);return(0,l.toLocalString)(y)},[f]);return r.default.createElement("span",{className:a.default.comment_item_timestamp},c)},u=(f,c)=>{const y=(0,l.useInjectable)(v.AbstractMenuService),{body:b,contextValue:A}=c,[S,w]=r.default.useState(""),T=(0,l.useInjectable)(m.ICommentsFeatureRegistry),D=r.default.useMemo(()=>T.getFileUploadHandler(),[]);r.default.useEffect(()=>{w(b)},[b]);const I=r.default.useMemo(()=>f.createScoped(),[]),R=r.default.useMemo(()=>I.createKey("commentIsEmpty",!c.body),[]),P=r.default.useMemo(()=>y.createMenu(v.MenuId.CommentsCommentContext,I),[]),O=r.default.useMemo(()=>y.createMenu(v.MenuId.CommentsCommentTitle,I),[]),M=r.default.useRef(I.createKey("comment",A));r.default.useEffect(()=>{M.current.set(A)},[A]);const k=r.default.useCallback(L=>{R.set(!L.target.value),w(L.target.value)},[]),F=r.default.useCallback(async L=>{if(D){const B=await D(S,L);w(U=>{const W=U+B;return R.set(!W),W})}},[S]);return[S,w,k,P,O,F]},d=({reply:f,thread:c})=>{var y;const{contextKeyService:b}=c,{author:A,label:S,body:w,mode:T,timestamp:D}=f,I=(y=A.iconPath)===null||y===void 0?void 0:y.toString(),[R,P,O,M,k,F]=u(b,f),L=r.default.useMemo(()=>{const B=(0,l.toMarkdownHtml)(typeof w=="string"?w:w.value);return/^\<p\>[^<>]+\<\/p\>\n$/.test(B)},[w]);return r.default.createElement("div",{className:a.default.reply_item},(0,l.isUndefined)(T)||T===m.CommentMode.Preview?r.default.createElement("div",null,L?r.default.createElement(r.default.Fragment,null,I&&r.default.createElement("img",{className:a.default.reply_item_icon,src:I,alt:A.name}),r.default.createElement("span",{className:a.default.comment_item_author_name},A.name),D&&r.default.createElement(h,{timestamp:D}),typeof S=="string"?r.default.createElement("span",{className:a.default.comment_item_label},S):S," : ",r.default.createElement("span",{className:a.default.comment_item_body},typeof w=="string"?w:w.value),f.reactions&&f.reactions.length>0&&r.default.createElement(_.CommentReactionSwitcher,{className:a.default.reply_item_title,thread:c,comment:f}),r.default.createElement(p.InlineActionBar,{separator:"inline",className:a.default.reply_item_title,menus:k,context:[{thread:c,comment:f,menuId:v.MenuId.CommentsCommentTitle}],type:"icon"})):r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:a.default.comment_item_markdown_header},r.default.createElement("div",null,I&&r.default.createElement("img",{className:a.default.reply_item_icon,src:I,alt:A.name}),r.default.createElement("span",{className:a.default.comment_item_author_name},A.name),D&&r.default.createElement(h,{timestamp:D}),typeof S=="string"?r.default.createElement("span",{className:a.default.comment_item_label},S):S," : "),r.default.createElement(p.InlineActionBar,{separator:"inline",className:a.default.reply_item_title,menus:k,context:[{thread:c,comment:f,menuId:v.MenuId.CommentsCommentTitle}],type:"icon"})),r.default.createElement(s.CommentsBody,{body:w}))):r.default.createElement("div",null,r.default.createElement(g.CommentsTextArea,{value:typeof R=="string"?R:R.value,autoFocus:!0,onChange:O,dragFiles:F}),r.default.createElement(p.InlineActionBar,{className:a.default.comment_item_reply,menus:M,context:[{thread:c,comment:f,body:R,menuId:v.MenuId.CommentsCommentContext}],type:"button",separator:"inline",afterClick:()=>{P(w)}})),f.reactions&&f.reactions.length>0&&r.default.createElement(_.CommentReactions,{thread:c,comment:f}))},E=({thread:f,commentThreadContext:c,widget:y})=>{var b,A;const[S,w]=r.default.useState(!1),[T,D]=r.default.useState(""),{contextKeyService:I}=f,R=(0,l.useAutorun)(f.readOnly),[P,...O]=(0,l.useAutorun)(f.comments),{author:M,label:k,body:F,mode:L,timestamp:B}=P,U=(0,l.isString)(M.iconPath)?M.iconPath:!((b=M.iconPath)===null||b===void 0)&&b.authority?(A=M.iconPath)===null||A===void 0?void 0:A.toString():"",[W,j,G,$,Z,Y]=u(I,P),V=(0,l.useInjectable)(m.ICommentsFeatureRegistry),H=r.default.useMemo(()=>V.getFileUploadHandler(),[]),K=r.default.useMemo(()=>I.createKey("commentIsEmpty",!0),[]);function Q(oe){K.set(!oe.target.value),D(oe.target.value)}const X=r.default.useCallback(async oe=>{if(H){const ie=await H(W,oe);D(fe=>{const _e=fe+ie;return K.set(!_e),_e})}},[T]);return r.default.createElement("div",{className:a.default.comment_item},U&&r.default.createElement("img",{className:a.default.comment_item_icon,src:U,alt:M.name}),r.default.createElement("div",{className:a.default.comment_item_content},r.default.createElement("div",{className:a.default.comment_item_head},r.default.createElement("div",{className:a.default.comment_item_name},r.default.createElement("span",{className:a.default.comment_item_author_name},M.name),B&&r.default.createElement(h,{timestamp:B}),typeof k=="string"?r.default.createElement("span",{className:a.default.comment_item_label},k):k),r.default.createElement("div",{className:a.default.comment_item_actions},P.reactions&&P.reactions.length>0&&r.default.createElement(_.CommentReactionSwitcher,{thread:f,comment:P}),!R&&r.default.createElement(o.Button,{className:a.default.comment_item_reply_button,size:"small",type:"secondary",onClick:()=>w(!0)},(0,l.localize)("comments.thread.action.reply")),r.default.createElement(p.InlineActionBar,{menus:Z,context:[{thread:f,comment:P,menuId:v.MenuId.CommentsCommentTitle}],type:"button"}))),(0,l.isUndefined)(L)||L===m.CommentMode.Preview?r.default.createElement(s.CommentsBody,{body:F}):r.default.createElement("div",null,r.default.createElement(g.CommentsTextArea,{value:typeof W=="string"?W:W.value,autoFocus:!0,onChange:G,dragFiles:Y}),r.default.createElement(p.InlineActionBar,{className:a.default.comment_item_context,menus:$,context:[{thread:f,comment:P,body:W,menuId:v.MenuId.CommentsCommentContext}],separator:"inline",type:"button",afterClick:()=>{j(F)}})),P.reactions&&P.reactions.length>0&&r.default.createElement(_.CommentReactions,{thread:f,comment:P}),(O.length>0||S)&&r.default.createElement("div",{className:a.default.comment_item_reply_wrap},O.map(oe=>r.default.createElement(d,{key:oe.id,thread:f,reply:oe})),S&&r.default.createElement("div",null,r.default.createElement(g.CommentsTextArea,{autoFocus:!0,value:T,onChange:Q,placeholder:`${(0,l.localize)("comments.reply.placeholder")}...`,dragFiles:X}),r.default.createElement(p.InlineActionBar,{className:a.default.comment_item_reply,menus:c,context:[{thread:f,text:T,widget:y,menuId:v.MenuId.CommentsCommentThreadContext}],separator:"inline",type:"button",afterClick:()=>{D(""),w(!1)}})))))};t.CommentItem=E},53878:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsPanel=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),p=e(69635),v=n.__importDefault(e(38877)),m=e(5167),_=e(47842),s=({viewState:g})=>{const a=(0,l.useInjectable)(_.CommentModelService),[h,u]=(0,r.useState)(),d=(0,r.useRef)(null),E=(0,l.useInjectable)(p.ICommentsFeatureRegistry),{handleTreeBlur:f}=a;(0,r.useEffect)(()=>{u(a.treeModel);const T=a.onDidUpdateTreeModel(D=>{u(D)});return()=>{T.dispose()}},[]);const c=(0,r.useCallback)(T=>{a.handleTreeHandler(T)},[a]),y=(0,r.useCallback)(T=>r.default.createElement(m.CommentNodeRendered,{item:T.item,itemType:T.itemType,decorations:a.decorations.getDecorations(T.item),defaultLeftPadding:8,onTwistierClick:a.handleTwistierClick,onClick:a.handleItemClick,leftPadding:8}),[h]),b=(0,r.useMemo)(()=>E.getCommentsPanelOptions(),[]),A=(0,r.useMemo)(()=>b.header,[b]),S=(0,r.useMemo)(()=>r.default.createElement("div",{className:v.default.panel_placeholder},b.defaultPlaceholder||(0,l.localize)("comments.panel.placeholder")),[b]),w=(0,r.useCallback)(()=>h?r.default.createElement(o.RecycleTree,{height:g.height-(A?.height||0),itemHeight:m.COMMENT_TREE_NODE_HEIGHT,onReady:c,model:h,placeholder:()=>S},y):S,[h,A,g.height]);return r.default.createElement("div",{className:v.default.comment_panel,tabIndex:-1,onBlur:f,ref:d},A?.component,w())};t.CommentsPanel=s},42018:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsTextArea=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(34801),l=e(97267),p=e(41869),v=e(69635),m=e(54143),_=n.__importDefault(e(38877)),s=e(73136),g="@",a="@[__display__](__id__)",h=(u,d)=>`@${d}`;t.CommentsTextArea=r.default.forwardRef((u,d)=>{const{focusDelay:E=0,autoFocus:f=!1,placeholder:c="",onFocus:y,onBlur:b,onChange:A,maxRows:S=10,minRows:w=2,value:T,initialHeight:D,dragFiles:I}=u,[R,P]=r.default.useState(0),O=(0,p.useInjectable)(v.ICommentsFeatureRegistry),M=r.default.useRef(null),k=r.default.useRef(null),F=r.default.useRef(null);r.default.useImperativeHandle(d,()=>M.current);const L=r.default.useCallback(async Z=>{var Y;Z.stopPropagation(),Z.preventDefault();const V=(Y=Z.clipboardData)===null||Y===void 0?void 0:Y.files;V&&I&&await I(V),M.current&&(M.current.focus(),W(M.current.value))},[I]),B=r.default.useCallback(async Z=>{var Y;Z.stopPropagation(),Z.preventDefault();const V=(Y=Z.dataTransfer)===null||Y===void 0?void 0:Y.files;V&&I&&await I(V),M.current&&(M.current.focus(),W(M.current.value))},[I]),U=r.default.useCallback(Z=>{Z.stopPropagation(),Z.preventDefault(),Z.dataTransfer.dropEffect="copy"},[]),W=r.default.useCallback(Z=>{const Y=M.current;if(Y){const V=Z.toString().length;Y.setSelectionRange(V,V)}},[]);r.default.useEffect(()=>{var Z;const Y=M.current;if(!Y)return;D&&Y.style&&(Y.style.height=D),E&&setTimeout(()=>{Y.focus({preventScroll:!0})},E),W(T);function V(H){var K,Q,X;const oe=H.target;oe&&(oe.nodeName.toUpperCase()==="TEXTAREA"&&oe.scrollHeight>oe.clientHeight||oe.nodeName.toUpperCase()==="UL"||((K=oe.parentElement)===null||K===void 0?void 0:K.nodeName.toUpperCase())==="UL"||((X=(Q=oe.parentElement)===null||Q===void 0?void 0:Q.parentElement)===null||X===void 0?void 0:X.nodeName.toUpperCase())==="UL")&&H.stopPropagation()}return(Z=k.current)===null||Z===void 0||Z.addEventListener("mousewheel",V,!0),()=>{var H;(H=k.current)===null||H===void 0||H.removeEventListener("mousewheel",V,!0)}},[]),r.default.useEffect(()=>{R===0&&(setTimeout(()=>{var Z;(Z=M.current)===null||Z===void 0||Z.focus({preventScroll:!0})},E),W(T))},[R]);const j=r.default.useMemo(()=>(0,s.getMentionBoxStyle)({minRows:w,maxRows:S}),[w,S]),G=r.default.useMemo(()=>O.getMentionsOptions(),[O]),$=r.default.useCallback(async(Z,Y)=>{if(G.providerData){const V=await G.providerData(Z);Y(V)}else Y([])},[G]);return r.default.createElement("div",{className:_.default.textarea_container},r.default.createElement(l.Tabs,{mini:!0,value:R,onChange:Z=>P(Z),tabs:[(0,p.localize)("comments.thread.textarea.write"),(0,p.localize)("comments.thread.textarea.preview")]}),r.default.createElement("div",null,R===0?r.default.createElement("div",{ref:k},r.default.createElement(o.MentionsInput,{autoFocus:f,onPaste:L,inputRef:M,onDragOver:U,onDrop:B,ref:F,value:T,placeholder:c,onChange:A,onFocus:y,onBlur:b,style:j},r.default.createElement(o.Mention,{markup:G.markup||a,renderSuggestion:G.renderSuggestion,trigger:g,data:$,displayTransform:G.displayTransform||h}))):r.default.createElement("div",{className:_.default.textarea_preview},r.default.createElement(m.CommentsBody,{body:T}))))})},49867:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsThread=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(91830),p=e(54414),v=e(28423),m=e(69635),_=e(90366);let s=class extends o.Disposable{set contextValue(a){this._contextKeyService.createKey("thread",a)}get contextValue(){return this._contextKeyService.getContextKeyValue("thread")}get onDidChangeCollapsibleState(){return this.onDidChangeCollapsibleStateEmitter.event}get onDidChange(){return this.onDidChangeEmitter.event}constructor(a,h,u,d){super(),this.uri=a,this.range=h,this.providerId=u,this.options=d,this.comments=(0,v.observableValue)(this,[]),this.label=(0,v.observableValue)(this,void 0),this.readOnly=(0,v.observableValue)(this,!1),this.isCollapsed=(0,v.observableValue)(this,!1),this.onDidChangeCollapsibleStateEmitter=new o.Emitter,this.widgets=new Map,this._id=`thread_${(0,o.uuid)()}`,this.onDidChangeEmitter=new o.Emitter,this.threadHeaderTitle=(0,v.derived)(this,A=>{const S=this.label.read(A);if(S)return S;const w=this.comments.read(A);if(w.length){const T=new Set(w.map(D=>`@${D.author.name}`));return`${(0,o.localize)("comments.participants")}: `+[...T].join(" ")}else return(0,o.localize)("comments.zone.title")}),this.toggle=A=>{if(this.comments.get().length>0){const w=this.widgets.get(A);w&&w.toggle()}else this.dispose()},this.updateComments(d.comments?d.comments.map(A=>({...A,id:(0,o.uuid)()})):[]),this.data=this.options.data,this._contextKeyService=this.registerDispose(this.globalContextKeyService.createScoped()),new l.ResourceContextKey(this._contextKeyService).set(a),this._contextKeyService.createKey("thread",d.contextValue),(0,v.transaction)(A=>{this.setReadOnly(!!d.readOnly),this.label.set(d.label,A),this.isCollapsed.set(!!this.options.isCollapsed,A)});const f=this._contextKeyService.createKey("threadsLength",this.commentsService.getThreadsByUri(a).length),c=this.comments.get(),y=this._contextKeyService.createKey("commentsLength",c.length),b=this._contextKeyService.createKey("commentThreadIsEmpty",!c.length);this._contextKeyService.createKey("commentController",u),this.addDispose((0,v.autorun)(A=>{const S=this.comments.read(A).length;y.set(S),b.set(!S)})),this.addDispose((0,v.autorun)(A=>{this.isCollapsed.read(A)?this.hideAll():this.showAll()})),this.addDispose(this.commentsService.onThreadsChanged(A=>{A.uri.isEqual(a)&&f.set(this.commentsService.getThreadsByUri(a).length)})),this.addDispose({dispose:()=>{this.updateComments([])}}),this.onDidChangeEmitter.fire()}updateComments(a){(0,v.transaction)(h=>{this.comments.set(a,h)})}getWidgetByEditor(a){return this.widgets.get(a)}get id(){return this._id}get contextKeyService(){return this._contextKeyService}setReadOnly(a){(0,v.transaction)(h=>{this.readOnly.set(a,h),this._contextKeyService.createKey("readOnly",a)})}getEditorsByUri(a){return this.editorCollectionService.listEditors().filter(h=>{var u;return(u=h.currentUri)===null||u===void 0?void 0:u.isEqual(a)})}addWidgetByEditor(a){const h=this.injector.get(_.CommentsZoneWidget,[a,this,{arrowColor:"var(--peekView-border)"}]);return this.addDispose(h.onChangeZoneWidget(()=>{const u=this.commentsService.commentsThreads.filter(f=>this.isEqual(f)),d=u.findIndex(f=>f===this),E=u.slice(d+1);for(const f of E)if(f.isShowWidget(a)){const c=f.getWidgetByEditor(a);c?.resize()}})),this.addDispose(h),this.widgets.set(a,h),a.onDispose(()=>{h.dispose(),this.widgets.delete(a)}),h}show(a){if(a){let h=this.widgets.get(a);h||(h=this.addWidgetByEditor(a)),h.show()}else this.getEditorsByUri(this.uri).forEach(u=>{var d;let E=this.widgets.get(u);E||(E=this.addWidgetByEditor(u)),!((d=u.currentUri)===null||d===void 0)&&d.isEqual(this.uri)&&E.show()})}showWidgetsIfShowed(){var a;for(const h of this.getEditorsByUri(this.uri)){let u=this.widgets.get(h);u||(u=this.addWidgetByEditor(h)),!((a=h.currentUri)===null||a===void 0)&&a.isEqual(this.uri)&&setTimeout(()=>{u?.show()},0)}}hideWidgetsByDispose(){var a;for(const[h,u]of this.widgets)!(!((a=h.currentUri)===null||a===void 0)&&a.isEqual(this.uri))&&u.dispose()}isShowWidget(a){if(a){const h=this.widgets.get(a);return h?h.isShow:!1}else{for(const[,h]of this.widgets)return h.isShow;return!1}}hide(a){if(a){const h=this.widgets.get(a);h?.hide()}else this.hideAll()}showAll(){(0,v.transaction)(a=>{this.isCollapsed.set(!1,a)});for(const[,a]of this.widgets)a.show();this.onDidChangeCollapsibleStateEmitter.fire(m.CommentThreadCollapsibleState.Expanded)}hideAll(a){var h;(0,v.transaction)(u=>{this.isCollapsed.set(!0,u)});for(const[u,d]of this.widgets)a?!(!((h=u.currentUri)===null||h===void 0)&&h.isEqual(this.uri))&&d.dispose():d.hide();this.onDidChangeCollapsibleStateEmitter.fire(m.CommentThreadCollapsibleState.Collapsed)}addComment(...a){const h=this.comments.get();(0,v.transaction)(u=>{this.comments.set([...h,...a.map(d=>({...d,id:(0,o.uuid)()}))],u)}),this.onDidChangeEmitter.fire()}removeComment(a){(0,v.transaction)(h=>{this.comments.set(this.comments.get().filter(u=>u!==a),h)}),this.onDidChangeEmitter.fire()}isEqual(a){return a.uri.isEqual(this.uri)&&a.range.startLineNumber===this.range.startLineNumber&&a.range.endLineNumber===this.range.endLineNumber}};t.CommentsThread=s,n.__decorate([(0,r.Autowired)(m.ICommentsService),n.__metadata("design:type",Object)],s.prototype,"commentsService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],s.prototype,"globalContextKeyService",void 0),n.__decorate([(0,r.Autowired)(p.EditorCollectionService),n.__metadata("design:type",p.EditorCollectionService)],s.prototype,"editorCollectionService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],s.prototype,"injector",void 0),t.CommentsThread=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[o.URI,Object,String,Object])],s)},73804:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsZoneService=void 0;const n=e(85608),r=e(76003),o=e(93899),l=e(43718),p=e(69635),v=e(49867);let m=class extends l.Disposable{constructor(s){super(),this.thread=s}setCurrentCommentThread(s){this.commentService.setCurrentCommentThread(s)}get commentThreadTitle(){return this.registerDispose(this.menuService.createMenu(o.MenuId.CommentsCommentThreadTitle,this.thread.contextKeyService))}get commentThreadContext(){return this.registerDispose(this.menuService.createMenu(o.MenuId.CommentsCommentThreadContext,this.thread.contextKeyService))}};t.CommentsZoneService=m,n.__decorate([(0,r.Autowired)(o.AbstractMenuService),n.__metadata("design:type",o.AbstractMenuService)],m.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(p.ICommentsService),n.__metadata("design:type",Object)],m.prototype,"commentService",void 0),n.__decorate([l.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],m.prototype,"commentThreadTitle",null),n.__decorate([l.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],m.prototype,"commentThreadContext",null),t.CommentsZoneService=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[v.CommentsThread])],m)},90366:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsZoneWidget=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=n.__importDefault(e(25873)),p=e(76003),v=e(41869),m=e(25918),_=e(93899),s=e(20303),g=e(69635),a=e(37357),h=e(42018),u=e(73804),d=n.__importDefault(e(38877)),E=({thread:c,widget:y})=>{const{contextKeyService:b}=c,A=(0,v.useAutorun)(c.comments),S=(0,v.useAutorun)(c.threadHeaderTitle),T=(0,v.useInjectable)(p.INJECTOR_TOKEN).get(u.CommentsZoneService,[c]),D=(0,v.useInjectable)(g.ICommentsFeatureRegistry),I=o.default.useMemo(()=>D.getFileUploadHandler(),[]),[R,P]=o.default.useState(""),O=o.default.useMemo(()=>b.createKey("commentIsEmpty",!R),[]),M=T.commentThreadTitle,k=T.commentThreadContext,F=o.default.useCallback($=>{const{value:Z}=$.target;P(Z),O.set(!Z)},[]),L=o.default.useMemo(()=>{var $;return(($=D.getProviderFeature(c.providerId))===null||$===void 0?void 0:$.placeholder)||`${(0,v.localize)("comments.reply.placeholder")}...`},[]),B=o.default.useCallback(async $=>{if(I){const Z=await I(R,$);P(Y=>{const V=Y+Z;return O.set(!V),V})}},[R]);o.default.useEffect(()=>{const $=y.onFirstDisplay(()=>{setTimeout(()=>{y.coreEditor.monacoEditor.revealLine(c.range.endLineNumber+1)},0)});return()=>{$.dispose()}},[]);const U=o.default.useCallback(()=>{T.setCurrentCommentThread(T.thread)},[]),W=o.default.useCallback(()=>{T.setCurrentCommentThread(void 0)},[]),j=o.default.useCallback(()=>{T.setCurrentCommentThread(T.thread)},[]),G=o.default.useCallback(()=>{T.setCurrentCommentThread(void 0)},[]);return o.default.createElement("div",{tabIndex:-1,onMouseOver:U,onMouseOut:W,onFocus:j,onBlur:G,className:(0,r.default)(c.options.threadClassName,d.default.comment_container)},o.default.createElement("div",{className:(0,r.default)(c.options.threadHeadClassName,d.default.head)},o.default.createElement("div",{className:d.default.review_title},S),o.default.createElement(m.InlineActionBar,{menus:M,context:[{thread:c,widget:y,menuId:_.MenuId.CommentsCommentThreadTitle}],separator:"inline",type:"icon"})),o.default.createElement("div",{className:d.default.comment_body},A.length>0?o.default.createElement(a.CommentItem,{widget:y,commentThreadContext:k,thread:c}):o.default.createElement("div",null,o.default.createElement(h.CommentsTextArea,{focusDelay:100,initialHeight:"auto",value:R,onChange:F,placeholder:L,dragFiles:B}),o.default.createElement("div",{className:d.default.comment_bottom_actions},o.default.createElement(m.InlineActionBar,{className:d.default.comment_reply_actions,separator:"inline",type:"button",context:[{text:R,widget:y,thread:c,menuId:_.MenuId.CommentsCommentThreadContext}],menus:k})))))};let f=class extends s.ResizeZoneWidget{_fillContainer(){}constructor(y,b,A){super(y.monacoEditor,b.range,{...A,showInHiddenAreas:!0}),this.thread=b,this._onShow=new v.Emitter,this.onShow=this._onShow.event,this._onHide=new v.Emitter,this.onHide=this._onHide.event,this._editor=y,this._isShow=!b.isCollapsed.get();const S=document.createElement("div");this._container.appendChild(S),this.observeContainer(S);const w=this.commentsFeatureRegistry.getZoneWidgetRender();this.wrapperRoot=l.default.createRoot(S),this.wrapperRoot.render(o.default.createElement(v.ConfigProvider,{value:this.appConfig},w?w(this.thread,this):o.default.createElement(E,{thread:this.thread,widget:this}))),this.addDispose({dispose:()=>{var T;(T=this.wrapperRoot)===null||T===void 0||T.unmount(),this.wrapperRoot=void 0}})}get coreEditor(){return this._editor}get isShow(){return this._isShow}show(){super.show(),this._isShow=!0,this._onShow.fire()}hide(){super.hide(),this._isShow=!1,this._onHide.fire()}toggle(){this._isShow?this.hide():this.show()}applyClass(){}applyStyle(){}};t.CommentsZoneWidget=f,n.__decorate([(0,p.Autowired)(v.AppConfig),n.__metadata("design:type",Object)],f.prototype,"appConfig",void 0),n.__decorate([(0,p.Autowired)(g.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],f.prototype,"commentsFeatureRegistry",void 0),t.CommentsZoneWidget=f=n.__decorate([(0,p.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object,Object])],f)},62604:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsBrowserContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),p=e(57517),v=e(63067),m=e(69635),_=e(47842);let s=class extends o.Disposable{onStart(){this.registerCommentsFeature(),this.listenToCreateCommentsPanel(),this.commentsService.init()}get panelBadge(){const a=this.commentsService.commentsThreads.length;return a?a+"":""}registerCommands(a){a.registerCommand({id:m.CollapseId,label:"%comments.panel.action.collapse%",iconClass:(0,o.getIcon)("collapse-all")},{execute:()=>{this.commentModelService.collapsedAll()}}),a.registerCommand({id:m.CloseThreadId,label:"%comments.thread.action.close%",iconClass:(0,o.getIcon)("up")},{execute:h=>{const{thread:u,widget:d}=h;u.comments.get().length?d.isShow&&d.toggle():u.dispose()}}),a.registerCommand({id:m.SwitchCommandReaction},{execute:h=>{this.eventBus.fire(new m.CommentReactionClick(h))}})}registerMenus(a){a.registerMenuItem(l.MenuId.CommentsCommentThreadTitle,{command:m.CloseThreadId,group:"inline",order:Number.MAX_SAFE_INTEGER})}registerToolbarItems(a){a.registerItem({id:m.CollapseId,viewId:m.CommentPanelId,command:m.CollapseId,tooltip:(0,o.localize)("comments.panel.action.collapse")})}registerCommentsFeature(){this.contributions.getContributions().forEach((a,h)=>{this.addDispose(this.commentsService.registerCommentRangeProvider(`contribution_${h}`,{getCommentingRanges:u=>a.provideCommentingRanges(u)})),a.registerCommentsFeature&&a.registerCommentsFeature(this.commentsFeatureRegistry)})}listenToCreateCommentsPanel(){this.commentsFeatureRegistry.getCommentsPanelOptions().defaultShow?this.commentsService.registerCommentPanel():o.Event.once(this.commentsService.onThreadsCreated)(()=>{this.commentsService.registerCommentPanel()}),this.addDispose(o.Event.debounce(this.commentsService.onThreadsChanged,()=>{},100)(()=>{const a=this.layoutService.getTabbarHandler(m.CommentPanelId);a?.setBadge(this.panelBadge)},this))}registerEditorFeature(a){a.registerEditorFeatureContribution({contribute:h=>this.commentsService.handleOnCreateEditor(h),provideEditorOptionsForUri:async h=>(await this.commentsService.getContributionRanges(h)).length?{lineDecorationsWidth:25,lineNumbersMinChars:5}:{}})}};t.CommentsBrowserContribution=s,n.__decorate([(0,r.Autowired)(m.ICommentsService),n.__metadata("design:type",Object)],s.prototype,"commentsService",void 0),n.__decorate([(0,r.Autowired)(v.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(m.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],s.prototype,"commentsFeatureRegistry",void 0),n.__decorate([(0,r.Autowired)(m.CommentsContribution),n.__metadata("design:type",Object)],s.prototype,"contributions",void 0),n.__decorate([(0,r.Autowired)(o.IEventBus),n.__metadata("design:type",Object)],s.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(_.CommentModelService),n.__metadata("design:type",_.CommentModelService)],s.prototype,"commentModelService",void 0),t.CommentsBrowserContribution=s=n.__decorate([(0,o.Domain)(o.ClientAppContribution,p.BrowserEditorContribution,o.CommandContribution,o.TabBarToolbarContribution,l.MenuContribution)],s)},55011:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsService=void 0;const n=e(85608),r=n.__importDefault(e(53435)),o=n.__importDefault(e(87809)),l=e(76003),p=e(41869),v=e(57517),m=e(63067),_=e(20868),s=n.__importStar(e(20868)),g=e(62663),a=e(52416),h=n.__importStar(e(24347)),u=e(69635),d=e(53878),E=e(49867),f=e(53711);let c=class extends p.Disposable{constructor(){super(...arguments),this.decorationChangeEmitter=new p.Emitter,this.threads=new Map,this.threadsChangeEmitter=new p.Emitter,this.threadsCommentChangeEmitter=new p.Emitter,this.commentRangeProviderChangeEmitter=new p.Emitter,this.onDidChangeCurrentCommentThreadEmitter=new p.Emitter,this.threadsCreatedEmitter=new p.Emitter,this.rangeProviderMap=new Map,this.rangeOwner=new Map,this.providerDecorationCache=new p.LRUCache(1e4),this.commentRangeDecorationMap=new Map,this.shouldShowCommentsSchemes=new Set(["file","git","diff"]),this.decorationProviderDisposer=p.Disposable.NULL,this.activeThreadDecorationIds=[],this.allEditors=[],this.editorCommentingRangeSpaceReservedMap=new Map,this.editorLineDecorationsWidthMap=new Map}get commentsThreads(){return[...this.threads.values()]}get isMultiCommentsForSingleLine(){var b;return!!(!((b=this.commentsFeatureRegistry.getConfig())===null||b===void 0)&&b.isMultiCommentsForSingleLine)}get currentAuthorAvatar(){var b,A;return(A=(b=this.commentsFeatureRegistry.getConfig())===null||b===void 0?void 0:b.author)===null||A===void 0?void 0:A.avatar}get filterThreadDecoration(){var b;return(b=this.commentsFeatureRegistry.getConfig())===null||b===void 0?void 0:b.filterThreadDecoration}get onThreadsChanged(){return this.threadsChangeEmitter.event}get onThreadsCommentChange(){return this.threadsCommentChangeEmitter.event}get onThreadsCreated(){return this.threadsCreatedEmitter.event}get onCommentRangeProviderChange(){return this.commentRangeProviderChangeEmitter.event}get onDidChangeCurrentCommentThread(){return this.onDidChangeCurrentCommentThreadEmitter.event}setCurrentCommentThread(b){this.onDidChangeCurrentCommentThreadEmitter.fire(b)}createThreadDecoration(b){var A;const S=b.comments.get(),w=S.length===0?this.currentAuthorAvatar:(A=S[0].author.iconPath)===null||A===void 0?void 0:A.toString(),T=w?`${this.iconService.fromIcon("",w,a.IconType.Background)} avatar-icon`:this.iconService.fromString("$(comment)"),D={description:"comments-thread-decoration",glyphMarginClassName:w?["comment-thread",T].join(" "):["comment-range","comment-thread",T].join(" ")};return h.ModelDecorationOptions.createDynamic(D)}updateActiveThreadDecoration(b){var A;const S=this.getCurrentEditor(b?.uri);if(!S)return;(A=this.currentThreadCollapseStateListener)===null||A===void 0||A.dispose();const w=[];if(b){const T=b.range;b.isCollapsed.get()||(this.currentThreadCollapseStateListener=b.onDidChangeCollapsibleState(D=>{D===u.CommentThreadCollapsibleState.Collapsed&&this.updateActiveThreadDecoration(void 0)}),w.push({range:T,options:this.createThreadRangeActiveDecoration()}))}this.activeThreadDecorationIds=S.monacoEditor.deltaDecorations(this.activeThreadDecorationIds,w)}createDottedRangeDecoration(){const b={description:"comments-multiline-hover-decoration",linesDecorationsClassName:["comment-range","multiline-add"].join(" ")};return h.ModelDecorationOptions.createDynamic(b)}createHoverDecoration(){const b={description:"comments-hover-decoration",linesDecorationsClassName:["comment-range","line-hover","comment-add"].join(" ")};return h.ModelDecorationOptions.createDynamic(b)}createThreadRangeActiveDecoration(){const b={description:"comments-thread-range-active-decoration",isWholeLine:!1,zIndex:20,className:"comment-thread-range-current",shouldFillLineOnLineBreak:!0};return h.ModelDecorationOptions.createDynamic(b)}createThreadRangeDecoration(){const b={description:"comments-thread-range-decoration",isWholeLine:!1,zIndex:20,className:"comment-thread-range",shouldFillLineOnLineBreak:!0};return h.ModelDecorationOptions.createDynamic(b)}createCommentRangeDecoration(){const b={description:"comments-range-decoration",linesDecorationsClassName:["comment-range","comment-diff-added"].join(" ")};return h.ModelDecorationOptions.createDynamic(b)}init(){const b=this.resourceService.getSupportedSchemes();for(const A of b)this.shouldShowCommentsSchemes.add(A);this.addDispose(this.resourceService.onRegisterResourceProvider(A=>{A.scheme&&(this.shouldShowCommentsSchemes.add(A.scheme),this.registerDecorationProvider())})),this.addDispose(this.resourceService.onUnregisterResourceProvider(A=>{A.scheme&&(this.shouldShowCommentsSchemes.delete(A.scheme),this.registerDecorationProvider())})),this.registerDecorationProvider()}getCurrentEditor(b){var A;if(b){for(const S of this.allEditors)if(!((A=S.currentUri)===null||A===void 0)&&A.isEqual(b))return this.editor=S,S}return this.editor}handleOnCreateEditor(b){this.allEditors.push(b),this.editor=b;const A=new p.Disposable;let S=[],w=!1;return A.addDispose(b.monacoEditor.onMouseDown(T=>{if(T.target.type===g.monacoBrowser.editor.MouseTargetType.GUTTER_LINE_DECORATIONS&&T.target.element&&T.target.element.className.indexOf("comment-add")>-1){const{target:D}=T;if(D&&D.range){const{range:I}=D;this.startCommentRange=I,T.event.stopPropagation()}}else if(T.target.type===g.monacoBrowser.editor.MouseTargetType.GUTTER_GLYPH_MARGIN&&T.target.element&&T.target.element.className.indexOf("comment-thread")>-1){const{target:D}=T;if(D&&D.range){const{range:I}=D,R=this.commentsThreads.filter(P=>b.currentUri&&P.uri.isEqual(b.currentUri)&&P.range.endLineNumber===I.endLineNumber);R.length&&(R.some(O=>O.isShowWidget(b))?R.forEach(O=>O.hide(b)):R.forEach(O=>O.show(b)))}T.event.stopPropagation()}})),A.addDispose(b.monacoEditor.onMouseUp(async T=>{if(this.startCommentRange){if(w){this.renderCommentRange(b),w=!1,this.startCommentRange=null,this.endCommentRange=null;return}let D=this.startCommentRange;this.endCommentRange&&(this.endCommentRange.startLineNumber<this.startCommentRange.startLineNumber?(D.startColumn=this.endCommentRange.startColumn,D.startLineNumber=this.endCommentRange.startLineNumber):(D.endColumn=this.endCommentRange.endColumn,D.endLineNumber=this.endCommentRange.endLineNumber)),b.currentUri&&(D=await this.getValidRange(D,b.currentUri)),D&&(this.commentsThreads.some(I=>I.comments.get().length===0&&b.currentUri&&I.uri.isEqual(b.currentUri)&&I.range.startLineNumber===D.startLineNumber&&I.range.endLineNumber===D.endLineNumber)||this.createThread(b.currentUri,D).show(b),T.event.stopPropagation())}else if(T.target.type===g.monacoBrowser.editor.MouseTargetType.GUTTER_LINE_DECORATIONS&&T.target.element&&T.target.element.className.indexOf("comment-range")>-1&&T.target.element.className.indexOf("comment-thread")<0){const{target:D}=T,I=D.range;I&&(this.commentsThreads.some(R=>R.comments.get().length===0&&b.currentUri&&R.uri.isEqual(b.currentUri)&&R.range.startLineNumber===I.startLineNumber&&R.range.endLineNumber===I.endLineNumber)||this.createThread(b.currentUri,I).show(b),T.event.stopPropagation())}this.startCommentRange=null,this.endCommentRange=null})),A.addDispose(b.monacoEditor.onMouseMove(async T=>{var D,I,R;const P=b.currentUri,O=T.target.range;if(this.startCommentRange){if(!((D=T.target.element)===null||D===void 0)&&D.className||!((R=(I=T.target.element)===null||I===void 0?void 0:I.offsetParent)===null||R===void 0)&&R.className.includes("diff-hidden-lines")&&(w=!0),P&&O){let M={startLineNumber:this.startCommentRange.startLineNumber,endLineNumber:O.endLineNumber,startColumn:this.startCommentRange.startColumn,endColumn:O.endColumn};this.startCommentRange.startLineNumber>O.startLineNumber&&(M={startLineNumber:O.startLineNumber,endLineNumber:this.startCommentRange.endLineNumber,startColumn:O.startColumn,endColumn:this.startCommentRange.endColumn}),this.renderCommentRange(b,M),this.endCommentRange=O}}else if(P&&O&&await this.shouldShowHoverDecoration(P,O)){const M=[{range:(0,_.positionToRange)(O.startLineNumber),options:this.createHoverDecoration()}];S=b.monacoEditor.deltaDecorations(S,M)}})),A.addDispose(b.monacoEditor.onMouseLeave(async T=>{var D;const I=(D=T.target)===null||D===void 0?void 0:D.range,R=[];!this.startCommentRange&&I&&R.push({range:(0,_.positionToRange)(I.startLineNumber),options:this.createCommentRangeDecoration()}),S=b.monacoEditor.deltaDecorations(S,R)})),A.addDispose(this.onCommentRangeProviderChange(()=>{this.renderCommentRange(b)})),A.addDispose(p.Event.any(this.onThreadsChanged,this.onThreadsCommentChange,this.onThreadsCreated)(T=>{const D=this.getCurrentEditor(T.uri);D&&this.renderCommentRange(D),this.updateActiveThreadDecoration(void 0)})),A.addDispose(this.onDidChangeCurrentCommentThread(T=>{this.updateActiveThreadDecoration(T)})),this.tryUpdateReservedSpace(b),A.addDispose(b.monacoEditor.onDidChangeModel(()=>{this.renderCommentRange(b),this.tryUpdateReservedSpace(b)})),A}async getValidRange(b,A){if(!A)return b;const S=await this.getContributionRanges(A);if(S.length===0)return b;const w=S.find(T=>{if(b.startLineNumber>=T.startLineNumber&&b.startLineNumber<=T.endLineNumber)return!0});return w&&w.endLineNumber<b.endLineNumber?{startLineNumber:b.startLineNumber,startColumn:b.startColumn,endLineNumber:w.endLineNumber,endColumn:w.endColumn}:b}ensureCommentingRangeReservedAmount(b){const A=this.getExistingCommentEditorOptions(b),S=this.editorLineDecorationsWidthMap.get(b.getId());A.lineDecorationsWidth!==S&&b.updateOptions({lineDecorationsWidth:this.getWithCommentsLineDecorationWidth(b,A.lineDecorationsWidth)})}async tryUpdateReservedSpace(b){if(!b)return;let A=this.editorCommentingRangeSpaceReservedMap.get(b.getId())||!1;const S=b.currentUri?this.shouldShowCommentsSchemes.has(b.currentUri.scheme):!1,w=this.commentsThreads.some(D=>b.currentUri&&D.uri.isEqual(b.currentUri)&&D.comments.get().length>0),T=S||w;if(T)if(A)this.ensureCommentingRangeReservedAmount(b);else{A=!0;const{lineDecorationsWidth:D,extraEditorClassName:I}=this.getExistingCommentEditorOptions(b),R=this.getWithCommentsEditorOptions(b,I,D);this.updateEditorLayoutOptions(b,R.extraEditorClassName,R.lineDecorationsWidth)}else if(!T&&A){A=!1;const{lineDecorationsWidth:D,extraEditorClassName:I}=this.getExistingCommentEditorOptions(b),R=this.getWithoutCommentsEditorOptions(b,I,D);this.updateEditorLayoutOptions(b,R.extraEditorClassName,R.lineDecorationsWidth)}this.editorCommentingRangeSpaceReservedMap.set(b.getId(),A)}getExistingCommentEditorOptions(b){const A=b.monacoEditor.getOption(s.EditorOption.lineDecorationsWidth);let S=[];const w=b.monacoEditor.getRawOptions().extraEditorClassName;return w&&(S=w.split(" ")),{lineDecorationsWidth:A,extraEditorClassName:S}}getWithoutCommentsEditorOptions(b,A,S){let w=S;const T=A.findIndex(I=>I==="inline-comment");T>=0&&A.splice(T,1);const D=b.monacoEditor.getOptions();return D.get(s.EditorOption.folding)&&D.get(s.EditorOption.showFoldingControls)!=="never"&&(w+=11),w-=24,{extraEditorClassName:A,lineDecorationsWidth:w}}updateEditorLayoutOptions(b,A,S){b.updateOptions({extraEditorClassName:A.join(" "),lineDecorationsWidth:S})}getWithCommentsEditorOptions(b,A,S){return A.push("inline-comment"),{lineDecorationsWidth:this.getWithCommentsLineDecorationWidth(b,S),extraEditorClassName:A}}getWithCommentsLineDecorationWidth(b,A){let S=A;const w=b.monacoEditor.getOptions();return w.get(s.EditorOption.folding)&&w.get(s.EditorOption.showFoldingControls)!=="never"&&(S-=11),S+=24,this.editorLineDecorationsWidthMap.set(b.getId(),S),S}async renderCommentRange(b,A={startLineNumber:0,endLineNumber:0,startColumn:0,endColumn:0}){if(!b.currentUri)return;const S=await this.getContributionRanges(b.currentUri);if(S.length>0){const w=[];S.map(D=>{if(A.startLineNumber===0&&A.endLineNumber===0)w.push({range:D,options:this.createCommentRangeDecoration()});else if(A.startLineNumber<=D.startLineNumber&&A.endLineNumber>=D.endLineNumber)w.push({range:D,options:this.createDottedRangeDecoration()},{range:D,options:this.createThreadRangeDecoration()});else if(A.endLineNumber>=D.endLineNumber)if(A.startLineNumber<=D.endLineNumber){const I={startLineNumber:A.startLineNumber,endLineNumber:D.endLineNumber,startColumn:A.startColumn,endColumn:D.endColumn},R={startLineNumber:D.startLineNumber,endLineNumber:I.startLineNumber-1,startColumn:D.startColumn,endColumn:I.endColumn};w.push({range:R,options:this.createCommentRangeDecoration()},{range:I,options:this.createDottedRangeDecoration()},{range:I,options:this.createThreadRangeDecoration()})}else w.push({range:D,options:this.createCommentRangeDecoration()});else if(A.endLineNumber<D.endLineNumber)if(A.endLineNumber>=D.startLineNumber)if(A.startLineNumber>=D.startLineNumber){const I={startLineNumber:D.startLineNumber,startColumn:D.startColumn,endLineNumber:A.startLineNumber-1,endColumn:A.startColumn},R={startLineNumber:A.endLineNumber+1,startColumn:A.endColumn,endLineNumber:D.endLineNumber,endColumn:D.endColumn},P=A.startLineNumber!==D.startLineNumber?[{range:I,options:this.createCommentRangeDecoration()}]:[];P.push({range:A,options:this.createDottedRangeDecoration()}),P.push({range:A,options:this.createThreadRangeDecoration()}),P.push({range:R,options:this.createCommentRangeDecoration()}),w.push(...P)}else{const I={startLineNumber:D.startLineNumber,startColumn:D.startColumn,endLineNumber:A.endLineNumber,endColumn:A.endColumn},R={startLineNumber:I.endLineNumber+1,startColumn:I.endColumn,endLineNumber:D.endLineNumber,endColumn:D.endColumn};w.push({range:I,options:this.createDottedRangeDecoration()},{range:I,options:this.createThreadRangeDecoration()},{range:R,options:this.createCommentRangeDecoration()})}else w.push({range:D,options:this.createCommentRangeDecoration()})});const T=this.commentRangeDecorationMap.get(b.currentUri.toString())||[];this.commentRangeDecorationMap.set(b.currentUri.toString(),b.monacoEditor.deltaDecorations(T,w))}else this.commentRangeDecorationMap.set(b.currentUri.toString(),[])}async shouldShowHoverDecoration(b,A){return this.shouldShowCommentsSchemes.has(b.scheme)?(await this.getContributionRanges(b)).some(T=>A.startLineNumber<=T.endLineNumber):!1}createThread(b,A,S={comments:[],readOnly:!1}){const w=this.getProviderIdsByLine(A.endLineNumber)[0],T=this.injector.get(E.CommentsThread,[b,A,w,S]);return T.onDispose(()=>{this.threads.delete(T.id),this.threadsChangeEmitter.fire(T),this.decorationChangeEmitter.fire(b)}),T.onDidChange(()=>{this.threadsChangeEmitter.fire(T)}),this.threads.set(T.id,T),this.addDispose(T),this.threadsChangeEmitter.fire(T),this.threadsCreatedEmitter.fire(T),this.decorationChangeEmitter.fire(b),T}getThreadsByUri(b){return this.commentsThreads.filter(A=>A.uri.isEqual(b)).sort((A,S)=>A.range.startLineNumber-S.range.startLineNumber)}handleCommentFileNode(b){const A=[],S=[...this.threads.values()].filter(T=>T.comments.get().length),w=(0,o.default)(S,T=>T.uri);return Object.keys(w).map(T=>{var D;const I=w[T];if(I.length===0)return;const R=new p.URI(this.appConfig.workspaceDir),P=new p.URI(T),O=(D=R.relative(P))===null||D===void 0?void 0:D.toString();A.push(new f.CommentFileNode(this,I,O,P.codeUri.fsPath,this.labelService.getIcon(P),P,b))}),A}handleCommentContentNode(b){var A;const S=[];for(const w of b.threads){const T=w.comments.get(),[D]=T,I=typeof D.body=="string"?D.body:D.body.value;let R=`[Ln ${w.range.startLineNumber}]`;w.range.startLineNumber!==w.range.endLineNumber&&(R=`[Ln ${w.range.startLineNumber}-${w.range.endLineNumber}]`),S.push(new f.CommentContentNode(this,w,I,R,D.author.iconPath&&(!((A=D.author.iconPath)===null||A===void 0)&&A.authority)?this.iconService.fromIcon("",D.author.iconPath.toString(),a.IconType.Background):(0,p.getIcon)("message"),D.author,b.resource,b))}return S}handleCommentReplyNode(b){const A=[],S=b.thread,w=S.comments.get(),[T,...D]=w,I=D[D.length-1].author.name;return A.push(new f.CommentReplyNode(this,S,(0,p.formatLocalize)("comment.reply.count",D?.length||0),(0,p.formatLocalize)("comment.reply.lastReply",I),"",b.resource,b)),A}async resolveChildren(b){let A=[];if(b?f.CommentRoot.isRoot(b)?A=this.handleCommentFileNode(b):f.CommentFileNode.is(b)?A=this.handleCommentContentNode(b):f.CommentContentNode.is(b)&&(A=this.handleCommentReplyNode(b)):A.push(new f.CommentRoot(this)),A.length===1&&f.CommentRoot.isRoot(A[0]))return A;const S=this.commentsFeatureRegistry.getCommentsPanelTreeNodeHandlers();if(S.length>0)for(const w of S)A=w(A);return A}async getContributionRanges(b){const A=this.providerDecorationCache.get(b.toString());if(A)return await A.promise;const S=this.documentService.getModelReference(b,"Get Comment Range"),w=[];for(const R of this.rangeProviderMap){const[P,O]=R;w.push((async()=>{if(!S?.instance)return;const M=await O.getCommentingRanges(S.instance);return M&&M.length&&this.rangeOwner.set(P,M),M})())}const T=new p.Deferred;this.providerDecorationCache.set(b.toString(),T);const D=(await Promise.all(w)).filter(Boolean);S?.dispose();const I=(0,r.default)(D).filter(Boolean);return T.resolve(I),I}fireThreadCommentChange(b){this.threadsCommentChangeEmitter.fire(b)}registerDecorationProvider(){this.decorationProviderDisposer.dispose(),this.decorationProviderDisposer=this.editorDecorationCollectionService.registerDecorationProvider({schemes:[...this.shouldShowCommentsSchemes.values()],key:"comments",onDidDecorationChange:this.decorationChangeEmitter.event,provideEditorDecoration:b=>this.commentsThreads.map(A=>(A.uri.codeUri.path===b.codeUri.path?A.comments.get().length&&A.showWidgetsIfShowed():A.hide(),A)).filter(A=>{const S=A.uri.isEqual(b);return this.filterThreadDecoration?S&&this.filterThreadDecoration(A):S}).map(A=>({range:{startLineNumber:A.range.endLineNumber,endLineNumber:A.range.endLineNumber,startColumn:A.range.endColumn,endColumn:A.range.endColumn},options:this.createThreadDecoration(A)}))}),this.addDispose(this.decorationProviderDisposer)}registerCommentPanel(){this.layoutService.getTabbarHandler(u.CommentPanelId)||this.layoutService.collectTabbarComponent([{id:u.CommentPanelId,component:d.CommentsPanel}],{badge:this.panelBadge,containerId:u.CommentPanelId,title:(0,p.localize)("comments").toUpperCase(),hidden:!1,activateKeyBinding:"ctrlcmd+shift+c",...this.commentsFeatureRegistry.getCommentsPanelOptions()},"bottom")}get panelBadge(){const b=this.commentsThreads.length;return b?b+"":""}registerCommentRangeProvider(b,A){return this.rangeProviderMap.set(b,A),this.providerDecorationCache.clear(),this.commentRangeProviderChangeEmitter.fire(),p.Disposable.create(()=>{this.rangeProviderMap.delete(b),this.rangeOwner.delete(b),this.providerDecorationCache.clear()})}forceUpdateDecoration(){var b,A,S;const w=(b=this.workbenchEditorService.currentEditor)===null||b===void 0?void 0:b.currentUri;w&&this.decorationChangeEmitter.fire(w);const T=(S=(A=this.workbenchEditorService.currentEditorGroup)===null||A===void 0?void 0:A.diffEditor)===null||S===void 0?void 0:S.originalEditor.currentUri;T&&this.decorationChangeEmitter.fire(T)}getProviderIdsByLine(b){const A=[];if(this.rangeOwner.size===1)return[this.rangeOwner.keys().next().value];for(const S of this.rangeOwner){const[w,T]=S;T&&T.some(D=>D.startLineNumber<=b&&b<=D.endLineNumber)&&A.push(w)}return A}};t.CommentsService=c,n.__decorate([(0,l.Autowired)(l.INJECTOR_TOKEN),n.__metadata("design:type",l.Injector)],c.prototype,"injector",void 0),n.__decorate([(0,l.Autowired)(p.AppConfig),n.__metadata("design:type",Object)],c.prototype,"appConfig",void 0),n.__decorate([(0,l.Autowired)(v.IEditorDecorationCollectionService),n.__metadata("design:type",Object)],c.prototype,"editorDecorationCollectionService",void 0),n.__decorate([(0,l.Autowired)(a.IIconService),n.__metadata("design:type",Object)],c.prototype,"iconService",void 0),n.__decorate([(0,l.Autowired)(p.LabelService),n.__metadata("design:type",p.LabelService)],c.prototype,"labelService",void 0),n.__decorate([(0,l.Autowired)(u.ICommentsFeatureRegistry),n.__metadata("design:type",Object)],c.prototype,"commentsFeatureRegistry",void 0),n.__decorate([(0,l.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],c.prototype,"documentService",void 0),n.__decorate([(0,l.Autowired)(m.IMainLayoutService),n.__metadata("design:type",Object)],c.prototype,"layoutService",void 0),n.__decorate([(0,l.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],c.prototype,"workbenchEditorService",void 0),n.__decorate([(0,l.Autowired)(v.ResourceService),n.__metadata("design:type",v.ResourceService)],c.prototype,"resourceService",void 0),n.__decorate([p.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],c.prototype,"isMultiCommentsForSingleLine",null),n.__decorate([p.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],c.prototype,"currentAuthorAvatar",null),n.__decorate([p.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],c.prototype,"filterThreadDecoration",null),t.CommentsService=c=n.__decorate([(0,l.Injectable)()],c)},54230:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommentsModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(69635),p=e(66480),v=e(62604),m=e(55011),_=e(47842);let s=class extends o.BrowserModule{constructor(){super(...arguments),this.contributionProvider=l.CommentsContribution,this.providers=[{token:l.ICommentsService,useClass:m.CommentsService},{token:_.CommentModelService,useClass:_.CommentModelService},{token:l.ICommentsFeatureRegistry,useClass:p.CommentsFeatureRegistry},v.CommentsBrowserContribution]}};t.CommentsModule=s,t.CommentsModule=s=n.__decorate([(0,r.Injectable)()],s)},70154:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.markdownCss=void 0,t.markdownCss=`
|
|
31762
31764
|
h1, h2, h3, h4, h5, h6, p {
|
|
31763
31765
|
color: var(--foreground);
|
|
31764
31766
|
word-break: break-all;
|
|
@@ -32222,7 +32224,7 @@ body.vscode-high-contrast #scroll-to-top:hover {
|
|
|
32222
32224
|
</html>`}function g(a){const h=new DOMParser().parseFromString(a,"text/html"),u=h.documentElement.querySelectorAll("svg");if(u)for(let d=0;d<u.length;d++){const E=u[d];E.parentNode&&E.parentNode.removeChild(u[d])}return h.documentElement.outerHTML}},21066:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IMarkdownService=void 0,t.IMarkdownService=Symbol("IMarkdownService")},93374:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(21066),t),n.__exportStar(e(31101),t)},99669:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkersModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(11666),p=e(24493),v=e(23368);let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[p.MarkersContribution,{token:l.IMarkerService,useClass:v.MarkerService}]}};t.MarkersModule=m,t.MarkersModule=m=n.__decorate([(0,r.Injectable)()],m)},60589:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkersContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(379);let p=class{initScopedContext(m){this._contextKeyService=this.globalContextkeyService.createScoped(m),this.markersTreeVisibility=l.MarkersTreeVisibilityContextKey.bind(this._contextKeyService),this.markerFocus=l.MarkerFocusContextKey.bind(this._contextKeyService)}get service(){return this._contextKeyService}};t.MarkersContextKey=p,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],p.prototype,"globalContextkeyService",void 0),t.MarkersContextKey=p=n.__decorate([(0,r.Injectable)()],p)},24493:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkersContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(63067),p=e(11666),v=e(63670),m=e(23368),_=e(15952),s=n.__importDefault(e(31773)),g=e(73073);function a(u){const E="99+";return u>=100?E:u.toString()}let h=class extends o.Disposable{constructor(){super(...arguments),this.statusBarId="markers-status"}onDidRender(){const d=this.mainlayoutService.getTabbarHandler(p.MARKER_CONTAINER_ID);d&&(this.addDispose(this.markerService.getManager().onMarkerChanged(()=>{const E=this.markerService.getBadge();d.setBadge(E||"")})),this.markerService.viewReady.then(()=>{d.isActivated()&&this.markerModelService.activate()}),this.addDispose(d.onActivate(()=>{this.markerModelService.activate()})),this.addDispose(d.onInActivate(()=>{this.markerModelService.deactivate()}))),this.updateStatusBar(),this.addDispose(this.markerService.getManager().onMarkerChanged(()=>{this.updateStatusBar()}))}updateStatusBar(){const E=this.markerService.getManager().getStats();if(E){const f=[],c=[`$(codicon/error) ${a(E.errors)}`,`$(codicon/warning) ${a(E.warnings)}`];E.errors>0&&f.push(`Errors(${E.errors})`),E.warnings>0&&f.push(`Warnings(${E.warnings})`),E.infos>0&&(f.push(`Infos(${E.infos})`),c.push(`$(codicon/info) ${a(E.infos)}`)),this.statusBar.addElement(this.statusBarId,{name:(0,o.localize)("status-bar.editor-langStatus"),alignment:o.StatusBarAlignment.LEFT,text:c.join(" "),priority:1,tooltip:f.length>0?f.join(", "):(0,o.localize)("markers.status.no.problems"),onClick:()=>{this.toggleMarkerTabbar()}})}else this.statusBar.removeElement(this.statusBarId)}registerComponent(d){d.register("@opensumi/ide-markers",{id:p.MARKER_CONTAINER_ID,component:_.MarkerPanel},{title:s.default.markerTitle(),priority:11,containerId:p.MARKER_CONTAINER_ID,activateKeyBinding:"ctrlcmd+shift+m",titleComponent:v.MarkerFilterPanel})}showMarkerTabbar(){const d=this.mainlayoutService.getTabbarHandler(p.MARKER_CONTAINER_ID);d?.activate()}toggleMarkerTabbar(){const d=this.mainlayoutService.getTabbarHandler(p.MARKER_CONTAINER_ID);d&&(d.isActivated()?d.deactivate():d.activate())}registerCommands(d){d.registerCommand({id:o.MARKER_COMMANDS.SHOW_ERRORS_WARNINGS.id},{execute:()=>{this.showMarkerTabbar()}}),d.registerCommand({id:o.MARKER_COMMANDS.TOGGLE_SHOW_ERRORS_WARNINGS.id},{execute:()=>{this.toggleMarkerTabbar()}})}};t.MarkersContribution=h,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",o.Logger)],h.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(l.IMainLayoutService),n.__metadata("design:type",Object)],h.prototype,"mainlayoutService",void 0),n.__decorate([(0,r.Autowired)(p.IMarkerService),n.__metadata("design:type",m.MarkerService)],h.prototype,"markerService",void 0),n.__decorate([(0,r.Autowired)(o.IStatusBarService),n.__metadata("design:type",Object)],h.prototype,"statusBar",void 0),n.__decorate([(0,r.Autowired)(g.MarkerModelService),n.__metadata("design:type",g.MarkerModelService)],h.prototype,"markerModelService",void 0),t.MarkersContribution=h=n.__decorate([(0,o.Domain)(o.CommandContribution,o.ComponentContribution,l.MainLayoutContribution)],h)},14298:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Filter=t.FilterOptions=void 0;const n=e(85608),r=e(41869),o=e(11666),l=n.__importDefault(e(31773));class p{constructor(_="",s=[]){this.filter=_,this.filterErrors=!1,this.filterWarnings=!1,this.filterInfos=!1,this.textFilter="",_=_.trim();const g=Array.isArray(s)?s:[],a=Array.isArray(s)?(0,r.getEmptyExpression)():s,h=(0,r.getEmptyExpression)();if(_){const u=(0,r.splitGlobAware)(_,",").map(d=>d.trim()).filter(d=>!!d.length);for(const d of u)this.filterErrors=this.filterErrors||this.matches(d,l.default.markerPanelFilterErrors()),this.filterWarnings=this.filterWarnings||this.matches(d,l.default.markerPanelFilterWarnings()),this.filterInfos=this.filterInfos||this.matches(d,l.default.markerPanelFilterInfos()),r.strings.startsWith(d,"!")?this.setPattern(a,r.strings.ltrim(d,"!")):(this.setPattern(h,d),this.textFilter+=` ${d}`)}this.excludesMatcher=new o.ResourceGlobMatcher(a,g),this.includesMatcher=new o.ResourceGlobMatcher(h,[]),this.textFilter=this.textFilter.trim()}setPattern(_,s){s[0]==="."&&(s="*"+s),_[`**/${s}/**`]=!0,_[`**/${s}`]=!0}matches(_,s){const g=(0,r.matchesPrefix)(_,s);return!!(g&&g.length>0)}}t.FilterOptions=p,p._filter=r.matchesFuzzy2,p._messageFilter=r.matchesFuzzy;class v{constructor(_){this.options=_}filterModel(_){const s=this.options.includesMatcher.matches(new r.URI(_.resource)),g=_.filename?p._filter(this.options.textFilter,_.filename):void 0,a=s||g&&g.length>0;if(a)return o.MarkerModelBuilder.buildFilterModel(_,this.filterMarkerItems(_.markers,!1),a,!0,{filenameMatches:g});{const h=this.filterMarkerItems(_.markers,!0);return o.MarkerModelBuilder.buildFilterModel(_,h,!1,h.length>0)}}filterMarkerItems(_,s){if(!_||_.length<=0)return[];const g=_.map(a=>this.filterMarkerItem(a));return s?g.filter(a=>a.match===!0):g}filterMarkerItem(_){if(this.options.filterErrors&&r.MarkerSeverity.Error===_.severity||this.options.filterWarnings&&r.MarkerSeverity.Warning===_.severity||this.options.filterInfos&&r.MarkerSeverity.Info===_.severity||!this.options.textFilter)return o.MarkerItemBuilder.buildFilterItem(_,!0);const s=_.message?p._filter(this.options.textFilter,_.message):void 0,g=_.source?p._filter(this.options.textFilter,_.source):void 0,a=_.code?p._filter(this.options.textFilter,_.code):void 0;return s||g||a?o.MarkerItemBuilder.buildFilterItem(_,!0,{messageMatches:s,sourceMatches:g,codeMatches:a}):o.MarkerItemBuilder.buildFilterItem(_,!1)}}t.Filter=v},63670:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkerFilterPanel=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=n.__importDefault(e(14041)),l=e(41869),p=e(5567),v=e(11666),m=e(14298),_=n.__importDefault(e(30790)),s=n.__importDefault(e(31773)),g=()=>{const a=(0,l.useInjectable)(v.IMarkerService),h=(0,l.useDesignStyles)(_.default.markerFilterContent,"markerFilterContent"),u=(0,l.useDesignStyles)(_.default.filterInput,"filterInput"),[d,E]=o.default.useState("");(0,l.useDisposable)(()=>[a.onMarkerFilterChanged(c=>{c===void 0&&E("")})]);const f=(0,r.default)(c=>{E(c),a.fireFilterChanged(c?new m.FilterOptions(c):void 0)},250);return o.default.createElement("div",{className:h},o.default.createElement(p.AutoFocusedInput,{containerId:v.MARKER_CONTAINER_ID,hasClear:!0,className:u,placeholder:s.default.markerPanelFilterInputPlaceholder(),value:d,onValueChange:f}))};t.MarkerFilterPanel=g},75068:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SeverityIconStyle=t.HIGH_CONTRAST_DARK=t.HIGH_CONTRAST_LIGHT=t.LIGHT=t.DARK=void 0;const n=e(41869),r=e(52416),o=encodeURIComponent('<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.58318 2.02842C9.96435 2.16331 11.2561 2.77279 12.2383 3.75307C13.3643 4.87923 13.9978 6.40584 14 7.99829C14.0004 9.38617 13.5196 10.7313 12.6396 11.8045C11.7595 12.8778 10.5345 13.6127 9.17333 13.8841C7.81215 14.1556 6.39895 13.9467 5.1745 13.2931C3.95005 12.6394 2.99008 11.5815 2.45814 10.2995C1.92619 9.0175 1.85517 7.59072 2.25717 6.26222C2.65917 4.93373 3.50933 3.7857 4.66282 3.0137C5.8163 2.24171 7.20177 1.89351 8.58318 2.02842ZM8.68038 1.03316C10.292 1.19055 11.7993 1.90184 12.9453 3.04585C14.2587 4.35938 14.9976 6.14013 15 7.99764C15.0005 9.61695 14.4396 11.1864 13.4129 12.4385C12.3861 13.6907 10.9569 14.5482 9.36889 14.8648C7.78084 15.1815 6.13211 14.9378 4.70359 14.1752C3.27506 13.4127 2.1551 12.1784 1.53449 10.6828C0.913887 9.18708 0.831027 7.52251 1.30003 5.97259C1.76903 4.42268 2.76089 3.08331 4.10662 2.18265C5.45236 1.28199 7.06873 0.875761 8.68038 1.03316ZM5.52498 5L8.00004 7.47506L10.4751 5L11.1822 5.70711L8.70714 8.18217L11.1818 10.6569L10.4747 11.364L8.00004 8.88927L5.52535 11.364L4.81824 10.6569L7.29293 8.18217L4.81787 5.70711L5.52498 5Z" fill="'),l=encodeURIComponent('"/></svg>'),p=encodeURIComponent('<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.58318 2.02842C9.96435 2.16331 11.2561 2.77279 12.2383 3.75307C13.3643 4.87923 13.9978 6.40584 14 7.99829C14.0004 9.38617 13.5196 10.7313 12.6396 11.8045C11.7595 12.8778 10.5345 13.6127 9.17333 13.8841C7.81215 14.1556 6.39895 13.9467 5.1745 13.2931C3.95005 12.6394 2.99008 11.5815 2.45814 10.2995C1.92619 9.0175 1.85517 7.59072 2.25717 6.26222C2.65917 4.93373 3.50933 3.7857 4.66282 3.0137C5.8163 2.24171 7.20177 1.89351 8.58318 2.02842ZM8.68038 1.03316C10.292 1.19055 11.7993 1.90184 12.9453 3.04585C14.2587 4.35938 14.9976 6.14013 15 7.99764C15.0005 9.61695 14.4396 11.1864 13.4129 12.4385C12.3861 13.6907 10.9569 14.5482 9.36889 14.8648C7.78084 15.1815 6.13211 14.9378 4.70359 14.1752C3.27506 13.4127 2.1551 12.1784 1.53449 10.6828C0.913887 9.18708 0.831027 7.52251 1.30003 5.97259C1.76903 4.42268 2.76089 3.08331 4.10662 2.18265C5.45236 1.28199 7.06873 0.875761 8.68038 1.03316ZM5.52498 5L8.00004 7.47506L10.4751 5L11.1822 5.70711L8.70714 8.18217L11.1818 10.6569L10.4747 11.364L8.00004 8.88927L5.52535 11.364L4.81824 10.6569L7.29293 8.18217L4.81787 5.70711L5.52498 5Z" fill="'),v=encodeURIComponent('"/></svg>'),m=encodeURIComponent('<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.12 13.9725L15 12.5L9.37927 2H7.61924L1.9985 12.5L2.87852 13.9725H14.12ZM2.87852 12.9725L8.49925 2.47249L14.12 12.9725H2.87852ZM7.98952 6H8.98802V10H7.98952V6ZM7.98952 11H8.98802V12H7.98952V11Z" fill="'),_=encodeURIComponent('"/></svg>'),s=encodeURIComponent('<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.12 13.9725L15 12.5L9.37927 2H7.61924L1.9985 12.5L2.87852 13.9725H14.12ZM2.87852 12.9725L8.49925 2.47249L14.12 12.9725H2.87852ZM7.98952 6H8.98802V10H7.98952V6ZM7.98952 11H8.98802V12H7.98952V11Z" fill="'),g=encodeURIComponent('"/></svg>'),a=encodeURIComponent('<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3 7.5C3 4.46243 5.46243 2 8.5 2C11.5376 2 14 4.46243 14 7.5C14 10.5376 11.5376 13 8.5 13C5.46243 13 3 10.5376 3 7.5ZM2 7.5C2 3.91015 4.91015 1 8.5 1C12.0899 1 15 3.91015 15 7.5C15 11.0899 12.0899 14 8.5 14C4.91015 14 2 11.0899 2 7.5ZM8 4V5H9V4H8ZM8 6L8 10H9L9 6H8Z" fill="'),h=encodeURIComponent('"/></svg>'),u=encodeURIComponent('<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M3 7.5C3 4.46243 5.46243 2 8.5 2C11.5376 2 14 4.46243 14 7.5C14 10.5376 11.5376 13 8.5 13C5.46243 13 3 10.5376 3 7.5ZM2 7.5C2 3.91015 4.91015 1 8.5 1C12.0899 1 15 3.91015 15 7.5C15 11.0899 12.0899 14 8.5 14C4.91015 14 2 11.0899 2 7.5ZM8 4V5H9V4H8ZM8 6L8 10H9L9 6H8Z" fill="'),d=encodeURIComponent('"/></svg>');function E(y,b){switch(y){case n.MarkerSeverity.Hint:{const A=b===r.LIGHT?r.Color.fromHex("#75BEFF"):r.Color.fromHex("#007ACC");return b===r.LIGHT?a+encodeURIComponent(A.toString())+h:u+encodeURIComponent(A.toString())+d}case n.MarkerSeverity.Info:{const A=b===r.LIGHT?r.Color.fromHex("#007ACC"):r.Color.fromHex("#75BEFF");return b===r.LIGHT?a+encodeURIComponent(A.toString())+h:u+encodeURIComponent(A.toString())+d}case n.MarkerSeverity.Warning:{const A=b===r.LIGHT?r.Color.fromHex("#DDB100"):r.Color.fromHex("#fc0");return b===r.LIGHT?m+encodeURIComponent(A.toString())+_:s+encodeURIComponent(A.toString())+g}case n.MarkerSeverity.Error:{const A=b===r.LIGHT?r.Color.fromHex("#A1260D"):r.Color.fromHex("#F48771");return b===r.LIGHT?o+encodeURIComponent(A.toString())+l:p+encodeURIComponent(A.toString())+v}}return""}function f(y,b){return{background:`url("data:image/svg+xml,${E(y,b)}") center center no-repeat`,height:"16px",width:"16px",minWidth:"16px",marginRight:"5px"}}var c=e(52416);Object.defineProperty(t,"DARK",{enumerable:!0,get:function(){return c.DARK}}),Object.defineProperty(t,"LIGHT",{enumerable:!0,get:function(){return c.LIGHT}}),Object.defineProperty(t,"HIGH_CONTRAST_LIGHT",{enumerable:!0,get:function(){return c.HIGH_CONTRAST_LIGHT}}),Object.defineProperty(t,"HIGH_CONTRAST_DARK",{enumerable:!0,get:function(){return c.HIGH_CONTRAST_DARK}}),t.SeverityIconStyle={[r.LIGHT]:{[n.MarkerSeverity.Hint]:f(n.MarkerSeverity.Hint,r.LIGHT),[n.MarkerSeverity.Info]:f(n.MarkerSeverity.Info,r.LIGHT),[n.MarkerSeverity.Warning]:f(n.MarkerSeverity.Warning,r.LIGHT),[n.MarkerSeverity.Error]:f(n.MarkerSeverity.Error,r.LIGHT)},[r.DARK]:{[n.MarkerSeverity.Hint]:f(n.MarkerSeverity.Hint,r.DARK),[n.MarkerSeverity.Info]:f(n.MarkerSeverity.Info,r.DARK),[n.MarkerSeverity.Warning]:f(n.MarkerSeverity.Warning,r.DARK),[n.MarkerSeverity.Error]:f(n.MarkerSeverity.Error,r.DARK)},[r.HIGH_CONTRAST_DARK]:{[n.MarkerSeverity.Hint]:f(n.MarkerSeverity.Hint,r.HIGH_CONTRAST_DARK),[n.MarkerSeverity.Info]:f(n.MarkerSeverity.Info,r.HIGH_CONTRAST_DARK),[n.MarkerSeverity.Warning]:f(n.MarkerSeverity.Warning,r.HIGH_CONTRAST_DARK),[n.MarkerSeverity.Error]:f(n.MarkerSeverity.Error,r.HIGH_CONTRAST_DARK)},[r.HIGH_CONTRAST_LIGHT]:{[n.MarkerSeverity.Hint]:f(n.MarkerSeverity.Hint,r.HIGH_CONTRAST_LIGHT),[n.MarkerSeverity.Info]:f(n.MarkerSeverity.Info,r.HIGH_CONTRAST_LIGHT),[n.MarkerSeverity.Warning]:f(n.MarkerSeverity.Warning,r.HIGH_CONTRAST_LIGHT),[n.MarkerSeverity.Error]:f(n.MarkerSeverity.Error,r.HIGH_CONTRAST_LIGHT)}}},23368:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkerService=void 0;const n=e(85608),r=e(76003),o=e(26542),l=e(43718),p=e(57517),v=e(9132),m=e(60589),_=e(75465),s=e(93094),g=1e3;let a=class extends v.Themable{get viewReady(){return this.viewReadyDeferred.promise}constructor(){super(),this.viewReadyDeferred=new l.Deferred,this.onMarkerFilterChangedEmitter=new l.Emitter,this.onMarkerFilterChanged=this.onMarkerFilterChangedEmitter.event,this.onResourceOpenEmitter=new l.Emitter,this.onResourceOpen=this.onResourceOpenEmitter.event,this.onResourceCloseEmitter=new l.Emitter,this.onResourceClose=this.onResourceCloseEmitter.event,this.markerViewModel=new _.MarkerViewModel(this,this.labelService)}get contextKey(){return this.markersContextKey}initContextKey(u){this.markersContextKey.initScopedContext(u),this.viewReadyDeferred.resolve()}onEditorGroupOpen(u){const E=u.payload.resource.uri.toString();this.markerManager.onEditorGroupOpen(E),this.onResourceOpenEmitter.fire(E)}onEditorGroupClose(u){const E=u.payload.resource.uri.toString();this.markerManager.onEditorGroupClose(E),this.onResourceCloseEmitter.fire(E)}resolveChildren(u){return u?s.MarkerRoot.is(u)?Array.from(this.markerViewModel.markers.values()).map(d=>new s.MarkerGroupNode(this,d,u)):s.MarkerGroupNode.is(u)?u.model.markers.map(d=>new s.MarkerNode(this,d,u)):[]:[new s.MarkerRoot(this)]}fireFilterChanged(u){this.onMarkerFilterChangedEmitter.fire(u)}getViewModel(){return this.markerViewModel}getThemeType(){return this.themeService.getCurrentThemeSync().type}getManager(){return this.markerManager}getBadge(){const u=this.markerManager.getStats();if(u){const d=u.errors+u.infos+u.warnings;if(d>g)return"1K+";if(d===g)return"1K";if(d>0)return String(d)}}};t.MarkerService=a,n.__decorate([(0,r.Autowired)(o.LabelService),n.__metadata("design:type",o.LabelService)],a.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(l.MarkerManager),n.__metadata("design:type",Object)],a.prototype,"markerManager",void 0),n.__decorate([(0,r.Autowired)(m.MarkersContextKey),n.__metadata("design:type",m.MarkersContextKey)],a.prototype,"markersContextKey",void 0),n.__decorate([(0,l.OnEvent)(p.EditorGroupOpenEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorGroupOpenEvent]),n.__metadata("design:returntype",void 0)],a.prototype,"onEditorGroupOpen",null),n.__decorate([(0,l.OnEvent)(p.EditorGroupCloseEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorGroupCloseEvent]),n.__metadata("design:returntype",void 0)],a.prototype,"onEditorGroupClose",null),t.MarkerService=a=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],a)},15952:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkerPanel=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),p=e(11666),v=n.__importDefault(e(13345)),m=n.__importDefault(e(31773)),_=e(7683),s=e(73073),g=({viewState:u})=>{const[d,E]=(0,r.useState)(),f=(0,l.useInjectable)(s.MarkerModelService);(0,r.useEffect)(()=>{const b=new l.Disposable;return b.addDispose(f.onDidUpdateTreeModel(A=>{E(A)})),f.initTreeModel(),()=>{b.dispose()}},[]);const c=(0,r.useCallback)(b=>{f.handleTreeHandler(b)},[f]),y=(0,r.useCallback)(b=>{const A=(0,r.useCallback)(()=>{f.handleItemClick(b.item)},[f]);return r.default.createElement(_.MarkerNodeRendered,{item:b.item,itemType:b.itemType,decorations:f.decorations.getDecorations(b.item),defaultLeftPadding:8,onClick:A,leftPadding:8})},[d]);return d?r.default.createElement(o.RecycleTree,{height:u.height,itemHeight:_.MARKER_TREE_NODE_HEIGHT,supportDynamicHeights:!0,onReady:c,model:d,placeholder:()=>r.default.createElement(a,null)},y):r.default.createElement("div",{className:v.default.empty},m.default.markerPanelContentEmpty())},a=()=>{const u=(0,l.useInjectable)(p.IMarkerService);return u.getViewModel().hasFilter()?r.default.createElement("div",{className:v.default.empty},m.default.markerPanelFilterContentEmpty(),r.default.createElement("div",{className:v.default.reset,onClick:()=>{u.fireFilterChanged(void 0)}},m.default.markerPanelFilterReset())):r.default.createElement("div",{className:v.default.empty},m.default.markerPanelContentEmpty())},h=({viewState:u})=>{const d=(0,l.useInjectable)(s.MarkerModelService),E=(0,l.useInjectable)(p.IMarkerService),f=(0,r.useRef)(null),c=(0,r.useCallback)(()=>{const{enactiveNodeDecoration:y}=d;y()},[d]);return(0,r.useEffect)(()=>{var y;const b=()=>{d.handleTreeBlur()};return f.current&&E.initContextKey(f.current),(y=f.current)===null||y===void 0||y.addEventListener("blur",b,!0),()=>{var A;(A=f.current)===null||A===void 0||A.removeEventListener("blur",b,!0),d.handleTreeBlur()}},[]),r.default.createElement("div",{className:v.default.markersContent,tabIndex:-1,ref:f,onClick:c},r.default.createElement(g,{viewState:u}))};t.MarkerPanel=h},75465:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkerViewModel=void 0;const n=e(43718),r=e(11666),o=e(14298),{isFalsyOrEmpty:l,mergeSort:p}=n.arrays;function v(_,s){return n.MarkerSeverity.compare(_.severity,s.severity)||(0,n.compareRangesUsingStarts)(_,s)}class m extends n.Disposable{constructor(s,g){super(),this._service=s,this.labelService=g,this.markers=new Map,this.addDispose([this._service.getManager().onMarkerChanged(this._onMarkerChanged,this),this._service.onMarkerFilterChanged(this._onMarkerFilterChanged,this)])}_onMarkerChanged(s){s&&s.forEach(g=>{this.updateMarker(g,this._service.getManager().getMarkers({resource:g,severities:n.MarkerSeverity.Error|n.MarkerSeverity.Warning|n.MarkerSeverity.Info}))})}_onMarkerFilterChanged(s){this.filter=s?new o.Filter(s):void 0;const g=this._service.getManager().getResources();g&&this._onMarkerChanged(g)}updateMarker(s,g){if(l(g))this.markers.delete(s.toString());else{const a=p(g,v),{icon:h,filename:u,longname:d}=this.getUriInfos(s),E=r.MarkerModelBuilder.buildModel(s,h,u,d,a);if(this.filter){const f=this.filter.filterModel(E);f.match?this.markers.set(s,f):this.markers.delete(s)}else this.markers.set(s,E)}}getUriInfos(s){const g=new n.URI(s);return{icon:this.labelService.getIcon(g),filename:this.labelService.getName(g),longname:this.labelService.getLongName(g)}}hasData(){return this.markers.size>0}hasFilter(){return this.filter!==void 0}}t.MarkerViewModel=m},31773:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(41869);class r{}r.markerTitle=()=>(0,n.localize)("markers.title"),r.markerPanelContentEmpty=()=>(0,n.localize)("markers.panel.content.empty"),r.markerPanelFilterInputPlaceholder=()=>(0,n.localize)("markers.filter.placeholder"),r.markerPanelFilterErrors=()=>(0,n.localize)("markers.panel.filter.errors","errors"),r.markerPanelFilterWarnings=()=>(0,n.localize)("markers.panel.filter.warnings","warnings"),r.markerPanelFilterInfos=()=>(0,n.localize)("markers.panel.filter.infos","infos"),r.markerPanelFilterContentEmpty=()=>(0,n.localize)("markers.filter.content.empty"),r.markerPanelFilterReset=()=>(0,n.localize)("markers.filter.reset"),t.default=r},7683:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MARKER_TREE_NODE_HEIGHT=t.MarkerNodeRendered=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),p=e(41869),v=e(93094),m=n.__importDefault(e(45098)),_=(0,o.memo)(({model:E})=>o.default.createElement("div",{className:m.default.title_description},E.longname)),s=(0,o.memo)(({data:E,matches:f,className:c})=>{const y=[];let b=0;return f.forEach(A=>{b<A.start&&y.push(o.default.createElement("span",{key:`highlight-data-${b}-${A.start}`},E.substring(b,A.start))),y.push(o.default.createElement("span",{key:`highlight-data-${A.start}-${A.end}`,className:m.default.highlight},E.substring(A.start,A.end))),b=A.end}),b<E.length&&y.push(o.default.createElement("span",{key:`highlight-data-${b}-${E.length-1}`},E.substring(b))),o.default.createElement("div",{className:c},y)}),g=(0,o.memo)(({marker:E})=>{const f=E.matches&&E.matches.messageMatches;return f?o.default.createElement(s,{data:E.message,matches:f,className:m.default.detail_name}):o.default.createElement("div",{className:m.default.detail_name},E.message)}),a=(0,o.memo)(({data:E,href:f,matches:c,type:y})=>{const b=(0,p.useInjectable)(p.IOpenerService),A=c?o.default.createElement(s,{data:E,matches:c,className:y}):o.default.createElement(o.default.Fragment,null,E);return typeof f<"u"?o.default.createElement("a",{className:m.default.codeHref,rel:"noopener",target:"_blank",onClick:(0,p.withPrevented)(()=>{b.open(new p.URI(f))}),title:E},A):A}),h=(0,o.memo)(({marker:E})=>{const f=E.matches&&E.matches.sourceMatches,c=E.matches&&E.matches.codeMatches;return o.default.createElement("div",{className:m.default.detail_description},o.default.createElement("div",{className:m.default.typeContainer},f?E.source&&o.default.createElement(s,{data:E.source,matches:f,className:m.default.type}):E.source,E.code&&"(",E.code&&o.default.createElement(a,{data:E.code,href:E.codeHref,matches:c,type:m.default.type}),E.code&&")"),o.default.createElement("div",{className:m.default.position},`[Ln ${E.startLineNumber}, Col ${E.startColumn}]`))}),u=(0,o.memo)(({model:E})=>{const f=E.matches&&E.matches.filenameMatches;return f?o.default.createElement(s,{data:E.filename,matches:f,className:m.default.title}):o.default.createElement("div",{className:m.default.title},E.filename)}),d=({item:E,defaultLeftPadding:f=8,leftPadding:c=8,itemType:y,decorations:b,onClick:A})=>{const S=(0,p.useDesignStyles)(m.default.expansion_toggle,"expansion_toggle"),w=(0,o.useCallback)(B=>{B.stopPropagation(),(y===l.TreeNodeType.TreeNode||y===l.TreeNodeType.CompositeTreeNode)&&A(B,E,y)},[A]),T=`${f+(E.depth||0)*(c||0)+(v.MarkerGroupNode.is(E)?0:16)}px`,D={lineHeight:`${t.MARKER_TREE_NODE_HEIGHT}px`,paddingLeft:T},I=(0,o.useCallback)(B=>o.default.createElement("div",{className:(0,r.default)(m.default.icon,v.MarkerGroupNode.is(B)&&B.icon),style:{height:t.MARKER_TREE_NODE_HEIGHT,lineHeight:`${t.MARKER_TREE_NODE_HEIGHT}px`,...!v.MarkerGroupNode.is(B)&&B.iconStyle}}),[]),R=(0,o.useCallback)(B=>v.MarkerGroupNode.is(B)?o.default.createElement(u,{model:B.model}):o.default.createElement(g,{marker:B.marker}),[]),P=(0,o.useCallback)(B=>v.MarkerGroupNode.is(B)?o.default.createElement(_,{model:B.model}):o.default.createElement(h,{marker:B.marker}),[]),O=(0,o.useCallback)(B=>o.default.createElement("div",{className:(0,r.default)(m.default.segment,m.default.tail)},M(B)),[]),M=(0,o.useCallback)(B=>{if(v.MarkerGroupNode.is(B))return o.default.createElement(l.Badge,{className:m.default.status},B.badge)},[]),k=(0,o.useCallback)(B=>o.default.createElement("div",{className:(0,r.default)(m.default.segment,S,(0,p.getIcon)("arrow-right"),{[`${m.default.mod_collapsed}`]:!B.expanded})}),[]),F=(0,o.useCallback)(B=>{if(v.MarkerGroupNode.is(B))return k(B)},[]),L=(0,o.useCallback)(()=>E.tooltip,[E]);return o.default.createElement("div",{key:E.id,onClick:w,title:L(),className:(0,r.default)(m.default.marker_node,b?b.classlist:null),style:D,"data-id":E.id},o.default.createElement("div",{className:m.default.content},F(E),I(E),o.default.createElement("div",{className:m.default.overflow_wrap},R(E),P(E)),O(E)))};t.MarkerNodeRendered=d,t.MARKER_TREE_NODE_HEIGHT=22},73073:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkerModelService=t.MarkerTreeModel=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),p=e(54414),v=e(6287),m=e(93094),_=n.__importDefault(e(45098));let s=class extends o.TreeModel{constructor(h){super(),this.init(h)}};t.MarkerTreeModel=s,t.MarkerTreeModel=s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[m.MarkerRoot])],s);let g=class{constructor(){this.selectedDecoration=new o.Decoration(_.default.mod_selected),this.focusedDecoration=new o.Decoration(_.default.mod_focused),this._selectedNodes=[],this.onDidUpdateTreeModelEmitter=new l.Emitter,this.disposableCollection=new l.DisposableCollection,this._whenReady=new l.Deferred,this.activeNodeDecoration=(h,u=!0)=>{var d;if(this.preContextMenuFocusedNode&&(this.focusedDecoration.removeTarget(this.preContextMenuFocusedNode),this.selectedDecoration.removeTarget(this.preContextMenuFocusedNode),this.preContextMenuFocusedNode=null),h){for(const E of this.selectedDecoration.appliedTargets.keys())this.selectedDecoration.removeTarget(E);for(const E of this.focusedDecoration.appliedTargets.keys())this.focusedDecoration.removeTarget(E);this.selectedDecoration.addTarget(h),this.focusedDecoration.addTarget(h),this._focusedNode=h,this._selectedNodes=[h],u&&((d=this.treeModel)===null||d===void 0||d.dispatchChange())}},this.enactiveNodeDecoration=()=>{var h;this.focusedNode&&(this.focusedDecoration.removeTarget(this.focusedNode),(h=this.treeModel)===null||h===void 0||h.dispatchChange()),this._focusedNode=void 0},this.handleTreeBlur=()=>{this.enactiveNodeDecoration()},this.handleItemClick=h=>{this.activeNodeDecoration(h),m.MarkerGroupNode.is(h)?this.toggleDirectory(h):h.marker&&this.workbenchEditorService.open(new l.URI(h.marker.resource),{disableNavigate:!0,range:{startLineNumber:h.marker.startLineNumber,startColumn:h.marker.startColumn,endLineNumber:h.marker.endLineNumber,endColumn:h.marker.endColumn}})},this.toggleDirectory=async h=>{h.expanded?this.markerTreeHandle.collapseNode(h):this.markerTreeHandle.expandNode(h)},this.isDirtyTree=!1}get whenReady(){return this._whenReady.promise}get flushEventQueuePromise(){return this.refreshDeferred&&this.refreshDeferred.promise}get markerTreeHandle(){return this._markerTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._treeModel}get onDidUpdateTreeModel(){return this.onDidUpdateTreeModelEmitter.event}get focusedNode(){return this._focusedNode}get selectedNodes(){return this._selectedNodes}async initTreeModel(){const h=await this.markerService.resolveChildren();if(!h)return;const u=h[0];u&&(this._treeModel=this.injector.get(s,[u]),await this._treeModel.ensureReady,this.initDecorations(u),this.disposableCollection.push(this.markerService.getManager().onMarkerChanged(()=>{this.refresh()})),this.disposableCollection.push(this.markerService.onMarkerFilterChanged(()=>{this.refresh()})),this.onDidUpdateTreeModelEmitter.fire(this._treeModel),this._whenReady.resolve())}initDecorations(h){return this._decorations=new o.DecorationsManager(h),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations}handleTreeHandler(h){this._markerTreeHandle=h}async refresh(){await this.whenReady,await this.markerService.viewReady,(0,l.runWhenIdle)(()=>{this.markerService.contextKey&&this.markerService.contextKey.markersTreeVisibility.get()?this.treeModel.root.refresh():this.isDirtyTree=!0})}activate(){this.markerService.contextKey.markersTreeVisibility&&(this.markerService.contextKey.markersTreeVisibility.set(!0),this.isDirtyTree&&(this.refresh(),this.isDirtyTree=!1))}deactivate(){this.markerService.contextKey.markersTreeVisibility&&this.markerService.contextKey.markersTreeVisibility.set(!1)}dispose(){this.disposableCollection.dispose()}};t.MarkerModelService=g,n.__decorate([(0,r.Autowired)(v.IMarkerService),n.__metadata("design:type",Function)],g.prototype,"markerService",void 0),n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],g.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),t.MarkerModelService=g=n.__decorate([(0,r.Injectable)()],g)},93094:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkerNode=t.MarkerGroupNode=t.MarkerRoot=void 0;const n=e(97267),r=e(75068);class o extends n.CompositeTreeNode{static is(m){return!!m&&!m.parent}constructor(m){super(m,void 0)}get expanded(){return!0}}t.MarkerRoot=o;class l extends n.CompositeTreeNode{constructor(m,_,s){super(m,s),this.model=_,this.isExpanded=!0}get tooltip(){return this.model.resource}get badge(){return this.model.size()}get icon(){return this.model.icon}dispose(){super.dispose()}}t.MarkerGroupNode=l;class p extends n.TreeNode{constructor(m,_,s){super(m,s,void 0),this.marker=_}get iconStyle(){return r.SeverityIconStyle[this._tree.getThemeType()][this.marker.severity]}get tooltip(){return this.marker.message}}t.MarkerNode=p},11666:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(6287),t),n.__exportStar(e(96835),t)},96835:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResourceGlobMatcher=void 0,t.relativePath=o,t.isEqualAuthority=l,t.hasToIgnoreCase=p;const n=e(43718);class r{constructor(m,_){this.expressionsByRoot=n.TernarySearchTree.forPaths(),this.globalExpression=(0,n.parseGlob)(m);for(const s of _)this.expressionsByRoot.set(s.root.toString(),{root:s.root,expression:(0,n.parseGlob)(s.expression)})}matches(m){const _=this.expressionsByRoot.findSubstr(m.toString());if(_){const s=o(_.root,m);if(s&&_.expression(s))return!0}return!!this.globalExpression(m.codeUri.path)}}t.ResourceGlobMatcher=r;function o(v,m,_=p(v)){if(v.scheme!==m.scheme||!l(v.authority,m.authority))return;if(v.scheme===n.Schemes.file){const a=n.path.relative(v.codeUri.path,m.codeUri.path);return n.isWindows?n.path.toSlashes(a):a}let s=v.codeUri.path||"/";const g=m.codeUri.path||"/";if(_){let a=0;for(const h=Math.min(s.length,g.length);a<h&&!(s.charCodeAt(a)!==g.charCodeAt(a)&&s.charAt(a).toLowerCase()!==g.charAt(a).toLowerCase());a++);s=g.substr(0,a)+s.substr(a)}return n.path.relative(s,g)}function l(v,m){return v===m||n.strings.equalsIgnoreCase(v,m)}function p(v){return v&&v.scheme===n.Schemes.file?!n.isLinux:!0}},6287:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkerModelBuilder=t.MarkerItemBuilder=t.IMarkerService=t.MARKER_CONTAINER_ID=void 0;var n=e(30144);Object.defineProperty(t,"MARKER_CONTAINER_ID",{enumerable:!0,get:function(){return n.MARKER_CONTAINER_ID}}),t.IMarkerService=Symbol("IMarkerService");class r{static buildFilterItem(p,v,m){return{...p,match:v,matches:m}}}t.MarkerItemBuilder=r;class o{static buildModel(p,v,m,_,s){return{match:!0,resource:p,icon:v,filename:m,longname:_,markers:s,size:()=>s.length}}static buildFilterModel(p,v,m,_,s){const g=m||_;return{...p,match:g,markers:v,matches:s,size:()=>{if(g)return v.length;let a=0;return v.forEach(h=>{h.match&&a++}),a}}}}t.MarkerModelBuilder=o},55126:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(11666),t)},64523:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MenuBarModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(19727),p=e(70842),v=e(64267);let m=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[p.MenuBarContribution,{token:v.AbstractMenubarStore,useClass:v.MenubarStore}],this.webProviders=[l.MenuBarWebContribution]}};t.MenuBarModule=m,t.MenuBarModule=m=n.__decorate([(0,r.Injectable)()],m)},19727:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MenuBarWebContribution=void 0;const n=e(85608),r=e(41869),o=e(68456),l=e(98295),p=e(55496);let v=class extends r.Disposable{registerComponent(_){_.register("@opensumi/ide-toolbar-action",{id:"ide-toolbar-action",component:p.ToolbarAction})}registerToolbarActions(_){_.addLocation("menu-right"),_.addLocation("menu-left")}};t.MenuBarWebContribution=v,t.MenuBarWebContribution=v=n.__decorate([(0,l.Domain)(o.ComponentContribution,r.ToolBarActionContribution)],v)},70842:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MenuBarContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(68456),p=e(98295),v=e(64267),m=e(47905);let _=class extends o.Disposable{constructor(){super(),this.addDispose(this.menubarStore.onDidMenuBarChange(g=>{this.menubarStore.registerMenusBarByCompact(g)})),this.addDispose(this.preferenceService.onSpecificPreferenceChange("menubar.compactMode",({newValue:g})=>{g?this.menubarStore.registerMenuItemByCompactMenu():this.menubarStore.unregisterMenusBarByCompact()}))}registerComponent(g){g.register("@opensumi/ide-menu-bar",{id:"ide-menu-bar",component:m.MenuBarMixToolbarAction},{size:27})}};t.MenuBarContribution=_,n.__decorate([(0,r.Autowired)(v.MenubarStore),n.__metadata("design:type",v.MenubarStore)],_.prototype,"menubarStore",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],_.prototype,"preferenceService",void 0),t.MenuBarContribution=_=n.__decorate([(0,p.Domain)(l.ComponentContribution),n.__metadata("design:paramtypes",[])],_)},64267:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MenubarStore=t.AbstractMenubarStore=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=e(76003),l=e(41869),p=e(93899),v=e(28423);class m extends l.Disposable{}t.AbstractMenubarStore=m;let _=class extends l.Disposable{get onDidMenuBarChange(){return this._onDidMenuBarChange.event}constructor(){super(),this.menubarItems=(0,v.observableValue)(this,[]),this.menuItems=new Map,this._onDidMenuBarChange=new l.Emitter,this.handleMenubarClick=(0,r.default)(g=>{this.updateMenuNodes(g)},500,{leading:!0,trailing:!0}),this.build(),this.registerDispose(this.menubarService.onDidMenubarChange(this.handleMenubarChanged,this,this.disposables)),this.registerDispose(this.menubarService.onDidMenuChange(this.handleMenuChanged,this,this.disposables))}getMenubarSubItems(g){return this.menubarService.rebuildMenuNodes(g),this.menubarService.getMenuNodes(g)||[]}updateMenuNodes(g){const a=this.getMenubarSubItems(g);this.menuItems.set(g,a)}build(){const g=this.menubarService.getMenubarItems(),a=this.menubarItems.get();(0,v.transaction)(h=>{a.splice(0,a.length,...g),this.menubarItems.set(a,h)}),g.forEach(({id:h})=>{this.updateMenuNodes(h)}),this._onDidMenuBarChange.fire(a)}handleMenuChanged(g){this.updateMenuNodes(g)}handleMenubarChanged(){const g=this.menubarService.getMenubarItems();(0,v.transaction)(a=>{this.menubarItems.set(g,a)}),this._onDidMenuBarChange.fire(this.menubarItems.get())}unregisterMenusBarByCompact(g=p.MenuId.ActivityBarTopExtra){this.menuRegistry.unregisterMenuItem(g,p.MenuId.MenubarCompactMenu)}registerMenuItemByCompactMenu(g=p.MenuId.ActivityBarTopExtra){this.menuRegistry.registerMenuItem(g,{submenu:p.MenuId.MenubarCompactMenu,iconClass:(0,l.getExternalIcon)("menu"),order:1,group:"navigation"})}registerMenusBarByCompact(g=this.menubarItems.get()){this.menuRegistry.registerMenuItems(p.MenuId.MenubarCompactMenu,g.map(a=>({label:a.label,submenu:a.id})))}};t.MenubarStore=_,n.__decorate([(0,o.Autowired)(p.AbstractMenubarService),n.__metadata("design:type",p.AbstractMenubarService)],_.prototype,"menubarService",void 0),n.__decorate([(0,o.Autowired)(p.IMenuRegistry),n.__metadata("design:type",p.IMenuRegistry)],_.prototype,"menuRegistry",void 0),t.MenubarStore=_=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],_)},47905:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IconMenuBar=t.MenuBarActionWrapper=t.MenuBarMixToolbarAction=t.MenuBar=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),p=e(99613),v=e(40604),m=e(41869),_=e(25918),s=e(1149),g=e(93899),a=e(42912),h=n.__importDefault(e(83747)),u=e(64267),d=({id:y,label:b,focusMode:A,afterMenubarClick:S,afterMenuClick:w})=>{const T=(0,m.useInjectable)(u.MenubarStore),D=(0,m.useInjectable)(a.IIconService),[I,R]=o.default.useState(!1),P=o.default.useCallback(()=>{T.handleMenubarClick(y),R(A?!0:L=>!L),S()},[y]),O=()=>{R(!1),w()},M=o.default.useCallback(()=>{A&&T.handleMenubarClick(y)},[y,A]),k=L=>{R(L)},F=T.menuItems.get(y)||[];return o.default.createElement(p.Dropdown,{className:"kt-menu",transitionName:"",align:{offset:[0,0]},visible:I,onVisibleChange:k,overlay:o.default.createElement(_.MenuActionList,{data:F,afterClick:O,iconService:D}),trigger:A?["click","hover"]:["click"]},o.default.createElement("div",{className:(0,r.default)(h.default.menubar,{[h.default["menu-open"]]:I}),onMouseOver:M,onClick:P},b))},E=()=>{var y;const b=(0,m.useInjectable)(u.MenubarStore),A=(0,m.useAutorun)(b.menubarItems),S=(0,m.useInjectable)(m.ComponentRegistry),w=(0,m.useInjectable)(s.LayoutViewSizeConfig),[T,D]=o.default.useState(!1),I=o.default.useRef(),R=o.default.useCallback(k=>{!I.current&&k.relatedTarget&&(I.current=k.relatedTarget)},[]),P=o.default.useCallback(()=>{I.current&&(I.current.focus(),I.current=void 0),D(!1)},[T]),O=o.default.useCallback(()=>{D(!1)},[T]),M=(y=S.getComponentRegistryInfo("@opensumi/ide-menu-bar-logo"))===null||y===void 0?void 0:y.views[0].component;return o.default.createElement(l.ClickOutside,{className:h.default.menubars,style:{height:w.menubarHeight},mouseEvents:["click","contextmenu"],tabIndex:-1,onFocus:R,onOutsideClick:O},M?o.default.createElement(M,null):o.default.createElement("div",{className:h.default.logoIconEmpty}),A.map(({id:k,label:F})=>o.default.createElement(d,{key:k,id:k,label:F,focusMode:T,afterMenuClick:P,afterMenubarClick:()=>D(L=>!L)})))};t.MenuBar=E,t.MenuBar.displayName="MenuBar";const f=y=>o.default.createElement("div",{className:(0,r.default)(h.default.menubarWrapper,y.className)},o.default.createElement(t.MenuBar,null),o.default.createElement(m.SlotRenderer,{slot:"action",flex:1}));t.MenuBarMixToolbarAction=f,t.MenuBarMixToolbarAction.displayName="MenuBarMixToolbarAction",t.MenuBarActionWrapper=(0,v.Deprecated)(t.MenuBarMixToolbarAction,"please use `MenuBarMixToolbarAction`");const c=()=>{const b=(0,m.useInjectable)(g.AbstractMenuService).createMenu(g.MenuId.IconMenubarContext);return o.default.createElement("div",{className:h.default.icon_menubar_container},o.default.createElement(_.InlineActionBar,{menus:b,type:"icon",className:h.default.menubar_action,isFlattenMenu:!0}))};t.IconMenuBar=c},55496:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ToolbarAction=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),p=n.__importDefault(e(30582)),v=()=>o.default.createElement("div",{className:p.default.toolbarActionsWrapper},o.default.createElement(l.ToolbarLocation,{location:"menu-left",preferences:{noDropDown:!0},className:(0,r.default)(p.default.toolbarActions,p.default.toolbarActionsLeft)}),o.default.createElement(l.ToolbarLocation,{location:"menu-right",className:(0,r.default)(p.default.toolbarActions,p.default.toolbarActionsRight)}));t.ToolbarAction=v},87308:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(58065),t)},72106:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoEnhanceModule=void 0;const n=e(85608),r=e(76003),o=e(41869);let l=class{onDidStart(){}};l=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],l);let p=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[l]}};t.MonacoEnhanceModule=p,t.MonacoEnhanceModule=p=n.__decorate([(0,r.Injectable)()],p)},48327:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PeekViewWidget=void 0;const n=e(41869),r=e(43718),o=e(58065);class l extends o.ZoneWidget{constructor(v,m={}){super(v),this.editor=v,this.options=m,this._onDidClose=new r.Emitter,this.onDidClose=this._onDidClose.event}dispose(){this.isDisposed||(this.isDisposed=!0,super.dispose(),this._onDidClose.fire(this))}_fillContainer(v){this.setCssClass("peekview-widget"),this._headElement=document.createElement("div"),this._headElement.classList.add("head"),this._bodyElement=document.createElement("div"),this._bodyElement.classList.add("body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),v.appendChild(this._headElement),v.appendChild(this._bodyElement)}async _fillHead(v,m){const _=document.createElement("div");_.classList.add("peekview-title"),this.options.supportOnTitleClick&&_.classList.add("clickable"),this._headElement.append(_),this._fillTitleIcon(_),this._primaryHeading=document.createElement("span"),this._primaryHeading.classList.add("filename"),this._secondaryHeading=document.createElement("span"),this._secondaryHeading.classList.add("dirname"),this._metaHeading=document.createElement("span"),this._metaHeading.classList.add("meta"),_.append(this._primaryHeading,this._secondaryHeading,this._metaHeading),this._actionbarElement=document.createElement("div"),this._actionbarElement.classList.add("peekview-actions"),await this._fillActionBarOptions(this._actionbarElement);const s=document.createElement("span");s.className=`action-item ${(0,n.getExternalIcon)("chrome-close")}`;const g=()=>this.dispose();s.addEventListener("click",g),this.addDispose(r.Disposable.create(()=>{s.removeEventListener("click",g)})),this._actionbarElement.append(s),this._headElement.append(this._actionbarElement)}_fillTitleIcon(v){}_onTitleClick(v){}setTitle(v,m){if(this._primaryHeading&&this._secondaryHeading)if(this._primaryHeading.innerText=v,this._primaryHeading.setAttribute("title",v),m)this._secondaryHeading.innerText=m;else for(;this._secondaryHeading.firstChild;)this._secondaryHeading.firstChild.remove()}setMetaTitle(v){this._metaHeading&&(v?(this._metaHeading.innerText=v,this._metaHeading.style.display=""):this._metaHeading.style.display="none")}}t.PeekViewWidget=l},58065:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResizeZoneWidget=t.ZoneWidget=t.OverlayWidgetDelegate=t.ViewZoneDelegate=void 0;const n=e(85608),r=e(41869),o=e(6397),l=n.__importStar(e(20868)),p=e(52416),v=e(34720),m=e(16011),_=e(31324),s=e(43255);class g{constructor(y,b,A,S,w,T,D,I){this.id=(0,r.uuid)(),this.domNode=y,this.afterLineNumber=b,this.afterColumn=A,this.heightInLines=S,this.showInHiddenAreas=D,this.ordinal=I,this._onDomNodeTop=w,this._onComputedHeight=T}onDomNodeTop(y){this._onDomNodeTop(y)}onComputedHeight(y){this._onComputedHeight(y)}}t.ViewZoneDelegate=g;class a extends r.Disposable{constructor(y,b){super(),this.id=y,this.dom=b}getPosition(){return null}getDomNode(){return this.dom}getId(){return this.id}}t.OverlayWidgetDelegate=a,a.id="monaco-enhance-overlay-widget";class h{constructor(y){this._editor=y,this._ruleName=h._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color="rgba(0, 122, 204)",this._height=-1}dispose(){this.hide(),(0,v.removeCSSRulesContainingSelector)(this._ruleName)}set color(y){this._color!==y&&(this._color=y,this._updateStyle())}set height(y){this._height!==y&&(this._height=y,this._updateStyle())}_updateStyle(){(0,v.removeCSSRulesContainingSelector)(this._ruleName),(0,v.createCSSRule)(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: 0px; margin-left: -${this._height}px; width: 0px !important; left: 0px !important;`)}show(y){this._updateStyle(),y.startColumn===1&&(y={...y,startLineNumber:y.endLineNumber,startColumn:2}),this._decorations.set([{range:y,options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:s.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges}}])}hide(){this._decorations.clear()}}h._IdGenerator=new o.IdGenerator(".arrow-decoration-");const u=new p.Color(new p.RGBA(0,122,204)),d={showArrow:!0,showFrame:!0,className:"",frameColor:u,arrowColor:u,keepEditorSelection:!1};class E extends r.Disposable{constructor(y,b){super(),this.editor=y,this.options=b,this._arrow=null,this.width=0,this.left=0,this._resizeSash=null,this._onDomNodeTop=new r.Emitter,this.onDomNodeTop=this._onDomNodeTop.event,this._container=document.createElement("div"),this._listenEvents()}_showImpl(y,b){var A,S,w;const T=y,{endLineNumber:D,endColumn:I}=y,R=document.createElement("div"),P=this.editor.getLayoutInfo(),O=this.editor.getOption(_.EditorOption.lineHeight);if(R.style.overflow="hidden",this.editor.changeViewZones(k=>{var F,L;this._viewZone&&(k.removeZone(this._viewZone.id),this._viewZone=null),this._overlay&&(this.editor.removeOverlayWidget(this._overlay),this._overlay=null),this._container.style.top="-1000px",this._viewZone=new g(R,D,I,b,B=>this._onViewZoneTop(B),B=>this._onViewZoneHeight(B),(F=this.options)===null||F===void 0?void 0:F.showInHiddenAreas,(L=this.options)===null||L===void 0?void 0:L.ordinal),this._viewZone.id=k.addZone(this._viewZone),this._overlay=new a(a.id+this._viewZone.id,this._container),this.editor.addOverlayWidget(this._overlay)}),this._arrow||(this._arrow=new h(this.editor),this.disposables.push(this._arrow)),!((A=this.options)===null||A===void 0)&&A.arrowColor){const k=(w=(S=this.options)===null||S===void 0?void 0:S.arrowColor)===null||w===void 0?void 0:w.toString();this._arrow.color=k}const M=Math.round(O/3);this._arrow.height=M,this._arrow.show(T),this.layout(P)}get currentRange(){return this._current}get currentHeightInLines(){return this._linesCount}show(y,b){this._current=y,this._linesCount=b,this.applyClass(),this._showImpl(y,b)}hideImpl(){var y;this._viewZone&&this.editor.changeViewZones(b=>{this._viewZone&&(b.removeZone(this._viewZone.id),this._viewZone=null)}),this._overlay&&(this.editor.removeOverlayWidget(this._overlay),this._overlay=null),this._container.remove(),(y=this._arrow)===null||y===void 0||y.hide()}hide(){this.hideImpl()}create(){this._fillContainer(this._container),this._initSash(),this.applyStyle(),this._arrow=new h(this.editor),this.disposables.push(this._arrow)}_getLeft(y){return y.minimap&&y.minimap.minimapWidth>0&&y.minimap.minimapLeft===0?y.minimap.minimapWidth:0}_getWidth(y){const b=y.minimap?y.minimap.minimapWidth+5:0;return y.width-b-y.verticalScrollbarWidth}_onViewZoneTop(y){this._container.style.top=`${y}px`,this._onDomNodeTop.fire(y)}_onViewZoneHeight(y){this._container.style.height=`${y}px`,this._resizeSash&&this._resizeSash.layout()}setCssClass(y,b){this._container&&(b&&this._container.classList.remove(b),this._container.classList.add(y))}layout(y){this.left=this._getLeft(y),this.width=this._getWidth(y),this.render()}render(){this._container.style.width=`${this.width}px`,this._container.style.left=`${this.left}px`,this.applyStyle()}_relayout(y){this._viewZone&&this._viewZone.heightInLines!==y&&this.editor.changeViewZones(b=>{this._viewZone&&(this._viewZone.heightInLines=y,b.layoutZone(this._viewZone.id))})}_listenEvents(){this.editor.onDidLayoutChange(y=>{this.layout(y)})}_initSash(){var y;if(this._resizeSash)return;this._resizeSash=new m.Sash(this._container,this,{orientation:m.Orientation.HORIZONTAL}),this.addDispose(this._resizeSash),!((y=this.options)===null||y===void 0)&&y.isResizeable||(this._resizeSash.state=m.SashState.Disabled);let b;this.addDispose(this._resizeSash.onDidStart(A=>{this._viewZone&&(b={startY:A.startY,heightInLines:this._viewZone.heightInLines})})),this.addDispose(this._resizeSash.onDidEnd(()=>{b=void 0})),this.addDispose(this._resizeSash.onDidChange(A=>{if(b){const S=(A.currentY-b.startY)/this.editor.getOption(_.EditorOption.lineHeight),w=S<0?Math.ceil(S):Math.floor(S),T=b.heightInLines+w;T>5&&T<35&&this._relayout(T)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return this._container.style.height===null?0:parseInt(this._container.style.height,10)}dispose(){this.hideImpl(),super.dispose()}}t.ZoneWidget=E;class f extends E{constructor(y,b,A){super(y,A),this.editor=y,this.range=b,this.options=A,this._onChangeZoneWidget=new r.Emitter,this.onChangeZoneWidget=this._onChangeZoneWidget.event,this.onFirstDisplay=r.Event.once(this.onDomNodeTop),this._isShow=!1,this.lineHeight=this.editor.getOption(l.editor.EditorOption.lineHeight),this.addDispose(this.editor.onDidChangeConfiguration(S=>{S.hasChanged(l.editor.EditorOption.lineHeight)&&(this.lineHeight=this.editor.getOption(l.editor.EditorOption.lineHeight),this.wrap&&this.resizeZoneWidget())})),r.Event.once(this.onDomNodeTop)(()=>{window.requestAnimationFrame(()=>{this.resizeZoneWidget()})})}observeContainer(y){this.wrap=y;const b=new IntersectionObserver(S=>{for(const w of S)w.isIntersecting&&this.resizeZoneWidget()}),A=new MutationObserver(S=>{S.forEach(w=>{if(w.type==="childList"){for(const T of Array.from(w.target.childNodes))if(T.nodeType===Node.ELEMENT_NODE&&T.querySelectorAll){const D=T.querySelectorAll("img");D.length&&D.forEach(I=>{const R=new r.DomListener(I,"load",()=>{this.resizeZoneWidget(),R.dispose()});this.addDispose(R)})}}}),this.resizeZoneWidget()});return b.observe(this.wrap),A.observe(this.wrap,{childList:!0,subtree:!0}),{dispose(){b.disconnect(),A.disconnect()}}}resizeZoneWidget(){let y=this.wrap.offsetHeight;if(!y&&this.preWrapperHeight&&(y=this.preWrapperHeight),y){const b=y/this.lineHeight;this._isShow&&this.heightInLines!==b&&(this.heightInLines=b,this.show(),this.preWrapperHeight=y)}}show(){const y=!this.wrap.offsetHeight&&!this.preWrapperHeight;this.resize(),this.fireChangeEvent(),y&&this.resizeZoneWidget()}fireChangeEvent(){this._onChangeZoneWidget.fire(this.range)}resize(){const y=document.activeElement;super.show(this.range,this.heightInLines),y?.focus({preventScroll:!0})}}t.ResizeZoneWidget=f},20303:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(87308),t)},52659:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReactInlineContentWidget=void 0;const n=e(85608),r=n.__importDefault(e(97331)),o=n.__importDefault(e(14041)),l=n.__importDefault(e(25873)),p=e(76003),v=e(41869),m=e(43718),_=n.__importStar(e(33096)),s=e(90052);let g=class extends m.Disposable{get isHidden(){return this._isHidden}constructor(h){super(),this.editor=h,this.allowEditorOverflow=!1,this.suppressMouseDown=!1,this.positionPreference=[s.ContentWidgetPositionPreference.BELOW],this.root=null,this.addDispose((0,m.runWhenIdle)(()=>{this.root=l.default.createRoot(this.getDomNode()),this.root.render(o.default.createElement(v.ConfigProvider,{value:this.appConfig},this.renderView())),this.layoutContentWidget()})),this.addDispose(m.Disposable.create(()=>{this.hide(),this.root&&this.root.unmount()}))}setPositionPreference(h){this.positionPreference=h}setOptions(h){this.options=h}show(h=this.options){h&&(this.disposed||this.options&&this.options.selection&&this.options.selection.equalsRange(h.selection)||(this.setOptions(h),this._isHidden=!1,this.editor.addContentWidget(this)))}hide(){this._isHidden=!0,this.editor.removeContentWidget(this)}resume(){this._isHidden&&(this._isHidden=!1,this.editor.addContentWidget(this))}getId(){return this.id()}layoutContentWidget(){this.editor.layoutContentWidget(this)}getClassName(){return this.getId()}getDomNode(){this.domNode||(this.domNode=document.createElement("div"),requestAnimationFrame(()=>{this.domNode.classList.add(this.getClassName()),this.domNode.style.zIndex=v.StackingLevelStr.Overlay}));const h=(0,r.default)(()=>{requestAnimationFrame(()=>this.layoutContentWidget())},m.FRAME_THREE),u=_.createLayoutEventType(this.id());return this.domNode.addEventListener(u,h),this.addDispose(m.Disposable.create(()=>{this.domNode.removeEventListener(u,h)})),this.domNode}getPosition(){if(!this.options)return null;const{position:h}=this.options;return h?{position:h,preference:this.positionPreference}:null}isOutOfArea(){const u=this.editor.getLayoutInfo().contentLeft,d=this.getMiniMapWidth();return this.editor.getLayoutInfo().width-u-d<270}getMiniMapWidth(){return this.editor.getLayoutInfo().minimap.minimapWidth}getLineHeight(){return this.editor.getOption(_.EditorOption.lineHeight)}};t.ReactInlineContentWidget=g,n.__decorate([(0,p.Autowired)(v.AppConfig),n.__metadata("design:type",Object)],g.prototype,"appConfig",void 0),t.ReactInlineContentWidget=g=n.__decorate([(0,p.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],g)},55218:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ICallHierarchyService=t.CallHierarchyProviderRegistry=void 0;const n=e(40497);t.CallHierarchyProviderRegistry=new n.LanguageFeatureRegistry,t.ICallHierarchyService=Symbol("ICallHierarchyService")},29046:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CodeActionKind=void 0,e(85608).__exportStar(e(81559),t);class r{constructor(l){this.value=l}equals(l){return this.value===l.value}contains(l){return this.equals(l)||this.value===""||l.value.startsWith(this.value+r.sep)}intersects(l){return this.contains(l)||l.contains(this)}append(l){return new r(this.value+r.sep+l)}}t.CodeActionKind=r,r.sep=".",r.QuickFix=new r("quickfix"),r.Refactor=new r("refactor"),r.RefactorExtract=r.Refactor.append("extract"),r.RefactorInline=r.Refactor.append("inline"),r.RefactorMove=r.Refactor.append("move"),r.RefactorRewrite=r.Refactor.append("rewrite"),r.Notebook=new r("notebook"),r.Source=new r("source"),r.SourceOrganizeImports=r.Source.append("organizeImports"),r.SourceFixAll=r.Source.append("fixAll"),r.SurroundWith=r.Refactor.append("surround")},21880:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IMonacoActionRegistry=t.IMonacoCommandsRegistry=t.ICommandServiceToken=t.EditorExtensionsRegistry=t.CommandsRegistry=void 0;var n=e(71827);Object.defineProperty(t,"CommandsRegistry",{enumerable:!0,get:function(){return n.CommandsRegistry}});var r=e(97682);Object.defineProperty(t,"EditorExtensionsRegistry",{enumerable:!0,get:function(){return r.EditorExtensionsRegistry}}),t.ICommandServiceToken=Symbol("ICommandService"),t.IMonacoCommandsRegistry=Symbol("IMonacoCommandsRegistry"),t.IMonacoActionRegistry=Symbol("IMonacoActionRegistry")},61468:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MergeActions=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),p=e(81878),v=e(81175),m=n.__importDefault(e(46843)),_=({uri:s,summary:g,editorType:a,containerClassName:h,onReset:u,onSwitchEditor:d,canNavigate:E,handleNext:f,handlePrev:c,beforeAddons:y,afterAddons:b,isAIResolving:A,onAIResolve:S})=>{const w=(0,v.useInMergeChanges)(s?.toString()||""),T=(0,l.useInjectable)(l.AINativeConfigService),D=(0,o.useCallback)(()=>T.capabilities.supportsConflictResolve,[T]),I=(0,o.useCallback)(()=>{E&&c()},[c,E]),R=(0,o.useCallback)(()=>{E&&f()},[f,E]);return o.default.createElement("div",{className:(0,r.default)(m.default.merge_editor_float_container,h)},o.default.createElement("div",{className:m.default.merge_editor_float_container_info},o.default.createElement("div",{className:m.default.merge_editor_nav_operator},o.default.createElement("div",{className:(0,r.default)(m.default.merge_editor_nav_operator_btn,{[m.default.disabled]:!E}),onClick:I},(0,l.localize)("mergeEditor.conflict.prev")),o.default.createElement("div",{className:m.default["vertical-divider"]}),o.default.createElement("div",{className:(0,r.default)(m.default.merge_editor_nav_operator_btn,{[m.default.disabled]:!E}),onClick:R},(0,l.localize)("mergeEditor.conflict.next"))),o.default.createElement("div",{className:m.default["vertical-divider"]}),o.default.createElement("div",null,g)),o.default.createElement("div",{className:m.default["horizontal-divider"]}),o.default.createElement("div",{className:m.default.merge_editor_float_container_operation_bar},a==="text"&&w&&o.default.createElement(p.Button,{id:"merge.editor.open.3way",className:m.default.merge_conflict_bottom_btn,size:"default",onClick:d,style:{alignSelf:"flex-start"}},o.default.createElement(p.Icon,{icon:"swap"}),o.default.createElement("span",null,(0,l.localize)("mergeEditor.open.3way"))),a==="3way"&&o.default.createElement(p.Button,{id:"merge.editor.open.tradition",className:m.default.merge_conflict_bottom_btn,size:"default",onClick:d},o.default.createElement(p.Icon,{icon:"swap"}),o.default.createElement("span",null,(0,l.localize)("mergeEditor.open.tradition"))),o.default.createElement("div",{style:{flex:1}}),y?o.default.createElement(o.default.Fragment,null,y,o.default.createElement("span",{className:m.default.line_vertical})):null,o.default.createElement(p.Button,{id:"merge.editor.rest",className:m.default.merge_conflict_bottom_btn,size:"default",onClick:u},o.default.createElement(p.Icon,{icon:"discard"}),o.default.createElement("span",null,(0,l.localize)("mergeEditor.reset"))),D()&&o.default.createElement(p.Button,{id:"merge.editor.conflict.resolve.all",size:"default",className:`${m.default.merge_conflict_bottom_btn} ${m.default.magic_btn}`,onClick:S},A?o.default.createElement(o.default.Fragment,null,o.default.createElement(p.Icon,{icon:"circle-pause"}),o.default.createElement("span",null,(0,l.localize)("mergeEditor.conflict.ai.resolve.all.stop"))):o.default.createElement(o.default.Fragment,null,o.default.createElement(p.Icon,{icon:"magic-wand"}),o.default.createElement("span",null,(0,l.localize)("mergeEditor.conflict.ai.resolve.all")))),b?o.default.createElement(o.default.Fragment,null,o.default.createElement("span",{className:m.default.line_vertical}),b):null))};t.MergeActions=_},34712:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(34239),t)},93961:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MappingManagerService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(9514),p=e(89995),v=e(33078),m=e(24093);let _=class extends o.Disposable{constructor(){super(),this.documentMappingTurnLeft=this.injector.get(v.DocumentMapping,[m.EDiffRangeTurn.ORIGIN]),this.documentMappingTurnRight=this.injector.get(v.DocumentMapping,[m.EDiffRangeTurn.MODIFIED]),this.markCompleteFactoryTurnLeft=this.markCompleteFactory(m.EDiffRangeTurn.ORIGIN),this.markCompleteFactoryTurnRight=this.markCompleteFactory(m.EDiffRangeTurn.MODIFIED),this.revokeActionsFactoryTurnLeft=this.revokeActionsFactory(m.EDiffRangeTurn.ORIGIN),this.revokeActionsFactoryTurnRight=this.revokeActionsFactory(m.EDiffRangeTurn.MODIFIED)}revokeActionsFactory(g){const a=g===m.EDiffRangeTurn.ORIGIN?this.documentMappingTurnLeft:this.documentMappingTurnRight;return h=>{const u=a.reverse(h);if(!u)return;u.cancel();const d=a.adjacentComputeRangeMap.get(u.id);d&&d.cancel()}}markCompleteFactory(g){const a=g===m.EDiffRangeTurn.ORIGIN?this.documentMappingTurnLeft:this.documentMappingTurnRight;return(h,u)=>{const d=a.adjacentComputeRangeMap.get(h.id);if(d&&(h.done(u),d.done(u),d.turnDirection===m.ETurnDirection.BOTH)){const E=h.turnDirection===m.ETurnDirection.CURRENT?this.documentMappingTurnRight:this.documentMappingTurnLeft,f=E.reverse(d);if(!f)return;const c=E.adjacentComputeRangeMap.get(f.id);if(!c)return;c.done(u)}}}inputComputeResultRangeMappingTurnLeft(g){this.documentMappingTurnLeft.inputComputeResultRangeMapping(g)}inputComputeResultRangeMappingTurnRight(g){this.documentMappingTurnRight.inputComputeResultRangeMapping(g)}markCompleteTurnLeft(g,a){this.markCompleteFactoryTurnLeft(g,a)}markCompleteTurnRight(g,a){this.markCompleteFactoryTurnRight(g,a)}revokeActionsTurnLeft(g){this.revokeActionsFactoryTurnLeft(g)}revokeActionsTurnRight(g){this.revokeActionsFactoryTurnRight(g)}clearMapping(){this.documentMappingTurnLeft.clear(),this.documentMappingTurnRight.clear()}findNextLineRanges(g){const[a,h]=[this.documentMappingTurnLeft,this.documentMappingTurnRight].map(u=>u.findNextOppositeRange(g));return{[m.EditorViewType.CURRENT]:a,[m.EditorViewType.INCOMING]:h}}findTouchesRanges(g,a=!0){const[h,u]=[this.documentMappingTurnLeft,this.documentMappingTurnRight].map(d=>d.findTouchesRange(g,a));return{[m.EditorViewType.CURRENT]:h,[m.EditorViewType.INCOMING]:u}}findIncludeRanges(g){const[a,h]=[this.documentMappingTurnLeft,this.documentMappingTurnRight].map(u=>u.findIncludeRange(g));return{[m.EditorViewType.CURRENT]:a,[m.EditorViewType.INCOMING]:h}}getAllDiffRanges(){return(0,l.distinct)(this.documentMappingTurnLeft.getModifiedRange().concat(this.documentMappingTurnRight.getOriginalRange()),g=>g.id)}};t.MappingManagerService=_,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],_.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(p.MappingManagerDataStore),n.__metadata("design:type",p.MappingManagerDataStore)],_.prototype,"dataStore",void 0),t.MappingManagerService=_=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],_)},89995:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MappingManagerDataStore=void 0;const n=e(85608),r=e(76003),o=e(41869);let l=class{constructor(){this._onDataChangeEmitter=new o.Emitter,this.onDataChange=this._onDataChangeEmitter.event,this.conflictsTotal=0,this.nonConflictsUnresolvedCount=0,this.conflictsResolvedCount=0,this.nonConflictingChangesResolvedTotal=0,this.nonConflictingChangesResolvedLeft=0,this.nonConflictingChangesResolvedRight=0,this.nonConflictingChangesResolvedBoth=0,this.userManualResolveNonConflicts=!1}get conflictsCount(){return{total:this.conflictsTotal,resolved:this.conflictsResolvedCount,lefted:this.conflictsTotal-this.conflictsResolvedCount,nonConflicts:this.nonConflictsUnresolvedCount}}updateConflictsCount(v){typeof v.total<"u"&&(this.conflictsTotal=v.total),typeof v.resolved<"u"&&(this.conflictsResolvedCount=v.resolved),typeof v.nonConflicts<"u"&&(this.nonConflictsUnresolvedCount=v.nonConflicts)}get nonConflictingChangesResolvedCount(){return{total:this.nonConflictingChangesResolvedTotal,left:this.nonConflictingChangesResolvedLeft,right:this.nonConflictingChangesResolvedRight,both:this.nonConflictingChangesResolvedBoth,userManualResolveNonConflicts:this.userManualResolveNonConflicts}}updateNonConflictingChangesResolvedCount(v){typeof v.total<"u"&&(this.nonConflictingChangesResolvedTotal=v.total),typeof v.left<"u"&&(this.nonConflictingChangesResolvedLeft=v.left),typeof v.right<"u"&&(this.nonConflictingChangesResolvedRight=v.right),typeof v.both<"u"&&(this.nonConflictingChangesResolvedBoth=v.both),typeof v.userManualResolveNonConflicts<"u"&&(this.userManualResolveNonConflicts=v.userManualResolveNonConflicts)}emitChange(){this._onDataChangeEmitter.fire()}canNavigate(){return this.conflictsCount.lefted>0}summary(){const v=this.conflictsCount,m=this.nonConflictingChangesResolvedCount,s=v.lefted===0&&v.resolved===v.total?(0,o.localize)("merge-conflicts.conflicts.all-resolved"):(0,o.formatLocalize)("merge-conflicts.conflicts.partial-resolved",v.resolved,v.lefted);let g=(0,o.localize)("merge-conflicts.merge.type.auto");m.userManualResolveNonConflicts&&(g=(0,o.localize)("merge-conflicts.merge.type.manual"));const a=[];if(m.total>0){a.push((0,o.formatLocalize)("merge-conflicts.non-conflicts.progress",m.total,g));const d=[];if(m.left>0&&d.push((0,o.formatLocalize)("merge-conflicts.non-conflicts.from.left",m.left)),m.right>0&&d.push((0,o.formatLocalize)("merge-conflicts.non-conflicts.from.right",m.right)),m.both>0&&d.push((0,o.formatLocalize)("merge-conflicts.non-conflicts.from.base",m.both)),d.length>0){const E=d.join("\uFF1B");a.push(` (${E})`)}}const h=a.join("");return[(0,o.formatLocalize)("merge-conflicts.conflicts.summary",v.total,s),v.nonConflicts>0?(0,o.formatLocalize)("merge-conflicts.non-conflicts.summary",v.nonConflicts):"",h].filter(Boolean).join(" | ")}};t.MappingManagerDataStore=l,t.MappingManagerDataStore=l=n.__decorate([(0,r.Injectable)()],l)},36885:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MergeEditorWidget=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(25873)),l=e(76003),p=e(41869),v=e(43718),m=e(96177),_=e(24093),s=e(13914);let g=0,a=class extends v.Disposable{constructor(u,d,E){super(),this.container=u,this.options=d,this.viewStateMap=new Map,this._id=++g,this.layout(),this.addDispose(this.mergeEditorService.onRestoreState(f=>{if(f){const c=f.toString();this.viewStateMap.delete(c),this.outputUri=void 0;const y=this.mergeEditorService.getNutrition();if(y){const{ancestor:b}=y,{baseContent:A,textModel:S}=b;S.setValue(A);const w=this.getResultEditor().getModel();w&&w.setValue(A)}}}))}getSelection(){return null}getSelections(){return null}async open(u){const{ancestor:d,input1:E,input2:f,output:c}=u;this.mergeEditorService.setNutritionAndLaunch(u),this.saveViewState(this.outputUri),this.outputUri=c.uri;const y=this.outputUri.toString();if(this.setModel({ours:E.textModel,result:d.textModel,theirs:f.textModel}),this.viewStateMap.has(y)){const b=this.viewStateMap.get(y);this.restoreViewState(b);const{turnLeft:A,turnRight:S}=b;await this.mergeEditorService.compare(A,S)}else await this.mergeEditorService.compare();return this.updateOptions(this.options),Promise.resolve()}getOursEditor(){return this.mergeEditorService.getCurrentEditor()}getResultEditor(){return this.mergeEditorService.getResultEditor()}getTheirsEditor(){return this.mergeEditorService.getIncomingEditor()}getCodeEditorCollect(){return[]}onDidDispose(u){return this.onDispose(u)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return"MERGE_EDITOR_DIFF"}updateOptions(u){this.mergeEditorService.updateOptions(u)}onVisible(){}onHide(){}layout(u){o.default.createRoot(this.container).render(r.default.createElement(p.ConfigProvider,{value:this.configContext},r.default.createElement(s.Grid,null)))}focus(){}hasTextFocus(){return!1}getSupportedActions(){return[]}saveViewState(u){if(!u)return null;const d=u.toString();return this.viewStateMap.set(d,{[_.EditorViewType.CURRENT]:this.getOursEditor().saveViewState(),[_.EditorViewType.RESULT]:this.getResultEditor().saveViewState(),[_.EditorViewType.INCOMING]:this.getTheirsEditor().saveViewState(),turnLeft:this.mergeEditorService.getTurnLeftRangeMapping(),turnRight:this.mergeEditorService.getTurnRightRangeMapping()}),null}restoreViewState(u){const{[_.EditorViewType.CURRENT]:d,[_.EditorViewType.RESULT]:E,[_.EditorViewType.INCOMING]:f}=u;this.getOursEditor().restoreViewState(d),this.getResultEditor().restoreViewState(E),this.getTheirsEditor().restoreViewState(f)}getVisibleColumnFromPosition(u){return 1}getStatusbarColumn(u){return 1}getPosition(){return null}setPosition(u,d){}revealLine(u,d){}revealLineInCenter(u,d){}revealLineInCenterIfOutsideViewport(u,d){}revealLineNearTop(u,d){}revealPosition(u,d){}revealPositionInCenter(u,d){}revealPositionInCenterIfOutsideViewport(u,d){}revealPositionNearTop(u,d){}setSelection(u,d){}setSelections(u,d){}revealLines(u,d,E){}revealLinesInCenter(u,d,E){}revealLinesInCenterIfOutsideViewport(u,d,E){}revealLinesNearTop(u,d,E){}revealRange(u,d){}revealRangeInCenter(u,d){}revealRangeAtTop(u,d){}revealRangeInCenterIfOutsideViewport(u,d){}revealRangeNearTop(u,d){}revealRangeNearTopIfOutsideViewport(u,d){}trigger(u,d,E){}getModel(){return null}setModel(u){const d=u;this.getOursEditor().setModel(d.ours),this.getResultEditor().setModel(d.result),this.getTheirsEditor().setModel(d.theirs)}createDecorationsCollection(u){throw Error("Method not implemented.")}changeDecorations(u){}};t.MergeEditorWidget=a,n.__decorate([(0,l.Autowired)(p.AppConfig),n.__metadata("design:type",Object)],a.prototype,"configContext",void 0),n.__decorate([(0,l.Autowired)(m.MergeEditorService),n.__metadata("design:type",m.MergeEditorService)],a.prototype,"mergeEditorService",void 0),t.MergeEditorWidget=a=n.__decorate([(0,l.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[HTMLElement,Object,Object])],a)},96177:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MergeEditorService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(38070),p=e(81878),v=e(43718),m=e(27833),_=e(14951),s=e(72665),g=e(93961),a=e(38889),h=e(24093),u=e(66245),d=e(51472),E=e(66557),f=e(23600),c=e(13744),y=e(22883);let b=class extends o.Disposable{constructor(){super(),this.isCancelAllAIResolveConflict=!1,this._onDidInputNutrition=new o.Emitter,this.onDidInputNutrition=this._onDidInputNutrition.event,this._onDidMount=new o.Emitter,this.onDidMount=this._onDidMount.event,this._onRestoreState=new o.Emitter,this.onRestoreState=this._onRestoreState.event,this._onHasIntelligentLoadingChange=new o.Emitter,this.onHasIntelligentLoadingChange=this._onHasIntelligentLoadingChange.event,this.loadingDispose=new o.Disposable,this.computerDiffModel=new a.ComputerDiffModel,this.scrollSynchronizer=new c.ScrollSynchronizer,this.stickinessConnectManager=new y.StickinessConnectManager,this.actionsManager=this.injector.get(u.ActionsManager,[this.mappingManagerService,this.mergeConflictReportService])}initListenEvent(){this.addDispose(this.resultView.onDidChangeContent(()=>{this.resultView.updateDecorations().updateActions(),this.currentView.launchChange(),this.incomingView.launchChange()}))}listenIntelligentLoadingChange(){this.loadingDispose.dispose();let S=!1;this.loadingDispose.addDispose(this.resultView.onChangeRangeIntelligentState(w=>{if(w.getIntelligentStateModel().isLoading){this._onHasIntelligentLoadingChange.fire(!0),S=!0;return}(0,v.runWhenIdle)(()=>{const D=this.mappingManagerService.getAllDiffRanges().filter(I=>I.isConflictPoint);S&&D.every(I=>!I.getIntelligentStateModel().isLoading)&&(this._onHasIntelligentLoadingChange.fire(!1),this.loadingDispose.dispose())},1)}))}setNutritionAndLaunch(S){this.nutrition=S,this._onDidInputNutrition.fire(S)}getNutrition(){return this.nutrition}instantiationCodeEditor(S,w,T){this.currentView&&this.resultView&&this.incomingView||(this.currentView=this.injector.get(d.CurrentCodeEditor,[S,this.monacoService,this.injector]),this.resultView=this.injector.get(f.ResultCodeEditor,[w,this.monacoService,this.injector]),this.incomingView=this.injector.get(E.IncomingCodeEditor,[T,this.monacoService,this.injector]),this.scrollSynchronizer.mount(this.currentView,this.resultView,this.incomingView),this.stickinessConnectManager.mount(this.currentView,this.resultView,this.incomingView),this.actionsManager.mount(this.currentView,this.resultView,this.incomingView),this._onDidMount.fire({currentView:this.currentView,resultView:this.resultView,incomingView:this.incomingView}),this.initListenEvent())}dispose(){super.dispose(),this.currentView.dispose(),this.resultView.dispose(),this.incomingView.dispose(),this.scrollSynchronizer.dispose(),this.stickinessConnectManager.dispose(),this.actionsManager.dispose(),this.loadingDispose.dispose(),this.mergeConflictReportService.dispose()}acceptLeft(S=!1,w){this.mappingManagerService.documentMappingTurnLeft.getOriginalRange().filter(I=>I.isComplete===!1).filter(I=>S&&I.isConflictPoint?null:I).forEach(I=>{if(I.isMerge){const R=this.mappingManagerService.documentMappingTurnLeft.adjacentComputeRangeMap.get(I.id);if(R&&R.isComplete){this.currentView.launchConflictActionsEvent({range:I,action:h.APPEND_ACTIONS,reason:w});return}}this.currentView.launchConflictActionsEvent({range:I,action:h.ACCEPT_CURRENT_ACTIONS,reason:w})})}acceptRight(S=!1,w){this.mappingManagerService.documentMappingTurnRight.getModifiedRange().filter(I=>I.isComplete===!1).filter(I=>S&&I.isConflictPoint?null:I).forEach(I=>{if(I.isMerge){const R=this.mappingManagerService.documentMappingTurnRight.adjacentComputeRangeMap.get(I.id);if(R&&R.isComplete){this.currentView.launchConflictActionsEvent({range:I,action:h.APPEND_ACTIONS,reason:w});return}}this.incomingView.launchConflictActionsEvent({range:I,action:h.ACCEPT_CURRENT_ACTIONS,reason:w})})}async accept(){const S=(0,o.localize)("mergeEditor.conflict.action.apply.confirm.continue"),w=(0,o.localize)("mergeEditor.conflict.action.apply.confirm.complete"),T=async()=>{if(!this.nutrition)return;const{output:R}=this.nutrition,{uri:P}=R,O=await this.fileServiceClient.getFileStat(P.toString(),!1);if(!O)return;const M=this.resultView.getModel(),k=this.mappingManagerService.getAllDiffRanges(),F=k.filter(W=>W.getIntelligentStateModel().isComplete===!0).length;let L=0;k.filter(W=>W.isConflictPoint&&W.getIntelligentStateModel().isComplete).forEach(W=>{const G=W.getIntelligentStateModel().answerCode,$=M.getValueInRange(W.toRange())||"";G.trim()===$.trim()&&(L+=1)}),this.mergeConflictReportService.report(this.resultView.getUri(),{useAiConflictPointNum:F,receiveNum:L});const B=this.resultView.getEditor().getValue();await this.fileServiceClient.setContent(O,B),this.fireRestoreState(P),await this.commandService.executeCommand(o.EDITOR_COMMANDS.CLOSE.id);const U=await this.commandService.executeCommand(o.SCM_COMMANDS.GetSCMResource.id,P);U&&await this.commandService.executeCommand(m.GitCommands.Stage,U)},{completeCount:D,shouldCount:I}=this.resultView.completeSituation();if(I!==D){const R=await this.dialogService.info((0,o.localize)("mergeEditor.conflict.action.apply.confirm.title"),[S,w]);return R===S?!1:(R===w&&await T(),!0)}else return await T(),!0}async stopAllAIResolveConflict(){this.isCancelAllAIResolveConflict=!0,this.resultView.cancelRequestToken(),this.resultView.hideStopWidget()}async handleAIResolveConflict(){this.mergeConflictReportService.reportIncrementNum(this.resultView.getUri(),"clickAllNum"),this.listenIntelligentLoadingChange(),(0,v.runWhenIdle)(()=>{this.acceptLeft(!0,h.ECompleteReason.AutoResolvedNonConflictBeforeRunAI)},0),(0,v.runWhenIdle)(()=>{this.acceptRight(!0,h.ECompleteReason.AutoResolvedNonConflictBeforeRunAI)},1),(0,v.runWhenIdle)(async()=>{this.isCancelAllAIResolveConflict=!1;const w=this.mappingManagerService.getAllDiffRanges().filter(I=>I.isConflictPoint&&!I.getIntelligentStateModel().isLoading);let T=0,D=w.length;for await(const I of w){const R=this.resultView.getFlushRange(I)||I,P=await this.actionsManager.handleAIConflictResolve(R,{isRegenerate:!1});if(this.isCancelAllAIResolveConflict){this.isCancelAllAIResolveConflict=!1;return}P&&(P.isCancel&&(D-=1),P.isSuccess&&(T+=1))}T!==D&&p.message.warning((0,v.formatLocalize)("aiNative.resolve.conflict.message.not.processed.yet",T,D-T))},2)}fireRestoreState(S){this._onRestoreState.fire(S)}getCurrentEditor(){return this.currentView.getEditor()}getResultEditor(){return this.resultView.getEditor()}getIncomingEditor(){return this.incomingView.getEditor()}getTurnLeftRangeMapping(){return this.mappingManagerService.documentMappingTurnLeft.getMetaLineRangeMapping()}getTurnRightRangeMapping(){return this.mappingManagerService.documentMappingTurnRight.getMetaLineRangeMapping()}updateOptions(S){this.currentView.updateOptions(S),this.incomingView.updateOptions(S),this.resultView.updateOptions(S)}async compare(S=[],w=[]){this.mappingManagerService.clearMapping();let T=S,D=w;if(S.length===0&&w.length===0){this.resultView.reset();const[R,P]=await Promise.all([this.computerDiffModel.computeDiff(this.currentView.getModel(),this.resultView.getModel()),this.computerDiffModel.computeDiff(this.resultView.getModel(),this.incomingView.getModel())]);T=R.changes,D=P.changes}this.currentView.inputDiffComputingResult(T),this.incomingView.inputDiffComputingResult(D),this.resultView.inputDiffComputingResult(),this.preferenceService.getValid("mergeEditor.autoApplyNonConflictChanges",!1)&&(this.acceptLeft(!0,h.ECompleteReason.AutoResolvedNonConflict),this.acceptRight(!0,h.ECompleteReason.AutoResolvedNonConflict)),this.currentView.updateDecorations().updateActions(),this.incomingView.updateDecorations().updateActions(),this.resultView.updateDecorations().updateActions()}};t.MergeEditorService=b,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],b.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(o.MonacoService),n.__metadata("design:type",o.MonacoService)],b.prototype,"monacoService",void 0),n.__decorate([(0,r.Autowired)(g.MappingManagerService),n.__metadata("design:type",g.MappingManagerService)],b.prototype,"mappingManagerService",void 0),n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",Object)],b.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(s.IDialogService),n.__metadata("design:type",Object)],b.prototype,"dialogService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],b.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(l.MergeConflictReportService),n.__metadata("design:type",l.MergeConflictReportService)],b.prototype,"mergeConflictReportService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],b.prototype,"preferenceService",void 0),t.MergeEditorService=b=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],b)},38889:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ComputerDiffModel=void 0;const n=e(46739),r=e(28240),o=e(16781),l=e(2253),p=e(96178),v=e(75526);class m{constructor(){this.editorWorkerService=o.StandaloneServices.get(r.IEditorWorkerService)}convertDiffResult(s){return{identical:s.identical,quitEarly:s.quitEarly,moves:[],changes:s.changes.map(g=>{var a;return new l.DetailedLineRangeMapping(new v.LineRange(g.original.startLineNumber,g.original.endLineNumberExclusive),new v.LineRange(g.modified.startLineNumber,g.modified.endLineNumberExclusive),(a=g.innerChanges)===null||a===void 0?void 0:a.map(h=>new n.RangeMapping(new p.InnerRange(h.originalRange.startLineNumber,h.originalRange.startColumn,h.originalRange.endLineNumber,h.originalRange.endColumn),new p.InnerRange(h.modifiedRange.startLineNumber,h.modifiedRange.startColumn,h.modifiedRange.endLineNumber,h.modifiedRange.endColumn))))})}}async computeDiff(s,g){const a=await this.editorWorkerService.computeDiff(s.uri,g.uri,{ignoreTrimWhitespace:!1,maxComputationTimeMs:0,computeMoves:!1},"advanced"),h={quitEarly:!1,identical:!1,changes:[],moves:[]};return s.isDisposed()||g.isDisposed()?h:a?this.convertDiffResult(a):h}}t.ComputerDiffModel=m},91376:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConflictActions=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(24347),p=e(66076);let v=class extends o.Disposable{get editor(){return this.codeEditor.getEditor()}constructor(_){super(),this.codeEditor=_,this.deltaDecoration=[],this.actionsCollect=new Map}createActionDecoration(_){const{range:s}=_;return{id:"",editorDecoration:{range:{startLineNumber:s.startLineNumber,startColumn:0,endLineNumber:s.startLineNumber,endColumn:0},options:l.ModelDecorationOptions.register({description:s.id,..._.decorationOptions})}}}dispose(){super.dispose(),this.actionsCollect.clear()}clearDecorations(){this.editor.changeDecorations(_=>{for(const s of this.deltaDecoration)_.removeDecoration(s.id);this.deltaDecoration=[]})}clearDecorationsById(_){this.editor.changeDecorations(s=>{_&&(s.removeDecoration(_),this.deltaDecoration=this.deltaDecoration.filter(g=>g.id!==_))})}setActions(_){const s=_.map(g=>{const{range:a}=g;return this.actionsCollect.set(a.id,g),this.createActionDecoration(g)});this.editor.changeDecorations(g=>{g.deltaDecorations(this.deltaDecoration.map(a=>a.id),s.map(a=>a.editorDecoration)).forEach((a,h)=>s[h].id=a),this.deltaDecoration=s})}clearActions(_){if(this.actionsCollect.has(_)){const s=this.actionsCollect.get(_),g=this.deltaDecoration.find(a=>a.editorDecoration.options.description===s.range.id);g&&this.clearDecorationsById(g.id),this.actionsCollect.delete(_)}}updateActions(_){this.clearDecorations(),this.setActions(_)}getActions(){return this.actionsCollect.values()}getAction(_){return this.actionsCollect.get(_)}};t.ConflictActions=v,t.ConflictActions=v=n.__decorate([(0,r.Injectable)({multiple:!1}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[p.BaseCodeEditor])],v)},98025:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MergeEditorDecorations=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(43255),p=e(24347),v=e(24093),m=e(66076),_=e(31775);let s=class extends o.Disposable{get editor(){return this.codeEditor.getEditor()}constructor(a,h){super(),this.codeEditor=a,this.editorViewType=h,this.deltaDecoration=[],this.lineWidgetSet=new Set,this._onDidChangeLineWidget=new o.Emitter,this.onDidChangeLineWidget=this._onDidChangeLineWidget.event,this._onDidChangeDecorations=new o.Emitter,this.onDidChangeDecorations=this._onDidChangeDecorations.event,this.initListenEvent()}initListenEvent(){this.addDispose(o.Event.any(this.editor.onDidChangeModelDecorations,this.onDidChangeLineWidget)(()=>{this.launchChange()}))}launchChange(){this._onDidChangeDecorations.fire(this)}createLineDecoration(a){const h=a.startLineNumber,d=Math.max(a.startLineNumber,a.endLineNumberExclusive-1)-h+1,E=p.ModelDecorationOptions.register({description:a.id,className:v.DECORATIONS_CLASSNAME.combine(v.DECORATIONS_CLASSNAME.diff_line_background,v.DECORATIONS_CLASSNAME.range_type[a.type]),isWholeLine:!0,stickiness:l.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges});return Array.from({length:d}).map((f,c)=>{let y=" ";const b=` ${v.DECORATIONS_CLASSNAME.conflict_wrap} `;d!==1&&(y+=c===0?v.DECORATIONS_CLASSNAME.stretch_bottom:c===d-1?v.DECORATIONS_CLASSNAME.stretch_top:v.DECORATIONS_CLASSNAME.combine(v.DECORATIONS_CLASSNAME.stretch_top,v.DECORATIONS_CLASSNAME.stretch_bottom)),a.isComplete&&(y+=b);const A={...E,...this.codeEditor.getMonacoDecorationOptions(E,a)};return{id:"",editorDecoration:{range:{startLineNumber:h+c,startColumn:0,endLineNumber:h+c,endColumn:Number.MAX_SAFE_INTEGER},options:{...A,className:(A.className||"")+y,marginClassName:(A.marginClassName||"")+y,linesDecorationsClassName:(A.linesDecorationsClassName||"")+y}}}})}createInnerCharDecoration(a){return{id:"",editorDecoration:{range:a,options:p.ModelDecorationOptions.register({description:a.toString(),className:v.DECORATIONS_CLASSNAME.combine(v.DECORATIONS_CLASSNAME.diff_inner_char_background,a.type),isWholeLine:!1})}}}createGuideLineWidget(a){const h=new _.GuidelineWidget(this.editor);return h.create(),a.isComplete&&h.addClassName(v.DECORATIONS_CLASSNAME.dashed),h.addClassName(v.DECORATIONS_CLASSNAME.range_type[a.type]).showByLine(Math.max(0,Math.max(0,a.startLineNumber-1))),h}setDecorations(a,h){this.editor.changeDecorations(u=>{const d=[];for(const E of a)if(E.isEmpty){const f=this.createGuideLineWidget(E);this.lineWidgetSet.add(f),this._onDidChangeLineWidget.fire()}else d.push(...this.createLineDecoration(E));for(const E of h)for(const f of E)f.isEmpty()||d.push(this.createInnerCharDecoration(f));d.forEach(E=>{E.id=u.addDecoration(E.editorDecoration.range,E.editorDecoration.options)}),this.deltaDecoration=d})}cleanUpLineWidget(a){a.forEach(h=>{h.hide()}),a.clear()}clearDecorations(){return this.editor.changeDecorations(a=>{for(const h of this.deltaDecoration)a.removeDecoration(h.id);this.deltaDecoration=[]}),this.cleanUpLineWidget(this.lineWidgetSet),this}updateDecorations(a,h){return this.clearDecorations(),this.render(a,h),this}getDecorations(){return this.deltaDecoration}getLineWidgets(){return Array.from(this.lineWidgetSet.keys())}render(a,h){this.setDecorations(a,h)}dispose(){super.dispose(),this.lineWidgetSet.forEach(a=>a.dispose())}};t.MergeEditorDecorations=s,t.MergeEditorDecorations=s=n.__decorate([(0,r.Injectable)({multiple:!1}),n.__param(0,(0,r.Optional)()),n.__param(1,(0,r.Optional)()),n.__metadata("design:paramtypes",[m.BaseCodeEditor,String])],s)},33078:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentMapping=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(2253),p=e(24093);let v=class extends o.Disposable{constructor(_){super(),this.diffRangeTurn=_,this.adjacentComputeRangeMap=new Map,this.computeRangeMap=new Map}ensureSort(_){return Array.from(_).sort((s,g)=>s.startLineNumber-g.startLineNumber)}getMetaLineRangeMapping(){const _=[];return this.computeRangeMap.forEach(s=>{this.diffRangeTurn===p.EDiffRangeTurn.ORIGIN?_.push(new l.DetailedLineRangeMapping(s,this.adjacentComputeRangeMap.get(s.id),[])):this.diffRangeTurn===p.EDiffRangeTurn.MODIFIED&&_.push(new l.DetailedLineRangeMapping(this.adjacentComputeRangeMap.get(s.id),s,[]))}),_}getOriginalRange(){return this.ensureSort(this.diffRangeTurn===p.EDiffRangeTurn.ORIGIN?this.computeRangeMap.values():this.adjacentComputeRangeMap.values())}getModifiedRange(){return this.ensureSort(this.diffRangeTurn===p.EDiffRangeTurn.ORIGIN?this.adjacentComputeRangeMap.values():this.computeRangeMap.values())}reverse(_){const s=this.adjacentComputeRangeMap.entries();for(const g of s){const[a,h]=g;if(h.id===_.id&&this.computeRangeMap.has(a))return this.computeRangeMap.get(a)}}inputComputeResultRangeMapping(_){switch(this.diffRangeTurn){case p.EDiffRangeTurn.ORIGIN:_.forEach(({modified:s,original:g})=>{this.addRange(g,s)});break;case p.EDiffRangeTurn.MODIFIED:_.forEach(({modified:s,original:g})=>{this.addRange(s,g)});break}}deltaAdjacentQueueAfter(_,s,g=!1){const a=this.adjacentComputeRangeMap.get(_.id);if(a)for(const[h,u]of this.adjacentComputeRangeMap.entries())u.isAfter(a)?this.adjacentComputeRangeMap.set(h,u.delta(s)):g&&u.id===a.id&&this.adjacentComputeRangeMap.set(h,u.delta(s))}deltaEndAdjacentQueue(_,s){for(const[g,a]of this.adjacentComputeRangeMap.entries())a.id===_.id?this.adjacentComputeRangeMap.set(g,_.deltaEnd(s)):a.isAfter(_)&&this.adjacentComputeRangeMap.set(g,a.delta(s))}clear(){this.computeRangeMap.clear(),this.adjacentComputeRangeMap.clear()}deleteRange(_){this.computeRangeMap.delete(_.id),this.adjacentComputeRangeMap.delete(_.id)}addRange(_,s){this.computeRangeMap.set(_.id,_),this.adjacentComputeRangeMap.set(_.id,s)}findNextOppositeRange(_){const s=this.ensureSort(this.adjacentComputeRangeMap.values());for(const g of s)if(g.id!==_.id&&g.isAfter(_))return g}findIncludeRange(_){const s=this.ensureSort(this.adjacentComputeRangeMap.values());for(const g of s)if(g.isInclude(_))return g}findTouchesRange(_,s=!0){const g=this.ensureSort(this.adjacentComputeRangeMap.values());for(const a of g)if(s?a.isTouches(_)||a.isContact(_):a.isTouches(_)&&!a.isContact(_))return a}};t.DocumentMapping=v,t.DocumentMapping=v=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[String])],v)},96178:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InnerRange=void 0;const n=e(44781);class r extends n.Range{get isComplete(){return this._isComplete}get completeReason(){return this._completeReason}get turnDirection(){return this._turnDirection}static fromPositions(l,p=l){return new r(l.lineNumber,l.column,p.lineNumber,p.column)}setTurnDirection(l){return this._turnDirection=l,this}done(l){return this._isComplete=!0,this._completeReason=l,this}cancel(){return this._isComplete=!1,this._completeReason=void 0,this}get type(){return this._type}constructor(l,p,v,m){super(l,p,v,m),this._type="insert"}setType(l){return this._type=l,this}}t.InnerRange=r},75526:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LineRange=void 0;const n=e(43718),r=e(52451),o=e(88354),l=e(24093),p=e(96178);class v{constructor(){this._isLoading=!1,this._isComplete=!1,this._answerCode=""}setAnswerCode(g){return this._answerCode=g,this}setLoading(g){return this._isLoading=g,this}setIsComplete(g){return this._isComplete=g,this}get answerCode(){return this._answerCode}get isLoading(){return this._isLoading}get isComplete(){return this._isComplete}setAll(g,a=!0){return a?(this.reset(),this.setIsComplete(!!g.isComplete).setLoading(!!g.isLoading).setAnswerCode(g.answerCode||"")):(g.isComplete!==void 0&&this.setIsComplete(!!g.isComplete),g.isLoading!==void 0&&this.setLoading(!!g.isLoading),g.answerCode!==void 0&&this.setAnswerCode(g.answerCode)),this}reset(){this.setLoading(!1),this.setIsComplete(!1),this.setAnswerCode("")}}class m{constructor(){this.metaRanges=[]}get isMerge(){return this.metaRanges.length>0}get isAllowCombination(){const g=this.metaRanges.length;if(g<=1)return!1;let a=0;for(let h=0;h<g;h++){const u=this.metaRanges[a],d=this.metaRanges[h];if(u.id!==d.id){if(!d.isContact(u))return!1;a+=1}}return!0}add(g){return this.metaRanges.push(g),this}reset(){return this.metaRanges=[],this}has(g){return this.metaRanges.some(a=>a.id===g.id)}getMetaRanges(){return this.metaRanges}}class _ extends r.LineRange{static fromPositions(g,a=g){return new _(g,a)}get id(){return this._id}get type(){return this._type}get isComplete(){return this._isComplete}get completeReason(){return this._completeReason}get turnDirection(){return this._turnDirection}get isMerge(){return this.mergeStateModel.isMerge}get isAllowCombination(){return this.mergeStateModel.isAllowCombination}get isConflictPoint(){return this.isMerge&&this.type==="modify"}constructor(g,a){super(g,a),this._isComplete=!1,this._id=(0,n.uuid)(6),this.mergeStateModel=new m,this.intelligentStateModel=new v}setId(g){return this._id=g,this}setTurnDirection(g){return this._turnDirection=g,this}done(g){return this._isComplete=!0,this._completeReason=g,this}cancel(){return this._isComplete=!1,this._completeReason=void 0,this}setMergeStateModel(g){return this.mergeStateModel=g,this}setIntelligentStateModel(g){return this.intelligentStateModel=g,this}getIntelligentStateModel(){return this.intelligentStateModel}setType(g){return this._type=g,this}isTendencyRight(g){return this.isEmpty&&!g.isEmpty}isTendencyLeft(g){return!this.isEmpty&&g.isEmpty}isAfter(g){return this.startLineNumber>=g.endLineNumberExclusive}isBefore(g){return g.startLineNumber>=this.endLineNumberExclusive}isTouches(g){return this.endLineNumberExclusive>=g.startLineNumber&&g.endLineNumberExclusive>=this.startLineNumber}isContact(g){return this.startLineNumber===g.endLineNumberExclusive||this.endLineNumberExclusive===g.startLineNumber}isInclude(g){return g instanceof _?this.startLineNumber<=g.startLineNumber&&this.endLineNumberExclusive>=g.endLineNumberExclusive:g instanceof p.InnerRange?this.isEmpty?!1:this.startLineNumber<=g.startLineNumber&&this.endLineNumberExclusive>=g.endLineNumber:!1}equals(g){return this.startLineNumber===g.startLineNumber&&this.length===g.length}get metaMergeRanges(){return this.mergeStateModel.getMetaRanges()}recordMergeRange(g){return this.mergeStateModel.add(g),this}merge(g,a=!0){return a&&(this.mergeStateModel.has(this)||this.recordMergeRange(this),this.recordMergeRange(g)),this.retainState(new _(Math.min(this.startLineNumber,g.startLineNumber),Math.max(this.endLineNumberExclusive,g.endLineNumberExclusive))).setTurnDirection(l.ETurnDirection.BOTH)}born(){const g=_.fromPositions(this.startLineNumber,this.endLineNumberExclusive),a=g.id;return this.retainState(g).setId(a)}toRange(g,a){return p.InnerRange.fromPositions(new o.Position(this.startLineNumber,g??1),new o.Position(this.endLineNumberExclusive,a??1)).setType(this._type)}toInclusiveRange(g,a){return this.isEmpty?p.InnerRange.fromPositions(new o.Position(this.startLineNumber,g??1),new o.Position(this.startLineNumber,a??1)).setType(this._type):p.InnerRange.fromPositions(new o.Position(this.startLineNumber,g??1),new o.Position(this.endLineNumberExclusive-1,a??1073741824)).setType(this._type)}retainState(g){const a=g.setId(this._id).setType(this._type).setTurnDirection(this._turnDirection).setMergeStateModel(this.mergeStateModel).setIntelligentStateModel(this.intelligentStateModel);return this._isComplete?a.done(this._completeReason):a.cancel(),a}delta(g){return this.retainState(new _(this.startLineNumber+g,this.endLineNumberExclusive+g))}deltaStart(g){return this.retainState(new _(this.startLineNumber+g,this.endLineNumberExclusive))}deltaEnd(g){return this.retainState(new _(this.startLineNumber,this.endLineNumberExclusive+g))}}t.LineRange=_},69972:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StickyPieceModel=void 0;class e{get width(){return this._width}get height(){return this._height}get path(){return this._path}get position(){return this._position}get rangeType(){return this._rangeType}get isComplete(){return this._isComplete}constructor(r,o,l,p,v,m){this._width=r,this._height=o,this._path=l,this._position=p,this._rangeType=v,this._isComplete=!!m,this.rawData=Object.freeze({rangeType:v,width:r,height:o,position:p,path:l})}calcHeight(r,o){const{leftTop:l,rightTop:p,leftBottom:v,rightBottom:m}=this.rawData.path,_=Math.min(l-r,p-o),s=Math.max(v-r,m-o);return Math.abs(s-_)}calcPath(r,o){const{path:l}=this.rawData,p=l.leftTop-r,v=l.rightTop-o,m=Math.max(0,p-v),_=Math.max(0,v-p),s=Math.min(this.height,m+(l.leftBottom-l.leftTop)),g=Math.min(this.height,_+(l.rightBottom-l.rightTop));return{leftTop:m,rightTop:_,leftBottom:s,rightBottom:g}}movePosition(r,o){const l=this.rawData.position.top,{leftTop:p,rightTop:v}=this.rawData.path,m=l+Math.min(p-r,v-o);return this._position={top:m},this._height=this.calcHeight(r,o),this._path=this.calcPath(r,o),this}}t.StickyPieceModel=e},81413:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TimeMachineDocument=void 0;class e{constructor(){this.collectMap=new Map}record(r,o){this.collectMap.has(r)||this.collectMap.set(r,o)}getMetaData(r){return this.collectMap.get(r)}}t.TimeMachineDocument=e},34239:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NavigationDirection=void 0,t.findRangeForNavigation=l;const r=e(85608).__importStar(e(33096));var o;(function(p){p[p.Forwards=0]="Forwards",p[p.Backwards=1]="Backwards"})(o||(t.NavigationDirection=o={}));function l(p,v,m){if(!v||v.length===0||!m)return null;if(v.length===1)return v[0].containsPosition(m)?{canNavigate:!1}:{canNavigate:!0,range:v[0]};let _,s,g;if(p===o.Forwards)_=a=>r.Position.isBefore(m,a.getStartPosition()),s=()=>v[0],g=v;else if(p===o.Backwards)_=a=>r.Position.isBefore(a.getStartPosition(),m),s=()=>v[v.length-1],g=v.slice().reverse();else throw new Error(`Unsupported direction ${p}`);for(const a of g)if(_(a)&&!a.containsPosition(m))return{canNavigate:!0,range:a};return{canNavigate:!0,range:s()}}},24093:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIResolveConflictContentWidget=t.ADDRESSING_TAG_CLASSNAME=t.CONFLICT_ACTIONS_ICON=t.AI_RESOLVE_REGENERATE_ACTIONS=t.AI_RESOLVE_ACTIONS=t.APPEND_ACTIONS=t.REVOKE_ACTIONS=t.IGNORE_ACTIONS=t.ACCEPT_COMBINATION_ACTIONS=t.ACCEPT_CURRENT_ACTIONS=t.DECORATIONS_CLASSNAME=t.EDiffRangeTurn=t.EditorViewType=t.ETurnDirection=t.ECompleteReason=void 0;const n=e(85608),r=e(41869),o=n.__importDefault(e(89543));var l;(function(g){g.UserManual="user_manual",g.AIResolved="ai_resolved",g.AutoResolvedNonConflictBeforeRunAI="auto_resolved_non_conflict_before_run_ai",g.AutoResolvedNonConflict="auto_resolved_non_conflict"})(l||(t.ECompleteReason=l={}));var p;(function(g){g.BOTH="both",g.CURRENT="current",g.INCOMING="incoming"})(p||(t.ETurnDirection=p={}));var v;(function(g){g.CURRENT="current",g.RESULT="result",g.INCOMING="incoming"})(v||(t.EditorViewType=v={}));var m;(function(g){g.ORIGIN="origin",g.MODIFIED="modified"})(m||(t.EDiffRangeTurn=m={}));var _;(function(g){g.combine=(...a)=>a.reduce((h,u)=>h+" "+u," "),g.conflict_wrap=o.default.conflict_wrap,g.stretch_top=o.default.stretch_top,g.stretch_bottom=o.default.stretch_bottom,g.stretch_left=o.default.stretch_left,g.stretch_right=o.default.stretch_right,g.margin_className=o.default.merge_editor_margin_className,g.diff_line_background=o.default.merge_editor_diff_line_background,g.diff_inner_char_background=o.default.merge_editor_diff_inner_char_background,g.guide_underline_widget=o.default.merge_editor_guide_underline_widget,g.offset_right=o.default.offset_right,g.offset_left=o.default.offset_left,g.rotate_turn_left=o.default.rotate_turn_left,g.rotate_turn_right=o.default.rotate_turn_right,g.ai_resolve_icon=o.default.ai_resolve_icon,g.ai_resolve_loading_icon=o.default.ai_resolve_loading_icon,g.ai_resolve_complete=o.default.ai_resolve_complete,g.ai_resolve_complete_lines_decorations=o.default.ai_resolve_complete_lines_decorations,g.range_type={insert:o.default.insert,modify:o.default.modify,remove:o.default.remove},g.dashed=o.default.dashed})(_||(t.DECORATIONS_CLASSNAME=_={})),t.ACCEPT_CURRENT_ACTIONS="accpet_current",t.ACCEPT_COMBINATION_ACTIONS="accpet_combination",t.IGNORE_ACTIONS="ignore",t.REVOKE_ACTIONS="revoke",t.APPEND_ACTIONS="append",t.AI_RESOLVE_ACTIONS="ai_resolve",t.AI_RESOLVE_REGENERATE_ACTIONS="ai_regenerate_resolve";var s;(function(g){const a=o.default.conflict_actions;g.RIGHT=`${a} ${t.ACCEPT_CURRENT_ACTIONS} ${(0,r.getIcon)("doubleright")}`,g.ROTATE_RIGHT=`${a} ${t.APPEND_ACTIONS} ${_.rotate_turn_right} ${(0,r.getIcon)("doubleright")}`,g.LEFT=`${a} ${t.ACCEPT_CURRENT_ACTIONS} ${(0,r.getIcon)("doubleleft")}`,g.ROTATE_LEFT=`${a} ${t.APPEND_ACTIONS} ${_.rotate_turn_left} ${(0,r.getIcon)("doubleleft")}`,g.WAND=`${a} ${t.ACCEPT_COMBINATION_ACTIONS} ${(0,r.getExternalIcon)("wand")}`,g.CLOSE=`${a} ${t.IGNORE_ACTIONS} ${(0,r.getIcon)("close")}`,g.REVOKE=`${a} ${t.REVOKE_ACTIONS} ${(0,r.getIcon)("revoke")}`,g.AI_RESOLVE=`${a} ${t.AI_RESOLVE_ACTIONS} ${_.ai_resolve_icon} ${(0,r.getIcon)("magic-wand")}`,g.AI_RESOLVE_LOADING=`${a} ${_.ai_resolve_loading_icon} ${(0,r.getIcon)("loading")}`})(s||(t.CONFLICT_ACTIONS_ICON=s={})),t.ADDRESSING_TAG_CLASSNAME="ADDRESSING_TAG_CLASSNAME_",t.AIResolveConflictContentWidget="ai-resolve-conflict-content-widget"},66245:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ActionsManager=void 0;const n=e(85608),r=e(76003),o=e(38070),l=e(43718),p=e(19582),v=e(88354),m=e(93961),_=e(96178),s=e(75526),g=e(24093),a=n.__importDefault(e(89543));let h=class extends l.Disposable{constructor(d,E){super(),this.mappingManagerService=d,this.mergeConflictReportService=E}applyLineRangeEdits(d){if(!this.resultView)return;const E=this.resultView.getModel(),f=E.getEOL();if(!E)return;const c=E.getLineCount();E.applyEdits(d.map(y=>{const{range:b,text:A}=y;return b.endLineNumberExclusive<=c?{range:b.toRange(),text:A?A+f:null}:b.startLineNumber===1?{range:_.InnerRange.fromPositions(new v.Position(1,1),new v.Position(c,Number.MAX_SAFE_INTEGER)),text:A?A+f:null}:{range:_.InnerRange.fromPositions(new v.Position(b.startLineNumber-1,Number.MAX_SAFE_INTEGER),new v.Position(c,Number.MAX_SAFE_INTEGER)),text:A?f+A:null}}),!1)}pickMapping(d){switch(d.turnDirection){case g.ETurnDirection.BOTH:return;case g.ETurnDirection.CURRENT:return this.mappingManagerService.documentMappingTurnLeft;case g.ETurnDirection.INCOMING:return this.mappingManagerService.documentMappingTurnRight}}pickViewEditor(d){switch(d.turnDirection){case g.ETurnDirection.INCOMING:return this.incomingView;case g.ETurnDirection.CURRENT:return this.currentView;default:return this.resultView}}handleAcceptChange(d,E,f){var c,y,b;const A=this.pickMapping(d);if(!A)return;const w=this.pickViewEditor(d).getModel(),T=w.getEOL(),D=w.getValueInRange(d.toInclusiveRange()),I=A.adjacentComputeRangeMap.get(d.id);I&&(this.applyLineRangeEdits(E(d,I,{applyText:D,eol:T})),this.markComplete(d,f),I.isMerge&&((c=this.currentView)===null||c===void 0||c.updateActions(),(y=this.incomingView)===null||y===void 0||y.updateActions()),(b=this.resultView)===null||b===void 0||b.updateActions())}handleAcceptRevoke(d){var E,f,c,y;const{turnDirection:b}=d,A=this.pickViewEditor(d),S=this.resultView.getContentInTimeMachineDocument(d.id);if(!S)return;switch(b){case g.ETurnDirection.CURRENT:this.mappingManagerService.revokeActionsTurnLeft(d);break;case g.ETurnDirection.INCOMING:this.mappingManagerService.revokeActionsTurnRight(d);break;case g.ETurnDirection.BOTH:this.mappingManagerService.revokeActionsTurnLeft(d),this.mappingManagerService.revokeActionsTurnRight(d);break}const{text:w}=S;this.applyLineRangeEdits([{range:d,text:w}]),(E=this.resultView)===null||E===void 0||E.changeRangeIntelligentState(d,{},!0),(f=this.resultView)===null||f===void 0||f.updateActions(),b===g.ETurnDirection.BOTH?((c=this.incomingView)===null||c===void 0||c.updateDecorations().updateActions(),(y=this.currentView)===null||y===void 0||y.updateDecorations().updateActions()):A.updateDecorations().updateActions()}handleAcceptCombination(d,E){var f;const c=this.mappingManagerService.documentMappingTurnLeft.reverse(d),y=this.mappingManagerService.documentMappingTurnRight.reverse(d);if(!c||!y)return;const[b,A]=[c.metaMergeRanges,y.metaMergeRanges],[S,w]=[new Set(b).values(),new Set(A).values()];let T=b[0].startLineNumber===c.startLineNumber?0:1;const D=b.length+A.length;let I="";Array.from({length:D}).forEach((R,P)=>{const M=(T===0?this.currentView:this.incomingView).getModel(),k=P===D-1?"":M.getEOL(),{value:F}=T===0?S.next():w.next();I+=M.getValueInRange(F.toRange())+k,T^=1}),this.applyLineRangeEdits([{text:I,range:d}]),this.markComplete(c,E),this.markComplete(y,E),(f=this.resultView)===null||f===void 0||f.updateActions()}async handleAIConflictResolve(d,E){var f,c,y,b;if(!this.resultView||!this.resultView.getModel())return;const S=this.mappingManagerService.documentMappingTurnLeft.reverse(d),w=this.mappingManagerService.documentMappingTurnRight.reverse(d);if(!S||!w)return;this.resultView.changeRangeIntelligentState(d,{isLoading:!0},!1),this.resultView.updateDecorations().updateActions();const T=this.resultView.renderSkeletonDecoration(d,[a.default.skeleton_decoration,a.default.skeleton_decoration_background]),D=this.resultView.getContentInTimeMachineDocument(d.id);if(!D)return;const I=D.text,R=(c=(f=this.currentView)===null||f===void 0?void 0:f.getModel())===null||c===void 0?void 0:c.getValueInRange(S.toInclusiveRange()),P=(b=(y=this.incomingView)===null||y===void 0?void 0:y.getModel())===null||b===void 0?void 0:b.getValueInRange(w.toInclusiveRange());this.mergeConflictReportService.reportIncrementNum(this.resultView.getUri(),"clickNum");const O=await this.resultView.requestAIResolveConflict({base:I||"",current:R||"",incoming:P||""},d,!!E?.isRegenerate);if(this.resultView.changeRangeIntelligentState(d,{isLoading:!1},!1),T(),l.ReplyResponse.is(O)){const M=O.message;return this.resultView.changeRangeIntelligentState(d,{isComplete:!0,answerCode:M},!0),this.applyLineRangeEdits([{range:d,text:M}]),this.mergeConflictReportService.reportIncrementNum(this.resultView.getUri(),"aiOutputNum"),this.resultView.updateDecorations().updateActions(),{isSuccess:!0,isCancel:!1,errorCode:0,errorMsg:""}}return this.resultView.updateDecorations().updateActions(),l.CancelResponse.is(O)?(this.mergeConflictReportService.reportIncrementNum(this.resultView.getUri(),"cancelNum"),{isSuccess:!1,isCancel:!0,errorCode:0,errorMsg:""}):l.ErrorResponse.is(O)?{isSuccess:!1,isCancel:!1,errorCode:O.error||0,errorMsg:O.message||""}:{isSuccess:!1,isCancel:!1,errorCode:0,errorMsg:""}}markComplete(d,E){const{turnDirection:f}=d;switch(f){case g.ETurnDirection.CURRENT:{this.mappingManagerService.markCompleteTurnLeft(d,E),this.currentView.updateDecorations().updateActions();break}case g.ETurnDirection.INCOMING:{this.mappingManagerService.markCompleteTurnRight(d,E),this.incomingView.updateDecorations().updateActions();break}}}initListenEvent(){!this.currentView||!this.resultView||!this.incomingView||(this.addDispose(l.Event.any(this.currentView.onDidActionsProvider,this.resultView.onDidActionsProvider,this.incomingView.onDidActionsProvider)(({provider:d,editor:E})=>{const{provideActionsItems:f}=d;E.setConflictActions(f.call(E))})),this.addDispose(l.Event.any(this.currentView.onDidConflictActions,this.resultView.onDidConflictActions,this.incomingView.onDidConflictActions)(async({range:d,action:E,reason:f})=>{var c;switch(E){case g.ACCEPT_CURRENT_ACTIONS:this.handleAcceptChange(d,(y,b,{applyText:A})=>[{range:b,text:A}],f);break;case g.IGNORE_ACTIONS:this.markComplete(d,f),(c=this.resultView)===null||c===void 0||c.updateActions();break;case g.REVOKE_ACTIONS:this.handleAcceptRevoke(d);break;case g.ACCEPT_COMBINATION_ACTIONS:this.handleAcceptCombination(d,f);break;case g.APPEND_ACTIONS:this.handleAcceptChange(d,(y,b,{applyText:A,eol:S})=>[{range:s.LineRange.fromPositions(b.endLineNumberExclusive,b.endLineNumberExclusive),text:A}],f);break;case g.AI_RESOLVE_ACTIONS:case g.AI_RESOLVE_REGENERATE_ACTIONS:if(this.resultView){const y=this.resultView.getFlushRange(d)||d;await this.handleAIConflictResolve(y,{isRegenerate:E===g.AI_RESOLVE_REGENERATE_ACTIONS})}break}this.resultView&&this.resultView.updateDecorations(),this.currentView&&this.currentView.launchChange(),this.incomingView&&this.incomingView.launchChange()})))}mount(d,E,f){this.currentView=d,this.resultView=E,this.incomingView=f;const c=(y,b)=>{const A=b.actionsProvider;if(!A)return;let{mouseDownGuard:S}=A;const{onActionsClick:w}=A;if(typeof S>"u"&&(S=T=>{if(T.event.rightButton||T.target.type!==p.MouseTargetType.GUTTER_LINE_DECORATIONS)return!1;const{element:D}=T.target;return!!D?.className.includes(g.ADDRESSING_TAG_CLASSNAME)}),S(y)&&w){const T=y.target.element,{classList:D}=T,I=Array.from(D).find(R=>R.startsWith(g.ADDRESSING_TAG_CLASSNAME));if(I){const R=I.replace(g.ADDRESSING_TAG_CLASSNAME,""),P=b.conflictActions.getAction(R);let O;const M=[g.ACCEPT_CURRENT_ACTIONS,g.ACCEPT_COMBINATION_ACTIONS,g.IGNORE_ACTIONS,g.REVOKE_ACTIONS,g.APPEND_ACTIONS,g.AI_RESOLVE_ACTIONS];for(const k of M)if(D.contains(k)){O=k;break}O&&P&&w.call(b,P.range,O)}}};this.addDispose(d.getEditor().onMouseDown(y=>c(y,d))),this.addDispose(f.getEditor().onMouseDown(y=>c(y,f))),this.addDispose(E.getEditor().onMouseDown(y=>c(y,E))),this.initListenEvent()}};t.ActionsManager=h,t.ActionsManager=h=n.__decorate([(0,r.Injectable)({multiple:!1}),n.__metadata("design:paramtypes",[m.MappingManagerService,o.MergeConflictReportService])],h)},66076:(x,t,e)=>{"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),t.BaseCodeEditor=void 0;const o=e(85608),l=e(43718),p=e(31324),v=e(93961),m=e(91376),_=e(98025),s=e(24093);class g extends l.Disposable{constructor(h,u,d){super(),this.container=h,this.monacoService=u,this.injector=d,n.set(this,void 0),r.set(this,void 0),this._onDidConflictActions=new l.Emitter,this.onDidConflictActions=this._onDidConflictActions.event,this._onDidActionsProvider=new l.Emitter,this.onDidActionsProvider=this._onDidActionsProvider.event,this.mount()}launchConflictActionsEvent(h){this._onDidConflictActions.fire(h)}dispose(){super.dispose(),this.editor.dispose(),this.decorations.dispose(),o.__classPrivateFieldGet(this,r,"f").dispose()}mount(){this.editor=this.monacoService.createCodeEditor(this.container),this.updateOptions({}),this.decorations=this.injector.get(_.MergeEditorDecorations,[this,this.getEditorViewType()]),o.__classPrivateFieldSet(this,r,this.injector.get(m.ConflictActions,[this]),"f"),this.mappingManagerService=this.injector.get(v.MappingManagerService),this.addDispose(l.Event.debounce(l.Event.any(this.decorations.onDidChangeDecorations,this.editor.onDidLayoutChange),()=>{},0)(()=>{const h=this.editor.getOption(p.EditorOption.lineDecorationsWidth),d=this.editor.getLayoutInfo().contentLeft-(typeof h=="number"?h:0),E=this.decorations.getLineWidgets();E.length>0&&E.forEach(f=>{f&&f.setContainerStyle({left:d+"px"})})}))}get onDidChangeDecorations(){return this.decorations.onDidChangeDecorations}getEditor(){return this.editor}getModel(){return this.editor.getModel()}launchChange(){this.decorations.launchChange()}prepareRenderDecorations(h=0){const[u,d]=h===0?[this.documentMapping.getModifiedRange(),this.documentMapping.getOriginalRange()]:[this.documentMapping.getOriginalRange(),this.documentMapping.getModifiedRange()],E=[],f=[];return u.forEach((c,y)=>{var b;const A=d[y];A&&(w=>{var T,D;const I=h===1?s.ETurnDirection.CURRENT:s.ETurnDirection.INCOMING;A.setType(w).setTurnDirection((T=A.turnDirection)!==null&&T!==void 0?T:I),E.push(c.setType(w).setTurnDirection((D=c.turnDirection)!==null&&D!==void 0?D:I))})((b=c.type)!==null&&b!==void 0?b:c.isTendencyRight(A)?"remove":c.isTendencyLeft(A)?"insert":"modify")}),[E,f]}updateOptions(h){this.editor.updateOptions({...h,automaticLayout:!0,wordBasedSuggestions:!0,renderLineHighlight:"all",folding:!1,lineNumbersMinChars:0,minimap:{enabled:!1},codeLens:!1,scrollBeyondLastLine:!0,...this.getMonacoEditorOptions()})}updateActions(){return this.conflictActions.updateActions(this.provideActionsItems()),this}updateDecorations(){const[h,u]=this.prepareRenderDecorations();return this.decorations.updateDecorations(h,u),this}registerActionsProvider(h){o.__classPrivateFieldGet(this,n,"f")||(o.__classPrivateFieldSet(this,n,h,"f"),this._onDidActionsProvider.fire({provider:h,editor:this}))}setConflictActions(h){o.__classPrivateFieldGet(this,r,"f").setActions(h)}get actionsProvider(){return o.__classPrivateFieldGet(this,n,"f")}get conflictActions(){return o.__classPrivateFieldGet(this,r,"f")}clearActions(h){this.conflictActions.clearActions(h.id)}clearDecorations(){this.decorations.clearDecorations()}getUri(){var h;return(h=this.getModel())===null||h===void 0?void 0:h.uri.path.toString()}}t.BaseCodeEditor=g,n=new WeakMap,r=new WeakMap},51472:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CurrentCodeEditor=void 0;const n=e(85608),r=e(76003),o=e(19582),l=e(57762),p=e(24093),v=e(66076);let m=class extends v.BaseCodeEditor{get documentMapping(){return this.mappingManagerService.documentMappingTurnLeft}getMonacoEditorOptions(){return{readOnly:!0,lineNumbersMinChars:5}}prepareRenderDecorations(){return super.prepareRenderDecorations(1)}provideActionsItems(){return this.documentMapping.getOriginalRange().filter(g=>!g.isComplete).map(g=>{const a=`${p.ADDRESSING_TAG_CLASSNAME}${g.id}`;let h=p.CONFLICT_ACTIONS_ICON.RIGHT;if(g.isMerge){const u=this.documentMapping.adjacentComputeRangeMap.get(g.id);u&&u.isComplete&&(h=p.CONFLICT_ACTIONS_ICON.ROTATE_RIGHT)}return{range:g,decorationOptions:{glyphMarginClassName:p.DECORATIONS_CLASSNAME.combine(h,p.DECORATIONS_CLASSNAME.offset_left,a),marginClassName:p.DECORATIONS_CLASSNAME.combine(p.CONFLICT_ACTIONS_ICON.CLOSE,a)}}})}getMonacoDecorationOptions(s,g){return{marginClassName:p.DECORATIONS_CLASSNAME.combine(p.DECORATIONS_CLASSNAME.margin_className,p.DECORATIONS_CLASSNAME.range_type[g.type],p.DECORATIONS_CLASSNAME.stretch_right,p.DECORATIONS_CLASSNAME.stretch_left),className:p.DECORATIONS_CLASSNAME.combine(s.className||"",p.DECORATIONS_CLASSNAME.stretch_right)}}getEditorViewType(){return p.EditorViewType.CURRENT}launchConflictActionsEvent(s){super.launchConflictActionsEvent({...s,withViewType:p.EditorViewType.CURRENT})}inputDiffComputingResult(s){this.mappingManagerService.inputComputeResultRangeMappingTurnLeft(s),this.updateDecorations(),this.registerActionsProvider({provideActionsItems:this.provideActionsItems,mouseDownGuard:g=>!(g.target.type!==o.MouseTargetType.UNKNOWN||g.event.rightButton||!g.target.element),onActionsClick:(g,a)=>{(a===p.ACCEPT_CURRENT_ACTIONS||a===p.IGNORE_ACTIONS||a===p.APPEND_ACTIONS)&&this.launchConflictActionsEvent({range:g,action:a,reason:p.ECompleteReason.UserManual})}}),requestAnimationFrame(()=>{this.layout()})}layout(){const s=this.getEditor(),g=s.getDomNode();if(g){const a=g.querySelector("."+l.Margin.OUTER_CLASS_NAME),h=s?._modelData.hasRealView?s?._modelData.view._scrollbar.scrollbarDomNode.domNode:null;a&&h&&(a.style.right="0px",h.style.left="0px")}}};t.CurrentCodeEditor=m,t.CurrentCodeEditor=m=n.__decorate([(0,r.Injectable)({multiple:!0})],m)},66557:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IncomingCodeEditor=void 0;const n=e(85608),r=e(76003),o=e(24093),l=e(66076);let p=class extends l.BaseCodeEditor{get documentMapping(){return this.mappingManagerService.documentMappingTurnRight}getMonacoEditorOptions(){return{readOnly:!0,lineDecorationsWidth:42}}provideActionsItems(){return this.documentMapping.getModifiedRange().filter(_=>!_.isComplete).map(_=>{const s=`${o.ADDRESSING_TAG_CLASSNAME}${_.id}`;let g=o.CONFLICT_ACTIONS_ICON.LEFT;if(_.isMerge){const a=this.documentMapping.adjacentComputeRangeMap.get(_.id);a&&a.isComplete&&(g=o.CONFLICT_ACTIONS_ICON.ROTATE_LEFT)}return{range:_,decorationOptions:{glyphMarginClassName:o.DECORATIONS_CLASSNAME.combine(o.CONFLICT_ACTIONS_ICON.CLOSE,o.DECORATIONS_CLASSNAME.offset_right,s),firstLineDecorationClassName:o.DECORATIONS_CLASSNAME.combine(g,s)}}})}getMonacoDecorationOptions(m){return{linesDecorationsClassName:o.DECORATIONS_CLASSNAME.combine(o.DECORATIONS_CLASSNAME.stretch_right,o.DECORATIONS_CLASSNAME.stretch_left,m.className||""),className:o.DECORATIONS_CLASSNAME.combine(o.DECORATIONS_CLASSNAME.stretch_left,m.className||"")}}getEditorViewType(){return o.EditorViewType.INCOMING}launchConflictActionsEvent(m){super.launchConflictActionsEvent({...m,withViewType:o.EditorViewType.INCOMING})}inputDiffComputingResult(m){this.mappingManagerService.inputComputeResultRangeMappingTurnRight(m),this.updateDecorations(),this.registerActionsProvider({provideActionsItems:this.provideActionsItems,onActionsClick:(_,s)=>{(s===o.ACCEPT_CURRENT_ACTIONS||s===o.IGNORE_ACTIONS||s===o.APPEND_ACTIONS)&&this.launchConflictActionsEvent({range:_,action:s,reason:o.ECompleteReason.UserManual})}})}};t.IncomingCodeEditor=p,t.IncomingCodeEditor=p=n.__decorate([(0,r.Injectable)({multiple:!0})],p)},23600:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResultCodeEditor=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=e(76003),l=e(41869),p=e(38070),v=e(43718),m=e(72665),_=e(88354),s=e(52801),g=e(16781),a=e(18895),h=e(5863),u=e(23773),d=e(89995),E=e(96178),f=e(75526),c=e(81413),y=e(34239),b=e(24093),A=e(67641),S=e(92572),w=e(80922),T=e(66076),D=R=>new _.Position(Math.max(R.startLineNumber,R.endLineNumberExclusive-1),1);let I=class extends T.BaseCodeEditor{getMonacoEditorOptions(){return{lineNumbersMinChars:2,lineDecorationsWidth:24}}constructor(P,O,M){super(P,O,M),this._onDidChangeContent=new l.Emitter,this.onDidChangeContent=this._onDidChangeContent.event,this._onChangeRangeIntelligentState=new l.Emitter,this.onChangeRangeIntelligentState=this._onChangeRangeIntelligentState.event,this.cancelIndicatorMap=new Map,this.supportAIConflictResolve=!1,this.isFirstInputComputeDiff=!0,this.timeMachineDocument=M.get(c.TimeMachineDocument,[]),this.initListenEvent(),this.resolveResultWidgetManager=new A.WidgetFactory(S.ResolveResultWidget,this,this.injector,D),this.stopWidgetManager=new A.WidgetFactory(w.StopWidget,this,this.injector,D),this.aiNativeConfigService.capabilities.supportsConflictResolve&&(this.aiBackService=M.get(v.AIBackSerivcePath),this.resolveConflictRegistry=M.get(v.ResolveConflictRegistryToken),this.supportAIConflictResolve=!0)}hideResolveResultWidget(P){P?this.resolveResultWidgetManager.hideWidget(P):this.resolveResultWidgetManager.hideAll()}hideStopWidget(P){P?this.stopWidgetManager.hideWidget(P):this.stopWidgetManager.hideAll()}renderSkeletonDecoration(P,O){var M;const k=L=>({range:E.InnerRange.fromPositions(new _.Position(P.startLineNumber,1),new _.Position(Math.max(P.startLineNumber,P.endLineNumberExclusive-1),1)),options:{isWholeLine:!0,description:"skeleton",className:L}}),F=(M=this.getModel())===null||M===void 0?void 0:M.deltaDecorations([],O.map(L=>k(L)));return()=>{var L;F&&((L=this.getModel())===null||L===void 0||L.deltaDecorations(F,[]))}}async requestAIResolveConflict(P,O,M=!1){if(!this.resolveConflictRegistry)return;const k=this.resolveConflictRegistry.getThreeWayHandler();if(!k)return;if(M){const L=this.getModel().getValueInRange(O.toRange());P.resultContent=L}return await k.providerRequest(P,{isRegenerate:M},this.createRequestToken(O.id).token)}createRequestToken(P){const O=new l.CancellationTokenSource;return this.cancelIndicatorMap.set(P,O),O}cancelRequestToken(P){if(P){if(!this.cancelIndicatorMap.has(P))return;const O=this.cancelIndicatorMap.get(P);O?.cancel();return}this.cancelIndicatorMap.forEach(O=>{O.cancel()}),this.cancelIndicatorMap.clear()}changeRangeIntelligentState(P,O,M=!0){P.getIntelligentStateModel().setAll(O,M),this._onChangeRangeIntelligentState.fire(P)}getFlushRange(P){const O=P.id;return this.mappingManagerService.getAllDiffRanges().find(k=>k.id===O)}async formatDocument(P){const O={scrollTop:this.editor.getScrollTop(),scrollLeft:this.editor.getScrollLeft()};await g.StandaloneServices.get(a.IInstantiationService).invokeFunction(s.formatDocumentRangesWithSelectedProvider,this.getModel(),P.toInclusiveRange(),s.FormattingMode.Explicit,h.Progress.None,l.CancellationToken.None,!0),(0,l.runWhenIdle)(()=>{this.editor.setScrollPosition(O)})}initListenEvent(){let P=0;this.addDispose(this.editor.onDidChangeModel(()=>{const O=this.editor.getModel();O&&(P=O.getLineCount()),this.hideResolveResultWidget()})),this.supportAIConflictResolve&&this.addDispose(this.editor.onMouseMove((0,r.default)(O=>{const{target:M}=O;if(M.type===u.editor.MouseTargetType.GUTTER_LINE_DECORATIONS){this.hideResolveResultWidget();return}const k=M.position;if(!k)return;const F=this.mappingManagerService.getAllDiffRanges(),L=f.LineRange.fromPositions(k.lineNumber);if(F.some(U=>U.isTouches(L))){const U=F.find(j=>j.isTouches(L));if(!U)return;U.getIntelligentStateModel().isComplete?this.resolveResultWidgetManager.addWidget(U):this.hideResolveResultWidget(U.id)}else this.hideResolveResultWidget()},10))),this.addDispose(this.editor.onDidChangeModelContent(async O=>{const M=this.editor.getModel();if(M&&M.getLineCount()!==P){P=M.getLineCount();const{changes:k,eol:F}=O,L=[];k.forEach(B=>{var U;const{text:W,range:j}=B,G=((U=W.match(new RegExp(F,"ig")))!==null&&U!==void 0?U:[]).length,{startLineNumber:$,endLineNumber:Z}=j,Y=$-Z+G;Y!==0&&L.push({startLineNumber:$,endLineNumber:Z,offset:Y})}),L.forEach(B=>{const{startLineNumber:U,endLineNumber:W,offset:j}=B,G=f.LineRange.fromPositions(U,W+Math.max(0,j)),{[b.EditorViewType.CURRENT]:$,[b.EditorViewType.INCOMING]:Z}=this.mappingManagerService.findIncludeRanges(G),{[b.EditorViewType.CURRENT]:Y,[b.EditorViewType.INCOMING]:V}=this.mappingManagerService.findTouchesRanges(G),{[b.EditorViewType.CURRENT]:H,[b.EditorViewType.INCOMING]:K}=this.mappingManagerService.findNextLineRanges(G);if($)this.mappingManagerService.documentMappingTurnLeft.deltaEndAdjacentQueue($,j);else if(Y)this.mappingManagerService.documentMappingTurnLeft.deltaEndAdjacentQueue(Y,j);else if(H){const Q=this.mappingManagerService.documentMappingTurnLeft.reverse(H);Q&&this.mappingManagerService.documentMappingTurnLeft.deltaAdjacentQueueAfter(Q,j,!0)}if(Z)this.mappingManagerService.documentMappingTurnRight.deltaEndAdjacentQueue(Z,j);else if(V)this.mappingManagerService.documentMappingTurnRight.deltaEndAdjacentQueue(V,j);else if(K){const Q=this.mappingManagerService.documentMappingTurnRight.reverse(K);Q&&this.mappingManagerService.documentMappingTurnRight.deltaAdjacentQueueAfter(Q,j,!0)}}),this._onDidChangeContent.fire()}}))}provideActionsItems(P){if(!Array.isArray(P))return[];const O=M=>{if(M.isComplete)return b.CONFLICT_ACTIONS_ICON.REVOKE;if(this.supportAIConflictResolve&&M.type==="modify"){const k=M.getIntelligentStateModel();if(k.isLoading)return b.CONFLICT_ACTIONS_ICON.AI_RESOLVE_LOADING;if(k.isComplete)return b.CONFLICT_ACTIONS_ICON.REVOKE;if(M.isMerge)return b.CONFLICT_ACTIONS_ICON.AI_RESOLVE}return M.isAllowCombination&&M.isMerge?b.CONFLICT_ACTIONS_ICON.WAND:""};return P.map(M=>({range:M,decorationOptions:{firstLineDecorationClassName:b.DECORATIONS_CLASSNAME.combine(O(M),`${b.ADDRESSING_TAG_CLASSNAME}${M.id}`)}}))}distillNeedMergeRanges(P){var O;const M=new Map,k=P.length;let F=0,L;P.sort((B,U)=>B.startLineNumber-U.startLineNumber);for(let B=0;B<k;B++){const U=P[F],W=P[B];if(U.id!==W.id){if(L){L.isTouches(W)?(L=L.merge(W),M.set(F,{rawRanges:(((O=M.get(F))===null||O===void 0?void 0:O.rawRanges)||[]).concat(W),mergeRange:L})):(L=void 0,F=B);continue}else if(U.isTouches(W)){L=U.merge(W),M.set(F,{rawRanges:[U,W],mergeRange:L});continue}F+=1}}return Array.from(M.values())}handleNeedMergeRanges(P){const O=M=>M.turnDirection===b.ETurnDirection.CURRENT?this.mappingManagerService.documentMappingTurnLeft:this.mappingManagerService.documentMappingTurnRight;for(let{rawRanges:M,mergeRange:k}of P){const F=M.length;if(F<=1)continue;M=M.sort((j,G)=>j.startLineNumber===G.startLineNumber?j.endLineNumberExclusive-G.endLineNumberExclusive:j.startLineNumber-G.startLineNumber);const L=M[1],B=M[F-2];let U,W;for(const j of M){const G=O(j),$=G.reverse(j);let Z=$;Z&&(j.id===L.id&&(Z=Z.deltaStart(Math.min(0,M[0].startLineNumber-L.startLineNumber)).deltaEnd(Math.max(0,B.endLineNumberExclusive-M[F-1].endLineNumberExclusive))),j.id===B.id&&(Z=Z.deltaEnd(Math.max(0,M[F-1].endLineNumberExclusive-B.endLineNumberExclusive))),j.turnDirection===b.ETurnDirection.CURRENT&&(U=(U?U.merge(Z,!1):Z).recordMergeRange($)),j.turnDirection===b.ETurnDirection.INCOMING&&(W=(W?W.merge(Z,!1):Z).recordMergeRange($)),G.deleteRange(Z))}if(U){const j=U.setTurnDirection(b.ETurnDirection.CURRENT).setType("modify");this.mappingManagerService.documentMappingTurnLeft.addRange(j,k)}if(W){const j=W.setTurnDirection(b.ETurnDirection.INCOMING).setType("modify");this.mappingManagerService.documentMappingTurnRight.addRange(j,k)}}}getDiffRangesAfterDistill(){let P=this.mappingManagerService.getAllDiffRanges();if(this.isFirstInputComputeDiff){const O=this.distillNeedMergeRanges(P);this.handleNeedMergeRanges(O),P=this.mappingManagerService.getAllDiffRanges(),this.isFirstInputComputeDiff=!1}return P}prepareRenderDecorations(){const P=[],O=this.getDiffRangesAfterDistill();let M=0,k=0,F=0,L=0,B=0,U=0,W=0,j=!1;return O.forEach(G=>{if(G.isComplete)switch(G.completeReason){case b.ECompleteReason.AIResolved:case b.ECompleteReason.UserManual:if(G.isConflictPoint){M++,F++;break}j=!0;case b.ECompleteReason.AutoResolvedNonConflictBeforeRunAI:case b.ECompleteReason.AutoResolvedNonConflict:switch(L++,G.turnDirection){case b.ETurnDirection.CURRENT:B++;break;case b.ETurnDirection.INCOMING:U++;break;case b.ETurnDirection.BOTH:W++;break}break}else G.isConflictPoint?M++:k++}),this.dataStore.updateConflictsCount({total:M,resolved:F,nonConflicts:k}),this.dataStore.updateNonConflictingChangesResolvedCount({total:L,left:B,right:U,both:W,userManualResolveNonConflicts:j}),this.dataStore.emitChange(),this.supportAIConflictResolve&&O.filter(G=>G.isConflictPoint).forEach(G=>{const $=G.getIntelligentStateModel();this.hideStopWidget(G.id),$.isLoading&&this.stopWidgetManager.addWidget(G)}),[O,P]}getMonacoDecorationOptions(P,O){const M=()=>{const k=O.getIntelligentStateModel();return!!(this.supportAIConflictResolve&&k.isComplete&&!k.isLoading)};return{linesDecorationsClassName:b.DECORATIONS_CLASSNAME.combine(P.className||"",b.DECORATIONS_CLASSNAME.stretch_right,M()?b.DECORATIONS_CLASSNAME.ai_resolve_complete_lines_decorations:"",O.turnDirection===b.ETurnDirection.CURRENT||O.turnDirection===b.ETurnDirection.BOTH?b.DECORATIONS_CLASSNAME.stretch_left:""),className:b.DECORATIONS_CLASSNAME.combine(P.className||"",M()?b.DECORATIONS_CLASSNAME.ai_resolve_complete:"",O.turnDirection===b.ETurnDirection.CURRENT?b.DECORATIONS_CLASSNAME.stretch_left:b.DECORATIONS_CLASSNAME.combine(b.DECORATIONS_CLASSNAME.stretch_left,b.DECORATIONS_CLASSNAME.stretch_right))}}reset(){this.isFirstInputComputeDiff=!0}getEditorViewType(){return b.EditorViewType.RESULT}updateActions(){return this.conflictActions.updateActions(this.provideActionsItems(this.mappingManagerService.getAllDiffRanges())),this}getContentInTimeMachineDocument(P){return this.timeMachineDocument.getMetaData(P)}completeSituation(){const P=this.mappingManagerService.getAllDiffRanges();let O=0;for(const M of P)(M.isComplete||M.getIntelligentStateModel().isComplete)&&(O+=1);return{completeCount:O,shouldCount:P.length}}launchConflictActionsEvent(P){super.launchConflictActionsEvent({...P,withViewType:b.EditorViewType.RESULT})}inputDiffComputingResult(){this.updateDecorations();const P=this.mappingManagerService.getAllDiffRanges();this.registerActionsProvider({provideActionsItems:()=>this.provideActionsItems(P),onActionsClick:(O,M)=>{(M===b.REVOKE_ACTIONS||M===b.ACCEPT_COMBINATION_ACTIONS||M===b.AI_RESOLVE_ACTIONS||M===b.AI_RESOLVE_REGENERATE_ACTIONS)&&this.launchConflictActionsEvent({range:O,action:M,reason:b.ECompleteReason.UserManual})}}),P.forEach(O=>{this.timeMachineDocument.record(O.id,{range:O,text:O.isEmpty?null:this.editor.getModel().getValueInRange(O.toInclusiveRange())})}),(0,l.runWhenIdle)(()=>{const O=P.reduce((M,k)=>k.isConflictPoint?M+1:M,0);this.mergeConflictReportService.record(this.getUri(),{conflictPointNum:O,editorMode:v.MergeConflictEditorMode["3way"]})})}findDiffRange(P){const O=this.editor.getVisibleRanges();if(O.length===0)return;const M=this.mappingManagerService.getAllDiffRanges().map(L=>L.toInclusiveRange()),k=this.editor.getPosition()||O[0].getStartPosition(),F=(0,y.findRangeForNavigation)(P,M,k);if(F)if(F.canNavigate){if(!F.range)return}else{this.messageService.warning("No other conflicts within this editor");return}else{this.messageService.warning("No conflicts found in this editor");return}return F.range}navigate(P){const O=this.findDiffRange(P);O&&(this.editor.setSelection(O),this.editor.revealRangeNearTopIfOutsideViewport(O),this.editor.focus())}navigateForwards(){this.navigate(y.NavigationDirection.Forwards)}navigateBackwards(){this.navigate(y.NavigationDirection.Backwards)}};t.ResultCodeEditor=I,n.__decorate([(0,o.Autowired)(l.AINativeConfigService),n.__metadata("design:type",l.AINativeConfigService)],I.prototype,"aiNativeConfigService",void 0),n.__decorate([(0,o.Autowired)(p.MergeConflictReportService),n.__metadata("design:type",p.MergeConflictReportService)],I.prototype,"mergeConflictReportService",void 0),n.__decorate([(0,o.Autowired)(d.MappingManagerDataStore),n.__metadata("design:type",d.MappingManagerDataStore)],I.prototype,"dataStore",void 0),n.__decorate([(0,o.Autowired)(m.IMessageService),n.__metadata("design:type",Object)],I.prototype,"messageService",void 0),t.ResultCodeEditor=I=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[HTMLDivElement,l.MonacoService,o.Injector])],I)},13914:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Grid=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=n.__importStar(e(14041)),l=e(41869),p=e(81878),v=e(25918),m=e(93899),_=e(75524),s=e(43718),g=e(51500),a=e(61468),h=e(89995),u=e(96177),d=e(24093),E=n.__importDefault(e(89543)),f=e(80282),c=e(22883),y=({contrastType:S})=>{const w=(0,l.useInjectable)(m.AbstractMenuService),[T,D]=(0,o.useReducer)(G=>(G+1)%1e6,0),I=(0,l.useInjectable)(u.MergeEditorService),R=(0,l.useInjectable)(g.IWorkspaceService),P=(0,l.useInjectable)(l.CommandService),O=(0,l.useInjectable)(s.CommandRegistry),[M,k]=(0,o.useState)(),[F,L]=(0,o.useState)(""),[B,U]=(0,o.useState)();(0,l.useDisposable)(()=>O.afterExecuteCommand(l.EDITOR_COMMANDS.CHANGE_ENCODING.id,()=>{D(),setTimeout(()=>{I.compare()},s.FRAME_THREE)}),[O,I]);const W=(0,o.useCallback)(G=>{if(R.workspace){const Z=new l.URI(R.workspace.uri).relative(G);return Z?Z.toString():G.toString()}return G.toString()},[]);o.default.useEffect(()=>{const G=I.onDidInputNutrition($=>{const{input1:Z,input2:Y,output:V,ancestor:H}=$;S===d.EditorViewType.CURRENT?(k(Z.getRaw()),U(Z.uri)):S===d.EditorViewType.INCOMING?(k(Y.getRaw()),U(Y.uri)):S===d.EditorViewType.RESULT&&(k(new _.MergeEditorInputData(V.uri,"Result",W(V.uri),"").getRaw()),U(H.uri))});return()=>{G.dispose()}},[I]),o.default.useEffect(()=>{B&&P.executeCommand(l.EDITOR_COMMANDS.GET_ENCODING.id,B).then(G=>{L(G||"")})},[B,T]);const j=(0,o.useCallback)(()=>{const G=w.createMenu(m.MenuId.MergeEditorResultTitleContext);return(0,m.generateMergedInlineActions)({menus:G}).filter(Z=>S===d.EditorViewType.RESULT?!0:Z.id!==l.EDITOR_COMMANDS.MERGEEDITOR_RESET.id).map(Z=>(Z.id===l.EDITOR_COMMANDS.CHANGE_ENCODING.id&&B&&F&&(Z.updateLabel(F.toLocaleUpperCase()),Z.argsTransformer=()=>[B]),o.default.createElement(v.InlineActionWidget,{key:Z.id,data:Z})))},[S,B,F]);return o.default.createElement("div",{className:E.default.title_head_container},M&&o.default.createElement("div",{className:E.default.content},o.default.createElement("span",{className:E.default.title,title:M.title},M.title),o.default.createElement("span",{className:E.default.description,title:M.description},M.description),o.default.createElement("span",{className:E.default.detail,title:M.detail},M.detail)),o.default.createElement("div",{className:E.default.actions_container},j()))},b=()=>{const S=(0,l.useInjectable)(u.MergeEditorService),w=(0,l.useInjectable)(l.CommandService),[T,D]=(0,o.useState)(!1),[I,R]=(0,o.useState)(!1),P=(0,l.useInjectable)(l.ILogger);(0,o.useEffect)(()=>{const $=S.onHasIntelligentLoadingChange(Z=>{R(Z)});return()=>$.dispose()},[S]);const O=(0,o.useCallback)(async()=>{D(!0);try{const $=await S.accept()}catch($){P.error($)}finally{D(!1)}},[S]),M=(0,o.useCallback)(()=>{S.acceptLeft(!1,d.ECompleteReason.UserManual)},[S]),k=(0,o.useCallback)(()=>{S.acceptRight(!1,d.ECompleteReason.UserManual)},[S]),F=(0,o.useCallback)(()=>{I?S.stopAllAIResolveConflict():S.handleAIResolveConflict()},[S,I]),L=(0,l.useInjectable)(h.MappingManagerDataStore),[B,U]=(0,o.useState)(""),[W,j]=(0,o.useState)(!1);(0,o.useEffect)(()=>{const $=(0,r.default)(()=>{U(L.summary()),j(L.canNavigate())},80,{leading:!0}),Z=L.onDataChange(()=>{$()});return $(),()=>Z.dispose()},[L]);const G=(0,o.useCallback)(async()=>{await S.stopAllAIResolveConflict(),(0,l.runWhenIdle)(()=>{w.executeCommand(l.EDITOR_COMMANDS.MERGEEDITOR_RESET.id)})},[S]);return o.default.createElement(a.MergeActions,{containerClassName:E.default.merge_editor_float_container,editorType:"3way",summary:B,onReset:G,onSwitchEditor:()=>{var $,Z;let Y=(Z=($=S.getCurrentEditor())===null||$===void 0?void 0:$.getModel())===null||Z===void 0?void 0:Z.uri;Y&&(Y.scheme!=="file"&&(Y=Y.with({scheme:"file",path:Y.path,query:""})),w.executeCommand(l.EDITOR_COMMANDS.API_OPEN_EDITOR_COMMAND_ID,Y))},canNavigate:W,handlePrev:()=>{S.resultView.navigateForwards()},handleNext:()=>{S.resultView.navigateBackwards()},isAIResolving:I,onAIResolve:F,beforeAddons:o.default.createElement("div",{id:"merge.editor.action.button.accept",className:E.default.action_category},o.default.createElement(p.Button,{className:E.default.merge_conflict_bottom_btn,size:"default",onClick:M},o.default.createElement(p.Icon,{icon:"left"}),o.default.createElement("span",null,(0,l.localize)("mergeEditor.action.button.accept.left"))),o.default.createElement(p.Button,{className:E.default.merge_conflict_bottom_btn,size:"default",onClick:k},o.default.createElement("span",null,(0,l.localize)("mergeEditor.action.button.accept.right")),o.default.createElement(p.Icon,{icon:"right"}))),afterAddons:o.default.createElement(p.Button,{loading:T,id:"merge.editor.action.button.apply",size:"default",className:E.default.merge_editor_apply_btn,onClick:O},(0,l.localize)("mergeEditor.action.button.apply-and-stash"))})},A=()=>{const S=(0,l.useInjectable)(u.MergeEditorService),w=o.default.useRef(null),T=o.default.useRef(null),D=o.default.useRef(null);return(0,o.useEffect)(()=>{const[I,R,P]=[T.current,D.current,w.current];return I&&R&&P&&S.instantiationCodeEditor(I,R,P),()=>{S.dispose()}},[S]),o.default.createElement("div",{className:E.default.merge_editor_container},o.default.createElement(p.SplitPanel,{overflow:"hidden",id:"merge_editor_container",flex:2},o.default.createElement("div",{className:E.default.editor_container_arrange},o.default.createElement(y,{contrastType:d.EditorViewType.CURRENT}),o.default.createElement("div",{className:E.default.content},o.default.createElement("div",{className:E.default.minimap_container},o.default.createElement(f.MiniMap,{contrastType:d.EditorViewType.CURRENT})),o.default.createElement("div",{className:E.default.editor_container,ref:T}))),o.default.createElement("div",{className:E.default.editor_container_arrange},o.default.createElement(y,{contrastType:d.EditorViewType.RESULT}),o.default.createElement("div",{className:E.default.editor_container},o.default.createElement(c.WithViewStickinessConnectComponent,{contrastType:d.EditorViewType.CURRENT}),o.default.createElement("div",{className:E.default.editor_container,ref:D}),o.default.createElement(c.WithViewStickinessConnectComponent,{contrastType:d.EditorViewType.INCOMING}))),o.default.createElement("div",{className:E.default.editor_container_arrange},o.default.createElement(y,{contrastType:d.EditorViewType.INCOMING}),o.default.createElement("div",{className:E.default.content},o.default.createElement("div",{className:E.default.editor_container,ref:w}),o.default.createElement("div",{className:E.default.minimap_container},o.default.createElement(f.MiniMap,{contrastType:d.EditorViewType.INCOMING}))))),o.default.createElement(b,null))};t.Grid=A},31775:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GuidelineWidget=void 0;const n=e(34819),r=e(24093);class o extends n.ZoneWidget{applyClass(){}applyStyle(){}_fillContainer(){this.setCssClass(r.DECORATIONS_CLASSNAME.guide_underline_widget)}constructor(p){super(p,{showArrow:!1,showFrame:!1,arrowColor:void 0,frameColor:void 0,keepEditorSelection:!0})}revealRange(p,v){}getRecordLine(){return this.recordLine}setContainerStyle(p){var v;const m=Object.keys(p);for(const _ of m)Object.prototype.hasOwnProperty.call((v=this.container)===null||v===void 0?void 0:v.style,_)&&(this.container.style[_]=p[_])}addClassName(p){return this.setCssClass(p),this}showByLine(p){this.recordLine=p,super.hide(),super.show({startLineNumber:p,startColumn:0,endLineNumber:p,endColumn:Number.MAX_SAFE_INTEGER},0)}}t.GuidelineWidget=o},80282:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MiniMap=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),p=e(31324),v=e(96177),m=e(24093),_=n.__importDefault(e(89543)),s=({contrastType:g})=>{const a=(0,l.useInjectable)(v.MergeEditorService),[h,u]=o.default.useState([]);(0,o.useEffect)(()=>{const E=new l.Disposable;return E.addDispose(a.onDidMount(f=>{const{currentView:c,incomingView:y}=f;g===m.EditorViewType.CURRENT?E.addDispose(l.Event.debounce(c.onDidChangeDecorations,()=>{},16)(()=>{d(c,c.documentMapping.getOriginalRange())})):g===m.EditorViewType.INCOMING&&E.addDispose(l.Event.debounce(y.onDidChangeDecorations,()=>{},16)(()=>{d(y,y.documentMapping.getModifiedRange())}))})),()=>E.dispose()},[a,g]);const d=(0,o.useCallback)((E,f)=>{const c=E.getEditor(),y=c.getOption(p.EditorOption.lineHeight),b=c.getContentHeight(),A=[];f.forEach(S=>{S.isComplete||A.push({top:(S.startLineNumber-1)*y/b*100+"%",height:S.length*y/b*100+"%",className:_.default[S.type]})}),u(A)},[]);return o.default.createElement("div",{className:_.default.minimap_content},h.map((E,f)=>o.default.createElement("span",{key:f,className:(0,r.default)(_.default.block,E.className),style:{top:E.top,height:E.height}})))};t.MiniMap=s},13744:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ScrollSynchronizer=void 0;const n=e(43718),r=e(51472),o=e(66557),l=e(23600);class p extends n.Disposable{constructor(){super(),this._onScrollChange=new n.Emitter,this.onScrollChange=this._onScrollChange.event}mount(m,_,s){this.addDispose(n.Event.buffer(this.onScrollChange)(({event:g,editor:a})=>{if(!g.scrollTopChanged&&!g.scrollLeftChanged&&!g.scrollHeightChanged)return;let h=[null,null];a instanceof r.CurrentCodeEditor?h=[_,s]:a instanceof l.ResultCodeEditor?h=[m,s]:a instanceof o.IncomingCodeEditor&&(h=[m,_]),h.length===2&&h.forEach(u=>{u.getEditor().setScrollPosition({scrollLeft:g.scrollLeft,scrollTop:g.scrollTop})})})),this.addDispose(m.getEditor().onDidScrollChange(g=>{this._onScrollChange.fire({event:g,editor:m})})),this.addDispose(s.getEditor().onDidScrollChange(g=>{this._onScrollChange.fire({event:g,editor:s})})),this.addDispose(_.getEditor().onDidScrollChange(g=>{this._onScrollChange.fire({event:g,editor:_})}))}}t.ScrollSynchronizer=p},22883:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StickinessConnectManager=t.WithViewStickinessConnectComponent=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(43718),p=e(31324),v=e(96177),m=e(69972),_=e(24093),s=n.__importDefault(e(89543)),g=({piece:u})=>{const{leftTop:d,rightTop:E,leftBottom:f,rightBottom:c}=u.path,y=()=>r.default.createElement(r.default.Fragment,null,r.default.createElement("path",{className:u.rangeType,strokeOpacity:0,d:`M0,${d} L${u.width},${E} L${u.width},${c} L0,${f} z`}),r.default.createElement("path",{className:u.rangeType,fillOpacity:0,strokeLinecap:"round",strokeWidth:2,d:`M0,${d} L${u.width},${E} M${u.width},${c} L0,${f}`})),b=()=>r.default.createElement("path",{className:u.rangeType,fillOpacity:0,strokeDasharray:3,strokeWidth:2,d:`M0,${d} L${u.width},${E} M${u.width},${c} L0,${f}`});return r.default.createElement("div",{className:s.default.piece_view_lines,style:{top:u.position.top,width:u.width}},r.default.createElement("svg",{viewBox:`0 0 ${u.width} ${u.height}`,style:{height:u.height}},u.isComplete?b():y()))},a=({contrastType:u})=>{const d=(0,o.useInjectable)(v.MergeEditorService),[E,f]=r.default.useState([]);return r.default.useEffect(()=>{const c=new l.Disposable;return c.addDispose(l.Event.filter(d.stickinessConnectManager.onDidChangePiece,({editorType:y})=>y===u)(({pieces:y})=>{f(y)})),c.addDispose(d.scrollSynchronizer.onScrollChange(()=>{const[y,b]=d.stickinessConnectManager.getScrollTopWithBoth(u),A=E.map(S=>S.movePosition(y,b));f(A)})),()=>c.dispose()},[d,E]),r.default.createElement("div",{className:s.default.stickiness_connect_container},E.map((c,y)=>r.default.createElement(g,{key:y,piece:c})))};t.WithViewStickinessConnectComponent=a;class h extends l.Disposable{constructor(){super(),this._onDidChangePiece=new l.Emitter,this.onDidChangePiece=this._onDidChangePiece.event}generatePiece(d,E,f,c=0){const y=[],{marginWidth:b,lineHeight:A}=f;return d.forEach((S,w)=>{const T=E[w],D=Math.min(S.startLineNumber,T.startLineNumber),I=Math.max(S.endLineNumberExclusive,T.endLineNumberExclusive),R=b,P=A*(I-D),O={top:(D-1)*A},M={leftTop:Math.abs(D-S.startLineNumber)*A,rightTop:Math.abs(D-T.startLineNumber)*A,leftBottom:(S.endLineNumberExclusive-D)*A,rightBottom:(T.endLineNumberExclusive-D)*A};y.push(new m.StickyPieceModel(R,P,M,O,s.default[S.type],c===0?S.isComplete:T.isComplete))}),y}computePiece(d){if(d===_.EditorViewType.RESULT||!(this.currentView||this.resultView||this.incomingView))return;const E=d===_.EditorViewType.CURRENT?this.currentView:this.incomingView,{documentMapping:f}=E,[c,y]=[f.getOriginalRange(),f.getModifiedRange()],b=E.getEditor().getOption(p.EditorOption.lineHeight);let S=(d===_.EditorViewType.CURRENT?this.resultView.getEditor().getLayoutInfo():this.incomingView.getEditor().getLayoutInfo()).contentLeft;const w=(d===_.EditorViewType.CURRENT?this.resultView:this.incomingView).getEditor().getOption(p.EditorOption.lineDecorationsWidth);S-=typeof w=="number"?w:0;const T=this.generatePiece(c,y,{marginWidth:S,lineHeight:b},d===_.EditorViewType.INCOMING?1:0).map(D=>D.movePosition(...this.getScrollTopWithBoth(d)));this._onDidChangePiece.fire({pieces:T,editorType:d})}getScrollTopWithBoth(d){if(d===_.EditorViewType.RESULT)return[0,0];if(!(this.currentView||this.resultView||this.incomingView))return[0,0];let E,f;return d===_.EditorViewType.CURRENT?(E=this.currentView.getEditor(),f=this.resultView.getEditor()):d===_.EditorViewType.INCOMING&&(E=this.resultView.getEditor(),f=this.incomingView.getEditor()),E&&f?[E.getScrollTop(),f.getScrollTop()]:[0,0]}mount(d,E,f){this.currentView=d,this.resultView=E,this.incomingView=f,this.addDispose(l.Event.debounce(d.onDidChangeDecorations,()=>{},1)(()=>{this.computePiece(_.EditorViewType.CURRENT)})),this.addDispose(l.Event.debounce(f.onDidChangeDecorations,()=>{},1)(()=>{this.computePiece(_.EditorViewType.INCOMING)}))}}t.StickinessConnectManager=h},67641:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WidgetFactory=t.defaultPositionFactory=void 0;const n=e(41869),r=l=>new n.Position(l.endLineNumberExclusive,1);t.defaultPositionFactory=r;class o{constructor(p,v,m,_=t.defaultPositionFactory){this.contentWidget=p,this.editor=v,this.injector=m,this.positionFactory=_,this.widgetMap=new Map}hasWidget(p){return this.widgetMap.get(p.id)!==void 0}hideAll(){this.widgetMap.forEach(p=>{p.hide()}),this.widgetMap.clear()}hideWidget(p){const v=this.widgetMap.get(p);v&&(v.hide(),this.widgetMap.delete(p))}addWidget(p,...v){const m=p.id;this.widgetMap.has(m)&&this.hideWidget(m);const _=this.positionFactory(p),s=this.injector.get(this.contentWidget,[m,this.editor,p,...v]);s.show({position:_}),this.widgetMap.set(m,s)}}t.WidgetFactory=o},92572:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResolveResultWidget=t.WapperAIInlineResult=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(76003),l=e(97267),p=e(81878),v=e(89195),m=e(66205),_=e(43718),s=e(52659),g=e(75526),a=e(24093),h=d=>{const{iconItems:E,isRenderThumbs:f,codeEditor:c,range:y,id:b,disablePopover:A=!1}=d,[S,w]=r.default.useState(!1),T=(0,r.useMemo)(()=>(0,_.uuid)(4),[]),D=(0,r.useCallback)(F=>{F.stopPropagation(),F.preventDefault(),w(!1)},[S]),I=(0,r.useCallback)(F=>{F.stopPropagation(),F.preventDefault(),D(F),R()},[S]),R=(0,r.useCallback)(()=>{c.launchConflictActionsEvent({range:y,action:a.AI_RESOLVE_REGENERATE_ACTIONS,reason:a.ECompleteReason.UserManual}),c.hideResolveResultWidget(b)},[y,c,b]),P=(0,r.useMemo)(()=>r.default.createElement("div",{style:{padding:"8px 12px"}},r.default.createElement(p.DialogContent,{type:"confirm",buttons:[r.default.createElement(l.Button,{size:"small",onClick:D,type:"secondary"},(0,_.localize)("ButtonCancel")),r.default.createElement(l.Button,{size:"small",onClick:I},(0,_.localize)("ButtonOK"))],icon:{color:"var(--notificationsWarningIcon-foreground)",className:"question-circle"},title:(0,_.localize)("aiNative.resolve.conflict.dialog.afresh"),message:(0,_.localize)("aiNative.resolve.conflict.dialog.detection"),visible:!0,messageType:_.MessageType.Warning})),[S]),O=(0,r.useCallback)(()=>r.default.createElement(p.Popover,{visible:S,id:T,content:P,position:p.PopoverPosition.bottom},r.default.createElement("span",null,(0,_.localize)("aiNative.operate.afresh.title"))),[S]),M=(0,r.useCallback)(()=>{var F;const B=y.getIntelligentStateModel().answerCode,U=((F=c.editor.getModel())===null||F===void 0?void 0:F.getValueInRange(y.toRange()))||"";if(B.trim()===U.trim())R();else{if(A){R();return}w(!0)}},[y,c,S,A]),k=(0,r.useMemo)(()=>E.concat([{icon:"afresh",text:O(),onClick:M}]),[E,S]);return r.default.createElement(v.AIInlineResult,{iconItems:k,isRenderThumbs:f})};t.WapperAIInlineResult=h;let u=class extends s.ReactInlineContentWidget{constructor(E,f,c){super(f.editor),this.uid=E,this.codeEditor=f,this.lineRange=c}isRenderThumbs(){return!0}iconItems(){return[{icon:"discard",text:(0,_.localize)("aiNative.operate.discard.title"),onClick:()=>{this.codeEditor.launchConflictActionsEvent({range:this.lineRange,action:a.REVOKE_ACTIONS,reason:a.ECompleteReason.UserManual}),this.codeEditor.hideResolveResultWidget()}}]}renderView(){const E=this.iconItems(),f=this.isRenderThumbs();return r.default.createElement(m.ContentWidgetContainerPanel,{style:{transform:"translateY(4px)"}},r.default.createElement(t.WapperAIInlineResult,{id:this.uid,iconItems:E,isRenderThumbs:f,codeEditor:this.codeEditor,range:this.lineRange}))}id(){return`${a.AIResolveConflictContentWidget}_${this.uid}`}};t.ResolveResultWidget=u,t.ResolveResultWidget=u=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String,Object,g.LineRange])],u)},80922:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StopWidget=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(76003),l=e(89195),p=e(66205),v=e(43718),m=e(92572);let _=class extends m.ResolveResultWidget{isRenderThumbs(){return!1}iconItems(){return[{icon:"circle-pause",text:(0,v.localize)("aiNative.operate.stop.title"),onClick:()=>{this.codeEditor.cancelRequestToken(this.lineRange.id),this.codeEditor.hideStopWidget(this.lineRange.id)}}]}id(){return`${super.id()}_stop_${this.uid}`}renderView(){const g=this.iconItems(),a=this.isRenderThumbs();return r.default.createElement(p.ContentWidgetContainerPanel,{style:{transform:"translateY(4px)"}},r.default.createElement(l.AIInlineResult,{iconItems:g,isRenderThumbs:a}))}};t.StopWidget=_,t.StopWidget=_=n.__decorate([(0,o.Injectable)({multiple:!0})],_)},96714:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResourceLabel=void 0;const n=e(85608),r=e(41869),o=n.__importDefault(e(43629));class l{constructor(v){this.element=v}setUri(v,m){this.renderFile(r.URI.from(v),m)}renderFile(v,m){const _=(0,r.getResourceIconClass)(v);this.element.innerHTML=`<span class="${o.default.resourceLabel}${m?.strikethrough?" strikethrough":""}"><span class="${_.iconClass}"></span>${v.displayName}</span>`}clear(){this.element.innerHTML=""}}t.ResourceLabel=l},62660:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ITextmateTokenizer=void 0,t.ITextmateTokenizer=Symbol("ITextmateTokenizer")},28694:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchyProviderRegistry=t.ITypeHierarchyService=void 0;const n=e(40497);t.ITypeHierarchyService=Symbol("ITypeHierarchyService"),t.TypeHierarchyProviderRegistry=new n.LanguageFeatureRegistry},62663:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoModule=t.monacoBrowser=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(99721),p=e(70238),v=e(62501),m=n.__importDefault(e(44161)),_=e(80405),s=e(30198);e(89543),t.monacoBrowser=n.__importStar(e(23773));let g=class extends o.BrowserModule{constructor(){super(...arguments),this.contributionProvider=[o.MonacoContribution,o.JsonSchemaContribution],this.providers=[v.MonacoClientContribution,{token:o.MonacoService,useClass:m.default},{token:o.ISchemaStore,useClass:s.SchemaStore},{token:o.MonacoOverrideServiceRegistry,useClass:_.MonacoOverrideServiceRegistryImpl},{token:o.IJSONSchemaRegistry,useClass:s.SchemaRegistry},{token:o.IContextKeyService,useClass:p.MonacoContextKeyService},{token:l.IConfigurationService,useClass:p.ConfigurationService}]}};t.MonacoModule=g,t.MonacoModule=g=n.__decorate([(0,r.Injectable)()],g)},18981:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IMarkerData=void 0,t.createMonacoEditorApi=a;const n=e(80673),r=e(19582),o=e(31324),l=e(74444),p=e(6727),v=e(53092),m=e(43255),_=e(42529),s=e(25061),g=e(34835);Object.defineProperty(t,"IMarkerData",{enumerable:!0,get:function(){return g.IMarkerData}});function a(){return Object.freeze({create:_.create,onDidCreateEditor:_.onDidCreateEditor,createDiffEditor:_.createDiffEditor,createMultiFileDiffEditor:_.createMultiFileDiffEditor,createModel:_.createModel,setModelLanguage:_.setModelLanguage,setModelMarkers:_.setModelMarkers,getModelMarkers:_.getModelMarkers,getModels:_.getModels,getModel:_.getModel,onDidCreateModel:_.onDidCreateModel,onWillDisposeModel:_.onWillDisposeModel,onDidChangeModelLanguage:_.onDidChangeModelLanguage,createWebWorker:_.createWebWorker,colorizeElement:_.colorizeElement,colorize:_.colorize,colorizeModelLine:_.colorizeModelLine,tokenize:_.tokenize,defineTheme:_.defineTheme,setTheme:_.setTheme,remeasureFonts:_.remeasureFonts,AccessibilitySupport:s.AccessibilitySupport,ContentWidgetPositionPreference:r.ContentWidgetPositionPreference,CursorChangeReason:p.CursorChangeReason,DefaultEndOfLine:m.DefaultEndOfLine,EditorAutoIndentStrategy:o.EditorAutoIndentStrategy,EditorOption:o.EditorOption,EndOfLinePreference:m.EndOfLinePreference,EndOfLineSequence:m.EndOfLineSequence,MinimapPosition:m.MinimapPosition,MouseTargetType:r.MouseTargetType,OverlayWidgetPositionPreference:r.OverlayWidgetPositionPreference,OverviewRulerLane:m.OverviewRulerLane,RenderLineNumbersType:o.RenderLineNumbersType,RenderMinimap:o.RenderMinimap,ScrollbarVisibility:n.ScrollbarVisibility,ScrollType:v.ScrollType,TextEditorCursorBlinkingStyle:o.TextEditorCursorBlinkingStyle,TextEditorCursorStyle:o.TextEditorCursorStyle,TrackedRangeStickiness:m.TrackedRangeStickiness,WrappingIndent:o.WrappingIndent,ConfigurationChangedEvent:o.ConfigurationChangedEvent,BareFontInfo:l.BareFontInfo,FontInfo:l.FontInfo,TextModelResolvedOptions:m.TextModelResolvedOptions,FindMatch:m.FindMatch,EditorType:v.EditorType,EditorOptions:o.EditorOptions})}},52902:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResourceEdit=t.URI=t.monacoApi=t.monaco=void 0;const n=e(31324),r=e(18981),o=e(79865);n.EditorOptions.wrappingIndent.defaultValue=n.WrappingIndent.None,n.EditorOptions.glyphMargin.defaultValue=!1,n.EditorOptions.autoIndent.defaultValue=n.EditorAutoIndentStrategy.Advanced,n.EditorOptions.overviewRulerLanes.defaultValue=2,t.monaco=Object.freeze({editor:(0,r.createMonacoEditorApi)(),languages:(0,o.createMonacoLanguageApi)()}),t.monacoApi=t.monaco;var l=e(26592);Object.defineProperty(t,"URI",{enumerable:!0,get:function(){return l.URI}});var p=e(4225);Object.defineProperty(t,"ResourceEdit",{enumerable:!0,get:function(){return p.ResourceEdit}})},79865:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.languageFeaturesService=void 0,t.createMonacoLanguageApi=p;const n=e(40540),r=e(93782),o=e(1728),l=e(16781);function p(){return Object.freeze({register:o.register,getLanguages:o.getLanguages,onLanguage:o.onLanguage,getEncodedLanguageId:o.getEncodedLanguageId,setLanguageConfiguration:o.setLanguageConfiguration,setTokensProvider:o.setTokensProvider,setMonarchTokensProvider:o.setMonarchTokensProvider,registerReferenceProvider:o.registerReferenceProvider,registerRenameProvider:o.registerRenameProvider,registerSignatureHelpProvider:o.registerSignatureHelpProvider,registerHoverProvider:o.registerHoverProvider,registerDocumentSymbolProvider:o.registerDocumentSymbolProvider,registerDocumentHighlightProvider:o.registerDocumentHighlightProvider,registerDefinitionProvider:o.registerDefinitionProvider,registerImplementationProvider:o.registerImplementationProvider,registerTypeDefinitionProvider:o.registerTypeDefinitionProvider,registerCodeLensProvider:o.registerCodeLensProvider,registerCodeActionProvider:o.registerCodeActionProvider,registerDocumentFormattingEditProvider:o.registerDocumentFormattingEditProvider,registerDocumentRangeFormattingEditProvider:o.registerDocumentRangeFormattingEditProvider,registerOnTypeFormattingEditProvider:o.registerOnTypeFormattingEditProvider,registerLinkProvider:o.registerLinkProvider,registerColorProvider:o.registerColorProvider,registerFoldingRangeProvider:o.registerFoldingRangeProvider,registerDeclarationProvider:o.registerDeclarationProvider,registerSelectionRangeProvider:o.registerSelectionRangeProvider,registerCompletionItemProvider:o.registerCompletionItemProvider,registerInlineCompletionsProvider:o.registerInlineCompletionsProvider,registerNewSymbolNameProvider:o.registerNewSymbolNameProvider,FoldingRangeKind:n.FoldingRangeKind,onLanguageEncountered:o.onLanguageEncountered,registerDocumentRangeSemanticTokensProvider:o.registerDocumentRangeSemanticTokensProvider,registerInlineEditProvider:o.registerInlineEditProvider,registerTokensProviderFactory:o.registerTokensProviderFactory,registerLinkedEditingRangeProvider:o.registerLinkedEditingRangeProvider,registerDocumentSemanticTokensProvider:o.registerDocumentSemanticTokensProvider,registerInlayHintsProvider:o.registerInlayHintsProvider,setColorMap:o.setColorMap})}t.languageFeaturesService=l.StandaloneServices.get(r.ILanguageFeaturesService)},60304:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StandaloneServices=void 0,t.createStaticServiceApi=S;const n=e(4225),r=e(75189),o=e(14162),l=e(28240),p=e(91686),v=e(87822),m=e(88208),_=e(16781);Object.defineProperty(t,"StandaloneServices",{enumerable:!0,get:function(){return _.StandaloneServices}});const s=e(7760),g=e(71827),a=e(99721),h=e(23268),u=e(30551),d=e(98793),E=e(54777),f=e(34835),c=e(18407),y=e(5863),b=e(74745),A=e(11619);function S(){return Object.freeze({configurationService:_.StandaloneServices.get(a.IConfigurationService),resourceConfigurationService:_.StandaloneServices.get(m.ITextResourceConfigurationService),contextService:_.StandaloneServices.get(h.IContextKeyService),labelService:_.StandaloneServices.get(d.ILabelService),telemetryService:_.StandaloneServices.get(A.ITelemetryService),dialogService:_.StandaloneServices.get(u.IDialogService),notificationService:_.StandaloneServices.get(c.INotificationService),markerService:_.StandaloneServices.get(f.IMarkerService),modeService:_.StandaloneServices.get(o.ILanguageService),languageService:_.StandaloneServices.get(o.ILanguageService),markerDecorationsService:_.StandaloneServices.get(p.IMarkerDecorationsService),standaloneThemeService:_.StandaloneServices.get(s.IStandaloneThemeService),logService:_.StandaloneServices.get(E.ILogService),modelService:_.StandaloneServices.get(v.IModelService),codeEditorService:_.StandaloneServices.get(r.ICodeEditorService),editorProgressService:_.StandaloneServices.get(y.IEditorProgressService),storageService:_.StandaloneServices.get(b.IStorageService),editorWorkerService:_.StandaloneServices.get(l.IEditorWorkerService),bulkEditService:_.StandaloneServices.get(n.IBulkEditService),commandService:_.StandaloneServices.get(g.ICommandService)})}},68475:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(91405),t)},90052:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContentWidgetPositionPreference=t.MouseTargetType=void 0;var n=e(19582);Object.defineProperty(t,"MouseTargetType",{enumerable:!0,get:function(){return n.MouseTargetType}}),Object.defineProperty(t,"ContentWidgetPositionPreference",{enumerable:!0,get:function(){return n.ContentWidgetPositionPreference}})},23773:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.editor=void 0;const n=e(85608);t.editor=n.__importStar(e(90052))},74386:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoMenus=void 0;const n=e(41869);var r;(function(o){o.SELECTION_GROUP={id:"1_selection_group",actions:[n.EDITOR_COMMANDS.SELECT_ALL.id,"editor.action.smartSelect.expand","editor.action.smartSelect.shrink"]},o.SELECTION_MOVE_GROUP={id:"2_copy_move_group",actions:["editor.action.copyLinesUpAction","editor.action.copyLinesDownAction","editor.action.moveLinesUpAction","editor.action.moveLinesDownAction"]},o.SELECTION_CURSOR_GROUP={id:"3_cursor_group",actions:["editor.action.insertCursorAbove","editor.action.insertCursorBelow","editor.action.insertCursorAtEndOfEachLineSelected","editor.action.addSelectionToNextFindMatch","editor.action.addSelectionToPreviousFindMatch","editor.action.selectHighlights"]},o.SELECTION_GROUPS=[o.SELECTION_GROUP,o.SELECTION_MOVE_GROUP,o.SELECTION_CURSOR_GROUP]})(r||(t.MonacoMenus=r={}))},32002:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoSnippetSuggestion=t.JsonSerializedSnippet=t.MonacoSnippetSuggestProvider=void 0;const r=e(85608),o=r.__importStar(e(23304)),l=e(76003),p=e(43718),v=e(42933),m=e(57711),_=r.__importStar(e(33096)),s=e(79865),{Path:g}=p.path;let a=n=class{constructor(){this._debugDisplayName="MonacoSnippetSuggestProvider",this.snippets=new Map,this.pendingSnippets=new Map}get registeredLanguageIds(){const E=[];return this.pendingSnippets.forEach((f,c)=>{c!=="*"&&E.push(c)}),E}async provideCompletionItems(E,f,c,y){if(f.column>=n._maxPrefix||c.triggerKind===_.languages.CompletionTriggerKind.TriggerCharacter&&c.triggerCharacter===" ")return;const b=E.getLanguageId();await this.loadSnippets(b);const A=this.snippets.get(b)||[],S={lineNumber:f.lineNumber,column:1},w=[],D=E.getLineContent(f.lineNumber).substr(0,f.column-1).toLowerCase(),I=D.match(/\s$/);for(;S.column<f.column;){const O=E.getWordAtPosition(S);O?(w.push(O.startColumn-1),S.column=O.endColumn+1,O.endColumn-1<D.length&&!/\s/.test(D[O.endColumn-1])&&w.push(O.endColumn-1)):(/\s/.test(D[S.column-1])||w.push(S.column-1),S.column+=1)}const R=new Set;A.forEach(R.add,R);const P=[];for(const O of w)R.forEach(M=>{(0,p.isPatternInWord)(D,O,D.length,M.prefix.toLowerCase(),0,M.prefix.length)&&(P.push(new u(M,_.Range.fromPositions(f.delta(0,-(D.length-O)),f))),R.delete(M))});(I||w.length===0)&&R.forEach(O=>{P.push(new u(O,_.Range.fromPositions(f)))}),P.sort(u.compareByLabel);for(let O=0;O<P.length;O++){const M=P[O];let k=O+1;for(;k<P.length&&M.label===P[k].label;k++)P[k].label=(0,p.localize)("snippetSuggest.longLabel",P[k].label,P[k].snippet.name);k>O+1&&(P[O].label=(0,p.localize)("snippetSuggest.longLabel",P[O].label,P[O].snippet.name),O=k)}return{suggestions:P}}resolveCompletionItem(E,f){return Promise.resolve(E)}async loadSnippets(E){const f=[];f.push(...this.pendingSnippets.get(E)||[]),f.push(...this.pendingSnippets.get("*")||[]),f.length&&await Promise.all(f)}fromPath(E,f){const c=new p.DisposableCollection(p.Disposable.create(()=>{})),y=new g(f.extPath).join(E.replace(/^\.\//,"")).toString(),b=this.loadURI(p.Uri.file(y),f,c),{language:A}=f,S=Array.isArray(A)?A:A?[A]:["*"];for(const w of S){const T=this.pendingSnippets.get(w)||[];T.push(b),this.pendingSnippets.set(w,T),c.push(p.Disposable.create(()=>{const D=T.indexOf(b);D!==-1&&T.splice(D,1),this.pendingSnippets.delete(w)}))}return c}async loadURI(E,f,c){try{const{content:y}=await this.filesystem.resolveContent(E.toString(),{encoding:"utf-8"});if(c.disposed)return;const b=y&&o.parse(y,void 0,{disallowComments:!1});c.push(this.fromJSON(b,f))}catch(y){this.logger.error(y)}}fromJSON(E,{language:f,source:c}){const y=new p.DisposableCollection;return this.parseSnippets(E,(b,A)=>{let{prefix:S,body:w,description:T}=A;if(Array.isArray(w)&&(w=w.join(`
|
|
32223
32225
|
`)),typeof w!="string")return;const D=[];if(f)Array.isArray(f)?D.push(...f):D.push(f);else if(typeof A.scope=="string")for(const I of A.scope.split(",")){const R=I.trim();R&&D.push(R)}if(Array.isArray(S))for(const I of S)y.push(this.push({scopes:D,name:b,prefix:I,description:T,body:w,source:c}));else y.push(this.push({scopes:D,name:b,prefix:S,description:T,body:w,source:c}))}),y}parseSnippets(E,f){if(typeof E=="object")for(const c in E){const y=E[c];h.is(y)?f(c,y):this.parseSnippets(y,f)}}push(...E){const f=new p.DisposableCollection;for(const c of E)for(const y of c.scopes){const b=this.snippets.get(y)||[];b.push(c),this.snippets.set(y,b),f.push(p.Disposable.create(()=>{const A=b.indexOf(c);A!==-1&&(b.splice(A,1),this.snippets.delete(y))}))}return f}registerSnippetsProvider(){return s.languageFeaturesService.completionProvider.register(this.registeredLanguageIds,this)}};t.MonacoSnippetSuggestProvider=a,a._maxPrefix=1e4,r.__decorate([(0,l.Autowired)(v.IFileServiceClient),r.__metadata("design:type",Object)],a.prototype,"filesystem",void 0),r.__decorate([(0,l.Autowired)(p.ILogger),r.__metadata("design:type",Object)],a.prototype,"logger",void 0),t.MonacoSnippetSuggestProvider=a=n=r.__decorate([(0,l.Injectable)()],a);var h;(function(d){function E(f){return typeof f=="object"&&"body"in f&&"prefix"in f}d.is=E})(h||(t.JsonSerializedSnippet=h={}));class u{static compareByLabel(E,f){return E.label>f.label?1:E.label<f.label?-1:0}constructor(E,f){this.snippet=E,this.noAutoAccept=!0,this.type="snippet",this.snippetType="textmate",this.kind=_.languages.CompletionItemKind.Snippet,this.insertTextRules=_.languages.CompletionItemInsertTextRule.InsertAsSnippet,this.resolved=!1,this.label=E.prefix,this.detail=`${E.description||E.name} (${E.source})`,this.insertText=E.body,this.sortText=`z-${E.prefix}`,this.range=f}resolve(){if(!this.resolved){const E=new m.SnippetParser().parse(this.snippet.body).toString();this.documentation={value:"```\n"+E+"```"},this.resolved=!0}return this}}t.MonacoSnippetSuggestion=u},70238:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoContextKeyService=t.ConfigurationService=void 0,t.isContextKeyService=d;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),p=e(51500),v=e(65034),m=e(16781),_=e(99721),s=e(86141),g=e(23268),a=e(60797),h="data-keybinding-context";let u=class extends l.Disposable{constructor(){super(),this._onDidChangeConfiguration=new v.Emitter,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this.preferenceService.onPreferencesChanged(this.triggerPreferencesChanged,this,this.disposables);const b=m.StandaloneServices.get(_.IConfigurationService);b.getValue=this.getValue.bind(this),b.updateValue=this.updateValue.bind(this),b.inspect=this.inspect.bind(this)}keys(){return this.logger.error("MonacoConfigurationService#keys not implement"),{default:[],user:[],workspace:[],workspaceFolder:[],memory:[]}}triggerPreferencesChanged(b){const A=Object.values(b),S=A.filter(I=>I.scope===o.PreferenceScope.Default),w=A.filter(I=>I.scope===o.PreferenceScope.User),T=A.filter(I=>I.scope===o.PreferenceScope.Workspace),D=A.filter(I=>I.scope===o.PreferenceScope.Folder);S.length&&this._onDidChangeConfiguration.fire({affectedKeys:new Set(S.map(I=>I.preferenceName)),source:_.ConfigurationTarget.DEFAULT,change:{keys:[],overrides:[]},affectsConfiguration(I){return!0}}),w.length&&this._onDidChangeConfiguration.fire({affectedKeys:new Set(w.map(I=>I.preferenceName)),source:_.ConfigurationTarget.USER,change:{keys:[],overrides:[]},affectsConfiguration(I){return!0}}),T.length&&this._onDidChangeConfiguration.fire({affectedKeys:new Set(T.map(I=>I.preferenceName)),source:_.ConfigurationTarget.WORKSPACE,change:{keys:[],overrides:[]},affectsConfiguration(I){return!0}}),D.length&&this._onDidChangeConfiguration.fire({affectedKeys:new Set(D.map(I=>I.preferenceName)),source:this.workspaceService.isMultiRootWorkspaceOpened?_.ConfigurationTarget.WORKSPACE_FOLDER:_.ConfigurationTarget.WORKSPACE,change:{keys:[],overrides:[]},affectsConfiguration(I){return!0}})}getValue(b,A){let S;typeof b!="string"?(A=b,S=void 0):S=b;const w=A&&"overrideIdentifier"in A&&A.overrideIdentifier||void 0,T=A&&"resource"in A&&!!A.resource&&A.resource.toString(),D=(0,o.createPreferenceProxy)(this.preferenceService,this.preferenceSchemaProvider.getCombinedSchema(),{resourceUri:T||void 0,overrideIdentifier:w,style:"both"});return S?D[S]:D}async updateValue(b,A,S,w,T){let D=o.PreferenceScope.Default;typeof w=="number"?D=this.getPreferenceScope(w):typeof S=="number"&&(D=this.getPreferenceScope(S));const I=typeof S=="object"&&"overrideIdentifier"in S&&S.overrideIdentifier||void 0,R=typeof S=="object"&&"resource"in S&&!!S.resource&&S.resource.toString();this.preferenceService.set(b,A,D,R||"",I)}inspect(b,A){const S=typeof A=="object"&&"overrideIdentifier"in A&&A.overrideIdentifier||void 0,w=typeof A=="object"&&"resource"in A&&!!A.resource&&A.resource.toString(),T=this.preferenceService.inspect(b,w||"",S),D=typeof T?.workspaceFolderValue<"u"?T?.workspaceFolderValue:typeof T?.workspaceValue<"u"?T?.workspaceValue:typeof T?.globalValue<"u"?T?.globalValue:typeof T?.defaultValue<"u"?T?.defaultValue:void 0;return{defaultValue:T?.defaultValue,userValue:T?.globalValue,userLocalValue:T?.globalValue,userRemoteValue:T?.globalValue,workspaceValue:T?.workspaceValue,workspaceFolderValue:T?.workspaceFolderValue,memoryValue:void 0,value:D,default:{value:T?.defaultValue,override:S?T?.defaultValue:void 0},user:{value:T?.globalValue,override:S?T?.globalValue:void 0},userLocal:{value:T?.globalValue,override:S?T?.globalValue:void 0},userRemote:{value:T?.globalValue,override:S?T?.globalValue:void 0},workspace:{value:T?.workspaceValue,override:S?T?.workspaceValue:void 0},workspaceFolder:{value:T?.workspaceFolderValue,override:S?T?.workspaceFolderValue:void 0},overrideIdentifiers:S?[S]:void 0}}async reloadConfiguration(b){throw new Error("MonacoContextKeyService#reloadConfiguration method not implement")}getPreferenceScope(b){let A;return b===_.ConfigurationTarget.DEFAULT?A=o.PreferenceScope.Default:b===_.ConfigurationTarget.USER||b===_.ConfigurationTarget.USER_LOCAL||b===_.ConfigurationTarget.USER_REMOTE?A=o.PreferenceScope.User:b===_.ConfigurationTarget.WORKSPACE?A=o.PreferenceScope.Workspace:b===_.ConfigurationTarget.WORKSPACE_FOLDER?A=o.PreferenceScope.Folder:A=o.PreferenceScope.Default,A}getConfigurationData(){throw new Error("MonacoContextKeyService#getConfigurationData method not implement")}};t.ConfigurationService=u,n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],u.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceSchemaProvider),n.__metadata("design:type",o.PreferenceSchemaProvider)],u.prototype,"preferenceSchemaProvider",void 0),n.__decorate([(0,r.Autowired)(p.IWorkspaceService),n.__metadata("design:type",Object)],u.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],u.prototype,"logger",void 0),t.ConfigurationService=u=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],u);function d(y){return y._myContextId!==void 0}let E=class extends l.Disposable{constructor(){super(),this._onDidChangeContext=new o.Emitter,this.onDidChangeContext=this._onDidChangeContext.event,this.expressions=new Map}bufferChangeEvents(b){this.contextKeyService.bufferChangeEvents(b)}listenToContextChanges(){this.addDispose(this.contextKeyService.onDidChangeContext(b=>{this._onDidChangeContext.fire(new o.ContextKeyChangeEvent(b))}))}createKey(b,A){return this.contextKeyService.createKey(b,A)}getKeysInWhen(b){let A;return typeof b=="string"&&(A=this.parse(b)),A?A.keys():[]}getContextKeyValue(b){return this.contextKeyService.getContextKeyValue(b)}getValue(b){return this.contextKeyService.getContextKeyValue(b)}createScoped(b){if(b&&d(b))return this.injector.get(c,[b]);{const A=b||document.createElement("div"),S=this.contextKeyService.createScoped(A);return this.injector.get(c,[S])}}parse(b){if(!b)return;let A=this.expressions.get(b);if(!A){const S=g.ContextKeyExpr.deserialize(b);A=S||void 0,this.expressions.set(b,A)}return A}dispose(){this.contextKeyService.dispose()}};n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],E.prototype,"injector",void 0),E=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],E);let f=class extends E{constructor(){super(),this.contextKeyService=new s.ContextKeyService(this.configurationService),this.listenToContextChanges()}match(b,A){try{const S=A||(window.document.activeElement instanceof HTMLElement?window.document.activeElement:void 0);let w;if(typeof b=="string"?w=this.parse(b):w=b,!S)return this.contextKeyService.contextMatchesRules(w);const T=this.contextKeyService.getContext(S);return a.KeybindingResolver._contextMatchesRules(T,w)}catch(S){return(0,o.getDebugLogger)().error(S),!1}}};t.MonacoContextKeyService=f,n.__decorate([(0,r.Autowired)(_.IConfigurationService),n.__metadata("design:type",Object)],f.prototype,"configurationService",void 0),t.MonacoContextKeyService=f=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],f);let c=class extends E{constructor(b){super(),this.contextKeyService=b,this.listenToContextChanges()}match(b){try{let A;return typeof b=="string"?A=this.parse(b):A=b,this.contextKeyService.contextMatchesRules(A)}catch(A){return(0,o.getDebugLogger)().error(A),!1}}attachToDomNode(b){this.contextKeyService._domNode&&this.contextKeyService._domNode.removeAttribute(h),this.contextKeyService._domNode=b,this.contextKeyService._domNode.setAttribute(h,String(this.contextKeyService._myContextId))}};c=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[s.ContextKeyService])],c)},62501:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoClientContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),p=e(43718),v=e(52416),m=e(53667),_=e(85521),s=e(97682),g=e(38032),a=e(94170),h=e(61612),u=e(52801),d=e(16781),E=e(7760),f=n.__importStar(e(37347)),c=e(23268),y=e(18895),b=n.__importStar(e(67189)),A=e(33096),S=e(93437),w=e(21880),T=e(62660),D=e(74386),I=e(32002),R=e(89647),P=e(47553),O=e(52197),M=e(9267),k=M.name,F=M.version;let L=class{constructor(){this.toDisposeOnKeybindingChange=new p.DisposableCollection}get editorExtensionsRegistry(){return w.EditorExtensionsRegistry}async initialize(){this.registerOverrideServices();for(const W of this.monacoContributionProvider.getContributions())W.registerOverrideService&&W.registerOverrideService(this.overrideServicesRegistry),W.registerMonacoDefaultFormattingSelector&&W.registerMonacoDefaultFormattingSelector(this.registryDefaultFormattingSelector),W.registerEditorExtensionContribution&&W.registerEditorExtensionContribution((j,G,$)=>{const Z=this.editorExtensionsRegistry.getSomeEditorContributions([j]);if(Z.length===0)(0,s.registerEditorContribution)(j,G,$||s.EditorContributionInstantiation.Eager);else{const Y=(0,p.removeReadonly)(Z[0]);Y.ctor=G,Y.instantiation=$||s.EditorContributionInstantiation.Eager}}),W.registerPlatformLanguageAssociations&&W.registerPlatformLanguageAssociations(j=>{for(const G of j)(0,h.registerPlatformLanguageAssociation)(G,!0)});for(const W of this.schemaContributionProvider.getContributions())W.registerSchema(this.jsonContributionRegistry);this.setSchemaPreferenceListener(this.schemaStore),this.setPreferencesChangeListener(),this.registerMonacoEnvironment(),this.patchMonacoInternalServices(),this.patchMonacoInternalMenus(),this.initTextmateService(),this.keybindings.onKeybindingsChanged(()=>this.updateMonacoKeybindings())}registerMonacoEnvironment(){const W=new WeakRef(this.staticResourceService),j=($,Z)=>{const Y=W.deref();if(!Y)throw new Error(`Unsupported monaco worker: ${$}:${Z}`);const V=Y.resolveStaticResource(p.URI.from({scheme:p.Schemes.monaco,path:"worker",query:JSON.stringify({moduleId:$,label:Z})}));if(V.scheme===p.Schemes.monaco)throw new Error(`Unsupported monaco worker: ${$}:${Z}`);return(0,o.getWorkerBootstrapUrl)(V.toString(),`${$}:${Z}`)},G=($,Z)=>{const Y=j($,Z);return new Worker(Y,{type:"classic",name:Z})};window.MonacoEnvironment||(window.MonacoEnvironment={getWorker:G})}registerOverrideServices(){const W=this.overrideServicesRegistry.getRegisteredService(o.ServiceNames.CODE_EDITOR_SERVICE),j=new d.StandaloneCommandService(d.StandaloneServices.get(y.IInstantiationService));this.monacoCommandService.setDelegate(j),this.overrideServicesRegistry.registerOverrideService(o.ServiceNames.COMMAND_SERVICE,this.monacoCommandService);const G=new g.OpenerService(W,this.monacoCommandService);G.registerOpener({open:$=>this.interceptOpen(new p.URI($.toString()))}),this.overrideServicesRegistry.registerOverrideService(o.ServiceNames.OPENER_SERVICE,G),this.overrideServicesRegistry.registerOverrideService(o.ServiceNames.TELEMETRY_SERVICE,this.injector.get(O.MonacoTelemetryService))}patchMonacoInternalServices(){this.patchMonacoThemeService();const W=this.overrideServicesRegistry.getRegisteredService(o.ServiceNames.CODE_EDITOR_SERVICE);d.StandaloneServices.codeEditorService={get:()=>W}}patchMonacoInternalMenus(){const W=this.injector.get(l.IMenuRegistry),j=f.MenuRegistry;j.getMenuItems(f.MenuId.EditorContext).forEach($=>{const Z=B($);W.registerMenuItem(l.MenuId.EditorContext,Z)}),j.getMenuItems(f.MenuId.EditorContextPeek).forEach($=>{const Z=B($);W.registerMenuItem(f.MenuId.EditorContextPeek,Z)});const G=j.appendMenuItem;j.appendMenuItem=($,Z)=>{const Y=new o.Disposable;return Y.addDispose(G.apply(j,[$,Z])),$===f.MenuId.EditorContext?Y.addDispose(W.registerMenuItem(l.MenuId.EditorContext,B(Z))):Y.addDispose(W.registerMenuItem($,B(Z))),Y}}initTextmateService(){this.textmateService.init(),this.textmateService.initialized=!0}registryDefaultFormattingSelector(W){return u.FormattingConflicts.setFormatterSelector(W)}updateMonacoKeybindings(){const W=b.KeybindingsRegistry;if(W instanceof d.StandaloneKeybindingService){const j=this.keybindings.getKeybindingByScope(o.KeybindingScope.USER);this.toDisposeOnKeybindingChange.dispose();for(const G of j){const $=this.keybindings.resolveKeybinding(G),Z=(0,p.isString)(G.when)?c.ContextKeyExpr.deserialize(G.when):G.when,Y=G.command;this.toDisposeOnKeybindingChange.push(W.addDynamicKeybinding(Y,this.toMonacoKeybindingNumber($),(V,...H)=>this.commandService.executeCommand(Y,...H),Z))}}}toMonacoKeybindingNumber(W){const[j,G]=W;W.length>2&&this.logger.warn("Key chords should not consist of more than two parts; got ",W);const $=this.toSingleMonacoKeybindingNumber(j),Z=G?this.toSingleMonacoKeybindingNumber(G)<<16:0;return A.editor.KeyMod.chord($,Z)}toSingleMonacoKeybindingNumber(W){var j;let $=(((j=W.key)===null||j===void 0?void 0:j.keyCode)!==void 0?R.KEY_CODE_MAP[W.key.keyCode]:0)>>>0&255;return W.alt&&($|=A.editor.KeyMod.Alt),W.shift&&($|=A.editor.KeyMod.Shift),W.ctrl&&($|=A.editor.KeyMod.WinCtrl),W.meta&&p.isOSX&&($|=A.editor.KeyMod.CtrlCmd),$}setPreferencesChangeListener(){this.corePreferences.onPreferenceChanged(W=>{if(W.preferenceName==="files.associations")for(const j of this.monacoContributionProvider.getContributions())j.registerPlatformLanguageAssociations&&j?.registerPlatformLanguageAssociations(G=>{for(const $ of G)(0,h.registerPlatformLanguageAssociation)($,!0)})})}setSchemaPreferenceListener(W){this.schemaStore.onSchemasChanged(()=>{const j=W.getConfigurations();this.preferenceService.set("json.schemas",j,o.PreferenceScope.Default)})}patchMonacoThemeService(){const W=d.StandaloneServices.get(E.IStandaloneThemeService),j=W.getColorTheme.bind(W),G="__patched_getTokenStyleMetadata";W.getColorTheme=()=>{const $=j();return G in $||(Object.defineProperty($,G,{enumerable:!1,configurable:!1,writable:!1,value:!0}),$.getTokenStyleMetadata=(Z,Y,V,H=!0,K={})=>{const{type:Q,language:X}=(0,_.parseClassifierString)(Z,V),oe=$.themeData.getTokenStyle(Q,Y,X,H,K);if(oe)return{foreground:$.themeData.getTokenColorIndex().get(oe.foreground),bold:oe.bold,underline:oe.underline,italic:oe.italic,strikethrough:void 0}}),$},W.getFileIconTheme=()=>this.iconService.currentTheme}registerCommands(){this.monacoActionRegistry.registerMonacoActions()}registerMenus(W){for(const j of D.MonacoMenus.SELECTION_GROUPS)j.actions.forEach((G,$)=>{const Z=this.monacoCommandRegistry.validate(G);Z&&W.registerMenuItem(l.MenuId.MenubarSelectionMenu,{command:Z,group:j.id,order:$})});W.registerMenuItems(l.MenuId.MergeEditorResultTitleContext,[{command:{id:o.EDITOR_COMMANDS.CHANGE_ENCODING.id,label:"Change File Encoding"},group:"navigation"},{command:{id:o.EDITOR_COMMANDS.MERGEEDITOR_RESET.id,label:o.EDITOR_COMMANDS.MERGEEDITOR_RESET.label},group:"navigation"}])}registerKeybindings(W){var j;const G=b.KeybindingsRegistry,$=a.EditorContextKeys.focus,Z=G.getDefaultKeybindings();for(const Y of Z){if(Y.command===S.DELEGATE_COMMANDS.UNDO||Y.command===S.DELEGATE_COMMANDS.REDO||Y.command===S.DELEGATE_COMMANDS.SELECT_ALL)continue;const V=this.monacoCommandRegistry.validate(Y.command);if(V&&Y.keybinding){const H=P.MonacoResolvedKeybinding.toKeybinding(Y.keybinding);let K=Y.when;if(!K)K=$;else if(!K.keys().includes($.key))if(K.type===c.ContextKeyExprType.Or){const X=K.expr;K=c.ContextKeyExpr.or(...X.map(oe=>c.ContextKeyExpr.and(oe,$)))}else K=c.ContextKeyExpr.and(K,$);const Q={command:V,args:Y.commandArgs,keybinding:H,when:(j=K&&K.serialize())!==null&&j!==void 0?j:void 0,priority:(Y.weight1?Y.weight1*100:0)+(Y.weight2||0)};S.SKIP_UNREGISTER_MONACO_KEYBINDINGS.includes(V)||G.registerKeybindingRule({id:`-${V}`,weight:Y.weight1,primary:this.toMonacoKeybindingNumber(o.KeySequence.parse(H)),when:K}),W.registerKeybinding(Q)}}}async interceptOpen(W){try{return await this.openerService.open(W),!0}catch(j){return this.logger.error(j),!1}}registerStaticResolver(W){W.registerStaticResourceProvider({scheme:p.Schemes.monaco,resolveStaticResource:j=>{switch(j.codeUri.path){case"worker":{const $=j.query;if($){const{moduleId:Z}=JSON.parse($);if(Z==="workerMain.js")return p.URI.parse((0,o.getCDNHref)(k,"worker/editor.worker.bundle.js",F,this.appConfig.componentCDNType))}break}}return j}})}};t.MonacoClientContribution=L,n.__decorate([(0,r.Autowired)(o.MonacoContribution),n.__metadata("design:type",Object)],L.prototype,"monacoContributionProvider",void 0),n.__decorate([(0,r.Autowired)(o.JsonSchemaContribution),n.__metadata("design:type",Object)],L.prototype,"schemaContributionProvider",void 0),n.__decorate([(0,r.Autowired)(w.ICommandServiceToken),n.__metadata("design:type",Object)],L.prototype,"monacoCommandService",void 0),n.__decorate([(0,r.Autowired)(w.IMonacoCommandsRegistry),n.__metadata("design:type",Object)],L.prototype,"monacoCommandRegistry",void 0),n.__decorate([(0,r.Autowired)(p.CommandService),n.__metadata("design:type",Object)],L.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(w.IMonacoActionRegistry),n.__metadata("design:type",Object)],L.prototype,"monacoActionRegistry",void 0),n.__decorate([(0,r.Autowired)(T.ITextmateTokenizer),n.__metadata("design:type",Object)],L.prototype,"textmateService",void 0),n.__decorate([(0,r.Autowired)(v.IIconService),n.__metadata("design:type",m.IconService)],L.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],L.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(o.ISchemaStore),n.__metadata("design:type",Object)],L.prototype,"schemaStore",void 0),n.__decorate([(0,r.Autowired)(o.IJSONSchemaRegistry),n.__metadata("design:type",Object)],L.prototype,"jsonContributionRegistry",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],L.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(o.CorePreferences),n.__metadata("design:type",Object)],L.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(_.ISemanticTokenRegistry),n.__metadata("design:type",Object)],L.prototype,"semanticTokenRegistry",void 0),n.__decorate([(0,r.Autowired)(I.MonacoSnippetSuggestProvider),n.__metadata("design:type",I.MonacoSnippetSuggestProvider)],L.prototype,"snippetSuggestProvider",void 0),n.__decorate([(0,r.Autowired)(o.IOpenerService),n.__metadata("design:type",Object)],L.prototype,"openerService",void 0),n.__decorate([(0,r.Autowired)(p.ILogger),n.__metadata("design:type",Object)],L.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(o.MonacoOverrideServiceRegistry),n.__metadata("design:type",o.MonacoOverrideServiceRegistry)],L.prototype,"overrideServicesRegistry",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],L.prototype,"keybindings",void 0),n.__decorate([(0,r.Autowired)(o.StaticResourceService),n.__metadata("design:type",o.StaticResourceService)],L.prototype,"staticResourceService",void 0),n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],L.prototype,"appConfig",void 0),t.MonacoClientContribution=L=n.__decorate([(0,o.Domain)(o.ClientAppContribution,o.CommandContribution,l.MenuContribution,o.KeybindingContribution,o.StaticResourceContribution)],L);function B(U){return f.isIMenuItem(U)?{command:{id:U.command.id,label:typeof U.command.title=="string"?U.command.title:U.command.title.value},group:U.group,when:U.when,order:U.order}:{submenu:U.submenu,label:typeof U.title=="string"?U.title:U.title.value,when:U.when,group:U.group,order:U.order}}},89647:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KEY_CODE_MAP=void 0;const n=e(43718),r=e(85139);t.KEY_CODE_MAP=[],t.KEY_CODE_MAP[3]=r.KeyCode.PauseBreak,t.KEY_CODE_MAP[8]=r.KeyCode.Backspace,t.KEY_CODE_MAP[9]=r.KeyCode.Tab,t.KEY_CODE_MAP[13]=r.KeyCode.Enter,t.KEY_CODE_MAP[16]=r.KeyCode.Shift,t.KEY_CODE_MAP[17]=r.KeyCode.Ctrl,t.KEY_CODE_MAP[18]=r.KeyCode.Alt,t.KEY_CODE_MAP[19]=r.KeyCode.PauseBreak,t.KEY_CODE_MAP[20]=r.KeyCode.CapsLock,t.KEY_CODE_MAP[27]=r.KeyCode.Escape,t.KEY_CODE_MAP[32]=r.KeyCode.Space,t.KEY_CODE_MAP[33]=r.KeyCode.PageUp,t.KEY_CODE_MAP[34]=r.KeyCode.PageDown,t.KEY_CODE_MAP[35]=r.KeyCode.End,t.KEY_CODE_MAP[36]=r.KeyCode.Home,t.KEY_CODE_MAP[37]=r.KeyCode.LeftArrow,t.KEY_CODE_MAP[38]=r.KeyCode.UpArrow,t.KEY_CODE_MAP[39]=r.KeyCode.RightArrow,t.KEY_CODE_MAP[40]=r.KeyCode.DownArrow,t.KEY_CODE_MAP[45]=r.KeyCode.Insert,t.KEY_CODE_MAP[46]=r.KeyCode.Delete,t.KEY_CODE_MAP[48]=r.KeyCode.Digit0,t.KEY_CODE_MAP[49]=r.KeyCode.Digit1,t.KEY_CODE_MAP[50]=r.KeyCode.Digit2,t.KEY_CODE_MAP[51]=r.KeyCode.Digit3,t.KEY_CODE_MAP[52]=r.KeyCode.Digit4,t.KEY_CODE_MAP[53]=r.KeyCode.Digit5,t.KEY_CODE_MAP[54]=r.KeyCode.Digit6,t.KEY_CODE_MAP[55]=r.KeyCode.Digit7,t.KEY_CODE_MAP[56]=r.KeyCode.Digit8,t.KEY_CODE_MAP[57]=r.KeyCode.Digit9,t.KEY_CODE_MAP[65]=r.KeyCode.KeyA,t.KEY_CODE_MAP[66]=r.KeyCode.KeyB,t.KEY_CODE_MAP[67]=r.KeyCode.KeyC,t.KEY_CODE_MAP[68]=r.KeyCode.KeyD,t.KEY_CODE_MAP[69]=r.KeyCode.KeyE,t.KEY_CODE_MAP[70]=r.KeyCode.KeyF,t.KEY_CODE_MAP[71]=r.KeyCode.KeyG,t.KEY_CODE_MAP[72]=r.KeyCode.KeyH,t.KEY_CODE_MAP[73]=r.KeyCode.KeyI,t.KEY_CODE_MAP[74]=r.KeyCode.KeyJ,t.KEY_CODE_MAP[75]=r.KeyCode.KeyK,t.KEY_CODE_MAP[76]=r.KeyCode.KeyL,t.KEY_CODE_MAP[77]=r.KeyCode.KeyM,t.KEY_CODE_MAP[78]=r.KeyCode.KeyN,t.KEY_CODE_MAP[79]=r.KeyCode.KeyO,t.KEY_CODE_MAP[80]=r.KeyCode.KeyP,t.KEY_CODE_MAP[81]=r.KeyCode.KeyQ,t.KEY_CODE_MAP[82]=r.KeyCode.KeyR,t.KEY_CODE_MAP[83]=r.KeyCode.KeyS,t.KEY_CODE_MAP[84]=r.KeyCode.KeyT,t.KEY_CODE_MAP[85]=r.KeyCode.KeyU,t.KEY_CODE_MAP[86]=r.KeyCode.KeyV,t.KEY_CODE_MAP[87]=r.KeyCode.KeyW,t.KEY_CODE_MAP[88]=r.KeyCode.KeyX,t.KEY_CODE_MAP[89]=r.KeyCode.KeyY,t.KEY_CODE_MAP[90]=r.KeyCode.KeyZ,t.KEY_CODE_MAP[93]=r.KeyCode.ContextMenu,t.KEY_CODE_MAP[96]=r.KeyCode.Numpad0,t.KEY_CODE_MAP[97]=r.KeyCode.Numpad1,t.KEY_CODE_MAP[98]=r.KeyCode.Numpad2,t.KEY_CODE_MAP[99]=r.KeyCode.Numpad3,t.KEY_CODE_MAP[100]=r.KeyCode.Numpad4,t.KEY_CODE_MAP[101]=r.KeyCode.Numpad5,t.KEY_CODE_MAP[102]=r.KeyCode.Numpad6,t.KEY_CODE_MAP[103]=r.KeyCode.Numpad7,t.KEY_CODE_MAP[104]=r.KeyCode.Numpad8,t.KEY_CODE_MAP[105]=r.KeyCode.Numpad9,t.KEY_CODE_MAP[106]=r.KeyCode.NumpadMultiply,t.KEY_CODE_MAP[107]=r.KeyCode.NumpadAdd,t.KEY_CODE_MAP[108]=r.KeyCode.NUMPAD_SEPARATOR,t.KEY_CODE_MAP[109]=r.KeyCode.NumpadSubtract,t.KEY_CODE_MAP[110]=r.KeyCode.NumpadDecimal,t.KEY_CODE_MAP[111]=r.KeyCode.NumpadDivide,t.KEY_CODE_MAP[112]=r.KeyCode.F1,t.KEY_CODE_MAP[113]=r.KeyCode.F2,t.KEY_CODE_MAP[114]=r.KeyCode.F3,t.KEY_CODE_MAP[115]=r.KeyCode.F4,t.KEY_CODE_MAP[116]=r.KeyCode.F5,t.KEY_CODE_MAP[117]=r.KeyCode.F6,t.KEY_CODE_MAP[118]=r.KeyCode.F7,t.KEY_CODE_MAP[119]=r.KeyCode.F8,t.KEY_CODE_MAP[120]=r.KeyCode.F9,t.KEY_CODE_MAP[121]=r.KeyCode.F10,t.KEY_CODE_MAP[122]=r.KeyCode.F11,t.KEY_CODE_MAP[123]=r.KeyCode.F12,t.KEY_CODE_MAP[124]=r.KeyCode.F13,t.KEY_CODE_MAP[125]=r.KeyCode.F14,t.KEY_CODE_MAP[126]=r.KeyCode.F15,t.KEY_CODE_MAP[127]=r.KeyCode.F16,t.KEY_CODE_MAP[128]=r.KeyCode.F17,t.KEY_CODE_MAP[129]=r.KeyCode.F18,t.KEY_CODE_MAP[130]=r.KeyCode.F19,t.KEY_CODE_MAP[144]=r.KeyCode.NumLock,t.KEY_CODE_MAP[145]=r.KeyCode.ScrollLock,t.KEY_CODE_MAP[186]=r.KeyCode.Semicolon,t.KEY_CODE_MAP[187]=r.KeyCode.Equal,t.KEY_CODE_MAP[188]=r.KeyCode.Comma,t.KEY_CODE_MAP[189]=r.KeyCode.Minus,t.KEY_CODE_MAP[190]=r.KeyCode.Period,t.KEY_CODE_MAP[191]=r.KeyCode.Slash,t.KEY_CODE_MAP[192]=r.KeyCode.Backquote,t.KEY_CODE_MAP[193]=r.KeyCode.ABNT_C1,t.KEY_CODE_MAP[194]=r.KeyCode.ABNT_C2,t.KEY_CODE_MAP[219]=r.KeyCode.BracketLeft,t.KEY_CODE_MAP[220]=r.KeyCode.Backslash,t.KEY_CODE_MAP[221]=r.KeyCode.BracketRight,t.KEY_CODE_MAP[222]=r.KeyCode.Quote,t.KEY_CODE_MAP[223]=r.KeyCode.OEM_8,t.KEY_CODE_MAP[226]=r.KeyCode.IntlBackslash,t.KEY_CODE_MAP[229]=r.KeyCode.KEY_IN_COMPOSITION,t.KEY_CODE_MAP[91]=r.KeyCode.Meta,n.isWebKit&&(n.isMacintosh?t.KEY_CODE_MAP[93]=r.KeyCode.Meta:t.KEY_CODE_MAP[92]=r.KeyCode.Meta)},47553:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoResolvedKeybinding=void 0;const n=e(85608),r=e(41869),o=e(77179),l=e(73555),p=n.__importStar(e(37403)),v=e(15940),m=e(89647);class _ extends l.ResolvedKeybinding{hasMultipleChords(){return!1}getChords(){return[]}getDispatchChords(){return[]}getSingleModifierDispatchChords(){return[]}constructor(g,a){super(),this.keySequence=g,this.parts=g.map(h=>({modifiers:{key:h.key?a.acceleratorForKey(h.key):null,ctrlKey:h.ctrl,shiftKey:h.shift,altKey:h.alt,metaKey:h.meta}}))}getLabel(){return o.UILabelProvider.toLabel(p.OS,this.parts.map(g=>g.modifiers),this.keyLabelProvider)}getAriaLabel(){return o.AriaLabelProvider.toLabel(p.OS,this.parts.map(g=>g.modifiers),this.keyLabelProvider)}getElectronAccelerator(){return this.getLabel()}getUserSettingsLabel(){return this.getLabel()}isWYSIWYG(){return!0}isChord(){return this.parts.length>1}getDispatchParts(){return this.parts.map((g,a)=>{const h=m.KEY_CODE_MAP[this.keySequence[a].key.keyCode];return v.USLayoutResolvedKeybinding.getDispatchStr(new l.KeyCodeChord(g.modifiers.ctrlKey,g.modifiers.shiftKey,g.modifiers.altKey,g.modifiers.metaKey,h))})}getSingleModifierDispatchParts(){return[]}getParts(){return this.parts.map(g=>new l.ResolvedChord(g.modifiers.ctrlKey,g.modifiers.shiftKey,g.modifiers.altKey,g.modifiers.metaKey,g.modifiers.key,g.modifiers.key))}keyLabelProvider(g){return g.key}static keyCode(g){var a,h,u,d,E,f;const c=g instanceof l.KeyCodeChord?g.keyCode:v.USLayoutResolvedKeybinding._scanCodeToKeyCode(g.scanCode),y={first:r.Key.getKey(this.monaco2BrowserKeyCode(c&255)),modifiers:[]};return g.ctrlKey&&(r.isOSX?(a=y.modifiers)===null||a===void 0||a.push(r.KeyModifier.MacCtrl):(h=y.modifiers)===null||h===void 0||h.push(r.KeyModifier.CtrlCmd)),g.shiftKey&&((u=y.modifiers)===null||u===void 0||u.push(r.KeyModifier.Shift)),g.altKey&&((d=y.modifiers)===null||d===void 0||d.push(r.KeyModifier.Alt)),g.metaKey&&((E=y.modifiers)===null||E===void 0?void 0:E.indexOf(r.KeyModifier.CtrlCmd))===-1&&((f=y.modifiers)===null||f===void 0||f.push(r.KeyModifier.CtrlCmd)),r.KeyCode.createKeyCode(y)}static keySequence(g){return g.chords.map(a=>this.keyCode(a))}static monaco2BrowserKeyCode(g){for(let a=0;a<m.KEY_CODE_MAP.length;a++)if(m.KEY_CODE_MAP[a]===g)return a;return-1}static toKeybinding(g){return g.chords.map(a=>this.keyCode(a)).join(" ")}}t.MonacoResolvedKeybinding=_},44161:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608),r=e(76003),o=e(41869),l=e(73555),p=e(19582),v=e(19087),m=e(31324),_=e(37533),s=e(16781),g=e(36885),a=e(96714),h=e(62660),u=e(52902),d=e(47553);let E=class extends o.Disposable{get monacoBaseOptions(){return{glyphMargin:!0,lightbulb:{enabled:m.ShowLightbulbIconMode.OnCode},model:void 0,wordBasedSuggestions:"off",renderLineHighlight:"none",automaticLayout:!0,ignoreTrimWhitespace:!1}}createCodeEditor(c,y,b={}){const A=u.monaco.editor.create(c,{...this.monacoBaseOptions,...y},{...this.overrideServiceRegistry.all(),...b});return this.overrideMonacoKeybindingService(A),this.addClickEventListener(A),A}doAddClickEventListener(c){this.addDispose(c.onMouseDown(y=>{var b,A,S,w,T,D;if(y.target.type===p.MouseTargetType.GUTTER_LINE_NUMBERS){const I=((b=y.target.position)===null||b===void 0?void 0:b.lineNumber)||((A=y.target.range)===null||A===void 0?void 0:A.startLineNumber);if(!I)return;c.setSelection(new _.Range(I,((S=y.target.range)===null||S===void 0?void 0:S.startColumn)||((w=y.target.position)===null||w===void 0?void 0:w.column)||0,I+1,((T=y.target.range)===null||T===void 0?void 0:T.startColumn)||((D=y.target.position)===null||D===void 0?void 0:D.column)||0))}}))}doAddCompositionEventListener(c){this.addDispose(c.onDidCompositionStart(y=>{var b;(b=this.keybindingService)===null||b===void 0||b.handleCompositionStart()})),this.addDispose(c.onDidCompositionEnd(y=>{var b;(b=this.keybindingService)===null||b===void 0||b.handleCompositionEnd()}))}addClickEventListener(c){if((0,p.isDiffEditor)(c)){const y=c.getOriginalEditor(),b=c.getModifiedEditor();this.doAddClickEventListener(y),this.doAddClickEventListener(b)}else this.doAddClickEventListener(c),this.doAddCompositionEventListener(c)}createDiffEditor(c,y,b={}){const A=u.monaco.editor.createDiffEditor(c,{...this.monacoBaseOptions,...y},{...this.overrideServiceRegistry.all(),...b});return this.overrideMonacoKeybindingService(A),this.addClickEventListener(A),A}createMultiDiffEditorWidget(c,y,b={}){const A=s.StandaloneServices.initialize({...this.overrideServiceRegistry.all(),...b});return new v.MultiDiffEditorWidget(c,{createResourceLabel:w=>{const T=new a.ResourceLabel(w);return{setUri:D=>{D?T.setUri(D):T.clear()},dispose:()=>{}}}},A)}createMergeEditor(c,y,b={}){return this.injector.get(g.MergeEditorWidget,[c,y,{...this.overrideServiceRegistry.all(),...b}])}overrideMonacoKeybindingService(c){this.overrideKeybindingResolver(c)}overrideKeybindingResolver(c){const y=c._standaloneKeybindingService;y&&(y.resolveKeybinding=b=>[new d.MonacoResolvedKeybinding(d.MonacoResolvedKeybinding.keySequence(b),this.keybindingRegistry)],y.resolveKeyboardEvent=b=>{const A=new l.KeyCodeChord(b.ctrlKey,b.shiftKey,b.altKey,b.metaKey,b.keyCode).toKeybinding();return new d.MonacoResolvedKeybinding(d.MonacoResolvedKeybinding.keySequence(A),this.keybindingRegistry)})}registerOverride(c,y){this.logger.warn(!0,"MonacoService#getOverride will be deprecated, please use MonacoOverrideServiceRegistry#getRegisteredService instead."),this.overrideServiceRegistry.registerOverrideService(c,y)}getOverride(c){return this.logger.warn(!0,"MonacoService#getOverride will be deprecated, please use MonacoOverrideServiceRegistry#getRegisteredService instead."),this.overrideServiceRegistry.getRegisteredService(c)}testTokenize(c,y){this.textMateService.testTokenize(c,y)}};n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],E.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(h.ITextmateTokenizer),n.__metadata("design:type",Object)],E.prototype,"textMateService",void 0),n.__decorate([(0,r.Autowired)(o.MonacoOverrideServiceRegistry),n.__metadata("design:type",o.MonacoOverrideServiceRegistry)],E.prototype,"overrideServiceRegistry",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],E.prototype,"keybindingRegistry",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingService),n.__metadata("design:type",Object)],E.prototype,"keybindingService",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],E.prototype,"logger",void 0),E=n.__decorate([(0,r.Injectable)()],E),t.default=E},80405:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoOverrideServiceRegistryImpl=void 0;const n=e(85608),r=e(76003);let o=class{constructor(){this.overrideServices={}}registerOverrideService(p,v){if(this.overrideServices[p]){console.warn(`service ${p} is already registered.`);return}this.overrideServices[p]=v}getRegisteredService(p){return this.overrideServices[p]}all(){return this.overrideServices}};t.MonacoOverrideServiceRegistryImpl=o,t.MonacoOverrideServiceRegistryImpl=o=n.__decorate([(0,r.Injectable)()],o)},30198:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SchemaRegistry=t.SchemaStore=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=e(76003),l=e(41869),p=e(43718),v=e(81224),m=e(33096);let _=class{constructor(){this._schemas=[],this.onSchemasChangedEmitter=new l.Emitter,this.onSchemasChanged=this.onSchemasChangedEmitter.event,this.notifyChanged=(0,r.default)(()=>{this.onSchemasChangedEmitter.fire(void 0)},500)}register(h){const u=this._schemas.findIndex(d=>d.url===h.url);return u>-1?p.Disposable.create(()=>{this._schemas.splice(u,1),this.notifyChanged()}):(this._schemas.push(h),this.notifyChanged(),p.Disposable.create(()=>{const d=this._schemas.indexOf(h);d>-1&&(this._schemas.splice(d,1),this.notifyChanged())}))}getConfigurations(){return[...this._schemas]}};t.SchemaStore=_,t.SchemaStore=_=n.__decorate([(0,o.Injectable)()],_);function s(a){return a.length>0&&a.charAt(a.length-1)==="#"?a.substring(0,a.length-1):a}let g=class{constructor(){this._onDidChangeSchema=new l.Emitter,this.onDidChangeSchema=this._onDidChangeSchema.event,this.schemasById={}}doResolveSchema(h){const u=new Set(["description","markdownDescription","markdownEnumDescriptions","deprecationMessage"]);return(0,v.cloneAndChangeByKV)(h,(d,E)=>{if(u.has(d)&&typeof E=="string")return(0,p.replaceLocalizePlaceholder)(E)})}registerSchema(h,u,d){this.schemasById[s(h)]=this.doResolveSchema(u);const E=this.schemaStore.register({fileMatch:d,url:h});return this._onDidChangeSchema.fire(h),E}notifySchemaChanged(h){this._onDidChangeSchema.fire(h)}getSchemaContributions(){return{schemas:this.schemasById}}};t.SchemaRegistry=g,n.__decorate([(0,o.Autowired)(m.ISchemaStore),n.__metadata("design:type",Object)],g.prototype,"schemaStore",void 0),t.SchemaRegistry=g=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],g)},52197:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonacoTelemetryService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(11619);let p=class{constructor(){this.telemetryLevel=l.TelemetryLevel.NONE,this.machineId="placeholder",this.sqmId="placeholder",this.firstSessionDate="placeholder",this.sendErrorTelemetry=!1,this._sessionId="placeholder",this.eventLogEmitter=new o.Dispatcher}onEventLog(m,_){return this.eventLogEmitter.on(m)(_)}get sessionId(){return this._sessionId}setEnabled(){}setExperimentProperty(){}publicLog(){}publicLog2(m,_){switch(m){case"renameInvokedEvent":this.eventLogEmitter.dispatch(m,_);break;default:}}publicLogError(){}publicLogError2(){}};t.MonacoTelemetryService=p,t.MonacoTelemetryService=p=n.__decorate([(0,r.Injectable)()],p)},92871:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeyCode=t.CancellationTokenSource=t.CancellationToken=t.MonacoURI=t.Uri=void 0;const n=e(85608);var r=e(26592);Object.defineProperty(t,"Uri",{enumerable:!0,get:function(){return r.URI}});var o=e(26592);Object.defineProperty(t,"MonacoURI",{enumerable:!0,get:function(){return o.URI}}),n.__exportStar(e(90684),t);var l=e(84839);Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return l.CancellationToken}}),Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return l.CancellationTokenSource}});var p=e(85139);Object.defineProperty(t,"KeyCode",{enumerable:!0,get:function(){return p.KeyCode}})},93437:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SKIP_UNREGISTER_MONACO_KEYBINDINGS=t.DELEGATE_COMMANDS=void 0,t.DELEGATE_COMMANDS={UNDO:"undo",REDO:"redo",SELECT_ALL:"editor.action.selectAll"},t.SKIP_UNREGISTER_MONACO_KEYBINDINGS=["acceptRenameInput","acceptRenameInputWithPreview"]},84555:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(40540),t),n.__exportStar(e(44781),t),n.__exportStar(e(62710),t)},2253:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DetailedLineRangeMapping=void 0;var n=e(46739);Object.defineProperty(t,"DetailedLineRangeMapping",{enumerable:!0,get:function(){return n.DetailedLineRangeMapping}})},34671:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeyMod=t.IMarkerData=t.ScrollbarVisibility=t.Scrollable=t.CommandsRegistry=t.IContextKeyService=t.ScrollType=t.DetailedLineRangeMapping=t.TextModelResolvedOptions=t.OverviewRulerLane=t.EndOfLineSequence=t.FindMatch=t.TrackedRangeStickiness=t.EndOfLinePreference=void 0;const n=e(85608);var r=e(43255);Object.defineProperty(t,"EndOfLinePreference",{enumerable:!0,get:function(){return r.EndOfLinePreference}}),Object.defineProperty(t,"TrackedRangeStickiness",{enumerable:!0,get:function(){return r.TrackedRangeStickiness}}),Object.defineProperty(t,"FindMatch",{enumerable:!0,get:function(){return r.FindMatch}}),Object.defineProperty(t,"EndOfLineSequence",{enumerable:!0,get:function(){return r.EndOfLineSequence}}),Object.defineProperty(t,"OverviewRulerLane",{enumerable:!0,get:function(){return r.OverviewRulerLane}}),Object.defineProperty(t,"TextModelResolvedOptions",{enumerable:!0,get:function(){return r.TextModelResolvedOptions}}),n.__exportStar(e(6727),t);var o=e(46739);Object.defineProperty(t,"DetailedLineRangeMapping",{enumerable:!0,get:function(){return o.DetailedLineRangeMapping}}),n.__exportStar(e(31324),t),n.__exportStar(e(17679),t);var l=e(53092);Object.defineProperty(t,"ScrollType",{enumerable:!0,get:function(){return l.ScrollType}});var p=e(23268);Object.defineProperty(t,"IContextKeyService",{enumerable:!0,get:function(){return p.IContextKeyService}});var v=e(71827);Object.defineProperty(t,"CommandsRegistry",{enumerable:!0,get:function(){return v.CommandsRegistry}});var m=e(80673);Object.defineProperty(t,"Scrollable",{enumerable:!0,get:function(){return m.Scrollable}}),Object.defineProperty(t,"ScrollbarVisibility",{enumerable:!0,get:function(){return m.ScrollbarVisibility}});var _=e(34835);Object.defineProperty(t,"IMarkerData",{enumerable:!0,get:function(){return _.IMarkerData}});var s=e(29267);Object.defineProperty(t,"KeyMod",{enumerable:!0,get:function(){return s.KeyMod}})},33096:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.languages=t.editor=void 0;const n=e(85608);n.__exportStar(e(22689),t),n.__exportStar(e(91405),t),n.__exportStar(e(93437),t),n.__exportStar(e(34671),t),n.__exportStar(e(84555),t),n.__exportStar(e(92871),t),n.__exportStar(e(5624),t),t.editor=n.__importStar(e(34671)),t.languages=n.__importStar(e(2039))},2039:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NewSymbolNameTriggerKind=void 0;const n=e(85608);n.__exportStar(e(82046),t),n.__exportStar(e(1482),t),n.__exportStar(e(84555),t);var r=e(40540);Object.defineProperty(t,"NewSymbolNameTriggerKind",{enumerable:!0,get:function(){return r.NewSymbolNameTriggerKind}})},28423:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObservableLazyPromise=t.PromiseResult=t.ObservablePromise=t.ObservableLazy=void 0,t.autorunDelta=v,t.debouncedObservable2=m,t.onObservableChange=_;const n=e(85608),r=e(55987),o=e(43738),l=e(11278),p=e(72482);n.__exportStar(e(55987),t),n.__exportStar(e(43738),t),n.__exportStar(e(60271),t),n.__exportStar(e(11278),t),n.__exportStar(e(91734),t),n.__exportStar(e(72482),t);function v(u,d){let E;return(0,r.autorunOpts)({debugReferenceFn:d},f=>{const c=u.read(f),y=E;E=c,d({lastValue:y,newValue:c},f)})}function m(u,d){let E=!1,f,c;return(0,p.observableFromEvent)(y=>{const b=(0,r.autorun)(A=>{const S=u.read(A);E?(c&&clearTimeout(c),c=setTimeout(()=>{f=S,y()},d)):(E=!0,f=S)});return{dispose(){b.dispose(),E=!1,f=void 0}}},()=>E?f:u.get())}function _(u,d){const E={beginUpdate(){},endUpdate(){},handlePossibleChange(f){f.reportChanges()},handleChange(f){d(f.get())}};return u.addObserver(E),{dispose(){u.removeObserver(E)}}}class s{get cachedValue(){return this._value}constructor(d){this._computeValue=d,this._value=(0,o.observableValue)(this,void 0)}getValue(){let d=this._value.get();return d||(d=this._computeValue(),this._value.set(d,void 0)),d}}t.ObservableLazy=s;class g{static fromFn(d){return new g(d())}constructor(d){this._value=(0,o.observableValue)(this,void 0),this.promiseResult=this._value,this.promise=d.then(E=>((0,o.transaction)(f=>{this._value.set(new a(E,void 0),f)}),E),E=>{throw(0,o.transaction)(f=>{this._value.set(new a(void 0,E),f)}),E})}}t.ObservablePromise=g;class a{constructor(d,E){this.data=d,this.error=E}getDataOrThrow(){if(this.error)throw this.error;return this.data}}t.PromiseResult=a;class h{constructor(d){this._computePromise=d,this._lazyValue=new s(()=>new g(this._computePromise())),this.cachedPromiseResult=(0,l.derived)(this,E=>{var f;return(f=this._lazyValue.cachedValue.read(E))===null||f===void 0?void 0:f.promiseResult.read(E)})}getPromise(){return this._lazyValue.getValue().promise}}t.ObservableLazyPromise=h},5624:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.positionToRange=e;function e(n){if(typeof n=="number")return{startLineNumber:n,endLineNumber:n,startColumn:1,endColumn:1};{const{lineNumber:r}=n;return{startLineNumber:r,endLineNumber:r,startColumn:1,endColumn:1}}}},91405:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IndentAction=t.NewSymbolNameTag=t.CodeActionTriggerType=t.Emitter=t.EndOfLineSequence=t.Position=void 0;var n=e(88354);Object.defineProperty(t,"Position",{enumerable:!0,get:function(){return n.Position}});var r=e(43255);Object.defineProperty(t,"EndOfLineSequence",{enumerable:!0,get:function(){return r.EndOfLineSequence}});var o=e(65034);Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return o.Emitter}});var l=e(40540);Object.defineProperty(t,"CodeActionTriggerType",{enumerable:!0,get:function(){return l.CodeActionTriggerType}});var p=e(40540);Object.defineProperty(t,"NewSymbolNameTag",{enumerable:!0,get:function(){return p.NewSymbolNameTag}});var v;(function(m){m[m.None=0]="None",m[m.Indent=1]="Indent",m[m.IndentOutdent=2]="IndentOutdent",m[m.Outdent=3]="Outdent"})(v||(t.IndentAction=v={}))},20868:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(33096),t)},31379:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OpenedEditorModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(91048),p=e(80037),v=e(92804),m=e(45007);let _=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:p.OpenedEditorDecorationService,useClass:p.OpenedEditorDecorationService},{token:m.OpenedEditorService,useClass:m.OpenedEditorService},{token:v.OpenedEditorModelService,useClass:v.OpenedEditorModelService},l.OpenedEditorContribution]}};t.OpenedEditorModule=_,t.OpenedEditorModule=_=n.__decorate([(0,r.Injectable)()],_)},88234:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditorFile=t.EditorFileGroup=t.EditorFileRoot=void 0;const n=e(97267),r=e(41869);class o extends n.CompositeTreeNode{static is(m){return!!m&&!m.parent}constructor(m){super(m,void 0)}get expanded(){return!0}}t.EditorFileRoot=o;class l extends n.CompositeTreeNode{static isEditorGroup(m){return typeof m.resources<"u"}static is(m){return!!m&&!!m.group}constructor(m,_,s){super(m,s),this.group=_,this.groupIndex=this.group.index}get expanded(){return!0}get name(){return(0,r.formatLocalize)("opened.editors.group.title",this.groupIndex+1)}get displayName(){return this.name}get tooltip(){return this.name}dispose(){super.dispose()}}t.EditorFileGroup=l;class p extends n.TreeNode{static is(m){return n.TreeNode.is(m)&&"uri"in m}constructor(m,_,s,g=!1,a){super(m,a,void 0,{name:`${_.uri.codeUri.fsPath.toString()}`}),this.resource=_,this.tooltip=s,this.dirty=g}get displayName(){return this.resource?this.resource.name:""}get uri(){return this.resource?this.resource.uri:new r.URI}}t.EditorFile=p},80691:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OPENED_EDITOR_BADGE_LIMIT=t.OPENED_EDITOR_TREE_NODE_HEIGHT=t.EditorTreeNode=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),p=e(41869),v=e(65046),m=e(88234),_=n.__importDefault(e(53940)),s=({item:g,defaultLeftPadding:a=8,leftPadding:h=8,onClick:u,onContextMenu:d,itemType:E,decorationService:f,labelService:c,commandService:y,decorations:b})=>{const A=m.EditorFileGroup.is(g)?null:f.getDecoration(g.uri,!1),S=(0,p.useDesignStyles)(_.default.opened_editor_node,"opened_editor_node"),w=(0,p.useDesignStyles)(_.default.opened_editor_node_overflow_wrap,"opened_editor_node_overflow_wrap"),T=j=>{(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&u(j,g,E)},D=j=>{j.nativeEvent.which!==0&&(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&d(j,g,E)},I=`${a+(g.depth||0)*(h||0)+(!m.EditorFileGroup.is(g)&&!m.EditorFileGroup.isRoot(g.parent)?18:0)}px`,R={color:A?A.color:"",height:t.OPENED_EDITOR_TREE_NODE_HEIGHT,lineHeight:`${t.OPENED_EDITOR_TREE_NODE_HEIGHT}px`,paddingLeft:I},P=j=>{if(m.EditorFileGroup.is(j))return null;const G=j.resource.icon||c.getIcon(j.uri,{isDirectory:!1});return o.default.createElement("div",{className:(0,r.default)(_.default.file_icon,G),style:{height:t.OPENED_EDITOR_TREE_NODE_HEIGHT,lineHeight:`${t.OPENED_EDITOR_TREE_NODE_HEIGHT}px`}})},O=j=>m.EditorFileGroup.is(j)||j.uri.scheme===v.EDITOR_WEBVIEW_SCHEME?j.displayName:j.displayName||c.getName(j.uri),M=j=>o.default.createElement("div",{className:(0,r.default)(_.default.opened_editor_node_segment,_.default.opened_editor_node_displayname)},O(j)),k=j=>m.EditorFileGroup.is(j)||m.EditorFile.is(j)&&j.tooltip===O(j)?null:o.default.createElement("div",{className:(0,r.default)(_.default.opened_editor_node_segment_grow,_.default.opened_editor_node_description)},j.tooltip),F=()=>o.default.createElement("div",{className:(0,r.default)(_.default.opened_editor_node_segment,_.default.opened_editor_node_tail)},L()),L=()=>A?o.default.createElement("div",{className:_.default.opened_editor_node_status},A.badge.slice()):null,B=()=>{let j=g.tooltip;return A&&A.badge&&(j+=` \u2022 ${A.tooltip}`),j},U=()=>{let j=[];return m.EditorFileGroup.is(g)?(j=[{icon:(0,p.getIcon)("save-all"),title:(0,p.localize)("opened.editors.save.byGroup"),command:p.OPEN_EDITORS_COMMANDS.SAVE_BY_GROUP.id},{icon:(0,p.getIcon)("clear"),title:(0,p.localize)("opened.editors.close.byGroup"),command:p.OPEN_EDITORS_COMMANDS.CLOSE_BY_GROUP.id}],o.default.createElement("div",{className:_.default.opened_editor_right_actions},j.map(G=>{const $=Z=>{Z.stopPropagation(),Z.preventDefault(),y.executeCommand(G.command,g)};return o.default.createElement(l.Button,{type:"icon",key:`${g.id}-${G.command}`,iconClass:(0,r.default)(_.default.action_icon,G.icon),title:G.title,onClick:$})}))):(j=[{icon:(0,p.getIcon)("window-close"),title:(0,p.localize)("file.close"),command:p.OPEN_EDITORS_COMMANDS.CLOSE.id}],o.default.createElement("div",{className:_.default.opened_editor_left_actions},j.map(G=>{const $=Z=>{Z.stopPropagation(),Z.preventDefault(),y.executeCommand(G.command,g)};return o.default.createElement(l.Button,{type:"icon",key:`${g.id}-${G.command}`,iconClass:(0,r.default)(_.default.action_icon,G.icon),title:G.title,onClick:$})})))},W=()=>o.default.createElement("div",{className:_.default.opened_editor_action_bar},U());return o.default.createElement("div",{key:g.id,onClick:T,onContextMenu:D,title:B(),className:(0,r.default)(S,b?b.classlist:null,m.EditorFile.is(g)&&g.dirty&&_.default.dirty),style:R,"data-id":g.id},W(),o.default.createElement("div",{className:(0,r.default)(_.default.opened_editor_node_content)},P(g),o.default.createElement("div",{className:w},M(g),k(g)),F()))};t.EditorTreeNode=s,t.OPENED_EDITOR_TREE_NODE_HEIGHT=22,t.OPENED_EDITOR_BADGE_LIMIT=99},91048:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OpenedEditorContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(68456),p=e(93899),v=e(54414),m=e(32595),_=e(63067),s=e(21212),g=e(53598),a=e(88234),h=e(92804);let u=class{async onStart(){this.mainLayoutService.collectViewComponent({id:s.ExplorerOpenedEditorViewId,name:(0,o.localize)("opened.editors.title"),weight:1,priority:10,collapsed:!0,component:g.ExplorerOpenEditorPanel},m.EXPLORER_CONTAINER_ID)}registerCommands(E){E.registerCommand(o.OPEN_EDITORS_COMMANDS.SAVE_ALL,{execute:()=>{this.workbenchEditorService.saveAll()}}),E.registerCommand(o.OPEN_EDITORS_COMMANDS.CLOSE_ALL,{execute:async()=>{await this.workbenchEditorService.closeAll(),this.openedEditorModelService.clear()}}),E.registerCommand(o.OPEN_EDITORS_COMMANDS.CLOSE_BY_GROUP,{execute:f=>{this.openedEditorModelService.closeAllByGroup(f)}}),E.registerCommand(o.OPEN_EDITORS_COMMANDS.SAVE_BY_GROUP,{execute:f=>{this.openedEditorModelService.saveAllByGroup(f)}}),E.registerCommand(o.OPEN_EDITORS_COMMANDS.CLOSE,{execute:async f=>{let c;f.parent&&a.EditorFileGroup.is(f.parent)&&(c=f.parent.group),await this.commandService.executeCommand(o.EDITOR_COMMANDS.CLOSE.id,{group:c,uri:f.uri}),f.parent.unlinkItem(f)}}),E.registerCommand(o.OPEN_EDITORS_COMMANDS.OPEN,{execute:f=>{let c=0;f.parent&&a.EditorFileGroup.is(f.parent)&&(c=f.parent.group.index),this.commandService.executeCommand(o.EDITOR_COMMANDS.OPEN_RESOURCE.id,f.uri,{groupIndex:c})}}),E.registerCommand(o.OPEN_EDITORS_COMMANDS.OPEN_TO_THE_SIDE,{execute:f=>{let c=0;f.parent&&a.EditorFileGroup.is(f.parent)&&(c=f.parent.group.index),this.commandService.executeCommand(o.EDITOR_COMMANDS.OPEN_RESOURCE.id,f.uri,{groupIndex:c,split:4,focus:!0})}}),E.registerCommand(o.OPEN_EDITORS_COMMANDS.COMPARE_SELECTED,{execute:f=>{this.commandService.executeCommand(o.FILE_COMMANDS.COMPARE_SELECTED.id,f.uri,[f.uri])}}),E.registerCommand(o.OPEN_EDITORS_COMMANDS.COPY_PATH,{execute:f=>{this.commandService.executeCommand(o.FILE_COMMANDS.COPY_PATH.id,f.uri,[f.uri])}}),E.registerCommand(o.OPEN_EDITORS_COMMANDS.COPY_RELATIVE_PATH,{execute:f=>{this.commandService.executeCommand(o.FILE_COMMANDS.COPY_RELATIVE_PATH.id,f.uri,[f.uri])}}),E.registerCommand(o.OPEN_EDITORS_COMMANDS.LOCATION,{execute:f=>{this.openedEditorModelService.location(f)}})}registerToolbarItems(E){E.registerItem({id:o.OPEN_EDITORS_COMMANDS.SAVE_ALL.id,command:o.OPEN_EDITORS_COMMANDS.SAVE_ALL.id,viewId:s.ExplorerOpenedEditorViewId,label:(0,o.localize)("opened.editors.save.all")}),E.registerItem({id:o.OPEN_EDITORS_COMMANDS.CLOSE_ALL.id,command:o.OPEN_EDITORS_COMMANDS.CLOSE_ALL.id,viewId:s.ExplorerOpenedEditorViewId,label:(0,o.localize)("opened.editors.close.all")})}registerMenus(E){E.registerMenuItem(p.MenuId.OpenEditorsContext,{command:{id:o.OPEN_EDITORS_COMMANDS.OPEN.id,label:(0,o.localize)("opened.editors.open")},order:1,group:"1_open"}),E.registerMenuItem(p.MenuId.OpenEditorsContext,{command:{id:o.OPEN_EDITORS_COMMANDS.OPEN_TO_THE_SIDE.id,label:(0,o.localize)("opened.editors.openToTheSide")},order:2,group:"1_open"}),E.registerMenuItem(p.MenuId.OpenEditorsContext,{command:{id:o.OPEN_EDITORS_COMMANDS.COMPARE_SELECTED.id,label:(0,o.localize)("opened.editors.compare")},group:"2_operator"}),E.registerMenuItem(p.MenuId.OpenEditorsContext,{command:{id:o.OPEN_EDITORS_COMMANDS.COPY_PATH.id,label:(0,o.localize)("opened.editors.copyPath")},group:"3_path"}),E.registerMenuItem(p.MenuId.OpenEditorsContext,{command:{id:o.OPEN_EDITORS_COMMANDS.COPY_RELATIVE_PATH.id,label:(0,o.localize)("opened.editors.copyRelativePath")},group:"3_path"})}};t.OpenedEditorContribution=u,n.__decorate([(0,r.Autowired)(_.IMainLayoutService),n.__metadata("design:type",Object)],u.prototype,"mainLayoutService",void 0),n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],u.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(h.OpenedEditorModelService),n.__metadata("design:type",h.OpenedEditorModelService)],u.prototype,"openedEditorModelService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],u.prototype,"commandService",void 0),t.OpenedEditorContribution=u=n.__decorate([(0,o.Domain)(o.ClientAppContribution,l.TabBarToolbarContribution,o.CommandContribution,p.MenuContribution)],u)},53598:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExplorerOpenEditorPanel=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),p=e(68974),v=e(48560),m=n.__importDefault(e(65698)),_=e(80691),s=e(92804),g=({viewState:a})=>{const[u,d]=(0,r.useState)(!1),[E,f]=(0,r.useState)(!0),[c,y]=(0,r.useState)(),{width:b,height:A}=a,S=(0,r.useRef)(null),w=(0,v.useInjectable)(s.OpenedEditorModelService),{decorationService:T,labelService:D,commandService:I}=w,R=U=>{w.handleTreeHandler({...U,hasDirectFocus:()=>S.current===document.activeElement})},P=(0,r.useCallback)((U,W,j)=>{U.stopPropagation();const{handleItemClick:G}=w;W&&G(W,j)},[w]),O=(0,r.useCallback)((U,W)=>{const{handleContextMenu:j}=w;j(U,W)},[]),M=(0,r.useCallback)(U=>{const{handleContextMenu:W}=w;W(U)},[w]),k=(0,r.useCallback)(()=>{const{enactiveFileDecoration:U}=w;U()},[]),F=(0,r.useCallback)(async U=>{await w.whenReady,!U.isCancellationRequested&&(w.treeModel&&(y(w.treeModel),await w.treeModel.ensureReady,U.isCancellationRequested)||(f(!1),d(!0)))},[E,u,w]);(0,r.useEffect)(()=>{u&&w.onTreeModelChange(async U=>{f(!0),U&&await U.ensureReady,y(U),f(!1)})},[u]),(0,r.useEffect)(()=>{const U=new l.CancellationTokenSource;return F(U.token),()=>{U.cancel()}},[]),(0,r.useEffect)(()=>{var U;const W=()=>{w.handleTreeBlur()};return(U=S.current)===null||U===void 0||U.addEventListener("blur",W,!0),()=>{var j;(j=S.current)===null||j===void 0||j.removeEventListener("blur",W,!0),w.handleTreeBlur()}},[S.current]);const L=(0,r.useCallback)(U=>r.default.createElement(_.EditorTreeNode,{item:U.item,itemType:U.itemType,decorationService:T,labelService:D,commandService:I,decorations:w.decorations.getDecorations(U.item),onClick:P,onContextMenu:O,defaultLeftPadding:22,leftPadding:0}),[w.treeModel]),B=()=>u?E?r.default.createElement(p.Progress,{loading:!0}):c?r.default.createElement(o.RecycleTree,{height:A,width:b,itemHeight:22,onReady:R,model:c,placeholder:()=>r.default.createElement("span",{className:m.default.opened_editor_empty_text},(0,l.localize)("opened.editors.empty"))},L):r.default.createElement("span",{className:m.default.opened_editor_empty_text},(0,l.localize)("opened.editors.empty")):r.default.createElement("span",{className:m.default.opened_editor_empty_text},(0,l.localize)("opened.editors.empty"));return r.default.createElement("div",{className:m.default.opened_editor_container,tabIndex:-1,ref:S,onContextMenu:M,onClick:k},B())};t.ExplorerOpenEditorPanel=g},80037:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OpenedEditorDecorationService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(41893),p=e(52416);let v=class{constructor(){this.disposeCollection=new o.DisposableCollection,this.onDidChangeEmitter=new o.Emitter,this.disposeCollection.pushAll([this.decorationsService.onDidChangeDecorations(()=>{this.onDidChangeEmitter.fire()}),this.themeService.onThemeChange(()=>{this.onDidChangeEmitter.fire()})])}get onDidChange(){return this.onDidChangeEmitter.event}getDecoration(_,s=!1){_ instanceof o.URI&&(_=o.Uri.parse(_.toString()));const g=this.decorationsService.getDecoration(_,s);return g?{...g,color:this.themeService.getColor({id:g.color})}:{color:"",tooltip:"",badge:""}}dispose(){this.disposeCollection.dispose()}};t.OpenedEditorDecorationService=v,n.__decorate([(0,r.Autowired)(l.IDecorationsService),n.__metadata("design:type",l.IDecorationsService)],v.prototype,"decorationsService",void 0),n.__decorate([(0,r.Autowired)(p.IThemeService),n.__metadata("design:type",Object)],v.prototype,"themeService",void 0),t.OpenedEditorDecorationService=v=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],v)},53929:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OpenedEditorEventService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(54414),p=e(57517);let v=class extends o.WithEventBus{constructor(){super(),this._onDidChange=new o.Emitter,this._onDidDecorationChange=new o.Emitter,this._onDidActiveChange=new o.Emitter,this.onDidChange=this._onDidChange.event,this.onDidDecorationChange=this._onDidDecorationChange.event,this.onDidActiveChange=this._onDidActiveChange.event}onEditorGroupOpenEvent(_){this._onDidActiveChange.fire(_.payload)}onEditorGroupCloseEvent(){this._onDidChange.fire(null)}onEditorGroupDisposeEvent(){this._onDidChange.fire(null)}onResourceDecorationChangeEvent(_){this._onDidDecorationChange.fire(_.payload)}};t.OpenedEditorEventService=v,n.__decorate([(0,o.OnEvent)(p.EditorGroupOpenEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.EditorGroupOpenEvent]),n.__metadata("design:returntype",void 0)],v.prototype,"onEditorGroupOpenEvent",null),n.__decorate([(0,o.OnEvent)(p.EditorGroupCloseEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],v.prototype,"onEditorGroupCloseEvent",null),n.__decorate([(0,o.OnEvent)(p.EditorGroupDisposeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[]),n.__metadata("design:returntype",void 0)],v.prototype,"onEditorGroupDisposeEvent",null),n.__decorate([(0,o.OnEvent)(l.ResourceDecorationChangeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[l.ResourceDecorationChangeEvent]),n.__metadata("design:returntype",void 0)],v.prototype,"onResourceDecorationChangeEvent",null),t.OpenedEditorEventService=v=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],v)},90645:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.OpenedEditorModel=void 0;const r=e(85608),o=e(76003),l=e(97267),p=e(41869),v=e(88234),m=e(80037);let _=n=class extends l.TreeModel{constructor(g){super(),this.flushDispatchChangeDelayer=new p.ThrottledDelayer(n.DEFAULT_FLUSH_DELAY),this.init(g)}init(g){this.root=g,this.root.watcher.on(l.TreeNodeEvent.BranchDidUpdate,this.doDispatchChange.bind(this)),this.decorationService.onDidChange(this.doDispatchChange.bind(this))}doDispatchChange(){this.flushDispatchChangeDelayer.isTriggered()||this.flushDispatchChangeDelayer.cancel(),this.flushDispatchChangeDelayer.trigger(async()=>{this.dispatchChange()})}};t.OpenedEditorModel=_,_.DEFAULT_FLUSH_DELAY=100,r.__decorate([(0,o.Autowired)(m.OpenedEditorDecorationService),r.__metadata("design:type",m.OpenedEditorDecorationService)],_.prototype,"decorationService",void 0),t.OpenedEditorModel=_=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[v.EditorFileGroup])],_)},92804:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.OpenedEditorModelService=void 0;const r=e(85608),o=e(76003),l=e(97267),p=e(41869),v=e(93899),m=e(26542),_=e(57517),s=e(51553),g=e(32595),a=e(63067),h=e(21212),u=e(88234),d=r.__importDefault(e(53940)),E=e(80037),f=e(53929),c=e(90645),y=e(45007),{Path:b}=p.path;let A=n=class{constructor(){this._changeEventDispatchQueue=[],this.selectedDecoration=new l.Decoration(d.default.mod_selected),this.focusedDecoration=new l.Decoration(d.default.mod_focused),this.contextMenuDecoration=new l.Decoration(d.default.mod_actived),this._selectedFiles=[],this.disposableCollection=new p.DisposableCollection,this.onDidRefreshedEmitter=new p.Emitter,this.onTreeModelChangeEmitter=new p.Emitter,this.locationDelayer=new p.ThrottledDelayer(n.DEFAULT_LOCATION_FLUSH_DELAY),this._dirtyUris=[],this.activeFileDecoration=(w,T=!0)=>{var D;this.contextMenuFile&&(this.contextMenuDecoration.removeTarget(this.contextMenuFile),this._contextMenuFile=void 0),w&&(this.removeSelectDecoration(),this.removeFocusedDecoration(),this.selectedDecoration.addTarget(w),this.focusedDecoration.addTarget(w),this._focusedFile=w,this._selectedFiles=[w],T&&((D=this.treeModel)===null||D===void 0||D.dispatchChange()))},this.selectFileDecoration=(w,T=!0)=>{var D;this.contextMenuFile&&(this.contextMenuDecoration.removeTarget(this.contextMenuFile),this._contextMenuFile=void 0),w&&(this.removeSelectDecoration(),this.removeFocusedDecoration(),this.selectedDecoration.addTarget(w),this._selectedFiles=[w],T&&((D=this.treeModel)===null||D===void 0||D.dispatchChange()))},this.activeFileActivedDecoration=w=>{var T;this.contextMenuFile&&this.contextMenuDecoration.removeTarget(this.contextMenuFile),this.removeFocusedDecoration(),this.contextMenuDecoration.addTarget(w),this._contextMenuFile=w,(T=this.treeModel)===null||T===void 0||T.dispatchChange()},this.enactiveFileDecoration=()=>{var w;this.removeFocusedDecoration(),this.contextMenuFile&&this.contextMenuDecoration.removeTarget(this.contextMenuFile),(w=this.treeModel)===null||w===void 0||w.dispatchChange()},this.handleContextMenu=(w,T)=>{if(!T){this.enactiveFileDecoration();return}w.stopPropagation(),w.preventDefault();const{x:D,y:I}=w.nativeEvent;this.activeFileActivedDecoration(T);const R=this.contextMenuService.createMenu({id:v.MenuId.OpenEditorsContext,contextKeyService:this.contextMenuContextKeyService}),P=R.getMergedMenuNodes();R.dispose(),this.ctxMenuRenderer.show({anchor:{x:D,y:I},menuNodes:P,args:[T]})},this.handleTreeBlur=()=>{this.enactiveFileDecoration()},this.handleItemClick=(w,T)=>{this.activeFileDecoration(w),T===l.TreeNodeType.TreeNode&&this.openFile(w)},this.flushEventQueue=()=>{if(!this._changeEventDispatchQueue||this._changeEventDispatchQueue.length===0)return;this._changeEventDispatchQueue.sort((D,I)=>{const R=b.pathDepth(D),P=b.pathDepth(I);return R-P});const w=[this._changeEventDispatchQueue[0]];for(const D of this._changeEventDispatchQueue)w.some(I=>D.indexOf(I)===0)||w.push(D);const T=(0,p.pSeries)(w.map(D=>async()=>{var I,R;const P=(R=(I=this.treeModel)===null||I===void 0?void 0:I.root)===null||R===void 0?void 0:R.watchEvents.get(D);return P&&typeof P.callback=="function"&&await P.callback({type:l.WatchEvent.Changed,path:D}),null}));return this._changeEventDispatchQueue=[],T},this.location=async(w,T)=>{this.locationDelayer.trigger(async()=>{await this.flushEventQueuePromise;let D=this.openedEditorService.getEditorNodeByUri(w,T);D&&this.editorTreeHandle&&(D=await this.editorTreeHandle.ensureVisible(D),D&&(this.focusedFile===D?this.activeFileDecoration(D):this.selectFileDecoration(D)))})},this.openFile=w=>{let T=0;w.parent&&u.EditorFileGroup.is(w.parent)&&(T=w.parent.group.index),this.commandService.executeCommand(p.EDITOR_COMMANDS.OPEN_RESOURCE.id,w.uri,{groupIndex:T,preserveFocus:!0,disableNavigateOnOpendEditor:!0})},this.closeFile=w=>{this.commandService.executeCommand(p.EDITOR_COMMANDS.CLOSE.id,w.uri)},this.closeAllByGroup=w=>{const T=w.group;T&&T.closeAll()},this.saveAllByGroup=w=>{const T=w.group;T&&T.saveAll()},this._whenReady=this.initTreeModel()}get flushEventQueuePromise(){return this.flushEventQueueDeferred&&this.flushEventQueueDeferred.promise}get contextMenuContextKeyService(){return this._contextMenuContextKeyService||(this._contextMenuContextKeyService=this.contextKeyService.createScoped()),this._contextMenuContextKeyService}get editorTreeHandle(){return this._openedEditorTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._treeModel}get whenReady(){return this._whenReady}get focusedFile(){return this._focusedFile}get contextMenuFile(){return this._contextMenuFile}get selectedFiles(){return this._selectedFiles}get onDidRefreshed(){return this.onDidRefreshedEmitter.event}get onTreeModelChange(){return this.onTreeModelChangeEmitter.event}async initTreeModel(){const w=(await this.openedEditorService.resolveChildren())[0];w&&(this.initDecorations(w),this._treeModel=this.injector.get(c.OpenedEditorModel,[w]),this.disposableCollection.push(p.Event.any(this.labelService.onDidChange,this.editorService.onActiveResourceChange,this.editorService.onDidEditorGroupsChanged,this.editorService.onDidCurrentEditorGroupChanged,this.openedEditorEventService.onDidChange)(()=>{this.refresh()})),this.disposableCollection.push(this.openedEditorEventService.onDidDecorationChange(T=>{let D=!1;if(T&&this.treeModel){for(let I=0;I<this.treeModel.root.branchSize;I++){const R=this.treeModel.root.getTreeNodeAtIndex(I);R&&!u.EditorFileGroup.is(R)&&R.uri.isEqual(T.uri)&&(T.decoration.dirty?this.openedEditorService.addDirtyUri(R.uri.toString()):this.openedEditorService.removeDirtyUri(R.uri.toString()),D=!0)}D&&(this.setExplorerTabBarBadge(),this.refresh())}})),this.onTreeModelChangeEmitter.fire(this._treeModel))}initDecorations(w){this._decorations=new l.DecorationsManager(w),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations.addDecoration(this.contextMenuDecoration)}removeSelectDecoration(){this._selectedFiles.length&&this._selectedFiles.forEach(w=>{var T;const D=(T=this.treeModel)===null||T===void 0?void 0:T.root.getTreeNodeByPath(w.path);this.selectedDecoration.removeTarget(D||w)})}removeFocusedDecoration(){var w;if(this._focusedFile){const T=(w=this.treeModel)===null||w===void 0?void 0:w.root.getTreeNodeByPath(this._focusedFile.path);this.focusedDecoration.removeTarget(T||this._focusedFile),this._focusedFile=void 0}}handleTreeHandler(w){this._openedEditorTreeHandle=w}clear(){this._treeModel=null,this.onTreeModelChangeEmitter.fire(this._treeModel)}async refresh(w){var T;if(w===void 0&&(w=(T=this.treeModel)===null||T===void 0?void 0:T.root),!this._treeModel){await this.initTreeModel();return}!u.EditorFileGroup.is(w)&&w.parent&&(w=w.parent),this.queueChangeEvent(w.path,()=>{this.onDidRefreshedEmitter.fire()})}queueChangeEvent(w,T){this.flushEventQueueDeferred||(this.flushEventQueueDeferred=new p.Deferred,clearTimeout(this._eventFlushTimeout),this._eventFlushTimeout=setTimeout(async()=>{var D;await this.flushEventQueue(),(D=this.flushEventQueueDeferred)===null||D===void 0||D.resolve(),this.flushEventQueueDeferred=null,T()},n.DEFAULT_FLUSH_FILE_EVENT_DELAY)),this._changeEventDispatchQueue.indexOf(w)===-1&&this._changeEventDispatchQueue.push(w)}setExplorerTabBarBadge(){const w=this.layoutService.getTabbarHandler(g.EXPLORER_CONTAINER_ID),T=this.editorService.calcDirtyCount(),D=this.layoutService.getAccordionService(g.EXPLORER_CONTAINER_ID);if(w){const I=T>0?(0,p.formatLocalize)("opened.editors.unsaved",T.toString()):"";w.setBadge(T>0?T.toString():""),D.updateViewBadge(h.ExplorerOpenedEditorViewId,I)}}};t.OpenedEditorModelService=A,A.DEFAULT_FLUSH_FILE_EVENT_DELAY=100,A.DEFAULT_LOCATION_FLUSH_DELAY=200,r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],A.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(v.ICtxMenuRenderer),r.__metadata("design:type",v.ICtxMenuRenderer)],A.prototype,"ctxMenuRenderer",void 0),r.__decorate([(0,o.Autowired)(v.AbstractContextMenuService),r.__metadata("design:type",v.AbstractContextMenuService)],A.prototype,"contextMenuService",void 0),r.__decorate([(0,o.Autowired)(p.IContextKeyService),r.__metadata("design:type",Object)],A.prototype,"contextKeyService",void 0),r.__decorate([(0,o.Autowired)(y.OpenedEditorService),r.__metadata("design:type",y.OpenedEditorService)],A.prototype,"openedEditorService",void 0),r.__decorate([(0,o.Autowired)(m.LabelService),r.__metadata("design:type",m.LabelService)],A.prototype,"labelService",void 0),r.__decorate([(0,o.Autowired)(E.OpenedEditorDecorationService),r.__metadata("design:type",E.OpenedEditorDecorationService)],A.prototype,"decorationService",void 0),r.__decorate([(0,o.Autowired)(f.OpenedEditorEventService),r.__metadata("design:type",f.OpenedEditorEventService)],A.prototype,"openedEditorEventService",void 0),r.__decorate([(0,o.Autowired)(_.WorkbenchEditorService),r.__metadata("design:type",s.WorkbenchEditorServiceImpl)],A.prototype,"editorService",void 0),r.__decorate([(0,o.Autowired)(p.CommandService),r.__metadata("design:type",Object)],A.prototype,"commandService",void 0),r.__decorate([(0,o.Autowired)(a.IMainLayoutService),r.__metadata("design:type",Object)],A.prototype,"layoutService",void 0),t.OpenedEditorModelService=A=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],A)},45007:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OpenedEditorService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),p=e(26542),v=e(54414),m=e(51500),_=e(88234),{Path:s}=l.path;let g=class extends o.Tree{constructor(){super(...arguments),this._dirtyUri=[],this._isGroupTree=!1,this.sortComparator=(h,u)=>{if(h.constructor===u.constructor){if(h.resource&&u.resource){const d=h.parent;if(d&&_.EditorFileGroup.is(d))return d.group.resources.indexOf(h.resource)-d.group.resources.indexOf(u.resource);{const E=this.workbenchEditorService.currentEditorGroup;if(E&&E.resources)return E.resources.indexOf(h.resource)-E.resources.indexOf(u.resource)}}return h.name.localeCompare(u.name,"kn",{numeric:!0})}return h.type===o.TreeNodeType.CompositeTreeNode?-1:u.type===o.TreeNodeType.CompositeTreeNode?1:0}}get isGroupTree(){return this._isGroupTree}addDirtyUri(h){this._dirtyUri.includes(h)||this._dirtyUri.push(h)}removeDirtyUri(h){if(this._dirtyUri.includes(h)){const u=this._dirtyUri.findIndex(d=>d===h);this._dirtyUri.splice(u,1)}}async resolveChildren(h){let u=[];if(!h)this._root=new _.EditorFileRoot(this),u=[this._root];else if(_.EditorFileRoot.is(h)){this._isGroupTree=!1;let d=[];this.workbenchEditorService.sortedEditorGroups.length<=1?d=this.workbenchEditorService.sortedEditorGroups[0].resources.slice():d=this.workbenchEditorService.sortedEditorGroups;for(const E of d)if(E.resources){this._isGroupTree=!0;const f=new _.EditorFileGroup(this,E,h);u.push(f)}else{const f=await this.getReadableTooltip(E.uri);u.push(new _.EditorFile(this,E,f,this._dirtyUri.includes(E.uri.toString()),h))}}else for(const d of h.group.resources){const E=await this.getReadableTooltip(d.uri);u.push(new _.EditorFile(this,d,E,this._dirtyUri.includes(d.uri.toString()),h))}return u}getEditorNodeByUri(h,u){var d,E;let f=this.root.path;if(h){if(this._isGroupTree){if(!u)return;const c=(0,l.formatLocalize)("opened.editors.group.title",u.index+1);f=new s(f).join(c).join(h&&h.uri?h.uri.codeUri.fsPath:h.codeUri.fsPath).toString()}else f=new s(f).join(h&&h.uri?h.uri.codeUri.fsPath:h.codeUri.fsPath).toString();return(d=this.root)===null||d===void 0?void 0:d.getTreeNodeByPath(f)}else{if(!u)return;const c=(0,l.formatLocalize)("opened.editors.group.title",u.index+1);return f=new s(f).join(c).toString(),(E=this.root)===null||E===void 0?void 0:E.getTreeNodeByPath(f)}}async getReadableTooltip(h){var u;if(h.scheme!==l.Schemes.file)return"";const d=await this.workspaceService.roots;for(const E of d){const f=new l.URI(E.uri);if(f.isEqualOrParent(h))return decodeURIComponent((u=f.relative(h))===null||u===void 0?void 0:u.toString())}return h.toString()}};t.OpenedEditorService=g,n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],g.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(m.IWorkspaceService),n.__metadata("design:type",Object)],g.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(p.LabelService),n.__metadata("design:type",p.LabelService)],g.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(v.ResourceService),n.__metadata("design:type",v.ResourceService)],g.prototype,"resourceService",void 0),t.OpenedEditorService=g=n.__decorate([(0,r.Injectable)()],g)},21212:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExplorerOpenedEditorViewId=void 0,t.ExplorerOpenedEditorViewId="file-opened-editor"},46608:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutlineModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(49865),p=e(77808),v=e(94787),m=e(11791),_=e(80614),s=e(29037);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.IOutlineDecorationService,useClass:v.OutlineDecorationService},{token:m.OutlineEventService,useClass:m.OutlineEventService},{token:s.OutlineTreeService,useClass:s.OutlineTreeService},{token:_.OutlineModelService,useClass:_.OutlineModelService},p.OutlineContribution]}};t.OutlineModule=g,t.OutlineModule=g=n.__decorate([(0,r.Injectable)()],g)},83890:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutlineTreeNode=t.OutlineCompositeTreeNode=t.OutlineRoot=void 0;const n=e(97267);class r extends n.CompositeTreeNode{static is(v){return!!v&&!v.parent}constructor(v,m){super(v,void 0),this._currentUri=m}get currentUri(){return this._currentUri}get expanded(){return!0}}t.OutlineRoot=r;class o extends n.CompositeTreeNode{static is(v){var m;return!!v&&!!v.raw&&!!(!((m=v.raw.children)===null||m===void 0)&&m.length)}constructor(v,m,_,s){super(v,m,void 0,{}),this.raw=_,this.icon=s,this.isExpanded=!0}get displayName(){return this.raw.name}get description(){return this.raw.detail}}t.OutlineCompositeTreeNode=o;class l extends n.TreeNode{static is(v){return!!v&&!!v.raw}constructor(v,m,_,s){super(v,m,void 0,{}),this.raw=_,this.icon=s}get displayName(){return this.raw.name}get description(){return this.raw.detail}}t.OutlineTreeNode=l},68635:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OUTLINE_TREE_NODE_HEIGHT=t.OutlineNode=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),p=e(41869),v=e(17459),m=e(83890),_=n.__importDefault(e(97196)),s=({item:g,defaultLeftPadding:a=8,leftPadding:h=8,onClick:u,onTwistierClick:d,itemType:E,decorationService:f,decorations:c})=>{const y=m.OutlineTreeNode.is(g)?f.getDecoration(g):null,b=(0,p.useDesignStyles)(_.default.expansion_toggle,"expansion_toggle"),A=(0,p.useDesignStyles)(_.default.outline_node,"outline_node"),S=U=>{(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&u(U,g,E)},w=U=>{(E===l.TreeNodeType.TreeNode||E===l.TreeNodeType.CompositeTreeNode)&&(d?d(U,g,E):u(U,g,E))},T=`${a+(g.depth||0)*(h||0)+(m.OutlineCompositeTreeNode.is(g)?0:12)}px`,D={color:y?y.color:"",height:t.OUTLINE_TREE_NODE_HEIGHT,lineHeight:`${t.OUTLINE_TREE_NODE_HEIGHT}px`,paddingLeft:T},I=U=>o.default.createElement("div",{className:(0,r.default)(_.default.icon,U.icon),style:{height:t.OUTLINE_TREE_NODE_HEIGHT,lineHeight:`${t.OUTLINE_TREE_NODE_HEIGHT}px`}}),R=U=>U.displayName.replace(/\n/g,"\u21B5"),P=U=>o.default.createElement("div",{className:(0,r.default)(_.default.outline_node_segment,_.default.outline_node_displayname,{[_.default.deprecated]:U.raw.tags&&U.raw.tags.indexOf(v.SymbolTag.Deprecated)>=0})},R(U)),O=()=>o.default.createElement("div",{className:(0,r.default)(_.default.outline_node_segment,_.default.outline_node_tail)},M()),M=()=>y?o.default.createElement("div",{className:_.default.outline_node_status},y.badge.slice()):null,k=(U,W)=>o.default.createElement("div",{onClick:W,className:(0,r.default)(_.default.file_tree_node_segment,b,(0,p.getIcon)("arrow-right"),{[`${_.default.mod_collapsed}`]:!U.expanded})}),F=U=>{if(m.OutlineCompositeTreeNode.is(U))return k(U,w)},L=()=>{let U=g.tooltip||g.displayName;return y&&y.tooltip&&(U+=` \u2022 ${y.tooltip}`),U},B=U=>m.OutlineCompositeTreeNode.is(U)?null:o.default.createElement("div",{className:(0,r.default)(_.default.outline_node_segment_grow,_.default.outline_node_description)},U.description);return o.default.createElement("div",{key:g.id,onClick:S,title:L(),className:(0,r.default)(A,c?c.classlist:null),style:D,"data-id":g.id},o.default.createElement("div",{className:_.default.outline_node_content},F(g),I(g),o.default.createElement("div",{className:_.default.outline_node_overflow_wrap},P(g),B(g)),O()))};t.OutlineNode=s,t.OUTLINE_TREE_NODE_HEIGHT=22},77808:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutlineContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(66e3),p=e(32595),v=e(63067),m=e(49865),_=e(40294),s=e(80614),g=e(29037);let a=class{onDidRender(){this.mainLayoutService.collectViewComponent({component:_.OutlinePanel,collapsed:!0,id:m.OUTLINE_VIEW_ID,name:(0,o.localize)("outline.title")},p.EXPLORER_CONTAINER_ID)}registerCommands(u){u.registerCommand({id:o.OUTLINE_COMMANDS.OUTLINE_COLLAPSE_ALL.id,iconClass:(0,o.getIcon)("collapse-all"),label:(0,o.localize)("outline.collapse.all")},{execute:()=>{this.outlineTreeModelService.collapseAll()}}),u.registerCommand({id:o.OUTLINE_COMMANDS.OUTLINE_FOLLOW_CURSOR.id,iconClass:(0,o.getIcon)("follow-cursor"),label:(0,o.localize)("outline.follow.cursor")},{execute:()=>{this.outlineTreeService.followCursor=!this.outlineTreeService.followCursor}}),u.registerCommand({id:o.OUTLINE_COMMANDS.OUTLINE_SORT_KIND.id,label:(0,o.localize)("outline.sort.kind")},{execute:()=>{this.outlineTreeService.sortType=2}}),u.registerCommand({id:o.OUTLINE_COMMANDS.OUTLINE_SORT_NAME.id,label:(0,o.localize)("outline.sort.name")},{execute:()=>{this.outlineTreeService.sortType=1}}),u.registerCommand({id:o.OUTLINE_COMMANDS.OUTLINE_SORT_POSITION.id,label:(0,o.localize)("outline.sort.position")},{execute:()=>{this.outlineTreeService.sortType=0}})}registerToolbarItems(u){u.registerItem({id:"outline.action.follow.cursor",viewId:"outline-view",command:o.OUTLINE_COMMANDS.OUTLINE_FOLLOW_CURSOR.id,label:(0,o.localize)("outline.follow.cursor"),toggledWhen:l.OutlineFollowCursorContext.raw}),u.registerItem({id:"outline.action.collapse.all",viewId:"outline-view",command:o.OUTLINE_COMMANDS.OUTLINE_COLLAPSE_ALL.id,label:(0,o.localize)("outline.collapse.all")}),u.registerItem({id:"outline.menu.sort.kind",viewId:"outline-view",command:o.OUTLINE_COMMANDS.OUTLINE_SORT_KIND.id,group:"inline",toggledWhen:`${l.OutlineSortTypeContext.raw} == 2`}),u.registerItem({id:"outline.menu.sort.name",viewId:"outline-view",command:o.OUTLINE_COMMANDS.OUTLINE_SORT_NAME.id,group:"inline",toggledWhen:`${l.OutlineSortTypeContext.raw} == 1`}),u.registerItem({id:"outline.menu.sort.position",viewId:"outline-view",command:o.OUTLINE_COMMANDS.OUTLINE_SORT_POSITION.id,group:"inline",toggledWhen:`${l.OutlineSortTypeContext.raw} == 0`})}};t.OutlineContribution=a,n.__decorate([(0,r.Autowired)(v.IMainLayoutService),n.__metadata("design:type",Object)],a.prototype,"mainLayoutService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",g.OutlineTreeService)],a.prototype,"outlineTreeService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.OutlineModelService)],a.prototype,"outlineTreeModelService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],a.prototype,"contextKey",void 0),t.OutlineContribution=a=n.__decorate([(0,o.Domain)(v.MainLayoutContribution,o.TabBarToolbarContribution,o.CommandContribution)],a)},40294:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutlineTreeView=t.OutlinePanel=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=n.__importStar(e(14041)),l=e(97267),p=e(41869),v=e(68974),m=e(48560),_=e(68635),s=n.__importDefault(e(78721)),g=e(80614),a=({viewState:h})=>{const{height:u}=h,d=(0,o.useRef)(null),E=(0,m.useInjectable)(g.OutlineModelService),[f,c]=(0,o.useState)(void 0),y=(0,o.useCallback)(I=>{E.handleTreeHandler({...I,hasDirectFocus:()=>d.current===document.activeElement})},[E,d.current]),b=(0,o.useCallback)((I,R,P)=>{I.stopPropagation();const{handleItemClick:O}=E;R&&O(R,P)},[E]),A=(0,o.useCallback)((I,R)=>{I.stopPropagation();const{toggleDirectory:P}=E;R&&P(R)},[E]),S=(0,o.useCallback)(()=>{const{enactiveNodeDecoration:I}=E;I()},[E]);(0,o.useEffect)(()=>{c(E.treeModel);const I=E.onDidUpdateTreeModel(R=>{c(R)});return()=>{I.dispose()}},[]),(0,o.useEffect)(()=>{var I;const R=()=>{E.handleTreeBlur()};return(I=d.current)===null||I===void 0||I.addEventListener("blur",R,!0),()=>{var P;(P=d.current)===null||P===void 0||P.removeEventListener("blur",R,!0),E.handleTreeBlur()}},[d.current]);const[w,T]=o.default.useState(!1),D=o.default.useMemo(()=>w,[w]);return(0,o.useEffect)(()=>{const I=E.onLoadingStateChange((0,r.default)(R=>{T(P=>P!==R?R:P)},80,{leading:!0}));return()=>{I.dispose()}},[T]),o.default.createElement("div",{className:s.default.outline_container,tabIndex:-1,ref:d,onClick:S},o.default.createElement(v.Progress,{loading:D}),o.default.createElement(t.OutlineTreeView,{loading:D,height:u,model:f,onItemClick:b,onTwistierClick:A,onDidTreeReady:y}))};t.OutlinePanel=a,t.OutlineTreeView=(0,o.memo)(({height:h,model:u,onItemClick:d,onTwistierClick:E,onDidTreeReady:f,loading:c})=>{const y=(0,m.useInjectable)(g.OutlineModelService),{decorationService:b,commandService:A}=y,S=(0,o.useCallback)(w=>o.default.createElement(_.OutlineNode,{item:w.item,itemType:w.itemType,decorationService:b,commandService:A,decorations:y.decorations.getDecorations(w.item),onClick:d,onTwistierClick:E,defaultLeftPadding:8,leftPadding:8}),[u]);return u?o.default.createElement(l.RecycleTree,{height:h,itemHeight:_.OUTLINE_TREE_NODE_HEIGHT,onReady:f,model:u,placeholder:()=>o.default.createElement("span",{className:s.default.outline_empty_text},(0,p.localize)("outline.noinfo"))},S):o.default.createElement("span",{className:s.default.outline_empty_text},c?(0,p.localize)("common.loading"):(0,p.localize)("outline.nomodel"))}),t.OutlineTreeView.displayName="OutlineTreeView"},3551:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutlineContextKeyService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(66e3);let p=class{constructor(m){m=m||this.globalContextKeyService,this.outlineSortTypeContext=l.OutlineSortTypeContext.bind(m),this.outlineFollowCursorContext=l.OutlineFollowCursorContext.bind(m)}};t.OutlineContextKeyService=p,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],p.prototype,"globalContextKeyService",void 0),t.OutlineContextKeyService=p=n.__decorate([(0,r.Injectable)(),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],p)},94787:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutlineDecorationService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(52416);let p=class{constructor(){this._diagnosisInfo=[]}updateDiagnosisInfo(m){this._diagnosisInfo=m?this.markerManager.getMarkers({resource:m.toString(),opened:!0}):[]}getDecoration(m){const _=[];let s;const g=this._diagnosisInfo.filter(a=>a.startLineNumber<=m.raw.range.startLineNumber&&a.endLineNumber>=m.raw.range.startLineNumber?!0:m.raw.range.startLineNumber<=a.startLineNumber&&m.raw.range.endLineNumber>=a.startLineNumber);for(const a of g)(a.severity===o.MarkerSeverity.Error||a.severity===o.MarkerSeverity.Warning)&&_.push(a),(!s||a.severity>s.severity)&&(s=a);return{color:s?.severity===o.MarkerSeverity.Error||s?.severity===o.MarkerSeverity.Warning?this.themeService.getColor({id:s.severity===o.MarkerSeverity.Error?l.listErrorForeground:l.listWarningForeground}):void 0,tooltip:s?.message,badge:_.length>0?_.length>9?"9+":_.length+"":""}}};t.OutlineDecorationService=p,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",o.MarkerManager)],p.prototype,"markerManager",void 0),n.__decorate([(0,r.Autowired)(l.IThemeService),n.__metadata("design:type",Object)],p.prototype,"themeService",void 0),t.OutlineDecorationService=p=n.__decorate([(0,r.Injectable)()],p)},11791:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutlineEventService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(57517),p=e(17459),v=e(63067),m=e(49865);let _=class extends o.WithEventBus{constructor(){super(...arguments),this._onDidDocumentSymbolChange=new o.Emitter,this._onDidSelectionChange=new o.Emitter,this._onDidEditorActiveResourceStateChange=new o.Emitter,this._onDidViewCollapseChange=new o.Emitter}get onDidChange(){return this._onDidDocumentSymbolChange.event}get onDidActiveChange(){return this._onDidEditorActiveResourceStateChange.event}get onDidSelectionChange(){return this._onDidSelectionChange.event}get onDidViewCollapseChange(){return this._onDidViewCollapseChange.event}onEditorActiveResourceStateChangedEvent(g){this._onDidEditorActiveResourceStateChange.fire(g.payload.editorUri)}onEditorSelectionChangeEvent(g){this._onDidSelectionChange.fire(g.payload.editorUri)}onDocumentSymbolChange(g){this._onDidDocumentSymbolChange.fire(g.payload)}onViewCollapseChangedEvent(g){g.payload.viewId===m.OUTLINE_VIEW_ID&&this._onDidViewCollapseChange.fire(g.payload.collapsed)}};t.OutlineEventService=_,n.__decorate([(0,o.OnEvent)(l.EditorActiveResourceStateChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[l.EditorActiveResourceStateChangedEvent]),n.__metadata("design:returntype",void 0)],_.prototype,"onEditorActiveResourceStateChangedEvent",null),n.__decorate([(0,o.OnEvent)(l.EditorSelectionChangeEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[l.EditorSelectionChangeEvent]),n.__metadata("design:returntype",void 0)],_.prototype,"onEditorSelectionChangeEvent",null),n.__decorate([(0,o.OnEvent)(p.DocumentSymbolChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[p.DocumentSymbolChangedEvent]),n.__metadata("design:returntype",void 0)],_.prototype,"onDocumentSymbolChange",null),n.__decorate([(0,o.OnEvent)(v.ViewCollapseChangedEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.ViewCollapseChangedEvent]),n.__metadata("design:returntype",void 0)],_.prototype,"onViewCollapseChangedEvent",null),t.OutlineEventService=_=n.__decorate([(0,r.Injectable)()],_)},84203:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.OutlineTreeModel=void 0;const r=e(85608),o=e(76003),l=e(97267),p=e(41869),v=e(83890);let m=n=class extends l.TreeModel{constructor(s){super(),this.flushDispatchChangeDelayer=new p.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.OutlineTreeModel=m,m.DEFAULT_FLUSH_DELAY=100,t.OutlineTreeModel=m=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[v.OutlineCompositeTreeNode])],m)},80614:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.OutlineModelService=void 0;const r=e(85608),o=e(76003),l=e(97267),p=e(41869),v=e(57517),m=e(17459),_=e(32595),s=e(63067),g=r.__importStar(e(20868)),a=e(49865),h=r.__importDefault(e(97196)),u=e(11791),d=e(84203),E=e(29037),{Path:f}=p.path;let c=n=class{constructor(){this._allTreeModels=new p.LRUMap(100,80),this._changeEventDispatchQueue=[],this.selectedDecoration=new l.Decoration(h.default.mod_selected),this.focusedDecoration=new l.Decoration(h.default.mod_focused),this._selectedNodes=[],this.disposableCollection=new p.DisposableCollection,this.onDidRefreshedEmitter=new p.Emitter,this.onLoadingStateChangedEmitter=new p.Emitter,this.onDidUpdateTreeModelEmitter=new p.Emitter,this._ignoreFollowCursorUpdateEventTimer=0,this.clearNodeSelectedDecoration=()=>{this._selectedNodes.forEach(b=>{this.selectedDecoration.removeTarget(b)}),this._selectedNodes=[]},this.activeNodeDecoration=(b,A=!0)=>{var S;if(b){for(const w of this.selectedDecoration.appliedTargets.keys())this.selectedDecoration.removeTarget(w);for(const w of this.focusedDecoration.appliedTargets.keys())this.focusedDecoration.removeTarget(w);this.selectedDecoration.addTarget(b),this.focusedDecoration.addTarget(b),this._focusedNode=b,this._selectedNodes=[b],A&&((S=this.treeModel)===null||S===void 0||S.dispatchChange())}},this.selectNodeDecoration=(b,A=!0)=>{var S;b&&(this.selectedNodes.length>0&&this.selectedNodes.forEach(w=>{this.selectedDecoration.removeTarget(w)}),this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode),this.selectedDecoration.addTarget(b),this._selectedNodes=[b],A&&((S=this.treeModel)===null||S===void 0||S.dispatchChange()))},this.activeNodeFocusedDecoration=(b,A=!1)=>{var S;this.focusedNode!==b&&(A?this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode):this.focusedNode&&this.focusedDecoration.removeTarget(this.focusedNode),b&&(this.selectedDecoration.addTarget(b),this.focusedDecoration.addTarget(b),this._focusedNode=b,this._selectedNodes.push(b))),(S=this.treeModel)===null||S===void 0||S.dispatchChange()},this.activeNodeSelectedDecoration=b=>{var A;this._selectedNodes.indexOf(b)>-1||(this.selectedNodes.length>0&&this.selectedNodes.forEach(S=>{this.selectedDecoration.removeTarget(S)}),this._selectedNodes=[b],this.selectedDecoration.addTarget(b),(A=this.treeModel)===null||A===void 0||A.dispatchChange())},this.enactiveNodeDecoration=()=>{var b;this.focusedNode&&(this.focusedDecoration.removeTarget(this.focusedNode),(b=this.treeModel)===null||b===void 0||b.dispatchChange()),this._focusedNode=void 0},this.handleTreeBlur=()=>{this.enactiveNodeDecoration()},this.handleItemClick=(b,A)=>{this.activeNodeDecoration(b),this.revealRange(b.raw),this._ignoreFollowCursorUpdateEventTimer++},this.toggleDirectory=async b=>{b.expanded?this.outlineTreeHandle.collapseNode(b):this.outlineTreeHandle.expandNode(b)},this.flushEventQueue=()=>{if(!this._changeEventDispatchQueue||this._changeEventDispatchQueue.length===0)return;this._changeEventDispatchQueue.sort((S,w)=>{const T=f.pathDepth(S),D=f.pathDepth(w);return T-D});const b=[this._changeEventDispatchQueue[0]];for(const S of this._changeEventDispatchQueue)b.some(w=>S.indexOf(w)===0)||b.push(S);const A=(0,p.pSeries)(b.map(S=>async()=>{var w,T;const D=(T=(w=this.treeModel)===null||w===void 0?void 0:w.root)===null||T===void 0?void 0:T.watchEvents.get(S);return D&&typeof D.callback=="function"&&await D.callback({type:l.WatchEvent.Changed,path:S}),null}));return this._changeEventDispatchQueue=[],A},this.location=async b=>{var A;await((A=this.refreshDeferred)===null||A===void 0?void 0:A.promise),b&&this.outlineTreeHandle&&(b=await this.outlineTreeHandle.ensureVisible(b,"smart"))},this.collapseAll=async()=>{var b,A;await((b=this.refreshDeferred)===null||b===void 0?void 0:b.promise),await((A=this.treeModel)===null||A===void 0?void 0:A.root.collapsedAll())},this.initTreeModelDelayer=new p.ThrottledDelayer(n.DEFAULT_INIT_TREE_MODEL_DELAY),this.refreshDelayer=new p.ThrottledDelayer(n.DEFAULT_REFRESH_DELAY),this._whenReady=this.initTreeModel()}get whenReady(){return this._whenReady}get flushEventQueuePromise(){return this.refreshDeferred&&this.refreshDeferred.promise}get outlineTreeHandle(){return this._outlineTreeHandle}get decorations(){return this._decorations}get treeModel(){return this._activeTreeModel}get focusedNode(){return this._focusedNode}get selectedNodes(){return this._selectedNodes}get onLoadingStateChange(){return this.onLoadingStateChangedEmitter.event}get onDidRefreshed(){return this.onDidRefreshedEmitter.event}get onDidUpdateTreeModel(){return this.onDidUpdateTreeModelEmitter.event}get whenInitTreeModelReady(){return this._whenInitTreeModelReady}get whenRefreshReady(){var b;return(b=this.refreshDeferred)===null||b===void 0?void 0:b.promise}setTreeModel(b){this._activeTreeModel=b,this.onDidUpdateTreeModelEmitter.fire(this._activeTreeModel)}async doInitTreeModelByCurrentUri(b){let A;if(b){const S=(await this.outlineTreeService.resolveChildren())[0];if(!S){this.logger.error(`init outline tree model error: cannot resolve ${b} children`);return}A=this.injector.get(d.OutlineTreeModel,[S]),await A.ensureReady;const w=this.initDecorations(S);this._allTreeModels.has(b.toString())&&this._allTreeModels.delete(b.toString()),this._allTreeModels.set(b.toString(),{treeModel:A,decoration:w})}return this.setTreeModel(A),A}async initTreeModelByCurrentUri(b){var A;if(await this.outlineTreeService.whenReady,await((A=this.refreshDeferred)===null||A===void 0?void 0:A.promise),this.outlineTreeService.currentUri=b,b&&this._allTreeModels.has(b.toString())){const S=this._allTreeModels.get(b.toString());this._decorations=S.decoration,this.setTreeModel(S.treeModel)}else await this.doInitTreeModelByCurrentUri(b)}async initTreeModel(){var b;this._whenInitTreeModelReady=this.initTreeModelByCurrentUri((b=this.editorService.currentEditor)===null||b===void 0?void 0:b.currentUri),await this._whenInitTreeModelReady,this.disposableCollection.push(this.markerManager.onMarkerChanged(A=>{this.outlineTreeService.currentUri&&A.find(S=>S===this.outlineTreeService.currentUri.toString())&&this.refresh()})),this.disposableCollection.push(this.outlineEventService.onDidActiveChange(async()=>{this.initTreeModelDelayer.isTriggered()||this.initTreeModelDelayer.cancel(),this.onLoadingStateChangedEmitter.fire(!0),this.initTreeModelDelayer.trigger(async()=>{var A;await this._whenInitTreeModelReady,this.refreshDelayer.isTriggered()||this.refreshDelayer.cancel();const S=(A=this.editorService.currentEditor)===null||A===void 0?void 0:A.currentUri;this._whenInitTreeModelReady=this.initTreeModelByCurrentUri(S),this.onLoadingStateChangedEmitter.fire(!1)})})),this.disposableCollection.push(this.outlineEventService.onDidSelectionChange(()=>{this.outlineTreeService.followCursor&&this.locateSelection(!1)})),this.disposableCollection.push(this.outlineEventService.onDidChange(A=>{var S,w;A===((S=this.editorService.currentEditor)===null||S===void 0?void 0:S.currentUri)&&(this.outlineTreeService.currentUri=(w=this.editorService.currentEditor)===null||w===void 0?void 0:w.currentUri,this.refresh())})),this.disposableCollection.push(this.outlineEventService.onDidViewCollapseChange(A=>{A||this.refresh()})),this.disposableCollection.push(this.outlineTreeService.onDidChange(()=>{this.refresh()})),this.disposableCollection.push(p.Disposable.create(()=>{this._allTreeModels.clear()}))}initDecorations(b){return this._decorations=new l.DecorationsManager(b),this._decorations.addDecoration(this.selectedDecoration),this._decorations.addDecoration(this.focusedDecoration),this._decorations}locateSelection(b=!0){if(!this.outlineTreeService.currentUri)return;const A=this.documentSymbolStore.getDocumentSymbol(this.outlineTreeService.currentUri);if(A){const S=this.findCurrentDocumentSymbol(A,this.editorService.currentEditorGroup.codeEditor.monacoEditor.getPosition()),w=this.outlineTreeService.getTreeNodeBySymbol(S[S.length-1]);if(w){if(this._ignoreFollowCursorUpdateEventTimer){this._ignoreFollowCursorUpdateEventTimer--;return}else this.location(w);this.activeNodeDecoration(w,!b)}}}findCurrentDocumentSymbol(b,A){const S=[];if(!A)return S;let w=b;for(;w&&w.length>0;){let T=!1;for(const D of w)if(this.positionInRange(A,D.range)){S.push(D),w=D.children,T=!0;break}if(!T)break}return S}positionInRange(b,A){return b.lineNumber<A.startLineNumber?!1:b.lineNumber===A.startLineNumber?b.column>=A.startColumn:b.lineNumber<A.endLineNumber?!0:b.lineNumber===A.endLineNumber?b.column<=A.endColumn:!1}removeNodeDecoration(){this.decorations&&(this.decorations.removeDecoration(this.selectedDecoration),this.decorations.removeDecoration(this.focusedDecoration))}handleTreeHandler(b){this._outlineTreeHandle=b}revealRange(b){const A=this.editorService.currentEditorGroup.codeEditor;A.monacoEditor.revealLineInCenter(b.range.startLineNumber),A.monacoEditor.setPosition(new g.Position(b.range.startLineNumber,b.range.endLineNumber))}async refresh(){var b,A,S,w,T;this.onLoadingStateChangedEmitter.fire(!0),await this.whenInitTreeModelReady,await this.whenRefreshReady;const D=(b=this.treeModel)===null||b===void 0?void 0:b.root;if(!D||!(!((S=(A=this.editorService)===null||A===void 0?void 0:A.currentEditor)===null||S===void 0)&&S.currentUri)){this._whenInitTreeModelReady=this.initTreeModelByCurrentUri((T=(w=this.editorService)===null||w===void 0?void 0:w.currentEditor)===null||T===void 0?void 0:T.currentUri),this.onLoadingStateChangedEmitter.fire(!1);return}return this.refreshDelayer.isTriggered()||this.refreshDelayer.cancel(),this.refreshDelayer.trigger(async()=>{var I,R,P;const O=this.mainLayoutService.getTabbarHandler(_.EXPLORER_CONTAINER_ID);if(!O||!O.isVisible||O.isCollapsed(a.OUTLINE_VIEW_ID)){this.refreshDeferred&&(this.refreshDeferred.resolve(),this.refreshDeferred=null),this.onLoadingStateChangedEmitter.fire(!1);return}this.refreshDeferred||(this.refreshDeferred=new p.Deferred),this.outlineTreeService.currentUri=(R=(I=this.editorService)===null||I===void 0?void 0:I.currentEditor)===null||R===void 0?void 0:R.currentUri,D.currentUri&&this.outlineTreeService.currentUri&&this.outlineTreeService.currentUri.isEqual(D.currentUri)&&(this.decorationService.updateDiagnosisInfo(this.outlineTreeService.currentUri),await D.refresh(),this.onDidRefreshedEmitter.fire()),(P=this.refreshDeferred)===null||P===void 0||P.resolve(),this.refreshDeferred=null,this.onLoadingStateChangedEmitter.fire(!1)})}dispose(){this.disposableCollection.dispose()}};t.OutlineModelService=c,c.DEFAULT_REFRESH_DELAY=200,c.DEFAULT_INIT_TREE_MODEL_DELAY=500,r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],c.prototype,"injector",void 0),r.__decorate([(0,o.Autowired)(p.ILogger),r.__metadata("design:type",Object)],c.prototype,"logger",void 0),r.__decorate([(0,o.Autowired)(E.OutlineTreeService),r.__metadata("design:type",E.OutlineTreeService)],c.prototype,"outlineTreeService",void 0),r.__decorate([(0,o.Autowired)(p.MarkerManager),r.__metadata("design:type",p.MarkerManager)],c.prototype,"markerManager",void 0),r.__decorate([(0,o.Autowired)(a.IOutlineDecorationService),r.__metadata("design:type",Object)],c.prototype,"decorationService",void 0),r.__decorate([(0,o.Autowired)(u.OutlineEventService),r.__metadata("design:type",u.OutlineEventService)],c.prototype,"outlineEventService",void 0),r.__decorate([(0,o.Autowired)(v.WorkbenchEditorService),r.__metadata("design:type",v.WorkbenchEditorService)],c.prototype,"editorService",void 0),r.__decorate([(0,o.Autowired)(p.CommandService),r.__metadata("design:type",Object)],c.prototype,"commandService",void 0),r.__decorate([(0,o.Autowired)(m.DocumentSymbolStore),r.__metadata("design:type",m.DocumentSymbolStore)],c.prototype,"documentSymbolStore",void 0),r.__decorate([(0,o.Autowired)(s.IMainLayoutService),r.__metadata("design:type",Object)],c.prototype,"mainLayoutService",void 0),t.OutlineModelService=c=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],c)},29037:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutlineTreeService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),p=e(17459),v=e(83890),m=e(3551);let _=class extends o.Tree{constructor(){super(),this.collator=new l.IdleValue(()=>new Intl.Collator(void 0,{numeric:!0})),this.cacheOutlineNodes=new Map,this._sortType=0,this._followCursor=!1,this.onDidChangeEmitter=new l.Emitter,this.sortComparator=(g,a)=>this.sortType===2?g.raw.kind-a.raw.kind||this.collator.getValue().compare(g.displayName,a.displayName):this.sortType===1?this.collator.getValue().compare(g.displayName,a.displayName)||(0,l.compareRangesUsingStarts)(g.raw.range,a.raw.range):(0,l.compareRangesUsingStarts)(g.raw.range,a.raw.range)||this.collator.getValue().compare(g.displayName,a.displayName),this._whenReady=this.init()}async init(){this._outlineStorage=await this.storageProvider(l.STORAGE_NAMESPACE.OUTLINE),this._sortType=this._outlineStorage.get("sortType",0),this.outlineContextKeyService.outlineSortTypeContext.set(this._sortType),this._followCursor=this._outlineStorage.get("followCursor",!1),this.outlineContextKeyService.outlineFollowCursorContext.set(this._followCursor)}get whenReady(){return this._whenReady}get onDidChange(){return this.onDidChangeEmitter.event}get currentUri(){return this._currentUri}set currentUri(g){this._currentUri=g}get followCursor(){return this._followCursor}set followCursor(g){this._followCursor!==g&&(this._followCursor=g,this.outlineContextKeyService.outlineFollowCursorContext.set(g),this._outlineStorage.set("followCursor",g),this.onDidChangeEmitter.fire())}get sortType(){return this._sortType}set sortType(g){this._sortType!==g&&(this._sortType=g,this.outlineContextKeyService.outlineSortTypeContext.set(g),this._outlineStorage.set("sortType",g),this.onDidChangeEmitter.fire())}async resolveChildren(g){var a;let h=[];if(!g)h=[new v.OutlineRoot(this,this.currentUri)];else if(g)if(v.OutlineCompositeTreeNode.is(g))g.raw&&(h=((a=g.raw.children)===null||a===void 0?void 0:a.map(u=>{var d;return!((d=u.children)===null||d===void 0)&&d.length?new v.OutlineCompositeTreeNode(this,g,u,(0,l.getSymbolIcon)(u.kind)+" outline-icon"):new v.OutlineTreeNode(this,g,u,(0,l.getSymbolIcon)(u.kind)+" outline-icon")}).filter(u=>!!u.name))||[]);else{if(!(g.currentUri||this.currentUri))return[];const u=this.documentSymbolStore.getDocumentSymbol(g.currentUri||this.currentUri);h=u?.map(d=>{var E;return!((E=d.children)===null||E===void 0)&&E.length?new v.OutlineCompositeTreeNode(this,g,d,(0,l.getSymbolIcon)(d.kind)+" outline-icon"):new v.OutlineTreeNode(this,g,d,(0,l.getSymbolIcon)(d.kind)+" outline-icon")})||[]}return this.cacheNodes(h),h}cacheNodes(g){for(const a of g)a.raw&&this.cacheOutlineNodes.set(a.raw.id,a)}getTreeNodeBySymbol(g){if(g)return this.cacheOutlineNodes.get(g.id)}};t.OutlineTreeService=_,n.__decorate([(0,r.Autowired)(p.DocumentSymbolStore),n.__metadata("design:type",p.DocumentSymbolStore)],_.prototype,"documentSymbolStore",void 0),n.__decorate([(0,r.Autowired)(m.OutlineContextKeyService),n.__metadata("design:type",m.OutlineContextKeyService)],_.prototype,"outlineContextKeyService",void 0),n.__decorate([(0,r.Autowired)(l.StorageProvider),n.__metadata("design:type",Function)],_.prototype,"storageProvider",void 0),t.OutlineTreeService=_=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],_)},49865:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OUTLINE_VIEW_ID=t.IOutlineDecorationService=void 0,t.IOutlineDecorationService=Symbol("IOutlineDecorationService"),t.OUTLINE_VIEW_ID="outline-view"},89549:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutputModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(79267),p=e(63068);let v=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[l.OutputContribution],this.preferences=p.bindOutputPreference}};t.OutputModule=v,t.OutputModule=v=n.__decorate([(0,r.Injectable)()],v)},79267:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutputContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(30144),p=e(68456),v=e(43718),m=e(98295),_=e(52902),s=e(5686),g=e(63068),a=e(83145),h=e(12481),u={id:"output.channel.clear",label:"%output.channel.clear%"};let d=class extends v.Disposable{constructor(){super(...arguments),this.schema=g.outputPreferenceSchema}onStart(){this.addDispose(_.monaco.languages.registerLinkProvider("log",this.outputLinkProvider))}registerToolbarItems(f){f.registerItem({id:"output.clear.action",command:u.id,iconClass:(0,o.getIcon)("clear"),viewId:l.OUTPUT_CONTAINER_ID})}registerCommands(f){f.registerCommand(u,{execute:()=>{var c;return(c=this.outputService.selectedChannel)===null||c===void 0?void 0:c.clear()}})}registerComponent(f){f.register("@opensumi/ide-output",{id:l.OUTPUT_CONTAINER_ID,component:h.Output},{title:(0,v.localize)("output.tabbar.title"),priority:9,containerId:l.OUTPUT_CONTAINER_ID,activateKeyBinding:"ctrlcmd+shift+u",titleComponent:h.ChannelSelector})}};t.OutputContribution=d,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",a.OutputService)],d.prototype,"outputService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",s.OutputLinkProvider)],d.prototype,"outputLinkProvider",void 0),t.OutputContribution=d=n.__decorate([(0,m.Domain)(v.CommandContribution,p.ComponentContribution,p.TabBarToolbarContribution,o.PreferenceContribution,o.ClientAppContribution)],d)},5686:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutputLinkProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=n.__importStar(e(20868)),p=e(51500);class v{constructor(s){if(this.patterns=new Map,this.workspaceUris=new Set,s){const g=this.workspaceUri(s);this.workspaceUris.add(g);const a=this.createPatterns(g);this.patterns.set(g,a)}}workspaceUri(s){return o.Uri.parse(s).path}updateWorkspaceUri(s){const g=this.workspaceUri(s);this.workspaceUris.has(s)||this.patterns.set(s,this.createPatterns(g))}createPatterns(s){if(!s)return[];const g=[],a='[^\\s\\(\\):<>"]',u=`${`(?:${a}| ${a})`}+\\.${a}+`,d=`${a}+`;return g.push(new RegExp(o.strings.escapeRegExpCharacters(s)+`(${u}) on line ((\\d+)(, column (\\d+))?)`,"gi")),g.push(new RegExp(o.strings.escapeRegExpCharacters(s)+`(${u}):line ((\\d+)(, column (\\d+))?)`,"gi")),g.push(new RegExp(o.strings.escapeRegExpCharacters(s)+`(${u})(\\s?\\((\\d+)(,(\\d+))?)\\)`,"gi")),g.push(new RegExp(o.strings.escapeRegExpCharacters(s)+`(${d})(:(\\d+))?(:(\\d+))?`,"gi")),g}computeLinks(s){const g=[],a=s.getValue().split(/\r\n|\r|\n/);for(const[h,u]of this.patterns){const d={toResource:E=>{if(typeof E=="string")return o.URI.parse(o.path.join(h,E)).withScheme(o.Schemes.file).toString()}};for(let E=0,f=a.length;E<f;E++)g.push(...this.toLinks(a[E],E+1,u,d))}return g}toLinks(s,g,a,h){const u=[];return a.forEach(d=>{d.lastIndex=0;let E,f=0;for(;(E=d.exec(s))!==null;){const c=o.strings.rtrim(E[1],".").replace(/\\/g,"/");let y;try{y=h.toResource(c)}catch{continue}if(E[3]){const w=E[3];if(E[5]){const T=E[5];y=o.strings.format("{0}#{1},{2}",y,w,T)}else y=o.strings.format("{0}#{1}",y,w)}const b=o.strings.multiRightTrim(E[0],["'",";",".","\u3002"]),A=s.indexOf(b,f);f+=A+b.length;const S={startColumn:A+1,startLineNumber:g,endColumn:A+1+b.length,endLineNumber:g};if(u.some(w=>l.Range.areIntersectingOrTouching(w.range,S)))return;u.push({range:S,url:o.strings.multiRightTrim(y,["'",";",".","\u3002"])})}}),u}}let m=class extends o.Disposable{constructor(){var s;super(),this.linkComputer=new v((s=this.workspaceService.workspace)===null||s===void 0?void 0:s.uri),this.addDispose(this.workspaceService.onWorkspaceChanged(g=>{for(const a of g)this.linkComputer.updateWorkspaceUri(a.uri)}))}provideLinks(s){return{links:this.linkComputer.computeLinks(s)}}};t.OutputLinkProvider=m,n.__decorate([(0,r.Autowired)(p.IWorkspaceService),n.__metadata("design:type",Object)],m.prototype,"workspaceService",void 0),t.OutputLinkProvider=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},63068:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutputPreferences=t.outputPreferenceSchema=void 0,t.bindOutputPreference=r;const n=e(41869);t.outputPreferenceSchema={id:"output",order:7,title:(0,n.localize)("output.configurationTitle"),type:"object",properties:{"output.logWhenNoPanel":{type:"boolean",description:(0,n.localize)("output.logWhenNoPanel"),default:!0}}},t.OutputPreferences=Symbol("OutputPreferences");function r(o){o.addProviders({token:t.OutputPreferences,useFactory:l=>{const p=l.get(n.PreferenceService);return(0,n.createPreferenceProxy)(p,t.outputPreferenceSchema)}})}},56285:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutputChannel=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(30144),p=e(43718),v=e(57517),m=e(63067),_=n.__importStar(e(20868)),s=e(2261),g=e(69178),a=e(63068),{removeAnsiEscapeCodes:h}=p.strings,u=5e4;let d=class extends p.Disposable{constructor(f){super(),this.name=f,this.outputLines=[],this.visible=!0,this.shouldLogToBrowser=!1,this.modelReady=new p.Deferred,this.maxChannelLine=u,this.enableHighlight=!0;const c=this.preferenceService.get("output.maxChannelLine");c&&(this.maxChannelLine=c),this.enableHighlight=!!this.preferenceService.get("output.enableLogHighlight"),this.setShouldLogToBrowser(),this.addDispose(this.preferenceService.onPreferenceChanged(b=>{switch(b.preferenceName){case"output.maxChannelLine":this.onDidMaxChannelLineChange(b);break;case"output.logWhenNoPanel":this.setShouldLogToBrowser();break;case"output.enableLogHighlight":this.onDidLogHighlightChange(b);break;default:break}}));const y=new p.URI(`${p.Schemes.walkThroughSnippet}://output/${f||(0,p.uuid)()}`);this.documentService.createModelReference(y).then(b=>{this.outputModel=b,this.monacoModel=this.outputModel.instance.getMonacoModel(),this.monacoModel.setValue((0,p.localize)("output.channel.none","<no output yet>")),this.enableHighlight&&(this.outputModel.instance.languageId="log"),this.modelReady.resolve()})}onDidMaxChannelLineChange(f){f.newValue!==this.maxChannelLine&&(this.maxChannelLine=f.newValue)}onDidLogHighlightChange(f){this.modelReady.promise.then(()=>{f.newValue!==this.enableHighlight&&(this.enableHighlight=f.newValue),f.newValue?this.outputModel.instance.languageId="log":this.outputModel.instance.languageId="plaintext"})}setShouldLogToBrowser(){const f=!this.layoutService.getTabbarHandler(l.OUTPUT_CONTAINER_ID),c=this.outputPreferences["output.logWhenNoPanel"];this.shouldLogToBrowser=!!(f&&c)}doReplace(f){this.monacoModel.setValue(f)}applyEdits(f){const c=this.monacoModel.getLineCount(),y=this.monacoModel.getLineMaxColumn(c),b=[s.EditOperation.insert(new _.Position(c,y),f)];this.monacoModel.applyEdits(b)}isEmptyChannel(){return this.outputLines.length===0}doAppend(f){let c=!1;this.outputLines.length+1>=this.maxChannelLine&&(c=!0,this.outputLines=this.outputLines.slice(this.maxChannelLine/2)),this.modelReady.promise.then(()=>{this.isEmptyChannel()||c?this.doReplace(this.outputLines.join("")+f):this.applyEdits(f),this.outputLines.push(f)})}append(f){this.eventBus.fire(new g.ContentChangeEvent(new g.ContentChangeEventPayload(this.name,g.ContentChangeType.append,f,this.outputLines))),this.doAppend(h(f))}appendLine(f){let c=f;if(typeof f!="string")try{c=JSON.stringify(f)}catch{c=`[${typeof f}]`}c.endsWith(`\r
|
|
32224
32226
|
`)||(c=c+`\r
|
|
32225
|
-
`),this.eventBus.fire(new g.ContentChangeEvent(new g.ContentChangeEventPayload(this.name,g.ContentChangeType.appendLine,c,this.outputLines))),this.doAppend(h(c)),this.shouldLogToBrowser&&console.log(`%c[${this.name}]%c ${c}}`,"background:rgb(50, 150, 250); color: #fff","background: none; color: inherit")}replace(f){this.outputLines=[],this.modelReady.promise.then(()=>this.monacoModel.setValue("")),this.append(f)}clear(){this.outputLines=[],this.modelReady.promise.then(()=>this.monacoModel.setValue((0,p.localize)("output.channel.none","\u8FD8\u6CA1\u6709\u4EFB\u4F55\u8F93\u51FA"))),this.eventBus.fire(new g.ContentChangeEvent(new g.ContentChangeEventPayload(this.name,g.ContentChangeType.appendLine,"",this.outputLines)))}setVisibility(f){if(this.visible=f,f){const c=this.layoutService.getTabbarHandler(l.OUTPUT_CONTAINER_ID);if(!c)return;c.isVisible||c.activate()}}async setLanguageId(f){await this.modelReady.promise,this.outputModel.instance.languageId=f}get isVisible(){return this.visible}};t.OutputChannel=d,n.__decorate([(0,r.Autowired)(m.IMainLayoutService),n.__metadata("design:type",Object)],d.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],d.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(a.OutputPreferences),n.__metadata("design:type",Object)],d.prototype,"outputPreferences",void 0),n.__decorate([(0,r.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],d.prototype,"documentService",void 0),n.__decorate([(0,r.Autowired)(p.IEventBus),n.__metadata("design:type",Object)],d.prototype,"eventBus",void 0),t.OutputChannel=d=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[String])],d)},83145:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutputService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),p=e(57517),v=e(28423),m=e(56285);let _=class extends l.WithEventBus{get onDidSelectedChannelChange(){return this.onDidSelectedChannelChangeEmitter.event}constructor(){super(),this.onDidSelectedChannelChangeEmitter=new l.Emitter,this.autoReveal=!0,this.enableSmartScroll=!0,this.channels=(0,v.observableValue)(this,new Map),this.getChannels=(0,v.derived)(this,g=>{const a=this.channels.read(g);return Array.from(a.values())}),this.enableSmartScroll=!!this.preferenceService.get("output.enableSmartScroll"),this.addDispose(this.preferenceService.onPreferenceChanged(g=>{g.preferenceName==="output.enableSmartScroll"&&g.newValue!==this.enableSmartScroll&&(this.enableSmartScroll=g.newValue)}))}updateSelectedChannel(g){this.monacoDispose&&this.monacoDispose.dispose(),this.selectedChannel=g,this.onDidSelectedChannelChangeEmitter.fire(g),this.selectedChannel.modelReady.promise.then(()=>{var a,h;const u=this.selectedChannel.outputModel.instance.getMonacoModel();(a=this.outputEditor)===null||a===void 0||a.open(this.selectedChannel.outputModel),this.enableSmartScroll&&((h=this.outputEditor)===null||h===void 0||h.monacoEditor.revealLine(u.getLineCount()),this.autoReveal=!0),this.monacoDispose=u.onDidChangeContent(()=>{var d;this.autoReveal&&this.enableSmartScroll&&((d=this.outputEditor)===null||d===void 0||d.monacoEditor.revealLine(u.getLineCount(),0))})})}set viewHeight(g){this._viewHeight=g}get viewHeight(){return this._viewHeight}getChannel(g){const a=this.channels.get(),h=a.get(g);if(h)return h;const u=this.config.injector.get(m.OutputChannel,[g]);return a.set(g,u),a.size===1&&this.updateSelectedChannel(u),(0,v.transaction)(d=>{this.channels.set(new Map(a),d)}),u}deleteChannel(g){(0,v.transaction)(a=>{const h=this.channels.get();h.delete(g),this.channels.set(new Map(h),a)})}async initOutputMonacoInstance(g){this.outputEditor&&this.outputEditor.dispose(),this.outputEditor=this.editorCollectionService.createCodeEditor(g,{...(0,p.getSimpleEditorOptions)(),lineDecorationsWidth:20,automaticLayout:!0,readOnly:!0,domReadOnly:!0,extraEditorClassName:"kt-output-monaco",scrollbar:{useShadows:!1}}),this.selectedChannel&&this.updateSelectedChannel(this.selectedChannel),this.addDispose(this.outputEditor.monacoEditor.onMouseUp(a=>{var h,u;if(this.enableSmartScroll){const{range:d}=a.target,E=(u=(h=this.outputEditor)===null||h===void 0?void 0:h.currentDocumentModel)===null||u===void 0?void 0:u.getMonacoModel().getLineCount();d?.startLineNumber<E&&(this.autoReveal=!1),d?.startLineNumber>=E&&(this.autoReveal=!0)}}))}};t.OutputService=_,n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],_.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(p.EditorCollectionService),n.__metadata("design:type",p.EditorCollectionService)],_.prototype,"editorCollectionService",void 0),n.__decorate([(0,r.Autowired)(p.IEditorDocumentModelService),n.__metadata("design:type",Object)],_.prototype,"documentService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],_.prototype,"preferenceService",void 0),t.OutputService=_=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],_)},12481:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChannelSelector=t.Output=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),p=e(30144),v=e(77331),m=e(72260),_=n.__importDefault(e(33395)),s=e(83145),g=({viewState:h})=>{const u=(0,l.useInjectable)(s.OutputService),d=(0,r.useRef)(null),E=(0,l.useInjectable)(m.IMainLayoutService);return(0,r.useEffect)(()=>{u.viewHeight=String(h.height)},[h.height]),(0,r.useEffect)(()=>{if(d.current){const f=E.getTabbarHandler(p.OUTPUT_CONTAINER_ID);if(f?.isActivated())u.initOutputMonacoInstance(d.current);else{const c=f?.onActivate(()=>{u.initOutputMonacoInstance(d.current),c?.dispose()})}}},[]),r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:_.default.output,ref:d}))};t.Output=g;const a=()=>{const h="<no channels>",u=(0,l.useInjectable)(l.AppConfig),d=[],[E,f]=r.default.useState(""),c=(0,l.useInjectable)(s.OutputService);(0,l.useAutorun)(c.getChannels).forEach((A,S)=>{d.push(u.isElectronRenderer?r.default.createElement("option",{value:A.name,key:`${S} - ${A.name}`},A.name):r.default.createElement(o.Option,{value:A.name,key:`${S} - ${A.name}`},A.name))}),(0,r.useEffect)(()=>{const A=c.onDidSelectedChannelChange(S=>{f(S.name)});return()=>{A.dispose()}},[]),d.length===0&&d.push(u.isElectronRenderer?r.default.createElement("option",{key:h,value:h},h):r.default.createElement(o.Option,{key:h,value:h},h));async function b(A){let S;typeof A=="object"?S=A.target.value:S=A,S!==h&&c.updateSelectedChannel(c.getChannel(S))}return u.isElectronRenderer?r.default.createElement(v.Select,{value:E||h,onChange:b},d):r.default.createElement(o.Select,{value:E||h,className:_.default.select,size:"small",maxHeight:c.viewHeight,onChange:b},d)};t.ChannelSelector=a},69178:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContentChangeEvent=t.ContentChangeEventPayload=t.ContentChangeType=void 0;const n=e(43718);var r;(function(p){p[p.appendLine=0]="appendLine",p[p.append=1]="append",p[p.clear=2]="clear"})(r||(t.ContentChangeType=r={}));class o{constructor(v,m,_,s){this.channelName=v,this.changeType=m,this.value=_,this.lines=s}}t.ContentChangeEventPayload=o;class l extends n.BasicEvent{}t.ContentChangeEvent=l},31388:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserCtxMenuService=void 0;const n=e(85608),r=e(76003),o=e(43738);let l=class{constructor(){this.visibleObservable=(0,o.observableValue)(this,!1),this.onHide=void 0,this.point=void 0,this.context=void 0,this.menuNodes=[]}get visible(){return this.visibleObservable.get()}show(v){const{anchor:m,onHide:_,args:s,menuNodes:g}=v;if(!Array.isArray(g)||!g.length)return;this.context=s,this.menuNodes.splice(0,this.menuNodes.length,...g);const{x:a,y:h}=m instanceof window.MouseEvent?{x:m.clientX,y:m.clientY}:m;this.onHide=_,this.point={pageX:a,pageY:h},(0,o.transaction)(u=>{this.visibleObservable.set(!0,u)})}hide(v){typeof this.onHide=="function"&&this.onHide(v),this.reset()}reset(){(0,o.transaction)(v=>{this.visibleObservable.set(!1,v)})}};t.BrowserCtxMenuService=l,t.BrowserCtxMenuService=l=n.__decorate([(0,r.Injectable)()],l)},5454:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CtxMenu=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(26460)),l=e(97267),p=e(41869),v=e(25918),m=n.__importDefault(e(17647)),_=e(97222),s=e(42912);e(34728);const g=()=>{const a=(0,p.useInjectable)(_.IBrowserCtxMenu),h=(0,p.useAutorun)(a.visibleObservable),u=(0,p.useInjectable)(s.IIconService),d=r.default.useCallback(()=>{a.hide(!1)},[]),E=r.default.useCallback(()=>{h&&a.hide(!0)},[h]);return r.default.createElement(o.default,{popupPlacement:"bottomLeft",popupVisible:h,action:["contextMenu"],popupAlign:{overflow:{adjustX:1,adjustY:1},offset:[window.scrollX,window.scrollY]},point:a.point||{},popupClassName:"point-popup",builtinPlacements:m.default,popup:r.default.createElement(l.ClickOutside,{mouseEvents:["click","contextmenu"],onOutsideClick:E},r.default.createElement(v.MenuActionList,{data:a.menuNodes,afterClick:d,context:a.context,iconService:u,renderSubMenuTitle:a.renderSubMenuTitle,renderMenuItem:a.renderMenuItem})),alignPoint:!0})};t.CtxMenu=g,t.CtxMenu.displayName="CtxMenu"},54490:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(20162);let p=class{constructor(){this._contextKeyService=this.globalContextKeyService,this.dialogViewVisibleContext=l.DialogViewVisibleContext.bind(this._contextKeyService)}};t.DialogContextKey=p,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],p.prototype,"globalContextKeyService",void 0),t.DialogContextKey=p=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],p)},73618:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(20162),p=e(25751);let v=class{registerCommands(_){_.registerCommand({id:o.DIALOG_COMMANDS.ENSURE.id,label:(0,o.localize)("dialog.ensure")},{execute:()=>{const s=this.dialogService.getButtons();s&&s.length>0&&this.dialogService.hide(s?.[s.length-1])}})}registerKeybindings(_){_.registerKeybinding({command:o.DIALOG_COMMANDS.ENSURE.id,keybinding:"enter",when:`${l.DialogViewVisibleContext.raw}`})}};t.DialogContribution=v,n.__decorate([(0,r.Autowired)(p.IDialogService),n.__metadata("design:type",Object)],v.prototype,"dialogService",void 0),t.DialogContribution=v=n.__decorate([(0,o.Domain)(o.CommandContribution,o.KeybindingContribution)],v)},16417:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(25751),p=e(54490);let v=class extends l.AbstractMessageService{constructor(){super(...arguments),this._visible=!1,this.message="",this.title="",this.closable=!0,this.props={},this.onDidDialogVisibleChangeEmitter=new o.Emitter}get onDidDialogVisibleChange(){return this.onDidDialogVisibleChangeEmitter.event}get visible(){return this._visible}open({message:_,type:s,buttons:g,options:a,closable:h=!0,props:u}){return this.deferred=new o.Deferred,this.type=s,this.message=_,this.detail=a?.detail,this._visible=!0,this.closable=h,this.props=u??{},this.buttons=g,this.onDidDialogVisibleChangeEmitter.fire(this._visible),this.contextkeyService.dialogViewVisibleContext.set(!0),this.deferred.promise}hide(_){this._visible=!1,this.onDidDialogVisibleChangeEmitter.fire(this._visible),this.contextkeyService.dialogViewVisibleContext.set(!1),this.deferred.resolve(_)}reset(){this.type=void 0,this.message="",this.buttons=[],this.props={}}getMessage(){return this.message}getDetail(){return this.detail}getType(){return this.type}getIcon(){switch(this.type){case o.MessageType.Error:return{color:"var(--notificationsErrorIcon-foreground)",className:"close-circle"};case o.MessageType.Info:return{color:"var(--notificationsInfoIcon-foreground)",className:"info-circle"};case o.MessageType.Warning:return{color:"var(--notificationsWarningIcon-foreground)",className:"question-circle"};default:break}}getButtons(){return this.buttons}getProps(){return this.props}};t.DialogService=v,n.__decorate([(0,r.Autowired)(p.DialogContextKey),n.__metadata("design:type",p.DialogContextKey)],v.prototype,"contextkeyService",void 0),t.DialogService=v=n.__decorate([(0,r.Injectable)()],v)},21705:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dialog=void 0;const r=e(85608).__importStar(e(14041)),o=e(97267),l=e(41869),p=e(25751),v=()=>{var m;const _=(0,l.useInjectable)(p.IDialogService),s=_.getIcon(),g=_.getMessage(),a=_.getDetail(),h=_.getButtons(),u=_.getType(),[d,E]=(0,r.useState)(_.visible),f=_.getProps(),c=(0,r.useCallback)(()=>{_.reset()},[_]),y=(0,r.useCallback)(()=>{_.hide()},[_]),b=(0,r.useCallback)(A=>{_.hide(A)},[_]);return(0,r.useEffect)(()=>{const A=_.onDidDialogVisibleChange(S=>{E(S)});return()=>{A.dispose()}},[]),r.default.createElement(o.Dialog,{visible:d,onClose:y,closable:(m=_.closable)!==null&&m!==void 0?m:!0,afterClose:c,message:g,detail:a,type:"confirm",messageType:u,icon:s,keyboard:!0,buttons:h?h.map((A,S)=>r.default.createElement(o.Button,{size:"large",onClick:()=>b(A),key:A,type:S===h.length-1?"primary":"secondary"},l.strings.mnemonicButtonLabel(A,!0))):r.default.createElement(o.Button,{size:"large",onClick:y,type:"primary"},(0,l.localize)("dialog.confirm")),...f})};t.Dialog=v},96194:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OverlayModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(97222),p=e(25751),v=e(31388),m=e(54490),_=e(73618),s=e(16417),g=e(38543),a=e(75124);let h=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:m.DialogContextKey,useClass:m.DialogContextKey},{token:p.IDialogService,useClass:s.DialogService},{token:p.IMessageService,useClass:a.MessageService},{token:l.IBrowserCtxMenu,useClass:v.BrowserCtxMenuService},_.DialogContribution],this.isOverlay=!0,this.component=g.Overlay}};t.OverlayModule=h,t.OverlayModule=h=n.__decorate([(0,r.Injectable)()],h)},38543:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Overlay=void 0;const r=e(85608).__importDefault(e(14041)),o=e(41869),l=e(5454),p=e(21705);e(90311);const v=()=>{const m=(0,o.useInjectable)(o.ComponentRegistry),_=(0,o.useInjectable)(o.IClientApp),[s,g]=r.default.useState([]),a=(0,o.useInjectable)(o.AppConfig);return r.default.useEffect(()=>{_.appInitialized.promise.then(()=>{var h;if(!((h=a.layoutConfig[o.SlotLocation.extra])===null||h===void 0)&&h.modules){const u=[];a.layoutConfig[o.SlotLocation.extra].modules.forEach(d=>{const E=m.getComponentRegistryInfo(d);E&&(E.views||[]).forEach(f=>{f.component&&u.push(f.component)})}),g(u)}})},[]),r.default.createElement("div",{id:"ide-overlay",className:"ide-overlay"},r.default.createElement(p.Dialog,null),r.default.createElement(l.CtxMenu,null),r.default.createElement(o.ComponentRenderer,{Component:s}))};t.Overlay=v},75124:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MessageService=void 0;const r=e(85608),o=e(76003),l=e(97267),p=e(84605),v=e(41869),m=e(43718),_=e(25751);let s=n=class extends _.AbstractMessageService{constructor(){super(...arguments),this.showTime=0}open({type:a,buttons:h,from:u,closable:d=!0,message:E}){if(!E)return Promise.resolve(void 0);let f=E;if(Date.now()-this.showTime<n.SAME_MESSAGE_DURATION_MS&&typeof f=="string"&&this.preMessage===f)return Promise.resolve(void 0);this.preMessage=typeof f=="string"&&f,this.showTime=Date.now(),typeof E=="string"&&E.length>_.MAX_MESSAGE_LENGTH&&(f=`${E.substr(0,_.MAX_MESSAGE_LENGTH)}...`);const c=u&&typeof u=="string"?`${(0,m.localize)("component.message.origin")}: ${u}`:"",y=(0,m.uuid)();return(0,l.open)((0,v.toMarkdown)(f,this.openerService,{walkTokens:p.parseWithoutEscape}),a,d,y,h,c,n.DURATION[a])||Promise.resolve(void 0)}hide(){l.notification.destroy()}};t.MessageService=s,s.SAME_MESSAGE_DURATION_MS=3e3,s.DURATION={[m.MessageType.Info]:15,[m.MessageType.Warning]:18,[m.MessageType.Error]:20},r.__decorate([(0,o.Autowired)(v.IOpenerService),r.__metadata("design:type",Object)],s.prototype,"openerService",void 0),t.MessageService=s=n=r.__decorate([(0,o.Injectable)()],s)},25751:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IOpenDialogOptions=t.ISaveDialogOptions=t.IWindowDialogService=t.AbstractMessageService=t.IDialogService=t.MAX_MESSAGE_LENGTH=t.IMessageService=void 0;const n=e(43718);t.IMessageService=Symbol("IMessageService"),t.MAX_MESSAGE_LENGTH=1e3,t.IDialogService=Symbol("IDialogService");class r{info(v,m,_,s){return this.open({message:v,type:n.MessageType.Info,buttons:m,closable:_,props:s})}warning(v,m,_,s){return this.open({message:v,type:n.MessageType.Warning,buttons:m,closable:_,props:s})}error(v,m,_,s){return this.open({message:v,type:n.MessageType.Error,buttons:m,closable:_,props:s})}}t.AbstractMessageService=r,t.IWindowDialogService=Symbol("IWindowDialogService");var o;(function(p){function v(m){return"saveLabel"in m||"showNameInput"in m||"defaultFileName"in m}p.is=v})(o||(t.ISaveDialogOptions=o={}));var l;(function(p){function v(m){return"canSelectFiles"in m||"canSelectFolders"in m||"canSelectMany"in m||"openLabel"in m}p.is=v})(l||(t.IOpenDialogOptions=l={}))},72665:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(25751),t)},11461:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractResourcePreferenceProvider=t.OVERRIDE_PROPERTY_PATTERN=void 0;const n=e(85608),r=n.__importStar(e(23304)),o=n.__importDefault(e(12784)),l=e(76003),p=e(41869),v=e(57517),m=e(14951),_="\\[(.*)\\]$";t.OVERRIDE_PROPERTY_PATTERN=new RegExp(_);let s=class extends p.PreferenceProvider{constructor(){super(),this.preferences={default:{},languageSpecific:{}},this.preferenceThrottler=new p.Throttler,this.preferenceTasks=[],this.debouncedReadPreferences=(0,o.default)(()=>{this.readPreferences()},100),this.loaded=!1,this.listen()}listen(){if(this.fileSystem.handlesScheme(p.Schemes.file)&&this.fileSystem.handlesScheme(p.Schemes.userStorage))this.init();else{const a=this.fileSystem.onFileProviderChanged(h=>{this.fileSystem.handlesScheme(p.Schemes.file)&&this.fileSystem.handlesScheme(p.Schemes.userStorage)&&(this.init(),a.dispose())})}}async init(){this.readPreferences().then(()=>this._ready.resolve()).catch(()=>this._ready.resolve());const a=this.getUri(),h=await this.fileSystem.watchFileChanges(a.parent);this.toDispose.push(h),this.toDispose.push(this.eventBus.on(v.EditorDocumentModelSavedEvent,u=>{u.payload.toString()===a.toString()&&this.debouncedReadPreferences()})),h.onFilesChanged(u=>{if(u.find(E=>E.uri.startsWith(a.parent.toString())))return this.debouncedReadPreferences()}),this.toDispose.push(p.Disposable.create(()=>this.reset()))}getConfigUri(a){return a?this.contains(a)?this.getUri():void 0:this.getUri()}contains(a){if(!a)return!0;const h=this.getDomain();if(!h)return!0;const u=new p.URI(a).path;return h.some(d=>new p.URI(d).path.relativity(u)>=0)}getPreferences(a,h){return this.loaded&&this.contains(a)?this.getOnePreference(h):void 0}getLanguagePreferences(a){return this.loaded&&this.contains(a)?this.preferences.languageSpecific:void 0}getOnePreference(a){return a?this.preferences.languageSpecific[a]||{}:this.preferences.default}async resolvePreferenceTasks(a){const h=this.getUri();this.resource=this.fileSystem.getFileStat(h.toString());let u=await this.resource,d=(await this.readContents()||"").trim();for(const E of a){const{path:f,value:c}=E;if((!d||f.length===0)&&(0,p.isUndefined)(c))continue;const y={tabSize:2,insertSpaces:!0,eol:""},b=r.modify(d,f,c,{formattingOptions:y});d=r.applyEdits(d,b)}try{return u||(u=await this.fileSystem.createFile(h.toString())),await this.fileSystem.setContent(u,d),await this.readPreferences(d),!0}catch(E){return this.logger.error(`${E.toString()}`),!1}}doSetPreferenceTask(){const a=this.preferenceTasks.slice(0);return this.preferenceTasks=[],this.resolvePreferenceTasks(a)}async doSetPreference(a,h,u,d){if(!this.contains(u))return!1;const E=this.getPath(a,d);return E?(this.preferenceTasks.push({path:E,key:a,value:h}),await this.preferenceThrottler.queue(this.doSetPreferenceTask.bind(this))):!1}getPath(a,h){return h?[`[${h}]`,a]:[a]}async readPreferences(a){const h=a||await this.readContents();this.loaded=!(0,p.isUndefined)(h);const u=h?this.getParsedContent(h):{default:{},languageSpecific:{}};this.handlePreferenceChanges(u)}async readContents(){const a=this.getUri();try{const{content:h}=await this.fileSystem.readFile(a.toString());return h.toString()}catch{if(this.appConfig.useVSCodeWorkspaceConfiguration&&a.scheme===p.Schemes.file){const u=a.parent.parent.resolve(p.VSCODE_WORKSPACE_CONFIGURATION_DIR_NAME).resolve(a.displayName);try{const{content:d}=await this.fileSystem.readFile(u.toString());return d.toString()}catch{return}}return}}getParsedContent(a){const h=this.parse(a),u={default:{},languageSpecific:{}};if(typeof h!="object")return u;for(const d of Object.keys(h)){const E=h[d];if(t.OVERRIDE_PROPERTY_PATTERN.test(d)){const f=d.match(t.OVERRIDE_PROPERTY_PATTERN)[1];u.languageSpecific[f]=u.languageSpecific[f]||{};for(const c in E){const y=E[c];u.languageSpecific[f][`${c}`]=y}}else u.default[d]=E}return u}validate(a,h){return this.configurations.getPath(this.getUri())!==this.configurations.getPaths()[0]?!0:(0,p.isUndefined)(h)||this.schemaProvider.validate(a,h).valid}parse(a){if(a=a.trim(),!a)return;const h=r.stripComments(a);return r.parse(h)}handlePreferenceChanges(a){const h=Object.assign({},this.preferences);this.preferences=a;const u=this.collectChanges(this.preferences,h);(Object.keys(u.default).length>0||Object.keys(u.languageSpecific).length>0)&&this.emitPreferencesChangedEvent(u)}reset(){const a=this.preferences;this.preferences={default:{},languageSpecific:{}};const h=this.collectChanges(this.preferences,a);(Object.keys(h.default).length>0||Object.keys(h.languageSpecific).length>0)&&this.emitPreferencesChangedEvent(h)}collectChanges(a,h){const u={default:this.collectOneChanges(a.default,h.default),languageSpecific:{}},d=new Set([...Object.keys(a.languageSpecific),...Object.keys(h.languageSpecific)]);for(const E of d){const f=this.collectOneChanges(a.languageSpecific[E],h.languageSpecific[E]);Object.keys(f).length>0&&(u.languageSpecific[E]=f)}return u}collectOneChanges(a,h){const u=new Set([...Object.keys(h||{}),...Object.keys(a||{})]),d={},E=this.getUri();for(const f of u){const c=h[f],y=a[f],b=this.schemaProvider.getCombinedSchema().properties[f];if(b){const A=b.scope;if(!this.schemaProvider.isValidInScope(f,this.getScope())){this.logger.warn(`Preference ${f} in ${E} can only be defined in scopes: ${p.PreferenceScope.getScopeNames(A).join(", ")}.`);continue}}((0,p.isUndefined)(y)&&c!==y||(0,p.isUndefined)(c)&&y!==c||!p.JSONUtils.deepEqual(c,y))&&(d[f]={preferenceName:f,newValue:y,oldValue:c,scope:this.getScope(),domain:this.getDomain()})}return d}};t.AbstractResourcePreferenceProvider=s,n.__decorate([(0,l.Autowired)(p.PreferenceSchemaProvider),n.__metadata("design:type",p.PreferenceSchemaProvider)],s.prototype,"schemaProvider",void 0),n.__decorate([(0,l.Autowired)(p.PreferenceConfigurations),n.__metadata("design:type",p.PreferenceConfigurations)],s.prototype,"configurations",void 0),n.__decorate([(0,l.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],s.prototype,"fileSystem",void 0),n.__decorate([(0,l.Autowired)(p.AppConfig),n.__metadata("design:type",Object)],s.prototype,"appConfig",void 0),n.__decorate([(0,l.Autowired)(p.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),n.__decorate([(0,l.Autowired)(p.IEventBus),n.__metadata("design:type",Object)],s.prototype,"eventBus",void 0),t.AbstractResourcePreferenceProvider=s=n.__decorate([(0,l.Injectable)(),n.__metadata("design:paramtypes",[])],s)},91825:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FolderFilePreferenceProvider=t.FolderFilePreferenceProviderOptions=t.FolderFilePreferenceProviderFactory=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(10560),p=e(11461);t.FolderFilePreferenceProviderFactory=Symbol("FolderFilePreferenceProviderFactory"),t.FolderFilePreferenceProviderOptions=Symbol("FolderFilePreferenceProviderOptions");let v=class extends p.AbstractResourcePreferenceProvider{get folderUri(){return this._folderUri||(this._folderUri=new o.URI(this.options.folder.uri)),this._folderUri}getUri(){return this.options.configUri}getScope(){return this.workspaceService.isMultiRootWorkspaceOpened?o.PreferenceScope.Folder:o.PreferenceScope.Workspace}getDomain(){return[this.folderUri.toString()]}};t.FolderFilePreferenceProvider=v,n.__decorate([(0,r.Autowired)(t.FolderFilePreferenceProviderOptions),n.__metadata("design:type",Object)],v.prototype,"options",void 0),n.__decorate([(0,r.Autowired)(l.IWorkspaceService),n.__metadata("design:type",Object)],v.prototype,"workspaceService",void 0),t.FolderFilePreferenceProvider=v=n.__decorate([(0,r.Injectable)()],v)},16814:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldersPreferencesProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(79929),p=e(51500),v=e(91825);let m=class extends o.PreferenceProvider{constructor(){super(),this.providers=new Map,this.init()}async init(){await this.workspaceService.roots,this.updateProviders(),this.workspaceService.onWorkspaceChanged(()=>this.updateProviders());const s=[];for(const g of this.providers.values())s.push(g.ready.catch(a=>this.logger.error(a)));s.length>0?Promise.all(s).then(()=>this._ready.resolve()):this._ready.resolve()}updateProviders(){const s=this.workspaceService.tryGetRoots(),g=new Set(this.providers.keys());for(const a of s){const h=new o.URI(a.uri);for(const u of this.configurations.getPaths())for(const d of[...this.configurations.getSectionNames(),this.configurations.getConfigName()]){const E=this.configurations.createUri(h,u,d),f=E.toString();if(g.delete(f),!this.providers.has(f)){const c=this.createProvider({folder:a,configUri:E});this.providers.set(f,c)}}}for(const a of g){const h=this.providers.get(a);h&&(this.providers.delete(a),h.dispose())}}getConfigUri(s){for(const g of this.getFolderProviders(s)){const a=g.getConfigUri(s);if(this.configurations.isConfigUri(a))return a}}getContainingConfigUri(s){for(const g of this.getFolderProviders(s)){const a=g.getConfigUri();if(this.configurations.isConfigUri(a)&&g.contains(s))return a}}getDomain(){return this.workspaceService.tryGetRoots().map(s=>s.uri)}doResolve(s,g,a){const h={},u=this.groupProvidersByConfigName(g);for(const d of u.values())for(const E of d){const{value:f,configUri:c}=E.resolve(s,g,a);if(c&&f!==void 0){h.configUri=c,h.value=o.PreferenceProvider.merge(h.value,f);break}}return h}getPreferences(s,g){let a;const h=this.groupProvidersByConfigName(s);for(const u of h.values())for(const d of u)if(d.getConfigUri(s)){const E=d.getPreferences(void 0,g);E&&(a=o.PreferenceProvider.merge(a,E));break}return a}getLanguagePreferences(s){let g;const a=this.groupProvidersByConfigName(s);for(const h of a.values())for(const u of h)if(u.getConfigUri(s)){const d=u.getLanguagePreferences();d&&(g=o.PreferenceProvider.merge(g,d));break}return g}async doSetPreference(s,g,a,h){const u=s.split(".",1)[0],d=this.configurations.isSectionName(u)?u:this.configurations.getConfigName(),E=this.getFolderProviders(a);let f;for(const c of E){if(f===void 0){const y=c.getConfigUri(a);y&&(f=this.configurations.getPath(y))}if(this.configurations.getName(c.getConfigUri())===d){if(c.getConfigUri(a)){if(await c.setPreference(s,g,a,h))return!0}else if(this.configurations.getPath(c.getConfigUri())===f){if(await c.setPreference(s,g,a,h))return!0}else if(await c.setPreference(s,g,a,h))return!0}}return!1}groupProvidersByConfigName(s){const g=new Map,a=this.getFolderProviders(s);for(const h of[this.configurations.getConfigName(),...this.configurations.getSectionNames()]){const u=[];for(const d of a)this.configurations.getName(d.getConfigUri())===h&&u.push(d);g.set(h,u)}return g}getFolderProviders(s){if(!s)return[];const g=new o.URI(s).path;let a={relativity:Number.MAX_SAFE_INTEGER};const h=new Map;for(const u of this.providers.values()){const d=u.folderUri.toString(),E=h.get(d)||[];E.push(u),h.set(d,E);const f=u.folderUri.path.relativity(g);f>=0&&a.relativity>f&&(a={relativity:f,uri:d})}return a.uri&&h.get(a.uri)||[]}createProvider(s){const g=this.FolderFilePreferenceProviderFactory(s);return this.toDispose.push(g),this.toDispose.push(g.onDidPreferencesChanged(a=>{this.emitPreferencesChangedEvent(a)})),g}};t.FoldersPreferencesProvider=m,n.__decorate([(0,r.Autowired)(v.FolderFilePreferenceProviderFactory),n.__metadata("design:type",Function)],m.prototype,"FolderFilePreferenceProviderFactory",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceConfigurations),n.__metadata("design:type",o.PreferenceConfigurations)],m.prototype,"configurations",void 0),n.__decorate([(0,r.Autowired)(p.IWorkspaceService),n.__metadata("design:type",Object)],m.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",Object)],m.prototype,"fileSystem",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],m.prototype,"logger",void 0),t.FoldersPreferencesProvider=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},58408:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PreferencesModule=void 0,t.injectFolderPreferenceProvider=E,t.injectWorkspaceFilePreferenceProvider=f,t.injectPreferenceProviders=c,t.createPreferenceProviders=y;const n=e(85608),r=e(76003),o=e(41869),l=e(78132),p=e(83569),v=e(91825),m=e(16814),_=e(65146),s=e(90184),g=e(76773),a=e(25947),h=e(46392),u=e(58705);let d=class extends o.BrowserModule{constructor(){super(...arguments),this.contributionProvider=p.SettingContribution,this.providers=[...y(),{token:p.IUserStorageService,useClass:a.UserStorageServiceImpl},{token:l.IPreferenceSettingsService,useClass:s.PreferenceSettingsService},_.PreferenceContribution,a.UserStorageContribution],this.preferences=c}};t.PreferencesModule=d,t.PreferencesModule=d=n.__decorate([(0,r.Injectable)()],d);function E(b){b.addProviders({token:v.FolderFilePreferenceProviderFactory,useFactory:()=>A=>{const S=b.get(l.PreferenceConfigurations),w=S.getName(A.configUri),T=b.createChild([{token:v.FolderFilePreferenceProviderOptions,useValue:A}],{dropdownForTag:!0,tag:w});return S.isConfigUri(A.configUri)?(T.addProviders({token:v.FolderFilePreferenceProvider,useClass:v.FolderFilePreferenceProvider}),T.get(v.FolderFilePreferenceProvider)):T.get(v.FolderFilePreferenceProvider,{tag:w,multiple:!0})}})}function f(b){b.addProviders({token:h.WorkspaceFilePreferenceProviderFactory,useFactory:()=>A=>b.createChild([{token:h.WorkspaceFilePreferenceProviderOptions,useValue:A},{token:h.WorkspaceFilePreferenceProvider,useClass:h.WorkspaceFilePreferenceProvider}]).get(h.WorkspaceFilePreferenceProvider)})}function c(b){E(b),f(b)}function y(){return[{token:l.PreferenceProvider,tag:l.PreferenceScope.Folder,useClass:m.FoldersPreferencesProvider},{token:l.PreferenceProvider,tag:l.PreferenceScope.Workspace,useClass:u.WorkspacePreferenceProvider},{token:l.PreferenceProvider,tag:l.PreferenceScope.User,useClass:g.UserPreferenceProvider}]}},65146:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PreferenceContribution=t.PREFERENCE_COMMANDS=t.PreferenceContextMenu=t.PrefResourceProvider=void 0;const n=e(85608),r=n.__importStar(e(23304)),o=e(76003),l=e(41869),p=e(93899),v=e(57517),m=e(42933),_=e(83569),s=e(90184),g=e(26551),a=e(99187),h=e(76773),u=e(58705),d="pref-preview",{addElement:E}=l.arrays;let f=class extends l.WithEventBus{constructor(){super(),this.scheme=_.PREF_SCHEME}provideResource(S){return{supportsRevive:!0,name:(0,l.localize)("preference.tab.name"),icon:(0,l.getIcon)("setting"),uri:S}}provideResourceSubname(S,w){return null}async shouldCloseResource(S,w){return!0}};t.PrefResourceProvider=f,t.PrefResourceProvider=f=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],f);var c;(function(A){A.OPEN="1_open"})(c||(t.PreferenceContextMenu=c={}));var y;(function(A){const S="preference";A.OPEN_USER_SETTING_FILE={id:"preference.open.user",label:"%preference.editorTitle.openUserSource%",category:S},A.OPEN_WORKSPACE_SETTING_FILE={id:"preference.open.workspace",label:"%preference.editorTitle.openWorkspaceSource%",category:S},A.OPEN_SOURCE_FILE={id:"preference.open.source",label:"%preference.editorTitle.openSource%",category:S},A.PREFERENCE_INPUT_FOCUS={id:"preference.input.focus",category:S}})(y||(t.PREFERENCE_COMMANDS=y={}));let b=class{constructor(){this.settingGroupsWillRegister=s.defaultSettingGroup,this.settingSectionsWillRegister=s.defaultSettingSections}onStart(){this.saveSettings(),this.handleSettingGroups(),this.handleSettingSections(),this.registerSettings(),this.registerSettingSections()}registerCommands(S){S.registerCommand(l.COMMON_COMMANDS.OPEN_PREFERENCES,{execute:async w=>{await this.openPreferences(w),this.preferenceService.focusInput()}}),S.registerCommand(l.COMMON_COMMANDS.LOCATE_PREFERENCES,{execute:async w=>(await this.openPreferences(),await this.preferenceService.scrollToGroup(w))}),S.registerCommand(y.OPEN_USER_SETTING_FILE,{execute:()=>{this.openResource(l.PreferenceScope.User)}}),S.registerCommand(y.OPEN_WORKSPACE_SETTING_FILE,{execute:()=>{this.openResource(l.PreferenceScope.Workspace)}}),S.registerCommand(y.OPEN_SOURCE_FILE,{execute:async(w,T)=>{!w||typeof w!="number"?this.openResource():this.openResource(w,T)}}),S.registerCommand(y.PREFERENCE_INPUT_FOCUS,{execute:()=>{this.preferenceService.focusInput()}})}registerMenus(S){S.registerMenuItem(p.MenuId.SettingsIconMenu,{command:l.COMMON_COMMANDS.OPEN_PREFERENCES.id,group:c.OPEN}),S.registerMenuItem(p.MenuId.EditorTitle,{command:y.OPEN_SOURCE_FILE.id,iconClass:(0,l.getIcon)("open"),group:"navigation",order:4,when:`resourceScheme == ${_.PREF_SCHEME}`}),S.registerMenuItem(p.MenuId.EditorTitle,{command:l.COMMON_COMMANDS.OPEN_PREFERENCES.id,iconClass:(0,l.getIcon)("open"),group:"navigation",order:4,when:"resourceFilename =~ /settings.json/"})}registerKeybindings(S){S.registerKeybinding({command:l.COMMON_COMMANDS.OPEN_PREFERENCES.id,keybinding:"ctrlcmd+,"}),S.registerKeybinding({command:y.PREFERENCE_INPUT_FOCUS.id,keybinding:"ctrlcmd+f",when:"resourceScheme == pref"})}handleSettingGroups(){for(const S of this.contributions.getContributions())S.handleSettingGroup&&(this.settingGroupsWillRegister=S.handleSettingGroup(this.settingGroupsWillRegister))}handleSettingSections(){for(const S of this.contributions.getContributions())S.handleSettingSections&&(this.settingSectionsWillRegister=S.handleSettingSections({...this.settingSectionsWillRegister}))}saveSettings(){for(const S of this.contributions.getContributions())S.registerSetting&&S.registerSetting({registerSettingGroup:w=>E(this.settingGroupsWillRegister,w),registerSettingSection:(w,T)=>((I=>Object.keys(this.settingSectionsWillRegister).includes(I))(w)||(this.settingSectionsWillRegister[w]=[]),E(this.settingSectionsWillRegister[w],T))})}registerSettings(){this.settingGroupsWillRegister.forEach(S=>{this.preferenceService.registerSettingGroup(S)})}registerSettingSections(){Object.keys(this.settingSectionsWillRegister).forEach(S=>{this.settingSectionsWillRegister[S].forEach(w=>{this.preferenceService.registerSettingSection(S,w)})})}async openPreferences(S,w){await this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,new l.URI("/").withScheme(_.PREF_SCHEME),{preview:!1}),(0,l.isString)(S)?this.preferenceService.search(S):(0,l.isString)(w)&&this.preferenceService.scrollToPreference(w)}async openResource(S,w){var T,D,I;const R=await this.preferenceService.getCurrentPreferenceUrl(S),P=await this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,new l.URI(R),{focus:!0,groupIndex:this.workbenchEditorService.currentEditorGroup.index});if(P&&w){const O=(T=this.workbenchEditorService.editorGroups.find(M=>M.name===P.groupId))===null||T===void 0?void 0:T.currentEditor;if(O){const{_commandService:M}=O.monacoEditor;let k=O.monacoEditor.getValue(),F,L,B,U;const{index:W}=k.match(new RegExp(`\\"${w}\\"`))||{};if(W&&W>=0)L=((D=k.slice(0,W).match(new RegExp("\\n","g")))===null||D===void 0?void 0:D.length)||0,L>0&&(F=k.split(`
|
|
32227
|
+
`),this.eventBus.fire(new g.ContentChangeEvent(new g.ContentChangeEventPayload(this.name,g.ContentChangeType.appendLine,c,this.outputLines))),this.doAppend(h(c)),this.shouldLogToBrowser&&console.log(`%c[${this.name}]%c ${c}}`,"background:rgb(50, 150, 250); color: #fff","background: none; color: inherit")}replace(f){this.outputLines=[],this.modelReady.promise.then(()=>this.monacoModel.setValue("")),this.append(f)}clear(){this.outputLines=[],this.modelReady.promise.then(()=>this.monacoModel.setValue((0,p.localize)("output.channel.none","\u8FD8\u6CA1\u6709\u4EFB\u4F55\u8F93\u51FA"))),this.eventBus.fire(new g.ContentChangeEvent(new g.ContentChangeEventPayload(this.name,g.ContentChangeType.appendLine,"",this.outputLines)))}setVisibility(f){if(this.visible=f,f){const c=this.layoutService.getTabbarHandler(l.OUTPUT_CONTAINER_ID);if(!c)return;c.isVisible||c.activate()}}async setLanguageId(f){await this.modelReady.promise,this.outputModel.instance.languageId=f}get isVisible(){return this.visible}};t.OutputChannel=d,n.__decorate([(0,r.Autowired)(m.IMainLayoutService),n.__metadata("design:type",Object)],d.prototype,"layoutService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],d.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(a.OutputPreferences),n.__metadata("design:type",Object)],d.prototype,"outputPreferences",void 0),n.__decorate([(0,r.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],d.prototype,"documentService",void 0),n.__decorate([(0,r.Autowired)(p.IEventBus),n.__metadata("design:type",Object)],d.prototype,"eventBus",void 0),t.OutputChannel=d=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[String])],d)},83145:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OutputService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),p=e(57517),v=e(28423),m=e(56285);let _=class extends l.WithEventBus{get onDidSelectedChannelChange(){return this.onDidSelectedChannelChangeEmitter.event}constructor(){super(),this.onDidSelectedChannelChangeEmitter=new l.Emitter,this.autoReveal=!0,this.enableSmartScroll=!0,this.channels=(0,v.observableValue)(this,new Map),this.getChannels=(0,v.derived)(this,g=>{const a=this.channels.read(g);return Array.from(a.values())}),this.enableSmartScroll=!!this.preferenceService.get("output.enableSmartScroll"),this.addDispose(this.preferenceService.onPreferenceChanged(g=>{g.preferenceName==="output.enableSmartScroll"&&g.newValue!==this.enableSmartScroll&&(this.enableSmartScroll=g.newValue)}))}updateSelectedChannel(g){this.monacoDispose&&this.monacoDispose.dispose(),this.selectedChannel=g,this.onDidSelectedChannelChangeEmitter.fire(g),this.selectedChannel.modelReady.promise.then(()=>{var a,h;const u=this.selectedChannel.outputModel.instance.getMonacoModel();(a=this.outputEditor)===null||a===void 0||a.open(this.selectedChannel.outputModel),this.enableSmartScroll&&((h=this.outputEditor)===null||h===void 0||h.monacoEditor.revealLine(u.getLineCount()),this.autoReveal=!0),this.monacoDispose=u.onDidChangeContent(()=>{var d;this.autoReveal&&this.enableSmartScroll&&((d=this.outputEditor)===null||d===void 0||d.monacoEditor.revealLine(u.getLineCount(),0))})})}set viewHeight(g){this._viewHeight=g}get viewHeight(){return this._viewHeight}getChannel(g){const a=this.channels.get(),h=a.get(g);if(h)return h;const u=this.config.injector.get(m.OutputChannel,[g]);return a.set(g,u),a.size===1&&this.updateSelectedChannel(u),(0,v.transaction)(d=>{this.channels.set(new Map(a),d)}),u}deleteChannel(g){(0,v.transaction)(a=>{const h=this.channels.get();h.delete(g),this.channels.set(new Map(h),a)})}async initOutputMonacoInstance(g){this.outputEditor&&this.outputEditor.dispose(),this.outputEditor=this.editorCollectionService.createCodeEditor(g,{...(0,p.getSimpleEditorOptions)(),lineDecorationsWidth:20,automaticLayout:!0,readOnly:!0,domReadOnly:!0,extraEditorClassName:"kt-output-monaco",scrollbar:{useShadows:!1}}),this.selectedChannel&&this.updateSelectedChannel(this.selectedChannel),this.addDispose(this.outputEditor.monacoEditor.onMouseUp(a=>{var h,u;if(this.enableSmartScroll){const{range:d}=a.target,E=(u=(h=this.outputEditor)===null||h===void 0?void 0:h.currentDocumentModel)===null||u===void 0?void 0:u.getMonacoModel().getLineCount();d?.startLineNumber<E&&(this.autoReveal=!1),d?.startLineNumber>=E&&(this.autoReveal=!0)}}))}};t.OutputService=_,n.__decorate([(0,r.Autowired)(o.AppConfig),n.__metadata("design:type",Object)],_.prototype,"config",void 0),n.__decorate([(0,r.Autowired)(p.EditorCollectionService),n.__metadata("design:type",p.EditorCollectionService)],_.prototype,"editorCollectionService",void 0),n.__decorate([(0,r.Autowired)(p.IEditorDocumentModelService),n.__metadata("design:type",Object)],_.prototype,"documentService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],_.prototype,"preferenceService",void 0),t.OutputService=_=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],_)},12481:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChannelSelector=t.Output=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(97267),l=e(41869),p=e(30144),v=e(77331),m=e(72260),_=n.__importDefault(e(33395)),s=e(83145),g=({viewState:h})=>{const u=(0,l.useInjectable)(s.OutputService),d=(0,r.useRef)(null),E=(0,l.useInjectable)(m.IMainLayoutService);return(0,r.useEffect)(()=>{u.viewHeight=String(h.height)},[h.height]),(0,r.useEffect)(()=>{if(d.current){const f=E.getTabbarHandler(p.OUTPUT_CONTAINER_ID);if(f?.isActivated())u.initOutputMonacoInstance(d.current);else{const c=f?.onActivate(()=>{u.initOutputMonacoInstance(d.current),c?.dispose()})}}},[]),r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:_.default.output,ref:d}))};t.Output=g;const a=()=>{const h="<no channels>",u=(0,l.useInjectable)(l.AppConfig),d=[],[E,f]=r.default.useState(""),c=(0,l.useInjectable)(s.OutputService);(0,l.useAutorun)(c.getChannels).forEach((A,S)=>{d.push(u.isElectronRenderer?r.default.createElement("option",{value:A.name,key:`${S} - ${A.name}`},A.name):r.default.createElement(o.Option,{value:A.name,key:`${S} - ${A.name}`},A.name))}),(0,r.useEffect)(()=>{const A=c.onDidSelectedChannelChange(S=>{f(S.name)});return()=>{A.dispose()}},[]),d.length===0&&d.push(u.isElectronRenderer?r.default.createElement("option",{key:h,value:h},h):r.default.createElement(o.Option,{key:h,value:h},h));async function b(A){let S;typeof A=="object"?S=A.target.value:S=A,S!==h&&c.updateSelectedChannel(c.getChannel(S))}return u.isElectronRenderer?r.default.createElement(v.Select,{value:E||h,onChange:b},d):r.default.createElement(o.Select,{value:E||h,className:_.default.select,size:"small",maxHeight:c.viewHeight,onChange:b},d)};t.ChannelSelector=a},69178:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContentChangeEvent=t.ContentChangeEventPayload=t.ContentChangeType=void 0;const n=e(43718);var r;(function(p){p[p.appendLine=0]="appendLine",p[p.append=1]="append",p[p.clear=2]="clear"})(r||(t.ContentChangeType=r={}));class o{constructor(v,m,_,s){this.channelName=v,this.changeType=m,this.value=_,this.lines=s}}t.ContentChangeEventPayload=o;class l extends n.BasicEvent{}t.ContentChangeEvent=l},31388:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserCtxMenuService=void 0;const n=e(85608),r=e(76003),o=e(43738);let l=class{constructor(){this.visibleObservable=(0,o.observableValue)(this,!1),this.onHide=void 0,this.point=void 0,this.context=void 0,this.menuNodes=[]}get visible(){return this.visibleObservable.get()}show(v){const{anchor:m,onHide:_,args:s,menuNodes:g}=v;if(!Array.isArray(g)||!g.length)return;this.context=s,this.menuNodes.splice(0,this.menuNodes.length,...g);const{x:a,y:h}=m instanceof window.MouseEvent?{x:m.clientX,y:m.clientY}:m;this.onHide=_,this.point={pageX:a,pageY:h},(0,o.transaction)(u=>{this.visibleObservable.set(!0,u)})}hide(v){typeof this.onHide=="function"&&this.onHide(v),this.reset()}reset(){(0,o.transaction)(v=>{this.visibleObservable.set(!1,v)})}};t.BrowserCtxMenuService=l,t.BrowserCtxMenuService=l=n.__decorate([(0,r.Injectable)()],l)},5454:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CtxMenu=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(26460)),l=e(97267),p=e(41869),v=e(25918),m=n.__importDefault(e(17647)),_=e(97222),s=e(42912);e(34728);const g=()=>{const a=(0,p.useInjectable)(_.IBrowserCtxMenu),h=(0,p.useAutorun)(a.visibleObservable),u=(0,p.useInjectable)(s.IIconService),d=r.default.useCallback(()=>{a.hide(!1)},[]),E=r.default.useCallback(()=>{h&&a.hide(!0)},[h]);return r.default.createElement(o.default,{popupPlacement:"bottomLeft",popupVisible:h,action:["contextMenu"],popupAlign:{overflow:{adjustX:1,adjustY:1},offset:[window.scrollX,window.scrollY]},point:a.point||{},popupClassName:"point-popup",builtinPlacements:m.default,popup:r.default.createElement(l.ClickOutside,{mouseEvents:["click","contextmenu"],onOutsideClick:E},r.default.createElement(v.MenuActionList,{data:a.menuNodes,afterClick:d,context:a.context,iconService:u,renderSubMenuTitle:a.renderSubMenuTitle,renderMenuItem:a.renderMenuItem})),alignPoint:!0})};t.CtxMenu=g,t.CtxMenu.displayName="CtxMenu"},54490:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(20162);let p=class{constructor(){this._contextKeyService=this.globalContextKeyService,this.dialogViewVisibleContext=l.DialogViewVisibleContext.bind(this._contextKeyService)}};t.DialogContextKey=p,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],p.prototype,"globalContextKeyService",void 0),t.DialogContextKey=p=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],p)},73618:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(20162),p=e(25751);let v=class{registerCommands(_){_.registerCommand({id:o.DIALOG_COMMANDS.ENSURE.id,label:(0,o.localize)("dialog.ensure")},{execute:()=>{const s=this.dialogService.getButtons();s&&s.length>0&&this.dialogService.hide(s?.[s.length-1])}})}registerKeybindings(_){_.registerKeybinding({command:o.DIALOG_COMMANDS.ENSURE.id,keybinding:"enter",when:`${l.DialogViewVisibleContext.raw}`})}};t.DialogContribution=v,n.__decorate([(0,r.Autowired)(p.IDialogService),n.__metadata("design:type",Object)],v.prototype,"dialogService",void 0),t.DialogContribution=v=n.__decorate([(0,o.Domain)(o.CommandContribution,o.KeybindingContribution)],v)},16417:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DialogService=void 0;const n=e(85608),r=e(76003),o=e(43718),l=e(25751),p=e(54490);let v=class extends l.AbstractMessageService{constructor(){super(...arguments),this._visible=!1,this.message="",this.title="",this.closable=!0,this.props={},this.onDidDialogVisibleChangeEmitter=new o.Emitter}get onDidDialogVisibleChange(){return this.onDidDialogVisibleChangeEmitter.event}get visible(){return this._visible}open({message:_,type:s,buttons:g,options:a,closable:h=!0,props:u}){return this.deferred=new o.Deferred,this.type=s,this.message=_,this.detail=a?.detail,this._visible=!0,this.closable=h,this.props=u??{},this.buttons=g,this.onDidDialogVisibleChangeEmitter.fire(this._visible),this.contextkeyService.dialogViewVisibleContext.set(!0),this.deferred.promise}hide(_){var s;this._visible=!1,this.onDidDialogVisibleChangeEmitter.fire(this._visible),this.contextkeyService.dialogViewVisibleContext.set(!1),(s=this.deferred)===null||s===void 0||s.resolve(_)}reset(){this.type=void 0,this.message="",this.buttons=[],this.props={}}getMessage(){return this.message}getDetail(){return this.detail}getType(){return this.type}getIcon(){switch(this.type){case o.MessageType.Error:return{color:"var(--notificationsErrorIcon-foreground)",className:"close-circle"};case o.MessageType.Info:return{color:"var(--notificationsInfoIcon-foreground)",className:"info-circle"};case o.MessageType.Warning:return{color:"var(--notificationsWarningIcon-foreground)",className:"question-circle"};default:break}}getButtons(){return this.buttons}getProps(){return this.props}};t.DialogService=v,n.__decorate([(0,r.Autowired)(p.DialogContextKey),n.__metadata("design:type",p.DialogContextKey)],v.prototype,"contextkeyService",void 0),t.DialogService=v=n.__decorate([(0,r.Injectable)()],v)},21705:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dialog=void 0;const r=e(85608).__importStar(e(14041)),o=e(97267),l=e(41869),p=e(25751),v=()=>{var m;const _=(0,l.useInjectable)(p.IDialogService),s=_.getIcon(),g=_.getMessage(),a=_.getDetail(),h=_.getButtons(),u=_.getType(),[d,E]=(0,r.useState)(_.visible),f=_.getProps(),c=(0,r.useCallback)(()=>{_.reset()},[_]),y=(0,r.useCallback)(()=>{_.hide()},[_]),b=(0,r.useCallback)(A=>{_.hide(A)},[_]);return(0,r.useEffect)(()=>{const A=_.onDidDialogVisibleChange(S=>{E(S)});return()=>{A.dispose()}},[]),r.default.createElement(o.Dialog,{visible:d,onClose:y,closable:(m=_.closable)!==null&&m!==void 0?m:!0,afterClose:c,message:g,detail:a,type:"confirm",messageType:u,icon:s,keyboard:!0,buttons:h?h.map((A,S)=>r.default.createElement(o.Button,{size:"large",onClick:()=>b(A),key:A,type:S===h.length-1?"primary":"secondary"},l.strings.mnemonicButtonLabel(A,!0))):r.default.createElement(o.Button,{size:"large",onClick:y,type:"primary"},(0,l.localize)("dialog.confirm")),...f})};t.Dialog=v},96194:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OverlayModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(97222),p=e(25751),v=e(31388),m=e(54490),_=e(73618),s=e(16417),g=e(38543),a=e(75124);let h=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:m.DialogContextKey,useClass:m.DialogContextKey},{token:p.IDialogService,useClass:s.DialogService},{token:p.IMessageService,useClass:a.MessageService},{token:l.IBrowserCtxMenu,useClass:v.BrowserCtxMenuService},_.DialogContribution],this.isOverlay=!0,this.component=g.Overlay}};t.OverlayModule=h,t.OverlayModule=h=n.__decorate([(0,r.Injectable)()],h)},38543:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Overlay=void 0;const r=e(85608).__importDefault(e(14041)),o=e(41869),l=e(5454),p=e(21705);e(90311);const v=()=>{const m=(0,o.useInjectable)(o.ComponentRegistry),_=(0,o.useInjectable)(o.IClientApp),[s,g]=r.default.useState([]),a=(0,o.useInjectable)(o.AppConfig);return r.default.useEffect(()=>{_.appInitialized.promise.then(()=>{var h;if(!((h=a.layoutConfig[o.SlotLocation.extra])===null||h===void 0)&&h.modules){const u=[];a.layoutConfig[o.SlotLocation.extra].modules.forEach(d=>{const E=m.getComponentRegistryInfo(d);E&&(E.views||[]).forEach(f=>{f.component&&u.push(f.component)})}),g(u)}})},[]),r.default.createElement("div",{id:"ide-overlay",className:"ide-overlay"},r.default.createElement(p.Dialog,null),r.default.createElement(l.CtxMenu,null),r.default.createElement(o.ComponentRenderer,{Component:s}))};t.Overlay=v},75124:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.MessageService=void 0;const r=e(85608),o=e(76003),l=e(97267),p=e(84605),v=e(41869),m=e(43718),_=e(25751);let s=n=class extends _.AbstractMessageService{constructor(){super(...arguments),this.showTime=0}open({type:a,buttons:h,from:u,closable:d=!0,message:E}){if(!E)return Promise.resolve(void 0);let f=E;if(Date.now()-this.showTime<n.SAME_MESSAGE_DURATION_MS&&typeof f=="string"&&this.preMessage===f)return Promise.resolve(void 0);this.preMessage=typeof f=="string"&&f,this.showTime=Date.now(),typeof E=="string"&&E.length>_.MAX_MESSAGE_LENGTH&&(f=`${E.substr(0,_.MAX_MESSAGE_LENGTH)}...`);const c=u&&typeof u=="string"?`${(0,m.localize)("component.message.origin")}: ${u}`:"",y=(0,m.uuid)();return(0,l.open)((0,v.toMarkdown)(f,this.openerService,{walkTokens:p.parseWithoutEscape}),a,d,y,h,c,n.DURATION[a])||Promise.resolve(void 0)}hide(){l.notification.destroy()}};t.MessageService=s,s.SAME_MESSAGE_DURATION_MS=3e3,s.DURATION={[m.MessageType.Info]:15,[m.MessageType.Warning]:18,[m.MessageType.Error]:20},r.__decorate([(0,o.Autowired)(v.IOpenerService),r.__metadata("design:type",Object)],s.prototype,"openerService",void 0),t.MessageService=s=n=r.__decorate([(0,o.Injectable)()],s)},25751:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IOpenDialogOptions=t.ISaveDialogOptions=t.IWindowDialogService=t.AbstractMessageService=t.IDialogService=t.MAX_MESSAGE_LENGTH=t.IMessageService=void 0;const n=e(43718);t.IMessageService=Symbol("IMessageService"),t.MAX_MESSAGE_LENGTH=1e3,t.IDialogService=Symbol("IDialogService");class r{info(v,m,_,s){return this.open({message:v,type:n.MessageType.Info,buttons:m,closable:_,props:s})}warning(v,m,_,s){return this.open({message:v,type:n.MessageType.Warning,buttons:m,closable:_,props:s})}error(v,m,_,s){return this.open({message:v,type:n.MessageType.Error,buttons:m,closable:_,props:s})}}t.AbstractMessageService=r,t.IWindowDialogService=Symbol("IWindowDialogService");var o;(function(p){function v(m){return"saveLabel"in m||"showNameInput"in m||"defaultFileName"in m}p.is=v})(o||(t.ISaveDialogOptions=o={}));var l;(function(p){function v(m){return"canSelectFiles"in m||"canSelectFolders"in m||"canSelectMany"in m||"openLabel"in m}p.is=v})(l||(t.IOpenDialogOptions=l={}))},72665:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(25751),t)},11461:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractResourcePreferenceProvider=t.OVERRIDE_PROPERTY_PATTERN=void 0;const n=e(85608),r=n.__importStar(e(23304)),o=n.__importDefault(e(12784)),l=e(76003),p=e(41869),v=e(57517),m=e(14951),_="\\[(.*)\\]$";t.OVERRIDE_PROPERTY_PATTERN=new RegExp(_);let s=class extends p.PreferenceProvider{constructor(){super(),this.preferences={default:{},languageSpecific:{}},this.preferenceThrottler=new p.Throttler,this.preferenceTasks=[],this.debouncedReadPreferences=(0,o.default)(()=>{this.readPreferences()},100),this.loaded=!1,this.listen()}listen(){if(this.fileSystem.handlesScheme(p.Schemes.file)&&this.fileSystem.handlesScheme(p.Schemes.userStorage))this.init();else{const a=this.fileSystem.onFileProviderChanged(h=>{this.fileSystem.handlesScheme(p.Schemes.file)&&this.fileSystem.handlesScheme(p.Schemes.userStorage)&&(this.init(),a.dispose())})}}async init(){this.readPreferences().then(()=>this._ready.resolve()).catch(()=>this._ready.resolve());const a=this.getUri(),h=await this.fileSystem.watchFileChanges(a.parent);this.toDispose.push(h),this.toDispose.push(this.eventBus.on(v.EditorDocumentModelSavedEvent,u=>{u.payload.toString()===a.toString()&&this.debouncedReadPreferences()})),h.onFilesChanged(u=>{if(u.find(E=>E.uri.startsWith(a.parent.toString())))return this.debouncedReadPreferences()}),this.toDispose.push(p.Disposable.create(()=>this.reset()))}getConfigUri(a){return a?this.contains(a)?this.getUri():void 0:this.getUri()}contains(a){if(!a)return!0;const h=this.getDomain();if(!h)return!0;const u=new p.URI(a).path;return h.some(d=>new p.URI(d).path.relativity(u)>=0)}getPreferences(a,h){return this.loaded&&this.contains(a)?this.getOnePreference(h):void 0}getLanguagePreferences(a){return this.loaded&&this.contains(a)?this.preferences.languageSpecific:void 0}getOnePreference(a){return a?this.preferences.languageSpecific[a]||{}:this.preferences.default}async resolvePreferenceTasks(a){const h=this.getUri();this.resource=this.fileSystem.getFileStat(h.toString());let u=await this.resource,d=(await this.readContents()||"").trim();for(const E of a){const{path:f,value:c}=E;if((!d||f.length===0)&&(0,p.isUndefined)(c))continue;const y={tabSize:2,insertSpaces:!0,eol:""},b=r.modify(d,f,c,{formattingOptions:y});d=r.applyEdits(d,b)}try{return u||(u=await this.fileSystem.createFile(h.toString())),await this.fileSystem.setContent(u,d),await this.readPreferences(d),!0}catch(E){return this.logger.error(`${E.toString()}`),!1}}doSetPreferenceTask(){const a=this.preferenceTasks.slice(0);return this.preferenceTasks=[],this.resolvePreferenceTasks(a)}async doSetPreference(a,h,u,d){if(!this.contains(u))return!1;const E=this.getPath(a,d);return E?(this.preferenceTasks.push({path:E,key:a,value:h}),await this.preferenceThrottler.queue(this.doSetPreferenceTask.bind(this))):!1}getPath(a,h){return h?[`[${h}]`,a]:[a]}async readPreferences(a){const h=a||await this.readContents();this.loaded=!(0,p.isUndefined)(h);const u=h?this.getParsedContent(h):{default:{},languageSpecific:{}};this.handlePreferenceChanges(u)}async readContents(){const a=this.getUri();try{const{content:h}=await this.fileSystem.readFile(a.toString());return h.toString()}catch{if(this.appConfig.useVSCodeWorkspaceConfiguration&&a.scheme===p.Schemes.file){const u=a.parent.parent.resolve(p.VSCODE_WORKSPACE_CONFIGURATION_DIR_NAME).resolve(a.displayName);try{const{content:d}=await this.fileSystem.readFile(u.toString());return d.toString()}catch{return}}return}}getParsedContent(a){const h=this.parse(a),u={default:{},languageSpecific:{}};if(typeof h!="object")return u;for(const d of Object.keys(h)){const E=h[d];if(t.OVERRIDE_PROPERTY_PATTERN.test(d)){const f=d.match(t.OVERRIDE_PROPERTY_PATTERN)[1];u.languageSpecific[f]=u.languageSpecific[f]||{};for(const c in E){const y=E[c];u.languageSpecific[f][`${c}`]=y}}else u.default[d]=E}return u}validate(a,h){return this.configurations.getPath(this.getUri())!==this.configurations.getPaths()[0]?!0:(0,p.isUndefined)(h)||this.schemaProvider.validate(a,h).valid}parse(a){if(a=a.trim(),!a)return;const h=r.stripComments(a);return r.parse(h)}handlePreferenceChanges(a){const h=Object.assign({},this.preferences);this.preferences=a;const u=this.collectChanges(this.preferences,h);(Object.keys(u.default).length>0||Object.keys(u.languageSpecific).length>0)&&this.emitPreferencesChangedEvent(u)}reset(){const a=this.preferences;this.preferences={default:{},languageSpecific:{}};const h=this.collectChanges(this.preferences,a);(Object.keys(h.default).length>0||Object.keys(h.languageSpecific).length>0)&&this.emitPreferencesChangedEvent(h)}collectChanges(a,h){const u={default:this.collectOneChanges(a.default,h.default),languageSpecific:{}},d=new Set([...Object.keys(a.languageSpecific),...Object.keys(h.languageSpecific)]);for(const E of d){const f=this.collectOneChanges(a.languageSpecific[E],h.languageSpecific[E]);Object.keys(f).length>0&&(u.languageSpecific[E]=f)}return u}collectOneChanges(a,h){const u=new Set([...Object.keys(h||{}),...Object.keys(a||{})]),d={},E=this.getUri();for(const f of u){const c=h[f],y=a[f],b=this.schemaProvider.getCombinedSchema().properties[f];if(b){const A=b.scope;if(!this.schemaProvider.isValidInScope(f,this.getScope())){this.logger.warn(`Preference ${f} in ${E} can only be defined in scopes: ${p.PreferenceScope.getScopeNames(A).join(", ")}.`);continue}}((0,p.isUndefined)(y)&&c!==y||(0,p.isUndefined)(c)&&y!==c||!p.JSONUtils.deepEqual(c,y))&&(d[f]={preferenceName:f,newValue:y,oldValue:c,scope:this.getScope(),domain:this.getDomain()})}return d}};t.AbstractResourcePreferenceProvider=s,n.__decorate([(0,l.Autowired)(p.PreferenceSchemaProvider),n.__metadata("design:type",p.PreferenceSchemaProvider)],s.prototype,"schemaProvider",void 0),n.__decorate([(0,l.Autowired)(p.PreferenceConfigurations),n.__metadata("design:type",p.PreferenceConfigurations)],s.prototype,"configurations",void 0),n.__decorate([(0,l.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],s.prototype,"fileSystem",void 0),n.__decorate([(0,l.Autowired)(p.AppConfig),n.__metadata("design:type",Object)],s.prototype,"appConfig",void 0),n.__decorate([(0,l.Autowired)(p.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),n.__decorate([(0,l.Autowired)(p.IEventBus),n.__metadata("design:type",Object)],s.prototype,"eventBus",void 0),t.AbstractResourcePreferenceProvider=s=n.__decorate([(0,l.Injectable)(),n.__metadata("design:paramtypes",[])],s)},91825:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FolderFilePreferenceProvider=t.FolderFilePreferenceProviderOptions=t.FolderFilePreferenceProviderFactory=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(10560),p=e(11461);t.FolderFilePreferenceProviderFactory=Symbol("FolderFilePreferenceProviderFactory"),t.FolderFilePreferenceProviderOptions=Symbol("FolderFilePreferenceProviderOptions");let v=class extends p.AbstractResourcePreferenceProvider{get folderUri(){return this._folderUri||(this._folderUri=new o.URI(this.options.folder.uri)),this._folderUri}getUri(){return this.options.configUri}getScope(){return this.workspaceService.isMultiRootWorkspaceOpened?o.PreferenceScope.Folder:o.PreferenceScope.Workspace}getDomain(){return[this.folderUri.toString()]}};t.FolderFilePreferenceProvider=v,n.__decorate([(0,r.Autowired)(t.FolderFilePreferenceProviderOptions),n.__metadata("design:type",Object)],v.prototype,"options",void 0),n.__decorate([(0,r.Autowired)(l.IWorkspaceService),n.__metadata("design:type",Object)],v.prototype,"workspaceService",void 0),t.FolderFilePreferenceProvider=v=n.__decorate([(0,r.Injectable)()],v)},16814:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldersPreferencesProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(79929),p=e(51500),v=e(91825);let m=class extends o.PreferenceProvider{constructor(){super(),this.providers=new Map,this.init()}async init(){await this.workspaceService.roots,this.updateProviders(),this.workspaceService.onWorkspaceChanged(()=>this.updateProviders());const s=[];for(const g of this.providers.values())s.push(g.ready.catch(a=>this.logger.error(a)));s.length>0?Promise.all(s).then(()=>this._ready.resolve()):this._ready.resolve()}updateProviders(){const s=this.workspaceService.tryGetRoots(),g=new Set(this.providers.keys());for(const a of s){const h=new o.URI(a.uri);for(const u of this.configurations.getPaths())for(const d of[...this.configurations.getSectionNames(),this.configurations.getConfigName()]){const E=this.configurations.createUri(h,u,d),f=E.toString();if(g.delete(f),!this.providers.has(f)){const c=this.createProvider({folder:a,configUri:E});this.providers.set(f,c)}}}for(const a of g){const h=this.providers.get(a);h&&(this.providers.delete(a),h.dispose())}}getConfigUri(s){for(const g of this.getFolderProviders(s)){const a=g.getConfigUri(s);if(this.configurations.isConfigUri(a))return a}}getContainingConfigUri(s){for(const g of this.getFolderProviders(s)){const a=g.getConfigUri();if(this.configurations.isConfigUri(a)&&g.contains(s))return a}}getDomain(){return this.workspaceService.tryGetRoots().map(s=>s.uri)}doResolve(s,g,a){const h={},u=this.groupProvidersByConfigName(g);for(const d of u.values())for(const E of d){const{value:f,configUri:c}=E.resolve(s,g,a);if(c&&f!==void 0){h.configUri=c,h.value=o.PreferenceProvider.merge(h.value,f);break}}return h}getPreferences(s,g){let a;const h=this.groupProvidersByConfigName(s);for(const u of h.values())for(const d of u)if(d.getConfigUri(s)){const E=d.getPreferences(void 0,g);E&&(a=o.PreferenceProvider.merge(a,E));break}return a}getLanguagePreferences(s){let g;const a=this.groupProvidersByConfigName(s);for(const h of a.values())for(const u of h)if(u.getConfigUri(s)){const d=u.getLanguagePreferences();d&&(g=o.PreferenceProvider.merge(g,d));break}return g}async doSetPreference(s,g,a,h){const u=s.split(".",1)[0],d=this.configurations.isSectionName(u)?u:this.configurations.getConfigName(),E=this.getFolderProviders(a);let f;for(const c of E){if(f===void 0){const y=c.getConfigUri(a);y&&(f=this.configurations.getPath(y))}if(this.configurations.getName(c.getConfigUri())===d){if(c.getConfigUri(a)){if(await c.setPreference(s,g,a,h))return!0}else if(this.configurations.getPath(c.getConfigUri())===f){if(await c.setPreference(s,g,a,h))return!0}else if(await c.setPreference(s,g,a,h))return!0}}return!1}groupProvidersByConfigName(s){const g=new Map,a=this.getFolderProviders(s);for(const h of[this.configurations.getConfigName(),...this.configurations.getSectionNames()]){const u=[];for(const d of a)this.configurations.getName(d.getConfigUri())===h&&u.push(d);g.set(h,u)}return g}getFolderProviders(s){if(!s)return[];const g=new o.URI(s).path;let a={relativity:Number.MAX_SAFE_INTEGER};const h=new Map;for(const u of this.providers.values()){const d=u.folderUri.toString(),E=h.get(d)||[];E.push(u),h.set(d,E);const f=u.folderUri.path.relativity(g);f>=0&&a.relativity>f&&(a={relativity:f,uri:d})}return a.uri&&h.get(a.uri)||[]}createProvider(s){const g=this.FolderFilePreferenceProviderFactory(s);return this.toDispose.push(g),this.toDispose.push(g.onDidPreferencesChanged(a=>{this.emitPreferencesChangedEvent(a)})),g}};t.FoldersPreferencesProvider=m,n.__decorate([(0,r.Autowired)(v.FolderFilePreferenceProviderFactory),n.__metadata("design:type",Function)],m.prototype,"FolderFilePreferenceProviderFactory",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceConfigurations),n.__metadata("design:type",o.PreferenceConfigurations)],m.prototype,"configurations",void 0),n.__decorate([(0,r.Autowired)(p.IWorkspaceService),n.__metadata("design:type",Object)],m.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",Object)],m.prototype,"fileSystem",void 0),n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],m.prototype,"logger",void 0),t.FoldersPreferencesProvider=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},58408:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PreferencesModule=void 0,t.injectFolderPreferenceProvider=E,t.injectWorkspaceFilePreferenceProvider=f,t.injectPreferenceProviders=c,t.createPreferenceProviders=y;const n=e(85608),r=e(76003),o=e(41869),l=e(78132),p=e(83569),v=e(91825),m=e(16814),_=e(65146),s=e(90184),g=e(76773),a=e(25947),h=e(46392),u=e(58705);let d=class extends o.BrowserModule{constructor(){super(...arguments),this.contributionProvider=p.SettingContribution,this.providers=[...y(),{token:p.IUserStorageService,useClass:a.UserStorageServiceImpl},{token:l.IPreferenceSettingsService,useClass:s.PreferenceSettingsService},_.PreferenceContribution,a.UserStorageContribution],this.preferences=c}};t.PreferencesModule=d,t.PreferencesModule=d=n.__decorate([(0,r.Injectable)()],d);function E(b){b.addProviders({token:v.FolderFilePreferenceProviderFactory,useFactory:()=>A=>{const S=b.get(l.PreferenceConfigurations),w=S.getName(A.configUri),T=b.createChild([{token:v.FolderFilePreferenceProviderOptions,useValue:A}],{dropdownForTag:!0,tag:w});return S.isConfigUri(A.configUri)?(T.addProviders({token:v.FolderFilePreferenceProvider,useClass:v.FolderFilePreferenceProvider}),T.get(v.FolderFilePreferenceProvider)):T.get(v.FolderFilePreferenceProvider,{tag:w,multiple:!0})}})}function f(b){b.addProviders({token:h.WorkspaceFilePreferenceProviderFactory,useFactory:()=>A=>b.createChild([{token:h.WorkspaceFilePreferenceProviderOptions,useValue:A},{token:h.WorkspaceFilePreferenceProvider,useClass:h.WorkspaceFilePreferenceProvider}]).get(h.WorkspaceFilePreferenceProvider)})}function c(b){E(b),f(b)}function y(){return[{token:l.PreferenceProvider,tag:l.PreferenceScope.Folder,useClass:m.FoldersPreferencesProvider},{token:l.PreferenceProvider,tag:l.PreferenceScope.Workspace,useClass:u.WorkspacePreferenceProvider},{token:l.PreferenceProvider,tag:l.PreferenceScope.User,useClass:g.UserPreferenceProvider}]}},65146:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PreferenceContribution=t.PREFERENCE_COMMANDS=t.PreferenceContextMenu=t.PrefResourceProvider=void 0;const n=e(85608),r=n.__importStar(e(23304)),o=e(76003),l=e(41869),p=e(93899),v=e(57517),m=e(42933),_=e(83569),s=e(90184),g=e(26551),a=e(99187),h=e(76773),u=e(58705),d="pref-preview",{addElement:E}=l.arrays;let f=class extends l.WithEventBus{constructor(){super(),this.scheme=_.PREF_SCHEME}provideResource(S){return{supportsRevive:!0,name:(0,l.localize)("preference.tab.name"),icon:(0,l.getIcon)("setting"),uri:S}}provideResourceSubname(S,w){return null}async shouldCloseResource(S,w){return!0}};t.PrefResourceProvider=f,t.PrefResourceProvider=f=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],f);var c;(function(A){A.OPEN="1_open"})(c||(t.PreferenceContextMenu=c={}));var y;(function(A){const S="preference";A.OPEN_USER_SETTING_FILE={id:"preference.open.user",label:"%preference.editorTitle.openUserSource%",category:S},A.OPEN_WORKSPACE_SETTING_FILE={id:"preference.open.workspace",label:"%preference.editorTitle.openWorkspaceSource%",category:S},A.OPEN_SOURCE_FILE={id:"preference.open.source",label:"%preference.editorTitle.openSource%",category:S},A.PREFERENCE_INPUT_FOCUS={id:"preference.input.focus",category:S}})(y||(t.PREFERENCE_COMMANDS=y={}));let b=class{constructor(){this.settingGroupsWillRegister=s.defaultSettingGroup,this.settingSectionsWillRegister=s.defaultSettingSections}onStart(){this.saveSettings(),this.handleSettingGroups(),this.handleSettingSections(),this.registerSettings(),this.registerSettingSections()}registerCommands(S){S.registerCommand(l.COMMON_COMMANDS.OPEN_PREFERENCES,{execute:async w=>{await this.openPreferences(w),this.preferenceService.focusInput()}}),S.registerCommand(l.COMMON_COMMANDS.LOCATE_PREFERENCES,{execute:async w=>(await this.openPreferences(),await this.preferenceService.scrollToGroup(w))}),S.registerCommand(y.OPEN_USER_SETTING_FILE,{execute:()=>{this.openResource(l.PreferenceScope.User)}}),S.registerCommand(y.OPEN_WORKSPACE_SETTING_FILE,{execute:()=>{this.openResource(l.PreferenceScope.Workspace)}}),S.registerCommand(y.OPEN_SOURCE_FILE,{execute:async(w,T)=>{!w||typeof w!="number"?this.openResource():this.openResource(w,T)}}),S.registerCommand(y.PREFERENCE_INPUT_FOCUS,{execute:()=>{this.preferenceService.focusInput()}})}registerMenus(S){S.registerMenuItem(p.MenuId.SettingsIconMenu,{command:l.COMMON_COMMANDS.OPEN_PREFERENCES.id,group:c.OPEN}),S.registerMenuItem(p.MenuId.EditorTitle,{command:y.OPEN_SOURCE_FILE.id,iconClass:(0,l.getIcon)("open"),group:"navigation",order:4,when:`resourceScheme == ${_.PREF_SCHEME}`}),S.registerMenuItem(p.MenuId.EditorTitle,{command:l.COMMON_COMMANDS.OPEN_PREFERENCES.id,iconClass:(0,l.getIcon)("open"),group:"navigation",order:4,when:"resourceFilename =~ /settings.json/"})}registerKeybindings(S){S.registerKeybinding({command:l.COMMON_COMMANDS.OPEN_PREFERENCES.id,keybinding:"ctrlcmd+,"}),S.registerKeybinding({command:y.PREFERENCE_INPUT_FOCUS.id,keybinding:"ctrlcmd+f",when:"resourceScheme == pref"})}handleSettingGroups(){for(const S of this.contributions.getContributions())S.handleSettingGroup&&(this.settingGroupsWillRegister=S.handleSettingGroup(this.settingGroupsWillRegister))}handleSettingSections(){for(const S of this.contributions.getContributions())S.handleSettingSections&&(this.settingSectionsWillRegister=S.handleSettingSections({...this.settingSectionsWillRegister}))}saveSettings(){for(const S of this.contributions.getContributions())S.registerSetting&&S.registerSetting({registerSettingGroup:w=>E(this.settingGroupsWillRegister,w),registerSettingSection:(w,T)=>((I=>Object.keys(this.settingSectionsWillRegister).includes(I))(w)||(this.settingSectionsWillRegister[w]=[]),E(this.settingSectionsWillRegister[w],T))})}registerSettings(){this.settingGroupsWillRegister.forEach(S=>{this.preferenceService.registerSettingGroup(S)})}registerSettingSections(){Object.keys(this.settingSectionsWillRegister).forEach(S=>{this.settingSectionsWillRegister[S].forEach(w=>{this.preferenceService.registerSettingSection(S,w)})})}async openPreferences(S,w){await this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,new l.URI("/").withScheme(_.PREF_SCHEME),{preview:!1}),(0,l.isString)(S)?this.preferenceService.search(S):(0,l.isString)(w)&&this.preferenceService.scrollToPreference(w)}async openResource(S,w){var T,D,I;const R=await this.preferenceService.getCurrentPreferenceUrl(S),P=await this.commandService.executeCommand(l.EDITOR_COMMANDS.OPEN_RESOURCE.id,new l.URI(R),{focus:!0,groupIndex:this.workbenchEditorService.currentEditorGroup.index});if(P&&w){const O=(T=this.workbenchEditorService.editorGroups.find(M=>M.name===P.groupId))===null||T===void 0?void 0:T.currentEditor;if(O){const{_commandService:M}=O.monacoEditor;let k=O.monacoEditor.getValue(),F,L,B,U;const{index:W}=k.match(new RegExp(`\\"${w}\\"`))||{};if(W&&W>=0)L=((D=k.slice(0,W).match(new RegExp("\\n","g")))===null||D===void 0?void 0:D.length)||0,L>0&&(F=k.split(`
|
|
32226
32228
|
`),B=F[L],U=L);else{const $={tabSize:2,insertSpaces:!0,eol:""},Z=r.modify(k,[w],"",{formattingOptions:$}),Y=r.applyEdits(k,Z);O.monacoEditor.setValue(Y),k=Y,L=((I=k.slice(0,W).match(new RegExp("\\n","g")))===null||I===void 0?void 0:I.length)||-1,L>1&&(F=k.split(`
|
|
32227
32229
|
`),B=F[L-1],U=L-1)}if(!(B&&U))return;const j=`\\s+\\"${w}\\":\\s?["|{|t|f|[]`,G=new RegExp(j,"g").exec(B);if(G){const $=G[0].slice(-1)==='"';O.monacoEditor.setPosition({lineNumber:U+1,column:G[0].length+1}),setTimeout(()=>{O.monacoEditor.revealPositionInCenter({lineNumber:U+1,column:G[0].length+1},1)}),$&&await M.executeCommand("editor.action.triggerSuggest")}}}}initialize(){this.schemaProvider.onDidPreferenceSchemaChanged(()=>{this.registerSchema(this.schemaRegistry)})}registerSchema(S){S.registerSchema("vscode://schemas/settings/user",this.schemaProvider.getCombinedSchema(),["settings.json",h.USER_PREFERENCE_URI.toString()])}registerResource(S){S.registerResourceProvider(this.prefResourceProvider)}registerEditorComponent(S){S.registerEditorComponent({component:a.PreferenceView,uid:d,scheme:_.PREF_SCHEME}),S.registerEditorComponentResolver(_.PREF_SCHEME,(w,T,D)=>{D([{type:v.EditorOpenType.component,componentId:d}])})}registerEditorFeature(S){S.registerEditorFeatureContribution({contribute:w=>this.injector.get(g.EditPreferenceDecorationsContribution,[w]).contribute()})}};t.PreferenceContribution=b,n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],b.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(l.PreferenceSchemaProvider),n.__metadata("design:type",l.PreferenceSchemaProvider)],b.prototype,"schemaProvider",void 0),n.__decorate([(0,o.Autowired)(l.PreferenceProvider,{tag:l.PreferenceScope.Workspace}),n.__metadata("design:type",u.WorkspacePreferenceProvider)],b.prototype,"workspacePreferenceProvider",void 0),n.__decorate([(0,o.Autowired)(m.IFileServiceClient),n.__metadata("design:type",Object)],b.prototype,"filesystem",void 0),n.__decorate([(0,o.Autowired)(f),n.__metadata("design:type",f)],b.prototype,"prefResourceProvider",void 0),n.__decorate([(0,o.Autowired)(l.CommandService),n.__metadata("design:type",Object)],b.prototype,"commandService",void 0),n.__decorate([(0,o.Autowired)(l.IJSONSchemaRegistry),n.__metadata("design:type",Object)],b.prototype,"schemaRegistry",void 0),n.__decorate([(0,o.Autowired)(l.IPreferenceSettingsService),n.__metadata("design:type",s.PreferenceSettingsService)],b.prototype,"preferenceService",void 0),n.__decorate([(0,o.Autowired)(_.SettingContribution),n.__metadata("design:type",Object)],b.prototype,"contributions",void 0),n.__decorate([(0,o.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],b.prototype,"workbenchEditorService",void 0),t.PreferenceContribution=b=n.__decorate([(0,l.Domain)(l.CommandContribution,l.KeybindingContribution,l.ClientAppContribution,v.BrowserEditorContribution,p.MenuContribution,l.JsonSchemaContribution)],b)},90184:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.defaultSettingSections=t.defaultSettingGroup=t.PreferenceSettingsService=void 0;const r=e(85608),o=e(76003),l=e(40396),p=e(41869),v=e(14951),m=e(83569),_=e(65146),{addElement:s}=p.arrays;class g{constructor(){this.version=new Map}get(u){return this.version.get(u)||0}increase(u){this.version.set(u,(this.version.get(u)||0)+1)}}let a=n=class extends p.Disposable{get currentScope(){return this._currentScope.id}get currentSelectId(){return this._currentSelectId}set currentSelectId(u){this._currentSelectId=u,this.emitter.emit("currentSelectIdChange",u)}constructor(){super(),this.emitter=this.registerDispose(new l.EventEmitter),this.currentSearch="",this.tabIndex=0,this.tabList=[p.WorkspaceScope,p.UserScope],this._currentScope=this.tabList[0],this._currentSelectId="",this.settingsGroups=[],this.settingsSections=new Map,this.settingsSectionsVersioned=new g,this.enumLabels=new Map,this.cachedGroupSection=new Map,this.onDidEnumLabelsChangeDispatcher=this.registerDispose(new p.Dispatcher),this.openJSON=(d,E)=>{this.commandService.executeCommand(_.PREFERENCE_COMMANDS.OPEN_SOURCE_FILE.id,d,E)},this.handleListHandler=d=>{this._listHandler=d},this.handleTreeHandler=d=>{this._treeHandler=d},this.search=d=>{this.doSearch(d)},this._onFocus=new p.Emitter,this.setEnumLabels("general.language",new Proxy({},{get:(d,E)=>{var f;return(f=(0,p.getAvailableLanguages)().find(c=>c.languageId===E))===null||f===void 0?void 0:f.localizedLanguageName}})),this.setEnumLabels("files.eol",{"\n":"LF","\r\n":"CRLF",auto:"auto"});const u=this.preferenceService.get("settings.userBeforeWorkspace",!1);u&&(this.updateTabList(u),this._currentScope=this.tabList[this.tabIndex]),this.addDispose([this.preferenceService.onSpecificPreferenceChange("settings.userBeforeWorkspace",d=>{this.updateTabList(d.newValue)}),this.emitter.on("tabListChange",()=>{this.updateCurrentScope()}),this.emitter.on("tabIndexChange",()=>{this.updateCurrentScope()})])}updateTabList(u){let d;u?d=[p.UserScope,p.WorkspaceScope]:d=[p.WorkspaceScope,p.UserScope],this.tabList=d,this.emitter.emit("tabListChange")}updateCurrentScope(){this._currentScope=this.tabList[this.tabIndex],this.emitter.emit("currentScopeChange")}scrollToGroup(u){u&&(this.currentSelectId="group:"+u)}scrollToSection(u){u&&(this.currentSelectId="section:"+u)}scrollToPreference(u){u&&(this.currentSelectId="preference:"+u)}updateTabIndex(u){this.tabIndex=u,this.emitter.emit("tabIndexChange")}selectScope(u){let d=this.tabList.findIndex(E=>E.id===u);d===-1&&(d=0),this.updateTabIndex(d)}onDidEnumLabelsChange(u){return this.onDidEnumLabelsChangeDispatcher.on(u)}isContainSearchValue(u,d){return u.toLocaleLowerCase().indexOf(d.toLocaleLowerCase())>-1}shouldHiddenInScope(u,d){return Array.isArray(u.hiddenInScope)&&u.hiddenInScope.includes(d)}doSearch(u){u?this.currentSearch=u:this.currentSearch="",this.emitter.emit("currentSearchChange")}async setPreference(u,d,E){await this.preferenceService.set(u,d,E)}get listHandler(){return this._listHandler}get treeHandler(){return this._treeHandler}getSettingGroups(u,d){return this.settingsGroups.slice().filter(f=>this.getResolvedSections(f.id,u,d).length>0)}async hasThisScopeSetting(u){const d=await this.getPreferenceUrl(u);return d?await this.fileServiceClient.access(d):void 0}registerSettingGroup(u){const d=s(this.settingsGroups,{...u,title:(0,p.replaceLocalizePlaceholder)(u.title)||u.title});return this.emitter.emit("settingsGroupsChange"),p.Disposable.create(()=>{d.dispose(),this.emitter.emit("settingsGroupsChange")})}registerSettingSection(u,d){this.settingsSections.has(u)||this.settingsSections.set(u,[]),this.cachedGroupSection.clear();const E=s(this.settingsSections.get(u),d);return this.settingsSectionsVersioned.increase(u),this.emitter.emit("settingsSectionsChange",u),{dispose:()=>{E.dispose(),this.settingsSectionsVersioned.increase(u),this.emitter.emit("settingsSectionsChange",u)}}}visitSection(u,d){if(u.preferences){for(const E of u.preferences)if(d(E))return E}if(u.subSections&&Array.isArray(u.subSections))for(const E of u.subSections)return this.visitSection(E,d)}getPreferenceViewDesc(u){const d=this.settingsSections.values();for(const E of d)for(const f of E){const c=this.visitSection(f,y=>{if(!(0,p.isString)(y)&&y.id===u)return!0});if(c)return c}}getResolvedSections(u,d=this.currentScope,E=this.currentSearch){var f;if(E.startsWith(n.EXTENSION_SETTINGS_PREFIX)&&u!=="extension")return[];const c=this.settingsSectionsVersioned.get(u),y=[u,d,E||"",c].join("-");if(this.cachedGroupSection.has(y))return this.cachedGroupSection.get(y);let b;if(n.EXTENSION_SETTINGS_REGX.test(E)){const w=n.EXTENSION_SETTINGS_REGX.exec(E);w&&(b=w[1],E=(f=w[2])===null||f===void 0?void 0:f.trim())}const A=[],S=w=>({preferences:w.preferences.filter(D=>!this.shouldHiddenInScope(D,d)).map(D=>{const I=typeof D=="string"?D:D.id,R=this.schemaProvider.getPreferenceProperty(I),P=typeof D=="string"?(0,m.toPreferenceReadableName)(D):(0,m.getPreferenceItemLabel)(D),O=R&&(0,p.replaceLocalizePlaceholder)(R.description),M=R&&(0,p.replaceLocalizePlaceholder)(R.markdownDescription);return{id:I,label:P,_description:M??O,markdownDescription:M,description:O}}).filter(D=>E?this.isContainSearchValue(D.id,E)||this.isContainSearchValue(D.label,E)||D.description&&this.isContainSearchValue(D.description,E)||D.markdownDescription&&this.isContainSearchValue(D.markdownDescription,E):!0)});return(this.settingsSections.get(u)||[]).filter(w=>!this.shouldHiddenInScope(w,d)&&(!b||b&&b===w.extensionId)).forEach(w=>{const T={...w};if(w.preferences){const{preferences:D}=S(w);T.preferences=D}if(w.subSections){const D=w.subSections.map(I=>{const{preferences:R}=S(I);if(R.length>0)return{...I,preferences:R}}).filter(Boolean);T.subSections=D}(T.preferences&&T.preferences.length>0||T.subSections&&T.subSections.length>0)&&A.push(T)}),this.cachedGroupSection.set(y.toLocaleLowerCase(),A),A}getPreference(u,d,E=!1){const{value:f}=this.preferenceService.resolve(u,void 0,void 0,void 0,d)||{value:void 0,scope:p.PreferenceScope.Default},{scope:c}=this.preferenceService.resolve(u)||{value:void 0,scope:p.PreferenceScope.Default};return{value:f,effectingScope:c||p.PreferenceScope.Default}}getEnumLabels(u){return this.enumLabels.get(u)||{}}setEnumLabels(u,d){this.onDidEnumLabelsChangeDispatcher.dispatch(u),this.enumLabels.set(u,d)}async reset(u,d){await this.preferenceService.set(u,void 0,d)}async getPreferenceUrl(u){var d;const E=this.providerProvider(u),f=await E.resource;return f?f.uri:(d=E.getConfigUri())===null||d===void 0?void 0:d.toString()}async getCurrentPreferenceUrl(u){const d=await this.getPreferenceUrl(u||this.currentScope||p.PreferenceScope.User);if(!d)return;if(!await this.fileServiceClient.access(d)){const f=await this.fileServiceClient.createFile(d);f&&await this.fileServiceClient.setContent(f,`{
|
|
32228
32230
|
}`)}return d}get onFocus(){return this._onFocus.event}focusInput(){this._onFocus.fire()}};t.PreferenceSettingsService=a,a.EXTENSION_SETTINGS_PREFIX="@ext:",a.EXTENSION_SETTINGS_REGX=/^@ext:(\S+)(.+)?/,a.DEFAULT_CHANGE_DELAY=200,r.__decorate([(0,o.Autowired)(p.PreferenceService),r.__metadata("design:type",Object)],a.prototype,"preferenceService",void 0),r.__decorate([(0,o.Autowired)(p.PreferenceSchemaProvider),r.__metadata("design:type",p.PreferenceSchemaProvider)],a.prototype,"schemaProvider",void 0),r.__decorate([(0,o.Autowired)(p.PreferenceProviderProvider),r.__metadata("design:type",Function)],a.prototype,"providerProvider",void 0),r.__decorate([(0,o.Autowired)(v.IFileServiceClient),r.__metadata("design:type",Object)],a.prototype,"fileServiceClient",void 0),r.__decorate([(0,o.Autowired)(p.CommandService),r.__metadata("design:type",Object)],a.prototype,"commandService",void 0),t.PreferenceSettingsService=a=n=r.__decorate([(0,o.Injectable)(),r.__metadata("design:paramtypes",[])],a),t.defaultSettingGroup=[{id:m.PreferenceSettingId.General,title:"%settings.group.general%",iconClass:(0,p.getIcon)("setting")},{id:m.PreferenceSettingId.Terminal,title:"%settings.group.terminal%",iconClass:(0,p.getIcon)("terminal")},{id:m.PreferenceSettingId.Editor,title:"%settings.group.editor%",iconClass:(0,p.getIcon)("editor")},{id:m.PreferenceSettingId.View,title:"%settings.group.view%",iconClass:(0,p.getIcon)("detail")},{id:m.PreferenceSettingId.Feature,title:"%settings.group.feature%",iconClass:(0,p.getIcon)("file-text")}],t.defaultSettingSections={[m.PreferenceSettingId.General]:[{preferences:[{id:"general.theme",localized:"preference.general.theme"},{id:"general.icon",localized:"preference.general.icon"},{id:"general.productIconTheme",localized:"preference.general.productIconTheme"},{id:"general.language",localized:"preference.general.language",hiddenInScope:[p.PreferenceScope.Workspace]}]}],[m.PreferenceSettingId.Editor]:[{title:"Editor",preferences:[{id:"editor.previewMode"},{id:"editor.enablePreviewFromCodeNavigation"},{id:"editor.autoSave",localized:"preference.editor.autoSave"},{id:"editor.autoSaveDelay",localized:"preference.editor.autoSaveDelay"},{id:"workbench.refactoringChanges.showPreviewStrategy",localized:"preference.workbench.refactoringChanges.showPreviewStrategy.title"},{id:"editor.askIfDiff",localized:"preference.editor.askIfDiff"},{id:"editor.cursorStyle",localized:"preference.editor.cursorStyle"},{id:"editor.fontSize",localized:"preference.editor.fontSize"},{id:"editor.fontWeight",localized:"preference.editor.fontWeight"},{id:"editor.fontFamily",localized:"preference.editor.fontFamily"},{id:"editor.lineHeight",localized:"preference.editor.lineHeight"},{id:"editor.trimAutoWhitespace"},{id:"editor.quickSuggestionsDelay",localized:"preference.editor.quickSuggestionsDelay"},{id:"editor.suggestOnTriggerCharacters"},{id:"editor.acceptSuggestionOnEnter"},{id:"editor.acceptSuggestionOnCommitCharacter"},{id:"editor.snippetSuggestions"},{id:"editor.wordBasedSuggestions"},{id:"editor.suggestSelection"},{id:"editor.suggestFontSize"},{id:"editor.suggestLineHeight"},{id:"editor.tabCompletion"},{id:"editor.suggest.filteredTypes"},{id:"editor.suggest.insertMode"},{id:"editor.suggest.filterGraceful"},{id:"editor.suggest.localityBonus"},{id:"editor.suggest.shareSuggestSelections"},{id:"editor.suggest.snippetsPreventQuickSuggestions"},{id:"editor.suggest.showIcons"},{id:"editor.suggest.maxVisibleSuggestions"},{id:"editor.suggest.showMethods"},{id:"editor.suggest.showFunctions"},{id:"editor.suggest.showConstructors"},{id:"editor.suggest.showFields"},{id:"editor.suggest.showVariables"},{id:"editor.suggest.showClasses"},{id:"editor.suggest.showStructs"},{id:"editor.suggest.showInterfaces"},{id:"editor.suggest.showModules"},{id:"editor.suggest.showProperties"},{id:"editor.suggest.showEvents"},{id:"editor.suggest.showOperators"},{id:"editor.suggest.showUnits"},{id:"editor.suggest.showValues"},{id:"editor.suggest.showConstants"},{id:"editor.suggest.showEnums"},{id:"editor.suggest.showEnumMembers"},{id:"editor.suggest.showKeywords"},{id:"editor.suggest.showWords"},{id:"editor.suggest.showColors"},{id:"editor.suggest.showFiles"},{id:"editor.suggest.showReferences"},{id:"editor.suggest.showCustomcolors"},{id:"editor.suggest.showFolders"},{id:"editor.suggest.showTypeParameters"},{id:"editor.suggest.showSnippets"},{id:"editor.suggest.showUsers"},{id:"editor.suggest.showIssues"},{id:"editor.suggest.preview"},{id:"editor.suggest.details.visible"},{id:"editor.inlineSuggest.enabled",localized:"preference.editor.inlineSuggest.enabled"},{id:"editor.inlineSuggest.showToolbar"},{id:"editor.experimental.stickyScroll.enabled",localized:"preference.editor.experimental.stickyScroll.enabled"},{id:"editor.hover.enabled"},{id:"editor.hover.delay"},{id:"editor.hover.sticky"},{id:"editor.hover.hidingDelay"},{id:"editor.hover.above"},{id:"editor.guides.bracketPairs",localized:"preference.editor.guides.bracketPairs"},{id:"editor.guides.indentation",localized:"preference.editor.guides.indentation"},{id:"editor.guides.highlightActiveIndentation",localized:"preference.editor.guides.highlightActiveIndentation"},{id:"editor.detectIndentation",localized:"preference.editor.detectIndentation"},{id:"editor.tabSize",localized:"preference.editor.tabSize"},{id:"editor.insertSpaces",localized:"preference.editor.insertSpace"},{id:"editor.wrapTab",localized:"preference.editor.wrapTab"},{id:"editor.wordWrap",localized:"preference.editor.wordWrap"},{id:"editor.renderLineHighlight",localized:"preference.editor.renderLineHighlight"},{id:"editor.renderWhitespace",localized:"preference.editor.renderWhitespace"},{id:"editor.minimap",localized:"preference.editor.minimap"},{id:"editor.preferredFormatter",localized:"preference.editor.preferredFormatter"},{id:"editor.formatOnSave",localized:"preference.editor.formatOnSave"},{id:"editor.formatOnSaveTimeout",localized:"preference.editor.formatOnSaveTimeout"},{id:"editor.formatOnPaste",localized:"preference.editor.formatOnPaste"},{id:"editor.codeActionsOnSave",localized:"preference.editor.saveCodeActions"},{id:"editor.codeActionsOnSaveNotification",localized:"preference.editor.saveCodeActionsNotification"},{id:"editor.gotoLocation.multiple"},{id:"editor.maxTokenizationLineLength",localized:"preference.editor.maxTokenizationLineLength"},{id:"editor.largeFile",localized:"preference.editor.largeFile"},{id:"editor.readonlyFiles",localized:"preference.editor.readonlyFiles"},{id:"editor.bracketPairColorization.enabled",localized:"preference.editor.bracketPairColorization.enabled"},{id:"workbench.editorAssociations"},{id:"editor.unicodeHighlight.ambiguousCharacters"},{id:"editor.unicodeHighlight.allowedCharacters"},{id:"editor.unicodeHighlight.allowedLocales"}]},{title:"Diff Editor",preferences:[{id:"diffEditor.renderSideBySide",localized:"preference.diffEditor.renderSideBySide"},{id:"diffEditor.ignoreTrimWhitespace",localized:"preference.diffEditor.ignoreTrimWhitespace"}]},{title:"Merge Editor",preferences:[{id:"mergeEditor.autoApplyNonConflictChanges",localized:"preference.mergeEditor.autoApplyNonConflictChanges"}]},{title:"Files",preferences:[{id:"files.autoGuessEncoding",localized:"preference.files.autoGuessEncoding.title"},{id:"files.encoding",localized:"preference.files.encoding.title"},{id:"files.eol",localized:"preference.files.eol"},{id:"files.trimFinalNewlines",localized:"preference.files.trimFinalNewlines"},{id:"files.trimTrailingWhitespace",localized:"preference.files.trimTrailingWhitespace"},{id:"files.insertFinalNewline",localized:"preference.files.insertFinalNewline"},{id:"files.exclude",localized:"preference.files.exclude.title"},{id:"files.watcherExclude",localized:"preference.files.watcherExclude.title"},{id:"files.associations",localized:"preference.files.associations.title"}]}],[m.PreferenceSettingId.View]:[{title:"MenuBar",preferences:[{id:"menubar.compactMode",localized:"preference.menubar.mode.compact"}]},{title:"Layout",preferences:[{id:"view.saveLayoutWithWorkspace",localized:"preference.view.saveLayoutWithWorkspace.title"}]},{title:"File Tree",preferences:[]},{title:"Explorer",preferences:[{id:"explorer.fileTree.baseIndent",localized:"preference.explorer.fileTree.baseIndent.title"},{id:"explorer.fileTree.indent",localized:"preference.explorer.fileTree.indent.title"},{id:"explorer.compactFolders",localized:"preference.explorer.compactFolders.title"},{id:"explorer.autoReveal",localized:"preference.explorer.autoReveal"}]},{title:"QuickOpen",preferences:[{id:"workbench.quickOpen.preserveInput"}]},{title:"Search",preferences:[{id:"search.include"},{id:"search.exclude",localized:"preference.search.exclude.title"},{id:"search.useReplacePreview"},{id:"search.searchOnType"},{id:"search.searchOnTypeDebouncePeriod"}]},{title:"Output",preferences:[{id:"output.maxChannelLine",localized:"output.maxChannelLine"},{id:"output.enableLogHighlight",localized:"output.enableLogHighlight"},{id:"output.enableSmartScroll",localized:"output.enableSmartScroll"}]},{title:"Debug",preferences:[{id:"debug.console.wordWrap",localized:"preference.debug.console.wordWrap"},{id:"debug.inline.values",localized:"preference.debug.inline.values"},{id:"debug.toolbar.float",localized:"preference.debug.toolbar.float.title"},{id:"debug.breakpoint.editorHint",localized:"preference.debug.breakpoint.editorHint.title"},{id:"debug.breakpoint.showBreakpointsInOverviewRuler",localized:"preference.debug.breakpoint.showBreakpointsInOverviewRuler"}]}],[m.PreferenceSettingId.Terminal]:[{preferences:[{id:"terminal.type",localized:"preference.terminal.type"},{id:"terminal.fontFamily",localized:"preference.terminal.fontFamily"},{id:"terminal.fontSize",localized:"preference.terminal.fontSize"},{id:"terminal.fontWeight",localized:"preference.terminal.fontWeight"},{id:"terminal.lineHeight",localized:"preference.terminal.lineHeight"},{id:"terminal.cursorBlink",localized:"preference.terminal.cursorBlink"},{id:"terminal.scrollback",localized:"preference.terminal.scrollback"},{id:"terminal.integrated.shellArgs.linux",localized:"preference.terminal.integrated.shellArgs.linux"},{id:"terminal.integrated.copyOnSelection",localized:"preference.terminal.integrated.copyOnSelection"},{id:"terminal.integrated.localEchoEnabled",localized:"preference.terminal.integrated.localEchoEnabled"},{id:"terminal.integrated.localEchoLatencyThreshold",localized:"preference.terminal.integrated.localEchoLatencyThreshold"},{id:"terminal.integrated.localEchoExcludePrograms",localized:"preference.terminal.integrated.localEchoExcludePrograms"},{id:"terminal.integrated.cursorStyle",localized:"preference.terminal.integrated.cursorStyle"},{id:"terminal.integrated.localEchoStyle",localized:"preference.terminal.integrated.localEchoStyle"},{id:"terminal.integrated.xtermRenderType",localized:"preference.terminal.integrated.xtermRenderType"}]}],[m.PreferenceSettingId.Feature]:[{title:"Misc",preferences:[]},{title:"Tree Component",preferences:[{id:"workbench.list.openMode",localized:"preference.workbench.list.openMode.title"}]}]}},26551:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditPreferenceDecorationsContribution=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),p=e(93899),v=e(43718),m=e(57517),_=e(14951),s=n.__importStar(e(20868)),g=e(90684),a=e(19582),h=e(60295),u=e(90184),d=e(76773);let E=class{constructor(c){this.editor=c,this.disposer=new v.Disposable,this._preferences=[],this._currentLine=0,this._editPreferenceDecoration=this.editor.monacoEditor.createDecorationsCollection()}verifyEditor(){var c;return((c=this.editor.currentUri)===null||c===void 0?void 0:c.toString())===d.USER_PREFERENCE_URI.toString()}async getPreferenceUrl(){const c=await this.preferenceSettingsService.getPreferenceUrl(v.PreferenceScope.User);if(c){const y=await this.fileServiceClient.getFileStat(c);return y?v.URI.parse(y.uri):void 0}}async getDocumentModelRef(c){const y=this.editorDocumentModelService.getModelReference(c);return y||this.editorDocumentModelService.createModelReference(c)}contribute(){return this.disposer.addDispose(this.editor.monacoEditor.onMouseDown(async c=>{var y;((y=c.target.range)===null||y===void 0?void 0:y.startLineNumber)!==this.currentLine&&!this.verifyEditor()||c.target.type!==a.MouseTargetType.GUTTER_GLYPH_MARGIN||c.target.detail.isAfterLines||!this.isVisible()||(this.registerMenuItems(this.preferences),this.showContextMenu(c))})),this.disposer.addDispose(this.editor.monacoEditor.onDidChangeCursorPosition(c=>{this.verifyEditor()&&this.onPositionChanged(c)})),this.disposer.addDispose(this.editor.monacoEditor.onContextMenu(c=>(c.event.preventDefault(),c.event.stopPropagation(),!1))),this.disposer.addDispose(this.editor.monacoEditor.onDidChangeConfiguration(()=>{this.editor.monacoEditor.getOption(s.editor.EditorOption.glyphMargin)||this.hide()})),this.disposer.addDispose(v.Disposable.create(()=>{this.hide(),this.menuRegistry.unregisterMenuId(p.MenuId.SettingJSONGlyphMarginContext)})),this.disposer.addDispose(this.commandRegistry.registerCommand(h.SettingJSONGlyphMarginEdit,{execute:(c,y)=>{c&&y&&(y==="true"&&(y=!0),y==="false"&&(y=!1),this.preferenceSettingsService.setPreference(c,y,v.PreferenceScope.User))}})),this.disposer}get preferences(){return this._preferences}get currentLine(){return this._currentLine}show(c,y,b){this._preferences=b;const A=[];A.push({options:{description:"edit-preference-widget-decoration",glyphMarginClassName:(0,o.getIcon)("edit")+" setting-edit-glyph",glyphMarginHoverMessage:new g.MarkdownString().appendText(y),stickiness:s.editor.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges},range:{startLineNumber:c,startColumn:1,endLineNumber:c,endColumn:1}}),this._editPreferenceDecoration.set(A)}hide(){this._editPreferenceDecoration.clear()}isVisible(){return this._editPreferenceDecoration.length>0}async getPreferencesKeyAtLineNumber(c){const y=new RegExp(/\"((?!,).)*\"+((\s+?)?)\:/g),b=await this.getPreferenceUrl();if(!b)return[];const A=await this.getDocumentModelRef(b),w=A.instance.getMonacoModel().getLineContent(c);A.dispose();const D=(w.match(y)||[]).map(R=>{const P=/\"(.*?)\"/g.exec(R);return P&&P[1]||""}),I=this.preferenceSchemaProvider.getCombinedSchema().properties;return D.filter(R=>{const P=I[R];return P?P.type==="boolean"||P.enum:!1})}async onPositionChanged(c){this.hide();const{position:{lineNumber:y}}=c;this._currentLine=y;const b=await this.getPreferencesKeyAtLineNumber(y);b.length>0?this.editor.monacoEditor.getOption(s.editor.EditorOption.glyphMargin)&&this.marginFreeFromOtherDecorations(y)&&this.show(y,(0,v.localize)("editTtile"),b):this.hide()}marginFreeFromOtherDecorations(c){const y=this.editor.monacoEditor.getLineDecorations(c);if(y){for(const{options:b}of y)if(b.glyphMarginClassName&&b.glyphMarginClassName.indexOf((0,o.getIcon)("edit"))===-1)return!1}return!0}async registerMenuItems(c){if(c.length===1){const y=this.getActions(c[0]);this.disposer.addDispose(this.menuRegistry.registerMenuItems(p.MenuId.SettingJSONGlyphMarginContext,y.map(b=>({command:{id:h.SettingJSONGlyphMarginEdit.id,label:b},group:"navigation",extraTailArgs:[c[0],b]}))))}else c.forEach(y=>{const b=`${p.MenuId.SubSettingJSONGlyphMarginContext}_${y}`;this.disposer.addDispose(this.menuRegistry.registerMenuItem(p.MenuId.SettingJSONGlyphMarginContext,{submenu:b,label:y,group:"navigation"}));const A=this.getActions(y);this.disposer.addDispose(this.menuRegistry.registerMenuItems(b,A.map(S=>({command:{id:h.SettingJSONGlyphMarginEdit.id,label:S},group:"navigation",extraTailArgs:[y,S]}))))})}getActions(c){const b=this.preferenceSchemaProvider.getCombinedSchema().properties[c];return b.type==="boolean"?["true","false"]:b.enum?b.enum.map(A=>A.toString()):[]}showContextMenu(c){c.event.preventDefault(),c.event.stopPropagation();const y=this.menuService.createMenu({id:p.MenuId.SettingJSONGlyphMarginContext,config:{separator:"inline"}}),b=y.getMergedMenuNodes();y.dispose(),setTimeout(()=>{this.ctxMenuRenderer.show({anchor:c.event.browserEvent,menuNodes:b,onHide:()=>{const A=(S,w="menu")=>this.menuRegistry.getMenuItems(S).map(T=>w==="sub"?T.submenu:T.command).filter(Boolean);A(p.MenuId.SettingJSONGlyphMarginContext,"sub").forEach(S=>{this.menuRegistry.unregisterMenuItem(p.MenuId.SettingJSONGlyphMarginContext,S),A(S).forEach(w=>{this.menuRegistry.unregisterMenuItem(S,w.id)})}),A(p.MenuId.SettingJSONGlyphMarginContext).forEach(S=>{this.menuRegistry.unregisterMenuItem(p.MenuId.SettingJSONGlyphMarginContext,S.id)}),this.menuRegistry.unregisterMenuItem(p.MenuId.SettingJSONGlyphMarginContext,p.MenuId.SubSettingJSONGlyphMarginContext)}})},10)}};t.EditPreferenceDecorationsContribution=E,n.__decorate([(0,r.Autowired)(l.IPreferenceSettingsService),n.__metadata("design:type",u.PreferenceSettingsService)],E.prototype,"preferenceSettingsService",void 0),n.__decorate([(0,r.Autowired)(p.ICtxMenuRenderer),n.__metadata("design:type",p.ICtxMenuRenderer)],E.prototype,"ctxMenuRenderer",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceSchemaProvider),n.__metadata("design:type",l.PreferenceSchemaProvider)],E.prototype,"preferenceSchemaProvider",void 0),n.__decorate([(0,r.Autowired)(m.IEditorDocumentModelService),n.__metadata("design:type",Object)],E.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,r.Autowired)(_.IFileServiceClient),n.__metadata("design:type",Object)],E.prototype,"fileServiceClient",void 0),n.__decorate([(0,r.Autowired)(p.AbstractContextMenuService),n.__metadata("design:type",p.AbstractContextMenuService)],E.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(p.IMenuRegistry),n.__metadata("design:type",p.IMenuRegistry)],E.prototype,"menuRegistry",void 0),n.__decorate([(0,r.Autowired)(v.CommandRegistry),n.__metadata("design:type",Object)],E.prototype,"commandRegistry",void 0),t.EditPreferenceDecorationsContribution=E=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],E)},15789:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.NextPreferenceItem=void 0;const r=e(85608),o=r.__importDefault(e(53373)),l=r.__importDefault(e(12784)),p=r.__importStar(e(14041)),v=e(76003),m=e(97267),_=e(56849),s=e(41869),g=e(83569),a=e(90184),h=r.__importDefault(e(80881)),u=/`#(.+)#`/gi,d="none",E=({preferenceId:R,localizedName:P,preference:O,scope:M})=>{var k;const F=(0,s.useInjectable)(s.PreferenceService),L=(0,s.useInjectable)(s.IPreferenceSettingsService),B=(0,s.useInjectable)(s.PreferenceSchemaProvider),U=F.getProvider(M),{value:W,effectingScope:j}=L.getPreference(R,M),[G,$]=(0,p.useState)(U.get(R)),[Z,Y]=(0,p.useState)(),[V,H]=(0,p.useState)(()=>L.getEnumLabels(R));(0,p.useEffect)(()=>{const ie=B.getPreferenceProperty(R);Y(ie);const fe=new s.DisposableCollection;return fe.push(U.onDidPreferencesChanged(_e=>{if(_e.default&&Object.prototype.hasOwnProperty.call(_e.default,R)&&_e.default[R].scope===M){const q=_e.default[R].newValue;$(q)}})),fe.push(L.onDidEnumLabelsChange(R)((0,l.default)(()=>{Y(B.getPreferenceProperty(R)),H(L.getEnumLabels(R))},a.PreferenceSettingsService.DEFAULT_CHANGE_DELAY))),()=>{fe.dispose()}},[]);let K=Z;if(K||(K=B.getPreferenceProperty(R)),!K)return p.default.createElement("div",{className:(0,o.default)({[h.default.preference_item]:!0})},R," schema not found.");const Q=(k=F.resolve(R,void 0,void 0,void 0,s.PreferenceScope.Default).value)!==null&&k!==void 0?k:K.default,X=p.default.useMemo(()=>G!==void 0&&String(G)!==String(Q),[G,Q]),oe=()=>{if(K){const ie={preferenceName:R,scope:M,effectingScope:j,schema:K,labels:V,currentValue:G===void 0?W:G,defaultValue:Q,localizedName:P,localizedDescription:{description:O.description,markdownDescription:O.markdownDescription},renderedDescription:b({name:P,description:O.description,markdownDescription:O.markdownDescription}),hasValueInScope:G!==void 0,isModified:X};switch(K.type){case"boolean":return p.default.createElement(w,{...ie});case"integer":case"number":return K.enum?p.default.createElement(T,{...ie}):p.default.createElement(S,{...ie,isNumber:!0});case"string":return K.enum?p.default.createElement(T,{...ie}):p.default.createElement(S,{...ie});case"array":return K.items&&K.items.type==="string"?p.default.createElement(I,{...ie}):p.default.createElement(D,{...ie});default:return p.default.createElement(D,{...ie})}}};return p.default.createElement("div",{className:(0,o.default)({[h.default.preference_item]:!0,[h.default.modified]:X}),"data-id":R},oe())};t.NextPreferenceItem=E;const f=R=>{var P;const O=(0,s.useInjectable)(s.IPreferenceSettingsService);if(!R)return null;const M=R.match(u);if(!M)return R;let k=R;const F=[];for(const L of M){if(!k)continue;const B=L.slice(2,L.length-2),U=(P=g.knownPrefIdMappings[B])!==null&&P!==void 0?P:B,W=O.getPreferenceViewDesc(U);if(W){const j=(0,g.getPreferenceItemLabel)(W),[G,$]=k.split(L,2);G&&F.push(p.default.createElement("span",{key:F.length},G)),k=$;const Z=p.default.createElement("a",{onClick:()=>{O.search(j)},key:U},j);F.push(Z)}}return k&&F.push(p.default.createElement("span",{key:F.length},k)),F};let c=n=class extends _.DefaultMarkedRenderer{codespan(P){var O;if(P.startsWith("#")&&P.endsWith("#")){const M=P.slice(1,P.length-1),k=(O=g.knownPrefIdMappings[M])!==null&&O!==void 0?O:M,F=this.preferenceSettingService.getPreferenceViewDesc(k);if(F){const L=(0,g.getPreferenceItemLabel)(F);return(0,_.linkify)(`${n.openerScheme}${L}`,k,L)}return super.codespan(k)}return super.codespan(P)}};c.openerScheme="prefTitle://",r.__decorate([(0,v.Autowired)(s.IPreferenceSettingsService),r.__metadata("design:type",a.PreferenceSettingsService)],c.prototype,"preferenceSettingService",void 0),c=n=r.__decorate([(0,v.Injectable)()],c);const y=R=>{const P=(0,s.useInjectable)(s.IOpenerService),O=(0,s.useInjectable)(c),M=(0,s.useInjectable)(s.IPreferenceSettingsService);return p.default.createElement(_.Markdown,{opener:{open(k){if(k.startsWith(c.openerScheme)){const F=k.slice(c.openerScheme.length);return M.search(F),!0}return P.open(k)}},value:R,renderer:O})},b=R=>{var P;const O=(0,s.replaceLocalizePlaceholder)((P=R.description)!==null&&P!==void 0?P:R.markdownDescription);return O?p.default.createElement("div",{className:h.default.desc},R.markdownDescription?y(O):f(O)):p.default.createElement("div",{className:h.default.desc},R.name)},A=({preferenceName:R,scope:P,effectingScope:O,showReset:M})=>{const k=(0,s.useInjectable)(s.IPreferenceSettingsService);return p.default.createElement("span",{className:h.default.preference_status},O===s.PreferenceScope.Workspace&&P===s.PreferenceScope.User?p.default.createElement("span",{onClick:()=>{k.selectScope(s.PreferenceScope.Workspace),k.scrollToPreference(R)},className:h.default.preference_overwritten},(0,s.localize)("preference.overwrittenInWorkspace")):void 0,O===s.PreferenceScope.User&&P===s.PreferenceScope.Workspace?p.default.createElement("span",{onClick:()=>{k.selectScope(s.PreferenceScope.User),k.scrollToPreference(R)},className:h.default.preference_overwritten},(0,s.localize)("preference.overwrittenInUser")):void 0,M?p.default.createElement("span",{className:(0,o.default)(h.default.preference_reset,(0,s.getIcon)("rollback")),onClick:()=>{k.reset(R,P)}}):void 0)};function S({preferenceName:R,localizedName:P,currentValue:O,renderedDescription:M,isNumber:k,effectingScope:F,scope:L,isModified:B}){const U=(0,s.useInjectable)(s.PreferenceService),W=(0,s.useInjectable)(s.PreferenceSchemaProvider),[j,G]=(0,p.useState)();(0,p.useEffect)(()=>{G(O)},[O]);const $=Y=>{Z(k&&/^[0-9]+$/.test(Y)?Number(Y):Y)||U.set(R,Y,L)};function Z(Y){const V=W.validate(R,Y);if(!V.valid)return{type:2,message:V.reason}}return p.default.createElement(p.default.Fragment,null,p.default.createElement("div",{className:(0,o.default)(h.default.key,h.default.item)},P," ",p.default.createElement(A,{preferenceName:R,scope:L,effectingScope:F,showReset:B})),M,p.default.createElement("div",{className:h.default.control_wrap},p.default.createElement("div",{className:h.default.text_control},p.default.createElement(m.ValidateInput,{type:k?"number":"text",validate:Z,onBlur:()=>{$(j)},onValueChange:Y=>{G(Y)},value:j}))))}function w({preferenceName:R,localizedName:P,renderedDescription:O,currentValue:M,effectingScope:k,scope:F,isModified:L}){const B=(0,s.useInjectable)(s.PreferenceService),[U,W]=(0,p.useState)();(0,p.useEffect)(()=>{W(M)},[M]);const j=G=>{W(G),B.set(R,G,F)};return p.default.createElement(p.default.Fragment,null,p.default.createElement("div",{className:(0,o.default)(h.default.key)},P," ",p.default.createElement(A,{preferenceName:R,scope:F,effectingScope:k,showReset:L})),p.default.createElement("div",{className:h.default.check},p.default.createElement(m.CheckBox,{checked:U,onChange:G=>{j(G.target.checked)}}),O))}function T({preferenceName:R,localizedName:P,renderedDescription:O,currentValue:M,defaultValue:k,schema:F,labels:L,effectingScope:B,scope:U,isModified:W}){const j=(0,s.useInjectable)(s.PreferenceService),G=(0,s.useInjectable)(s.ILogger),$=M??k,Z=(0,p.useMemo)(()=>F.enumDescriptions&&F.enum&&F.enumDescriptions[F.enum.indexOf(M)]||"",[F]),[Y,V]=(0,p.useState)(Z),H=(0,p.useCallback)(ie=>{j.set(R,ie,U)},[j]),K=(0,p.useCallback)(()=>{const ie=F.enum?[...F.enum]:[];return k&&!ie.includes(k)&&(G.warn(`default value(${k}) of ${R} not found in its enum field`),ie.push(k)),ie.map((fe,_e)=>{typeof fe=="boolean"&&(fe=String(fe));const q=(0,s.replaceLocalizePlaceholder)(String(L[fe]||fe));return p.default.createElement(m.Option,{value:fe,label:q,key:`${_e}-${q}`,className:h.default.select_option},q,String(fe)===String(k)&&p.default.createElement("div",{className:h.default.select_default_option_tips},(0,s.localize)("preference.enum.default")))})},[F.enum,L]),Q=()=>p.default.createElement(m.Option,{value:(0,s.localize)("preference.stringArray.none"),key:d,label:(0,s.localize)("preference.stringArray.none"),disabled:!0},(0,s.localize)("preference.stringArray.none")),X=F.enum&&F.enum.length>0?K():Q(),oe=(0,p.useCallback)((ie,fe)=>{if(F.enumDescriptions){const _e=F.enumDescriptions[fe];V(_e||"")}},[F.enumDescriptions,V]);return p.default.createElement(p.default.Fragment,null,p.default.createElement("div",{className:h.default.key},P," ",p.default.createElement(A,{preferenceName:R,scope:U,effectingScope:B,showReset:W})),O,p.default.createElement("div",{className:h.default.control_wrap},p.default.createElement(m.Select,{dropdownRenderType:"absolute",maxHeight:"200",onChange:H,value:$,className:h.default.select_control,description:Y,onMouseEnter:oe,notMatchWarning:W?(0,s.formatLocalize)("preference.item.notValid",$):""},X)))}function D({preferenceName:R,localizedName:P,renderedDescription:O,effectingScope:M,scope:k,hasValueInScope:F}){const L=(0,s.useInjectable)(s.IPreferenceSettingsService),B=async()=>{L.openJSON(k,R)};return p.default.createElement(p.default.Fragment,null,p.default.createElement("div",{className:h.default.key},P," ",p.default.createElement(A,{preferenceName:R,scope:k,effectingScope:M,showReset:F})),O,p.default.createElement("div",{className:h.default.control_wrap},p.default.createElement("a",{onClick:B},(0,s.localize)("preference.editSettingsJson"))))}function I({preferenceName:R,localizedName:P,currentValue:O,renderedDescription:M,effectingScope:k,scope:F,isModified:L}){const B=(0,s.useInjectable)(s.PreferenceService),[U,W]=(0,p.useState)([]),[j,G]=(0,p.useState)(),[$,Z]=(0,p.useState)(),[Y,V]=(0,p.useState)(-1);(0,p.useEffect)(()=>{W(O||[])},[O]),(0,p.useEffect)(()=>{Y>=0?Z(U[Y]):Z("")},[Y]);const H=_e=>{W(_e),B.set(R,_e,F)},K=()=>{if(j){const _e=U.slice(0);if(_e.indexOf(j)>-1)return;_e.push(j),G(""),H(_e)}},Q=_e=>{const q=U.slice(0);q.splice(_e,1),q.length?H(q):H([])},X=_e=>{V(_e)},oe=_e=>{G(_e)},ie=U.map((_e,q)=>{const Se=JSON.stringify(_e);return Y>=0&&Y===q?p.default.createElement("li",{className:h.default.array_items,key:`${q}-${Se}`}):p.default.createElement("li",{className:h.default.array_items,key:`${q}-${Se}`},p.default.createElement("div",{className:h.default.array_item},typeof _e=="string"?_e:Se),p.default.createElement("div",{className:h.default.operate},p.default.createElement(m.Button,{type:"icon",title:(0,s.localize)("preference.stringArray.operate.edit"),onClick:()=>{X(q)},className:(0,o.default)((0,s.getIcon)("edit"),h.default.array_item)}),p.default.createElement(m.Button,{type:"icon",title:(0,s.localize)("preference.stringArray.operate.delete"),onClick:()=>{Q(q)},className:(0,o.default)((0,s.getIcon)("delete"),h.default.array_item)})))}),fe=()=>{const _e=()=>{const Se=U.slice(0);$?Se[Y]=$:Se.splice(Y,1),W(Se),B.set(R,Se,F),V(-1)},q=Se=>{Z(Se)};if(Y>=0)return p.default.createElement("div",{className:h.default.array_edit_wrapper,style:{top:Y*24}},p.default.createElement(m.Input,{type:"text",className:h.default.array_edit_input,value:$,onValueChange:q,onPressEnter:_e,addonAfter:[p.default.createElement("div",{className:h.default.array_edit_input_tip},(0,s.localize)("preference.stringArray.operate.editTip"))]}))};return p.default.createElement(p.default.Fragment,null,p.default.createElement("div",{className:h.default.key},P," ",p.default.createElement(A,{preferenceName:R,scope:F,effectingScope:k,showReset:L})),M,p.default.createElement("div",{className:h.default.control_wrap},p.default.createElement("ul",{className:h.default.array_items_wrapper},ie,fe()),p.default.createElement("div",{className:h.default.preferences_flex_row},p.default.createElement(m.Input,{type:"text",className:h.default.text_control,value:j,onValueChange:oe}),p.default.createElement(m.Button,{className:h.default.add_button,onClick:K},(0,s.localize)("preference.array.additem","Add")))))}},99187:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PreferenceItem=t.PreferenceView=void 0;const n=e(85608),r=n.__importDefault(e(12784)),o=n.__importStar(e(14041)),l=n.__importDefault(e(19686)),p=e(97267),v=e(91802),m=e(41869),_=e(99333),s=n.__importDefault(e(39572)),g=e(83569),a=e(15789),h=n.__importDefault(e(80881)),u="preferenceViewIndexTree",d=8,E=()=>{const A=(0,m.useInjectable)(m.IPreferenceSettingsService),[S,w]=(0,o.useState)([]),[T,D]=(0,o.useState)([]),I=(0,s.default)(()=>{const B=A.currentScope,U=A.currentSearch,W=A.getSettingGroups(B,U),j=[],G=[];for(let Y=0;Y<W.length;Y++){const V=W[Y],H=A.getResolvedSections(V.id,B,U);j.push(...$(V,H)),G.push(Z(Y,V,H))}w(j),D(G);function $(Y,V){const H=[],K=(Q,X="")=>{let oe=X;Q.title&&(oe=X+"/"+Q.title);const ie=[];return Q.component?ie.push({component:Q.component,scope:B}):Q.preferences?ie.push(...Q.preferences.map(fe=>({id:"preference:"+fe.id,preference:fe,scope:B,_path:oe}))):Q.subSections&&Q.subSections.forEach(fe=>{const _e=K(fe,oe);ie.push(..._e)}),ie.length>0&&Q.title&&ie.unshift({id:"section:"+Q.title,title:Q.title,scope:B,_path:oe}),ie};for(const Q of V){const X=K(Q,Y.title);H.push(...X)}return H.length>0&&Y.title&&H.unshift({title:Y.title,id:"group:"+Y.id,scope:B,_path:Y.title}),H}function Z(Y,V,H){const{id:K,title:Q,iconClass:X}=V,oe={label:(0,g.toNormalCase)(Q),iconClassName:X,groupId:K,order:Y,className:h.default.group_item},ie=[];return H.forEach((fe,_e)=>{const q=c(K,fe,_e,1);q&&ie.push(q)}),oe.children=ie,ie.length>0?oe.expandable=!0:oe.expandable=!1,oe}},16);(0,o.useEffect)(()=>{const B=new m.Disposable(A.emitter.on("settingsGroupsChange",()=>{I.run()}),A.emitter.on("currentSearchChange",()=>{I.run()}),A.emitter.on("currentScopeChange",()=>{I.run()}),A.emitter.on("settingsSectionsChange",()=>{I.run()}));return I.run(),()=>{B.dispose()}},[]);const R=(0,m.useInjectable)(m.LabelService),P=(0,o.useCallback)((B,U)=>R.getIcon(m.URI.parse(B),U),[]),O=(0,o.useRef)(null),M=(0,r.default)(B=>{A.search(B)},100,{maxWait:300});(0,o.useEffect)(()=>{const B=A.onFocus(()=>{O&&O.current&&(O.current.focus(),O.current.select())});return()=>{B.dispose()}},[]);const k=(0,m.useEventDrivenState)(A.emitter,"currentSearchChange",()=>A.currentSearch),F=(0,m.useEventDrivenState)(A.emitter,"tabListChange",()=>A.tabList),L=(0,m.useEventDrivenState)(A.emitter,"tabIndexChange",()=>A.tabIndex);return o.default.createElement(p.ComponentContextProvider,{value:{getIcon:m.getIcon,localize:m.localize,getResourceIcon:P}},o.default.createElement("div",{className:h.default.preferences},o.default.createElement("div",{className:h.default.preferences_header},o.default.createElement(p.Tabs,{className:h.default.tabs,value:L,onChange:B=>{A.updateTabIndex(B)},tabs:F.map(B=>(0,m.localize)(B.label))}),o.default.createElement("div",{className:h.default.search_pref},o.default.createElement(p.Input,{autoFocus:!0,value:k,placeholder:(0,m.localize)("preference.searchPlaceholder"),onValueChange:M,ref:O,hasClear:!0}))),S.length>0?o.default.createElement(_.SplitPanel,{id:"preference-panel",resizeHandleClassName:h.default.devider,className:h.default.preferences_body,direction:"left-to-right"},o.default.createElement(y,{treeData:T,"data-sp-defaultSize":180,"data-sp-minSize":150}),o.default.createElement(b,{tabIndex:L,items:S,"data-sp-flex":1})):o.default.createElement("div",{className:h.default.preference_noResults},k?(0,m.formatLocalize)("preference.noResults",k):(0,m.formatLocalize)("preference.empty"))))};t.PreferenceView=E;const f=({data:A,index:S})=>{var w;if(A.title)return!((w=A.id)===null||w===void 0)&&w.startsWith("group:")?o.default.createElement("div",{className:h.default.group_title,id:A.id},A.title):o.default.createElement("div",{className:h.default.section_title,id:A.id},A.title);if(A.component)return o.default.createElement(A.component,{scope:A.scope});if(A.preference)return o.default.createElement(a.NextPreferenceItem,{key:`${S} - ${A.preference.id} - ${A.scope}`,preference:A.preference,preferenceId:A.preference.id,localizedName:A.preference.label,scope:A.scope})};t.PreferenceItem=f;const c=(A,S,w,T)=>{let D;S.title&&(D={label:S.title,section:S.title,groupId:A,order:w,indentOffset:T===1?-d:-(d>>1),className:h.default.index_item});const I=[];return S.subSections&&S.subSections.forEach((R,P)=>{const O=c(A,R,P,T+1);O&&I.push(O)}),D&&I&&I.length>0&&(D.children=I,D.expandable=!0),D},y=A=>{const S=(0,m.useInjectable)(m.IPreferenceSettingsService),{treeData:w}=A;return o.default.createElement(l.default,{className:h.default.preferences_indexes},({width:T,height:D})=>o.default.createElement(p.BasicRecycleTree,{treeName:u,sortComparator:(I,R)=>{if(typeof I.order<"u"&&typeof R.order<"u")return I.order>R.order?1:I.order<R.order?-1:0},height:D,width:T,itemHeight:26,baseIndent:d,indent:12,treeData:w,onClick:(I,R)=>{const P=R&&R._raw;P&&(P.section?S.scrollToSection(P.section):P.groupId&&S.scrollToGroup(P.groupId))},onReady:I=>{S.handleTreeHandler(I)}}))},b=A=>{const S=(0,m.useInjectable)(m.IPreferenceSettingsService),[w,T]=(0,o.useState)(void 0),{items:D}=A;(0,o.useEffect)(()=>{var O;w&&(!((O=S.treeHandler)===null||O===void 0)&&O.focusItem)&&S.treeHandler.focusItem(w)},[A.tabIndex,S.treeHandler,w]);const I=O=>{var M;if(O){const k=D.findIndex(F=>F.id===O);k>=0&&((M=S.listHandler)===null||M===void 0||M.scrollToIndex({index:k,behavior:"auto",align:"start"}))}},R=(0,s.default)(O=>{const M=D[O.startIndex+1];M&&M._path&&T(M._path)},m.FRAME_THREE,{leading:!0,trailing:!0}),P=(0,m.useEventDrivenState)(S.emitter,"currentSelectIdChange",()=>S.currentSelectId);return(0,o.useEffect)(()=>{P&&I(P)},[D,P]),o.default.createElement("div",{className:h.default.preferences_items},o.default.createElement(v.VirtualList,{data:D,template:t.PreferenceItem,className:h.default.preference_section,refSetter:S.handleListHandler,onRangeChanged:R.run}))}},76773:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserPreferenceProvider=t.USER_PREFERENCE_URI=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(78132),p=e(11461);t.USER_PREFERENCE_URI=new o.URI().withScheme(o.Schemes.userStorage).withPath("settings.json");let v=class extends p.AbstractResourcePreferenceProvider{getUri(){return t.USER_PREFERENCE_URI}getScope(){return l.PreferenceScope.User}};t.UserPreferenceProvider=v,t.UserPreferenceProvider=v=n.__decorate([(0,r.Injectable)()],v)},25947:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(84017),t),n.__exportStar(e(57506),t)},57506:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserStorageContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(14951),p=e(2156),v=e(83569);let m=class{initialize(){this.fileSystem.registerProvider(o.Schemes.userStorage,this.userStorageService)}};t.UserStorageContribution=m,n.__decorate([(0,r.Autowired)(v.IUserStorageService),n.__metadata("design:type",Object)],m.prototype,"userStorageService",void 0),n.__decorate([(0,r.Autowired)(l.IFileServiceClient),n.__metadata("design:type",p.FileServiceClient)],m.prototype,"fileSystem",void 0),t.UserStorageContribution=m=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],m)},84017:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.UserStorageServiceImpl=t.DEFAULT_USER_STORAGE_FOLDER=void 0;const r=e(85608),o=r.__importDefault(e(82451)),l=e(76003),p=e(41869),v=e(43718),m=e(42933);t.DEFAULT_USER_STORAGE_FOLDER=".sumi";const _={recursive:!1,excludes:["**/logs/**"]};let s=n=class{static toUserStorageUri(a,h){const u=this.getRelativeUserStoragePath(a,h);return new p.URI("").withScheme(v.Schemes.userStorage).withPath(u).withFragment(h.fragment).withQuery(h.query)}static getRelativeUserStoragePath(a,h){return h.toString().slice(a.toString().length+1)}static toFilesystemURI(a,h){return a.withPath(a.path.join(h.path.toString()))}constructor(){this.capabilities=2,this.onDidChangeCapabilities=v.Event.None,this.toDispose=new p.DisposableCollection,this.onDidChangeFileEmitter=new p.Emitter,this._whenReady=this.init()}get whenReady(){return this._whenReady}get onDidChangeFile(){return this.onDidChangeFileEmitter.event}async init(){const a=await this.fileServiceClient.getCurrentUserHome();if(a){const h=new p.URI(a.uri).resolve(this.appConfig.userPreferenceDirName||this.appConfig.preferenceDirName||t.DEFAULT_USER_STORAGE_FOLDER);await this.fileServiceClient.access(h.toString())||await this.fileServiceClient.createFolder(h.toString()),this.userStorageFolder=h}this.toDispose.push(this.onDidChangeFileEmitter)}readDirectory(a){throw new Error("Method not implemented.")}createDirectory(a){throw new Error("Method not implemented.")}async watch(a,h){await this.whenReady;const u=n.toFilesystemURI(this.userStorageFolder,p.URI.from(a)),d=(0,o.default)(_,h),E=await this.fileServiceClient.watchFileChanges(u.parent,d.excludes);return this.toDispose.push(E),this.toDispose.push(E.onFilesChanged(f=>{const c=[];for(const y of f)y.uri===u.toString()&&c.push(y);c.length>0&&this.onDidChangeFileEmitter.fire(c.map(y=>({uri:n.toUserStorageUri(this.userStorageFolder,new p.URI(y.uri)).toString(),type:y.type})))})),E.watchId}async readFile(a){await this.whenReady;const h=n.toFilesystemURI(this.userStorageFolder,p.URI.from(a));try{const{content:u}=await this.fileServiceClient.readFile(h.toString());return u.buffer}catch(u){throw new Error(u)}}async writeFile(a,h,u){await this.whenReady;const d=n.toFilesystemURI(this.userStorageFolder,p.URI.from(a));try{let E=await this.fileServiceClient.getFileStat(d.toString());E?await this.fileServiceClient.setContent(E,h,u):(E=await this.fileServiceClient.createFile(d.toString()),await this.fileServiceClient.setContent(E,h,u))}catch(E){throw new Error(E)}}delete(a,h){throw new Error("Method not implemented.")}rename(a,h,u){throw new Error("Method not implemented.")}copy(a,h,u){throw new Error("Method not implemented.")}async stat(a){await this.whenReady;const h=n.toFilesystemURI(this.userStorageFolder,p.URI.from(a)),u=await this.fileServiceClient.getFileStat(h.toString());if(u)return u}async access(a,h){await this.whenReady;const u=n.toFilesystemURI(this.userStorageFolder,p.URI.from(a));return this.fileServiceClient.access(u.toString(),h)}};t.UserStorageServiceImpl=s,r.__decorate([(0,l.Autowired)(m.IFileServiceClient),r.__metadata("design:type",Object)],s.prototype,"fileServiceClient",void 0),r.__decorate([(0,l.Autowired)(p.ILogger),r.__metadata("design:type",Object)],s.prototype,"logger",void 0),r.__decorate([(0,l.Autowired)(p.AppConfig),r.__metadata("design:type",Object)],s.prototype,"appConfig",void 0),t.UserStorageServiceImpl=s=n=r.__decorate([(0,l.Injectable)(),r.__metadata("design:paramtypes",[])],s)},46392:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFilePreferenceProvider=t.WorkspaceFilePreferenceProviderFactory=t.WorkspaceFilePreferenceProviderOptions=void 0;const n=e(85608),r=e(76003),o=e(78132),l=e(51500),p=e(84435),v=e(11461);let m=class{};t.WorkspaceFilePreferenceProviderOptions=m,t.WorkspaceFilePreferenceProviderOptions=m=n.__decorate([(0,r.Injectable)()],m),t.WorkspaceFilePreferenceProviderFactory=Symbol("WorkspaceFilePreferenceProviderFactory");let _=class extends v.AbstractResourcePreferenceProvider{getUri(){return this.options.workspaceUri}parse(g){const a=super.parse(g);return p.WorkspaceData.is(a)?a.settings||{}:{}}getPath(g){return["settings",g]}getScope(){return o.PreferenceScope.Workspace}getDomain(){return this.workspaceService.tryGetRoots().map(g=>g.uri)}};t.WorkspaceFilePreferenceProvider=_,n.__decorate([(0,r.Autowired)(l.IWorkspaceService),n.__metadata("design:type",Object)],_.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(m),n.__metadata("design:type",m)],_.prototype,"options",void 0),t.WorkspaceFilePreferenceProvider=_=n.__decorate([(0,r.Injectable)()],_)},58705:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspacePreferenceProvider=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(78132),p=e(51500),v=e(46392);let m=class extends l.PreferenceProvider{constructor(){super(),this.toDisposeOnEnsureDelegateUpToDate=new o.DisposableCollection,this.init()}async init(){this._ready.resolve(),this.ensureDelegateUpToDate(),this.workspaceService.onWorkspaceLocationChanged(()=>this.ensureDelegateUpToDate())}getConfigUri(s=this.ensureResourceUri()){const g=this.delegate;return g&&g.getConfigUri(s)}get delegate(){return this._delegate||this.ensureDelegateUpToDate(),this._delegate}ensureDelegateUpToDate(){const s=this.createDelegate();this._delegate!==s&&(this.toDisposeOnEnsureDelegateUpToDate.dispose(),this.toDispose.push(this.toDisposeOnEnsureDelegateUpToDate),this._delegate=s,s&&this.toDisposeOnEnsureDelegateUpToDate.pushAll([s,s.onDidPreferencesChanged(g=>{this.emitPreferencesChangedEvent(g)})]))}createDelegate(){const s=this.workspaceService.workspace;if(s)return this.workspaceService.isMultiRootWorkspaceOpened?this.workspaceFileProviderFactory({workspaceUri:new o.URI(s.uri)}):this.foldersPreferenceProvider}doGet(s,g=this.ensureResourceUri(),a){const h=this.delegate;return h?h.get(s,g,a):void 0}doResolve(s,g=this.ensureResourceUri(),a){const h=this.delegate;return h?h.resolve(s,g,a):{}}getPreferences(s=this.ensureResourceUri(),g){const a=this.delegate;return a?a.getPreferences(s,g):void 0}getLanguagePreferences(s=this.ensureResourceUri()){const g=this.delegate;return g?g.getLanguagePreferences(s):void 0}async doSetPreference(s,g,a=this.ensureResourceUri(),h){const u=this.delegate;return u?u.setPreference(s,g,a,h):!1}ensureResourceUri(){if(this.workspaceService.workspace&&!this.workspaceService.isMultiRootWorkspaceOpened)return this.workspaceService.workspace.uri}};t.WorkspacePreferenceProvider=m,n.__decorate([(0,r.Autowired)(p.IWorkspaceService),n.__metadata("design:type",Object)],m.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(v.WorkspaceFilePreferenceProviderFactory),n.__metadata("design:type",Function)],m.prototype,"workspaceFileProviderFactory",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceProvider,{tag:l.PreferenceScope.Folder}),n.__metadata("design:type",l.PreferenceProvider)],m.prototype,"foldersPreferenceProvider",void 0),t.WorkspacePreferenceProvider=m=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],m)},60295:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SettingJSONGlyphMarginEdit=void 0,t.SettingJSONGlyphMarginEdit={id:"preference.setting.glyphMargin.edit"}},83569:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(99112),t),n.__exportStar(e(36858),t),n.__exportStar(e(49132),t),n.__exportStar(e(29728),t)},49132:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.knownPrefIdMappings=t.PreferenceSettingId=void 0;var e;(function(n){n.General="general",n.Editor="editor",n.Terminal="terminal",n.Feature="feature",n.View="view"})(e||(t.PreferenceSettingId=e={})),t.knownPrefIdMappings={"workbench.editor.enablePreview":"editor.previewMode"}},99112:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.knownTermMappings=t.PREF_SCHEME=void 0,t.toPreferenceReadableName=o,t.getPreferenceItemLabel=l,t.toNormalCase=p;const n=e(41869);t.PREF_SCHEME="pref",t.knownTermMappings=new Map,t.knownTermMappings.set("power shell","PowerShell"),t.knownTermMappings.set("powershell","PowerShell"),t.knownTermMappings.set("javascript","JavaScript"),t.knownTermMappings.set("typescript","TypeScript"),["css","html","scss","less","json","js","ts","ie","id","php","scm","npm"].forEach(v=>{t.knownTermMappings.set(v,v.toUpperCase())});function r(v){const m=v.toLowerCase();return t.knownTermMappings.has(m)?t.knownTermMappings.get(m):p(v)}function o(v){const m=v.split(".");let _=r(m[0]);return m[1]&&(_+=" > "+p(m[1])),m[2]&&(_+=" : "+p(m[2])),m.slice(3).length>0&&(_+=". "+m.slice(3).join(" ")),_}function l(v){let m;return v.localized&&(m=(0,n.localize)(v.localized)),m||(m=o(v.id)),m}function p(v){return v.substr(0,1).toUpperCase()+v.substr(1).replace(/([^A-Z])([A-Z])/g,"$1 $2")}},29728:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SettingContribution=void 0,t.SettingContribution=Symbol("SettingContribution")},36858:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IUserStorageService=void 0,t.IUserStorageService=Symbol("IUserStorageService")},46507:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(83569),t)},70716:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HighlightLabel=void 0;const r=e(85608).__importDefault(e(14041)),o=e(41869),l=e(48560),p=e(52416),v=({text:m="",highlights:_=[],className:s="",labelClassName:g="",labelIconClassName:a="",hightLightClassName:h="",OutElementType:u="span"})=>{const d=(0,l.useInjectable)(p.IIconService),E=r.default.useMemo(()=>{const f=[];let c=0;for(const y of _){if(y.end===y.start)continue;if(c<y.start){const A=m.substring(c,y.start);f.push(r.default.createElement("span",{className:g,key:`${f.length}-${A}`},(0,o.transformLabelWithCodicon)(A,a,d.fromString.bind(d)))),c=y.end}const b=m.substring(y.start,y.end);f.push(r.default.createElement("span",{className:h,key:`${f.length}-${b}`},(0,o.transformLabelWithCodicon)(b,a,d.fromString.bind(d)))),c=y.end}if(c<m.length){const y=m.substring(c);f.push(r.default.createElement("span",{className:g,key:`${f.length}-${y}`},(0,o.transformLabelWithCodicon)(y,a,d.fromString.bind(d))))}return f},[m,_]);return r.default.createElement(u,{title:m,className:s},E)};t.HighlightLabel=v},52644:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeybindingView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),p=n.__importDefault(e(26739)),v=({keybinding:m,className:_,sequenceClassName:s,keyClassName:g})=>{const a=(0,l.useInjectable)(l.KeybindingRegistry),h=o.default.useMemo(()=>a.acceleratorFor(m," "),[m]);return o.default.createElement("div",{className:(0,r.default)(p.default.keybinding,_)},h?h.map((u,d)=>{const E=u.split(" ");return o.default.createElement("div",{key:`${u}_${d}`,title:u,className:(0,r.default)(p.default.key_sequence,s)},E.map((f,c)=>o.default.createElement("span",{className:(0,r.default)(p.default.key,g),key:`${f}_${d}_${c}`},f)))}):null)};t.KeybindingView=v},47005:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenTabs=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(41869),p=e(63373),v=e(52644),m=n.__importDefault(e(78539)),_=({tabs:s,activePrefix:g,onChange:a,toggleTab:h})=>{const u=(0,l.useInjectable)(l.KeybindingRegistry),d=E=>{const f=u.getKeybindingsForCommand(E);return f?f[0]:void 0};return o.default.createElement("div",{id:p.VIEW_CONTAINERS.QUICKPICK_TABS,className:m.default.quickopen_tabs},o.default.createElement("div",{className:m.default.quickopen_tabs_left},s.map(({title:E,prefix:f,commandId:c,order:y},b)=>{const A=d(c);return o.default.createElement("div",{key:f,className:m.default.quickopen_tabs_left_item,onMouseDown:S=>S.preventDefault(),onClick:()=>{f!==g&&a(f)}},o.default.createElement("div",{className:(0,r.default)(m.default.quickopen_tabs_left_item_text,{[m.default.selected]:g===f})},E),A&&o.default.createElement(v.KeybindingView,{keybinding:A,className:m.default.keybinding,keyClassName:m.default.tab_key}))})),o.default.createElement("div",{style:{flex:1}}),o.default.createElement("div",{className:m.default.quickopen_tabs_tip,onClick:()=>{h?.()}},(0,l.localize)("quickopen.tab.tip.prefix"),o.default.createElement("span",{className:m.default.tab_key},"Tab"),(0,l.localize)("quickopen.tab.tip.suffix")))};t.QuickOpenTabs=_},96534:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenModule=t.CoreQuickOpenModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),p=e(80490),v=e(99066),m=e(65028),_=e(43131),s=e(13978);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:l.PrefixQuickOpenService,useClass:p.PrefixQuickOpenServiceImpl},{token:o.QuickOpenService,useClass:_.MonacoQuickOpenService},{token:l.QuickPickService,useClass:s.QuickPickServiceImpl},{token:l.IQuickInputService,useClass:v.QuickInputService},m.CoreQuickOpenContribution],this.contributionProvider=p.QuickOpenContribution}};t.CoreQuickOpenModule=g,t.CoreQuickOpenModule=g=n.__decorate([(0,r.Injectable)()],g);let a=class extends g{constructor(){super(...arguments),this.providers=this.providers.concat(m.QuickOpenFeatureContribution)}};t.QuickOpenModule=a,t.QuickOpenModule=a=n.__decorate([(0,r.Injectable)()],a)},80490:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrefixQuickOpenServiceImpl=t.QuickOpenHandlerRegistry=t.QuickOpenContribution=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(76003),l=e(41869),p=e(18193),v=e(74404),m=e(43718),_=e(47005),s=e(50426);var g=e(74404);Object.defineProperty(t,"QuickOpenContribution",{enumerable:!0,get:function(){return g.QuickOpenContribution}});let a=class extends m.Disposable{constructor(){super(...arguments),this.handlers=new Map,this.tabs=[],this.sortedTabs=null,this.handlerTabMap=new Map}registerHandler(d,E){if(this.handlers.has(d.prefix))return this.logger.warn(`The handler function of the \`${d.prefix}\` is already registered`),m.Disposable.NULL;this.handlers.set(d.prefix,d);const f={dispose:()=>this.handlers.delete(d.prefix)};if(this.addDispose(f),d.default&&(this.defaultHandler=d),E&&!E.hideTab){const c=[],{sub:y,...b}=E;y&&Object.keys(y).forEach(A=>{c.push({prefix:`${d.prefix}${A}`,...y[A]})}),c.push({prefix:d.prefix,...b}),this.handlerTabMap.set(d,c),this.tabs.push(...c),this.sortedTabs=null,this.addDispose({dispose:()=>{const A=this.handlerTabMap.get(d);A&&(this.handlerTabMap.delete(d),this.tabs=this.tabs.filter(S=>!A.includes(S)),this.sortedTabs=null)}})}return f}getDefaultHandler(){return this.defaultHandler}isDefaultHandler(d){return d===this.getDefaultHandler()}getHandlers(){return[...this.handlers.values()]}getHandlerOrDefault(d){for(const E of this.handlers.values())if(d.startsWith(E.prefix))return E;return this.getDefaultHandler()}getSortedTabs(){return this.sortedTabs||(this.sortedTabs=this.tabs.slice().sort((d,E)=>d.order-E.order)),this.sortedTabs}getTabByHandler(d,E){if(this.handlerTabMap.has(d)){let f=E;return this.isDefaultHandler(d)&&!E.startsWith(d.prefix)&&(f=`${d.prefix}${E}`),this.handlerTabMap.get(d).find(c=>f.startsWith(c.prefix))}}};t.QuickOpenHandlerRegistry=a,n.__decorate([(0,o.Autowired)(m.ILogger),n.__metadata("design:type",Object)],a.prototype,"logger",void 0),t.QuickOpenHandlerRegistry=a=n.__decorate([(0,o.Injectable)()],a);let h=class{constructor(){this.activePrefix="",this.currentLookFor="",this.toDisposeCurrent=new m.DisposableCollection}open(d,E){const f=this.handlers.getHandlerOrDefault(d);let c=!1;E?d=`${d}${E}`:this.corePreferences["workbench.quickOpen.preserveInput"]&&f&&f===this.currentHandler&&this.currentLookFor&&this.handlers.getTabByHandler(f,this.currentLookFor)===this.handlers.getTabByHandler(f,d)?(d=this.currentLookFor,c=!0):this.currentLookFor="",this.setCurrentHandler(d,f,c)}async setCurrentHandler(d,E,f){var c,y;if(E!==this.currentHandler&&(this.toDisposeCurrent.dispose(),this.currentHandler=E,this.toDisposeCurrent.push(m.Disposable.create(()=>{const T=E&&E.getOptions().onClose;T&&T(!0)}))),!E){this.doOpen();return}E.init&&await E.init(),this.setActivePrefix(E,d);let b=d;this.handlers.isDefaultHandler(E)&&d.startsWith(E.prefix)&&(b=d.substring(E.prefix.length));const A=this.handlers.isDefaultHandler(E)?0:((y=(c=this.handlers.getTabByHandler(E,d))===null||c===void 0?void 0:c.prefix)!==null&&y!==void 0?y:E.prefix).length,S=E.getOptions(),w=()=>{var T;(T=E.onToggle)===null||T===void 0||T.call(E);const D=this.handlers.getSortedTabs();let I=null;if(this.activePrefix){let R=D.findIndex(P=>P.prefix===this.activePrefix);R=R===D.length-1?0:R+1,I=D[R]}else I=D[0];I&&this.open(I.prefix)};this.doOpen({prefix:b,skipPrefix:A,valueSelection:f?[A,d.length]:void 0,...S,onClose:T=>{S.onClose&&S.onClose(T),E.onClose&&E.onClose(T),this.commandService.executeCommand(l.EDITOR_COMMANDS.FOCUS.id)},renderTab:()=>r.default.createElement(_.QuickOpenTabs,{tabs:this.handlers.getSortedTabs(),activePrefix:this.activePrefix,onChange:T=>{var D;(D=E.onToggle)===null||D===void 0||D.call(E),this.open(T)},toggleTab:()=>{w()}}),toggleTab:()=>{w()}})}doOpen(d){this.quickTitleBar.isAttached.get()&&this.quickTitleBar.hide(),this.quickOpenService.open({onType:(E,f)=>this.onType(E,f)},d)}onType(d,E){this.currentLookFor=d;const f=this.handlers.getHandlerOrDefault(d);if(f===void 0){const c=[];c.push(new v.QuickOpenItem({label:(0,l.localize)("quickopen.command.nohandler")})),E(c)}else if(f!==this.currentHandler)this.setCurrentHandler(d,f);else{const c=f.getModel(),y=this.handlers.isDefaultHandler(f)?d:d.substr(f.prefix.length);c.onType(y,(b,A)=>E(b,A)),this.setActivePrefix(f,d)}}setActivePrefix(d,E){var f,c;this.activePrefix=(c=(f=this.handlers.getTabByHandler(d,E))===null||f===void 0?void 0:f.prefix)!==null&&c!==void 0?c:""}};t.PrefixQuickOpenServiceImpl=h,n.__decorate([(0,o.Autowired)(a),n.__metadata("design:type",a)],h.prototype,"handlers",void 0),n.__decorate([(0,o.Autowired)(v.QuickOpenService),n.__metadata("design:type",Object)],h.prototype,"quickOpenService",void 0),n.__decorate([(0,o.Autowired)(s.QuickTitleBar),n.__metadata("design:type",s.QuickTitleBar)],h.prototype,"quickTitleBar",void 0),n.__decorate([(0,o.Autowired)(p.CorePreferences),n.__metadata("design:type",Object)],h.prototype,"corePreferences",void 0),n.__decorate([(0,o.Autowired)(m.CommandService),n.__metadata("design:type",Object)],h.prototype,"commandService",void 0),t.PrefixQuickOpenServiceImpl=h=n.__decorate([(0,o.Injectable)()],h)},99066:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickInputService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(74404),p=e(43718),v=e(44854);let m=class{constructor(){this.onDidAcceptEmitter=new p.Emitter,this.onDidChangeValueEmitter=new p.Emitter}open(s){this.inputBox&&this.inputBox.hide();const g=new p.Deferred,a=s&&s.validateInput;s.hideOnDidAccept===void 0&&(s.hideOnDidAccept=!0);const h=this.injector.get(v.InputBoxImpl,[s]);return this.inputBox=h,h.onDidAccept(u=>{g.resolve(u),this.onDidAcceptEmitter.fire()}),h.getDerivedOptionsFromValue=async u=>{var d;const E=a&&u!==void 0?(0,p.withNullAsUndefined)(await a(u)):void 0;return{validationMessage:typeof E=="string"?E:E?.message,validationType:typeof E=="string"?o.VALIDATE_TYPE.ERROR:(d=E?.type)!==null&&d!==void 0?d:o.VALIDATE_TYPE.ERROR}},h.onDidChangeValue(async u=>{this.onDidChangeValueEmitter.fire(u)}),h.onDidHide(()=>{g.resolve(void 0)}),h.open(),g.promise}refresh(){var s;(s=this.inputBox)===null||s===void 0||s.refresh()}hide(){var s;(s=this.inputBox)===null||s===void 0||s.hide()}dispose(){var s;(s=this.inputBox)===null||s===void 0||s.dispose()}get onDidAccept(){return this.onDidAcceptEmitter.event}get onDidChangeValue(){return this.onDidChangeValueEmitter.event}};t.QuickInputService=m,n.__decorate([(0,r.Autowired)(l.QuickOpenService),n.__metadata("design:type",Object)],m.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],m.prototype,"injector",void 0),t.QuickInputService=m=n.__decorate([(0,r.Injectable)()],m)},11143:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenBaseAction=void 0;class e{constructor(r){this.options=r}get id(){return this.options.id}get label(){return this.options.label||""}set label(r){this.options.label=r}get tooltip(){return this.options.tooltip||""}set tooltip(r){this.options.tooltip=r}get class(){return this.options.class||""}set class(r){this.options.class=r}get enabled(){return this.options.enabled||!0}set enabled(r){this.options.enabled=r}get checked(){return this.options.checked||!1}set checked(r){this.options.checked=r}get radio(){return this.options.radio||!1}set radio(r){this.options.radio=r}dispose(){}}t.QuickOpenBaseAction=e},78245:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenItemService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(40827),p=e(43718),v=e(52416),m=e(89802);let _=class{constructor(){this.onDidTriggerItemButtonEmitter=new p.Emitter}get onDidTriggerItemButton(){return this.onDidTriggerItemButtonEmitter.event}fireDidTriggerItemButton(g,a){this.onDidTriggerItemButtonEmitter.fire({button:a,item:{handle:g}})}getButtons(g){return g.length===0?[]:g.map((a,h)=>{if(p.ThemeIcon.isThemeIcon(a.iconPath))return{...a,iconClass:(0,o.getExternalIcon)(a.iconPath.id),handle:h};const u=(0,m.iconPath2URI)(a.iconPath,this.themeService.getCurrentThemeSync().type),d=u&&this.staticResourceService.resolveStaticResource(u).toString(),E=d&&this.iconService.fromIcon("",d,v.IconType.Background);return{...a,iconClass:E,handle:h}})}getIconClass(g){const{iconClass:a,iconPath:h}=g;if(a)return a;if(!h)return;if(p.ThemeIcon.isThemeIcon(h))return(0,o.getExternalIcon)(h.id);const u=(0,m.iconPath2URI)(h,this.themeService.getCurrentThemeSync().type),d=u&&this.staticResourceService.resolveStaticResource(u).toString();return h&&this.iconService.fromIcon("",d,v.IconType.Background)}};t.QuickOpenItemService=_,n.__decorate([(0,r.Autowired)(v.IThemeService),n.__metadata("design:type",Object)],_.prototype,"themeService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",l.StaticResourceService)],_.prototype,"staticResourceService",void 0),n.__decorate([(0,r.Autowired)(v.IIconService),n.__metadata("design:type",Object)],_.prototype,"iconService",void 0),t.QuickOpenItemService=_=n.__decorate([(0,r.Injectable)()],_)},90404:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CommandQuickOpenItem=t.QuickCommandHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(18193),p=e(93899),v=e(74404),m=e(43718),_=e(77714),s=e(51500);let g=class{constructor(){this.prefix=">",this.description=(0,o.localize)("quickopen.command.description"),this.initDeferred=new m.Deferred,this.initRecentlyUsedCommands()}async init(){await this.initDeferred.promise,this.items=this.getItems()}async initRecentlyUsedCommands(){const d=(await this.workspaceService.getMostRecentlyUsedCommands()).map(E=>this.commandRegistry.getCommand(E)).filter(E=>!!E).reverse();this.commandRegistry.setRecentCommands(d),this.initDeferred.resolve()}getModel(){return{onType:(u,d)=>{d(this.items),this.reporterService.point(m.REPORT_NAME.QUICK_OPEN_MEASURE,"command",{lookFor:u})}}}getOptions(){return{placeholder:(0,o.localize)("quickopen.command.placeholder"),fuzzyMatchLabel:{enableSeparateSubstringMatching:!0},fuzzyMatchDetail:{enableSeparateSubstringMatching:!0},fuzzySort:!1,getPlaceholderItem:()=>new v.QuickOpenItem({label:(0,o.localize)("quickopen.commands.notfound"),run:()=>!1})}}getItems(){const u=[],{recent:d,other:E}=this.getCommands();return u.push(...d.map((f,c)=>this.injector.get(a,[f,{groupLabel:c===0?(0,o.localize)("quickopen.recent-commands"):"",showBorder:!1}])),...E.map((f,c)=>this.injector.get(a,[f,{groupLabel:d.length<=0?"":c===0?(0,o.localize)("quickopen.other-commands"):"",showBorder:d.length<=0?!1:c===0}]))),u}getCommands(){const u=this.menuService.createMenu(p.MenuId.CommandPalette,this.contextKeyService),d=this.getValidCommands(this.commandRegistry.getRecentCommands()),E=this.corePreferences["workbench.commandPalette.history"],f=d.slice(0,E),c=new Set(f.map(S=>S.id)),y=new Set,b=[],A=[];for(const[,S]of u.getMenuNodes())for(const w of S){if(!(w instanceof p.MenuItemNode)||w.disabled||y.has(w.id)||(y.add(w.id),c.has(w.id)))continue;b.push(w);const T=this.commandRegistry.getCommand(w.id);T&&A.push({...T,label:w.label})}for(let S=f.length-1;S>=0;S--){const w=f[S];y.has(w.id)||f.splice(S,1)}return u.dispose(),{recent:f,other:A.sort((S,w)=>m.Command.compareCommands(S,w))}}getValidCommands(u){return u.filter(d=>d.label&&this.commandRegistry.isVisible(d.id)&&this.commandRegistry.isEnabled(d.id))}};t.QuickCommandHandler=g,n.__decorate([(0,r.Autowired)(m.CommandService),n.__metadata("design:type",Object)],g.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],g.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(m.CommandRegistry),n.__metadata("design:type",Object)],g.prototype,"commandRegistry",void 0),n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],g.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.CorePreferences),n.__metadata("design:type",Object)],g.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(p.AbstractMenuService),n.__metadata("design:type",p.AbstractMenuService)],g.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],g.prototype,"contextKeyService",void 0),n.__decorate([(0,r.Autowired)(m.IReporterService),n.__metadata("design:type",Object)],g.prototype,"reporterService",void 0),t.QuickCommandHandler=g=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],g);let a=class extends v.QuickOpenItem{constructor(u,d){super(d),this.command=u,this.commandOptions=d}getLabel(){return this.command.category?`${(0,_.uppercaseFirstLetter)(this.command.category)}: `+this.command.label:this.command.label}isHidden(){return super.isHidden()}getDetail(){var u,d;if(!this.command.labelLocalized)return;let E;const{alias:f,localized:c}=this.command.labelLocalized;if(f!==c){const y=(d=(u=this.command.categoryLocalized)===null||u===void 0?void 0:u.alias)!==null&&d!==void 0?d:this.command.category;y?E=`${(0,_.uppercaseFirstLetter)(y)}: ${f}`:E=f}return E}getKeybinding(){const u=this.keybindings.getKeybindingsForCommand(this.command.id);return u?u[0]:void 0}run(u){return u!==v.Mode.OPEN?!1:(setTimeout(()=>{this.commandService.executeCommand(this.command.id),this.commandRegistry.setRecentCommands([this.command]),this.workspaceService.setMostRecentlyUsedCommand(this.command.id)},50),!0)}};t.CommandQuickOpenItem=a,n.__decorate([(0,r.Autowired)(m.CommandService),n.__metadata("design:type",Object)],a.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(m.CommandRegistry),n.__metadata("design:type",Object)],a.prototype,"commandRegistry",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],a.prototype,"keybindings",void 0),n.__decorate([(0,r.Autowired)(s.IWorkspaceService),n.__metadata("design:type",Object)],a.prototype,"workspaceService",void 0),t.CommandQuickOpenItem=a=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object,Object])],a)},65028:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenFeatureContribution=t.CoreQuickOpenContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),p=e(74404),v=e(80490),m=e(90404),_=e(77116);let s=class{onStart(){for(const h of this.quickOpenContributionProvider.getContributions())h.registerQuickOpenHandlers(this.quickOpenHandlerRegistry)}};t.CoreQuickOpenContribution=s,n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",v.QuickOpenHandlerRegistry)],s.prototype,"quickOpenHandlerRegistry",void 0),n.__decorate([(0,r.Autowired)(v.QuickOpenContribution),n.__metadata("design:type",Object)],s.prototype,"quickOpenContributionProvider",void 0),t.CoreQuickOpenContribution=s=n.__decorate([(0,o.Domain)(o.ClientAppContribution)],s);let g=class{registerCommands(h){h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN,{execute:()=>this.prefixQuickOpenService.open(">")}),h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN_OUTLINE,{execute:()=>this.prefixQuickOpenService.open("@")}),h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN_VIEW,{execute:()=>this.prefixQuickOpenService.open("view ")}),h.registerCommand(o.QUICK_OPEN_COMMANDS.OPEN_WITH_COMMAND,{execute:u=>this.prefixQuickOpenService.open(">",u)})}registerKeybindings(h){h.registerKeybinding({command:o.QUICK_OPEN_COMMANDS.OPEN.id,keybinding:"ctrlcmd+shift+p"})}registerMenus(h){h.registerMenuItem(l.MenuId.MenubarViewMenu,{command:{id:o.QUICK_OPEN_COMMANDS.OPEN.id,label:(0,o.localize)("menu-bar.view.quick.command")},group:"0_primary"}),h.registerMenuItem(l.MenuId.MenubarViewMenu,{command:{id:o.LAYOUT_COMMANDS.OPEN_VIEW.id,label:o.LAYOUT_COMMANDS.OPEN_VIEW.label},group:"0_primary"})}registerQuickOpenHandlers(h){h.registerHandler(this.quickCommandHandler,{title:(0,o.localize)("quickopen.tab.command"),commandId:o.QUICK_OPEN_COMMANDS.OPEN.id,order:4}),h.registerHandler(this.helpQuickOpenHandler)}};t.QuickOpenFeatureContribution=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)(p.PrefixQuickOpenService),n.__metadata("design:type",Object)],g.prototype,"prefixQuickOpenService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",m.QuickCommandHandler)],g.prototype,"quickCommandHandler",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",_.HelpQuickOpenHandler)],g.prototype,"helpQuickOpenHandler",void 0),t.QuickOpenFeatureContribution=g=n.__decorate([(0,o.Domain)(o.CommandContribution,o.KeybindingContribution,l.MenuContribution,v.QuickOpenContribution)],g)},77116:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HelpQuickOpenHandler=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),p=e(80490);let v=class{constructor(){this.prefix="?",this.description=""}init(){this.items=this.handlers.getHandlers().filter(_=>_.prefix!==this.prefix).sort((_,s)=>this.comparePrefix(_.prefix,s.prefix)).map(_=>new l.QuickOpenItem({label:_.prefix,description:_.description,run:s=>(s!==l.Mode.OPEN||this.quickOpenService.open(_.prefix),!1)}))}getModel(){return{onType:(_,s)=>{s(this.items)}}}getOptions(){return{}}comparePrefix(_,s){return _.toLowerCase().localeCompare(s.toLowerCase())}};t.HelpQuickOpenHandler=v,n.__decorate([(0,r.Autowired)(p.QuickOpenHandlerRegistry),n.__metadata("design:type",p.QuickOpenHandlerRegistry)],v.prototype,"handlers",void 0),n.__decorate([(0,r.Autowired)(l.PrefixQuickOpenService),n.__metadata("design:type",Object)],v.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(o.CommandService),n.__metadata("design:type",Object)],v.prototype,"commandService",void 0),t.HelpQuickOpenHandler=v=n.__decorate([(0,r.Injectable)()],v)},43131:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KaitianQuickOpenControllerOpts=t.MonacoQuickOpenService=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=n.__importDefault(e(25873)),l=e(76003),p=e(41869),v=e(63373),m=e(68969),_=e(74404),s=e(70238),g=e(52596),a=e(65694),h=e(6399),u=e(98462);let d=class{constructor(){this.preLookFor=""}get inQuickOpenContextKey(){return this.contextKeyService.createKey("inQuickOpen",!1)}appendQuickOpenContainer(){const c=document.querySelector("#ide-overlay");if(!c)throw new Error("ide-overlay is requried");const y=document.createElement("div");y.classList.add("quick-open-overlay"),c.appendChild(y);const b=this.container=document.createElement("quick-open-container");b.style.position="fixed",b.style.top="0px",b.style.right="50%",b.style.zIndex="1000000",y.appendChild(b)}open(c,y){this.previousActiveElement=document.activeElement;const b=new E(c,this.keybindingRegistry,y);this.progressDispose=this.progressService.registerProgressIndicator(v.VIEW_CONTAINERS.QUICKPICK_PROGRESS),this.hideDecoration(),this.internalOpen(b)}hide(c){this.widget.hide(c),this.progressDispose.dispose()}internalOpen(c){var y;this.opts=c,this.widget.show(this.opts.prefix||"",{placeholder:c.inputAriaLabel,password:c.password,inputEnable:(y=c.enabled)!==null&&y!==void 0?y:!0,valueSelection:c.valueSelection,canSelectMany:c.canSelectMany,keepScrollPosition:c.keepScrollPosition,busy:c.busy,renderTab:c.renderTab,toggleTab:c.toggleTab}),this.inQuickOpenContextKey.set(!0)}updateOptions(c){this.opts.updateOptions(c),this.widget.updateOptions(c)}refresh(){this.onType(this.widget.inputValue.get())}get widget(){return this._widget?this._widget:(this.appendQuickOpenContainer(),this._widget=this.injector.get(u.QuickOpenWidget,[{onOk:()=>{this.previousActiveElement=void 0,this.onClose(!1)},onCancel:()=>{this.previousActiveElement instanceof HTMLElement&&this.previousActiveElement.focus(),this.previousActiveElement=void 0,this.onClose(!0)},onType:c=>this.onType(c||""),onFocusLost:()=>this.opts&&this.opts.ignoreFocusOut!==void 0?(this.opts.ignoreFocusOut===!1&&this.onClose(!0),this.opts.ignoreFocusOut):!1,onHide:()=>{this.inQuickOpenContextKey.set(!1)},onSelect:(c,y)=>{this.opts.onSelect&&this.opts.onSelect(c,y)},onConfirm:c=>{this.opts.onConfirm&&this.opts.onConfirm(c)},onKeyMods:c=>{this.opts.onKeyMods&&this.opts.onKeyMods(c)}}]),this.initWidgetView(this._widget),this._widget)}initWidgetView(c){o.default.createRoot(this.container).render(r.default.createElement(p.ConfigProvider,{value:this.appConfig},r.default.createElement(a.QuickOpenContext.Provider,{value:{widget:c}},r.default.createElement(h.QuickOpenView,null))))}onClose(c){var y,b;(b=(y=this.opts).onClose)===null||b===void 0||b.call(y,c)}async onType(c){const y=this.opts;this.widget&&y.onType&&y.onType(c,b=>(this.preLookFor!==c&&this.opts.onChangeValue(c),this.preLookFor=c,this.widget.setInput(b,y.getAutoFocus(c),y.inputAriaLabel)))}onFocusLost(){return!!this.opts.ignoreFocusOut}showDecoration(c){this.widget.validateType.set(c,void 0)}hideDecoration(){this.widget.validateType.set(void 0,void 0)}};t.MonacoQuickOpenService=d,n.__decorate([(0,l.Autowired)(p.KeybindingRegistry),n.__metadata("design:type",Object)],d.prototype,"keybindingRegistry",void 0),n.__decorate([(0,l.Autowired)(s.MonacoContextKeyService),n.__metadata("design:type",s.MonacoContextKeyService)],d.prototype,"monacoContextKeyService",void 0),n.__decorate([(0,l.Autowired)(p.IContextKeyService),n.__metadata("design:type",Object)],d.prototype,"contextKeyService",void 0),n.__decorate([(0,l.Autowired)(l.INJECTOR_TOKEN),n.__metadata("design:type",l.Injector)],d.prototype,"injector",void 0),n.__decorate([(0,l.Autowired)(p.AppConfig),n.__metadata("design:type",Object)],d.prototype,"appConfig",void 0),n.__decorate([(0,l.Autowired)(m.IProgressService),n.__metadata("design:type",Object)],d.prototype,"progressService",void 0),t.MonacoQuickOpenService=d=n.__decorate([(0,l.Injectable)()],d);class E{constructor(c,y,b){this.model=c,this.keybindingRegistry=y,this.model=c,this.options=_.QuickOpenOptions.resolve(b)}get prefix(){return this.options.prefix}get inputAriaLabel(){return this.options.placeholder||""}get ignoreFocusOut(){return this.options.ignoreFocusOut}get password(){return this.options.password}get enabled(){return this.options.enabled}get valueSelection(){return this.options.valueSelection}get keepScrollPosition(){return this.options.keepScrollPosition}get busy(){return this.options.busy}get renderTab(){return this.options.renderTab}get toggleTab(){return this.options.toggleTab}get canSelectMany(){return this.options.canPickMany}onClose(c){this.options.onClose(c)}onSelect(c,y){this.options.onSelect(c,y)}onConfirm(c){this.options.onConfirm(c)}onType(c,y){this.model.onType(c,(b,A)=>{const S=this.toOpenModel(c,b,A);y(S)})}onKeyMods(c){this.options.onKeyMods&&this.options.onKeyMods(c)}onChangeValue(c){this.options.onChangeValue&&this.options.onChangeValue(c)}updateOptions(c){this.options=_.QuickOpenOptions.resolve(c,this.options)}compareEntries(c,y,b){const A=c.getHighlights()[0]||[],S=y.getHighlights()[0]||[];if(A.length&&!S.length)return-1;if(!A.length&&S.length)return 1;const w=c.getLabel(),T=y.getLabel();return(0,p.compareAnything)(w,T,b)}toOpenModel(c,y,b){const A=c;this.options.skipPrefix&&(c=c.substring(this.options.skipPrefix).trim()),b&&b.getValidateInput&&(c=b.getValidateInput(c));const S=y.filter(T=>!!this.fuzzyQuickOpenItem(T,c));this.options.fuzzySort&&S.sort((T,D)=>this.compareEntries(T,D,c));const{getPlaceholderItem:w}=this.options;return!S.length&&w&&S.push(w(c,A)),{items:S,actionProvider:b}}fuzzyQuickOpenItem(c,y){const{fuzzyMatchLabel:b,fuzzyMatchDescription:A,fuzzyMatchDetail:S}=this.options,w=b?(0,g.matchesFuzzyIconAware)(y,(0,g.parseLabelWithIcons)(c.getLabel()||""),typeof b=="object"&&b.enableSeparateSubstringMatching):c.getLabelHighlights(),T=this.options.fuzzyMatchDescription?(0,g.matchesFuzzyIconAware)(y,(0,g.parseLabelWithIcons)(c.getDescription()||""),typeof A=="object"&&A.enableSeparateSubstringMatching):c.getDescriptionHighlights(),D=this.options.fuzzyMatchDetail?(0,g.matchesFuzzyIconAware)(y,(0,g.parseLabelWithIcons)(c.getDetail()||""),typeof S=="object"&&S.enableSeparateSubstringMatching):c.getDetailHighlights();if(!(y&&!w&&!T&&(!D||D.length===0)&&!this.options.showItemsWithoutHighlight))return c.setHighlights(w||[],T||[],D||[]),c}getAutoFocus(c){if(this.options.selectIndex){const y=this.options.selectIndex(c);if(y>=0)return{autoFocusIndex:y}}return{autoFocusFirstEntry:!0,autoFocusPrefixMatch:c}}}t.KaitianQuickOpenControllerOpts=E},65694:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenContext=void 0;const r=e(85608).__importDefault(e(14041));t.QuickOpenContext=r.default.createContext({widget:null})},6399:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenView=t.QuickOpenProgress=t.QuickOpenList=t.QuickOpenInput=t.QuickOpenHeader=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importDefault(e(14041)),l=e(97267),p=e(41869),v=e(63373),m=e(68969),_=e(68974),s=e(74404),g=e(89647),a=e(28423),h=e(85139),u=e(70716),d=e(52644),E=e(78245),f=e(65694),c=e(50426),y=n.__importDefault(e(91449)),b=({button:R,...P})=>o.default.createElement(l.Button,{...P,key:R.tooltip,type:"icon",iconClass:R.iconClass,title:R.tooltip}),A=()=>{const R=(0,p.useInjectable)(c.QuickTitleBar),P=(0,p.useAutorun)(R.title),O=(0,p.useAutorun)(R.isAttached),M=(0,p.useAutorun)(R.step),k=(0,p.useAutorun)(R.totalSteps),F=(0,p.useAutorun)(R.leftButtons),L=(0,p.useAutorun)(R.rightButtons),B=o.default.useMemo(()=>{const j=()=>M&&k?`${M}/${k}`:M?String(M):"";return P&&M?`${P} (${j()})`:P||(M?j():"")},[P,M,k]),U=o.default.useCallback((j,G)=>{j.stopPropagation(),R.fireDidTriggerButton(G)},[R.fireDidTriggerButton]),W=o.default.useMemo(()=>F.length>0||B||L.length>0?o.default.createElement("div",{className:y.default.title_bar},o.default.createElement("div",{className:y.default.title_bar_button},F.map(j=>o.default.createElement(b,{onMouseDown:G=>U(G,j),button:j}))),o.default.createElement("div",null,B),o.default.createElement("div",{className:y.default.title_bar_button},L.map(j=>o.default.createElement(b,{onMouseDown:G=>U(G,j),button:j})))):null,[F,B,L]);return O?W:null};t.QuickOpenHeader=A;const S=()=>{const{widget:R}=o.default.useContext(f.QuickOpenContext),P=(0,p.useAutorun)(R.valueSelection),O=(0,p.useAutorun)(R.items),M=(0,p.useAutorun)(R.selectAll),k=(0,p.useAutorun)(R.validateType),F=(0,p.useAutorun)(R.inputPlaceholder),L=(0,p.useAutorun)(R.inputEnable),B=(0,p.useAutorun)(R.inputValue),U=(0,p.useAutorun)(R.isPassword),W=(0,p.useAutorun)(R.canSelectMany),j=o.default.useRef(null),G=o.default.useCallback(H=>{const K=H.target.value;R.setInputValue(K),R.callbacks.onType(K)},[R]),$=o.default.useMemo(()=>U?"password":"text",[U]);o.default.useEffect(()=>{setTimeout(()=>{var H;(H=j.current)===null||H===void 0||H.focus()},0)},[O]),o.default.useEffect(()=>{var H;if(B&&P){const[K,Q]=P;(H=j.current)===null||H===void 0||H.setSelectionRange(K,Q)}},[P]);const Z=o.default.useMemo(()=>{if(!(0,p.isUndefined)(k))return{type:k,message:""}},[k]),Y=o.default.useCallback(H=>{const K=H.target.checked;for(const Q of O)(0,a.transaction)(X=>{Q.checked.set(K,X)})},[O]),V=o.default.useCallback(()=>{R.callbacks.onConfirm(O.filter(H=>H.checked.get())),R.hide(s.HideReason.ELEMENT_SELECTED)},[O]);return o.default.createElement("div",{tabIndex:0,className:y.default.input},W&&o.default.createElement(l.CheckBox,{checked:M,wrapTabIndex:0,onChange:Y}),o.default.createElement(l.ValidateInput,{validateMessage:Z,ref:j,type:$,"aria-label":F,placeholder:F,value:B,readOnly:!L,onChange:G,id:v.VIEW_CONTAINERS.QUICKPICK_INPUT}),W&&o.default.createElement(l.Button,{className:y.default.input_button,onClick:V},(0,p.localize)("ButtonOK")))};t.QuickOpenInput=S;const w=({data:R,index:P})=>{const{widget:O}=o.default.useContext(f.QuickOpenContext),M=(0,p.useAutorun)(O.actionProvider),k=(0,p.useAutorun)(O.selectIndex),F=(0,p.useAutorun)(O.canSelectMany),L=(0,p.useAutorun)(R.checked),B=(0,p.useInjectable)(E.QuickOpenItemService),U=o.default.useMemo(()=>R.getLabel(),[R]),W=o.default.useMemo(()=>R.getDescription(),[R]),j=o.default.useMemo(()=>R.getDetail(),[R]),G=o.default.useMemo(()=>R.getIconClass(),[R]),$=o.default.useMemo(()=>R.getKeybinding(),[R]),Z=o.default.useMemo(()=>R.getGroupLabel(),[R]),Y=o.default.useMemo(()=>R.showBorder(),[R]),V=o.default.useMemo(()=>R.getIconPath(),[R]),H=o.default.useMemo(()=>B.getIconClass({iconPath:V,iconClass:G}),[G,V]),K=o.default.useMemo(()=>B.getButtons(R.getButtons()),[R]),[Q,X,oe]=o.default.useMemo(()=>R.getHighlights(),[R]),[ie,fe]=o.default.useState(!1),_e=o.default.useMemo(()=>{if(M&&M.hasActions(R))return M.getActions(R)},[M,R]),q=o.default.useCallback(te=>{F?((0,a.transaction)(le=>{R.checked.set(!L,le)}),te.stopPropagation()):(te.button===1?R.run(s.QuickOpenMode.OPEN_IN_BACKGROUND):R.run(s.QuickOpenMode.OPEN))&&O.hide(s.HideReason.ELEMENT_SELECTED)},[R,F]),Se=o.default.useCallback(te=>{te.run(R),O.hide(s.HideReason.ELEMENT_SELECTED)},[R]),ge=o.default.useCallback((te,le)=>{te.stopPropagation(),B.fireDidTriggerItemButton(P,le)},[R]);return o.default.createElement("div",{id:v.VIEW_CONTAINERS.QUICKPICK_ITEM,tabIndex:0,className:(0,r.default)({[y.default.item_selected]:k===P,[y.default.item_border]:Y},y.default.item),onMouseEnter:()=>fe(!0),onMouseLeave:()=>fe(!1),"aria-label":U},F&&o.default.createElement(l.CheckBox,{wrapTabIndex:0,checked:L,onChange:te=>{(0,a.transaction)(le=>{R.checked.set(te.target.checked,le)})}}),o.default.createElement("div",{tabIndex:0,className:y.default.item_label_container,onMouseDown:q},o.default.createElement("div",{className:y.default.item_label},H&&o.default.createElement("span",{className:(0,r.default)(y.default.item_icon,H)}),o.default.createElement(u.HighlightLabel,{className:y.default.item_label_name,labelClassName:y.default.label_icon_container,labelIconClassName:y.default.item_label_name_icon,hightLightClassName:(0,r.default)(y.default.item_label_highlight),text:U,highlights:Q}),W&&o.default.createElement(u.HighlightLabel,{className:y.default.item_label_description,labelClassName:(0,r.default)(y.default.label_icon_container,y.default.item_label_description_label),labelIconClassName:(0,r.default)(y.default.label_has_icon,y.default.item_label_description_icon),hightLightClassName:(0,r.default)(y.default.item_label_description_highlight),text:W,highlights:X})),j&&o.default.createElement(u.HighlightLabel,{OutElementType:"div",className:y.default.item_label_detail,labelClassName:(0,r.default)(y.default.label_icon_container,y.default.item_label_description_label),labelIconClassName:(0,r.default)(y.default.label_has_icon,y.default.item_label_detail_icon),hightLightClassName:(0,r.default)(y.default.item_label_description_highlight),text:j,highlights:oe})),$&&o.default.createElement(d.KeybindingView,{keybinding:$}),Z&&o.default.createElement("span",{title:Z,className:y.default.item_group_label},Z),_e?.map(te=>o.default.createElement("span",{key:te.id,onMouseDown:()=>Se(te),title:te.tooltip||te.label,className:(0,r.default)(y.default.item_action,te.class)})),(ie||k===P)&&K?.map(te=>o.default.createElement(b,{onMouseDown:le=>ge(le,te),button:te})))},T=({onReady:R,onScroll:P})=>{const{widget:O}=o.default.useContext(f.QuickOpenContext),M=(0,p.useAutorun)(O.items),k=(0,p.useAutorun)(O.validateType),F=(0,p.useDesignStyles)(y.default.quickopen_list,"quickopen_list"),L=o.default.useCallback(B=>{const U=M[B];return U?.getDetail()?44:22},[M]);return M.length>0?o.default.createElement(l.RecycleList,{onReady:R,onScroll:P,className:(0,r.default)(F,{[y.default.validate_error]:k===l.VALIDATE_TYPE.ERROR,[y.default.validate_warning]:k===l.VALIDATE_TYPE.WARNING}),data:M,template:w,getSize:L,maxHeight:M.length?O.MAX_HEIGHT:0,hiddenHorizontalScrollbar:!0}):null};t.QuickOpenList=T;const D=()=>{const{widget:R}=o.default.useContext(f.QuickOpenContext),P=(0,p.useAutorun)(R.busy),M=(0,p.useInjectable)(m.IProgressService).getIndicator(v.VIEW_CONTAINERS.QUICKPICK_PROGRESS);return M?(o.default.useEffect(()=>{R.updateProgressStatus(!!P)},[P]),o.default.createElement("div",{id:v.VIEW_CONTAINERS.QUICKPICK_PROGRESS,className:y.default.progress_bar},o.default.createElement(_.ProgressBar,{progressModel:M.progressModel}))):null};t.QuickOpenProgress=D;const I=()=>{var R;const{widget:P}=o.default.useContext(f.QuickOpenContext),O=(0,p.useAutorun)(P.items),M=(0,p.useAutorun)(P.autoFocus),k=(0,p.useAutorun)(P.selectIndex),F=(0,p.useAutorun)(P.keepScrollPosition),L=(0,p.useAutorun)(P.isShow),B=o.default.useRef(),U=o.default.useRef(0),W=o.default.useCallback(({relatedTarget:Y,currentTarget:V})=>{if(Y===null)return!1;let H=Y.parentNode;for(;H!==null;){if(H===V)return!0;H=H.parentNode}return!1},[]),j=o.default.useCallback(Y=>{W(Y)||P.blur()},[P]),G=o.default.useCallback(Y=>{B.current=Y},[P]),$=o.default.useCallback(Y=>{U.current=Y.scrollOffset},[P]);o.default.useEffect(()=>{if(M){if(M.autoFocusPrefixMatch){let Y,V;const H=M.autoFocusPrefixMatch,K=H.toLowerCase();for(const X of O){const oe=X.getLabel()||"";if(!Y&&oe.indexOf(H)===0?Y=X:!V&&oe.toLowerCase().indexOf(K)===0&&(V=X),Y&&V)break}const Q=Y||V;if(Q){const X=O.indexOf(Q);P.setSelectIndex(X);return}}M.autoFocusFirstEntry?P.setSelectIndex(0):typeof M.autoFocusIndex=="number"?O.length>M.autoFocusIndex&&P.setSelectIndex(M.autoFocusIndex):M.autoFocusSecondEntry?O.length>1&&P.setSelectIndex(1):M.autoFocusLastEntry&&O.length>1&&P.setSelectIndex(O.length-1)}},[O,M]),o.default.useEffect(()=>{var Y,V;if(F?(Y=B.current)===null||Y===void 0||Y.scrollTo(U.current):(V=B.current)===null||V===void 0||V.scrollToIndex(k,"smart"),O.length===0)return;const H=O[k];H&&(H.run(s.QuickOpenMode.PREVIEW),P.callbacks.onSelect(H,k))},[O,k,F]);const Z=o.default.useCallback(Y=>{if(g.KEY_CODE_MAP[Y.nativeEvent.keyCode]===h.KeyCode.KEY_IN_COMPOSITION)return;const{key:V}=p.KeyCode.createKeyCode(Y.nativeEvent);if(!V)return;const H=O.length;switch(V.keyCode){case p.Key.ARROW_UP.keyCode:{Y.preventDefault(),Y.stopPropagation();const K=k-1;P.setSelectIndex((H+K%H)%H);break}case p.Key.ARROW_DOWN.keyCode:{Y.preventDefault(),Y.stopPropagation();const K=k+1;P.setSelectIndex(K%H);break}case p.Key.ESCAPE.keyCode:{Y.preventDefault(),Y.stopPropagation(),P.hide(s.HideReason.CANCELED);break}case p.Key.ENTER.keyCode:{Y.preventDefault(),Y.stopPropagation();const K=O[k];if(!K)return;K.run(s.QuickOpenMode.OPEN)&&P.hide(s.HideReason.ELEMENT_SELECTED);break}case p.Key.TAB.keyCode:{P.toggleTab&&(Y.preventDefault(),Y.stopPropagation(),P.toggleTab());break}}},[O,P,k]);return L?o.default.createElement("div",{id:v.VIEW_CONTAINERS.QUICKPICK,tabIndex:0,className:y.default.container,onKeyDown:Z,onBlur:j},o.default.createElement(t.QuickOpenHeader,null),o.default.createElement(t.QuickOpenInput,null),o.default.createElement(t.QuickOpenProgress,null),(R=P.renderTab)===null||R===void 0?void 0:R.call(P),o.default.createElement(t.QuickOpenList,{onReady:G,onScroll:$})):null};t.QuickOpenView=I},98462:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickOpenWidget=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(63373),p=e(68969),v=e(28423);let m=class{constructor(s){this.callbacks=s,this.MAX_HEIGHT=440,this.inputValue=(0,v.observableValue)(this,""),this.validateType=(0,v.observableValue)(this,void 0),this.isShow=(0,v.observableValue)(this,!1),this.items=(0,v.observableValue)(this,[]),this.actionProvider=(0,v.observableValue)(this,null),this.autoFocus=(0,v.observableValue)(this,null),this.selectAll=(0,v.derived)(this,g=>this.items.read(g).every(a=>a.checked.read(g))),this.isPassword=(0,v.observableValue)(this,!1),this.selectIndex=(0,v.observableValue)(this,0),this.keepScrollPosition=(0,v.observableValue)(this,!1),this.busy=(0,v.observableValue)(this,!1),this.valueSelection=(0,v.observableValue)(this,void 0),this.canSelectMany=(0,v.observableValue)(this,!1),this.inputPlaceholder=(0,v.observableValue)(this,""),this.inputEnable=(0,v.observableValue)(this,!1),this.isAlreadyOpen=!1,this.modifierListeners=new o.DisposableCollection}setSelectIndex(s){(0,v.transaction)(g=>{const a=(0,o.isNumber)(s)?s:0;this.selectIndex.set(a,g)})}setInputValue(s){(0,v.transaction)(g=>{this.inputValue.set(s,g)})}show(s,g){(0,v.transaction)(a=>{this.isShow.get()?this.isAlreadyOpen||(this.isAlreadyOpen=!0,this.callbacks.onType(s)):this.callbacks.onType(s),this.isShow.set(!0,a),this.inputValue.set(s,a),this.inputPlaceholder.set(g.placeholder,a),this.isPassword.set(!!g.password,a),this.inputEnable.set(g.inputEnable,a),this.valueSelection.set(g.valueSelection,a),this.canSelectMany.set(g.canSelectMany,a),this.keepScrollPosition.set(!!g.keepScrollPosition,a),this.busy.set(!!g.busy,a),this.renderTab=g.renderTab,this.toggleTab=g.toggleTab,this.registerKeyModsListeners()})}hide(s){this.isAlreadyOpen=!1,this.modifierListeners.disposed||this.modifierListeners.dispose(),this.isShow.get()&&((0,v.transaction)(g=>{this.isShow.set(!1,g),this.items.set([],g)}),s===o.HideReason.ELEMENT_SELECTED?this.callbacks.onOk():this.callbacks.onCancel(),this.callbacks.onHide(s))}blur(){if(!this.isShow.get())return;this.callbacks.onFocusLost()||this.hide(o.HideReason.FOCUS_LOST)}setInput(s,g,a){(0,v.transaction)(h=>{this.items.set(s.items,h),this.actionProvider.set(s.actionProvider||null,h),this.autoFocus.set(g,h)})}updateOptions(s){(0,v.transaction)(g=>{const a={placeholder:h=>this.inputPlaceholder.set(h,g),password:h=>this.isPassword.set(!!h,g),inputEnable:h=>this.inputEnable.set(!!h,g),valueSelection:h=>this.valueSelection.set(h,g),canSelectMany:h=>this.canSelectMany.set(!!h,g),keepScrollPosition:h=>this.keepScrollPosition.set(!!h,g),busy:h=>this.busy.set(!!h,g),enabled:h=>this.inputEnable.set(!!h,g)};Object.entries(s).forEach(([h,u])=>{h in a&&a[h](u)})})}updateProgressStatus(s){s===!0?this.progressService.withProgress({location:l.VIEW_CONTAINERS.QUICKPICK_PROGRESS},()=>new Promise(g=>this.progressResolve=g)):this.progressResolve&&(this.progressResolve(),this.progressResolve=void 0)}registerKeyModsListeners(){const s=g=>{const a={ctrlCmd:g.ctrlKey||g.metaKey,alt:g.altKey};this.callbacks.onKeyMods(a)};this.modifierListeners.push((0,o.addDisposableListener)(window,o.EventType.KEY_DOWN,s,!0)),this.modifierListeners.push((0,o.addDisposableListener)(window,o.EventType.KEY_UP,s,!0)),this.modifierListeners.push((0,o.addDisposableListener)(window,o.EventType.MOUSE_DOWN,s,!0))}};t.QuickOpenWidget=m,n.__decorate([(0,r.Autowired)(p.IProgressService),n.__metadata("design:type",Object)],m.prototype,"progressService",void 0),t.QuickOpenWidget=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],m)},13978:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickPickServiceImpl=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),p=e(43718),v=e(50426);let m=class{constructor(){this.isAlwaysOpen=!1,this.onDidAcceptEmitter=new p.Emitter,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActiveItemsEmitter=new p.Emitter,this.onDidChangeActiveItems=this.onDidChangeActiveItemsEmitter.event}async show(s,g){return this.isAlwaysOpen=!!g?.alwaysOpen,new Promise(a=>{const h=this.toItems(s,a);g&&this.quickTitleBar.shouldShowTitleBar(g.title,g.step,g.buttons)&&this.quickTitleBar.attachTitleBar(g.title,g.step,g.totalSteps,g.buttons);const u=g&&g.value?g.value:"";this.quickOpenService.open({onType:(d,E)=>{E(h),this.onDidChangeActiveItemsEmitter.fire(h)}},Object.assign({onClose:()=>{this.quickTitleBar.hide(),a(void 0)},onConfirm:d=>{this.quickTitleBar.hide(),a(d.map(E=>E.getValue()))},fuzzyMatchLabel:!0,fuzzyMatchDescription:!0,prefix:u},g))})}updateOptions(s){this.quickOpenService.updateOptions(s)}hide(s){this.quickOpenService.hide(s)}toItems(s,g){const a=[];for(const h of s){const u=this.toItemOptions(h,g);a.push(new l.QuickOpenItem(u))}return a}toItemOptions(s,g){let a=typeof s=="string"?s:s.label,h=typeof s=="string"?void 0:s.iconClass;const u=typeof s=="string"?s:s.value,d=typeof s=="string"?void 0:s.description,E=typeof s=="string"?void 0:s.detail,f=typeof s=="string"?void 0:s.groupLabel,c=typeof s=="string"?void 0:s.showBorder,y=typeof s=="string"?void 0:s.buttons,b=typeof s=="string"?void 0:s.iconPath,[A,S]=(0,o.getIconClass)(a);return A&&(h=(0,o.getIcon)(A)||(0,o.getExternalIcon)(A),a=` ${S}`),{label:a,description:d,detail:E,iconClass:h,groupLabel:f,showBorder:c,buttons:y,iconPath:b,run:w=>w!==l.Mode.OPEN?!1:(g(u),this.fireOnDidAccept(),!this.isAlwaysOpen),value:u}}fireOnDidAccept(){this.onDidAcceptEmitter.fire(void 0)}};t.QuickPickServiceImpl=m,n.__decorate([(0,r.Autowired)(v.QuickTitleBar),n.__metadata("design:type",v.QuickTitleBar)],m.prototype,"quickTitleBar",void 0),n.__decorate([(0,r.Autowired)(l.QuickOpenService),n.__metadata("design:type",Object)],m.prototype,"quickOpenService",void 0),t.QuickPickServiceImpl=m=n.__decorate([(0,r.Injectable)()],m)},50426:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QuickTitleBar=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(74404),p=e(40827),v=e(43718),m=e(28423),_=e(52416);e(50279);const s=e(89802);let g=class{constructor(){this.onDidTriggerButtonEmitter=new v.Emitter,this.isAttached=(0,m.observableValue)(this,!1),this.title=(0,m.observableValue)(this,void 0),this.step=(0,m.observableValue)(this,void 0),this.totalSteps=(0,m.observableValue)(this,void 0),this.buttons=(0,m.observableValue)(this,[]),this.leftButtons=(0,m.derived)(this,h=>this.buttons.read(h).filter(u=>u.side===l.QuickTitleButtonSide.LEFT)),this.rightButtons=(0,m.derived)(this,h=>this.buttons.read(h).filter(u=>u.side===l.QuickTitleButtonSide.RIGHT||typeof u.side>"u"))}get onDidTriggerButton(){return this.onDidTriggerButtonEmitter.event}fireDidTriggerButton(h){this.onDidTriggerButtonEmitter.fire(h)}attachTitleBar(h,u,d,E){(0,m.transaction)(f=>{this.title.set(h,f),this.step.set(u,f),this.totalSteps.set(d,f),E&&this.buttons.set(E.map((c,y)=>{if(v.ThemeIcon.isThemeIcon(c.iconPath))return{...c,iconClass:(0,o.getExternalIcon)(c.iconPath.id),handle:y};const b=(0,s.iconPath2URI)(c.iconPath,this.themeService.getCurrentThemeSync().type),A=b&&this.staticResourceService.resolveStaticResource(b).toString(),S=A&&this.iconService.fromIcon("",A,_.IconType.Background);return{...c,iconClass:S,handler:y}}),f),this.isAttached.set(!0,f)})}hide(){(0,m.transaction)(h=>{this.title.set(void 0,h),this.buttons.set([],h),this.step.set(void 0,h),this.totalSteps.set(void 0,h),this.isAttached.set(!1,h)})}shouldShowTitleBar(h,u,d){return!(0,v.isUndefined)(h)||!(0,v.isUndefined)(u)||!(0,v.isUndefined)(d)&&!!d.length}};t.QuickTitleBar=g,n.__decorate([(0,r.Autowired)(_.IThemeService),n.__metadata("design:type",Object)],g.prototype,"themeService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",p.StaticResourceService)],g.prototype,"staticResourceService",void 0),n.__decorate([(0,r.Autowired)(_.IIconService),n.__metadata("design:type",Object)],g.prototype,"iconService",void 0),t.QuickTitleBar=g=n.__decorate([(0,r.Injectable)()],g)},44854:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InputBoxImpl=void 0;const n=e(85608),r=e(76003),o=e(81878),l=e(74404),p=e(43718),v=e(50426);let m=class{constructor(s){this._options=s,this.onDidAcceptEmitter=new p.Emitter,this.onDidChangeValueEmitter=new p.Emitter,this.onDidTriggerButtonEmitter=new p.Emitter,this.onDidHideEmitter=new p.Emitter}shouldUpdate(s,g){return g.value!==s.value||g.prompt!==s.prompt||g.placeHolder!==s.placeHolder||g.password!==s.password||g.ignoreFocusOut!==s.ignoreFocusOut||g.enabled!==s.enabled||g.valueSelection!==s.valueSelection||g.title!==s.title||g.step!==s.step||g.totalSteps!==s.totalSteps||g.buttons!==s.buttons||g.validationMessage!==s.validationMessage||g.validationType!==s.validationType||g.busy!==s.busy}updateOptions(s,g=!1){if(!s)return;const a=Object.assign({},this._options);this._options={...this._options,...s},!g&&this.shouldUpdate(s,a)&&(this.quickOpenService.updateOptions(s),this.refresh())}refresh(){this.quickOpenService.refresh()}get options(){return this._options}set options(s){this._options=s}open(){let s="",g=!1;this.quickTitleBar.onDidTriggerButton(a=>{this.onDidTriggerButtonEmitter.fire(a.handler)}),this.quickOpenService.open({onType:async(a,h)=>{var u;if(s!==a){if(s=a,this.getDerivedOptionsFromValue){const y=await this.getDerivedOptionsFromValue(a);this.updateOptions(y,!0)}this.onDidChangeValueEmitter.fire(a),g=!0}let d=this.options.prompt;const E=(0,p.localize)("quickopen.quickinput.prompt");this.options&&this.quickTitleBar.shouldShowTitleBar(this.options.title,this.options.step,this.options.buttons)&&this.quickTitleBar.attachTitleBar(this.options.title,this.options.step,this.options.totalSteps,this.options.buttons);const f=this.options.validationMessage;f?this.quickOpenService.showDecoration((u=this.options.validationType)!==null&&u!==void 0?u:o.VALIDATE_TYPE.ERROR):this.quickOpenService.hideDecoration(),d=f||d;const c={run:y=>g&&!f&&y===l.Mode.OPEN&&(this.onDidAcceptEmitter.fire(a),this.options.hideOnDidAccept)?(this.quickTitleBar.hide(),!0):!1};d?(c.label=d,c.detail=E):c.label=E,h([new l.QuickOpenItem(c)])}},{prefix:this.options.value,placeholder:this.options.placeHolder,password:this.options.password,ignoreFocusOut:this.options.ignoreFocusOut,enabled:this.options.enabled,valueSelection:this.options.valueSelection,busy:this.options.busy,onClose:a=>{a&&this.onDidHideEmitter.fire(),this.quickTitleBar.hide()}})}dispose(){this.onDidAcceptEmitter.dispose(),this.onDidChangeValueEmitter.dispose(),this.onDidHideEmitter.dispose(),this.onDidTriggerButtonEmitter.dispose()}hide(){this.quickOpenService.hideDecoration(),this.quickOpenService.hide()}get onDidAccept(){return this.onDidAcceptEmitter.event}get onDidChangeValue(){return this.onDidChangeValueEmitter.event}get onDidTriggerButton(){return this.onDidTriggerButtonEmitter.event}get onDidHide(){return this.onDidHideEmitter.event}};t.InputBoxImpl=m,n.__decorate([(0,r.Autowired)(l.QuickOpenService),n.__metadata("design:type",Object)],m.prototype,"quickOpenService",void 0),n.__decorate([(0,r.Autowired)(v.QuickTitleBar),n.__metadata("design:type",v.QuickTitleBar)],m.prototype,"quickTitleBar",void 0),t.InputBoxImpl=m=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],m)},89802:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.iconPath2URI=r;const n=e(43718);function r(o,l){if(n.URI.isUri(o))return"codeUri"in o?o:new n.URI(o.toString());if((o?.dark||o?.light)&&l)return l==="dark"?new n.URI(o.dark.toString()):new n.URI(o.light.toString())}},74435:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(74404),t),n.__exportStar(e(11143),t)},97821:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(74435),t)},57492:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMProviderList=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),p=e(41869),v=e(93899),m=e(40293),_=e(92237),s=e(36367),g=n.__importDefault(e(38201)),a=({repository:u,selected:d,...E})=>{const{provider:f}=u,{title:c,type:y}=(0,s.getSCMRepositoryDesc)(u),b=(0,p.useInjectable)(m.IStatusBarService),A=(f.statusBarCommands||[]).map((S,w)=>b.getElementConfig(`scm.repo.${w}`,{text:S.title,command:S.id,arguments:S.arguments,tooltip:S.tooltip,iconset:"octicon"}));return o.default.createElement("div",{className:(0,r.default)(g.default.provider,{[g.default.selected]:d}),...E},o.default.createElement("div",{className:g.default.info},o.default.createElement("div",{className:g.default.title},c,"\xA0"),o.default.createElement("div",{className:g.default.type},y,"\xA0"),f.count&&f.count>0?o.default.createElement(l.Badge,null,f.count):null),o.default.createElement("div",{className:g.default.toolbar},A.map(S=>o.default.createElement(_.StatusBarItem,{key:S.id,entryId:S.id,className:g.default.status,...S}))))},h=({repositoryList:u,selectedRepository:d})=>{if(!d)return null;const E=(0,p.useInjectable)(v.ICtxMenuRenderer),f=(0,p.useInjectable)(v.AbstractContextMenuService),c=(0,o.useCallback)(b=>{b.setSelected(!0),b.focus()},[]),y=(0,o.useCallback)((b,A)=>{A.preventDefault(),A.stopPropagation();const{x:S,y:w}=A.nativeEvent,T=f.createMenu({id:v.MenuId.SCMSourceControl}),D=T.getMergedMenuNodes();T.dispose(),E.show({anchor:{x:S,y:w},menuNodes:D,args:[b.provider.toJSON()]})},[]);return o.default.createElement("div",{className:g.default.scmSelect},u.map(b=>o.default.createElement(a,{key:b.provider.id,selected:b.provider.id===d.provider.id,onClick:c.bind(null,b),onContextMenu:y.bind(null,b),repository:b})))};t.SCMProviderList=h,t.SCMProviderList.displayName="SCMProviderList"},37751:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMResourceInput=void 0,t.convertValidationType=a;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(25918),p=e(40525),v=e(43718),m=e(5567),_=e(52416),s=e(64964),g=n.__importDefault(e(87906));function a(d){return["info","warning","error"][d]}function h(d){return o.strings.format(d.input.placeholder,o.isMacintosh?"\u2318Enter":"Ctrl+Enter")}const u=({repository:d,menus:E})=>{const f=(0,o.useInjectable)(v.CommandService),c=(0,o.useInjectable)(_.IIconService),y=(0,o.useDesignStyles)(g.default.scmMenu,"scmMenu"),[b,A]=(0,r.useState)(""),[S,w]=(0,r.useState)(""),[T,D]=(0,r.useState)(!0),[I,R]=(0,r.useState)({}),P=(0,r.useCallback)(B=>{d.input.value=B},[d]),O=(0,r.useCallback)(B=>{const{addonAfter:U,addonBefore:W}=B,j=U,G=W;R({...B,...U?{addonAfter:(0,v.isFunction)(j)?r.default.createElement(j,null):U}:{},...W?{addonBefore:(0,v.isFunction)(G)?r.default.createElement(G,null):W}:{}})},[d.input.props]);(0,r.useEffect)(()=>{d.input.props&&O(d.input.props)},[d.input.props]),(0,r.useEffect)(()=>{const B=new o.DisposableStore;return B.add(d.input.onDidChangeProps(U=>{O(U)})),B.add(d.input.onDidChange(U=>{A(U)})),B.add(d.input.onDidChangePlaceholder(()=>{w(h(d))})),B.add(d.input.onDidChangeEnablement(U=>{D(U)})),w(h(d)),()=>{B.dispose()}},[d]);const M=(0,r.useCallback)(()=>{if(!d||!d.provider.acceptInputCommand)return;const{id:B,arguments:U=[]}=d.provider.acceptInputCommand;B&&f.executeCommand(B,...U)},[d]),{onKeyDown:k,onKeyUp:F}=(0,p.useHotKey)([o.isMacintosh?"command":"ctrl","enter"],M),L=d&&d.provider&&E;return r.default.createElement(r.default.Fragment,null,r.default.createElement("div",{className:g.default.scmHeader},r.default.createElement(m.AutoFocusedInput,{containerId:s.scmContainerId,className:g.default.scmInput,placeholder:S,value:b,disabled:!T,onKeyDown:B=>k(B.keyCode),onKeyUp:F,onValueChange:P,...I})),L&&r.default.createElement(l.InlineMenuBar,{className:y,context:[d.provider,b],type:"button",moreIcon:"down",iconService:c,regroup:(B,U)=>[[B[0]].filter(Boolean),[...B.slice(1),...U]],menus:E}))};t.SCMResourceInput=u,t.SCMResourceInput.displayName="SCMResourceInput"},24748:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMResourceTree=t.TREE_FIELD_NAME=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),p=e(41869),v=e(48560),m=e(49914),_=n.__importDefault(e(91873)),s=e(11579),g=e(74568),a=e(63451);t.TREE_FIELD_NAME="SCM_TREE_TREE_FIELD",t.SCMResourceTree=(0,o.memo)(({height:d})=>{const[E,f]=(0,o.useState)(!1),[c,y]=(0,o.useState)(),b=(0,o.useRef)(!1),A=(0,o.useRef)(null),S=(0,v.useInjectable)(s.SCMTreeModelService),w=(0,v.useInjectable)(m.ViewModelContext),[T,D]=(0,o.useState)(w.alwaysShowActions),I=(0,o.useCallback)(async()=>{S.init(),await S.whenReady,S.treeModel&&await S.treeModel.ensureReady,!b.current&&f(!0)},[E,S]);(0,o.useEffect)(()=>{const B=w.onAlwaysShowActionsChange(U=>{D(U)});return I(),()=>{b.current=!0,B.dispose()}},[]),(0,o.useEffect)(()=>{let B;return E&&(y(S.treeModel),B=S.onDidTreeModelChange(async U=>{U&&await U.ensureReady,y(U)})),()=>{B?.dispose()}},[E]),(0,o.useEffect)(()=>{var B;const U=()=>{S.handleTreeBlur()};return(B=A.current)===null||B===void 0||B.addEventListener("blur",U,!0),()=>{var W;(W=A.current)===null||W===void 0||W.removeEventListener("blur",U,!0),S.handleTreeBlur()}},[A.current]);const R=(0,o.useCallback)(B=>{S.handleTreeHandler({...B,getModel:()=>S.treeModel,hasDirectFocus:()=>A.current===document.activeElement})},[]),P=(0,o.useCallback)(B=>O(B)?!1:B.shiftKey,[]),O=(0,o.useCallback)(B=>{const{metaKey:U,ctrlKey:W}=B;return p.isOSX&&U||W},[]),M=(0,o.useCallback)((B,U,W)=>{if(B.stopPropagation(),!U)return;const j=P(B),G=O(B);j?S.handleItemRangeClick(U,W):G?S.handleItemToggleClick(U,W):S.handleItemClick(U,W)},[]),k=(0,o.useCallback)((B,U)=>{B.stopPropagation(),S.toggleDirectory(U)},[]),F=(0,o.useCallback)((B,U,W)=>{B.stopPropagation(),U&&S.handleItemDoubleClick(U,W)},[]),L=(0,o.useCallback)((B,U,W)=>{B.preventDefault(),S.handleContextMenu(B,U,W)},[]);return o.default.createElement("div",{className:(0,r.default)(_.default.scm_tree_container,{"scm-show-actions":T}),tabIndex:-1,ref:A,"data-name":t.TREE_FIELD_NAME},o.default.createElement(u,{isReady:E,model:c,height:d,onTreeReady:R,onItemClick:M,onItemDoubleClick:F,onTwistierClick:k,onContextMenu:L}))}),t.SCMResourceTree.displayName="SCMResourceTree";function h(d,E){return d.isReady===E.isReady&&d.model===E.model&&d.height===E.height}const u=(0,o.memo)(({isReady:d,model:E,height:f,onTreeReady:c,onItemClick:y,onItemDoubleClick:b,onTwistierClick:A,onContextMenu:S})=>{const w=(0,v.useInjectable)(s.SCMTreeModelService),T=(0,p.useAutorun)(w.iconThemeDesc),D=(0,v.useInjectable)(a.SCMTreeService),I=(0,o.useCallback)(R=>o.default.createElement(g.SCMTreeNode,{item:R.item,itemType:R.itemType,decorationService:w.decorationService,labelService:w.labelService,commandService:w.commandService,decorations:w.decorations.getDecorations(R.item),onClick:y,onDoubleClick:b,onTwistierClick:A,onContextMenu:S,defaultLeftPadding:D.isTreeMode?-4:4,leftPadding:D.isTreeMode?8:0,iconTheme:T}),[E,D,w,T]);return d&&E?o.default.createElement(l.RecycleTree,{height:f,itemHeight:g.SCM_TREE_NODE_HEIGHT,onReady:c,model:E,overScanCount:100},I):o.default.createElement("span",{className:_.default.scm_tree_empty_text})},h);u.displayName="SCMResourceTreeView"},38563:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeAPI=void 0,t.collectSCMResourceDesc=s;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),p=e(64964),v=e(49914),m=e(36367),{Path:_}=l.path;function s(a,h){a.type==="file"&&h.push(a.resource);for(const u of a.children)s(u,h);return h}let g=class extends l.Disposable{constructor(){super(),this.shouldCompactFolders=!1,this.shouldCompactFolders=this.preferenceService.get("scm.listView.compactFolders",!1),this.addDispose(this.preferenceService.onSpecificPreferenceChange("scm.listView.compactFolders",h=>{this.shouldCompactFolders=h.newValue}))}getSCMResource(h){const u=this.getSCMResourceGroups(),d=h.toString();for(const E of u)for(const f of E.elements)if(f.sourceUri.toString()===d)return f}getSCMResourceGroups(){return this.viewModel.scmList.filter(m.isSCMResourceGroup)}get providerId(){var h;return(h=this.viewModel.selectedRepo)===null||h===void 0?void 0:h.provider.id}init(h=p.SCMViewModelMode.Tree){return this.getSCMResourceGroups().map(d=>({id:this.providerId+"_"+d.id,name:d.id,children:h===p.SCMViewModelMode.Tree?this.pathToTree(d.elements):this.pathToList(d.elements),resource:d,type:"group"}))}pathToList(h){return h.map(u=>{const d=this._getPathDesc(u);return{id:`${this.providerId}_${u.resourceGroup.id}_${d}`,name:d,pathname:d,children:[],resource:u,type:"file"}})}pathToTree(h){const u=[],d=Symbol("result"),E=this._initPlainCounterObject(d,u);return h.forEach(f=>{this._getPathDesc(f).split(_.separator).filter(Boolean).reduce((y,b,A,S)=>{if(!y[b]){y[b]=this._initPlainCounterObject(d,[]);const w=S.slice(0,A+1).join(_.separator),T=A===S.length-1?"file":"folder",D={id:`${this.providerId}_${f.resourceGroup.id}_${w}`,name:b,pathname:w,children:y[b][d],resource:T==="file"?f:{...f,sourceUri:o.URI.from(f.sourceUri).parent.codeUri},type:T};y[d].push(D)}return y[b]},E)}),this.shouldCompactFolders&&this.walkTreeToFold(u),u}_initPlainCounterObject(h,u){const d=Object.create(null);return d[h]=u,d}walkTreeToFold(h){const u=[...h];for(;u.length;){const d=u.pop();d&&(this.foldOnlyChild(d),u.push(...d.children))}}foldOnlyChild(h){for(;h.children.length===1&&h.children[0].children.length;){const u=h.children[0];h.name=`${h.name}${_.separator}${u.name}`,h.pathname=u.pathname,h.children=u.children,h.id=u.id,h.isCompact=!0}}_getPathDesc(h){return l.path.relative(h.resourceGroup.provider.rootUri.path,h.sourceUri.path)}};t.SCMTreeAPI=g,n.__decorate([(0,r.Autowired)(v.ViewModelContext),n.__metadata("design:type",v.ViewModelContext)],g.prototype,"viewModel",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],g.prototype,"preferenceService",void 0),t.SCMTreeAPI=g=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],g)},36556:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeDecorationService=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(41893),p=e(52416);let v=class{constructor(){this.disposeCollection=new o.DisposableStore,this.onDidChangeEmitter=this.disposeCollection.add(new o.Emitter),this.disposeCollection.addAll([this.decorationsService.onDidChangeDecorations(()=>{this.onDidChangeEmitter.fire()}),this.themeService.onThemeChange(()=>{this.onDidChangeEmitter.fire()})])}get onDidChange(){return this.onDidChangeEmitter.event}getDecoration(_,s=!1){_ instanceof o.URI&&(_=o.Uri.parse(_.toString()));const g=this.decorationsService.getDecoration(_,s);return g?{...g,color:this.themeService.getColor({id:g.color})}:{color:"",tooltip:"",badge:""}}dispose(){this.disposeCollection.dispose()}};t.SCMTreeDecorationService=v,n.__decorate([(0,r.Autowired)(l.IDecorationsService),n.__metadata("design:type",l.IDecorationsService)],v.prototype,"decorationsService",void 0),n.__decorate([(0,r.Autowired)(p.IThemeService),n.__metadata("design:type",Object)],v.prototype,"themeService",void 0),t.SCMTreeDecorationService=v=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],v)},12466:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeModel=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(36556);let p=class extends o.TreeModel{constructor(m){super(),this.init(m)}init(m){this.root=m,this.root.watcher.on(o.TreeNodeEvent.BranchDidUpdate,()=>{this.dispatchChange()}),this.decorationService.onDidChange(this.dispatchChange)}};t.SCMTreeModel=p,n.__decorate([(0,r.Autowired)(l.SCMTreeDecorationService),n.__metadata("design:type",l.SCMTreeDecorationService)],p.prototype,"decorationService",void 0),t.SCMTreeModel=p=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],p)},11579:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeModelService=t.SCMTreeTypes=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),p=e(77661),v=e(68969),m=e(26542),_=e(54414),s=e(28423),g=e(52416),a=e(51500),h=e(64964),u=e(49914),d=e(36556),E=e(12466),f=e(28087),c=n.__importDefault(e(87440)),y=e(63451);var b;(function(w){w[w.List=1]="List",w[w.Tree=2]="Tree"})(b||(t.SCMTreeTypes=b={}));const A={hasFolderIcons:!0,hasFileIcons:!0,hidesExplorerArrows:!0};let S=class{constructor(){this._selectedFiles=[],this.disposableCollection=new l.DisposableStore,this.onDidRefreshedEmitter=this.disposableCollection.add(new l.Emitter),this.onDidTreeModelChangeEmitter=this.disposableCollection.add(new l.Emitter),this.treeModelCache=new Map,this.iconThemeDesc=(0,s.observableValue)(this,A),this.clearFileSelectedDecoration=()=>{this._selectedFiles.forEach(T=>{this.selectedDecoration.removeTarget(T)}),this._selectedFiles=[]},this.activeFileDecoration=T=>{if(this.contextMenuFile&&(this.contextMenuDecoration.removeTarget(this.contextMenuFile),this._contextMenuFile=void 0),T){if(this.selectedFiles.length>0)for(const D of this.selectedFiles)this.selectedDecoration.removeTarget(D);this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.selectedDecoration.addTarget(T),this.focusedDecoration.addTarget(T),this._focusedFile=T,this._selectedFiles=[T],this.treeModel.dispatchChange()}},this.selectFileDecoration=T=>{this.contextMenuFile&&(this.contextMenuDecoration.removeTarget(this.contextMenuFile),this._contextMenuFile=void 0),T&&(this.selectedFiles.length>0&&this.selectedFiles.forEach(D=>{this.selectedDecoration.removeTarget(D)}),this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this.selectedDecoration.addTarget(T),this._selectedFiles=[T],this.treeModel.dispatchChange())},this.activeFileFocusedDecoration=(T,D=!1)=>{T!==this.treeModel.root&&(this.focusedFile!==T&&(D?(this.focusedFile&&this.focusedDecoration.removeTarget(this.focusedFile),this._contextMenuFile=T):this.focusedFile&&(this._contextMenuFile=void 0,this.focusedDecoration.removeTarget(this.focusedFile)),T&&(this._selectedFiles.indexOf(T)<0&&(this.selectedDecoration.addTarget(T),this._selectedFiles.push(T)),this.focusedDecoration.addTarget(T),this._focusedFile=T)),this.treeModel.dispatchChange())},this.activeFileSelectedDecoration=T=>{this._selectedFiles.indexOf(T)>-1||(this._selectedFiles.push(T),this.selectedDecoration.addTarget(T),this.treeModel.dispatchChange())},this.toggleFileSelectedDecoration=T=>{const D=this._selectedFiles.indexOf(T);D>-1?(this.focusedFile===T&&(this._focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=void 0),this._selectedFiles.splice(D,1),this.selectedDecoration.removeTarget(T)):(this._selectedFiles.push(T),this.selectedDecoration.addTarget(T),this.focusedFile&&this._focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=T,this.focusedDecoration.addTarget(T)),this.treeModel.dispatchChange()},this.enactiveFileDecoration=()=>{var T;this.focusedFile&&(this.focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=void 0),this.contextMenuFile&&this.contextMenuDecoration.removeTarget(this.contextMenuFile),(T=this.treeModel)===null||T===void 0||T.dispatchChange()},this.activeFileActivedDecoration=T=>{this.contextMenuFile&&this.contextMenuDecoration.removeTarget(this.contextMenuFile),this.focusedFile&&(this.focusedDecoration.removeTarget(this.focusedFile),this._focusedFile=void 0),this.contextMenuDecoration.addTarget(T),this._contextMenuFile=T,this.treeModel.dispatchChange()},this.handleTreeBlur=()=>{this.enactiveFileDecoration()},this._isMutiSelected=!1,this.handleItemRangeClick=(T,D)=>{if(!this.focusedFile)this.handleItemClick(T,D);else if(this.focusedFile&&this.focusedFile!==T){this._isMutiSelected=!0;const I=this.treeModel.root.getIndexAtTreeNode(T),R=this.treeModel.root.getIndexAtTreeNode(this.focusedFile);R>I?this.activeFileDecorationByRange(I,R,I):R<I&&this.activeFileDecorationByRange(R,I,I)}},this.handleItemToggleClick=(T,D)=>{this._isMutiSelected=!0,!(D!==o.TreeNodeType.CompositeTreeNode&&D!==o.TreeNodeType.TreeNode)&&this.toggleFileSelectedDecoration(T)},this.handleContextMenu=(T,D,I)=>{const{x:R,y:P}=T.nativeEvent;if(!D)return;const O=f.SCMResourceGroup.is(D)?D.resource:D.resource.resourceGroup,M=this.viewModel.menus.getRepositoryMenus(O.provider);if(!M)return;D?this.activeFileActivedDecoration(D):this.enactiveFileDecoration();let k;if(f.SCMResourceFolder.is(D)?k=D.arguments:k=this._isMutiSelected?this._getSelectedFiles().map(F=>F.resource.toJSON()):[D.resource.toJSON()],I===o.TreeNodeType.TreeNode){const F=D.resource;this.ctxMenuRenderer.show({anchor:{x:R,y:P},menuNodes:M.getResourceMenu(F).getGroupedMenuNodes()[1],args:k})}else f.SCMResourceGroup.is(D)?this.ctxMenuRenderer.show({anchor:{x:R,y:P},menuNodes:M.getResourceGroupMenu(O).getGroupedMenuNodes()[1],args:k}):this.ctxMenuRenderer.show({anchor:{x:R,y:P},menuNodes:M.getResourceFolderMenu(O).getGroupedMenuNodes()[1],args:k})},this.activeFileDecorationByRange=(T,D,I)=>{this.clearFileSelectedDecoration();for(const R of this.focusedDecoration.appliedTargets.keys())this.focusedDecoration.removeTarget(R);for(;T<=D;T++){const R=this.treeModel.root.getTreeNodeAtIndex(T);R&&(T===I?this.focusedDecoration.addTarget(R):this.focusedDecoration.hasTarget(R)&&this.focusedDecoration.removeTarget(R),this._selectedFiles.push(R),this.selectedDecoration.addTarget(R))}this.treeModel.dispatchChange()},this.handleItemDoubleClick=(T,D)=>{if(this.listOpenMode==="doubleClick"&&(D===o.TreeNodeType.TreeNode?this.openFile(T):this.toggleDirectory(T)),D===o.TreeNodeType.TreeNode){const{currentEditorGroup:I,currentEditor:R}=this.workbenchEditorService;I&&R&&R.currentUri&&l.URI.from(T.resource.sourceUri).isEqual(R.currentUri)&&I.pin(R.currentUri)}},this.handleItemClick=(T,D)=>{this._isMutiSelected=!1,this.activeFileDecoration(T),this.listOpenMode==="singleClick"&&(D===o.TreeNodeType.TreeNode?this.openFile(T):this.toggleDirectory(T))},this.openFile=T=>{var D,I;const R=T,P=(D=R.resource.command)===null||D===void 0?void 0:D.id;P===l.EDITOR_COMMANDS.API_OPEN_EDITOR_COMMAND_ID||P===l.EDITOR_COMMANDS.API_OPEN_DIFF_EDITOR_COMMAND_ID?this.commandService.executeCommand(P,...((I=R.resource.command)===null||I===void 0?void 0:I.arguments)||[]).catch(O=>this.logger.error("Failed to execute command:",O,P)):T.resource.open(!0)},this.toggleDirectory=T=>{T.expanded?this.scmTreeHandle.collapseNode(T):this.scmTreeHandle.expandNode(T)}}init(){this.showProgress(this._whenReady=this.initTreeModel(this.scmTreeService.isTreeMode)),this._whenReady.then(()=>{this.disposableCollection.add(this.scmTreeService.onDidTreeModeChange(D=>{this.showProgress(this._whenReady=this.initTreeModel(D))}))}),this.disposableCollection.add(this.viewModel.onDidSelectedRepoChange(D=>{var I;this._whenReady=this.initTreeModel(this.scmTreeService.isTreeMode,(I=D.provider.rootUri)===null||I===void 0?void 0:I.toString())}));const T=l.Event.any(l.Event.map(this.labelService.onDidChange,()=>{}),this.viewModel.onDidSCMListChange,l.Event.map(l.Event.filter(this.preferenceService.onPreferenceChanged,D=>D.preferenceName==="scm.listView.compactFolders"&&this.scmTreeService.isTreeMode),()=>{}));this.disposableCollection.add(T(()=>{this.refresh()})),this.setIconThemeDesc(this.iconService.currentTheme||A),this.disposableCollection.add(this.iconService.onThemeChange(D=>{this.setIconThemeDesc(D)}))}setIconThemeDesc(T){(0,s.transaction)(D=>{this.iconThemeDesc.set({hasFolderIcons:!!T.hasFolderIcons,hasFileIcons:!!T.hasFileIcons,hidesExplorerArrows:!!T.hidesExplorerArrows},D)})}showProgress(T){this.progressService.withProgress({location:h.scmResourceViewId},()=>T)}get scmTreeHandle(){return this._scmTreeHandle}get contextMenuFile(){return this._contextMenuFile}get selectedDecoration(){return this._selectedDecoration}get focusedDecoration(){return this._focusedDecoration}get contextMenuDecoration(){return this._contextMenuDecoration}get decorations(){return this._activeDecorations}get treeModel(){return this._activeTreeModel}get whenReady(){return this._whenReady}get focusedFile(){return this._focusedFile}get selectedFiles(){return this._selectedFiles}get onDidRefreshed(){return this.onDidRefreshedEmitter.event}get onDidTreeModelChange(){return this.onDidTreeModelChangeEmitter.event}async collapseAll(){await this.treeModel.root.collapsedAll()}async getCacheKey(T=b.List,D){var I;return D||(D=(I=(await this.workspaceService.roots)[0])===null||I===void 0?void 0:I.uri),`${D}_git_${T===b.List?"list":"tree"}`}async initTreeModel(T,D){this.treeModelDisposableCollection&&this.treeModelDisposableCollection.dispose();const I=T?b.Tree:b.List,R=await this.getCacheKey(I,D);if(this.treeModelCache.has(R)){const{treeModel:P,decorations:O,selectedDecoration:M,focusedDecoration:k,contextMenuDecoration:F}=this.treeModelCache.get(R);this._activeTreeModel=P,this._activeDecorations=O,this._selectedDecoration=M,this._focusedDecoration=k,this._contextMenuDecoration=F,await this.refresh()}else{const P=(await this.scmTreeService.resolveChildren())[0];if(!P)return;this._activeTreeModel=this.injector.get(E.SCMTreeModel,[P]),this._activeDecorations=this.initDecorations(P),this.disposableCollection.add(this._activeDecorations),this.treeModelCache.set(R,{treeModel:this._activeTreeModel,decorations:this._activeDecorations,selectedDecoration:this._selectedDecoration,focusedDecoration:this._focusedDecoration,contextMenuDecoration:this._contextMenuDecoration})}this.treeModelDisposableCollection=new l.DisposableCollection,this.onDidTreeModelChangeEmitter.fire(this._activeTreeModel)}dispose(){this.disposableCollection.dispose()}initDecorations(T){return this._activeDecorations=new o.DecorationsManager(T),this._selectedDecoration=new o.Decoration(c.default.mod_selected),this._focusedDecoration=new o.Decoration(c.default.mod_focused),this._contextMenuDecoration=new o.Decoration(c.default.mod_actived),this._activeDecorations.addDecoration(this.selectedDecoration),this._activeDecorations.addDecoration(this.focusedDecoration),this._activeDecorations.addDecoration(this.contextMenuDecoration),this._activeDecorations}handleTreeHandler(T){this._scmTreeHandle=T}_getSelectedFiles(){return this._selectedFiles.filter(T=>!!T&&!f.SCMResourceGroup.is(T))}get listOpenMode(){return this.corePreferences["workbench.list.openMode"]}async refresh(T){var D;T===void 0&&(T=(D=this.treeModel)===null||D===void 0?void 0:D.root),T&&(this.refreshCancelToken&&!this.refreshCancelToken.token.isCancellationRequested&&this.refreshCancelToken.cancel(),this.refreshCancelToken=new l.CancellationTokenSource,await T.refresh(this.refreshCancelToken),this.refreshCancelToken=null)}};t.SCMTreeModelService=S,n.__decorate([(0,r.Autowired)(m.LabelService),n.__metadata("design:type",m.LabelService)],S.prototype,"labelService",void 0),n.__decorate([(0,r.Autowired)(d.SCMTreeDecorationService),n.__metadata("design:type",d.SCMTreeDecorationService)],S.prototype,"decorationService",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],S.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(v.IProgressService),n.__metadata("design:type",Object)],S.prototype,"progressService",void 0),n.__decorate([(0,r.Autowired)(g.IIconService),n.__metadata("design:type",Object)],S.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],S.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(y.SCMTreeService),n.__metadata("design:type",y.SCMTreeService)],S.prototype,"scmTreeService",void 0),n.__decorate([(0,r.Autowired)(u.ViewModelContext),n.__metadata("design:type",u.ViewModelContext)],S.prototype,"viewModel",void 0),n.__decorate([(0,r.Autowired)(p.ICtxMenuRenderer),n.__metadata("design:type",p.ICtxMenuRenderer)],S.prototype,"ctxMenuRenderer",void 0),n.__decorate([(0,r.Autowired)(l.CorePreferences),n.__metadata("design:type",Object)],S.prototype,"corePreferences",void 0),n.__decorate([(0,r.Autowired)(_.WorkbenchEditorService),n.__metadata("design:type",_.WorkbenchEditorService)],S.prototype,"workbenchEditorService",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],S.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(a.IWorkspaceService),n.__metadata("design:type",Object)],S.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],S.prototype,"logger",void 0),t.SCMTreeModelService=S=n.__decorate([(0,r.Injectable)()],S)},28087:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMResourceFile=t.SCMResourceFolder=t.SCMResourceGroup=t.SCMResourceRoot=void 0;const n=e(85608),r=e(97267),o=e(41869),l=e(36367),p=e(38563);class v extends r.CompositeTreeNode{static is(a){return!!a&&!a.parent}constructor(a,h){super(a,void 0),this.isTree=h}get name(){return`SCMTree_${this.isTree?"Tree":"List"}_${this.id}`}get expanded(){return!0}dispose(){super.dispose()}}t.SCMResourceRoot=v;class m extends r.CompositeTreeNode{static is(a){return r.CompositeTreeNode.is(a)&&!!a.resource&&(0,l.isSCMResourceGroup)(a.resource)}constructor(a,h,u,d){super(a,h),this.raw=u,this.resource=d,this.isExpanded=!0}get displayName(){return this.resource.label}get uri(){return new o.URI(`scm-group://${this.resource.id}`)}}t.SCMResourceGroup=m,n.__decorate([o.memoize,n.__metadata("design:type",Object),n.__metadata("design:paramtypes",[])],m.prototype,"displayName",null),n.__decorate([o.memoize,n.__metadata("design:type",o.URI),n.__metadata("design:paramtypes",[])],m.prototype,"uri",null);class _ extends r.CompositeTreeNode{constructor(a,h,u,d,E){super(a,h,void 0,{name:E?u.name:u.pathname}),this.raw=u,this.resource=d,this.description="",this.isExpanded=!0}get displayName(){return this.raw.name}get uri(){return new o.URI(this.raw.resource.sourceUri)}get tooltip(){const a=this.resource;return o.path.join(a.resourceGroup.provider.rootUri.path,this.raw.pathname)}get arguments(){return(0,p.collectSCMResourceDesc)(this.raw,[])}}t.SCMResourceFolder=_,n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],_.prototype,"displayName",null),n.__decorate([o.memoize,n.__metadata("design:type",o.URI),n.__metadata("design:paramtypes",[])],_.prototype,"uri",null),n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],_.prototype,"tooltip",null);class s extends r.TreeNode{constructor(a,h,u,d,E){super(a,h,void 0,{name:E?u.name:u.pathname}),this.raw=u,this.resource=d,this.isTree=E}get displayName(){return this.raw.name}get uri(){return new o.URI(this.raw.resource.sourceUri)}get description(){if(this.isTree)return"";const a=this.resource,h=o.path.parse(a.sourceUri.path);return o.path.relative(a.resourceGroup.provider.rootUri.path,h.dir)}get tooltip(){return this.resource.sourceUri.path}}t.SCMResourceFile=s,n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],s.prototype,"displayName",null),n.__decorate([o.memoize,n.__metadata("design:type",o.URI),n.__metadata("design:paramtypes",[])],s.prototype,"uri",null),n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],s.prototype,"description",null),n.__decorate([o.memoize,n.__metadata("design:type",String),n.__metadata("design:paramtypes",[])],s.prototype,"tooltip",null)},74568:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeNode=t.SCMResourceNode=t.SCMResourceGroupNode=t.SCM_BADGE_LIMIT=t.SCM_TREE_NODE_HEIGHT=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(97267),p=e(41869),v=e(25918),m=e(52416),_=e(49914),s=e(28087),g=n.__importDefault(e(87440));t.SCM_TREE_NODE_HEIGHT=22,t.SCM_BADGE_LIMIT=99;const a=({item:d,defaultLeftPadding:E=8,leftPadding:f=8,onClick:c,onDoubleClick:y,onContextMenu:b,itemType:A,decorations:S,onTwistierClick:w})=>{const T=(0,p.useInjectable)(_.ViewModelContext),D=`${E+(d.depth||0)*(f||0)}px`,I=(0,p.useDesignStyles)(g.default.expansion_toggle,"expansion_toggle"),R=(0,p.useDesignStyles)(g.default.scm_tree_node,"scm_tree_node"),P=d.resource,O=o.default.useCallback(()=>{const W=T.menus.getRepositoryMenus(P.provider).getResourceGroupMenu(P);return o.default.createElement("div",{className:g.default.scm_tree_node_actions},o.default.createElement(v.InlineMenuBar,{context:[P],menus:W,separator:"inline"}))},[P]),M=(0,o.useCallback)(U=>{U.nativeEvent.button===p.MouseEventButton.Right&&b(U,d,A)},[b]),k=(0,o.useCallback)(U=>{c(U,d,A)},[c]),F=(0,o.useCallback)(U=>{y(U,d,A)},[y]),L=(0,o.useCallback)((U,W)=>S&&S?.classlist.indexOf(g.default.mod_loading)>-1?o.default.createElement(l.Loading,null):o.default.createElement("div",{onClick:W,className:(0,r.default)(g.default.scm_tree_node_segment,I,(0,p.getIcon)("arrow-right"),{[`${g.default.mod_collapsed}`]:!U.expanded})}),[S]),B=(0,o.useCallback)(U=>{(A===l.TreeNodeType.TreeNode||A===l.TreeNodeType.CompositeTreeNode)&&(w?w(U,d,A):c(U,d,A))},[w,c]);return o.default.createElement("div",{key:d.id,onClick:k,onDoubleClick:F,onContextMenu:M,className:(0,r.default)(R,S?S.classlist:null),style:{height:t.SCM_TREE_NODE_HEIGHT,lineHeight:`${t.SCM_TREE_NODE_HEIGHT}px`,paddingLeft:D},"data-id":d.id},o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_content)},L(d,B),o.default.createElement("div",{className:g.default.scm_tree_node_overflow_wrap},o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_displayname)},d.displayName)),O(),o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_tail)},o.default.createElement(l.Badge,null,d.resource.elements.length))))};t.SCMResourceGroupNode=a;const h=({item:d,defaultLeftPadding:E=8,leftPadding:f=8,onClick:c,onDoubleClick:y,onTwistierClick:b,onContextMenu:A,itemType:S,decorationService:w,labelService:T,decorations:D,iconTheme:I})=>{const R=(0,p.useInjectable)(_.ViewModelContext),P=s.SCMResourceGroup.is(d)?null:w.getDecoration(d.uri,!1),O=(0,p.useDesignStyles)(g.default.expansion_toggle,"expansion_toggle"),M=(0,p.useDesignStyles)(g.default.scm_tree_node,"scm_tree_node"),k=d.resource,F=(0,o.useCallback)(()=>{const ie=R.menus.getRepositoryMenus(k.resourceGroup.provider);let fe,_e;return S===l.TreeNodeType.TreeNode?(fe=ie.getResourceMenu(k),_e=[k]):(fe=ie.getResourceFolderMenu(k.resourceGroup),_e=d.arguments),o.default.createElement("div",{className:g.default.scm_tree_node_actions},o.default.createElement(v.InlineMenuBar,{menus:fe,context:_e,separator:"inline"}))},[S,k.resourceGroup]),L=(0,o.useCallback)(ie=>{c(ie,d,S)},[c]),B=(0,o.useCallback)(ie=>{y(ie,d,S)},[y]),U=(0,o.useCallback)(ie=>{ie.nativeEvent.button===p.MouseEventButton.Right&&A(ie,d,S)},[A]),W=s.SCMResourceFolder.is(d),{hidesExplorerArrows:j,hasFolderIcons:G}=I,$=`${E+(d.depth||0)*(f||0)+(W?0:G?j?0:20:0)}px`,Z=ie=>{const fe=T.getIcon(ie.uri,{isDirectory:s.SCMResourceFolder.is(ie)});return o.default.createElement("div",{className:(0,r.default)(g.default.file_icon,fe),style:{height:t.SCM_TREE_NODE_HEIGHT,lineHeight:`${t.SCM_TREE_NODE_HEIGHT}px`}})},Y=(0,o.useCallback)(ie=>o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_displayname)},s.SCMResourceFolder.is(ie)?ie.displayName:T.getName(ie.uri)),[T]),V=(0,o.useCallback)(ie=>o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment_grow,g.default.scm_tree_node_description)},ie.description),[]),H=(0,p.useInjectable)(m.IThemeService),K=()=>{if(!P)return null;const ie=P.badge||d.resource.decorations.letter||"",fe=P.color||d.resource.decorations.color,_e=fe&&H.getColor({id:fe});return o.default.createElement("div",{className:g.default.scm_tree_node_status,style:{color:_e}},ie.slice())},Q=(0,o.useCallback)(()=>{let ie=d.tooltip;return P&&P.badge&&(ie+=` \u2022 ${P.tooltip||d.resource.decorations.tooltip||""}`),ie},[d]),X=(0,o.useCallback)(ie=>{(S===l.TreeNodeType.TreeNode||S===l.TreeNodeType.CompositeTreeNode)&&(b?b(ie,d,S):c(ie,d,S))},[b,c]),oe=(0,o.useCallback)((ie,fe)=>s.SCMResourceFolder.is(ie)?D&&D?.classlist.indexOf(g.default.mod_loading)>-1?o.default.createElement(l.Loading,null):o.default.createElement("div",{onClick:fe,className:(0,r.default)(g.default.scm_tree_node_segment,O,(0,p.getIcon)("arrow-right"),{[`${g.default.mod_collapsed}`]:!ie.expanded})}):null,[D]);return o.default.createElement("div",{key:d.id,onClick:L,onDoubleClick:B,onContextMenu:U,title:Q(),className:(0,r.default)(M,D?D.classlist:null),style:{color:P?P.color:"",paddingLeft:$,height:t.SCM_TREE_NODE_HEIGHT,lineHeight:`${t.SCM_TREE_NODE_HEIGHT}px`},"data-id":d.id},o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_content)},oe(d,X),Z(d),o.default.createElement("div",{className:g.default.scm_tree_node_overflow_wrap,style:{textDecoration:P&&P.badge==="D"?"line-through":"none"}},Y(d),V(d)),F(),o.default.createElement("div",{className:(0,r.default)(g.default.scm_tree_node_segment,g.default.scm_tree_node_tail)},K())))};t.SCMResourceNode=h;const u=d=>{const{item:E,...f}=d;return s.SCMResourceGroup.is(E)?o.default.createElement(t.SCMResourceGroupNode,{item:E,...f}):o.default.createElement(t.SCMResourceNode,{...d,item:E})};t.SCMTreeNode=u},63451:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMTreeService=void 0;const n=e(85608),r=e(76003),o=e(97267),l=e(41869),p=e(43718),v=e(64964),m=e(38563),_=e(28087);let s=class extends o.Tree{get isTreeMode(){return this._isTreeMode}get onDidTreeModeChange(){return this.onDidTreeModeChangeEmitter.event}constructor(){super(),this.onDidTreeModeChangeEmitter=new l.Emitter,this._isTreeMode=this.preferenceService.get("scm.defaultViewMode")===v.SCMViewModelMode.Tree,this.toDispose.push(this.preferenceService.onSpecificPreferenceChange("scm.defaultViewMode",a=>{const h=a.newValue===v.SCMViewModelMode.Tree;h!==this._isTreeMode&&(this._isTreeMode=h,this.onDidTreeModeChangeEmitter.fire(this._isTreeMode))}))}changeTreeMode(a){this.preferenceService.set("scm.defaultViewMode",a?v.SCMViewModelMode.Tree:v.SCMViewModelMode.List,p.PreferenceScope.User)}async resolveChildren(a){let h=[];if(!a)this._root=new _.SCMResourceRoot(this,this._isTreeMode),h=[this._root];else if(_.SCMResourceRoot.is(a)){const u=this.scmTreeAPI.init(this._isTreeMode?v.SCMViewModelMode.Tree:v.SCMViewModelMode.List);h.push(...u.map(d=>this.toNode(d,a,this._isTreeMode)))}else if(a.raw){const u=a.raw.children;h.push(...u.map(d=>this.toNode(d,a,this._isTreeMode)))}return h}toNode(a,h,u){if(a.type==="group"){const E=a;return new _.SCMResourceGroup(this,h,E,E.resource)}const d=a;return a.type==="file"?new _.SCMResourceFile(this,h,d,d.resource,u):new _.SCMResourceFolder(this,h,d,d.resource,u)}sortComparator(a,h){if(_.SCMResourceGroup.is(a)&&_.SCMResourceGroup.is(h)){const u={merge:3,index:2,workingTree:1};return u[h.resource.id]-u[a.resource.id]}return super.sortComparator(a,h)}dispose(){super.dispose(),this.onDidTreeModeChangeEmitter.dispose()}};t.SCMTreeService=s,n.__decorate([(0,r.Autowired)(m.SCMTreeAPI),n.__metadata("design:type",m.SCMTreeAPI)],s.prototype,"scmTreeAPI",void 0),n.__decorate([(0,r.Autowired)(l.PreferenceService),n.__metadata("design:type",Object)],s.prototype,"preferenceService",void 0),t.SCMTreeService=s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s)},42126:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffDecorator=void 0;const r=e(85608),o=e(76003),l=e(41869),p=e(54414),v=e(52416),m=r.__importStar(e(43255)),_=r.__importStar(e(24347)),s=e(7168),g=e(73018),a=e(24870),h=e(84416);let u=n=class extends l.Disposable{static createDecoration(E,f){const c={description:"dirty-diff-decoration",isWholeLine:f.isWholeLine};return f.gutter&&(c.linesDecorationsClassName=`dirty-diff-glyph ${E}`),f.overview.active&&(c.overviewRuler={color:(0,v.themeColorFromId)(f.overview.color),position:p.OverviewRulerLane.Left}),f.minimap.active&&(c.minimap={color:(0,v.themeColorFromId)(f.minimap.color),position:m.MinimapPosition.Gutter}),_.ModelDecorationOptions.createDynamic(c)}constructor(E,f){super(),this.model=f,this.decorations=[],this.editorModel=E;const c=this.scmPreferences["scm.diffDecorations"],y=c==="all"||c==="gutter",b=c==="all"||c==="overview",A=c==="all"||c==="minimap";this.modifiedOptions=n.createDecoration("dirty-diff-modified",{gutter:y,overview:{active:b,color:s.overviewRulerModifiedForeground},minimap:{active:A,color:s.minimapGutterModifiedBackground},isWholeLine:!0}),this.addedOptions=n.createDecoration("dirty-diff-added",{gutter:y,overview:{active:b,color:s.overviewRulerAddedForeground},minimap:{active:A,color:s.minimapGutterAddedBackground},isWholeLine:!0}),this.deletedOptions=n.createDecoration("dirty-diff-deleted",{gutter:y,overview:{active:b,color:s.overviewRulerDeletedForeground},minimap:{active:A,color:s.minimapGutterDeletedBackground},isWholeLine:!1}),this.addDispose(f.onDidChange(this.onDidChange,this))}onDidChange(){if(!this.editorModel)return;const E=this.model.changes.map(f=>{const c=(0,h.getChangeType)(f),y=f[2],b=f[3]-1||y-1;switch(c){case h.ChangeType.Add:return{range:{startLineNumber:y,startColumn:1,endLineNumber:b,endColumn:1},options:this.addedOptions};case h.ChangeType.Delete:return{range:{startLineNumber:y-1,startColumn:Number.MAX_VALUE,endLineNumber:y>0?y-1:y,endColumn:Number.MAX_VALUE},options:this.deletedOptions};case h.ChangeType.Modify:return{range:{startLineNumber:y,startColumn:1,endLineNumber:b,endColumn:1},options:this.modifiedOptions}}});this.decorations=this.editorModel.getMonacoModel().deltaDecorations(this.decorations,E)}dispose(){super.dispose(),this.editorModel&&!this.editorModel.getMonacoModel().isDisposed()&&this.editorModel.getMonacoModel().deltaDecorations(this.decorations,[]),this.editorModel=null,this.decorations=[]}};t.DirtyDiffDecorator=u,r.__decorate([(0,o.Autowired)(g.SCMPreferences),r.__metadata("design:type",Object)],u.prototype,"scmPreferences",void 0),t.DirtyDiffDecorator=u=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__param(1,(0,o.Optional)()),r.__metadata("design:paramtypes",[Object,a.DirtyDiffModel])],u)},24870:(x,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffModel=t.isDirtyDiffVisible=void 0;const r=e(85608),o=e(76003),l=e(41869),p=e(40191),v=e(54414),m=e(57517),_=r.__importStar(e(20868)),s=e(28240),g=e(16781),a=e(64964),h=e(84416),{sortedDiff:u}=l.arrays;t.isDirtyDiffVisible=new p.RawContextKey("dirtyDiffVisible",!1);let d=n=class extends l.Disposable{get original(){return this._originalModel}get modified(){return this._editorModel}get changes(){return this._changes}get editorWorkerService(){return g.StandaloneServices.get(s.IEditorWorkerService)}constructor(f){super(),this.repositoryDisposables=new Set,this._onDidChange=new l.Emitter,this.onDidChange=this._onDidChange.event,this._changes=[],this._editorModel=f,this.diffDelayer=new l.ThrottledDelayer(200),this.addDispose(l.Disposable.create(()=>{this.diffDelayer&&(this.diffDelayer.isTriggered()||this.diffDelayer.cancel(),this.diffDelayer=null)})),this.addDispose(f.getMonacoModel().onDidChangeContent(()=>this.triggerDiff())),this.addDispose(f.onDidChangeEncoding(()=>{var c;(c=this.diffDelayer)===null||c===void 0||c.cancel(),this._originalModel=null,this._originalURIPromise=void 0,this._changes=[],this.triggerDiff()})),this.addDispose(this.scmService.onDidAddRepository(this.onDidAddRepository,this)),this.scmService.repositories.forEach(c=>this.onDidAddRepository(c)),this.triggerDiff(),this.originalModelDisposables=new l.DisposableStore,this.addDispose(this.originalModelDisposables),this.isDirtyDiffVisible=t.isDirtyDiffVisible.bind(this.contextKeyService)}onDidAddRepository(f){const c=new l.DisposableStore;this.repositoryDisposables.add(c),c.add((0,l.toDisposable)(()=>this.repositoryDisposables.delete(c)));const y=l.Event.any(f.provider.onDidChange,f.provider.onDidChangeResources);c.add(y(this.triggerDiff,this));const b=l.Event.filter(this.scmService.onDidRemoveRepository,A=>A===f);c.add(b(()=>(0,l.dispose)(c),null)),this.triggerDiff()}triggerDiff(){return this.diffDelayer?this.diffDelayer.trigger(()=>this.diff()).then(f=>{if(!this._editorModel||this._editorModel.getMonacoModel().isDisposed()||!this._originalModel||this._originalModel.getMonacoModel().isDisposed())return;(!f||this._originalModel.getMonacoModel().getValueLength()===0)&&(f=[]);const c=u(this.changes,f,h.compareChanges);this._changes=f,c.length>0&&this._onDidChange.fire(c)}):Promise.resolve(null)}canSyncModelForDiff(f){if(!f)return!1;const c=n.maxFileSize*1024*1024,y=f.getValueLength();return c===0||y<=c}async diff(){var f;const c=await this.getOriginalURIPromise();if(!this._editorModel||this._editorModel.getMonacoModel().isDisposed()||!c)return[];if(!this.canSyncModelForDiff((f=this._originalModel)===null||f===void 0?void 0:f.getMonacoModel())||!this.canSyncModelForDiff(this._editorModel.getMonacoModel()))return[];const y=await this.editorWorkerService.computeDiff(c,this._editorModel.getMonacoModel().uri,{ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3,computeMoves:!1},"advanced");return y&&this.getLineChanges(y.changes)}getLineChanges(f){return f.map(c=>{var y;return[c.original.startLineNumber,c.original.endLineNumberExclusive,c.modified.startLineNumber,c.modified.endLineNumberExclusive,(y=c.innerChanges)===null||y===void 0?void 0:y.map(b=>[b.originalRange.startLineNumber,b.originalRange.startColumn,b.originalRange.endLineNumber,b.originalRange.endColumn,b.modifiedRange.startLineNumber,b.modifiedRange.startColumn,b.modifiedRange.endLineNumber,b.modifiedRange.endColumn])]})}getOriginalURIPromise(){return this._originalURIPromise?this._originalURIPromise:(this._originalURIPromise=this.getOriginalResource().then(f=>this._editorModel?f?this._originalModel&&this._originalModel.uri.toString()===f.toString()?f:this.documentModelManager.createModelReference(new l.URI(f)).then(c=>{if(!this._editorModel||!c)return null;this._originalModel=c.instance,this._originalModel.updateEncoding(this._editorModel.encoding);const y=this._originalModel.getMonacoModel();return this.originalModelDisposables.clear(),this.originalModelDisposables.add(c),this.originalModelDisposables.add(y.onDidChangeContent(()=>this.triggerDiff())),f}):(this._originalModel=null,null):null),this._originalURIPromise.finally(()=>{this._originalURIPromise=void 0}))}getOriginalResource(){if(!this._editorModel)return Promise.resolve(null);const f=this._editorModel.getMonacoModel().uri;return(0,l.first)(this.scmService.repositories.map(c=>()=>c.provider.getOriginalResource(f)))}findNextClosestChange(f,c=!0){for(let y=0;y<this.changes.length;y++){const b=this.changes[y];if(c){if((0,h.getModifiedEndLineNumber)(b)>=f)return y}else if(b[2]>f)return y}return 0}findNextClosestChangeLineNumber(f,c=!0){const y=this.findNextClosestChange(f,c);return this.changes[y][2]}findPreviousClosestChange(f,c=!0){for(let y=this.changes.length-1;y>=0;y--){const b=this.changes[y];if(c){if(b[2]<=f)return y}else if((0,h.getModifiedEndLineNumber)(b)<f)return y}return this.changes.length-1}findPreviousClosestChangeLineNumber(f,c=!0){const y=this.findPreviousClosestChange(f,c);return this.changes[y][2]}getChangeFromRange(f){const c=this.findNextClosestChange(f.startLineNumber);return{change:this.changes[c],count:c+1}}async onClickDecoration(f,c){if(this._widget)if(this._widget===f){this._widget.dispose();return}else this._widget.dispose();if(this._widget=f,this._originalModel&&this._editorModel){let R=function(P,O){f.updateCurrent(P),f.show(_.positionToRange(O[3]-1),n.heightInLines),T.isDirtyDiffVisible.set(!0)};const y=this._originalModel.uri,b=this._editorModel.uri,A=this.editorService.createDiffEditor(f.getContentNode(),{automaticLayout:!0,renderSideBySide:!1,hideUnchangedRegions:{enabled:!1}}),S=await this.documentModelManager.createModelReference(y),w=await this.documentModelManager.createModelReference(b);A.compare(S,w),A.modifiedEditor.monacoEditor.updateOptions({readOnly:!0}),A.originalEditor.monacoEditor.updateOptions({readOnly:!0}),A.modifiedEditor.monacoEditor.revealLineInCenter(c.startLineNumber-Math.round(n.heightInLines/2)),f.addDispose(A.originalEditor.monacoEditor.onDidChangeModelContent(()=>{f.relayout(n.heightInLines)}));const T=this;f.addDispose(this.onDidChange(()=>{const{change:P,count:O}=this.getChangeFromRange(c)||{};R(O,P)}));const{change:D,count:I}=this.getChangeFromRange(c)||{};I&&D&&R(I,D),f.onDispose(()=>{this._widget=null,T.isDirtyDiffVisible.set(!1)})}}dispose(){super.dispose(),this._editorModel=null,this._originalModel=null,this.repositoryDisposables.forEach(f=>(0,l.dispose)(f)),this.repositoryDisposables.clear()}};t.DirtyDiffModel=d,d.heightInLines=10,d.maxFileSize=50,r.__decorate([(0,o.Autowired)(l.IContextKeyService),r.__metadata("design:type",Object)],d.prototype,"contextKeyService",void 0),r.__decorate([(0,o.Autowired)(a.SCMService),r.__metadata("design:type",a.SCMService)],d.prototype,"scmService",void 0),r.__decorate([(0,o.Autowired)(m.IEditorDocumentModelService),r.__metadata("design:type",Object)],d.prototype,"documentModelManager",void 0),r.__decorate([(0,o.Autowired)(v.EditorCollectionService),r.__metadata("design:type",v.EditorCollectionService)],d.prototype,"editorService",void 0),t.DirtyDiffModel=d=n=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__param(0,(0,o.Optional)()),r.__metadata("design:paramtypes",[Object])],d)},84416:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ChangeType=void 0,t.compareChanges=e,t.getModifiedEndLineNumber=n,t.getChangeType=o,t.toChange=l;function e(p,v){let m=p[2]-v[2];return m!==0||(m=p[3]-v[3],m!==0)||(m=p[0]-v[0],m!==0)?m:p[1]-v[1]}function n(p){return p[3]===0?p[2]===0?1:p[2]:p[3]}var r;(function(p){p.Modify="Modify",p.Add="Add",p.Delete="Delete"})(r||(t.ChangeType=r={}));function o(p){return p[1]-p[0]===0?r.Add:p[1]>p[0]&&p[2]===p[3]?r.Delete:r.Modify}function l(p){switch(o(p)){case r.Add:return{originalStartLineNumber:p[0],originalEndLineNumber:0,modifiedStartLineNumber:p[2],modifiedEndLineNumber:p[3]};case r.Modify:return{originalStartLineNumber:p[0],originalEndLineNumber:p[1],modifiedStartLineNumber:p[2],modifiedEndLineNumber:p[3]};case r.Delete:return{originalStartLineNumber:p[0],originalEndLineNumber:p[1],modifiedStartLineNumber:p[2],modifiedEndLineNumber:0};default:return{originalStartLineNumber:p[0],originalEndLineNumber:p[1],modifiedStartLineNumber:p[2],modifiedEndLineNumber:p[3]}}}},54595:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffWidget=t.DirtyDiffWidgetActionType=void 0;const n=e(41869),r=e(87308),o=e(31324),l=e(64964),p=e(84416);var v;(function(_){_[_.close=0]="close",_[_.save=1]="save",_[_.reset=2]="reset",_[_.next=3]="next",_[_.previous=4]="previous"})(v||(t.DirtyDiffWidgetActionType=v={}));class m extends r.ZoneWidget{_fillContainer(s){}get uri(){return n.URI.from(this.editor.getModel().uri)}constructor(s,g,a){super(s),this.commandService=a,this._currentChangeIndex=0,this._model=g,this._wrapper=document.createElement("div"),this._head=document.createElement("div"),this._content=document.createElement("div"),this._container.appendChild(this._wrapper),this._wrapper.appendChild(this._head),this._wrapper.appendChild(this._content)}get currentIndex(){return this._currentChangeIndex}updateCurrent(s){this._currentChangeIndex=s}applyStyle(){if(!this._title)return;this._title.children[0]&&this._title.removeChild(this._title.children[0]);const s=document.createElement("span");s.className="dirty-diff-widget-title-detail",s.innerText=(0,n.formatLocalize)("scm.dirtyDiff.changes",this._currentChangeIndex,this._model.changes.length),this._title.appendChild(s)}getBorderColor(s){switch(s){case p.ChangeType.Add:return"var(--editorGutter-addedBackground)";case p.ChangeType.Modify:return"var(--editorGutter-modifiedBackground)";case p.ChangeType.Delete:return"var(--editorGutter-deletedBackground)"}}applyClass(){this._wrapper.className="dirty-diff-widget-wrapper",this._head.className="dirty-diff-widget-header",this._content.className="dirty-diff-widget-content";const s=this._model.changes[this._currentChangeIndex-1],g=(0,p.getChangeType)(s),a=this.getBorderColor(g);this._head.style.borderTopColor=a,this._head.style.borderBottomColor=a,this._content.style.borderBottomColor=a;const h=this.editor.getOption(o.EditorOption.lineHeight),u=Math.ceil(h*1.2);this._head.style.height=`${u}px`,this._renderTitle();const d=this.editor.getModel();if(!d)throw new Error("Not found model");this._title.innerText=n.path.basename(d.uri.path),this._title.className="file-name",this._actions.className="file-actions",this._renderActions()}getContentNode(){return this._content}_renderTitle(){this._head.children.length===0&&(this._title=document.createElement("div"),this._actions=document.createElement("div"),this._head.appendChild(this._title),this._head.appendChild(this._actions))}_addAction(s,g){const a=document.createElement("div");return a.className=`kt-icon codicon codicon-${s}`,this._actions.appendChild(a),a.onclick=()=>this.handleAction(g),a}_renderActions(){this._actions.children.length===0&&(this._addAction("add",v.save),this._addAction("discard",v.reset),this._addAction("arrow-up",v.next),this._addAction("arrow-down",v.previous),this._addAction("close",v.close))}relayout(s){this._relayout(s)}handleAction(s){let g;const a=this.currentRange,h=[this.uri,this._model.changes.map(p.toChange),this._currentChangeIndex-1];switch(s){case v.next:g=this._model.findNextClosestChangeLineNumber(a.startLineNumber,!1),g&&g!==a.startLineNumber&&this.commandService.executeCommand(l.OPEN_DIRTY_DIFF_WIDGET.id,g);break;case v.previous:g=this._model.findPreviousClosestChangeLineNumber(a.startLineNumber,!1),g&&g!==a.startLineNumber&&this.commandService.executeCommand(l.OPEN_DIRTY_DIFF_WIDGET.id,g);break;case v.save:this.commandService.executeCommand("git.stageChange",...h),this.dispose();break;case v.reset:this.commandService.executeCommand("git.revertChange",...h),this.dispose();break;case v.close:this.dispose();break;default:break}}}t.DirtyDiffWidget=m},71972:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyDiffWorkbenchController=t.DirtyDiffItem=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),p=e(54414),v=e(57517),m=n.__importStar(e(20868)),_=e(62663),s=e(64964),g=e(73018),a=e(42126),h=e(24870),u=e(54595);e(22861);class d{constructor(c,y){this.model=c,this.decorator=y}dispose(){this.decorator.dispose(),this.model.dispose()}}t.DirtyDiffItem=d;let E=class extends o.Disposable{constructor(){super(),this.enabled=!1,this.models=[],this.widgets=new Map,this.items=Object.create(null),this.transientDisposables=new o.DisposableStore,this.keybindingRegistry.registerKeybinding({command:s.CLOSE_DIRTY_DIFF_WIDGET.id,keybinding:"esc",when:h.isDirtyDiffVisible.equalsTo(!0)})}start(){const c=o.Event.filter(this.scmPreferences.onPreferenceChanged,b=>b.affects("scm.diffDecorations"));this.addDispose(c(this.onDidChangeConfiguration,this)),this.onDidChangeConfiguration(),o.Event.filter(this.scmPreferences.onPreferenceChanged,b=>b.affects("scm.diffDecorationsGutterWidth"))(this.onDidChangeDiffWidthConfiguration,this),this.onDidChangeDiffWidthConfiguration(),this.addDispose(this.editorFeatureRegistry.registerEditorFeatureContribution({contribute:b=>this.attachEvents(b.monacoEditor)})),this.addDispose(this.scmPreferences.onPreferenceChanged(b=>{b.preferenceName==="scm.alwaysShowDiffWidget"&&b.newValue===!1&&this.widgets.forEach(A=>{A.dispose()})}))}onDidChangeConfiguration(){this.scmPreferences["scm.diffDecorations"]!=="none"?this.enable():this.disable()}onDidChangeDiffWidthConfiguration(){let c=this.scmPreferences["scm.diffDecorationsGutterWidth"];(isNaN(c)||c<=0||c>5)&&(c=3)}enable(){this.enabled&&this.disable(),this.transientDisposables.add(this.eventBus.on(v.EditorGroupChangeEvent,()=>{this.onEditorsChanged()})),this.onEditorsChanged(),this.enabled=!0}disable(){this.enabled&&(this.transientDisposables.clear(),this.models.forEach(c=>{const y=this.items[c.id];y&&y.dispose()}),this.models=[],this.items=Object.create(null),this.enabled=!1)}onEditorsChanged(){const c=this.editorService.editorGroups.filter(A=>A.currentOpenType&&A.currentOpenType.type===v.EditorOpenType.code).map(A=>{const S=A.currentEditor;return S?S.currentDocumentModel:null}).filter((A,S,w)=>!!A&&!!A.uri&&w.indexOf(A,S+1)===-1),y=c.filter(A=>this.models.every(S=>A!==S));this.models.filter(A=>c.every(S=>S!==A)).forEach(A=>this.onModelInvisible(A)),y.forEach(A=>this.onModelVisible(A)),this.models=c}onModelVisible(c){const y=this.injector.get(h.DirtyDiffModel,[c]),b=this.injector.get(a.DirtyDiffDecorator,[c,y]);this.items[c.id]=new d(y,b)}onModelInvisible(c){this.items[c.id].dispose(),delete this.items[c.id]}closeDirtyDiffWidget(c){const y=this.widgets.get(c.getId());y&&y.dispose()}toggleDirtyDiffWidget(c,y){const b=c.getModel();if(b&&y){let A=this.widgets.get(c.getId());const S=this.getModel(b);if(S){if(A){const{currentIndex:w}=A,{count:T}=S.getChangeFromRange(m.positionToRange(y));if(A.dispose(),w===T)return}A=new u.DirtyDiffWidget(c,S,this.commandService),A.onDispose(()=>{this.widgets.delete(c.getId())}),S.onClickDecoration(A,m.positionToRange(y)),this.widgets.set(c.getId(),A)}}}_doMouseDown(c,{target:y}){if(!y)return;const{position:b,type:A,element:S}=y;if(A===_.monacoBrowser.editor.MouseTargetType.GUTTER_LINE_DECORATIONS&&S&&S.className.indexOf("dirty-diff-glyph")>-1&&b){const w=S.offsetLeft;if(y.detail.offsetX-w<5)this.toggleDirtyDiffWidget(c,b);else{const D=this.widgets.get(c.getId());D&&(D.dispose(),this.widgets.delete(c.getId()))}}}attachEvents(c){const y=new o.DisposableCollection;return y.push(c.onMouseDown(b=>{this.scmPreferences["scm.alwaysShowDiffWidget"]&&this._doMouseDown(c,b)})),y.push(c.onDidChangeModel(({oldModelUrl:b})=>{if(b){const A=this.widgets.get(c.getId());A&&A.dispose()}})),y.push(c.onDidDispose(()=>{y.dispose()})),y}getModel(c){const y=this.items[c.id];return y?y.model:null}dispose(){this.disable(),this.widgets.forEach(c=>c.dispose()),this.widgets.clear(),super.dispose()}};t.DirtyDiffWorkbenchController=E,n.__decorate([(0,r.Autowired)(g.SCMPreferences),n.__metadata("design:type",Object)],E.prototype,"scmPreferences",void 0),n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],E.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(v.IEditorFeatureRegistry),n.__metadata("design:type",Object)],E.prototype,"editorFeatureRegistry",void 0),n.__decorate([(0,r.Autowired)(l.IEventBus),n.__metadata("design:type",Object)],E.prototype,"eventBus",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],E.prototype,"injector",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],E.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],E.prototype,"keybindingRegistry",void 0),t.DirtyDiffWorkbenchController=E=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],E)},31435:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(64964),p=e(71972),v=e(7114),m=e(38672),_=e(73018),s=e(75756);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[s.SCMContribution,l.SCMService,v.SCMBadgeController,v.SCMStatusBarController,{token:l.ISCMMenus,useClass:m.SCMMenus},{token:l.IDirtyDiffWorkbenchController,useClass:p.DirtyDiffWorkbenchController}],this.preferences=_.bindSCMPreference}};t.SCMModule=g,t.SCMModule=g=n.__decorate([(0,r.Injectable)()],g)},7114:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMStatusBarController=t.SCMBadgeController=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(26542),p=e(43718),v=e(54414),m=e(63067),_=e(64964);let s=class{constructor(){this.disposables=[]}start(){for(const h of this.scmService.repositories)this.onDidAddRepository(h);this.scmService.onDidAddRepository(this.onDidAddRepository,this,this.disposables),this.render()}onDidAddRepository(h){const u=h.provider,E=o.Event.any(u.onDidChange,u.onDidChangeResources)(()=>this.render()),c=o.Event.filter(this.scmService.onDidRemoveRepository,b=>b===h)(()=>{y.dispose(),this.disposables=this.disposables.filter(b=>b!==c),this.render()}),y=(0,o.combinedDisposable)([E,c]);this.disposables.push(y)}render(){const h=this.scmService.repositories.reduce((u,d)=>typeof d.provider.count=="number"?u+d.provider.count:u+d.provider.groups.elements.reduce((E,f)=>E+f.elements.length,0),0);h>0?this.setSCMTarbarBadge(`${h}`):this.setSCMTarbarBadge("")}setSCMTarbarBadge(h){const u=this.layoutService.getTabbarHandler(_.scmContainerId);u&&u.setBadge(h)}dispose(){this.disposables=(0,o.dispose)(this.disposables)}};t.SCMBadgeController=s,n.__decorate([(0,r.Autowired)(_.SCMService),n.__metadata("design:type",_.SCMService)],s.prototype,"scmService",void 0),n.__decorate([(0,r.Autowired)(m.IMainLayoutService),n.__metadata("design:type",Object)],s.prototype,"layoutService",void 0),t.SCMBadgeController=s=n.__decorate([(0,r.Injectable)()],s);let g=class{constructor(){this.focusDisposable=o.Disposable.None,this.focusedRepository=void 0,this.disposables=[]}start(){this.scmService.onDidAddRepository(this.onDidAddRepository,this,this.disposables);for(const h of this.scmService.repositories)this.onDidAddRepository(h);this.workbenchEditorService.onActiveResourceChange(this.onDidActiveResouceChange,this,this.disposables)}onDidAddRepository(h){const u=h.onDidFocus(()=>this.onDidFocusRepository(h)),E=o.Event.filter(this.scmService.onDidRemoveRepository,c=>c===h)(()=>{f.dispose(),this.disposables=this.disposables.filter(c=>c!==E),this.scmService.repositories.length===0?this.onDidFocusRepository(void 0):this.focusedRepository===h&&this.scmService.repositories[0].focus()}),f=(0,o.combinedDisposable)([u,E]);this.disposables.push(f),this.focusedRepository||this.onDidFocusRepository(h)}onDidActiveResouceChange(){const h=this.workbenchEditorService.currentResource;if(!h||h.uri.scheme!==p.Schemes.file)return;let u=null,d=Number.NEGATIVE_INFINITY;for(const E of this.scmService.repositories){const f=E.provider.rootUri;if(!f)continue;const c=f.fsPath,y=o.strings.commonPrefixLength(c,h.uri.codeUri.fsPath);y===c.length&&y>d&&(u=E,d=y)}u&&this.onDidFocusRepository(u)}onDidFocusRepository(h){this.focusedRepository!==h&&(this.focusedRepository=h,this.focusDisposable.dispose(),h&&h.provider.onDidChangeStatusBarCommands&&(this.focusDisposable=h.provider.onDidChangeStatusBarCommands(()=>this.render(h))),this.render(h))}render(h){if(!h)return;const u=h.provider.statusBarCommands||[];if(!u.length)return;const d=this.getRepoLabel(h);u.forEach((E,f)=>{this.disposables.push(this.statusbarService.addElement(`status.scm.repo.${f}`,{id:"status.scm",text:E.title,name:(0,p.localize)("status-bar.scm"),priority:1e4,alignment:l.StatusBarAlignment.LEFT,command:E.id,arguments:E.arguments,tooltip:`${d} - ${E.tooltip||E.title}`}))})}getRepoLabel(h){return h.provider.rootUri?`${o.path.basename(h.provider.rootUri.path)} (${h.provider.label})`:h.provider.label}dispose(){this.focusDisposable.dispose(),this.disposables=(0,o.dispose)(this.disposables)}};t.SCMStatusBarController=g,n.__decorate([(0,r.Autowired)(_.SCMService),n.__metadata("design:type",_.SCMService)],g.prototype,"scmService",void 0),n.__decorate([(0,r.Autowired)(l.IStatusBarService),n.__metadata("design:type",Object)],g.prototype,"statusbarService",void 0),n.__decorate([(0,r.Autowired)(v.WorkbenchEditorService),n.__metadata("design:type",v.WorkbenchEditorService)],g.prototype,"workbenchEditorService",void 0),t.SCMStatusBarController=g=n.__decorate([(0,r.Injectable)()],g)},7168:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.overviewRulerDeletedForeground=t.overviewRulerAddedForeground=t.overviewRulerModifiedForeground=t.minimapGutterDeletedBackground=t.minimapGutterAddedBackground=t.minimapGutterModifiedBackground=t.editorGutterDeletedBackground=t.editorGutterAddedBackground=t.editorGutterModifiedBackground=void 0;const n=e(43718),r=e(52416);t.editorGutterModifiedBackground=(0,r.registerColor)("editorGutter.modifiedBackground",{dark:new r.Color(new r.RGBA(27,129,168)),light:new r.Color(new r.RGBA(32,144,211)),hcDark:new r.Color(new r.RGBA(27,128,168)),hcLight:new r.Color(new r.RGBA(32,144,211))},(0,n.localize)("editorGutterModifiedBackground","Editor gutter background color for lines that are modified.")),t.editorGutterAddedBackground=(0,r.registerColor)("editorGutter.addedBackground",{dark:new r.Color(new r.RGBA(72,126,2)),light:new r.Color(new r.RGBA(72,152,93)),hcDark:new r.Color(new r.RGBA(72,126,2)),hcLight:new r.Color(new r.RGBA(72,152,93))},(0,n.localize)("editorGutterAddedBackground","Editor gutter background color for lines that are added.")),t.editorGutterDeletedBackground=(0,r.registerColor)("editorGutter.deletedBackground",{dark:r.editorErrorForeground,light:r.editorErrorForeground,hcDark:r.editorErrorForeground,hcLight:r.editorErrorForeground},(0,n.localize)("editorGutterDeletedBackground","Editor gutter background color for lines that are deleted.")),t.minimapGutterModifiedBackground=(0,r.registerColor)("minimapGutter.modifiedBackground",{dark:t.editorGutterModifiedBackground,light:t.editorGutterModifiedBackground,hcDark:t.editorGutterModifiedBackground,hcLight:t.editorGutterModifiedBackground},(0,n.localize)("minimapGutterModifiedBackground","Minimap gutter background color for lines that are modified.")),t.minimapGutterAddedBackground=(0,r.registerColor)("minimapGutter.addedBackground",{dark:t.editorGutterAddedBackground,light:t.editorGutterAddedBackground,hcDark:t.editorGutterAddedBackground,hcLight:t.editorGutterAddedBackground},(0,n.localize)("minimapGutterAddedBackground","Minimap gutter background color for lines that are added.")),t.minimapGutterDeletedBackground=(0,r.registerColor)("minimapGutter.deletedBackground",{dark:t.editorGutterDeletedBackground,light:t.editorGutterDeletedBackground,hcDark:t.editorGutterDeletedBackground,hcLight:t.editorGutterDeletedBackground},(0,n.localize)("minimapGutterDeletedBackground","Minimap gutter background color for lines that are deleted.")),t.overviewRulerModifiedForeground=(0,r.registerColor)("editorOverviewRuler.modifiedForeground",{dark:(0,r.transparent)(t.editorGutterModifiedBackground,.6),light:(0,r.transparent)(t.editorGutterModifiedBackground,.6),hcDark:(0,r.transparent)(t.editorGutterModifiedBackground,.6),hcLight:(0,r.transparent)(t.editorGutterModifiedBackground,.6)},(0,n.localize)("overviewRulerModifiedForeground","Overview ruler marker color for modified content.")),t.overviewRulerAddedForeground=(0,r.registerColor)("editorOverviewRuler.addedForeground",{dark:(0,r.transparent)(t.editorGutterAddedBackground,.6),light:(0,r.transparent)(t.editorGutterAddedBackground,.6),hcDark:(0,r.transparent)(t.editorGutterAddedBackground,.6),hcLight:(0,r.transparent)(t.editorGutterAddedBackground,.6)},(0,n.localize)("overviewRulerAddedForeground","Overview ruler marker color for added content.")),t.overviewRulerDeletedForeground=(0,r.registerColor)("editorOverviewRuler.deletedForeground",{dark:(0,r.transparent)(t.editorGutterDeletedBackground,.6),light:(0,r.transparent)(t.editorGutterDeletedBackground,.6),hcDark:(0,r.transparent)(t.editorGutterDeletedBackground,.6),hcLight:(0,r.transparent)(t.editorGutterDeletedBackground,.6)},(0,n.localize)("overviewRulerDeletedForeground","Overview ruler marker color for deleted content."))},38672:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMMenus=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(93899),p=e(43718),v=e(64964),m=e(36367);let _=class extends p.Disposable{constructor(h){super(),this.contextKeyService=h}get resourceGroupMenu(){return this._resourceGroupMenu||(this._resourceGroupMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceGroupContext,contextKeyService:this.contextKeyService,config:{separator:"inline"}}))),this._resourceGroupMenu}get resourceFolderMenu(){return this._resourceFolderMenu||(this._resourceFolderMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceFolderContext,contextKeyService:this.contextKeyService,config:{separator:"inline"}}))),this._resourceFolderMenu}getResourceMenu(h){const u=h.contextValue;if(typeof u>"u")return this.resourceMenu||(this.resourceMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceContext,contextKeyService:this.contextKeyService,config:{separator:"inline"}}))),this.resourceMenu;this.contextualResourceMenu||(this.contextualResourceMenu=new Map);let d=this.contextualResourceMenu.get(u);if(!d){const E=this.contextKeyService.createScoped();(0,m.isSCMResource)(h)&&E.createKey("scmResourceState",u),d=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMResourceContext,contextKeyService:E,config:{separator:"inline"}})),this.addDispose(E),this.contextualResourceMenu.set(u,d)}return d}dispose(){var h,u;super.dispose(),(h=this.resourceGroupMenu)===null||h===void 0||h.dispose(),(u=this.resourceMenu)===null||u===void 0||u.dispose(),this.contextualResourceMenu&&(this.contextualResourceMenu.clear(),this.contextualResourceMenu=void 0)}};n.__decorate([(0,r.Autowired)(l.AbstractContextMenuService),n.__metadata("design:type",l.AbstractContextMenuService)],_.prototype,"menuService",void 0),_=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],_);let s=class extends p.Disposable{constructor(h){var u;super(),this.resourceGroups=[],this.resourceGroupMenusItems=new Map;const d=this.injector.get(o.IContextKeyService);this.scopedContextKeyService=this.registerDispose(d.createScoped()),this.scopedContextKeyService.createKey("scmProvider",h.contextValue),this.scopedContextKeyService.createKey("scmProviderRootUri",(u=h.rootUri)===null||u===void 0?void 0:u.toString()),this.scopedContextKeyService.createKey("scmProviderHasRootUri",!!h.rootUri),this.onDidSpliceGroups({start:0,deleteCount:0,toInsert:h.groups.elements}),h.groups.onDidSplice(this.onDidSpliceGroups,this,this.disposables)}onDidSpliceGroups({start:h,deleteCount:u,toInsert:d}){const E=this.resourceGroups.splice(h,u,...d);for(const f of E){const c=this.resourceGroupMenusItems.get(f);c?.dispose(),this.resourceGroupMenusItems.delete(f)}}dispose(){super.dispose(),this.resourceGroupMenusItems.forEach(h=>h.dispose())}getResourceGroupMenu(h){return this.getResourceGroupMenus(h).resourceGroupMenu}getResourceMenu(h){return this.getResourceGroupMenus(h.resourceGroup).getResourceMenu(h)}getResourceFolderMenu(h){return this.getResourceGroupMenus(h).resourceFolderMenu}getResourceGroupMenus(h){let u=this.resourceGroupMenusItems.get(h);if(!u){const d=this.registerDispose(this.scopedContextKeyService.createScoped());d.createKey("scmResourceGroup",h.id),u=this.registerDispose(this.injector.get(_,[d])),this.resourceGroupMenusItems.set(h,u)}return u}get titleMenu(){return this._titleMenu||(this._titleMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMTitle,contextKeyService:this.scopedContextKeyService}))),this._titleMenu}get inputMenu(){return this._inputMenu||(this._inputMenu=this.registerDispose(this.menuService.createMenu({id:l.MenuId.SCMInput,contextKeyService:this.scopedContextKeyService}))),this._inputMenu}};n.__decorate([(0,r.Autowired)(l.AbstractContextMenuService),n.__metadata("design:type",l.AbstractContextMenuService)],s.prototype,"menuService",void 0),n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],s.prototype,"injector",void 0),s=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__param(0,(0,r.Optional)()),n.__metadata("design:paramtypes",[Object])],s);let g=class extends p.Disposable{constructor(){super(),this.menus=new Map,this.scmService.onDidRemoveRepository(this.onDidRemoveRepository,this,this.disposables)}onDidRemoveRepository(h){const u=this.menus.get(h.provider);u?.dispose(),this.menus.delete(h.provider)}getRepositoryMenus(h){let u=this.menus.get(h);if(!u){const d=this.injector.get(s,[h]);u={menus:d,dispose:()=>{d.dispose(),this.menus.delete(h)}},this.menus.set(h,u)}return u.menus}};t.SCMMenus=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.SCMService),n.__metadata("design:type",v.SCMService)],g.prototype,"scmService",void 0),t.SCMMenus=g=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],g)},49914:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewModelContext=t.ResourceGroupSplicer=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(43718),p=e(28423),v=e(64964);class m{constructor(a){this.repository=a,this.items=[],this.disposables=[],this._onDidSplice=new l.Emitter,this.onDidSplice=this._onDidSplice.event}run(){const a=this.repository.provider.groups;a.onDidSplice(this.onDidSpliceGroups,this,this.disposables),this.onDidSpliceGroups({start:0,deleteCount:0,toInsert:a.elements})}onDidSpliceGroups({start:a,deleteCount:h,toInsert:u}){let d=0;for(let b=0;b<a;b++){const A=this.items[b];d+=(A.visible?1:0)+A.group.elements.length}let E=0;for(let b=0;b<h;b++){const A=this.items[a+b];E+=(A.visible?1:0)+A.group.elements.length}const f=[],c=[];for(const b of u){const A=_(b);A&&c.push(b);for(const w of b.elements)c.push(w);const S=(0,l.combinedDisposable)([b.onDidChange(()=>this.onDidChangeGroup(b)),b.onDidSplice(w=>this.onDidSpliceGroup(b,w))]);f.push({group:b,visible:A,disposable:S})}const y=this.items.splice(a,h,...f);for(const b of y)b.disposable.dispose();this._onDidSplice.fire({target:this.repository,index:d,deleteCount:E,elements:c})}onDidChangeGroup(a){const h=this.items.findIndex(f=>f.group===a);if(h<0)return;const u=this.items[h],d=_(a);if(u.visible===d)return;let E=0;for(let f=0;f<h;f++){const c=this.items[f];E+=(c.visible?1:0)+c.group.elements.length}d?this._onDidSplice.fire({target:this.repository,index:E,deleteCount:0,elements:[a,...a.elements]}):this._onDidSplice.fire({target:this.repository,index:E,deleteCount:1+a.elements.length,elements:[]}),u.visible=d}onDidSpliceGroup(a,{start:h,deleteCount:u,toInsert:d}){const E=this.items.findIndex(b=>b.group===a);if(E<0)return;const f=this.items[E],c=_(a);if(!f.visible&&!c)return;let y=h;for(let b=0;b<E;b++){const A=this.items[b];y+=(A.visible?1:0)+A.group.elements.length}f.visible&&!c?this._onDidSplice.fire({target:this.repository,index:y,deleteCount:1+u,elements:d}):!f.visible&&c?this._onDidSplice.fire({target:this.repository,index:y,deleteCount:u,elements:[a,...d]}):this._onDidSplice.fire({target:this.repository,index:y+1,deleteCount:u,elements:d}),f.visible=c}dispose(){this.onDidSpliceGroups({start:0,deleteCount:this.items.length,toInsert:[]}),this.disposables=(0,l.dispose)(this.disposables)}}t.ResourceGroupSplicer=m;function _(g){return g.elements.length>0||!g.hideWhenEmpty}let s=class extends l.Disposable{get onDidSelectedRepoChange(){return this.onDidSelectedRepoChangeEmitter.event}get onAlwaysShowActionsChange(){return this.onAlwaysShowActionsChangeEmitter.event}get menus(){return this._menus}constructor(){super(),this.onDidSelectedRepoChangeEmitter=new l.Emitter,this.onAlwaysShowActionsChangeEmitter=new l.Emitter,this.onDidSCMListChangeEmitter=new l.Emitter,this.onDidSCMListChange=this.onDidSCMListChangeEmitter.event,this.onDidSCMRepoListChangeEmitter=new l.Emitter,this.onDidSCMRepoListChange=this.onDidSCMRepoListChangeEmitter.event,this.repoList=[],this.scmList=new Array,this.selectedRepos=(0,p.observableValue)(this,[]),this.spliceSCMList=(a,h,u,...d)=>{!this._currentWorkspace||this._currentWorkspace.toString()===a.toString()?this.scmList.splice(h,u,...d):this.scmList=[...d],this._currentWorkspace=a,this.onDidSCMListChangeEmitter.fire()},this.start(),this.initTreeAlwaysShowActions(),this.scmService.onDidChangeSelectedRepositories(this._handleSelectedRepoChanged,this,this.disposables),this._handleSelectedRepoChanged(this.scmService.selectedRepositories)}_handleSelectedRepoChanged(a){const[h]=a;h&&(this.toDisposableListener&&(this.toDisposableListener.dispose(),this.toDisposableListener=null),this.toDisposableListener=this.listenToCurrentRepo(h))}listenToCurrentRepo(a){const h=new l.DisposableStore,u=new m(a),d=l.Event.filter(u.onDidSplice,E=>E.target===a);return h.add(d(({index:E,deleteCount:f,elements:c})=>{if(c.some(y=>y.id==="merge")){const y=[],b={};c.forEach(A=>{Array.isArray(A.elements)&&A.elements.forEach(S=>{y.push(S.sourceUri),b[S.sourceUri.toString()]=!0})}),this.commandService.executeCommand("setContext","git.mergeChanges",y),this.commandService.executeCommand("setContext","git.mergeChangesObj",b)}a.provider.rootUri&&this.spliceSCMList(a.provider.rootUri,E,f,...c)})),u.run(),h.add(u),(0,l.toDisposable)(()=>{h.clear()})}initTreeAlwaysShowActions(){this.alwaysShowActions=!!this.preferenceService.get("scm.alwaysShowActions"),this.disposables.push(this.preferenceService.onSpecificPreferenceChange("scm.alwaysShowActions",a=>{this.alwaysShowActions!==a.newValue&&this.updateAlwaysShowActions(a.newValue)}))}start(){this.scmService.onDidAddRepository(a=>{this.addRepo(a)},this,this.disposables),this.scmService.onDidRemoveRepository(a=>{this.deleteRepo(a)},this,this.disposables),this.scmService.onDidChangeSelectedRepositories(a=>{this.changeSelectedRepos(a)},this,this.disposables),this.scmService.repositories.forEach(a=>{this.addRepo(a)})}updateAlwaysShowActions(a){this.alwaysShowActions=a,this.onAlwaysShowActionsChangeEmitter.fire(a)}addRepo(a){if(this.repoList.find(h=>{var u,d;return((u=h.provider.rootUri)===null||u===void 0?void 0:u.toString())===((d=a.provider.rootUri)===null||d===void 0?void 0:d.toString())})){this.logger.warn("duplicate scm repo",a);return}this.repoList.push(a),a.selected&&this.repoList.length===1&&this.changeSelectedRepos([a]),this.onDidSCMRepoListChangeEmitter.fire(this.repoList)}deleteRepo(a){const h=this.repoList.indexOf(a);if(h<0){this.logger.warn("no such scm repo",a);return}this.repoList.splice(h,1),this.onDidSCMRepoListChangeEmitter.fire(this.repoList)}changeSelectedRepos(a){(0,p.transaction)(u=>{this.selectedRepos.set(a,u)});const h=a[0];this.selectedRepo=h,this.onDidSelectedRepoChangeEmitter.fire(h)}};t.ViewModelContext=s,n.__decorate([(0,r.Autowired)(v.SCMService),n.__metadata("design:type",v.SCMService)],s.prototype,"scmService",void 0),n.__decorate([(0,r.Autowired)(v.ISCMMenus),n.__metadata("design:type",Object)],s.prototype,"_menus",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],s.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(l.CommandService),n.__metadata("design:type",Object)],s.prototype,"commandService",void 0),n.__decorate([(0,r.Autowired)(l.ILogger),n.__metadata("design:type",Object)],s.prototype,"logger",void 0),t.ViewModelContext=s=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],s)},73018:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMPreferences=t.scmPreferenceSchema=void 0,t.bindSCMPreference=o;const n=e(41869),r=e(64964);t.scmPreferenceSchema={id:"scm",order:5,title:(0,n.localize)("scmConfigurationTitle","SCM"),type:"object",properties:{"scm.alwaysShowProviders":{type:"boolean",description:(0,n.localize)("alwaysShowProviders","Controls whether to always show the Source Control Provider section."),default:!1},"scm.providers.visible":{type:"number",description:(0,n.localize)("providersVisible","Controls how many providers are visible in the Source Control Provider section. Set to `0` to be able to manually resize the view."),default:10},"scm.diffDecorations":{type:"string",enum:["all","gutter","overview","none"],default:"all",description:(0,n.localize)("diffDecorations","Controls diff decorations in the editor.")},"scm.alwaysShowDiffWidget":{type:"boolean",description:(0,n.localize)("alwaysShowDiffWidget","Controls whether to always click to show the Dirty Diff Widget."),default:!0},"scm.diffDecorationsGutterWidth":{type:"number",enum:[1,2,3,4,5],default:3,description:(0,n.localize)("diffGutterWidth","Controls the width(px) of diff decorations in gutter (added & modified).")},"scm.alwaysShowActions":{type:"boolean",description:(0,n.localize)("alwaysShowActions","Controls whether inline actions are always visible in the Source Control view."),default:!1},"scm.defaultViewMode":{type:"string",enum:[r.SCMViewModelMode.Tree,r.SCMViewModelMode.List],description:(0,n.localize)("scm.defaultViewMode","Controls the default Source Control repository view mode."),default:r.SCMViewModelMode.List},"scm.listView.compactFolders":{type:"boolean",description:(0,n.localize)("scmListViewCompactFolders","Controls whether the source control view should render folders in a compact form. In such a form, single child folders will be compressed in a combined tree element."),default:!0}}},t.SCMPreferences=Symbol("SCMPreferences");function o(l){l.addProviders({token:t.SCMPreferences,useFactory:p=>{const v=p.get(n.PreferenceService);return(0,n.createPreferenceProxy)(v,t.scmPreferenceSchema)}})}},36367:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSCMResource=o,t.isSCMResourceGroup=l,t.getSCMResourceGroupContextValue=p,t.getSCMRepositoryDesc=v;const n=e(41869),{basename:r}=n.path;function o(m){return!!m.sourceUri&&l(m.resourceGroup)}function l(m){return!!m.provider&&!!m.elements}function p(m){return o(m)?m.resourceGroup.id:m.id}function v(m){const _=m.provider.rootUri,s=_?r(m.provider.rootUri.path):m.provider.label,g=_?m.provider.label:"";return{title:s,type:g}}},94556:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMViewContainer=t.SCMProvidersView=t.SCMResourcesViewWrapper=t.SCMResourcesView=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(41869),l=e(25918),p=e(1149),v=e(93899),m=e(43718),_=e(70936),s=e(91527),g=e(24429),a=e(64964),h=e(57492),u=e(37751),d=e(24748),E=e(49914),f=e(36367),c=n.__importDefault(e(41373)),y=38,b=38,A=10,S=({repository:D,viewState:I})=>{const R=(0,o.useInjectable)(o.IContextKeyService),P=(0,o.useInjectable)(v.IMenuRegistry),O=(0,o.useInjectable)(E.ViewModelContext),M=(0,r.useRef)(null),k=(0,r.useRef)(),F=(0,r.useRef)({}),[L,B]=(0,r.useState)();(0,r.useEffect)(()=>{M&&M.current&&(F.current.ctx=R.createScoped(M.current))},[]),(0,r.useEffect)(()=>{F.current.ctx&&F.current.ctx.createKey("scmRepository",D),U();const G=D.provider.onDidChange(()=>{U()});return()=>{G.dispose()}},[D]);const U=(0,r.useCallback)(()=>{var G;if((G=k.current)===null||G===void 0||G.dispose(),k.current=new m.DisposableCollection,!!D.provider.actionButton){if(k.current.push(P.registerMenuItem(v.MenuId.SCMInput,{command:{id:D.provider.actionButton.command.id,label:D.provider.actionButton.command.title},extraTailArgs:D.provider.actionButton.command.arguments,group:"navigation",type:"primary",enabledWhen:D.provider.actionButton.enabled?"true":"false"})),Array.isArray(D.provider.actionButton.secondaryCommands))for(let $=0;$<D.provider.actionButton.secondaryCommands.length;$++)for(const Z of D.provider.actionButton.secondaryCommands[$])k.current.push(P.registerMenuItem(v.MenuId.SCMInput,{command:{id:Z.id,label:Z.title},extraTailArgs:Z.arguments,group:`${$}_secondary`,enabledWhen:D.provider.actionButton.enabled?"true":"false"}));W()}},[D,k.current]),W=(0,r.useCallback)(()=>{const G=O.menus.getRepositoryMenus(D.provider);G&&B(G.inputMenu)},[D,L]),j=D&&D.provider&&L;return r.default.createElement("div",{className:c.default.view,ref:M},r.default.createElement("div",{className:c.default.scm,style:{paddingTop:A}},r.default.createElement(u.SCMResourceInput,{repository:D,menus:L}),r.default.createElement(d.SCMResourceTree,{height:I.height-y-A-(j?b:0)})))};t.SCMResourcesView=S,t.SCMResourcesView.displayName="SCMResourcesView";const w=D=>{const I=(0,o.useInjectable)(E.ViewModelContext),R=(0,o.useAutorun)(I.selectedRepos);if(!R.length)return r.default.createElement(g.WelcomeView,{viewId:a.SCM_WELCOME_ID});const P=R[0];return!P||!P.provider?null:r.default.createElement(t.SCMResourcesView,{repository:P,viewState:D.viewState})};t.SCMResourcesViewWrapper=w,t.SCMResourcesViewWrapper.displayName="SCMResourcesViewWrapper",t.SCMProvidersView=(0,r.memo)(({viewState:D,repoList:I,selectedRepo:R})=>r.default.createElement("div",{className:c.default.view},I.length>1&&r.default.createElement(h.SCMProviderList,{viewState:D,repositoryList:I,selectedRepository:R}))),t.SCMProvidersView.displayName="SCMProvidersView";const T=D=>{const I=(0,o.useInjectable)(E.ViewModelContext),R=I.selectedRepo,P=(0,o.useInjectable)(p.LayoutViewSizeConfig),[O,M]=(0,r.useState)([]),k=(0,r.useCallback)(()=>{M([...I.repoList])},[O,I]);(0,r.useEffect)(()=>{const j=new m.DisposableCollection;return j.push(I.onDidSCMListChange(k)),j.push(I.onDidSCMRepoListChange(k)),()=>{j.dispose()}},[I]);const F=O.length>1,L=(0,r.useMemo)(()=>O.length===1&&R?`${(0,m.localize)("scm.title")}: ${R.provider.label}`:(0,m.localize)("scm.title"),[O,R]),B=(0,r.useMemo)(()=>{let j=(0,m.localize)("scm.title");if(F&&R){const{title:G,type:$}=(0,f.getSCMRepositoryDesc)(R);j=G+"-"+$}return j},[F,R]),U=(0,r.useMemo)(()=>{if(R)return I.menus.getRepositoryMenus(R?.provider).titleMenu},[R]),W=(0,r.useMemo)(()=>{const j={component:t.SCMProvidersView,id:a.scmProviderViewId,name:(0,m.localize)("scm.provider.title"),initialProps:{viewState:D.viewState,repoList:O,selectedRepo:R},priority:0},G={component:t.SCMResourcesViewWrapper,id:a.scmResourceViewId,name:B,titleMenu:F&&U||void 0,titleMenuContext:R&&R.provider&&[R.provider],priority:1};return(F?[j]:[]).concat(G)},[F,B,R,O]);return r.default.createElement("div",{className:c.default.view},r.default.createElement(s.TitleBar,{title:L,height:P.panelTitleBarHeight,menubar:!F&&U?r.default.createElement(l.InlineMenuBar,{menus:U,context:R&&R.provider&&[R.provider],moreTitle:(0,m.localize)("scm.action.git.more","More Actions")}):null}),r.default.createElement(_.AccordionContainer,{views:W,containerId:a.scmContainerId,style:{height:`calc(100% - ${P.panelTitleBarHeight}px)`}}))};t.SCMViewContainer=T,t.SCMViewContainer.displayName="SCMViewContainer"},75756:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMContribution=t.SCM_ACCEPT_INPUT=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(21634),p=e(68456),v=e(93899),m=e(43718),_=e(98295),s=e(23418),g=e(63067),a=e(64964),h=e(38563),u=e(63451),d=e(71972),E=e(7114),f=e(73018),c=e(94556);t.SCM_ACCEPT_INPUT={id:"scm.acceptInput"};let y=class{constructor(){this.toDispose=new o.Disposable,this.schema=f.scmPreferenceSchema,this.diffChangesIndex=new Map}onStart(){this.viewsRegistry.registerViewWelcomeContent(a.scmResourceViewId,{content:(0,m.localize)("welcome-view.noOpenRepo","No source control providers registered."),when:"default"}),this.extensionsPointService.appendExtensionPoint(["browserViews","properties"],{extensionPoint:a.scmContainerId,frameworkKind:["opensumi"],jsonSchema:{...l.browserViews.properties,description:(0,m.formatLocalize)("sumiContributes.browserViews.location.custom",(0,m.localize)("status-bar.scm"))}})}onDidRender(){[this.statusUpdater,this.statusBarController,this.dirtyDiffWorkbenchController].forEach(A=>{A.start(),this.toDispose.addDispose(A)})}onStop(){this.toDispose.dispose()}registerCommands(A){A.registerCommand(a.OPEN_DIRTY_DIFF_WIDGET,{execute:async S=>{const w=this.editorService.currentEditor;if(w){const T=w.monacoEditor;this.dirtyDiffWorkbenchController.toggleDirtyDiffWidget(T,{lineNumber:S,column:1}),setTimeout(()=>{T.revealLineInCenter(S)},0)}}}),A.registerCommand(a.CLOSE_DIRTY_DIFF_WIDGET,{execute:async()=>{const S=this.editorService.currentEditor;if(S){const w=S.monacoEditor;this.dirtyDiffWorkbenchController.closeDirtyDiffWidget(w)}}}),A.registerCommand(a.GOTO_PREVIOUS_CHANGE,{execute:()=>{var S;const w=this.editorService.currentEditor;if(w&&w.currentUri){const T=this.getDiffChangeLineNumber(w.currentUri,w,"previous");w.monacoEditor.focus();const D=(S=w.monacoEditor.getPosition())===null||S===void 0?void 0:S.with(T,0);w.monacoEditor.setPosition(D),w.monacoEditor.revealLineInCenter(T)}}}),A.registerCommand(a.GOTO_NEXT_CHANGE,{execute:()=>{var S;const w=this.editorService.currentEditor;if(w&&w.currentUri){const T=this.getDiffChangeLineNumber(w.currentUri,w,"next");w.monacoEditor.focus();const D=(S=w.monacoEditor.getPosition())===null||S===void 0?void 0:S.with(T,0);w.monacoEditor.setPosition(D),w.monacoEditor.revealLineInCenter(T)}}}),A.registerCommand(a.TOGGLE_DIFF_SIDE_BY_SIDE,{execute:()=>{const S=!this.preferenceService.get("diffEditor.renderSideBySide");this.preferenceService.set("diffEditor.renderSideBySide",S,m.PreferenceScope.User)}}),A.registerCommand(a.SET_SCM_TREE_VIEW_MODE,{execute:()=>{this.scmTreeService.changeTreeMode(!0)}}),A.registerCommand(a.SET_SCM_LIST_VIEW_MODE,{execute:()=>{this.scmTreeService.changeTreeMode(!1)}}),A.registerCommand(o.SCM_COMMANDS.GetSCMResource,{execute:async S=>this.scmTreeAPI.getSCMResource(S)})}registerComponent(A){A.register("@opensumi/ide-scm",[],{iconClass:(0,o.getIcon)("scm"),title:(0,m.localize)("scm.title"),priority:8,containerId:a.scmContainerId,component:c.SCMViewContainer,activateKeyBinding:"ctrlcmd+shift+g"})}registerMenus(A){A.registerMenuItem(v.MenuId.EditorTitle,{command:{id:a.GOTO_PREVIOUS_CHANGE.id,label:(0,m.localize)("scm.diff.change.previous")},when:"isInDiffEditor",iconClass:(0,o.getIcon)("arrowup"),group:"navigation"}),A.registerMenuItem(v.MenuId.EditorTitle,{command:{id:a.GOTO_NEXT_CHANGE.id,label:(0,m.localize)("scm.diff.change.next")},iconClass:(0,o.getIcon)("arrowdown"),when:"isInDiffEditor",group:"navigation"}),A.registerMenuItem(v.MenuId.EditorTitle,{command:{id:a.TOGGLE_DIFF_SIDE_BY_SIDE.id,label:(0,m.localize)("scm.diff.toggle.renderSideBySide")},when:"isInDiffEditor",group:"1_internal"}),A.registerMenuItem(v.MenuId.SCMTitle,{command:{id:a.SET_SCM_TREE_VIEW_MODE.id,label:(0,m.localize)("setTreeViewMode","View as Tree")},iconClass:(0,o.getExternalIcon)("list-tree"),when:`config.scm.defaultViewMode == ${a.SCMViewModelMode.List}`,group:"navigation",order:-1}),A.registerMenuItem(v.MenuId.SCMTitle,{command:{id:a.SET_SCM_LIST_VIEW_MODE.id,label:(0,m.localize)("setListViewMode","View as List")},iconClass:(0,o.getExternalIcon)("list-flat"),when:`config.scm.defaultViewMode == ${a.SCMViewModelMode.Tree}`,group:"navigation",order:-1})}getDiffChangesIndex(A,S){return this.diffChangesIndex.has(A)||(S.onDispose(()=>{this.diffChangesIndex.delete(A)}),this.diffChangesIndex.set(A,0)),this.diffChangesIndex.get(A)}getDiffEditor(A){const S=A.getId(),[w]=this.editorCollectionService.listDiffEditors().filter(T=>T.modifiedEditor.getId()===S||T.originalEditor.getId()===S);return w}getDiffChangeLineNumber(A,S,w){const T=this.getDiffChangesIndex(A,S),I=this.getDiffEditor(S).getLineChanges()||[];if(!I||I.length===0)return 0;let R=0;return w==="previous"?R=T-1<0?I.length-1:T-1:R=T>=I.length-1?0:T+1,this.diffChangesIndex.set(A,R),I[R][2]}};t.SCMContribution=y,n.__decorate([(0,r.Autowired)(E.SCMBadgeController),n.__metadata("design:type",E.SCMBadgeController)],y.prototype,"statusUpdater",void 0),n.__decorate([(0,r.Autowired)(E.SCMStatusBarController),n.__metadata("design:type",E.SCMStatusBarController)],y.prototype,"statusBarController",void 0),n.__decorate([(0,r.Autowired)(s.WorkbenchEditorService),n.__metadata("design:type",s.WorkbenchEditorService)],y.prototype,"editorService",void 0),n.__decorate([(0,r.Autowired)(a.IDirtyDiffWorkbenchController),n.__metadata("design:type",d.DirtyDiffWorkbenchController)],y.prototype,"dirtyDiffWorkbenchController",void 0),n.__decorate([(0,r.Autowired)(s.EditorCollectionService),n.__metadata("design:type",s.EditorCollectionService)],y.prototype,"editorCollectionService",void 0),n.__decorate([(0,r.Autowired)(g.IMainLayoutService),n.__metadata("design:type",Object)],y.prototype,"mainlayoutService",void 0),n.__decorate([(0,r.Autowired)(o.PreferenceService),n.__metadata("design:type",Object)],y.prototype,"preferenceService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",u.SCMTreeService)],y.prototype,"scmTreeService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",h.SCMTreeAPI)],y.prototype,"scmTreeAPI",void 0),n.__decorate([(0,r.Autowired)(g.IViewsRegistry),n.__metadata("design:type",Object)],y.prototype,"viewsRegistry",void 0),n.__decorate([(0,r.Autowired)(m.IExtensionsSchemaService),n.__metadata("design:type",Object)],y.prototype,"extensionsPointService",void 0),t.SCMContribution=y=n.__decorate([(0,_.Domain)(o.ClientAppContribution,m.CommandContribution,p.ComponentContribution,o.PreferenceContribution,g.MainLayoutContribution,v.MenuContribution)],y)},49814:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GOTO_PREVIOUS_CHANGE=t.GOTO_NEXT_CHANGE=t.CLOSE_DIRTY_DIFF_WIDGET=t.OPEN_DIRTY_DIFF_WIDGET=t.IDirtyDiffWorkbenchController=void 0,t.IDirtyDiffWorkbenchController=Symbol("DirtyDiffWorkbenchController"),t.OPEN_DIRTY_DIFF_WIDGET={id:"OPEN_DIRTY_DIFF_WIDGET"},t.CLOSE_DIRTY_DIFF_WIDGET={id:"CLOSE_DIRTY_DIFF_WIDGET"},t.GOTO_NEXT_CHANGE={id:"workbench.action.compareEditor.nextChange"},t.GOTO_PREVIOUS_CHANGE={id:"workbench.action.compareEditor.previousChange"}},64964:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ViewModelSortKey=t.SCMViewModelMode=t.SET_SCM_LIST_VIEW_MODE=t.SET_SCM_TREE_VIEW_MODE=t.TOGGLE_DIFF_SIDE_BY_SIDE=t.scmItemLineHeight=t.SCM_WELCOME_ID=t.scmResourceViewId=t.scmProviderViewId=t.scmContainerId=void 0;const n=e(85608),r=e(30144);t.scmContainerId=r.SCM_CONTAINER_ID,t.scmProviderViewId="scm_provider",t.scmResourceViewId="scm_view",t.SCM_WELCOME_ID="scm-welcome",t.scmItemLineHeight=22,t.TOGGLE_DIFF_SIDE_BY_SIDE={id:"toggle.diff.renderSideBySide"},t.SET_SCM_TREE_VIEW_MODE={id:"workbench.scm.action.setTreeViewMode"},t.SET_SCM_LIST_VIEW_MODE={id:"workbench.scm.action.setListViewMode"};var o;(function(p){p.List="list",p.Tree="tree"})(o||(t.SCMViewModelMode=o={}));var l;(function(p){p.Path="path",p.Name="name",p.Status="status"})(l||(t.ViewModelSortKey=l={})),n.__exportStar(e(49697),t),n.__exportStar(e(66224),t),n.__exportStar(e(95588),t),n.__exportStar(e(49814),t),n.__exportStar(e(480),t)},480:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},95588:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISCMMenus=void 0,t.ISCMMenus=Symbol("ISCMMenus")},49697:(x,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISCMService=void 0;class e{}t.ISCMService=e},66224:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SCMService=void 0;const n=e(85608),r=e(76003),o=e(43718),{equals:l}=o.arrays;class p{constructor(){this._disposables=new o.DisposableStore,this._value="",this._onDidChange=this._disposables.add(new o.Emitter),this.onDidChange=this._onDidChange.event,this._placeholder="",this._onDidChangePlaceholder=this._disposables.add(new o.Emitter),this.onDidChangePlaceholder=this._onDidChangePlaceholder.event,this._visible=!0,this._props={},this._onDidChangeProps=this._disposables.add(new o.Emitter),this.onDidChangeProps=this._onDidChangeProps.event,this._onDidChangeVisibility=this._disposables.add(new o.Emitter),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._enabled=!0,this._onDidChangeEnablement=this._disposables.add(new o.Emitter),this.onDidChangeEnablement=this._onDidChangeEnablement.event,this._validateInput=()=>Promise.resolve(void 0),this._onDidChangeValidateInput=this._disposables.add(new o.Emitter),this.onDidChangeValidateInput=this._onDidChangeValidateInput.event,this._onDidChangeActionButton=this._disposables.add(new o.Emitter),this.onDidChangeActionButton=this._onDidChangeActionButton.event}get value(){return this._value}set value(s){this._value=s,this._onDidChange.fire(s)}get placeholder(){return this._placeholder}set placeholder(s){this._placeholder=s,this._onDidChangePlaceholder.fire(s)}get visible(){return this._visible}set visible(s){this._visible=s,this._onDidChangeVisibility.fire(s)}get props(){return this._props}set props(s){this._props=s,this._onDidChangeProps.fire(this._props)}appendProps(s){this._props={...this._props,...s},this._onDidChangeProps.fire(this._props)}get enabled(){return this._enabled}set enabled(s){this._enabled=s,this._onDidChangeEnablement.fire(s)}get validateInput(){return this._validateInput}set validateInput(s){this._validateInput=s,this._onDidChangeValidateInput.fire()}get actionButton(){return this._actionButton}set actionButton(s){this._actionButton=s,this._onDidChangeActionButton.fire()}dispose(){this._disposables.dispose()}}class v{get selected(){return this._selected}constructor(s,g){this.provider=s,this.disposable=g,this._disposables=new o.DisposableStore,this._onDidFocus=this._disposables.add(new o.Emitter),this.onDidFocus=this._onDidFocus.event,this._selected=!1,this._onDidChangeSelection=this._disposables.add(new o.Emitter),this.onDidChangeSelection=this._onDidChangeSelection.event,this.input=new p}focus(){this._onDidFocus.fire()}setSelected(s){this._selected=s,this._onDidChangeSelection.fire(this)}dispose(){this._disposables.dispose(),this.disposable.dispose(),this.provider.dispose(),this.input.dispose()}}let m=class{constructor(){this._disposables=new o.DisposableStore,this._selectedRepositories=[],this._providerIds=new Set,this._repositories=[],this._onDidChangeSelectedRepositories=this._disposables.add(new o.Emitter),this.onDidChangeSelectedRepositories=this._onDidChangeSelectedRepositories.event,this._onDidAddProvider=this._disposables.add(new o.Emitter),this.onDidAddRepository=this._onDidAddProvider.event,this._onDidRemoveProvider=this._disposables.add(new o.Emitter),this.onDidRemoveRepository=this._onDidRemoveProvider.event,this.logger=(0,o.getDebugLogger)()}get selectedRepositories(){return[...this._selectedRepositories]}get repositories(){return[...this._repositories]}registerSCMProvider(s){if(this.logger.log("SCMService#registerSCMProvider"),this._providerIds.has(s.id))throw new Error(`SCM Provider ${s.id} already exists.`);this._providerIds.add(s.id);const g=(0,o.toDisposable)(()=>{const u=this._repositories.indexOf(a);u<0||(h.dispose(),this._providerIds.delete(s.id),this._repositories.splice(u,1),this._onDidRemoveProvider.fire(a),a.selected&&this._repositories.length>0&&this._repositories[0].setSelected(!0))}),a=new v(s,g),h=o.Event.filter(a.onDidChangeSelection,u=>u.selected)(this.onDidChangeSelection,this);return this._repositories.push(a),this._onDidAddProvider.fire(a),this._repositories.length===1&&a.setSelected(!0),a}setInputProps(s){this._repositories.forEach(g=>{g.input.props=s})}appendInputProps(s){this._repositories.forEach(g=>{g.input.appendProps(s)})}onDidChangeSelection(s){l(this._selectedRepositories,[s])||(this._repositories.filter(g=>g!==s).forEach(g=>{g.setSelected(!1)}),this._selectedRepositories=this._repositories.filter(g=>g.selected),this._onDidChangeSelectedRepositories.fire(this.selectedRepositories))}dispose(){this._disposables.dispose()}};t.SCMService=m,t.SCMService=m=n.__decorate([(0,r.Injectable)()],m)},61656:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),e(85608).__exportStar(e(64964),t)},6556:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchModule=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(52925),p=e(50845),v=e(33301),m=e(86952),_=e(51495),s=e(5439);let g=class extends o.BrowserModule{constructor(){super(...arguments),this.providers=[{token:p.SearchContextKey,useClass:p.SearchContextKey},{token:l.IContentSearchClientService,useClass:_.ContentSearchClientService},{token:l.ISearchTreeService,useClass:s.SearchTreeService},m.SearchContribution],this.backServices=[{servicePath:l.ContentSearchServerPath,clientToken:l.IContentSearchClientService}],this.preferences=v.bindSearchPreference}};t.SearchModule=g,t.SearchModule=g=n.__decorate([(0,r.Injectable)()],g)},3956:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.replaceAll=p,t.getSelection=v,t.replace=m;const n=e(85608),r=e(41869),o=e(43718),l=n.__importStar(e(20868));async function p(_,s,g,a,h,u,d,E,f){if(g.size<1)return!1;const c=Object.assign({},f);if(d&&c){const y={[(0,r.localize)("search.replace.buttonCancel")]:!1,[(0,r.localize)("search.replace.buttonOK")]:!0},b=await d.open({message:(0,o.formatLocalize)("search.removeAll.occurrences.files.confirmation.message",String(c.resultNum),String(c.fileNum),a),type:o.MessageType.Warning,buttons:Object.keys(y)});if(!y[b])return y[b]}for(const y of g){const b=y[1];await m(_,s,b,a,h,u)}return E&&c&&E.info((0,o.formatLocalize)("search.replaceAll.occurrencesMessage",String(c.resultNum),String(c.fileNum),a)),!0}function v(_){return[new l.Selection(_.line,_.matchStart,_.line,_.matchStart+_.matchLength)]}async function m(_,s,g,a,h,u){var d;const E=g.map(c=>_.getModelReference(new o.URI(c.fileUri))).filter(c=>c?.instance&&!c.instance.dirty),f=[];for(const c of g){let y=a;if(u&&a){let b;try{b=new RegExp(h)}catch{continue}const A=(d=c.renderLineText)===null||d===void 0?void 0:d.slice(c.matchStart-1,c.matchStart+c.matchLength-1);A&&(y=A.replace(b,a))}f.push({options:{dirtyIfInEditor:!0},resource:new o.URI(c.fileUri),textEdit:{range:new l.Range(c.line,c.matchStart,c.line,c.matchStart+c.matchLength),text:y}})}await s.apply({edits:f}),await Promise.all(E.map(async c=>{await c?.instance.save(),c?.dispose()}))}},50845:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchContextKey=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(67386);let p=class{initScopedContext(m){this._contextKeyService=this.globalContextkeyService.createScoped(m),this.searchViewFocusedKey=l.SearchViewFocusedKey.bind(this._contextKeyService),this.searchInputBoxFocusedKey=l.SearchInputBoxFocusedKey.bind(this._contextKeyService),this.hasSearchResults=l.HasSearchResults.bind(this._contextKeyService),this.searchViewVisibleKey=l.SearchViewVisibleKey.bind(this._contextKeyService)}get service(){return this._contextKeyService}};t.SearchContextKey=p,n.__decorate([(0,r.Autowired)(o.IContextKeyService),n.__metadata("design:type",Object)],p.prototype,"globalContextkeyService",void 0),t.SearchContextKey=p=n.__decorate([(0,r.Injectable)()],p)},96895:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchHistory=t.SEARCH_WORD_SCOPE=void 0;const n=e(41869);t.SEARCH_WORD_SCOPE="SEARCH_WORD";class r{constructor(l,p){this.searchHistoryList=[],this.currentIndex=-1,this.searchServiceClient=l,this.recentStorage=p}setRecentSearchWord(){this.currentIndex===-1&&(this.currentIndex=this.searchHistoryList.length),this.currentIndex=this.currentIndex-1;let l=this.searchHistoryList[this.currentIndex];if(this.currentIndex<0)return this.currentIndex=0,l=this.searchHistoryList[this.currentIndex],this.setSearchValue(l);if(l){if(this.searchServiceClient.searchValue===l)return this.setRecentSearchWord();this.setSearchValue(l)}}setBackRecentSearchWord(){this.currentIndex=this.currentIndex+1;let l=this.searchHistoryList[this.currentIndex];if(this.currentIndex>=this.searchHistoryList.length)return this.currentIndex=this.searchHistoryList.length-1,l=this.searchHistoryList[this.currentIndex],this.setSearchValue(l);if(l){if(this.searchServiceClient.searchValue===l)return this.setBackRecentSearchWord();this.setSearchValue(l)}}async initSearchHistory(){if(this.searchHistoryList.length>0)return;const l=await this.getMostRecentlySearchWord();this.searchHistoryList=this.searchHistoryList.concat(l||[])}async setSearchHistory(l){this.searchHistoryList.some(p=>p===l)||(this.searchHistoryList.push(l),await this.setMostRecentlySearchWord(l))}async getMostRecentlySearchWord(){return await(await this.recentStorage.getScopeStorage()).get(t.SEARCH_WORD_SCOPE)||[]}async setMostRecentlySearchWord(l){const p=await this.recentStorage.getScopeStorage();let v=[];const m=await this.getMostRecentlySearchWord()||[];(0,n.isArray)(l)?v=v.concat(l):v.push(l),v=m.concat(v),v=Array.from(new Set(v)),v=v.slice(v.length-10,v.length),p.set(t.SEARCH_WORD_SCOPE,v)}setSearchValue(l){this.searchServiceClient.searchValue=l,this.searchServiceClient.searchDebounce()}reset(){this.currentIndex=-1}}t.SearchHistory=r},33301:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createSearchPreferencesProvider=t.SearchPreferences=t.searchPreferenceSchema=void 0,t.bindSearchPreference=o;const n=e(41869);t.searchPreferenceSchema={id:"search",order:5,title:(0,n.localize)("Search","\u641C\u7D22"),type:"object",properties:{"search.exclude":{type:"object",markdownDescription:"%preference.search.exclude%",default:{"**/node_modules":!0,"**/bower_components":!0,"**/.git":!0,"**/.svn":!0,"**/.hg":!0,"**/CVS":!0,"**/.DS_Store":!0,"**/Thumbs.db":!0}},"search.include":{type:"object",description:"%preference.search.include%",default:{}},"search.useReplacePreview":{type:"boolean",description:"%preference.search.useReplacePreview%",default:!0},"search.searchOnType":{type:"boolean",description:"%preference.search.searchOnType%",default:!0},"search.searchOnTypeDebouncePeriod":{type:"number",description:"%preference.search.searchOnTypeDebouncePeriod%",default:300}}},t.SearchPreferences=Symbol("SearchPreferences");const r=l=>({token:t.SearchPreferences,useFactory:()=>{const p=l.get(n.PreferenceService);return(0,n.createPreferenceProxy)(p,t.searchPreferenceSchema)}});t.createSearchPreferencesProvider=r;function o(l){l.addProviders((0,t.createSearchPreferencesProvider)(l))}},9767:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchResultCollection=void 0;const n=e(52925);class r{constructor(){this.list=[],this.maxLength=5}pushAndGetResultList(l){const{id:p,data:v,searchState:m}=l,_=[];if(m===n.SEARCH_STATE.error||m===n.SEARCH_STATE.done){const s=this.getTempResult();return s&&_.push(s),_.push(l),_}if(v.length<1)return _.push(l),_;if(this.list.length>0)if(p===this.list[0].id)this.pushTempResult(l);else{const s=this.getTempResult();s&&_.push(s),this.pushTempResult(l)}else this.pushTempResult(l);return this.list.length>=this.maxLength&&_.push(this.getTempResult()),_}getTempResult(){let l;return this.list.length<1||(this.list.forEach((p,v)=>{v!==0&&(this.list[0].data=this.list[0].data.concat(p.data))}),l=this.list[0],this.list=[]),l}pushTempResult(l){this.list.push(l)}}t.SearchResultCollection=r},86952:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchContribution=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(30144),p=e(67386),v=e(68456),m=e(93899),_=e(43718),s=e(98295),g=e(57517),a=e(63067),h=e(17793),u=e(72665),d=e(26199),E=e(52925),f=e(3956),c=e(33301),y=e(14851),b=e(5439),A=e(13072),S=e(86109);let w=class{constructor(){this.schema=c.searchPreferenceSchema,this.toDispose=new _.DisposableCollection}registerCommands(D){D.registerCommand(o.SEARCH_COMMANDS.OPEN_SEARCH,{execute:I=>{const R=this.mainLayoutService.getTabbarHandler(l.SEARCH_CONTAINER_ID);if(R){if(R.activate(),I&&I.includeValue){this.searchBrowserService.includeValue=I.includeValue,this.searchBrowserService.updateUIState({isDetailOpen:!0}),this.searchBrowserService.search();return}this.searchBrowserService.searchEditorSelection(),this.searchBrowserService.focus(),this.searchBrowserService.search()}}}),D.registerCommand(o.SEARCH_COMMANDS.REFRESH,{execute:()=>{this.searchBrowserService.search()}}),D.registerCommand(o.SEARCH_COMMANDS.CLEAN,{execute:()=>{this.searchBrowserService.clean()}}),D.registerCommand(o.SEARCH_COMMANDS.GET_RECENT_SEARCH_WORD,{execute:I=>{this.searchBrowserService.setRecentSearchWord()}}),D.registerCommand(o.SEARCH_COMMANDS.GET_BACK_RECENT_SEARCH_WORD,{execute:()=>{this.searchBrowserService.setBackRecentSearchWord()}}),D.registerCommand(o.SEARCH_COMMANDS.MENU_REPLACE,{execute:async I=>{if(!S.SearchFileNode.is(I)){const R=new Map;R.set(I.resource.toString(),[I.contentResult]),await(0,f.replaceAll)(this.documentModelManager,this.workspaceEditService,R,this.searchBrowserService.replaceValue,this.searchBrowserService.searchValue,this.searchBrowserService.UIState.isUseRegexp)}},isVisible:()=>!S.SearchFileNode.is(this.searchModelService.contextMenuNode)}),D.registerCommand(o.SEARCH_COMMANDS.MENU_REPLACE_ALL,{execute:async I=>{if(!S.SearchFileNode.is(I))return;const R=new Map;if(!I.children)return;const P=I.children.map(k=>k.contentResult),O={[(0,o.localize)("search.replace.buttonCancel")]:!1,[(0,o.localize)("search.replace.buttonOK")]:!0},M=await this.dialogService.open({message:(0,_.formatLocalize)("search.removeAll.occurrences.file.confirmation.message",String(P.length)),type:_.MessageType.Warning,buttons:Object.keys(O)});if(M&&!O[M])return O[M];R.set(I.resource.toString(),P),await(0,f.replaceAll)(this.documentModelManager,this.workspaceEditService,R,this.searchBrowserService.replaceValue,this.searchBrowserService.searchValue,this.searchBrowserService.UIState.isUseRegexp)},isVisible:()=>!S.SearchFileNode.is(this.searchModelService.contextMenuNode)}),D.registerCommand(o.SEARCH_COMMANDS.MENU_HIDE,{execute:I=>{var R,P;S.SearchFileNode.is(I)?(this.searchBrowserService.resultTotal.fileNum-=1,this.searchBrowserService.resultTotal.resultNum-=I.branchSize,this.searchModelService.treeModel.root.unlinkItem(I)):(this.searchBrowserService.resultTotal.resultNum-=1,((P=(R=I.parent)===null||R===void 0?void 0:R.children)===null||P===void 0?void 0:P.length)===1&&(this.searchBrowserService.resultTotal.fileNum-=1,this.searchModelService.treeModel.root.unlinkItem(I.parent)),I.parent.unlinkItem(I)),this.searchBrowserService.fireTitleChange()}}),D.registerCommand(o.SEARCH_COMMANDS.MENU_COPY,{execute:I=>{var R;if(S.SearchFileNode.is(I)){let O=`${I.resource.codeUri.fsPath.toString()}
|